@sme.up/ketchup 8.3.3 → 9.0.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 (184) hide show
  1. package/dist/cjs/{component-24811409.js → component-cb3b32f5.js} +7 -2
  2. package/dist/cjs/{f-button-7687085a.js → f-button-b2cfce1c.js} +2 -2
  3. package/dist/cjs/{f-cell-37ef6f00.js → f-cell-75fca92b.js} +24 -17
  4. package/dist/cjs/{f-checkbox-758d1d34.js → f-checkbox-48d7af02.js} +1 -1
  5. package/dist/cjs/{f-chip-cf59bdb3.js → f-chip-3e504f3e.js} +3 -3
  6. package/dist/cjs/{f-image-1245b0cf.js → f-image-270d39ae.js} +2 -2
  7. package/dist/cjs/{f-paginator-utils-b1af2a8f.js → f-paginator-utils-6d0c4678.js} +3 -3
  8. package/dist/cjs/{f-text-field-9c745112.js → f-text-field-bbcd2143.js} +2 -2
  9. package/dist/cjs/{f-text-field-mdc-b1fa6fd6.js → f-text-field-mdc-4fda9705.js} +1 -1
  10. package/dist/cjs/{index-eac07680.js → index-c3d10561.js} +86 -8
  11. package/dist/cjs/ketchup.cjs.js +3 -3
  12. package/dist/cjs/kup-accordion.cjs.entry.js +4 -4
  13. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +148 -153
  14. package/dist/cjs/kup-box.cjs.entry.js +11 -11
  15. package/dist/cjs/kup-calendar.cjs.entry.js +6 -6
  16. package/dist/cjs/kup-card-list.cjs.entry.js +244 -0
  17. package/dist/cjs/kup-cell.cjs.entry.js +7 -7
  18. package/dist/cjs/kup-dashboard.cjs.entry.js +8 -8
  19. package/dist/cjs/kup-drawer.cjs.entry.js +2 -2
  20. package/dist/cjs/kup-echart.cjs.entry.js +4579 -4431
  21. package/dist/cjs/kup-family-tree.cjs.entry.js +4 -4
  22. package/dist/cjs/kup-grid.cjs.entry.js +109 -0
  23. package/dist/cjs/kup-iframe.cjs.entry.js +2 -2
  24. package/dist/cjs/kup-image-list.cjs.entry.js +9 -9
  25. package/dist/cjs/kup-lazy.cjs.entry.js +2 -2
  26. package/dist/cjs/kup-magic-box.cjs.entry.js +3 -3
  27. package/dist/cjs/{kup-manager-38caaef3.js → kup-manager-130bbd9d.js} +7 -7
  28. package/dist/cjs/kup-nav-bar.cjs.entry.js +2 -2
  29. package/dist/cjs/kup-numeric-picker.cjs.entry.js +5 -5
  30. package/dist/cjs/kup-photo-frame.cjs.entry.js +2 -2
  31. package/dist/cjs/kup-planner.cjs.entry.js +5 -5
  32. package/dist/cjs/kup-probe.cjs.entry.js +2 -2
  33. package/dist/cjs/kup-qlik.cjs.entry.js +2 -2
  34. package/dist/cjs/kup-snackbar.cjs.entry.js +4 -4
  35. package/dist/cjs/loader.cjs.js +2 -2
  36. package/dist/collection/assets/card-list.js +709 -0
  37. package/dist/collection/assets/data-table-performance.js +6 -0
  38. package/dist/collection/assets/data-table.js +44 -0
  39. package/dist/collection/assets/image-list.js +2 -12
  40. package/dist/collection/assets/index.js +4 -4
  41. package/dist/collection/collection-manifest.json +2 -3
  42. package/dist/collection/components/kup-calendar/kup-calendar-declarations.js +1 -1
  43. package/dist/collection/components/kup-card/kup-card.css +20 -7
  44. package/dist/collection/components/kup-card/kup-card.js +25 -22
  45. package/dist/collection/components/kup-card/scalable/kup-card-scalable.js +45 -54
  46. package/dist/collection/components/kup-card-list/kup-card-list-declarations.js +13 -0
  47. package/dist/collection/components/kup-card-list/kup-card-list.css +34 -0
  48. package/dist/collection/components/kup-card-list/kup-card-list.js +481 -0
  49. package/dist/collection/components/kup-data-table/kup-data-table-state.js +1 -1
  50. package/dist/collection/components/kup-echart/kup-echart.js +0 -2
  51. package/dist/collection/components/kup-grid/kup-grid.css +10 -0
  52. package/dist/collection/f-components/f-cell/f-cell-declarations.js +1 -0
  53. package/dist/collection/f-components/f-cell/f-cell.js +19 -12
  54. package/dist/collection/managers/kup-math/kup-math.js +1 -1
  55. package/dist/collection/types/GenericTypes.js +1 -2
  56. package/dist/components/kup-autocomplete2.js +392 -385
  57. package/dist/components/kup-calendar.js +1 -1
  58. package/dist/components/{kup-dash-list.d.ts → kup-card-list.d.ts} +4 -4
  59. package/dist/components/kup-card-list.js +408 -0
  60. package/dist/components/kup-cell.js +1 -1
  61. package/dist/components/kup-chart.js +1 -1
  62. package/dist/components/kup-checkbox.js +1 -1
  63. package/dist/components/kup-chip.js +1 -1
  64. package/dist/components/kup-color-picker.js +1 -1
  65. package/dist/components/kup-combobox.js +1 -1
  66. package/dist/components/kup-dashboard.js +1 -1
  67. package/dist/components/kup-data-table.js +1 -1
  68. package/dist/components/kup-date-picker.js +1 -1
  69. package/dist/components/kup-dialog.js +1 -1
  70. package/dist/components/kup-dropdown-button.js +1 -1
  71. package/dist/components/kup-echart2.js +4578 -4430
  72. package/dist/components/kup-family-tree.js +1 -1
  73. package/dist/components/kup-form.js +1 -1
  74. package/dist/components/kup-gauge.js +1 -1
  75. package/dist/components/kup-grid2.js +1 -1
  76. package/dist/components/kup-image-list.js +1 -1
  77. package/dist/components/kup-image.js +1 -1
  78. package/dist/components/kup-list.js +1 -1
  79. package/dist/components/kup-magic-box.js +1 -1
  80. package/dist/components/kup-numeric-picker.js +1 -1
  81. package/dist/components/kup-planner.js +1 -1
  82. package/dist/esm/{component-cc25b031.js → component-879e99bf.js} +7 -2
  83. package/dist/esm/{f-button-e54ce8d5.js → f-button-baa419dc.js} +2 -2
  84. package/dist/esm/{f-cell-4149a05d.js → f-cell-18ee3afa.js} +24 -17
  85. package/dist/esm/{f-checkbox-7b113dd8.js → f-checkbox-00a1e020.js} +1 -1
  86. package/dist/esm/{f-chip-c3c86f7b.js → f-chip-311500f4.js} +3 -3
  87. package/dist/esm/{f-image-adceee49.js → f-image-da03494c.js} +2 -2
  88. package/dist/esm/{f-paginator-utils-e559dac8.js → f-paginator-utils-d63a195e.js} +3 -3
  89. package/dist/esm/{f-text-field-aa4497a8.js → f-text-field-e5f1f1fd.js} +2 -2
  90. package/dist/esm/{f-text-field-mdc-32a1ffd9.js → f-text-field-mdc-1143cf21.js} +1 -1
  91. package/dist/esm/{index-d413187a.js → index-3336c3b1.js} +86 -8
  92. package/dist/esm/ketchup.js +4 -4
  93. package/dist/esm/kup-accordion.entry.js +4 -4
  94. package/dist/esm/kup-autocomplete_27.entry.js +148 -153
  95. package/dist/esm/kup-box.entry.js +11 -11
  96. package/dist/esm/kup-calendar.entry.js +6 -6
  97. package/dist/esm/kup-card-list.entry.js +240 -0
  98. package/dist/esm/kup-cell.entry.js +7 -7
  99. package/dist/esm/kup-dashboard.entry.js +8 -8
  100. package/dist/esm/kup-drawer.entry.js +2 -2
  101. package/dist/esm/kup-echart.entry.js +4579 -4431
  102. package/dist/esm/kup-family-tree.entry.js +4 -4
  103. package/dist/esm/kup-grid.entry.js +105 -0
  104. package/dist/esm/kup-iframe.entry.js +2 -2
  105. package/dist/esm/kup-image-list.entry.js +9 -9
  106. package/dist/esm/kup-lazy.entry.js +2 -2
  107. package/dist/esm/kup-magic-box.entry.js +3 -3
  108. package/dist/esm/{kup-manager-a4153fb2.js → kup-manager-c8d5c94d.js} +7 -7
  109. package/dist/esm/kup-nav-bar.entry.js +2 -2
  110. package/dist/esm/kup-numeric-picker.entry.js +5 -5
  111. package/dist/esm/kup-photo-frame.entry.js +2 -2
  112. package/dist/esm/kup-planner.entry.js +5 -5
  113. package/dist/esm/kup-probe.entry.js +2 -2
  114. package/dist/esm/kup-qlik.entry.js +2 -2
  115. package/dist/esm/kup-snackbar.entry.js +4 -4
  116. package/dist/esm/loader.js +3 -3
  117. package/dist/ketchup/ketchup.esm.js +1 -1
  118. package/dist/ketchup/{p-d680bdde.js → p-008ad26c.js} +1 -1
  119. package/dist/ketchup/{p-c0878519.entry.js → p-07707cd1.entry.js} +1 -1
  120. package/dist/ketchup/p-0c19d485.entry.js +9 -0
  121. package/dist/ketchup/{p-44b5c573.entry.js → p-13eac183.entry.js} +1 -1
  122. package/dist/ketchup/{p-e76b646c.js → p-25de68e5.js} +1 -1
  123. package/dist/ketchup/{p-c39ddeae.entry.js → p-2a2a18bf.entry.js} +1 -1
  124. package/dist/ketchup/{p-3bbcae45.entry.js → p-2d192def.entry.js} +1 -1
  125. package/dist/ketchup/p-2d42477d.js +2 -0
  126. package/dist/ketchup/{p-b623c774.entry.js → p-2dab9c4f.entry.js} +1 -1
  127. package/dist/ketchup/{p-2f0798d3.js → p-39602629.js} +1 -1
  128. package/dist/ketchup/{p-7360a410.js → p-4597f25d.js} +1 -1
  129. package/dist/ketchup/{p-e917200c.entry.js → p-51aa248f.entry.js} +1 -1
  130. package/dist/ketchup/{p-b415fe84.entry.js → p-55fd3f46.entry.js} +1 -1
  131. package/dist/ketchup/p-5c15661d.entry.js +1 -0
  132. package/dist/ketchup/{p-283ca113.entry.js → p-5cfaa673.entry.js} +1 -1
  133. package/dist/ketchup/{p-b8fcbcc9.entry.js → p-5f583257.entry.js} +1 -1
  134. package/dist/ketchup/{p-698442ed.js → p-7555c10d.js} +1 -1
  135. package/dist/ketchup/{p-3d671241.entry.js → p-76130e83.entry.js} +1 -1
  136. package/dist/ketchup/{p-3081ed82.entry.js → p-7bf649f0.entry.js} +1 -1
  137. package/dist/ketchup/{p-23d54fb2.entry.js → p-7e1c8fc0.entry.js} +1 -1
  138. package/dist/ketchup/p-80699a95.js +1 -0
  139. package/dist/ketchup/{p-3c44e838.entry.js → p-81debebe.entry.js} +1 -1
  140. package/dist/ketchup/{p-47752f3b.js → p-8281c9e5.js} +1 -1
  141. package/dist/ketchup/{p-2739b7ac.entry.js → p-a0f59b05.entry.js} +1 -1
  142. package/dist/ketchup/{p-eec864dd.entry.js → p-a8a39b08.entry.js} +1 -1
  143. package/dist/ketchup/{p-0848391f.entry.js → p-bb854cf5.entry.js} +1 -1
  144. package/dist/ketchup/{p-6d9ffb32.js → p-cd2af1a6.js} +1 -1
  145. package/dist/ketchup/{p-124f3f42.js → p-d4a879fc.js} +1 -1
  146. package/dist/ketchup/{p-f3c8c1da.entry.js → p-d6a7498b.entry.js} +1 -1
  147. package/dist/ketchup/p-d8384990.entry.js +1 -0
  148. package/dist/ketchup/p-da58f8ab.entry.js +39 -0
  149. package/dist/ketchup/p-ecb9fe91.entry.js +1 -0
  150. package/dist/ketchup/{p-d817be2a.js → p-f729449f.js} +1 -1
  151. package/dist/types/components/kup-calendar/kup-calendar-declarations.d.ts +1 -1
  152. package/dist/types/components/kup-calendar/kup-calendar.d.ts +1 -1
  153. package/dist/types/components/kup-card/kup-card.d.ts +3 -3
  154. package/dist/types/components/kup-card-list/kup-card-list-declarations.d.ts +35 -0
  155. package/dist/types/components/kup-card-list/kup-card-list.d.ts +62 -0
  156. package/dist/types/components/kup-data-table/kup-data-table-state.d.ts +1 -1
  157. package/dist/types/components.d.ts +97 -92
  158. package/dist/types/f-components/f-cell/f-cell-declarations.d.ts +1 -0
  159. package/dist/types/managers/kup-math/kup-math.d.ts +1 -1
  160. package/dist/types/stencil-public-runtime.d.ts +11 -1
  161. package/dist/types/types/GenericTypes.d.ts +1 -2
  162. package/package.json +5 -2
  163. package/dist/cjs/kup-dash-list.cjs.entry.js +0 -116
  164. package/dist/cjs/kup-dash_2.cjs.entry.js +0 -179
  165. package/dist/collection/assets/dash-list.js +0 -474
  166. package/dist/collection/components/kup-dash/kup-dash.css +0 -136
  167. package/dist/collection/components/kup-dash/kup-dash.js +0 -171
  168. package/dist/collection/components/kup-dash-list/kup-dash-list.css +0 -10
  169. package/dist/collection/components/kup-dash-list/kup-dash-list.js +0 -331
  170. package/dist/components/kup-dash-list.js +0 -288
  171. package/dist/components/kup-dash.d.ts +0 -11
  172. package/dist/components/kup-dash.js +0 -6
  173. package/dist/components/kup-dash2.js +0 -228
  174. package/dist/esm/kup-dash-list.entry.js +0 -112
  175. package/dist/esm/kup-dash_2.entry.js +0 -174
  176. package/dist/ketchup/p-25d45dc9.entry.js +0 -1
  177. package/dist/ketchup/p-384137d7.entry.js +0 -39
  178. package/dist/ketchup/p-3972b97c.entry.js +0 -1
  179. package/dist/ketchup/p-5ce0e645.entry.js +0 -1
  180. package/dist/ketchup/p-be864593.entry.js +0 -9
  181. package/dist/ketchup/p-f79d544a.js +0 -1
  182. package/dist/ketchup/p-fd75d5bf.js +0 -2
  183. package/dist/types/components/kup-dash/kup-dash.d.ts +0 -33
  184. package/dist/types/components/kup-dash-list/kup-dash-list.d.ts +0 -22
@@ -46,6 +46,7 @@ function refreshTables() {
46
46
  for (let index = 0; index < nTables; index++) {
47
47
  const table = document.createElement('kup-data-table');
48
48
  table.data = { ...data };
49
+ table.editableData = true;
49
50
  //table.lazyLoadRows = true;
50
51
  //table.rowsPerPage = 10;
51
52
  table.rowsPerPage = 100000;
@@ -61,6 +62,11 @@ function createCells(i) {
61
62
  const column = data.columns[index];
62
63
  cells[column.name] = {
63
64
  value: 'Row ' + i + '; Col ' + column.name,
65
+ isEditable: true,
66
+ shape: 'INF',
67
+ info: {
68
+ icon: 'warning',
69
+ },
64
70
  };
65
71
  }
66
72
  return cells;
@@ -953,6 +953,50 @@ const mockedRows = [
953
953
  },
954
954
  },
955
955
  },
956
+ {
957
+ cells: {
958
+ FLD1: {
959
+ obj: {
960
+ t: 'CN',
961
+ p: 'COL',
962
+ k: 'CASFRA',
963
+ },
964
+ value: 'CASFRA',
965
+ },
966
+ FLD2: {
967
+ obj: {
968
+ t: 'NR',
969
+ p: '',
970
+ k: '10',
971
+ },
972
+ value: '10',
973
+ },
974
+ FLD3: {
975
+ obj: {
976
+ t: 'NR',
977
+ p: '',
978
+ k: '100000.60',
979
+ },
980
+ value: '100,000.60',
981
+ },
982
+ FLD4: {
983
+ obj: {
984
+ t: 'D8',
985
+ p: '*YYMD',
986
+ k: '20181101',
987
+ },
988
+ value: '2018-11-01',
989
+ },
990
+ FLD5: {
991
+ obj: {
992
+ t: 'NR',
993
+ p: 'P',
994
+ k: '0',
995
+ },
996
+ value: '0.00',
997
+ },
998
+ },
999
+ },
956
1000
  {
957
1001
  cells: {
958
1002
  FLD1: {
@@ -66,21 +66,11 @@ const data = [
66
66
  {
67
67
  cells: {
68
68
  ROUTE: {
69
- value: 'dash',
70
- },
71
- },
72
- icon: 'thermostat-box',
73
- value: 'Dash',
74
- visible: true,
75
- },
76
- {
77
- cells: {
78
- ROUTE: {
79
- value: 'dashlist',
69
+ value: 'cardlist',
80
70
  },
81
71
  },
82
72
  icon: 'recent_actors',
83
- value: 'Dash list',
73
+ value: 'Card list',
84
74
  visible: true,
85
75
  },
86
76
  {
@@ -46,6 +46,10 @@ components.data = [
46
46
  value: 'Card',
47
47
  id: 'card.html',
48
48
  },
49
+ {
50
+ value: 'Card list',
51
+ id: 'card-list.html',
52
+ },
49
53
  {
50
54
  value: 'Cell',
51
55
  id: 'cell.html',
@@ -70,10 +74,6 @@ components.data = [
70
74
  value: 'Combobox',
71
75
  id: 'combobox.html',
72
76
  },
73
- {
74
- value: 'Dash list',
75
- id: 'dash-list.html',
76
- },
77
77
  {
78
78
  value: 'Dashboard',
79
79
  id: 'dashboard.html',
@@ -13,13 +13,12 @@
13
13
  "components/kup-button/kup-button.js",
14
14
  "components/kup-button-list/kup-button-list.js",
15
15
  "components/kup-calendar/kup-calendar.js",
16
+ "components/kup-card-list/kup-card-list.js",
16
17
  "components/kup-cell/kup-cell.js",
17
18
  "components/kup-checkbox/kup-checkbox.js",
18
19
  "components/kup-chip/kup-chip.js",
19
20
  "components/kup-color-picker/kup-color-picker.js",
20
21
  "components/kup-combobox/kup-combobox.js",
21
- "components/kup-dash/kup-dash.js",
22
- "components/kup-dash-list/kup-dash-list.js",
23
22
  "components/kup-dashboard/kup-dashboard.js",
24
23
  "components/kup-date-picker/kup-date-picker.js",
25
24
  "components/kup-dialog/kup-dialog.js",
@@ -52,7 +51,7 @@
52
51
  ],
53
52
  "compiler": {
54
53
  "name": "@stencil/core",
55
- "version": "4.0.2",
54
+ "version": "4.0.4",
56
55
  "typescriptVersion": "5.0.4"
57
56
  },
58
57
  "collections": [],
@@ -22,7 +22,7 @@ export var KupCalendarViewTypes;
22
22
  KupCalendarViewTypes["WEEK"] = "timeGridWeek";
23
23
  })(KupCalendarViewTypes || (KupCalendarViewTypes = {}));
24
24
  /**
25
- * Available view types.
25
+ * Available column options.
26
26
  */
27
27
  export var KupCalendarOptions;
28
28
  (function (KupCalendarOptions) {
@@ -1451,7 +1451,7 @@
1451
1451
  }
1452
1452
  .scalable-layout-2 .scalable-element {
1453
1453
  display: grid;
1454
- grid-template-columns: 1fr 1fr 0.5fr 0.5fr;
1454
+ grid-template-columns: 0.25fr 1fr 0.5fr 0.5fr;
1455
1455
  }
1456
1456
  .scalable-layout-2 .icon {
1457
1457
  margin: auto;
@@ -1543,7 +1543,6 @@
1543
1543
  width: 100%;
1544
1544
  min-width: max-content;
1545
1545
  position: relative;
1546
- bottom: -10%;
1547
1546
  }
1548
1547
 
1549
1548
  .scalable-layout-6 #image1 img {
@@ -1587,6 +1586,7 @@
1587
1586
  }
1588
1587
  .scalable-layout-7 .value {
1589
1588
  font-size: 200%;
1589
+ text-align: right;
1590
1590
  }
1591
1591
  .scalable-layout-7 .descr {
1592
1592
  text-align: right;
@@ -1594,7 +1594,6 @@
1594
1594
  width: 100%;
1595
1595
  min-width: max-content;
1596
1596
  position: relative;
1597
- bottom: 10%;
1598
1597
  }
1599
1598
 
1600
1599
  .scalable-layout-8 #image1 img {
@@ -1610,7 +1609,7 @@
1610
1609
  font-size: 75%;
1611
1610
  }
1612
1611
  .scalable-layout-8 .value {
1613
- margin: 0 10%;
1612
+ margin: 0 8px;
1614
1613
  font-size: 250%;
1615
1614
  }
1616
1615
  .scalable-layout-8 .descr {
@@ -1625,7 +1624,6 @@
1625
1624
  display: flex;
1626
1625
  justify-content: unset;
1627
1626
  overflow: auto;
1628
- box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
1629
1627
  border-radius: 4px;
1630
1628
  }
1631
1629
  .scalable-layout-9 .section-1 {
@@ -1660,10 +1658,10 @@
1660
1658
 
1661
1659
  .scalable-card {
1662
1660
  align-items: center;
1663
- box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
1661
+ box-shadow: var(--kup_card_scalable_box_shadow);
1664
1662
  border-radius: 4px;
1665
1663
  display: flex;
1666
- font-size: calc(var(--kup-font-size) * var(--kup_card_multiplier));
1664
+ font-size: var(--kup_card_scalable_static_font_size, calc(var(--kup_card_scalable_starting_font_size) * var(--kup_card_scalable_multiplier, 1)));
1667
1665
  height: 100%;
1668
1666
  justify-content: center;
1669
1667
  position: relative;
@@ -2841,6 +2839,8 @@
2841
2839
  /**
2842
2840
  * @prop --kup-card-backdrop: Backdrop of the component when is visible.
2843
2841
  * @prop --kup-card-ripple-color: Sets color of ripple effect (for Material layouts).
2842
+ * @prop --kup-card-scalable-box-shadow: Box shadow of the scalable layouts.
2843
+ * @prop --kup-card-scalable-starting-font-size: Starting font size for scalable cards.
2844
2844
  */
2845
2845
  :host {
2846
2846
  --kup_card_backdrop: var(--kup-card-backdrop, rgba(0, 0, 0, 0.32));
@@ -2848,6 +2848,19 @@
2848
2848
  --kup-card-ripple-color,
2849
2849
  var(--kup-primary-color)
2850
2850
  );
2851
+ --kup_card_scalable_box_shadow: var(
2852
+ --kup-card-scalable-box-shadow,
2853
+ 0 2px 1px -1px rgba(0, 0, 0, 0.2),
2854
+ 0 1px 1px 0 rgba(0, 0, 0, 0.14),
2855
+ 0 1px 3px 0 rgba(0, 0, 0, 0.12)
2856
+ );
2857
+ --kup_card_scalable_starting_font_size: var(
2858
+ --kup-card-scalable-starting-font-size,
2859
+ 3em
2860
+ );
2861
+ --kup_card_scalable_static_font_size: var(
2862
+ --kup-card-scalable-static-font-size
2863
+ );
2851
2864
  display: block;
2852
2865
  font-size: var(--kup-font-size);
2853
2866
  height: var(--kup_card_height);
@@ -324,17 +324,16 @@ export class KupCard {
324
324
  }
325
325
  /**
326
326
  * This method is invoked by the layout manager when the layout family is scalable.
327
- * The content of the card (.scalable-element) will be resized to fit the wrapper (.scalable-card).
328
- * The scaling is performed by using a CSS variable (--kup_card_multiplier) which will impact the card's font-size.
327
+ * The content of the card (.scalable-element) will be resized to fit the wrapper (kup-card).
328
+ * The scaling is performed by using a CSS variable (--kup_card_scalable_multiplier) which will impact the card's font-size.
329
329
  * When there is empty space, the multiplier will be increased, as will the content.
330
330
  * Viceversa, when the content exceeds the boundaries, the multiplier will be decreased.
331
331
  */
332
- scalable() {
332
+ async scalable() {
333
333
  this.scalingActive = true;
334
334
  const root = this.rootElement.shadowRoot;
335
335
  const el = root.querySelector('.scalable-element');
336
- const card = root.querySelector('.scalable-card');
337
- const multiplierStep = 0.1;
336
+ const card = this.rootElement;
338
337
  /**
339
338
  * cardHeight sets the maximum height of the content, when exceeded the multiplier will be reduced (90%).
340
339
  */
@@ -344,37 +343,41 @@ export class KupCard {
344
343
  */
345
344
  const cardWidthLow = (85 / 100) * card.clientWidth;
346
345
  const cardWidthHigh = (95 / 100) * card.clientWidth;
347
- let tooManyAttempts = 2000;
348
- let multiplier = parseFloat(card.style.getPropertyValue('--kup_card_multiplier'));
349
- if (multiplier < 0.1) {
350
- multiplier = 1;
351
- }
346
+ const multiplierStep = 0.1;
347
+ let tooManyAttempts = 75;
348
+ let multiplier = 1;
349
+ let redrawCount = 0;
350
+ const redraw = async () => {
351
+ card.style.setProperty('--kup_card_scalable_multiplier', multiplier.toFixed(1) + '');
352
+ this.kupManager.debug.logMessage(this, 'Redrawing scalable card (' + ++redrawCount + ').', KupDebugCategory.INFO);
353
+ };
354
+ const roundMultiplier = (m) => {
355
+ return parseFloat(m.toFixed(1));
356
+ };
357
+ card.style.opacity = '0';
358
+ card.style.transition = 'opacity 125ms ease-in';
352
359
  /**
353
360
  * Cycle to adjust the width.
354
361
  */
362
+ await redraw();
355
363
  while ((el.clientWidth < cardWidthLow || el.clientWidth > cardWidthHigh) &&
356
364
  tooManyAttempts > 0 &&
357
365
  multiplier > multiplierStep) {
358
366
  tooManyAttempts--;
359
- if (el.clientWidth < cardWidthLow) {
360
- multiplier = multiplier + multiplierStep;
361
- card.style.setProperty('--kup_card_multiplier', multiplier + '');
367
+ if (el.clientWidth < cardWidthLow &&
368
+ el.clientHeight <= cardHeight) {
369
+ multiplier = roundMultiplier(multiplier + multiplierStep);
370
+ await redraw();
362
371
  }
363
372
  else if (el.clientWidth > cardWidthHigh) {
364
- multiplier = multiplier - multiplierStep;
365
- card.style.setProperty('--kup_card_multiplier', multiplier + '');
373
+ multiplier = roundMultiplier(multiplier - multiplierStep);
374
+ await redraw();
366
375
  }
367
376
  else {
368
377
  tooManyAttempts = 0;
369
378
  }
370
379
  }
371
- /**
372
- * Cycle to adjust the height, in case it exceeds its boundaries after having adjusted width.
373
- */
374
- while (el.clientHeight > cardHeight && multiplier > multiplierStep) {
375
- multiplier = multiplier - multiplierStep;
376
- card.style.setProperty('--kup_card_multiplier', multiplier + '');
377
- }
380
+ card.style.opacity = '1';
378
381
  this.scalingActive = false;
379
382
  }
380
383
  /*-------------------------------------------------*/
@@ -9,16 +9,16 @@ const dom = document.documentElement;
9
9
  * @returns {VNode} 1st scalable layout virtual node.
10
10
  */
11
11
  export function create1(component) {
12
+ //Image color
13
+ const colorArray = component.data['color']
14
+ ? component.data['color']
15
+ : [];
12
16
  //Title, subtitle
13
17
  let textIndex = 0;
14
18
  const textArray = component.data['text']
15
19
  ? component.data['text']
16
20
  : [];
17
- //Dynamic CSS variables
18
- let CSSVariables = {
19
- ['--kup_card_multiplier']: '1',
20
- };
21
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "descr" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "value" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : '')))));
21
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "descr" }, h("div", { style: colorArray[0] ? { color: colorArray[0] } : undefined }, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "value" }, h("div", { style: colorArray[1] ? { color: colorArray[1] } : undefined }, textArray[++textIndex] ? textArray[textIndex] : '')))));
22
22
  }
23
23
  /**
24
24
  * 2nd scalable card layout, used to display numerical values.
@@ -35,17 +35,16 @@ export function create2(component) {
35
35
  ? component.data['image']
36
36
  : [];
37
37
  //Value, decimal value, measurement unit
38
- let textIndex = 0;
39
38
  const textArray = component.data['text']
40
39
  ? component.data['text']
41
40
  : [];
42
- //Dynamic CSS variables
43
- let CSSVariables = {
44
- ['--kup_card_multiplier']: '1',
45
- };
46
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
41
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
47
42
  ? colorArray[0]
48
- : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1.25em", sizeY: "1.25em" }))) : null), h("div", { class: "value-int" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '', ",")), h("div", { class: "value-dec" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : '')), h("div", { class: "unit" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : '')))));
43
+ : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1.25em", sizeY: "1.25em" }))) : null), h("div", { class: "value-int" }, h("div", { style: colorArray[1] ? { color: colorArray[1] } : undefined }, textArray[0] ? textArray[0] : '', textArray[1]
44
+ ? dom.ketchup.math.decimalSeparator()
45
+ : '')), textArray[1] ? (h("div", { class: "value-dec" }, h("div", { style: colorArray[1]
46
+ ? { color: colorArray[1] }
47
+ : undefined }, textArray[1]))) : null, h("div", { class: "unit" }, h("div", { style: colorArray[1] ? { color: colorArray[1] } : undefined }, textArray[2] ? textArray[2] : '')))));
49
48
  }
50
49
  /**
51
50
  * 3rd scalable card layout, column of 2 texts.
@@ -53,16 +52,16 @@ export function create2(component) {
53
52
  * @returns {VNode} 3rd scalable layout virtual node.
54
53
  */
55
54
  export function create3(component) {
55
+ //Image color
56
+ const colorArray = component.data['color']
57
+ ? component.data['color']
58
+ : [];
56
59
  //Title, subtitle
57
60
  let textIndex = 0;
58
61
  const textArray = component.data['text']
59
62
  ? component.data['text']
60
63
  : [];
61
- //Dynamic CSS variables
62
- let CSSVariables = {
63
- ['--kup_card_multiplier']: '1',
64
- };
65
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "value" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : '')))));
64
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "value" }, h("div", { style: colorArray[0] ? { color: colorArray[0] } : undefined }, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", { style: colorArray[1] ? { color: colorArray[1] } : undefined }, textArray[++textIndex] ? textArray[textIndex] : '')))));
66
65
  }
67
66
  /**
68
67
  * 4th scalable card layout, used to display numerical values with subtitle.
@@ -79,20 +78,20 @@ export function create4(component) {
79
78
  ? component.data['image']
80
79
  : [];
81
80
  //Value, decimal value, measurement unit, subtitle
82
- let textIndex = 0;
83
81
  const textArray = component.data['text']
84
82
  ? component.data['text']
85
83
  : [];
86
- //Dynamic CSS variables
87
- let CSSVariables = {
88
- [`--color-0`]: colorArray[0]
84
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
89
85
  ? colorArray[0]
90
- : `var(${KupThemeColorValues.PRIMARY})`,
91
- ['--kup_card_multiplier']: '1',
92
- };
93
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
94
- ? colorArray[0]
95
- : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1.25em", sizeY: "1.25em" }))) : null), h("div", { class: "value-and-unit" }, h("div", { class: "value-int" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '', ",")), h("div", { class: "value-dec" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : '')), h("div", { class: "unit" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : ''))), h("div", { class: "empty-placeholder" }), h("div", { class: "descr" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : '')))));
86
+ : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1.25em", sizeY: "1.25em" }))) : null), h("div", { class: "value-and-unit" }, h("div", { class: "value-int" }, h("div", { style: colorArray[1]
87
+ ? { color: colorArray[1] }
88
+ : undefined }, textArray[0] ? textArray[0] : '', textArray[1]
89
+ ? dom.ketchup.math.decimalSeparator()
90
+ : '')), textArray[1] ? (h("div", { class: "value-dec" }, h("div", { style: colorArray[1]
91
+ ? { color: colorArray[1] }
92
+ : undefined }, textArray[1]))) : null, h("div", { class: "unit" }, h("div", { style: colorArray[1]
93
+ ? { color: colorArray[1] }
94
+ : undefined }, textArray[2] ? textArray[2] : ''))), h("div", { class: "empty-placeholder" }), h("div", { class: "descr" }, h("div", { style: colorArray[2] ? { color: colorArray[2] } : undefined }, textArray[3] ? textArray[3] : '')))));
96
95
  }
97
96
  /**
98
97
  * 5th scalable card layout, icon with title and subtitle.
@@ -113,11 +112,11 @@ export function create5(component) {
113
112
  const textArray = component.data['text']
114
113
  ? component.data['text']
115
114
  : [];
116
- //Dynamic CSS variables
117
- let CSSVariables = {
118
- ['--kup_card_multiplier']: '1',
119
- };
120
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "text-wrapper" }, h("div", { class: "descr" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "value" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : ''))), h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
115
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "text-wrapper" }, h("div", { class: "descr" }, h("div", { style: colorArray[1]
116
+ ? { color: colorArray[1] }
117
+ : undefined }, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "value" }, h("div", { style: colorArray[2]
118
+ ? { color: colorArray[2] }
119
+ : undefined }, textArray[++textIndex] ? textArray[textIndex] : ''))), h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
121
120
  ? colorArray[0]
122
121
  : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1em", sizeY: "1em" }))) : null))));
123
122
  }
@@ -140,13 +139,13 @@ export function create6(component) {
140
139
  const textArray = component.data['text']
141
140
  ? component.data['text']
142
141
  : [];
143
- //Dynamic CSS variables
144
- let CSSVariables = {
145
- ['--kup_card_multiplier']: '1',
146
- };
147
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
142
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
148
143
  ? colorArray[0]
149
- : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1em", sizeY: "1em" }))) : null), h("div", { class: "text-wrapper" }, h("div", { class: "value" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : ''))))));
144
+ : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1em", sizeY: "1em" }))) : null), h("div", { class: "text-wrapper" }, h("div", { class: "value" }, h("div", { style: colorArray[1]
145
+ ? { color: colorArray[1] }
146
+ : undefined }, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", { style: colorArray[2]
147
+ ? { color: colorArray[2] }
148
+ : undefined }, textArray[++textIndex] ? textArray[textIndex] : ''))))));
150
149
  }
151
150
  /**
152
151
  * 7th scalable card layout, icon with title and subtitle.
@@ -167,11 +166,11 @@ export function create7(component) {
167
166
  const textArray = component.data['text']
168
167
  ? component.data['text']
169
168
  : [];
170
- //Dynamic CSS variables
171
- let CSSVariables = {
172
- ['--kup_card_multiplier']: '1',
173
- };
174
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "text-wrapper" }, h("div", { class: "value" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : ''))), h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
169
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "text-wrapper" }, h("div", { class: "value" }, h("div", { style: colorArray[1]
170
+ ? { color: colorArray[1] }
171
+ : undefined }, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", { style: colorArray[2]
172
+ ? { color: colorArray[2] }
173
+ : undefined }, textArray[++textIndex] ? textArray[textIndex] : ''))), h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
175
174
  ? colorArray[0]
176
175
  : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1em", sizeY: "1em" }))) : null))));
177
176
  }
@@ -194,13 +193,9 @@ export function create8(component) {
194
193
  const textArray = component.data['text']
195
194
  ? component.data['text']
196
195
  : [];
197
- //Dynamic CSS variables
198
- let CSSVariables = {
199
- ['--kup_card_multiplier']: '1',
200
- };
201
- return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card`, style: CSSVariables }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
196
+ return (h("div", { class: `scalable-layout-${component.layoutNumber} scalable-card` }, h("div", { class: "scalable-element" }, h("div", { class: "icon" }, imageArray[0] ? (h(FImage, Object.assign({ color: colorArray[0]
202
197
  ? colorArray[0]
203
- : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1em", sizeY: "1em" }))) : null), h("div", { class: "value" }, h("div", null, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", null, textArray[++textIndex] ? textArray[textIndex] : '')))));
198
+ : `var(${KupThemeColorValues.PRIMARY})`, id: "image1" }, imageArray[0], { sizeX: "1em", sizeY: "1em" }))) : null), h("div", { class: "value" }, h("div", { style: colorArray[1] ? { color: colorArray[1] } : undefined }, textArray[textIndex] ? textArray[textIndex] : '')), h("div", { class: "descr" }, h("div", { style: colorArray[2] ? { color: colorArray[2] } : undefined }, textArray[++textIndex] ? textArray[textIndex] : '')))));
204
199
  }
205
200
  /**
206
201
  * 9th scalable card layout, tile view.
@@ -243,9 +238,5 @@ export function create9(component) {
243
238
  ['--color-1']: componentBg,
244
239
  ['--color-2']: textFg,
245
240
  };
246
- const CSSVariablesChild = {
247
- ['--kup_card_multiplier']: '1',
248
- ['box-shadow']: 'none',
249
- };
250
- return (h("div", { class: `scalable-layout-${component.layoutNumber}`, style: CSSVariables }, h("div", { class: "section-1" }), h("div", { class: "section-2" }, h("div", { class: "scalable-card", style: CSSVariablesChild }, h("div", { class: "text scalable-element" }, h("div", { class: "value" }, mainText), h("div", { class: "descr" }, subText))), buttons.length > 0 ? (h("div", { class: "buttons" }, buttons.map((b) => (h(FButton, { icon: b.icon, title: b.title, styling: b.styling, wrapperClass: b.class, onClick: () => component.onKupClick(component.rootElement.id, b.id) }))))) : undefined)));
241
+ return (h("div", { class: `scalable-layout-${component.layoutNumber}`, style: CSSVariables }, h("div", { class: "section-1" }), h("div", { class: "section-2" }, h("div", { class: "scalable-card" }, h("div", { class: "text scalable-element" }, h("div", { class: "value" }, mainText), h("div", { class: "descr" }, subText))), buttons.length > 0 ? (h("div", { class: "buttons" }, buttons.map((b) => (h(FButton, { icon: b.icon, title: b.title, styling: b.styling, wrapperClass: b.class, onClick: () => component.onKupClick(component.rootElement.id, b.id) }))))) : undefined)));
251
242
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Props of the kup-card-list component.
3
+ * Used to export every prop in an object.
4
+ */
5
+ export var KupCardListProps;
6
+ (function (KupCardListProps) {
7
+ KupCardListProps["columnsNumber"] = "Sets the number of columns.";
8
+ KupCardListProps["customStyle"] = "Custom style of the component.";
9
+ KupCardListProps["data"] = "Actual data of the component.";
10
+ KupCardListProps["fullWidth"] = "Sets whether the component occupies all available width.";
11
+ KupCardListProps["horizontal"] = "Sets whether the cards are placed horizontally or not.";
12
+ KupCardListProps["isClickable"] = "Sets whether a single card is clickable or not.";
13
+ })(KupCardListProps || (KupCardListProps = {}));
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @prop --kup-cardlist-cards-max-height: Sets the max height of the cards.
3
+ * @prop --kup-cardlist-cards-min-height: Sets the min height of the cards.
4
+ * @prop --kup-cardlist-cards-max-width: Sets the max width of the cards.
5
+ * @prop --kup-cardlist-cards-min-width: Sets the min width of the cards.
6
+ */
7
+ :host {
8
+ --kup_cardlist_cards_max_height: var(--kup-cardlist-cards-max-height, unset);
9
+ --kup_cardlist_cards_min_height: var(--kup-cardlist-cards-min-height, unset);
10
+ --kup_cardlist_cards_max_width: var(--kup-cardlist-cards-max-width, unset);
11
+ --kup_cardlist_cards_min_width: var(--kup-cardlist-cards-min-width, unset);
12
+ display: block;
13
+ height: 100%;
14
+ width: 100%;
15
+ }
16
+
17
+ #kup-component {
18
+ height: 100%;
19
+ width: 100%;
20
+ }
21
+
22
+ kup-card {
23
+ max-height: var(--kup_cardlist_cards_max_height);
24
+ min-height: var(--kup_cardlist_cards_min_height);
25
+ max-width: var(--kup_cardlist_cards_max_width);
26
+ min-width: var(--kup_cardlist_cards_min_width);
27
+ }
28
+ kup-card.is-clickable {
29
+ cursor: pointer;
30
+ }
31
+
32
+ kup-grid {
33
+ --kup-grid-padding: 0;
34
+ }