@public-ui/components 1.5.0-rc.5 → 1.5.0-rc.7

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 (369) hide show
  1. package/cheat-sheet.html +7 -7
  2. package/custom-elements.json +3 -3
  3. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  4. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  5. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  8. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  11. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  14. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  15. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  16. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  17. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  18. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  19. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  20. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  22. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  24. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  25. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  26. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  27. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  29. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  30. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  31. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  32. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  34. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  35. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  36. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  37. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  39. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  41. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  43. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  45. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  47. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  49. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  51. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  91. package/dist/components/component.js +1 -1
  92. package/dist/components/component.js.map +1 -1
  93. package/dist/components/component10.js +1 -1
  94. package/dist/components/component10.js.map +1 -1
  95. package/dist/components/component11.js +1 -1
  96. package/dist/components/component11.js.map +1 -1
  97. package/dist/components/component12.js +1 -1
  98. package/dist/components/component12.js.map +1 -1
  99. package/dist/components/component13.js +1 -1
  100. package/dist/components/component13.js.map +1 -1
  101. package/dist/components/component2.js +1 -1
  102. package/dist/components/component2.js.map +1 -1
  103. package/dist/components/component3.js +1 -1
  104. package/dist/components/component3.js.map +1 -1
  105. package/dist/components/component5.js +1 -1
  106. package/dist/components/component5.js.map +1 -1
  107. package/dist/components/component8.js +1 -1
  108. package/dist/components/component8.js.map +1 -1
  109. package/dist/components/kol-abbr.js +1 -1
  110. package/dist/components/kol-abbr.js.map +1 -1
  111. package/dist/components/kol-accordion.js +1 -1
  112. package/dist/components/kol-accordion.js.map +1 -1
  113. package/dist/components/kol-breadcrumb.js +1 -1
  114. package/dist/components/kol-breadcrumb.js.map +1 -1
  115. package/dist/components/kol-button-group.js +1 -1
  116. package/dist/components/kol-button-group.js.map +1 -1
  117. package/dist/components/kol-button-link.js +1 -1
  118. package/dist/components/kol-button-link.js.map +1 -1
  119. package/dist/components/kol-card.js +1 -1
  120. package/dist/components/kol-card.js.map +1 -1
  121. package/dist/components/kol-details.js +1 -1
  122. package/dist/components/kol-details.js.map +1 -1
  123. package/dist/components/kol-heading.js +1 -1
  124. package/dist/components/kol-heading.js.map +1 -1
  125. package/dist/components/kol-input-checkbox.js +1 -1
  126. package/dist/components/kol-input-checkbox.js.map +1 -1
  127. package/dist/components/kol-input-color.js +1 -1
  128. package/dist/components/kol-input-color.js.map +1 -1
  129. package/dist/components/kol-input-date.js +1 -1
  130. package/dist/components/kol-input-date.js.map +1 -1
  131. package/dist/components/kol-input-email.js +1 -1
  132. package/dist/components/kol-input-email.js.map +1 -1
  133. package/dist/components/kol-input-file.js +1 -1
  134. package/dist/components/kol-input-file.js.map +1 -1
  135. package/dist/components/kol-input-password.js +1 -1
  136. package/dist/components/kol-input-password.js.map +1 -1
  137. package/dist/components/kol-input-range.js +1 -1
  138. package/dist/components/kol-input-range.js.map +1 -1
  139. package/dist/components/kol-input-text.js +1 -1
  140. package/dist/components/kol-input-text.js.map +1 -1
  141. package/dist/components/kol-kolibri.js +1 -1
  142. package/dist/components/kol-kolibri.js.map +1 -1
  143. package/dist/components/kol-link-button.js +1 -1
  144. package/dist/components/kol-link-button.js.map +1 -1
  145. package/dist/components/kol-link-group.js +1 -1
  146. package/dist/components/kol-link-group.js.map +1 -1
  147. package/dist/components/kol-logo.js +1 -1
  148. package/dist/components/kol-logo.js.map +1 -1
  149. package/dist/components/kol-modal.js +1 -1
  150. package/dist/components/kol-modal.js.map +1 -1
  151. package/dist/components/kol-nav.js +1 -1
  152. package/dist/components/kol-nav.js.map +1 -1
  153. package/dist/components/kol-progress.js +1 -1
  154. package/dist/components/kol-progress.js.map +1 -1
  155. package/dist/components/kol-quote.js +1 -1
  156. package/dist/components/kol-quote.js.map +1 -1
  157. package/dist/components/kol-skip-nav.js +1 -1
  158. package/dist/components/kol-skip-nav.js.map +1 -1
  159. package/dist/components/kol-span.js +1 -1
  160. package/dist/components/kol-span.js.map +1 -1
  161. package/dist/components/kol-spin.js +1 -1
  162. package/dist/components/kol-spin.js.map +1 -1
  163. package/dist/components/kol-table.js +1 -1
  164. package/dist/components/kol-table.js.map +1 -1
  165. package/dist/components/kol-tabs.js +1 -1
  166. package/dist/components/kol-tabs.js.map +1 -1
  167. package/dist/components/kol-textarea.js +1 -1
  168. package/dist/components/kol-textarea.js.map +1 -1
  169. package/dist/components/kol-toast.js +1 -1
  170. package/dist/components/kol-toast.js.map +1 -1
  171. package/dist/components/kol-version.js +1 -1
  172. package/dist/components/kol-version.js.map +1 -1
  173. package/dist/components/shadow.js +1 -1
  174. package/dist/components/shadow.js.map +1 -1
  175. package/dist/components/shadow2.js +1 -1
  176. package/dist/components/shadow2.js.map +1 -1
  177. package/dist/esm/kol-abbr.entry.js +1 -1
  178. package/dist/esm/kol-abbr.entry.js.map +1 -1
  179. package/dist/esm/kol-accordion.entry.js +1 -1
  180. package/dist/esm/kol-accordion.entry.js.map +1 -1
  181. package/dist/esm/kol-alert.entry.js +1 -1
  182. package/dist/esm/kol-alert.entry.js.map +1 -1
  183. package/dist/esm/kol-badge.entry.js +1 -1
  184. package/dist/esm/kol-badge.entry.js.map +1 -1
  185. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  186. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  187. package/dist/esm/kol-button-group.entry.js +1 -1
  188. package/dist/esm/kol-button-group.entry.js.map +1 -1
  189. package/dist/esm/kol-button-link.entry.js +1 -1
  190. package/dist/esm/kol-button-link.entry.js.map +1 -1
  191. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  192. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  193. package/dist/esm/kol-button.entry.js +1 -1
  194. package/dist/esm/kol-button.entry.js.map +1 -1
  195. package/dist/esm/kol-card.entry.js +1 -1
  196. package/dist/esm/kol-card.entry.js.map +1 -1
  197. package/dist/esm/kol-details.entry.js +1 -1
  198. package/dist/esm/kol-details.entry.js.map +1 -1
  199. package/dist/esm/kol-heading.entry.js +1 -1
  200. package/dist/esm/kol-heading.entry.js.map +1 -1
  201. package/dist/esm/kol-icon.entry.js +1 -1
  202. package/dist/esm/kol-icon.entry.js.map +1 -1
  203. package/dist/esm/kol-indented-text.entry.js +1 -1
  204. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  205. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  206. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  207. package/dist/esm/kol-input-color.entry.js +1 -1
  208. package/dist/esm/kol-input-color.entry.js.map +1 -1
  209. package/dist/esm/kol-input-date.entry.js +1 -1
  210. package/dist/esm/kol-input-date.entry.js.map +1 -1
  211. package/dist/esm/kol-input-email.entry.js +1 -1
  212. package/dist/esm/kol-input-email.entry.js.map +1 -1
  213. package/dist/esm/kol-input-file.entry.js +1 -1
  214. package/dist/esm/kol-input-file.entry.js.map +1 -1
  215. package/dist/esm/kol-input-number.entry.js +1 -1
  216. package/dist/esm/kol-input-number.entry.js.map +1 -1
  217. package/dist/esm/kol-input-password.entry.js +1 -1
  218. package/dist/esm/kol-input-password.entry.js.map +1 -1
  219. package/dist/esm/kol-input-radio.entry.js +1 -1
  220. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  221. package/dist/esm/kol-input-range.entry.js +1 -1
  222. package/dist/esm/kol-input-range.entry.js.map +1 -1
  223. package/dist/esm/kol-input-text.entry.js +1 -1
  224. package/dist/esm/kol-input-text.entry.js.map +1 -1
  225. package/dist/esm/kol-kolibri.entry.js +1 -1
  226. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  227. package/dist/esm/kol-link-button.entry.js +1 -1
  228. package/dist/esm/kol-link-button.entry.js.map +1 -1
  229. package/dist/esm/kol-link-group.entry.js +1 -1
  230. package/dist/esm/kol-link-group.entry.js.map +1 -1
  231. package/dist/esm/kol-link.entry.js +1 -1
  232. package/dist/esm/kol-link.entry.js.map +1 -1
  233. package/dist/esm/kol-logo.entry.js +1 -1
  234. package/dist/esm/kol-logo.entry.js.map +1 -1
  235. package/dist/esm/kol-modal.entry.js +1 -1
  236. package/dist/esm/kol-modal.entry.js.map +1 -1
  237. package/dist/esm/kol-nav.entry.js +1 -1
  238. package/dist/esm/kol-nav.entry.js.map +1 -1
  239. package/dist/esm/kol-pagination.entry.js +1 -1
  240. package/dist/esm/kol-pagination.entry.js.map +1 -1
  241. package/dist/esm/kol-progress.entry.js +1 -1
  242. package/dist/esm/kol-progress.entry.js.map +1 -1
  243. package/dist/esm/kol-quote.entry.js +1 -1
  244. package/dist/esm/kol-quote.entry.js.map +1 -1
  245. package/dist/esm/kol-select.entry.js +1 -1
  246. package/dist/esm/kol-select.entry.js.map +1 -1
  247. package/dist/esm/kol-skip-nav.entry.js +1 -1
  248. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  249. package/dist/esm/kol-span.entry.js +1 -1
  250. package/dist/esm/kol-span.entry.js.map +1 -1
  251. package/dist/esm/kol-spin.entry.js +1 -1
  252. package/dist/esm/kol-spin.entry.js.map +1 -1
  253. package/dist/esm/kol-table.entry.js +1 -1
  254. package/dist/esm/kol-table.entry.js.map +1 -1
  255. package/dist/esm/kol-tabs.entry.js +1 -1
  256. package/dist/esm/kol-tabs.entry.js.map +1 -1
  257. package/dist/esm/kol-textarea.entry.js +1 -1
  258. package/dist/esm/kol-textarea.entry.js.map +1 -1
  259. package/dist/esm/kol-toast.entry.js +1 -1
  260. package/dist/esm/kol-toast.entry.js.map +1 -1
  261. package/dist/esm/kol-tooltip.entry.js +1 -1
  262. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  263. package/dist/esm/kol-version.entry.js +1 -1
  264. package/dist/esm/kol-version.entry.js.map +1 -1
  265. package/dist/kolibri/assets/modal-simulation.js +1 -1
  266. package/dist/kolibri/assets/nav-simulation.js +1 -1
  267. package/dist/kolibri/assets/progress-simulation.js +1 -1
  268. package/dist/kolibri/assets/smart-button-simulation.js +1 -1
  269. package/dist/kolibri/assets/style.css +39 -5
  270. package/dist/kolibri/assets/table-simulation.js +1 -1
  271. package/dist/kolibri/assets/toast-simulation.js +1 -1
  272. package/dist/kolibri/assets/tooltip-simulation.js +1 -0
  273. package/dist/kolibri/kol-abbr.entry.js +1 -1
  274. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  275. package/dist/kolibri/kol-accordion.entry.js +1 -1
  276. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  277. package/dist/kolibri/kol-alert.entry.js +1 -1
  278. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  279. package/dist/kolibri/kol-badge.entry.js +1 -1
  280. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  281. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  282. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  283. package/dist/kolibri/kol-button-group.entry.js +1 -1
  284. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  285. package/dist/kolibri/kol-button-link.entry.js +1 -1
  286. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  287. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  288. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  289. package/dist/kolibri/kol-button.entry.js +1 -1
  290. package/dist/kolibri/kol-button.entry.js.map +1 -1
  291. package/dist/kolibri/kol-card.entry.js +1 -1
  292. package/dist/kolibri/kol-card.entry.js.map +1 -1
  293. package/dist/kolibri/kol-details.entry.js +1 -1
  294. package/dist/kolibri/kol-details.entry.js.map +1 -1
  295. package/dist/kolibri/kol-heading.entry.js +1 -1
  296. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  297. package/dist/kolibri/kol-icon.entry.js +1 -1
  298. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  299. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  300. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  301. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  302. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  303. package/dist/kolibri/kol-input-color.entry.js +1 -1
  304. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  305. package/dist/kolibri/kol-input-date.entry.js +1 -1
  306. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  307. package/dist/kolibri/kol-input-email.entry.js +1 -1
  308. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  309. package/dist/kolibri/kol-input-file.entry.js +1 -1
  310. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  311. package/dist/kolibri/kol-input-number.entry.js +1 -1
  312. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  313. package/dist/kolibri/kol-input-password.entry.js +1 -1
  314. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  315. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  316. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  317. package/dist/kolibri/kol-input-range.entry.js +1 -1
  318. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  319. package/dist/kolibri/kol-input-text.entry.js +1 -1
  320. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  321. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  322. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  323. package/dist/kolibri/kol-link-button.entry.js +1 -1
  324. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  325. package/dist/kolibri/kol-link-group.entry.js +1 -1
  326. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  327. package/dist/kolibri/kol-link.entry.js +1 -1
  328. package/dist/kolibri/kol-link.entry.js.map +1 -1
  329. package/dist/kolibri/kol-logo.entry.js +1 -1
  330. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  331. package/dist/kolibri/kol-modal.entry.js +1 -1
  332. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  333. package/dist/kolibri/kol-nav.entry.js +1 -1
  334. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  335. package/dist/kolibri/kol-pagination.entry.js +1 -1
  336. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  337. package/dist/kolibri/kol-progress.entry.js +1 -1
  338. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  339. package/dist/kolibri/kol-quote.entry.js +1 -1
  340. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  341. package/dist/kolibri/kol-select.entry.js +1 -1
  342. package/dist/kolibri/kol-select.entry.js.map +1 -1
  343. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  344. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  345. package/dist/kolibri/kol-span.entry.js +1 -1
  346. package/dist/kolibri/kol-span.entry.js.map +1 -1
  347. package/dist/kolibri/kol-spin.entry.js +1 -1
  348. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  349. package/dist/kolibri/kol-table.entry.js +1 -1
  350. package/dist/kolibri/kol-table.entry.js.map +1 -1
  351. package/dist/kolibri/kol-tabs.entry.js +1 -1
  352. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  353. package/dist/kolibri/kol-textarea.entry.js +1 -1
  354. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  355. package/dist/kolibri/kol-toast.entry.js +1 -1
  356. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  357. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  358. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  359. package/dist/kolibri/kol-version.entry.js +1 -1
  360. package/dist/kolibri/kol-version.entry.js.map +1 -1
  361. package/dist/types/components/nav/component.d.ts +7 -0
  362. package/doc/button.md +1 -1
  363. package/doc/components.md +3 -3
  364. package/doc/input-color.md +7 -7
  365. package/doc/nav.md +9 -7
  366. package/doc/select.md +5 -5
  367. package/jest-test-results.json +1 -1
  368. package/package.json +1 -1
  369. package/vscode-custom-data.json +1 -1
@@ -1 +1 @@
1
- {"file":"kol-logo.entry.cjs.js","mappings":"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","names":["Bundesamt","Bundesanstalt","Bundesministerium","h","setState","devHint","translate","BUND_LOGO_TEXT_MAP","index"],"sources":["./src/components/logo/style.css?tag=kol-logo&mode=default&encapsulation=shadow","./src/components/logo/component.tsx"],"sourcesContent":["@import '../style.css';\n\ntext {\n\tfont-size: 16px;\n\tletter-spacing: normal;\n\tword-spacing: normal;\n}\n","import { Component, JSX, h, Prop, State, Watch } from '@stencil/core';\n\nimport { BUND_LOGO_TEXT_MAP, Bundesamt, Bundesanstalt, Bundesministerium } from '../../enums/bund';\nimport { Generic } from '@a11y-ui/core';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { setState } from '../../utils/prop.validators';\nimport { translate } from '../../i18n';\n\nfunction enumToArray(enumeration: Record<string, string>, enumAsMap: Map<string, string> = new Map()): Map<string, string> {\n\tObject.entries(enumeration).map(([key, value]) => {\n\t\tenumAsMap.set(value, key);\n\t});\n\treturn enumAsMap;\n}\n\nconst ENUM_AS_MAP = enumToArray(Bundesamt, enumToArray(Bundesanstalt, enumToArray(Bundesministerium)));\n\nfunction getAriaLabel(organ: string): string {\n\tif (ENUM_AS_MAP.has(organ)) {\n\t\treturn ENUM_AS_MAP.get(organ) as string;\n\t} else {\n\t\treturn '';\n\t}\n}\n\n/**\n * API\n */\ntype RequiredProps = {\n\torg: Bundesministerium | Bundesamt | Bundesanstalt;\n};\ntype OptionalProps = {\n\tabbr: Bundesministerium | Bundesamt | Bundesanstalt;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst Adler = (): JSX.Element => (\n\t<path\n\t\td=\"M21.72,12.77c0.04-0.33,0.06-0.67,0.06-1c0-0.2,0-0.43,0-0.69c3.06,0,5.74-2.25,5.74-4.78\nc-0.09-1.07-0.56-2.08-1.32-2.84l0.32-0.07c1,0.89,1.61,2.14,1.7,3.48c0,3-3,5.85-6.5,5.92 M18.64,2.21\nc-0.05-0.33-0.19-0.64-0.39-0.91c0-0.31,0.14-0.61,0.64-0.36c-0.27,0.27-0.06,0.76-0.06,0.76s0.55-0.26,0.44-0.62\nC20.09,1.28,19.5,2.38,18.64,2.21 M17.93,3.77c-0.12-0.47-0.34-0.9-0.64-1.27c-0.3-0.42-0.77-0.69-1.29-0.73\nc-0.34,0.03-0.68,0.12-1,0.25c-0.16-0.28-0.27-0.58-0.32-0.9c0-0.22,0.38-0.44,1.1-0.44c1.58,0,2.52,0.71,2.52,1.91\nC18.26,3.01,18.14,3.41,17.93,3.77 M22,24.16c0.13,0,0.26,0.02,0.38,0.07c0.64,1.3,1.4,2.53,2.29,3.68l0,0l0,0\nc0.81-0.14,1.63-0.22,2.45-0.24l0,0c0.1-0.01,0.2,0.01,0.28,0.07c0.07,0.09,0.1,0.2,0.09,0.31c-0.01,0.28-0.08,0.55-0.21,0.79\nc-0.46-0.4-1.07-0.59-1.68-0.51c-0.24,0.01-0.48,0.05-0.71,0.12h-0.07h-0.07l0.48,0.49c0.77,0.83,1.44,1.43,1.44,1.83\nc-0.04,0.31-0.22,0.58-0.48,0.74c-0.22-0.98-0.8-1.84-1.62-2.42h-0.06v0.27c0,0.19,0,0.47,0,0.77c0,1.49-0.15,1.72-0.67,1.72\nc-0.09,0.01-0.19,0.01-0.28,0c0.33-0.49,0.48-1.08,0.41-1.67v-0.7c0-0.27,0.03-0.53,0.06-0.8v-0.11h-0.08\nc-0.33-0.05-0.67-0.09-1-0.1c-0.57-0.07-1.14,0.07-1.6,0.41c-0.24-0.18-0.41-0.44-0.48-0.73c0-0.32,0.19-0.34,0.45-0.34\nc0.14-0.01,0.27-0.01,0.41,0c0.59,0.09,1.18,0.13,1.78,0.12h0.06v-0.06c-0.5-1.13-1.18-2.17-2-3.09c0.1-0.35,0.2-0.59,0.54-0.59\nM12.64,27.87v0.06h0.06c0.55-0.01,1.1-0.06,1.64-0.16c0.14-0.01,0.27-0.01,0.41,0c0.26,0,0.45,0,0.45,0.34\nc-0.07,0.29-0.24,0.55-0.48,0.73c-0.46-0.34-1.03-0.49-1.6-0.41c-0.33,0.01-0.67,0.05-1,0.1H12v0.11\nc0.03,0.27,0.06,0.53,0.06,0.8v0.7c-0.05,0.58,0.1,1.15,0.42,1.63c-0.09,0.01-0.19,0.01-0.28,0c-0.52,0-0.67-0.23-0.67-1.72\nc0-0.3,0-0.58,0-0.77V29l-0.06,0.05c-0.82,0.58-1.39,1.44-1.61,2.42c-0.28-0.14-0.47-0.4-0.53-0.7c0-0.43,0.65-1.07,1.39-1.81\nl0.43-0.43v-0.06h-0.14c-0.23-0.07-0.47-0.11-0.71-0.12c-0.61-0.08-1.22,0.11-1.68,0.51c-0.13-0.24-0.2-0.51-0.21-0.79\nc0.01-0.11,0.06-0.22,0.14-0.3c0.08-0.06,0.18-0.08,0.28-0.07l0,0c0.82,0.02,1.64,0.1,2.45,0.24l0,0l0,0\nc0.88-1.15,1.64-2.38,2.28-3.68c0.12-0.05,0.25-0.07,0.38-0.07c0.35,0,0.44,0.24,0.54,0.59c-0.82,0.92-1.5,1.96-2,3.09\nM7.78,6.87c0.08-1.36,0.7-2.62,1.72-3.52l0.32,0.07C9.06,4.19,8.6,5.19,8.51,6.26c0,2.56,2.73,4.78,5.82,4.78\nc0,0.22,0,0.45,0,0.69c-0.01,0.35,0,0.69,0.03,1.04c-3.5,0-6.58-2.86-6.58-5.92 M31.25,12.23c1.57,2.49,2.8,2.45,4.66,2.45\nc-1.19-0.97-2.21-2.14-3-3.46L30,6.65c-0.29-1.44-1.03-2.75-2.12-3.73c0.31-0.1,0.6-0.24,0.87-0.42c-1.88,0-3.73-1-4.75-1\nc-0.55-0.05-1.03,0.36-1.08,0.91c0,0.58,0.63,1.16,1.73,1.16c0.31,0,0.62-0.04,0.92-0.09c0.65,0.74,1.03,1.67,1.08,2.65\nc0,2-2.41,3.58-4.83,3.58h-0.41c-0.5-0.67-0.84-1.45-1-2.28c0-1.6,1.05-2.9,1.05-4.48c0-0.68-0.24-1.33-0.67-1.85\nc0.29-0.23,0.53-0.52,0.7-0.85c-0.22,0.08-0.45,0.11-0.68,0.09c-1.16,0-2.11-0.3-3-0.3c-0.53,0-0.67,0.16-0.67,0.31\nc-0.01,0.05-0.01,0.1,0,0.15c-0.19-0.08-0.39-0.13-0.59-0.17c-0.29-0.05-0.58-0.08-0.88-0.08c-1.13,0-1.52,0.47-1.52,0.87\nc0.07,0.52,0.27,1.01,0.57,1.44c0.4-0.2,0.84-0.31,1.28-0.34c0.6,0,1.13,0.57,1.41,1.24c-0.29,0.05-0.59,0.07-0.88,0.07\nc-0.68-0.03-1.36-0.16-2-0.39l0,0c0,0,0.31,0.56,0.92,0.78c0.72,0.22,1.46,0.37,2.21,0.45c-0.08,0.21-0.23,0.38-0.43,0.49\nc-0.05,0.02-0.09,0.02-0.14,0c-0.74-0.14-1.45-0.35-2.14-0.65H14.9c0,0.42,1.09,1.35,2.07,1.71c-1.06,1.1-1.87,2.41-2.39,3.85\nh-0.41c-2.42,0-4.82-1.57-4.82-3.58c0.05-0.98,0.43-1.91,1.07-2.65c0.3,0.05,0.61,0.09,0.92,0.09c1.1,0,1.69-0.58,1.74-1.16\nc-0.04-0.55-0.52-0.96-1.07-0.92c0,0,0,0-0.01,0c-1,0-2.88,1-4.76,1C7.51,2.73,7.8,2.87,8.11,2.97C7.03,3.94,6.29,5.23,6,6.65\nl-2.87,4.59c-0.79,1.32-1.81,2.49-3,3.46c1.86,0,3.09,0,4.66-2.45L6.26,9.9c0.11,0.31,0.24,0.61,0.4,0.9l-2.97,4.67\nc-0.79,1.32-1.8,2.49-3,3.46c1.85,0,3.08,0,4.65-2.44l2.52-4c0.19,0.2,0.39,0.4,0.6,0.58l-3.59,5.7c-0.79,1.32-1.8,2.49-3,3.45\nc1.85,0,3.08,0.05,4.65-2.44L10,14.2c0.22,0.14,0.46,0.28,0.7,0.41l-4.27,6.77c-0.79,1.31-1.81,2.48-3,3.45\nc1.85,0,3.08,0,4.65-2.44l4.36-7c0.25,0.1,0.51,0.2,0.78,0.28l-4.95,7.9c-0.79,1.31-1.81,2.48-3,3.45c1.85,0,3.08,0.05,4.65-2.43\nl5.24-8.39h0.16c0.14,0.42,0.22,0.86,0.24,1.3c0,2.64-1.73,5-3.8,6.76c0.19,0.06,0.38,0.09,0.58,0.08c0.3,0.01,0.6-0.01,0.9-0.05\nc-0.57,1.13-1.24,2.21-2,3.23c-0.77-0.13-1.54-0.2-2.32-0.22c-0.67,0-0.75,0.4-0.75,0.75c-0.01,0.53,0.22,1.03,0.62,1.38\nc0.13-0.31,0.38-0.73,1.63-0.73h0.13C10.11,29.13,9,30.06,9,30.77c0.06,0.66,0.59,1.18,1.25,1.24c-0.02-0.14-0.02-0.28,0-0.42\nc0.13-0.69,0.48-1.33,1-1.8c-0.01,0.1-0.01,0.2,0,0.3c0,1.43,0.13,2.08,1,2.08c0.31-0.01,0.61-0.12,0.86-0.31\nc-0.5-0.44-0.73-1.11-0.62-1.77c0-0.21,0-0.41,0-0.69c0.02-0.2,0.02-0.41,0-0.61c0.24-0.02,0.47-0.02,0.71,0\nc0,0,1.29-0.1,1.6,0.57c0.35-0.32,0.86-0.78,0.86-1.27c0-0.33-0.16-0.71-0.83-0.71c-0.25,0-1,0.16-1.7,0.16\nc0.48-0.84,1.04-1.64,1.66-2.39c0.1,0.39,0.31,0.74,0.62,1c0.12-1.17,0.54-2.28,1.21-3.24c0.16,0.93,0.24,1.87,0.23,2.82\nc0,3.55-0.85,6.17-2.66,6.67c0.26,0.46,0.73,0.75,1.25,0.78c0.66,0,1-0.75,1.39-1.46c0.19,0.53,0.72,1.8,1.25,1.8\ns1.06-1.27,1.25-1.8c0.37,0.71,0.73,1.46,1.39,1.46c0.52-0.03,1-0.33,1.26-0.78c-1.82-0.5-2.67-3.12-2.67-6.67\nc-0.01-0.95,0.07-1.89,0.23-2.82c0.68,0.96,1.1,2.07,1.21,3.24c0.31-0.26,0.53-0.61,0.63-1c0.61,0.75,1.15,1.54,1.62,2.38\nc-0.66,0-1.45-0.16-1.7-0.16c-0.67,0-0.82,0.38-0.82,0.71c0,0.49,0.51,1,0.86,1.27c0.3-0.67,1.59-0.57,1.59-0.57\nc0.24-0.02,0.47-0.02,0.71,0c-0.02,0.2-0.02,0.41,0,0.61v0.69c0.11,0.66-0.12,1.33-0.62,1.77c0.25,0.19,0.55,0.3,0.86,0.31\nc0.91,0,1-0.65,1-2.08c0.01-0.1,0.01-0.2,0-0.3c0.52,0.47,0.87,1.11,1,1.8c0.02,0.14,0.02,0.28,0,0.42\nc0.61-0.11,1.06-0.62,1.12-1.23c0-0.74-1.15-1.67-1.52-2.08h0.13c1.25,0,1.5,0.42,1.63,0.73c0.4-0.35,0.63-0.85,0.62-1.38\nc0-0.35-0.07-0.75-0.75-0.75c-0.78,0.02-1.55,0.09-2.32,0.22c-0.76-1.02-1.43-2.1-2-3.23c0.3,0.04,0.6,0.06,0.9,0.05\nc0.19,0.01,0.39-0.02,0.57-0.08c-2.07-1.79-3.8-4.12-3.8-6.76c0.02-0.44,0.1-0.88,0.24-1.3h0.16l5.24,8.39\nc1.57,2.48,2.8,2.43,4.65,2.43c-1.19-0.97-2.21-2.14-3-3.45l-4.92-7.87c0.27-0.08,0.53-0.18,0.79-0.28l4.35,7\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.14-3-3.45l-4.23-6.77c0.24-0.13,0.48-0.27,0.7-0.41l3.42,5.55\nc1.57,2.49,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.13-3-3.45l-3.55-5.69c0.2-0.18,0.4-0.38,0.59-0.58l2.52,4\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.2-0.97-2.21-2.14-3-3.46l-2.99-4.7c0.16-0.29,0.29-0.59,0.4-0.9L31.25,12.23z\"\n\t></path>\n);\n\n@Component({\n\ttag: 'kol-logo',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLogo implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\t/**\n\t * Gibt die Abkürzung eines Ministeriums, eines Amts oder einer Bundesanstalt an.\n\t *\n\t * @deprecated Verwende stattdessen das Property _org.\n\t */\n\t@Prop() public _abbr?: Bundesministerium | Bundesamt | Bundesanstalt;\n\n\t/**\n\t * Gibt die Abkürzung eines Ministeriums, eines Amts oder einer Bundesanstalt an.\n\t */\n\t@Prop() public _org!: Bundesministerium | Bundesamt | Bundesanstalt;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_org: Bundesanstalt['Informationstechnikzentrum Bund'],\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_abbr')\n\tpublic validateAbbr(value?: Bundesministerium | Bundesamt | Bundesanstalt): void {\n\t\tthis.validateOrg(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_org')\n\tpublic validateOrg(value?: Bundesministerium | Bundesamt | Bundesanstalt): void {\n\t\tif (typeof value === 'string' && ENUM_AS_MAP.has(value)) {\n\t\t\tsetState(this, '_org', value);\n\t\t} else {\n\t\t\tdevHint(`Die verwendete Abkürzung (${value as string}) ist nicht definiert!`);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateOrg(this._org || this._abbr);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<svg\n\t\t\t\taria-label={translate('kol-logo-description', { placeholders: { orgShort: this.state._org, orgLong: getAriaLabel(this.state._org) } })}\n\t\t\t\trole=\"img\"\n\t\t\t\tviewBox=\"0 0 225 100\"\n\t\t\t>\n\t\t\t\t<rect width=\"100%\" height=\"100%\" fill=\"white\"></rect>\n\t\t\t\t<svg x=\"0\" y=\"4\" height=\"75\">\n\t\t\t\t\t<Adler />\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"40.5\" y=\"3.5\" height=\"100\">\n\t\t\t\t\t<rect width=\"5\" height=\"30\"></rect>\n\t\t\t\t\t<rect y=\"30\" width=\"5\" height=\"30\" fill=\"red\"></rect>\n\t\t\t\t\t<rect y=\"60\" width=\"5\" height=\"30\" fill=\"#fc0\"></rect>\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"50\" y=\"0\">\n\t\t\t\t\t<text x=\"0\" y=\"-0.05em\" font-family=\"BundesSans Web\" style={{ backgroundColor: 'white', color: 'black' }}>\n\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.has(this.state._org) ? (\n\t\t\t\t\t\t\t<tspan>\n\t\t\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.get(this.state._org)?.map((text: string, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" key={`kol-logo-text-${index}`}>\n\t\t\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<tspan fill=\"red\">\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tDer Schlüsselwert\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" font-weight=\"bold\">\n\t\t\t\t\t\t\t\t\t'{this.state._org}'\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tist nicht definiert.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\toder freigegeben.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</text>\n\t\t\t\t</svg>\n\t\t\t</svg>\n\t\t);\n\t}\n}\n"],"version":3}
1
+ {"file":"kol-logo.entry.cjs.js","mappings":"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","names":["Bundesamt","Bundesanstalt","Bundesministerium","h","setState","devHint","translate","BUND_LOGO_TEXT_MAP","index"],"sources":["./src/components/logo/style.css?tag=kol-logo&mode=default&encapsulation=shadow","./src/components/logo/component.tsx"],"sourcesContent":["@import '../style.css';\n\ntext {\n\tfont-size: 16px;\n\tletter-spacing: normal;\n\tword-spacing: normal;\n}\n","import { Component, JSX, h, Prop, State, Watch } from '@stencil/core';\n\nimport { BUND_LOGO_TEXT_MAP, Bundesamt, Bundesanstalt, Bundesministerium } from '../../enums/bund';\nimport { Generic } from '@a11y-ui/core';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { setState } from '../../utils/prop.validators';\nimport { translate } from '../../i18n';\n\nfunction enumToArray(enumeration: Record<string, string>, enumAsMap: Map<string, string> = new Map()): Map<string, string> {\n\tObject.entries(enumeration).map(([key, value]) => {\n\t\tenumAsMap.set(value, key);\n\t});\n\treturn enumAsMap;\n}\n\nconst ENUM_AS_MAP = enumToArray(Bundesamt, enumToArray(Bundesanstalt, enumToArray(Bundesministerium)));\n\nfunction getAriaLabel(organ: string): string {\n\tif (ENUM_AS_MAP.has(organ)) {\n\t\treturn ENUM_AS_MAP.get(organ) as string;\n\t} else {\n\t\treturn '';\n\t}\n}\n\n/**\n * API\n */\ntype RequiredProps = {\n\torg: Bundesministerium | Bundesamt | Bundesanstalt;\n};\ntype OptionalProps = {\n\tabbr: Bundesministerium | Bundesamt | Bundesanstalt;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst Adler = (): JSX.Element => (\n\t<path\n\t\td=\"M21.72,12.77c0.04-0.33,0.06-0.67,0.06-1c0-0.2,0-0.43,0-0.69c3.06,0,5.74-2.25,5.74-4.78\nc-0.09-1.07-0.56-2.08-1.32-2.84l0.32-0.07c1,0.89,1.61,2.14,1.7,3.48c0,3-3,5.85-6.5,5.92 M18.64,2.21\nc-0.05-0.33-0.19-0.64-0.39-0.91c0-0.31,0.14-0.61,0.64-0.36c-0.27,0.27-0.06,0.76-0.06,0.76s0.55-0.26,0.44-0.62\nC20.09,1.28,19.5,2.38,18.64,2.21 M17.93,3.77c-0.12-0.47-0.34-0.9-0.64-1.27c-0.3-0.42-0.77-0.69-1.29-0.73\nc-0.34,0.03-0.68,0.12-1,0.25c-0.16-0.28-0.27-0.58-0.32-0.9c0-0.22,0.38-0.44,1.1-0.44c1.58,0,2.52,0.71,2.52,1.91\nC18.26,3.01,18.14,3.41,17.93,3.77 M22,24.16c0.13,0,0.26,0.02,0.38,0.07c0.64,1.3,1.4,2.53,2.29,3.68l0,0l0,0\nc0.81-0.14,1.63-0.22,2.45-0.24l0,0c0.1-0.01,0.2,0.01,0.28,0.07c0.07,0.09,0.1,0.2,0.09,0.31c-0.01,0.28-0.08,0.55-0.21,0.79\nc-0.46-0.4-1.07-0.59-1.68-0.51c-0.24,0.01-0.48,0.05-0.71,0.12h-0.07h-0.07l0.48,0.49c0.77,0.83,1.44,1.43,1.44,1.83\nc-0.04,0.31-0.22,0.58-0.48,0.74c-0.22-0.98-0.8-1.84-1.62-2.42h-0.06v0.27c0,0.19,0,0.47,0,0.77c0,1.49-0.15,1.72-0.67,1.72\nc-0.09,0.01-0.19,0.01-0.28,0c0.33-0.49,0.48-1.08,0.41-1.67v-0.7c0-0.27,0.03-0.53,0.06-0.8v-0.11h-0.08\nc-0.33-0.05-0.67-0.09-1-0.1c-0.57-0.07-1.14,0.07-1.6,0.41c-0.24-0.18-0.41-0.44-0.48-0.73c0-0.32,0.19-0.34,0.45-0.34\nc0.14-0.01,0.27-0.01,0.41,0c0.59,0.09,1.18,0.13,1.78,0.12h0.06v-0.06c-0.5-1.13-1.18-2.17-2-3.09c0.1-0.35,0.2-0.59,0.54-0.59\nM12.64,27.87v0.06h0.06c0.55-0.01,1.1-0.06,1.64-0.16c0.14-0.01,0.27-0.01,0.41,0c0.26,0,0.45,0,0.45,0.34\nc-0.07,0.29-0.24,0.55-0.48,0.73c-0.46-0.34-1.03-0.49-1.6-0.41c-0.33,0.01-0.67,0.05-1,0.1H12v0.11\nc0.03,0.27,0.06,0.53,0.06,0.8v0.7c-0.05,0.58,0.1,1.15,0.42,1.63c-0.09,0.01-0.19,0.01-0.28,0c-0.52,0-0.67-0.23-0.67-1.72\nc0-0.3,0-0.58,0-0.77V29l-0.06,0.05c-0.82,0.58-1.39,1.44-1.61,2.42c-0.28-0.14-0.47-0.4-0.53-0.7c0-0.43,0.65-1.07,1.39-1.81\nl0.43-0.43v-0.06h-0.14c-0.23-0.07-0.47-0.11-0.71-0.12c-0.61-0.08-1.22,0.11-1.68,0.51c-0.13-0.24-0.2-0.51-0.21-0.79\nc0.01-0.11,0.06-0.22,0.14-0.3c0.08-0.06,0.18-0.08,0.28-0.07l0,0c0.82,0.02,1.64,0.1,2.45,0.24l0,0l0,0\nc0.88-1.15,1.64-2.38,2.28-3.68c0.12-0.05,0.25-0.07,0.38-0.07c0.35,0,0.44,0.24,0.54,0.59c-0.82,0.92-1.5,1.96-2,3.09\nM7.78,6.87c0.08-1.36,0.7-2.62,1.72-3.52l0.32,0.07C9.06,4.19,8.6,5.19,8.51,6.26c0,2.56,2.73,4.78,5.82,4.78\nc0,0.22,0,0.45,0,0.69c-0.01,0.35,0,0.69,0.03,1.04c-3.5,0-6.58-2.86-6.58-5.92 M31.25,12.23c1.57,2.49,2.8,2.45,4.66,2.45\nc-1.19-0.97-2.21-2.14-3-3.46L30,6.65c-0.29-1.44-1.03-2.75-2.12-3.73c0.31-0.1,0.6-0.24,0.87-0.42c-1.88,0-3.73-1-4.75-1\nc-0.55-0.05-1.03,0.36-1.08,0.91c0,0.58,0.63,1.16,1.73,1.16c0.31,0,0.62-0.04,0.92-0.09c0.65,0.74,1.03,1.67,1.08,2.65\nc0,2-2.41,3.58-4.83,3.58h-0.41c-0.5-0.67-0.84-1.45-1-2.28c0-1.6,1.05-2.9,1.05-4.48c0-0.68-0.24-1.33-0.67-1.85\nc0.29-0.23,0.53-0.52,0.7-0.85c-0.22,0.08-0.45,0.11-0.68,0.09c-1.16,0-2.11-0.3-3-0.3c-0.53,0-0.67,0.16-0.67,0.31\nc-0.01,0.05-0.01,0.1,0,0.15c-0.19-0.08-0.39-0.13-0.59-0.17c-0.29-0.05-0.58-0.08-0.88-0.08c-1.13,0-1.52,0.47-1.52,0.87\nc0.07,0.52,0.27,1.01,0.57,1.44c0.4-0.2,0.84-0.31,1.28-0.34c0.6,0,1.13,0.57,1.41,1.24c-0.29,0.05-0.59,0.07-0.88,0.07\nc-0.68-0.03-1.36-0.16-2-0.39l0,0c0,0,0.31,0.56,0.92,0.78c0.72,0.22,1.46,0.37,2.21,0.45c-0.08,0.21-0.23,0.38-0.43,0.49\nc-0.05,0.02-0.09,0.02-0.14,0c-0.74-0.14-1.45-0.35-2.14-0.65H14.9c0,0.42,1.09,1.35,2.07,1.71c-1.06,1.1-1.87,2.41-2.39,3.85\nh-0.41c-2.42,0-4.82-1.57-4.82-3.58c0.05-0.98,0.43-1.91,1.07-2.65c0.3,0.05,0.61,0.09,0.92,0.09c1.1,0,1.69-0.58,1.74-1.16\nc-0.04-0.55-0.52-0.96-1.07-0.92c0,0,0,0-0.01,0c-1,0-2.88,1-4.76,1C7.51,2.73,7.8,2.87,8.11,2.97C7.03,3.94,6.29,5.23,6,6.65\nl-2.87,4.59c-0.79,1.32-1.81,2.49-3,3.46c1.86,0,3.09,0,4.66-2.45L6.26,9.9c0.11,0.31,0.24,0.61,0.4,0.9l-2.97,4.67\nc-0.79,1.32-1.8,2.49-3,3.46c1.85,0,3.08,0,4.65-2.44l2.52-4c0.19,0.2,0.39,0.4,0.6,0.58l-3.59,5.7c-0.79,1.32-1.8,2.49-3,3.45\nc1.85,0,3.08,0.05,4.65-2.44L10,14.2c0.22,0.14,0.46,0.28,0.7,0.41l-4.27,6.77c-0.79,1.31-1.81,2.48-3,3.45\nc1.85,0,3.08,0,4.65-2.44l4.36-7c0.25,0.1,0.51,0.2,0.78,0.28l-4.95,7.9c-0.79,1.31-1.81,2.48-3,3.45c1.85,0,3.08,0.05,4.65-2.43\nl5.24-8.39h0.16c0.14,0.42,0.22,0.86,0.24,1.3c0,2.64-1.73,5-3.8,6.76c0.19,0.06,0.38,0.09,0.58,0.08c0.3,0.01,0.6-0.01,0.9-0.05\nc-0.57,1.13-1.24,2.21-2,3.23c-0.77-0.13-1.54-0.2-2.32-0.22c-0.67,0-0.75,0.4-0.75,0.75c-0.01,0.53,0.22,1.03,0.62,1.38\nc0.13-0.31,0.38-0.73,1.63-0.73h0.13C10.11,29.13,9,30.06,9,30.77c0.06,0.66,0.59,1.18,1.25,1.24c-0.02-0.14-0.02-0.28,0-0.42\nc0.13-0.69,0.48-1.33,1-1.8c-0.01,0.1-0.01,0.2,0,0.3c0,1.43,0.13,2.08,1,2.08c0.31-0.01,0.61-0.12,0.86-0.31\nc-0.5-0.44-0.73-1.11-0.62-1.77c0-0.21,0-0.41,0-0.69c0.02-0.2,0.02-0.41,0-0.61c0.24-0.02,0.47-0.02,0.71,0\nc0,0,1.29-0.1,1.6,0.57c0.35-0.32,0.86-0.78,0.86-1.27c0-0.33-0.16-0.71-0.83-0.71c-0.25,0-1,0.16-1.7,0.16\nc0.48-0.84,1.04-1.64,1.66-2.39c0.1,0.39,0.31,0.74,0.62,1c0.12-1.17,0.54-2.28,1.21-3.24c0.16,0.93,0.24,1.87,0.23,2.82\nc0,3.55-0.85,6.17-2.66,6.67c0.26,0.46,0.73,0.75,1.25,0.78c0.66,0,1-0.75,1.39-1.46c0.19,0.53,0.72,1.8,1.25,1.8\ns1.06-1.27,1.25-1.8c0.37,0.71,0.73,1.46,1.39,1.46c0.52-0.03,1-0.33,1.26-0.78c-1.82-0.5-2.67-3.12-2.67-6.67\nc-0.01-0.95,0.07-1.89,0.23-2.82c0.68,0.96,1.1,2.07,1.21,3.24c0.31-0.26,0.53-0.61,0.63-1c0.61,0.75,1.15,1.54,1.62,2.38\nc-0.66,0-1.45-0.16-1.7-0.16c-0.67,0-0.82,0.38-0.82,0.71c0,0.49,0.51,1,0.86,1.27c0.3-0.67,1.59-0.57,1.59-0.57\nc0.24-0.02,0.47-0.02,0.71,0c-0.02,0.2-0.02,0.41,0,0.61v0.69c0.11,0.66-0.12,1.33-0.62,1.77c0.25,0.19,0.55,0.3,0.86,0.31\nc0.91,0,1-0.65,1-2.08c0.01-0.1,0.01-0.2,0-0.3c0.52,0.47,0.87,1.11,1,1.8c0.02,0.14,0.02,0.28,0,0.42\nc0.61-0.11,1.06-0.62,1.12-1.23c0-0.74-1.15-1.67-1.52-2.08h0.13c1.25,0,1.5,0.42,1.63,0.73c0.4-0.35,0.63-0.85,0.62-1.38\nc0-0.35-0.07-0.75-0.75-0.75c-0.78,0.02-1.55,0.09-2.32,0.22c-0.76-1.02-1.43-2.1-2-3.23c0.3,0.04,0.6,0.06,0.9,0.05\nc0.19,0.01,0.39-0.02,0.57-0.08c-2.07-1.79-3.8-4.12-3.8-6.76c0.02-0.44,0.1-0.88,0.24-1.3h0.16l5.24,8.39\nc1.57,2.48,2.8,2.43,4.65,2.43c-1.19-0.97-2.21-2.14-3-3.45l-4.92-7.87c0.27-0.08,0.53-0.18,0.79-0.28l4.35,7\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.14-3-3.45l-4.23-6.77c0.24-0.13,0.48-0.27,0.7-0.41l3.42,5.55\nc1.57,2.49,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.13-3-3.45l-3.55-5.69c0.2-0.18,0.4-0.38,0.59-0.58l2.52,4\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.2-0.97-2.21-2.14-3-3.46l-2.99-4.7c0.16-0.29,0.29-0.59,0.4-0.9L31.25,12.23z\"\n\t></path>\n);\n\n@Component({\n\ttag: 'kol-logo',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLogo implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\t/**\n\t * Gibt die Abkürzung eines Ministeriums, eines Amts oder einer Bundesanstalt an.\n\t *\n\t * @deprecated Verwende stattdessen das Property _org.\n\t */\n\t@Prop() public _abbr?: Bundesministerium | Bundesamt | Bundesanstalt;\n\n\t/**\n\t * Gibt die Abkürzung eines Ministeriums, eines Amts oder einer Bundesanstalt an.\n\t */\n\t@Prop() public _org!: Bundesministerium | Bundesamt | Bundesanstalt;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_org: Bundesanstalt['Informationstechnikzentrum Bund'],\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_abbr')\n\tpublic validateAbbr(value?: Bundesministerium | Bundesamt | Bundesanstalt): void {\n\t\tthis.validateOrg(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_org')\n\tpublic validateOrg(value?: Bundesministerium | Bundesamt | Bundesanstalt): void {\n\t\tif (typeof value === 'string' && ENUM_AS_MAP.has(value)) {\n\t\t\tsetState(this, '_org', value);\n\t\t} else {\n\t\t\tdevHint(`Die verwendete Abkürzung (${value as string}) ist nicht definiert!`);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateOrg(this._org || this._abbr);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<svg\n\t\t\t\taria-label={translate('kol-logo-description', { placeholders: { orgShort: this.state._org, orgLong: getAriaLabel(this.state._org) } })}\n\t\t\t\trole=\"img\"\n\t\t\t\tviewBox=\"0 0 225 100\"\n\t\t\t>\n\t\t\t\t<rect width=\"100%\" height=\"100%\" fill=\"white\"></rect>\n\t\t\t\t<svg x=\"0\" y=\"4\" height=\"75\">\n\t\t\t\t\t<Adler />\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"40.5\" y=\"3.5\" height=\"100\">\n\t\t\t\t\t<rect width=\"5\" height=\"30\"></rect>\n\t\t\t\t\t<rect y=\"30\" width=\"5\" height=\"30\" fill=\"red\"></rect>\n\t\t\t\t\t<rect y=\"60\" width=\"5\" height=\"30\" fill=\"#fc0\"></rect>\n\t\t\t\t</svg>\n\t\t\t\t<svg x=\"50\" y=\"0\">\n\t\t\t\t\t<text x=\"0\" y=\"-0.05em\" font-family=\"BundesSans Web\" style={{ backgroundColor: 'white', color: 'black' }}>\n\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.has(this.state._org) ? (\n\t\t\t\t\t\t\t<tspan>\n\t\t\t\t\t\t\t\t{BUND_LOGO_TEXT_MAP.get(this.state._org)?.map((text: string, index: number) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" key={`kol-logo-text-${index}`}>\n\t\t\t\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<tspan fill=\"red\">\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tDer Schlüsselwert\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\" font-weight=\"bold\">\n\t\t\t\t\t\t\t\t\t'{this.state._org}'\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\tist nicht definiert.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t\t<tspan x=\"0\" dy=\"1.1em\">\n\t\t\t\t\t\t\t\t\toder freigegeben.\n\t\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t\t</tspan>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</text>\n\t\t\t\t</svg>\n\t\t\t</svg>\n\t\t);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),a11y_tipps=require("./a11y.tipps-8f94ed90.js"),dev_utils=require("./dev.utils-4142fd37.js"),prop_validators=require("./prop.validators-90a0e362.js");require("./reuse-bbd0b4e7.js"),require("./index-eb52922f.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>div{width:100%;height:100%;z-index:100;position:fixed;left:0;top:0;background-color:rgba(0, 0, 0, 0.33)}:host>div>div{height:100%;position:absolute;width:100%}:host>div>div>div{position:relative;max-height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;left:50%;top:50%;transform:translate(-50%, -50%)}",KolModal=class{constructor(t){index.registerInstance(this,t),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=void 0,this._ariaLabel=void 0,this._width="100%",this._on=void 0,this._show=!1,this.state={_activeElement:null,_ariaLabel:"…",_show:!1,_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?dev_utils.getKoliBri().Modal.openModal(this.hostElement,this.state._activeElement):dev_utils.getKoliBri().Modal.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&dev_utils.getKoliBri().Modal.closeModal(this.hostElement)}render(){return index.h(index.Host,{ref:t=>{this.hostElement=t}},this.state._activeElement&&index.h("div",null,index.h("div",null,index.h("div",{style:{width:this.state._width},"aria-label":this.state._ariaLabel,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:t=>{t&&(t.setAttribute("tabindex","0"),setTimeout((()=>t.focus()),250))}},index.h("slot",null)))))}validateActiveElement(t){prop_validators.watchValidator(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null})}validateAriaLabel(t){prop_validators.watchString(this,"_ariaLabel",t,{required:!0})}validateOn(t){if("object"==typeof t&&null!==t){a11y_tipps.featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onClose&&!0!==t.onClose||(e.onClose=t.onClose),prop_validators.setState(this,"_on",e)}}validateShow(t){prop_validators.watchBoolean(this,"_show",t,{defaultValue:!1,hooks:{afterPatch:()=>{!1===this.state._show&&(this._activeElement=null)}}})}validateWidth(t){prop_validators.watchString(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateAriaLabel(this._ariaLabel),this.validateOn(this._on),this.validateShow(this._show),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_ariaLabel:["validateAriaLabel"],_on:["validateOn"],_show:["validateShow"],_width:["validateWidth"]}}};KolModal.style={default:defaultStyleCss},exports.kol_modal=KolModal;
4
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),a11y_tipps=require("./a11y.tipps-8f94ed90.js"),dev_utils=require("./dev.utils-4142fd37.js"),prop_validators=require("./prop.validators-90a0e362.js");require("./reuse-bbd0b4e7.js"),require("./index-eb52922f.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>div{width:100%;height:100%;z-index:100;position:fixed;left:0;top:0;background-color:rgba(0, 0, 0, 0.33)}:host>div>div{height:100%;position:absolute;width:100%}:host>div>div>div{position:relative;max-height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;left:50%;top:50%;transform:translate(-50%, -50%)}",KolModal=class{constructor(t){index.registerInstance(this,t),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=void 0,this._ariaLabel=void 0,this._width="100%",this._on=void 0,this._show=!1,this.state={_activeElement:null,_ariaLabel:"…",_show:!1,_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?dev_utils.getKoliBri().Modal.openModal(this.hostElement,this.state._activeElement):dev_utils.getKoliBri().Modal.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&dev_utils.getKoliBri().Modal.closeModal(this.hostElement)}render(){return index.h(index.Host,{ref:t=>{this.hostElement=t}},this.state._activeElement&&index.h("div",null,index.h("div",null,index.h("div",{style:{width:this.state._width},"aria-label":this.state._ariaLabel,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:t=>{t&&(t.setAttribute("tabindex","0"),setTimeout((()=>t.focus()),250))}},index.h("slot",null)))))}validateActiveElement(t){prop_validators.watchValidator(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null})}validateAriaLabel(t){prop_validators.watchString(this,"_ariaLabel",t,{required:!0})}validateOn(t){if("object"==typeof t&&null!==t){a11y_tipps.featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onClose&&!0!==t.onClose||(e.onClose=t.onClose),prop_validators.setState(this,"_on",e)}}validateShow(t){prop_validators.watchBoolean(this,"_show",t,{defaultValue:!1,hooks:{afterPatch:()=>{!1===this.state._show&&(this._activeElement=null)}}})}validateWidth(t){prop_validators.watchString(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateAriaLabel(this._ariaLabel),this.validateOn(this._on),this.validateShow(this._show),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_ariaLabel:["validateAriaLabel"],_on:["validateOn"],_show:["validateShow"],_width:["validateWidth"]}}};KolModal.style={default:defaultStyleCss},exports.kol_modal=KolModal;
@@ -1 +1 @@
1
- {"file":"kol-modal.entry.cjs.js","mappings":"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","names":["getKoliBri","h","Host","watchValidator","watchString","featureHint","setState","watchBoolean"],"sources":["./src/components/modal/style.css?tag=kol-modal&mode=default&encapsulation=shadow","./src/components/modal/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > div {\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 100;\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\tbackground-color: rgba(0, 0, 0, 0.33);\n}\n:host > div > div {\n\theight: 100%;\n\n\tposition: absolute;\n\twidth: 100%;\n}\n:host > div > div > div {\n\tposition: relative;\n\tmax-height: 100%;\n\tmax-width: 100%;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tleft: 50%;\n\ttop: 50%;\n\ttransform: translate(-50%, -50%);\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { AriaLabel } from '../../types/aria-label';\nimport { KoliBriModalEventCallbacks } from '../../types/modal';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { getKoliBri } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { ModalService } from './service';\n\n/**\n * https://en.wikipedia.org/wiki/Modal_window\n */\n\n/**\n * API\n */\ntype RequiredProps = AriaLabel;\ntype OptionalProps = {\n\tactiveElement: HTMLElement | null;\n\ton: KoliBriModalEventCallbacks;\n\twidth: string;\n\tshow: boolean;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = AriaLabel & {\n\tactiveElement: HTMLElement | null;\n\twidth: string;\n};\ntype OptionalStates = {\n\ton: KoliBriModalEventCallbacks;\n\tshow: boolean;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-modal',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolModal implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate hostElement?: HTMLElement;\n\n\tpublic componentDidRender(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\tif (this.state._activeElement /* SSR instanceof HTMLElement */) {\n\t\t\t\t(getKoliBri().Modal as ModalService).openModal(this.hostElement, this.state._activeElement);\n\t\t\t} else {\n\t\t\t\t(getKoliBri().Modal as ModalService).closeModal(this.hostElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\t(getKoliBri().Modal as ModalService).closeModal(this.hostElement);\n\t\t}\n\t}\n\n\tprivate readonly onKeyDown = (event: KeyboardEvent) => {\n\t\tif (event && event.code === 'Escape') {\n\t\t\tthis._activeElement = null;\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.hostElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.state._activeElement /* SSR instanceof HTMLElement */ && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\twidth: this.state._width,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-label={this.state._ariaLabel}\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\tif (el /* SSR instanceof HTMLElement */) {\n\t\t\t\t\t\t\t\t\t\tel.setAttribute('tabindex', '0');\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => el.focus(), 250);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Referenz auf das auslösende HTML-Element an, wodurch das Modal geöffnet wurde.\n\t */\n\t@Prop({ mutable: true }) public _activeElement?: HTMLElement | null;\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt an, wie breit der Anzeigebereich sein soll (<= max-width: 100%).\n\t */\n\t@Prop() public _width?: string = '100%';\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Modals an.\n\t */\n\t@Prop() public _on?: KoliBriModalEventCallbacks;\n\n\t/**\n\t * Gibt an, ob das Modal angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _show?: boolean = false;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_activeElement: null,\n\t\t_ariaLabel: '…',\n\t\t_show: false,\n\t\t_width: '100%',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_activeElement')\n\tpublic validateActiveElement(value?: HTMLElement | null): void {\n\t\twatchValidator(this, '_activeElement', (value): boolean => typeof value === 'object' || value === null, new Set(['HTMLElement', 'null']), value, {\n\t\t\tdefaultValue: null,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriModalEventCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriModalEventCallbacks = {};\n\t\t\tif (typeof value.onClose === 'function' || value.onClose === true) {\n\t\t\t\tcallbacks.onClose = value.onClose;\n\t\t\t}\n\t\t\tsetState<KoliBriModalEventCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_show')\n\tpublic validateShow(value?: boolean): void {\n\t\twatchBoolean(this, '_show', value, {\n\t\t\tdefaultValue: false,\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.state._show === false) {\n\t\t\t\t\t\tthis._activeElement = null;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_width')\n\tpublic validateWidth(value?: string): void {\n\t\twatchString(this, '_width', value, {\n\t\t\tdefaultValue: '100%',\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateActiveElement(this._activeElement);\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateShow(this._show);\n\t\tthis.validateWidth(this._width);\n\t}\n}\n"],"version":3}
1
+ {"file":"kol-modal.entry.cjs.js","mappings":"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","names":["getKoliBri","h","Host","watchValidator","watchString","featureHint","setState","watchBoolean"],"sources":["./src/components/modal/style.css?tag=kol-modal&mode=default&encapsulation=shadow","./src/components/modal/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > div {\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 100;\n\tposition: fixed;\n\tleft: 0;\n\ttop: 0;\n\tbackground-color: rgba(0, 0, 0, 0.33);\n}\n:host > div > div {\n\theight: 100%;\n\n\tposition: absolute;\n\twidth: 100%;\n}\n:host > div > div > div {\n\tposition: relative;\n\tmax-height: 100%;\n\tmax-width: 100%;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tleft: 50%;\n\ttop: 50%;\n\ttransform: translate(-50%, -50%);\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { AriaLabel } from '../../types/aria-label';\nimport { KoliBriModalEventCallbacks } from '../../types/modal';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { getKoliBri } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { ModalService } from './service';\n\n/**\n * https://en.wikipedia.org/wiki/Modal_window\n */\n\n/**\n * API\n */\ntype RequiredProps = AriaLabel;\ntype OptionalProps = {\n\tactiveElement: HTMLElement | null;\n\ton: KoliBriModalEventCallbacks;\n\twidth: string;\n\tshow: boolean;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = AriaLabel & {\n\tactiveElement: HTMLElement | null;\n\twidth: string;\n};\ntype OptionalStates = {\n\ton: KoliBriModalEventCallbacks;\n\tshow: boolean;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-modal',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolModal implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate hostElement?: HTMLElement;\n\n\tpublic componentDidRender(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\tif (this.state._activeElement /* SSR instanceof HTMLElement */) {\n\t\t\t\t(getKoliBri().Modal as ModalService).openModal(this.hostElement, this.state._activeElement);\n\t\t\t} else {\n\t\t\t\t(getKoliBri().Modal as ModalService).closeModal(this.hostElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\t(getKoliBri().Modal as ModalService).closeModal(this.hostElement);\n\t\t}\n\t}\n\n\tprivate readonly onKeyDown = (event: KeyboardEvent) => {\n\t\tif (event && event.code === 'Escape') {\n\t\t\tthis._activeElement = null;\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.hostElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.state._activeElement /* SSR instanceof HTMLElement */ && (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\twidth: this.state._width,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-label={this.state._ariaLabel}\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\tif (el /* SSR instanceof HTMLElement */) {\n\t\t\t\t\t\t\t\t\t\tel.setAttribute('tabindex', '0');\n\t\t\t\t\t\t\t\t\t\tsetTimeout(() => el.focus(), 250);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Referenz auf das auslösende HTML-Element an, wodurch das Modal geöffnet wurde.\n\t */\n\t@Prop({ mutable: true }) public _activeElement?: HTMLElement | null;\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt an, wie breit der Anzeigebereich sein soll (<= max-width: 100%).\n\t */\n\t@Prop() public _width?: string = '100%';\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Modals an.\n\t */\n\t@Prop() public _on?: KoliBriModalEventCallbacks;\n\n\t/**\n\t * Gibt an, ob das Modal angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _show?: boolean = false;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_activeElement: null,\n\t\t_ariaLabel: '…',\n\t\t_show: false,\n\t\t_width: '100%',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_activeElement')\n\tpublic validateActiveElement(value?: HTMLElement | null): void {\n\t\twatchValidator(this, '_activeElement', (value): boolean => typeof value === 'object' || value === null, new Set(['HTMLElement', 'null']), value, {\n\t\t\tdefaultValue: null,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriModalEventCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriModalEventCallbacks = {};\n\t\t\tif (typeof value.onClose === 'function' || value.onClose === true) {\n\t\t\t\tcallbacks.onClose = value.onClose;\n\t\t\t}\n\t\t\tsetState<KoliBriModalEventCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_show')\n\tpublic validateShow(value?: boolean): void {\n\t\twatchBoolean(this, '_show', value, {\n\t\t\tdefaultValue: false,\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.state._show === false) {\n\t\t\t\t\t\tthis._activeElement = null;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_width')\n\tpublic validateWidth(value?: string): void {\n\t\twatchString(this, '_width', value, {\n\t\t\tdefaultValue: '100%',\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateActiveElement(this._activeElement);\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateShow(this._show);\n\t\tthis.validateWidth(this._width);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),a11y_tipps=require("./a11y.tipps-8f94ed90.js"),prop_validators=require("./prop.validators-90a0e362.js"),validation=require("./validation-1298c9ca.js"),i18n=require("./i18n-6d129e0e.js");require("./dev.utils-4142fd37.js"),require("./reuse-bbd0b4e7.js"),require("./index-eb52922f.js"),require("./index-26858caf.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>div{display:inline-block}",UNIQUE_ARIA_LABEL=[],removeAriaLabel=t=>{const a=UNIQUE_ARIA_LABEL.indexOf(t);a>=0&&UNIQUE_ARIA_LABEL.splice(a,1)},KolNav=class{constructor(t){index.registerInstance(this,t),this.onClick=t=>{t._active=!1===t._active,this.state=Object.assign({},this.state)},this.hasActiveChild=t=>!!(Array.isArray(t._children)&&t._children.length>0)&&t._children.some(this.hasActiveChild),this.linkList=t=>index.h("ul",{class:{flex:0===t.deep&&"horizontal"===this.state._orientation},part:`nav ${this.state._orientation}`},t.links.map(((a,i)=>index.h("li",{key:i,part:`li ${0===t.deep?this.state._orientation:"vertical"}${a._active?" selected":""}${i<t.links.length-1?"":" last"}`},Array.isArray(a._children)&&a._children.length>0?index.h("div",{class:"h-full"},index.h("div",{class:{"h-full":!0}},index.h("kol-link-wc",{class:"block w-full h-full",exportparts:"icon,link,span"+(!0===a._active?",selected":""),_ariaLabel:!0===this.state._compact||!0===a._iconOnly?a._label:void 0,_ariaExpanded:!0===a._active,_disabled:a._disabled,_href:"javascript:void(0)",_icon:!0===this.state._collapsible?!0===a._active?"codicon codicon-remove":"codicon codicon-add":"string"==typeof a._icon?a._icon:"codicon codicon-symbol-event",_iconOnly:!0===this.state._compact||!0===a._iconOnly,_label:a._label,onClick:()=>this.onClick(a)})),!0===a._active&&index.h("div",{class:{expanded:!0,active:!0===a._active,"active-child":this.hasActiveChild(a),"absolute ":0===t.deep&&"horizontal"===this.state._orientation}},index.h(this.linkList,{links:a._children,deep:t.deep+1}))):index.h("div",{class:{"h-full":!0,"text-center":!0===this.state._compact||!0===a._iconOnly}},index.h("kol-link-wc",{class:{"block w-full h-full":!0,active:!0===a._active},exportparts:"icon,link,span"+(!0===a._active?",selected":""),_ariaCurrent:!0===a._active&&this.state._ariaCurrentValue,_ariaLabel:!0===this.state._compact||!0===a._iconOnly?a._label:void 0,_href:a._href,_icon:"string"==typeof a._icon?a._icon:"codicon codicon-symbol-event","_icon-only":!0===this.state._compact||!0===a._iconOnly,_label:a._label,_on:a._on,_selector:a._selector,_tooltipAlign:a._tooltipAlign,_target:a._target})))))),this._ariaCurrentValue=!1,this._ariaLabel=void 0,this._collapsible=!1,this._compact=!1,this._hasCompactButton=!1,this._orientation="vertical",this._links=void 0,this._variant="primary",this.state={_ariaCurrentValue:!1,_ariaLabel:"…",_collapsible:!0,_hasCompactButton:!1,_links:[],_orientation:"vertical",_variant:"primary"}}render(){let t=this.state._hasCompactButton;return"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(t=!1,a11y_tipps.devHint("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.")),index.h(index.Host,null,index.h("div",{class:{[this.state._orientation]:!0,"inline-block":!0===this.state._compact,[this.state._variant]:!0}},index.h("nav",{"aria-label":this.state._ariaLabel,id:"nav",part:"nav"},index.h(this.linkList,{links:this.state._links,deep:0})),t&&index.h("div",{class:"mt-2 w-full text-center"},index.h("kol-button",{exportparts:"button,ghost",_ariaControls:"nav",_ariaExpanded:!0===this.state._compact,_ariaLabel:i18n.translate(this.state._compact?"kol-nav-maximize":"kol-nav-minimize"),_icon:this.state._compact?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_iconOnly:!0,_label:i18n.translate(this.state._compact?"kol-nav-maximize":"kol-nav-minimize"),_on:{onClick:()=>{this.state=Object.assign(Object.assign({},this.state),{_compact:!1===this.state._compact})}},_tooltipAlign:"right",_variant:"ghost"}))))}validateAriaCurrentValue(t){prop_validators.watchValidator(this,"_ariaCurrentValue",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaLabel(t){prop_validators.watchString(this,"_ariaLabel",t,{hooks:{afterPatch:()=>{UNIQUE_ARIA_LABEL.includes(this.state._ariaLabel)&&a11y_tipps.devHint(`[KolNav] Das Aria-Label "${this.state._ariaLabel}" wurde für die Rolle Navigation mehrfach verwendet!`),UNIQUE_ARIA_LABEL.push(this.state._ariaLabel)},beforePatch:()=>{removeAriaLabel(this.state._ariaLabel)}},required:!0}),a11y_tipps.a11yHintLabelingLandmarks(t)}validateCollapsible(t){prop_validators.watchBoolean(this,"_collapsible",t)}validateCompact(t){prop_validators.watchBoolean(this,"_compact",t)}validateHasCompactButton(t){prop_validators.watchBoolean(this,"_hasCompactButton",t)}validateLinks(t){validation.watchNavLinks("KolNav",this,t),a11y_tipps.devHint("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(t){prop_validators.watchValidator(this,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateVariant(t){prop_validators.watchValidator(this,"_variant",(t=>"primary"===t||"secondary"===t),new Set(["KoliBriNavVariant {primary, secondary}"]),t,{defaultValue:"primary"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateAriaLabel(this._ariaLabel),this.validateCollapsible(this._collapsible),this.validateCompact(this._compact),this.validateHasCompactButton(this._hasCompactButton),this.validateLinks(this._links),this.validateOrientation(this._orientation),this.validateVariant(this._variant)}disconnectedCallback(){removeAriaLabel(this.state._ariaLabel)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_ariaLabel:["validateAriaLabel"],_collapsible:["validateCollapsible"],_compact:["validateCompact"],_hasCompactButton:["validateHasCompactButton"],_links:["validateLinks"],_orientation:["validateOrientation"],_variant:["validateVariant"]}}};KolNav.style={default:defaultStyleCss},exports.kol_nav=KolNav;
4
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),a11y_tipps=require("./a11y.tipps-8f94ed90.js"),prop_validators=require("./prop.validators-90a0e362.js"),validation=require("./validation-1298c9ca.js"),i18n=require("./i18n-6d129e0e.js");require("./dev.utils-4142fd37.js"),require("./reuse-bbd0b4e7.js"),require("./index-eb52922f.js"),require("./index-26858caf.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}.list-container.absolute{position:absolute;inset:100% 0 auto 0}.list{display:flex;list-style:none;margin:0px;padding:0px}.list.vertical{flex-direction:column}.entry,.entry>kol-button-wc>button{height:100%}.entry.has-children{display:flex;justify-content:space-between}.entry kol-link-wc{flex-grow:1}.expand-button-container{display:grid;place-content:center}",UNIQUE_ARIA_LABEL=[],removeAriaLabel=t=>{const i=UNIQUE_ARIA_LABEL.indexOf(t);i>=0&&UNIQUE_ARIA_LABEL.splice(i,1)},KolNav=class{constructor(t){index.registerInstance(this,t),this.onClick=t=>{t._active=!t._active,this.state=Object.assign({},this.state)},this.hasActiveChild=t=>!!(Array.isArray(t._children)&&t._children.length>0)&&t._children.some(this.hasActiveChild),this.linkList=t=>index.h("ul",{class:"list "+(0===t.deep&&"horizontal"===t.orientation?" horizontal":" vertical"),"data-deep":t.deep,part:`nav ${t.orientation}`},t.links.map(((i,a)=>this.li(t.collapsible,t.compact,t.deep,a,a<t.links.length-1,i,t.orientation)))),this._ariaCurrentValue=!1,this._ariaLabel=void 0,this._collapsible=!0,this._compact=!1,this._hasCompactButton=!1,this._orientation="vertical",this._links=void 0,this._variant="primary",this.state={_ariaCurrentValue:!1,_ariaLabel:"",_collapsible:!0,_hasCompactButton:!1,_links:[],_orientation:"vertical",_variant:"primary"}}button(t,i,a,e,n,l,o){return index.h("kol-button-wc",{exportparts:"icon,button,span"+(t?",selected":""),_ariaLabel:i||n?l:void 0,_ariaExpanded:t,_disabled:a,_icon:e,_iconOnly:i||n,_label:l,_on:o})}dropDown(t,i,a,e,n){return index.h("div",{class:{"list-container":!0,"active-child":this.hasActiveChild(e),"absolute ":0===a&&"horizontal"===n}},index.h(this.linkList,{collapsible:t,compact:i,deep:a+1,links:e._children,orientation:n}))}entry(t,i,a,e,n,l,o){return index.h("div",{class:{entry:!0,"has-children":a,"has-link":!!e._href,selected:l,expanded:n,"text-center":o}},this.textLinkOrButton(t,i,e,l),a?this.expandButton(t,e,l):"")}expandButton(t,i,a){return index.h("kol-button-wc",{_customClass:"expand-button",_disabled:!t||!i._href,_icon:"codicon codicon-"+(a?"remove":"add"),_label:"",_variant:"custom",class:"expand-button-container",onClick:()=>this.onClick(i)})}li(t,i,a,e,n,l,o){const r=Array.isArray(l._children)&&l._children.length>0,s=!!l._active,c=r&&!!l._active,d=i||!0===l._iconOnly;return index.h("li",{class:{selected:s,"has-children":r},key:e,part:`li ${0===a?o:"vertical"}${s?" selected":""}${n?"":" last"}`,style:{position:"relative"}},this.entry(t,i,r,l,c,s,d),r&&s?this.dropDown(t,i,a,l,o):"")}link(t,i,a,e,n,l,o){return index.h("kol-link-wc",{exportparts:"icon,link,span"+(t?",selected":""),_ariaLabel:i||l?o:void 0,_ariaExpanded:t,_disabled:a,_href:e,_icon:n,_iconOnly:i||l,_label:o})}textLinkOrButton(t,i,a,e){return a._href?this.link(e,i,!0===a._disabled,a._href,a._icon,!0===a._iconOnly,a._label):this.button(e,i,!0===a._disabled,a._icon,!0===a._iconOnly,a._label,a._on?a._on:t?{onClick:()=>this.onClick(a)}:null)}render(){let t=this.state._hasCompactButton;"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(t=!1,a11y_tipps.devHint("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden."));const i=this.state._collapsible,a=!0===this.state._compact,e=this.state._orientation;return index.h(index.Host,null,index.h("div",{class:{[e]:!0,"inline-block":a,[this.state._variant]:!0}},index.h("nav",{"aria-label":this.state._ariaLabel,id:"nav",part:"nav"},index.h(this.linkList,{collapsible:i,compact:a,deep:0,links:this.state._links,orientation:e})),t&&index.h("div",{class:"mt-2 w-full text-center"},index.h("kol-button",{exportparts:"button,ghost",_ariaControls:"nav",_ariaExpanded:a,_ariaLabel:i18n.translate(a?"kol-nav-maximize":"kol-nav-minimize"),_icon:a?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_iconOnly:!0,_label:i18n.translate(a?"kol-nav-maximize":"kol-nav-minimize"),_on:{onClick:()=>{this.state=Object.assign(Object.assign({},this.state),{_compact:!1===this.state._compact})}},_tooltipAlign:"right",_variant:"ghost"}))))}validateAriaCurrentValue(t){prop_validators.watchValidator(this,"_ariaCurrentValue",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaLabel(t){prop_validators.watchString(this,"_ariaLabel",t,{hooks:{afterPatch:()=>{UNIQUE_ARIA_LABEL.includes(this.state._ariaLabel)&&a11y_tipps.devHint(`[KolNav] Das Aria-Label "${this.state._ariaLabel}" wurde für die Rolle Navigation mehrfach verwendet!`),UNIQUE_ARIA_LABEL.push(this.state._ariaLabel)},beforePatch:()=>{removeAriaLabel(this.state._ariaLabel)}},required:!0}),a11y_tipps.a11yHintLabelingLandmarks(t)}validateCollapsible(t){prop_validators.watchBoolean(this,"_collapsible",t)}validateCompact(t){prop_validators.watchBoolean(this,"_compact",t)}validateHasCompactButton(t){prop_validators.watchBoolean(this,"_hasCompactButton",t)}validateLinks(t){validation.watchNavLinks("KolNav",this,t),a11y_tipps.devHint("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(t){prop_validators.watchValidator(this,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateVariant(t){prop_validators.watchValidator(this,"_variant",(t=>"primary"===t||"secondary"===t),new Set(["KoliBriNavVariant {primary, secondary}"]),t,{defaultValue:"primary"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateAriaLabel(this._ariaLabel),this.validateCollapsible(this._collapsible),this.validateCompact(this._compact),this.validateHasCompactButton(this._hasCompactButton),this.validateLinks(this._links),this.validateOrientation(this._orientation),this.validateVariant(this._variant)}disconnectedCallback(){removeAriaLabel(this.state._ariaLabel)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_ariaLabel:["validateAriaLabel"],_collapsible:["validateCollapsible"],_compact:["validateCompact"],_hasCompactButton:["validateHasCompactButton"],_links:["validateLinks"],_orientation:["validateOrientation"],_variant:["validateVariant"]}}};KolNav.style={default:defaultStyleCss},exports.kol_nav=KolNav;
@@ -1 +1 @@
1
- {"file":"kol-nav.entry.cjs.js","mappings":"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","names":["h","index","devHint","Host","translate","watchValidator","watchString","a11yHintLabelingLandmarks","watchBoolean","watchNavLinks"],"sources":["./src/components/nav/style.css?tag=kol-nav&mode=default&encapsulation=shadow","./src/components/nav/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > div {\n\tdisplay: inline-block;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Generic } from '@a11y-ui/core';\nimport { Orientation } from '../../types/orientation';\nimport { a11yHintLabelingLandmarks, devHint } from '../../utils/a11y.tipps';\nimport { watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { NavLinkProps } from '../link/component';\nimport { watchNavLinks } from './validation';\nimport { Stringified } from '../../types/common';\nimport { AriaCurrent } from '../../types/button-link';\nimport { translate } from '../../i18n';\n\nexport type NavLinkWithChildrenProps = NavLinkProps & {\n\t_children?: NavLinkWithChildrenProps[];\n};\n\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\nconst UNIQUE_ARIA_LABEL: string[] = [];\nconst removeAriaLabel = (ariaLabel: string) => {\n\tconst index = UNIQUE_ARIA_LABEL.indexOf(ariaLabel);\n\tif (index >= 0) {\n\t\tUNIQUE_ARIA_LABEL.splice(index, 1);\n\t}\n};\n\nconst linkValidator = (link: NavLinkWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: NavLinkWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<NavLinkWithChildrenProps[]>;\n};\ntype OptionalProps = {\n\tariaCurrentValue: AriaCurrent;\n\tcollapsible: boolean;\n\tcompact: boolean;\n\thasCompactButton: boolean;\n\torientation: Orientation;\n\tvariant: KoliBriNavVariant;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaCurrentValue: AriaCurrent;\n\tariaLabel: string;\n\tcollapsible: boolean;\n\thasCompactButton: boolean;\n\tlinks: NavLinkWithChildrenProps[];\n\torientation: Orientation;\n\tvariant: KoliBriNavVariant;\n};\ntype OptionalStates = {\n\tcompact: boolean;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part nav - TBD\n */\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly onClick = (link: NavLinkWithChildrenProps): void => {\n\t\tlink._active = link._active === false;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: NavLinkWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tprivate linkList = (props: { links: NavLinkWithChildrenProps[]; deep: number }): JSX.Element => {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclass={{\n\t\t\t\t\tflex: props.deep === 0 && this.state._orientation === 'horizontal',\n\t\t\t\t}}\n\t\t\t\tpart={`nav ${this.state._orientation}`}\n\t\t\t>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\tpart={`li ${props.deep === 0 ? this.state._orientation : 'vertical'}${link._active ? ' selected' : ''}${\n\t\t\t\t\t\t\t\tindex < props.links.length - 1 ? '' : ' last'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{Array.isArray(link._children) && link._children.length > 0 ? (\n\t\t\t\t\t\t\t\t<div class=\"h-full\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'h-full': true,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<kol-link-wc\n\t\t\t\t\t\t\t\t\t\t\tclass=\"block w-full h-full\"\n\t\t\t\t\t\t\t\t\t\t\texportparts={`icon,link,span${link._active === true ? ',selected' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t// _ariaCurrent will not be set here, since it will be set on a child of this item.\n\t\t\t\t\t\t\t\t\t\t\t_ariaLabel={this.state._compact === true || link._iconOnly === true ? link._label : undefined}\n\t\t\t\t\t\t\t\t\t\t\t_ariaExpanded={link._active === true}\n\t\t\t\t\t\t\t\t\t\t\t_disabled={link._disabled}\n\t\t\t\t\t\t\t\t\t\t\t_href=\"javascript:void(0)\"\n\t\t\t\t\t\t\t\t\t\t\t_icon={\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state._collapsible === true\n\t\t\t\t\t\t\t\t\t\t\t\t\t? link._active === true\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'codicon codicon-remove'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'codicon codicon-add'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: typeof link._icon === 'string'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? link._icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'codicon codicon-symbol-event'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t_iconOnly={this.state._compact === true || link._iconOnly === true}\n\t\t\t\t\t\t\t\t\t\t\t_label={link._label}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.onClick(link)}\n\t\t\t\t\t\t\t\t\t\t></kol-link-wc>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{link._active === true && (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t\texpanded: true,\n\t\t\t\t\t\t\t\t\t\t\t\tactive: link._active === true,\n\t\t\t\t\t\t\t\t\t\t\t\t'active-child': this.hasActiveChild(link),\n\t\t\t\t\t\t\t\t\t\t\t\t'absolute ': props.deep === 0 && this.state._orientation === 'horizontal',\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<this.linkList links={link._children} deep={props.deep + 1} />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t'h-full': true,\n\t\t\t\t\t\t\t\t\t\t'text-center': this.state._compact === true || link._iconOnly === true,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<kol-link-wc\n\t\t\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\t\t\t'block w-full h-full': true,\n\t\t\t\t\t\t\t\t\t\t\tactive: link._active === true,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\texportparts={`icon,link,span${link._active === true ? ',selected' : ''}`}\n\t\t\t\t\t\t\t\t\t\t_ariaCurrent={link._active === true ? this.state._ariaCurrentValue : false}\n\t\t\t\t\t\t\t\t\t\t_ariaLabel={this.state._compact === true || link._iconOnly === true ? link._label : undefined}\n\t\t\t\t\t\t\t\t\t\t_href={link._href}\n\t\t\t\t\t\t\t\t\t\t_icon={typeof link._icon === 'string' ? link._icon : 'codicon codicon-symbol-event'}\n\t\t\t\t\t\t\t\t\t\t_icon-only={this.state._compact === true || link._iconOnly === true}\n\t\t\t\t\t\t\t\t\t\t_label={link._label}\n\t\t\t\t\t\t\t\t\t\t_on={link._on}\n\t\t\t\t\t\t\t\t\t\t_selector={link._selector}\n\t\t\t\t\t\t\t\t\t\t_tooltipAlign={link._tooltipAlign}\n\t\t\t\t\t\t\t\t\t\t_target={link._target}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevHint(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._orientation]: true,\n\t\t\t\t\t\t'inline-block': this.state._compact === true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._ariaLabel} id=\"nav\" part=\"nav\">\n\t\t\t\t\t\t<this.linkList links={this.state._links} deep={0}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"mt-2 w-full text-center\">\n\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\texportparts=\"button,ghost\"\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={this.state._compact === true}\n\t\t\t\t\t\t\t\t_ariaLabel={translate(this.state._compact ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_icon={this.state._compact ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate(this.state._compact ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_compact: this.state._compact === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt den Wert von aria-current an, der bei dem aktuellen Kontext innerhalb der Navigation verwendet werden soll.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrent = false;\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt an, ob Knoten in der Navigation zusammengeklappt werden können. Ist standardmäßig aktiv.\n\t */\n\t@Prop({ reflect: true }) public _collapsible?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Navigation kompakt angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _compact?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t */\n\t@Prop({ reflect: true }) public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Gibt die Ausrichtung der Navigation an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Gibt die geordnete Liste der Seitenhierarchie an.\n\t */\n\t@Prop() public _links!: Stringified<NavLinkWithChildrenProps[]>;\n\n\t/**\n\t * Gibt an, welche Ausprägung der Button hat.\n\t */\n\t@Prop() public _variant?: KoliBriNavVariant = 'primary';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_ariaLabel: '…', // '⚠'\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_variant: 'primary',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrent): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (UNIQUE_ARIA_LABEL.includes(this.state._ariaLabel)) {\n\t\t\t\t\t\tdevHint(`[KolNav] Das Aria-Label \"${this.state._ariaLabel}\" wurde für die Rolle Navigation mehrfach verwendet!`);\n\t\t\t\t\t}\n\t\t\t\t\tUNIQUE_ARIA_LABEL.push(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t\tbeforePatch: () => {\n\t\t\t\t\tremoveAriaLabel(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t},\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: boolean): void {\n\t\twatchBoolean(this, '_collapsible', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\twatchBoolean(this, '_compact', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCompactButton', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<NavLinkWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriNavVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'primary' || value === 'secondary', new Set(['KoliBriNavVariant {primary, secondary}']), value, {\n\t\t\tdefaultValue: 'primary',\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateCompact(this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.validateVariant(this._variant);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveAriaLabel(this.state._ariaLabel);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icon: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"version":3}
1
+ {"file":"kol-nav.entry.cjs.js","mappings":"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","names":["h","index","devHint","Host","translate","watchValidator","watchString","a11yHintLabelingLandmarks","watchBoolean","watchNavLinks"],"sources":["./src/components/nav/style.css?tag=kol-nav&mode=default&encapsulation=shadow","./src/components/nav/component.tsx"],"sourcesContent":["@import '../style.css';\n\n.list-container.absolute {\n\tposition: absolute;\n\tinset: 100% 0 auto 0;\n}\n.list {\n\tdisplay: flex;\n\t/** ul reset um das erwartete Verhalten zu erzeugen */\n\tlist-style: none;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n.list.vertical {\n\tflex-direction: column;\n}\n\n.entry,\n.entry > kol-button-wc > button {\n\theight: 100%;\n}\n.entry.has-children {\n\tdisplay: flex;\n\tjustify-content: space-between;\n}\n\n.entry kol-link-wc {\n\tflex-grow: 1;\n}\n\n.expand-button-container {\n\tdisplay: grid;\n\tplace-content: center;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Generic } from '@a11y-ui/core';\nimport { Orientation } from '../../types/orientation';\nimport { a11yHintLabelingLandmarks, devHint } from '../../utils/a11y.tipps';\nimport { watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { NavLinkProps } from '../link/component';\nimport { watchNavLinks } from './validation';\nimport { Stringified } from '../../types/common';\nimport { AriaCurrent, KoliBriButtonCallbacks } from '../../types/button-link';\nimport { translate } from '../../i18n';\nimport { KoliBriIconProp } from '../../components';\n\nexport type NavLinkWithChildrenProps = NavLinkProps & {\n\t_children?: NavLinkWithChildrenProps[];\n};\n\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\nconst UNIQUE_ARIA_LABEL: string[] = [];\nconst removeAriaLabel = (ariaLabel: string) => {\n\tconst index = UNIQUE_ARIA_LABEL.indexOf(ariaLabel);\n\tif (index >= 0) {\n\t\tUNIQUE_ARIA_LABEL.splice(index, 1);\n\t}\n};\n\nconst linkValidator = (link: NavLinkWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: NavLinkWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<NavLinkWithChildrenProps[]>;\n};\ntype OptionalProps = {\n\tariaCurrentValue: AriaCurrent;\n\tcollapsible: boolean;\n\tcompact: boolean;\n\thasCompactButton: boolean;\n\torientation: Orientation;\n\tvariant: KoliBriNavVariant;\n};\n// type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaCurrentValue: AriaCurrent;\n\tariaLabel: string;\n\tcollapsible: boolean;\n\thasCompactButton: boolean;\n\tlinks: NavLinkWithChildrenProps[];\n\torientation: Orientation;\n\tvariant: KoliBriNavVariant;\n};\ntype OptionalStates = {\n\tcompact: boolean;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part nav - TBD\n */\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly onClick = (link: NavLinkWithChildrenProps): void => {\n\t\tlink._active = !link._active;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: NavLinkWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\t/** Element creation functions */\n\tprivate button(\n\t\tselected: boolean,\n\t\tcompact: boolean,\n\t\tdisabled: boolean,\n\t\ticon: Stringified<KoliBriIconProp> | undefined,\n\t\ticonOnly: boolean,\n\t\tlabel: string,\n\t\ton: KoliBriButtonCallbacks<unknown>\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\texportparts={`icon,button,span${selected ? ',selected' : ''}`}\n\t\t\t\t// _ariaCurrent will not be set here, since it will be set on a child of this item.\n\t\t\t\t_ariaLabel={compact || iconOnly ? label : undefined}\n\t\t\t\t_ariaExpanded={selected}\n\t\t\t\t_disabled={disabled}\n\t\t\t\t_icon={icon}\n\t\t\t\t_iconOnly={compact || iconOnly}\n\t\t\t\t_label={label}\n\t\t\t\t_on={on}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate dropDown(collapsible: boolean, compact: boolean, deep: number, link: NavLinkWithChildrenProps, orientation: Orientation): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\t'list-container': true,\n\t\t\t\t\t'active-child': this.hasActiveChild(link),\n\t\t\t\t\t'absolute ': deep === 0 && orientation === 'horizontal',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */}\n\t\t\t\t<this.linkList collapsible={collapsible} compact={compact} deep={deep + 1} links={link._children!} orientation={orientation} />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\tcompact: boolean,\n\t\thasChildren: boolean,\n\t\tlink: NavLinkWithChildrenProps,\n\t\texpanded: boolean,\n\t\tselected: boolean,\n\t\ttextCenter: boolean\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={{\n\t\t\t\t\tentry: true,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t\t'has-link': !!link._href,\n\t\t\t\t\tselected,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'text-center': textCenter,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.textLinkOrButton(collapsible, compact, link, selected)}\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link, selected) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: NavLinkWithChildrenProps, selected: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\t_customClass=\"expand-button\"\n\t\t\t\t_disabled={!collapsible || !link._href}\n\t\t\t\t_icon={'codicon codicon-' + (selected ? 'remove' : 'add')}\n\t\t\t\t_label=\"\"\n\t\t\t\t_variant=\"custom\"\n\t\t\t\tclass=\"expand-button-container\"\n\t\t\t\tonClick={() => this.onClick(link)}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\tcompact: boolean,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tisLast: boolean,\n\t\tlink: NavLinkWithChildrenProps,\n\t\torientation: Orientation\n\t): JSX.Element {\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst selected = !!link._active;\n\t\tconst expanded = hasChildren && !!link._active;\n\t\tconst textCenter = compact || link._iconOnly === true;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{ selected, 'has-children': hasChildren }}\n\t\t\t\tkey={index}\n\t\t\t\tpart={`li ${deep === 0 ? orientation : 'vertical'}${selected ? ' selected' : ''}${isLast ? '' : ' last'}`}\n\t\t\t\tstyle={{ position: 'relative' }}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, compact, hasChildren, link, expanded, selected, textCenter)}\n\t\t\t\t{hasChildren && selected ? this.dropDown(collapsible, compact, deep, link, orientation) : ''}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate link(\n\t\tselected: boolean,\n\t\tcompact: boolean,\n\t\tdisabled: boolean,\n\t\thref: string,\n\t\ticon: Stringified<KoliBriIconProp> | undefined,\n\t\ticonOnly: boolean,\n\t\tlabel: string\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<kol-link-wc\n\t\t\t\texportparts={`icon,link,span${selected ? ',selected' : ''}`}\n\t\t\t\t// _ariaCurrent will not be set here, since it will be set on a child of this item.\n\t\t\t\t_ariaLabel={compact || iconOnly ? label : undefined}\n\t\t\t\t_ariaExpanded={selected}\n\t\t\t\t_disabled={disabled}\n\t\t\t\t_href={href}\n\t\t\t\t_icon={icon}\n\t\t\t\t_iconOnly={compact || iconOnly}\n\t\t\t\t_label={label}\n\t\t\t></kol-link-wc>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\tcompact: boolean;\n\t\tdeep: number;\n\t\tlinks: NavLinkWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclass={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`}\n\t\t\t\tdata-deep={props.deep}\n\t\t\t\tpart={`nav ${props.orientation}`}\n\t\t\t>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.compact, props.deep, index, index < props.links.length - 1, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tprivate textLinkOrButton(collapsible: boolean, compact: boolean, link: NavLinkWithChildrenProps, selected: boolean): JSX.Element {\n\t\tif (link._href) {\n\t\t\treturn this.link(selected, compact, link._disabled === true, link._href, link._icon, link._iconOnly === true, link._label);\n\t\t} else {\n\t\t\treturn this.button(\n\t\t\t\tselected,\n\t\t\t\tcompact,\n\t\t\t\tlink._disabled === true,\n\t\t\t\tlink._icon,\n\t\t\t\tlink._iconOnly === true,\n\t\t\t\tlink._label,\n\t\t\t\t(link._on ? link._on : collapsible ? { onClick: () => this.onClick(link) } : null) as KoliBriButtonCallbacks<unknown>\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevHint(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible;\n\t\tconst compact = this.state._compact === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t'inline-block': compact,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._ariaLabel} id=\"nav\" part=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} compact={compact} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"mt-2 w-full text-center\">\n\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\texportparts=\"button,ghost\"\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={compact}\n\t\t\t\t\t\t\t\t_ariaLabel={translate(compact ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_icon={compact ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate(compact ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_compact: this.state._compact === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt den Wert von aria-current an, der bei dem aktuellen Kontext innerhalb der Navigation verwendet werden soll.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrent = false;\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt an, ob Knoten in der Navigation zusammengeklappt werden können. Ist standardmäßig aktiv.\n\t */\n\t@Prop({ reflect: true }) public _collapsible?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Navigation kompakt angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _compact?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t */\n\t@Prop({ reflect: true }) public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Gibt die Ausrichtung der Navigation an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Gibt die geordnete Liste der Seitenhierarchie an.\n\t */\n\t@Prop() public _links!: Stringified<NavLinkWithChildrenProps[]>;\n\n\t/**\n\t * Gibt an, welche Ausprägung der Button hat.\n\t */\n\t@Prop() public _variant?: KoliBriNavVariant = 'primary';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_ariaLabel: '…', // '⚠'\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_variant: 'primary',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrent): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (UNIQUE_ARIA_LABEL.includes(this.state._ariaLabel)) {\n\t\t\t\t\t\tdevHint(`[KolNav] Das Aria-Label \"${this.state._ariaLabel}\" wurde für die Rolle Navigation mehrfach verwendet!`);\n\t\t\t\t\t}\n\t\t\t\t\tUNIQUE_ARIA_LABEL.push(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t\tbeforePatch: () => {\n\t\t\t\t\tremoveAriaLabel(this.state._ariaLabel);\n\t\t\t\t},\n\t\t\t},\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: boolean): void {\n\t\twatchBoolean(this, '_collapsible', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\twatchBoolean(this, '_compact', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCompactButton', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<NavLinkWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriNavVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'primary' || value === 'secondary', new Set(['KoliBriNavVariant {primary, secondary}']), value, {\n\t\t\tdefaultValue: 'primary',\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateCompact(this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.validateVariant(this._variant);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveAriaLabel(this.state._ariaLabel);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),buttonLink=require("./button-link-824cc1bc.js"),dev_utils=require("./dev.utils-4142fd37.js"),prop_validators=require("./prop.validators-90a0e362.js"),controller=require("./controller-3153f149.js"),reuse=require("./reuse-bbd0b4e7.js"),i18n=require("./i18n-6d129e0e.js");require("./a11y.tipps-8f94ed90.js"),require("./index-eb52922f.js"),require("./index-26858caf.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}",leftDoubleArrowIcon={left:"codicon codicon-debug-reverse-continue"},leftSingleArrow={left:"codicon codicon-chevron-left"},rightSingleArrowIcon={right:"codicon codicon-chevron-right"},rightDoubleArrowIcon={right:"codicon codicon-debug-continue"},KolPagination=class{constructor(t){index.registerInstance(this,t),this.nonce=dev_utils.nonce(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._total,this.state._pageSize),this.onClick=(t,e)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,e),this.onChangePage(t,e)},this.onChangePage=(t,e)=>{const i=setTimeout((()=>{clearTimeout(i),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,e)}))},this.onChangePageSize=(t,e)=>{if("number"==typeof(e=parseInt(e[0]))&&e>0&&this._pageSize!==e){this._pageSize=e;const i=setTimeout((()=>{clearTimeout(i),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,e)=>{let i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const a=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(a)&&a.length>0){const t=a.find((t=>t.value===i));i=void 0===t?a[0].value:t.value,e.set("_pageSize",i)}const s=e.has("_page")?e.get("_page"):this.state._page,o=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,s,e.get("_pageSize"),o)},this.syncPage=(t,e,i,a)=>{if(a>0){const s=this.calcCount(a,i);s>0&&(e>s?(t.set("_page",s),this.onChangePage(reuse.STATE_CHANGE_EVENT,s)):e<1&&(t.set("_page",1),this.onChangePage(reuse.STATE_CHANGE_EVENT,1)))}},this.beforePageSizeOptions=(t,e)=>{const i=[];if(Array.isArray(t))for(const e of t)"number"==typeof e&&i.push({label:i18n.translate("kol-page-per-site",{placeholders:{entries:`${e}`}}),value:e});e.set("_pageSizeOptions",i),this.beforePageSize(i,e)},this._boundaryCount=1,this._customClass=void 0,this._hasButtons=void 0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._total=void 0,this._variant="normal",this.state={_boundaryCount:1,_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_total:0,_variant:"normal"}}render(){var t;let e=!1;const i=this.getCount(),a=Array.from(Array(i).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>i-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(e=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===e?(e=!1,index.h("span",{key:`${this.nonce}-el-${t}`},"•••")):null));return index.h(index.Host,null,index.h("div",null,this.state._hasButtons.first&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftDoubleArrowIcon,_iconOnly:!0,_label:i18n.translate("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.previous&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftSingleArrow,_iconOnly:!0,_label:i18n.translate("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),a,this.state._hasButtons.next&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:i<=this.state._page,_icon:rightSingleArrowIcon,_iconOnly:!0,_label:i18n.translate("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.last&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:i<=this.state._page,_icon:rightDoubleArrowIcon,_iconOnly:!0,_label:i18n.translate("kol-page-last"),_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&index.h("kol-select",{_hideLabel:!0,_id:"pagination-size",_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]},i18n.translate("kol-entries-per-site")))}getUnselectedPageButton(t){return index.h("kol-button",{key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_ariaLabel:i18n.translate("kol-page-current",{placeholders:{page:t.toFixed(0)}}),_label:`${t}`,_on:{onClick:e=>{this.onClick(e,t)}},_variant:this.state._variant})}getSelectedPageButton(t){return index.h("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_ariaLabel:i18n.translate("kol-page-selected",{placeholders:{page:t.toFixed(0)}}),_label:`${t}`,_variant:this.state._variant})}validateBoundaryCount(t){prop_validators.watchNumber(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){prop_validators.watchString(this,"_customClass",t,{defaultValue:void 0})}validateHasButtons(t){prop_validators.watchValidator(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,e)=>{if("boolean"==typeof t)e.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=prop_validators.parseJson(t)}catch(t){e.delete("_hasButtons")}"object"==typeof t&&null!==t&&e.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){prop_validators.watchNumber(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,a=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,t,i,a)}}})}validatePageSize(t){prop_validators.watchNumber(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){prop_validators.watchJsonArrayString(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){prop_validators.watchNumber(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){prop_validators.watchNumber(this,"_total",t,{hooks:{beforePatch:(t,e)=>{const i=e.has("_page")?e.get("_page"):this.state._page,a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,i,a,t)}}})}validateTooltipAlign(t){buttonLink.watchTooltipAlignment(this,"_tooltipAlign",t)}validateVariant(t){controller.watchButtonVariant(this,"_variant",t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateTotal(this._total),this.validateVariant(this._variant),this.validatePage(this._page)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_total:["validateTotal"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};KolPagination.style={default:defaultStyleCss},exports.kol_pagination=KolPagination;
4
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),buttonLink=require("./button-link-824cc1bc.js"),dev_utils=require("./dev.utils-4142fd37.js"),prop_validators=require("./prop.validators-90a0e362.js"),controller=require("./controller-3153f149.js"),reuse=require("./reuse-bbd0b4e7.js"),i18n=require("./i18n-6d129e0e.js");require("./a11y.tipps-8f94ed90.js"),require("./index-eb52922f.js"),require("./index-26858caf.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}",leftDoubleArrowIcon={left:"codicon codicon-debug-reverse-continue"},leftSingleArrow={left:"codicon codicon-chevron-left"},rightSingleArrowIcon={right:"codicon codicon-chevron-right"},rightDoubleArrowIcon={right:"codicon codicon-debug-continue"},KolPagination=class{constructor(t){index.registerInstance(this,t),this.nonce=dev_utils.nonce(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._total,this.state._pageSize),this.onClick=(t,e)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,e),this.onChangePage(t,e)},this.onChangePage=(t,e)=>{const i=setTimeout((()=>{clearTimeout(i),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,e)}))},this.onChangePageSize=(t,e)=>{if("number"==typeof(e=parseInt(e[0]))&&e>0&&this._pageSize!==e){this._pageSize=e;const i=setTimeout((()=>{clearTimeout(i),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,e)=>{let i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const a=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(a)&&a.length>0){const t=a.find((t=>t.value===i));i=void 0===t?a[0].value:t.value,e.set("_pageSize",i)}const s=e.has("_page")?e.get("_page"):this.state._page,o=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,s,e.get("_pageSize"),o)},this.syncPage=(t,e,i,a)=>{if(a>0){const s=this.calcCount(a,i);s>0&&(e>s?(t.set("_page",s),this.onChangePage(reuse.STATE_CHANGE_EVENT,s)):e<1&&(t.set("_page",1),this.onChangePage(reuse.STATE_CHANGE_EVENT,1)))}},this.beforePageSizeOptions=(t,e)=>{const i=[];if(Array.isArray(t))for(const e of t)"number"==typeof e&&i.push({label:i18n.translate("kol-page-per-site",{placeholders:{entries:`${e}`}}),value:e});e.set("_pageSizeOptions",i),this.beforePageSize(i,e)},this._boundaryCount=1,this._customClass=void 0,this._hasButtons=void 0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._total=void 0,this._variant="normal",this.state={_boundaryCount:1,_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_total:0,_variant:"normal"}}render(){var t;let e=!1;const i=this.getCount(),a=Array.from(Array(i).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>i-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(e=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===e?(e=!1,index.h("span",{key:`${this.nonce}-el-${t}`},"•••")):null));return index.h(index.Host,null,index.h("div",null,this.state._hasButtons.first&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftDoubleArrowIcon,_iconOnly:!0,_label:i18n.translate("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.previous&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftSingleArrow,_iconOnly:!0,_label:i18n.translate("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),a,this.state._hasButtons.next&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:i<=this.state._page,_icon:rightSingleArrowIcon,_iconOnly:!0,_label:i18n.translate("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.last&&index.h("kol-button",{_customClass:this.state._customClass,_disabled:i<=this.state._page,_icon:rightDoubleArrowIcon,_iconOnly:!0,_label:i18n.translate("kol-page-last"),_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&index.h("kol-select",{_hideLabel:!0,_id:"pagination-size",_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]},i18n.translate("kol-entries-per-site")))}getUnselectedPageButton(t){return index.h("kol-button",{key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_ariaLabel:i18n.translate("kol-page-current",{placeholders:{page:t.toFixed(0)}}),_label:`${t}`,_on:{onClick:e=>{this.onClick(e,t)}},_variant:this.state._variant})}getSelectedPageButton(t){return index.h("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_ariaLabel:i18n.translate("kol-page-selected",{placeholders:{page:t.toFixed(0)}}),_label:`${t}`,_variant:this.state._variant})}validateBoundaryCount(t){prop_validators.watchNumber(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){prop_validators.watchString(this,"_customClass",t,{defaultValue:void 0})}validateHasButtons(t){prop_validators.watchValidator(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,e)=>{if("boolean"==typeof t)e.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=prop_validators.parseJson(t)}catch(t){e.delete("_hasButtons")}"object"==typeof t&&null!==t&&e.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){prop_validators.watchNumber(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,a=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,t,i,a)}}})}validatePageSize(t){prop_validators.watchNumber(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){prop_validators.watchJsonArrayString(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){prop_validators.watchNumber(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){prop_validators.watchNumber(this,"_total",t,{hooks:{beforePatch:(t,e)=>{const i=e.has("_page")?e.get("_page"):this.state._page,a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,i,a,t)}}})}validateTooltipAlign(t){buttonLink.watchTooltipAlignment(this,"_tooltipAlign",t)}validateVariant(t){controller.watchButtonVariant(this,"_variant",t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateTotal(this._total),this.validateVariant(this._variant),this.validatePage(this._page)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_total:["validateTotal"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};KolPagination.style={default:defaultStyleCss},exports.kol_pagination=KolPagination;
@@ -1 +1 @@
1
- {"file":"kol-pagination.entry.cjs.js","mappings":"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","names":["nonce","STATE_CHANGE_EVENT","translate","h","Host","watchNumber","watchString","watchValidator","parseJson","watchJsonArrayString","watchTooltipAlignment","watchButtonVariant"],"sources":["./src/components/pagination/style.css?tag=kol-pagination&mode=default&encapsulation=shadow","./src/components/pagination/component.tsx"],"sourcesContent":["@import '../style.css';\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { KoliBriButtonVariant, KoliBriButtonVariantPropState, KoliBriButtonCustomClassPropState, watchTooltipAlignment } from '../../types/button-link';\nimport { nonce } from '../../utils/dev.utils';\nimport { parseJson, watchJsonArrayString, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchButtonVariant } from '../button/controller';\nimport { Alignment } from '../../types/props/alignment';\nimport { KoliBriPaginationButtonCallbacks } from './types';\nimport { Stringified } from '../../types/common';\nimport { Option } from '../../types/input/types';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { translate } from '../../i18n';\n\n/**\n * Der HasButton-Typ definiert die Einstellungsmöglichkeiten der speziellen\n * Sprung-Schalter der Pagination.\n */\nexport type PaginationHasButton = {\n\t/**\n\t * Der First-Button ist der Schalter, um direkt auf die erste Seite zu gelangen.\n\t */\n\tfirst: boolean;\n\t/**\n\t * Der Last-Button ist der Schalter, um direkt auf die letzte Seite zu gelangen.\n\t */\n\tlast: boolean;\n\t/**\n\t * Der Next-Button ist der Schalter, um direkt auf die nächste Seite zu gelangen.\n\t */\n\tnext: boolean;\n\t/**\n\t * Der Next-Button ist der Schalter, um direkt auf die vorherige Seite zu gelangen.\n\t */\n\tprevious: boolean;\n};\n\n/**\n * API\n */\nexport type RequiredProps = {\n\ton: KoliBriPaginationButtonCallbacks;\n\tpage: number;\n\ttotal: number;\n};\nexport type OptionalProps = KoliBriButtonCustomClassPropState &\n\tKoliBriButtonVariantPropState & {\n\t\tboundaryCount: number;\n\t\thasButtons: boolean | Stringified<PaginationHasButton>;\n\t\tpageSize: number;\n\t\tpageSizeOptions: Stringified<number[]>;\n\t\tsiblingCount: number;\n\t\ttooltipAlign: Alignment;\n\t};\n// export type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = KoliBriButtonVariantPropState & {\n\tboundaryCount: number;\n\thasButtons: PaginationHasButton;\n\tpage: number;\n\tpageSize: number;\n\tpageSizeOptions: Option<number>[];\n\ton: KoliBriPaginationButtonCallbacks;\n\tsiblingCount: number;\n\ttotal: number;\n};\ntype OptionalStates = KoliBriButtonCustomClassPropState & {\n\ttooltipAlign: Alignment;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._total, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn <span key={`${this.nonce}-el-${page}`}>•••</span>;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t_icon={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t_icon={leftSingleArrow}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t\t{pageButtons}\n\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t_icon={rightSingleArrowIcon}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t_icon={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<kol-select\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id=\"pagination-size\"\n\t\t\t\t\t\t_list={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{translate('kol-entries-per-site')}\n\t\t\t\t\t</kol-select>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, wie viele Seiten neben den am Rand liegenden Pfeil-Schaltern angezeigt werden sollen.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Gibt an, welche Custom-Class übergeben werden soll, wenn _variant=\"custom\" gesetzt ist.\n\t */\n\t@Prop() public _customClass?: string;\n\n\t/**\n\t * Gibt an, welche Sprung-Schalter sichtbar sein sollen.\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton>;\n\n\t/**\n\t * Gibt an, welche Seite aktuell ausgewählt ist.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Gibt an, wie viele Einträge pro Seite angezeigt werden.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Gibt an, welche Optionen für die Seitenlänge angeboten werden.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Gibt an, wie viele Seiten neben dem aktuell ausgewählten Seite angezeigt werden.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, wie viele Einträge mit der Pagination gehandelt werden.\n\t */\n\t@Prop() public _total!: number;\n\n\t/**\n\t * Gibt an, welche Button-Variante verwendet werden soll.\n\t */\n\t@Prop() public _variant?: KoliBriButtonVariant = 'normal';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_boundaryCount: 1,\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_total: 0,\n\t\t_variant: 'normal',\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button\n\t\t\t\tkey={`${this.nonce}-${page}`}\n\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t_ariaLabel={translate('kol-page-current', { placeholders: { page: page.toFixed(0) } })}\n\t\t\t\t_label={`${page}`}\n\t\t\t\t_on={{\n\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\t_variant={this.state._variant}\n\t\t\t></kol-button>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\tclass=\"selected\"\n\t\t\t\tkey={`${this.nonce}-selected`}\n\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t_disabled={true}\n\t\t\t\t_ariaCurrent={true}\n\t\t\t\t_ariaLabel={translate('kol-page-selected', { placeholders: { page: page.toFixed(0) } })}\n\t\t\t\t_label={`${page}`}\n\t\t\t\t_variant={this.state._variant}\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: string): void {\n\t\twatchString(this, '_customClass', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_total') ? (nextState.get('_total') as number) : this.state._total;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_total') ? (nextState.get('_total') as number) : this.state._total;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_total')\n\tpublic validateTotal(value?: number): void {\n\t\twatchNumber(this, '_total', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: Alignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriButtonVariant): void {\n\t\twatchButtonVariant(this, '_variant', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateTotal(this._total);\n\t\tthis.validateVariant(this._variant);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n}\n"],"version":3}
1
+ {"file":"kol-pagination.entry.cjs.js","mappings":"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","names":["nonce","STATE_CHANGE_EVENT","translate","h","Host","watchNumber","watchString","watchValidator","parseJson","watchJsonArrayString","watchTooltipAlignment","watchButtonVariant"],"sources":["./src/components/pagination/style.css?tag=kol-pagination&mode=default&encapsulation=shadow","./src/components/pagination/component.tsx"],"sourcesContent":["@import '../style.css';\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { KoliBriButtonVariant, KoliBriButtonVariantPropState, KoliBriButtonCustomClassPropState, watchTooltipAlignment } from '../../types/button-link';\nimport { nonce } from '../../utils/dev.utils';\nimport { parseJson, watchJsonArrayString, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchButtonVariant } from '../button/controller';\nimport { Alignment } from '../../types/props/alignment';\nimport { KoliBriPaginationButtonCallbacks } from './types';\nimport { Stringified } from '../../types/common';\nimport { Option } from '../../types/input/types';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { translate } from '../../i18n';\n\n/**\n * Der HasButton-Typ definiert die Einstellungsmöglichkeiten der speziellen\n * Sprung-Schalter der Pagination.\n */\nexport type PaginationHasButton = {\n\t/**\n\t * Der First-Button ist der Schalter, um direkt auf die erste Seite zu gelangen.\n\t */\n\tfirst: boolean;\n\t/**\n\t * Der Last-Button ist der Schalter, um direkt auf die letzte Seite zu gelangen.\n\t */\n\tlast: boolean;\n\t/**\n\t * Der Next-Button ist der Schalter, um direkt auf die nächste Seite zu gelangen.\n\t */\n\tnext: boolean;\n\t/**\n\t * Der Next-Button ist der Schalter, um direkt auf die vorherige Seite zu gelangen.\n\t */\n\tprevious: boolean;\n};\n\n/**\n * API\n */\nexport type RequiredProps = {\n\ton: KoliBriPaginationButtonCallbacks;\n\tpage: number;\n\ttotal: number;\n};\nexport type OptionalProps = KoliBriButtonCustomClassPropState &\n\tKoliBriButtonVariantPropState & {\n\t\tboundaryCount: number;\n\t\thasButtons: boolean | Stringified<PaginationHasButton>;\n\t\tpageSize: number;\n\t\tpageSizeOptions: Stringified<number[]>;\n\t\tsiblingCount: number;\n\t\ttooltipAlign: Alignment;\n\t};\n// export type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = KoliBriButtonVariantPropState & {\n\tboundaryCount: number;\n\thasButtons: PaginationHasButton;\n\tpage: number;\n\tpageSize: number;\n\tpageSizeOptions: Option<number>[];\n\ton: KoliBriPaginationButtonCallbacks;\n\tsiblingCount: number;\n\ttotal: number;\n};\ntype OptionalStates = KoliBriButtonCustomClassPropState & {\n\ttooltipAlign: Alignment;\n};\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._total, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn <span key={`${this.nonce}-el-${page}`}>•••</span>;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t_icon={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t_icon={leftSingleArrow}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t\t{pageButtons}\n\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t_icon={rightSingleArrowIcon}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t_icon={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<kol-select\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id=\"pagination-size\"\n\t\t\t\t\t\t_list={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t>\n\t\t\t\t\t\t{translate('kol-entries-per-site')}\n\t\t\t\t\t</kol-select>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, wie viele Seiten neben den am Rand liegenden Pfeil-Schaltern angezeigt werden sollen.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Gibt an, welche Custom-Class übergeben werden soll, wenn _variant=\"custom\" gesetzt ist.\n\t */\n\t@Prop() public _customClass?: string;\n\n\t/**\n\t * Gibt an, welche Sprung-Schalter sichtbar sein sollen.\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton>;\n\n\t/**\n\t * Gibt an, welche Seite aktuell ausgewählt ist.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Gibt an, wie viele Einträge pro Seite angezeigt werden.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Gibt an, welche Optionen für die Seitenlänge angeboten werden.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Gibt an, wie viele Seiten neben dem aktuell ausgewählten Seite angezeigt werden.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, wie viele Einträge mit der Pagination gehandelt werden.\n\t */\n\t@Prop() public _total!: number;\n\n\t/**\n\t * Gibt an, welche Button-Variante verwendet werden soll.\n\t */\n\t@Prop() public _variant?: KoliBriButtonVariant = 'normal';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_boundaryCount: 1,\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_total: 0,\n\t\t_variant: 'normal',\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button\n\t\t\t\tkey={`${this.nonce}-${page}`}\n\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t_ariaLabel={translate('kol-page-current', { placeholders: { page: page.toFixed(0) } })}\n\t\t\t\t_label={`${page}`}\n\t\t\t\t_on={{\n\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t},\n\t\t\t\t}}\n\t\t\t\t_variant={this.state._variant}\n\t\t\t></kol-button>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\tclass=\"selected\"\n\t\t\t\tkey={`${this.nonce}-selected`}\n\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t_disabled={true}\n\t\t\t\t_ariaCurrent={true}\n\t\t\t\t_ariaLabel={translate('kol-page-selected', { placeholders: { page: page.toFixed(0) } })}\n\t\t\t\t_label={`${page}`}\n\t\t\t\t_variant={this.state._variant}\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: string): void {\n\t\twatchString(this, '_customClass', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_total') ? (nextState.get('_total') as number) : this.state._total;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_total') ? (nextState.get('_total') as number) : this.state._total;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_total')\n\tpublic validateTotal(value?: number): void {\n\t\twatchNumber(this, '_total', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: Alignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriButtonVariant): void {\n\t\twatchButtonVariant(this, '_variant', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateTotal(this._total);\n\t\tthis.validateVariant(this._variant);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),prop_validators=require("./prop.validators-90a0e362.js");require("./a11y.tipps-8f94ed90.js"),require("./dev.utils-4142fd37.js"),require("./reuse-bbd0b4e7.js"),require("./index-eb52922f.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}progress,span{display:block;height:0px;overflow:hidden;width:0px}.bar,.cycle{transition:all 0.5s ease-in-out 0s;transition-property:all;transition-duration:0.5s;transition-timing-function:ease-in-out;transition-delay:0.25s}.cycle{transform-origin:50% 50%;transform:rotate(-90deg)}",createProgressSVG=e=>"cycle"===e._type?index.h("svg",{width:"100",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},index.h("circle",{fill:"none",stroke:"#efefef",cx:"6px",cy:"6px",r:"5px"}),index.h("circle",{class:"cycle","stroke-linecap":"round","stroke-dasharray":`${Math.round(e._value/e._max*32)}px 32px`,fill:"none",stroke:"#0075ff",cx:"6px",cy:"6px",r:"5px"})):index.h("svg",{width:"100",viewBox:"0 0 24 2",xmlns:"http://www.w3.org/2000/svg"},index.h("line",{"stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:"23",y2:"1",fill:"#efefef",stroke:"#efefef"}),index.h("line",{class:"bar","stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:`${1+Math.round(e._value/e._max*22)}`,y2:"1",fill:"#0075ff",stroke:"#0075ff"})),KolProcess=class{constructor(e){index.registerInstance(this,e),this._max=void 0,this._type=void 0,this._unit="%",this._value=void 0,this.state={_max:100,_type:"bar",_unit:"%",_value:0,_liveValue:0}}render(){return index.h(index.Host,null,"cycle"===(e=this.state)._type?index.h("svg",{width:"100",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},index.h("circle",{fill:"none",stroke:"#efefef",cx:"6px",cy:"6px",r:"5px"}),index.h("circle",{class:"cycle","stroke-linecap":"round","stroke-dasharray":`${Math.round(e._value/e._max*32)}px 32px`,fill:"none",stroke:"#0075ff",cx:"6px",cy:"6px",r:"5px"})):index.h("svg",{width:"100",viewBox:"0 0 24 2",xmlns:"http://www.w3.org/2000/svg"},index.h("line",{"stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:"23",y2:"1",fill:"#efefef",stroke:"#efefef"}),index.h("line",{class:"bar","stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:`${1+Math.round(e._value/e._max*22)}`,y2:"1",fill:"#0075ff",stroke:"#0075ff"})),index.h("progress",{"aria-busy":this.state._value<this.state._max?"true":"false",max:this.state._max,value:this.state._value}),index.h("span",{"aria-live":"polite","aria-relevant":"removals text"},this.state._liveValue," von ",this.state._max," ",this.state._unit));var e}validateMax(e){"number"!=typeof e&&(e=100),prop_validators.watchNumber(this,"_max",e,{required:!0})}validateType(e){if("cycle"===e);else e="bar";this.state=Object.assign(Object.assign({},this.state),{_type:e})}validateUnit(e){prop_validators.watchString(this,"_unit",e)}validateValue(e){"number"!=typeof e&&(e=0),prop_validators.watchNumber(this,"_value",e,{required:!0})}componentWillLoad(){this.validateMax(this._max),this.validateType(this._type),this.validateUnit(this._unit),this.validateValue(this._value),this.interval=setInterval((()=>{this.state._liveValue!==this.state._value&&(this.state=Object.assign(Object.assign({},this.state),{_liveValue:this.state._value}))}),5e3)}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_max:["validateMax"],_type:["validateType"],_unit:["validateUnit"],_value:["validateValue"]}}};KolProcess.style={default:defaultStyleCss},exports.kol_progress=KolProcess;
4
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-29c5d3c6.js"),prop_validators=require("./prop.validators-90a0e362.js");require("./a11y.tipps-8f94ed90.js"),require("./dev.utils-4142fd37.js"),require("./reuse-bbd0b4e7.js"),require("./index-eb52922f.js");const defaultStyleCss=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button,input,option,select,textarea{cursor:pointer;font-family:inherit;font-size:inherit}.icon-only>kol-span-wc>span>span{display:none}progress,span{display:block;height:0px;overflow:hidden;width:0px}.bar,.cycle{transition:all 0.5s ease-in-out 0s;transition-property:all;transition-duration:0.5s;transition-timing-function:ease-in-out;transition-delay:0.25s}.cycle{transform-origin:50% 50%;transform:rotate(-90deg)}",createProgressSVG=e=>"cycle"===e._type?index.h("svg",{width:"100",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},index.h("circle",{fill:"none",stroke:"#efefef",cx:"6px",cy:"6px",r:"5px"}),index.h("circle",{class:"cycle","stroke-linecap":"round","stroke-dasharray":`${Math.round(e._value/e._max*32)}px 32px`,fill:"none",stroke:"#0075ff",cx:"6px",cy:"6px",r:"5px"})):index.h("svg",{width:"100",viewBox:"0 0 24 2",xmlns:"http://www.w3.org/2000/svg"},index.h("line",{"stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:"23",y2:"1",fill:"#efefef",stroke:"#efefef"}),index.h("line",{class:"bar","stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:`${1+Math.round(e._value/e._max*22)}`,y2:"1",fill:"#0075ff",stroke:"#0075ff"})),KolProcess=class{constructor(e){index.registerInstance(this,e),this._max=void 0,this._type=void 0,this._unit="%",this._value=void 0,this.state={_max:100,_type:"bar",_unit:"%",_value:0,_liveValue:0}}render(){return index.h(index.Host,null,"cycle"===(e=this.state)._type?index.h("svg",{width:"100",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},index.h("circle",{fill:"none",stroke:"#efefef",cx:"6px",cy:"6px",r:"5px"}),index.h("circle",{class:"cycle","stroke-linecap":"round","stroke-dasharray":`${Math.round(e._value/e._max*32)}px 32px`,fill:"none",stroke:"#0075ff",cx:"6px",cy:"6px",r:"5px"})):index.h("svg",{width:"100",viewBox:"0 0 24 2",xmlns:"http://www.w3.org/2000/svg"},index.h("line",{"stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:"23",y2:"1",fill:"#efefef",stroke:"#efefef"}),index.h("line",{class:"bar","stroke-width":"2",x1:"1","stroke-linecap":"round",y1:"1",x2:`${1+Math.round(e._value/e._max*22)}`,y2:"1",fill:"#0075ff",stroke:"#0075ff"})),index.h("progress",{"aria-busy":this.state._value<this.state._max?"true":"false",max:this.state._max,value:this.state._value}),index.h("span",{"aria-live":"polite","aria-relevant":"removals text"},this.state._liveValue," von ",this.state._max," ",this.state._unit));var e}validateMax(e){"number"!=typeof e&&(e=100),prop_validators.watchNumber(this,"_max",e,{required:!0})}validateType(e){if("cycle"===e);else e="bar";this.state=Object.assign(Object.assign({},this.state),{_type:e})}validateUnit(e){prop_validators.watchString(this,"_unit",e)}validateValue(e){"number"!=typeof e&&(e=0),prop_validators.watchNumber(this,"_value",e,{required:!0})}componentWillLoad(){this.validateMax(this._max),this.validateType(this._type),this.validateUnit(this._unit),this.validateValue(this._value),this.interval=setInterval((()=>{this.state._liveValue!==this.state._value&&(this.state=Object.assign(Object.assign({},this.state),{_liveValue:this.state._value}))}),5e3)}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_max:["validateMax"],_type:["validateType"],_unit:["validateUnit"],_value:["validateValue"]}}};KolProcess.style={default:defaultStyleCss},exports.kol_progress=KolProcess;