@public-ui/components 3.0.2-rc.1 → 3.0.2-rc.2

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 (334) hide show
  1. package/custom-elements.json +3 -3
  2. package/dist/cjs/{Alert-e828f697.js → Alert-e320048d.js} +1 -1
  3. package/dist/cjs/{Alert-e828f697.js.map → Alert-e320048d.js.map} +1 -1
  4. package/dist/cjs/{Collapsible-d152ffe9.js → Collapsible-0b3c7c45.js} +1 -1
  5. package/dist/cjs/{Collapsible-d152ffe9.js.map → Collapsible-0b3c7c45.js.map} +1 -1
  6. package/dist/cjs/{CustomSuggestionsOptionsGroup-bccb0c85.js → CustomSuggestionsOptionsGroup-e8d07352.js} +1 -1
  7. package/dist/cjs/{CustomSuggestionsOptionsGroup-bccb0c85.js.map → CustomSuggestionsOptionsGroup-e8d07352.js.map} +1 -1
  8. package/dist/cjs/{FieldControlStateWrapper-e48740a1.js → FieldControlStateWrapper-d6f48a9d.js} +1 -1
  9. package/dist/cjs/{FieldControlStateWrapper-e48740a1.js.map → FieldControlStateWrapper-d6f48a9d.js.map} +1 -1
  10. package/dist/cjs/{Heading-22a4eaf4.js → Heading-45cafb2c.js} +1 -1
  11. package/dist/cjs/{Heading-22a4eaf4.js.map → Heading-45cafb2c.js.map} +1 -1
  12. package/dist/cjs/{Icon-54f6fbd9.js → Icon-ac8441ed.js} +1 -1
  13. package/dist/cjs/{Icon-54f6fbd9.js.map → Icon-ac8441ed.js.map} +1 -1
  14. package/dist/cjs/{Input-8d9e04a9.js → Input-d8681528.js} +1 -1
  15. package/dist/cjs/{Input-8d9e04a9.js.map → Input-d8681528.js.map} +1 -1
  16. package/dist/cjs/{InputStateWrapper-f59de6b8.js → InputStateWrapper-168c9fb7.js} +1 -1
  17. package/dist/cjs/{InputStateWrapper-f59de6b8.js.map → InputStateWrapper-168c9fb7.js.map} +1 -1
  18. package/dist/cjs/{InternalUnderlinedBadgeText-7387a5ef.js → InternalUnderlinedBadgeText-6aa8f6d9.js} +1 -1
  19. package/dist/cjs/{InternalUnderlinedBadgeText-7387a5ef.js.map → InternalUnderlinedBadgeText-6aa8f6d9.js.map} +1 -1
  20. package/dist/cjs/{Span-8bce0670.js → Span-6ede7eda.js} +1 -1
  21. package/dist/cjs/{Span-8bce0670.js.map → Span-6ede7eda.js.map} +1 -1
  22. package/dist/cjs/{app-globals-02065fac.js → app-globals-3716f253.js} +1 -1
  23. package/dist/cjs/{app-globals-02065fac.js.map → app-globals-3716f253.js.map} +1 -1
  24. package/dist/cjs/{controller-6b4e91b3.js → controller-65602260.js} +1 -1
  25. package/dist/cjs/{controller-6b4e91b3.js.map → controller-65602260.js.map} +1 -1
  26. package/dist/cjs/{controller-33d9efe1.js → controller-662caf31.js} +1 -1
  27. package/dist/cjs/{controller-33d9efe1.js.map → controller-662caf31.js.map} +1 -1
  28. package/dist/cjs/{controller-6a9e56c9.js → controller-7b83f035.js} +1 -1
  29. package/dist/cjs/{controller-6a9e56c9.js.map → controller-7b83f035.js.map} +1 -1
  30. package/dist/cjs/{controller-icon-4e94157b.js → controller-icon-4ae3ca66.js} +1 -1
  31. package/dist/cjs/{controller-icon-4e94157b.js.map → controller-icon-4ae3ca66.js.map} +1 -1
  32. package/dist/cjs/{dev.utils-d67f4f5e.js → dev.utils-d81edf18.js} +1 -1
  33. package/dist/cjs/{dev.utils-d67f4f5e.js.map → dev.utils-d81edf18.js.map} +1 -1
  34. package/dist/cjs/{devtools-00b028a3.js → devtools-f821c24f.js} +1 -1
  35. package/dist/cjs/{devtools-00b028a3.js.map → devtools-f821c24f.js.map} +1 -1
  36. package/dist/cjs/{getRenderStates-7523a890.js → getRenderStates-1b84d0cd.js} +1 -1
  37. package/dist/cjs/{getRenderStates-7523a890.js.map → getRenderStates-1b84d0cd.js.map} +1 -1
  38. package/dist/cjs/{index-f23172b0.js → index-b7655f44.js} +1 -1
  39. package/dist/cjs/{index-f23172b0.js.map → index-b7655f44.js.map} +1 -1
  40. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-card-wc.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-pagination-wc.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-pagination-wc.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-popover-button-wc.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-popover-button.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-single-select.cjs.entry.js.map +1 -1
  88. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-table-settings-wc.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  105. package/dist/cjs/kolibri.cjs.js +1 -1
  106. package/dist/cjs/loader.cjs.js +1 -1
  107. package/dist/cjs/test-component.cjs.entry.js +1 -1
  108. package/dist/components/kol-pagination-wc.js +1 -1
  109. package/dist/components/kol-pagination-wc.js.map +1 -1
  110. package/dist/components/kol-select.js +1 -1
  111. package/dist/components/kol-select.js.map +1 -1
  112. package/dist/components/kol-single-select.js +1 -1
  113. package/dist/components/kol-single-select.js.map +1 -1
  114. package/dist/esm/{Alert-a96714a0.js → Alert-7970c36f.js} +1 -1
  115. package/dist/esm/{Alert-a96714a0.js.map → Alert-7970c36f.js.map} +1 -1
  116. package/dist/esm/{Collapsible-29bb352a.js → Collapsible-741bf621.js} +1 -1
  117. package/dist/esm/{Collapsible-29bb352a.js.map → Collapsible-741bf621.js.map} +1 -1
  118. package/dist/esm/{CustomSuggestionsOptionsGroup-4d57f72c.js → CustomSuggestionsOptionsGroup-d8226ae6.js} +1 -1
  119. package/dist/esm/{CustomSuggestionsOptionsGroup-4d57f72c.js.map → CustomSuggestionsOptionsGroup-d8226ae6.js.map} +1 -1
  120. package/dist/esm/{FieldControlStateWrapper-adc38f2f.js → FieldControlStateWrapper-3ed538a0.js} +1 -1
  121. package/dist/esm/{FieldControlStateWrapper-adc38f2f.js.map → FieldControlStateWrapper-3ed538a0.js.map} +1 -1
  122. package/dist/esm/{Heading-4990ec84.js → Heading-6d2b507b.js} +1 -1
  123. package/dist/esm/{Heading-4990ec84.js.map → Heading-6d2b507b.js.map} +1 -1
  124. package/dist/esm/{Icon-d694fbfe.js → Icon-64aecdb3.js} +1 -1
  125. package/dist/esm/{Icon-d694fbfe.js.map → Icon-64aecdb3.js.map} +1 -1
  126. package/dist/esm/{Input-529b3f6c.js → Input-8709f66f.js} +1 -1
  127. package/dist/esm/{Input-529b3f6c.js.map → Input-8709f66f.js.map} +1 -1
  128. package/dist/esm/{InputStateWrapper-16c56aee.js → InputStateWrapper-1008cf94.js} +1 -1
  129. package/dist/esm/{InputStateWrapper-16c56aee.js.map → InputStateWrapper-1008cf94.js.map} +1 -1
  130. package/dist/esm/{InternalUnderlinedBadgeText-e15d02d5.js → InternalUnderlinedBadgeText-b24e9dc5.js} +1 -1
  131. package/dist/esm/{InternalUnderlinedBadgeText-e15d02d5.js.map → InternalUnderlinedBadgeText-b24e9dc5.js.map} +1 -1
  132. package/dist/esm/{Span-3cb1ff76.js → Span-f9dd0734.js} +1 -1
  133. package/dist/esm/{Span-3cb1ff76.js.map → Span-f9dd0734.js.map} +1 -1
  134. package/dist/esm/{app-globals-42ba66a8.js → app-globals-e9e9df71.js} +1 -1
  135. package/dist/esm/{app-globals-42ba66a8.js.map → app-globals-e9e9df71.js.map} +1 -1
  136. package/dist/esm/{controller-a10288c6.js → controller-1da95b99.js} +1 -1
  137. package/dist/esm/{controller-a10288c6.js.map → controller-1da95b99.js.map} +1 -1
  138. package/dist/esm/{controller-6253c3cd.js → controller-c1c531fb.js} +1 -1
  139. package/dist/esm/{controller-6253c3cd.js.map → controller-c1c531fb.js.map} +1 -1
  140. package/dist/esm/{controller-2a5d8667.js → controller-dc5f29b6.js} +1 -1
  141. package/dist/esm/{controller-2a5d8667.js.map → controller-dc5f29b6.js.map} +1 -1
  142. package/dist/esm/{controller-icon-8f0ee809.js → controller-icon-0a6181f6.js} +1 -1
  143. package/dist/esm/{controller-icon-8f0ee809.js.map → controller-icon-0a6181f6.js.map} +1 -1
  144. package/dist/esm/{dev.utils-98923b37.js → dev.utils-d42aaf74.js} +1 -1
  145. package/dist/esm/{dev.utils-98923b37.js.map → dev.utils-d42aaf74.js.map} +1 -1
  146. package/dist/esm/{devtools-2b1bb963.js → devtools-e7cb90e7.js} +1 -1
  147. package/dist/esm/{devtools-2b1bb963.js.map → devtools-e7cb90e7.js.map} +1 -1
  148. package/dist/esm/{getRenderStates-6c8f7e98.js → getRenderStates-d0c0ae47.js} +1 -1
  149. package/dist/esm/{getRenderStates-6c8f7e98.js.map → getRenderStates-d0c0ae47.js.map} +1 -1
  150. package/dist/esm/{index-d47f6be5.js → index-b4e1ceff.js} +1 -1
  151. package/dist/esm/{index-d47f6be5.js.map → index-b4e1ceff.js.map} +1 -1
  152. package/dist/esm/kol-abbr.entry.js +1 -1
  153. package/dist/esm/kol-accordion.entry.js +1 -1
  154. package/dist/esm/kol-alert-wc.entry.js +1 -1
  155. package/dist/esm/kol-alert.entry.js +1 -1
  156. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  157. package/dist/esm/kol-avatar.entry.js +1 -1
  158. package/dist/esm/kol-badge.entry.js +1 -1
  159. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  160. package/dist/esm/kol-button-link.entry.js +1 -1
  161. package/dist/esm/kol-button-wc.entry.js +1 -1
  162. package/dist/esm/kol-button.entry.js +1 -1
  163. package/dist/esm/kol-card-wc.entry.js +1 -1
  164. package/dist/esm/kol-card.entry.js +1 -1
  165. package/dist/esm/kol-combobox.entry.js +1 -1
  166. package/dist/esm/kol-details.entry.js +1 -1
  167. package/dist/esm/kol-drawer.entry.js +1 -1
  168. package/dist/esm/kol-form.entry.js +1 -1
  169. package/dist/esm/kol-heading.entry.js +1 -1
  170. package/dist/esm/kol-icon.entry.js +1 -1
  171. package/dist/esm/kol-image.entry.js +1 -1
  172. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  173. package/dist/esm/kol-input-color.entry.js +1 -1
  174. package/dist/esm/kol-input-date.entry.js +1 -1
  175. package/dist/esm/kol-input-email.entry.js +1 -1
  176. package/dist/esm/kol-input-file.entry.js +1 -1
  177. package/dist/esm/kol-input-number.entry.js +1 -1
  178. package/dist/esm/kol-input-password.entry.js +1 -1
  179. package/dist/esm/kol-input-radio.entry.js +1 -1
  180. package/dist/esm/kol-input-range.entry.js +1 -1
  181. package/dist/esm/kol-input-text.entry.js +1 -1
  182. package/dist/esm/kol-kolibri.entry.js +1 -1
  183. package/dist/esm/kol-link-button.entry.js +1 -1
  184. package/dist/esm/kol-link-wc.entry.js +1 -1
  185. package/dist/esm/kol-link.entry.js +1 -1
  186. package/dist/esm/kol-modal.entry.js +1 -1
  187. package/dist/esm/kol-nav.entry.js +1 -1
  188. package/dist/esm/kol-pagination-wc.entry.js +1 -1
  189. package/dist/esm/kol-pagination-wc.entry.js.map +1 -1
  190. package/dist/esm/kol-pagination.entry.js +1 -1
  191. package/dist/esm/kol-popover-button-wc.entry.js +1 -1
  192. package/dist/esm/kol-popover-button.entry.js +1 -1
  193. package/dist/esm/kol-popover-wc.entry.js +1 -1
  194. package/dist/esm/kol-progress.entry.js +1 -1
  195. package/dist/esm/kol-quote.entry.js +1 -1
  196. package/dist/esm/kol-select.entry.js +1 -1
  197. package/dist/esm/kol-select.entry.js.map +1 -1
  198. package/dist/esm/kol-single-select.entry.js +1 -1
  199. package/dist/esm/kol-single-select.entry.js.map +1 -1
  200. package/dist/esm/kol-skip-nav.entry.js +1 -1
  201. package/dist/esm/kol-spin.entry.js +1 -1
  202. package/dist/esm/kol-split-button.entry.js +1 -1
  203. package/dist/esm/kol-table-settings-wc.entry.js +1 -1
  204. package/dist/esm/kol-table-stateful.entry.js +1 -1
  205. package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
  206. package/dist/esm/kol-table-stateless.entry.js +1 -1
  207. package/dist/esm/kol-tabs.entry.js +1 -1
  208. package/dist/esm/kol-textarea.entry.js +1 -1
  209. package/dist/esm/kol-toast-container.entry.js +1 -1
  210. package/dist/esm/kol-toolbar.entry.js +1 -1
  211. package/dist/esm/kol-tooltip-wc.entry.js +1 -1
  212. package/dist/esm/kol-tree-item-wc.entry.js +1 -1
  213. package/dist/esm/kol-tree-item.entry.js +1 -1
  214. package/dist/esm/kol-tree-wc.entry.js +1 -1
  215. package/dist/esm/kol-tree.entry.js +1 -1
  216. package/dist/esm/kol-version.entry.js +1 -1
  217. package/dist/esm/kolibri.js +1 -1
  218. package/dist/esm/loader.js +1 -1
  219. package/dist/esm/test-component.entry.js +1 -1
  220. package/dist/kolibri/{Alert-a96714a0.js → Alert-7970c36f.js} +1 -1
  221. package/dist/kolibri/{Collapsible-29bb352a.js → Collapsible-741bf621.js} +1 -1
  222. package/dist/kolibri/{CustomSuggestionsOptionsGroup-4d57f72c.js → CustomSuggestionsOptionsGroup-d8226ae6.js} +1 -1
  223. package/dist/kolibri/{FieldControlStateWrapper-adc38f2f.js → FieldControlStateWrapper-3ed538a0.js} +1 -1
  224. package/dist/kolibri/Heading-6d2b507b.js +4 -0
  225. package/dist/kolibri/Icon-64aecdb3.js +4 -0
  226. package/dist/kolibri/{Input-529b3f6c.js → Input-8709f66f.js} +1 -1
  227. package/dist/kolibri/{InputStateWrapper-16c56aee.js → InputStateWrapper-1008cf94.js} +1 -1
  228. package/dist/kolibri/InternalUnderlinedBadgeText-b24e9dc5.js +4 -0
  229. package/dist/kolibri/Span-f9dd0734.js +4 -0
  230. package/dist/kolibri/{Span-3cb1ff76.js.map → Span-f9dd0734.js.map} +1 -1
  231. package/dist/kolibri/{app-globals-42ba66a8.js → app-globals-e9e9df71.js} +1 -1
  232. package/dist/kolibri/{controller-a10288c6.js → controller-1da95b99.js} +1 -1
  233. package/dist/kolibri/{controller-6253c3cd.js → controller-c1c531fb.js} +1 -1
  234. package/dist/kolibri/{controller-2a5d8667.js → controller-dc5f29b6.js} +1 -1
  235. package/dist/kolibri/{controller-icon-8f0ee809.js → controller-icon-0a6181f6.js} +1 -1
  236. package/dist/kolibri/{dev.utils-98923b37.js → dev.utils-d42aaf74.js} +1 -1
  237. package/dist/kolibri/{devtools-2b1bb963.js → devtools-e7cb90e7.js} +1 -1
  238. package/dist/kolibri/{getRenderStates-6c8f7e98.js → getRenderStates-d0c0ae47.js} +1 -1
  239. package/dist/kolibri/{index-d47f6be5.js → index-b4e1ceff.js} +1 -1
  240. package/dist/kolibri/{index-d47f6be5.js.map → index-b4e1ceff.js.map} +1 -1
  241. package/dist/kolibri/kol-abbr.entry.js +1 -1
  242. package/dist/kolibri/kol-accordion.entry.js +1 -1
  243. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  244. package/dist/kolibri/kol-alert.entry.js +1 -1
  245. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  246. package/dist/kolibri/kol-avatar.entry.js +1 -1
  247. package/dist/kolibri/kol-badge.entry.js +1 -1
  248. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  249. package/dist/kolibri/kol-button-link.entry.js +1 -1
  250. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  251. package/dist/kolibri/kol-button.entry.js +1 -1
  252. package/dist/kolibri/kol-card-wc.entry.js +1 -1
  253. package/dist/kolibri/kol-card.entry.js +1 -1
  254. package/dist/kolibri/kol-combobox.entry.js +1 -1
  255. package/dist/kolibri/kol-details.entry.js +1 -1
  256. package/dist/kolibri/kol-drawer.entry.js +1 -1
  257. package/dist/kolibri/kol-form.entry.js +1 -1
  258. package/dist/kolibri/kol-heading.entry.js +1 -1
  259. package/dist/kolibri/kol-icon.entry.js +1 -1
  260. package/dist/kolibri/kol-image.entry.js +1 -1
  261. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  262. package/dist/kolibri/kol-input-color.entry.js +1 -1
  263. package/dist/kolibri/kol-input-date.entry.js +1 -1
  264. package/dist/kolibri/kol-input-email.entry.js +1 -1
  265. package/dist/kolibri/kol-input-file.entry.js +1 -1
  266. package/dist/kolibri/kol-input-number.entry.js +1 -1
  267. package/dist/kolibri/kol-input-password.entry.js +1 -1
  268. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  269. package/dist/kolibri/kol-input-range.entry.js +1 -1
  270. package/dist/kolibri/kol-input-text.entry.js +1 -1
  271. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  272. package/dist/kolibri/kol-link-button.entry.js +1 -1
  273. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  274. package/dist/kolibri/kol-link.entry.js +1 -1
  275. package/dist/kolibri/kol-modal.entry.js +1 -1
  276. package/dist/kolibri/kol-nav.entry.js +1 -1
  277. package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
  278. package/dist/kolibri/kol-pagination-wc.entry.js.map +1 -1
  279. package/dist/kolibri/kol-pagination.entry.js +1 -1
  280. package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
  281. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  282. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  283. package/dist/kolibri/kol-progress.entry.js +1 -1
  284. package/dist/kolibri/kol-quote.entry.js +1 -1
  285. package/dist/kolibri/kol-select.entry.js +1 -1
  286. package/dist/kolibri/kol-select.entry.js.map +1 -1
  287. package/dist/kolibri/kol-single-select.entry.js +1 -1
  288. package/dist/kolibri/kol-single-select.entry.js.map +1 -1
  289. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  290. package/dist/kolibri/kol-spin.entry.js +1 -1
  291. package/dist/kolibri/kol-split-button.entry.js +1 -1
  292. package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
  293. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  294. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  295. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  296. package/dist/kolibri/kol-tabs.entry.js +1 -1
  297. package/dist/kolibri/kol-textarea.entry.js +1 -1
  298. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  299. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  300. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  301. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  302. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  303. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  304. package/dist/kolibri/kol-tree.entry.js +1 -1
  305. package/dist/kolibri/kol-version.entry.js +1 -1
  306. package/dist/kolibri/kolibri.esm.js +1 -1
  307. package/dist/kolibri/test-component.entry.js +1 -1
  308. package/dist/types/components/select/controller.d.ts +3 -1
  309. package/dist/types/components/select/shadow.d.ts +3 -3
  310. package/dist/types/components.d.ts +3 -3
  311. package/dist/types/schema/components/select.d.ts +2 -2
  312. package/doc/select.md +3 -3
  313. package/package.json +1 -1
  314. package/dist/kolibri/Heading-4990ec84.js +0 -4
  315. package/dist/kolibri/Icon-d694fbfe.js +0 -4
  316. package/dist/kolibri/InternalUnderlinedBadgeText-e15d02d5.js +0 -4
  317. package/dist/kolibri/Span-3cb1ff76.js +0 -4
  318. /package/dist/kolibri/{Alert-a96714a0.js.map → Alert-7970c36f.js.map} +0 -0
  319. /package/dist/kolibri/{Collapsible-29bb352a.js.map → Collapsible-741bf621.js.map} +0 -0
  320. /package/dist/kolibri/{CustomSuggestionsOptionsGroup-4d57f72c.js.map → CustomSuggestionsOptionsGroup-d8226ae6.js.map} +0 -0
  321. /package/dist/kolibri/{FieldControlStateWrapper-adc38f2f.js.map → FieldControlStateWrapper-3ed538a0.js.map} +0 -0
  322. /package/dist/kolibri/{Heading-4990ec84.js.map → Heading-6d2b507b.js.map} +0 -0
  323. /package/dist/kolibri/{Icon-d694fbfe.js.map → Icon-64aecdb3.js.map} +0 -0
  324. /package/dist/kolibri/{Input-529b3f6c.js.map → Input-8709f66f.js.map} +0 -0
  325. /package/dist/kolibri/{InputStateWrapper-16c56aee.js.map → InputStateWrapper-1008cf94.js.map} +0 -0
  326. /package/dist/kolibri/{InternalUnderlinedBadgeText-e15d02d5.js.map → InternalUnderlinedBadgeText-b24e9dc5.js.map} +0 -0
  327. /package/dist/kolibri/{app-globals-42ba66a8.js.map → app-globals-e9e9df71.js.map} +0 -0
  328. /package/dist/kolibri/{controller-a10288c6.js.map → controller-1da95b99.js.map} +0 -0
  329. /package/dist/kolibri/{controller-6253c3cd.js.map → controller-c1c531fb.js.map} +0 -0
  330. /package/dist/kolibri/{controller-2a5d8667.js.map → controller-dc5f29b6.js.map} +0 -0
  331. /package/dist/kolibri/{controller-icon-8f0ee809.js.map → controller-icon-0a6181f6.js.map} +0 -0
  332. /package/dist/kolibri/{dev.utils-98923b37.js.map → dev.utils-d42aaf74.js.map} +0 -0
  333. /package/dist/kolibri/{devtools-2b1bb963.js.map → devtools-e7cb90e7.js.map} +0 -0
  334. /package/dist/kolibri/{getRenderStates-6c8f7e98.js.map → getRenderStates-d0c0ae47.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"kol-single-select.js","mappings":"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","names":["KolSingleSelect","KolFormFieldStateWrapperFc","KolInputContainerFc","KolInputStateWrapperFc"],"sources":["src/components/single-select/controller.ts","src/components/single-select/style.scss?tag=kol-single-select&mode=default&encapsulation=shadow","src/components/single-select/shadow.tsx"],"sourcesContent":["import type { Option, OptionsPropType, SelectOption, SingleSelectProps, SingleSelectWatches, StencilUnknown, W3CInputValue } from '../../schema';\nimport { validateOptions, watchBoolean, watchNumber, watchString, watchValidator } from '../../schema';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { fillKeyOptionMap } from '../input-radio/controller';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class SingleSelectController extends InputIconController implements SingleSelectWatches {\n\tprotected readonly component: Generic.Element.Component & SingleSelectProps;\n\tprivate readonly keyOptionMap = new Map<string, Option<string>>();\n\n\tpublic constructor(component: Generic.Element.Component & SingleSelectProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprotected readonly afterPatchOptions = (value: unknown, _state: Record<string, unknown>, _component: Generic.Element.Component, key: string): void => {\n\t\tif (key === '_value') {\n\t\t\tthis.setFormAssociatedValue(value as string);\n\t\t}\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t}\n\t};\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value: StencilUnknown): void {\n\t\twatchValidator(this.component, '_value', (v) => v !== undefined, new Set([`StencilUnknown`]), value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateHideClearButton(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideClearButton', value);\n\t}\n\n\tpublic validateRows(value?: number): void {\n\t\twatchNumber(this.component, '_rows', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateHideClearButton(this.component._hideClearButton);\n\t\tthis.validateRows(this.component._rows);\n\t}\n}\n","@use '../../styles/global' as *;\n@use '../../styles/kol-alert-mixin' as *;\n@use '../../styles/kol-custom-suggestions-option' as *;\n@use '../../styles/kol-custom-suggestions-options-group' as *;\n@use '../../styles/kol-custom-suggestions-toggle' as *;\n@use '../../styles/kol-form-field-mixin' as *;\n@use '../../styles/kol-input-container-mixin' as *;\n@use '../../styles/kol-input-mixin' as *;\n@use '../@shared/mixins' as *;\n\n@include kol-alert;\n@include kol-custom-suggestions-option;\n@include kol-custom-suggestions-options-group;\n@include kol-custom-suggestions-toggle;\n@include kol-form-field;\n@include kol-input-container;\n@include kol-input;\n\n$option-height: rem(40);\n$visible-options: var(--visible-options, 5);\n\n@layer kol-component {\n\t.kol-single-select {\n\t\t&__delete {\n\t\t\tcursor: pointer;\n\n\t\t\t&--disabled {\n\t\t\t\tcursor: not-allowed;\n\t\t\t}\n\t\t}\n\n\t\t&__no-results-message {\n\t\t\tcursor: default;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tmin-height: rem(50);\n\t\t}\n\n\t\t.kol-custom-suggestions-options-group {\n\t\t\tmax-height: calc($option-height * $visible-options + rem(2)) !important;\n\t\t}\n\t}\n}\n","import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport type {\n\tHideMsgPropType,\n\tIconsHorizontalPropType,\n\tIdPropType,\n\tInputTypeOnDefault,\n\tLabelWithExpertSlotPropType,\n\tMsgPropType,\n\tNamePropType,\n\tOption,\n\tOptionsPropType,\n\tRowsPropType,\n\tShortKeyPropType,\n\tSingleSelectAPI,\n\tSingleSelectStates,\n\tStencilUnknown,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n} from '../../schema';\n\nimport clsx from 'clsx';\nimport { KolIconTag } from '../../core/component-names';\nimport KolFormFieldStateWrapperFc, { type FormFieldStateWrapperProps } from '../../functional-component-wrappers/FormFieldStateWrapper';\nimport KolInputContainerFc from '../../functional-component-wrappers/InputContainerStateWrapper';\nimport type { InputStateWrapperProps } from '../../functional-component-wrappers/InputStateWrapper';\nimport KolInputStateWrapperFc from '../../functional-component-wrappers/InputStateWrapper/InputStateWrapper';\nimport CustomSuggestionsOptionFc from '../../functional-components/CustomSuggestionsOption/CustomSuggestionsOption';\nimport CustomSuggestionsOptionsGroupFc from '../../functional-components/CustomSuggestionsOptionsGroup';\nimport CustomSuggestionsToggleFc from '../../functional-components/CustomSuggestionsToggle';\nimport { translate } from '../../i18n';\nimport type { EventDetail } from '../../schema/interfaces/EventDetail';\nimport { nonce } from '../../utils/dev.utils';\nimport { getRenderStates } from '../../functional-component-wrappers/_helpers/getRenderStates';\nimport { SingleSelectController } from './controller';\n\n/**\n * @slot - The input field label.\n */\n@Component({\n\ttag: 'kol-single-select',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: {\n\t\tdelegatesFocus: true,\n\t},\n})\nexport class KolSingleSelect implements SingleSelectAPI {\n\t@Element() private readonly host?: HTMLKolSingleSelectElement;\n\tprivate refInput?: HTMLInputElement;\n\tprivate refOptions: HTMLLIElement[] = [];\n\tprivate oldValue?: StencilUnknown;\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getValue(): Promise<StencilUnknown> {\n\t\treturn this._value;\n\t}\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async kolFocus() {\n\t\tthis.refInput?.focus();\n\t}\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.refInput = ref;\n\t};\n\n\tprivate toggleListbox = (event: Event) => {\n\t\tevent?.preventDefault();\n\t\tconst isDisabled = this.state._disabled === true;\n\t\tif (isDisabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tif (!this._hasOpened) {\n\t\t\t\tthis._isOpen = true;\n\t\t\t\tthis._hasOpened = true;\n\t\t\t\tthis.refInput?.focus();\n\t\t\t\tconst selectedIndex = Array.isArray(this._filteredOptions) ? this._filteredOptions.findIndex((option) => option.label === this._inputValue) : -1;\n\t\t\t\tthis._focusedOptionIndex = selectedIndex >= 0 ? selectedIndex : -1;\n\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate onBlur() {\n\t\tif (Array.isArray(this.state._options) && this.state._options.length > 0 && !this.state._options.some((option) => option.label === this._inputValue)) {\n\t\t\tthis._inputValue = this.state._options.find((option) => (option as Option<string>).value === this._value)?.label as string;\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t}\n\t\tthis._isOpen = false;\n\t\tthis._hasOpened = false;\n\t}\n\n\tprivate clearSelection() {\n\t\tconst isDisabled = this.state._disabled === true;\n\t\tif (isDisabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst emptyValue = null;\n\t\t\tthis._focusedOptionIndex = -1;\n\t\t\tthis._value = emptyValue;\n\t\t\tthis._inputValue = '';\n\t\t\tthis._filteredOptions = [...this.state._options];\n\n\t\t\tthis.controller.onFacade.onInput(\n\t\t\t\tnew CustomEvent<EventDetail>('input', { bubbles: true, detail: { name: this.state._name as string, value: emptyValue } }),\n\t\t\t\ttrue,\n\t\t\t\temptyValue,\n\t\t\t);\n\t\t\tthis.controller.onFacade.onChange(\n\t\t\t\tnew CustomEvent<EventDetail>('change', { bubbles: true, detail: { name: this.state._name as string, value: emptyValue } }),\n\t\t\t\temptyValue,\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate selectOption(option: Option<string>) {\n\t\tthis._value = option.value;\n\t\tthis._inputValue = option.label as string;\n\t\tthis.controller.onFacade.onInput(\n\t\t\tnew CustomEvent<EventDetail>('input', { bubbles: true, detail: { name: this.state._name as string, value: option.value } }),\n\t\t\tfalse,\n\t\t\toption.value,\n\t\t);\n\t\tthis.controller.onFacade.onChange(\n\t\t\tnew CustomEvent<EventDetail>('change', { bubbles: true, detail: { name: this.state._name as string, value: option.value } }),\n\t\t\toption.value,\n\t\t);\n\n\t\tthis._filteredOptions = [...this.state._options];\n\n\t\tthis.controller.setFormAssociatedValue(this._value);\n\t}\n\n\tprivate onInput(event: Event) {\n\t\tconst target = event.target as HTMLInputElement;\n\t\tthis._inputValue = target.value;\n\t\tthis._isOpen = true;\n\t\tthis.setFilteredOptionsByQuery(target.value);\n\t\tthis._focusedOptionIndex = -1;\n\t}\n\n\tprivate handleKeyDownDropdown(event: KeyboardEvent) {\n\t\tif (event.key.length === 1 && /[a-z0-9]/i.test(event.key)) {\n\t\t\tevent.preventDefault();\n\t\t\tthis._isOpen = true;\n\t\t\tthis.focusSuggestionStartingWith(event.key);\n\t\t}\n\t}\n\n\tprivate setFilteredOptionsByQuery(query: string) {\n\t\tif (query?.trim() === '') {\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t} else if (Array.isArray(this.state._options) && this.state._options.length > 0 && query.length > 0) {\n\t\t\tthis._filteredOptions = this.state._options.filter((option) => {\n\t\t\t\treturn (option.label as string)?.toLowerCase()?.includes(query?.toLowerCase());\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate _focusedOptionIndex: number = -1;\n\n\tprivate moveFocus(delta: number) {\n\t\tif (!this._filteredOptions) {\n\t\t\treturn;\n\t\t}\n\t\tlet newIndex = this._focusedOptionIndex + delta;\n\n\t\tif (newIndex >= this._filteredOptions.length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this._filteredOptions.length - 1;\n\t\t}\n\n\t\tthis._focusedOptionIndex = newIndex;\n\t\tthis.focusOption(this._focusedOptionIndex);\n\t}\n\n\tprivate focusOption(index: number) {\n\t\tif (this.refOptions) {\n\t\t\tconst optionElement = this.refOptions[index];\n\t\t\toptionElement?.focus();\n\t\t}\n\t}\n\n\tprivate focusSuggestionStartingWith(char: string) {\n\t\tconst charLowerCase = char.toLowerCase();\n\n\t\tconst index =\n\t\t\tArray.isArray(this._filteredOptions) && this._filteredOptions.findIndex((option) => (option.label as string).toLowerCase().startsWith(charLowerCase));\n\n\t\tif (typeof index === 'number') {\n\t\t\tthis._focusedOptionIndex = index;\n\t\t\tthis.focusOption(index);\n\t\t}\n\t}\n\n\tprivate getFormFieldProps(): FormFieldStateWrapperProps {\n\t\treturn {\n\t\t\tstate: this.state,\n\t\t\tclass: 'kol-single-select',\n\t\t\ttooltipAlign: this._tooltipAlign,\n\t\t\tonClick: () => this.refInput?.focus(),\n\t\t\talert: this.showAsAlert(),\n\t\t};\n\t}\n\n\tprivate getInputProps(): InputStateWrapperProps {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst isDisabled = this.state._disabled === true;\n\n\t\treturn {\n\t\t\t'aria-activedescendant': this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined,\n\t\t\t'aria-autocomplete': 'both',\n\t\t\t'aria-controls': 'listbox',\n\t\t\t'aria-describedby': ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined,\n\t\t\t'aria-label': this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined,\n\t\t\taccessKey: this.state._accessKey,\n\t\t\tautocapitalize: 'off',\n\t\t\tautocorrect: 'off',\n\t\t\tclass: 'kol-single-select__input',\n\t\t\tdisabled: isDisabled,\n\t\t\tname: this.state._name,\n\t\t\tplaceholder: this.state._placeholder,\n\t\t\tref: this.catchRef,\n\t\t\trequired: this.state._required,\n\t\t\tstate: this.state,\n\t\t\ttype: 'text',\n\t\t\tvalue: this._inputValue,\n\t\t\t...this.controller.onFacade,\n\t\t\tonChange: this.onChange.bind(this),\n\t\t\tonClick: this.onClick.bind(this),\n\t\t\tonInput: this.onInput.bind(this),\n\t\t\tonFocus: (event) => {\n\t\t\t\tthis.controller.onFacade.onFocus(event);\n\t\t\t\tthis.inputHasFocus = true;\n\t\t\t},\n\t\t\tonBlur: (event) => {\n\t\t\t\tthis.controller.onFacade.onBlur(event);\n\t\t\t\tthis.inputHasFocus = false;\n\t\t\t},\n\t\t};\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst isDisabled = this.state._disabled === true;\n\t\treturn (\n\t\t\t<KolFormFieldStateWrapperFc {...this.getFormFieldProps()}>\n\t\t\t\t<KolInputContainerFc state={this.state}>\n\t\t\t\t\t<div class=\"kol-single-select__group\">\n\t\t\t\t\t\t<KolInputStateWrapperFc {...this.getInputProps()} />\n\n\t\t\t\t\t\t{this._inputValue && !this.state._hideClearButton && (\n\t\t\t\t\t\t\t<KolIconTag\n\t\t\t\t\t\t\t\t_icons=\"codicon codicon-close\"\n\t\t\t\t\t\t\t\tdata-testid=\"single-select-delete\"\n\t\t\t\t\t\t\t\t_label={translate('kol-delete-selection')}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tthis.clearSelection();\n\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclass={clsx('kol-single-select__delete', {\n\t\t\t\t\t\t\t\t\t'kol-single-select__delete--disabled': isDisabled,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<CustomSuggestionsToggleFc onClick={this.toggleListbox.bind(this)} disabled={isDisabled} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{this._isOpen && !isDisabled && (\n\t\t\t\t\t\t<CustomSuggestionsOptionsGroupFc\n\t\t\t\t\t\t\tblockSuggestionMouseOver={this.blockSuggestionMouseOver}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDownDropdown.bind(this)}\n\t\t\t\t\t\t\tstyle={{ '--visible-options': `${this._rows ?? 5}` }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (\n\t\t\t\t\t\t\t\tthis._filteredOptions.map((option, index) => (\n\t\t\t\t\t\t\t\t\t<CustomSuggestionsOptionFc\n\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\toption={option.label}\n\t\t\t\t\t\t\t\t\t\tsearchTerm={this._inputValue}\n\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\tif (el) this.refOptions[index] = el;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tselected={this._value === (option as Option<string>).value}\n\t\t\t\t\t\t\t\t\t\tonClick={(event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t\t\t\t\t\t\t\tthis._isOpen = false;\n\t\t\t\t\t\t\t\t\t\t\tthis._hasOpened = false;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\t\t\tif (!this.blockSuggestionMouseOver) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter' || e.key === 'NumpadEnter') {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(e);\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<li class=\"kol-single-select__no-results-message\">{translate('kol-no-results-message')} </li>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</CustomSuggestionsOptionsGroupFc>\n\t\t\t\t\t)}\n\t\t\t\t</KolInputContainerFc>\n\t\t\t</KolFormFieldStateWrapperFc>\n\t\t);\n\t}\n\n\t@Listen('focusout', { target: 'window' })\n\tpublic handleFocusOut() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this.host?.contains(document.activeElement)) {\n\t\t\t\tthis.onBlur();\n\t\t\t}\n\t\t}, 0);\n\t}\n\t@Listen('blur', { target: 'window' })\n\tpublic handleWindowBlur() {\n\t\tthis.onBlur();\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tconst handleEvent = (isOpen?: boolean, callback?: () => void): void => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif (isOpen !== undefined) {\n\t\t\t\tthis._isOpen = isOpen;\n\t\t\t\tif (!isOpen) {\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcallback?.();\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'Down':\n\t\t\tcase 'ArrowDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Up':\n\t\t\tcase 'ArrowUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(-1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Tab':\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tthis._isOpen = !this._isOpen;\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Esc':\n\t\t\tcase 'Escape': {\n\t\t\t\tthis._hasOpened = false;\n\t\t\t\tthis._isOpen = false;\n\t\t\t\thandleEvent(false);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase ' ': {\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tif (Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0) {\n\t\t\t\t\t\tthis.selectOption(this._filteredOptions[this._focusedOptionIndex] as Option<string>);\n\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\thandleEvent(false);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'NumpadEnter':\n\t\t\tcase 'Enter': {\n\t\t\t\tthis.toggleListbox(event);\n\t\t\t\tthis._hasOpened = false;\n\t\t\t\tthis._isOpen = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Home': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'End': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = this._filteredOptions ? this._filteredOptions.length - 1 : 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(-10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate readonly controller: SingleSelectController;\n\t@State()\n\tprivate _isOpen = false;\n\t@State()\n\tprivate _filteredOptions?: OptionsPropType = [];\n\t@State()\n\tprivate _inputValue: string = '';\n\t@State()\n\tprivate blockSuggestionMouseOver: boolean = false;\n\t@State()\n\tprivate _hasOpened = false;\n\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Defines the placeholder for input field. To be shown when there's no value.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n\t * @TODO: Change type back to `HideMsgPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _hideMsg?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the hint text.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: IconsHorizontalPropType;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the properties for a message rendered as Alert component.\n\t */\n\t@Prop() public _msg?: Stringified<MsgPropType>;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Options the user can choose from.\n\t */\n\t@Prop() public _options!: OptionsPropType;\n\n\t/**\n\t * Makes the input element required.\n\t * @TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Adds a visual short key hint to the component.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * @TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Defines the value of the input.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _value: StencilUnknown = null;\n\n\t/**\n\t * Defines the whether the clear button should be hidden.\n\t */\n\t@Prop() public _hideClearButton?: boolean = false;\n\n\t/**\n\t * Maximum number of visible rows in the options dropdown before scrolling.\n\t */\n\t@Prop() public _rows?: RowsPropType;\n\n\t@State() public state: SingleSelectStates = {\n\t\t_hideMsg: false,\n\t\t_id: `id-${nonce()}`,\n\t\t_label: '', // ⚠ required\n\t\t_options: [],\n\t\t_hideClearButton: false,\n\t};\n\n\t@State() private inputHasFocus = false;\n\n\tpublic constructor() {\n\t\tthis.controller = new SingleSelectController(this, 'single-select', this.host);\n\t}\n\n\tprivate showAsAlert(): boolean {\n\t\treturn Boolean(this.state._touched) && !this.inputHasFocus;\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_hideMsg')\n\tpublic validateHideMsg(value?: HideMsgPropType): void {\n\t\tthis.controller.validateHideMsg(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: IconsHorizontalPropType): void {\n\t\tthis.controller.validateIcons(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_msg')\n\tpublic validateMsg(value?: Stringified<MsgPropType>): void {\n\t\tthis.controller.validateMsg(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_options')\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tthis.controller.validateOptions(value);\n\t\tthis._filteredOptions = value;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_shortKey')\n\tpublic validateShortKey(value?: ShortKeyPropType): void {\n\t\tthis.controller.validateShortKey(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value: StencilUnknown): void {\n\t\tthis.controller.validateValue(value);\n\t\tthis.oldValue = value;\n\t\tthis.updateInputValue(value);\n\t}\n\n\t@Watch('_hideClearButton ')\n\tpublic validateHideClearButton(value?: boolean): void {\n\t\tthis.controller.validateHideClearButton(value);\n\t}\n\n\t@Watch('_rows')\n\tpublic validateRows(value?: number): void {\n\t\tthis.controller.validateRows(value);\n\t}\n\n\t@Listen('mousemove')\n\tpublic handleMouseEvent() {\n\t\tthis.blockSuggestionMouseOver = false;\n\t}\n\n\tprivate updateInputValue(value?: StencilUnknown) {\n\t\tif (Array.isArray(this._options)) {\n\t\t\tconst matchedOption = this._options.find((option) => option.value === value);\n\t\t\tthis._inputValue = matchedOption ? String(matchedOption.label) : '';\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.refOptions = [];\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t\tthis.oldValue = this._value;\n\t\tthis._filteredOptions = this.state._options;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\tprivate onChange(event: Event): void {\n\t\tif (this.oldValue !== this.refInput?.value) {\n\t\t\tthis.oldValue = this.refInput?.value;\n\t\t}\n\n\t\tif (!this._isOpen) {\n\t\t\tthis.controller.onFacade.onChange(event, this._value);\n\t\t}\n\t}\n\n\tprivate onClick(event: MouseEvent): void {\n\t\tthis.toggleListbox(event);\n\t\tthis.controller.onFacade.onClick(event);\n\t}\n}\n"],"version":3}
1
+ {"file":"kol-single-select.js","mappings":"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","names":["KolSingleSelect","KolFormFieldStateWrapperFc","KolInputContainerFc","KolInputStateWrapperFc"],"sources":["src/components/single-select/controller.ts","src/components/single-select/style.scss?tag=kol-single-select&mode=default&encapsulation=shadow","src/components/single-select/shadow.tsx"],"sourcesContent":["import type { Option, OptionsPropType, SelectOption, SingleSelectProps, SingleSelectWatches, StencilUnknown, W3CInputValue } from '../../schema';\nimport { validateOptions, watchBoolean, watchNumber, watchString, watchValidator } from '../../schema';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { fillKeyOptionMap } from '../input-radio/controller';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class SingleSelectController extends InputIconController implements SingleSelectWatches {\n\tprotected readonly component: Generic.Element.Component & SingleSelectProps;\n\tprivate readonly keyOptionMap = new Map<string, Option<string>>();\n\n\tpublic constructor(component: Generic.Element.Component & SingleSelectProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprotected readonly afterPatchOptions = (value: unknown, _state: Record<string, unknown>, _component: Generic.Element.Component, key: string): void => {\n\t\tif (key === '_value') {\n\t\t\tthis.setFormAssociatedValue(value as string);\n\t\t}\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t}\n\t};\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value: StencilUnknown): void {\n\t\twatchValidator(this.component, '_value', (v) => v !== undefined, new Set([`StencilUnknown`]), value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateHideClearButton(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideClearButton', value);\n\t}\n\n\tpublic validateRows(value?: number): void {\n\t\twatchNumber(this.component, '_rows', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateHideClearButton(this.component._hideClearButton);\n\t\tthis.validateRows(this.component._rows);\n\t}\n}\n","@use '../../styles/global' as *;\n@use '../../styles/kol-alert-mixin' as *;\n@use '../../styles/kol-custom-suggestions-option' as *;\n@use '../../styles/kol-custom-suggestions-options-group' as *;\n@use '../../styles/kol-custom-suggestions-toggle' as *;\n@use '../../styles/kol-form-field-mixin' as *;\n@use '../../styles/kol-input-container-mixin' as *;\n@use '../../styles/kol-input-mixin' as *;\n@use '../@shared/mixins' as *;\n\n@include kol-alert;\n@include kol-custom-suggestions-option;\n@include kol-custom-suggestions-options-group;\n@include kol-custom-suggestions-toggle;\n@include kol-form-field;\n@include kol-input-container;\n@include kol-input;\n\n$option-height: rem(40);\n$visible-options: var(--visible-options, 5);\n\n@layer kol-component {\n\t.kol-single-select {\n\t\t&__delete {\n\t\t\tcursor: pointer;\n\n\t\t\t&--disabled {\n\t\t\t\tcursor: not-allowed;\n\t\t\t}\n\t\t}\n\n\t\t&__no-results-message {\n\t\t\tcursor: default;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tmin-height: rem(50);\n\t\t}\n\n\t\t.kol-custom-suggestions-options-group {\n\t\t\tmax-height: calc($option-height * $visible-options + rem(2)) !important;\n\t\t}\n\t}\n}\n","import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport type {\n\tHideMsgPropType,\n\tIconsHorizontalPropType,\n\tIdPropType,\n\tInputTypeOnDefault,\n\tLabelWithExpertSlotPropType,\n\tMsgPropType,\n\tNamePropType,\n\tOption,\n\tOptionsPropType,\n\tRowsPropType,\n\tShortKeyPropType,\n\tSingleSelectAPI,\n\tSingleSelectStates,\n\tStencilUnknown,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n} from '../../schema';\n\nimport clsx from 'clsx';\nimport { KolIconTag } from '../../core/component-names';\nimport KolFormFieldStateWrapperFc, { type FormFieldStateWrapperProps } from '../../functional-component-wrappers/FormFieldStateWrapper';\nimport KolInputContainerFc from '../../functional-component-wrappers/InputContainerStateWrapper';\nimport type { InputStateWrapperProps } from '../../functional-component-wrappers/InputStateWrapper';\nimport KolInputStateWrapperFc from '../../functional-component-wrappers/InputStateWrapper/InputStateWrapper';\nimport CustomSuggestionsOptionFc from '../../functional-components/CustomSuggestionsOption/CustomSuggestionsOption';\nimport CustomSuggestionsOptionsGroupFc from '../../functional-components/CustomSuggestionsOptionsGroup';\nimport CustomSuggestionsToggleFc from '../../functional-components/CustomSuggestionsToggle';\nimport { translate } from '../../i18n';\nimport type { EventDetail } from '../../schema/interfaces/EventDetail';\nimport { nonce } from '../../utils/dev.utils';\nimport { getRenderStates } from '../../functional-component-wrappers/_helpers/getRenderStates';\nimport { SingleSelectController } from './controller';\n\n/**\n * @slot - The input field label.\n */\n@Component({\n\ttag: 'kol-single-select',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: {\n\t\tdelegatesFocus: true,\n\t},\n})\nexport class KolSingleSelect implements SingleSelectAPI {\n\t@Element() private readonly host?: HTMLKolSingleSelectElement;\n\tprivate refInput?: HTMLInputElement;\n\tprivate refOptions: HTMLLIElement[] = [];\n\tprivate oldValue?: StencilUnknown;\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getValue(): Promise<StencilUnknown> {\n\t\treturn this._value;\n\t}\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async kolFocus() {\n\t\tthis.refInput?.focus();\n\t}\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.refInput = ref;\n\t};\n\n\tprivate toggleListbox = (event: Event) => {\n\t\tevent?.preventDefault();\n\t\tconst isDisabled = this.state._disabled === true;\n\t\tif (isDisabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tif (!this._hasOpened) {\n\t\t\t\tthis._isOpen = true;\n\t\t\t\tthis._hasOpened = true;\n\t\t\t\tthis.refInput?.focus();\n\t\t\t\tconst selectedIndex = Array.isArray(this._filteredOptions) ? this._filteredOptions.findIndex((option) => option.label === this._inputValue) : -1;\n\t\t\t\tthis._focusedOptionIndex = selectedIndex >= 0 ? selectedIndex : -1;\n\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate onBlur() {\n\t\tconst matchingOption = this.state._options?.find((option) => (option.label as string)?.toLowerCase() === this._inputValue?.toLowerCase());\n\n\t\tif (matchingOption) {\n\t\t\tthis.selectOption(matchingOption as Option<string>);\n\t\t} else {\n\t\t\tthis._inputValue = this.state._options?.find((option) => (option as Option<string>).value === this._value)?.label as string;\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t}\n\n\t\tthis._isOpen = false;\n\t\tthis._hasOpened = false;\n\t}\n\n\tprivate clearSelection() {\n\t\tconst isDisabled = this.state._disabled === true;\n\t\tif (isDisabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tconst emptyValue = null;\n\t\t\tthis._focusedOptionIndex = -1;\n\t\t\tthis._value = emptyValue;\n\t\t\tthis._inputValue = '';\n\t\t\tthis._filteredOptions = [...this.state._options];\n\n\t\t\tthis.controller.onFacade.onInput(\n\t\t\t\tnew CustomEvent<EventDetail>('input', { bubbles: true, detail: { name: this.state._name as string, value: emptyValue } }),\n\t\t\t\ttrue,\n\t\t\t\t{ value: emptyValue },\n\t\t\t);\n\t\t\tthis.controller.onFacade.onChange(\n\t\t\t\tnew CustomEvent<EventDetail>('change', { bubbles: true, detail: { name: this.state._name as string, value: emptyValue } }),\n\t\t\t\t{ value: emptyValue },\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate selectOption(option: Option<string>) {\n\t\tthis._value = option.value;\n\t\tthis._inputValue = option.label as string;\n\t\tthis.controller.onFacade.onInput(\n\t\t\tnew CustomEvent<EventDetail>('input', { bubbles: true, detail: { name: this.state._name as string, value: option.value } }),\n\t\t\tfalse,\n\t\t\toption.value,\n\t\t);\n\t\tthis.controller.onFacade.onChange(\n\t\t\tnew CustomEvent<EventDetail>('change', { bubbles: true, detail: { name: this.state._name as string, value: option.value } }),\n\t\t\toption.value,\n\t\t);\n\n\t\tthis._filteredOptions = [...this.state._options];\n\n\t\tthis.controller.setFormAssociatedValue(this._value);\n\t}\n\n\tprivate onInput(event: Event) {\n\t\tconst target = event.target as HTMLInputElement;\n\t\tthis._inputValue = target.value;\n\t\tthis._isOpen = true;\n\t\tthis.setFilteredOptionsByQuery(target.value);\n\t\tthis._focusedOptionIndex = -1;\n\t}\n\n\tprivate handleKeyDownDropdown(event: KeyboardEvent) {\n\t\tif (event.key.length === 1 && /[a-z0-9]/i.test(event.key)) {\n\t\t\tevent.preventDefault();\n\t\t\tthis._isOpen = true;\n\t\t\tthis.focusSuggestionStartingWith(event.key);\n\t\t}\n\t}\n\n\tprivate setFilteredOptionsByQuery(query: string) {\n\t\tif (query?.trim() === '') {\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t} else if (Array.isArray(this.state._options) && this.state._options.length > 0 && query.length > 0) {\n\t\t\tthis._filteredOptions = this.state._options.filter((option) => {\n\t\t\t\treturn (option.label as string)?.toLowerCase()?.includes(query?.toLowerCase());\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate _focusedOptionIndex: number = -1;\n\n\tprivate moveFocus(delta: number) {\n\t\tif (!this._filteredOptions) {\n\t\t\treturn;\n\t\t}\n\t\tlet newIndex = this._focusedOptionIndex + delta;\n\n\t\tif (newIndex >= this._filteredOptions.length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this._filteredOptions.length - 1;\n\t\t}\n\n\t\tthis._focusedOptionIndex = newIndex;\n\t\tthis.focusOption(this._focusedOptionIndex);\n\t}\n\n\tprivate focusOption(index: number) {\n\t\tif (this.refOptions) {\n\t\t\tconst optionElement = this.refOptions[index];\n\t\t\toptionElement?.focus();\n\t\t}\n\t}\n\n\tprivate focusSuggestionStartingWith(char: string) {\n\t\tconst charLowerCase = char.toLowerCase();\n\n\t\tconst index =\n\t\t\tArray.isArray(this._filteredOptions) && this._filteredOptions.findIndex((option) => (option.label as string).toLowerCase().startsWith(charLowerCase));\n\n\t\tif (typeof index === 'number') {\n\t\t\tthis._focusedOptionIndex = index;\n\t\t\tthis.focusOption(index);\n\t\t}\n\t}\n\n\tprivate getFormFieldProps(): FormFieldStateWrapperProps {\n\t\treturn {\n\t\t\tstate: this.state,\n\t\t\tclass: 'kol-single-select',\n\t\t\ttooltipAlign: this._tooltipAlign,\n\t\t\tonClick: () => this.refInput?.focus(),\n\t\t\talert: this.showAsAlert(),\n\t\t};\n\t}\n\n\tprivate getInputProps(): InputStateWrapperProps {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst isDisabled = this.state._disabled === true;\n\n\t\treturn {\n\t\t\t'aria-activedescendant': this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined,\n\t\t\t'aria-autocomplete': 'both',\n\t\t\t'aria-controls': 'listbox',\n\t\t\t'aria-describedby': ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined,\n\t\t\t'aria-label': this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined,\n\t\t\taccessKey: this.state._accessKey,\n\t\t\tautocapitalize: 'off',\n\t\t\tautocorrect: 'off',\n\t\t\tclass: 'kol-single-select__input',\n\t\t\tdisabled: isDisabled,\n\t\t\tname: this.state._name,\n\t\t\tplaceholder: this.state._placeholder,\n\t\t\tref: this.catchRef,\n\t\t\trequired: this.state._required,\n\t\t\tstate: this.state,\n\t\t\ttype: 'text',\n\t\t\tvalue: this._inputValue,\n\t\t\t...this.controller.onFacade,\n\t\t\tonChange: this.onChange.bind(this),\n\t\t\tonClick: this.onClick.bind(this),\n\t\t\tonInput: this.onInput.bind(this),\n\t\t\tonFocus: (event) => {\n\t\t\t\tthis.controller.onFacade.onFocus(event);\n\t\t\t\tthis.inputHasFocus = true;\n\t\t\t},\n\t\t\tonBlur: (event) => {\n\t\t\t\tthis.controller.onFacade.onBlur(event);\n\t\t\t\tthis.inputHasFocus = false;\n\t\t\t},\n\t\t};\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst isDisabled = this.state._disabled === true;\n\t\treturn (\n\t\t\t<KolFormFieldStateWrapperFc {...this.getFormFieldProps()}>\n\t\t\t\t<KolInputContainerFc state={this.state}>\n\t\t\t\t\t<div class=\"kol-single-select__group\">\n\t\t\t\t\t\t<KolInputStateWrapperFc {...this.getInputProps()} />\n\n\t\t\t\t\t\t{this._inputValue && !this.state._hideClearButton && (\n\t\t\t\t\t\t\t<KolIconTag\n\t\t\t\t\t\t\t\t_icons=\"codicon codicon-close\"\n\t\t\t\t\t\t\t\tdata-testid=\"single-select-delete\"\n\t\t\t\t\t\t\t\t_label={translate('kol-delete-selection')}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tthis.clearSelection();\n\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tclass={clsx('kol-single-select__delete', {\n\t\t\t\t\t\t\t\t\t'kol-single-select__delete--disabled': isDisabled,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<CustomSuggestionsToggleFc onClick={this.toggleListbox.bind(this)} disabled={isDisabled} />\n\t\t\t\t\t</div>\n\t\t\t\t\t{this._isOpen && !isDisabled && (\n\t\t\t\t\t\t<CustomSuggestionsOptionsGroupFc\n\t\t\t\t\t\t\tblockSuggestionMouseOver={this.blockSuggestionMouseOver}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDownDropdown.bind(this)}\n\t\t\t\t\t\t\tstyle={{ '--visible-options': `${this._rows ?? 5}` }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (\n\t\t\t\t\t\t\t\tthis._filteredOptions.map((option, index) => (\n\t\t\t\t\t\t\t\t\t<CustomSuggestionsOptionFc\n\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\toption={option.label}\n\t\t\t\t\t\t\t\t\t\tsearchTerm={this._inputValue}\n\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\tif (el) this.refOptions[index] = el;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tselected={this._value === (option as Option<string>).value}\n\t\t\t\t\t\t\t\t\t\tonClick={(event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t\t\t\t\t\t\t\tthis._isOpen = false;\n\t\t\t\t\t\t\t\t\t\t\tthis._hasOpened = false;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\t\t\tif (!this.blockSuggestionMouseOver) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter' || e.key === 'NumpadEnter') {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(e);\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<li class=\"kol-single-select__no-results-message\">{translate('kol-no-results-message')} </li>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</CustomSuggestionsOptionsGroupFc>\n\t\t\t\t\t)}\n\t\t\t\t</KolInputContainerFc>\n\t\t\t</KolFormFieldStateWrapperFc>\n\t\t);\n\t}\n\n\t@Listen('focusout', { target: 'window' })\n\tpublic handleFocusOut() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this.host?.contains(document.activeElement)) {\n\t\t\t\tthis.onBlur();\n\t\t\t}\n\t\t}, 0);\n\t}\n\t@Listen('blur', { target: 'window' })\n\tpublic handleWindowBlur() {\n\t\tthis.onBlur();\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tconst handleEvent = (isOpen?: boolean, callback?: () => void): void => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif (isOpen !== undefined) {\n\t\t\t\tthis._isOpen = isOpen;\n\t\t\t\tif (!isOpen) {\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcallback?.();\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'Down':\n\t\t\tcase 'ArrowDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Up':\n\t\t\tcase 'ArrowUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(-1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Tab':\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tthis._isOpen = !this._isOpen;\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Esc':\n\t\t\tcase 'Escape': {\n\t\t\t\tthis._hasOpened = false;\n\t\t\t\tthis._isOpen = false;\n\t\t\t\thandleEvent(false);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase ' ': {\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tif (Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0) {\n\t\t\t\t\t\tthis.selectOption(this._filteredOptions[this._focusedOptionIndex] as Option<string>);\n\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\thandleEvent(false);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'NumpadEnter':\n\t\t\tcase 'Enter': {\n\t\t\t\tthis.toggleListbox(event);\n\t\t\t\tthis._hasOpened = false;\n\t\t\t\tthis._isOpen = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Home': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'End': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = this._filteredOptions ? this._filteredOptions.length - 1 : 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(-10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate readonly controller: SingleSelectController;\n\t@State()\n\tprivate _isOpen = false;\n\t@State()\n\tprivate _filteredOptions?: OptionsPropType = [];\n\t@State()\n\tprivate _inputValue: string = '';\n\t@State()\n\tprivate blockSuggestionMouseOver: boolean = false;\n\t@State()\n\tprivate _hasOpened = false;\n\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Defines the placeholder for input field. To be shown when there's no value.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n\t * @TODO: Change type back to `HideMsgPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _hideMsg?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the hint text.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: IconsHorizontalPropType;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the properties for a message rendered as Alert component.\n\t */\n\t@Prop() public _msg?: Stringified<MsgPropType>;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Options the user can choose from.\n\t */\n\t@Prop() public _options!: OptionsPropType;\n\n\t/**\n\t * Makes the input element required.\n\t * @TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Adds a visual short key hint to the component.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * @TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Defines the value of the input.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _value: StencilUnknown = null;\n\n\t/**\n\t * Defines the whether the clear button should be hidden.\n\t */\n\t@Prop() public _hideClearButton?: boolean = false;\n\n\t/**\n\t * Maximum number of visible rows in the options dropdown before scrolling.\n\t */\n\t@Prop() public _rows?: RowsPropType;\n\n\t@State() public state: SingleSelectStates = {\n\t\t_hideMsg: false,\n\t\t_id: `id-${nonce()}`,\n\t\t_label: '', // ⚠ required\n\t\t_options: [],\n\t\t_hideClearButton: false,\n\t};\n\n\t@State() private inputHasFocus = false;\n\n\tpublic constructor() {\n\t\tthis.controller = new SingleSelectController(this, 'single-select', this.host);\n\t}\n\n\tprivate showAsAlert(): boolean {\n\t\treturn Boolean(this.state._touched) && !this.inputHasFocus;\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_hideMsg')\n\tpublic validateHideMsg(value?: HideMsgPropType): void {\n\t\tthis.controller.validateHideMsg(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: IconsHorizontalPropType): void {\n\t\tthis.controller.validateIcons(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_msg')\n\tpublic validateMsg(value?: Stringified<MsgPropType>): void {\n\t\tthis.controller.validateMsg(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_options')\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tthis.controller.validateOptions(value);\n\t\tthis._filteredOptions = value;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_shortKey')\n\tpublic validateShortKey(value?: ShortKeyPropType): void {\n\t\tthis.controller.validateShortKey(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value: StencilUnknown): void {\n\t\tthis.controller.validateValue(value);\n\t\tthis.oldValue = value;\n\t\tthis.updateInputValue(value);\n\t}\n\n\t@Watch('_hideClearButton ')\n\tpublic validateHideClearButton(value?: boolean): void {\n\t\tthis.controller.validateHideClearButton(value);\n\t}\n\n\t@Watch('_rows')\n\tpublic validateRows(value?: number): void {\n\t\tthis.controller.validateRows(value);\n\t}\n\n\t@Listen('mousemove')\n\tpublic handleMouseEvent() {\n\t\tthis.blockSuggestionMouseOver = false;\n\t}\n\n\tprivate updateInputValue(value?: StencilUnknown) {\n\t\tif (Array.isArray(this._options)) {\n\t\t\tconst matchedOption = this._options.find((option) => option.value === value);\n\t\t\tthis._inputValue = matchedOption ? String(matchedOption.label) : '';\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.refOptions = [];\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t\tthis.oldValue = this._value;\n\t\tthis._filteredOptions = this.state._options;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\tprivate onChange(event: Event): void {\n\t\tif (this.oldValue !== this.refInput?.value) {\n\t\t\tthis.oldValue = this.refInput?.value;\n\t\t}\n\n\t\tif (!this._isOpen) {\n\t\t\tthis.controller.onFacade.onChange(event, this._value);\n\t\t}\n\t}\n\n\tprivate onClick(event: MouseEvent): void {\n\t\tthis.toggleListbox(event);\n\t\tthis.controller.onFacade.onClick(event);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{_ as __rest}from"./tslib.es6-1173d062.js";import{h,F as Fragment}from"./index-d47f6be5.js";import{c as clsx}from"./clsx-09a06a12.js";import{e as KolIconTag,b as KolButtonWcTag}from"./component-names-0657b355.js";import{t as translate}from"./i18n-260f0fe9.js";import{a as BEM_CLASS_ALERT__ICON,b as bem,c as BEM_CLASS_ALERT__CONTENT,d as BEM_CLASS_ALERT__CLOSER}from"./bem-e4c3a2e6.js";import{K as KolHeadingFc}from"./Heading-4990ec84.js";const Icon=({ariaLabel:a,icon:e})=>h(Fragment,null,h("span",{class:"visually-hidden"},a),h(KolIconTag,{class:BEM_CLASS_ALERT__ICON,_label:"",_icons:e})),AlertIcon=({type:a,label:e})=>{switch(a){case"error":return h(Icon,{ariaLabel:translate("kol-error"),icon:"codicon codicon-error",label:e});case"info":return h(Icon,{ariaLabel:translate("kol-info"),icon:"codicon codicon-info",label:e});case"warning":return h(Icon,{ariaLabel:translate("kol-warning"),icon:"codicon codicon-warning",label:e});case"success":return h(Icon,{ariaLabel:translate("kol-success"),icon:"codicon codicon-pass",label:e});default:return h(Icon,{ariaLabel:translate("kol-message"),icon:"codicon codicon-comment",label:e})}},vibrateOnError=()=>{if("undefined"==typeof navigator||"function"!=typeof navigator.vibrate)return;const a=navigator.userActivation;if(((null==a?void 0:a.isActive)||(null==a?void 0:a.hasBeenActive))&&matchMedia("(any-pointer: coarse)").matches)try{navigator.vibrate([100,75,100,75,100])}catch(a){}},KolAlertFc=(a,e)=>{const{class:o={},alert:l=!1,hasCloser:t=!1,label:n,level:r=0,type:s="default",variant:i="msg",onAlertTimeout:c,onCloserClick:d}=a,_=__rest(a,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);l&&(vibrateOnError(),setTimeout((()=>{null==c||c()}),1e4));const b=bem("kol-alert",{hasCloser:!!t,[`type-${s}`]:!0,[`variant-${i}`]:!0}),m=bem("kol-alert","heading",{[`h${r}`]:!0}),v=Object.assign({class:clsx(o,b),role:l?"error"===s?"alert":"status":void 0},_);return h("div",Object.assign({},v,{"data-testid":"alert"}),h("div",{class:"kol-alert__container"},h(AlertIcon,{label:n,type:s}),h("div",{class:"kol-alert__container-content"},n&&h(KolHeadingFc,{class:m,level:r,id:"heading"},n),"msg"===i&&h("span",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":n?"heading":void 0},e)),t&&h(KolButtonWcTag,{class:BEM_CLASS_ALERT__CLOSER,"data-testid":"alert-close-button",_ariaDescription:(null==n?void 0:n.trim())||"",_hideLabel:!0,_icons:{left:{icon:"codicon codicon-close"}},_label:translate("kol-close-alert"),_on:{onClick:d},_tooltipAlign:"left"})),"card"===i&&h("div",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":n?"heading":void 0},e))};export{KolAlertFc as K};
4
+ import{_ as __rest}from"./tslib.es6-1173d062.js";import{h,F as Fragment}from"./index-b4e1ceff.js";import{c as clsx}from"./clsx-09a06a12.js";import{e as KolIconTag,b as KolButtonWcTag}from"./component-names-0657b355.js";import{t as translate}from"./i18n-260f0fe9.js";import{a as BEM_CLASS_ALERT__ICON,b as bem,c as BEM_CLASS_ALERT__CONTENT,d as BEM_CLASS_ALERT__CLOSER}from"./bem-e4c3a2e6.js";import{K as KolHeadingFc}from"./Heading-6d2b507b.js";const Icon=({ariaLabel:a,icon:e})=>h(Fragment,null,h("span",{class:"visually-hidden"},a),h(KolIconTag,{class:BEM_CLASS_ALERT__ICON,_label:"",_icons:e})),AlertIcon=({type:a,label:e})=>{switch(a){case"error":return h(Icon,{ariaLabel:translate("kol-error"),icon:"codicon codicon-error",label:e});case"info":return h(Icon,{ariaLabel:translate("kol-info"),icon:"codicon codicon-info",label:e});case"warning":return h(Icon,{ariaLabel:translate("kol-warning"),icon:"codicon codicon-warning",label:e});case"success":return h(Icon,{ariaLabel:translate("kol-success"),icon:"codicon codicon-pass",label:e});default:return h(Icon,{ariaLabel:translate("kol-message"),icon:"codicon codicon-comment",label:e})}},vibrateOnError=()=>{if("undefined"==typeof navigator||"function"!=typeof navigator.vibrate)return;const a=navigator.userActivation;if(((null==a?void 0:a.isActive)||(null==a?void 0:a.hasBeenActive))&&matchMedia("(any-pointer: coarse)").matches)try{navigator.vibrate([100,75,100,75,100])}catch(a){}},KolAlertFc=(a,e)=>{const{class:o={},alert:l=!1,hasCloser:t=!1,label:n,level:r=0,type:s="default",variant:i="msg",onAlertTimeout:c,onCloserClick:d}=a,_=__rest(a,["class","alert","hasCloser","label","level","type","variant","onAlertTimeout","onCloserClick"]);l&&(vibrateOnError(),setTimeout((()=>{null==c||c()}),1e4));const b=bem("kol-alert",{hasCloser:!!t,[`type-${s}`]:!0,[`variant-${i}`]:!0}),m=bem("kol-alert","heading",{[`h${r}`]:!0}),v=Object.assign({class:clsx(o,b),role:l?"error"===s?"alert":"status":void 0},_);return h("div",Object.assign({},v,{"data-testid":"alert"}),h("div",{class:"kol-alert__container"},h(AlertIcon,{label:n,type:s}),h("div",{class:"kol-alert__container-content"},n&&h(KolHeadingFc,{class:m,level:r,id:"heading"},n),"msg"===i&&h("span",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":n?"heading":void 0},e)),t&&h(KolButtonWcTag,{class:BEM_CLASS_ALERT__CLOSER,"data-testid":"alert-close-button",_ariaDescription:(null==n?void 0:n.trim())||"",_hideLabel:!0,_icons:{left:{icon:"codicon codicon-close"}},_label:translate("kol-close-alert"),_on:{onClick:d},_tooltipAlign:"left"})),"card"===i&&h("div",{class:BEM_CLASS_ALERT__CONTENT,"aria-describedby":n?"heading":void 0},e))};export{KolAlertFc as K};
@@ -1 +1 @@
1
- {"file":"Alert-a96714a0.js","mappings":"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","names":[],"sources":["src/functional-components/AlertIcon/AlertIcon.tsx","src/functional-components/Alert/Alert.tsx"],"sourcesContent":["import { Fragment, type FunctionalComponent as FC, h } from '@stencil/core';\nimport { KolIconTag } from '../../core/component-names';\nimport type { AlertType } from '../../schema';\nimport { translate } from '../../i18n';\nimport { BEM_CLASS_ALERT__ICON } from '../Alert/bem';\n\n/**\n * The icon uses a visually-hidden span instead of an aria-label because the Alert might be referenced as content for aria-describedby.\n * In this scenario, Firefox with NVDA does not properly read the aria-label, so the visually-hidden span ensures correct screen reader behavior.\n * @see https://github.com/public-ui/kolibri/issues/7119\n */\nconst Icon: FC<{ ariaLabel: string; icon: string; label?: string }> = ({ ariaLabel, icon }) => {\n\treturn (\n\t\t<>\n\t\t\t<span class=\"visually-hidden\">{ariaLabel}</span>\n\t\t\t<KolIconTag class={BEM_CLASS_ALERT__ICON} _label=\"\" _icons={icon} />\n\t\t</>\n\t);\n};\n\nconst AlertIcon: FC<{ label?: string; type?: AlertType }> = ({ type, label }) => {\n\tswitch (type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" label={label} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" label={label} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" label={label} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" label={label} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" label={label} />;\n\t}\n};\n\nexport default AlertIcon;\n","import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport { type JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\n\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport { type InternalAlertProps } from '../../schema';\nimport AlertIcon from '../AlertIcon';\nimport KolHeadingFc from '../Heading';\nimport { genBemAlert as bem, BEM_CLASS_ALERT__CLOSER, BEM_CLASS_ALERT__CONTENT } from './bem';\n\nexport type KolAlertFcProps = JSXBase.HTMLAttributes<HTMLDivElement> &\n\tPartial<Omit<InternalAlertProps, 'on'>> & {\n\t\tonCloserClick?: () => void;\n\t\tonAlertTimeout?: () => void;\n\t};\n\n/**\n * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n * - https://googlechrome.github.io/samples/vibration/\n * - Ongoing discussion: https://github.com/public-ui/kolibri/issues/7191\n * @todo Move side-effect out of render-function to avoid multiple incarnations.\n */\nconst vibrateOnError = (): void => {\n\tif (typeof navigator === 'undefined' || typeof navigator.vibrate !== 'function') {\n\t\treturn;\n\t}\n\tconst ua = navigator.userActivation;\n\tconst hasGesture = ua?.isActive || ua?.hasBeenActive;\n\tif (!hasGesture) {\n\t\treturn;\n\t}\n\tif (!matchMedia('(any-pointer: coarse)').matches) {\n\t\treturn;\n\t}\n\ttry {\n\t\tnavigator.vibrate([100, 75, 100, 75, 100]);\n\t} catch {\n\t\t/* no-op */\n\t}\n};\n\nconst KolAlertFc: FC<KolAlertFcProps> = (props, children) => {\n\tconst {\n\t\tclass: classNames = {},\n\t\talert = false,\n\t\thasCloser = false,\n\t\tlabel,\n\t\tlevel = 0,\n\t\ttype = 'default',\n\t\tvariant = 'msg',\n\t\tonAlertTimeout,\n\t\tonCloserClick,\n\t\t...other\n\t} = props;\n\n\tif (alert) {\n\t\tvibrateOnError();\n\n\t\tsetTimeout(() => {\n\t\t\tonAlertTimeout?.();\n\t\t}, 10000);\n\t}\n\n\t/**\n\t * Define the dynamic BEM class names for the alert component.\n\t */\n\tconst BEM_CLASS_ROOT = bem('kol-alert', {\n\t\thasCloser: !!hasCloser,\n\t\t[`type-${type}`]: true,\n\t\t[`variant-${variant}`]: true,\n\t});\n\tconst BEM_CLASS__HEADING = bem('kol-alert', 'heading', {\n\t\t[`h${level}`]: true,\n\t});\n\n\tconst rootProps: Partial<JSXBase.HTMLAttributes<HTMLDivElement>> = {\n\t\tclass: clsx(classNames, BEM_CLASS_ROOT),\n\t\trole: alert ? (type === 'error' ? 'alert' : 'status') : undefined,\n\t\t...other,\n\t};\n\n\treturn (\n\t\t<div {...rootProps} data-testid=\"alert\">\n\t\t\t<div class=\"kol-alert__container\">\n\t\t\t\t<AlertIcon label={label} type={type} />\n\t\t\t\t<div class=\"kol-alert__container-content\">\n\t\t\t\t\t{label && (\n\t\t\t\t\t\t<KolHeadingFc class={BEM_CLASS__HEADING} level={level} id=\"heading\">\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</KolHeadingFc>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'msg' && (\n\t\t\t\t\t\t<span class={BEM_CLASS_ALERT__CONTENT} aria-describedby={label ? 'heading' : undefined}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{hasCloser && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass={BEM_CLASS_ALERT__CLOSER}\n\t\t\t\t\t\tdata-testid=\"alert-close-button\"\n\t\t\t\t\t\t_ariaDescription={label?.trim() || ''}\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_icons={{\n\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_label={translate('kol-close-alert')}\n\t\t\t\t\t\t_on={{ onClick: onCloserClick }}\n\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{variant === 'card' && (\n\t\t\t\t<div class={BEM_CLASS_ALERT__CONTENT} aria-describedby={label ? 'heading' : undefined}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default KolAlertFc;\n"],"version":3}
1
+ {"file":"Alert-7970c36f.js","mappings":"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","names":[],"sources":["src/functional-components/AlertIcon/AlertIcon.tsx","src/functional-components/Alert/Alert.tsx"],"sourcesContent":["import { Fragment, type FunctionalComponent as FC, h } from '@stencil/core';\nimport { KolIconTag } from '../../core/component-names';\nimport type { AlertType } from '../../schema';\nimport { translate } from '../../i18n';\nimport { BEM_CLASS_ALERT__ICON } from '../Alert/bem';\n\n/**\n * The icon uses a visually-hidden span instead of an aria-label because the Alert might be referenced as content for aria-describedby.\n * In this scenario, Firefox with NVDA does not properly read the aria-label, so the visually-hidden span ensures correct screen reader behavior.\n * @see https://github.com/public-ui/kolibri/issues/7119\n */\nconst Icon: FC<{ ariaLabel: string; icon: string; label?: string }> = ({ ariaLabel, icon }) => {\n\treturn (\n\t\t<>\n\t\t\t<span class=\"visually-hidden\">{ariaLabel}</span>\n\t\t\t<KolIconTag class={BEM_CLASS_ALERT__ICON} _label=\"\" _icons={icon} />\n\t\t</>\n\t);\n};\n\nconst AlertIcon: FC<{ label?: string; type?: AlertType }> = ({ type, label }) => {\n\tswitch (type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" label={label} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" label={label} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" label={label} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" label={label} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" label={label} />;\n\t}\n};\n\nexport default AlertIcon;\n","import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport { type JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\n\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport { type InternalAlertProps } from '../../schema';\nimport AlertIcon from '../AlertIcon';\nimport KolHeadingFc from '../Heading';\nimport { genBemAlert as bem, BEM_CLASS_ALERT__CLOSER, BEM_CLASS_ALERT__CONTENT } from './bem';\n\nexport type KolAlertFcProps = JSXBase.HTMLAttributes<HTMLDivElement> &\n\tPartial<Omit<InternalAlertProps, 'on'>> & {\n\t\tonCloserClick?: () => void;\n\t\tonAlertTimeout?: () => void;\n\t};\n\n/**\n * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n * - https://googlechrome.github.io/samples/vibration/\n * - Ongoing discussion: https://github.com/public-ui/kolibri/issues/7191\n * @todo Move side-effect out of render-function to avoid multiple incarnations.\n */\nconst vibrateOnError = (): void => {\n\tif (typeof navigator === 'undefined' || typeof navigator.vibrate !== 'function') {\n\t\treturn;\n\t}\n\tconst ua = navigator.userActivation;\n\tconst hasGesture = ua?.isActive || ua?.hasBeenActive;\n\tif (!hasGesture) {\n\t\treturn;\n\t}\n\tif (!matchMedia('(any-pointer: coarse)').matches) {\n\t\treturn;\n\t}\n\ttry {\n\t\tnavigator.vibrate([100, 75, 100, 75, 100]);\n\t} catch {\n\t\t/* no-op */\n\t}\n};\n\nconst KolAlertFc: FC<KolAlertFcProps> = (props, children) => {\n\tconst {\n\t\tclass: classNames = {},\n\t\talert = false,\n\t\thasCloser = false,\n\t\tlabel,\n\t\tlevel = 0,\n\t\ttype = 'default',\n\t\tvariant = 'msg',\n\t\tonAlertTimeout,\n\t\tonCloserClick,\n\t\t...other\n\t} = props;\n\n\tif (alert) {\n\t\tvibrateOnError();\n\n\t\tsetTimeout(() => {\n\t\t\tonAlertTimeout?.();\n\t\t}, 10000);\n\t}\n\n\t/**\n\t * Define the dynamic BEM class names for the alert component.\n\t */\n\tconst BEM_CLASS_ROOT = bem('kol-alert', {\n\t\thasCloser: !!hasCloser,\n\t\t[`type-${type}`]: true,\n\t\t[`variant-${variant}`]: true,\n\t});\n\tconst BEM_CLASS__HEADING = bem('kol-alert', 'heading', {\n\t\t[`h${level}`]: true,\n\t});\n\n\tconst rootProps: Partial<JSXBase.HTMLAttributes<HTMLDivElement>> = {\n\t\tclass: clsx(classNames, BEM_CLASS_ROOT),\n\t\trole: alert ? (type === 'error' ? 'alert' : 'status') : undefined,\n\t\t...other,\n\t};\n\n\treturn (\n\t\t<div {...rootProps} data-testid=\"alert\">\n\t\t\t<div class=\"kol-alert__container\">\n\t\t\t\t<AlertIcon label={label} type={type} />\n\t\t\t\t<div class=\"kol-alert__container-content\">\n\t\t\t\t\t{label && (\n\t\t\t\t\t\t<KolHeadingFc class={BEM_CLASS__HEADING} level={level} id=\"heading\">\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t</KolHeadingFc>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'msg' && (\n\t\t\t\t\t\t<span class={BEM_CLASS_ALERT__CONTENT} aria-describedby={label ? 'heading' : undefined}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{hasCloser && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass={BEM_CLASS_ALERT__CLOSER}\n\t\t\t\t\t\tdata-testid=\"alert-close-button\"\n\t\t\t\t\t\t_ariaDescription={label?.trim() || ''}\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_icons={{\n\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_label={translate('kol-close-alert')}\n\t\t\t\t\t\t_on={{ onClick: onCloserClick }}\n\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{variant === 'card' && (\n\t\t\t\t<div class={BEM_CLASS_ALERT__CONTENT} aria-describedby={label ? 'heading' : undefined}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default KolAlertFc;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{_ as __rest}from"./tslib.es6-1173d062.js";import{h}from"./index-d47f6be5.js";import{c as clsx}from"./clsx-09a06a12.js";import{b as KolButtonWcTag}from"./component-names-0657b355.js";import{K as KolHeadingFc}from"./Heading-4990ec84.js";const KolCollapsibleFc=(l,o)=>{const{id:s,class:a,label:e,level:i=1,disabled:n,open:c,onClick:d,HeadingProps:r={},HeadingButtonProps:t={},ContentProps:p={}}=l,b=__rest(l,["id","class","label","level","disabled","open","onClick","HeadingProps","HeadingButtonProps","ContentProps"]),_=c?"remove":"add";return h("div",Object.assign({id:s,class:clsx("collapsible",{"collapsible--disabled":!0===n,"collapsible--open":!0===c},a)},b),h(KolHeadingFc,{ref:null==r?void 0:r.ref,level:i,class:clsx("collapsible__heading",null==r?void 0:r.class)},h(KolButtonWcTag,{class:clsx("collapsible__heading-button",null==t?void 0:t.class),ref:null==t?void 0:t.ref,slot:"expert",_ariaControls:`${s}-control`,_ariaExpanded:c,_disabled:n,_icons:(null==t?void 0:t._icons)||`codicon codicon-${_}`,_label:e,_on:{onClick:d}})),h("div",{class:clsx("collapsible__wrapper",null==p?void 0:p.wrapperClass)},h("div",{class:clsx("collapsible__wrapper-animation",null==p?void 0:p.animationClass)},h("div",{"aria-hidden":!1===c?"true":void 0,class:clsx("collapsible__content",null==p?void 0:p.class),id:`${s}-control`},o))))};export{KolCollapsibleFc as K};
4
+ import{_ as __rest}from"./tslib.es6-1173d062.js";import{h}from"./index-b4e1ceff.js";import{c as clsx}from"./clsx-09a06a12.js";import{b as KolButtonWcTag}from"./component-names-0657b355.js";import{K as KolHeadingFc}from"./Heading-6d2b507b.js";const KolCollapsibleFc=(l,o)=>{const{id:s,class:a,label:e,level:i=1,disabled:n,open:c,onClick:d,HeadingProps:r={},HeadingButtonProps:t={},ContentProps:p={}}=l,b=__rest(l,["id","class","label","level","disabled","open","onClick","HeadingProps","HeadingButtonProps","ContentProps"]),_=c?"remove":"add";return h("div",Object.assign({id:s,class:clsx("collapsible",{"collapsible--disabled":!0===n,"collapsible--open":!0===c},a)},b),h(KolHeadingFc,{ref:null==r?void 0:r.ref,level:i,class:clsx("collapsible__heading",null==r?void 0:r.class)},h(KolButtonWcTag,{class:clsx("collapsible__heading-button",null==t?void 0:t.class),ref:null==t?void 0:t.ref,slot:"expert",_ariaControls:`${s}-control`,_ariaExpanded:c,_disabled:n,_icons:(null==t?void 0:t._icons)||`codicon codicon-${_}`,_label:e,_on:{onClick:d}})),h("div",{class:clsx("collapsible__wrapper",null==p?void 0:p.wrapperClass)},h("div",{class:clsx("collapsible__wrapper-animation",null==p?void 0:p.animationClass)},h("div",{"aria-hidden":!1===c?"true":void 0,class:clsx("collapsible__content",null==p?void 0:p.class),id:`${s}-control`},o))))};export{KolCollapsibleFc as K};
@@ -1 +1 @@
1
- {"file":"Collapsible-29bb352a.js","mappings":";;;;;;;;;MAuCM,gBAAgB,GAAyB,CAAC,KAAK,EAAE,QAAQ;IAC9D,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,EAAE,kBAAkB,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAArJ,sHAA6I,CAAQ,CAAC;IAC5J,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;IAErC,QACC,yBACC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,IAAI,CACV,aAAa,EACb;YACC,uBAAuB,EAAE,QAAQ,KAAK,IAAI;YAC1C,mBAAmB,EAAE,IAAI,KAAK,IAAI;SAClC,EACD,UAAU,CACV,IACG,KAAK;QAET,EAAC,YAAY,IAAC,GAAG,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC;YAC3G,EAAC,cAAc,IACd,KAAK,EAAE,IAAI,CAAC,6BAA6B,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,KAAK,CAAC,EACrE,GAAG,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,EAC5B,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,GAAG,EAAE,UAAU,EAC9B,aAAa,EAAE,IAAI,EACnB,SAAS,EAAE,QAAQ,EACnB,MAAM,EAAE,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,KAAI,mBAAmB,IAAI,EAAE,EAC/D,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,EAAE,OAAO,EAAE,GACC,CACJ;QACf,WAAK,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,CAAC;YACnE,WAAK,KAAK,EAAE,IAAI,CAAC,gCAAgC,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,CAAC;gBAC/E,0BAAkB,IAAI,KAAK,KAAK,GAAG,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,IAClI,QAAQ,CACJ,CACD,CACD,CACD,EACL;AACH;;;;","names":[],"sources":["src/functional-components/Collapsible/Collapsible.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport type { FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport type { HeadingLevel, IconsPropType } from '../../schema';\nimport KolHeadingFc from '../Heading';\n\ntype ClassType =\n\t| string\n\t| {\n\t\t\t[className: string]: boolean;\n\t };\n\nexport type CollapsibleProps = Omit<JSXBase.HTMLAttributes<HTMLElement>, 'id'> & {\n\tid: string;\n\topen?: boolean;\n\tdisabled?: boolean;\n\tlevel?: HeadingLevel;\n\tlabel: string;\n\n\tHeadingProps?: {\n\t\tref?: ((elm?: HTMLElement | undefined) => void) | undefined;\n\t\tclass?: ClassType;\n\t};\n\n\tHeadingButtonProps?: {\n\t\tref?: ((elm?: HTMLKolButtonWcElement | undefined) => void) | undefined;\n\t\tclass?: ClassType;\n\t\t_icons?: IconsPropType;\n\t};\n\n\tContentProps?: {\n\t\tclass?: ClassType;\n\t\tanimationClass?: ClassType;\n\t\twrapperClass?: ClassType;\n\t};\n};\n\nconst KolCollapsibleFc: FC<CollapsibleProps> = (props, children) => {\n\tconst { id, class: classNames, label, level = 1, disabled, open, onClick, HeadingProps = {}, HeadingButtonProps = {}, ContentProps = {}, ...other } = props;\n\tconst icon = open ? 'remove' : 'add';\n\n\treturn (\n\t\t<div\n\t\t\tid={id}\n\t\t\tclass={clsx(\n\t\t\t\t'collapsible',\n\t\t\t\t{\n\t\t\t\t\t'collapsible--disabled': disabled === true,\n\t\t\t\t\t'collapsible--open': open === true,\n\t\t\t\t},\n\t\t\t\tclassNames,\n\t\t\t)}\n\t\t\t{...other}\n\t\t>\n\t\t\t<KolHeadingFc ref={HeadingProps?.ref} level={level} class={clsx('collapsible__heading', HeadingProps?.class)}>\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\tclass={clsx('collapsible__heading-button', HeadingButtonProps?.class)}\n\t\t\t\t\tref={HeadingButtonProps?.ref}\n\t\t\t\t\tslot=\"expert\"\n\t\t\t\t\t_ariaControls={`${id}-control`}\n\t\t\t\t\t_ariaExpanded={open}\n\t\t\t\t\t_disabled={disabled}\n\t\t\t\t\t_icons={HeadingButtonProps?._icons || `codicon codicon-${icon}`}\n\t\t\t\t\t_label={label}\n\t\t\t\t\t_on={{ onClick }}\n\t\t\t\t></KolButtonWcTag>\n\t\t\t</KolHeadingFc>\n\t\t\t<div class={clsx('collapsible__wrapper', ContentProps?.wrapperClass)}>\n\t\t\t\t<div class={clsx('collapsible__wrapper-animation', ContentProps?.animationClass)}>\n\t\t\t\t\t<div aria-hidden={open === false ? 'true' : undefined} class={clsx('collapsible__content', ContentProps?.class)} id={`${id}-control`}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default KolCollapsibleFc;\n"],"version":3}
1
+ {"file":"Collapsible-741bf621.js","mappings":";;;;;;;;;MAuCM,gBAAgB,GAAyB,CAAC,KAAK,EAAE,QAAQ;IAC9D,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,EAAE,kBAAkB,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAArJ,sHAA6I,CAAQ,CAAC;IAC5J,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;IAErC,QACC,yBACC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,IAAI,CACV,aAAa,EACb;YACC,uBAAuB,EAAE,QAAQ,KAAK,IAAI;YAC1C,mBAAmB,EAAE,IAAI,KAAK,IAAI;SAClC,EACD,UAAU,CACV,IACG,KAAK;QAET,EAAC,YAAY,IAAC,GAAG,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC;YAC3G,EAAC,cAAc,IACd,KAAK,EAAE,IAAI,CAAC,6BAA6B,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,KAAK,CAAC,EACrE,GAAG,EAAE,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,EAC5B,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,GAAG,EAAE,UAAU,EAC9B,aAAa,EAAE,IAAI,EACnB,SAAS,EAAE,QAAQ,EACnB,MAAM,EAAE,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,KAAI,mBAAmB,IAAI,EAAE,EAC/D,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,EAAE,OAAO,EAAE,GACC,CACJ;QACf,WAAK,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,YAAY,CAAC;YACnE,WAAK,KAAK,EAAE,IAAI,CAAC,gCAAgC,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,CAAC;gBAC/E,0BAAkB,IAAI,KAAK,KAAK,GAAG,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,IAClI,QAAQ,CACJ,CACD,CACD,CACD,EACL;AACH;;;;","names":[],"sources":["src/functional-components/Collapsible/Collapsible.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport type { FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport type { HeadingLevel, IconsPropType } from '../../schema';\nimport KolHeadingFc from '../Heading';\n\ntype ClassType =\n\t| string\n\t| {\n\t\t\t[className: string]: boolean;\n\t };\n\nexport type CollapsibleProps = Omit<JSXBase.HTMLAttributes<HTMLElement>, 'id'> & {\n\tid: string;\n\topen?: boolean;\n\tdisabled?: boolean;\n\tlevel?: HeadingLevel;\n\tlabel: string;\n\n\tHeadingProps?: {\n\t\tref?: ((elm?: HTMLElement | undefined) => void) | undefined;\n\t\tclass?: ClassType;\n\t};\n\n\tHeadingButtonProps?: {\n\t\tref?: ((elm?: HTMLKolButtonWcElement | undefined) => void) | undefined;\n\t\tclass?: ClassType;\n\t\t_icons?: IconsPropType;\n\t};\n\n\tContentProps?: {\n\t\tclass?: ClassType;\n\t\tanimationClass?: ClassType;\n\t\twrapperClass?: ClassType;\n\t};\n};\n\nconst KolCollapsibleFc: FC<CollapsibleProps> = (props, children) => {\n\tconst { id, class: classNames, label, level = 1, disabled, open, onClick, HeadingProps = {}, HeadingButtonProps = {}, ContentProps = {}, ...other } = props;\n\tconst icon = open ? 'remove' : 'add';\n\n\treturn (\n\t\t<div\n\t\t\tid={id}\n\t\t\tclass={clsx(\n\t\t\t\t'collapsible',\n\t\t\t\t{\n\t\t\t\t\t'collapsible--disabled': disabled === true,\n\t\t\t\t\t'collapsible--open': open === true,\n\t\t\t\t},\n\t\t\t\tclassNames,\n\t\t\t)}\n\t\t\t{...other}\n\t\t>\n\t\t\t<KolHeadingFc ref={HeadingProps?.ref} level={level} class={clsx('collapsible__heading', HeadingProps?.class)}>\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\tclass={clsx('collapsible__heading-button', HeadingButtonProps?.class)}\n\t\t\t\t\tref={HeadingButtonProps?.ref}\n\t\t\t\t\tslot=\"expert\"\n\t\t\t\t\t_ariaControls={`${id}-control`}\n\t\t\t\t\t_ariaExpanded={open}\n\t\t\t\t\t_disabled={disabled}\n\t\t\t\t\t_icons={HeadingButtonProps?._icons || `codicon codicon-${icon}`}\n\t\t\t\t\t_label={label}\n\t\t\t\t\t_on={{ onClick }}\n\t\t\t\t></KolButtonWcTag>\n\t\t\t</KolHeadingFc>\n\t\t\t<div class={clsx('collapsible__wrapper', ContentProps?.wrapperClass)}>\n\t\t\t\t<div class={clsx('collapsible__wrapper-animation', ContentProps?.animationClass)}>\n\t\t\t\t\t<div aria-hidden={open === false ? 'true' : undefined} class={clsx('collapsible__content', ContentProps?.class)} id={`${id}-control`}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default KolCollapsibleFc;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h}from"./index-d47f6be5.js";import{e as KolIconTag}from"./component-names-0657b355.js";import{t as translate}from"./i18n-260f0fe9.js";import{c as clsx}from"./clsx-09a06a12.js";const CustomSuggestionsToggleFc=({onClick:o,disabled:s})=>h("button",{tabindex:"-1",class:"kol-custom-suggestions-toggle",onClick:o,disabled:s},h(KolIconTag,{_icons:"codicon codicon-triangle-down",_label:translate("kol-dropdown")})),CustomSuggestionsOptionFc=({index:o,ref:s,selected:e,onClick:n,onMouseOver:t,onFocus:i,onKeyDown:l,option:c,searchTerm:r})=>h("li",{id:`option-${o}`,key:`-${o}`,ref:s,"data-index":o,tabIndex:-1,role:"option","aria-selected":e?"true":void 0,onClick:n,onMouseOver:t,onFocus:i,class:"kol-custom-suggestions-option",onKeyDown:l},((o,s)=>{if(!(null==s?void 0:s.trim()))return o;const e=new RegExp(`(${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return o.split(e).map(((o,s)=>e.test(o)?h("mark",{key:s},o):o))})(String(c),r||"")),CustomSuggestionsOptionsGroupFc=({blockSuggestionMouseOver:o,onKeyDown:s,style:e},n)=>h("ul",{role:"listbox",style:e,class:clsx("kol-custom-suggestions-options-group",{"kol-custom-suggestions-options-group--cursor-hidden":o}),onKeyDown:s},n);export{CustomSuggestionsToggleFc as C,CustomSuggestionsOptionsGroupFc as a,CustomSuggestionsOptionFc as b};
4
+ import{h}from"./index-b4e1ceff.js";import{e as KolIconTag}from"./component-names-0657b355.js";import{t as translate}from"./i18n-260f0fe9.js";import{c as clsx}from"./clsx-09a06a12.js";const CustomSuggestionsToggleFc=({onClick:o,disabled:s})=>h("button",{tabindex:"-1",class:"kol-custom-suggestions-toggle",onClick:o,disabled:s},h(KolIconTag,{_icons:"codicon codicon-triangle-down",_label:translate("kol-dropdown")})),CustomSuggestionsOptionFc=({index:o,ref:s,selected:e,onClick:n,onMouseOver:t,onFocus:i,onKeyDown:l,option:c,searchTerm:r})=>h("li",{id:`option-${o}`,key:`-${o}`,ref:s,"data-index":o,tabIndex:-1,role:"option","aria-selected":e?"true":void 0,onClick:n,onMouseOver:t,onFocus:i,class:"kol-custom-suggestions-option",onKeyDown:l},((o,s)=>{if(!(null==s?void 0:s.trim()))return o;const e=new RegExp(`(${s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")})`,"gi");return o.split(e).map(((o,s)=>e.test(o)?h("mark",{key:s},o):o))})(String(c),r||"")),CustomSuggestionsOptionsGroupFc=({blockSuggestionMouseOver:o,onKeyDown:s,style:e},n)=>h("ul",{role:"listbox",style:e,class:clsx("kol-custom-suggestions-options-group",{"kol-custom-suggestions-options-group--cursor-hidden":o}),onKeyDown:s},n);export{CustomSuggestionsToggleFc as C,CustomSuggestionsOptionsGroupFc as a,CustomSuggestionsOptionFc as b};
@@ -1 +1 @@
1
- {"file":"CustomSuggestionsOptionsGroup-4d57f72c.js","mappings":";;;;;;;;MAOM,yBAAyB,GAAqC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzF,QACC,cAAQ,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,+BAA+B,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;QAC/F,EAAC,UAAU,IAAC,MAAM,EAAC,+BAA+B,EAAC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,GAAI,CAChF,EACR;AACH;;MCDM,yBAAyB,GAA+B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;IACpJ,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,UAAkB;QAC5D,IAAI,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,EAAE,CAAA;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEhC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAM,GAAG,EAAE,SAAS,IAAG,IAAI,CAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;KACvG,CAAC;IAEF,QACC,UACC,EAAE,EAAE,UAAU,KAAK,EAAE,EACrB,GAAG,EAAE,IAAI,KAAK,EAAE,EAChB,GAAG,EAAE,GAAG,gBACI,KAAK,EACjB,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAC,QAAQ,mBACE,QAAQ,GAAG,MAAM,GAAG,SAAS,EAC5C,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,+BAA+B,EACrC,SAAS,EAAE,SAAS,IAEnB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAClD,EACJ;AACH;;MChCM,+BAA+B,GAA2C,CAAC,EAAE,wBAAwB,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ;IACxI,QACC,UACC,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,IAAI,CAAC,sCAAsC,EAAE;YACnD,qDAAqD,EAAE,wBAAwB;SAC/E,CAAC,EACF,SAAS,EAAE,SAAS,IAEnB,QAAQ,CACL,EACJ;AACH;;;;","names":[],"sources":["src/functional-components/CustomSuggestionsToggle/CustomSuggestionsToggle.tsx","src/functional-components/CustomSuggestionsOption/CustomSuggestionsOption.tsx","src/functional-components/CustomSuggestionsOptionsGroup/CustomSuggestionsOptionsGroup.tsx"],"sourcesContent":["import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport { KolIconTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport type { JSXBase } from '@stencil/core/internal';\n\nexport type CustomSuggestionsToggleProps = JSXBase.HTMLAttributes<HTMLButtonElement> & { disabled?: boolean };\n\nconst CustomSuggestionsToggleFc: FC<CustomSuggestionsToggleProps> = ({ onClick, disabled }) => {\n\treturn (\n\t\t<button tabindex=\"-1\" class=\"kol-custom-suggestions-toggle\" onClick={onClick} disabled={disabled}>\n\t\t\t<KolIconTag _icons=\"codicon codicon-triangle-down\" _label={translate('kol-dropdown')} />\n\t\t</button>\n\t);\n};\nexport default CustomSuggestionsToggleFc;\n","import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../schema';\n\nexport type CustomSuggestionsProps = JSXBase.HTMLAttributes<HTMLLIElement> & {\n\tindex: number;\n\toption: W3CInputValue;\n\tselected: boolean;\n\tsearchTerm?: string;\n\tref?: ((elm?: HTMLLIElement | undefined) => void) | undefined;\n};\n\nconst CustomSuggestionsOptionFc: FC<CustomSuggestionsProps> = ({ index, ref, selected, onClick, onMouseOver, onFocus, onKeyDown, option, searchTerm }) => {\n\tconst highlightSearchTerm = (text: string, searchTerm: string) => {\n\t\tif (!searchTerm?.trim()) return text;\n\n\t\tconst regex = new RegExp(`(${searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')})`, 'gi');\n\t\tconst parts = text.split(regex);\n\n\t\treturn parts.map((part, partIndex) => (regex.test(part) ? <mark key={partIndex}>{part}</mark> : part));\n\t};\n\n\treturn (\n\t\t<li\n\t\t\tid={`option-${index}`}\n\t\t\tkey={`-${index}`}\n\t\t\tref={ref}\n\t\t\tdata-index={index}\n\t\t\ttabIndex={-1}\n\t\t\trole=\"option\"\n\t\t\taria-selected={selected ? 'true' : undefined}\n\t\t\tonClick={onClick}\n\t\t\tonMouseOver={onMouseOver}\n\t\t\tonFocus={onFocus}\n\t\t\tclass=\"kol-custom-suggestions-option\"\n\t\t\tonKeyDown={onKeyDown}\n\t\t>\n\t\t\t{highlightSearchTerm(String(option), searchTerm || '')}\n\t\t</li>\n\t);\n};\nexport default CustomSuggestionsOptionFc;\n","import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\n\nexport type CustomSuggestionsOptionsGroupProps = JSXBase.HTMLAttributes<HTMLUListElement> & {\n\tblockSuggestionMouseOver: boolean;\n};\n\nconst CustomSuggestionsOptionsGroupFc: FC<CustomSuggestionsOptionsGroupProps> = ({ blockSuggestionMouseOver, onKeyDown, style }, children) => {\n\treturn (\n\t\t<ul\n\t\t\trole=\"listbox\"\n\t\t\tstyle={style}\n\t\t\tclass={clsx('kol-custom-suggestions-options-group', {\n\t\t\t\t'kol-custom-suggestions-options-group--cursor-hidden': blockSuggestionMouseOver,\n\t\t\t})}\n\t\t\tonKeyDown={onKeyDown}\n\t\t>\n\t\t\t{children}\n\t\t</ul>\n\t);\n};\nexport default CustomSuggestionsOptionsGroupFc;\n"],"version":3}
1
+ {"file":"CustomSuggestionsOptionsGroup-d8226ae6.js","mappings":";;;;;;;;MAOM,yBAAyB,GAAqC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzF,QACC,cAAQ,QAAQ,EAAC,IAAI,EAAC,KAAK,EAAC,+BAA+B,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;QAC/F,EAAC,UAAU,IAAC,MAAM,EAAC,+BAA+B,EAAC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,GAAI,CAChF,EACR;AACH;;MCDM,yBAAyB,GAA+B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;IACpJ,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,UAAkB;QAC5D,IAAI,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,EAAE,CAAA;YAAE,OAAO,IAAI,CAAC;QAErC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEhC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAM,GAAG,EAAE,SAAS,IAAG,IAAI,CAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;KACvG,CAAC;IAEF,QACC,UACC,EAAE,EAAE,UAAU,KAAK,EAAE,EACrB,GAAG,EAAE,IAAI,KAAK,EAAE,EAChB,GAAG,EAAE,GAAG,gBACI,KAAK,EACjB,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAC,QAAQ,mBACE,QAAQ,GAAG,MAAM,GAAG,SAAS,EAC5C,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,+BAA+B,EACrC,SAAS,EAAE,SAAS,IAEnB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAClD,EACJ;AACH;;MChCM,+BAA+B,GAA2C,CAAC,EAAE,wBAAwB,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ;IACxI,QACC,UACC,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,IAAI,CAAC,sCAAsC,EAAE;YACnD,qDAAqD,EAAE,wBAAwB;SAC/E,CAAC,EACF,SAAS,EAAE,SAAS,IAEnB,QAAQ,CACL,EACJ;AACH;;;;","names":[],"sources":["src/functional-components/CustomSuggestionsToggle/CustomSuggestionsToggle.tsx","src/functional-components/CustomSuggestionsOption/CustomSuggestionsOption.tsx","src/functional-components/CustomSuggestionsOptionsGroup/CustomSuggestionsOptionsGroup.tsx"],"sourcesContent":["import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport { KolIconTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport type { JSXBase } from '@stencil/core/internal';\n\nexport type CustomSuggestionsToggleProps = JSXBase.HTMLAttributes<HTMLButtonElement> & { disabled?: boolean };\n\nconst CustomSuggestionsToggleFc: FC<CustomSuggestionsToggleProps> = ({ onClick, disabled }) => {\n\treturn (\n\t\t<button tabindex=\"-1\" class=\"kol-custom-suggestions-toggle\" onClick={onClick} disabled={disabled}>\n\t\t\t<KolIconTag _icons=\"codicon codicon-triangle-down\" _label={translate('kol-dropdown')} />\n\t\t</button>\n\t);\n};\nexport default CustomSuggestionsToggleFc;\n","import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../schema';\n\nexport type CustomSuggestionsProps = JSXBase.HTMLAttributes<HTMLLIElement> & {\n\tindex: number;\n\toption: W3CInputValue;\n\tselected: boolean;\n\tsearchTerm?: string;\n\tref?: ((elm?: HTMLLIElement | undefined) => void) | undefined;\n};\n\nconst CustomSuggestionsOptionFc: FC<CustomSuggestionsProps> = ({ index, ref, selected, onClick, onMouseOver, onFocus, onKeyDown, option, searchTerm }) => {\n\tconst highlightSearchTerm = (text: string, searchTerm: string) => {\n\t\tif (!searchTerm?.trim()) return text;\n\n\t\tconst regex = new RegExp(`(${searchTerm.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')})`, 'gi');\n\t\tconst parts = text.split(regex);\n\n\t\treturn parts.map((part, partIndex) => (regex.test(part) ? <mark key={partIndex}>{part}</mark> : part));\n\t};\n\n\treturn (\n\t\t<li\n\t\t\tid={`option-${index}`}\n\t\t\tkey={`-${index}`}\n\t\t\tref={ref}\n\t\t\tdata-index={index}\n\t\t\ttabIndex={-1}\n\t\t\trole=\"option\"\n\t\t\taria-selected={selected ? 'true' : undefined}\n\t\t\tonClick={onClick}\n\t\t\tonMouseOver={onMouseOver}\n\t\t\tonFocus={onFocus}\n\t\t\tclass=\"kol-custom-suggestions-option\"\n\t\t\tonKeyDown={onKeyDown}\n\t\t>\n\t\t\t{highlightSearchTerm(String(option), searchTerm || '')}\n\t\t</li>\n\t);\n};\nexport default CustomSuggestionsOptionFc;\n","import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\n\nexport type CustomSuggestionsOptionsGroupProps = JSXBase.HTMLAttributes<HTMLUListElement> & {\n\tblockSuggestionMouseOver: boolean;\n};\n\nconst CustomSuggestionsOptionsGroupFc: FC<CustomSuggestionsOptionsGroupProps> = ({ blockSuggestionMouseOver, onKeyDown, style }, children) => {\n\treturn (\n\t\t<ul\n\t\t\trole=\"listbox\"\n\t\t\tstyle={style}\n\t\t\tclass={clsx('kol-custom-suggestions-options-group', {\n\t\t\t\t'kol-custom-suggestions-options-group--cursor-hidden': blockSuggestionMouseOver,\n\t\t\t})}\n\t\t\tonKeyDown={onKeyDown}\n\t\t>\n\t\t\t{children}\n\t\t</ul>\n\t);\n};\nexport default CustomSuggestionsOptionsGroupFc;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{_ as __rest}from"./tslib.es6-1173d062.js";import{h,F as Fragment}from"./index-d47f6be5.js";import{c as clsx}from"./clsx-09a06a12.js";import{m as showExpertSlot,C as buildBadgeTextString}from"./index-ebe5a881.js";import{b as FormFieldTooltipFc,K as KolFormFieldLabelFc,d as KolFormFieldHintFc,c as checkHasMsg,a as convertMsgToInternMsg}from"./getRenderStates-6c8f7e98.js";const InputContainer=(e,l)=>{var{class:o}=e,t=__rest(e,["class"]);return h("div",Object.assign({class:clsx("kol-field-control__input",o)},t),l)},KolFieldControlFc=(e,l)=>{const{class:o,id:t,disabled:r,label:s,hideLabel:i,labelAlign:n,renderNoTooltip:a,hint:d,renderNoHint:c,tooltipAlign:b,accessKey:p,shortKey:g,msg:F,touched:_,required:f,readonly:u,fieldControlInputProps:m,fieldControlLabelProps:y,fieldControlTooltipProps:C,fieldControlHintProps:K}=e,k=__rest(e,["class","id","disabled","label","hideLabel","labelAlign","renderNoTooltip","hint","renderNoHint","tooltipAlign","accessKey","shortKey","msg","touched","required","readonly","fieldControlInputProps","fieldControlLabelProps","fieldControlTooltipProps","fieldControlHintProps"]),x=!c,j=!a,T=checkHasMsg(F,_),v=showExpertSlot(s),B=j&&!v&&i,P=buildBadgeTextString(p,g),L=[h(Fragment,null,h(InputContainer,Object.assign({},m),l),B&&h(FormFieldTooltipFc,Object.assign({},C||{},{id:t,label:s,hideLabel:i,align:b,badgeText:P}))),h(KolFormFieldLabelFc,Object.assign({},y||{},{id:t,baseClassName:"kol-field-control",class:clsx(null==y?void 0:y.class,{"kol-field-control__label--visually-hidden":Boolean(i)}),hasExpertSlot:v,label:s,accessKey:p,shortKey:g}))];"left"===n&&L.reverse();const O={"kol-field-control--disabled":Boolean(r),"kol-field-control--required":Boolean(f),"kol-field-control--touched":Boolean(_),"kol-field-control--hide-label":Boolean(i),"kol-field-control--read-only":Boolean(u),[`kol-field-control--${(null==F?void 0:F.type)||"error"}`]:Boolean(T),[`kol-field-control--label-align-${n}`]:Boolean(n)};return h("div",Object.assign({class:clsx("kol-field-control",O,o)},k),L,x&&h(KolFormFieldHintFc,Object.assign({},K||{},{baseClassName:"kol-field-control",id:t,hint:d})))};function getFieldControlProps(e){const l={id:e._id,disabled:e._disabled,msg:convertMsgToInternMsg(e._msg),hint:e._hint,label:e._label,hideLabel:e._hideLabel,touched:e._touched};return"_required"in e&&(l.required=e._required),"_readOnly"in e&&(l.readonly=e._readOnly),"_labelAlign"in e&&(l.labelAlign=e._labelAlign),"_accessKey"in e&&(l.accessKey=e._accessKey),"_shortKey"in e&&(l.shortKey=e._shortKey),l}const FieldControlStateWrapper=(e,l)=>{var{state:o}=e,t=__rest(e,["state"]);return h(KolFieldControlFc,Object.assign({},getFieldControlProps(o),t),l)};export{FieldControlStateWrapper as F};
4
+ import{_ as __rest}from"./tslib.es6-1173d062.js";import{h,F as Fragment}from"./index-b4e1ceff.js";import{c as clsx}from"./clsx-09a06a12.js";import{m as showExpertSlot,C as buildBadgeTextString}from"./index-ebe5a881.js";import{b as FormFieldTooltipFc,K as KolFormFieldLabelFc,d as KolFormFieldHintFc,c as checkHasMsg,a as convertMsgToInternMsg}from"./getRenderStates-d0c0ae47.js";const InputContainer=(e,l)=>{var{class:o}=e,t=__rest(e,["class"]);return h("div",Object.assign({class:clsx("kol-field-control__input",o)},t),l)},KolFieldControlFc=(e,l)=>{const{class:o,id:t,disabled:r,label:s,hideLabel:i,labelAlign:n,renderNoTooltip:a,hint:d,renderNoHint:c,tooltipAlign:b,accessKey:p,shortKey:g,msg:F,touched:_,required:f,readonly:u,fieldControlInputProps:m,fieldControlLabelProps:y,fieldControlTooltipProps:C,fieldControlHintProps:K}=e,k=__rest(e,["class","id","disabled","label","hideLabel","labelAlign","renderNoTooltip","hint","renderNoHint","tooltipAlign","accessKey","shortKey","msg","touched","required","readonly","fieldControlInputProps","fieldControlLabelProps","fieldControlTooltipProps","fieldControlHintProps"]),x=!c,j=!a,T=checkHasMsg(F,_),v=showExpertSlot(s),B=j&&!v&&i,P=buildBadgeTextString(p,g),L=[h(Fragment,null,h(InputContainer,Object.assign({},m),l),B&&h(FormFieldTooltipFc,Object.assign({},C||{},{id:t,label:s,hideLabel:i,align:b,badgeText:P}))),h(KolFormFieldLabelFc,Object.assign({},y||{},{id:t,baseClassName:"kol-field-control",class:clsx(null==y?void 0:y.class,{"kol-field-control__label--visually-hidden":Boolean(i)}),hasExpertSlot:v,label:s,accessKey:p,shortKey:g}))];"left"===n&&L.reverse();const O={"kol-field-control--disabled":Boolean(r),"kol-field-control--required":Boolean(f),"kol-field-control--touched":Boolean(_),"kol-field-control--hide-label":Boolean(i),"kol-field-control--read-only":Boolean(u),[`kol-field-control--${(null==F?void 0:F.type)||"error"}`]:Boolean(T),[`kol-field-control--label-align-${n}`]:Boolean(n)};return h("div",Object.assign({class:clsx("kol-field-control",O,o)},k),L,x&&h(KolFormFieldHintFc,Object.assign({},K||{},{baseClassName:"kol-field-control",id:t,hint:d})))};function getFieldControlProps(e){const l={id:e._id,disabled:e._disabled,msg:convertMsgToInternMsg(e._msg),hint:e._hint,label:e._label,hideLabel:e._hideLabel,touched:e._touched};return"_required"in e&&(l.required=e._required),"_readOnly"in e&&(l.readonly=e._readOnly),"_labelAlign"in e&&(l.labelAlign=e._labelAlign),"_accessKey"in e&&(l.accessKey=e._accessKey),"_shortKey"in e&&(l.shortKey=e._shortKey),l}const FieldControlStateWrapper=(e,l)=>{var{state:o}=e,t=__rest(e,["state"]);return h(KolFieldControlFc,Object.assign({},getFieldControlProps(o),t),l)};export{FieldControlStateWrapper as F};
@@ -1 +1 @@
1
- {"file":"FieldControlStateWrapper-adc38f2f.js","mappings":"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","names":["KolFieldControlTooltipFc","KolFieldControlLabelFc","KolFieldControlHintFc"],"sources":["src/functional-components/FieldControl/FieldControl.tsx","src/functional-component-wrappers/FieldControlStateWrapper/FieldControlStateWrapper.tsx"],"sourcesContent":["import { h, Fragment, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { type AlignPropType, type LabelAlignPropType, buildBadgeTextString, checkHasMsg, type InternMsgPropType, showExpertSlot } from '../../schema';\nimport KolFieldControlTooltipFc from '../FormFieldTooltip';\nimport KolFieldControlLabelFc from '../FormFieldLabel';\nimport KolFieldControlHintFc from '../FormFieldHint';\n\nexport type FieldControlProps = Omit<JSXBase.HTMLAttributes<HTMLElement>, 'id'> & {\n\tid: string;\n\thint?: string;\n\tlabel: string;\n\thideLabel?: boolean;\n\tlabelAlign?: LabelAlignPropType;\n\taccessKey?: string;\n\tshortKey?: string;\n\ttooltipAlign?: AlignPropType;\n\tdisabled?: boolean;\n\tmsg?: InternMsgPropType;\n\ttouched?: boolean;\n\trequired?: boolean;\n\treadonly?: boolean;\n\tshowTooltip?: boolean;\n\n\trenderNoLabel?: boolean;\n\trenderNoHint?: boolean;\n\trenderNoTooltip?: boolean;\n\n\tfieldControlLabelProps?: JSXBase.HTMLAttributes<Omit<HTMLLabelElement | HTMLLegendElement, 'id' | 'hidden' | 'htmlFor'>> & {\n\t\tcomponent?: 'label' | 'legend';\n\t\tshowBadge?: boolean;\n\t};\n\tfieldControlInputProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n\tfieldControlTooltipProps?: Pick<JSXBase.HTMLAttributes<HTMLElement>, 'class'>;\n\tfieldControlHintProps?: JSXBase.HTMLAttributes<HTMLElement>;\n};\n\nconst InputContainer: FC<JSXBase.HTMLAttributes<HTMLDivElement>> = ({ class: classNames, ...other }, children) => {\n\treturn (\n\t\t<div class={clsx('kol-field-control__input', classNames)} {...other}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nconst KolFieldControlFc: FC<FieldControlProps> = (props, children) => {\n\tconst {\n\t\tclass: classNames,\n\t\tid,\n\t\tdisabled,\n\t\tlabel,\n\t\thideLabel,\n\t\tlabelAlign,\n\t\trenderNoTooltip,\n\t\thint,\n\t\trenderNoHint,\n\t\ttooltipAlign,\n\t\taccessKey,\n\t\tshortKey,\n\t\tmsg,\n\t\ttouched,\n\t\trequired,\n\t\treadonly,\n\t\tfieldControlInputProps,\n\t\tfieldControlLabelProps,\n\t\tfieldControlTooltipProps,\n\t\tfieldControlHintProps,\n\t\t...other\n\t} = props;\n\n\tconst canShowHint = !renderNoHint;\n\tconst canShowTooltip = !renderNoTooltip;\n\tconst showMsg = checkHasMsg(msg, touched);\n\tconst hasExpertSlot = showExpertSlot(label);\n\tconst useTooltipInsteadOfLabel = canShowTooltip && !hasExpertSlot && hideLabel;\n\tconst badgeText = buildBadgeTextString(accessKey, shortKey);\n\n\tconst components = [\n\t\t<>\n\t\t\t<InputContainer {...fieldControlInputProps}>{children}</InputContainer>\n\t\t\t{useTooltipInsteadOfLabel && (\n\t\t\t\t<KolFieldControlTooltipFc\n\t\t\t\t\t{...(fieldControlTooltipProps || {})}\n\t\t\t\t\tid={id}\n\t\t\t\t\tlabel={label}\n\t\t\t\t\thideLabel={hideLabel}\n\t\t\t\t\talign={tooltipAlign}\n\t\t\t\t\tbadgeText={badgeText}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>,\n\t\t<KolFieldControlLabelFc\n\t\t\t{...(fieldControlLabelProps || {})}\n\t\t\tid={id}\n\t\t\tbaseClassName=\"kol-field-control\"\n\t\t\tclass={clsx(fieldControlLabelProps?.class, {\n\t\t\t\t['kol-field-control__label--visually-hidden']: Boolean(hideLabel),\n\t\t\t})}\n\t\t\thasExpertSlot={hasExpertSlot}\n\t\t\tlabel={label}\n\t\t\taccessKey={accessKey}\n\t\t\tshortKey={shortKey}\n\t\t/>,\n\t];\n\n\tif (labelAlign === 'left') {\n\t\tcomponents.reverse();\n\t}\n\n\tconst stateCssClasses = {\n\t\t['kol-field-control--disabled']: Boolean(disabled),\n\t\t['kol-field-control--required']: Boolean(required),\n\t\t['kol-field-control--touched']: Boolean(touched),\n\t\t['kol-field-control--hide-label']: Boolean(hideLabel),\n\t\t['kol-field-control--read-only']: Boolean(readonly),\n\t\t[`kol-field-control--${msg?.type || 'error'}`]: Boolean(showMsg),\n\t\t[`kol-field-control--label-align-${labelAlign}`]: Boolean(labelAlign),\n\t};\n\n\treturn (\n\t\t<div class={clsx('kol-field-control', stateCssClasses, classNames)} {...other}>\n\t\t\t{components}\n\t\t\t{canShowHint && <KolFieldControlHintFc {...(fieldControlHintProps || {})} baseClassName=\"kol-field-control\" id={id} hint={hint} />}\n\t\t</div>\n\t);\n};\n\nexport default KolFieldControlFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport KolFieldControlFc, { type FieldControlProps } from '../../functional-components/FieldControl';\nimport {\n\ttype InputColorStates,\n\ttype InputEmailStates,\n\ttype InputFileStates,\n\ttype InputNumberStates,\n\ttype InputPasswordStates,\n\ttype InputRangeStates,\n\ttype InputTextStates,\n\ttype InputCheckboxStates,\n\ttype InputRadioStates,\n\ttype SelectStates,\n\tconvertMsgToInternMsg,\n} from '../../schema';\n\ntype InputState =\n\t| InputTextStates\n\t| InputEmailStates\n\t| InputPasswordStates\n\t| InputNumberStates\n\t| InputColorStates\n\t| InputFileStates\n\t| InputRangeStates\n\t| InputCheckboxStates\n\t| InputRadioStates\n\t| SelectStates;\n\nexport type FieldControlStateWrapperProps = Partial<FieldControlProps> & {\n\tstate: InputState;\n};\n\nfunction getFieldControlProps(state: InputState): FieldControlProps {\n\tconst props: FieldControlProps = {\n\t\tid: state._id,\n\t\tdisabled: state._disabled,\n\t\tmsg: convertMsgToInternMsg(state._msg),\n\t\thint: state._hint,\n\t\tlabel: state._label,\n\t\thideLabel: state._hideLabel,\n\t\ttouched: state._touched,\n\t};\n\n\tif ('_required' in state) {\n\t\tprops.required = state._required;\n\t}\n\n\tif ('_readOnly' in state) {\n\t\tprops.readonly = state._readOnly;\n\t}\n\n\tif ('_labelAlign' in state) {\n\t\tprops.labelAlign = state._labelAlign;\n\t}\n\n\tif ('_accessKey' in state) {\n\t\tprops.accessKey = state._accessKey;\n\t}\n\n\tif ('_shortKey' in state) {\n\t\tprops.shortKey = state._shortKey;\n\t}\n\n\treturn props;\n}\n\nconst FieldControlStateWrapper: FC<FieldControlStateWrapperProps> = ({ state, ...other }, children) => {\n\treturn (\n\t\t<KolFieldControlFc {...getFieldControlProps(state)} {...other}>\n\t\t\t{children}\n\t\t</KolFieldControlFc>\n\t);\n};\n\nexport default FieldControlStateWrapper;\n"],"version":3}
1
+ {"file":"FieldControlStateWrapper-3ed538a0.js","mappings":"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","names":["KolFieldControlTooltipFc","KolFieldControlLabelFc","KolFieldControlHintFc"],"sources":["src/functional-components/FieldControl/FieldControl.tsx","src/functional-component-wrappers/FieldControlStateWrapper/FieldControlStateWrapper.tsx"],"sourcesContent":["import { h, Fragment, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { type AlignPropType, type LabelAlignPropType, buildBadgeTextString, checkHasMsg, type InternMsgPropType, showExpertSlot } from '../../schema';\nimport KolFieldControlTooltipFc from '../FormFieldTooltip';\nimport KolFieldControlLabelFc from '../FormFieldLabel';\nimport KolFieldControlHintFc from '../FormFieldHint';\n\nexport type FieldControlProps = Omit<JSXBase.HTMLAttributes<HTMLElement>, 'id'> & {\n\tid: string;\n\thint?: string;\n\tlabel: string;\n\thideLabel?: boolean;\n\tlabelAlign?: LabelAlignPropType;\n\taccessKey?: string;\n\tshortKey?: string;\n\ttooltipAlign?: AlignPropType;\n\tdisabled?: boolean;\n\tmsg?: InternMsgPropType;\n\ttouched?: boolean;\n\trequired?: boolean;\n\treadonly?: boolean;\n\tshowTooltip?: boolean;\n\n\trenderNoLabel?: boolean;\n\trenderNoHint?: boolean;\n\trenderNoTooltip?: boolean;\n\n\tfieldControlLabelProps?: JSXBase.HTMLAttributes<Omit<HTMLLabelElement | HTMLLegendElement, 'id' | 'hidden' | 'htmlFor'>> & {\n\t\tcomponent?: 'label' | 'legend';\n\t\tshowBadge?: boolean;\n\t};\n\tfieldControlInputProps?: JSXBase.HTMLAttributes<HTMLDivElement>;\n\tfieldControlTooltipProps?: Pick<JSXBase.HTMLAttributes<HTMLElement>, 'class'>;\n\tfieldControlHintProps?: JSXBase.HTMLAttributes<HTMLElement>;\n};\n\nconst InputContainer: FC<JSXBase.HTMLAttributes<HTMLDivElement>> = ({ class: classNames, ...other }, children) => {\n\treturn (\n\t\t<div class={clsx('kol-field-control__input', classNames)} {...other}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\nconst KolFieldControlFc: FC<FieldControlProps> = (props, children) => {\n\tconst {\n\t\tclass: classNames,\n\t\tid,\n\t\tdisabled,\n\t\tlabel,\n\t\thideLabel,\n\t\tlabelAlign,\n\t\trenderNoTooltip,\n\t\thint,\n\t\trenderNoHint,\n\t\ttooltipAlign,\n\t\taccessKey,\n\t\tshortKey,\n\t\tmsg,\n\t\ttouched,\n\t\trequired,\n\t\treadonly,\n\t\tfieldControlInputProps,\n\t\tfieldControlLabelProps,\n\t\tfieldControlTooltipProps,\n\t\tfieldControlHintProps,\n\t\t...other\n\t} = props;\n\n\tconst canShowHint = !renderNoHint;\n\tconst canShowTooltip = !renderNoTooltip;\n\tconst showMsg = checkHasMsg(msg, touched);\n\tconst hasExpertSlot = showExpertSlot(label);\n\tconst useTooltipInsteadOfLabel = canShowTooltip && !hasExpertSlot && hideLabel;\n\tconst badgeText = buildBadgeTextString(accessKey, shortKey);\n\n\tconst components = [\n\t\t<>\n\t\t\t<InputContainer {...fieldControlInputProps}>{children}</InputContainer>\n\t\t\t{useTooltipInsteadOfLabel && (\n\t\t\t\t<KolFieldControlTooltipFc\n\t\t\t\t\t{...(fieldControlTooltipProps || {})}\n\t\t\t\t\tid={id}\n\t\t\t\t\tlabel={label}\n\t\t\t\t\thideLabel={hideLabel}\n\t\t\t\t\talign={tooltipAlign}\n\t\t\t\t\tbadgeText={badgeText}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>,\n\t\t<KolFieldControlLabelFc\n\t\t\t{...(fieldControlLabelProps || {})}\n\t\t\tid={id}\n\t\t\tbaseClassName=\"kol-field-control\"\n\t\t\tclass={clsx(fieldControlLabelProps?.class, {\n\t\t\t\t['kol-field-control__label--visually-hidden']: Boolean(hideLabel),\n\t\t\t})}\n\t\t\thasExpertSlot={hasExpertSlot}\n\t\t\tlabel={label}\n\t\t\taccessKey={accessKey}\n\t\t\tshortKey={shortKey}\n\t\t/>,\n\t];\n\n\tif (labelAlign === 'left') {\n\t\tcomponents.reverse();\n\t}\n\n\tconst stateCssClasses = {\n\t\t['kol-field-control--disabled']: Boolean(disabled),\n\t\t['kol-field-control--required']: Boolean(required),\n\t\t['kol-field-control--touched']: Boolean(touched),\n\t\t['kol-field-control--hide-label']: Boolean(hideLabel),\n\t\t['kol-field-control--read-only']: Boolean(readonly),\n\t\t[`kol-field-control--${msg?.type || 'error'}`]: Boolean(showMsg),\n\t\t[`kol-field-control--label-align-${labelAlign}`]: Boolean(labelAlign),\n\t};\n\n\treturn (\n\t\t<div class={clsx('kol-field-control', stateCssClasses, classNames)} {...other}>\n\t\t\t{components}\n\t\t\t{canShowHint && <KolFieldControlHintFc {...(fieldControlHintProps || {})} baseClassName=\"kol-field-control\" id={id} hint={hint} />}\n\t\t</div>\n\t);\n};\n\nexport default KolFieldControlFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport KolFieldControlFc, { type FieldControlProps } from '../../functional-components/FieldControl';\nimport {\n\ttype InputColorStates,\n\ttype InputEmailStates,\n\ttype InputFileStates,\n\ttype InputNumberStates,\n\ttype InputPasswordStates,\n\ttype InputRangeStates,\n\ttype InputTextStates,\n\ttype InputCheckboxStates,\n\ttype InputRadioStates,\n\ttype SelectStates,\n\tconvertMsgToInternMsg,\n} from '../../schema';\n\ntype InputState =\n\t| InputTextStates\n\t| InputEmailStates\n\t| InputPasswordStates\n\t| InputNumberStates\n\t| InputColorStates\n\t| InputFileStates\n\t| InputRangeStates\n\t| InputCheckboxStates\n\t| InputRadioStates\n\t| SelectStates;\n\nexport type FieldControlStateWrapperProps = Partial<FieldControlProps> & {\n\tstate: InputState;\n};\n\nfunction getFieldControlProps(state: InputState): FieldControlProps {\n\tconst props: FieldControlProps = {\n\t\tid: state._id,\n\t\tdisabled: state._disabled,\n\t\tmsg: convertMsgToInternMsg(state._msg),\n\t\thint: state._hint,\n\t\tlabel: state._label,\n\t\thideLabel: state._hideLabel,\n\t\ttouched: state._touched,\n\t};\n\n\tif ('_required' in state) {\n\t\tprops.required = state._required;\n\t}\n\n\tif ('_readOnly' in state) {\n\t\tprops.readonly = state._readOnly;\n\t}\n\n\tif ('_labelAlign' in state) {\n\t\tprops.labelAlign = state._labelAlign;\n\t}\n\n\tif ('_accessKey' in state) {\n\t\tprops.accessKey = state._accessKey;\n\t}\n\n\tif ('_shortKey' in state) {\n\t\tprops.shortKey = state._shortKey;\n\t}\n\n\treturn props;\n}\n\nconst FieldControlStateWrapper: FC<FieldControlStateWrapperProps> = ({ state, ...other }, children) => {\n\treturn (\n\t\t<KolFieldControlFc {...getFieldControlProps(state)} {...other}>\n\t\t\t{children}\n\t\t</KolFieldControlFc>\n\t);\n};\n\nexport default FieldControlStateWrapper;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{_ as __rest}from"./tslib.es6-1173d062.js";import{h}from"./index-d47f6be5.js";import{c as clsx}from"./clsx-09a06a12.js";const MIN_HEADING_LEVEL=1,MAX_HEADING_LEVEL=6;function isValidHeadingLevel(e){return e>=MIN_HEADING_LEVEL&&e<=6}function getHeadlineTag(e){return isValidHeadingLevel(e)?`h${e}`:"strong"}const KolHeadlineFc=(e,s)=>{var{class:l,level:a=MIN_HEADING_LEVEL}=e,n=__rest(e,["class","level"]);const c=getHeadlineTag(a);return h(c,Object.assign({class:clsx("kol-headline",`kol-headline--${c}`,l)},n),s)},KolSecondaryHeadlineFc=(e,s)=>{var{class:l}=e,a=__rest(e,["class"]);return h("p",Object.assign({class:clsx("kol-headline kol-headline--group kol-headline--secondary",l)},a),s)},KolHeadingFc=(e,s)=>{var{secondaryHeadline:l,level:a=MIN_HEADING_LEVEL,class:n,HeadingGroupProps:c={},SecondaryHeadlineProps:i={}}=e,o=__rest(e,["secondaryHeadline","level","class","HeadingGroupProps","SecondaryHeadlineProps"]);const r=Object.assign({level:a},o);if(!l)return h(KolHeadlineFc,Object.assign({class:clsx(n,"kol-headline--single")},r),s);const{class:d}=c,t=__rest(c,["class"]),g=Object.assign({class:clsx("kol-heading-group",d)},t);return h("hgroup",Object.assign({},g),h(KolHeadlineFc,Object.assign({class:clsx(n,"kol-headline--group","kol-headline--primary")},r),s),h(KolSecondaryHeadlineFc,Object.assign({},i),l))};export{KolHeadingFc as K};
4
+ import{_ as __rest}from"./tslib.es6-1173d062.js";import{h}from"./index-b4e1ceff.js";import{c as clsx}from"./clsx-09a06a12.js";const MIN_HEADING_LEVEL=1,MAX_HEADING_LEVEL=6;function isValidHeadingLevel(e){return e>=MIN_HEADING_LEVEL&&e<=6}function getHeadlineTag(e){return isValidHeadingLevel(e)?`h${e}`:"strong"}const KolHeadlineFc=(e,s)=>{var{class:l,level:a=MIN_HEADING_LEVEL}=e,n=__rest(e,["class","level"]);const c=getHeadlineTag(a);return h(c,Object.assign({class:clsx("kol-headline",`kol-headline--${c}`,l)},n),s)},KolSecondaryHeadlineFc=(e,s)=>{var{class:l}=e,a=__rest(e,["class"]);return h("p",Object.assign({class:clsx("kol-headline kol-headline--group kol-headline--secondary",l)},a),s)},KolHeadingFc=(e,s)=>{var{secondaryHeadline:l,level:a=MIN_HEADING_LEVEL,class:n,HeadingGroupProps:c={},SecondaryHeadlineProps:i={}}=e,o=__rest(e,["secondaryHeadline","level","class","HeadingGroupProps","SecondaryHeadlineProps"]);const r=Object.assign({level:a},o);if(!l)return h(KolHeadlineFc,Object.assign({class:clsx(n,"kol-headline--single")},r),s);const{class:d}=c,t=__rest(c,["class"]),g=Object.assign({class:clsx("kol-heading-group",d)},t);return h("hgroup",Object.assign({},g),h(KolHeadlineFc,Object.assign({class:clsx(n,"kol-headline--group","kol-headline--primary")},r),s),h(KolSecondaryHeadlineFc,Object.assign({},i),l))};export{KolHeadingFc as K};
@@ -1 +1 @@
1
- {"file":"Heading-4990ec84.js","mappings":";;;;;;;AAyBA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAU5B,SAAS,mBAAmB,CAAC,KAAa;IACzC,OAAO,KAAK,IAAI,iBAAiB,IAAI,KAAK,IAAI,iBAAiB,CAAC;AACjE,CAAC;SAQe,cAAc,CAAC,KAA4B;IAC1D,OAAO,mBAAmB,CAAC,KAAK,CAAC,GAAI,IAAI,KAAK,EAAkB,GAAG,QAAQ,CAAC;AAC7E,CAAC;AAQD,MAAM,aAAa,GAAsB,CAAC,EAA0D,EAAE,QAAQ;QAApE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,GAAG,iBAAiB,OAAY,EAAP,KAAK,cAAxD,kBAA0D,CAAF;IACjG,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,QACC,EAAC,WAAW,kBAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,WAAW,EAAE,EAAE,UAAU,CAAC,IAAM,KAAK,GAC7F,QAAQ,CACI,EACb;AACH,CAAC,CAAC;AAQF,MAAM,sBAAsB,GAA+B,CAAC,EAA+B,EAAE,QAAQ;QAAzC,EAAE,KAAK,EAAE,UAAU,OAAY,EAAP,KAAK,cAA7B,SAA+B,CAAF;IACxF,QACC,uBAAG,KAAK,EAAE,IAAI,CAAC,0DAA0D,EAAE,UAAU,CAAC,IAAM,KAAK,GAC/F,QAAQ,CACN,EACH;AACH,CAAC,CAAC;MAQI,YAAY,GAAqB,CACtC,EAAkI,EAClI,QAAQ;QADR,EAAE,iBAAiB,EAAE,KAAK,GAAG,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,OAAY,EAAP,KAAK,cAAhI,sFAAkI,CAAF;IAGhI,MAAM,aAAa,mBAClB,KAAK,IACF,KAAK,CACR,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE;QACvB,QACC,EAAC,aAAa,kBAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,IAAM,aAAa,GAC/E,QAAQ,CACM,EACf;KACF;IAED,MAAM,EAAE,KAAK,EAAE,eAAe,KAAqB,iBAAiB,EAAjC,WAAW,UAAK,iBAAiB,EAA9D,SAA0C,CAAoB,CAAC;IACrE,MAAM,kBAAkB,mBACvB,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,IAC9C,WAAW,CACd,CAAC;IAEF,QACC,8BAAY,kBAAkB;QAC7B,EAAC,aAAa,kBAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,IAAM,aAAa,GACvG,QAAQ,CACM;QAChB,EAAC,sBAAsB,oBAAK,sBAAsB,GAAG,iBAAiB,CAA0B,CACxF,EACR;AACH;;;;","names":[],"sources":["src/functional-components/Heading/Heading.tsx"],"sourcesContent":["import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport clsx from 'clsx';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { HeadingLevel } from '../../schema';\n\ntype HGroupProps = JSXBase.HTMLAttributes<HTMLElement>;\n\n// Define a base type for common props\ntype BaseProps = JSXBase.HTMLAttributes<HTMLHeadingElement | HTMLElement> & {\n\tlevel?: HeadingLevel;\n};\n\n// Define a type for the main headline props\ntype HeadlineProps = BaseProps;\n\n// Define a type for the secondary headline props\ntype SecondaryHeadlineProps = BaseProps;\n\n// Define a type for the main Heading component props\nexport type HeadingProps = HeadlineProps & {\n\tsecondaryHeadline?: string;\n\tHeadingGroupProps?: HGroupProps;\n\tSecondaryHeadlineProps?: JSXBase.HTMLAttributes<HTMLHeadingElement | HTMLElement>;\n};\n\nconst MIN_HEADING_LEVEL = 1;\nconst MAX_HEADING_LEVEL = 6;\n\n// Define a union type for valid headline tags\ntype HeadlineTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'strong';\n\n/**\n * Checks if the given level is a valid heading level.\n * @param level - The heading level to check.\n * @returns True if the level is valid, false otherwise.\n */\nfunction isValidHeadingLevel(level: number): boolean {\n\treturn level >= MIN_HEADING_LEVEL && level <= MAX_HEADING_LEVEL;\n}\n\n/**\n * Returns the appropriate headline tag based on the level.\n * If the level is invalid, returns 'strong'.\n * @param level - The heading level.\n * @returns The corresponding headline tag.\n */\nexport function getHeadlineTag(level: HeadingLevel | number): HeadlineTag {\n\treturn isValidHeadingLevel(level) ? (`h${level}` as HeadlineTag) : 'strong';\n}\n\n/**\n * Functional component for rendering a headline.\n * @param props - The properties for the headline component.\n * @param children - The children to render inside the headline.\n * @returns A VNode representing the headline.\n */\nconst KolHeadlineFc: FC<HeadlineProps> = ({ class: classNames, level = MIN_HEADING_LEVEL, ...other }, children) => {\n\tconst HeadlineTag = getHeadlineTag(level);\n\n\treturn (\n\t\t<HeadlineTag class={clsx('kol-headline', `kol-headline--${HeadlineTag}`, classNames)} {...other}>\n\t\t\t{children}\n\t\t</HeadlineTag>\n\t);\n};\n\n/**\n * Functional component for rendering a secondary headline.\n * @param props - The properties for the secondary headline component.\n * @param children - The children to render inside the secondary headline.\n * @returns A VNode representing the secondary headline.\n */\nconst KolSecondaryHeadlineFc: FC<SecondaryHeadlineProps> = ({ class: classNames, ...other }, children) => {\n\treturn (\n\t\t<p class={clsx('kol-headline kol-headline--group kol-headline--secondary', classNames)} {...other}>\n\t\t\t{children}\n\t\t</p>\n\t);\n};\n\n/**\n * Functional component for rendering a heading with an optional secondary headline.\n * @param props - The properties for the heading component.\n * @param children - The children to render inside the heading.\n * @returns A VNode representing the heading.\n */\nconst KolHeadingFc: FC<HeadingProps> = (\n\t{ secondaryHeadline, level = MIN_HEADING_LEVEL, class: classNames, HeadingGroupProps = {}, SecondaryHeadlineProps = {}, ...other },\n\tchildren,\n) => {\n\tconst headlineProps: HeadlineProps = {\n\t\tlevel,\n\t\t...other,\n\t};\n\n\tif (!secondaryHeadline) {\n\t\treturn (\n\t\t\t<KolHeadlineFc class={clsx(classNames, 'kol-headline--single')} {...headlineProps}>\n\t\t\t\t{children}\n\t\t\t</KolHeadlineFc>\n\t\t);\n\t}\n\n\tconst { class: groupClassNames, ...groupOthers } = HeadingGroupProps;\n\tconst headlineGroupProps: HGroupProps = {\n\t\tclass: clsx('kol-heading-group', groupClassNames),\n\t\t...groupOthers,\n\t};\n\n\treturn (\n\t\t<hgroup {...headlineGroupProps}>\n\t\t\t<KolHeadlineFc class={clsx(classNames, 'kol-headline--group', 'kol-headline--primary')} {...headlineProps}>\n\t\t\t\t{children}\n\t\t\t</KolHeadlineFc>\n\t\t\t<KolSecondaryHeadlineFc {...SecondaryHeadlineProps}>{secondaryHeadline}</KolSecondaryHeadlineFc>\n\t\t</hgroup>\n\t);\n};\n\nexport default KolHeadingFc;\n"],"version":3}
1
+ {"file":"Heading-6d2b507b.js","mappings":";;;;;;;AAyBA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAU5B,SAAS,mBAAmB,CAAC,KAAa;IACzC,OAAO,KAAK,IAAI,iBAAiB,IAAI,KAAK,IAAI,iBAAiB,CAAC;AACjE,CAAC;SAQe,cAAc,CAAC,KAA4B;IAC1D,OAAO,mBAAmB,CAAC,KAAK,CAAC,GAAI,IAAI,KAAK,EAAkB,GAAG,QAAQ,CAAC;AAC7E,CAAC;AAQD,MAAM,aAAa,GAAsB,CAAC,EAA0D,EAAE,QAAQ;QAApE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,GAAG,iBAAiB,OAAY,EAAP,KAAK,cAAxD,kBAA0D,CAAF;IACjG,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,QACC,EAAC,WAAW,kBAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,WAAW,EAAE,EAAE,UAAU,CAAC,IAAM,KAAK,GAC7F,QAAQ,CACI,EACb;AACH,CAAC,CAAC;AAQF,MAAM,sBAAsB,GAA+B,CAAC,EAA+B,EAAE,QAAQ;QAAzC,EAAE,KAAK,EAAE,UAAU,OAAY,EAAP,KAAK,cAA7B,SAA+B,CAAF;IACxF,QACC,uBAAG,KAAK,EAAE,IAAI,CAAC,0DAA0D,EAAE,UAAU,CAAC,IAAM,KAAK,GAC/F,QAAQ,CACN,EACH;AACH,CAAC,CAAC;MAQI,YAAY,GAAqB,CACtC,EAAkI,EAClI,QAAQ;QADR,EAAE,iBAAiB,EAAE,KAAK,GAAG,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,iBAAiB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,OAAY,EAAP,KAAK,cAAhI,sFAAkI,CAAF;IAGhI,MAAM,aAAa,mBAClB,KAAK,IACF,KAAK,CACR,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE;QACvB,QACC,EAAC,aAAa,kBAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,IAAM,aAAa,GAC/E,QAAQ,CACM,EACf;KACF;IAED,MAAM,EAAE,KAAK,EAAE,eAAe,KAAqB,iBAAiB,EAAjC,WAAW,UAAK,iBAAiB,EAA9D,SAA0C,CAAoB,CAAC;IACrE,MAAM,kBAAkB,mBACvB,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,IAC9C,WAAW,CACd,CAAC;IAEF,QACC,8BAAY,kBAAkB;QAC7B,EAAC,aAAa,kBAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,IAAM,aAAa,GACvG,QAAQ,CACM;QAChB,EAAC,sBAAsB,oBAAK,sBAAsB,GAAG,iBAAiB,CAA0B,CACxF,EACR;AACH;;;;","names":[],"sources":["src/functional-components/Heading/Heading.tsx"],"sourcesContent":["import { type FunctionalComponent as FC, h } from '@stencil/core';\nimport clsx from 'clsx';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { HeadingLevel } from '../../schema';\n\ntype HGroupProps = JSXBase.HTMLAttributes<HTMLElement>;\n\n// Define a base type for common props\ntype BaseProps = JSXBase.HTMLAttributes<HTMLHeadingElement | HTMLElement> & {\n\tlevel?: HeadingLevel;\n};\n\n// Define a type for the main headline props\ntype HeadlineProps = BaseProps;\n\n// Define a type for the secondary headline props\ntype SecondaryHeadlineProps = BaseProps;\n\n// Define a type for the main Heading component props\nexport type HeadingProps = HeadlineProps & {\n\tsecondaryHeadline?: string;\n\tHeadingGroupProps?: HGroupProps;\n\tSecondaryHeadlineProps?: JSXBase.HTMLAttributes<HTMLHeadingElement | HTMLElement>;\n};\n\nconst MIN_HEADING_LEVEL = 1;\nconst MAX_HEADING_LEVEL = 6;\n\n// Define a union type for valid headline tags\ntype HeadlineTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'strong';\n\n/**\n * Checks if the given level is a valid heading level.\n * @param level - The heading level to check.\n * @returns True if the level is valid, false otherwise.\n */\nfunction isValidHeadingLevel(level: number): boolean {\n\treturn level >= MIN_HEADING_LEVEL && level <= MAX_HEADING_LEVEL;\n}\n\n/**\n * Returns the appropriate headline tag based on the level.\n * If the level is invalid, returns 'strong'.\n * @param level - The heading level.\n * @returns The corresponding headline tag.\n */\nexport function getHeadlineTag(level: HeadingLevel | number): HeadlineTag {\n\treturn isValidHeadingLevel(level) ? (`h${level}` as HeadlineTag) : 'strong';\n}\n\n/**\n * Functional component for rendering a headline.\n * @param props - The properties for the headline component.\n * @param children - The children to render inside the headline.\n * @returns A VNode representing the headline.\n */\nconst KolHeadlineFc: FC<HeadlineProps> = ({ class: classNames, level = MIN_HEADING_LEVEL, ...other }, children) => {\n\tconst HeadlineTag = getHeadlineTag(level);\n\n\treturn (\n\t\t<HeadlineTag class={clsx('kol-headline', `kol-headline--${HeadlineTag}`, classNames)} {...other}>\n\t\t\t{children}\n\t\t</HeadlineTag>\n\t);\n};\n\n/**\n * Functional component for rendering a secondary headline.\n * @param props - The properties for the secondary headline component.\n * @param children - The children to render inside the secondary headline.\n * @returns A VNode representing the secondary headline.\n */\nconst KolSecondaryHeadlineFc: FC<SecondaryHeadlineProps> = ({ class: classNames, ...other }, children) => {\n\treturn (\n\t\t<p class={clsx('kol-headline kol-headline--group kol-headline--secondary', classNames)} {...other}>\n\t\t\t{children}\n\t\t</p>\n\t);\n};\n\n/**\n * Functional component for rendering a heading with an optional secondary headline.\n * @param props - The properties for the heading component.\n * @param children - The children to render inside the heading.\n * @returns A VNode representing the heading.\n */\nconst KolHeadingFc: FC<HeadingProps> = (\n\t{ secondaryHeadline, level = MIN_HEADING_LEVEL, class: classNames, HeadingGroupProps = {}, SecondaryHeadlineProps = {}, ...other },\n\tchildren,\n) => {\n\tconst headlineProps: HeadlineProps = {\n\t\tlevel,\n\t\t...other,\n\t};\n\n\tif (!secondaryHeadline) {\n\t\treturn (\n\t\t\t<KolHeadlineFc class={clsx(classNames, 'kol-headline--single')} {...headlineProps}>\n\t\t\t\t{children}\n\t\t\t</KolHeadlineFc>\n\t\t);\n\t}\n\n\tconst { class: groupClassNames, ...groupOthers } = HeadingGroupProps;\n\tconst headlineGroupProps: HGroupProps = {\n\t\tclass: clsx('kol-heading-group', groupClassNames),\n\t\t...groupOthers,\n\t};\n\n\treturn (\n\t\t<hgroup {...headlineGroupProps}>\n\t\t\t<KolHeadlineFc class={clsx(classNames, 'kol-headline--group', 'kol-headline--primary')} {...headlineProps}>\n\t\t\t\t{children}\n\t\t\t</KolHeadlineFc>\n\t\t\t<KolSecondaryHeadlineFc {...SecondaryHeadlineProps}>{secondaryHeadline}</KolSecondaryHeadlineFc>\n\t\t</hgroup>\n\t);\n};\n\nexport default KolHeadingFc;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h}from"./index-d47f6be5.js";import{e as KolIconTag}from"./component-names-0657b355.js";const KolIconFc=o=>{const{class:c,style:n,icons:s,label:l,onClick:e}=o;return h(KolIconTag,{class:c,style:n,onClick:e,_icons:s,_label:l})};export{KolIconFc as K};
4
+ import{h}from"./index-b4e1ceff.js";import{e as KolIconTag}from"./component-names-0657b355.js";const KolIconFc=o=>{const{class:c,style:n,icons:s,label:l,onClick:e}=o;return h(KolIconTag,{class:c,style:n,onClick:e,_icons:s,_label:l})};export{KolIconFc as K};
@@ -1 +1 @@
1
- {"file":"Icon-d694fbfe.js","mappings":";;;;;;MAUM,SAAS,GAAkB,CAAC,KAAK;IACtC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAElE,OAAO,EAAC,UAAU,IAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAI,CAAC;AACxG;;;;","names":[],"sources":["src/functional-components/Icon/Icon.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport { KolIconTag } from '../../core/component-names';\nimport type { InternalIconProps } from '../../schema';\n\nexport type IconProps = InternalIconProps & {\n\tclass?: string;\n\tstyle?: { [key: string]: string };\n\tonClick?: (event: MouseEvent) => void;\n};\n\nconst KolIconFc: FC<IconProps> = (props) => {\n\tconst { class: classNames, style, icons, label, onClick } = props;\n\n\treturn <KolIconTag class={classNames} style={style} onClick={onClick} _icons={icons} _label={label} />;\n};\n\nexport default KolIconFc;\n"],"version":3}
1
+ {"file":"Icon-64aecdb3.js","mappings":";;;;;;MAUM,SAAS,GAAkB,CAAC,KAAK;IACtC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAElE,OAAO,EAAC,UAAU,IAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAI,CAAC;AACxG;;;;","names":[],"sources":["src/functional-components/Icon/Icon.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport { KolIconTag } from '../../core/component-names';\nimport type { InternalIconProps } from '../../schema';\n\nexport type IconProps = InternalIconProps & {\n\tclass?: string;\n\tstyle?: { [key: string]: string };\n\tonClick?: (event: MouseEvent) => void;\n};\n\nconst KolIconFc: FC<IconProps> = (props) => {\n\tconst { class: classNames, style, icons, label, onClick } = props;\n\n\treturn <KolIconTag class={classNames} style={style} onClick={onClick} _icons={icons} _label={label} />;\n};\n\nexport default KolIconFc;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{_ as __rest}from"./tslib.es6-1173d062.js";import{h,F as Fragment}from"./index-d47f6be5.js";import{c as clsx}from"./clsx-09a06a12.js";import"./index-ebe5a881.js";import{e as getDefaultProps,c as checkHasMsg}from"./getRenderStates-6c8f7e98.js";const InputFc=e=>{const{class:s,msg:a,required:l,disabled:t,touched:i,readonly:o,ariaDescribedBy:r,hideLabel:d,label:n,suggestions:c,value:u}=e,b=__rest(e,["class","msg","required","disabled","touched","readonly","ariaDescribedBy","hideLabel","label","suggestions","value"]),p=checkHasMsg(a,i),g={"kol-input--disabled":Boolean(t),"kol-input--required":Boolean(l),"kol-input--touched":Boolean(i),"kol-input--readonly":Boolean(o),[`kol-input--${(null==a?void 0:a.type)||"error"}`]:p},m=Object.assign(Object.assign({class:clsx("kol-input",g,s),required:l,disabled:t,readonly:o,type:"text",list:c?`${b.id}-list`:void 0},getDefaultProps({ariaDescribedBy:r,hideLabel:d,label:n})),b);return h(Fragment,null,h("input",Object.assign({},m,{value:u})),c)};export{InputFc as I};
4
+ import{_ as __rest}from"./tslib.es6-1173d062.js";import{h,F as Fragment}from"./index-b4e1ceff.js";import{c as clsx}from"./clsx-09a06a12.js";import"./index-ebe5a881.js";import{e as getDefaultProps,c as checkHasMsg}from"./getRenderStates-d0c0ae47.js";const InputFc=e=>{const{class:s,msg:a,required:l,disabled:t,touched:i,readonly:o,ariaDescribedBy:r,hideLabel:d,label:n,suggestions:c,value:u}=e,b=__rest(e,["class","msg","required","disabled","touched","readonly","ariaDescribedBy","hideLabel","label","suggestions","value"]),p=checkHasMsg(a,i),g={"kol-input--disabled":Boolean(t),"kol-input--required":Boolean(l),"kol-input--touched":Boolean(i),"kol-input--readonly":Boolean(o),[`kol-input--${(null==a?void 0:a.type)||"error"}`]:p},m=Object.assign(Object.assign({class:clsx("kol-input",g,s),required:l,disabled:t,readonly:o,type:"text",list:c?`${b.id}-list`:void 0},getDefaultProps({ariaDescribedBy:r,hideLabel:d,label:n})),b);return h(Fragment,null,h("input",Object.assign({},m,{value:u})),c)};export{InputFc as I};
@@ -1 +1 @@
1
- {"file":"Input-529b3f6c.js","mappings":";;;;;;;;;MAkBM,OAAO,GAAmB,CAAC,KAAK;IACrC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAA1I,gIAAkI,CAAQ,CAAC;IAEjJ,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,eAAe,GAAG;QACvB,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;QACxC,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,CAAC,cAAc,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,OAAO,EAAE,GAAG,OAAO;KAC/C,CAAC;IAEF,MAAM,UAAU,iCACf,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,EACrD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,GAAG,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,IAC/C,eAAe,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GACtD,KAAK,CACR,CAAC;IAEF,QACC;QACC,6BAAW,UAAU,IAAE,KAAK,EAAE,KAAK,IAAI;QACtC,WAAW,CACV,EACF;AACH;;;;","names":[],"sources":["src/functional-components/inputs/Input/Input.tsx"],"sourcesContent":["import { h, Fragment, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { checkHasMsg, type InternMsgPropType } from '../../../schema';\nimport { getDefaultProps } from '../_helpers/getDefaultProps';\nimport type { DefaultInputProps } from '../_types';\n\nexport type InputProps = DefaultInputProps<JSXBase.InputHTMLAttributes<HTMLInputElement>> & {\n\tvalue?: string | number | string[];\n\ttouched?: boolean;\n\tsuggestions?: VNode;\n\tspellcheck?: boolean;\n\tmsg?: InternMsgPropType;\n} & {\n\t[key: `data-${string}`]: unknown;\n\t[key: `aria-${string}`]: unknown;\n};\n\nconst InputFc: FC<InputProps> = (props) => {\n\tconst { class: classNames, msg, required, disabled, touched, readonly, ariaDescribedBy, hideLabel, label, suggestions, value, ...other } = props;\n\n\tconst showMsg = checkHasMsg(msg, touched);\n\n\tconst stateCssClasses = {\n\t\t['kol-input--disabled']: Boolean(disabled),\n\t\t['kol-input--required']: Boolean(required),\n\t\t['kol-input--touched']: Boolean(touched),\n\t\t['kol-input--readonly']: Boolean(readonly),\n\t\t[`kol-input--${msg?.type || 'error'}`]: showMsg,\n\t};\n\n\tconst inputProps: JSXBase.InputHTMLAttributes<HTMLInputElement> = {\n\t\tclass: clsx('kol-input', stateCssClasses, classNames),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\treadonly: readonly,\n\t\ttype: 'text',\n\t\tlist: suggestions ? `${other.id}-list` : undefined,\n\t\t...getDefaultProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...other,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<input {...inputProps} value={value} />\n\t\t\t{suggestions}\n\t\t</>\n\t);\n};\n\nexport default InputFc;\n"],"version":3}
1
+ {"file":"Input-8709f66f.js","mappings":";;;;;;;;;MAkBM,OAAO,GAAmB,CAAC,KAAK;IACrC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,KAAe,KAAK,EAAf,KAAK,UAAK,KAAK,EAA1I,gIAAkI,CAAQ,CAAC;IAEjJ,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,eAAe,GAAG;QACvB,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;QACxC,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,CAAC,cAAc,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,OAAO,EAAE,GAAG,OAAO;KAC/C,CAAC;IAEF,MAAM,UAAU,iCACf,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,EACrD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,GAAG,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,IAC/C,eAAe,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GACtD,KAAK,CACR,CAAC;IAEF,QACC;QACC,6BAAW,UAAU,IAAE,KAAK,EAAE,KAAK,IAAI;QACtC,WAAW,CACV,EACF;AACH;;;;","names":[],"sources":["src/functional-components/inputs/Input/Input.tsx"],"sourcesContent":["import { h, Fragment, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { checkHasMsg, type InternMsgPropType } from '../../../schema';\nimport { getDefaultProps } from '../_helpers/getDefaultProps';\nimport type { DefaultInputProps } from '../_types';\n\nexport type InputProps = DefaultInputProps<JSXBase.InputHTMLAttributes<HTMLInputElement>> & {\n\tvalue?: string | number | string[];\n\ttouched?: boolean;\n\tsuggestions?: VNode;\n\tspellcheck?: boolean;\n\tmsg?: InternMsgPropType;\n} & {\n\t[key: `data-${string}`]: unknown;\n\t[key: `aria-${string}`]: unknown;\n};\n\nconst InputFc: FC<InputProps> = (props) => {\n\tconst { class: classNames, msg, required, disabled, touched, readonly, ariaDescribedBy, hideLabel, label, suggestions, value, ...other } = props;\n\n\tconst showMsg = checkHasMsg(msg, touched);\n\n\tconst stateCssClasses = {\n\t\t['kol-input--disabled']: Boolean(disabled),\n\t\t['kol-input--required']: Boolean(required),\n\t\t['kol-input--touched']: Boolean(touched),\n\t\t['kol-input--readonly']: Boolean(readonly),\n\t\t[`kol-input--${msg?.type || 'error'}`]: showMsg,\n\t};\n\n\tconst inputProps: JSXBase.InputHTMLAttributes<HTMLInputElement> = {\n\t\tclass: clsx('kol-input', stateCssClasses, classNames),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\treadonly: readonly,\n\t\ttype: 'text',\n\t\tlist: suggestions ? `${other.id}-list` : undefined,\n\t\t...getDefaultProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...other,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<input {...inputProps} value={value} />\n\t\t\t{suggestions}\n\t\t</>\n\t);\n};\n\nexport default InputFc;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{_ as __rest}from"./tslib.es6-1173d062.js";import{h}from"./index-d47f6be5.js";import{I as InputFc}from"./Input-529b3f6c.js";import"./index-ebe5a881.js";import{g as getRenderStates,a as convertMsgToInternMsg}from"./getRenderStates-6c8f7e98.js";const SuggestionsFc=e=>{var{id:t,suggestions:s}=e,n=__rest(e,["id","suggestions"]);return s?h("datalist",Object.assign({id:`${t}-list`},n),s.map((e=>h("option",{value:e})))):null};function getInputProps(e,t){const{ariaDescribedBy:s}=getRenderStates(e),n={id:e._id,hideLabel:e._hideLabel,label:e._label,disabled:e._disabled,name:e._name,ariaDescribedBy:s};if("_accessKey"in e&&(n.accessKey=e._accessKey),"_type"in e&&(n.type=e._type),"_value"in e&&(n.value=e._value),"_required"in e&&(n.required=e._required),"_maxLength"in e&&(n.maxlength=e._maxLength),"_placeholder"in e&&(n.placeholder=e._placeholder),"_autoComplete"in e&&(n.autoComplete=e._autoComplete),"_spellCheck"in e&&(n.spellcheck=e._spellCheck),"_pattern"in e&&(n.pattern=e._pattern),"_readOnly"in e&&(n.readonly=e._readOnly),"_min"in e&&(n.min=e._min),"_max"in e&&(n.max=e._max),"_step"in e&&(n.step=e._step),"_multiple"in e&&(n.multiple=e._multiple),"_checked"in e&&(n.checked=e._checked),"_indeterminate"in e&&(n.indeterminate=e._indeterminate),"_touched"in e&&(n.touched=e._touched),"_msg"in e&&(n.msg=convertMsgToInternMsg(e._msg)),"_suggestions"in e&&!t){Array.isArray(e._suggestions)&&e._suggestions.length>0&&(n.suggestions=h(SuggestionsFc,{id:e._id,suggestions:e._suggestions}))}return n}const InputStateWrapper=e=>{var{state:t,customSuggestions:s}=e,n=__rest(e,["state","customSuggestions"]);return h(InputFc,Object.assign({},getInputProps(t,s),n))};export{InputStateWrapper as I,SuggestionsFc as S};
4
+ import{_ as __rest}from"./tslib.es6-1173d062.js";import{h}from"./index-b4e1ceff.js";import{I as InputFc}from"./Input-8709f66f.js";import"./index-ebe5a881.js";import{g as getRenderStates,a as convertMsgToInternMsg}from"./getRenderStates-d0c0ae47.js";const SuggestionsFc=e=>{var{id:t,suggestions:s}=e,n=__rest(e,["id","suggestions"]);return s?h("datalist",Object.assign({id:`${t}-list`},n),s.map((e=>h("option",{value:e})))):null};function getInputProps(e,t){const{ariaDescribedBy:s}=getRenderStates(e),n={id:e._id,hideLabel:e._hideLabel,label:e._label,disabled:e._disabled,name:e._name,ariaDescribedBy:s};if("_accessKey"in e&&(n.accessKey=e._accessKey),"_type"in e&&(n.type=e._type),"_value"in e&&(n.value=e._value),"_required"in e&&(n.required=e._required),"_maxLength"in e&&(n.maxlength=e._maxLength),"_placeholder"in e&&(n.placeholder=e._placeholder),"_autoComplete"in e&&(n.autoComplete=e._autoComplete),"_spellCheck"in e&&(n.spellcheck=e._spellCheck),"_pattern"in e&&(n.pattern=e._pattern),"_readOnly"in e&&(n.readonly=e._readOnly),"_min"in e&&(n.min=e._min),"_max"in e&&(n.max=e._max),"_step"in e&&(n.step=e._step),"_multiple"in e&&(n.multiple=e._multiple),"_checked"in e&&(n.checked=e._checked),"_indeterminate"in e&&(n.indeterminate=e._indeterminate),"_touched"in e&&(n.touched=e._touched),"_msg"in e&&(n.msg=convertMsgToInternMsg(e._msg)),"_suggestions"in e&&!t){Array.isArray(e._suggestions)&&e._suggestions.length>0&&(n.suggestions=h(SuggestionsFc,{id:e._id,suggestions:e._suggestions}))}return n}const InputStateWrapper=e=>{var{state:t,customSuggestions:s}=e,n=__rest(e,["state","customSuggestions"]);return h(InputFc,Object.assign({},getInputProps(t,s),n))};export{InputStateWrapper as I,SuggestionsFc as S};
@@ -1 +1 @@
1
- {"file":"InputStateWrapper-16c56aee.js","mappings":"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","names":["KolInputFc"],"sources":["src/functional-components/Suggestions/Suggestions.tsx","src/functional-component-wrappers/InputStateWrapper/InputStateWrapper.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../schema';\n\nexport type SuggestionsProps = JSXBase.HTMLAttributes<HTMLDataListElement> & {\n\tid: string;\n\tsuggestions: W3CInputValue[];\n};\n\nconst SuggestionsFc: FC<SuggestionsProps> = ({ id, suggestions, ...other }) => {\n\tif (!suggestions) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<datalist id={`${id}-list`} {...other}>\n\t\t\t{suggestions.map((option: W3CInputValue) => (\n\t\t\t\t<option value={option} />\n\t\t\t))}\n\t\t</datalist>\n\t);\n};\nexport default SuggestionsFc;\n","import type { VNode } from '@stencil/core';\nimport { h, type FunctionalComponent as FC } from '@stencil/core';\nimport KolInputFc, { type InputProps } from '../../functional-components/inputs/Input';\n\nimport {\n\ttype InputColorStates,\n\ttype InputEmailStates,\n\ttype InputFileStates,\n\ttype InputNumberStates,\n\ttype InputPasswordStates,\n\ttype InputRangeStates,\n\ttype InputTextStates,\n\ttype InputCheckboxStates,\n\ttype InputRadioStates,\n\tconvertMsgToInternMsg,\n} from '../../schema';\nimport { getRenderStates } from '../_helpers/getRenderStates';\nimport SuggestionsFc from '../../functional-components/Suggestions';\n\ntype InputState =\n\t| InputTextStates\n\t| InputEmailStates\n\t| InputPasswordStates\n\t| InputNumberStates\n\t| InputColorStates\n\t| InputFileStates\n\t| InputRangeStates\n\t| InputCheckboxStates\n\t| InputRadioStates;\n\nexport type InputStateWrapperProps = Partial<InputProps> & {\n\tstate: InputState;\n\tcustomSuggestions?: boolean;\n};\n\n/**\n * @param state\n * @param customSuggestions - Set to true when a custom implementation for _suggestions is provided. Omits the native datalist.\n */\nfunction getInputProps(state: InputState, customSuggestions?: boolean): InputProps {\n\tconst { ariaDescribedBy } = getRenderStates(state);\n\n\tconst props: InputProps = {\n\t\tid: state._id,\n\t\thideLabel: state._hideLabel,\n\t\tlabel: state._label,\n\t\tdisabled: state._disabled,\n\t\tname: state._name,\n\n\t\tariaDescribedBy: ariaDescribedBy,\n\t};\n\n\tif ('_accessKey' in state) props.accessKey = state._accessKey;\n\tif ('_type' in state) props.type = state._type;\n\tif ('_value' in state) props.value = state._value as string | number | string[];\n\tif ('_required' in state) props.required = state._required;\n\tif ('_maxLength' in state) props.maxlength = state._maxLength;\n\tif ('_placeholder' in state) props.placeholder = state._placeholder;\n\tif ('_autoComplete' in state) props.autoComplete = state._autoComplete;\n\tif ('_spellCheck' in state) props.spellcheck = state._spellCheck;\n\tif ('_pattern' in state) props.pattern = state._pattern;\n\tif ('_readOnly' in state) props.readonly = state._readOnly;\n\tif ('_min' in state) props.min = state._min;\n\tif ('_max' in state) props.max = state._max;\n\tif ('_step' in state) props.step = state._step;\n\tif ('_multiple' in state) props.multiple = state._multiple;\n\tif ('_checked' in state) props.checked = state._checked;\n\tif ('_indeterminate' in state) props.indeterminate = state._indeterminate;\n\tif ('_touched' in state) props.touched = state._touched;\n\tif ('_msg' in state) props.msg = convertMsgToInternMsg(state._msg);\n\n\tif ('_suggestions' in state && !customSuggestions) {\n\t\tconst hasSuggestions = Array.isArray(state._suggestions) && state._suggestions.length > 0;\n\t\tif (hasSuggestions) {\n\t\t\tprops.suggestions = (<SuggestionsFc id={state._id} suggestions={state._suggestions} />) as VNode;\n\t\t}\n\t}\n\n\treturn props;\n}\n\nconst InputStateWrapper: FC<InputStateWrapperProps> = ({ state, customSuggestions, ...other }) => {\n\treturn <KolInputFc {...getInputProps(state, customSuggestions)} {...other} />;\n};\n\nexport default InputStateWrapper;\n"],"version":3}
1
+ {"file":"InputStateWrapper-1008cf94.js","mappings":"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","names":["KolInputFc"],"sources":["src/functional-components/Suggestions/Suggestions.tsx","src/functional-component-wrappers/InputStateWrapper/InputStateWrapper.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../schema';\n\nexport type SuggestionsProps = JSXBase.HTMLAttributes<HTMLDataListElement> & {\n\tid: string;\n\tsuggestions: W3CInputValue[];\n};\n\nconst SuggestionsFc: FC<SuggestionsProps> = ({ id, suggestions, ...other }) => {\n\tif (!suggestions) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<datalist id={`${id}-list`} {...other}>\n\t\t\t{suggestions.map((option: W3CInputValue) => (\n\t\t\t\t<option value={option} />\n\t\t\t))}\n\t\t</datalist>\n\t);\n};\nexport default SuggestionsFc;\n","import type { VNode } from '@stencil/core';\nimport { h, type FunctionalComponent as FC } from '@stencil/core';\nimport KolInputFc, { type InputProps } from '../../functional-components/inputs/Input';\n\nimport {\n\ttype InputColorStates,\n\ttype InputEmailStates,\n\ttype InputFileStates,\n\ttype InputNumberStates,\n\ttype InputPasswordStates,\n\ttype InputRangeStates,\n\ttype InputTextStates,\n\ttype InputCheckboxStates,\n\ttype InputRadioStates,\n\tconvertMsgToInternMsg,\n} from '../../schema';\nimport { getRenderStates } from '../_helpers/getRenderStates';\nimport SuggestionsFc from '../../functional-components/Suggestions';\n\ntype InputState =\n\t| InputTextStates\n\t| InputEmailStates\n\t| InputPasswordStates\n\t| InputNumberStates\n\t| InputColorStates\n\t| InputFileStates\n\t| InputRangeStates\n\t| InputCheckboxStates\n\t| InputRadioStates;\n\nexport type InputStateWrapperProps = Partial<InputProps> & {\n\tstate: InputState;\n\tcustomSuggestions?: boolean;\n};\n\n/**\n * @param state\n * @param customSuggestions - Set to true when a custom implementation for _suggestions is provided. Omits the native datalist.\n */\nfunction getInputProps(state: InputState, customSuggestions?: boolean): InputProps {\n\tconst { ariaDescribedBy } = getRenderStates(state);\n\n\tconst props: InputProps = {\n\t\tid: state._id,\n\t\thideLabel: state._hideLabel,\n\t\tlabel: state._label,\n\t\tdisabled: state._disabled,\n\t\tname: state._name,\n\n\t\tariaDescribedBy: ariaDescribedBy,\n\t};\n\n\tif ('_accessKey' in state) props.accessKey = state._accessKey;\n\tif ('_type' in state) props.type = state._type;\n\tif ('_value' in state) props.value = state._value as string | number | string[];\n\tif ('_required' in state) props.required = state._required;\n\tif ('_maxLength' in state) props.maxlength = state._maxLength;\n\tif ('_placeholder' in state) props.placeholder = state._placeholder;\n\tif ('_autoComplete' in state) props.autoComplete = state._autoComplete;\n\tif ('_spellCheck' in state) props.spellcheck = state._spellCheck;\n\tif ('_pattern' in state) props.pattern = state._pattern;\n\tif ('_readOnly' in state) props.readonly = state._readOnly;\n\tif ('_min' in state) props.min = state._min;\n\tif ('_max' in state) props.max = state._max;\n\tif ('_step' in state) props.step = state._step;\n\tif ('_multiple' in state) props.multiple = state._multiple;\n\tif ('_checked' in state) props.checked = state._checked;\n\tif ('_indeterminate' in state) props.indeterminate = state._indeterminate;\n\tif ('_touched' in state) props.touched = state._touched;\n\tif ('_msg' in state) props.msg = convertMsgToInternMsg(state._msg);\n\n\tif ('_suggestions' in state && !customSuggestions) {\n\t\tconst hasSuggestions = Array.isArray(state._suggestions) && state._suggestions.length > 0;\n\t\tif (hasSuggestions) {\n\t\t\tprops.suggestions = (<SuggestionsFc id={state._id} suggestions={state._suggestions} />) as VNode;\n\t\t}\n\t}\n\n\treturn props;\n}\n\nconst InputStateWrapper: FC<InputStateWrapperProps> = ({ state, customSuggestions, ...other }) => {\n\treturn <KolInputFc {...getInputProps(state, customSuggestions)} {...other} />;\n};\n\nexport default InputStateWrapper;\n"],"version":3}