@public-ui/components 3.0.1 → 3.0.2-6ae0104cda0b7b19a5b0d6bbc5f990b9fe544fa0.0

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 (479) hide show
  1. package/README.md +58 -8
  2. package/custom-elements.json +72 -1
  3. package/dist/cjs/Alert-5ca7c116.js +4 -0
  4. package/dist/cjs/Alert-5ca7c116.js.map +1 -0
  5. package/dist/cjs/{Collapsible-5aa541cb.js → Collapsible-2225015b.js} +1 -1
  6. package/dist/cjs/{Collapsible-5aa541cb.js.map → Collapsible-2225015b.js.map} +1 -1
  7. package/dist/cjs/{CustomSuggestionsOptionsGroup-421dca3c.js → CustomSuggestionsOptionsGroup-fd532c80.js} +1 -1
  8. package/dist/cjs/{CustomSuggestionsOptionsGroup-421dca3c.js.map → CustomSuggestionsOptionsGroup-fd532c80.js.map} +1 -1
  9. package/dist/cjs/{FieldControlStateWrapper-18976ee0.js → FieldControlStateWrapper-736434ca.js} +1 -1
  10. package/dist/cjs/{FieldControlStateWrapper-18976ee0.js.map → FieldControlStateWrapper-736434ca.js.map} +1 -1
  11. package/dist/cjs/{Heading-90ce384c.js → Heading-6bf1ffac.js} +1 -1
  12. package/dist/cjs/{Heading-90ce384c.js.map → Heading-6bf1ffac.js.map} +1 -1
  13. package/dist/cjs/Icon-0537cd28.js +4 -0
  14. package/dist/cjs/{Icon-add098ba.js.map → Icon-0537cd28.js.map} +1 -1
  15. package/dist/cjs/{Input-4af8f547.js → Input-b7b2e83b.js} +1 -1
  16. package/dist/cjs/{Input-4af8f547.js.map → Input-b7b2e83b.js.map} +1 -1
  17. package/dist/cjs/{InputStateWrapper-587d58dd.js → InputStateWrapper-5c622a6d.js} +1 -1
  18. package/dist/cjs/{InputStateWrapper-587d58dd.js.map → InputStateWrapper-5c622a6d.js.map} +1 -1
  19. package/dist/cjs/{InternalUnderlinedBadgeText-63e8b102.js → InternalUnderlinedBadgeText-a54799ae.js} +1 -1
  20. package/dist/cjs/{InternalUnderlinedBadgeText-63e8b102.js.map → InternalUnderlinedBadgeText-a54799ae.js.map} +1 -1
  21. package/dist/cjs/{Span-cd26b541.js → Span-c9f5cc1a.js} +1 -1
  22. package/dist/cjs/{Span-cd26b541.js.map → Span-c9f5cc1a.js.map} +1 -1
  23. package/dist/cjs/{app-globals-81f95eac.js → app-globals-171737a2.js} +1 -1
  24. package/dist/cjs/{app-globals-81f95eac.js.map → app-globals-171737a2.js.map} +1 -1
  25. package/dist/cjs/{associated.controller-03ae298d.js → associated.controller-103272e2.js} +1 -1
  26. package/dist/cjs/{associated.controller-03ae298d.js.map → associated.controller-103272e2.js.map} +1 -1
  27. package/dist/cjs/{bootstrap-e11bb4f7.js → bootstrap-a35cdb5f.js} +1 -1
  28. package/dist/cjs/{bootstrap-e11bb4f7.js.map → bootstrap-a35cdb5f.js.map} +1 -1
  29. package/dist/cjs/component-names-f5f2ca3a.js +4 -0
  30. package/dist/cjs/component-names-f5f2ca3a.js.map +1 -0
  31. package/dist/cjs/{controller-ead08764.js → controller-1ead3829.js} +1 -1
  32. package/dist/cjs/{controller-ead08764.js.map → controller-1ead3829.js.map} +1 -1
  33. package/dist/cjs/{controller-61f2f5b4.js → controller-57e0e326.js} +1 -1
  34. package/dist/cjs/{controller-61f2f5b4.js.map → controller-57e0e326.js.map} +1 -1
  35. package/dist/cjs/{controller-cb68b652.js → controller-b85b16a2.js} +1 -1
  36. package/dist/cjs/{controller-cb68b652.js.map → controller-b85b16a2.js.map} +1 -1
  37. package/dist/cjs/{controller-b2da8abe.js → controller-c6c3ab7a.js} +1 -1
  38. package/dist/cjs/{controller-b2da8abe.js.map → controller-c6c3ab7a.js.map} +1 -1
  39. package/dist/cjs/{controller-icon-429a5f31.js → controller-icon-cbcacd17.js} +1 -1
  40. package/dist/cjs/{controller-icon-429a5f31.js.map → controller-icon-cbcacd17.js.map} +1 -1
  41. package/dist/cjs/{dev.utils-6759aaf5.js → dev.utils-bfd07ca6.js} +1 -1
  42. package/dist/cjs/{dev.utils-6759aaf5.js.map → dev.utils-bfd07ca6.js.map} +1 -1
  43. package/dist/cjs/{devtools-3485dda6.js → devtools-c3023af8.js} +1 -1
  44. package/dist/cjs/{devtools-3485dda6.js.map → devtools-c3023af8.js.map} +1 -1
  45. package/dist/cjs/{getRenderStates-8372d842.js → getRenderStates-f985f2e4.js} +1 -1
  46. package/dist/cjs/{getRenderStates-8372d842.js.map → getRenderStates-f985f2e4.js.map} +1 -1
  47. package/dist/cjs/index-ae732dfd.js +4 -0
  48. package/dist/cjs/index-ae732dfd.js.map +1 -0
  49. package/dist/cjs/index.cjs.js +1 -1
  50. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-alert-wc.cjs.entry.js.map +1 -1
  54. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-button-wc.cjs.entry.js.map +1 -1
  62. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-card-wc.cjs.entry.js +4 -0
  64. package/dist/cjs/kol-card-wc.cjs.entry.js.map +1 -0
  65. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-drawer.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-popover-button-wc.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-popover-button-wc.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-popover-button.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  106. package/dist/cjs/kol-table-settings-wc.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-tooltip-wc.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
  118. package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  120. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  121. package/dist/cjs/kolibri.cjs.js +1 -1
  122. package/dist/cjs/loader.cjs.js +1 -1
  123. package/dist/cjs/test-component.cjs.entry.js +1 -1
  124. package/dist/components/Alert.js +1 -1
  125. package/dist/components/Alert.js.map +1 -1
  126. package/dist/components/component-names.js +1 -1
  127. package/dist/components/component-names.js.map +1 -1
  128. package/dist/components/kol-alert-wc.js +1 -1
  129. package/dist/components/kol-alert-wc.js.map +1 -1
  130. package/dist/components/kol-button-wc.js +1 -1
  131. package/dist/components/kol-button-wc.js.map +1 -1
  132. package/dist/components/kol-card-wc.d.ts +11 -0
  133. package/dist/components/kol-card-wc.js +4 -0
  134. package/dist/components/kol-card-wc.js.map +1 -0
  135. package/dist/components/kol-card.js +1 -1
  136. package/dist/components/kol-card.js.map +1 -1
  137. package/dist/components/kol-combobox.js +1 -1
  138. package/dist/components/kol-details.js +1 -1
  139. package/dist/components/kol-drawer.js +1 -1
  140. package/dist/components/kol-drawer.js.map +1 -1
  141. package/dist/components/kol-form.js +1 -1
  142. package/dist/components/kol-heading.js +1 -1
  143. package/dist/components/kol-icon.js +1 -1
  144. package/dist/components/kol-icon.js.map +1 -1
  145. package/dist/components/kol-image.js +1 -1
  146. package/dist/components/kol-image.js.map +1 -1
  147. package/dist/components/kol-input-checkbox.js +1 -1
  148. package/dist/components/kol-input-color.js +1 -1
  149. package/dist/components/kol-input-date.js +1 -1
  150. package/dist/components/kol-input-email.js +1 -1
  151. package/dist/components/kol-input-file.js +1 -1
  152. package/dist/components/kol-input-number.js +1 -1
  153. package/dist/components/kol-input-password.js +1 -1
  154. package/dist/components/kol-input-radio.js +1 -1
  155. package/dist/components/kol-input-range.js +1 -1
  156. package/dist/components/kol-input-text.js +1 -1
  157. package/dist/components/kol-kolibri.js +1 -1
  158. package/dist/components/kol-link-button.js +1 -1
  159. package/dist/components/kol-link-wc.js +1 -1
  160. package/dist/components/kol-link.js +1 -1
  161. package/dist/components/kol-modal.js +1 -1
  162. package/dist/components/kol-nav.js +1 -1
  163. package/dist/components/kol-pagination.js +1 -1
  164. package/dist/components/kol-popover-button-wc.js +1 -1
  165. package/dist/components/kol-popover-button-wc.js.map +1 -1
  166. package/dist/components/kol-popover-button.js +1 -1
  167. package/dist/components/kol-popover-wc.js +1 -1
  168. package/dist/components/kol-progress.js +1 -1
  169. package/dist/components/kol-quote.js +1 -1
  170. package/dist/components/kol-select.js +1 -1
  171. package/dist/components/kol-single-select.js +1 -1
  172. package/dist/components/kol-skip-nav.js +1 -1
  173. package/dist/components/kol-spin.js +1 -1
  174. package/dist/components/kol-split-button.js +1 -1
  175. package/dist/components/kol-split-button.js.map +1 -1
  176. package/dist/components/kol-table-settings-wc.js +1 -1
  177. package/dist/components/kol-table-stateful.js +1 -1
  178. package/dist/components/kol-table-stateless-wc.js +1 -1
  179. package/dist/components/kol-table-stateless.js +1 -1
  180. package/dist/components/kol-tabs.js +1 -1
  181. package/dist/components/kol-textarea.js +1 -1
  182. package/dist/components/kol-toast-container.js +1 -1
  183. package/dist/components/kol-toolbar.js +1 -1
  184. package/dist/components/kol-tooltip-wc.js +1 -1
  185. package/dist/components/kol-tooltip-wc.js.map +1 -1
  186. package/dist/components/kol-tree-item-wc.js +1 -1
  187. package/dist/components/kol-tree-item.js +1 -1
  188. package/dist/components/kol-tree-wc.js +1 -1
  189. package/dist/components/kol-tree.js +1 -1
  190. package/dist/components/kol-version.js +1 -1
  191. package/dist/esm/Alert-c6ac1427.js +4 -0
  192. package/dist/esm/Alert-c6ac1427.js.map +1 -0
  193. package/dist/esm/{Collapsible-af548d40.js → Collapsible-7be44a00.js} +1 -1
  194. package/dist/esm/{Collapsible-af548d40.js.map → Collapsible-7be44a00.js.map} +1 -1
  195. package/dist/esm/CustomSuggestionsOptionsGroup-cdea277e.js +4 -0
  196. package/dist/esm/{CustomSuggestionsOptionsGroup-dcff90e4.js.map → CustomSuggestionsOptionsGroup-cdea277e.js.map} +1 -1
  197. package/dist/esm/{FieldControlStateWrapper-7dba1400.js → FieldControlStateWrapper-6c17f96e.js} +1 -1
  198. package/dist/esm/{FieldControlStateWrapper-7dba1400.js.map → FieldControlStateWrapper-6c17f96e.js.map} +1 -1
  199. package/dist/esm/{Heading-733c8dda.js → Heading-31a470a8.js} +1 -1
  200. package/dist/esm/{Heading-733c8dda.js.map → Heading-31a470a8.js.map} +1 -1
  201. package/dist/esm/Icon-e36657fc.js +4 -0
  202. package/dist/esm/{Icon-446dff9e.js.map → Icon-e36657fc.js.map} +1 -1
  203. package/dist/esm/{Input-8502a991.js → Input-b352cf7a.js} +1 -1
  204. package/dist/esm/{Input-8502a991.js.map → Input-b352cf7a.js.map} +1 -1
  205. package/dist/esm/{InputStateWrapper-9b8419a8.js → InputStateWrapper-38536b7a.js} +1 -1
  206. package/dist/esm/{InputStateWrapper-9b8419a8.js.map → InputStateWrapper-38536b7a.js.map} +1 -1
  207. package/dist/esm/{InternalUnderlinedBadgeText-781ef373.js → InternalUnderlinedBadgeText-b1330190.js} +1 -1
  208. package/dist/esm/{InternalUnderlinedBadgeText-781ef373.js.map → InternalUnderlinedBadgeText-b1330190.js.map} +1 -1
  209. package/dist/esm/{Span-d15a3ea1.js → Span-88b22574.js} +1 -1
  210. package/dist/esm/{Span-d15a3ea1.js.map → Span-88b22574.js.map} +1 -1
  211. package/dist/esm/{app-globals-081a982f.js → app-globals-f7121568.js} +1 -1
  212. package/dist/esm/{app-globals-081a982f.js.map → app-globals-f7121568.js.map} +1 -1
  213. package/dist/esm/{associated.controller-92af2554.js → associated.controller-22684481.js} +1 -1
  214. package/dist/esm/{associated.controller-92af2554.js.map → associated.controller-22684481.js.map} +1 -1
  215. package/dist/esm/{bootstrap-93c7a706.js → bootstrap-dcdb1765.js} +1 -1
  216. package/dist/esm/{bootstrap-93c7a706.js.map → bootstrap-dcdb1765.js.map} +1 -1
  217. package/dist/esm/component-names-553d8bfa.js +4 -0
  218. package/dist/esm/component-names-553d8bfa.js.map +1 -0
  219. package/dist/esm/{controller-f5a335ce.js → controller-7a002c8f.js} +1 -1
  220. package/dist/esm/{controller-f5a335ce.js.map → controller-7a002c8f.js.map} +1 -1
  221. package/dist/esm/{controller-ce246aad.js → controller-8b5dbe81.js} +1 -1
  222. package/dist/esm/{controller-ce246aad.js.map → controller-8b5dbe81.js.map} +1 -1
  223. package/dist/esm/{controller-912bda08.js → controller-ac40e13c.js} +1 -1
  224. package/dist/esm/{controller-912bda08.js.map → controller-ac40e13c.js.map} +1 -1
  225. package/dist/esm/{controller-91a4c3ba.js → controller-cf01f031.js} +1 -1
  226. package/dist/esm/{controller-91a4c3ba.js.map → controller-cf01f031.js.map} +1 -1
  227. package/dist/esm/{controller-icon-de12de48.js → controller-icon-0d71a8a2.js} +1 -1
  228. package/dist/esm/{controller-icon-de12de48.js.map → controller-icon-0d71a8a2.js.map} +1 -1
  229. package/dist/esm/{dev.utils-cb61837d.js → dev.utils-ffecab2f.js} +1 -1
  230. package/dist/esm/{dev.utils-cb61837d.js.map → dev.utils-ffecab2f.js.map} +1 -1
  231. package/dist/esm/{devtools-90d0e710.js → devtools-a4e8658c.js} +1 -1
  232. package/dist/esm/{devtools-90d0e710.js.map → devtools-a4e8658c.js.map} +1 -1
  233. package/dist/esm/{getRenderStates-c4b5c6cb.js → getRenderStates-c4bde254.js} +1 -1
  234. package/dist/esm/{getRenderStates-c4b5c6cb.js.map → getRenderStates-c4bde254.js.map} +1 -1
  235. package/dist/esm/index-02bdb302.js +4 -0
  236. package/dist/esm/index-02bdb302.js.map +1 -0
  237. package/dist/esm/index.js +1 -1
  238. package/dist/esm/kol-abbr.entry.js +1 -1
  239. package/dist/esm/kol-accordion.entry.js +1 -1
  240. package/dist/esm/kol-alert-wc.entry.js +1 -1
  241. package/dist/esm/kol-alert-wc.entry.js.map +1 -1
  242. package/dist/esm/kol-alert.entry.js +1 -1
  243. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  244. package/dist/esm/kol-avatar.entry.js +1 -1
  245. package/dist/esm/kol-badge.entry.js +1 -1
  246. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  247. package/dist/esm/kol-button-link.entry.js +1 -1
  248. package/dist/esm/kol-button-wc.entry.js +1 -1
  249. package/dist/esm/kol-button-wc.entry.js.map +1 -1
  250. package/dist/esm/kol-button.entry.js +1 -1
  251. package/dist/esm/kol-card-wc.entry.js +4 -0
  252. package/dist/esm/kol-card-wc.entry.js.map +1 -0
  253. package/dist/esm/kol-card.entry.js +1 -1
  254. package/dist/esm/kol-card.entry.js.map +1 -1
  255. package/dist/esm/kol-combobox.entry.js +1 -1
  256. package/dist/esm/kol-details.entry.js +1 -1
  257. package/dist/esm/kol-drawer.entry.js +1 -1
  258. package/dist/esm/kol-drawer.entry.js.map +1 -1
  259. package/dist/esm/kol-form.entry.js +1 -1
  260. package/dist/esm/kol-heading.entry.js +1 -1
  261. package/dist/esm/kol-icon.entry.js +1 -1
  262. package/dist/esm/kol-icon.entry.js.map +1 -1
  263. package/dist/esm/kol-image.entry.js +1 -1
  264. package/dist/esm/kol-image.entry.js.map +1 -1
  265. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  266. package/dist/esm/kol-input-color.entry.js +1 -1
  267. package/dist/esm/kol-input-date.entry.js +1 -1
  268. package/dist/esm/kol-input-email.entry.js +1 -1
  269. package/dist/esm/kol-input-file.entry.js +1 -1
  270. package/dist/esm/kol-input-number.entry.js +1 -1
  271. package/dist/esm/kol-input-password.entry.js +1 -1
  272. package/dist/esm/kol-input-radio.entry.js +1 -1
  273. package/dist/esm/kol-input-range.entry.js +1 -1
  274. package/dist/esm/kol-input-text.entry.js +1 -1
  275. package/dist/esm/kol-kolibri.entry.js +1 -1
  276. package/dist/esm/kol-link-button.entry.js +1 -1
  277. package/dist/esm/kol-link-wc.entry.js +1 -1
  278. package/dist/esm/kol-link.entry.js +1 -1
  279. package/dist/esm/kol-modal.entry.js +1 -1
  280. package/dist/esm/kol-nav.entry.js +1 -1
  281. package/dist/esm/kol-pagination.entry.js +1 -1
  282. package/dist/esm/kol-popover-button-wc.entry.js +1 -1
  283. package/dist/esm/kol-popover-button-wc.entry.js.map +1 -1
  284. package/dist/esm/kol-popover-button.entry.js +1 -1
  285. package/dist/esm/kol-popover-wc.entry.js +1 -1
  286. package/dist/esm/kol-progress.entry.js +1 -1
  287. package/dist/esm/kol-quote.entry.js +1 -1
  288. package/dist/esm/kol-select.entry.js +1 -1
  289. package/dist/esm/kol-single-select.entry.js +1 -1
  290. package/dist/esm/kol-skip-nav.entry.js +1 -1
  291. package/dist/esm/kol-spin.entry.js +1 -1
  292. package/dist/esm/kol-split-button.entry.js +1 -1
  293. package/dist/esm/kol-split-button.entry.js.map +1 -1
  294. package/dist/esm/kol-table-settings-wc.entry.js +1 -1
  295. package/dist/esm/kol-table-stateful.entry.js +1 -1
  296. package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
  297. package/dist/esm/kol-table-stateless.entry.js +1 -1
  298. package/dist/esm/kol-tabs.entry.js +1 -1
  299. package/dist/esm/kol-textarea.entry.js +1 -1
  300. package/dist/esm/kol-toast-container.entry.js +1 -1
  301. package/dist/esm/kol-toolbar.entry.js +1 -1
  302. package/dist/esm/kol-tooltip-wc.entry.js +1 -1
  303. package/dist/esm/kol-tooltip-wc.entry.js.map +1 -1
  304. package/dist/esm/kol-tree-item-wc.entry.js +1 -1
  305. package/dist/esm/kol-tree-item.entry.js +1 -1
  306. package/dist/esm/kol-tree-wc.entry.js +1 -1
  307. package/dist/esm/kol-tree.entry.js +1 -1
  308. package/dist/esm/kol-version.entry.js +1 -1
  309. package/dist/esm/kolibri.js +1 -1
  310. package/dist/esm/loader.js +1 -1
  311. package/dist/esm/test-component.entry.js +1 -1
  312. package/dist/kolibri/Alert-c6ac1427.js +4 -0
  313. package/dist/kolibri/Alert-c6ac1427.js.map +1 -0
  314. package/dist/kolibri/{Collapsible-af548d40.js → Collapsible-7be44a00.js} +1 -1
  315. package/dist/kolibri/{CustomSuggestionsOptionsGroup-dcff90e4.js → CustomSuggestionsOptionsGroup-cdea277e.js} +1 -1
  316. package/dist/kolibri/{FieldControlStateWrapper-7dba1400.js → FieldControlStateWrapper-6c17f96e.js} +1 -1
  317. package/dist/kolibri/{Heading-733c8dda.js → Heading-31a470a8.js} +1 -1
  318. package/dist/kolibri/Icon-e36657fc.js +4 -0
  319. package/dist/kolibri/{Input-8502a991.js → Input-b352cf7a.js} +1 -1
  320. package/dist/kolibri/{InputStateWrapper-9b8419a8.js → InputStateWrapper-38536b7a.js} +1 -1
  321. package/dist/kolibri/InternalUnderlinedBadgeText-b1330190.js +4 -0
  322. package/dist/kolibri/Span-88b22574.js +4 -0
  323. package/dist/kolibri/app-globals-f7121568.js +4 -0
  324. package/dist/kolibri/{app-globals-081a982f.js.map → app-globals-f7121568.js.map} +1 -1
  325. package/dist/kolibri/{associated.controller-92af2554.js → associated.controller-22684481.js} +1 -1
  326. package/dist/kolibri/{bootstrap-93c7a706.js → bootstrap-dcdb1765.js} +1 -1
  327. package/dist/kolibri/component-names-553d8bfa.js +4 -0
  328. package/dist/kolibri/component-names-553d8bfa.js.map +1 -0
  329. package/dist/kolibri/{controller-f5a335ce.js → controller-7a002c8f.js} +1 -1
  330. package/dist/kolibri/{controller-ce246aad.js → controller-8b5dbe81.js} +1 -1
  331. package/dist/kolibri/{controller-912bda08.js → controller-ac40e13c.js} +1 -1
  332. package/dist/kolibri/{controller-91a4c3ba.js → controller-cf01f031.js} +1 -1
  333. package/dist/kolibri/{controller-icon-de12de48.js → controller-icon-0d71a8a2.js} +1 -1
  334. package/dist/kolibri/{dev.utils-cb61837d.js → dev.utils-ffecab2f.js} +1 -1
  335. package/dist/kolibri/{devtools-90d0e710.js → devtools-a4e8658c.js} +1 -1
  336. package/dist/kolibri/{getRenderStates-c4b5c6cb.js → getRenderStates-c4bde254.js} +1 -1
  337. package/dist/kolibri/{index-1ed13705.js → index-02bdb302.js} +2 -2
  338. package/dist/kolibri/index-02bdb302.js.map +1 -0
  339. package/dist/kolibri/index.esm.js +1 -1
  340. package/dist/kolibri/kol-abbr.entry.js +1 -1
  341. package/dist/kolibri/kol-accordion.entry.js +1 -1
  342. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  343. package/dist/kolibri/kol-alert-wc.entry.js.map +1 -1
  344. package/dist/kolibri/kol-alert.entry.js +1 -1
  345. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  346. package/dist/kolibri/kol-avatar.entry.js +1 -1
  347. package/dist/kolibri/kol-badge.entry.js +1 -1
  348. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  349. package/dist/kolibri/kol-button-link.entry.js +1 -1
  350. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  351. package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
  352. package/dist/kolibri/kol-button.entry.js +1 -1
  353. package/dist/kolibri/kol-card-wc.entry.js +4 -0
  354. package/dist/kolibri/kol-card-wc.entry.js.map +1 -0
  355. package/dist/kolibri/kol-card.entry.js +1 -1
  356. package/dist/kolibri/kol-card.entry.js.map +1 -1
  357. package/dist/kolibri/kol-combobox.entry.js +1 -1
  358. package/dist/kolibri/kol-details.entry.js +1 -1
  359. package/dist/kolibri/kol-drawer.entry.js +1 -1
  360. package/dist/kolibri/kol-drawer.entry.js.map +1 -1
  361. package/dist/kolibri/kol-form.entry.js +1 -1
  362. package/dist/kolibri/kol-heading.entry.js +1 -1
  363. package/dist/kolibri/kol-icon.entry.js +1 -1
  364. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  365. package/dist/kolibri/kol-image.entry.js +1 -1
  366. package/dist/kolibri/kol-image.entry.js.map +1 -1
  367. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  368. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  369. package/dist/kolibri/kol-input-color.entry.js +1 -1
  370. package/dist/kolibri/kol-input-date.entry.js +1 -1
  371. package/dist/kolibri/kol-input-email.entry.js +1 -1
  372. package/dist/kolibri/kol-input-file.entry.js +1 -1
  373. package/dist/kolibri/kol-input-number.entry.js +1 -1
  374. package/dist/kolibri/kol-input-password.entry.js +1 -1
  375. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  376. package/dist/kolibri/kol-input-range.entry.js +1 -1
  377. package/dist/kolibri/kol-input-text.entry.js +1 -1
  378. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  379. package/dist/kolibri/kol-link-button.entry.js +1 -1
  380. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  381. package/dist/kolibri/kol-link.entry.js +1 -1
  382. package/dist/kolibri/kol-modal.entry.js +1 -1
  383. package/dist/kolibri/kol-nav.entry.js +1 -1
  384. package/dist/kolibri/kol-pagination.entry.js +1 -1
  385. package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
  386. package/dist/kolibri/kol-popover-button-wc.entry.js.map +1 -1
  387. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  388. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  389. package/dist/kolibri/kol-progress.entry.js +1 -1
  390. package/dist/kolibri/kol-quote.entry.js +1 -1
  391. package/dist/kolibri/kol-select.entry.js +1 -1
  392. package/dist/kolibri/kol-single-select.entry.js +1 -1
  393. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  394. package/dist/kolibri/kol-spin.entry.js +1 -1
  395. package/dist/kolibri/kol-split-button.entry.js +1 -1
  396. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  397. package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
  398. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  399. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  400. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  401. package/dist/kolibri/kol-tabs.entry.js +1 -1
  402. package/dist/kolibri/kol-textarea.entry.js +1 -1
  403. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  404. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  405. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  406. package/dist/kolibri/kol-tooltip-wc.entry.js.map +1 -1
  407. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  408. package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
  409. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  410. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  411. package/dist/kolibri/kol-tree.entry.js +1 -1
  412. package/dist/kolibri/kol-version.entry.js +1 -1
  413. package/dist/kolibri/kolibri.esm.js +1 -1
  414. package/dist/kolibri/kolibri.esm.js.map +1 -1
  415. package/dist/kolibri/test-component.entry.js +1 -1
  416. package/dist/types/components/button/component.d.ts +1 -2
  417. package/dist/types/components/card/component.d.ts +19 -0
  418. package/dist/types/components/card/shadow.d.ts +2 -12
  419. package/dist/types/components/drawer/shadow.d.ts +3 -1
  420. package/dist/types/components/split-button/shadow.d.ts +11 -4
  421. package/dist/types/components/tooltip/component.d.ts +5 -5
  422. package/dist/types/components.d.ts +89 -8
  423. package/dist/types/core/component-names.d.ts +1 -0
  424. package/dist/types/schema/components/drawer.d.ts +3 -3
  425. package/dist/types/schema/components/image.d.ts +5 -16
  426. package/dist/types/schema/props/alt.d.ts +7 -0
  427. package/dist/types/schema/props/image-sizes.d.ts +7 -0
  428. package/dist/types/schema/props/image-srcset.d.ts +7 -0
  429. package/dist/types/schema/props/index.d.ts +1 -1
  430. package/dist/types/schema/props/loading.d.ts +3 -0
  431. package/doc/card.md +1 -1
  432. package/doc/components.md +4 -4
  433. package/doc/drawer.md +7 -6
  434. package/doc/split-button.md +41 -18
  435. package/package.json +1 -1
  436. package/vscode-custom-data.json +37 -0
  437. package/dist/cjs/Alert-22627abf.js +0 -4
  438. package/dist/cjs/Alert-22627abf.js.map +0 -1
  439. package/dist/cjs/Icon-add098ba.js +0 -4
  440. package/dist/cjs/component-names-82c4d68d.js +0 -4
  441. package/dist/cjs/component-names-82c4d68d.js.map +0 -1
  442. package/dist/cjs/index-a40019ac.js +0 -4
  443. package/dist/cjs/index-a40019ac.js.map +0 -1
  444. package/dist/esm/Alert-112aec59.js +0 -4
  445. package/dist/esm/Alert-112aec59.js.map +0 -1
  446. package/dist/esm/CustomSuggestionsOptionsGroup-dcff90e4.js +0 -4
  447. package/dist/esm/Icon-446dff9e.js +0 -4
  448. package/dist/esm/component-names-7924d82a.js +0 -4
  449. package/dist/esm/component-names-7924d82a.js.map +0 -1
  450. package/dist/esm/index-1ed13705.js +0 -4
  451. package/dist/esm/index-1ed13705.js.map +0 -1
  452. package/dist/kolibri/Alert-112aec59.js +0 -4
  453. package/dist/kolibri/Alert-112aec59.js.map +0 -1
  454. package/dist/kolibri/Icon-446dff9e.js +0 -4
  455. package/dist/kolibri/InternalUnderlinedBadgeText-781ef373.js +0 -4
  456. package/dist/kolibri/Span-d15a3ea1.js +0 -4
  457. package/dist/kolibri/app-globals-081a982f.js +0 -4
  458. package/dist/kolibri/component-names-7924d82a.js +0 -4
  459. package/dist/kolibri/component-names-7924d82a.js.map +0 -1
  460. package/dist/kolibri/index-1ed13705.js.map +0 -1
  461. /package/dist/kolibri/{Collapsible-af548d40.js.map → Collapsible-7be44a00.js.map} +0 -0
  462. /package/dist/kolibri/{CustomSuggestionsOptionsGroup-dcff90e4.js.map → CustomSuggestionsOptionsGroup-cdea277e.js.map} +0 -0
  463. /package/dist/kolibri/{FieldControlStateWrapper-7dba1400.js.map → FieldControlStateWrapper-6c17f96e.js.map} +0 -0
  464. /package/dist/kolibri/{Heading-733c8dda.js.map → Heading-31a470a8.js.map} +0 -0
  465. /package/dist/kolibri/{Icon-446dff9e.js.map → Icon-e36657fc.js.map} +0 -0
  466. /package/dist/kolibri/{Input-8502a991.js.map → Input-b352cf7a.js.map} +0 -0
  467. /package/dist/kolibri/{InputStateWrapper-9b8419a8.js.map → InputStateWrapper-38536b7a.js.map} +0 -0
  468. /package/dist/kolibri/{InternalUnderlinedBadgeText-781ef373.js.map → InternalUnderlinedBadgeText-b1330190.js.map} +0 -0
  469. /package/dist/kolibri/{Span-d15a3ea1.js.map → Span-88b22574.js.map} +0 -0
  470. /package/dist/kolibri/{associated.controller-92af2554.js.map → associated.controller-22684481.js.map} +0 -0
  471. /package/dist/kolibri/{bootstrap-93c7a706.js.map → bootstrap-dcdb1765.js.map} +0 -0
  472. /package/dist/kolibri/{controller-f5a335ce.js.map → controller-7a002c8f.js.map} +0 -0
  473. /package/dist/kolibri/{controller-ce246aad.js.map → controller-8b5dbe81.js.map} +0 -0
  474. /package/dist/kolibri/{controller-912bda08.js.map → controller-ac40e13c.js.map} +0 -0
  475. /package/dist/kolibri/{controller-91a4c3ba.js.map → controller-cf01f031.js.map} +0 -0
  476. /package/dist/kolibri/{controller-icon-de12de48.js.map → controller-icon-0d71a8a2.js.map} +0 -0
  477. /package/dist/kolibri/{dev.utils-cb61837d.js.map → dev.utils-ffecab2f.js.map} +0 -0
  478. /package/dist/kolibri/{devtools-90d0e710.js.map → devtools-a4e8658c.js.map} +0 -0
  479. /package/dist/kolibri/{getRenderStates-c4b5c6cb.js.map → getRenderStates-c4bde254.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"Span-cd26b541.js","mappings":"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","names":["h","KolIconFc","clsx","isString","md","KolInternalUnderlinedBadgeTextFc","showExpertSlot","isObject","SpanCoreHelper"],"sources":["src/functional-components/Span/IconHelper.tsx","src/functional-components/Span/LabelHelper.tsx","src/functional-components/Span/SpanCoreHelper.tsx","src/functional-components/Span/Span.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport clsx from 'clsx';\n\nimport type { KoliBriCustomIcon } from '../../schema';\nimport KolIconFc from '../Icon';\n\nconst IconHelper: FC<KoliBriCustomIcon & { class?: string }> = (props) => {\n\tconst { class: classNames, style, label, icon } = props;\n\n\treturn <KolIconFc class={clsx('icon', classNames)} style={style} label={label || ''} icons={icon} />;\n};\n\nexport default IconHelper;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport clsx from 'clsx';\nimport { isString } from 'lodash-es';\n\nimport { md } from '../../utils/markdown';\nimport KolInternalUnderlinedBadgeTextFc from '../InternalUnderlinedBadgeText';\n\nconst LabelHelper: FC<{ label: string; hideLabel?: boolean; badgeText?: string; hideExpertSlot?: boolean; allowMarkdown?: boolean }> = ({\n\tlabel,\n\thideLabel,\n\tallowMarkdown,\n\tbadgeText,\n}) => {\n\tif (hideLabel || !isString(label)) {\n\t\treturn null;\n\t}\n\n\tconst defaultClasses = 'kol-span__label';\n\n\tif (allowMarkdown) {\n\t\treturn <span class={clsx(defaultClasses, 'md')} innerHTML={md(label)} />;\n\t}\n\n\tif (badgeText) {\n\t\treturn (\n\t\t\t<span class={clsx(defaultClasses)}>\n\t\t\t\t<KolInternalUnderlinedBadgeTextFc label={label} badgeText={badgeText} />\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn <span class={clsx(defaultClasses)}>{label}</span>;\n};\n\nexport default LabelHelper;\n","import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport { isString } from 'lodash-es';\n\nimport { showExpertSlot } from '../../schema';\nimport LabelHelper from './LabelHelper';\n\nconst KolSpanCoreHelperFc: FC<{ label: string; hideLabel?: boolean; badgeText?: string; hideExpertSlot?: boolean; allowMarkdown?: boolean }> = (\n\t{ hideLabel, label, badgeText, allowMarkdown },\n\tchildren,\n) => {\n\tconst hideExpertSlot = !showExpertSlot(label);\n\n\treturn (\n\t\t<>\n\t\t\t{hideExpertSlot && <LabelHelper label={label} hideLabel={hideLabel} badgeText={badgeText} allowMarkdown={allowMarkdown} />}\n\t\t\t<span aria-hidden={hideExpertSlot ? 'true' : undefined} class=\"kol-span__label\" hidden={hideExpertSlot}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t\t{isString(badgeText) && badgeText.length > 0 && (\n\t\t\t\t<span class=\"badge-text-hint\" aria-hidden=\"true\">\n\t\t\t\t\t{badgeText}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nexport default KolSpanCoreHelperFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { isString, isObject } from 'lodash-es';\n\nimport { type BadgeTextPropType, type HideLabelPropType, type IconOrIconClass, type KoliBriIconsProp, type LabelWithExpertSlotPropType } from '../../schema';\n\nimport IconHelper from './IconHelper';\nimport SpanCoreHelper from './SpanCoreHelper';\n\ntype IconType = IconOrIconClass | undefined | null;\n\nexport type SpanProps = JSXBase.HTMLAttributes<HTMLSpanElement> & {\n\tlabel: LabelWithExpertSlotPropType;\n\tbadgeText?: BadgeTextPropType;\n\tallowMarkdown?: boolean;\n\ticons?: KoliBriIconsProp;\n\thideLabel?: HideLabelPropType;\n};\n\nconst KolSpanFc: FC<SpanProps> = (props, children) => {\n\tconst { class: classNames, label, hideLabel = false, badgeText, allowMarkdown, icons, ...other } = props;\n\tlet topIconProps: IconType = null;\n\tlet leftIconProps: IconType = null;\n\tlet rightIconProps: IconType = null;\n\tlet bottomIconProps: IconType = null;\n\n\tif (isObject(icons)) {\n\t\ttopIconProps = icons.top;\n\t\tleftIconProps = icons.left;\n\t\trightIconProps = icons.right;\n\t\tbottomIconProps = icons.bottom;\n\t} else if (isString(icons)) {\n\t\tleftIconProps = {\n\t\t\ticon: icons,\n\t\t};\n\t}\n\n\treturn (\n\t\t<span class={clsx('kol-span', { 'kol-span--hide-label': hideLabel }, classNames)} {...other}>\n\t\t\t{isObject(topIconProps) && <IconHelper class=\"top\" {...topIconProps} />}\n\t\t\t<span class=\"kol-span__container\">\n\t\t\t\t{isObject(leftIconProps) && <IconHelper class=\"left\" {...leftIconProps} />}\n\t\t\t\t<SpanCoreHelper label={label} hideLabel={hideLabel} allowMarkdown={allowMarkdown} badgeText={badgeText}>\n\t\t\t\t\t{children}\n\t\t\t\t</SpanCoreHelper>\n\t\t\t\t{isObject(rightIconProps) && <IconHelper class=\"right\" {...rightIconProps} />}\n\t\t\t</span>\n\t\t\t{isObject(bottomIconProps) && <IconHelper class=\"bottom\" {...bottomIconProps} />}\n\t\t</span>\n\t);\n};\n\nexport default KolSpanFc;\n"],"version":3}
1
+ {"file":"Span-c9f5cc1a.js","mappings":"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","names":["h","KolIconFc","clsx","isString","md","KolInternalUnderlinedBadgeTextFc","showExpertSlot","isObject","SpanCoreHelper"],"sources":["src/functional-components/Span/IconHelper.tsx","src/functional-components/Span/LabelHelper.tsx","src/functional-components/Span/SpanCoreHelper.tsx","src/functional-components/Span/Span.tsx"],"sourcesContent":["import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport clsx from 'clsx';\n\nimport type { KoliBriCustomIcon } from '../../schema';\nimport KolIconFc from '../Icon';\n\nconst IconHelper: FC<KoliBriCustomIcon & { class?: string }> = (props) => {\n\tconst { class: classNames, style, label, icon } = props;\n\n\treturn <KolIconFc class={clsx('icon', classNames)} style={style} label={label || ''} icons={icon} />;\n};\n\nexport default IconHelper;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport clsx from 'clsx';\nimport { isString } from 'lodash-es';\n\nimport { md } from '../../utils/markdown';\nimport KolInternalUnderlinedBadgeTextFc from '../InternalUnderlinedBadgeText';\n\nconst LabelHelper: FC<{ label: string; hideLabel?: boolean; badgeText?: string; hideExpertSlot?: boolean; allowMarkdown?: boolean }> = ({\n\tlabel,\n\thideLabel,\n\tallowMarkdown,\n\tbadgeText,\n}) => {\n\tif (hideLabel || !isString(label)) {\n\t\treturn null;\n\t}\n\n\tconst defaultClasses = 'kol-span__label';\n\n\tif (allowMarkdown) {\n\t\treturn <span class={clsx(defaultClasses, 'md')} innerHTML={md(label)} />;\n\t}\n\n\tif (badgeText) {\n\t\treturn (\n\t\t\t<span class={clsx(defaultClasses)}>\n\t\t\t\t<KolInternalUnderlinedBadgeTextFc label={label} badgeText={badgeText} />\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn <span class={clsx(defaultClasses)}>{label}</span>;\n};\n\nexport default LabelHelper;\n","import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport { isString } from 'lodash-es';\n\nimport { showExpertSlot } from '../../schema';\nimport LabelHelper from './LabelHelper';\n\nconst KolSpanCoreHelperFc: FC<{ label: string; hideLabel?: boolean; badgeText?: string; hideExpertSlot?: boolean; allowMarkdown?: boolean }> = (\n\t{ hideLabel, label, badgeText, allowMarkdown },\n\tchildren,\n) => {\n\tconst hideExpertSlot = !showExpertSlot(label);\n\n\treturn (\n\t\t<>\n\t\t\t{hideExpertSlot && <LabelHelper label={label} hideLabel={hideLabel} badgeText={badgeText} allowMarkdown={allowMarkdown} />}\n\t\t\t<span aria-hidden={hideExpertSlot ? 'true' : undefined} class=\"kol-span__label\" hidden={hideExpertSlot}>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t\t{isString(badgeText) && badgeText.length > 0 && (\n\t\t\t\t<span class=\"badge-text-hint\" aria-hidden=\"true\">\n\t\t\t\t\t{badgeText}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nexport default KolSpanCoreHelperFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport clsx from 'clsx';\nimport { isString, isObject } from 'lodash-es';\n\nimport { type BadgeTextPropType, type HideLabelPropType, type IconOrIconClass, type KoliBriIconsProp, type LabelWithExpertSlotPropType } from '../../schema';\n\nimport IconHelper from './IconHelper';\nimport SpanCoreHelper from './SpanCoreHelper';\n\ntype IconType = IconOrIconClass | undefined | null;\n\nexport type SpanProps = JSXBase.HTMLAttributes<HTMLSpanElement> & {\n\tlabel: LabelWithExpertSlotPropType;\n\tbadgeText?: BadgeTextPropType;\n\tallowMarkdown?: boolean;\n\ticons?: KoliBriIconsProp;\n\thideLabel?: HideLabelPropType;\n};\n\nconst KolSpanFc: FC<SpanProps> = (props, children) => {\n\tconst { class: classNames, label, hideLabel = false, badgeText, allowMarkdown, icons, ...other } = props;\n\tlet topIconProps: IconType = null;\n\tlet leftIconProps: IconType = null;\n\tlet rightIconProps: IconType = null;\n\tlet bottomIconProps: IconType = null;\n\n\tif (isObject(icons)) {\n\t\ttopIconProps = icons.top;\n\t\tleftIconProps = icons.left;\n\t\trightIconProps = icons.right;\n\t\tbottomIconProps = icons.bottom;\n\t} else if (isString(icons)) {\n\t\tleftIconProps = {\n\t\t\ticon: icons,\n\t\t};\n\t}\n\n\treturn (\n\t\t<span class={clsx('kol-span', { 'kol-span--hide-label': hideLabel }, classNames)} {...other}>\n\t\t\t{isObject(topIconProps) && <IconHelper class=\"top\" {...topIconProps} />}\n\t\t\t<span class=\"kol-span__container\">\n\t\t\t\t{isObject(leftIconProps) && <IconHelper class=\"left\" {...leftIconProps} />}\n\t\t\t\t<SpanCoreHelper label={label} hideLabel={hideLabel} allowMarkdown={allowMarkdown} badgeText={badgeText}>\n\t\t\t\t\t{children}\n\t\t\t\t</SpanCoreHelper>\n\t\t\t\t{isObject(rightIconProps) && <IconHelper class=\"right\" {...rightIconProps} />}\n\t\t\t</span>\n\t\t\t{isObject(bottomIconProps) && <IconHelper class=\"bottom\" {...bottomIconProps} />}\n\t\t</span>\n\t);\n};\n\nexport default KolSpanFc;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-94c17ce6.js"),index$1=require("./index-a40019ac.js");index$1.setMode((e=>{try{e.shadowRoot instanceof ShadowRoot&&index.ne(e,index.b(e))}catch(e){}return"default"})),Promise.resolve().then((function(){return require("./devtools-3485dda6.js")})).then((e=>{"object"==typeof e&&null!==e&&"function"==typeof e.initialize&&e.initialize()})).catch((e=>{index.Log.error(e)}));const globalFn=()=>{},globalScripts=globalFn;exports.globalScripts=globalScripts;
4
+ "use strict";const index=require("./index-94c17ce6.js"),index$1=require("./index-ae732dfd.js");index$1.setMode((e=>{try{e.shadowRoot instanceof ShadowRoot&&index.ne(e,index.b(e))}catch(e){}return"default"})),Promise.resolve().then((function(){return require("./devtools-c3023af8.js")})).then((e=>{"object"==typeof e&&null!==e&&"function"==typeof e.initialize&&e.initialize()})).catch((e=>{index.Log.error(e)}));const globalFn=()=>{},globalScripts=globalFn;exports.globalScripts=globalScripts;
@@ -1 +1 @@
1
- {"file":"app-globals-81f95eac.js","mappings":";;;;;;;;AAKAA,eAAO,CAAC,CAAC,GAAG;IACX,IAAI;QACH,IAAI,GAAG,CAAC,UAAU,YAAY,UAAU,EAAE;YACzCC,QAAa,CAAC,GAAG,EAAEC,OAAe,CAAC,GAAG,CAAC,CAAC,CAAC;SACzC;KACD;IAAC,OAAO,KAAK,EAAE;KAMf;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,oDAAO,wBAAY,KAAC;KAClB,IAAI,CAAC,CAAC,QAAQ;IACd,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;QACnG,QAAQ,CAAC,UAAU,EAAE,CAAC;KACtB;AACF,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAK;IACZC,SAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;;;AC3BQ,MAAC,aAAa,GAAGC;;;;","names":["setMode","setThemeStyle","getThemeDetails","Log","appGlobalScript"],"sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from 'adopted-style-sheets';\n\nimport { Log } from '../schema';\nimport { setMode } from '@stencil/core';\n\nsetMode((elm) => {\n\ttry {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t} catch (error) {\n\t\t/**\n\t\t * Try is needed for SSR.\n\t\t * - no HTMLElement is available\n\t\t * - no ShadowRoot is available\n\t\t */\n\t}\n\treturn 'default';\n});\n\nimport('./devtools')\n\t.then((devTools) => {\n\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\tdevTools.initialize();\n\t\t}\n\t})\n\t.catch((error) => {\n\t\tLog.error(error);\n\t});\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
1
+ {"file":"app-globals-171737a2.js","mappings":";;;;;;;;AAKAA,eAAO,CAAC,CAAC,GAAG;IACX,IAAI;QACH,IAAI,GAAG,CAAC,UAAU,YAAY,UAAU,EAAE;YACzCC,QAAa,CAAC,GAAG,EAAEC,OAAe,CAAC,GAAG,CAAC,CAAC,CAAC;SACzC;KACD;IAAC,OAAO,KAAK,EAAE;KAMf;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,oDAAO,wBAAY,KAAC;KAClB,IAAI,CAAC,CAAC,QAAQ;IACd,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;QACnG,QAAQ,CAAC,UAAU,EAAE,CAAC;KACtB;AACF,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAK;IACZC,SAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;;;AC3BQ,MAAC,aAAa,GAAGC;;;;","names":["setMode","setThemeStyle","getThemeDetails","Log","appGlobalScript"],"sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from 'adopted-style-sheets';\n\nimport { Log } from '../schema';\nimport { setMode } from '@stencil/core';\n\nsetMode((elm) => {\n\ttry {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t} catch (error) {\n\t\t/**\n\t\t * Try is needed for SSR.\n\t\t * - no HTMLElement is available\n\t\t * - no ShadowRoot is available\n\t\t */\n\t}\n\treturn 'default';\n});\n\nimport('./devtools')\n\t.then((devTools) => {\n\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\tdevTools.initialize();\n\t\t}\n\t})\n\t.catch((error) => {\n\t\tLog.error(error);\n\t});\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-94c17ce6.js"),bootstrap=require("./bootstrap-e11bb4f7.js"),validateName=(t,e,i)=>{index.watchString(t,"_name",e,i)},isAssociatedTagName=t=>"KOL-BUTTON"===t||"KOL-COMBOBOX"===t||"KOL-INPUT-CHECKBOX"===t||"KOL-INPUT-COLOR"===t||"KOL-INPUT-DATE"===t||"KOL-INPUT-EMAIL"===t||"KOL-INPUT-FILE"===t||"KOL-INPUT-NUMBER"===t||"KOL-INPUT-PASSWORD"===t||"KOL-INPUT-RADIO"===t||"KOL-INPUT-RANGE"===t||"KOL-INPUT-TEXT"===t||"KOL-SELECT"===t||"KOL-SINGLE-SELECT"===t||"KOL-TEXTAREA"===t;class AssociatedInputController{constructor(t,e,i){var s,o,a,r;if(this.experimentalMode=index.getExperimentalMode(),this.setFormAssociatedValue=t=>{var e;const i=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==i&&""!==i||index.devHint(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);const s=this.tryToStringifyValue(t);this.syncValue(t,s,this.formAssociated),this.syncValue(t,s,this.syncToOwnInput)},this.component=t,this.host=this.findHostWithShadowRoot(i),this.type=e,(null===(s=bootstrap.getOptions())||void 0===s?void 0:s.reflectInputValues)&&isAssociatedTagName(null===(o=this.host)||void 0===o?void 0:o.tagName)&&t._name){switch(null===(a=this.host)||void 0===a||a.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.type){case"button":case"color":case"date":case"email":case"file":case"number":case"password":case"radio":case"range":case"text":this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type",this.type);break;case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(r=this.host)||void 0===r||r.appendChild(this.formAssociated)}}findHostWithShadowRoot(t){for(;null===(null==t?void 0:t.shadowRoot)&&t!==document.body;)(t=null==t?void 0:t.parentNode).host&&(t=t.host);return t}setAttribute(t,e,i){if(this.experimentalMode)try{if("boolean"!=typeof(i="object"==typeof i&&null!==i?JSON.stringify(i):i)&&"number"!=typeof i&&"string"!=typeof i)throw new Error("Invalid value type: "+typeof i);null==e||e.setAttribute(t,`${i}`)}catch(i){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return index.devWarning(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,i){if(i)switch(this.type){case"file":i.files=t;break;case"select":i.querySelectorAll("option").forEach((t=>{i.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),i.appendChild(t)}}));break;case"radio":"string"==typeof e&&(i.setAttribute("value",e),i.setAttribute("checked",""),i.value=e);break;default:"string"==typeof e?(i.setAttribute("value",e),i.value=e):(i.removeAttribute("value"),i.value="")}}validateName(t){validateName(this.component,t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&index.devHint("A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.")}validateSyncValueBySelector(t){if(this.experimentalMode&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}componentWillLoad(){this.validateName(this.component._name),this.validateSyncValueBySelector(this.component._syncValueBySelector)}}exports.AssociatedInputController=AssociatedInputController;
4
+ "use strict";const index=require("./index-94c17ce6.js"),bootstrap=require("./bootstrap-a35cdb5f.js"),validateName=(t,e,i)=>{index.watchString(t,"_name",e,i)},isAssociatedTagName=t=>"KOL-BUTTON"===t||"KOL-COMBOBOX"===t||"KOL-INPUT-CHECKBOX"===t||"KOL-INPUT-COLOR"===t||"KOL-INPUT-DATE"===t||"KOL-INPUT-EMAIL"===t||"KOL-INPUT-FILE"===t||"KOL-INPUT-NUMBER"===t||"KOL-INPUT-PASSWORD"===t||"KOL-INPUT-RADIO"===t||"KOL-INPUT-RANGE"===t||"KOL-INPUT-TEXT"===t||"KOL-SELECT"===t||"KOL-SINGLE-SELECT"===t||"KOL-TEXTAREA"===t;class AssociatedInputController{constructor(t,e,i){var s,o,a,r;if(this.experimentalMode=index.getExperimentalMode(),this.setFormAssociatedValue=t=>{var e;const i=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==i&&""!==i||index.devHint(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);const s=this.tryToStringifyValue(t);this.syncValue(t,s,this.formAssociated),this.syncValue(t,s,this.syncToOwnInput)},this.component=t,this.host=this.findHostWithShadowRoot(i),this.type=e,(null===(s=bootstrap.getOptions())||void 0===s?void 0:s.reflectInputValues)&&isAssociatedTagName(null===(o=this.host)||void 0===o?void 0:o.tagName)&&t._name){switch(null===(a=this.host)||void 0===a||a.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.type){case"button":case"color":case"date":case"email":case"file":case"number":case"password":case"radio":case"range":case"text":this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type",this.type);break;case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(r=this.host)||void 0===r||r.appendChild(this.formAssociated)}}findHostWithShadowRoot(t){for(;null===(null==t?void 0:t.shadowRoot)&&t!==document.body;)(t=null==t?void 0:t.parentNode).host&&(t=t.host);return t}setAttribute(t,e,i){if(this.experimentalMode)try{if("boolean"!=typeof(i="object"==typeof i&&null!==i?JSON.stringify(i):i)&&"number"!=typeof i&&"string"!=typeof i)throw new Error("Invalid value type: "+typeof i);null==e||e.setAttribute(t,`${i}`)}catch(i){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return index.devWarning(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,i){if(i)switch(this.type){case"file":i.files=t;break;case"select":i.querySelectorAll("option").forEach((t=>{i.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),i.appendChild(t)}}));break;case"radio":"string"==typeof e&&(i.setAttribute("value",e),i.setAttribute("checked",""),i.value=e);break;default:"string"==typeof e?(i.setAttribute("value",e),i.value=e):(i.removeAttribute("value"),i.value="")}}validateName(t){validateName(this.component,t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&index.devHint("A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.")}validateSyncValueBySelector(t){if(this.experimentalMode&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}componentWillLoad(){this.validateName(this.component._name),this.validateSyncValueBySelector(this.component._syncValueBySelector)}}exports.AssociatedInputController=AssociatedInputController;
@@ -1 +1 @@
1
- {"file":"associated.controller-03ae298d.js","mappings":";;;;;;;;AAgBO,MAAM,YAAY,GAAG,CAAC,SAAoC,EAAE,KAAoB,EAAE,OAA4B;IACpHA,iBAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;;ACDD,MAAM,mBAAmB,GAAG,CAAC,IAAa,KACzC,IAAI,KAAK,YAAY;IACrB,IAAI,KAAK,cAAc;IACvB,IAAI,KAAK,oBAAoB;IAC7B,IAAI,KAAK,iBAAiB;IAC1B,IAAI,KAAK,gBAAgB;IACzB,IAAI,KAAK,iBAAiB;IAC1B,IAAI,KAAK,gBAAgB;IACzB,IAAI,KAAK,kBAAkB;IAC3B,IAAI,KAAK,oBAAoB;IAC7B,IAAI,KAAK,iBAAiB;IAC1B,IAAI,KAAK,iBAAiB;IAC1B,IAAI,KAAK,gBAAgB;IACzB,IAAI,KAAK,YAAY;IACrB,IAAI,KAAK,mBAAmB;IAC5B,IAAI,KAAK,cAAc,CAAC;MAEZ,yBAAyB;IAUrC,YAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB;;QAThF,qBAAgB,GAAGC,yBAAmB,EAAE,CAAC;QAwG1C,2BAAsB,GAAG,CAAC,QAAwB;;YACjE,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;gBACjCC,aAAO,CAAC,oBAAoB,IAAI,CAAC,IAAI,wFAAwF,CAAC,CAAC;aAC/H;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACxD,CAAC;QAtGD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAA,MAAAC,oBAAU,EAAE,0CAAE,kBAAkB,KAAI,mBAAmB,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE;YACnG,MAAA,IAAI,CAAC,IAAI,0CAAE,gBAAgB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,EAAE;;gBAC/D,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,CAAC,EAAE,CAAC,CAAC;aAC3B,CAAC,CAAC;YACH,QAAQ,IAAI,CAAC,IAAI;gBAChB,KAAK,QAAQ,CAAC;gBACd,KAAK,OAAO,CAAC;gBACb,KAAK,MAAM,CAAC;gBACZ,KAAK,OAAO,CAAC;gBACb,KAAK,MAAM,CAAC;gBACZ,KAAK,QAAQ,CAAC;gBACd,KAAK,UAAU,CAAC;gBAChB,KAAK,OAAO,CAAC;gBACb,KAAK,OAAO,CAAC;gBACb,KAAK,MAAM;oBACV,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBACtD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpD,MAAM;gBACP,KAAK,QAAQ;oBACZ,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACvD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBACjD,MAAM;gBACP,KAAK,UAAU;oBACd,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACzD,MAAM;gBACP,KAAK,UAAU,CAAC;gBAChB,KAAK,eAAe,CAAC;gBACrB,KAAK,UAAU,CAAC;gBAChB;oBACC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;oBACtD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aACpD;YACD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC5C;KACD;IAMO,sBAAsB,CAAC,IAAkB;QAChD,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,MAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;YAC3D,IAAI,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAyB,CAAC;YACvC,IAAK,IAA8B,CAAC,IAAI,EAAE;gBACzC,IAAI,GAAI,IAA8B,CAAC,IAAmB,CAAC;aAC3D;SACD;QACD,OAAO,IAAI,CAAC;KACZ;IAES,YAAY,CAAC,aAAqB,EAAE,OAAqB,EAAE,KAAiC;QACrG,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI;gBACH,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACpF,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBACzF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,aAAa,EAAE,GAAG,KAAe,EAAE,CAAC,CAAC;iBAC3D;qBAAM;oBACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,KAAK,EAAE,CAAC,CAAC;iBACvD;aACD;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,aAAa,CAAC,CAAC;aACxC;SACD;KACD;IAWO,mBAAmB,CAAC,KAAqB;QAChD,IAAI;YACH,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;SACxJ;QAAC,OAAO,CAAC,EAAE;YACXC,gBAAU,CAAC,sDAAsD,CAAW,EAAE,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC;SACV;KACD;IAiBO,SAAS,CAChB,QAAwB,EACxB,QAAuB,EACvB,iBAAkG;QAElG,IAAI,iBAAiB,EAAE;YACtB,QAAQ,IAAI,CAAC,IAAI;gBAChB,KAAK,MAAM;oBACT,iBAA0C,CAAC,KAAK,GAAG,QAAoB,CAAC;oBACzE,MAAM;gBACP,KAAK,QAAQ;oBACX,iBAAuC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;wBAC7E,iBAAuC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;qBACzD,CAAC,CAAC;oBACH,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY;4BAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAsB,CAAC,CAAC;4BACtE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gCACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gCAChD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gCAC3C,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gCACnC,iBAAuC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;6BAC7D;yBACD,CAAC,CAAC;qBACH;oBACD,MAAM;gBACP,KAAK,OAAO;oBACX,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;wBACjC,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAClD,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;wBAC9C,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC;qBACnC;oBACD,MAAM;gBACP;oBACC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;wBACjC,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;wBAClD,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC;qBACnC;yBAAM;wBACN,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC3C,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;qBAC7B;aACF;SACD;KACD;IAEM,YAAY,CAAC,KAAoB;QACvC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;YACnC,KAAK,EAAE;gBACN,UAAU,EAAE;oBACX,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;iBACrF;aACD;SACD,CAAC,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YACjCF,aAAO,CACN,uKAAuK,CACvK,CAAC;SACF;KACD;IAEM,2BAA2B,CAAC,KAAmC;QACrE,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAA+D,CAAC;YAC1G,IAAI,KAAK,EAAwC;gBAChD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAC5B;SACD;KACD;IAEM,iBAAiB;QACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;KACtE;;;;;","names":["watchString","getExperimentalMode","devHint","getOptions","devWarning"],"sources":["src/schema/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchStringOptions } from '../utils';\nimport { watchString } from '../utils';\n\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import type { NamePropType, PropSyncValueBySelector, StencilUnknown, SyncValueBySelectorPropType } from '../../schema';\nimport { devHint, devWarning, getExperimentalMode, validateName } from '../../schema';\n\nimport type { Generic } from 'adopted-style-sheets';\nimport { getOptions } from '../../core/bootstrap';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\ntype HTMLInputFileElement = HTMLInputElement & {\n\tfiles: FileList;\n};\n\nconst isAssociatedTagName = (name?: string): boolean =>\n\tname === 'KOL-BUTTON' ||\n\tname === 'KOL-COMBOBOX' ||\n\tname === 'KOL-INPUT-CHECKBOX' ||\n\tname === 'KOL-INPUT-COLOR' ||\n\tname === 'KOL-INPUT-DATE' ||\n\tname === 'KOL-INPUT-EMAIL' ||\n\tname === 'KOL-INPUT-FILE' ||\n\tname === 'KOL-INPUT-NUMBER' ||\n\tname === 'KOL-INPUT-PASSWORD' ||\n\tname === 'KOL-INPUT-RADIO' ||\n\tname === 'KOL-INPUT-RANGE' ||\n\tname === 'KOL-INPUT-TEXT' ||\n\tname === 'KOL-SELECT' ||\n\tname === 'KOL-SINGLE-SELECT' ||\n\tname === 'KOL-TEXTAREA';\n\nexport class AssociatedInputController implements Watches {\n\tprivate readonly experimentalMode = getExperimentalMode();\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly type: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, type: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.type = type;\n\n\t\tif (getOptions()?.reflectInputValues && isAssociatedTagName(this.host?.tagName) && component._name) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'button':\n\t\t\t\tcase 'color':\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'email':\n\t\t\t\tcase 'file':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'radio':\n\t\t\t\tcase 'range':\n\t\t\t\tcase 'text':\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', this.type);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'checkbox': // Checkbox uses default case\n\t\t\t\tcase 'single-select': // SingleSelect uses default case\n\t\t\t\tcase 'combobox': // Combobox uses default case\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (this.experimentalMode) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'file':\n\t\t\t\t\t(associatedElement as HTMLInputFileElement).files = rawValue as FileList;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'radio':\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.setAttribute('checked', '');\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: NamePropType): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.`,\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tif (this.experimentalMode && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"version":3}
1
+ {"file":"associated.controller-103272e2.js","mappings":"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","names":["watchString","getExperimentalMode","devHint","getOptions","devWarning"],"sources":["src/schema/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchStringOptions } from '../utils';\nimport { watchString } from '../utils';\n\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import type { NamePropType, PropSyncValueBySelector, StencilUnknown, SyncValueBySelectorPropType } from '../../schema';\nimport { devHint, devWarning, getExperimentalMode, validateName } from '../../schema';\n\nimport type { Generic } from 'adopted-style-sheets';\nimport { getOptions } from '../../core/bootstrap';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\ntype HTMLInputFileElement = HTMLInputElement & {\n\tfiles: FileList;\n};\n\nconst isAssociatedTagName = (name?: string): boolean =>\n\tname === 'KOL-BUTTON' ||\n\tname === 'KOL-COMBOBOX' ||\n\tname === 'KOL-INPUT-CHECKBOX' ||\n\tname === 'KOL-INPUT-COLOR' ||\n\tname === 'KOL-INPUT-DATE' ||\n\tname === 'KOL-INPUT-EMAIL' ||\n\tname === 'KOL-INPUT-FILE' ||\n\tname === 'KOL-INPUT-NUMBER' ||\n\tname === 'KOL-INPUT-PASSWORD' ||\n\tname === 'KOL-INPUT-RADIO' ||\n\tname === 'KOL-INPUT-RANGE' ||\n\tname === 'KOL-INPUT-TEXT' ||\n\tname === 'KOL-SELECT' ||\n\tname === 'KOL-SINGLE-SELECT' ||\n\tname === 'KOL-TEXTAREA';\n\nexport class AssociatedInputController implements Watches {\n\tprivate readonly experimentalMode = getExperimentalMode();\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly type: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, type: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.type = type;\n\n\t\tif (getOptions()?.reflectInputValues && isAssociatedTagName(this.host?.tagName) && component._name) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'button':\n\t\t\t\tcase 'color':\n\t\t\t\tcase 'date':\n\t\t\t\tcase 'email':\n\t\t\t\tcase 'file':\n\t\t\t\tcase 'number':\n\t\t\t\tcase 'password':\n\t\t\t\tcase 'radio':\n\t\t\t\tcase 'range':\n\t\t\t\tcase 'text':\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', this.type);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'checkbox': // Checkbox uses default case\n\t\t\t\tcase 'single-select': // SingleSelect uses default case\n\t\t\t\tcase 'combobox': // Combobox uses default case\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (this.experimentalMode) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.type}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement,\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.type) {\n\t\t\t\tcase 'file':\n\t\t\t\t\t(associatedElement as HTMLInputFileElement).files = rawValue as FileList;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'radio':\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.setAttribute('checked', '');\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: NamePropType): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`A name on input fields or switches is not strictly required, but it might be relevant for the autocomplete function and for the static submission of the input field.`,\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tif (this.experimentalMode && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-94c17ce6.js"),componentNames=require("./component-names-82c4d68d.js"),i18n=require("./i18n-8c288a27.js");let options,initialized=!1;const bootstrap=async(i,e,t)=>{var n,o;index.setDevMode("development"===(null==t?void 0:t.environment)),i18n.initializeI18n(null!==(o=null===(n=null==t?void 0:t.translation)||void 0===n?void 0:n.name)&&void 0!==o?o:"de",null==t?void 0:t.translations),(null==t?void 0:t.transformTagName)&&componentNames.setCustomTagNames(null==t?void 0:t.transformTagName);const s=await index.V(i,e,t);return initialized=!0,options=t,s},register=bootstrap,isInitialized=()=>initialized,getOptions=()=>options;exports.bootstrap=bootstrap,exports.getOptions=getOptions,exports.isInitialized=isInitialized,exports.register=register;
4
+ "use strict";const index=require("./index-94c17ce6.js"),componentNames=require("./component-names-f5f2ca3a.js"),i18n=require("./i18n-8c288a27.js");let options,initialized=!1;const bootstrap=async(i,e,t)=>{var n,o;index.setDevMode("development"===(null==t?void 0:t.environment)),i18n.initializeI18n(null!==(o=null===(n=null==t?void 0:t.translation)||void 0===n?void 0:n.name)&&void 0!==o?o:"de",null==t?void 0:t.translations),(null==t?void 0:t.transformTagName)&&componentNames.setCustomTagNames(null==t?void 0:t.transformTagName);const s=await index.V(i,e,t);return initialized=!0,options=t,s},register=bootstrap,isInitialized=()=>initialized,getOptions=()=>options;exports.bootstrap=bootstrap,exports.getOptions=getOptions,exports.isInitialized=isInitialized,exports.register=register;
@@ -1 +1 @@
1
- {"file":"bootstrap-e11bb4f7.js","mappings":";;;;;;;;;AAwBA,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,OAAmC,CAAC;MAE3B,SAAS,GAAG,OACxB,MAG6D,EAC7D,OAAgE,EAChE,cAA+B;;IAE/BA,gBAAU,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,MAAK,aAAa,CAAC,CAAC;IAE1DC,mBAAc,CAAC,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,0CAAE,IAAI,mCAAI,IAAI,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,CAAC,CAAC;IACxF,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,gBAAgB,EAAE;QACrCC,gCAAiB,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,gBAAgB,CAAC,CAAC;KACpD;IACD,MAAM,uBAAuB,GAAG,MAAMC,OAAY,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACpF,WAAW,GAAG,IAAI,CAAC;IACnB,OAAO,GAAG,cAAc,CAAC;IAEzB,OAAO,uBAAuB,CAAC;AAChC,EAAE;MAEW,QAAQ,GAAG,UAAU;MACrB,aAAa,GAAG,MAAM,YAAY;MAClC,UAAU,GAAG,MAAM;;;;;;;","names":["setDevMode","initializeI18n","setCustomTagNames","coreRegister"],"sources":["src/core/bootstrap.ts"],"sourcesContent":["import type { Generic, LoaderCallback, RegisterOptions } from 'adopted-style-sheets';\nimport { register as coreRegister } from 'adopted-style-sheets';\nimport { setDevMode } from '../schema';\nimport { setCustomTagNames } from './component-names';\nimport { initializeI18n } from './i18n';\n\ntype Environment = 'development' | 'production';\n\ntype KoliBriOptions = RegisterOptions & {\n\t/**\n\t * The environment in which the application is running.\n\t */\n\tenvironment?: Environment;\n\t/**\n\t * This option allows you to transform the component tag names.\n\t */\n\ttransformTagName?: (tagName: string) => string;\n\n\t/**\n\t * When enabled, all input fields will reflect their current value to the host element, making it accessible outside the shadow DOM.\n\t */\n\treflectInputValues?: boolean;\n};\n\nlet initialized = false;\nlet options: KoliBriOptions | undefined;\n\nexport const bootstrap = async (\n\tthemes:\n\t\t| Generic.Theming.RegisterPatch<string, string, string>\n\t\t| Generic.Theming.RegisterPatch<string, string, string>[]\n\t\t| Set<Generic.Theming.RegisterPatch<string, string, string>>,\n\tloaders: LoaderCallback | LoaderCallback[] | Set<LoaderCallback>,\n\tkoliBriOptions?: KoliBriOptions,\n): Promise<void[]> => {\n\tsetDevMode(koliBriOptions?.environment === 'development');\n\n\tinitializeI18n(koliBriOptions?.translation?.name ?? 'de', koliBriOptions?.translations);\n\tif (koliBriOptions?.transformTagName) {\n\t\tsetCustomTagNames(koliBriOptions?.transformTagName);\n\t}\n\tconst coreRegisterReturnValue = await coreRegister(themes, loaders, koliBriOptions);\n\tinitialized = true;\n\toptions = koliBriOptions;\n\n\treturn coreRegisterReturnValue;\n};\n\nexport const register = bootstrap;\nexport const isInitialized = () => initialized;\nexport const getOptions = () => options;\n"],"version":3}
1
+ {"file":"bootstrap-a35cdb5f.js","mappings":";;;;;;;;;AAwBA,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,OAAmC,CAAC;MAE3B,SAAS,GAAG,OACxB,MAG6D,EAC7D,OAAgE,EAChE,cAA+B;;IAE/BA,gBAAU,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,MAAK,aAAa,CAAC,CAAC;IAE1DC,mBAAc,CAAC,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,0CAAE,IAAI,mCAAI,IAAI,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,CAAC,CAAC;IACxF,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,gBAAgB,EAAE;QACrCC,gCAAiB,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,gBAAgB,CAAC,CAAC;KACpD;IACD,MAAM,uBAAuB,GAAG,MAAMC,OAAY,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACpF,WAAW,GAAG,IAAI,CAAC;IACnB,OAAO,GAAG,cAAc,CAAC;IAEzB,OAAO,uBAAuB,CAAC;AAChC,EAAE;MAEW,QAAQ,GAAG,UAAU;MACrB,aAAa,GAAG,MAAM,YAAY;MAClC,UAAU,GAAG,MAAM;;;;;;;","names":["setDevMode","initializeI18n","setCustomTagNames","coreRegister"],"sources":["src/core/bootstrap.ts"],"sourcesContent":["import type { Generic, LoaderCallback, RegisterOptions } from 'adopted-style-sheets';\nimport { register as coreRegister } from 'adopted-style-sheets';\nimport { setDevMode } from '../schema';\nimport { setCustomTagNames } from './component-names';\nimport { initializeI18n } from './i18n';\n\ntype Environment = 'development' | 'production';\n\ntype KoliBriOptions = RegisterOptions & {\n\t/**\n\t * The environment in which the application is running.\n\t */\n\tenvironment?: Environment;\n\t/**\n\t * This option allows you to transform the component tag names.\n\t */\n\ttransformTagName?: (tagName: string) => string;\n\n\t/**\n\t * When enabled, all input fields will reflect their current value to the host element, making it accessible outside the shadow DOM.\n\t */\n\treflectInputValues?: boolean;\n};\n\nlet initialized = false;\nlet options: KoliBriOptions | undefined;\n\nexport const bootstrap = async (\n\tthemes:\n\t\t| Generic.Theming.RegisterPatch<string, string, string>\n\t\t| Generic.Theming.RegisterPatch<string, string, string>[]\n\t\t| Set<Generic.Theming.RegisterPatch<string, string, string>>,\n\tloaders: LoaderCallback | LoaderCallback[] | Set<LoaderCallback>,\n\tkoliBriOptions?: KoliBriOptions,\n): Promise<void[]> => {\n\tsetDevMode(koliBriOptions?.environment === 'development');\n\n\tinitializeI18n(koliBriOptions?.translation?.name ?? 'de', koliBriOptions?.translations);\n\tif (koliBriOptions?.transformTagName) {\n\t\tsetCustomTagNames(koliBriOptions?.transformTagName);\n\t}\n\tconst coreRegisterReturnValue = await coreRegister(themes, loaders, koliBriOptions);\n\tinitialized = true;\n\toptions = koliBriOptions;\n\n\treturn coreRegisterReturnValue;\n};\n\nexport const register = bootstrap;\nexport const isInitialized = () => initialized;\nexport const getOptions = () => options;\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ "use strict";let KolAbbrTag="kol-abbr",KolAccordionTag="kol-accordion",KolAlertTag="kol-alert";exports.KolAlertWcTag="kol-alert-wc";let KolAvatarTag="kol-avatar";exports.KolAvatarWcTag="kol-avatar-wc",exports.KolBadgeTag="kol-badge";let KolBreadcrumbTag="kol-breadcrumb",KolButtonLinkTag="kol-button-link";exports.KolButtonTag="kol-button",exports.KolButtonWcTag="kol-button-wc";let KolCardTag="kol-card";exports.KolCardWcTag="kol-card-wc";let KolComboboxTag="kol-combobox",KolDetailsTag="kol-details",KolDrawerTag="kol-drawer";exports.KolFormTag="kol-form",exports.KolHeadingTag="kol-heading",exports.KolIconTag="kol-icon";let KolImageTag="kol-image";exports.KolInputCheckboxTag="kol-input-checkbox";let KolInputColorTag="kol-input-color",KolInputDateTag="kol-input-date",KolInputEmailTag="kol-input-email",KolInputFileTag="kol-input-file";exports.KolInputNumberTag="kol-input-number";let KolInputPasswordTag="kol-input-password",KolInputRadioTag="kol-input-radio",KolInputRangeTag="kol-input-range",KolInputTag="kol-input",KolInputTextTag="kol-input-text",KolKolibriTag="kol-kolibri",KolLinkButtonTag="kol-link-button";exports.KolLinkTag="kol-link",exports.KolLinkWcTag="kol-link-wc";let KolModalTag="kol-modal",KolNavTag="kol-nav";exports.KolPaginationTag="kol-pagination",exports.KolPopoverWcTag="kol-popover-wc";let KolPopoverButtonTag="kol-popover-button";exports.KolPopoverButtonWcTag="kol-popover-button-wc";let KolProgressTag="kol-progress",KolQuoteTag="kol-quote";exports.KolSelectTag="kol-select";let KolSingleSelectTag="kol-single-select",KolSkipNavTag="kol-skip-nav",KolSpinTag="kol-spin",KolSplitButtonTag="kol-split-button";exports.KolTableSettingsWcTag="kol-table-settings-wc";let KolTableStatefulTag="kol-table-stateful",KolTableStatelessTag="kol-table-stateless";exports.KolTableStatelessWcTag="kol-table-stateless-wc";let KolTabsTag="kol-tabs",KolTextareaTag="kol-textarea";exports.KolToastContainerTag="kol-toast-container",exports.KolTooltipWcTag="kol-tooltip-wc",exports.KolTreeItemTag="kol-tree-item",exports.KolTreeItemWcTag="kol-tree-item-wc",exports.KolTreeTag="kol-tree",exports.KolTreeWcTag="kol-tree-wc";let KolVersionTag="kol-version";const setCustomTagNames=o=>{KolAbbrTag=o(KolAbbrTag),KolAccordionTag=o(KolAccordionTag),KolAlertTag=o(KolAlertTag),exports.KolAlertWcTag=o(exports.KolAlertWcTag),KolAvatarTag=o(KolAvatarTag),exports.KolAvatarWcTag=o(exports.KolAvatarWcTag),exports.KolBadgeTag=o(exports.KolBadgeTag),KolBreadcrumbTag=o(KolBreadcrumbTag),KolButtonLinkTag=o(KolButtonLinkTag),exports.KolButtonTag=o(exports.KolButtonTag),exports.KolButtonWcTag=o(exports.KolButtonWcTag),KolCardTag=o(KolCardTag),exports.KolCardWcTag=o(exports.KolCardWcTag),KolComboboxTag=o(KolComboboxTag),KolDetailsTag=o(KolDetailsTag),KolDrawerTag=o(KolDrawerTag),exports.KolFormTag=o(exports.KolFormTag),exports.KolHeadingTag=o(exports.KolHeadingTag),exports.KolIconTag=o(exports.KolIconTag),KolImageTag=o(KolImageTag),exports.KolInputCheckboxTag=o(exports.KolInputCheckboxTag),KolInputColorTag=o(KolInputColorTag),KolInputDateTag=o(KolInputDateTag),KolInputEmailTag=o(KolInputEmailTag),KolInputFileTag=o(KolInputFileTag),exports.KolInputNumberTag=o(exports.KolInputNumberTag),KolInputPasswordTag=o(KolInputPasswordTag),KolInputRadioTag=o(KolInputRadioTag),KolInputRangeTag=o(KolInputRangeTag),KolInputTag=o(KolInputTag),KolInputTextTag=o(KolInputTextTag),KolKolibriTag=o(KolKolibriTag),KolLinkButtonTag=o(KolLinkButtonTag),exports.KolLinkTag=o(exports.KolLinkTag),exports.KolLinkWcTag=o(exports.KolLinkWcTag),KolModalTag=o(KolModalTag),KolNavTag=o(KolNavTag),exports.KolPaginationTag=o(exports.KolPaginationTag),exports.KolPopoverWcTag=o(exports.KolPopoverWcTag),KolPopoverButtonTag=o(KolPopoverButtonTag),exports.KolPopoverButtonWcTag=o(exports.KolPopoverButtonWcTag),KolProgressTag=o(KolProgressTag),KolQuoteTag=o(KolQuoteTag),exports.KolSelectTag=o(exports.KolSelectTag),KolSingleSelectTag=o(KolSingleSelectTag),KolSkipNavTag=o(KolSkipNavTag),KolSpinTag=o(KolSpinTag),KolSplitButtonTag=o(KolSplitButtonTag),exports.KolTableSettingsWcTag=o(exports.KolTableSettingsWcTag),KolTableStatefulTag=o(KolTableStatefulTag),KolTableStatelessTag=o(KolTableStatelessTag),exports.KolTableStatelessWcTag=o(exports.KolTableStatelessWcTag),KolTabsTag=o(KolTabsTag),KolTextareaTag=o(KolTextareaTag),exports.KolToastContainerTag=o(exports.KolToastContainerTag),o(exports.KolTooltipWcTag),exports.KolTooltipWcTag=o(exports.KolTooltipWcTag),exports.KolTreeItemTag=o(exports.KolTreeItemTag),exports.KolTreeItemWcTag=o(exports.KolTreeItemWcTag),exports.KolTreeTag=o(exports.KolTreeTag),exports.KolTreeWcTag=o(exports.KolTreeWcTag),KolVersionTag=o(KolVersionTag)};exports.setCustomTagNames=setCustomTagNames;
@@ -0,0 +1 @@
1
+ {"file":"component-names-f5f2ca3a.js","mappings":";;;;;AAAO,IAAI,UAAU,GAAG,UAAmB,CAAC;AACrC,IAAI,eAAe,GAAG,eAAwB,CAAC;AAC/C,IAAI,WAAW,GAAG,WAAoB,CAAC;AACnCA,qBAAa,GAAG,eAAwB;AAC5C,IAAI,YAAY,GAAG,YAAqB,CAAC;AACrCC,sBAAc,GAAG,gBAAyB;AAC1CC,mBAAW,GAAG,YAAqB;AACvC,IAAI,gBAAgB,GAAG,gBAAyB,CAAC;AACjD,IAAI,gBAAgB,GAAG,iBAA0B,CAAC;AAC9CC,oBAAY,GAAG,aAAsB;AACrCC,sBAAc,GAAG,gBAAyB;AAC9C,IAAI,UAAU,GAAG,UAAmB,CAAC;AACjCC,oBAAY,GAAG,cAAuB;AAC1C,IAAI,cAAc,GAAG,cAAuB,CAAC;AAC7C,IAAI,aAAa,GAAG,aAAsB,CAAC;AAC3C,IAAI,YAAY,GAAG,YAAqB,CAAC;AACrCC,kBAAU,GAAG,WAAoB;AACjCC,qBAAa,GAAG,cAAuB;AACvCC,kBAAU,GAAG,WAAoB;AACrC,IAAI,WAAW,GAAG,WAAoB,CAAC;AACnCC,2BAAmB,GAAG,qBAA8B;AACxD,IAAI,gBAAgB,GAAG,iBAA0B,CAAC;AAClD,IAAI,eAAe,GAAG,gBAAyB,CAAC;AAChD,IAAI,gBAAgB,GAAG,iBAA0B,CAAC;AAClD,IAAI,eAAe,GAAG,gBAAyB,CAAC;AAC5CC,yBAAiB,GAAG,mBAA4B;AACpD,IAAI,mBAAmB,GAAG,oBAA6B,CAAC;AACxD,IAAI,gBAAgB,GAAG,iBAA0B,CAAC;AAClD,IAAI,gBAAgB,GAAG,iBAA0B,CAAC;AAClD,IAAI,WAAW,GAAG,WAAoB,CAAC;AACvC,IAAI,eAAe,GAAG,gBAAyB,CAAC;AAChD,IAAI,aAAa,GAAG,aAAsB,CAAC;AAC3C,IAAI,gBAAgB,GAAG,iBAA0B,CAAC;AAC9CC,kBAAU,GAAG,WAAoB;AACjCC,oBAAY,GAAG,cAAuB;AAC1C,IAAI,WAAW,GAAG,WAAoB,CAAC;AACvC,IAAI,SAAS,GAAG,SAAkB,CAAC;AAC/BC,wBAAgB,GAAG,iBAA0B;AAC7CC,uBAAe,GAAG,iBAA0B;AAChD,IAAI,mBAAmB,GAAG,oBAA6B,CAAC;AACpDC,6BAAqB,GAAG,wBAAiC;AAC7D,IAAI,cAAc,GAAG,cAAuB,CAAC;AAC7C,IAAI,WAAW,GAAG,WAAoB,CAAC;AACnCC,oBAAY,GAAG,aAAsB;AACzC,IAAI,kBAAkB,GAAG,mBAA4B,CAAC;AACtD,IAAI,aAAa,GAAG,cAAuB,CAAC;AAC5C,IAAI,UAAU,GAAG,UAAmB,CAAC;AACrC,IAAI,iBAAiB,GAAG,kBAA2B,CAAC;AAChDC,6BAAqB,GAAG,wBAAiC;AAC7D,IAAI,mBAAmB,GAAG,oBAAoB,CAAC;AAC/C,IAAI,oBAAoB,GAAG,qBAA8B,CAAC;AACtDC,8BAAsB,GAAG,yBAAkC;AAC/D,IAAI,UAAU,GAAG,UAAmB,CAAC;AACrC,IAAI,cAAc,GAAG,cAAuB,CAAC;AACzCC,4BAAoB,GAAG,sBAA+B;AAEtDC,uBAAe,GAAG,iBAA0B;AAC5CC,sBAAc,GAAG,gBAAyB;AAC1CC,wBAAgB,GAAG,mBAA4B;AAC/CC,kBAAU,GAAG,WAAoB;AACjCC,oBAAY,GAAG,cAAuB;AAC1C,IAAI,aAAa,GAAG,aAAsB,CAAC;MAErC,iBAAiB,GAAG,CAAC,gBAA6C;IAC9E,UAAU,GAAG,gBAAgB,CAAC,UAAoB,CAAe,CAAC;IAClE,eAAe,GAAG,gBAAgB,CAAC,eAAyB,CAAoB,CAAC;IACjF,WAAW,GAAG,gBAAgB,CAAC,WAAqB,CAAgB,CAAC;IACrExB,qBAAa,GAAG,gBAAgB,CAACA,qBAAuB,CAAmB,CAAC;IAC5E,YAAY,GAAG,gBAAgB,CAAC,YAAsB,CAAiB,CAAC;IACxEC,sBAAc,GAAG,gBAAgB,CAACA,sBAAwB,CAAoB,CAAC;IAC/EC,mBAAW,GAAG,gBAAgB,CAACA,mBAAqB,CAAgB,CAAC;IACrE,gBAAgB,GAAG,gBAAgB,CAAC,gBAA0B,CAAqB,CAAC;IACpF,gBAAgB,GAAG,gBAAgB,CAAC,gBAA0B,CAAsB,CAAC;IACrFC,oBAAY,GAAG,gBAAgB,CAACA,oBAAsB,CAAiB,CAAC;IACxEC,sBAAc,GAAG,gBAAgB,CAACA,sBAAwB,CAAoB,CAAC;IAC/E,UAAU,GAAG,gBAAgB,CAAC,UAAoB,CAAe,CAAC;IAClEC,oBAAY,GAAG,gBAAgB,CAACA,oBAAsB,CAAkB,CAAC;IACzE,cAAc,GAAG,gBAAgB,CAAC,cAAwB,CAAmB,CAAC;IAC9E,aAAa,GAAG,gBAAgB,CAAC,aAAuB,CAAkB,CAAC;IAC3E,YAAY,GAAG,gBAAgB,CAAC,YAAsB,CAAiB,CAAC;IACxEC,kBAAU,GAAG,gBAAgB,CAACA,kBAAoB,CAAe,CAAC;IAClEC,qBAAa,GAAG,gBAAgB,CAACA,qBAAuB,CAAkB,CAAC;IAC3EC,kBAAU,GAAG,gBAAgB,CAACA,kBAAoB,CAAe,CAAC;IAClE,WAAW,GAAG,gBAAgB,CAAC,WAAqB,CAAgB,CAAC;IACrEC,2BAAmB,GAAG,gBAAgB,CAACA,2BAA6B,CAAyB,CAAC;IAC9F,gBAAgB,GAAG,gBAAgB,CAAC,gBAA0B,CAAsB,CAAC;IACrF,eAAe,GAAG,gBAAgB,CAAC,eAAyB,CAAqB,CAAC;IAClF,gBAAgB,GAAG,gBAAgB,CAAC,gBAA0B,CAAsB,CAAC;IACrF,eAAe,GAAG,gBAAgB,CAAC,eAAyB,CAAqB,CAAC;IAClFC,yBAAiB,GAAG,gBAAgB,CAACA,yBAA2B,CAAuB,CAAC;IACxF,mBAAmB,GAAG,gBAAgB,CAAC,mBAA6B,CAAyB,CAAC;IAC9F,gBAAgB,GAAG,gBAAgB,CAAC,gBAA0B,CAAsB,CAAC;IACrF,gBAAgB,GAAG,gBAAgB,CAAC,gBAA0B,CAAsB,CAAC;IACrF,WAAW,GAAG,gBAAgB,CAAC,WAAqB,CAAgB,CAAC;IACrE,eAAe,GAAG,gBAAgB,CAAC,eAAyB,CAAqB,CAAC;IAClF,aAAa,GAAG,gBAAgB,CAAC,aAAuB,CAAkB,CAAC;IAC3E,gBAAgB,GAAG,gBAAgB,CAAC,gBAA0B,CAAsB,CAAC;IACrFC,kBAAU,GAAG,gBAAgB,CAACA,kBAAoB,CAAe,CAAC;IAClEC,oBAAY,GAAG,gBAAgB,CAACA,oBAAsB,CAAkB,CAAC;IACzE,WAAW,GAAG,gBAAgB,CAAC,WAAqB,CAAgB,CAAC;IACrE,SAAS,GAAG,gBAAgB,CAAC,SAAmB,CAAc,CAAC;IAC/DC,wBAAgB,GAAG,gBAAgB,CAACA,wBAA0B,CAAqB,CAAC;IACpFC,uBAAe,GAAG,gBAAgB,CAACA,uBAAyB,CAAqB,CAAC;IAClF,mBAAmB,GAAG,gBAAgB,CAAC,mBAA6B,CAAyB,CAAC;IAC9FC,6BAAqB,GAAG,gBAAgB,CAACA,6BAA+B,CAA4B,CAAC;IACrG,cAAc,GAAG,gBAAgB,CAAC,cAAwB,CAAmB,CAAC;IAC9E,WAAW,GAAG,gBAAgB,CAAC,WAAqB,CAAgB,CAAC;IACrEC,oBAAY,GAAG,gBAAgB,CAACA,oBAAsB,CAAiB,CAAC;IACxE,kBAAkB,GAAG,gBAAgB,CAAC,kBAA4B,CAAwB,CAAC;IAC3F,aAAa,GAAG,gBAAgB,CAAC,aAAuB,CAAmB,CAAC;IAC5E,UAAU,GAAG,gBAAgB,CAAC,UAAoB,CAAe,CAAC;IAClE,iBAAiB,GAAG,gBAAgB,CAAC,iBAA2B,CAAuB,CAAC;IACxFC,6BAAqB,GAAG,gBAAgB,CAACA,6BAAqB,CAA4B,CAAC;IAC3F,mBAAmB,GAAG,gBAAgB,CAAC,mBAAmB,CAAyB,CAAC;IACpF,oBAAoB,GAAG,gBAAgB,CAAC,oBAA8B,CAA0B,CAAC;IACjGC,8BAAsB,GAAG,gBAAgB,CAACA,8BAAgC,CAA6B,CAAC;IACxG,UAAU,GAAG,gBAAgB,CAAC,UAAoB,CAAe,CAAC;IAClE,cAAc,GAAG,gBAAgB,CAAC,cAAwB,CAAmB,CAAC;IAC9EC,4BAAoB,GAAG,gBAAgB,CAACA,4BAA8B,CAA0B,CAAC;IACjF,gBAAgB,CAACC,uBAAyB,CAAkB,CAAC;IAC7EA,uBAAe,GAAG,gBAAgB,CAACA,uBAAyB,CAAqB,CAAC;IAClFC,sBAAc,GAAG,gBAAgB,CAACA,sBAAwB,CAAoB,CAAC;IAC/EC,wBAAgB,GAAG,gBAAgB,CAACA,wBAA0B,CAAuB,CAAC;IACtFC,kBAAU,GAAG,gBAAgB,CAACA,kBAAoB,CAAe,CAAC;IAClEC,oBAAY,GAAG,gBAAgB,CAACA,oBAAsB,CAAkB,CAAC;IACzE,aAAa,GAAG,gBAAgB,CAAC,aAAuB,CAAkB,CAAC;AAC5E;;;;","names":["KolAlertWcTag","KolAvatarWcTag","KolBadgeTag","KolButtonTag","KolButtonWcTag","KolCardWcTag","KolFormTag","KolHeadingTag","KolIconTag","KolInputCheckboxTag","KolInputNumberTag","KolLinkTag","KolLinkWcTag","KolPaginationTag","KolPopoverWcTag","KolPopoverButtonWcTag","KolSelectTag","KolTableSettingsWcTag","KolTableStatelessWcTag","KolToastContainerTag","KolTooltipWcTag","KolTreeItemTag","KolTreeItemWcTag","KolTreeTag","KolTreeWcTag"],"sources":["src/core/component-names.ts"],"sourcesContent":["export let KolAbbrTag = 'kol-abbr' as const;\nexport let KolAccordionTag = 'kol-accordion' as const;\nexport let KolAlertTag = 'kol-alert' as const;\nexport let KolAlertWcTag = 'kol-alert-wc' as const;\nexport let KolAvatarTag = 'kol-avatar' as const;\nexport let KolAvatarWcTag = 'kol-avatar-wc' as const;\nexport let KolBadgeTag = 'kol-badge' as const;\nexport let KolBreadcrumbTag = 'kol-breadcrumb' as const;\nexport let KolButtonLinkTag = 'kol-button-link' as const;\nexport let KolButtonTag = 'kol-button' as const;\nexport let KolButtonWcTag = 'kol-button-wc' as const;\nexport let KolCardTag = 'kol-card' as const;\nexport let KolCardWcTag = 'kol-card-wc' as const;\nexport let KolComboboxTag = 'kol-combobox' as const;\nexport let KolDetailsTag = 'kol-details' as const;\nexport let KolDrawerTag = 'kol-drawer' as const;\nexport let KolFormTag = 'kol-form' as const;\nexport let KolHeadingTag = 'kol-heading' as const;\nexport let KolIconTag = 'kol-icon' as const;\nexport let KolImageTag = 'kol-image' as const;\nexport let KolInputCheckboxTag = 'kol-input-checkbox' as const;\nexport let KolInputColorTag = 'kol-input-color' as const;\nexport let KolInputDateTag = 'kol-input-date' as const;\nexport let KolInputEmailTag = 'kol-input-email' as const;\nexport let KolInputFileTag = 'kol-input-file' as const;\nexport let KolInputNumberTag = 'kol-input-number' as const;\nexport let KolInputPasswordTag = 'kol-input-password' as const;\nexport let KolInputRadioTag = 'kol-input-radio' as const;\nexport let KolInputRangeTag = 'kol-input-range' as const;\nexport let KolInputTag = 'kol-input' as const;\nexport let KolInputTextTag = 'kol-input-text' as const;\nexport let KolKolibriTag = 'kol-kolibri' as const;\nexport let KolLinkButtonTag = 'kol-link-button' as const;\nexport let KolLinkTag = 'kol-link' as const;\nexport let KolLinkWcTag = 'kol-link-wc' as const;\nexport let KolModalTag = 'kol-modal' as const;\nexport let KolNavTag = 'kol-nav' as const;\nexport let KolPaginationTag = 'kol-pagination' as const;\nexport let KolPopoverWcTag = 'kol-popover-wc' as const;\nexport let KolPopoverButtonTag = 'kol-popover-button' as const;\nexport let KolPopoverButtonWcTag = 'kol-popover-button-wc' as const;\nexport let KolProgressTag = 'kol-progress' as const;\nexport let KolQuoteTag = 'kol-quote' as const;\nexport let KolSelectTag = 'kol-select' as const;\nexport let KolSingleSelectTag = 'kol-single-select' as const;\nexport let KolSkipNavTag = 'kol-skip-nav' as const;\nexport let KolSpinTag = 'kol-spin' as const;\nexport let KolSplitButtonTag = 'kol-split-button' as const;\nexport let KolTableSettingsWcTag = 'kol-table-settings-wc' as const;\nexport let KolTableStatefulTag = 'kol-table-stateful';\nexport let KolTableStatelessTag = 'kol-table-stateless' as const;\nexport let KolTableStatelessWcTag = 'kol-table-stateless-wc' as const;\nexport let KolTabsTag = 'kol-tabs' as const;\nexport let KolTextareaTag = 'kol-textarea' as const;\nexport let KolToastContainerTag = 'kol-toast-container' as const;\nexport let KolToolbarTag = 'kol-toolbar' as const;\nexport let KolTooltipWcTag = 'kol-tooltip-wc' as const;\nexport let KolTreeItemTag = 'kol-tree-item' as const;\nexport let KolTreeItemWcTag = 'kol-tree-item-wc' as const;\nexport let KolTreeTag = 'kol-tree' as const;\nexport let KolTreeWcTag = 'kol-tree-wc' as const;\nexport let KolVersionTag = 'kol-version' as const;\n\nexport const setCustomTagNames = (transformTagName: (tagName: string) => string) => {\n\tKolAbbrTag = transformTagName(KolAbbrTag as string) as 'kol-abbr';\n\tKolAccordionTag = transformTagName(KolAccordionTag as string) as 'kol-accordion';\n\tKolAlertTag = transformTagName(KolAlertTag as string) as 'kol-alert';\n\tKolAlertWcTag = transformTagName(KolAlertWcTag as string) as 'kol-alert-wc';\n\tKolAvatarTag = transformTagName(KolAvatarTag as string) as 'kol-avatar';\n\tKolAvatarWcTag = transformTagName(KolAvatarWcTag as string) as 'kol-avatar-wc';\n\tKolBadgeTag = transformTagName(KolBadgeTag as string) as 'kol-badge';\n\tKolBreadcrumbTag = transformTagName(KolBreadcrumbTag as string) as 'kol-breadcrumb';\n\tKolButtonLinkTag = transformTagName(KolButtonLinkTag as string) as 'kol-button-link';\n\tKolButtonTag = transformTagName(KolButtonTag as string) as 'kol-button';\n\tKolButtonWcTag = transformTagName(KolButtonWcTag as string) as 'kol-button-wc';\n\tKolCardTag = transformTagName(KolCardTag as string) as 'kol-card';\n\tKolCardWcTag = transformTagName(KolCardWcTag as string) as 'kol-card-wc';\n\tKolComboboxTag = transformTagName(KolComboboxTag as string) as 'kol-combobox';\n\tKolDetailsTag = transformTagName(KolDetailsTag as string) as 'kol-details';\n\tKolDrawerTag = transformTagName(KolDrawerTag as string) as 'kol-drawer';\n\tKolFormTag = transformTagName(KolFormTag as string) as 'kol-form';\n\tKolHeadingTag = transformTagName(KolHeadingTag as string) as 'kol-heading';\n\tKolIconTag = transformTagName(KolIconTag as string) as 'kol-icon';\n\tKolImageTag = transformTagName(KolImageTag as string) as 'kol-image';\n\tKolInputCheckboxTag = transformTagName(KolInputCheckboxTag as string) as 'kol-input-checkbox';\n\tKolInputColorTag = transformTagName(KolInputColorTag as string) as 'kol-input-color';\n\tKolInputDateTag = transformTagName(KolInputDateTag as string) as 'kol-input-date';\n\tKolInputEmailTag = transformTagName(KolInputEmailTag as string) as 'kol-input-email';\n\tKolInputFileTag = transformTagName(KolInputFileTag as string) as 'kol-input-file';\n\tKolInputNumberTag = transformTagName(KolInputNumberTag as string) as 'kol-input-number';\n\tKolInputPasswordTag = transformTagName(KolInputPasswordTag as string) as 'kol-input-password';\n\tKolInputRadioTag = transformTagName(KolInputRadioTag as string) as 'kol-input-radio';\n\tKolInputRangeTag = transformTagName(KolInputRangeTag as string) as 'kol-input-range';\n\tKolInputTag = transformTagName(KolInputTag as string) as 'kol-input';\n\tKolInputTextTag = transformTagName(KolInputTextTag as string) as 'kol-input-text';\n\tKolKolibriTag = transformTagName(KolKolibriTag as string) as 'kol-kolibri';\n\tKolLinkButtonTag = transformTagName(KolLinkButtonTag as string) as 'kol-link-button';\n\tKolLinkTag = transformTagName(KolLinkTag as string) as 'kol-link';\n\tKolLinkWcTag = transformTagName(KolLinkWcTag as string) as 'kol-link-wc';\n\tKolModalTag = transformTagName(KolModalTag as string) as 'kol-modal';\n\tKolNavTag = transformTagName(KolNavTag as string) as 'kol-nav';\n\tKolPaginationTag = transformTagName(KolPaginationTag as string) as 'kol-pagination';\n\tKolPopoverWcTag = transformTagName(KolPopoverWcTag as string) as 'kol-popover-wc';\n\tKolPopoverButtonTag = transformTagName(KolPopoverButtonTag as string) as 'kol-popover-button';\n\tKolPopoverButtonWcTag = transformTagName(KolPopoverButtonWcTag as string) as 'kol-popover-button-wc';\n\tKolProgressTag = transformTagName(KolProgressTag as string) as 'kol-progress';\n\tKolQuoteTag = transformTagName(KolQuoteTag as string) as 'kol-quote';\n\tKolSelectTag = transformTagName(KolSelectTag as string) as 'kol-select';\n\tKolSingleSelectTag = transformTagName(KolSingleSelectTag as string) as 'kol-single-select';\n\tKolSkipNavTag = transformTagName(KolSkipNavTag as string) as 'kol-skip-nav';\n\tKolSpinTag = transformTagName(KolSpinTag as string) as 'kol-spin';\n\tKolSplitButtonTag = transformTagName(KolSplitButtonTag as string) as 'kol-split-button';\n\tKolTableSettingsWcTag = transformTagName(KolTableSettingsWcTag) as 'kol-table-settings-wc';\n\tKolTableStatefulTag = transformTagName(KolTableStatefulTag) as 'kol-table-stateful';\n\tKolTableStatelessTag = transformTagName(KolTableStatelessTag as string) as 'kol-table-stateless';\n\tKolTableStatelessWcTag = transformTagName(KolTableStatelessWcTag as string) as 'kol-table-stateless-wc';\n\tKolTabsTag = transformTagName(KolTabsTag as string) as 'kol-tabs';\n\tKolTextareaTag = transformTagName(KolTextareaTag as string) as 'kol-textarea';\n\tKolToastContainerTag = transformTagName(KolToastContainerTag as string) as 'kol-toast-container';\n\tKolToolbarTag = transformTagName(KolTooltipWcTag as string) as 'kol-toolbar';\n\tKolTooltipWcTag = transformTagName(KolTooltipWcTag as string) as 'kol-tooltip-wc';\n\tKolTreeItemTag = transformTagName(KolTreeItemTag as string) as 'kol-tree-item';\n\tKolTreeItemWcTag = transformTagName(KolTreeItemWcTag as string) as 'kol-tree-item-wc';\n\tKolTreeTag = transformTagName(KolTreeTag as string) as 'kol-tree';\n\tKolTreeWcTag = transformTagName(KolTreeWcTag as string) as 'kol-tree-wc';\n\tKolVersionTag = transformTagName(KolVersionTag as string) as 'kol-version';\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-94c17ce6.js"),getRenderStates=require("./getRenderStates-8372d842.js"),orientation=require("./orientation-7bef64eb.js"),label=require("./label-7b22af75.js"),validateInputSelectOptions=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===label.hasEnoughReadableChars(t.label,3)&&!1===label.containsOnlyNumbers(t.label)&&index.a11yHint(`A differing Aria-Label (${t.label}) is not accessible. A differing Aria-Label should consist of at least three readable characters.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===validateInputSelectOptions(t)));if("number"==typeof t.label)return!0}return!1},validateOptions=(t,e,i={})=>{index.watchJsonArrayString(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),e,void 0,i)},validateOptionsWithOptgroup=(t,e,i={})=>{index.watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,i)},validateRequired=(t,e)=>{index.watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,i="")=>{e.forEach(((e,o)=>{const a=`${i}-${o}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,a):t.set(a,e))}))};class InputCheckboxRadioController extends getRenderStates.InputController{constructor(t,e,i){super(t,e,i),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,i){super(t,e,i),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.afterPatchOptions=(t,e,i,o)=>{"_value"===o&&this.setFormAssociatedValue(t)},this.beforePatchOptions=(t,e)=>{const i=e.has("_options")?e.get("_options"):this.component.state._options;Array.isArray(i)&&i.length>0&&(this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,i))},this.component=t}validateOrientation(t){orientation.validateOrientation(this.component,t,"vertical")}validateOptions(t){validateOptions(this.component,t,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateValue(t){t=Array.isArray(t)?t[0]:t,index.setState(this.component,"_value",t,{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions})}componentWillLoad(){super.componentWillLoad(),this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}exports.InputCheckboxRadioController=InputCheckboxRadioController,exports.InputRadioController=InputRadioController,exports.fillKeyOptionMap=fillKeyOptionMap,exports.validateOptions=validateOptions,exports.validateOptionsWithOptgroup=validateOptionsWithOptgroup;
4
+ "use strict";const index=require("./index-94c17ce6.js"),getRenderStates=require("./getRenderStates-f985f2e4.js"),orientation=require("./orientation-7bef64eb.js"),label=require("./label-7b22af75.js"),validateInputSelectOptions=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===label.hasEnoughReadableChars(t.label,3)&&!1===label.containsOnlyNumbers(t.label)&&index.a11yHint(`A differing Aria-Label (${t.label}) is not accessible. A differing Aria-Label should consist of at least three readable characters.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===validateInputSelectOptions(t)));if("number"==typeof t.label)return!0}return!1},validateOptions=(t,e,i={})=>{index.watchJsonArrayString(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),e,void 0,i)},validateOptionsWithOptgroup=(t,e,i={})=>{index.watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,i)},validateRequired=(t,e)=>{index.watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,i="")=>{e.forEach(((e,o)=>{const a=`${i}-${o}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,a):t.set(a,e))}))};class InputCheckboxRadioController extends getRenderStates.InputController{constructor(t,e,i){super(t,e,i),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,i){super(t,e,i),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.afterPatchOptions=(t,e,i,o)=>{"_value"===o&&this.setFormAssociatedValue(t)},this.beforePatchOptions=(t,e)=>{const i=e.has("_options")?e.get("_options"):this.component.state._options;Array.isArray(i)&&i.length>0&&(this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,i))},this.component=t}validateOrientation(t){orientation.validateOrientation(this.component,t,"vertical")}validateOptions(t){validateOptions(this.component,t,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateValue(t){t=Array.isArray(t)?t[0]:t,index.setState(this.component,"_value",t,{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions})}componentWillLoad(){super.componentWillLoad(),this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}exports.InputCheckboxRadioController=InputCheckboxRadioController,exports.InputRadioController=InputRadioController,exports.fillKeyOptionMap=fillKeyOptionMap,exports.validateOptions=validateOptions,exports.validateOptionsWithOptgroup=validateOptionsWithOptgroup;
@@ -1 +1 @@
1
- {"file":"controller-ead08764.js","mappings":"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","names":["hasEnoughReadableChars","containsOnlyNumbers","a11yHint","watchJsonArrayString","watchBoolean","InputController","validateOrientation","setState"],"sources":["src/schema/validators/options.ts","src/schema/props/options.ts","src/schema/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { containsOnlyNumbers, hasEnoughReadableChars } from '../props';\nimport { a11yHint } from '../utils';\n\nimport type { Optgroup, SelectOption } from '../types';\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(`A differing Aria-Label (${option.label}) is not accessible. A differing Aria-Label should consist of at least three readable characters.`);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type { RadioOption, Optgroup, Option, StencilUnknown } from '../types';\nimport type { Stringified } from '../types/common';\nimport type { WatchOptions } from '../utils';\nimport { watchJsonArrayString } from '../utils';\nimport { validateInputSelectOptions } from '../validators';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<StencilUnknown>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<StencilUnknown> | Optgroup<StencilUnknown>)[]>;\nexport type RadioOptionsPropType = Stringified<RadioOption<StencilUnknown>[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\nexport type PropRadioOptions = {\n\toptions: RadioOptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<StencilUnknown>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions,\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {},\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type {\n\tInputRadioProps,\n\tInputRadioWatches,\n\tOptgroup,\n\tOptionsPropType,\n\tPropLabelWithExpertSlot,\n\tRadioOption,\n\tSelectOption,\n\tStencilUnknown,\n} from '../../schema';\nimport { setState, validateOptions, validateRequired } from '../../schema';\n\nimport { InputController } from '../@deprecated/input/controller';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, RadioOption<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as RadioOption<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements InputRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputRadioProps;\n\tprivate readonly keyOptionMap = new Map<string, RadioOption<StencilUnknown>>();\n\n\tpublic constructor(component: Generic.Element.Component & InputRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): RadioOption<StencilUnknown> | undefined => this.keyOptionMap.get(key);\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\tpublic validateOrientation(value?: OrientationPropType): void {\n\t\tvalidateOrientation(this.component, value, 'vertical');\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<StencilUnknown>[]);\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 validateValue(value?: StencilUnknown): void {\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller-1ead3829.js","mappings":"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","names":["hasEnoughReadableChars","containsOnlyNumbers","a11yHint","watchJsonArrayString","watchBoolean","InputController","validateOrientation","setState"],"sources":["src/schema/validators/options.ts","src/schema/props/options.ts","src/schema/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { containsOnlyNumbers, hasEnoughReadableChars } from '../props';\nimport { a11yHint } from '../utils';\n\nimport type { Optgroup, SelectOption } from '../types';\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(`A differing Aria-Label (${option.label}) is not accessible. A differing Aria-Label should consist of at least three readable characters.`);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type { RadioOption, Optgroup, Option, StencilUnknown } from '../types';\nimport type { Stringified } from '../types/common';\nimport type { WatchOptions } from '../utils';\nimport { watchJsonArrayString } from '../utils';\nimport { validateInputSelectOptions } from '../validators';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<StencilUnknown>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<StencilUnknown> | Optgroup<StencilUnknown>)[]>;\nexport type RadioOptionsPropType = Stringified<RadioOption<StencilUnknown>[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\nexport type PropRadioOptions = {\n\toptions: RadioOptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<StencilUnknown>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions,\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {},\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type {\n\tInputRadioProps,\n\tInputRadioWatches,\n\tOptgroup,\n\tOptionsPropType,\n\tPropLabelWithExpertSlot,\n\tRadioOption,\n\tSelectOption,\n\tStencilUnknown,\n} from '../../schema';\nimport { setState, validateOptions, validateRequired } from '../../schema';\n\nimport { InputController } from '../@deprecated/input/controller';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, RadioOption<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as RadioOption<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements InputRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputRadioProps;\n\tprivate readonly keyOptionMap = new Map<string, RadioOption<StencilUnknown>>();\n\n\tpublic constructor(component: Generic.Element.Component & InputRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): RadioOption<StencilUnknown> | undefined => this.keyOptionMap.get(key);\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\tpublic validateOrientation(value?: OrientationPropType): void {\n\t\tvalidateOrientation(this.component, value, 'vertical');\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<StencilUnknown>[]);\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 validateValue(value?: StencilUnknown): void {\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-94c17ce6.js"),controllerIcon=require("./controller-icon-429a5f31.js"),hasCounter=require("./has-counter-edfb692b.js"),PasswordVariantPropTypeOptions=["default","visibility-toggle"],validatePasswordVariant=(t,e)=>{index.watchValidator(t,"_variant",(t=>"string"==typeof t&&PasswordVariantPropTypeOptions.includes(t)),new Set(PasswordVariantPropTypeOptions),e)};class InputPasswordController extends controllerIcon.InputIconController{constructor(t,e,a){super(t,e,a),this.afterSyncCharCounter=()=>{"string"==typeof this.component._value&&this.component._value.length>0&&(this.component.state._currentLength=this.component._value.length)},this.component=t}validateAutoComplete(t){index.watchValidator(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){hasCounter.validateHasCounter(this.component,t,{hooks:{afterPatch:this.afterSyncCharCounter}})}validateVariant(t){validatePasswordVariant(this.component,t)}validateMaxLength(t){index.watchNumber(this.component,"_maxLength",t,{hooks:{afterPatch:this.afterSyncCharCounter},min:0})}validatePattern(t){index.watchString(this.component,"_pattern",t)}validatePlaceholder(t){index.watchString(this.component,"_placeholder",t)}validateReadOnly(t){index.watchBoolean(this.component,"_readOnly",t)}validateRequired(t){index.watchBoolean(this.component,"_required",t)}validateValue(t){index.watchString(this.component,"_value",t,{hooks:{afterPatch:this.afterSyncCharCounter}}),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateValue(this.component._value),this.validateVariant(this.component._variant)}}exports.InputPasswordController=InputPasswordController;
4
+ "use strict";const index=require("./index-94c17ce6.js"),controllerIcon=require("./controller-icon-cbcacd17.js"),hasCounter=require("./has-counter-edfb692b.js"),PasswordVariantPropTypeOptions=["default","visibility-toggle"],validatePasswordVariant=(t,e)=>{index.watchValidator(t,"_variant",(t=>"string"==typeof t&&PasswordVariantPropTypeOptions.includes(t)),new Set(PasswordVariantPropTypeOptions),e)};class InputPasswordController extends controllerIcon.InputIconController{constructor(t,e,a){super(t,e,a),this.afterSyncCharCounter=()=>{"string"==typeof this.component._value&&this.component._value.length>0&&(this.component.state._currentLength=this.component._value.length)},this.component=t}validateAutoComplete(t){index.watchValidator(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){hasCounter.validateHasCounter(this.component,t,{hooks:{afterPatch:this.afterSyncCharCounter}})}validateVariant(t){validatePasswordVariant(this.component,t)}validateMaxLength(t){index.watchNumber(this.component,"_maxLength",t,{hooks:{afterPatch:this.afterSyncCharCounter},min:0})}validatePattern(t){index.watchString(this.component,"_pattern",t)}validatePlaceholder(t){index.watchString(this.component,"_placeholder",t)}validateReadOnly(t){index.watchBoolean(this.component,"_readOnly",t)}validateRequired(t){index.watchBoolean(this.component,"_required",t)}validateValue(t){index.watchString(this.component,"_value",t,{hooks:{afterPatch:this.afterSyncCharCounter}}),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateValue(this.component._value),this.validateVariant(this.component._variant)}}exports.InputPasswordController=InputPasswordController;
@@ -1 +1 @@
1
- {"file":"controller-61f2f5b4.js","mappings":"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","names":["watchValidator","InputIconController","validateHasCounter","watchNumber","watchString","watchBoolean"],"sources":["src/schema/props/variant/password-variant.ts","src/components/input-password/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\nconst PasswordVariantPropTypeOptions = ['default', 'visibility-toggle'] as const;\nexport type PasswordVariantPropType = (typeof PasswordVariantPropTypeOptions)[number];\n\n/**\n * Defines the different variants for displaying the password input.\n */\nexport type PropPasswordVariant = {\n\tvariant: PasswordVariantPropType;\n};\n\n/* validator */\nexport const validatePasswordVariant = (component: Generic.Element.Component, value?: PasswordVariantPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_variant',\n\t\t(value) => typeof value === 'string' && PasswordVariantPropTypeOptions.includes(value),\n\t\tnew Set(PasswordVariantPropTypeOptions),\n\t\tvalue,\n\t);\n};\n","import type { InputPasswordProps, InputPasswordWatches, InputTypeOnOff } from '../../schema';\nimport { validateHasCounter, watchBoolean, watchNumber, watchString, watchValidator } from '../../schema';\nimport type { PasswordVariantPropType } from '../../schema/props/variant/password-variant';\nimport { validatePasswordVariant } from '../../schema/props/variant/password-variant';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class InputPasswordController extends InputIconController implements InputPasswordWatches {\n\tprotected readonly component: Generic.Element.Component & InputPasswordProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputPasswordProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprotected afterSyncCharCounter = () => {\n\t\tif (typeof this.component._value === 'string' && this.component._value.length > 0) {\n\t\t\tthis.component.state._currentLength = this.component._value.length;\n\t\t}\n\t};\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateVariant(value?: PasswordVariantPropType): void {\n\t\tvalidatePasswordVariant(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePattern(this.component._pattern);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validateVariant(this.component._variant);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller-57e0e326.js","mappings":"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","names":["watchValidator","InputIconController","validateHasCounter","watchNumber","watchString","watchBoolean"],"sources":["src/schema/props/variant/password-variant.ts","src/components/input-password/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\nconst PasswordVariantPropTypeOptions = ['default', 'visibility-toggle'] as const;\nexport type PasswordVariantPropType = (typeof PasswordVariantPropTypeOptions)[number];\n\n/**\n * Defines the different variants for displaying the password input.\n */\nexport type PropPasswordVariant = {\n\tvariant: PasswordVariantPropType;\n};\n\n/* validator */\nexport const validatePasswordVariant = (component: Generic.Element.Component, value?: PasswordVariantPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_variant',\n\t\t(value) => typeof value === 'string' && PasswordVariantPropTypeOptions.includes(value),\n\t\tnew Set(PasswordVariantPropTypeOptions),\n\t\tvalue,\n\t);\n};\n","import type { InputPasswordProps, InputPasswordWatches, InputTypeOnOff } from '../../schema';\nimport { validateHasCounter, watchBoolean, watchNumber, watchString, watchValidator } from '../../schema';\nimport type { PasswordVariantPropType } from '../../schema/props/variant/password-variant';\nimport { validatePasswordVariant } from '../../schema/props/variant/password-variant';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class InputPasswordController extends InputIconController implements InputPasswordWatches {\n\tprotected readonly component: Generic.Element.Component & InputPasswordProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputPasswordProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprotected afterSyncCharCounter = () => {\n\t\tif (typeof this.component._value === 'string' && this.component._value.length > 0) {\n\t\t\tthis.component.state._currentLength = this.component._value.length;\n\t\t}\n\t};\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateVariant(value?: PasswordVariantPropType): void {\n\t\tvalidatePasswordVariant(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePattern(this.component._pattern);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validateVariant(this.component._variant);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-94c17ce6.js"),componentNames=require("./component-names-82c4d68d.js"),searchFormElement=e=>{for(index.getExperimentalMode()&&(index.devHint("↓ Search form element start."),index.Log.debug(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&e.tagName!==componentNames.KolFormTag.toUpperCase();){try{e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null}catch(e){}index.getExperimentalMode()&&(index.Log.debug(e),index.devHint("↑ Search form element finished."))}return e},propagateResetEventToForm=(e={})=>{var t,o;const n=searchFormElement(e.form);if(n instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===n.tagName)index.setEventTarget(e,n),n.dispatchEvent(e);else if(n.tagName===componentNames.KolFormTag.toUpperCase()){index.setEventTarget(e,index.KoliBriDevHelper.querySelector("form",n));const r=n;"function"==typeof(null===(t=r._on)||void 0===t?void 0:t.onReset)&&(null===(o=r._on)||void 0===o||o.onReset(e))}}},propagateSubmitEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t});if("FORM"===t.tagName)index.getExperimentalMode()&&!1===t.noValidate&&index.devHint("If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.",{force:!0}),setTimeout((()=>{"function"==typeof t.requestSubmit?t.requestSubmit():(index.setEventTarget(e,t),t.dispatchEvent(e))}));else if(t.tagName===componentNames.KolFormTag.toUpperCase()){index.setEventTarget(e,index.KoliBriDevHelper.querySelector("form",t));const o=t;setTimeout((()=>{var t,n;"function"==typeof(null===(t=o._on)||void 0===t?void 0:t.onSubmit)&&(null===(n=o._on)||void 0===n||n.onSubmit(e))}))}}};exports.propagateResetEventToForm=propagateResetEventToForm,exports.propagateSubmitEventToForm=propagateSubmitEventToForm;
4
+ "use strict";const index=require("./index-94c17ce6.js"),componentNames=require("./component-names-f5f2ca3a.js"),searchFormElement=e=>{for(index.getExperimentalMode()&&(index.devHint("↓ Search form element start."),index.Log.debug(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&e.tagName!==componentNames.KolFormTag.toUpperCase();){try{e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null}catch(e){}index.getExperimentalMode()&&(index.Log.debug(e),index.devHint("↑ Search form element finished."))}return e},propagateResetEventToForm=(e={})=>{var t,o;const n=searchFormElement(e.form);if(n instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===n.tagName)index.setEventTarget(e,n),n.dispatchEvent(e);else if(n.tagName===componentNames.KolFormTag.toUpperCase()){index.setEventTarget(e,index.KoliBriDevHelper.querySelector("form",n));const r=n;"function"==typeof(null===(t=r._on)||void 0===t?void 0:t.onReset)&&(null===(o=r._on)||void 0===o||o.onReset(e))}}},propagateSubmitEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t});if("FORM"===t.tagName)index.getExperimentalMode()&&!1===t.noValidate&&index.devHint("If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.",{force:!0}),setTimeout((()=>{"function"==typeof t.requestSubmit?t.requestSubmit():(index.setEventTarget(e,t),t.dispatchEvent(e))}));else if(t.tagName===componentNames.KolFormTag.toUpperCase()){index.setEventTarget(e,index.KoliBriDevHelper.querySelector("form",t));const o=t;setTimeout((()=>{var t,n;"function"==typeof(null===(t=o._on)||void 0===t?void 0:t.onSubmit)&&(null===(n=o._on)||void 0===n||n.onSubmit(e))}))}}};exports.propagateResetEventToForm=propagateResetEventToForm,exports.propagateSubmitEventToForm=propagateSubmitEventToForm;
@@ -1 +1 @@
1
- {"file":"controller-cb68b652.js","mappings":"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","names":["getExperimentalMode","devHint","Log","KolFormTag","setEventTarget","KoliBriDevHelper"],"sources":["src/components/form/controller.ts"],"sourcesContent":["import type { FormProps } from '../../schema';\nimport { Log } from '../../schema';\nimport { devHint, getExperimentalMode, KoliBriDevHelper, setEventTarget } from '../../schema';\nimport { KolFormTag } from '../../core/component-names';\n\nconst searchFormElement = (el?: HTMLElement | ParentNode | null): HTMLElement | ParentNode | null | undefined => {\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↓ Search form element start.`);\n\t\tLog.debug(el);\n\t}\n\twhile (el instanceof HTMLElement && el.tagName !== 'FORM' && el.tagName !== KolFormTag.toUpperCase()) {\n\t\ttry {\n\t\t\tif (el.parentElement instanceof HTMLElement) {\n\t\t\t\tel = el.parentElement;\n\t\t\t} else if (el.parentNode instanceof ShadowRoot) {\n\t\t\t\tel = el.parentNode.host;\n\t\t\t} else {\n\t\t\t\tel = null;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t\tif (getExperimentalMode()) {\n\t\t\tLog.debug(el);\n\t\t\tdevHint(`↑ Search form element finished.`);\n\t\t}\n\t}\n\treturn el;\n};\n\nexport const propagateResetEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new Event('reset', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t});\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\tif (typeof kolForm._on?.onReset === 'function') {\n\t\t\t\ttypeof kolForm._on?.onReset(event);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const propagateSubmitEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new SubmitEvent('submit', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tsubmitter: form,\n\t\t});\n\t\t/**\n\t\t * TODO: Wenn Formular-Action (nicht Ajax oder JS) verwendet wird,\n\t\t * dann müssen wir das Event an das HTMLFormElement innerhalb\n\t\t * der HTMLKolFormElements propagieren, wenn kein onSubmit\n\t\t * gesetzt wurde.\n\t\t *\n\t\t * TODO: Form-associated custom elements:\n\t\t * - https://web.dev/more-capable-form-controls/\n\t\t * - https://github.com/public-ui/kolibri/issues/946\n\t\t */\n\t\tif (form.tagName === 'FORM') {\n\t\t\tif (getExperimentalMode() && (form as HTMLFormElement).noValidate === false) {\n\t\t\t\tdevHint(`If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.`, {\n\t\t\t\t\tforce: true,\n\t\t\t\t});\n\t\t\t\t// (form as HTMLFormElement).noValidate = true; do not make this implicit\n\t\t\t}\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit\n\t\t\t\tif (typeof (form as HTMLFormElement).requestSubmit === 'function') {\n\t\t\t\t\t(form as HTMLFormElement).requestSubmit();\n\t\t\t\t} else {\n\t\t\t\t\tsetEventTarget(event, form);\n\t\t\t\t\tform.dispatchEvent(event);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (typeof kolForm._on?.onSubmit === 'function') {\n\t\t\t\t\tkolForm._on?.onSubmit(event);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n"],"version":3}
1
+ {"file":"controller-b85b16a2.js","mappings":";;;;;;;;AAKA,MAAM,iBAAiB,GAAG,CAAC,EAAoC;IAC9D,IAAIA,yBAAmB,EAAE,EAAE;QAC1BC,aAAO,CAAC,8BAA8B,CAAC,CAAC;QACxCC,SAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACd;IACD,OAAO,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,OAAO,KAAKC,yBAAU,CAAC,WAAW,EAAE,EAAE;QACrG,IAAI;YACH,IAAI,EAAE,CAAC,aAAa,YAAY,WAAW,EAAE;gBAC5C,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;aACtB;iBAAM,IAAI,EAAE,CAAC,UAAU,YAAY,UAAU,EAAE;gBAC/C,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;aACxB;iBAAM;gBACN,EAAE,GAAG,IAAI,CAAC;aACV;SACD;QAAC,OAAO,KAAK,EAAE;SAMf;QACD,IAAIH,yBAAmB,EAAE,EAAE;YAC1BE,SAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACdD,aAAO,CAAC,iCAAiC,CAAC,CAAC;SAC3C;KACD;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;MAEW,yBAAyB,GAAG,CACxC,UAGI,EAAE;;IAEN,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,IAAI,YAAY,WAAW,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;YAChC,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;YAC5BG,oBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM,IAAI,IAAI,CAAC,OAAO,KAAKD,yBAAU,CAAC,WAAW,EAAE,EAAE;YACrDC,oBAAc,CAAC,KAAK,EAAEC,sBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAoB,CAAC,CAAC;YACvF,MAAM,OAAO,GAAG,IAAiB,CAAC;YAClC,IAAI,QAAO,MAAA,OAAO,CAAC,GAAG,0CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;gBAC/C,QAAO,MAAA,OAAO,CAAC,GAAG,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC;aACnC;SACD;KACD;AACF,EAAE;MAEW,0BAA0B,GAAG,CACzC,UAGI,EAAE;IAEN,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,IAAI,YAAY,WAAW,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE;YACvC,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QAWH,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;YAC5B,IAAIL,yBAAmB,EAAE,IAAK,IAAwB,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC5EC,aAAO,CAAC,2GAA2G,EAAE;oBACpH,KAAK,EAAE,IAAI;iBACX,CAAC,CAAC;aAEH;YAED,UAAU,CAAC;gBAEV,IAAI,OAAQ,IAAwB,CAAC,aAAa,KAAK,UAAU,EAAE;oBACjE,IAAwB,CAAC,aAAa,EAAE,CAAC;iBAC1C;qBAAM;oBACNG,oBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC1B;aACD,CAAC,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,OAAO,KAAKD,yBAAU,CAAC,WAAW,EAAE,EAAE;YACrDC,oBAAc,CAAC,KAAK,EAAEC,sBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAoB,CAAC,CAAC;YACvF,MAAM,OAAO,GAAG,IAAiB,CAAC;YAElC,UAAU,CAAC;;gBACV,IAAI,QAAO,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,CAAA,KAAK,UAAU,EAAE;oBAChD,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;iBAC7B;aACD,CAAC,CAAC;SACH;KACD;AACF;;;;;","names":["getExperimentalMode","devHint","Log","KolFormTag","setEventTarget","KoliBriDevHelper"],"sources":["src/components/form/controller.ts"],"sourcesContent":["import type { FormProps } from '../../schema';\nimport { Log } from '../../schema';\nimport { devHint, getExperimentalMode, KoliBriDevHelper, setEventTarget } from '../../schema';\nimport { KolFormTag } from '../../core/component-names';\n\nconst searchFormElement = (el?: HTMLElement | ParentNode | null): HTMLElement | ParentNode | null | undefined => {\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↓ Search form element start.`);\n\t\tLog.debug(el);\n\t}\n\twhile (el instanceof HTMLElement && el.tagName !== 'FORM' && el.tagName !== KolFormTag.toUpperCase()) {\n\t\ttry {\n\t\t\tif (el.parentElement instanceof HTMLElement) {\n\t\t\t\tel = el.parentElement;\n\t\t\t} else if (el.parentNode instanceof ShadowRoot) {\n\t\t\t\tel = el.parentNode.host;\n\t\t\t} else {\n\t\t\t\tel = null;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t\tif (getExperimentalMode()) {\n\t\t\tLog.debug(el);\n\t\t\tdevHint(`↑ Search form element finished.`);\n\t\t}\n\t}\n\treturn el;\n};\n\nexport const propagateResetEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new Event('reset', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t});\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\tif (typeof kolForm._on?.onReset === 'function') {\n\t\t\t\ttypeof kolForm._on?.onReset(event);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const propagateSubmitEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new SubmitEvent('submit', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tsubmitter: form,\n\t\t});\n\t\t/**\n\t\t * TODO: Wenn Formular-Action (nicht Ajax oder JS) verwendet wird,\n\t\t * dann müssen wir das Event an das HTMLFormElement innerhalb\n\t\t * der HTMLKolFormElements propagieren, wenn kein onSubmit\n\t\t * gesetzt wurde.\n\t\t *\n\t\t * TODO: Form-associated custom elements:\n\t\t * - https://web.dev/more-capable-form-controls/\n\t\t * - https://github.com/public-ui/kolibri/issues/946\n\t\t */\n\t\tif (form.tagName === 'FORM') {\n\t\t\tif (getExperimentalMode() && (form as HTMLFormElement).noValidate === false) {\n\t\t\t\tdevHint(`If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.`, {\n\t\t\t\t\tforce: true,\n\t\t\t\t});\n\t\t\t\t// (form as HTMLFormElement).noValidate = true; do not make this implicit\n\t\t\t}\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit\n\t\t\t\tif (typeof (form as HTMLFormElement).requestSubmit === 'function') {\n\t\t\t\t\t(form as HTMLFormElement).requestSubmit();\n\t\t\t\t} else {\n\t\t\t\t\tsetEventTarget(event, form);\n\t\t\t\t\tform.dispatchEvent(event);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (typeof kolForm._on?.onSubmit === 'function') {\n\t\t\t\t\tkolForm._on?.onSubmit(event);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-94c17ce6.js"),controller=require("./controller-61f2f5b4.js"),spellCheck=require("./spell-check-e7bda657.js"),suggestions=require("./suggestions-88f8f404.js"),inputTextTypeOptions=["text","search","url","tel"];class InputTextEmailController extends controller.InputPasswordController{constructor(e,t,o){super(e,t,o),this.component=e}validateSuggestions(e){suggestions.validateSuggestions(this.component,e)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(e,t,o){super(e,t,o),this.hasError=!1,this.component=e}validateSpellCheck(e){spellCheck.validateSpellCheck(this.component,e)}validateType(e){index.watchValidator(this.component,"_type",(e=>"string"==typeof e&&inputTextTypeOptions.includes(e)),new Set([`String {${inputTextTypeOptions.join(", ")}`]),e)}componentWillLoad(){super.componentWillLoad(),this.validateSpellCheck(this.component._spellCheck),this.validateType(this.component._type)}}exports.InputTextController=InputTextController,exports.InputTextEmailController=InputTextEmailController;
4
+ "use strict";const index=require("./index-94c17ce6.js"),controller=require("./controller-57e0e326.js"),spellCheck=require("./spell-check-e7bda657.js"),suggestions=require("./suggestions-88f8f404.js"),inputTextTypeOptions=["text","search","url","tel"];class InputTextEmailController extends controller.InputPasswordController{constructor(e,t,o){super(e,t,o),this.component=e}validateSuggestions(e){suggestions.validateSuggestions(this.component,e)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(e,t,o){super(e,t,o),this.hasError=!1,this.component=e}validateSpellCheck(e){spellCheck.validateSpellCheck(this.component,e)}validateType(e){index.watchValidator(this.component,"_type",(e=>"string"==typeof e&&inputTextTypeOptions.includes(e)),new Set([`String {${inputTextTypeOptions.join(", ")}`]),e)}componentWillLoad(){super.componentWillLoad(),this.validateSpellCheck(this.component._spellCheck),this.validateType(this.component._type)}}exports.InputTextController=InputTextController,exports.InputTextEmailController=InputTextEmailController;
@@ -1 +1 @@
1
- {"file":"controller-b2da8abe.js","mappings":";;;;;;;;;;AAAO,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAU;;MCsBhE,wBAAyB,SAAQA,kCAAuB;IAGpE,YAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB;QAC9G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,mBAAmB,CAAC,KAA2B;QACrDC,+BAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC3C;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;KACtD;CACD;MAEY,mBAAoB,SAAQ,wBAAwB;IAKhE,YAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB;QACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAHvB,aAAQ,GAAG,KAAK,CAAC;QAIvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,kBAAkB,CAAC,KAA0B;QACnDC,6BAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC1C;IAEM,YAAY,CAAC,KAAqB;QACxCC,oBAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrF,IAAI,GAAG,CAAC,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACvD,KAAK,CACL,CAAC;KACF;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACxC;;;;;;","names":["InputPasswordController","validateSuggestions","validateSpellCheck","watchValidator"],"sources":["src/schema/types/input/control/text.ts","src/components/input-text/controller.ts"],"sourcesContent":["export const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextType = (typeof inputTextTypeOptions)[number];\n","import type {\n\tInputTextProps,\n\tInputTextType,\n\tInputTextWatches,\n\tPropLabelWithExpertSlot,\n\tPropSuggestions,\n\tSpellCheckPropType,\n\tSuggestionsPropType,\n} from '../../schema';\nimport { inputTextTypeOptions, validateSpellCheck, validateSuggestions, watchValidator } from '../../schema';\n\nimport { InputPasswordController } from '../input-password/controller';\n\nimport type { Generic } from 'adopted-style-sheets';\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\tid: string;\n} & PropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateSpellCheck(value?: SpellCheckPropType): void {\n\t\tvalidateSpellCheck(this.component, value);\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && inputTextTypeOptions.includes(value),\n\t\t\tnew Set([`String {${inputTextTypeOptions.join(', ')}`]),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSpellCheck(this.component._spellCheck);\n\t\tthis.validateType(this.component._type);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller-c6c3ab7a.js","mappings":";;;;;;;;;;AAAO,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAU;;MCsBhE,wBAAyB,SAAQA,kCAAuB;IAGpE,YAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB;QAC9G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,mBAAmB,CAAC,KAA2B;QACrDC,+BAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC3C;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;KACtD;CACD;MAEY,mBAAoB,SAAQ,wBAAwB;IAKhE,YAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB;QACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAHvB,aAAQ,GAAG,KAAK,CAAC;QAIvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,kBAAkB,CAAC,KAA0B;QACnDC,6BAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC1C;IAEM,YAAY,CAAC,KAAqB;QACxCC,oBAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrF,IAAI,GAAG,CAAC,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACvD,KAAK,CACL,CAAC;KACF;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACxC;;;;;;","names":["InputPasswordController","validateSuggestions","validateSpellCheck","watchValidator"],"sources":["src/schema/types/input/control/text.ts","src/components/input-text/controller.ts"],"sourcesContent":["export const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextType = (typeof inputTextTypeOptions)[number];\n","import type {\n\tInputTextProps,\n\tInputTextType,\n\tInputTextWatches,\n\tPropLabelWithExpertSlot,\n\tPropSuggestions,\n\tSpellCheckPropType,\n\tSuggestionsPropType,\n} from '../../schema';\nimport { inputTextTypeOptions, validateSpellCheck, validateSuggestions, watchValidator } from '../../schema';\n\nimport { InputPasswordController } from '../input-password/controller';\n\nimport type { Generic } from 'adopted-style-sheets';\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\tid: string;\n} & PropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateSpellCheck(value?: SpellCheckPropType): void {\n\t\tvalidateSpellCheck(this.component, value);\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && inputTextTypeOptions.includes(value),\n\t\t\tnew Set([`String {${inputTextTypeOptions.join(', ')}`]),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSpellCheck(this.component._spellCheck);\n\t\tthis.validateType(this.component._type);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- "use strict";const index=require("./index-a40019ac.js"),index$1=require("./index-94c17ce6.js"),tslib_es6=require("./tslib.es6-5e301284.js"),clsx=require("./clsx-dd4d6dd1.js"),getRenderStates=require("./getRenderStates-8372d842.js"),componentNames=require("./component-names-82c4d68d.js"),Icon=require("./Icon-add098ba.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-63e8b102.js"),isObject=require("./isObject-6090b636.js"),icons=require("./icons-99569c9b.js"),InputAdornment=(n,e)=>{var{position:t="start",class:s}=n,o=tslib_es6.__rest(n,["position","class"]);const i="kol-input-container__adornment",r=`${i}--${t}`;return index.h("div",Object.assign({class:clsx.clsx(i,r,s)},o),e)};function hasItems(n){return!!n&&(Array.isArray(n)?n.length>0:Boolean(n))}const Container=(n,e)=>{var{class:t}=n,s=tslib_es6.__rest(n,["class"]);return index.h("div",Object.assign({class:clsx.clsx("kol-input-container__container",t)},s),e)},KolInputContainerFc=(n,e)=>{const{class:t,startAdornment:s,endAdornment:o,disabled:i,msg:r,touched:c,containerProps:a,startAdornmentProps:l,endAdornmentProps:d}=n,u=tslib_es6.__rest(n,["class","startAdornment","endAdornment","disabled","msg","touched","containerProps","startAdornmentProps","endAdornmentProps"]),b=getRenderStates.checkHasMsg(r,c),p={"kol-input-container--disabled":i,[`kol-input-container--${(null==r?void 0:r.type)||"error"}`]:b},m=Object.assign({class:clsx.clsx("kol-input-container",p,t)},u);return hasItems(s)||hasItems(o)?index.h("div",Object.assign({},m),index.h(InputAdornment,Object.assign({},l,{position:"start"}),s),index.h(Container,Object.assign({},a),e),index.h(InputAdornment,Object.assign({},d,{position:"end"}),o)):index.h("div",Object.assign({},m),index.h(Container,Object.assign({},a),e))},KolButtonFc=n=>{const{label:e,icons:t,hideLabel:s,disabled:o,onClick:i}=n,r=tslib_es6.__rest(n,["label","icons","hideLabel","disabled","onClick"]);return index.h(componentNames.KolButtonWcTag,Object.assign({_label:e,_disabled:o,_icons:t,_hideLabel:s,_on:{onClick:i}},r))},KolIconButtonFc=n=>{const{componentName:e="button",label:t,icon:s,onClick:o}=n,i=tslib_es6.__rest(n,["componentName","label","icon","onClick"]),r="button"===e?KolButtonFc:Icon.KolIconFc;return index.h(r,Object.assign({label:t||"",hideLabel:!0,icons:`codicon codicon-${s}`,onClick:o},i))};function getInputContainerProps(n){let e,t;return"_icons"in n&&(e=n._icons),"_smartButton"in n&&(t=n._smartButton),{icons:e,smartButton:t,disabled:n._disabled,msg:getRenderStates.convertMsgToInternMsg(n._msg),touched:n._touched}}const InputContainerStateWrapperFc=({state:n,endAdornment:e},t)=>{const{icons:s,smartButton:o,disabled:i,msg:r,touched:c}=getInputContainerProps(n);let a=null==s?void 0:s.left;InternalUnderlinedBadgeText.isString(a)&&(a={icon:a});let l=null==s?void 0:s.right;InternalUnderlinedBadgeText.isString(l)&&(l={icon:l});const d=[],u=[];return e&&(Array.isArray(e)?u.push(...e):u.push(e)),a&&d.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(a)?a:{}))),isObject.isObject(o)&&u.push(index.h(KolIconButtonFc,Object.assign({componentName:"button",class:"kol-input-container__smart-button"},o,{hideLabel:!0,disabled:i}))),l&&u.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(l)?l:{}))),index.h(KolInputContainerFc,{disabled:i,msg:r,touched:c,startAdornment:d,endAdornment:u},t)};class InputIconController extends getRenderStates.InputController{constructor(n,e,t){super(n,e,t),this.numberStringRegex=/^\d+(\.\d+)?$/,this.parseToNumber=n=>"number"==typeof n?isNaN(n)?null:n:this.isNumberString(n)?parseFloat(n):null,this.validateNumber=(n,e)=>index$1.watchValidator(this.component,n,(n=>null==n||"number"==typeof n||"string"==typeof n&&this.numberStringRegex.test(n)),new Set(["number","NumberString"]),e,{hooks:{beforePatch:(e,t)=>{(null==t?void 0:t.has(n))&&(null==t||t.set(n,this.parseToNumber(e)))}}}),this.component=n}validateIcons(n){icons.validateIcons(this.component,n)}isNumberString(n){return"string"==typeof n&&this.numberStringRegex.test(n)}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons)}}exports.InputContainerStateWrapperFc=InputContainerStateWrapperFc,exports.InputIconController=InputIconController,exports.KolIconButtonFc=KolIconButtonFc;
4
+ "use strict";const index=require("./index-ae732dfd.js"),index$1=require("./index-94c17ce6.js"),tslib_es6=require("./tslib.es6-5e301284.js"),clsx=require("./clsx-dd4d6dd1.js"),getRenderStates=require("./getRenderStates-f985f2e4.js"),componentNames=require("./component-names-f5f2ca3a.js"),Icon=require("./Icon-0537cd28.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-a54799ae.js"),isObject=require("./isObject-6090b636.js"),icons=require("./icons-99569c9b.js"),InputAdornment=(n,e)=>{var{position:t="start",class:s}=n,o=tslib_es6.__rest(n,["position","class"]);const i="kol-input-container__adornment",r=`${i}--${t}`;return index.h("div",Object.assign({class:clsx.clsx(i,r,s)},o),e)};function hasItems(n){return!!n&&(Array.isArray(n)?n.length>0:Boolean(n))}const Container=(n,e)=>{var{class:t}=n,s=tslib_es6.__rest(n,["class"]);return index.h("div",Object.assign({class:clsx.clsx("kol-input-container__container",t)},s),e)},KolInputContainerFc=(n,e)=>{const{class:t,startAdornment:s,endAdornment:o,disabled:i,msg:r,touched:c,containerProps:a,startAdornmentProps:l,endAdornmentProps:d}=n,u=tslib_es6.__rest(n,["class","startAdornment","endAdornment","disabled","msg","touched","containerProps","startAdornmentProps","endAdornmentProps"]),p=getRenderStates.checkHasMsg(r,c),b={"kol-input-container--disabled":i,[`kol-input-container--${(null==r?void 0:r.type)||"error"}`]:p},m=Object.assign({class:clsx.clsx("kol-input-container",b,t)},u);return hasItems(s)||hasItems(o)?index.h("div",Object.assign({},m),index.h(InputAdornment,Object.assign({},l,{position:"start"}),s),index.h(Container,Object.assign({},a),e),index.h(InputAdornment,Object.assign({},d,{position:"end"}),o)):index.h("div",Object.assign({},m),index.h(Container,Object.assign({},a),e))},KolButtonFc=n=>{const{label:e,icons:t,hideLabel:s,disabled:o,onClick:i}=n,r=tslib_es6.__rest(n,["label","icons","hideLabel","disabled","onClick"]);return index.h(componentNames.KolButtonWcTag,Object.assign({_label:e,_disabled:o,_icons:t,_hideLabel:s,_on:{onClick:i}},r))},KolIconButtonFc=n=>{const{componentName:e="button",label:t,icon:s,onClick:o}=n,i=tslib_es6.__rest(n,["componentName","label","icon","onClick"]),r="button"===e?KolButtonFc:Icon.KolIconFc;return index.h(r,Object.assign({label:t||"",hideLabel:!0,icons:`codicon codicon-${s}`,onClick:o},i))};function getInputContainerProps(n){let e,t;return"_icons"in n&&(e=n._icons),"_smartButton"in n&&(t=n._smartButton),{icons:e,smartButton:t,disabled:n._disabled,msg:getRenderStates.convertMsgToInternMsg(n._msg),touched:n._touched}}const InputContainerStateWrapperFc=({state:n,endAdornment:e},t)=>{const{icons:s,smartButton:o,disabled:i,msg:r,touched:c}=getInputContainerProps(n);let a=null==s?void 0:s.left;InternalUnderlinedBadgeText.isString(a)&&(a={icon:a});let l=null==s?void 0:s.right;InternalUnderlinedBadgeText.isString(l)&&(l={icon:l});const d=[],u=[];return e&&(Array.isArray(e)?u.push(...e):u.push(e)),a&&d.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(a)?a:{}))),isObject.isObject(o)&&u.push(index.h(KolIconButtonFc,Object.assign({componentName:"button",class:"kol-input-container__smart-button"},o,{hideLabel:!0,disabled:i}))),l&&u.push(index.h(KolIconButtonFc,Object.assign({componentName:"icon",class:"kol-input-container__icon"},isObject.isObject(l)?l:{}))),index.h(KolInputContainerFc,{disabled:i,msg:r,touched:c,startAdornment:d,endAdornment:u},t)};class InputIconController extends getRenderStates.InputController{constructor(n,e,t){super(n,e,t),this.numberStringRegex=/^\d+(\.\d+)?$/,this.parseToNumber=n=>"number"==typeof n?isNaN(n)?null:n:this.isNumberString(n)?parseFloat(n):null,this.validateNumber=(n,e)=>index$1.watchValidator(this.component,n,(n=>null==n||"number"==typeof n||"string"==typeof n&&this.numberStringRegex.test(n)),new Set(["number","NumberString"]),e,{hooks:{beforePatch:(e,t)=>{(null==t?void 0:t.has(n))&&(null==t||t.set(n,this.parseToNumber(e)))}}}),this.component=n}validateIcons(n){icons.validateIcons(this.component,n)}isNumberString(n){return"string"==typeof n&&this.numberStringRegex.test(n)}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons)}}exports.InputContainerStateWrapperFc=InputContainerStateWrapperFc,exports.InputIconController=InputIconController,exports.KolIconButtonFc=KolIconButtonFc;