@sme.up/ketchup 9.6.3 → 9.6.5

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 (268) hide show
  1. package/dist/cjs/{bar.helpers-f46a5a83.js → bar.helpers-c481a535.js} +45 -13
  2. package/dist/cjs/{f-button-9a0eba42.js → f-button-23ec3db5.js} +1 -1
  3. package/dist/cjs/{f-cell-1ad41071.js → f-cell-bcc51c0f.js} +9 -29
  4. package/dist/cjs/{f-chip-48851b4f.js → f-chip-63363ecf.js} +2 -2
  5. package/dist/cjs/{f-image-541e5f4d.js → f-image-f3944c01.js} +2 -5
  6. package/dist/cjs/{f-paginator-utils-8ff2a9b4.js → f-paginator-utils-60e05759.js} +3 -3
  7. package/dist/cjs/{f-text-field-ac5d6497.js → f-text-field-354b6c78.js} +1 -1
  8. package/dist/cjs/index.cjs.js +2 -2
  9. package/dist/cjs/ketchup.cjs.js +1 -1
  10. package/dist/cjs/kup-accordion.cjs.entry.js +3 -3
  11. package/dist/cjs/kup-autocomplete_27.cjs.entry.js +48 -48
  12. package/dist/cjs/kup-box.cjs.entry.js +8 -8
  13. package/dist/cjs/kup-calendar.cjs.entry.js +5 -5
  14. package/dist/cjs/kup-card-list.cjs.entry.js +2 -2
  15. package/dist/cjs/kup-cell.cjs.entry.js +7 -7
  16. package/dist/cjs/kup-custom-task-list-header_4.cjs.entry.js +256 -40
  17. package/dist/cjs/kup-dashboard.cjs.entry.js +5 -5
  18. package/dist/cjs/{kup-dates-b7d53b4d.js → kup-dates-e22ee32c.js} +21 -0
  19. package/dist/cjs/kup-drawer.cjs.entry.js +2 -2
  20. package/dist/cjs/kup-echart.cjs.entry.js +2 -2
  21. package/dist/cjs/kup-editor.cjs.entry.js +2 -2
  22. package/dist/cjs/kup-family-tree.cjs.entry.js +4 -4
  23. package/dist/cjs/kup-gantt_10.cjs.entry.js +105 -39
  24. package/dist/cjs/kup-grid.cjs.entry.js +2 -2
  25. package/dist/cjs/kup-iframe.cjs.entry.js +2 -2
  26. package/dist/cjs/kup-image-list.cjs.entry.js +21 -14
  27. package/dist/cjs/kup-input-panel.cjs.entry.js +444 -0
  28. package/dist/cjs/kup-lazy.cjs.entry.js +13 -13
  29. package/dist/cjs/kup-magic-box.cjs.entry.js +6 -6
  30. package/dist/cjs/{kup-manager-26a9154b.js → kup-manager-e1bfd4f8.js} +656 -121
  31. package/dist/cjs/kup-nav-bar.cjs.entry.js +3 -3
  32. package/dist/cjs/kup-numeric-picker.cjs.entry.js +4 -4
  33. package/dist/cjs/kup-pdf.cjs.entry.js +76600 -0
  34. package/dist/cjs/kup-photo-frame.cjs.entry.js +4 -4
  35. package/dist/cjs/{kup-planner-declarations-d3dec885.js → kup-planner-declarations-cb33663d.js} +3 -0
  36. package/dist/cjs/{kup-planner-renderer-helper-680bbd5a.js → kup-planner-renderer-helper-f001fad7.js} +56 -8
  37. package/dist/cjs/kup-planner-renderer.cjs.entry.js +44 -11
  38. package/dist/cjs/{kup-planner-time-formatter-a74e70f0.js → kup-planner-time-formatter-b7dca3ea.js} +3 -0
  39. package/dist/cjs/kup-planner.cjs.entry.js +81 -9
  40. package/dist/cjs/kup-probe.cjs.entry.js +3 -3
  41. package/dist/cjs/kup-qlik.cjs.entry.js +3 -3
  42. package/dist/cjs/kup-snackbar.cjs.entry.js +5 -5
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/collection/assets/image-list.js +332 -2
  45. package/dist/collection/assets/index.js +8 -0
  46. package/dist/collection/assets/input-panel.js +480 -0
  47. package/dist/collection/assets/pdf.js +15 -0
  48. package/dist/collection/assets/planner-example-5.js +19 -7
  49. package/dist/collection/assets/planner-example-6.js +3 -0
  50. package/dist/collection/assets/planner.js +4 -3
  51. package/dist/collection/collection-manifest.json +2 -0
  52. package/dist/collection/components/kup-badge/kup-badge.css +4 -4
  53. package/dist/collection/components/kup-image-list/kup-image-list.css +37 -4
  54. package/dist/collection/components/kup-image-list/kup-image-list.js +15 -8
  55. package/dist/collection/components/kup-input-panel/kup-input-panel-declarations.js +8 -0
  56. package/dist/collection/components/kup-input-panel/kup-input-panel.css +169 -0
  57. package/dist/collection/components/kup-input-panel/kup-input-panel.e2e.js +346 -0
  58. package/dist/collection/components/kup-input-panel/kup-input-panel.js +669 -0
  59. package/dist/collection/components/kup-lazy/kup-lazy.js +11 -11
  60. package/dist/collection/components/kup-list/kup-list.js +1 -1
  61. package/dist/collection/components/kup-magic-box/kup-magic-box.js +3 -3
  62. package/dist/collection/components/kup-nav-bar/kup-nav-bar.js +1 -1
  63. package/dist/collection/components/kup-numeric-picker/kup-numeric-picker.js +1 -1
  64. package/dist/collection/components/kup-pdf/kup-pdf-declarations.js +8 -0
  65. package/dist/collection/components/kup-pdf/kup-pdf.css +169 -0
  66. package/dist/collection/components/kup-pdf/kup-pdf.js +262 -0
  67. package/dist/collection/components/kup-photo-frame/kup-photo-frame.js +2 -2
  68. package/dist/collection/components/kup-planner/kup-planner-declarations.js +3 -0
  69. package/dist/collection/components/kup-planner/kup-planner-helper.js +42 -1
  70. package/dist/collection/components/kup-planner/kup-planner.js +191 -5
  71. package/dist/collection/components/kup-planner/utils/custom-task-list-header.js +2 -2
  72. package/dist/collection/components/kup-planner/utils/custom-task-list-table.js +103 -11
  73. package/dist/collection/components/kup-planner/utils/gantt-table.module.css +80 -2
  74. package/dist/collection/components/kup-planner/utils/helpers/bar.helpers.js +41 -13
  75. package/dist/collection/components/kup-planner/utils/helpers/other.helpers.js +3 -0
  76. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.css +10 -0
  77. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.js +61 -6
  78. package/dist/collection/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.js +32 -2
  79. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.css +4 -0
  80. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.js +208 -24
  81. package/dist/collection/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.css +4 -0
  82. package/dist/collection/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.js +131 -7
  83. package/dist/collection/components/kup-planner/utils/kup-planner-renderer-helper.js +55 -6
  84. package/dist/collection/components/kup-planner/utils/kup-planner-renderer.js +40 -7
  85. package/dist/collection/components/kup-planner/utils/kup-switcher/kup-switcher.css +22 -15
  86. package/dist/collection/components/kup-planner/utils/kup-switcher/kup-switcher.js +21 -5
  87. package/dist/collection/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.js +19 -3
  88. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-header.js +7 -7
  89. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list-table.js +1 -1
  90. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list.js +76 -2
  91. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-standard-tooltip.js +1 -1
  92. package/dist/collection/components/kup-planner/utils/kup-tooltip/kup-tooltip.js +1 -1
  93. package/dist/collection/components/kup-planner/utils/kup-vertical-scroll/kup-vertical-scroll.js +2 -2
  94. package/dist/collection/components/kup-probe/kup-probe.js +1 -1
  95. package/dist/collection/components/kup-progress-bar/kup-progress-bar.js +1 -1
  96. package/dist/collection/components/kup-qlik/kup-qlik.js +1 -1
  97. package/dist/collection/components/kup-rating/kup-rating.js +1 -1
  98. package/dist/collection/components/kup-snackbar/kup-snackbar.js +1 -1
  99. package/dist/collection/components/kup-spinner/kup-spinner.js +34 -34
  100. package/dist/collection/components/kup-switch/kup-switch.js +1 -1
  101. package/dist/collection/components/kup-time-picker/kup-time-picker.js +1 -1
  102. package/dist/collection/f-components/f-cell/f-cell.js +5 -24
  103. package/dist/collection/f-components/f-image/f-image.js +2 -5
  104. package/dist/collection/managers/kup-theme/kup-theme-declarations.js +7 -0
  105. package/dist/collection/types/GenericTypes.js +1 -0
  106. package/dist/components/_commonjsHelpers.js +26 -0
  107. package/dist/components/custom-task-list-header.js +2 -2
  108. package/dist/components/custom-task-list-table.js +58 -13
  109. package/dist/components/kup-autocomplete2.js +48 -70
  110. package/dist/components/kup-box2.js +1 -1
  111. package/dist/components/kup-calendar.js +2 -2
  112. package/dist/components/kup-cell.js +1 -1
  113. package/dist/components/kup-dashboard.js +1 -1
  114. package/dist/components/kup-dates.js +2 -6
  115. package/dist/components/kup-echart2.js +1 -1
  116. package/dist/components/kup-editor.js +1 -1
  117. package/dist/components/kup-gantt-calendar2.js +31 -1
  118. package/dist/components/kup-gantt2.js +26 -7
  119. package/dist/components/kup-grid-renderer2.js +219 -81
  120. package/dist/components/kup-grid2.js +1 -1
  121. package/dist/components/kup-horizontal-scroll2.js +48 -10
  122. package/dist/components/kup-iframe.js +1 -1
  123. package/dist/components/kup-image-list.js +15 -8
  124. package/dist/components/kup-input-panel.d.ts +11 -0
  125. package/dist/components/kup-input-panel.js +595 -0
  126. package/dist/components/kup-lazy.js +11 -11
  127. package/dist/components/kup-magic-box.js +4 -4
  128. package/dist/components/kup-manager.js +658 -122
  129. package/dist/components/kup-nav-bar.js +1 -1
  130. package/dist/components/kup-numeric-picker.js +2 -2
  131. package/dist/components/kup-pdf.d.ts +11 -0
  132. package/dist/components/kup-pdf.js +76756 -0
  133. package/dist/components/kup-photo-frame.js +2 -2
  134. package/dist/components/kup-planner-declarations.js +91 -0
  135. package/dist/components/kup-planner-renderer2.js +42 -9
  136. package/dist/components/kup-planner.js +86 -6
  137. package/dist/components/kup-probe.js +1 -1
  138. package/dist/components/kup-qlik.js +1 -1
  139. package/dist/components/kup-snackbar.js +1 -1
  140. package/dist/components/kup-standard-tooltip2.js +1 -1
  141. package/dist/components/kup-switcher2.js +19 -7
  142. package/dist/components/kup-task-gantt2.js +6 -4
  143. package/dist/components/kup-task-list-header2.js +7 -7
  144. package/dist/components/kup-task-list-table2.js +1 -1
  145. package/dist/components/kup-task-list2.js +434 -84
  146. package/dist/components/kup-tooltip2.js +1 -1
  147. package/dist/components/kup-vertical-scroll2.js +2 -2
  148. package/dist/components/other.helpers.js +47 -0
  149. package/dist/esm/{bar.helpers-0898efb9.js → bar.helpers-23a51579.js} +45 -14
  150. package/dist/esm/{f-button-45d690a5.js → f-button-d6dbcfd6.js} +1 -1
  151. package/dist/esm/{f-cell-63db06db.js → f-cell-7b41415c.js} +9 -29
  152. package/dist/esm/{f-chip-f1ab6c5e.js → f-chip-68d27d7a.js} +2 -2
  153. package/dist/esm/{f-image-8b382cc5.js → f-image-a67229e5.js} +2 -5
  154. package/dist/esm/{f-paginator-utils-ae563cd5.js → f-paginator-utils-8773e358.js} +3 -3
  155. package/dist/esm/{f-text-field-b5fcb598.js → f-text-field-d364ffd2.js} +1 -1
  156. package/dist/esm/index.js +2 -2
  157. package/dist/esm/ketchup.js +1 -1
  158. package/dist/esm/kup-accordion.entry.js +3 -3
  159. package/dist/esm/kup-autocomplete_27.entry.js +48 -48
  160. package/dist/esm/kup-box.entry.js +8 -8
  161. package/dist/esm/kup-calendar.entry.js +5 -5
  162. package/dist/esm/kup-card-list.entry.js +2 -2
  163. package/dist/esm/kup-cell.entry.js +7 -7
  164. package/dist/esm/kup-custom-task-list-header_4.entry.js +256 -40
  165. package/dist/esm/kup-dashboard.entry.js +5 -5
  166. package/dist/esm/{kup-dates-4ad48be7.js → kup-dates-26a56bf7.js} +20 -1
  167. package/dist/esm/kup-drawer.entry.js +2 -2
  168. package/dist/esm/kup-echart.entry.js +2 -2
  169. package/dist/esm/kup-editor.entry.js +2 -2
  170. package/dist/esm/kup-family-tree.entry.js +4 -4
  171. package/dist/esm/kup-gantt_10.entry.js +106 -40
  172. package/dist/esm/kup-grid.entry.js +2 -2
  173. package/dist/esm/kup-iframe.entry.js +2 -2
  174. package/dist/esm/kup-image-list.entry.js +21 -14
  175. package/dist/esm/kup-input-panel.entry.js +440 -0
  176. package/dist/esm/kup-lazy.entry.js +13 -13
  177. package/dist/esm/kup-magic-box.entry.js +6 -6
  178. package/dist/esm/{kup-manager-cdb4f21a.js → kup-manager-a316a70e.js} +656 -121
  179. package/dist/esm/kup-nav-bar.entry.js +3 -3
  180. package/dist/esm/kup-numeric-picker.entry.js +4 -4
  181. package/dist/esm/kup-pdf.entry.js +76596 -0
  182. package/dist/esm/kup-photo-frame.entry.js +4 -4
  183. package/dist/esm/{kup-planner-declarations-b9345758.js → kup-planner-declarations-398babf9.js} +3 -0
  184. package/dist/esm/{kup-planner-renderer-helper-da0518be.js → kup-planner-renderer-helper-a2ec9a1c.js} +57 -8
  185. package/dist/esm/kup-planner-renderer.entry.js +44 -11
  186. package/dist/esm/{kup-planner-time-formatter-a68e05ba.js → kup-planner-time-formatter-ddf84f9b.js} +1 -1
  187. package/dist/esm/kup-planner.entry.js +81 -9
  188. package/dist/esm/kup-probe.entry.js +3 -3
  189. package/dist/esm/kup-qlik.entry.js +3 -3
  190. package/dist/esm/kup-snackbar.entry.js +5 -5
  191. package/dist/esm/loader.js +1 -1
  192. package/dist/ketchup/index.esm.js +1 -1
  193. package/dist/ketchup/ketchup.esm.js +1 -1
  194. package/dist/ketchup/p-008bdcdc.js +1 -0
  195. package/dist/ketchup/p-042e874a.entry.js +1 -0
  196. package/dist/ketchup/{p-837bd0a6.entry.js → p-074ccd53.entry.js} +1 -1
  197. package/dist/ketchup/{p-41e8402e.entry.js → p-1088ab22.entry.js} +1 -1
  198. package/dist/ketchup/{p-d9284d98.entry.js → p-1bcac01f.entry.js} +1 -1
  199. package/dist/ketchup/{p-e0a1fbe7.entry.js → p-1e028d95.entry.js} +1 -1
  200. package/dist/ketchup/p-25058baa.js +1 -0
  201. package/dist/ketchup/{p-cbe42afd.entry.js → p-2932e7e8.entry.js} +1 -1
  202. package/dist/ketchup/{p-1cd48eea.entry.js → p-2b84db7b.entry.js} +1 -1
  203. package/dist/ketchup/{p-d608f866.entry.js → p-2ef90f60.entry.js} +1 -1
  204. package/dist/ketchup/{p-bedabdb5.js → p-339bbeae.js} +1 -1
  205. package/dist/ketchup/{p-157f0e89.entry.js → p-48e45ac0.entry.js} +1 -1
  206. package/dist/ketchup/p-53af4c87.js +1 -0
  207. package/dist/ketchup/{p-4dfc5927.entry.js → p-556f7ddc.entry.js} +1 -1
  208. package/dist/ketchup/{p-cc7352a8.entry.js → p-5f7d8c21.entry.js} +1 -1
  209. package/dist/ketchup/{p-e0c10de2.entry.js → p-6362738c.entry.js} +1 -1
  210. package/dist/ketchup/{p-ad6a3c2a.entry.js → p-65e363c6.entry.js} +1 -1
  211. package/dist/ketchup/p-6921bc81.entry.js +16 -0
  212. package/dist/ketchup/p-6961e0ce.entry.js +1 -0
  213. package/dist/ketchup/p-7123d2a4.entry.js +1 -0
  214. package/dist/ketchup/{p-a5074ce4.js → p-801776bc.js} +1 -1
  215. package/dist/ketchup/{p-ca8a1f53.entry.js → p-81645576.entry.js} +1 -1
  216. package/dist/ketchup/p-838dea62.js +1 -0
  217. package/dist/ketchup/{p-924b841b.js → p-84b511e1.js} +1 -1
  218. package/dist/ketchup/{p-9a856951.js → p-8d4050ec.js} +4 -4
  219. package/dist/ketchup/{p-1474852d.entry.js → p-9e2533e1.entry.js} +1 -1
  220. package/dist/ketchup/{p-c6b34763.entry.js → p-a06974a3.entry.js} +1 -1
  221. package/dist/ketchup/p-a6beb822.js +1 -0
  222. package/dist/ketchup/p-abe181d0.entry.js +1 -0
  223. package/dist/ketchup/{p-ba0f28b7.js → p-b3540f83.js} +1 -1
  224. package/dist/ketchup/{p-b6a21b6a.entry.js → p-c702eb45.entry.js} +1 -1
  225. package/dist/ketchup/{p-090e5097.entry.js → p-ccb6dbb0.entry.js} +1 -1
  226. package/dist/ketchup/{p-d839ce21.entry.js → p-cf44485a.entry.js} +2 -2
  227. package/dist/ketchup/p-d2001dec.entry.js +44 -0
  228. package/dist/ketchup/{p-e508b2fd.entry.js → p-dbb6cd8d.entry.js} +1 -1
  229. package/dist/ketchup/p-eb8ea3a6.js +1 -0
  230. package/dist/ketchup/{p-590c34bc.js → p-f6c8f006.js} +1 -1
  231. package/dist/ketchup/{p-4c100286.entry.js → p-f79ffe77.entry.js} +1 -1
  232. package/dist/ketchup/{p-31c0cfc0.entry.js → p-fdcfaedd.entry.js} +1 -1
  233. package/dist/ketchup/p-fe75ede2.entry.js +1 -0
  234. package/dist/types/components/kup-image-list/kup-image-list.d.ts +1 -1
  235. package/dist/types/components/kup-input-panel/kup-input-panel-declarations.d.ts +81 -0
  236. package/dist/types/components/kup-input-panel/kup-input-panel.d.ts +67 -0
  237. package/dist/types/components/kup-pdf/kup-pdf-declarations.d.ts +7 -0
  238. package/dist/types/components/kup-pdf/kup-pdf.d.ts +42 -0
  239. package/dist/types/components/kup-planner/kup-planner-declarations.d.ts +29 -2
  240. package/dist/types/components/kup-planner/kup-planner-helper.d.ts +2 -1
  241. package/dist/types/components/kup-planner/kup-planner.d.ts +38 -0
  242. package/dist/types/components/kup-planner/utils/custom-task-list-table.d.ts +7 -0
  243. package/dist/types/components/kup-planner/utils/helpers/bar.helpers.d.ts +1 -1
  244. package/dist/types/components/kup-planner/utils/helpers/other.helpers.d.ts +1 -0
  245. package/dist/types/components/kup-planner/utils/kup-gantt/kup-gantt.d.ts +6 -0
  246. package/dist/types/components/kup-planner/utils/kup-gantt-calendar/kup-gantt-calendar.d.ts +1 -0
  247. package/dist/types/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.d.ts +13 -1
  248. package/dist/types/components/kup-planner/utils/kup-horizontal-scroll/kup-horizontal-scroll.d.ts +7 -0
  249. package/dist/types/components/kup-planner/utils/kup-planner-renderer-helper.d.ts +6 -2
  250. package/dist/types/components/kup-planner/utils/kup-planner-renderer.d.ts +1 -0
  251. package/dist/types/components/kup-planner/utils/kup-switcher/kup-switcher.d.ts +3 -1
  252. package/dist/types/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.d.ts +1 -0
  253. package/dist/types/components/kup-planner/utils/kup-task-list/kup-task-list.d.ts +4 -0
  254. package/dist/types/components.d.ts +266 -2
  255. package/dist/types/types/GenericTypes.d.ts +1 -0
  256. package/package.json +2 -1
  257. package/dist/components/kup-planner-renderer-helper.js +0 -379
  258. package/dist/ketchup/p-21351b19.entry.js +0 -1
  259. package/dist/ketchup/p-2b40d9b9.entry.js +0 -1
  260. package/dist/ketchup/p-5c79cb74.js +0 -1
  261. package/dist/ketchup/p-670354ef.entry.js +0 -1
  262. package/dist/ketchup/p-8e3b6de8.js +0 -1
  263. package/dist/ketchup/p-935f58fc.js +0 -1
  264. package/dist/ketchup/p-9852b1e9.js +0 -1
  265. package/dist/ketchup/p-ca42a421.entry.js +0 -16
  266. package/dist/ketchup/p-d50515f7.js +0 -1
  267. package/dist/ketchup/p-e841c2ae.js +0 -1
  268. package/dist/ketchup/p-ec4050e1.entry.js +0 -1
@@ -147,7 +147,7 @@
147
147
  transparent
148
148
  );
149
149
  --kup_imagelist_columns: var(--kup-imagelist-columns, 4);
150
- --kup_imagelist_grid_gap: var(--kup-imagelist-grid-gap, 0.5em);
150
+ --kup_imagelist_grid_gap: var(--kup-imagelist-grid-gap, var(--kup-space-03));
151
151
  --kup_imagelist_image_min_height: var(
152
152
  --kup-imagelist-image-min-height,
153
153
  var(--kup-space-09)
@@ -246,8 +246,25 @@
246
246
  height: 100%;
247
247
  width: 100%;
248
248
  }
249
+ .image-list .f-cell .f-cell__content {
250
+ height: 100%;
251
+ }
249
252
  .image-list .f-cell .f-cell__content .image-list__wrapper {
250
- padding: var(--kup-space-03) var(--kup-space-02);
253
+ display: flex;
254
+ flex-direction: column;
255
+ justify-content: space-between;
256
+ box-sizing: border-box;
257
+ position: relative;
258
+ }
259
+ .image-list .f-cell .f-cell__content .image-list__wrapper.images {
260
+ height: 100%;
261
+ justify-content: flex-end;
262
+ }
263
+ .image-list .f-cell .f-cell__content .image-list__wrapper.images .f-image {
264
+ position: unset;
265
+ overflow: auto;
266
+ height: 100%;
267
+ display: flex;
251
268
  }
252
269
  .image-list__item {
253
270
  background-color: var(--kup_imagelist_item_background_color);
@@ -261,16 +278,23 @@
261
278
  background-color: var(--kup-gray-color-20);
262
279
  }
263
280
  .image-list__image.f-image {
264
- margin-bottom: var(--kup-space-03);
281
+ position: absolute;
282
+ padding: var(--kup-space-03);
283
+ padding-bottom: 0px;
284
+ box-sizing: border-box;
285
+ width: 100%;
286
+ height: calc(100% - 16px - var(--kup-space-03) * 2);
287
+ overflow: hidden;
265
288
  }
266
289
  .image-list__image.f-image .f-image__icon {
267
- min-height: var(--kup_imagelist_image_min_height);
290
+ mask-size: 100% !important;
268
291
  }
269
292
  .image-list__label {
270
293
  overflow: hidden;
271
294
  text-align: center;
272
295
  text-overflow: ellipsis;
273
296
  white-space: nowrap;
297
+ padding: var(--kup-space-03);
274
298
  font-family: var(--kup-font-family);
275
299
  font-size: 12px;
276
300
  line-height: 16px;
@@ -278,6 +302,15 @@
278
302
  letter-spacing: 0.32px;
279
303
  }
280
304
 
305
+ @media screen and (min-width: 678px) {
306
+ :host {
307
+ --kup_imagelist_columns: var(--kup-imagelist-columns, 8);
308
+ }
309
+ .image-list {
310
+ grid-template-columns: repeat(var(--kup_imagelist_columns, 8), minmax(0px, 1fr));
311
+ grid-gap: var(--kup-space-05);
312
+ }
313
+ }
281
314
  /*-------------------------------------------------*/
282
315
  /* C o m p o n e n t C l a s s e s */
283
316
  /*-------------------------------------------------*/
@@ -69,7 +69,7 @@ export class KupImageList {
69
69
  _KupImageList_interactableTouch.set(this, []);
70
70
  this.currentNode = null;
71
71
  this.navigationBarToggled = false;
72
- this.columns = 4;
72
+ this.columns = null;
73
73
  this.customStyle = '';
74
74
  this.data = [];
75
75
  this.ripple = true;
@@ -180,14 +180,14 @@ export class KupImageList {
180
180
  };
181
181
  combinedGridStyle = Object.assign(Object.assign({}, combinedGridStyle), gridRowsStyle);
182
182
  }
183
- return (h(Host, { key: '86c391c4a1e0c507dc0c07971aa90e6f7091bc95' }, h("style", { key: '99f966c6cd10aac991c99b4badca0a6cff1dbf5b' }, __classPrivateFieldGet(this, _KupImageList_kupManager, "f").theme.setKupStyle(this.rootElement)), h("div", { key: 'e4eaa257a47cabcb34a412f56d736cd77fbc97af', id: componentWrapperId, ref: (el) => {
183
+ return (h(Host, { key: 'b62094a90858c7c5f36a9f76b3b4372b506ace67' }, h("style", { key: 'eeb8ad09387f7aaad846441e1d7c28554c6996e2' }, __classPrivateFieldGet(this, _KupImageList_kupManager, "f").theme.setKupStyle(this.rootElement)), h("div", { key: 'd908bdbb3d41f6cedaa6e905cc6be9aa4eb4e27b', id: componentWrapperId, ref: (el) => {
184
184
  __classPrivateFieldSet(this, _KupImageList_el, el, "f");
185
- } }, h("div", { key: '48ff34cbb307b0ab49ca3b8ed240f0510e674e93', class: "navigation-bar" }, hasNavigation ? (h("div", { class: `navigation-bar__wrapper ${this.navigationBarToggled
185
+ } }, h("div", { key: 'e3852ae5ff9a61857cc70f9ebd83f5f317d596da', class: "navigation-bar" }, hasNavigation ? (h("div", { class: `navigation-bar__wrapper ${this.navigationBarToggled
186
186
  ? 'navigation-bar__wrapper--active'
187
187
  : ''}` }, h("div", { class: `navigation-bar__title`, onClick: () => {
188
188
  this.navigationBarToggled =
189
189
  !this.navigationBarToggled;
190
- } }, h(FImage, { fit: true, resource: this.currentNode.icon, sizeX: "1.25em", sizeY: "1.25em", wrapperClass: "navigation-bar__title__image" }), h("div", { class: "navigation-bar__title__label" }, this.currentNode.value)), h(FButton, Object.assign({}, __classPrivateFieldGet(this, _KupImageList_backProps, "f"), { label: __classPrivateFieldGet(this, _KupImageList_kupManager, "f").language.translate(KupLanguageGeneric.BACK) })), h(FButton, Object.assign({}, __classPrivateFieldGet(this, _KupImageList_topProps, "f"), { label: __classPrivateFieldGet(this, _KupImageList_kupManager, "f").language.translate(KupLanguageGeneric.TOP) })))) : null), h("div", { key: '97ac20f9d893c131c03adc953e78435bb062f137', class: "image-list", style: combinedGridStyle }, ...__classPrivateFieldGet(this, _KupImageList_instances, "m", _KupImageList_createList).call(this)))));
190
+ } }, h(FImage, { fit: true, resource: this.currentNode.icon, sizeX: "1.25em", sizeY: "1.25em", wrapperClass: "navigation-bar__title__image" }), h("div", { class: "navigation-bar__title__label" }, this.currentNode.value)), h(FButton, Object.assign({}, __classPrivateFieldGet(this, _KupImageList_backProps, "f"), { label: __classPrivateFieldGet(this, _KupImageList_kupManager, "f").language.translate(KupLanguageGeneric.BACK) })), h(FButton, Object.assign({}, __classPrivateFieldGet(this, _KupImageList_topProps, "f"), { label: __classPrivateFieldGet(this, _KupImageList_kupManager, "f").language.translate(KupLanguageGeneric.TOP) })))) : null), h("div", { key: '1726193b158b8cefb9a445acc5b75ae1d07061a3', class: "image-list", style: combinedGridStyle }, ...__classPrivateFieldGet(this, _KupImageList_instances, "m", _KupImageList_createList).call(this)))));
191
191
  }
192
192
  disconnectedCallback() {
193
193
  __classPrivateFieldGet(this, _KupImageList_kupManager, "f").interact.unregister(__classPrivateFieldGet(this, _KupImageList_interactableTouch, "f"));
@@ -221,13 +221,13 @@ export class KupImageList {
221
221
  "docs": {
222
222
  "tags": [{
223
223
  "name": "default",
224
- "text": "4"
224
+ "text": "null"
225
225
  }],
226
226
  "text": "Number of columns to display in the grid layout."
227
227
  },
228
228
  "attribute": "columns",
229
229
  "reflect": false,
230
- "defaultValue": "4"
230
+ "defaultValue": "null"
231
231
  },
232
232
  "customStyle": {
233
233
  "type": "string",
@@ -555,7 +555,10 @@ _KupImageList_clickTimeout = new WeakMap(), _KupImageList_kupManager = new WeakM
555
555
  };
556
556
  const image = h(FImage, Object.assign({}, props));
557
557
  const label = h("div", { class: "image-list__label" }, node.value);
558
- return (h(FCell, { cell: { value: node.value, icon: node.icon, obj: node.obj }, column: { name: 'IMAGE', title: 'Image' }, component: this, density: FCellPadding.NONE, row: Object.assign({}, node) }, h("div", { class: "image-list__wrapper" }, image, label)));
558
+ const hasExternalResource = props.resource.indexOf('.') > -1 ||
559
+ props.resource.indexOf('/') > -1 ||
560
+ props.resource.indexOf('\\') > -1;
561
+ return (h(FCell, { cell: { value: node.value, icon: node.icon, obj: node.obj }, column: { name: 'IMAGE', title: 'Image' }, component: this, density: FCellPadding.NONE, row: Object.assign({}, node) }, h("div", { class: `image-list__wrapper${hasExternalResource ? ' images' : ''}` }, !hasExternalResource && (h("svg", { xmlns: "http://www.w3.org/2000/svg", version: "1.1", viewBox: "0 0 24 24" })), image, label)));
559
562
  }, _KupImageList_createList = function _KupImageList_createList() {
560
563
  const nodes = [];
561
564
  const items = this.currentNode ? this.currentNode.children : this.data;
@@ -660,10 +663,14 @@ _KupImageList_clickTimeout = new WeakMap(), _KupImageList_kupManager = new WeakM
660
663
  const holdCb = (e) => {
661
664
  if (e.pointerType === 'pen' || e.pointerType === 'touch') {
662
665
  __classPrivateFieldSet(this, _KupImageList_hold, true, "f");
666
+ this.kupContextMenu.emit({
667
+ comp: this,
668
+ id: this.rootElement.id,
669
+ details: __classPrivateFieldGet(this, _KupImageList_instances, "m", _KupImageList_contextMenuHandler).call(this, e),
670
+ });
663
671
  }
664
672
  };
665
673
  __classPrivateFieldGet(this, _KupImageList_kupManager, "f").interact.on(__classPrivateFieldGet(this, _KupImageList_el, "f"), KupPointerEventTypes.HOLD, holdCb);
666
674
  __classPrivateFieldGet(this, _KupImageList_kupManager, "f").interact.on(__classPrivateFieldGet(this, _KupImageList_el, "f"), KupPointerEventTypes.TAP, tapCb);
667
675
  __classPrivateFieldGet(this, _KupImageList_kupManager, "f").interact.on(__classPrivateFieldGet(this, _KupImageList_el, "f"), KupPointerEventTypes.DOUBLETAP, doubletapCb);
668
- __classPrivateFieldGet(this, _KupImageList_kupManager, "f").interact.on(__classPrivateFieldGet(this, _KupImageList_el, "f"), KupPointerEventTypes.HOLD, holdCb);
669
676
  };
@@ -0,0 +1,8 @@
1
+ export var KupInputPanelProps;
2
+ (function (KupInputPanelProps) {
3
+ KupInputPanelProps["customStyle"] = "Custom style of the component.";
4
+ KupInputPanelProps["data"] = "Actual data of the input panel.";
5
+ KupInputPanelProps["hiddenSubmitButton"] = "Creates a hidden submit button in order to submit the form with enter.";
6
+ KupInputPanelProps["submitCb"] = "Sets the callback function on submit form";
7
+ KupInputPanelProps["optionsHandler"] = "Sets the callback function to recieve options";
8
+ })(KupInputPanelProps || (KupInputPanelProps = {}));
@@ -0,0 +1,169 @@
1
+ .kup-body-compact-01 {
2
+ font-family: var(--kup-font-family);
3
+ font-size: 14px;
4
+ line-height: 18px;
5
+ font-weight: 400;
6
+ letter-spacing: 0.16px;
7
+ }
8
+
9
+ .kup-body-01 {
10
+ font-family: var(--kup-font-family);
11
+ font-size: 14px;
12
+ line-height: 20px;
13
+ font-weight: 400;
14
+ letter-spacing: 0.16px;
15
+ }
16
+
17
+ .kup-code-01 {
18
+ font-family: var(--kup-font-family-monospace);
19
+ font-size: 12px;
20
+ line-height: 16px;
21
+ font-weight: 400;
22
+ letter-spacing: 0.32px;
23
+ }
24
+
25
+ .kup-label-01 {
26
+ font-family: var(--kup-font-family);
27
+ font-size: 12px;
28
+ line-height: 16px;
29
+ font-weight: 400;
30
+ letter-spacing: 0.32px;
31
+ }
32
+
33
+ .kup-caption-02 {
34
+ font-family: var(--kup-font-family);
35
+ font-size: 12px;
36
+ line-height: 15px;
37
+ font-weight: 500;
38
+ letter-spacing: 1px;
39
+ }
40
+
41
+ .kup-caption-01 {
42
+ font-family: var(--kup-font-family);
43
+ font-size: 10px;
44
+ line-height: 13px;
45
+ font-weight: 400;
46
+ letter-spacing: 1px;
47
+ }
48
+
49
+ .kup-small-label-01 {
50
+ font-family: var(--kup-font-family);
51
+ font-size: 6px;
52
+ line-height: 9px;
53
+ font-weight: 400;
54
+ letter-spacing: 1px;
55
+ }
56
+
57
+ .kup-heading-compact-01 {
58
+ font-family: var(--kup-font-family);
59
+ font-size: 14px;
60
+ line-height: 18px;
61
+ font-weight: 600;
62
+ letter-spacing: 0.16px;
63
+ }
64
+
65
+ .kup-heading-01 {
66
+ font-family: var(--kup-font-family);
67
+ font-size: 14px;
68
+ line-height: 20px;
69
+ font-weight: 600;
70
+ letter-spacing: 0.16px;
71
+ }
72
+
73
+ .kup-heading-02 {
74
+ font-family: var(--kup-font-family);
75
+ font-size: 16px;
76
+ line-height: 24px;
77
+ font-weight: 500;
78
+ letter-spacing: 0;
79
+ }
80
+
81
+ .kup-heading-03 {
82
+ font-family: var(--kup-font-family);
83
+ font-size: 20px;
84
+ line-height: 28px;
85
+ font-weight: 400;
86
+ letter-spacing: 0;
87
+ }
88
+
89
+ .kup-heading-04 {
90
+ font-family: var(--kup-font-family);
91
+ font-size: 28px;
92
+ line-height: 36px;
93
+ font-weight: 400;
94
+ letter-spacing: 0;
95
+ }
96
+
97
+ .kup-heading-05 {
98
+ font-family: var(--kup-font-family);
99
+ font-size: 32px;
100
+ line-height: 40px;
101
+ font-weight: 300;
102
+ letter-spacing: 0;
103
+ }
104
+
105
+ .kup-heading-06 {
106
+ font-family: var(--kup-font-family);
107
+ font-size: 42px;
108
+ line-height: 50px;
109
+ font-weight: 300;
110
+ letter-spacing: 0;
111
+ }
112
+
113
+ .kup-heading-07 {
114
+ font-family: var(--kup-font-family);
115
+ font-size: 54px;
116
+ line-height: 64px;
117
+ font-weight: 300;
118
+ letter-spacing: 0;
119
+ }
120
+
121
+ .kup-heading-08 {
122
+ font-family: var(--kup-font-family);
123
+ font-size: 54px;
124
+ line-height: 64px;
125
+ font-weight: 600;
126
+ letter-spacing: 0;
127
+ }
128
+
129
+ /**
130
+ * @prop --kup-input-panel-background-color: Sets background of the component.
131
+ * @prop --kup-input-panel-color: Sets text color of the component.
132
+ * @prop --kup-input-panel-font-family: Sets font family of the component.
133
+ * @prop --kup-input-panel-font-size: Sets font size of the component.
134
+ * @prop --kup-input-panel-label-alignment: Sets the text alignment of labels.
135
+ * @prop --kup-input-panel-label-width: Sets the width of labels.
136
+ * @prop --kup-input-panel-padding: Sets the padding of the input panel.
137
+ */
138
+ :host {
139
+ --kup_input_panel_background_color: var(--kup-input-panel-background-color,
140
+ var(--kup-background-color));
141
+ --kup_input_panel_color: var(--kup-input-panel-color, var(--kup-text-color));
142
+ --kup_input_panel_font_family: var(--kup-input-panel-font-family, var(--kup-font-family));
143
+ --kup_input_panel_font_size: var(--kup-input-panel-font-size, var(--kup-font-size));
144
+ --kup_input_panel_label_alignment: var(--kup-input-panel-label-alignment);
145
+ --kup_input_panel_label_width: var(--kup-input-panel-label-width);
146
+ --kup_input_panel_padding: var(--kup-input-panel-padding, 1em 0);
147
+ }
148
+ :host .input-panel {
149
+ background: var(--kup_input_panel_background_color);
150
+ color: var(--kup_input_panel_color);
151
+ display: flex;
152
+ flex-grow: 1;
153
+ overflow: auto;
154
+ padding: var(--kup_input_panel_padding);
155
+ position: relative;
156
+ }
157
+ :host .input-panel--column {
158
+ flex-direction: column;
159
+ }
160
+ :host .input-panel__section {
161
+ display: grid;
162
+ }
163
+ :host .input-panel__horizontal-section {
164
+ display: inline-grid;
165
+ }
166
+ :host .input-panel .f-cell .f-checkbox .checkbox .checkbox__native-control {
167
+ height: 40px;
168
+ width: 40px;
169
+ }
@@ -0,0 +1,346 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ describe('kup-input-panel', () => {
3
+ it('renders', async () => {
4
+ const page = await newE2EPage();
5
+ await page.setContent('<kup-input-panel></kup-input-panel>');
6
+ const element = await page.find('kup-input-panel');
7
+ expect(element).toHaveClass('hydrated');
8
+ });
9
+ it('renders 2 text field with labels', async () => {
10
+ const page = await newE2EPage();
11
+ await page.setContent('<kup-input-panel></kup-input-panel>');
12
+ const inputPanel = await page.find('kup-input-panel');
13
+ const data = {
14
+ columns: [
15
+ {
16
+ name: 'NAM',
17
+ title: 'Name',
18
+ visible: true,
19
+ },
20
+ {
21
+ name: 'SUR',
22
+ title: 'Surname',
23
+ visible: true,
24
+ },
25
+ ],
26
+ rows: [
27
+ {
28
+ cells: {
29
+ NAM: {
30
+ value: '',
31
+ editable: true,
32
+ shape: 'ITX',
33
+ },
34
+ SUR: {
35
+ value: '',
36
+ editable: true,
37
+ shape: 'ITX',
38
+ },
39
+ },
40
+ },
41
+ ],
42
+ };
43
+ inputPanel.setProperty('data', data);
44
+ await page.waitForChanges();
45
+ const inputPanelContent = await page.find('kup-input-panel >>> form.input-panel');
46
+ expect(inputPanelContent).not.toBeNull();
47
+ const textFields = await inputPanelContent.findAll('.f-cell.string-cell .f-text-field');
48
+ expect(textFields).toHaveLength(data.columns.length);
49
+ for (const [i, textField] of textFields.entries()) {
50
+ const label = await textField.find('label');
51
+ expect(label).not.toBeNull();
52
+ expect(label).toHaveClass('mdc-floating-label');
53
+ expect(label).toEqualText(data.columns[i].title);
54
+ const input = await textField.find('input');
55
+ expect(input).not.toBeNull();
56
+ const value = await input.getProperty('value');
57
+ expect(value).toBe('');
58
+ await input.press('KeyS');
59
+ await input.press('KeyT');
60
+ await input.press('KeyR');
61
+ await input.press('KeyI');
62
+ await input.press('KeyN');
63
+ await input.press('KeyG');
64
+ const updatedValue = await input.getProperty('value');
65
+ expect(updatedValue).toBe('string');
66
+ }
67
+ });
68
+ it('renders autocomplete', async () => {
69
+ const page = await newE2EPage();
70
+ await page.setContent('<kup-input-panel></kup-input-panel> <div kup-dynamic-position></div>');
71
+ const inputPanel = await page.find('kup-input-panel');
72
+ const data = {
73
+ columns: [
74
+ {
75
+ name: 'CIT',
76
+ title: 'City',
77
+ visible: true,
78
+ },
79
+ ],
80
+ rows: [
81
+ {
82
+ cells: {
83
+ CIT: {
84
+ value: '',
85
+ obj: {
86
+ t: '',
87
+ p: '',
88
+ k: '',
89
+ },
90
+ editable: true,
91
+ mandatory: true,
92
+ options: [
93
+ {
94
+ id: 'FLO',
95
+ label: 'Florence',
96
+ },
97
+ {
98
+ id: 'VEN',
99
+ label: 'Venice',
100
+ },
101
+ {
102
+ id: 'ROM',
103
+ label: 'Rome',
104
+ },
105
+ {
106
+ id: 'MAD',
107
+ label: 'Madrid',
108
+ },
109
+ {
110
+ id: 'BAR',
111
+ label: 'Barcelona',
112
+ },
113
+ {
114
+ id: 'SEV',
115
+ label: 'Seville',
116
+ },
117
+ ],
118
+ shape: 'ACP',
119
+ },
120
+ },
121
+ },
122
+ ],
123
+ };
124
+ inputPanel.setProperty('data', data);
125
+ await page.waitForChanges();
126
+ const inputPanelContent = await page.find('kup-input-panel >>> form.input-panel');
127
+ expect(inputPanelContent).not.toBeNull();
128
+ const autocompleteCell = await inputPanelContent.find('.f-cell.autocomplete-cell');
129
+ expect(autocompleteCell).not.toBeNull();
130
+ const autocompleteTextfield = await autocompleteCell.find('kup-autocomplete >>> div.f-text-field');
131
+ expect(autocompleteTextfield).not.toBeNull();
132
+ const label = await autocompleteTextfield.find('label');
133
+ expect(label).not.toBeNull();
134
+ expect(label).toEqualText(data.columns[0].title);
135
+ const input = await autocompleteTextfield.find('input');
136
+ expect(input).not.toBeNull();
137
+ await input.focus();
138
+ await input.press('KeyR');
139
+ await input.press('KeyO');
140
+ const updatedValue1 = await input.getProperty('value');
141
+ expect(updatedValue1).toBe('ro');
142
+ await page.waitForChanges();
143
+ await page.waitForChanges();
144
+ const list = await page.find('div[kup-dynamic-position] kup-list');
145
+ expect(list).not.toBeNull();
146
+ const listOptions = await page.findAll('kup-list >>> ul.list li');
147
+ expect(listOptions).not.toBeNull();
148
+ expect(listOptions).toHaveLength(1);
149
+ const firstOptionValue = await listOptions[0].find('span');
150
+ expect(firstOptionValue).toEqualText('Rome');
151
+ await firstOptionValue.click();
152
+ const updatedValue = await input.getProperty('value');
153
+ expect(updatedValue).toBe('Rome');
154
+ });
155
+ it('renders combobox', async () => {
156
+ const page = await newE2EPage();
157
+ await page.setContent('<kup-input-panel></kup-input-panel> <div kup-dynamic-position></div>');
158
+ const inputPanel = await page.find('kup-input-panel');
159
+ const data = {
160
+ columns: [
161
+ {
162
+ name: 'NAT',
163
+ title: 'Nation',
164
+ visible: true,
165
+ },
166
+ ],
167
+ rows: [
168
+ {
169
+ cells: {
170
+ NAT: {
171
+ value: '',
172
+ options: [
173
+ {
174
+ id: 'ITA',
175
+ label: 'Italy',
176
+ },
177
+ {
178
+ id: 'SPA',
179
+ label: 'Spain',
180
+ },
181
+ {
182
+ id: 'GER',
183
+ label: 'Germany',
184
+ },
185
+ {
186
+ id: 'FRA',
187
+ label: 'France',
188
+ },
189
+ {
190
+ id: 'POR',
191
+ label: 'Portugal',
192
+ },
193
+ {
194
+ id: 'ENG',
195
+ label: 'England',
196
+ },
197
+ ],
198
+ editable: true,
199
+ shape: 'CMB',
200
+ },
201
+ },
202
+ },
203
+ ],
204
+ };
205
+ inputPanel.setProperty('data', data);
206
+ await page.waitForChanges();
207
+ const inputPanelContent = await page.find('kup-input-panel >>> form.input-panel');
208
+ expect(inputPanelContent).not.toBeNull();
209
+ const comboCell = await inputPanelContent.find('.f-cell.combobox-cell');
210
+ expect(comboCell).not.toBeNull();
211
+ const comboTextfield = await comboCell.find('kup-combobox >>> div.f-text-field');
212
+ expect(comboTextfield).not.toBeNull();
213
+ const label = await comboTextfield.find('label');
214
+ expect(label).not.toBeNull();
215
+ expect(label).toEqualText(data.columns[0].title);
216
+ const input = await comboTextfield.find('input');
217
+ expect(input).not.toBeNull();
218
+ const icon = await comboTextfield.find('span.kup-icon.kup-dropdown-icon');
219
+ expect(icon).not.toBeNull();
220
+ await icon.click();
221
+ await page.waitForChanges();
222
+ await page.waitForChanges();
223
+ const list = await page.find('div[kup-dynamic-position] kup-list');
224
+ expect(list).not.toBeNull();
225
+ const listOptions = await page.findAll('kup-list >>> ul.list li');
226
+ expect(listOptions).not.toBeNull();
227
+ expect(listOptions).toHaveLength(data.rows[0].cells.NAT.options.length);
228
+ const firstOptionValue = await listOptions[0].find('span');
229
+ expect(firstOptionValue).toEqualText('Italy');
230
+ await firstOptionValue.click();
231
+ const updatedValue = await input.getProperty('value');
232
+ expect(updatedValue).toBe('Italy');
233
+ });
234
+ it('renders checkbox', async () => {
235
+ const page = await newE2EPage();
236
+ await page.setContent('<kup-input-panel></kup-input-panel>');
237
+ const inputPanel = await page.find('kup-input-panel');
238
+ const data = {
239
+ columns: [
240
+ {
241
+ name: 'CHK',
242
+ title: 'Checkbox',
243
+ visible: true,
244
+ },
245
+ ],
246
+ rows: [
247
+ {
248
+ cells: {
249
+ CHK: {
250
+ value: 'off',
251
+ editable: true,
252
+ shape: 'CHK',
253
+ },
254
+ },
255
+ },
256
+ ],
257
+ };
258
+ inputPanel.setProperty('data', data);
259
+ await page.waitForChanges();
260
+ const inputPanelContent = await page.find('kup-input-panel >>> form.input-panel');
261
+ expect(inputPanelContent).not.toBeNull();
262
+ const checkboxCell = await inputPanelContent.find('.f-cell.checkbox-cell');
263
+ expect(checkboxCell).not.toBeNull();
264
+ const label = await checkboxCell.find('label');
265
+ expect(label).not.toBeNull();
266
+ expect(label).toEqualText(data.columns[0].title);
267
+ const input = await checkboxCell.find('input');
268
+ expect(input).not.toBeNull();
269
+ const value = await input.getProperty('value');
270
+ expect(value).toBe('off');
271
+ await input.click();
272
+ const updatedValue = await input.getProperty('value');
273
+ expect(updatedValue).toBe('on');
274
+ });
275
+ it('renders radio buttons', async () => {
276
+ const page = await newE2EPage();
277
+ await page.setContent('<kup-input-panel></kup-input-panel>');
278
+ const inputPanel = await page.find('kup-input-panel');
279
+ const data = {
280
+ columns: [
281
+ {
282
+ name: 'RAD',
283
+ title: 'Radio Buttons',
284
+ visible: true,
285
+ },
286
+ ],
287
+ rows: [
288
+ {
289
+ cells: {
290
+ RAD: {
291
+ value: '1',
292
+ options: [
293
+ {
294
+ id: '1',
295
+ label: 'One',
296
+ },
297
+ {
298
+ id: '2',
299
+ label: 'Two',
300
+ },
301
+ {
302
+ id: '3',
303
+ label: 'Three',
304
+ },
305
+ {
306
+ id: '4',
307
+ label: 'Four',
308
+ },
309
+ ],
310
+ editable: true,
311
+ shape: 'RAD',
312
+ },
313
+ },
314
+ },
315
+ ],
316
+ };
317
+ inputPanel.setProperty('data', data);
318
+ await page.waitForChanges();
319
+ const inputPanelContent = await page.find('kup-input-panel >>> form.input-panel');
320
+ expect(inputPanelContent).not.toBeNull();
321
+ const radioButtonsCell = await inputPanelContent.find('.f-cell.radio-cell');
322
+ expect(radioButtonsCell).not.toBeNull();
323
+ const radioOptions = data.rows[0].cells.RAD.options;
324
+ const radioButtons = await radioButtonsCell.findAll('div.form-field');
325
+ expect(radioButtons).toHaveLength(radioOptions.length);
326
+ for (const [i, radioButton] of radioButtons.entries()) {
327
+ const label = await radioButton.find('label');
328
+ expect(label).not.toBeNull();
329
+ expect(label).toEqualText(radioOptions[i].label);
330
+ const input = await radioButton.find('input');
331
+ expect(input).not.toBeNull();
332
+ const value = await input.getProperty('value');
333
+ expect(value).toBe(radioOptions[i].id);
334
+ if (data.rows[0].cells.RAD.value === value) {
335
+ const radioButtonCircle = await radioButton.find('div.radio');
336
+ expect(radioButtonCircle).toHaveClass('radio--checked');
337
+ }
338
+ }
339
+ const newRadioButtonChecked = await radioButtons[2].find('div.radio');
340
+ await newRadioButtonChecked.click();
341
+ await page.waitForChanges();
342
+ const updatedRadioButtons = await radioButtonsCell.findAll('div.form-field');
343
+ const updateRadioButtonChecked = await updatedRadioButtons[2].find('div.radio ');
344
+ expect(updateRadioButtonChecked).toHaveClass('radio--checked');
345
+ });
346
+ });