@public-ui/components 1.1.10-rc.2 → 1.1.10-rc.4

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 (276) hide show
  1. package/custom-elements.json +8 -1
  2. package/dist/cjs/{controller-4d78d21d.js → controller-e1001e4c.js} +1 -1
  3. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  4. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  6. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  7. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  8. package/dist/cjs/kol-button-wc_3.cjs.entry.js +1 -1
  9. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  10. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  11. package/dist/cjs/kol-counter.cjs.entry.js +1 -1
  12. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  13. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  14. package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
  15. package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
  16. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  17. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  18. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  19. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  20. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  21. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  22. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  23. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  24. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  25. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  26. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  27. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  28. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  29. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  30. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  31. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  32. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  33. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  34. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  35. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  36. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  37. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  39. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  46. package/dist/cjs/kolibri.cjs.js +1 -1
  47. package/dist/cjs/loader.cjs.js +1 -1
  48. package/dist/components/component.js +1 -1
  49. package/dist/components/component10.js +1 -1
  50. package/dist/components/component11.js +1 -1
  51. package/dist/components/component12.js +1 -1
  52. package/dist/components/component13.js +1 -1
  53. package/dist/components/component14.js +1 -1
  54. package/dist/components/component2.js +1 -1
  55. package/dist/components/component4.js +1 -1
  56. package/dist/components/component6.js +1 -1
  57. package/dist/components/component7.js +1 -1
  58. package/dist/components/component9.js +1 -1
  59. package/dist/components/kol-abbr.js +1 -1
  60. package/dist/components/kol-accordion.js +1 -1
  61. package/dist/components/kol-breadcrumb.js +1 -1
  62. package/dist/components/kol-card.js +1 -1
  63. package/dist/components/kol-counter.js +1 -1
  64. package/dist/components/kol-details.js +1 -1
  65. package/dist/components/kol-form.js +1 -1
  66. package/dist/components/kol-icon-font-awesome.js +1 -1
  67. package/dist/components/kol-input-checkbox.js +1 -1
  68. package/dist/components/kol-input-color.js +1 -1
  69. package/dist/components/kol-input-email.js +1 -1
  70. package/dist/components/kol-input-file.js +1 -1
  71. package/dist/components/kol-input-number.js +1 -1
  72. package/dist/components/kol-input-password.js +1 -1
  73. package/dist/components/kol-input-radio-group.js +1 -1
  74. package/dist/components/kol-input-range.js +1 -1
  75. package/dist/components/kol-input-text.js +1 -1
  76. package/dist/components/kol-kolibri.js +1 -1
  77. package/dist/components/kol-link-group.js +1 -1
  78. package/dist/components/kol-logo.js +1 -1
  79. package/dist/components/kol-modal.js +1 -1
  80. package/dist/components/kol-nav.js +1 -1
  81. package/dist/components/kol-progress.js +1 -1
  82. package/dist/components/kol-skip-nav.js +1 -1
  83. package/dist/components/kol-spin.js +1 -1
  84. package/dist/components/kol-symbol.js +1 -1
  85. package/dist/components/kol-table.js +1 -1
  86. package/dist/components/kol-tabs.js +1 -1
  87. package/dist/components/kol-textarea.js +1 -1
  88. package/dist/components/kol-toast.js +1 -1
  89. package/dist/components/kol-version.js +1 -1
  90. package/dist/components/shadow.js +1 -1
  91. package/dist/components/shadow2.js +1 -1
  92. package/dist/custom-elements/index.js +1 -1
  93. package/dist/esm/{app-globals-87803a5f.js → app-globals-07840cc0.js} +1 -1
  94. package/dist/esm/{button-link-9e9d1eb2.js → button-link-9a84977e.js} +1 -1
  95. package/dist/esm/{controller-e3d285c6.js → controller-0708a1a2.js} +1 -1
  96. package/dist/esm/{controller-e694a3a2.js → controller-10f60e6b.js} +1 -1
  97. package/dist/esm/{controller-e3787ba1.js → controller-6d132f61.js} +1 -1
  98. package/dist/esm/{controller-6a2353f1.js → controller-d22e144e.js} +1 -1
  99. package/dist/esm/{controller-427b05f1.js → controller-f4342937.js} +1 -1
  100. package/dist/esm/{controller-02308add.js → controller-fbcd3041.js} +1 -1
  101. package/dist/esm/{devtools-f324fb75.js → devtools-2671dc53.js} +1 -1
  102. package/dist/esm/{icon-925a4868.js → icon-4a0f3e81.js} +1 -1
  103. package/dist/esm/index.js +1 -1
  104. package/dist/esm/kol-abbr.entry.js +1 -1
  105. package/dist/esm/kol-accordion.entry.js +1 -1
  106. package/dist/esm/kol-alert.entry.js +1 -1
  107. package/dist/esm/kol-badge.entry.js +1 -1
  108. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  109. package/dist/esm/kol-button-wc_3.entry.js +1 -1
  110. package/dist/esm/kol-button.entry.js +1 -1
  111. package/dist/esm/kol-card.entry.js +1 -1
  112. package/dist/esm/kol-counter.entry.js +1 -1
  113. package/dist/esm/kol-details.entry.js +1 -1
  114. package/dist/esm/kol-form.entry.js +1 -1
  115. package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
  116. package/dist/esm/kol-icon-icofont.entry.js +1 -1
  117. package/dist/esm/kol-icon.entry.js +1 -1
  118. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  119. package/dist/esm/kol-input-color.entry.js +1 -1
  120. package/dist/esm/kol-input-email.entry.js +1 -1
  121. package/dist/esm/kol-input-file.entry.js +1 -1
  122. package/dist/esm/kol-input-number.entry.js +1 -1
  123. package/dist/esm/kol-input-password.entry.js +1 -1
  124. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  125. package/dist/esm/kol-input-radio.entry.js +1 -1
  126. package/dist/esm/kol-input-range.entry.js +1 -1
  127. package/dist/esm/kol-input-text.entry.js +1 -1
  128. package/dist/esm/kol-kolibri.entry.js +1 -1
  129. package/dist/esm/kol-link-group.entry.js +1 -1
  130. package/dist/esm/kol-link-wc.entry.js +1 -1
  131. package/dist/esm/kol-link.entry.js +1 -1
  132. package/dist/esm/kol-logo.entry.js +1 -1
  133. package/dist/esm/kol-modal.entry.js +1 -1
  134. package/dist/esm/kol-nav.entry.js +1 -1
  135. package/dist/esm/kol-pagination.entry.js +1 -1
  136. package/dist/esm/kol-progress.entry.js +1 -1
  137. package/dist/esm/kol-select.entry.js +1 -1
  138. package/dist/esm/kol-skip-nav.entry.js +1 -1
  139. package/dist/esm/kol-spin.entry.js +1 -1
  140. package/dist/esm/kol-symbol.entry.js +1 -1
  141. package/dist/esm/kol-table.entry.js +1 -1
  142. package/dist/esm/kol-tabs.entry.js +1 -1
  143. package/dist/esm/kol-textarea.entry.js +1 -1
  144. package/dist/esm/kol-toast.entry.js +1 -1
  145. package/dist/esm/kol-tooltip.entry.js +1 -1
  146. package/dist/esm/kol-version.entry.js +1 -1
  147. package/dist/esm/kolibri.js +1 -1
  148. package/dist/esm/loader.js +1 -1
  149. package/dist/esm/{prop.validators-6a82cc72.js → prop.validators-df2319e1.js} +1 -1
  150. package/dist/esm/{validation-6f111a8b.js → validation-730f228d.js} +1 -1
  151. package/dist/esm/validation-e6098594.js +4 -0
  152. package/{www/build/app-globals-87803a5f.js → dist/kolibri/app-globals-07840cc0.js} +1 -1
  153. package/dist/kolibri/button-link-9a84977e.js +4 -0
  154. package/dist/kolibri/{controller-e3d285c6.js → controller-0708a1a2.js} +1 -1
  155. package/dist/kolibri/{controller-e694a3a2.js → controller-10f60e6b.js} +1 -1
  156. package/{www/build/controller-e3787ba1.js → dist/kolibri/controller-6d132f61.js} +1 -1
  157. package/dist/kolibri/{controller-6a2353f1.js → controller-d22e144e.js} +1 -1
  158. package/{www/build/controller-427b05f1.js → dist/kolibri/controller-f4342937.js} +1 -1
  159. package/dist/kolibri/{controller-02308add.js → controller-fbcd3041.js} +1 -1
  160. package/dist/kolibri/{devtools-f324fb75.js → devtools-2671dc53.js} +1 -1
  161. package/dist/kolibri/{icon-925a4868.js → icon-4a0f3e81.js} +1 -1
  162. package/dist/kolibri/index.esm.js +1 -1
  163. package/dist/kolibri/kol-abbr.entry.js +1 -1
  164. package/dist/kolibri/kol-accordion.entry.js +1 -1
  165. package/dist/kolibri/kol-alert.entry.js +1 -1
  166. package/dist/kolibri/kol-badge.entry.js +1 -1
  167. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  168. package/dist/kolibri/kol-button-wc_3.entry.js +1 -1
  169. package/dist/kolibri/kol-button.entry.js +1 -1
  170. package/dist/kolibri/kol-card.entry.js +1 -1
  171. package/dist/kolibri/kol-counter.entry.js +1 -1
  172. package/dist/kolibri/kol-details.entry.js +1 -1
  173. package/dist/kolibri/kol-form.entry.js +1 -1
  174. package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
  175. package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
  176. package/dist/kolibri/kol-icon.entry.js +1 -1
  177. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  178. package/dist/kolibri/kol-input-color.entry.js +1 -1
  179. package/dist/kolibri/kol-input-email.entry.js +1 -1
  180. package/dist/kolibri/kol-input-file.entry.js +1 -1
  181. package/dist/kolibri/kol-input-number.entry.js +1 -1
  182. package/dist/kolibri/kol-input-password.entry.js +1 -1
  183. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  184. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  185. package/dist/kolibri/kol-input-range.entry.js +1 -1
  186. package/dist/kolibri/kol-input-text.entry.js +1 -1
  187. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  188. package/dist/kolibri/kol-link-group.entry.js +1 -1
  189. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  190. package/dist/kolibri/kol-link.entry.js +1 -1
  191. package/dist/kolibri/kol-logo.entry.js +1 -1
  192. package/dist/kolibri/kol-modal.entry.js +1 -1
  193. package/dist/kolibri/kol-nav.entry.js +1 -1
  194. package/dist/kolibri/kol-pagination.entry.js +1 -1
  195. package/dist/kolibri/kol-progress.entry.js +1 -1
  196. package/dist/kolibri/kol-select.entry.js +1 -1
  197. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  198. package/dist/kolibri/kol-spin.entry.js +1 -1
  199. package/dist/kolibri/kol-symbol.entry.js +1 -1
  200. package/dist/kolibri/kol-table.entry.js +1 -1
  201. package/dist/kolibri/kol-tabs.entry.js +1 -1
  202. package/dist/kolibri/kol-textarea.entry.js +1 -1
  203. package/dist/kolibri/kol-toast.entry.js +1 -1
  204. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  205. package/dist/kolibri/kol-version.entry.js +1 -1
  206. package/dist/kolibri/kolibri.esm.js +1 -1
  207. package/dist/kolibri/{prop.validators-6a82cc72.js → prop.validators-df2319e1.js} +1 -1
  208. package/dist/kolibri/{validation-6f111a8b.js → validation-730f228d.js} +1 -1
  209. package/dist/kolibri/{validation-8bc3a91b.js → validation-e6098594.js} +1 -1
  210. package/dist/types/components/nav/component.d.ts +5 -0
  211. package/dist/types/components.d.ts +8 -0
  212. package/dist/types/stencil-public-runtime.d.ts +5 -0
  213. package/jest-test-results.json +1 -1
  214. package/package.json +1 -1
  215. package/vscode-custom-data.json +21 -0
  216. package/{dist/kolibri/app-globals-87803a5f.js → www/build/app-globals-07840cc0.js} +1 -1
  217. package/www/build/button-link-9a84977e.js +4 -0
  218. package/www/build/{controller-e3d285c6.js → controller-0708a1a2.js} +1 -1
  219. package/www/build/{controller-e694a3a2.js → controller-10f60e6b.js} +1 -1
  220. package/{dist/kolibri/controller-e3787ba1.js → www/build/controller-6d132f61.js} +1 -1
  221. package/www/build/{controller-6a2353f1.js → controller-d22e144e.js} +1 -1
  222. package/{dist/kolibri/controller-427b05f1.js → www/build/controller-f4342937.js} +1 -1
  223. package/www/build/{controller-02308add.js → controller-fbcd3041.js} +1 -1
  224. package/www/build/{devtools-f324fb75.js → devtools-2671dc53.js} +1 -1
  225. package/www/build/{icon-925a4868.js → icon-4a0f3e81.js} +1 -1
  226. package/www/build/index.esm.js +1 -1
  227. package/www/build/kol-abbr.entry.js +1 -1
  228. package/www/build/kol-accordion.entry.js +1 -1
  229. package/www/build/kol-alert.entry.js +1 -1
  230. package/www/build/kol-badge.entry.js +1 -1
  231. package/www/build/kol-breadcrumb.entry.js +1 -1
  232. package/www/build/kol-button-wc_3.entry.js +1 -1
  233. package/www/build/kol-button.entry.js +1 -1
  234. package/www/build/kol-card.entry.js +1 -1
  235. package/www/build/kol-counter.entry.js +1 -1
  236. package/www/build/kol-details.entry.js +1 -1
  237. package/www/build/kol-form.entry.js +1 -1
  238. package/www/build/kol-icon-font-awesome.entry.js +1 -1
  239. package/www/build/kol-icon-icofont.entry.js +1 -1
  240. package/www/build/kol-icon.entry.js +1 -1
  241. package/www/build/kol-input-checkbox.entry.js +1 -1
  242. package/www/build/kol-input-color.entry.js +1 -1
  243. package/www/build/kol-input-email.entry.js +1 -1
  244. package/www/build/kol-input-file.entry.js +1 -1
  245. package/www/build/kol-input-number.entry.js +1 -1
  246. package/www/build/kol-input-password.entry.js +1 -1
  247. package/www/build/kol-input-radio-group.entry.js +1 -1
  248. package/www/build/kol-input-radio.entry.js +1 -1
  249. package/www/build/kol-input-range.entry.js +1 -1
  250. package/www/build/kol-input-text.entry.js +1 -1
  251. package/www/build/kol-kolibri.entry.js +1 -1
  252. package/www/build/kol-link-group.entry.js +1 -1
  253. package/www/build/kol-link-wc.entry.js +1 -1
  254. package/www/build/kol-link.entry.js +1 -1
  255. package/www/build/kol-logo.entry.js +1 -1
  256. package/www/build/kol-modal.entry.js +1 -1
  257. package/www/build/kol-nav.entry.js +1 -1
  258. package/www/build/kol-pagination.entry.js +1 -1
  259. package/www/build/kol-progress.entry.js +1 -1
  260. package/www/build/kol-select.entry.js +1 -1
  261. package/www/build/kol-skip-nav.entry.js +1 -1
  262. package/www/build/kol-spin.entry.js +1 -1
  263. package/www/build/kol-symbol.entry.js +1 -1
  264. package/www/build/kol-table.entry.js +1 -1
  265. package/www/build/kol-tabs.entry.js +1 -1
  266. package/www/build/kol-textarea.entry.js +1 -1
  267. package/www/build/kol-toast.entry.js +1 -1
  268. package/www/build/kol-tooltip.entry.js +1 -1
  269. package/www/build/kol-version.entry.js +1 -1
  270. package/www/build/kolibri.esm.js +1 -1
  271. package/www/build/{prop.validators-6a82cc72.js → prop.validators-df2319e1.js} +1 -1
  272. package/www/build/{validation-6f111a8b.js → validation-730f228d.js} +1 -1
  273. package/www/build/{validation-8bc3a91b.js → validation-e6098594.js} +1 -1
  274. package/dist/esm/validation-8bc3a91b.js +0 -4
  275. package/dist/kolibri/button-link-9e9d1eb2.js +0 -4
  276. package/www/build/button-link-9e9d1eb2.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as watchShowAs,w as watchTooltipAlignment,d as defineCustomElement$1}from"./component14.js";import{w as watchIcon,a as watchIconAlign}from"./icon.js";import{v as nonce,d as devHint,x as mapStringOrBoolean2String,y as mapBoolean2String,w as watchString,i as watchValidator,b as watchBoolean,z as a11yHintDisabled,A as scrollBySelector}from"./prop.validators.js";import{d as defineCustomElement$4}from"./component2.js";import{d as defineCustomElement$3}from"./component6.js";import{d as defineCustomElement$2}from"./component7.js";const KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.nonce=nonce(),this.getRenderValues=()=>{let t={};"string"==typeof this.state._selector&&(t={role:"link",tabIndex:0,onClick:()=>{scrollBySelector(this.state._selector)},onKeyPress:()=>{scrollBySelector(this.state._selector)}});const e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0)",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:"string"==typeof this.state._target&&"_self"!==this.state._target?"noopener":void 0};let a=this.state._fill;!1!==this.state._stealth&&(a=!1);let i=this.state._underline;return"image"===this.state._useCase&&(i=!1),"image"!==this.state._useCase&&!0!==this.state._iconOnly||"string"==typeof this.state._ariaLabel&&0!==this.state._ariaLabel.length||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der Icon-Only-Modus verwendet wird."),{tagAttrs:e,underline:i,fill:a,goToProps:t}},this._ariaLabel="",this._disabled=!1,this._fill=!1,this._href="",this._iconAlign="left",this._iconOnly=!1,this._showAs="link",this._stealth=!1,this._targetDescription="Der Link wird in einem neuen Tab geöffnet.",this._tooltipAlign="right",this._underline=!0,this._useCase="text",this.state={_ariaLabel:"",_icon:{},_iconAlign:"left",_showAs:"link"}}render(){const{tagAttrs:t,underline:e,fill:a,goToProps:i}=this.getRenderValues();return h(Host,null,h("a",Object.assign({},t,{"aria-controls":this.state._ariaControls,"aria-current":mapStringOrBoolean2String(this.state._ariaCurrent),"aria-expanded":mapBoolean2String(this.state._ariaExpanded),"aria-labelledby":"image"===this.state._useCase||!0===this.state._iconOnly?this.nonce:void 0,"aria-selected":mapBoolean2String(this.state._ariaSelected),class:{[this.state._showAs]:!0,"disabled ":!0===this.state._disabled,"kol-visited":"nav"!==this.state._useCase,"flex flex-wrap items-center":!1===this.state._iconOnly,"grid text-center":!0===this.state._iconOnly,"skip ":!1!==this.state._stealth},part:`link ${"string"==typeof this.state._part?this.state._part:""}`},this.state._on,i,{style:{cursor:"pointer",display:"image"===this.state._useCase?"block":void 0,textDecorationLine:!0===e?"underline":"none",width:!0===a?"100%":void 0}}),this.state._icon.left&&h("kol-icon",{class:{"mr-2":!1===this.state._iconOnly},style:this.state._icon.left.style,_ariaLabel:"",_icon:this.state._icon.left.icon}),h("span",{class:{"float-left":"image"===this.state._useCase,"hidden ":!0===this.state._iconOnly},part:"span"+(!0===this.state._iconOnly?" hidden":"")},h("slot",null)),this.state._icon.right&&h("kol-icon",{class:{"ml-2":!1===this.state._iconOnly},style:this.state._icon.right.style,_ariaLabel:"",_icon:this.state._icon.right.icon}),"string"==typeof this.state._target&&"_self"!==this.state._target&&h("sup",{class:{"no-underline":!0,"inline-block ml-1":"text"===this.state._useCase,"relative ":"text"!==this.state._useCase}},h("kol-icon",{_ariaLabel:this.state._targetDescription,_icon:"icofont-external-link"}))),h("kol-tooltip",{_align:this.state._tooltipAlign,_id:"image"===this.state._useCase||!0===this.state._iconOnly?this.nonce:void 0,_label:"image"===this.state._useCase||!0===this.state._iconOnly?this.state._ariaLabel:""}))}validateAriaControls(t){watchString(this,"_ariaControls",t)}validateAriaCurrent(t){watchValidator(this,"_ariaControls",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaExpanded(t){watchBoolean(this,"_ariaExpanded",t)}validateAriaLabel(t){watchString(this,"_ariaLabel",t)}validateAriaSelected(t){watchBoolean(this,"_ariaSelected",t)}validateDisabled(t){watchBoolean(this,"_disabled",t),!0===t&&a11yHintDisabled()}validateFill(t){watchBoolean(this,"_fill",t)}validateHref(t){watchString(this,"_href",t)}validateIcon(t){watchIcon(this,t)}validateIconAlign(t){watchIconAlign(this,t)}validateIconOnly(t){watchBoolean(this,"_iconOnly",t)}validateSelector(t){watchString(this,"_selector",t)}validateShowAs(t){watchShowAs(this,t)}validateStealth(t){watchBoolean(this,"_stealth",t)}validateTarget(t){watchString(this,"_target",t)}validateTargetDescription(t){watchString(this,"_targetDescription",t)}validateUnderline(t){watchBoolean(this,"_underline",t)}validateUseCase(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_useCase:t}))}validatePart(t){watchString(this,"_part",t,{defaultValue:""})}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}validateOn(t){"object"==typeof t&&null!==t&&Object.prototype.hasOwnProperty.call(t,"onClick")&&"function"==typeof t.onClick&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}componentWillLoad(){this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaLabel(this._ariaLabel),this.validateAriaSelected(this._ariaSelected),this.validateDisabled(this._disabled),this.validateFill(this._fill),this.validateHref(this._href),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateIconOnly(this._iconOnly),this.validateOn(this._on),this.validatePart(this._part),this.validateSelector(this._selector),this.validateShowAs(this._showAs),this.validateStealth(this._stealth),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign),this.validateUnderline(this._underline),this.validateUseCase(this._useCase)}static get watchers(){return{_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_disabled:["validateDisabled"],_fill:["validateFill"],_href:["validateHref"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_selector:["validateSelector"],_showAs:["validateShowAs"],_stealth:["validateStealth"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_underline:["validateUnderline"],_useCase:["validateUseCase"],_part:["validatePart"],_tooltipAlign:["validateTooltipAlign"],_on:["validateOn"]}}},[4,"kol-link-wc",{_ariaControls:[1,"_aria-controls"],_ariaCurrent:[8,"_aria-current"],_ariaExpanded:[4,"_aria-expanded"],_ariaLabel:[1,"_aria-label"],_ariaSelected:[4,"_aria-selected"],_disabled:[4],_fill:[4],_href:[1],_icon:[1],_iconAlign:[1,"_icon-align"],_iconOnly:[4,"_icon-only"],_on:[16],_part:[1],_selector:[1],_showAs:[1,"_show-as"],_stealth:[4],_target:[1],_targetDescription:[1,"_target-description"],_tooltipAlign:[1,"_tooltip-align"],_underline:[4],_useCase:[1,"_use-case"],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-badge","kol-icon","kol-icon-icofont","kol-tooltip"].forEach((t=>{switch(t){case"kol-link-wc":customElements.get(t)||customElements.define(t,KolLinkWc);break;case"kol-badge":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as watchShowAs,w as watchTooltipAlignment,d as defineCustomElement$1}from"./component14.js";import{w as watchIcon,a as watchIconAlign}from"./icon.js";import{v as nonce,d as devHint,y as mapBoolean2String,w as watchString,i as watchValidator,b as watchBoolean,z as a11yHintDisabled,A as scrollBySelector}from"./prop.validators.js";import{d as defineCustomElement$4}from"./component2.js";import{d as defineCustomElement$3}from"./component6.js";import{d as defineCustomElement$2}from"./component7.js";const KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.nonce=nonce(),this.getRenderValues=()=>{let t={};"string"==typeof this.state._selector&&(t={role:"link",tabIndex:0,onClick:()=>{scrollBySelector(this.state._selector)},onKeyPress:()=>{scrollBySelector(this.state._selector)}});const e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0)",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:"string"==typeof this.state._target&&"_self"!==this.state._target?"noopener":void 0};let i=this.state._fill;!1!==this.state._stealth&&(i=!1);let a=this.state._underline;return"image"===this.state._useCase&&(a=!1),"image"!==this.state._useCase&&!0!==this.state._iconOnly||"string"==typeof this.state._ariaLabel&&0!==this.state._ariaLabel.length||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der Icon-Only-Modus verwendet wird."),{tagAttrs:e,underline:a,fill:i,goToProps:t}},this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._ariaSelected=void 0,this._disabled=!1,this._fill=!1,this._href="",this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._on=void 0,this._part=void 0,this._selector=void 0,this._showAs="link",this._stealth=!1,this._target=void 0,this._targetDescription="Der Link wird in einem neuen Tab geöffnet.",this._tooltipAlign="right",this._underline=!0,this._useCase="text",this.state={_ariaLabel:"",_icon:{},_iconAlign:"left",_showAs:"link"}}render(){const{tagAttrs:t,underline:e,fill:i,goToProps:a}=this.getRenderValues();return h(Host,null,h("a",Object.assign({},t,{"aria-controls":this.state._ariaControls,"aria-current":this.state._ariaCurrent,"aria-expanded":mapBoolean2String(this.state._ariaExpanded),"aria-labelledby":"image"===this.state._useCase||!0===this.state._iconOnly?this.nonce:void 0,"aria-selected":mapBoolean2String(this.state._ariaSelected),class:{[this.state._showAs]:!0,"disabled ":!0===this.state._disabled,"kol-visited":"nav"!==this.state._useCase,"flex flex-wrap items-center":!1===this.state._iconOnly,"grid text-center":!0===this.state._iconOnly,"skip ":!1!==this.state._stealth},part:`link ${"string"==typeof this.state._part?this.state._part:""}`},this.state._on,a,{style:{cursor:"pointer",display:"image"===this.state._useCase?"block":void 0,textDecorationLine:!0===e?"underline":"none",width:!0===i?"100%":void 0}}),this.state._icon.left&&h("kol-icon",{class:{"mr-2":!1===this.state._iconOnly},style:this.state._icon.left.style,_ariaLabel:"",_icon:this.state._icon.left.icon}),h("span",{class:{"float-left":"image"===this.state._useCase,"hidden ":!0===this.state._iconOnly},part:"span"+(!0===this.state._iconOnly?" hidden":"")},h("slot",null)),this.state._icon.right&&h("kol-icon",{class:{"ml-2":!1===this.state._iconOnly},style:this.state._icon.right.style,_ariaLabel:"",_icon:this.state._icon.right.icon}),"string"==typeof this.state._target&&"_self"!==this.state._target&&h("sup",{class:{"no-underline":!0,"inline-block ml-1":"text"===this.state._useCase,"relative ":"text"!==this.state._useCase}},h("kol-icon",{_ariaLabel:this.state._targetDescription,_icon:"icofont-external-link"}))),h("kol-tooltip",{_align:this.state._tooltipAlign,_id:"image"===this.state._useCase||!0===this.state._iconOnly?this.nonce:void 0,_label:"image"===this.state._useCase||!0===this.state._iconOnly?this.state._ariaLabel:""}))}validateAriaControls(t){watchString(this,"_ariaControls",t)}validateAriaCurrent(t){watchValidator(this,"_ariaCurrent",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaExpanded(t){watchBoolean(this,"_ariaExpanded",t)}validateAriaLabel(t){watchString(this,"_ariaLabel",t)}validateAriaSelected(t){watchBoolean(this,"_ariaSelected",t)}validateDisabled(t){watchBoolean(this,"_disabled",t),!0===t&&a11yHintDisabled()}validateFill(t){watchBoolean(this,"_fill",t)}validateHref(t){watchString(this,"_href",t)}validateIcon(t){watchIcon(this,t)}validateIconAlign(t){watchIconAlign(this,t)}validateIconOnly(t){watchBoolean(this,"_iconOnly",t)}validateSelector(t){watchString(this,"_selector",t)}validateShowAs(t){watchShowAs(this,t)}validateStealth(t){watchBoolean(this,"_stealth",t)}validateTarget(t){watchString(this,"_target",t)}validateTargetDescription(t){watchString(this,"_targetDescription",t)}validateUnderline(t){watchBoolean(this,"_underline",t)}validateUseCase(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_useCase:t}))}validatePart(t){watchString(this,"_part",t,{defaultValue:""})}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}validateOn(t){"object"==typeof t&&null!==t&&Object.prototype.hasOwnProperty.call(t,"onClick")&&"function"==typeof t.onClick&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}componentWillLoad(){this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaLabel(this._ariaLabel),this.validateAriaSelected(this._ariaSelected),this.validateDisabled(this._disabled),this.validateFill(this._fill),this.validateHref(this._href),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateIconOnly(this._iconOnly),this.validateOn(this._on),this.validatePart(this._part),this.validateSelector(this._selector),this.validateShowAs(this._showAs),this.validateStealth(this._stealth),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign),this.validateUnderline(this._underline),this.validateUseCase(this._useCase)}static get watchers(){return{_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_disabled:["validateDisabled"],_fill:["validateFill"],_href:["validateHref"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_selector:["validateSelector"],_showAs:["validateShowAs"],_stealth:["validateStealth"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_underline:["validateUnderline"],_useCase:["validateUseCase"],_part:["validatePart"],_tooltipAlign:["validateTooltipAlign"],_on:["validateOn"]}}},[4,"kol-link-wc",{_ariaControls:[1,"_aria-controls"],_ariaCurrent:[8,"_aria-current"],_ariaExpanded:[4,"_aria-expanded"],_ariaLabel:[1,"_aria-label"],_ariaSelected:[4,"_aria-selected"],_disabled:[4],_fill:[4],_href:[1],_icon:[1],_iconAlign:[1,"_icon-align"],_iconOnly:[4,"_icon-only"],_on:[16],_part:[1],_selector:[1],_showAs:[1,"_show-as"],_stealth:[4],_target:[1],_targetDescription:[1,"_target-description"],_tooltipAlign:[1,"_tooltip-align"],_underline:[4],_useCase:[1,"_use-case"],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-badge","kol-icon","kol-icon-icofont","kol-tooltip"].forEach((t=>{switch(t){case"kol-link-wc":customElements.get(t)||customElements.define(t,KolLinkWc);break;case"kol-badge":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{w as watchTooltipAlignment,d as defineCustomElement$1}from"./component14.js";import{v as nonce,k as watchNumber,w as watchString,i as watchValidator,j as watchJsonArrayString,p as parseJson}from"./prop.validators.js";import{w as watchButtonVariant,d as defineCustomElement$7}from"./component4.js";import{S as STATE_CHANGE_EVENT}from"./icon.js";import{d as defineCustomElement$a}from"./component.js";import{d as defineCustomElement$9}from"./component2.js";import{d as defineCustomElement$8}from"./shadow.js";import{d as defineCustomElement$6}from"./component5.js";import{d as defineCustomElement$5}from"./component6.js";import{d as defineCustomElement$4}from"./component7.js";import{d as defineCustomElement$3}from"./component9.js";import{d as defineCustomElement$2}from"./component13.js";const defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:calc(1 * var(--kolibri-spacing))}.ml-1{margin-left:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.ml-6{margin-left:calc(6 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.relative{position:relative}.text-center{text-align:center}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.text-normal{color:var(--kolibri-color-normal)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.no-underline{text-decoration:none}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}',leftDoubleArrowIcon={left:"fa-solid fa-angles-left"},leftSingleArrow={left:"fa-solid fa-angle-left"},rightSingleArrowIcon={right:"fa-solid fa-angle-right"},rightDoubleArrowIcon={right:"fa-solid fa-angles-right"},KolPagination=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.nonce=nonce(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._total,this.state._pageSize),this._boundaryCount=1,this._pageSize=1,this._pageSizeOptions=[],this._siblingCount=1,this._tooltipAlign="top",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"},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 a=setTimeout((()=>{clearTimeout(a),"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 a=setTimeout((()=>{clearTimeout(a),"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 a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const i=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===a));a=void 0===t?i[0].value:t.value,e.set("_pageSize",a)}const o=e.has("_page")?e.get("_page"):this.state._page,n=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,o,e.get("_pageSize"),n)},this.syncPage=(t,e,a,i)=>{if(i>0){const o=this.calcCount(i,a);o>0&&(e>o?(t.set("_page",o),this.onChangePage(STATE_CHANGE_EVENT,o)):e<1&&(t.set("_page",1),this.onChangePage(STATE_CHANGE_EVENT,1)))}},this.beforePageSizeOptions=(t,e)=>{const a=[];if(Array.isArray(t))for(const e of t)"number"==typeof e&&a.push({label:`${e} Einträge pro Seite`,value:e});e.set("_pageSizeOptions",a),this.beforePageSize(a,e)}}render(){var t;let e=!1;const a=this.getCount(),i=Array.from(Array(a).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>a-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,h("span",{key:`${this.nonce}-el-${t}`},"•••")):null));return h(Host,null,h("div",null,this.state._hasButtons.first&&h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=2,_icon:leftDoubleArrowIcon,_iconOnly:!0,_label:"Direkt zur ersten Seite",_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.previous&&h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftSingleArrow,_iconOnly:!0,_label:"Eine Seite zurück",_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),i,this.state._hasButtons.next&&h("kol-button",{_customClass:this.state._customClass,_disabled:a<=this.state._page,_icon:rightSingleArrowIcon,_iconOnly:!0,_label:"Eine Seite weiter",_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.last&&h("kol-button",{_customClass:this.state._customClass,_disabled:a-1<=this.state._page,_icon:rightDoubleArrowIcon,_iconOnly:!0,_label:"Direkt zur letzten Seite",_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&h("kol-select",{_hideLabel:!0,_id:"pagination-size",_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]},"Einträge pro Seite"))}getUnselectedPageButton(t){return h("kol-button",{key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_ariaLabel:`Seite ${t}`,_label:`${t}`,_on:{onClick:e=>{this.onClick(e,t)}},_variant:this.state._variant})}getSelectedPageButton(t){return h("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_ariaLabel:`Seite ${t} ist ausgewählt`,_label:`${t}`,_variant:this.state._variant})}validateBoundaryCount(t){watchNumber(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){watchString(this,"_customClass",t,{defaultValue:void 0})}validateHasButtons(t){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=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){watchNumber(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,i=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,t,a,i)}}})}validatePageSize(t){watchNumber(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){watchJsonArrayString(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){watchNumber(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){watchNumber(this,"_total",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_page")?e.get("_page"):this.state._page,i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,a,i,t)}}})}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}validateVariant(t){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"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-pagination",{_boundaryCount:[2,"_boundary-count"],_customClass:[1,"_custom-class"],_hasButtons:[8,"_has-buttons"],_page:[2],_pageSize:[1538,"_page-size"],_pageSizeOptions:[1,"_page-size-options"],_on:[16],_siblingCount:[2,"_sibling-count"],_tooltipAlign:[1,"_tooltip-align"],_total:[2],_variant:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-pagination","kol-alert","kol-badge","kol-button","kol-button-wc","kol-heading-wc","kol-icon","kol-icon-icofont","kol-input","kol-select","kol-tooltip"].forEach((t=>{switch(t){case"kol-pagination":customElements.get(t)||customElements.define(t,KolPagination);break;case"kol-alert":customElements.get(t)||defineCustomElement$a();break;case"kol-badge":customElements.get(t)||defineCustomElement$9();break;case"kol-button":customElements.get(t)||defineCustomElement$8();break;case"kol-button-wc":customElements.get(t)||defineCustomElement$7();break;case"kol-heading-wc":customElements.get(t)||defineCustomElement$6();break;case"kol-icon":customElements.get(t)||defineCustomElement$5();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$4();break;case"kol-input":customElements.get(t)||defineCustomElement$3();break;case"kol-select":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$1()}}))}export{KolPagination as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{w as watchTooltipAlignment,d as defineCustomElement$1}from"./component14.js";import{v as nonce,k as watchNumber,w as watchString,i as watchValidator,j as watchJsonArrayString,p as parseJson}from"./prop.validators.js";import{w as watchButtonVariant,d as defineCustomElement$7}from"./component4.js";import{S as STATE_CHANGE_EVENT}from"./icon.js";import{d as defineCustomElement$a}from"./component.js";import{d as defineCustomElement$9}from"./component2.js";import{d as defineCustomElement$8}from"./shadow.js";import{d as defineCustomElement$6}from"./component5.js";import{d as defineCustomElement$5}from"./component6.js";import{d as defineCustomElement$4}from"./component7.js";import{d as defineCustomElement$3}from"./component9.js";import{d as defineCustomElement$2}from"./component13.js";const defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:calc(1 * var(--kolibri-spacing))}.ml-1{margin-left:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.ml-6{margin-left:calc(6 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.relative{position:relative}.text-center{text-align:center}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.text-normal{color:var(--kolibri-color-normal)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.no-underline{text-decoration:none}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}',leftDoubleArrowIcon={left:"fa-solid fa-angles-left"},leftSingleArrow={left:"fa-solid fa-angle-left"},rightSingleArrowIcon={right:"fa-solid fa-angle-right"},rightDoubleArrowIcon={right:"fa-solid fa-angles-right"},KolPagination=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.nonce=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 a=setTimeout((()=>{clearTimeout(a),"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 a=setTimeout((()=>{clearTimeout(a),"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 a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const i=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===a));a=void 0===t?i[0].value:t.value,e.set("_pageSize",a)}const o=e.has("_page")?e.get("_page"):this.state._page,n=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,o,e.get("_pageSize"),n)},this.syncPage=(t,e,a,i)=>{if(i>0){const o=this.calcCount(i,a);o>0&&(e>o?(t.set("_page",o),this.onChangePage(STATE_CHANGE_EVENT,o)):e<1&&(t.set("_page",1),this.onChangePage(STATE_CHANGE_EVENT,1)))}},this.beforePageSizeOptions=(t,e)=>{const a=[];if(Array.isArray(t))for(const e of t)"number"==typeof e&&a.push({label:`${e} Einträge pro Seite`,value:e});e.set("_pageSizeOptions",a),this.beforePageSize(a,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 a=this.getCount(),i=Array.from(Array(a).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>a-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,h("span",{key:`${this.nonce}-el-${t}`},"•••")):null));return h(Host,null,h("div",null,this.state._hasButtons.first&&h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=2,_icon:leftDoubleArrowIcon,_iconOnly:!0,_label:"Direkt zur ersten Seite",_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.previous&&h("kol-button",{_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftSingleArrow,_iconOnly:!0,_label:"Eine Seite zurück",_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),i,this.state._hasButtons.next&&h("kol-button",{_customClass:this.state._customClass,_disabled:a<=this.state._page,_icon:rightSingleArrowIcon,_iconOnly:!0,_label:"Eine Seite weiter",_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.last&&h("kol-button",{_customClass:this.state._customClass,_disabled:a-1<=this.state._page,_icon:rightDoubleArrowIcon,_iconOnly:!0,_label:"Direkt zur letzten Seite",_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&h("kol-select",{_hideLabel:!0,_id:"pagination-size",_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]},"Einträge pro Seite"))}getUnselectedPageButton(t){return h("kol-button",{key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_ariaLabel:`Seite ${t}`,_label:`${t}`,_on:{onClick:e=>{this.onClick(e,t)}},_variant:this.state._variant})}getSelectedPageButton(t){return h("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_ariaLabel:`Seite ${t} ist ausgewählt`,_label:`${t}`,_variant:this.state._variant})}validateBoundaryCount(t){watchNumber(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){watchString(this,"_customClass",t,{defaultValue:void 0})}validateHasButtons(t){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=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){watchNumber(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,i=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,t,a,i)}}})}validatePageSize(t){watchNumber(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){watchJsonArrayString(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){watchNumber(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){watchNumber(this,"_total",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_page")?e.get("_page"):this.state._page,i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,a,i,t)}}})}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}validateVariant(t){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"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-pagination",{_boundaryCount:[2,"_boundary-count"],_customClass:[1,"_custom-class"],_hasButtons:[8,"_has-buttons"],_page:[2],_pageSize:[1538,"_page-size"],_pageSizeOptions:[1,"_page-size-options"],_on:[16],_siblingCount:[2,"_sibling-count"],_tooltipAlign:[1,"_tooltip-align"],_total:[2],_variant:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-pagination","kol-alert","kol-badge","kol-button","kol-button-wc","kol-heading-wc","kol-icon","kol-icon-icofont","kol-input","kol-select","kol-tooltip"].forEach((t=>{switch(t){case"kol-pagination":customElements.get(t)||customElements.define(t,KolPagination);break;case"kol-alert":customElements.get(t)||defineCustomElement$a();break;case"kol-badge":customElements.get(t)||defineCustomElement$9();break;case"kol-button":customElements.get(t)||defineCustomElement$8();break;case"kol-button-wc":customElements.get(t)||defineCustomElement$7();break;case"kol-heading-wc":customElements.get(t)||defineCustomElement$6();break;case"kol-icon":customElements.get(t)||defineCustomElement$5();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$4();break;case"kol-input":customElements.get(t)||defineCustomElement$3();break;case"kol-select":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$1()}}))}export{KolPagination as K,defineCustomElement as d};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{I as InputController,g as getRenderStates}from"./controller.js";import{w as watchString,j as watchJsonArrayString,b as watchBoolean,d as devHint,k as watchNumber}from"./prop.validators.js";import{S as STATE_CHANGE_EVENT}from"./icon.js";import{f as fillKeyOptionMap}from"./controller3.js";import{d as defineCustomElement$8}from"./component.js";import{d as defineCustomElement$7}from"./component2.js";import{d as defineCustomElement$6}from"./component4.js";import{d as defineCustomElement$5}from"./component5.js";import{d as defineCustomElement$4}from"./component6.js";import{d as defineCustomElement$3}from"./component7.js";import{d as defineCustomElement$2}from"./component9.js";import{d as defineCustomElement$1}from"./component14.js";const validateInputSelectList=e=>"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(!Array.isArray(e.options)||void 0===e.options.find((e=>!1===validateInputSelectList(e))));class SelectController extends InputController{constructor(e,t){super(e,t),this.keyOptionMap=new Map,this.getOptionByKey=e=>this.keyOptionMap.get(e),this.isValueInOptions=(e,t)=>void 0!==t.find((t=>"string"==typeof t.value?t.value===e:!!Array.isArray(t.options)&&this.isValueInOptions(e,t.options))),this.filterValuesInOptions=(e,t)=>e.filter((e=>void 0!==this.isValueInOptions(e,t))),this.beforePatchListValue=(e,t)=>{const i=t.has("_list")?t.get("_list"):this.component.state._list;if(Array.isArray(i)&&i.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,i);const e=t.has("_value")?t.get("_value"):this.component.state._value,a=this.filterValuesInOptions(Array.isArray(e)&&e.length>0?e:[],i);0===a.length?(t.set("_value",[i[0].value]),this.onStateChange()):Array.isArray(e)&&a.length<e.length&&(t.set("_value",a),this.onStateChange())}},this.component=e}validateHeight(e){watchString(this.component,"_height",e)}validateList(e){watchJsonArrayString(this.component,"_list",validateInputSelectList,e,void 0,{hooks:{beforePatch:this.beforePatchListValue}})}validateMultiple(e){watchBoolean(this.component,"_multiple",e),!0===e&&(devHint("[KolSelect] Aktuell wird die Mehrfachauswahl noch nicht unterstützt. Wir sind dran die Mehrfachauswahl funktionsfähig zu implementieren, da der Browser-Standard hier ein paar Lücken hat."),devHint("[KolSelect] Bei der Mehrfachauswahl sollte zusätzlich auch die Listenlänge (size) gesetzt werden."))}validateRequired(e){watchBoolean(this.component,"_required",e)}validateSize(e){watchNumber(this.component,"_size",e,{min:1})}validateValue(e){watchJsonArrayString(this.component,"_value",(()=>!0),e,void 0,{hooks:{beforePatch:this.beforePatchListValue}})}componentWillLoad(e){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof e){const t=setTimeout((()=>{clearTimeout(t),e(STATE_CHANGE_EVENT)}))}},this.validateHeight(this.component._height),this.validateList(this.component._list),this.validateMultiple(this.component._multiple),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}}const defaultInputLineCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:calc(1 * var(--kolibri-spacing))}.ml-1{margin-left:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.ml-6{margin-left:calc(6 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.relative{position:relative}.text-center{text-align:center}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.text-normal{color:var(--kolibri-color-normal)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.no-underline{text-decoration:none}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}.kol-required span::after{content:"*"}input,select,textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}input.error,select.error,textarea.error{border-color:var(--kolibri-border-error)}input:focus,input:hover,select:focus,select:hover,textarea:focus,textarea:hover{border-color:#999}input:not([type=checkbox]),option,select,textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}.kol-disabled{opacity:0.5}.kol-cursor-not-allowed,.kol-cursor-not-allowed *{cursor:not-allowed}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],select,textarea{background-color:white;display:block;line-height:1em;padding:0.5em}input[type=color]{height:2.5em;padding:0.25em 0.5em}textarea{padding:0.5em}',isSelected=(e,t)=>Array.isArray(e)&&e.includes(t),KolSelect=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this._alert=!1,this._hint="",this._touched=!1,this.state={_height:"",_id:"⚠",_list:[],_name:"⚠",_value:[]},this.onChange=e=>{var t,i;this._value=Array.from((null===(t=this.htmlSelect)||void 0===t?void 0:t.options)||[]).filter((e=>!0===e.selected)).map((e=>{var t;return null===(t=this.controller.getOptionByKey(e.value))||void 0===t?void 0:t.value})),"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i.onChange)&&this.state._on.onChange(e,this._value)},this.controller=new SelectController(this,"textarea")}renderOptgroup(e,t){var i;return h("optgroup",{disabled:!0===e.disabled,label:e.label},null===(i=e.options)||void 0===i?void 0:i.map(((e,i)=>{const a=`${t}-${i}`;return Array.isArray(e.options)?this.renderOptgroup(e,a):h("option",{disabled:!0===e.disabled,key:a,selected:isSelected(this.state._value,e.value),value:a},e.label)})))}render(){const{ariaDiscribedBy:e}=getRenderStates(this.state);return h(Host,null,h("kol-input",{_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_required:this.state._required,_touched:this.state._touched},h("span",{slot:"label"},h("slot",null)),h("select",Object.assign({part:"select",title:"",ref:e=>this.htmlSelect=e,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,slot:"input",spellcheck:"false",style:{height:this.state._height}},{onClick:this.controller.onFacade.onClick,onBlur:this.controller.onFacade.onBlur,onFocus:this.controller.onFacade.onFocus},{onChange:this.onChange}),this.state._list.map(((e,t)=>{const i=`-${t}`;return Array.isArray(e.options)?this.renderOptgroup(e,i):h("option",{disabled:!0===e.disabled,key:i,selected:isSelected(this.state._value,e.value),value:i},e.label)})))))}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHeight(e){this.controller.validateHeight(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcon(e){this.controller.validateIcon(e)}validateId(e){this.controller.validateId(e)}validateList(e){this.controller.validateList(e)}validateMultiple(e){this.controller.validateMultiple(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateRequired(e){this.controller.validateRequired(e)}validateSize(e){this.controller.validateSize(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(this.onChange)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_height:["validateHeight"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_list:["validateList"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_size:["validateSize"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}static get style(){return{default:defaultInputLineCss}}},[33,"kol-select",{_accessKey:[1,"_access-key"],_alert:[1540],_disabled:[4],_error:[1],_height:[1],_hideLabel:[4,"_hide-label"],_hint:[1],_icon:[1],_id:[1],_list:[1],_multiple:[4],_name:[1],_on:[16],_required:[4],_size:[2],_tabIndex:[2,"_tab-index"],_touched:[1540],_value:[1537],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-select","kol-alert","kol-badge","kol-button-wc","kol-heading-wc","kol-icon","kol-icon-icofont","kol-input","kol-tooltip"].forEach((e=>{switch(e){case"kol-select":customElements.get(e)||customElements.define(e,KolSelect);break;case"kol-alert":customElements.get(e)||defineCustomElement$8();break;case"kol-badge":customElements.get(e)||defineCustomElement$7();break;case"kol-button-wc":customElements.get(e)||defineCustomElement$6();break;case"kol-heading-wc":customElements.get(e)||defineCustomElement$5();break;case"kol-icon":customElements.get(e)||defineCustomElement$4();break;case"kol-icon-icofont":customElements.get(e)||defineCustomElement$3();break;case"kol-input":customElements.get(e)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(e)||defineCustomElement$1()}}))}export{KolSelect as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{I as InputController,g as getRenderStates}from"./controller.js";import{w as watchString,j as watchJsonArrayString,b as watchBoolean,d as devHint,k as watchNumber}from"./prop.validators.js";import{S as STATE_CHANGE_EVENT}from"./icon.js";import{f as fillKeyOptionMap}from"./controller3.js";import{d as defineCustomElement$8}from"./component.js";import{d as defineCustomElement$7}from"./component2.js";import{d as defineCustomElement$6}from"./component4.js";import{d as defineCustomElement$5}from"./component5.js";import{d as defineCustomElement$4}from"./component6.js";import{d as defineCustomElement$3}from"./component7.js";import{d as defineCustomElement$2}from"./component9.js";import{d as defineCustomElement$1}from"./component14.js";const validateInputSelectList=e=>"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(!Array.isArray(e.options)||void 0===e.options.find((e=>!1===validateInputSelectList(e))));class SelectController extends InputController{constructor(e,t){super(e,t),this.keyOptionMap=new Map,this.getOptionByKey=e=>this.keyOptionMap.get(e),this.isValueInOptions=(e,t)=>void 0!==t.find((t=>"string"==typeof t.value?t.value===e:!!Array.isArray(t.options)&&this.isValueInOptions(e,t.options))),this.filterValuesInOptions=(e,t)=>e.filter((e=>void 0!==this.isValueInOptions(e,t))),this.beforePatchListValue=(e,t)=>{const i=t.has("_list")?t.get("_list"):this.component.state._list;if(Array.isArray(i)&&i.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,i);const e=t.has("_value")?t.get("_value"):this.component.state._value,a=this.filterValuesInOptions(Array.isArray(e)&&e.length>0?e:[],i);0===a.length?(t.set("_value",[i[0].value]),this.onStateChange()):Array.isArray(e)&&a.length<e.length&&(t.set("_value",a),this.onStateChange())}},this.component=e}validateHeight(e){watchString(this.component,"_height",e)}validateList(e){watchJsonArrayString(this.component,"_list",validateInputSelectList,e,void 0,{hooks:{beforePatch:this.beforePatchListValue}})}validateMultiple(e){watchBoolean(this.component,"_multiple",e),!0===e&&(devHint("[KolSelect] Aktuell wird die Mehrfachauswahl noch nicht unterstützt. Wir sind dran die Mehrfachauswahl funktionsfähig zu implementieren, da der Browser-Standard hier ein paar Lücken hat."),devHint("[KolSelect] Bei der Mehrfachauswahl sollte zusätzlich auch die Listenlänge (size) gesetzt werden."))}validateRequired(e){watchBoolean(this.component,"_required",e)}validateSize(e){watchNumber(this.component,"_size",e,{min:1})}validateValue(e){watchJsonArrayString(this.component,"_value",(()=>!0),e,void 0,{hooks:{beforePatch:this.beforePatchListValue}})}componentWillLoad(e){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof e){const t=setTimeout((()=>{clearTimeout(t),e(STATE_CHANGE_EVENT)}))}},this.validateHeight(this.component._height),this.validateList(this.component._list),this.validateMultiple(this.component._multiple),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}}const defaultInputLineCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:calc(1 * var(--kolibri-spacing))}.ml-1{margin-left:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.ml-6{margin-left:calc(6 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.relative{position:relative}.text-center{text-align:center}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.text-normal{color:var(--kolibri-color-normal)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.no-underline{text-decoration:none}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}.kol-required span::after{content:"*"}input,select,textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}input.error,select.error,textarea.error{border-color:var(--kolibri-border-error)}input:focus,input:hover,select:focus,select:hover,textarea:focus,textarea:hover{border-color:#999}input:not([type=checkbox]),option,select,textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}.kol-disabled{opacity:0.5}.kol-cursor-not-allowed,.kol-cursor-not-allowed *{cursor:not-allowed}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],select,textarea{background-color:white;display:block;line-height:1em;padding:0.5em}input[type=color]{height:2.5em;padding:0.25em 0.5em}textarea{padding:0.5em}',isSelected=(e,t)=>Array.isArray(e)&&e.includes(t),KolSelect=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.onChange=e=>{var t,i;this._value=Array.from((null===(t=this.htmlSelect)||void 0===t?void 0:t.options)||[]).filter((e=>!0===e.selected)).map((e=>{var t;return null===(t=this.controller.getOptionByKey(e.value))||void 0===t?void 0:t.value})),"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i.onChange)&&this.state._on.onChange(e,this._value)},this._accessKey=void 0,this._alert=!1,this._disabled=void 0,this._error=void 0,this._height=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._list=void 0,this._multiple=void 0,this._name=void 0,this._on=void 0,this._required=void 0,this._size=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_height:"",_id:"⚠",_list:[],_name:"⚠",_value:[]},this.controller=new SelectController(this,"textarea")}renderOptgroup(e,t){var i;return h("optgroup",{disabled:!0===e.disabled,label:e.label},null===(i=e.options)||void 0===i?void 0:i.map(((e,i)=>{const a=`${t}-${i}`;return Array.isArray(e.options)?this.renderOptgroup(e,a):h("option",{disabled:!0===e.disabled,key:a,selected:isSelected(this.state._value,e.value),value:a},e.label)})))}render(){const{ariaDiscribedBy:e}=getRenderStates(this.state);return h(Host,null,h("kol-input",{_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_required:this.state._required,_touched:this.state._touched},h("span",{slot:"label"},h("slot",null)),h("select",Object.assign({part:"select",title:"",ref:e=>this.htmlSelect=e,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,slot:"input",spellcheck:"false",style:{height:this.state._height}},{onClick:this.controller.onFacade.onClick,onBlur:this.controller.onFacade.onBlur,onFocus:this.controller.onFacade.onFocus},{onChange:this.onChange}),this.state._list.map(((e,t)=>{const i=`-${t}`;return Array.isArray(e.options)?this.renderOptgroup(e,i):h("option",{disabled:!0===e.disabled,key:i,selected:isSelected(this.state._value,e.value),value:i},e.label)})))))}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHeight(e){this.controller.validateHeight(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcon(e){this.controller.validateIcon(e)}validateId(e){this.controller.validateId(e)}validateList(e){this.controller.validateList(e)}validateMultiple(e){this.controller.validateMultiple(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateRequired(e){this.controller.validateRequired(e)}validateSize(e){this.controller.validateSize(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(this.onChange)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_height:["validateHeight"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_list:["validateList"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_size:["validateSize"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}static get style(){return{default:defaultInputLineCss}}},[33,"kol-select",{_accessKey:[1,"_access-key"],_alert:[1540],_disabled:[4],_error:[1],_height:[1],_hideLabel:[4,"_hide-label"],_hint:[1],_icon:[1],_id:[1],_list:[1],_multiple:[4],_name:[1],_on:[16],_required:[4],_size:[2],_tabIndex:[2,"_tab-index"],_touched:[1540],_value:[1537],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-select","kol-alert","kol-badge","kol-button-wc","kol-heading-wc","kol-icon","kol-icon-icofont","kol-input","kol-tooltip"].forEach((e=>{switch(e){case"kol-select":customElements.get(e)||customElements.define(e,KolSelect);break;case"kol-alert":customElements.get(e)||defineCustomElement$8();break;case"kol-badge":customElements.get(e)||defineCustomElement$7();break;case"kol-button-wc":customElements.get(e)||defineCustomElement$6();break;case"kol-heading-wc":customElements.get(e)||defineCustomElement$5();break;case"kol-icon":customElements.get(e)||defineCustomElement$4();break;case"kol-icon-icofont":customElements.get(e)||defineCustomElement$3();break;case"kol-input":customElements.get(e)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(e)||defineCustomElement$1()}}))}export{KolSelect as K,defineCustomElement as d};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{i as watchValidator,B as getDocument,v as nonce,w as watchString}from"./prop.validators.js";import{d as defineCustomElement$3}from"./component2.js";import{d as defineCustomElement$2}from"./component6.js";import{d as defineCustomElement$1}from"./component7.js";const watchShowAs=(t,e)=>{watchValidator(t,"_showAs",(t=>"button"===t||"link"===t),new Set(["String {button, link}"]),e)},watchTooltipAlignment=(t,e,o)=>{watchValidator(t,e,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["TooltipAlignment {top, right, buttom, left}"]),o,{defaultValue:"top"})},defaultStyleCss='.kol-tooltip{font-size:1rem;position:absolute;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:0.5s;display:none;z-index:1000;max-width:300px;box-shadow:0 0 0.15rem rgba(255, 255, 255, 0.8)}.kol-tooltip::after{content:" ";position:absolute;border-style:solid;border-width:5px}.kol-tooltip.arrow-left::after{margin-top:-5px;top:50%;right:100%;border-color:transparent black transparent transparent}.kol-tooltip.arrow-right::after{margin-top:-5px;top:50%;left:100%;border-color:transparent transparent transparent black}.kol-tooltip.arrow-top::after{margin-left:-5px;left:50%;bottom:100%;border-color:transparent transparent black transparent}.kol-tooltip.arrow-bottom::after{margin-left:-5px;left:50%;top:100%;border-color:black transparent transparent transparent}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}',KolTooltip=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.hydrated=!1,this.hostElement=null,this.childElements=[],this.alignTooltip=()=>{const t=this.childElements[0];if(this.tooltipElement instanceof HTMLElement){switch(this.state._align){case"top":case"bottom":this.tooltipElement.style.marginLeft=t.offsetWidth/2-this.tooltipElement.offsetWidth/2+"px";break;default:this.tooltipElement.style.marginTop=`-${t.offsetHeight/2+this.tooltipElement.offsetHeight/2}px`}switch(this.state._align){case"left":this.tooltipElement.style.marginLeft=`calc(-${this.tooltipElement.offsetWidth}px - 0.5em)`;break;case"right":this.tooltipElement.style.marginLeft=`calc(${t.offsetWidth}px + 0.5em)`;break;case"bottom":this.tooltipElement.style.marginTop="0.5em";break;default:this.tooltipElement.style.marginTop=`calc(-${t.offsetHeight+this.tooltipElement.offsetHeight}px - 0.5em)`}}},this.showTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","block"),getDocument().body.addEventListener("keyup",this.hideTooltipByEscape),this.alignTooltip(),this.tooltipElement.style.setProperty("visibility","visible"))},this.hideTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"))},this.hideTooltipByEscape=t=>{"Escape"===t.key&&(getDocument().body.removeEventListener("keyup",this.hideTooltipByEscape),this.hideTooltip())},this.catchHostElement=t=>{if(this.hostElement=t,this.hostElement instanceof HTMLElement){const t=this.hostElement.previousElementSibling;t instanceof HTMLElement&&(t.removeEventListener("mouseover",this.showTooltip),t.addEventListener("mouseover",this.showTooltip),t.removeEventListener("focus",this.showTooltip),t.addEventListener("focus",this.showTooltip),t.removeEventListener("mouseout",this.hideTooltip),t.addEventListener("mouseout",this.hideTooltip),t.removeEventListener("blur",this.hideTooltip),t.addEventListener("blur",this.hideTooltip),this.childElements.push(t))}},this.catchTooltipElement=t=>{this.tooltipElement=t},this._align="top",this.state={_align:"top",_id:nonce(),_label:""}}render(){const t=setTimeout((()=>{clearTimeout(t),this.alignTooltip()}),250);return h(Host,{ref:this.catchHostElement,style:{maxWidth:"300px"}},""!==this.state._label&&h("kol-badge",{class:{"kol-tooltip":!0,"arrow-bottom":"top"===this.state._align,"arrow-left":"right"===this.state._align,"arrow-top":"bottom"===this.state._align,"arrow-right":"left"===this.state._align},id:this.state._id,ref:this.catchTooltipElement,_color:{backgroundColor:"#333",color:"#ddd"},_label:this.state._label,style:{position:"absolute"}}))}validateAlign(t){watchTooltipAlignment(this,"_align",t)}validateId(t){watchString(this,"_id",t)}validateLabel(t){watchString(this,"_label",t,{minLength:0})}componentWillLoad(){this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label),this.hydrated=!0}static get watchers(){return{_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}static get style(){return{default:defaultStyleCss}}},[32,"kol-tooltip",{_align:[1],_id:[1],_label:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-tooltip","kol-badge","kol-icon","kol-icon-icofont"].forEach((t=>{switch(t){case"kol-tooltip":customElements.get(t)||customElements.define(t,KolTooltip);break;case"kol-badge":customElements.get(t)||defineCustomElement$3();break;case"kol-icon":customElements.get(t)||defineCustomElement$2();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$1()}}))}export{KolTooltip as K,watchShowAs as a,defineCustomElement as d,watchTooltipAlignment as w};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{i as watchValidator,B as getDocument,v as nonce,w as watchString}from"./prop.validators.js";import{d as defineCustomElement$3}from"./component2.js";import{d as defineCustomElement$2}from"./component6.js";import{d as defineCustomElement$1}from"./component7.js";const watchShowAs=(t,e)=>{watchValidator(t,"_showAs",(t=>"button"===t||"link"===t),new Set(["String {button, link}"]),e)},watchTooltipAlignment=(t,e,o)=>{watchValidator(t,e,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["TooltipAlignment {top, right, buttom, left}"]),o,{defaultValue:"top"})},defaultStyleCss='.kol-tooltip{font-size:1rem;position:absolute;animation-name:fadeInOpacity;animation-iteration-count:1;animation-timing-function:ease-in;animation-duration:0.5s;display:none;z-index:1000;max-width:300px;box-shadow:0 0 0.15rem rgba(255, 255, 255, 0.8)}.kol-tooltip::after{content:" ";position:absolute;border-style:solid;border-width:5px}.kol-tooltip.arrow-left::after{margin-top:-5px;top:50%;right:100%;border-color:transparent black transparent transparent}.kol-tooltip.arrow-right::after{margin-top:-5px;top:50%;left:100%;border-color:transparent transparent transparent black}.kol-tooltip.arrow-top::after{margin-left:-5px;left:50%;bottom:100%;border-color:transparent transparent black transparent}.kol-tooltip.arrow-bottom::after{margin-left:-5px;left:50%;top:100%;border-color:black transparent transparent transparent}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}',KolTooltip=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.hydrated=!1,this.hostElement=null,this.childElements=[],this.alignTooltip=()=>{const t=this.childElements[0];if(this.tooltipElement instanceof HTMLElement){switch(this.state._align){case"top":case"bottom":this.tooltipElement.style.marginLeft=t.offsetWidth/2-this.tooltipElement.offsetWidth/2+"px";break;default:this.tooltipElement.style.marginTop=`-${t.offsetHeight/2+this.tooltipElement.offsetHeight/2}px`}switch(this.state._align){case"left":this.tooltipElement.style.marginLeft=`calc(-${this.tooltipElement.offsetWidth}px - 0.5em)`;break;case"right":this.tooltipElement.style.marginLeft=`calc(${t.offsetWidth}px + 0.5em)`;break;case"bottom":this.tooltipElement.style.marginTop="0.5em";break;default:this.tooltipElement.style.marginTop=`calc(-${t.offsetHeight+this.tooltipElement.offsetHeight}px - 0.5em)`}}},this.showTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","block"),getDocument().body.addEventListener("keyup",this.hideTooltipByEscape),this.alignTooltip(),this.tooltipElement.style.setProperty("visibility","visible"))},this.hideTooltip=()=>{this.tooltipElement instanceof HTMLElement&&(this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"))},this.hideTooltipByEscape=t=>{"Escape"===t.key&&(getDocument().body.removeEventListener("keyup",this.hideTooltipByEscape),this.hideTooltip())},this.catchHostElement=t=>{if(this.hostElement=t,this.hostElement instanceof HTMLElement){const t=this.hostElement.previousElementSibling;t instanceof HTMLElement&&(t.removeEventListener("mouseover",this.showTooltip),t.addEventListener("mouseover",this.showTooltip),t.removeEventListener("focus",this.showTooltip),t.addEventListener("focus",this.showTooltip),t.removeEventListener("mouseout",this.hideTooltip),t.addEventListener("mouseout",this.hideTooltip),t.removeEventListener("blur",this.hideTooltip),t.addEventListener("blur",this.hideTooltip),this.childElements.push(t))}},this.catchTooltipElement=t=>{this.tooltipElement=t},this._align="top",this._id=void 0,this._label=void 0,this.state={_align:"top",_id:nonce(),_label:""}}render(){const t=setTimeout((()=>{clearTimeout(t),this.alignTooltip()}),250);return h(Host,{ref:this.catchHostElement,style:{maxWidth:"300px"}},""!==this.state._label&&h("kol-badge",{class:{"kol-tooltip":!0,"arrow-bottom":"top"===this.state._align,"arrow-left":"right"===this.state._align,"arrow-top":"bottom"===this.state._align,"arrow-right":"left"===this.state._align},id:this.state._id,ref:this.catchTooltipElement,_color:{backgroundColor:"#333",color:"#ddd"},_label:this.state._label,style:{position:"absolute"}}))}validateAlign(t){watchTooltipAlignment(this,"_align",t)}validateId(t){watchString(this,"_id",t)}validateLabel(t){watchString(this,"_label",t,{minLength:0})}componentWillLoad(){this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label),this.hydrated=!0}static get watchers(){return{_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}static get style(){return{default:defaultStyleCss}}},[32,"kol-tooltip",{_align:[1],_id:[1],_label:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-tooltip","kol-badge","kol-icon","kol-icon-icofont"].forEach((t=>{switch(t){case"kol-tooltip":customElements.get(t)||customElements.define(t,KolTooltip);break;case"kol-badge":customElements.get(t)||defineCustomElement$3();break;case"kol-icon":customElements.get(t)||defineCustomElement$2();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$1()}}))}export{KolTooltip as K,watchShowAs as a,defineCustomElement as d,watchTooltipAlignment as w};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h}from"@stencil/core/internal/client";import{i as watchValidator,r as rgbaConvert,f as featureHint,d as devHint,b as watchBoolean,w as watchString}from"./prop.validators.js";import{s}from"./index.m.js";import{c as colorRgba}from"./index2.js";import{N as Nationalfarben}from"./color.js";import{d as defineCustomElement$2}from"./component6.js";import{d as defineCustomElement$1}from"./component7.js";const watchIcofont=(t,e)=>{watchValidator(t,"_icon",(t=>"string"==typeof t),new Set(["Icofont"]),e,{required:!0})},getContrastYIQ=(t,e,a)=>(299*t+587*e+114*a)/1e3>=128?-1:1,calcContrastColor=(t,e,a,o=1)=>{const i=[Math.max(Math.min(Math.round(e[0]+o*Math.max(1,e[0]/100)),255),0),Math.max(Math.min(Math.round(e[1]+o*Math.max(1,e[1]/100)),255),0),Math.max(Math.min(Math.round(e[2]+o*Math.max(1,e[2]/100)),255),0)],r=s(rgbaConvert.hex(`rgba(${t.join(",")},1)`),rgbaConvert.hex(`rgba(${i.join(",")},1)`)),n=i[0]+i[1]+i[2];return 0===n||765===n||r>a?i:calcContrastColor(t,i,a,o)},getContrastColor=(t,e,a,o=1)=>{if(cache.has(t))return cache.get(t);const i=calcContrastColor(t,e,a,o);return cache.set(t,i),i},cache=new Map,createContrastColorPair=(t,e=7)=>{let a=[0,0,0,1],o=[255,255,255,1];"string"==typeof t?(a=colorRgba(t),o=a):"object"==typeof t&&null!==t&&"string"==typeof t.baseColor&&(a=colorRgba(t.baseColor),o="string"==typeof t.contrastColor?colorRgba(t.contrastColor):a);const i=(r=a[0],n=a[1],l=a[2],(299*r+587*n+114*l)/1e3>=128?-1:1);var r,n,l;return o=[...getContrastColor([a[0],a[1],a[2]],[o[0],o[1],o[2]],e,i),1],{baseColor:rgbaConvert.hex(`rgba(${a.join(",")})`),contrastColor:rgbaConvert.hex(`rgba(${o.join(",")})`)}},defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:calc(1 * var(--kolibri-spacing))}.ml-1{margin-left:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.ml-6{margin-left:calc(6 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.relative{position:relative}.text-center{text-align:center}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.text-normal{color:var(--kolibri-color-normal)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.no-underline{text-decoration:none}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}span{display:inline-block;border-radius:var(--kolibri-border-radius);padding-left:calc(2 * var(--kolibri-spacing));padding-right:calc(2 * var(--kolibri-spacing));padding-top:0.125rem;padding-bottom:0.125rem}';featureHint("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const HACK_REG_EX=/^([a-f0-9]{3}|[a-f0-9]{6})$/,KolBadge=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.bgColorStr="#000",this.colorStr="#fff",this._color=Nationalfarben.Schwarz,this._iconAlign="left",this._iconOnly=!1,this.state={_color:Nationalfarben.Schwarz,_label:""},this.handleColorChange=t=>{let e,a=t;"string"==typeof a?(HACK_REG_EX.test(a)&&(devHint("[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)."),a=`#${a}`),e=createContrastColorPair(a)):e=createContrastColorPair({baseColor:a.backgroundColor,contrastColor:a.color}),this.bgColorStr=e.baseColor,this.colorStr=e.contrastColor}}render(){return h("span",{style:{backgroundColor:this.bgColorStr,color:this.colorStr}},"string"==typeof this.state._icon&&"left"===this.state._iconAlign&&h("kol-icon-icofont",{class:{"mr-1":!1===this.state._iconOnly},style:{color:this.colorStr},_ariaLabel:!0===this.state._iconOnly?this.state._label:"",_icon:this.state._icon}),!0!==this.state._iconOnly&&this.state._label,"string"==typeof this.state._icon&&"right"===this.state._iconAlign&&h("kol-icon-icofont",{class:{"ml-1":!1===this.state._iconOnly},style:{color:this.colorStr},_ariaLabel:!0===this.state._iconOnly?this.state._label:"",_icon:this.state._icon}))}validateColor(t){watchValidator(this,"_color",(t=>"string"==typeof t||"object"==typeof t&&null!==t),new Set(["string","KoliBriColor"]),t,{defaultValue:Nationalfarben.Schwarz,hooks:{beforePatch:this.handleColorChange}})}validateIcon(t){watchIcofont(this,t)}validateIconAlign(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_iconAlign:t}))}validateIconOnly(t){watchBoolean(this,"_iconOnly",t)}validateLabel(t){watchString(this,"_label",t,{required:!0})}componentWillLoad(){this.validateColor(this._color),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateIconOnly(this._iconOnly),this.validateLabel(this._label)}static get watchers(){return{_color:["validateColor"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_label:["validateLabel"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-badge",{_color:[1],_icon:[1],_iconAlign:[1,"_icon-align"],_iconOnly:[4,"_icon-only"],_label:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-badge","kol-icon","kol-icon-icofont"].forEach((t=>{switch(t){case"kol-badge":customElements.get(t)||customElements.define(t,KolBadge);break;case"kol-icon":customElements.get(t)||defineCustomElement$2();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$1()}}))}export{KolBadge as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h}from"@stencil/core/internal/client";import{i as watchValidator,r as rgbaConvert,f as featureHint,d as devHint,b as watchBoolean,w as watchString}from"./prop.validators.js";import{s}from"./index.m.js";import{c as colorRgba}from"./index2.js";import{N as Nationalfarben}from"./color.js";import{d as defineCustomElement$2}from"./component6.js";import{d as defineCustomElement$1}from"./component7.js";const watchIcofont=(t,e)=>{watchValidator(t,"_icon",(t=>"string"==typeof t),new Set(["Icofont"]),e,{required:!0})},getContrastYIQ=(t,e,a)=>(299*t+587*e+114*a)/1e3>=128?-1:1,calcContrastColor=(t,e,a,o=1)=>{const i=[Math.max(Math.min(Math.round(e[0]+o*Math.max(1,e[0]/100)),255),0),Math.max(Math.min(Math.round(e[1]+o*Math.max(1,e[1]/100)),255),0),Math.max(Math.min(Math.round(e[2]+o*Math.max(1,e[2]/100)),255),0)],r=s(rgbaConvert.hex(`rgba(${t.join(",")},1)`),rgbaConvert.hex(`rgba(${i.join(",")},1)`)),n=i[0]+i[1]+i[2];return 0===n||765===n||r>a?i:calcContrastColor(t,i,a,o)},getContrastColor=(t,e,a,o=1)=>{if(cache.has(t))return cache.get(t);const i=calcContrastColor(t,e,a,o);return cache.set(t,i),i},cache=new Map,createContrastColorPair=(t,e=7)=>{let a=[0,0,0,1],o=[255,255,255,1];"string"==typeof t?(a=colorRgba(t),o=a):"object"==typeof t&&null!==t&&"string"==typeof t.baseColor&&(a=colorRgba(t.baseColor),o="string"==typeof t.contrastColor?colorRgba(t.contrastColor):a);const i=(r=a[0],n=a[1],l=a[2],(299*r+587*n+114*l)/1e3>=128?-1:1);var r,n,l;return o=[...getContrastColor([a[0],a[1],a[2]],[o[0],o[1],o[2]],e,i),1],{baseColor:rgbaConvert.hex(`rgba(${a.join(",")})`),contrastColor:rgbaConvert.hex(`rgba(${o.join(",")})`)}},defaultStyleCss='*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--kolibri-border-color)}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:var(--kolibri-color);--tw-ring-color:rgba(undefined, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=\'search\']{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}b{font-weight:bolder}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=\'button\'],[type=\'reset\'],[type=\'submit\']{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role="button"]{cursor:pointer}code{font-size:1em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}fieldset{margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5}h1,p,h2,h3,h4,h5,h6{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}legend{padding:0}progress{vertical-align:baseline}small{font-size:80%}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}svg{display:block;vertical-align:middle}table{text-indent:0;border-color:inherit;border-collapse:collapse}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.bg-normal{background-color:var(--kolibri-color-normal)}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-spin-1{background-color:var(--kolibri-color-spin-1)}.bg-spin-2{background-color:var(--kolibri-color-spin-2)}.bg-spin-3{background-color:var(--kolibri-color-spin-3)}.rounded{border-radius:var(--kolibri-border-radius)}.border-1{border-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.grid{display:-ms-grid;display:grid}.hidden{display:none}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.content-center{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.float-left{float:left}.font-80{font-weight:80}.font-60{font-weight:60}.h-full{height:100%}.h-0{height:0px}.h-0\\.41c-2\\.42\\2c 0-4\\.82-1\\.57-4\\.82-3\\.58c0\\.05-0\\.98\\2c 0\\.43-1\\.91\\2c 1\\.07-2\\.65c0\\.3\\2c 0\\.05\\2c 0\\.61\\2c 0\\.09\\2c 0\\.92\\2c 0\\.09c1\\.1\\2c 0\\2c 1\\.69-0\\.58\\2c 1\\.74-1\\.16{height:0.29rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.leading-normal{line-height:1.5}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:calc(1 * var(--kolibri-spacing))}.ml-1{margin-left:calc(1 * var(--kolibri-spacing))}.mr-2{margin-right:calc(2 * var(--kolibri-spacing))}.ml-2{margin-left:calc(2 * var(--kolibri-spacing))}.mb-1{margin-bottom:calc(1 * var(--kolibri-spacing))}.ml-6{margin-left:calc(6 * var(--kolibri-spacing))}.mt-2{margin-top:calc(2 * var(--kolibri-spacing))}.mt-4{margin-top:calc(4 * var(--kolibri-spacing))}.overflow-hidden{overflow:hidden}.overflow-y-visible{overflow-y:visible}.p-2{padding:calc(2 * var(--kolibri-spacing))}.p-4{padding:calc(4 * var(--kolibri-spacing))}.px{padding-left:1px;padding-right:1px}.py-2{padding-top:calc(2 * var(--kolibri-spacing));padding-bottom:calc(2 * var(--kolibri-spacing))}.pl-8{padding-left:2rem}.pb-2{padding-bottom:calc(2 * var(--kolibri-spacing))}.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.absolute{position:absolute}.relative{position:relative}.text-center{text-align:center}.hover\\:text-primary:hover{color:var(--kolibri-color-primary)}.text-normal{color:var(--kolibri-color-normal)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.no-underline{text-decoration:none}.visible{visibility:visible}.w-full{width:100%}.w-4\\/5{width:80%}.z-50{z-index:50}.gap-1{grid-gap:calc(1 * var(--kolibri-spacing));gap:calc(1 * var(--kolibri-spacing))}.gap-2{grid-gap:calc(2 * var(--kolibri-spacing));gap:calc(2 * var(--kolibri-spacing))}.grid-flow-col{grid-auto-flow:column}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate:0;--tw-rotate-x:0;--tw-rotate-y:0;--tw-rotate-z:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.animate{-webkit-animation-iteration-count:1;animation-iteration-count:1}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:host *{-ms-hyphens:var(--kolibri-hyphens);-webkit-hyphens:var(--kolibri-hyphens);hyphens:var(--kolibri-hyphens);font-family:var(--kolibri-font-family);line-height:var(--kolibri-line-height);word-break:break-word}span{display:inline-block;border-radius:var(--kolibri-border-radius);padding-left:calc(2 * var(--kolibri-spacing));padding-right:calc(2 * var(--kolibri-spacing));padding-top:0.125rem;padding-bottom:0.125rem}';featureHint("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const HACK_REG_EX=/^([a-f0-9]{3}|[a-f0-9]{6})$/,KolBadge=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.bgColorStr="#000",this.colorStr="#fff",this.handleColorChange=t=>{let e,a=t;"string"==typeof a?(HACK_REG_EX.test(a)&&(devHint("[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)."),a=`#${a}`),e=createContrastColorPair(a)):e=createContrastColorPair({baseColor:a.backgroundColor,contrastColor:a.color}),this.bgColorStr=e.baseColor,this.colorStr=e.contrastColor},this._color=Nationalfarben.Schwarz,this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._label=void 0,this.state={_color:Nationalfarben.Schwarz,_label:""}}render(){return h("span",{style:{backgroundColor:this.bgColorStr,color:this.colorStr}},"string"==typeof this.state._icon&&"left"===this.state._iconAlign&&h("kol-icon-icofont",{class:{"mr-1":!1===this.state._iconOnly},style:{color:this.colorStr},_ariaLabel:!0===this.state._iconOnly?this.state._label:"",_icon:this.state._icon}),!0!==this.state._iconOnly&&this.state._label,"string"==typeof this.state._icon&&"right"===this.state._iconAlign&&h("kol-icon-icofont",{class:{"ml-1":!1===this.state._iconOnly},style:{color:this.colorStr},_ariaLabel:!0===this.state._iconOnly?this.state._label:"",_icon:this.state._icon}))}validateColor(t){watchValidator(this,"_color",(t=>"string"==typeof t||"object"==typeof t&&null!==t),new Set(["string","KoliBriColor"]),t,{defaultValue:Nationalfarben.Schwarz,hooks:{beforePatch:this.handleColorChange}})}validateIcon(t){watchIcofont(this,t)}validateIconAlign(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_iconAlign:t}))}validateIconOnly(t){watchBoolean(this,"_iconOnly",t)}validateLabel(t){watchString(this,"_label",t,{required:!0})}componentWillLoad(){this.validateColor(this._color),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateIconOnly(this._iconOnly),this.validateLabel(this._label)}static get watchers(){return{_color:["validateColor"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_label:["validateLabel"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-badge",{_color:[1],_icon:[1],_iconAlign:[1,"_icon-align"],_iconOnly:[4,"_icon-only"],_label:[1],state:[32]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-badge","kol-icon","kol-icon-icofont"].forEach((t=>{switch(t){case"kol-badge":customElements.get(t)||customElements.define(t,KolBadge);break;case"kol-icon":customElements.get(t)||defineCustomElement$2();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$1()}}))}export{KolBadge as K,defineCustomElement as d};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - the accessible web component library
3
3
  */
4
- import{proxyCustomElement,HTMLElement as HTMLElement$1,h,Host}from"@stencil/core/internal/client";import{a as watchShowAs,w as watchTooltipAlignment,d as defineCustomElement$1}from"./component14.js";import{w as watchIcon,a as watchIconAlign}from"./icon.js";import{q as setEventTargetAndStopPropagation,i as watchValidator,t as a11yHint,v as nonce,d as devHint,x as mapStringOrBoolean2String,y as mapBoolean2String,w as watchString,b as watchBoolean,z as a11yHintDisabled}from"./prop.validators.js";import{d as defineCustomElement$4}from"./component2.js";import{d as defineCustomElement$3}from"./component6.js";import{d as defineCustomElement$2}from"./component7.js";const propergateResetEventToForm=(t={})=>{for(;t.form instanceof HTMLElement&&"FORM"!==t.form.tagName&&"KOL-FORM"!==t.form.tagName;)t.form.parentElement instanceof HTMLElement?t.form=t.form.parentElement:t.form.parentNode instanceof ShadowRoot?t.form=t.form.parentNode.host:t.form=null;if(t.form instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if(setEventTargetAndStopPropagation(e,t.ref),"FORM"===t.form.tagName)t.form.dispatchEvent(e);else if("KOL-FORM"===t.form.tagName){const a=t.form;"object"==typeof a._on&&null!==typeof a._on&&"function"==typeof a._on.onReset&&a._on.onReset(e)}}},propergateSubmitEventToForm=(t={})=>{for(;t.form instanceof HTMLElement&&"FORM"!==t.form.tagName&&"KOL-FORM"!==t.form.tagName;)t.form.parentElement instanceof HTMLElement?t.form=t.form.parentElement:t.form.parentNode instanceof ShadowRoot?t.form=t.form.parentNode.host:t.form=null;if(t.form instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t.ref});if(setEventTargetAndStopPropagation(e,t.ref),"FORM"===t.form.tagName)t.form.dispatchEvent(e);else if("KOL-FORM"===t.form.tagName){const a=t.form;"object"==typeof a._on&&null!==typeof a._on&&"function"==typeof a._on.onSubmit&&a._on.onSubmit(e)}}},syncAriaLabelBeforePatch=(t,e,a,i)=>{const o=e.has("_ariaLabel")?e.get("_ariaLabel"):a.state._ariaLabel;if("string"==typeof o&&o.length>0){const t=e.has("_label")?e.get("_label"):a.state._label;!1===new RegExp(`^${t}`).test(o)&&("_ariaLabel"===i?(e.set("_label",o),a._label=o):(e.set("_ariaLabel",t),a._ariaLabel=t),a11yHint("Das abweichende Aria-Label am Schalter ist nicht barrierefrei. Ein abweichendes Aria-Label muss aus Barrierefreiheitsgründen für die Sprachsteuerung mit dem Label-Text beginnen."))}},watchButtonType=(t,e,a)=>{watchValidator(t,e,(t=>"button"===t||"reset"===t||"submit"===t),new Set(["KoliBriButtonType {button, reset, submit}"]),a)},watchButtonVariant=(t,e,a)=>{watchValidator(t,e,(t=>"primary"===t||"secondary"===t||"normal"===t||"danger"===t||"ghost"===t||"custom"===t),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),a,{defaultValue:"normal"})},KolButtonWc=proxyCustomElement(class extends HTMLElement$1{constructor(){super(),this.__registerHost(),this.nonce=nonce(),this.catchHost=t=>{this.host=t},this.catchRef=t=>{this.forwardedRef=t,this.ref=t},this.onClick=t=>{var e,a;"submit"===this.state._type?propergateSubmitEventToForm({form:this.host,ref:this.ref}):"reset"===this.state._type?propergateResetEventToForm({form:this.host,ref:this.ref}):"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)?(setEventTargetAndStopPropagation(t,this.ref),null===(a=this.state._on)||void 0===a||a.onClick(t)):devHint("It is no button click callback configured!")},this._ariaLabel="",this._disabled=!1,this._iconAlign="left",this._iconOnly=!1,this._showAs="button",this._tooltipAlign="top",this._type="button",this._variant="normal",this.state={_ariaLabel:"",_icon:{},_iconAlign:"left",_label:"",_on:{},_showAs:"button",_type:"button"}}render(){return h(Host,{ref:this.catchHost},h("button",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-controls":this.state._ariaControls,"aria-current":mapStringOrBoolean2String(this.state._ariaCurrent),"aria-expanded":mapBoolean2String(this.state._ariaExpanded),"aria-label":!1===this.state._iconOnly?this.state._ariaLabel||this.state._label:void 0,"aria-labelledby":!0===this.state._iconOnly?this.nonce:void 0,class:{[this.state._showAs]:!0,[this.state._variant]:!0,"icon-only":!0===this.state._iconOnly,[this.state._customClass]:"string"==typeof this.state._customClass&&this.state._customClass.length>0},disabled:this.state._disabled,id:this.state._id},this.state._on,{onClick:this.onClick,style:{width:"inherit"},type:this.state._type}),h("span",null,this.state._icon.top&&h("kol-icon",{class:{"icon top":!0},style:this.state._icon.top.style,_ariaLabel:"",_icon:this.state._icon.top.icon}),h("span",{class:"flex items-center"},this.state._icon.left&&h("kol-icon",{class:{"icon left":!0,"mr-2":!1===this.state._iconOnly},style:this.state._icon.left.style,_ariaLabel:"",_icon:this.state._icon.left.icon}),!1===this.state._iconOnly&&h("span",null,"string"==typeof this.state._label&&this.state._label),this.state._icon.right&&h("kol-icon",{class:{"icon right":!0,"ml-2":!1===this.state._iconOnly},style:this.state._icon.right.style,_ariaLabel:"",_icon:this.state._icon.right.icon})),this.state._icon.bottom&&h("kol-icon",{class:{"icon bottom":!0},style:this.state._icon.bottom.style,_ariaLabel:"",_icon:this.state._icon.bottom.icon}))),!0===this.state._iconOnly&&h("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._ariaLabel||this.state._label}))}async getInteractiveElementRef(){return Promise.resolve(this.ref)}validateAccessKey(t){watchString(this,"_accessKey",t)}validateAriaControls(t){watchString(this,"_ariaControls",t)}validateAriaCurrent(t){watchValidator(this,"_ariaControls",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaExpanded(t){watchBoolean(this,"_ariaExpanded",t)}validateAriaLabel(t){watchString(this,"_ariaLabel",t,{hooks:{beforePatch:syncAriaLabelBeforePatch}})}validateCustomClass(t){watchString(this,"_customClass",t,{defaultValue:void 0})}validateDisabled(t){watchBoolean(this,"_disabled",t),!0===t&&a11yHintDisabled()}validateIcon(t){watchIcon(this,t)}validateIconAlign(t){watchIconAlign(this,t)}validateIconOnly(t){watchBoolean(this,"_iconOnly",t,{defaultValue:!1})}validateId(t){watchString(this,"_id",t)}validateLabel(t){watchString(this,"_label",t,{hooks:{beforePatch:syncAriaLabelBeforePatch},required:!0})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validateShowAs(t){watchShowAs(this,t)}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}validateType(t){watchButtonType(this,"_type",t)}validateVariant(t){watchButtonVariant(this,"_variant",t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaLabel(this._ariaLabel),this.validateCustomClass(this._customClass),this.validateDisabled(this._disabled),this.validateIconAlign(this._iconAlign),this.validateIcon(this._icon),this.validateIconOnly(this._iconOnly),this.validateId(this._id),this.validateLabel(this._label),this.validateOn(this._on),this.validateShowAs(this._showAs),this.validateTooltipAlign(this._tooltipAlign),this.validateType(this._type),this.validateVariant(this._variant),0===Date.now()&&console.log(this.forwardedRef,this.ref)}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_customClass:["validateCustomClass"],_disabled:["validateDisabled"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_id:["validateId"],_label:["validateLabel"],_on:["validateOn"],_showAs:["validateShowAs"],_tooltipAlign:["validateTooltipAlign"],_type:["validateType"],_variant:["validateVariant"]}}},[0,"kol-button-wc",{_accessKey:[1,"_access-key"],_ariaControls:[1,"_aria-controls"],_ariaCurrent:[8,"_aria-current"],_ariaExpanded:[4,"_aria-expanded"],_ariaLabel:[1537,"_aria-label"],_customClass:[1,"_custom-class"],_disabled:[4],_icon:[1],_iconAlign:[1,"_icon-align"],_iconOnly:[4,"_icon-only"],_id:[1],_label:[1537],_on:[16],_showAs:[1,"_show-as"],_tooltipAlign:[1,"_tooltip-align"],_type:[1],_variant:[1],state:[32],getInteractiveElementRef:[64]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-button-wc","kol-badge","kol-icon","kol-icon-icofont","kol-tooltip"].forEach((t=>{switch(t){case"kol-button-wc":customElements.get(t)||customElements.define(t,KolButtonWc);break;case"kol-badge":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$1()}}))}export{KolButtonWc as K,defineCustomElement as d,propergateSubmitEventToForm as p,watchButtonVariant as w};
4
+ import{proxyCustomElement,HTMLElement as HTMLElement$1,h,Host}from"@stencil/core/internal/client";import{a as watchShowAs,w as watchTooltipAlignment,d as defineCustomElement$1}from"./component14.js";import{w as watchIcon,a as watchIconAlign}from"./icon.js";import{q as setEventTargetAndStopPropagation,i as watchValidator,t as a11yHint,v as nonce,d as devHint,x as mapStringOrBoolean2String,y as mapBoolean2String,w as watchString,b as watchBoolean,z as a11yHintDisabled}from"./prop.validators.js";import{d as defineCustomElement$4}from"./component2.js";import{d as defineCustomElement$3}from"./component6.js";import{d as defineCustomElement$2}from"./component7.js";const propergateResetEventToForm=(t={})=>{for(;t.form instanceof HTMLElement&&"FORM"!==t.form.tagName&&"KOL-FORM"!==t.form.tagName;)t.form.parentElement instanceof HTMLElement?t.form=t.form.parentElement:t.form.parentNode instanceof ShadowRoot?t.form=t.form.parentNode.host:t.form=null;if(t.form instanceof HTMLElement){const a=new Event("reset",{bubbles:!0,cancelable:!0});if(setEventTargetAndStopPropagation(a,t.ref),"FORM"===t.form.tagName)t.form.dispatchEvent(a);else if("KOL-FORM"===t.form.tagName){const e=t.form;"object"==typeof e._on&&null!==typeof e._on&&"function"==typeof e._on.onReset&&e._on.onReset(a)}}},propergateSubmitEventToForm=(t={})=>{for(;t.form instanceof HTMLElement&&"FORM"!==t.form.tagName&&"KOL-FORM"!==t.form.tagName;)t.form.parentElement instanceof HTMLElement?t.form=t.form.parentElement:t.form.parentNode instanceof ShadowRoot?t.form=t.form.parentNode.host:t.form=null;if(t.form instanceof HTMLElement){const a=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t.ref});if(setEventTargetAndStopPropagation(a,t.ref),"FORM"===t.form.tagName)console.log(t.form),t.form.dispatchEvent(a);else if("KOL-FORM"===t.form.tagName){const e=t.form;"object"==typeof e._on&&null!==typeof e._on&&"function"==typeof e._on.onSubmit&&e._on.onSubmit(a)}}},syncAriaLabelBeforePatch=(t,a,e,i)=>{const o=a.has("_ariaLabel")?a.get("_ariaLabel"):e.state._ariaLabel;if("string"==typeof o&&o.length>0){const t=a.has("_label")?a.get("_label"):e.state._label;!1===new RegExp(`^${t}`).test(o)&&("_ariaLabel"===i?(a.set("_label",o),e._label=o):(a.set("_ariaLabel",t),e._ariaLabel=t),a11yHint("Das abweichende Aria-Label am Schalter ist nicht barrierefrei. Ein abweichendes Aria-Label muss aus Barrierefreiheitsgründen für die Sprachsteuerung mit dem Label-Text beginnen."))}},watchButtonType=(t,a,e)=>{watchValidator(t,a,(t=>"button"===t||"reset"===t||"submit"===t),new Set(["KoliBriButtonType {button, reset, submit}"]),e)},watchButtonVariant=(t,a,e)=>{watchValidator(t,a,(t=>"primary"===t||"secondary"===t||"normal"===t||"danger"===t||"ghost"===t||"custom"===t),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),e,{defaultValue:"normal"})},KolButtonWc=proxyCustomElement(class extends HTMLElement$1{constructor(){super(),this.__registerHost(),this.nonce=nonce(),this.catchHost=t=>{this.host=t},this.catchRef=t=>{this.forwardedRef=t,this.ref=t},this.onClick=t=>{var a,e;"submit"===this.state._type?propergateSubmitEventToForm({form:this.host,ref:this.ref}):"reset"===this.state._type?propergateResetEventToForm({form:this.host,ref:this.ref}):"function"==typeof(null===(a=this.state._on)||void 0===a?void 0:a.onClick)?(setEventTargetAndStopPropagation(t,this.ref),null===(e=this.state._on)||void 0===e||e.onClick(t)):devHint("It is no button click callback configured!")},this._accessKey=void 0,this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._customClass=void 0,this._disabled=!1,this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._id=void 0,this._label=void 0,this._on=void 0,this._showAs="button",this._tooltipAlign="top",this._type="button",this._variant="normal",this.state={_ariaLabel:"",_icon:{},_iconAlign:"left",_label:"",_on:{},_showAs:"button",_type:"button"}}render(){return h(Host,{ref:this.catchHost},h("button",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-controls":this.state._ariaControls,"aria-current":mapStringOrBoolean2String(this.state._ariaCurrent),"aria-expanded":mapBoolean2String(this.state._ariaExpanded),"aria-label":!1===this.state._iconOnly?this.state._ariaLabel||this.state._label:void 0,"aria-labelledby":!0===this.state._iconOnly?this.nonce:void 0,class:{[this.state._showAs]:!0,[this.state._variant]:!0,"icon-only":!0===this.state._iconOnly,[this.state._customClass]:"string"==typeof this.state._customClass&&this.state._customClass.length>0},disabled:this.state._disabled,id:this.state._id},this.state._on,{onClick:this.onClick,style:{width:"inherit"},type:this.state._type}),h("span",null,this.state._icon.top&&h("kol-icon",{class:{"icon top":!0},style:this.state._icon.top.style,_ariaLabel:"",_icon:this.state._icon.top.icon}),h("span",{class:"flex items-center"},this.state._icon.left&&h("kol-icon",{class:{"icon left":!0,"mr-2":!1===this.state._iconOnly},style:this.state._icon.left.style,_ariaLabel:"",_icon:this.state._icon.left.icon}),!1===this.state._iconOnly&&h("span",null,"string"==typeof this.state._label&&this.state._label),this.state._icon.right&&h("kol-icon",{class:{"icon right":!0,"ml-2":!1===this.state._iconOnly},style:this.state._icon.right.style,_ariaLabel:"",_icon:this.state._icon.right.icon})),this.state._icon.bottom&&h("kol-icon",{class:{"icon bottom":!0},style:this.state._icon.bottom.style,_ariaLabel:"",_icon:this.state._icon.bottom.icon}))),!0===this.state._iconOnly&&h("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._ariaLabel||this.state._label}))}async getInteractiveElementRef(){return Promise.resolve(this.ref)}validateAccessKey(t){watchString(this,"_accessKey",t)}validateAriaControls(t){watchString(this,"_ariaControls",t)}validateAriaCurrent(t){watchValidator(this,"_ariaControls",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaExpanded(t){watchBoolean(this,"_ariaExpanded",t)}validateAriaLabel(t){watchString(this,"_ariaLabel",t,{hooks:{beforePatch:syncAriaLabelBeforePatch}})}validateCustomClass(t){watchString(this,"_customClass",t,{defaultValue:void 0})}validateDisabled(t){watchBoolean(this,"_disabled",t),!0===t&&a11yHintDisabled()}validateIcon(t){watchIcon(this,t)}validateIconAlign(t){watchIconAlign(this,t)}validateIconOnly(t){watchBoolean(this,"_iconOnly",t,{defaultValue:!1})}validateId(t){watchString(this,"_id",t)}validateLabel(t){watchString(this,"_label",t,{hooks:{beforePatch:syncAriaLabelBeforePatch},required:!0})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validateShowAs(t){watchShowAs(this,t)}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}validateType(t){watchButtonType(this,"_type",t)}validateVariant(t){watchButtonVariant(this,"_variant",t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaLabel(this._ariaLabel),this.validateCustomClass(this._customClass),this.validateDisabled(this._disabled),this.validateIconAlign(this._iconAlign),this.validateIcon(this._icon),this.validateIconOnly(this._iconOnly),this.validateId(this._id),this.validateLabel(this._label),this.validateOn(this._on),this.validateShowAs(this._showAs),this.validateTooltipAlign(this._tooltipAlign),this.validateType(this._type),this.validateVariant(this._variant),0===Date.now()&&console.log(this.forwardedRef,this.ref)}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_customClass:["validateCustomClass"],_disabled:["validateDisabled"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_id:["validateId"],_label:["validateLabel"],_on:["validateOn"],_showAs:["validateShowAs"],_tooltipAlign:["validateTooltipAlign"],_type:["validateType"],_variant:["validateVariant"]}}},[0,"kol-button-wc",{_accessKey:[1,"_access-key"],_ariaControls:[1,"_aria-controls"],_ariaCurrent:[8,"_aria-current"],_ariaExpanded:[4,"_aria-expanded"],_ariaLabel:[1537,"_aria-label"],_customClass:[1,"_custom-class"],_disabled:[4],_icon:[1],_iconAlign:[1,"_icon-align"],_iconOnly:[4,"_icon-only"],_id:[1],_label:[1537],_on:[16],_showAs:[1,"_show-as"],_tooltipAlign:[1,"_tooltip-align"],_type:[1],_variant:[1],state:[32],getInteractiveElementRef:[64]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-button-wc","kol-badge","kol-icon","kol-icon-icofont","kol-tooltip"].forEach((t=>{switch(t){case"kol-button-wc":customElements.get(t)||customElements.define(t,KolButtonWc);break;case"kol-badge":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-icon-icofont":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip":customElements.get(t)||defineCustomElement$1()}}))}export{KolButtonWc as K,defineCustomElement as d,propergateSubmitEventToForm as p,watchButtonVariant as w};