ku4web-components 6.4.80 → 6.4.83

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. package/angular/index.js +1 -1
  2. package/angular/index.mjs +1 -1
  3. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  4. package/dist/cjs/css-shim-6ca600c2.js +6 -0
  5. package/dist/cjs/dom-8d415461.js +75 -0
  6. package/dist/cjs/index-652a3cbf.js +14 -0
  7. package/dist/cjs/{index-1e13241e.js → index-a7b6d98c.js} +1 -1
  8. package/dist/cjs/index-c904eb3a.js +10 -0
  9. package/dist/cjs/index-ca4336bd.js +3093 -0
  10. package/dist/cjs/{index-da3ed39d.js → index-f78c109e.js} +1 -1
  11. package/dist/cjs/ku4-carousel-controls.cjs.entry.js +10 -4
  12. package/dist/cjs/ku4-carousel-slide.cjs.entry.js +1 -1
  13. package/dist/cjs/ku4-carousel.cjs.entry.js +14 -7
  14. package/dist/cjs/ku4-col.cjs.entry.js +1 -1
  15. package/dist/cjs/ku4-drawer.cjs.entry.js +1 -1
  16. package/dist/cjs/ku4-feature.cjs.entry.js +2 -2
  17. package/dist/cjs/ku4-focus-trap.cjs.entry.js +26 -26
  18. package/dist/cjs/ku4-form.cjs.entry.js +3 -3
  19. package/dist/cjs/ku4-grid.cjs.entry.js +1 -1
  20. package/dist/cjs/ku4-label.cjs.entry.js +2 -2
  21. package/dist/cjs/ku4-mask.cjs.entry.js +2 -2
  22. package/dist/cjs/ku4-modal.cjs.entry.js +3 -3
  23. package/dist/cjs/ku4-panel.cjs.entry.js +1 -1
  24. package/dist/cjs/ku4-preview.cjs.entry.js +43 -14
  25. package/dist/cjs/ku4-tab-list.cjs.entry.js +4 -4
  26. package/dist/cjs/ku4-tab-panel.cjs.entry.js +3 -3
  27. package/dist/cjs/ku4-tab.cjs.entry.js +3 -3
  28. package/dist/cjs/ku4-table.cjs.entry.js +1 -1
  29. package/dist/cjs/ku4-tooltip.cjs.entry.js +2 -2
  30. package/dist/cjs/ku4-validation.cjs.entry.js +2 -2
  31. package/dist/cjs/ku4web-components.cjs.js +103 -8
  32. package/dist/cjs/loader.cjs.js +19 -3
  33. package/dist/cjs/{shadow-css-8940f82d.js → shadow-css-78860e39.js} +1 -1
  34. package/dist/cjs/{uid-d6942c42.js → uid-97baaecc.js} +1 -1
  35. package/dist/cjs/uid-eb3bec28.js +11 -0
  36. package/dist/collection/capabilities/a11y/aria.js +26 -0
  37. package/dist/collection/capabilities/angular/index.js +24 -0
  38. package/dist/collection/capabilities/decorators/deprecated.js +20 -0
  39. package/dist/collection/capabilities/decorators/index.js +3 -0
  40. package/dist/collection/capabilities/decorators/memoize.js +7 -0
  41. package/dist/collection/capabilities/dom/isFocusable.js +7 -0
  42. package/dist/collection/capabilities/dom/queryFocusable.js +2 -0
  43. package/dist/collection/capabilities/identity/uid.js +6 -0
  44. package/dist/collection/capabilities/mask/index.js +5 -0
  45. package/dist/collection/capabilities/mask/patterns/date.js +40 -0
  46. package/dist/collection/capabilities/mask/patterns/index.js +7 -0
  47. package/dist/collection/capabilities/react/index.js +25 -0
  48. package/dist/collection/capabilities/testing/html.js +14 -0
  49. package/dist/collection/capabilities/testing/styles.js +14 -0
  50. package/dist/collection/capabilities/vue/index.js +28 -0
  51. package/dist/collection/capabilities/vue3/index.js +26 -0
  52. package/dist/collection/collection-manifest.json +31 -0
  53. package/dist/collection/components/ku4-carousel/ku4-carousel.css +221 -0
  54. package/dist/collection/components/ku4-carousel/ku4-carousel.js +369 -0
  55. package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.css +32 -0
  56. package/dist/collection/components/ku4-carousel-controls/ku4-carousel-controls.js +112 -0
  57. package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.css +3 -0
  58. package/dist/collection/components/ku4-carousel-slide/ku4-carousel-slide.js +159 -0
  59. package/dist/collection/components/ku4-col/ku4-col.css +601 -0
  60. package/dist/collection/components/ku4-col/ku4-col.js +288 -0
  61. package/dist/collection/components/ku4-drawer/ku4-drawer.css +56 -0
  62. package/dist/collection/components/ku4-drawer/ku4-drawer.js +163 -0
  63. package/dist/collection/components/ku4-feature/ku4-feature.js +70 -0
  64. package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.css +3 -0
  65. package/dist/collection/components/ku4-focus-trap/ku4-focus-trap.js +441 -0
  66. package/dist/collection/components/ku4-form/ku4-form.js +225 -0
  67. package/dist/collection/components/ku4-grid/ku4-grid.css +751 -0
  68. package/dist/collection/components/ku4-grid/ku4-grid.js +408 -0
  69. package/dist/collection/components/ku4-label/ku4-label.css +36 -0
  70. package/dist/collection/components/ku4-label/ku4-label.js +115 -0
  71. package/dist/collection/components/ku4-mask/ku4-mask.css +3 -0
  72. package/dist/collection/components/ku4-mask/ku4-mask.js +458 -0
  73. package/dist/collection/components/ku4-modal/ku4-modal.css +85 -0
  74. package/dist/collection/components/ku4-modal/ku4-modal.js +208 -0
  75. package/dist/collection/components/ku4-panel/ku4-panel.css +14 -0
  76. package/dist/collection/components/ku4-panel/ku4-panel.js +119 -0
  77. package/dist/collection/components/ku4-preview/ku4-preview.css +23 -0
  78. package/dist/collection/components/ku4-preview/ku4-preview.js +266 -0
  79. package/dist/collection/components/ku4-tab/ku4-tab.css +82 -0
  80. package/dist/collection/components/ku4-tab/ku4-tab.js +191 -0
  81. package/dist/collection/components/ku4-tab-list/ku4-tab-list.css +6 -0
  82. package/dist/collection/components/ku4-tab-list/ku4-tab-list.js +118 -0
  83. package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.css +26 -0
  84. package/dist/collection/components/ku4-tab-panel/ku4-tab-panel.js +166 -0
  85. package/dist/collection/components/ku4-table/ku4-table.css +116 -0
  86. package/dist/collection/components/ku4-table/ku4-table.js +120 -0
  87. package/dist/collection/components/ku4-tooltip/ku4-tooltip.css +56 -0
  88. package/dist/collection/components/ku4-tooltip/ku4-tooltip.js +274 -0
  89. package/dist/collection/components/ku4-validation/ku4-validation.css +19 -0
  90. package/dist/collection/components/ku4-validation/ku4-validation.js +364 -0
  91. package/dist/collection/components/ku4-validation/validate.js +14 -0
  92. package/dist/collection/index.js +1 -0
  93. package/dist/collection/security.js +27 -0
  94. package/dist/esm/app-globals-0f993ce5.js +3 -0
  95. package/dist/esm/css-shim-e6dd2538.js +4 -0
  96. package/dist/esm/dom-7fc649b0.js +73 -0
  97. package/dist/esm/index-3e1e5aa3.js +3 -0
  98. package/dist/esm/index-7fe386de.js +3057 -0
  99. package/dist/esm/index-7ff6e718.js +3 -0
  100. package/dist/esm/{index-9e3af5f4.js → index-81a98b72.js} +1 -1
  101. package/dist/esm/{index-20c3926d.js → index-bdb0771a.js} +1 -1
  102. package/dist/esm/ku4-carousel-controls.entry.js +10 -4
  103. package/dist/esm/ku4-carousel-slide.entry.js +1 -1
  104. package/dist/esm/ku4-carousel.entry.js +14 -7
  105. package/dist/esm/ku4-col.entry.js +1 -1
  106. package/dist/esm/ku4-drawer.entry.js +1 -1
  107. package/dist/esm/ku4-feature.entry.js +2 -2
  108. package/dist/esm/ku4-focus-trap.entry.js +3 -3
  109. package/dist/esm/ku4-form.entry.js +3 -3
  110. package/dist/esm/ku4-grid.entry.js +1 -1
  111. package/dist/esm/ku4-label.entry.js +2 -2
  112. package/dist/esm/ku4-mask.entry.js +2 -2
  113. package/dist/esm/ku4-modal.entry.js +3 -3
  114. package/dist/esm/ku4-panel.entry.js +1 -1
  115. package/dist/esm/ku4-preview.entry.js +34 -5
  116. package/dist/esm/ku4-tab-list.entry.js +4 -4
  117. package/dist/esm/ku4-tab-panel.entry.js +3 -3
  118. package/dist/esm/ku4-tab.entry.js +3 -3
  119. package/dist/esm/ku4-table.entry.js +1 -1
  120. package/dist/esm/ku4-tooltip.entry.js +2 -2
  121. package/dist/esm/ku4-validation.entry.js +2 -2
  122. package/dist/esm/ku4web-components.js +103 -8
  123. package/dist/esm/loader.js +19 -3
  124. package/dist/esm/{shadow-css-5d2d01ce.js → shadow-css-4d56fa31.js} +1 -1
  125. package/dist/esm/{uid-15f8c937.js → uid-1ec3509b.js} +1 -1
  126. package/dist/esm/uid-9dbd7ad0.js +9 -0
  127. package/dist/esm-es5/{index-9e3af5f4.js → index-81a98b72.js} +1 -1
  128. package/dist/esm-es5/{index-20c3926d.js → index-bdb0771a.js} +1 -1
  129. package/dist/esm-es5/ku4-carousel-controls.entry.js +1 -1
  130. package/dist/esm-es5/ku4-carousel-slide.entry.js +1 -1
  131. package/dist/esm-es5/ku4-carousel.entry.js +1 -1
  132. package/dist/esm-es5/ku4-col.entry.js +1 -1
  133. package/dist/esm-es5/ku4-drawer.entry.js +1 -1
  134. package/dist/esm-es5/ku4-feature.entry.js +1 -1
  135. package/dist/esm-es5/ku4-focus-trap.entry.js +1 -1
  136. package/dist/esm-es5/ku4-form.entry.js +1 -1
  137. package/dist/esm-es5/ku4-grid.entry.js +1 -1
  138. package/dist/esm-es5/ku4-label.entry.js +1 -1
  139. package/dist/esm-es5/ku4-mask.entry.js +1 -1
  140. package/dist/esm-es5/ku4-modal.entry.js +1 -1
  141. package/dist/esm-es5/ku4-panel.entry.js +1 -1
  142. package/dist/esm-es5/ku4-preview.entry.js +1 -1
  143. package/dist/esm-es5/ku4-tab-list.entry.js +1 -1
  144. package/dist/esm-es5/ku4-tab-panel.entry.js +1 -1
  145. package/dist/esm-es5/ku4-tab.entry.js +1 -1
  146. package/dist/esm-es5/ku4-table.entry.js +1 -1
  147. package/dist/esm-es5/ku4-tooltip.entry.js +1 -1
  148. package/dist/esm-es5/ku4-validation.entry.js +1 -1
  149. package/dist/esm-es5/ku4web-components.js +1 -1
  150. package/dist/esm-es5/loader.js +1 -1
  151. package/dist/esm-es5/{shadow-css-5d2d01ce.js → shadow-css-4d56fa31.js} +0 -0
  152. package/dist/esm-es5/uid-1ec3509b.js +1 -0
  153. package/dist/index.js +1 -1
  154. package/dist/ku4web-components/app-globals-0f993ce5.js +3 -0
  155. package/dist/ku4web-components/app-globals-497eb362.system.js +1 -0
  156. package/dist/ku4web-components/css-shim-b6eec689.system.js +1 -0
  157. package/dist/ku4web-components/css-shim-e6dd2538.js +4 -0
  158. package/dist/ku4web-components/dom-7fc649b0.js +73 -0
  159. package/dist/ku4web-components/dom-88962da0.system.js +21 -0
  160. package/dist/ku4web-components/index-380cbe3a.system.js +1 -0
  161. package/dist/ku4web-components/index-3e1e5aa3.js +3 -0
  162. package/dist/ku4web-components/index-5029fd1f.system.js +1 -0
  163. package/dist/ku4web-components/index-7d482e8a.system.js +1 -0
  164. package/dist/ku4web-components/index-7fe386de.js +3057 -0
  165. package/dist/ku4web-components/index-7ff6e718.js +3 -0
  166. package/dist/ku4web-components/index.esm.js +1 -0
  167. package/dist/ku4web-components/index.system.js +1 -0
  168. package/dist/ku4web-components/ku4-carousel-controls.entry.js +89 -0
  169. package/dist/ku4web-components/ku4-carousel-controls.system.entry.js +1 -0
  170. package/dist/ku4web-components/ku4-carousel-slide.entry.js +47 -0
  171. package/dist/ku4web-components/ku4-carousel-slide.system.entry.js +1 -0
  172. package/dist/ku4web-components/ku4-carousel.entry.js +175 -0
  173. package/dist/ku4web-components/ku4-carousel.system.entry.js +1 -0
  174. package/dist/ku4web-components/ku4-col.entry.js +75 -0
  175. package/dist/ku4web-components/ku4-col.system.entry.js +1 -0
  176. package/dist/ku4web-components/ku4-drawer.entry.js +35 -0
  177. package/dist/ku4web-components/ku4-drawer.system.entry.js +1 -0
  178. package/dist/ku4web-components/ku4-feature.entry.js +29 -0
  179. package/dist/ku4web-components/ku4-feature.system.entry.js +1 -0
  180. package/dist/ku4web-components/ku4-focus-trap.entry.js +323 -0
  181. package/dist/ku4web-components/ku4-focus-trap.system.entry.js +1 -0
  182. package/dist/ku4web-components/ku4-form.entry.js +112 -0
  183. package/dist/ku4web-components/ku4-form.system.entry.js +1 -0
  184. package/dist/ku4web-components/ku4-grid.entry.js +108 -0
  185. package/dist/ku4web-components/ku4-grid.system.entry.js +1 -0
  186. package/dist/ku4web-components/ku4-label.entry.js +70 -0
  187. package/dist/ku4web-components/ku4-label.system.entry.js +1 -0
  188. package/dist/ku4web-components/ku4-mask.entry.js +342 -0
  189. package/dist/ku4web-components/ku4-mask.system.entry.js +1 -0
  190. package/dist/ku4web-components/ku4-modal.entry.js +75 -0
  191. package/dist/ku4web-components/ku4-modal.system.entry.js +1 -0
  192. package/dist/ku4web-components/ku4-panel.entry.js +49 -0
  193. package/dist/ku4web-components/ku4-panel.system.entry.js +1 -0
  194. package/dist/ku4web-components/ku4-preview.entry.js +128 -0
  195. package/dist/ku4web-components/ku4-preview.system.entry.js +1 -0
  196. package/dist/ku4web-components/ku4-tab-list.entry.js +76 -0
  197. package/dist/ku4web-components/ku4-tab-list.system.entry.js +1 -0
  198. package/dist/ku4web-components/ku4-tab-panel.entry.js +72 -0
  199. package/dist/ku4web-components/ku4-tab-panel.system.entry.js +1 -0
  200. package/dist/ku4web-components/ku4-tab.entry.js +63 -0
  201. package/dist/ku4web-components/ku4-tab.system.entry.js +1 -0
  202. package/dist/ku4web-components/ku4-table.entry.js +79 -0
  203. package/dist/ku4web-components/ku4-table.system.entry.js +1 -0
  204. package/dist/ku4web-components/ku4-tooltip.entry.js +120 -0
  205. package/dist/ku4web-components/ku4-tooltip.system.entry.js +1 -0
  206. package/dist/ku4web-components/ku4-validation.entry.js +162 -0
  207. package/dist/ku4web-components/ku4-validation.system.entry.js +1 -0
  208. package/dist/ku4web-components/ku4web-components.css +299 -1
  209. package/dist/ku4web-components/ku4web-components.esm.js +129 -1
  210. package/dist/ku4web-components/ku4web-components.js +1 -1
  211. package/dist/ku4web-components/ku4web-components.system.js +1 -0
  212. package/dist/ku4web-components/{p-15ee8b8e.system.entry.js → p-02328d34.system.entry.js} +1 -1
  213. package/dist/ku4web-components/{p-01debe28.system.entry.js → p-050f184b.system.entry.js} +1 -1
  214. package/dist/ku4web-components/{p-8e2fca0b.system.entry.js → p-073cefec.system.entry.js} +1 -1
  215. package/dist/ku4web-components/{p-22eed87f.entry.js → p-097ba217.entry.js} +1 -1
  216. package/dist/ku4web-components/{p-f1cc1b2d.entry.js → p-0adeb8e4.entry.js} +1 -1
  217. package/dist/ku4web-components/{p-840704e4.entry.js → p-0ce97586.entry.js} +1 -1
  218. package/dist/ku4web-components/p-0f77bef9.system.js +1 -0
  219. package/dist/ku4web-components/{p-761b2cbc.system.entry.js → p-136e5a03.system.entry.js} +1 -1
  220. package/dist/ku4web-components/p-17d548db.js +1 -0
  221. package/dist/ku4web-components/{p-c1068ffa.js → p-189cde73.js} +1 -1
  222. package/dist/ku4web-components/{p-2f2d74dc.system.entry.js → p-1d5a1caf.system.entry.js} +1 -1
  223. package/dist/ku4web-components/{p-a5c7f5f7.system.entry.js → p-288482da.system.entry.js} +1 -1
  224. package/dist/ku4web-components/{p-0e010c10.system.entry.js → p-3a0d1ff7.system.entry.js} +1 -1
  225. package/dist/ku4web-components/{p-d360c64a.entry.js → p-3f147a02.entry.js} +1 -1
  226. package/dist/ku4web-components/{p-0f8708f8.entry.js → p-3f2a008c.entry.js} +1 -1
  227. package/dist/ku4web-components/{p-8faad87d.entry.js → p-3f4082d5.entry.js} +1 -1
  228. package/dist/ku4web-components/{p-7273db60.entry.js → p-49275772.entry.js} +1 -1
  229. package/dist/ku4web-components/{p-232787a5.system.entry.js → p-4bfca34b.system.entry.js} +1 -1
  230. package/dist/ku4web-components/{p-04948520.system.entry.js → p-524cef27.system.entry.js} +1 -1
  231. package/dist/ku4web-components/{p-67adc5b1.system.entry.js → p-52d815ab.system.entry.js} +1 -1
  232. package/dist/ku4web-components/{p-2edd35f8.system.entry.js → p-596beaad.system.entry.js} +1 -1
  233. package/dist/ku4web-components/{p-f06bf0ae.entry.js → p-5f9d0077.entry.js} +1 -1
  234. package/dist/ku4web-components/{p-660ebd19.entry.js → p-5fcea805.entry.js} +1 -1
  235. package/dist/ku4web-components/{p-adddaeef.entry.js → p-61214088.entry.js} +1 -1
  236. package/dist/ku4web-components/{p-d6ec34c3.entry.js → p-66b8247f.entry.js} +1 -1
  237. package/dist/ku4web-components/{p-9c0d71af.system.entry.js → p-6b9e3523.system.entry.js} +1 -1
  238. package/dist/ku4web-components/{p-02e342f7.system.entry.js → p-6cfd9011.system.entry.js} +1 -1
  239. package/dist/ku4web-components/{p-8d9eb18b.system.entry.js → p-7bfc256a.system.entry.js} +1 -1
  240. package/dist/ku4web-components/{p-77f1853c.entry.js → p-818caf0f.entry.js} +1 -1
  241. package/dist/ku4web-components/{p-3874127d.entry.js → p-8642aef5.entry.js} +1 -1
  242. package/dist/ku4web-components/{p-f6455ab3.js → p-881e100a.js} +0 -0
  243. package/dist/ku4web-components/{p-19a8c0f6.system.entry.js → p-95698618.system.entry.js} +1 -1
  244. package/dist/ku4web-components/{p-f0b1c07c.system.js → p-96ec7b4f.system.js} +1 -1
  245. package/dist/ku4web-components/{p-ce6eddc3.system.entry.js → p-a0d0c99e.system.entry.js} +1 -1
  246. package/dist/ku4web-components/{p-b4488a7d.system.entry.js → p-acb43765.system.entry.js} +1 -1
  247. package/dist/ku4web-components/{p-c19fd841.entry.js → p-b47bb3d0.entry.js} +1 -1
  248. package/dist/ku4web-components/{p-0785fc39.system.js → p-c3293202.system.js} +1 -1
  249. package/dist/ku4web-components/{p-eb6882c8.entry.js → p-c798faf2.entry.js} +1 -1
  250. package/dist/ku4web-components/{p-3c182b2f.entry.js → p-cd0d0b40.entry.js} +1 -1
  251. package/dist/ku4web-components/p-cd4cdcbb.entry.js +1 -0
  252. package/dist/ku4web-components/{p-8f480cb5.system.entry.js → p-d848909c.system.entry.js} +1 -1
  253. package/dist/ku4web-components/{p-90c37394.entry.js → p-d8868855.entry.js} +1 -1
  254. package/dist/ku4web-components/p-db3040f3.system.js +1 -0
  255. package/dist/ku4web-components/{p-2aac6c90.js → p-e6b3a708.js} +1 -1
  256. package/dist/ku4web-components/{p-c50540ec.system.entry.js → p-ea4b32de.system.entry.js} +1 -1
  257. package/dist/ku4web-components/{p-e4ff1c36.entry.js → p-f3fbe1e6.entry.js} +1 -1
  258. package/dist/ku4web-components/p-f64c1f55.entry.js +1 -0
  259. package/dist/ku4web-components/{p-71d57b8b.system.js → p-fbf3ad1e.system.js} +0 -0
  260. package/dist/ku4web-components/{p-0eb73a0f.system.entry.js → p-fc0c3bf4.system.entry.js} +1 -1
  261. package/dist/ku4web-components/shadow-css-4d56fa31.js +388 -0
  262. package/dist/ku4web-components/shadow-css-d0426811.system.js +13 -0
  263. package/dist/ku4web-components/uid-9dbd7ad0.js +9 -0
  264. package/dist/ku4web-components/uid-fb867945.system.js +1 -0
  265. package/dist/types/components/ku4-carousel/ku4-carousel.d.ts +3 -2
  266. package/dist/types/components/ku4-carousel-controls/ku4-carousel-controls.d.ts +1 -0
  267. package/dist/types/components/ku4-carousel-slide/ku4-carousel-slide.d.ts +6 -0
  268. package/dist/types/components.d.ts +10 -2
  269. package/package.json +15 -15
  270. package/react/index.js +1 -1
  271. package/react/index.mjs +1 -1
  272. package/vue/index.js +1 -1
  273. package/vue/index.mjs +1 -1
  274. package/vue3/index.js +1 -1
  275. package/vue3/index.mjs +1 -1
  276. package/dist/esm-es5/uid-15f8c937.js +0 -1
  277. package/dist/ku4web-components/p-7a47027b.entry.js +0 -1
  278. package/dist/ku4web-components/p-b590da20.entry.js +0 -1
  279. package/dist/ku4web-components/p-be7890a1.system.js +0 -1
  280. package/dist/ku4web-components/p-cbbb4b1b.js +0 -1
  281. package/dist/ku4web-components/p-eb58b04b.system.js +0 -1
@@ -0,0 +1,191 @@
1
+ import { Component, Element, Host, Prop, State, Method, Listen, Event, h, } from '@stencil/core';
2
+ import uid from '../../capabilities/identity/uid';
3
+ /**
4
+ * @description ku4-tab
5
+ */
6
+ export class Ku4Tab {
7
+ constructor() {
8
+ /**
9
+ * Active when true
10
+ */
11
+ this.selected = false;
12
+ }
13
+ handleClick(e) {
14
+ this.tabClick.emit(e);
15
+ }
16
+ handleKeyUp(e) {
17
+ this.tabKeyUp.emit(e);
18
+ }
19
+ /**
20
+ * Set this tab as selected.
21
+ */
22
+ async select() {
23
+ this.selected = true;
24
+ this.panel.select();
25
+ this.host.focus();
26
+ }
27
+ /**
28
+ * Unset this tab as selected
29
+ */
30
+ async deselect() {
31
+ this.selected = false;
32
+ this.panel.deselect();
33
+ }
34
+ /**
35
+ * Connect this tab to a panel
36
+ * @param {HTMLElement} panel - The target ku4-tab-panel HTMLElement
37
+ */
38
+ async connect(panel) {
39
+ panel.connect(this);
40
+ }
41
+ get id() {
42
+ return this.host.id || uid();
43
+ }
44
+ /**
45
+ * @param {Ku4TabPanel} panel - panel to assign to this tab
46
+ * @internal
47
+ */
48
+ $assignPanel(panel) {
49
+ this.panel = panel;
50
+ }
51
+ render() {
52
+ const { selected, panel } = this;
53
+ return (h(Host, { id: this.host.id || uid(), role: "tab", type: "button", tabIndex: selected ? 0 : -1, "aria-controls": panel && panel.id, "aria-selected": selected ? 'true' : 'false' },
54
+ h("slot", null)));
55
+ }
56
+ static get is() { return "ku4-tab"; }
57
+ static get encapsulation() { return "shadow"; }
58
+ static get originalStyleUrls() { return {
59
+ "$": ["ku4-tab.scss"]
60
+ }; }
61
+ static get styleUrls() { return {
62
+ "$": ["ku4-tab.css"]
63
+ }; }
64
+ static get properties() { return {
65
+ "selected": {
66
+ "type": "boolean",
67
+ "mutable": true,
68
+ "complexType": {
69
+ "original": "boolean",
70
+ "resolved": "boolean",
71
+ "references": {}
72
+ },
73
+ "required": false,
74
+ "optional": false,
75
+ "docs": {
76
+ "tags": [],
77
+ "text": "Active when true"
78
+ },
79
+ "attribute": "selected",
80
+ "reflect": true,
81
+ "defaultValue": "false"
82
+ }
83
+ }; }
84
+ static get states() { return {
85
+ "panel": {}
86
+ }; }
87
+ static get events() { return [{
88
+ "method": "tabClick",
89
+ "name": "ku4TabClick",
90
+ "bubbles": true,
91
+ "cancelable": true,
92
+ "composed": true,
93
+ "docs": {
94
+ "tags": [],
95
+ "text": "Event fired when this tab is clicked."
96
+ },
97
+ "complexType": {
98
+ "original": "any",
99
+ "resolved": "any",
100
+ "references": {}
101
+ }
102
+ }, {
103
+ "method": "tabKeyUp",
104
+ "name": "ku4TabKeyup",
105
+ "bubbles": true,
106
+ "cancelable": true,
107
+ "composed": true,
108
+ "docs": {
109
+ "tags": [],
110
+ "text": "Event fired when this tab is keyup."
111
+ },
112
+ "complexType": {
113
+ "original": "any",
114
+ "resolved": "any",
115
+ "references": {}
116
+ }
117
+ }]; }
118
+ static get methods() { return {
119
+ "select": {
120
+ "complexType": {
121
+ "signature": "() => Promise<void>",
122
+ "parameters": [],
123
+ "references": {
124
+ "Promise": {
125
+ "location": "global"
126
+ }
127
+ },
128
+ "return": "Promise<void>"
129
+ },
130
+ "docs": {
131
+ "text": "Set this tab as selected.",
132
+ "tags": []
133
+ }
134
+ },
135
+ "deselect": {
136
+ "complexType": {
137
+ "signature": "() => Promise<void>",
138
+ "parameters": [],
139
+ "references": {
140
+ "Promise": {
141
+ "location": "global"
142
+ }
143
+ },
144
+ "return": "Promise<void>"
145
+ },
146
+ "docs": {
147
+ "text": "Unset this tab as selected",
148
+ "tags": []
149
+ }
150
+ },
151
+ "connect": {
152
+ "complexType": {
153
+ "signature": "(panel: any) => Promise<void>",
154
+ "parameters": [{
155
+ "tags": [{
156
+ "name": "param",
157
+ "text": "panel - The target ku4-tab-panel HTMLElement"
158
+ }],
159
+ "text": "- The target ku4-tab-panel HTMLElement"
160
+ }],
161
+ "references": {
162
+ "Promise": {
163
+ "location": "global"
164
+ }
165
+ },
166
+ "return": "Promise<void>"
167
+ },
168
+ "docs": {
169
+ "text": "Connect this tab to a panel",
170
+ "tags": [{
171
+ "name": "param",
172
+ "text": "panel - The target ku4-tab-panel HTMLElement"
173
+ }]
174
+ }
175
+ }
176
+ }; }
177
+ static get elementRef() { return "host"; }
178
+ static get listeners() { return [{
179
+ "name": "click",
180
+ "method": "handleClick",
181
+ "target": undefined,
182
+ "capture": false,
183
+ "passive": false
184
+ }, {
185
+ "name": "keyup",
186
+ "method": "handleKeyUp",
187
+ "target": undefined,
188
+ "capture": false,
189
+ "passive": false
190
+ }]; }
191
+ }
@@ -0,0 +1,6 @@
1
+ :host {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: row;
5
+ flex-wrap: wrap;
6
+ }
@@ -0,0 +1,118 @@
1
+ import { Component, Host, Element, Listen, Method, h } from '@stencil/core';
2
+ import { Key } from 'ku4es-ui-kernel';
3
+ import uid from '../../capabilities/identity/uid';
4
+ /**
5
+ * @description ku4-tab-list
6
+ */
7
+ export class Ku4TabList {
8
+ handleTabClick({ target }) {
9
+ this.tabs.includes(target) && this.open(target);
10
+ }
11
+ handleTabKeyUp({ target, detail: e }) {
12
+ if (!(this.tabs.includes(target))) {
13
+ return;
14
+ }
15
+ if (Key.left.didFire(e)) {
16
+ this.open(this.previous(target));
17
+ }
18
+ if (Key.right.didFire(e)) {
19
+ this.open(this.next(target));
20
+ }
21
+ }
22
+ /**
23
+ * Open a ku4-tab in this ku4-tab-list.
24
+ * @param {Ku4Tab} tab - ku4-tab target to open.
25
+ */
26
+ async open(tab) {
27
+ return this.reset().select(tab);
28
+ }
29
+ select(tab) {
30
+ tab.select();
31
+ return this;
32
+ }
33
+ deselect(tab) {
34
+ tab.deselect();
35
+ return this;
36
+ }
37
+ reset() {
38
+ this.tabs.forEach(tab => this.deselect(tab));
39
+ return this;
40
+ }
41
+ previous(tab) {
42
+ const { tabs, tabs: { length } } = this;
43
+ const index = tabs.indexOf(tab) - 1;
44
+ return tabs[index > -1 ? index : length - 1];
45
+ }
46
+ next(tab) {
47
+ const { tabs, tabs: { length } } = this;
48
+ const index = tabs.indexOf(tab) + 1;
49
+ return tabs[index < length ? index : 0];
50
+ }
51
+ componentDidRender() {
52
+ const tabs = [];
53
+ const panels = [];
54
+ [].slice.call(this.host.children).forEach((child) => {
55
+ if (child.tagName === 'KU4-TAB') {
56
+ tabs.push(child);
57
+ }
58
+ if (child.tagName === 'KU4-TAB-PANEL') {
59
+ panels.push(child);
60
+ }
61
+ });
62
+ this.tabs = tabs;
63
+ this.tabs.forEach((tab, index) => tab.connect(panels[index]));
64
+ }
65
+ render() {
66
+ return (h(Host, { id: this.host.id || uid(), role: "tablist", "aria-owns": this.host.id || uid() },
67
+ h("slot", null)));
68
+ }
69
+ static get is() { return "ku4-tab-list"; }
70
+ static get encapsulation() { return "shadow"; }
71
+ static get originalStyleUrls() { return {
72
+ "$": ["ku4-tab-list.scss"]
73
+ }; }
74
+ static get styleUrls() { return {
75
+ "$": ["ku4-tab-list.css"]
76
+ }; }
77
+ static get methods() { return {
78
+ "open": {
79
+ "complexType": {
80
+ "signature": "(tab: any) => Promise<this>",
81
+ "parameters": [{
82
+ "tags": [{
83
+ "name": "param",
84
+ "text": "tab - ku4-tab target to open."
85
+ }],
86
+ "text": "- ku4-tab target to open."
87
+ }],
88
+ "references": {
89
+ "Promise": {
90
+ "location": "global"
91
+ }
92
+ },
93
+ "return": "Promise<this>"
94
+ },
95
+ "docs": {
96
+ "text": "Open a ku4-tab in this ku4-tab-list.",
97
+ "tags": [{
98
+ "name": "param",
99
+ "text": "tab - ku4-tab target to open."
100
+ }]
101
+ }
102
+ }
103
+ }; }
104
+ static get elementRef() { return "host"; }
105
+ static get listeners() { return [{
106
+ "name": "ku4TabClick",
107
+ "method": "handleTabClick",
108
+ "target": undefined,
109
+ "capture": false,
110
+ "passive": false
111
+ }, {
112
+ "name": "ku4TabKeyup",
113
+ "method": "handleTabKeyUp",
114
+ "target": undefined,
115
+ "capture": false,
116
+ "passive": false
117
+ }]; }
118
+ }
@@ -0,0 +1,26 @@
1
+ :host {
2
+ -webkit-backface-visibility: hidden;
3
+ display: block;
4
+ width: 100%;
5
+ height: auto;
6
+ max-height: 0;
7
+ transition: max-height 0.4s, padding 0.6s;
8
+ overflow: auto;
9
+ }
10
+
11
+ @media only screen and (min-width: 768px) {
12
+ :host {
13
+ display: none;
14
+ border-top: 1px solid #ccc;
15
+ border-bottom: 1px solid #ccc;
16
+ max-height: initial !important;
17
+ transition: none;
18
+ order: 2;
19
+ }
20
+
21
+ :host([selected]) {
22
+ display: block;
23
+ max-height: initial !important;
24
+ transition: none;
25
+ }
26
+ }
@@ -0,0 +1,166 @@
1
+ import { Component, Element, Host, Prop, State, Method, h, Listen } from '@stencil/core';
2
+ import uid from '../../capabilities/identity/uid';
3
+ /**
4
+ * @description ku4-tab-panel
5
+ */
6
+ export class Ku4TabPanel {
7
+ constructor() {
8
+ /**
9
+ * Set true to display panel
10
+ */
11
+ this.selected = false;
12
+ this.maxHeight = this.selected ? 'none' : '0px';
13
+ }
14
+ handleTransitionEnd() {
15
+ this.maxHeight = this.selected ? 'none' : '0px';
16
+ }
17
+ /**
18
+ * Set this panel as selected.
19
+ */
20
+ async select() {
21
+ if (this.selected) {
22
+ return;
23
+ }
24
+ this.selected = true;
25
+ if (this.hasTransition) {
26
+ this.maxHeight = `${this.host.scrollHeight}px`;
27
+ }
28
+ else {
29
+ this.handleTransitionEnd();
30
+ }
31
+ }
32
+ /**
33
+ * Unset this panel as selected.
34
+ */
35
+ async deselect() {
36
+ if (!this.selected) {
37
+ return;
38
+ }
39
+ this.selected = false;
40
+ this.host.style.maxHeight = `${this.host.scrollHeight}px`;
41
+ if (this.hasTransition) {
42
+ this.maxHeight = '0px';
43
+ }
44
+ else {
45
+ this.handleTransitionEnd();
46
+ }
47
+ }
48
+ /**
49
+ * Connect this panel to a tab.
50
+ * @param {Ku4Tab} tab - Tab to connect to this panel
51
+ */
52
+ async connect(tab) {
53
+ tab.$assignPanel(this);
54
+ this.tab = tab;
55
+ }
56
+ get hasTransition() {
57
+ const transition = window
58
+ .getComputedStyle(this.host)
59
+ .getPropertyValue('transition');
60
+ return !/none/.test(transition);
61
+ }
62
+ render() {
63
+ const { selected, tab, maxHeight } = this;
64
+ return (h(Host, { role: "tabpanel", id: this.host.id || uid(), "aria-hidden": selected ? 'false' : 'true', "aria-labelledby": tab && tab.id, tabIndex: selected ? 0 : -1, style: { maxHeight } },
65
+ h("slot", null)));
66
+ }
67
+ static get is() { return "ku4-tab-panel"; }
68
+ static get encapsulation() { return "shadow"; }
69
+ static get originalStyleUrls() { return {
70
+ "$": ["ku4-tab-panel.scss"]
71
+ }; }
72
+ static get styleUrls() { return {
73
+ "$": ["ku4-tab-panel.css"]
74
+ }; }
75
+ static get properties() { return {
76
+ "selected": {
77
+ "type": "boolean",
78
+ "mutable": true,
79
+ "complexType": {
80
+ "original": "boolean",
81
+ "resolved": "boolean",
82
+ "references": {}
83
+ },
84
+ "required": false,
85
+ "optional": false,
86
+ "docs": {
87
+ "tags": [],
88
+ "text": "Set true to display panel"
89
+ },
90
+ "attribute": "selected",
91
+ "reflect": true,
92
+ "defaultValue": "false"
93
+ }
94
+ }; }
95
+ static get states() { return {
96
+ "maxHeight": {},
97
+ "tab": {}
98
+ }; }
99
+ static get methods() { return {
100
+ "select": {
101
+ "complexType": {
102
+ "signature": "() => Promise<void>",
103
+ "parameters": [],
104
+ "references": {
105
+ "Promise": {
106
+ "location": "global"
107
+ }
108
+ },
109
+ "return": "Promise<void>"
110
+ },
111
+ "docs": {
112
+ "text": "Set this panel as selected.",
113
+ "tags": []
114
+ }
115
+ },
116
+ "deselect": {
117
+ "complexType": {
118
+ "signature": "() => Promise<void>",
119
+ "parameters": [],
120
+ "references": {
121
+ "Promise": {
122
+ "location": "global"
123
+ }
124
+ },
125
+ "return": "Promise<void>"
126
+ },
127
+ "docs": {
128
+ "text": "Unset this panel as selected.",
129
+ "tags": []
130
+ }
131
+ },
132
+ "connect": {
133
+ "complexType": {
134
+ "signature": "(tab: any) => Promise<void>",
135
+ "parameters": [{
136
+ "tags": [{
137
+ "name": "param",
138
+ "text": "tab - Tab to connect to this panel"
139
+ }],
140
+ "text": "- Tab to connect to this panel"
141
+ }],
142
+ "references": {
143
+ "Promise": {
144
+ "location": "global"
145
+ }
146
+ },
147
+ "return": "Promise<void>"
148
+ },
149
+ "docs": {
150
+ "text": "Connect this panel to a tab.",
151
+ "tags": [{
152
+ "name": "param",
153
+ "text": "tab - Tab to connect to this panel"
154
+ }]
155
+ }
156
+ }
157
+ }; }
158
+ static get elementRef() { return "host"; }
159
+ static get listeners() { return [{
160
+ "name": "transitionend",
161
+ "method": "handleTransitionEnd",
162
+ "target": undefined,
163
+ "capture": false,
164
+ "passive": false
165
+ }]; }
166
+ }
@@ -0,0 +1,116 @@
1
+ ku4-table {
2
+ position: relative;
3
+ display: block;
4
+ }
5
+ @media only screen and (min-width: 1px) and (max-width: 767px) {
6
+ @supports (display: contents) {
7
+ ku4-table[stack-xs=column] table {
8
+ display: flex;
9
+ flex-direction: column;
10
+ }
11
+ ku4-table[stack-xs=column] thead,
12
+ ku4-table[stack-xs=column] tbody,
13
+ ku4-table[stack-xs=column] tfoot,
14
+ ku4-table[stack-xs=column] tr {
15
+ display: contents;
16
+ }
17
+ ku4-table[stack-xs=column] thead .ku4-head-header {
18
+ display: none;
19
+ }
20
+ ku4-table[stack-xs=column] tbody th,
21
+ ku4-table[stack-xs=column] tfoot th {
22
+ position: absolute;
23
+ display: block;
24
+ width: 0;
25
+ height: 0;
26
+ margin: 0;
27
+ padding: 0;
28
+ line-height: 0;
29
+ font-size: 0;
30
+ }
31
+ ku4-table[stack-xs=column] tbody td,
32
+ ku4-table[stack-xs=column] tfoot td {
33
+ display: flex;
34
+ }
35
+ ku4-table[stack-xs=column] tbody td:before,
36
+ ku4-table[stack-xs=column] tfoot td:before {
37
+ content: attr(data-ku4-row-header);
38
+ }
39
+ }
40
+ ku4-table[stack-xs=row] table {
41
+ display: flex;
42
+ flex-direction: column;
43
+ }
44
+ ku4-table[stack-xs=row] thead th,
45
+ ku4-table[stack-xs=row] thead td {
46
+ display: none;
47
+ }
48
+ ku4-table[stack-xs=row] thead,
49
+ ku4-table[stack-xs=row] tbody,
50
+ ku4-table[stack-xs=row] tfoot,
51
+ ku4-table[stack-xs=row] tr,
52
+ ku4-table[stack-xs=row] th,
53
+ ku4-table[stack-xs=row] td {
54
+ display: block;
55
+ }
56
+ ku4-table[stack-xs=row] tbody td:before,
57
+ ku4-table[stack-xs=row] tfoot td:before {
58
+ content: attr(data-ku4-column-header);
59
+ }
60
+ }
61
+ @media only screen and (min-width: 768px) and (max-width: 991px) {
62
+ @supports (display: contents) {
63
+ ku4-table[stack-sm=column] table {
64
+ display: flex;
65
+ flex-direction: column;
66
+ }
67
+ ku4-table[stack-sm=column] thead,
68
+ ku4-table[stack-sm=column] tbody,
69
+ ku4-table[stack-sm=column] tfoot,
70
+ ku4-table[stack-sm=column] tr {
71
+ display: contents;
72
+ }
73
+ ku4-table[stack-sm=column] thead .ku4-head-header {
74
+ display: none;
75
+ }
76
+ ku4-table[stack-sm=column] tbody th,
77
+ ku4-table[stack-sm=column] tfoot th {
78
+ position: absolute;
79
+ display: block;
80
+ width: 0;
81
+ height: 0;
82
+ margin: 0;
83
+ padding: 0;
84
+ line-height: 0;
85
+ font-size: 0;
86
+ }
87
+ ku4-table[stack-sm=column] tbody td,
88
+ ku4-table[stack-sm=column] tfoot td {
89
+ display: flex;
90
+ }
91
+ ku4-table[stack-sm=column] tbody td:before,
92
+ ku4-table[stack-sm=column] tfoot td:before {
93
+ content: attr(data-ku4-row-header);
94
+ }
95
+ }
96
+ ku4-table[stack-sm=row] table {
97
+ display: flex;
98
+ flex-direction: column;
99
+ }
100
+ ku4-table[stack-sm=row] thead th,
101
+ ku4-table[stack-sm=row] thead td {
102
+ display: none;
103
+ }
104
+ ku4-table[stack-sm=row] thead,
105
+ ku4-table[stack-sm=row] tbody,
106
+ ku4-table[stack-sm=row] tfoot,
107
+ ku4-table[stack-sm=row] tr,
108
+ ku4-table[stack-sm=row] th,
109
+ ku4-table[stack-sm=row] td {
110
+ display: block;
111
+ }
112
+ ku4-table[stack-sm=row] tbody td:before,
113
+ ku4-table[stack-sm=row] tfoot td:before {
114
+ content: attr(data-ku4-column-header);
115
+ }
116
+ }