@sme.up/ketchup 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/cjs/{f-button-5b69d882.js → f-button-94cb5f35.js} +2 -2
  2. package/dist/cjs/{f-cell-3a740c48.js → f-cell-76830a0d.js} +12 -14
  3. package/dist/cjs/{f-checkbox-57443ca3.js → f-checkbox-cd977193.js} +1 -1
  4. package/dist/cjs/{f-chip-02e83f82.js → f-chip-68d45fd3.js} +3 -3
  5. package/dist/cjs/{f-image-2a61ece2.js → f-image-0e71df7e.js} +2 -2
  6. package/dist/cjs/{f-paginator-utils-09126bdd.js → f-paginator-utils-46689c0a.js} +80 -403
  7. package/dist/cjs/{f-text-field-9ee20a67.js → f-text-field-b4229cef.js} +11 -3
  8. package/dist/cjs/{index-06b131ea.js → index-31125378.js} +9 -4
  9. package/dist/cjs/ketchup.cjs.js +3 -3
  10. package/dist/cjs/kup-accordion.cjs.entry.js +5 -6
  11. package/dist/cjs/kup-autocomplete_25.cjs.entry.js +116 -111
  12. package/dist/cjs/kup-box.cjs.entry.js +15 -17
  13. package/dist/cjs/kup-calendar.cjs.entry.js +9 -11
  14. package/dist/cjs/kup-cell.cjs.entry.js +9 -11
  15. package/dist/cjs/kup-dash-list.cjs.entry.js +5 -7
  16. package/dist/cjs/kup-dash_2.cjs.entry.js +4 -5
  17. package/dist/cjs/kup-dashboard.cjs.entry.js +76 -17
  18. package/dist/cjs/kup-drawer.cjs.entry.js +4 -5
  19. package/dist/cjs/kup-echart.cjs.entry.js +17 -19
  20. package/dist/cjs/kup-family-tree.cjs.entry.js +140 -64
  21. package/dist/cjs/kup-form.cjs.entry.js +10 -12
  22. package/dist/cjs/kup-iframe.cjs.entry.js +4 -5
  23. package/dist/cjs/kup-image-list.cjs.entry.js +10 -12
  24. package/dist/cjs/kup-lazy.cjs.entry.js +4 -5
  25. package/dist/cjs/kup-magic-box.cjs.entry.js +5 -6
  26. package/dist/cjs/{kup-manager-02acbb37.js → kup-manager-7c514a30.js} +1400 -369
  27. package/dist/cjs/kup-nav-bar.cjs.entry.js +4 -5
  28. package/dist/cjs/kup-numeric-picker.cjs.entry.js +3 -3
  29. package/dist/cjs/kup-photo-frame.cjs.entry.js +4 -5
  30. package/dist/cjs/kup-probe.cjs.entry.js +2 -2
  31. package/dist/cjs/kup-qlik.cjs.entry.js +2 -2
  32. package/dist/cjs/kup-snackbar.cjs.entry.js +6 -7
  33. package/dist/cjs/loader.cjs.js +3 -3
  34. package/dist/collection/assets/dashboard.js +48 -0
  35. package/dist/collection/assets/family-tree.js +236 -19
  36. package/dist/collection/assets/index.js +4 -0
  37. package/dist/collection/assets/kupinteract.js +68 -0
  38. package/dist/collection/collection-manifest.json +5 -5
  39. package/dist/collection/components/kup-dashboard/kup-dashboard.css +7 -0
  40. package/dist/collection/components/kup-dashboard/kup-dashboard.js +67 -7
  41. package/dist/collection/components/kup-data-table/kup-data-table-helper.js +42 -30
  42. package/dist/collection/components/kup-echart/kup-echart.js +9 -9
  43. package/dist/collection/components/kup-family-tree/kup-family-tree-declarations.js +3 -1
  44. package/dist/collection/components/kup-family-tree/kup-family-tree.css +79 -9
  45. package/dist/collection/components/kup-family-tree/kup-family-tree.js +253 -65
  46. package/dist/collection/components/kup-text-field/kup-text-field-declarations.js +1 -0
  47. package/dist/collection/components/kup-text-field/kup-text-field.js +27 -0
  48. package/dist/collection/f-components/f-text-field/f-text-field.js +9 -1
  49. package/dist/collection/managers/kup-data/kup-data-cell-helper.js +48 -15
  50. package/dist/collection/managers/kup-data/kup-data.js +5 -5
  51. package/dist/collection/managers/kup-interact/kup-interact.js +3 -5
  52. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.js +2 -0
  53. package/dist/collection/managers/kup-scroll-on-hover/kup-scroll-on-hover.js +131 -45
  54. package/dist/collection/utils/filters/filters-rows.js +4 -23
  55. package/dist/collection/utils/filters/filters-tree-items.js +2 -1
  56. package/dist/esm/{f-button-fd44ef70.js → f-button-cd948e50.js} +2 -2
  57. package/dist/esm/{f-cell-7b159a22.js → f-cell-474dd282.js} +6 -8
  58. package/dist/esm/{f-checkbox-c51c4a75.js → f-checkbox-e06cf07b.js} +1 -1
  59. package/dist/esm/{f-chip-c2e4c522.js → f-chip-d6f2eb94.js} +3 -3
  60. package/dist/esm/{f-image-2ab4b9aa.js → f-image-914a03ef.js} +2 -2
  61. package/dist/esm/{f-paginator-utils-ef537d82.js → f-paginator-utils-a4a52732.js} +44 -366
  62. package/dist/esm/{f-text-field-41c575eb.js → f-text-field-76341fe3.js} +11 -3
  63. package/dist/esm/{index-ad6ab214.js → index-e41330a5.js} +9 -4
  64. package/dist/esm/ketchup.js +3 -3
  65. package/dist/esm/kup-accordion.entry.js +3 -4
  66. package/dist/esm/kup-autocomplete_25.entry.js +17 -12
  67. package/dist/esm/kup-box.entry.js +9 -11
  68. package/dist/esm/kup-calendar.entry.js +5 -7
  69. package/dist/esm/kup-cell.entry.js +7 -9
  70. package/dist/esm/kup-dash-list.entry.js +2 -4
  71. package/dist/esm/kup-dash_2.entry.js +2 -3
  72. package/dist/esm/kup-dashboard.entry.js +74 -15
  73. package/dist/esm/kup-drawer.entry.js +2 -3
  74. package/dist/esm/kup-echart.entry.js +11 -13
  75. package/dist/esm/kup-family-tree.entry.js +138 -62
  76. package/dist/esm/kup-form.entry.js +7 -9
  77. package/dist/esm/kup-iframe.entry.js +2 -3
  78. package/dist/esm/kup-image-list.entry.js +8 -10
  79. package/dist/esm/kup-lazy.entry.js +2 -3
  80. package/dist/esm/kup-magic-box.entry.js +3 -4
  81. package/dist/esm/{kup-manager-22a475e6.js → kup-manager-86f440c7.js} +1379 -370
  82. package/dist/esm/kup-nav-bar.entry.js +2 -3
  83. package/dist/esm/kup-numeric-picker.entry.js +3 -3
  84. package/dist/esm/kup-photo-frame.entry.js +2 -3
  85. package/dist/esm/kup-probe.entry.js +2 -2
  86. package/dist/esm/kup-qlik.entry.js +2 -2
  87. package/dist/esm/kup-snackbar.entry.js +4 -5
  88. package/dist/esm/loader.js +3 -3
  89. package/dist/ketchup/ketchup.esm.js +1 -1
  90. package/dist/ketchup/p-00e1133d.entry.js +9 -0
  91. package/dist/ketchup/p-066f344a.entry.js +1 -0
  92. package/dist/ketchup/p-0c6e0647.entry.js +1 -0
  93. package/dist/ketchup/p-151f7c17.entry.js +27 -0
  94. package/dist/ketchup/p-1e9c03b0.entry.js +1 -0
  95. package/dist/ketchup/{p-fc2b1229.js → p-21ea11cb.js} +3 -3
  96. package/dist/ketchup/{p-1959f835.entry.js → p-2f4e6c50.entry.js} +1 -1
  97. package/dist/ketchup/p-3586f59c.js +1 -0
  98. package/dist/ketchup/p-359fd90d.entry.js +1 -0
  99. package/dist/ketchup/{p-38d7584e.js → p-389fd0bf.js} +1 -1
  100. package/dist/ketchup/{p-cd5cfa7c.js → p-5552f156.js} +1 -1
  101. package/dist/ketchup/{p-264b1b19.entry.js → p-77aff9c1.entry.js} +1 -1
  102. package/dist/ketchup/{p-e9366aaf.entry.js → p-7cfdf53c.entry.js} +4 -4
  103. package/dist/ketchup/p-853a5178.entry.js +1 -0
  104. package/dist/ketchup/{p-edae3076.js → p-8673bd4e.js} +1 -1
  105. package/dist/ketchup/p-8b55b786.entry.js +1 -0
  106. package/dist/ketchup/p-95f5834b.entry.js +1 -0
  107. package/dist/ketchup/p-a2c595c4.js +1 -0
  108. package/dist/ketchup/p-ae91f27e.entry.js +1 -0
  109. package/dist/ketchup/{p-928c5c36.js → p-af664379.js} +1 -1
  110. package/dist/ketchup/p-b0b3989b.js +2 -0
  111. package/dist/ketchup/p-b3b65a61.entry.js +1 -0
  112. package/dist/ketchup/p-bc306a53.entry.js +1 -0
  113. package/dist/ketchup/{p-42080355.entry.js → p-c3783b77.entry.js} +1 -1
  114. package/dist/ketchup/{p-dc62a30f.js → p-cd4fc3fb.js} +1 -1
  115. package/dist/ketchup/p-cee76b14.entry.js +1 -0
  116. package/dist/ketchup/p-cfaea29b.entry.js +1 -0
  117. package/dist/ketchup/p-d2f51e7b.entry.js +1 -0
  118. package/dist/ketchup/p-df8e6a4d.entry.js +1 -0
  119. package/dist/ketchup/p-e60a1170.entry.js +1 -0
  120. package/dist/ketchup/p-e9a1ba04.entry.js +1 -0
  121. package/dist/types/components/kup-dashboard/kup-dashboard.d.ts +6 -1
  122. package/dist/types/components/kup-family-tree/kup-family-tree-declarations.d.ts +7 -3
  123. package/dist/types/components/kup-family-tree/kup-family-tree.d.ts +26 -5
  124. package/dist/types/components/kup-text-field/kup-text-field-declarations.d.ts +1 -0
  125. package/dist/types/components/kup-text-field/kup-text-field.d.ts +5 -0
  126. package/dist/types/components.d.ts +49 -7
  127. package/dist/types/f-components/f-text-field/f-text-field-declarations.d.ts +1 -0
  128. package/dist/types/managers/kup-data/kup-data-cell-helper.d.ts +13 -6
  129. package/dist/types/managers/kup-data/kup-data.d.ts +2 -1
  130. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover-declarations.d.ts +9 -1
  131. package/dist/types/managers/kup-scroll-on-hover/kup-scroll-on-hover.d.ts +7 -5
  132. package/dist/types/utils/filters/filters-rows.d.ts +0 -2
  133. package/package.json +2 -2
  134. package/dist/cjs/cell-utils-fe64a28c.js +0 -168
  135. package/dist/cjs/utils-4b208b48.js +0 -447
  136. package/dist/esm/cell-utils-cb5d4149.js +0 -160
  137. package/dist/esm/utils-2c1f4122.js +0 -428
  138. package/dist/ketchup/p-06c6cc68.js +0 -1
  139. package/dist/ketchup/p-0dacd4bc.entry.js +0 -1
  140. package/dist/ketchup/p-1c44dc62.entry.js +0 -1
  141. package/dist/ketchup/p-4bc9f98b.entry.js +0 -1
  142. package/dist/ketchup/p-578583db.entry.js +0 -1
  143. package/dist/ketchup/p-5866d507.entry.js +0 -1
  144. package/dist/ketchup/p-61059e9d.entry.js +0 -9
  145. package/dist/ketchup/p-664be494.entry.js +0 -1
  146. package/dist/ketchup/p-67cd575d.entry.js +0 -1
  147. package/dist/ketchup/p-682a367a.js +0 -1
  148. package/dist/ketchup/p-6ccf7eb2.entry.js +0 -1
  149. package/dist/ketchup/p-7230ab97.entry.js +0 -1
  150. package/dist/ketchup/p-752b4cef.entry.js +0 -1
  151. package/dist/ketchup/p-7de3e7ac.entry.js +0 -1
  152. package/dist/ketchup/p-9b36497d.entry.js +0 -1
  153. package/dist/ketchup/p-b982d137.entry.js +0 -1
  154. package/dist/ketchup/p-c0219e5e.js +0 -1
  155. package/dist/ketchup/p-c55fd0a7.entry.js +0 -1
  156. package/dist/ketchup/p-d154b3a0.entry.js +0 -1
  157. package/dist/ketchup/p-d2affb6f.entry.js +0 -27
  158. package/dist/ketchup/p-d3b542b3.js +0 -2
  159. package/dist/ketchup/p-d6c12c6c.js +0 -1
  160. package/dist/ketchup/p-da0eab60.entry.js +0 -1
@@ -1,7 +1,8 @@
1
1
  import { SortMode, TotalMode, } from './kup-data-table-declarations';
2
- import { stringToNumber } from '../../utils/utils';
2
+ import { isNumber, stringToNumber } from '../../utils/utils';
3
3
  import { getCellValueForDisplay, getColumnByName, compareCell, } from '../../utils/cell-utils';
4
4
  import { FiltersRows } from '../../utils/filters/filters-rows';
5
+ import { KupDatesFormats } from '../../managers/kup-dates/kup-dates-declarations';
5
6
  const dom = document.documentElement;
6
7
  export function sortRows(rows = [], sort = []) {
7
8
  if (!rows || rows.length === 0) {
@@ -567,8 +568,9 @@ export function calcTotals(rows = [], totals = {}) {
567
568
  }
568
569
  const keys = Object.keys(totals);
569
570
  const footerRow = {};
571
+ const dateColumns = new Array();
570
572
  // if there are only COUNT, no need to loop on rows
571
- let onlyCount = keys.length === 0 &&
573
+ let onlyCount = keys.length === 0 ||
572
574
  keys.every((key) => totals[key] === TotalMode.COUNT);
573
575
  if (onlyCount) {
574
576
  keys.forEach((columnName) => (footerRow[columnName] = rows.length));
@@ -631,35 +633,40 @@ export function calcTotals(rows = [], totals = {}) {
631
633
  // TODO DRY the MIN and MAX functions
632
634
  }
633
635
  else if (dom.ketchup.objects.isDate(cell.obj)) {
634
- const momentValue = cell.obj
635
- ? dom.ketchup.objects.parseDate(cell.obj)
636
- : dom.ketchup.dates.toDayjs(cell.value);
636
+ if (dateColumns.indexOf(key) == -1) {
637
+ dateColumns.push(key);
638
+ }
639
+ const momentValue = dom.ketchup.dates.toDayjs(cell.value);
637
640
  if (dom.ketchup.dates.isValid(momentValue)) {
638
641
  const cellValue = dom.ketchup.dates.toDate(momentValue);
639
- const currentFooterValue = footerRow[key];
642
+ const currentFooterValue = footerRow[key]
643
+ ? dom.ketchup.dates.toDate(dom.ketchup.dates.toDayjs(footerRow[key]))
644
+ : null;
640
645
  switch (true) {
641
646
  case totals[key] === TotalMode.MIN:
642
647
  if (currentFooterValue) {
643
648
  let moments = [];
644
649
  moments.push(cellValue);
645
- moments.push(dom.ketchup.dates.format(currentFooterValue));
650
+ moments.push(currentFooterValue);
646
651
  footerRow[key] =
647
- dom.ketchup.dates.format(dom.ketchup.dates.min(moments));
652
+ dom.ketchup.dates.format(dom.ketchup.dates.min(moments), KupDatesFormats.ISO_DATE);
648
653
  }
649
654
  else {
650
- footerRow[key] = cellValue;
655
+ footerRow[key] =
656
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
651
657
  }
652
658
  break;
653
659
  case totals[key] === TotalMode.MAX:
654
660
  if (currentFooterValue) {
655
661
  let moments = [];
656
662
  moments.push(cellValue);
657
- moments.push(dom.ketchup.dates.format(currentFooterValue));
663
+ moments.push(currentFooterValue);
658
664
  footerRow[key] =
659
- dom.ketchup.dates.format(dom.ketchup.dates.max(moments));
665
+ dom.ketchup.dates.format(dom.ketchup.dates.max(moments), KupDatesFormats.ISO_DATE);
660
666
  }
661
667
  else {
662
- footerRow[key] = cellValue;
668
+ footerRow[key] =
669
+ dom.ketchup.dates.format(cellValue, KupDatesFormats.ISO_DATE);
663
670
  }
664
671
  break;
665
672
  default:
@@ -676,25 +683,30 @@ export function calcTotals(rows = [], totals = {}) {
676
683
  }
677
684
  });
678
685
  });
679
- // fixing MATH, AVERAGE and COUNT
680
- for (let key of keys) {
681
- switch (true) {
682
- case totals[key] === TotalMode.AVERAGE:
683
- const sum = footerRow[key];
684
- if (sum && rows.length > 0) {
685
- footerRow[key] = sum / rows.length;
686
- }
687
- break;
688
- case totals[key] === TotalMode.COUNT:
689
- footerRow[key] = rows.length;
690
- break;
691
- case totals[key].indexOf(TotalMode.MATH) == 0:
692
- footerRow[key] = dom.ketchup.math.formulas.custom(totals[key].substring(TotalMode.MATH.length), footerRow);
693
- break;
694
- default:
695
- break;
686
+ }
687
+ // fixing MATH, AVERAGE and COUNT
688
+ for (let key of keys) {
689
+ switch (true) {
690
+ case totals[key] === TotalMode.AVERAGE:
691
+ const sum = footerRow[key];
692
+ if (sum && rows.length > 0) {
693
+ footerRow[key] = sum / rows.length;
694
+ }
695
+ break;
696
+ case totals[key] === TotalMode.COUNT:
697
+ footerRow[key] = rows.length;
698
+ break;
699
+ case totals[key].indexOf(TotalMode.MATH) == 0:
700
+ footerRow[key] = dom.ketchup.math.formulas.custom(totals[key].substring(TotalMode.MATH.length), footerRow);
701
+ break;
702
+ default:
703
+ break;
704
+ }
705
+ if (footerRow[key]) {
706
+ if (dateColumns.indexOf(key) != -1) {
707
+ footerRow[key] = dom.ketchup.dates.format(footerRow[key]);
696
708
  }
697
- if (footerRow[key]) {
709
+ else if (isNumber(footerRow[key])) {
698
710
  footerRow[key] = +footerRow[key].toFixed(2);
699
711
  }
700
712
  }
@@ -1063,29 +1063,29 @@ _KupEchart_chartContainer = new WeakMap(), _KupEchart_chartEl = new WeakMap(), _
1063
1063
  if (type == KupEchartTypes.GAUSSIAN) {
1064
1064
  if (!__classPrivateFieldGet(this, _KupEchart_kupManager, "f").objects.isNumber(column.obj)) {
1065
1065
  const newDataset = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.distinct(this.data, [column.name]);
1066
- values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(newDataset, [
1067
- column.name,
1068
- ]);
1066
+ values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(newDataset, column);
1069
1067
  __classPrivateFieldGet(this, _KupEchart_gaussianDatasets, "f")[column.name] = newDataset;
1070
1068
  }
1071
1069
  else {
1072
- values = y[key];
1070
+ values = [{ value: y[key] }];
1073
1071
  }
1074
1072
  }
1075
1073
  else {
1076
1074
  if (needSortDataset) {
1077
1075
  // if there is only one series other than the Gaussian then I apply the sorting algorithm that arranges the data in "mountain"
1078
1076
  __classPrivateFieldSet(this, _KupEchart_sortedDataset, __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.sort(this.data, 'normalDistribution', column.name), "f");
1079
- values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(__classPrivateFieldGet(this, _KupEchart_sortedDataset, "f"), [column.name]);
1077
+ values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(__classPrivateFieldGet(this, _KupEchart_sortedDataset, "f"), column);
1080
1078
  x = __classPrivateFieldGet(this, _KupEchart_instances, "m", _KupEchart_createX).call(this, __classPrivateFieldGet(this, _KupEchart_sortedDataset, "f"));
1081
1079
  }
1082
1080
  else {
1083
- values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(this.data, [
1084
- column.name,
1085
- ]);
1081
+ values = __classPrivateFieldGet(this, _KupEchart_kupManager, "f").data.cell.getValue(this.data, column);
1086
1082
  }
1087
1083
  }
1088
- __classPrivateFieldGet(this, _KupEchart_instances, "m", _KupEchart_addSeries).call(this, type, series, values, key, mixedSeries, needSortDataset);
1084
+ const justValues = new Array();
1085
+ for (let i = 0; i < values.length; i++) {
1086
+ justValues.push(values[i].value);
1087
+ }
1088
+ __classPrivateFieldGet(this, _KupEchart_instances, "m", _KupEchart_addSeries).call(this, type, series, justValues, key, mixedSeries, needSortDataset);
1089
1089
  i++;
1090
1090
  }
1091
1091
  // "any" because type is mismanaged inside echarts library
@@ -4,9 +4,11 @@
4
4
  */
5
5
  export var KupFamilyTreeProps;
6
6
  (function (KupFamilyTreeProps) {
7
- KupFamilyTreeProps["autofit"] = "The component's initial render will fit the container.";
7
+ KupFamilyTreeProps["autofitOnExpand"] = "The component will autofit everytime a node is expanded.";
8
+ KupFamilyTreeProps["autofitOnLoad"] = "The component's initial render will fit the container by invoking the runAutofit method.";
8
9
  KupFamilyTreeProps["collapsible"] = "Nodes can be expanded/collapsed.";
9
10
  KupFamilyTreeProps["customStyle"] = "Custom style of the component.";
10
11
  KupFamilyTreeProps["data"] = "Actual data of the component";
11
12
  KupFamilyTreeProps["layout"] = "Layout of the boxes.";
13
+ KupFamilyTreeProps["stackedLeaves"] = "Child nodes that have no children are arranged vertically.";
12
14
  })(KupFamilyTreeProps || (KupFamilyTreeProps = {}));
@@ -11,16 +11,16 @@
11
11
  :host {
12
12
  --kup_familytree_item_background_color: var(
13
13
  --kup-familytree-item-background-color,
14
- var(--kup-primary-color)
14
+ var(--kup-background-color)
15
15
  );
16
16
  --kup_familytree_item_color: var(
17
17
  --kup-familytree-item-color,
18
- var(--kup-text-on-primary-color)
18
+ var(--kup-text-color)
19
19
  );
20
- --kup_familytree_item_height: var(--kup-familytree-item-height, 40px);
20
+ --kup_familytree_item_height: var(--kup-familytree-item-height, 80px);
21
21
  --kup_familytree_item_h_padding: var(--kup-familytree-item-h-padding, 8px);
22
22
  --kup_familytree_item_v_padding: var(--kup-familytree-item-v-padding, 10px);
23
- --kup_familytree_item_width: var(--kup-familytree-item-width, 120px);
23
+ --kup_familytree_item_width: var(--kup-familytree-item-width, 280px);
24
24
  --kup_familytree_lines_color: var(
25
25
  --kup-familytree-lines-color,
26
26
  var(--kup-border-color)
@@ -30,20 +30,27 @@
30
30
  }
31
31
 
32
32
  .family-tree {
33
+ cursor: grab;
33
34
  display: flex;
34
35
  transform: scale(var(--kup_familytree_scale, 1));
35
36
  transform-origin: 0px 0px;
36
37
  }
38
+ .family-tree--dragging {
39
+ cursor: grabbing;
40
+ }
37
41
  .family-tree__node {
38
42
  border-collapse: collapse;
39
43
  margin: auto;
40
44
  }
45
+ .family-tree__node--stacked {
46
+ margin-bottom: 4px;
47
+ }
41
48
  .family-tree__node__staff {
42
49
  align-items: center;
43
50
  display: flex;
44
51
  flex-direction: column;
45
52
  height: 0;
46
- transform: translateX(calc( ( var(--kup_familytree_item_width) + (var(--kup_familytree_item_h_padding) * 2) ) / 2 )) translateY(calc( 0px - ( var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) ) ));
53
+ transform: translateX(calc( ( var(--kup_familytree_item_width) + (var(--kup_familytree_item_h_padding) * 2) ) / 2 )) translateY(calc( 0px - ( var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * (var(--kup_familytree_item_v_padding) * 2) ) ));
47
54
  }
48
55
  .family-tree__node__staff__item {
49
56
  padding: var(--kup_familytree_item_v_padding);
@@ -67,7 +74,7 @@
67
74
  height: calc(var(--kup_familytree_item_height) / 2);
68
75
  }
69
76
  .family-tree__line--staff {
70
- height: calc( var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * var(--kup_familytree_item_v_padding) );
77
+ height: calc( var(--kup_familytree_staffchildren) * var(--kup_familytree_item_height) + var(--kup_familytree_staffchildren) * (var(--kup_familytree_item_v_padding) * 2) );
71
78
  }
72
79
  .family-tree__line--right {
73
80
  border-right: 2px solid var(--kup_familytree_lines_color);
@@ -95,7 +102,70 @@
95
102
  z-index: 1;
96
103
  }
97
104
  .family-tree__item__wrapper .f-button {
98
- width: fit-content;
99
- margin-left: auto;
100
- margin-right: auto;
105
+ --kup-button-primary-color: var(--kup-text-color);
106
+ --kup-button-primary-color-rgb: var(--kup-text-color-rgb);
107
+ --kup-button-primary-color-h: var(--kup-text-color-h);
108
+ --kup-button-primary-color-s: var(--kup-text-color-s);
109
+ --kup-button-primary-color-l: var(--kup-text-color-l);
110
+ margin: 0 auto;
111
+ width: max-content;
112
+ }
113
+ .family-tree__item__wrapper .f-button button {
114
+ height: 32px;
115
+ width: 32px;
116
+ }
117
+ .family-tree__item__layout {
118
+ background-color: var(--kup_familytree_item_background_color);
119
+ border: 1px solid var(--kup_familytree_lines_color);
120
+ border-radius: 8px;
121
+ box-sizing: border-box;
122
+ display: flex;
123
+ height: var(--kup_familytree_item_height);
124
+ margin: 0 18px;
125
+ width: var(--kup_familytree_item_width);
126
+ }
127
+ .family-tree__item__layout--1 {
128
+ justify-content: center;
129
+ color: var(--kup_familytree_item_color);
130
+ }
131
+ .family-tree__item__layout--1 > .family-tree__item__layout__text__title {
132
+ margin-top: auto;
133
+ margin-bottom: auto;
134
+ }
135
+ .family-tree__item__layout--2 {
136
+ background-color: var(--kup_familytree_item_background_color);
137
+ justify-content: flex-start;
138
+ }
139
+ .family-tree__item__layout__color {
140
+ background-color: var(--kup-secondary-color);
141
+ border-bottom-left-radius: 8px;
142
+ border-top-left-radius: 8px;
143
+ height: 100%;
144
+ width: 10px;
145
+ }
146
+ .family-tree__item__layout__image {
147
+ display: flex;
148
+ margin: auto 10px;
149
+ }
150
+ .family-tree__item__layout__image img {
151
+ border-radius: 50px;
152
+ object-fit: cover;
153
+ }
154
+ .family-tree__item__layout__text {
155
+ display: flex;
156
+ flex-direction: column;
157
+ justify-content: center;
158
+ }
159
+ .family-tree__item__layout__text__title {
160
+ font-size: 18px;
161
+ margin-bottom: 5px;
162
+ }
163
+ .family-tree__item__layout__text__subtitle {
164
+ font-size: 14px;
165
+ }
166
+ .family-tree__item__layout__text__title, .family-tree__item__layout__text__subtitle {
167
+ max-width: calc(var(--kup_familytree_item_width) - 30%);
168
+ overflow: hidden;
169
+ text-overflow: ellipsis;
170
+ white-space: nowrap;
101
171
  }