@db-ux/wc-core-components 2.0.0-0-custom-select-16b8cce → 2.0.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 (483) hide show
  1. package/dist/cjs/db-accordion-item.cjs.entry.js +42 -8
  2. package/dist/cjs/db-accordion-item.cjs.entry.js.map +1 -1
  3. package/dist/cjs/db-accordion-item.entry.cjs.js.map +1 -1
  4. package/dist/cjs/db-accordion.cjs.entry.js +12 -12
  5. package/dist/cjs/db-accordion.cjs.entry.js.map +1 -1
  6. package/dist/cjs/db-accordion.entry.cjs.js.map +1 -1
  7. package/dist/cjs/db-badge.cjs.entry.js +3 -3
  8. package/dist/cjs/db-badge.cjs.entry.js.map +1 -1
  9. package/dist/cjs/db-badge.entry.cjs.js.map +1 -1
  10. package/dist/cjs/db-brand.cjs.entry.js +3 -3
  11. package/dist/cjs/db-brand.cjs.entry.js.map +1 -1
  12. package/dist/cjs/db-brand.entry.cjs.js.map +1 -1
  13. package/dist/cjs/db-button.cjs.entry.js +7 -7
  14. package/dist/cjs/db-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/db-button.entry.cjs.js.map +1 -1
  16. package/dist/cjs/db-card.cjs.entry.js +7 -7
  17. package/dist/cjs/db-card.cjs.entry.js.map +1 -1
  18. package/dist/cjs/db-card.entry.cjs.js.map +1 -1
  19. package/dist/cjs/db-checkbox.cjs.entry.js +59 -44
  20. package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
  22. package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.cjs.js.map +1 -1
  23. package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js +78 -64
  24. package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js.map +1 -1
  25. package/dist/cjs/db-custom-select-form-field.cjs.entry.js +4 -4
  26. package/dist/cjs/db-custom-select-form-field.cjs.entry.js.map +1 -1
  27. package/dist/cjs/db-custom-select-form-field.entry.cjs.js.map +1 -1
  28. package/dist/cjs/db-custom-select.cjs.entry.js +203 -189
  29. package/dist/cjs/db-custom-select.cjs.entry.js.map +1 -1
  30. package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
  31. package/dist/cjs/db-divider.cjs.entry.js +3 -3
  32. package/dist/cjs/db-divider.cjs.entry.js.map +1 -1
  33. package/dist/cjs/db-divider.entry.cjs.js.map +1 -1
  34. package/dist/cjs/db-drawer.cjs.entry.js +8 -9
  35. package/dist/cjs/db-drawer.cjs.entry.js.map +1 -1
  36. package/dist/cjs/db-drawer.entry.cjs.js.map +1 -1
  37. package/dist/cjs/db-header.cjs.entry.js +13 -11
  38. package/dist/cjs/db-header.cjs.entry.js.map +1 -1
  39. package/dist/cjs/db-header.entry.cjs.js.map +1 -1
  40. package/dist/cjs/db-icon.cjs.entry.js +3 -3
  41. package/dist/cjs/db-icon.cjs.entry.js.map +1 -1
  42. package/dist/cjs/db-icon.entry.cjs.js.map +1 -1
  43. package/dist/cjs/db-infotext.cjs.entry.js +3 -3
  44. package/dist/cjs/db-infotext.cjs.entry.js.map +1 -1
  45. package/dist/cjs/db-infotext.entry.cjs.js.map +1 -1
  46. package/dist/cjs/db-link.cjs.entry.js +7 -7
  47. package/dist/cjs/db-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/db-link.entry.cjs.js.map +1 -1
  49. package/dist/cjs/db-navigation-item.cjs.entry.js +26 -28
  50. package/dist/cjs/db-navigation-item.cjs.entry.js.map +1 -1
  51. package/dist/cjs/db-navigation-item.entry.cjs.js.map +1 -1
  52. package/dist/cjs/db-navigation.cjs.entry.js +4 -4
  53. package/dist/cjs/db-navigation.cjs.entry.js.map +1 -1
  54. package/dist/cjs/db-navigation.entry.cjs.js.map +1 -1
  55. package/dist/cjs/db-notification.cjs.entry.js +7 -7
  56. package/dist/cjs/db-notification.cjs.entry.js.map +1 -1
  57. package/dist/cjs/db-notification.entry.cjs.js.map +1 -1
  58. package/dist/cjs/db-page.cjs.entry.js +4 -4
  59. package/dist/cjs/db-page.cjs.entry.js.map +1 -1
  60. package/dist/cjs/db-page.entry.cjs.js.map +1 -1
  61. package/dist/cjs/db-popover.cjs.entry.js +4 -4
  62. package/dist/cjs/db-popover.cjs.entry.js.map +1 -1
  63. package/dist/cjs/db-popover.entry.cjs.js.map +1 -1
  64. package/dist/cjs/db-radio.cjs.entry.js +10 -19
  65. package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
  66. package/dist/cjs/db-radio.entry.cjs.js.map +1 -1
  67. package/dist/cjs/db-section.cjs.entry.js +4 -4
  68. package/dist/cjs/db-section.cjs.entry.js.map +1 -1
  69. package/dist/cjs/db-section.entry.cjs.js.map +1 -1
  70. package/dist/cjs/db-select.cjs.entry.js +70 -57
  71. package/dist/cjs/db-select.cjs.entry.js.map +1 -1
  72. package/dist/cjs/db-select.entry.cjs.js.map +1 -1
  73. package/dist/cjs/db-stack.cjs.entry.js +4 -4
  74. package/dist/cjs/db-stack.cjs.entry.js.map +1 -1
  75. package/dist/cjs/db-stack.entry.cjs.js.map +1 -1
  76. package/dist/cjs/db-switch.cjs.entry.js +11 -20
  77. package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
  78. package/dist/cjs/db-switch.entry.cjs.js.map +1 -1
  79. package/dist/cjs/db-tab-item.db-tab-list.db-tab-panel.entry.cjs.js.map +1 -1
  80. package/dist/cjs/db-tab-item_3.cjs.entry.js +38 -17
  81. package/dist/cjs/db-tab-item_3.cjs.entry.js.map +1 -1
  82. package/dist/cjs/db-tabs.cjs.entry.js +24 -23
  83. package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
  84. package/dist/cjs/db-tabs.entry.cjs.js.map +1 -1
  85. package/dist/cjs/db-textarea.cjs.entry.js +60 -45
  86. package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
  87. package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
  88. package/dist/cjs/db-ux.cjs.js +3 -3
  89. package/dist/cjs/db-ux.cjs.js.map +1 -1
  90. package/dist/cjs/document-click-listener-CrbHspH2.js +37 -0
  91. package/dist/cjs/document-click-listener-CrbHspH2.js.map +1 -0
  92. package/dist/cjs/{index-DeqKGVDx.js → index-9h8KqOUd.js} +25 -7
  93. package/dist/cjs/index-9h8KqOUd.js.map +1 -0
  94. package/dist/cjs/{index-DBEtsnky.js → index-w2CAlvjJ.js} +6 -5
  95. package/dist/cjs/index-w2CAlvjJ.js.map +1 -0
  96. package/dist/cjs/index.cjs.js +6 -5
  97. package/dist/cjs/index.cjs.js.map +1 -1
  98. package/dist/cjs/loader.cjs.js +2 -2
  99. package/dist/cjs/{navigation-Cfm1OFWB.js → navigation-DjZJIxIq.js} +3 -3
  100. package/dist/cjs/{navigation-Cfm1OFWB.js.map → navigation-DjZJIxIq.js.map} +1 -1
  101. package/dist/collection/collection-manifest.json +1 -1
  102. package/dist/collection/components/accordion/accordion.js +26 -25
  103. package/dist/collection/components/accordion/accordion.js.map +1 -1
  104. package/dist/collection/components/accordion/model.js.map +1 -1
  105. package/dist/collection/components/accordion-item/accordion-item.js +87 -17
  106. package/dist/collection/components/accordion-item/accordion-item.js.map +1 -1
  107. package/dist/collection/components/accordion-item/model.js.map +1 -1
  108. package/dist/collection/components/badge/badge.js +10 -10
  109. package/dist/collection/components/badge/badge.js.map +1 -1
  110. package/dist/collection/components/badge/model.js.map +1 -1
  111. package/dist/collection/components/brand/brand.js +9 -9
  112. package/dist/collection/components/brand/brand.js.map +1 -1
  113. package/dist/collection/components/button/button.js +57 -32
  114. package/dist/collection/components/button/button.js.map +1 -1
  115. package/dist/collection/components/button/model.js.map +1 -1
  116. package/dist/collection/components/card/card.js +12 -12
  117. package/dist/collection/components/card/card.js.map +1 -1
  118. package/dist/collection/components/checkbox/checkbox.js +118 -166
  119. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  120. package/dist/collection/components/checkbox/model.js.map +1 -1
  121. package/dist/collection/components/custom-select/custom-select.js +340 -335
  122. package/dist/collection/components/custom-select/custom-select.js.map +1 -1
  123. package/dist/collection/components/custom-select/model.js.map +1 -1
  124. package/dist/collection/components/custom-select-dropdown/custom-select-dropdown.js +5 -5
  125. package/dist/collection/components/custom-select-dropdown/custom-select-dropdown.js.map +1 -1
  126. package/dist/collection/components/custom-select-form-field/custom-select-form-field.js +4 -4
  127. package/dist/collection/components/custom-select-form-field/custom-select-form-field.js.map +1 -1
  128. package/dist/collection/components/custom-select-list/custom-select-list.js +6 -6
  129. package/dist/collection/components/custom-select-list/custom-select-list.js.map +1 -1
  130. package/dist/collection/components/custom-select-list-item/custom-select-list-item.js +27 -52
  131. package/dist/collection/components/custom-select-list-item/custom-select-list-item.js.map +1 -1
  132. package/dist/collection/components/divider/divider.js +7 -7
  133. package/dist/collection/components/divider/divider.js.map +1 -1
  134. package/dist/collection/components/drawer/drawer.js +23 -24
  135. package/dist/collection/components/drawer/drawer.js.map +1 -1
  136. package/dist/collection/components/drawer/model.js.map +1 -1
  137. package/dist/collection/components/header/header.js +22 -20
  138. package/dist/collection/components/header/header.js.map +1 -1
  139. package/dist/collection/components/header/model.js.map +1 -1
  140. package/dist/collection/components/icon/icon.js +7 -7
  141. package/dist/collection/components/icon/icon.js.map +1 -1
  142. package/dist/collection/components/infotext/infotext.js +10 -10
  143. package/dist/collection/components/infotext/infotext.js.map +1 -1
  144. package/dist/collection/components/input/input.js +218 -213
  145. package/dist/collection/components/input/input.js.map +1 -1
  146. package/dist/collection/components/input/model.js.map +1 -1
  147. package/dist/collection/components/link/link.js +29 -29
  148. package/dist/collection/components/link/link.js.map +1 -1
  149. package/dist/collection/components/navigation/navigation.js +5 -5
  150. package/dist/collection/components/navigation/navigation.js.map +1 -1
  151. package/dist/collection/components/navigation-item/model.js.map +1 -1
  152. package/dist/collection/components/navigation-item/navigation-item.js +43 -43
  153. package/dist/collection/components/navigation-item/navigation-item.js.map +1 -1
  154. package/dist/collection/components/notification/model.js.map +1 -1
  155. package/dist/collection/components/notification/notification.js +32 -32
  156. package/dist/collection/components/notification/notification.js.map +1 -1
  157. package/dist/collection/components/page/model.js.map +1 -1
  158. package/dist/collection/components/page/page.js +10 -10
  159. package/dist/collection/components/page/page.js.map +1 -1
  160. package/dist/collection/components/popover/model.js.map +1 -1
  161. package/dist/collection/components/popover/popover.js +17 -17
  162. package/dist/collection/components/popover/popover.js.map +1 -1
  163. package/dist/collection/components/radio/radio.js +32 -110
  164. package/dist/collection/components/radio/radio.js.map +1 -1
  165. package/dist/collection/components/section/section.js +6 -6
  166. package/dist/collection/components/section/section.js.map +1 -1
  167. package/dist/collection/components/select/model.js.map +1 -1
  168. package/dist/collection/components/select/select.js +130 -203
  169. package/dist/collection/components/select/select.js.map +1 -1
  170. package/dist/collection/components/stack/model.js.map +1 -1
  171. package/dist/collection/components/stack/stack.js +12 -12
  172. package/dist/collection/components/stack/stack.js.map +1 -1
  173. package/dist/collection/components/switch/model.js.map +1 -1
  174. package/dist/collection/components/switch/switch.js +39 -117
  175. package/dist/collection/components/switch/switch.js.map +1 -1
  176. package/dist/collection/components/tab-item/model.js.map +1 -1
  177. package/dist/collection/components/tab-item/tab-item.js +66 -40
  178. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  179. package/dist/collection/components/tab-list/tab-list.js +4 -4
  180. package/dist/collection/components/tab-list/tab-list.js.map +1 -1
  181. package/dist/collection/components/tab-panel/tab-panel.js +6 -6
  182. package/dist/collection/components/tab-panel/tab-panel.js.map +1 -1
  183. package/dist/collection/components/tabs/model.js.map +1 -1
  184. package/dist/collection/components/tabs/tabs.js +63 -62
  185. package/dist/collection/components/tabs/tabs.js.map +1 -1
  186. package/dist/collection/components/tag/model.js.map +1 -1
  187. package/dist/collection/components/tag/tag.js +27 -27
  188. package/dist/collection/components/tag/tag.js.map +1 -1
  189. package/dist/collection/components/textarea/model.js.map +1 -1
  190. package/dist/collection/components/textarea/textarea.js +171 -168
  191. package/dist/collection/components/textarea/textarea.js.map +1 -1
  192. package/dist/collection/components/tooltip/model.js.map +1 -1
  193. package/dist/collection/components/tooltip/tooltip.js +14 -14
  194. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  195. package/dist/collection/shared/model.js +0 -1
  196. package/dist/collection/shared/model.js.map +1 -1
  197. package/dist/collection/utils/document-click-listener.js +30 -0
  198. package/dist/collection/utils/document-click-listener.js.map +1 -0
  199. package/dist/collection/utils/index.js +21 -21
  200. package/dist/collection/utils/index.js.map +1 -1
  201. package/dist/custom-elements.json +2629 -1698
  202. package/dist/db-ux/db-accordion-item.entry.esm.js.map +1 -1
  203. package/dist/db-ux/db-accordion.entry.esm.js.map +1 -1
  204. package/dist/db-ux/db-badge.entry.esm.js.map +1 -1
  205. package/dist/db-ux/db-brand.entry.esm.js.map +1 -1
  206. package/dist/db-ux/db-button.entry.esm.js.map +1 -1
  207. package/dist/db-ux/db-card.entry.esm.js.map +1 -1
  208. package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
  209. package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.esm.js.map +1 -1
  210. package/dist/db-ux/db-custom-select-form-field.entry.esm.js.map +1 -1
  211. package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
  212. package/dist/db-ux/db-divider.entry.esm.js.map +1 -1
  213. package/dist/db-ux/db-drawer.entry.esm.js.map +1 -1
  214. package/dist/db-ux/db-header.entry.esm.js.map +1 -1
  215. package/dist/db-ux/db-icon.entry.esm.js.map +1 -1
  216. package/dist/db-ux/db-infotext.entry.esm.js.map +1 -1
  217. package/dist/db-ux/db-link.entry.esm.js.map +1 -1
  218. package/dist/db-ux/db-navigation-item.entry.esm.js.map +1 -1
  219. package/dist/db-ux/db-navigation.entry.esm.js.map +1 -1
  220. package/dist/db-ux/db-notification.entry.esm.js.map +1 -1
  221. package/dist/db-ux/db-page.entry.esm.js.map +1 -1
  222. package/dist/db-ux/db-popover.entry.esm.js.map +1 -1
  223. package/dist/db-ux/db-radio.entry.esm.js.map +1 -1
  224. package/dist/db-ux/db-section.entry.esm.js.map +1 -1
  225. package/dist/db-ux/db-select.entry.esm.js.map +1 -1
  226. package/dist/db-ux/db-stack.entry.esm.js.map +1 -1
  227. package/dist/db-ux/db-switch.entry.esm.js.map +1 -1
  228. package/dist/db-ux/db-tab-item.db-tab-list.db-tab-panel.entry.esm.js.map +1 -1
  229. package/dist/db-ux/db-tabs.entry.esm.js.map +1 -1
  230. package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
  231. package/dist/db-ux/db-ux.esm.js +1 -1
  232. package/dist/db-ux/db-ux.esm.js.map +1 -1
  233. package/dist/db-ux/index.esm.js +1 -1
  234. package/dist/db-ux/index.esm.js.map +1 -1
  235. package/dist/db-ux/p-0c1b4216.entry.js +2 -0
  236. package/dist/db-ux/p-0c1b4216.entry.js.map +1 -0
  237. package/dist/db-ux/p-19ebdb92.entry.js +2 -0
  238. package/dist/db-ux/p-19ebdb92.entry.js.map +1 -0
  239. package/dist/db-ux/p-20f2efec.entry.js +2 -0
  240. package/dist/db-ux/p-20f2efec.entry.js.map +1 -0
  241. package/dist/db-ux/p-2ea85ed3.entry.js +2 -0
  242. package/dist/db-ux/p-2ea85ed3.entry.js.map +1 -0
  243. package/dist/db-ux/p-3d9cfe8d.entry.js +2 -0
  244. package/dist/db-ux/p-3d9cfe8d.entry.js.map +1 -0
  245. package/dist/db-ux/p-56fa0857.entry.js +2 -0
  246. package/dist/db-ux/p-56fa0857.entry.js.map +1 -0
  247. package/dist/db-ux/p-6f9de31b.entry.js +2 -0
  248. package/dist/db-ux/p-6f9de31b.entry.js.map +1 -0
  249. package/dist/db-ux/p-797ccaa9.entry.js +2 -0
  250. package/dist/db-ux/p-797ccaa9.entry.js.map +1 -0
  251. package/dist/db-ux/{p-0b9779be.entry.js → p-7bc56311.entry.js} +2 -2
  252. package/dist/db-ux/p-7bc56311.entry.js.map +1 -0
  253. package/dist/db-ux/p-828bb611.entry.js +2 -0
  254. package/dist/db-ux/p-828bb611.entry.js.map +1 -0
  255. package/dist/db-ux/{p-d10ee6dc.entry.js → p-84136093.entry.js} +2 -2
  256. package/dist/db-ux/p-84136093.entry.js.map +1 -0
  257. package/dist/db-ux/p-861c92ee.entry.js +2 -0
  258. package/dist/db-ux/p-861c92ee.entry.js.map +1 -0
  259. package/dist/db-ux/{p-0414dab3.entry.js → p-924110bd.entry.js} +2 -2
  260. package/dist/db-ux/p-924110bd.entry.js.map +1 -0
  261. package/dist/db-ux/p-96a0c7de.entry.js +2 -0
  262. package/dist/db-ux/p-96a0c7de.entry.js.map +1 -0
  263. package/dist/db-ux/p-B_W_wePN.js +2 -0
  264. package/dist/db-ux/p-B_W_wePN.js.map +1 -0
  265. package/dist/db-ux/p-BkYjDIed.js +3 -0
  266. package/dist/db-ux/p-BkYjDIed.js.map +1 -0
  267. package/dist/db-ux/{p-VkX3SW7K.js → p-Duz60W3r.js} +2 -2
  268. package/dist/db-ux/{p-VkX3SW7K.js.map → p-Duz60W3r.js.map} +1 -1
  269. package/dist/db-ux/p-TU0pfK1i.js +2 -0
  270. package/dist/db-ux/p-TU0pfK1i.js.map +1 -0
  271. package/dist/db-ux/p-a20f9b38.entry.js +2 -0
  272. package/dist/db-ux/p-a20f9b38.entry.js.map +1 -0
  273. package/dist/db-ux/{p-9a3c9ffe.entry.js → p-aad2b065.entry.js} +2 -2
  274. package/dist/db-ux/p-aad2b065.entry.js.map +1 -0
  275. package/dist/db-ux/p-abc1afa7.entry.js +2 -0
  276. package/dist/db-ux/p-abc1afa7.entry.js.map +1 -0
  277. package/dist/db-ux/p-b074eb7f.entry.js +2 -0
  278. package/dist/db-ux/p-b074eb7f.entry.js.map +1 -0
  279. package/dist/db-ux/p-b6821ac2.entry.js +2 -0
  280. package/dist/db-ux/p-b6821ac2.entry.js.map +1 -0
  281. package/dist/db-ux/p-b7cd9e31.entry.js +2 -0
  282. package/dist/db-ux/p-b7cd9e31.entry.js.map +1 -0
  283. package/dist/db-ux/p-b92bbd61.entry.js +2 -0
  284. package/dist/db-ux/p-b92bbd61.entry.js.map +1 -0
  285. package/dist/db-ux/p-bcb3d891.entry.js +2 -0
  286. package/dist/db-ux/p-bcb3d891.entry.js.map +1 -0
  287. package/dist/db-ux/{p-65983b83.entry.js → p-be35b5b4.entry.js} +2 -2
  288. package/dist/db-ux/p-be35b5b4.entry.js.map +1 -0
  289. package/dist/db-ux/p-d60822ce.entry.js +2 -0
  290. package/dist/db-ux/p-d60822ce.entry.js.map +1 -0
  291. package/dist/db-ux/p-dc71d000.entry.js +2 -0
  292. package/dist/db-ux/p-dc71d000.entry.js.map +1 -0
  293. package/dist/db-ux/p-e397a44c.entry.js +2 -0
  294. package/dist/db-ux/p-e397a44c.entry.js.map +1 -0
  295. package/dist/db-ux/p-e4f73b24.entry.js +2 -0
  296. package/dist/db-ux/p-e4f73b24.entry.js.map +1 -0
  297. package/dist/db-ux/p-e72a0bfe.entry.js +2 -0
  298. package/dist/db-ux/p-e72a0bfe.entry.js.map +1 -0
  299. package/dist/db-ux/p-fba19a3f.entry.js +2 -0
  300. package/dist/db-ux/p-fba19a3f.entry.js.map +1 -0
  301. package/dist/esm/db-accordion-item.entry.js +42 -8
  302. package/dist/esm/db-accordion-item.entry.js.map +1 -1
  303. package/dist/esm/db-accordion.entry.js +12 -12
  304. package/dist/esm/db-accordion.entry.js.map +1 -1
  305. package/dist/esm/db-badge.entry.js +3 -3
  306. package/dist/esm/db-badge.entry.js.map +1 -1
  307. package/dist/esm/db-brand.entry.js +3 -3
  308. package/dist/esm/db-brand.entry.js.map +1 -1
  309. package/dist/esm/db-button.entry.js +7 -7
  310. package/dist/esm/db-button.entry.js.map +1 -1
  311. package/dist/esm/db-card.entry.js +7 -7
  312. package/dist/esm/db-card.entry.js.map +1 -1
  313. package/dist/esm/db-checkbox.entry.js +60 -45
  314. package/dist/esm/db-checkbox.entry.js.map +1 -1
  315. package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.db-tooltip.entry.js.map +1 -1
  316. package/dist/esm/db-custom-select-dropdown_6.entry.js +79 -65
  317. package/dist/esm/db-custom-select-dropdown_6.entry.js.map +1 -1
  318. package/dist/esm/db-custom-select-form-field.entry.js +4 -4
  319. package/dist/esm/db-custom-select-form-field.entry.js.map +1 -1
  320. package/dist/esm/db-custom-select.entry.js +204 -190
  321. package/dist/esm/db-custom-select.entry.js.map +1 -1
  322. package/dist/esm/db-divider.entry.js +3 -3
  323. package/dist/esm/db-divider.entry.js.map +1 -1
  324. package/dist/esm/db-drawer.entry.js +8 -9
  325. package/dist/esm/db-drawer.entry.js.map +1 -1
  326. package/dist/esm/db-header.entry.js +13 -11
  327. package/dist/esm/db-header.entry.js.map +1 -1
  328. package/dist/esm/db-icon.entry.js +3 -3
  329. package/dist/esm/db-icon.entry.js.map +1 -1
  330. package/dist/esm/db-infotext.entry.js +3 -3
  331. package/dist/esm/db-infotext.entry.js.map +1 -1
  332. package/dist/esm/db-link.entry.js +7 -7
  333. package/dist/esm/db-link.entry.js.map +1 -1
  334. package/dist/esm/db-navigation-item.entry.js +26 -28
  335. package/dist/esm/db-navigation-item.entry.js.map +1 -1
  336. package/dist/esm/db-navigation.entry.js +4 -4
  337. package/dist/esm/db-navigation.entry.js.map +1 -1
  338. package/dist/esm/db-notification.entry.js +7 -7
  339. package/dist/esm/db-notification.entry.js.map +1 -1
  340. package/dist/esm/db-page.entry.js +4 -4
  341. package/dist/esm/db-page.entry.js.map +1 -1
  342. package/dist/esm/db-popover.entry.js +4 -4
  343. package/dist/esm/db-popover.entry.js.map +1 -1
  344. package/dist/esm/db-radio.entry.js +10 -19
  345. package/dist/esm/db-radio.entry.js.map +1 -1
  346. package/dist/esm/db-section.entry.js +4 -4
  347. package/dist/esm/db-section.entry.js.map +1 -1
  348. package/dist/esm/db-select.entry.js +71 -58
  349. package/dist/esm/db-select.entry.js.map +1 -1
  350. package/dist/esm/db-stack.entry.js +4 -4
  351. package/dist/esm/db-stack.entry.js.map +1 -1
  352. package/dist/esm/db-switch.entry.js +11 -20
  353. package/dist/esm/db-switch.entry.js.map +1 -1
  354. package/dist/esm/db-tab-item.db-tab-list.db-tab-panel.entry.js.map +1 -1
  355. package/dist/esm/db-tab-item_3.entry.js +38 -17
  356. package/dist/esm/db-tab-item_3.entry.js.map +1 -1
  357. package/dist/esm/db-tabs.entry.js +24 -23
  358. package/dist/esm/db-tabs.entry.js.map +1 -1
  359. package/dist/esm/db-textarea.entry.js +61 -46
  360. package/dist/esm/db-textarea.entry.js.map +1 -1
  361. package/dist/esm/db-ux.js +4 -4
  362. package/dist/esm/db-ux.js.map +1 -1
  363. package/dist/esm/document-click-listener-B2jDrCt8.js +35 -0
  364. package/dist/esm/document-click-listener-B2jDrCt8.js.map +1 -0
  365. package/dist/esm/{index-D-D8lQAG.js → index-BkYjDIed.js} +6 -5
  366. package/dist/esm/index-BkYjDIed.js.map +1 -0
  367. package/dist/esm/{index-fw8E73KY.js → index-TU0pfK1i.js} +24 -8
  368. package/dist/esm/index-TU0pfK1i.js.map +1 -0
  369. package/dist/esm/index.js +5 -5
  370. package/dist/esm/index.js.map +1 -1
  371. package/dist/esm/loader.js +3 -3
  372. package/dist/esm/{navigation-1ba3zvi0.js → navigation-BjeAmWrQ.js} +3 -3
  373. package/dist/esm/{navigation-1ba3zvi0.js.map → navigation-BjeAmWrQ.js.map} +1 -1
  374. package/dist/types/components/accordion/accordion.d.ts +2 -2
  375. package/dist/types/components/accordion/model.d.ts +2 -2
  376. package/dist/types/components/accordion-item/accordion-item.d.ts +11 -2
  377. package/dist/types/components/accordion-item/model.d.ts +5 -5
  378. package/dist/types/components/badge/model.d.ts +2 -2
  379. package/dist/types/components/button/button.d.ts +3 -1
  380. package/dist/types/components/button/model.d.ts +11 -7
  381. package/dist/types/components/card/card.d.ts +2 -1
  382. package/dist/types/components/checkbox/checkbox.d.ts +13 -10
  383. package/dist/types/components/checkbox/model.d.ts +3 -3
  384. package/dist/types/components/custom-select/custom-select.d.ts +18 -15
  385. package/dist/types/components/custom-select/model.d.ts +49 -29
  386. package/dist/types/components/custom-select-list-item/custom-select-list-item.d.ts +2 -2
  387. package/dist/types/components/drawer/drawer.d.ts +2 -1
  388. package/dist/types/components/drawer/model.d.ts +2 -2
  389. package/dist/types/components/header/header.d.ts +3 -2
  390. package/dist/types/components/header/model.d.ts +2 -2
  391. package/dist/types/components/input/input.d.ts +19 -14
  392. package/dist/types/components/input/model.d.ts +3 -3
  393. package/dist/types/components/link/link.d.ts +2 -1
  394. package/dist/types/components/navigation-item/model.d.ts +2 -3
  395. package/dist/types/components/navigation-item/navigation-item.d.ts +4 -4
  396. package/dist/types/components/notification/model.d.ts +3 -3
  397. package/dist/types/components/notification/notification.d.ts +3 -2
  398. package/dist/types/components/page/model.d.ts +1 -1
  399. package/dist/types/components/popover/model.d.ts +1 -1
  400. package/dist/types/components/radio/radio.d.ts +7 -9
  401. package/dist/types/components/select/model.d.ts +2 -2
  402. package/dist/types/components/select/select.d.ts +18 -16
  403. package/dist/types/components/stack/model.d.ts +1 -1
  404. package/dist/types/components/switch/model.d.ts +2 -2
  405. package/dist/types/components/switch/switch.d.ts +4 -6
  406. package/dist/types/components/tab-item/model.d.ts +6 -6
  407. package/dist/types/components/tab-item/tab-item.d.ts +8 -3
  408. package/dist/types/components/tabs/model.d.ts +11 -3
  409. package/dist/types/components/tabs/tabs.d.ts +5 -4
  410. package/dist/types/components/tag/model.d.ts +9 -5
  411. package/dist/types/components/tag/tag.d.ts +2 -1
  412. package/dist/types/components/textarea/model.d.ts +4 -4
  413. package/dist/types/components/textarea/textarea.d.ts +17 -12
  414. package/dist/types/components/tooltip/model.d.ts +1 -1
  415. package/dist/types/components.d.ts +96 -124
  416. package/dist/types/shared/model.d.ts +56 -31
  417. package/dist/types/stencil-public-runtime.d.ts +2 -0
  418. package/dist/types/utils/document-click-listener.d.ts +8 -0
  419. package/dist/types/utils/index.d.ts +5 -28
  420. package/dist/vscode.html-custom-data.json +143 -122
  421. package/dist/web-types.json +803 -475
  422. package/package.json +4 -4
  423. package/dist/cjs/index-DBEtsnky.js.map +0 -1
  424. package/dist/cjs/index-DeqKGVDx.js.map +0 -1
  425. package/dist/db-ux/p-0414dab3.entry.js.map +0 -1
  426. package/dist/db-ux/p-05505797.entry.js +0 -2
  427. package/dist/db-ux/p-05505797.entry.js.map +0 -1
  428. package/dist/db-ux/p-0b9779be.entry.js.map +0 -1
  429. package/dist/db-ux/p-1799c085.entry.js +0 -2
  430. package/dist/db-ux/p-1799c085.entry.js.map +0 -1
  431. package/dist/db-ux/p-30261cf0.entry.js +0 -2
  432. package/dist/db-ux/p-30261cf0.entry.js.map +0 -1
  433. package/dist/db-ux/p-43f2df95.entry.js +0 -2
  434. package/dist/db-ux/p-43f2df95.entry.js.map +0 -1
  435. package/dist/db-ux/p-463c100b.entry.js +0 -2
  436. package/dist/db-ux/p-463c100b.entry.js.map +0 -1
  437. package/dist/db-ux/p-4cf2c595.entry.js +0 -2
  438. package/dist/db-ux/p-4cf2c595.entry.js.map +0 -1
  439. package/dist/db-ux/p-56a39c64.entry.js +0 -2
  440. package/dist/db-ux/p-56a39c64.entry.js.map +0 -1
  441. package/dist/db-ux/p-5ceb34d7.entry.js +0 -2
  442. package/dist/db-ux/p-5ceb34d7.entry.js.map +0 -1
  443. package/dist/db-ux/p-65983b83.entry.js.map +0 -1
  444. package/dist/db-ux/p-6e1aa320.entry.js +0 -2
  445. package/dist/db-ux/p-6e1aa320.entry.js.map +0 -1
  446. package/dist/db-ux/p-70b6a633.entry.js +0 -2
  447. package/dist/db-ux/p-70b6a633.entry.js.map +0 -1
  448. package/dist/db-ux/p-72cbf9ff.entry.js +0 -2
  449. package/dist/db-ux/p-72cbf9ff.entry.js.map +0 -1
  450. package/dist/db-ux/p-7346f78f.entry.js +0 -2
  451. package/dist/db-ux/p-7346f78f.entry.js.map +0 -1
  452. package/dist/db-ux/p-7b3689ea.entry.js +0 -2
  453. package/dist/db-ux/p-7b3689ea.entry.js.map +0 -1
  454. package/dist/db-ux/p-93ee59f3.entry.js +0 -2
  455. package/dist/db-ux/p-93ee59f3.entry.js.map +0 -1
  456. package/dist/db-ux/p-969ce4ec.entry.js +0 -2
  457. package/dist/db-ux/p-969ce4ec.entry.js.map +0 -1
  458. package/dist/db-ux/p-97cfc836.entry.js +0 -2
  459. package/dist/db-ux/p-97cfc836.entry.js.map +0 -1
  460. package/dist/db-ux/p-9a3c9ffe.entry.js.map +0 -1
  461. package/dist/db-ux/p-D-D8lQAG.js +0 -3
  462. package/dist/db-ux/p-D-D8lQAG.js.map +0 -1
  463. package/dist/db-ux/p-a2f461ee.entry.js +0 -2
  464. package/dist/db-ux/p-a2f461ee.entry.js.map +0 -1
  465. package/dist/db-ux/p-acca879a.entry.js +0 -2
  466. package/dist/db-ux/p-acca879a.entry.js.map +0 -1
  467. package/dist/db-ux/p-b09d7817.entry.js +0 -2
  468. package/dist/db-ux/p-b09d7817.entry.js.map +0 -1
  469. package/dist/db-ux/p-b858ced9.entry.js +0 -2
  470. package/dist/db-ux/p-b858ced9.entry.js.map +0 -1
  471. package/dist/db-ux/p-bb06aac0.entry.js +0 -2
  472. package/dist/db-ux/p-bb06aac0.entry.js.map +0 -1
  473. package/dist/db-ux/p-d10ee6dc.entry.js.map +0 -1
  474. package/dist/db-ux/p-d4d01646.entry.js +0 -2
  475. package/dist/db-ux/p-d4d01646.entry.js.map +0 -1
  476. package/dist/db-ux/p-e393938c.entry.js +0 -2
  477. package/dist/db-ux/p-e393938c.entry.js.map +0 -1
  478. package/dist/db-ux/p-ea7da771.entry.js +0 -2
  479. package/dist/db-ux/p-ea7da771.entry.js.map +0 -1
  480. package/dist/db-ux/p-fw8E73KY.js +0 -2
  481. package/dist/db-ux/p-fw8E73KY.js.map +0 -1
  482. package/dist/esm/index-D-D8lQAG.js.map +0 -1
  483. package/dist/esm/index-fw8E73KY.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"p-VkX3SW7K.js","sources":["src/utils/navigation.ts"],"sourcesContent":["import { handleDataOutside } from './index';\nexport type TriangleData = {\n itemRect: DOMRect;\n parentElementWidth: number;\n subNavigationHeight: number;\n padding: number;\n outsideVX: 'left' | 'right' | undefined;\n outsideVY: 'top' | 'bottom' | undefined;\n};\nexport const isEventTargetNavigationItem = (event: unknown): boolean => {\n const {\n target\n } = event as {\n target: HTMLElement;\n };\n return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));\n};\nexport class NavigationItemSafeTriangle {\n private readonly element: HTMLElement | null;\n private readonly subNavigation: Element | null;\n private readonly parentSubNavigation: Element | null = null;\n private triangleData?: TriangleData;\n private initialized: boolean = false;\n private mouseX: number = 0;\n private mouseY: number = 0;\n constructor(element: HTMLElement | null, subNavigation: Element | null) {\n this.element = element;\n this.subNavigation = subNavigation;\n if (!this.element || !this.subNavigation) {\n return;\n }\n this.parentSubNavigation = this.element?.closest('.db-sub-navigation');\n\n /*\n * only initiate if:\n * 1. item is not at root navigation level\n * 2. item is not in the mobile navigation / within db-drawer\n */\n if (this.parentSubNavigation && !this.element.closest('.db-drawer')) {\n this.init();\n }\n }\n private init() {\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n\n // the triangle has the width of the sub-navigation, current nav-item can be wider.\n // so the width of the triangle must be adapted to a possibly wider nav-item.\n this.element?.style.setProperty('--db-navigation-item-inline-size', `${parentElementWidth}px`);\n this.initialized = true;\n }\n public enableFollow() {\n if (!this.initialized || this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n const dataOutsidePair = handleDataOutside(this.subNavigation);\n const itemRect = this.element.getBoundingClientRect();\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n this.triangleData = {\n itemRect,\n parentElementWidth,\n subNavigationHeight: this.subNavigation.getBoundingClientRect().height,\n padding: (parentElementWidth - itemRect.width) / 2,\n outsideVX: dataOutsidePair.vx,\n outsideVY: dataOutsidePair.vy\n };\n }\n public disableFollow() {\n this.triangleData = undefined;\n }\n private getTriangleTipX(): number {\n if (!this.triangleData) return 0;\n if (this.triangleData.outsideVX === 'right') {\n // vertical flipped triangle needs an inverted x pos\n return this.triangleData.itemRect.width - this.mouseX;\n }\n\n // triangle stops shrinking from 75% x pos\n return Math.min(this.mouseX, this.triangleData.itemRect.width * 0.75);\n }\n private getTriangleTipY(): number {\n if (!this.triangleData) return 0;\n\n // padding must be added to the y pos of the tip so that the y pos matches the cursor\n const mouseYLimited = Math.max(Math.min(this.mouseY, this.triangleData.itemRect.height), 0) + this.triangleData.padding;\n if (this.triangleData.outsideVY === 'bottom') {\n // add offset to tip y pos to match corrected sub-navigation y pos\n return mouseYLimited + (this.triangleData.subNavigationHeight - this.triangleData.padding * 2 - this.triangleData.itemRect.height);\n }\n return mouseYLimited;\n }\n private hasMouseEnteredSubNavigation(): boolean {\n if (!this.triangleData) {\n return false;\n }\n const isSubNavigationOnLeftSide = this.triangleData.outsideVX === 'right';\n if (isSubNavigationOnLeftSide && this.mouseX < -1 * this.triangleData.padding) {\n return true;\n }\n if (!isSubNavigationOnLeftSide && this.mouseX > this.triangleData.parentElementWidth - this.triangleData.padding) {\n return true;\n }\n return false;\n }\n private getTriangleCoordinates(variant: 'safe-triangle' | 'fill-gap'): undefined | {\n lb: string;\n lt: string;\n rt: string;\n rb: string;\n } {\n if (!this.triangleData) {\n return;\n }\n if (variant === 'fill-gap') {\n const itemHeight = `${this.triangleData.itemRect.height + 2 * this.triangleData.padding}px`;\n const xStart = `${this.triangleData.parentElementWidth - this.triangleData.padding}px`;\n return {\n lb: `${xStart} ${itemHeight}`,\n lt: `${xStart} 0`,\n rt: '100% 0',\n rb: `100% ${itemHeight}`\n };\n }\n const tipX = this.getTriangleTipX();\n const tipY = this.getTriangleTipY();\n const lb = `${tipX}px ${tipY}px`;\n const lt = `${tipX}px ${tipY}px`;\n return {\n lb,\n lt,\n rt: '100% 0',\n rb: '100% 100%'\n };\n }\n public followByMouseEvent(event: MouseEvent) {\n if (!this.initialized || !this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n this.mouseX = event.clientX - this.triangleData.itemRect.left;\n this.mouseY = event.clientY - this.triangleData.itemRect.top;\n const isOverSubNavigation = this.hasMouseEnteredSubNavigation();\n const coordinates = this.getTriangleCoordinates(isOverSubNavigation ? 'fill-gap' : 'safe-triangle');\n if (!coordinates) {\n return;\n }\n this.element.style.setProperty('--db-navigation-item-clip-path', `polygon(${coordinates.lb}, ${coordinates.lt}, ${coordinates.rt}, ${coordinates.rb})`);\n if (isOverSubNavigation) {\n this.triangleData = undefined;\n }\n }\n}\nexport default {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p-Duz60W3r.js","sources":["src/utils/navigation.ts"],"sourcesContent":["import { handleDataOutside } from './index';\nexport type TriangleData = {\n itemRect: DOMRect;\n parentElementWidth: number;\n subNavigationHeight: number;\n padding: number;\n outsideVX: 'left' | 'right' | undefined;\n outsideVY: 'top' | 'bottom' | undefined;\n};\nexport const isEventTargetNavigationItem = (event: unknown): boolean => {\n const {\n target\n } = event as {\n target: HTMLElement;\n };\n return Boolean(!target?.classList?.contains('db-navigation-item-expand-button') && target?.parentElement?.classList.contains('db-navigation-item'));\n};\nexport class NavigationItemSafeTriangle {\n private readonly element: HTMLElement | null;\n private readonly subNavigation: Element | null;\n private readonly parentSubNavigation: Element | null = null;\n private triangleData?: TriangleData;\n private initialized: boolean = false;\n private mouseX: number = 0;\n private mouseY: number = 0;\n constructor(element: HTMLElement | null, subNavigation: Element | null) {\n this.element = element;\n this.subNavigation = subNavigation;\n if (!this.element || !this.subNavigation) {\n return;\n }\n this.parentSubNavigation = this.element?.closest('.db-sub-navigation');\n\n /*\n * only initiate if:\n * 1. item is not at root navigation level\n * 2. item is not in the mobile navigation / within db-drawer\n */\n if (this.parentSubNavigation && !this.element.closest('.db-drawer')) {\n this.init();\n }\n }\n private init() {\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n\n // the triangle has the width of the sub-navigation, current nav-item can be wider.\n // so the width of the triangle must be adapted to a possibly wider nav-item.\n this.element?.style.setProperty('--db-navigation-item-inline-size', `${parentElementWidth}px`);\n this.initialized = true;\n }\n public enableFollow() {\n if (!this.initialized || this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n const dataOutsidePair = handleDataOutside(this.subNavigation);\n const itemRect = this.element.getBoundingClientRect();\n const parentElementWidth = this.parentSubNavigation?.getBoundingClientRect().width ?? 0;\n this.triangleData = {\n itemRect,\n parentElementWidth,\n subNavigationHeight: this.subNavigation.getBoundingClientRect().height,\n padding: (parentElementWidth - itemRect.width) / 2,\n outsideVX: dataOutsidePair.vx,\n outsideVY: dataOutsidePair.vy\n };\n }\n public disableFollow() {\n this.triangleData = undefined;\n }\n private getTriangleTipX(): number {\n if (!this.triangleData) return 0;\n if (this.triangleData.outsideVX === 'right') {\n // vertical flipped triangle needs an inverted x pos\n return this.triangleData.itemRect.width - this.mouseX;\n }\n\n // triangle stops shrinking from 75% x pos\n return Math.min(this.mouseX, this.triangleData.itemRect.width * 0.75);\n }\n private getTriangleTipY(): number {\n if (!this.triangleData) return 0;\n\n // padding must be added to the y pos of the tip so that the y pos matches the cursor\n const mouseYLimited = Math.max(Math.min(this.mouseY, this.triangleData.itemRect.height), 0) + this.triangleData.padding;\n if (this.triangleData.outsideVY === 'bottom') {\n // add offset to tip y pos to match corrected sub-navigation y pos\n return mouseYLimited + (this.triangleData.subNavigationHeight - this.triangleData.padding * 2 - this.triangleData.itemRect.height);\n }\n return mouseYLimited;\n }\n private hasMouseEnteredSubNavigation(): boolean {\n if (!this.triangleData) {\n return false;\n }\n const isSubNavigationOnLeftSide = this.triangleData.outsideVX === 'right';\n if (isSubNavigationOnLeftSide && this.mouseX < -1 * this.triangleData.padding) {\n return true;\n }\n if (!isSubNavigationOnLeftSide && this.mouseX > this.triangleData.parentElementWidth - this.triangleData.padding) {\n return true;\n }\n return false;\n }\n private getTriangleCoordinates(variant: 'safe-triangle' | 'fill-gap'): undefined | {\n lb: string;\n lt: string;\n rt: string;\n rb: string;\n } {\n if (!this.triangleData) {\n return;\n }\n if (variant === 'fill-gap') {\n const itemHeight = `${this.triangleData.itemRect.height + 2 * this.triangleData.padding}px`;\n const xStart = `${this.triangleData.parentElementWidth - this.triangleData.padding}px`;\n return {\n lb: `${xStart} ${itemHeight}`,\n lt: `${xStart} 0`,\n rt: '100% 0',\n rb: `100% ${itemHeight}`\n };\n }\n const tipX = this.getTriangleTipX();\n const tipY = this.getTriangleTipY();\n const lb = `${tipX}px ${tipY}px`;\n const lt = `${tipX}px ${tipY}px`;\n return {\n lb,\n lt,\n rt: '100% 0',\n rb: '100% 100%'\n };\n }\n public followByMouseEvent(event: MouseEvent) {\n if (!this.initialized || !this.triangleData || !this.element || !this.subNavigation) {\n return;\n }\n this.mouseX = event.clientX - this.triangleData.itemRect.left;\n this.mouseY = event.clientY - this.triangleData.itemRect.top;\n const isOverSubNavigation = this.hasMouseEnteredSubNavigation();\n const coordinates = this.getTriangleCoordinates(isOverSubNavigation ? 'fill-gap' : 'safe-triangle');\n if (!coordinates) {\n return;\n }\n this.element.style.setProperty('--db-navigation-item-clip-path', `polygon(${coordinates.lb}, ${coordinates.lt}, ${coordinates.rt}, ${coordinates.rb})`);\n if (isOverSubNavigation) {\n this.triangleData = undefined;\n }\n }\n}\nexport default {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle\n}"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const t=()=>{var t,n;if(typeof window!=="undefined"){if((t=window.crypto)===null||t===void 0?void 0:t.randomUUID){return window.crypto.randomUUID()}else if((n=window.crypto)===null||n===void 0?void 0:n.getRandomValues){return window.crypto.getRandomValues(new Uint32Array(3)).join("-")}}return Math.random().toString().substring(2)};const n=(t,o)=>{const e=t.children;Object.values(e).forEach((t=>{t.setAttribute(o.key,o.value);if(t.children.length>0){n(t,o)}}))};const o=(...t)=>{let n="";for(const o of t){if(o){if(typeof o==="string"){n+=`${o} `}else{for(const t in o){if(o[t]){n+=`${t} `}}}}}return n.trim()};const e=t=>{const{left:n,right:o}=t.getBoundingClientRect();const{innerWidth:e}=window;return n>=0&&o<=e};const i=t=>{const{top:n,bottom:o}=t.getBoundingClientRect();const{innerHeight:e}=window;return n>=0&&o<=e};const s=t=>{var n;const{top:o,bottom:e,left:i,right:s}=t.getBoundingClientRect();const{innerHeight:r,innerWidth:u}=window;let d=o<0;let a=e>r;let f=i<0;let l=s>u;const c=t.hasAttribute("data-outside-vy");const v=t.hasAttribute("data-outside-vx");const w=(n=t===null||t===void 0?void 0:t.parentElement)===null||n===void 0?void 0:n.getBoundingClientRect();if(w){if(c){const n=t.getAttribute("data-outside-vy");if(n==="top"){d=w.top-(e-w.bottom)<0}else{a=w.bottom+(w.top-o)>r}}if(v){const n=t.getAttribute("data-outside-vx");if(n==="left"){f=w.left-(s-w.right)<0}else{l=w.right+(w.left-i)>u}}}return{outTop:d,outBottom:a,outLeft:f,outRight:l}};const r=t=>{const{outTop:n,outBottom:o,outLeft:e,outRight:i}=s(t);let r={};if(n||o){r={vy:n?"top":"bottom"};t.setAttribute("data-outside-vy",r.vy)}else{t.removeAttribute("data-outside-vy")}if(e||i){r=Object.assign(Object.assign({},r),{vx:i?"right":"left"});t.setAttribute("data-outside-vx",r.vx)}else{t.removeAttribute("data-outside-vx")}return r};const u=t=>Array.isArray(t)&&t.every((t=>typeof t==="string"));const d=["Mac","iPhone","iPad","iPod"];const a=()=>typeof window!=="undefined"&&d.some((t=>window.navigator.userAgent.includes(t)));const f=(t,n)=>new Promise((()=>setTimeout(t,n)));const l=t=>{if(t===undefined||t===null)return;if(typeof t==="string"){return String(Boolean(t))}return String(t)};const c=(t,n)=>{if(t===undefined||t===null)return;if(typeof t==="string"&&n){return Boolean(n===t||t)}return Boolean(t)};const v=(t,n)=>{if((t===undefined||t===null)&&(n===undefined||n===null)){return}return Number(t!==null&&t!==void 0?t:n)};const w=t=>{if(t===undefined||t===null){return undefined}return l(!Boolean(t))};const p=(t,n)=>{if(n===undefined){return!!t}else{return Boolean(n)&&Boolean(t)}};const g=t=>t.querySelector(`input[type="search"]`);export{n as a,i as b,o as c,u as d,a as e,f,l as g,r as h,s as i,c as j,v as k,w as l,g as m,p as s,t as u,e as v};
2
+ //# sourceMappingURL=p-TU0pfK1i.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p-TU0pfK1i.js","sources":["src/utils/index.ts"],"sourcesContent":["export const uuid = () => {\n if (typeof window !== 'undefined') {\n if (window.crypto?.randomUUID) {\n return window.crypto.randomUUID();\n } else if (window.crypto?.getRandomValues) {\n return window.crypto.getRandomValues(new Uint32Array(3)).join('-');\n }\n }\n return Math.random().toString().substring(2);\n};\nexport const addAttributeToChildren = (element: Element, attribute: {\n key: string;\n value: string;\n}) => {\n const children = element.children;\n Object.values(children).forEach((child: Element) => {\n child.setAttribute(attribute.key, attribute.value);\n if (child.children.length > 0) {\n addAttributeToChildren(child, attribute);\n }\n });\n};\nexport type ClassNameArg = string | {\n [key: string]: boolean | undefined;\n} | undefined;\nexport const cls = (...args: ClassNameArg[]) => {\n let result = '';\n for (const arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n result += `${arg} `;\n } else {\n for (const key in arg) {\n if (arg[key]) {\n result += `${key} `;\n }\n }\n }\n }\n }\n return result.trim();\n};\nexport const visibleInVX = (el: Element) => {\n const {\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerWidth\n } = window;\n return left >= 0 && right <= innerWidth;\n};\nexport const visibleInVY = (el: Element) => {\n const {\n top,\n bottom\n } = el.getBoundingClientRect();\n const {\n innerHeight\n } = window;\n return top >= 0 && bottom <= innerHeight;\n};\nexport const isInView = (el: Element) => {\n const {\n top,\n bottom,\n left,\n right\n } = el.getBoundingClientRect();\n const {\n innerHeight,\n innerWidth\n } = window;\n let outTop = top < 0;\n let outBottom = bottom > innerHeight;\n let outLeft = left < 0;\n let outRight = right > innerWidth;\n\n // We need to check if it was already outside\n const outsideY = el.hasAttribute('data-outside-vy');\n const outsideX = el.hasAttribute('data-outside-vx');\n const parentRect = el?.parentElement?.getBoundingClientRect();\n if (parentRect) {\n if (outsideY) {\n const position = el.getAttribute('data-outside-vy');\n if (position === 'top') {\n outTop = parentRect.top - (bottom - parentRect.bottom) < 0;\n } else {\n outBottom = parentRect.bottom + (parentRect.top - top) > innerHeight;\n }\n }\n if (outsideX) {\n const position = el.getAttribute('data-outside-vx');\n if (position === 'left') {\n outLeft = parentRect.left - (right - parentRect.right) < 0;\n } else {\n outRight = parentRect.right + (parentRect.left - left) > innerWidth;\n }\n }\n }\n return {\n outTop,\n outBottom,\n outLeft,\n outRight\n };\n};\nexport interface DBDataOutsidePair {\n vx?: 'left' | 'right';\n vy?: 'top' | 'bottom';\n}\nexport const handleDataOutside = (el: Element): DBDataOutsidePair => {\n const {\n outTop,\n outBottom,\n outLeft,\n outRight\n } = isInView(el);\n let dataOutsidePair: DBDataOutsidePair = {};\n if (outTop || outBottom) {\n dataOutsidePair = {\n vy: outTop ? 'top' : 'bottom'\n };\n el.setAttribute('data-outside-vy', dataOutsidePair.vy!);\n } else {\n el.removeAttribute('data-outside-vy');\n }\n if (outLeft || outRight) {\n dataOutsidePair = {\n ...dataOutsidePair,\n vx: outRight ? 'right' : 'left'\n };\n el.setAttribute('data-outside-vx', dataOutsidePair.vx!);\n } else {\n el.removeAttribute('data-outside-vx');\n }\n return dataOutsidePair;\n};\nexport const isArrayOfStrings = (value: unknown): value is string[] => Array.isArray(value) && value.every(item => typeof item === 'string');\nconst appleOs = ['Mac', 'iPhone', 'iPad', 'iPod'];\nexport const hasVoiceOver = (): boolean => typeof window !== 'undefined' && appleOs.some(os => window.navigator.userAgent.includes(os));\nexport const delay = (fn: () => void, ms: number) => new Promise(() => setTimeout(fn, ms));\n\n/**\n * Some frameworks like stencil would not add \"true\" as value for a prop\n * if it is used in a framework like angular e.g.: [disabled]=\"myDisabledProp\"\n * @param originBool Some boolean to convert to string\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getBooleanAsString = (originBool?: boolean | string): any => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string') {\n return String(Boolean(originBool));\n }\n return String(originBool);\n};\nexport const getBoolean = (originBool?: boolean | string, propertyName?: string): boolean | undefined => {\n if (originBool === undefined || originBool === null) return;\n if (typeof originBool === 'string' && propertyName) {\n return Boolean(propertyName === originBool || originBool);\n }\n return Boolean(originBool);\n};\nexport const getNumber = (originNumber?: number | string, alternativeNumber?: number | string): number | undefined => {\n if ((originNumber === undefined || originNumber === null) && (alternativeNumber === undefined || alternativeNumber === null)) {\n return;\n }\n return Number(originNumber ?? alternativeNumber);\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getHideProp = (show?: boolean | string): any => {\n if (show === undefined || show === null) {\n return undefined;\n }\n return getBooleanAsString(!Boolean(show));\n};\nexport const stringPropVisible = (givenString?: string, showString?: boolean | string) => {\n if (showString === undefined) {\n return !!givenString;\n } else {\n return Boolean(showString) && Boolean(givenString);\n }\n};\nexport const getSearchInput = (element: HTMLElement): HTMLInputElement | null => element.querySelector<HTMLInputElement>(`input[type=\"search\"]`)"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s,F as h}from"./p-BkYjDIed.js";import{e,f as l,s as a,u as n,h as o,m as d,g as c,j as u,l as r,c as v}from"./p-TU0pfK1i.js";import{l as f,a as w,m,d as b,e as p,g as y,h as g,i as k,o as A,f as F,k as x,c as D,s as C}from"./p-DC9V_oNU.js";import{D as S}from"./p-B_W_wePN.js";const T=class{constructor(s){i(this,s);this.amountChange=t(this,"amountChange");this.dropdownToggle=t(this,"dropdownToggle");this.optionSelected=t(this,"optionSelected");this.showClearSelection=true;this.clearSelectionText="Clear selection";this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._selectId=undefined;this._labelId=undefined;this._summaryId=undefined;this._placeholderId=undefined;this._infoTextId=undefined;this._validity="no-validation";this._descByIds="";this._selectedLabels="";this._selectedLabelsId=undefined;this._voiceOverFallback="";this._selectedOptions=[];this.selectAllEnabled=false;this.searchEnabled=false;this.amountOptions=0;this._values=[];this._options=[];this._hasNoOptions=false;this._documentClickListenerCallbackId=undefined;this._internalChangeTimestamp=0;this.selectAllChecked=false;this.selectAllIndeterminate=false;this.satisfyReact=function i(){}}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,h,n,o,d,c;if(this.selectRef){this.selectRef.value=this.getNativeSelectValue()}if(!((i=this.selectRef)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this.selectRef)===null||t===void 0?void 0:t.validationMessage)||f;if(e()){this._voiceOverFallback=this._invalidMessage;l((()=>this._voiceOverFallback=""),1e3)}this._validity=(s=this.validation)!==null&&s!==void 0?s:"invalid"}else if(this.hasValidState()&&((h=this.selectRef)===null||h===void 0?void 0:h.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(e()){this._voiceOverFallback=(n=this.validMessage)!==null&&n!==void 0?n:x;l((()=>this._voiceOverFallback=""),1e3)}this._validity=(o=this.validation)!==null&&o!==void 0?o:"valid"}else if(a(this.message,this.showMessage)){this._descByIds=this._messageId;this._validity=(d=this.validation)!==null&&d!==void 0?d:"no-validation"}else{this._descByIds=this._placeholderId;this._validity=(c=this.validation)!==null&&c!==void 0?c:"no-validation"}}handleDropdownToggle(i){if(this.dropdownToggle){this.dropdownToggle.emit(i)}if(i.target.open){this._documentClickListenerCallbackId=(new S).addCallback((i=>this.handleDocumentClose(i)))}else{if(this._documentClickListenerCallbackId){(new S).removeCallback(this._documentClickListenerCallbackId)}}}getNativeSelectValue(){var i,t;if((i=this._values)===null||i===void 0?void 0:i.length){return(t=this._values.at(0))!==null&&t!==void 0?t:""}return""}setDescById(i){var t;const s=[];if(i){s.push(i)}if(this._selectedLabelsId&&((t=this._selectedLabels)===null||t===void 0?void 0:t.length)){s.push(this._selectedLabelsId)}this._descByIds=s.join(" ")}getSelectAllLabel(){var i;return(i=this.selectAllLabel)!==null&&i!==void 0?i:w}getOptionLabel(i){var t,s,h;return(h=(t=i.label)!==null&&t!==void 0?t:(s=i.value)===null||s===void 0?void 0:s.toString())!==null&&h!==void 0?h:""}getOptionChecked(i){var t,s;if(i&&((t=this._values)===null||t===void 0?void 0:t.includes)){return(s=this._values)===null||s===void 0?void 0:s.includes(i)}return false}getOptionKey(i){var t,s;return((s=(t=i.id)!==null&&t!==void 0?t:i.value)!==null&&s!==void 0?s:n()).toString()}getTagRemoveLabel(i){return this.removeTagsTexts&&this.removeTagsTexts.length>i?this.removeTagsTexts.at(i):`${m} ${this._selectedOptions?this.getOptionLabel(this._selectedOptions[i]):""}`}handleTagRemove(i,t){t.stopPropagation();this.handleSelect(i.value);this.handleSummaryFocus()}handleAutoPlacement(){if(this.detailsRef){const i=this.detailsRef.querySelector("article");if(i){l((()=>{o(i)}),100)}}}handleArrowDownUp(i){var t,s,h,e,a,n,o;if((t=this.detailsRef)===null||t===void 0?void 0:t.open){if(document){const t=document.activeElement;if(t){const c=t.getAttribute("type")==="checkbox"||t.getAttribute("type")==="radio";if(c){const c=t===null||t===void 0?void 0:t.closest("li");if(i.key==="ArrowDown"||i.key==="ArrowRight"){if(c===null||c===void 0?void 0:c.nextElementSibling){(h=(s=c===null||c===void 0?void 0:c.nextElementSibling)===null||s===void 0?void 0:s.querySelector("input"))===null||h===void 0?void 0:h.focus()}else{this.handleFocusFirstDropdownCheckbox(t)}}else{if(c===null||c===void 0?void 0:c.previousElementSibling){(a=(e=c===null||c===void 0?void 0:c.previousElementSibling)===null||e===void 0?void 0:e.querySelector("input"))===null||a===void 0?void 0:a.focus()}else if(this.detailsRef.querySelector(`input[type="checkbox"]`)!==t){this.handleFocusFirstDropdownCheckbox(t)}else{const i=d(this.detailsRef);if(i){l((()=>{i.focus()}),100)}else{const i=Array.from((n=this.detailsRef)===null||n===void 0?void 0:n.querySelectorAll(`input[type="checkbox"],input[type="radio"]`));if(i.length){(o=i.at(-1))===null||o===void 0?void 0:o.focus()}}}}}else{if(t.getAttribute("type")==="search"&&(i.key==="ArrowUp"||i.key==="ArrowLeft")){this.handleClose("close");this.handleSummaryFocus()}else{this.handleFocusFirstDropdownCheckbox(t)}}}}i.stopPropagation();i.preventDefault()}else if(i.key==="ArrowDown"||i.key==="ArrowRight"){this.handleAutoPlacement();if(this.detailsRef){this.detailsRef.open=true}this.handleOpenByKeyboardFocus();i.stopPropagation();i.preventDefault()}}handleKeyboardPress(i){var t;if(i.key==="Escape"&&this.detailsRef&&((t=this.detailsRef)===null||t===void 0?void 0:t.open)){this.handleClose("close");this.handleSummaryFocus()}else if(i.key==="ArrowDown"||i.key==="ArrowUp"||i.key==="ArrowLeft"||i.key==="ArrowRight"){this.handleArrowDownUp(i)}}handleClose(i){if(this.detailsRef){if(i==="close"){this.detailsRef.open=false;this.handleSummaryFocus()}else if(this.detailsRef.open&&(i===null||i===void 0?void 0:i.relatedTarget)){const t=i.relatedTarget;if(!this.detailsRef.contains(t)){this.detailsRef.open=false}}}}handleDocumentClose(i){var t;const s=typeof i.detail==="number"?i.target:i.detail.target;if(((t=this.detailsRef)===null||t===void 0?void 0:t.open)&&!this.detailsRef.contains(s)){this.detailsRef.open=false}}handleOptionSelected(i){const t=(new Date).getTime()-this._internalChangeTimestamp<200;if(t)return;if(this.optionSelected){this._values=i;this.optionSelected.emit(i!==null&&i!==void 0?i:[])}this._internalChangeTimestamp=(new Date).getTime()}handleSelect(i){var t;if(i){if(this.multiple){if((t=this._values)===null||t===void 0?void 0:t.includes(i)){this.handleOptionSelected(this._values.filter((t=>t!==i)))}else{this.handleOptionSelected([...this._values||[],i])}}else{this.handleOptionSelected([i]);this.handleClose("close")}}}handleSelectAll(){var i;if(((i=this._values)===null||i===void 0?void 0:i.length)===this.amountOptions){this.handleOptionSelected([])}else{const i=this.searchEnabled&&this.searchInputRef?this.searchInputRef.value:undefined;this.handleOptionSelected(this.options?this.options.filter((t=>{var s;return!t.isGroupTitle&&(!i||((s=t.value)===null||s===void 0?void 0:s.toLowerCase().includes(i.toLowerCase())))})).map((i=>{var t;return(t=i.value)!==null&&t!==void 0?t:""})):[])}}handleFocusFirstDropdownCheckbox(i){if(this.detailsRef){const t=Array.from(this.detailsRef.querySelectorAll(`input[type="checkbox"],input[type="radio"]`));if(t.length){const s=t.at(0);const h=s===i&&t.length>1?t.at(1):s;if(h){l((()=>{h.focus()}),100)}}}}handleOpenByKeyboardFocus(i){if(this.detailsRef){const t=d(this.detailsRef);if(t){l((()=>{t.focus()}),100)}else if(!i){this.handleFocusFirstDropdownCheckbox()}}}handleSearch(i){i.stopPropagation();const t=i.target.value;this._options=!this.options||!t||t.length===0?this.options:this.options.filter((i=>!i.isGroupTitle&&this.getOptionLabel(i).toLowerCase().includes(t.toLowerCase())))}handleClearAll(){this.handleOptionSelected([]);this.handleSummaryFocus()}handleSummaryFocus(){var i,t;(t=(i=this.detailsRef)===null||i===void 0?void 0:i.querySelector("summary"))===null||t===void 0?void 0:t.focus()}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const e=t.item(h);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){i.setAttribute(e.name,e.value);s.removeAttribute(e.name)}if(e&&e.name==="class"){const t=e.value.includes("hydrated");const h=e.value.replace("hydrated","").trim();const l=i.getAttribute("class");i.setAttribute(e.name,`${l?`${l} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(e.name)}}}}}watch0Fn(){if(this.detailsRef){const i=this.detailsRef.querySelector("summary");if(i){i.addEventListener("click",(()=>{this.handleAutoPlacement();this.handleOpenByKeyboardFocus(true)}));i.addEventListener("keydown",(i=>{var t;if(i.code==="Space"&&!((t=this.detailsRef)===null||t===void 0?void 0:t.open)){this.handleOpenByKeyboardFocus()}}))}this.detailsRef.addEventListener("focusout",(i=>this.handleClose(i)))}}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+F;this._labelId=this._id+b;this._selectId=this._id+p;this._validMessageId=this._id+y;this._invalidMessageId=this._id+g;this._placeholderId=this._id+k;if(a(this.message,this.showMessage)){this.setDescById(i)}else{this.setDescById()}}}watch1(){this.watch1Fn()}watch2Fn(){if(this.detailsRef){const i=this.detailsRef.querySelector("summary");if(i){i.setAttribute("aria-describedby",this._descByIds||"")}}}watch2(){this.watch2Fn()}watch3Fn(){if(this.showNoResults!==undefined){this._hasNoOptions=this.showNoResults}else if(this._options){this._hasNoOptions=this._options.length===0}}watch3(){this.watch3Fn()}watch4Fn(){this.selectAllEnabled=Boolean(this.multiple&&(this.showSelectAll||this.amountOptions>5))}watch4(){this.watch4Fn()}watch5Fn(){this.searchEnabled=this.showSearch||this.amountOptions>9}watch5(){this.watch5Fn()}watch6Fn(){var i;if(this.values&&Array.isArray(this.values)&&this.values!==this._values){this._values=(i=this.values)!==null&&i!==void 0?i:[]}}watch6(){this.watch6Fn()}watch7Fn(){this.handleValidation()}watch7(){this.watch7Fn()}watch8Fn(){this._validity=this.validation}watch8(){this.watch8Fn()}watch9Fn(){var i,t;if(((i=this._values)===null||i===void 0?void 0:i.length)===0){this.selectAllChecked=false;this.selectAllIndeterminate=false}else if(((t=this._values)===null||t===void 0?void 0:t.length)===this.amountOptions){this.selectAllIndeterminate=false;this.selectAllChecked=true}else if(this._values){this.selectAllIndeterminate=true}}watch9(){this.watch9Fn()}watch10Fn(){var i,t;this._options=this.options;this.amountOptions=(t=(i=this.options)===null||i===void 0?void 0:i.filter((i=>!i.isGroupTitle)).length)!==null&&t!==void 0?t:0}watch10(){this.watch10Fn()}watch11Fn(){var i,t;if((i=this._options)===null||i===void 0?void 0:i.length){this._selectedOptions=(t=this._options)===null||t===void 0?void 0:t.filter((i=>{var t,s;if(!i.value||!((t=this._values)===null||t===void 0?void 0:t["includes"])){return false}return!i.isGroupTitle&&((s=this._values)===null||s===void 0?void 0:s.includes(i.value))}))}}watch11(){this.watch11Fn()}watch12Fn(){var i,t,s;if((i=this._selectedOptions)===null||i===void 0?void 0:i.length){if(this.selectedType==="amount"){this._selectedLabels=this.amountText?this.amountText:`${(t=this._selectedOptions)===null||t===void 0?void 0:t.length} ${A}`}else{this._selectedLabels=(s=this._selectedOptions)===null||s===void 0?void 0:s.map((i=>this.getOptionLabel(i))).join(", ")}}else{this._selectedLabels=""}}watch12(){this.watch12Fn()}watch13Fn(){var i,t;if(this.amountChange){this.amountChange.emit((t=(i=this._selectedOptions)===null||i===void 0?void 0:i.length)!==null&&t!==void 0?t:0)}}watch13(){this.watch13Fn()}watch14Fn(){if(this.selectAllRef){this.selectAllRef.indeterminate=Boolean(this.selectAllIndeterminate)}}watch14(){this.watch14Fn()}watch15Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this.selectRef)===null||i===void 0?void 0:i.validationMessage)||f}watch15(){this.watch15Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-custom-select");const t=(i=this.id)!==null&&i!==void 0?i:`custom-select-${n()}`;this._id=t;this._messageId=t+F;this._validMessageId=t+y;this._invalidMessageId=t+g;this._selectId=t+p;this._labelId=t+b;this._summaryId=t+"-summary";this._placeholderId=t+k;this._selectedLabelsId=t+"-selected-labels";this._infoTextId=t+"-info";this._invalidMessage=this.invalidMessage||f;this.watch0Fn();this.watch1Fn();this.watch2Fn();this.watch3Fn();this.watch4Fn();this.watch5Fn();this.watch6Fn();this.watch7Fn();this.watch8Fn();this.watch9Fn();this.watch10Fn();this.watch11Fn();this.watch12Fn();this.watch13Fn();this.watch14Fn();this.watch15Fn()}render(){var i,t,e,l,n,o,d,f,m,b,p,y,g,k,A;return s("div",{key:"ba168e109d3b2e75b46145033a88119ac46cf3f7",class:v("db-custom-select",this.className),id:this._id,ref:i=>{this._ref=i},"aria-invalid":this._validity==="invalid","data-custom-validity":this._validity,"data-width":this.formFieldWidth,"data-variant":this.variant==="floating"&&this.selectedType==="tag"&&this.multiple?"above":this.variant,"data-required":c(this.required),"data-placement":this.placement,"data-selected-type":this.multiple?this.selectedType:"text","data-hide-label":r(this.showLabel),"data-icon":this.icon,"data-hide-icon":r(this.showIcon)},s("label",{key:"a92ba45f913e2c7a78140da705da166af94484b5",id:this._labelId},(i=this.label)!==null&&i!==void 0?i:w,s("select",{key:"093c76705744d56d0d3c2c33f108a74b088381a5",role:"none",hidden:true,id:this._selectId,tabIndex:-1,ref:i=>{this.selectRef=i},form:this.form,name:this.name,multiple:u(this.multiple,"multiple"),disabled:u(this.disabled,"disabled"),required:u(this.required,"required"),onChange:()=>this.satisfyReact()},((t=this._options)===null||t===void 0?void 0:t.length)?(e=this._options)===null||e===void 0?void 0:e.map((i=>s("option",{disabled:i.disabled,value:i.value,key:undefined},this.getOptionLabel(i)))):null)),s("details",{key:"64c5745a0fc32954f792b7fb81c8b26f11304565",ref:i=>{this.detailsRef=i},open:this.open,onToggle:i=>this.handleDropdownToggle(i),onKeyDown:i=>this.handleKeyboardPress(i)},s("slot",{key:"1b1683fa3e54c249efd67e1ca960d61accd125c3"}),this.options?s(h,null,s("summary",{class:"db-custom-select-form-field",id:this._summaryId,"aria-disabled":c(this.disabled),"aria-labelledby":this._labelId},((l=this._selectedLabels)===null||l===void 0?void 0:l.length)?s("span",{"data-visually-hidden":c(this.selectedType==="tag"),id:this._selectedLabelsId},this._selectedLabels):null,this.selectedType==="tag"?s("div",null,(n=this._selectedOptions)===null||n===void 0?void 0:n.map(((i,t)=>s("db-tag",{emphasis:"strong",behavior:"removable",removeButton:this.getTagRemoveLabel(t),onRemove:t=>this.handleTagRemove(i,t),key:undefined},this.getOptionLabel(i))))):null),s("db-custom-select-dropdown",{width:this.dropdownWidth},this.searchEnabled?s("div",null,s("db-input",{type:"search",ref:i=>{this.searchInputRef=i},name:this._id,form:this._id,showLabel:false,label:(o=this.searchLabel)!==null&&o!==void 0?o:w,placeholder:(d=this.searchPlaceholder)!==null&&d!==void 0?d:this.searchLabel,ariaDescribedBy:this._hasNoOptions||this.showLoading?this._infoTextId:undefined,onInput:i=>this.handleSearch(i)})):null,this._hasNoOptions||this.showLoading?s("db-infotext",{id:this._infoTextId,icon:this._hasNoOptions?undefined:"circular_arrows",semantic:this._hasNoOptions?"warning":"informational"},(f=this._hasNoOptions?this.noResultsText:this.loadingText)!==null&&f!==void 0?f:D):s(h,null,this.selectAllEnabled?s("div",null,s("div",{class:"db-checkbox db-custom-select-list-item"},s("label",null,s("input",{type:"checkbox",value:"select-all",ref:i=>{this.selectAllRef=i},form:this._id,checked:this.selectAllChecked,onChange:()=>this.handleSelectAll()}),this.getSelectAllLabel()))):null,s("db-custom-select-list",{multiple:u(this.multiple,"multiple"),label:(b=(m=this.ariaListLabel)!==null&&m!==void 0?m:this.label)!==null&&b!==void 0?b:w},(p=this._options)===null||p===void 0?void 0:p.map((i=>s("db-custom-select-list-item",{type:this.multiple?"checkbox":"radio",showDivider:i.showDivider,icon:i.icon,isGroupTitle:i.isGroupTitle,groupTitle:this.getOptionLabel(i),name:this._id,checked:this.getOptionChecked(i.value),disabled:i.disabled,value:i.value,onChange:()=>this.handleSelect(i.value),key:undefined},!i.isGroupTitle?this.getOptionLabel(i):null))))),s("div",null,s("db-button",{variant:"ghost",width:"full",icon:"cross",size:"small",name:this._id,form:this._id,onClick:()=>this.handleClose("close")},(y=this.mobileCloseButtonText)!==null&&y!==void 0?y:C)))):null),((g=this.showClearSelection)!==null&&g!==void 0?g:true)&&((k=this._values)===null||k===void 0?void 0:k.length)?s("db-button",{icon:"cross",variant:"ghost",size:"small",noText:true,name:this._id,form:this._id,onClick:()=>this.handleClearAll()},this.clearSelectionText,s("db-tooltip",{placement:"top"},this.clearSelectionText)):null,s("span",{key:"309d5096cdbdfee24bd9a8a1941241586b60b3a4","aria-hidden":c(true),id:this._placeholderId},(A=this.placeholder)!==null&&A!==void 0?A:this.label),a(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||x):null,s("db-infotext",{key:"8f0fe04ea553fbffd86a7e30baa9cab7be708fd6",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"c106041467983c90b5a56ee4a6a56f8653dccaab","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{detailsRef:["watch0","watch2"],_id:["watch1"],_descByIds:["watch2"],showNoResults:["watch3"],_options:["watch3","watch11"],showSelectAll:["watch4"],amountOptions:["watch4","watch5","watch9"],multiple:["watch4"],showSearch:["watch5"],values:["watch6"],_values:["watch7","watch9","watch11"],validation:["watch8"],options:["watch10"],_selectedOptions:["watch12","watch13"],selectedType:["watch12"],amountText:["watch12"],selectAllIndeterminate:["watch14"],selectAllRef:["watch14"],selectRef:["watch15"],invalidMessage:["watch15"]}}};export{T as db_custom_select};
2
+ //# sourceMappingURL=p-a20f9b38.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBCustomSelect","constructor","hostRef","this","showClearSelection","clearSelectionText","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_selectId","_labelId","_summaryId","_placeholderId","_infoTextId","_validity","_descByIds","_selectedLabels","_selectedLabelsId","_voiceOverFallback","_selectedOptions","selectAllEnabled","searchEnabled","amountOptions","_values","_options","_hasNoOptions","_documentClickListenerCallbackId","_internalChangeTimestamp","selectAllChecked","selectAllIndeterminate","satisfyReact","hasValidState","_a","validMessage","validation","handleValidation","selectRef","value","getNativeSelectValue","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","_d","required","_e","DEFAULT_VALID_MESSAGE","_f","stringPropVisible","message","showMessage","_g","_h","handleDropdownToggle","event","dropdownToggle","emit","target","open","DocumentClickListener","addCallback","handleDocumentClose","removeCallback","length","at","setDescById","descId","descByIds","push","join","getSelectAllLabel","selectAllLabel","DEFAULT_LABEL","getOptionLabel","option","label","toString","getOptionChecked","includes","getOptionKey","id","uuid","getTagRemoveLabel","index","removeTagsTexts","DEFAULT_REMOVE","handleTagRemove","stopPropagation","handleSelect","handleSummaryFocus","handleAutoPlacement","detailsRef","dropdown","querySelector","handleDataOutside","handleArrowDownUp","document","activeElement","isCheckbox","getAttribute","listElement","closest","key","nextElementSibling","focus","handleFocusFirstDropdownCheckbox","previousElementSibling","search","getSearchInput","checkboxList","Array","from","querySelectorAll","handleClose","preventDefault","handleOpenByKeyboardFocus","handleKeyboardPress","relatedTarget","contains","detail","handleOptionSelected","values","skip","Date","getTime","optionSelected","multiple","filter","v","handleSelectAll","searchValue","searchInputRef","options","isGroupTitle","toLowerCase","map","checkboxes","first","checkbox","onlySearch","handleSearch","filterText","handleClearAll","enableAttributePassing","element","customElementSelector","parent","attributes","i","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","replace","trim","currentClass","watch0Fn","summary","addEventListener","code","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_LABEL_ID_SUFFIX","DEFAULT_SELECT_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","DEFAULT_PLACEHOLDER_ID_SUFFIX","watch1","watch2Fn","watch2","watch3Fn","showNoResults","watch3","watch4Fn","Boolean","showSelectAll","watch4","watch5Fn","showSearch","watch5","watch6Fn","isArray","watch6","watch7Fn","watch7","watch8Fn","watch8","watch9Fn","watch9","watch10Fn","watch10","watch11Fn","watch11","watch12Fn","selectedType","amountText","DEFAULT_SELECTED","watch12","watch13Fn","amountChange","watch13","watch14Fn","selectAllRef","indeterminate","watch14","watch15Fn","watch15","componentDidLoad","_ref","mId","render","h","class","cls","className","ref","el","formFieldWidth","variant","getBooleanAsString","placement","getHideProp","showLabel","icon","showIcon","role","hidden","tabIndex","form","getBoolean","disabled","onChange","onToggle","onKeyDown","Fragment","emphasis","behavior","removeButton","onRemove","width","dropdownWidth","type","searchLabel","placeholder","searchPlaceholder","ariaDescribedBy","showLoading","onInput","semantic","noResultsText","loadingText","DEFAULT_MESSAGE","checked","_k","_j","ariaListLabel","_l","showDivider","groupTitle","size","onClick","_m","mobileCloseButtonText","DEFAULT_CLOSE_BUTTON","_o","_p","noText","_q","messageIcon"],"sources":["src/components/custom-select/custom-select.tsx"],"sourcesContent":["import {\n DBCustomSelectProps,\n DBCustomSelectState,\n CustomSelectOptionType,\n} from \"./model\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n getSearchInput,\n handleDataOutside,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_CLOSE_BUTTON,\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_LABEL_ID_SUFFIX,\n DEFAULT_MESSAGE,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER_ID_SUFFIX,\n DEFAULT_REMOVE,\n DEFAULT_SELECT_ID_SUFFIX,\n DEFAULT_SELECTED,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, ClickEvent } from \"../../shared/model\";\nimport { DBCustomSelectList } from \"../custom-select-list/custom-select-list\";\nimport { DBCustomSelectListItem } from \"../custom-select-list-item/custom-select-list-item\";\nimport { DBCustomSelectDropdown } from \"../custom-select-dropdown/custom-select-dropdown\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTag } from \"../tag/tag\";\nimport { DBButton } from \"../button/button\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInput } from \"../input/input\";\nimport { DocumentClickListener } from \"../../utils/document-click-listener\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select\",\n})\nexport class DBCustomSelect {\n private _ref!: HTMLDivElement | any;\n private detailsRef!: HTMLDetailsElement | any;\n private selectRef!: HTMLSelectElement | any;\n private selectAllRef!: HTMLInputElement | any;\n private searchInputRef!: HTMLInputElement | any;\n @Prop() id: DBCustomSelectProps[\"id\"];\n @Prop() invalidMessage: DBCustomSelectProps[\"invalidMessage\"];\n @Prop() message: DBCustomSelectProps[\"message\"];\n @Prop() showMessage: DBCustomSelectProps[\"showMessage\"];\n @Prop() showNoResults: DBCustomSelectProps[\"showNoResults\"];\n @Prop() multiple: DBCustomSelectProps[\"multiple\"];\n @Prop() showSelectAll: DBCustomSelectProps[\"showSelectAll\"];\n @Prop() showSearch: DBCustomSelectProps[\"showSearch\"];\n @Prop() values: DBCustomSelectProps[\"values\"];\n @Prop() validation: DBCustomSelectProps[\"validation\"];\n @Prop() options: DBCustomSelectProps[\"options\"];\n @Prop() selectedType: DBCustomSelectProps[\"selectedType\"];\n @Prop() amountText: DBCustomSelectProps[\"amountText\"];\n @Event() amountChange: EventEmitter<\n Parameters<Required<DBCustomSelectProps>[\"onAmountChange\"]>[number]\n > | void;\n @Prop() validMessage: DBCustomSelectProps[\"validMessage\"];\n @Prop() required: DBCustomSelectProps[\"required\"];\n @Event() dropdownToggle: EventEmitter<\n Parameters<Required<DBCustomSelectProps>[\"onDropdownToggle\"]>[number]\n > | void;\n @Prop() selectAllLabel: DBCustomSelectProps[\"selectAllLabel\"];\n @Prop() removeTagsTexts: DBCustomSelectProps[\"removeTagsTexts\"];\n @Event() optionSelected: EventEmitter<\n Parameters<Required<DBCustomSelectProps>[\"onOptionSelected\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBCustomSelectProps[\"className\"];\n @Prop() formFieldWidth: DBCustomSelectProps[\"formFieldWidth\"];\n @Prop() variant: DBCustomSelectProps[\"variant\"];\n @Prop() placement: DBCustomSelectProps[\"placement\"];\n @Prop() showLabel: DBCustomSelectProps[\"showLabel\"];\n @Prop() icon: DBCustomSelectProps[\"icon\"];\n @Prop() showIcon: DBCustomSelectProps[\"showIcon\"];\n @Prop() label: DBCustomSelectProps[\"label\"];\n @Prop() form: DBCustomSelectProps[\"form\"];\n @Prop() name: DBCustomSelectProps[\"name\"];\n @Prop() disabled: DBCustomSelectProps[\"disabled\"];\n @Prop() open: DBCustomSelectProps[\"open\"];\n @Prop() dropdownWidth: DBCustomSelectProps[\"dropdownWidth\"];\n @Prop() searchLabel: DBCustomSelectProps[\"searchLabel\"];\n @Prop() searchPlaceholder: DBCustomSelectProps[\"searchPlaceholder\"];\n @Prop() showLoading: DBCustomSelectProps[\"showLoading\"];\n @Prop() ariaListLabel: DBCustomSelectProps[\"ariaListLabel\"];\n @Prop() noResultsText: DBCustomSelectProps[\"noResultsText\"];\n @Prop() loadingText: DBCustomSelectProps[\"loadingText\"];\n @Prop() mobileCloseButtonText: DBCustomSelectProps[\"mobileCloseButtonText\"];\n @Prop() showClearSelection: DBCustomSelectProps[\"showClearSelection\"] = true;\n @Prop() clearSelectionText: DBCustomSelectProps[\"clearSelectionText\"] =\n \"Clear selection\";\n @Prop() placeholder: DBCustomSelectProps[\"placeholder\"];\n @Prop() messageIcon: DBCustomSelectProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _selectId = undefined;\n @State() _labelId = undefined;\n @State() _summaryId = undefined;\n @State() _placeholderId = undefined;\n @State() _infoTextId = undefined;\n @State() _validity = \"no-validation\";\n @State() _descByIds = \"\";\n @State() _selectedLabels = \"\";\n @State() _selectedLabelsId = undefined;\n @State() _voiceOverFallback = \"\";\n @State() _selectedOptions = [];\n @State() selectAllEnabled = false;\n @State() searchEnabled = false;\n @State() amountOptions = 0;\n @State() _values = [];\n @State() _options = [];\n @State() _hasNoOptions = false;\n @State() _documentClickListenerCallbackId = undefined;\n @State() _internalChangeTimestamp = 0;\n @State() selectAllChecked = false;\n @State() selectAllIndeterminate = false;\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n if (this.selectRef) {\n this.selectRef.value = this.getNativeSelectValue();\n }\n /* For a11y reasons we need to map the correct message with the select */\n if (!this.selectRef?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this.selectRef?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n this._validity = this.validation ?? \"invalid\";\n } else if (\n this.hasValidState() &&\n this.selectRef?.validity.valid &&\n this.required\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n this._validity = this.validation ?? \"valid\";\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n this._validity = this.validation ?? \"no-validation\";\n } else {\n this._descByIds = this._placeholderId;\n this._validity = this.validation ?? \"no-validation\";\n }\n }\n handleDropdownToggle(event: any) {\n if (this.dropdownToggle) {\n this.dropdownToggle.emit(event);\n }\n if (event.target.open) {\n this._documentClickListenerCallbackId =\n new DocumentClickListener().addCallback((event) =>\n this.handleDocumentClose(event)\n );\n } else {\n if (this._documentClickListenerCallbackId) {\n new DocumentClickListener().removeCallback(\n this._documentClickListenerCallbackId!\n );\n }\n }\n }\n getNativeSelectValue() {\n if (this._values?.length) {\n return this._values!.at(0) ?? \"\";\n }\n return \"\";\n }\n setDescById(descId?: string) {\n const descByIds: string[] = [];\n if (descId) {\n descByIds.push(descId);\n }\n if (this._selectedLabelsId && this._selectedLabels?.length) {\n descByIds.push(this._selectedLabelsId!);\n }\n this._descByIds = descByIds.join(\" \");\n }\n getSelectAllLabel() {\n return this.selectAllLabel ?? DEFAULT_LABEL;\n }\n getOptionLabel(option: CustomSelectOptionType) {\n return option.label ?? option.value?.toString() ?? \"\";\n }\n getOptionChecked(value?: string) {\n if (value && this._values?.includes) {\n return this._values?.includes(value!);\n }\n return false;\n }\n getOptionKey(option: CustomSelectOptionType) {\n return (option.id ?? option.value ?? uuid()).toString();\n }\n getTagRemoveLabel(index: number) {\n return this.removeTagsTexts && this.removeTagsTexts!.length > index\n ? this.removeTagsTexts!.at(index)!\n : `${DEFAULT_REMOVE} ${\n this._selectedOptions\n ? this.getOptionLabel(this._selectedOptions![index])\n : \"\"\n }`;\n }\n handleTagRemove(option: CustomSelectOptionType, event: any) {\n event.stopPropagation();\n this.handleSelect(option.value);\n this.handleSummaryFocus();\n }\n handleAutoPlacement() {\n if (this.detailsRef) {\n const dropdown = this.detailsRef.querySelector(\"article\");\n if (dropdown) {\n delay(() => {\n handleDataOutside(dropdown);\n }, 100);\n }\n }\n }\n handleArrowDownUp(event: any) {\n if (this.detailsRef?.open) {\n if (document) {\n const activeElement = document.activeElement;\n if (activeElement) {\n // 1. we check if we are currently focusing a checkbox in the dropdown\n const isCheckbox =\n activeElement.getAttribute(\"type\") === \"checkbox\" ||\n activeElement.getAttribute(\"type\") === \"radio\";\n if (isCheckbox) {\n const listElement = activeElement?.closest(\"li\");\n if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n if (listElement?.nextElementSibling) {\n listElement?.nextElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else {\n // We are on the last checkbox we move to the top checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n } else {\n if (listElement?.previousElementSibling) {\n listElement?.previousElementSibling\n ?.querySelector(\"input\")\n ?.focus();\n } else if (\n this.detailsRef.querySelector(`input[type=\"checkbox\"]`) !==\n activeElement\n ) {\n // We are on the top list checkbox but there is a select all checkbox as well\n this.handleFocusFirstDropdownCheckbox(activeElement);\n } else {\n // We are on the top checkbox, we need to move to the search\n // or to the last checkbox\n const search = getSearchInput(this.detailsRef);\n if (search) {\n delay(() => {\n search.focus();\n }, 100);\n } else {\n const checkboxList: HTMLInputElement[] = Array.from(\n this.detailsRef?.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxList.length) {\n checkboxList.at(-1)?.focus();\n }\n }\n }\n }\n } else {\n // 2. If we are on the search, and press up we go back to summary and close\n if (\n activeElement.getAttribute(\"type\") === \"search\" &&\n (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\")\n ) {\n this.handleClose(\"close\");\n this.handleSummaryFocus();\n } else {\n // 3. Otherwise, we need to move to the first checkbox\n this.handleFocusFirstDropdownCheckbox(activeElement);\n }\n }\n }\n }\n event.stopPropagation();\n event.preventDefault();\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n // Open dropdown with arrows see https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboardinteraction\n this.handleAutoPlacement();\n if (this.detailsRef) {\n this.detailsRef.open = true;\n }\n this.handleOpenByKeyboardFocus();\n event.stopPropagation();\n event.preventDefault();\n }\n }\n handleKeyboardPress(event: any) {\n if (event.key === \"Escape\" && this.detailsRef && this.detailsRef?.open) {\n this.handleClose(\"close\");\n this.handleSummaryFocus();\n } else if (\n event.key === \"ArrowDown\" ||\n event.key === \"ArrowUp\" ||\n event.key === \"ArrowLeft\" ||\n event.key === \"ArrowRight\"\n ) {\n this.handleArrowDownUp(event);\n }\n }\n handleClose(event: any) {\n if (this.detailsRef) {\n if (event === \"close\") {\n this.detailsRef.open = false;\n this.handleSummaryFocus();\n } else if (this.detailsRef.open && event?.relatedTarget) {\n const relatedTarget = event.relatedTarget as HTMLElement;\n if (!this.detailsRef.contains(relatedTarget)) {\n this.detailsRef.open = false;\n }\n }\n }\n }\n handleDocumentClose(event: any) {\n // stencil is sending a custom event which wraps the pointer event into details\n const target =\n typeof event.detail === \"number\" ? event.target : event.detail.target;\n if (this.detailsRef?.open && !this.detailsRef.contains(target)) {\n this.detailsRef.open = false;\n }\n }\n handleOptionSelected(values: string[]) {\n const skip = new Date().getTime() - this._internalChangeTimestamp < 200;\n if (skip) return;\n if (this.optionSelected) {\n this._values = values;\n this.optionSelected.emit(values ?? []);\n }\n this._internalChangeTimestamp = new Date().getTime();\n }\n handleSelect(value?: string) {\n if (value) {\n if (this.multiple) {\n if (this._values?.includes(value)) {\n this.handleOptionSelected(\n this._values!.filter((v: string) => v !== value)\n );\n } else {\n this.handleOptionSelected([...(this._values || []), value]);\n }\n } else {\n this.handleOptionSelected([value]);\n this.handleClose(\"close\");\n }\n }\n }\n handleSelectAll() {\n if (this._values?.length === this.amountOptions) {\n this.handleOptionSelected([]);\n } else {\n const searchValue: string | undefined =\n this.searchEnabled && this.searchInputRef\n ? this.searchInputRef.value\n : undefined;\n this.handleOptionSelected(\n this.options\n ? this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n (!searchValue ||\n option.value\n ?.toLowerCase()\n .includes(searchValue.toLowerCase()))\n ).map((option) => option.value ?? \"\")\n : []\n );\n }\n }\n handleFocusFirstDropdownCheckbox(activeElement?: Element) {\n if (this.detailsRef) {\n const checkboxes = Array.from(\n this.detailsRef.querySelectorAll(\n `input[type=\"checkbox\"],input[type=\"radio\"]`\n )\n );\n if (checkboxes.length) {\n const first = checkboxes.at(0);\n const checkbox =\n first === activeElement && checkboxes.length > 1\n ? checkboxes.at(1)\n : first;\n if (checkbox) {\n delay(() => {\n // Takes some time until element can be focused\n (checkbox as HTMLInputElement).focus();\n }, 100);\n }\n }\n }\n }\n handleOpenByKeyboardFocus(onlySearch?: boolean) {\n if (this.detailsRef) {\n // Focus search if possible\n const search = getSearchInput(this.detailsRef);\n if (search) {\n delay(() => {\n // Takes some time until element can be focused\n search.focus();\n }, 100);\n } else if (!onlySearch) {\n // Focus first checkbox otherwise\n this.handleFocusFirstDropdownCheckbox();\n }\n }\n }\n handleSearch(event: any) {\n event.stopPropagation();\n const filterText = (event.target as HTMLInputElement).value;\n this._options =\n !this.options || !filterText || filterText.length === 0\n ? this.options\n : this.options!.filter(\n (option) =>\n !option.isGroupTitle &&\n this.getOptionLabel(option)\n .toLowerCase()\n .includes(filterText.toLowerCase())\n );\n }\n handleClearAll() {\n this.handleOptionSelected([]);\n this.handleSummaryFocus();\n }\n handleSummaryFocus() {\n this.detailsRef?.querySelector(\"summary\")?.focus();\n }\n satisfyReact = function satisfyReact() {\n // This is an empty function to satisfy React\n };\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.detailsRef) {\n const summary = this.detailsRef.querySelector(\"summary\");\n if (summary) {\n summary.addEventListener(\"click\", () => {\n this.handleAutoPlacement();\n this.handleOpenByKeyboardFocus(true);\n });\n summary.addEventListener(\"keydown\", (event: KeyboardEvent) => {\n if (event.code === \"Space\" && !this.detailsRef?.open) {\n this.handleOpenByKeyboardFocus();\n }\n });\n }\n this.detailsRef.addEventListener(\"focusout\", (event: any) =>\n this.handleClose(event)\n );\n }\n }\n\n @Watch(\"detailsRef\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._labelId = this._id + DEFAULT_LABEL_ID_SUFFIX;\n this._selectId = this._id + DEFAULT_SELECT_ID_SUFFIX;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._placeholderId = this._id + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this.setDescById(messageId);\n } else {\n this.setDescById();\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this.detailsRef) {\n const summary = this.detailsRef.querySelector(\"summary\");\n if (summary) {\n summary.setAttribute(\"aria-describedby\", this._descByIds || \"\");\n }\n }\n }\n\n @Watch(\"detailsRef\")\n @Watch(\"_descByIds\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.showNoResults !== undefined) {\n this._hasNoOptions = this.showNoResults!;\n } else if (this._options) {\n this._hasNoOptions = this._options!.length === 0;\n }\n }\n\n @Watch(\"showNoResults\")\n @Watch(\"_options\")\n watch3() {\n this.watch3Fn();\n }\n\n watch4Fn() {\n this.selectAllEnabled = Boolean(\n this.multiple && (this.showSelectAll || this.amountOptions > 5)\n );\n }\n\n @Watch(\"showSelectAll\")\n @Watch(\"amountOptions\")\n @Watch(\"multiple\")\n watch4() {\n this.watch4Fn();\n }\n\n watch5Fn() {\n this.searchEnabled = this.showSearch || this.amountOptions > 9;\n }\n\n @Watch(\"showSearch\")\n @Watch(\"amountOptions\")\n watch5() {\n this.watch5Fn();\n }\n\n watch6Fn() {\n if (\n this.values &&\n Array.isArray(this.values) &&\n this.values !== this._values\n ) {\n this._values = this.values ?? [];\n }\n }\n\n @Watch(\"values\")\n watch6() {\n this.watch6Fn();\n }\n\n watch7Fn() {\n this.handleValidation();\n }\n\n @Watch(\"_values\")\n watch7() {\n this.watch7Fn();\n }\n\n watch8Fn() {\n this._validity = this.validation;\n }\n\n @Watch(\"validation\")\n watch8() {\n this.watch8Fn();\n }\n\n watch9Fn() {\n if (this._values?.length === 0) {\n this.selectAllChecked = false;\n this.selectAllIndeterminate = false;\n } else if (this._values?.length === this.amountOptions) {\n this.selectAllIndeterminate = false;\n this.selectAllChecked = true;\n } else if (this._values) {\n this.selectAllIndeterminate = true;\n }\n }\n\n @Watch(\"_values\")\n @Watch(\"amountOptions\")\n watch9() {\n this.watch9Fn();\n }\n\n watch10Fn() {\n this._options = this.options;\n this.amountOptions =\n this.options?.filter((option) => !option.isGroupTitle).length ?? 0;\n }\n\n @Watch(\"options\")\n watch10() {\n this.watch10Fn();\n }\n\n watch11Fn() {\n if (this._options?.length) {\n this._selectedOptions = this._options?.filter(\n (option: CustomSelectOptionType) => {\n if (!option.value || !this._values?.[\"includes\"]) {\n return false;\n }\n return !option.isGroupTitle && this._values?.includes(option.value);\n }\n );\n }\n }\n\n @Watch(\"_options\")\n @Watch(\"_values\")\n watch11() {\n this.watch11Fn();\n }\n\n watch12Fn() {\n if (this._selectedOptions?.length) {\n if (this.selectedType === \"amount\") {\n this._selectedLabels = this.amountText\n ? this.amountText\n : `${this._selectedOptions?.length} ${DEFAULT_SELECTED}`;\n } else {\n this._selectedLabels = this._selectedOptions\n ?.map((option: CustomSelectOptionType) => this.getOptionLabel(option))\n .join(\", \");\n }\n } else {\n this._selectedLabels = \"\";\n }\n }\n\n @Watch(\"_selectedOptions\")\n @Watch(\"selectedType\")\n @Watch(\"amountText\")\n watch12() {\n this.watch12Fn();\n }\n\n watch13Fn() {\n if (this.amountChange) {\n this.amountChange.emit(this._selectedOptions?.length ?? 0);\n }\n }\n\n @Watch(\"_selectedOptions\")\n watch13() {\n this.watch13Fn();\n }\n\n watch14Fn() {\n if (this.selectAllRef) {\n this.selectAllRef.indeterminate = Boolean(this.selectAllIndeterminate);\n }\n }\n\n @Watch(\"selectAllIndeterminate\")\n @Watch(\"selectAllRef\")\n watch14() {\n this.watch14Fn();\n }\n\n watch15Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this.selectRef?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"selectRef\")\n @Watch(\"invalidMessage\")\n watch15() {\n this.watch15Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select\");\n const mId = this.id ?? `custom-select-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._selectId = mId + DEFAULT_SELECT_ID_SUFFIX;\n this._labelId = mId + DEFAULT_LABEL_ID_SUFFIX;\n this._summaryId = mId + \"-summary\";\n this._placeholderId = mId + DEFAULT_PLACEHOLDER_ID_SUFFIX;\n this._selectedLabelsId = mId + \"-selected-labels\";\n this._infoTextId = mId + \"-info\";\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n this.watch3Fn();\n this.watch4Fn();\n this.watch5Fn();\n this.watch6Fn();\n this.watch7Fn();\n this.watch8Fn();\n this.watch9Fn();\n this.watch10Fn();\n this.watch11Fn();\n this.watch12Fn();\n this.watch13Fn();\n this.watch14Fn();\n this.watch15Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-custom-select\", this.className)}\n id={this._id}\n ref={(el: any) => {\n this._ref = el;\n }}\n aria-invalid={this._validity === \"invalid\"}\n data-custom-validity={this._validity}\n data-width={this.formFieldWidth}\n data-variant={\n this.variant === \"floating\" &&\n this.selectedType === \"tag\" &&\n this.multiple\n ? \"above\"\n : this.variant\n }\n data-required={getBooleanAsString(this.required)}\n data-placement={this.placement}\n data-selected-type={this.multiple ? this.selectedType : \"text\"}\n data-hide-label={getHideProp(this.showLabel)}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n >\n <label id={this._labelId}>\n {this.label ?? DEFAULT_LABEL}\n <select\n role=\"none\"\n hidden={true}\n id={this._selectId}\n tabIndex={-1}\n ref={(el: any) => {\n this.selectRef = el;\n }}\n form={this.form}\n name={this.name}\n multiple={getBoolean(this.multiple, \"multiple\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n onChange={() => this.satisfyReact()}\n >\n {this._options?.length\n ? this._options?.map((option) => (\n <option\n disabled={option.disabled}\n value={option.value}\n key={undefined}\n >\n {this.getOptionLabel(option)}\n </option>\n ))\n : null}\n </select>\n </label>\n <details\n ref={(el: any) => {\n this.detailsRef = el;\n }}\n open={this.open}\n onToggle={(event) => this.handleDropdownToggle(event)}\n onKeyDown={(event) => this.handleKeyboardPress(event)}\n >\n <slot></slot>\n {this.options ? (\n <Fragment>\n <summary\n class=\"db-custom-select-form-field\"\n id={this._summaryId}\n aria-disabled={getBooleanAsString(this.disabled)}\n aria-labelledby={this._labelId}\n >\n {this._selectedLabels?.length ? (\n <span\n data-visually-hidden={getBooleanAsString(\n this.selectedType === \"tag\"\n )}\n id={this._selectedLabelsId}\n >\n {this._selectedLabels}\n </span>\n ) : null}\n {this.selectedType === \"tag\" ? (\n <div>\n {this._selectedOptions?.map((option, index) => (\n <db-tag\n emphasis=\"strong\"\n behavior=\"removable\"\n removeButton={this.getTagRemoveLabel(index)}\n onRemove={(event) =>\n this.handleTagRemove(option, event)\n }\n key={undefined}\n >\n {this.getOptionLabel(option)}\n </db-tag>\n ))}\n </div>\n ) : null}\n </summary>\n <db-custom-select-dropdown width={this.dropdownWidth}>\n {this.searchEnabled ? (\n <div>\n <db-input\n type=\"search\"\n ref={(el: any) => {\n this.searchInputRef = el;\n }}\n name={this._id}\n form={this._id}\n showLabel={false}\n label={this.searchLabel ?? DEFAULT_LABEL}\n placeholder={this.searchPlaceholder ?? this.searchLabel}\n ariaDescribedBy={\n this._hasNoOptions || this.showLoading\n ? this._infoTextId\n : undefined\n }\n onInput={(event) => this.handleSearch(event)}\n ></db-input>\n </div>\n ) : null}\n {this._hasNoOptions || this.showLoading ? (\n <db-infotext\n id={this._infoTextId}\n icon={this._hasNoOptions ? undefined : \"circular_arrows\"}\n semantic={this._hasNoOptions ? \"warning\" : \"informational\"}\n >\n {(this._hasNoOptions\n ? this.noResultsText\n : this.loadingText) ?? DEFAULT_MESSAGE}\n </db-infotext>\n ) : (\n <Fragment>\n {this.selectAllEnabled ? (\n <div>\n <div class=\"db-checkbox db-custom-select-list-item\">\n <label>\n <input\n type=\"checkbox\"\n value=\"select-all\"\n ref={(el: any) => {\n this.selectAllRef = el;\n }}\n form={this._id}\n checked={this.selectAllChecked}\n onChange={() => this.handleSelectAll()}\n />\n {this.getSelectAllLabel()}\n </label>\n </div>\n </div>\n ) : null}\n <db-custom-select-list\n multiple={getBoolean(this.multiple, \"multiple\")}\n label={this.ariaListLabel ?? this.label ?? DEFAULT_LABEL}\n >\n {this._options?.map((option) => (\n <db-custom-select-list-item\n type={this.multiple ? \"checkbox\" : \"radio\"}\n showDivider={option.showDivider}\n icon={option.icon}\n isGroupTitle={option.isGroupTitle}\n groupTitle={this.getOptionLabel(option)}\n name={this._id}\n checked={this.getOptionChecked(option.value)}\n disabled={option.disabled}\n value={option.value}\n onChange={() => this.handleSelect(option.value)}\n key={undefined}\n >\n {!option.isGroupTitle\n ? this.getOptionLabel(option)\n : null}\n </db-custom-select-list-item>\n ))}\n </db-custom-select-list>\n </Fragment>\n )}\n <div>\n <db-button\n variant=\"ghost\"\n width=\"full\"\n icon=\"cross\"\n size=\"small\"\n name={this._id}\n form={this._id}\n onClick={() => this.handleClose(\"close\")}\n >\n {this.mobileCloseButtonText ?? DEFAULT_CLOSE_BUTTON}\n </db-button>\n </div>\n </db-custom-select-dropdown>\n </Fragment>\n ) : null}\n </details>\n {(this.showClearSelection ?? true) && this._values?.length ? (\n <db-button\n icon=\"cross\"\n variant=\"ghost\"\n size=\"small\"\n noText={true}\n name={this._id}\n form={this._id}\n onClick={() => this.handleClearAll()}\n >\n {this.clearSelectionText}\n <db-tooltip placement=\"top\">{this.clearSelectionText}</db-tooltip>\n </db-button>\n ) : null}\n <span aria-hidden={getBooleanAsString(true)} id={this._placeholderId}>\n {this.placeholder ?? this.label}\n </span>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as s}from"./p-D-D8lQAG.js";import{c as i}from"./p-fw8E73KY.js";const a=class{constructor(s){t(this,s)}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const o=s.item(a);if(o&&(o.name.startsWith("data-")||o.name.startsWith("aria-"))){t.setAttribute(o.name,o.value);i.removeAttribute(o.name)}if(o&&o.name==="class"){const s=o.value.includes("hydrated");const a=o.value.replace("hydrated","").trim();const n=t.getAttribute("class");t.setAttribute(o.name,`${n?`${n} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(o.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-icon")}render(){return s("span",{key:"37462bfe90d8348f3ddaf4600ba12c12ae5f4756",class:i("db-icon",this.className),"aria-hidden":"true",ref:t=>{this._ref=t},id:this.id,"data-icon":this.icon,"data-icon-weight":this.weight,"data-icon-variant":this.variant},this.text?this.text:s("slot",null))}};export{a as db_icon};
2
- //# sourceMappingURL=p-9a3c9ffe.entry.js.map
1
+ import{r as t,h as s}from"./p-BkYjDIed.js";import{c as i}from"./p-TU0pfK1i.js";const a=class{constructor(s){t(this,s)}enableAttributePassing(t,s){const i=t===null||t===void 0?void 0:t.closest(s);if(t&&i){const s=i.attributes;for(let a=0;a<s.length;a++){const o=s.item(a);if(o&&(o.name.startsWith("data-")||o.name.startsWith("aria-"))){t.setAttribute(o.name,o.value);i.removeAttribute(o.name)}if(o&&o.name==="class"){const s=o.value.includes("hydrated");const a=o.value.replace("hydrated","").trim();const d=t.getAttribute("class");t.setAttribute(o.name,`${d?`${d} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(o.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-icon")}render(){return s("span",{key:"8273d8d23fd22399202e8536862f536121dce2c0",class:i("db-icon",this.className),"aria-hidden":"true",ref:t=>{this._ref=t},id:this.id,"data-icon":this.icon,"data-icon-weight":this.weight,"data-icon-variant":this.variant},this.text?this.text:s("slot",null))}};export{a as db_icon};
2
+ //# sourceMappingURL=p-aad2b065.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBIcon","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","this","_ref","render","h","key","class","cls","className","ref","el","id","icon","weight","variant","text"],"sources":["src/components/icon/icon.tsx"],"sourcesContent":["import type { DBIconProps, DBIconState } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-icon\",\n})\nexport class DBIcon {\n private _ref!: HTMLSpanElement | any;\n @Prop() id: DBIconProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBIconProps[\"className\"];\n @Prop() icon: DBIconProps[\"icon\"];\n @Prop() weight: DBIconProps[\"weight\"];\n @Prop() variant: DBIconProps[\"variant\"];\n @Prop() text: DBIconProps[\"text\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-icon\");\n }\n\n render() {\n return (\n <span\n class={cls(\"db-icon\", this.className)}\n aria-hidden=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-icon={this.icon}\n data-icon-weight={this.weight}\n data-icon-variant={this.variant}\n >\n {this.text ? this.text : <slot></slot>}\n </span>\n );\n }\n}\n"],"mappings":"qFAaaA,EAAM,M,yBAcT,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACEC,KAAKtB,uBAAuBsB,KAAKC,KAAM,U,CAGzC,MAAAC,GACE,OACEC,EAAA,QAAAC,IAAA,2CACEC,MAAOC,EAAI,UAAWN,KAAKO,WAAU,cACzB,OACZC,IAAMC,IACJT,KAAKC,KAAOQ,CAAE,EAEhBC,GAAIV,KAAKU,GAAE,YACAV,KAAKW,KACE,mBAAAX,KAAKY,OAAM,oBACVZ,KAAKa,SAEvBb,KAAKc,KAAOd,KAAKc,KAAOX,EAAa,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s}from"./p-BkYjDIed.js";import{u as a,j as h,l as e,c as d}from"./p-TU0pfK1i.js";const c=class{constructor(s){i(this,s);this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this.initialized=false;this._id=undefined}handleChange(i){if(this.change){this.change.emit(i)}}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let a=0;a<t.length;a++){const h=t.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);s.removeAttribute(h.name)}if(h&&h.name==="class"){const t=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(h.name,`${e?`${e} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(h.name)}}}}}watch0Fn(){if(this.checked&&this.initialized&&this._ref){this._ref.checked=true}}watch0(){this.watch0Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-radio");this.initialized=true;this._id=(i=this.id)!==null&&i!==void 0?i:`radio-${a()}`;this.watch0Fn()}render(){return s("label",{key:"5fb0000582762ca28fae2a4cd4c344ae3de070a5",class:d("db-radio",this.className),"data-size":this.size,"data-hide-label":e(this.showLabel),htmlFor:this._id},s("input",{key:"bb66c8bc5740ca430e9131c7f31efeba4910fd76",type:"radio","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:h(this.checked,"checked"),disabled:h(this.disabled,"disabled"),"aria-describedby":this.describedbyid,value:this.value,required:h(this.required,"required"),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:s("slot",null))}static get watchers(){return{initialized:["watch0"],_ref:["watch0"],checked:["watch0"]}}};export{c as db_radio};
2
+ //# sourceMappingURL=p-abc1afa7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBRadio","constructor","hostRef","this","initialized","_id","undefined","handleChange","event","change","emit","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","checked","_ref","watch0","componentDidLoad","_a","id","uuid","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","validation","ref","el","getBoolean","disabled","describedbyid","required","onChange","onBlur","onFocus","label"],"sources":["src/components/radio/radio.tsx"],"sourcesContent":["import { DBRadioProps, DBRadioState } from \"./model\";\nimport { cls, getBoolean, getHideProp, uuid } from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-radio\",\n})\nexport class DBRadio {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBRadioProps[\"id\"];\n @Prop() checked: DBRadioProps[\"checked\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBRadioProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() size: DBRadioProps[\"size\"];\n @Prop() showLabel: DBRadioProps[\"showLabel\"];\n @Prop({attribute: \"classname\"}) className: DBRadioProps[\"className\"];\n @Prop() validation: DBRadioProps[\"validation\"];\n @Prop() name: DBRadioProps[\"name\"];\n @Prop() disabled: DBRadioProps[\"disabled\"];\n @Prop() describedbyid: DBRadioProps[\"describedbyid\"];\n @Prop() value: DBRadioProps[\"value\"];\n @Prop() required: DBRadioProps[\"required\"];\n @Prop() label: DBRadioProps[\"label\"];\n @State() initialized = false;\n @State() _id = undefined;\n\n handleChange(event: ChangeEvent<HTMLInputElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n }\n handleBlur(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.checked && this.initialized && this._ref) {\n this._ref.checked = true;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"checked\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-radio\");\n this.initialized = true;\n this._id = this.id ?? `radio-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <label\n class={cls(\"db-radio\", this.className)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n htmlFor={this._id}\n >\n <input\n type=\"radio\"\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n name={this.name}\n checked={getBoolean(this.checked, \"checked\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-describedby={this.describedbyid}\n value={this.value}\n required={getBoolean(this.required, \"required\")}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n );\n }\n}\n"],"mappings":"iHA2BaA,EAAO,MAHnB,WAAAC,CAAAC,G,2FA0BUC,KAAWC,YAAG,MACdD,KAAGE,IAAGC,SA4GhB,CA1GC,YAAAC,CAAaC,GACX,GAAIL,KAAKM,OAAQ,CACfN,KAAKM,OAAOC,KAAKF,E,EAGrB,UAAAG,CAAWH,GACT,GAAIL,KAAKS,KAAM,CACbT,KAAKS,KAAKF,KAAKF,E,EAGnB,WAAAK,CAAYL,GACV,GAAIL,KAAKW,MAAO,CACdX,KAAKW,MAAMJ,KAAKF,E,EASZ,sBAAAO,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,GACE,GAAIjC,KAAKkC,SAAWlC,KAAKC,aAAeD,KAAKmC,KAAM,CACjDnC,KAAKmC,KAAKD,QAAU,I,EAOxB,MAAAE,GACEpC,KAAKiC,U,CAGP,gBAAAI,G,MACErC,KAAKY,uBAAuBZ,KAAKmC,KAAM,YACvCnC,KAAKC,YAAc,KACnBD,KAAKE,KAAMoC,EAAAtC,KAAKuC,MAAE,MAAAD,SAAA,EAAAA,EAAI,SAASE,MAC/BxC,KAAKiC,U,CAGP,MAAAQ,GACE,OACEC,EAAA,SAAAC,IAAA,2CACEC,MAAOC,EAAI,WAAY7C,KAAK8C,WACjB,YAAA9C,KAAK+C,KACC,kBAAAC,EAAYhD,KAAKiD,WAClCC,QAASlD,KAAKE,KAEdwC,EAAA,SAAAC,IAAA,2CACEQ,KAAK,QAAO,eACEnD,KAAKoD,aAAe,UAAS,uBACrBpD,KAAKoD,WAC3BC,IAAMC,IACJtD,KAAKmC,KAAOmB,CAAE,EAEhBf,GAAIvC,KAAKE,IACToB,KAAMtB,KAAKsB,KACXY,QAASqB,EAAWvD,KAAKkC,QAAS,WAClCsB,SAAUD,EAAWvD,KAAKwD,SAAU,YAAW,mBAC7BxD,KAAKyD,cACvBhC,MAAOzB,KAAKyB,MACZiC,SAAUH,EAAWvD,KAAK0D,SAAU,YACpCC,SAAWtD,GAAUL,KAAKI,aAAaC,GACvCuD,OAASvD,GAAUL,KAAKQ,WAAWH,GACnCwD,QAAUxD,GAAUL,KAAKU,YAAYL,KAEtCL,KAAK8D,MAAQ9D,KAAK8D,MAAQpB,EAAa,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as s,h as t}from"./p-BkYjDIed.js";import{c as e}from"./p-TU0pfK1i.js";const a=class{constructor(t){s(this,t)}enableAttributePassing(s,t){const e=s===null||s===void 0?void 0:s.closest(t);if(s&&e){const t=e.attributes;for(let a=0;a<t.length;a++){const o=t.item(a);if(o&&(o.name.startsWith("data-")||o.name.startsWith("aria-"))){s.setAttribute(o.name,o.value);e.removeAttribute(o.name)}if(o&&o.name==="class"){const t=o.value.includes("hydrated");const a=o.value.replace("hydrated","").trim();const c=s.getAttribute("class");s.setAttribute(o.name,`${c?`${c} `:""}${a}`);if(t){e.setAttribute("class","hydrated")}else{e.removeAttribute(o.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-custom-select-form-field")}render(){return t("summary",{key:"a6a905bad4116ecee5d7c7d708831b4821438215",class:e("db-custom-select-form-field",this.className),ref:s=>{this._ref=s},id:this.id},t("slot",{key:"8a442fe8e2a053a4ac8b07e0da92e138cf87af55"}))}};export{a as db_custom_select_form_field};
2
+ //# sourceMappingURL=p-b074eb7f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBCustomSelectFormField","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","this","_ref","render","h","key","class","cls","className","ref","el","id"],"sources":["src/components/custom-select-form-field/custom-select-form-field.tsx"],"sourcesContent":["import { DBCustomSelectFormFieldProps } from \"./model\";\nimport { cls } from \"../../utils\";\n\nimport { Component, h, Fragment, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-custom-select-form-field\",\n})\nexport class DBCustomSelectFormField {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBCustomSelectFormFieldProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBCustomSelectFormFieldProps[\"className\"];\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-custom-select-form-field\");\n }\n\n render() {\n return (\n <summary\n class={cls(\"db-custom-select-form-field\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n >\n <slot></slot>\n </summary>\n );\n }\n}\n"],"mappings":"qFAaaA,EAAuB,M,yBAU1B,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACEC,KAAKtB,uBAAuBsB,KAAKC,KAAM,8B,CAGzC,MAAAC,GACE,OACEC,EACE,WAAAC,IAAA,2CAAAC,MAAOC,EAAI,8BAA+BN,KAAKO,WAC/CC,IAAMC,IACJT,KAAKC,KAAOQ,CAAE,EAEhBC,GAAIV,KAAKU,IAETP,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,c as e,h as d}from"./p-BkYjDIed.js";import{a as c,u as t,j as i,c as s}from"./p-TU0pfK1i.js";import{D as b,p as n}from"./p-DC9V_oNU.js";import{i as r}from"./p-Duz60W3r.js";const f=class{constructor(d){a(this,d);this.toggle=e(this,"toggle");this._id=b;this.initialized=false;this.forcedToMobile=false}handleToggle(){const a=!i(this.drawerOpen,"drawerOpen");if(this.toggle){this.toggle.emit(a)}}handleNavigationItemClick(a){if(r(a)){this.handleToggle()}}enableAttributePassing(a,e){const d=a===null||a===void 0?void 0:a.closest(e);if(a&&d){const e=d.attributes;for(let c=0;c<e.length;c++){const t=e.item(c);if(t&&(t.name.startsWith("data-")||t.name.startsWith("aria-"))){a.setAttribute(t.name,t.value);d.removeAttribute(t.name)}if(t&&t.name==="class"){const e=t.value.includes("hydrated");const c=t.value.replace("hydrated","").trim();const i=a.getAttribute("class");a.setAttribute(t.name,`${i?`${i} `:""}${c}`);if(e){d.setAttribute("class","hydrated")}else{d.removeAttribute(t.name)}}}}}watch0Fn(){var a;if(this.initialized&&document&&this._id&&this.forceMobile){const e=document.getElementById((a=this._id)!==null&&a!==void 0?a:"");if(e){c(e,{key:"data-force-mobile",value:"true"})}this.forcedToMobile=true}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-header");this.initialized=true;this._id=this.id||"header-"+t();this.watch0Fn()}render(){var a;return d("header",{key:"706d9888cdf43e88d7a9307cab768f2ef62c3f04",class:s("db-header",this.className),ref:a=>{this._ref=a},id:this._id,"data-width":this.width,"data-on-forcing-mobile":this.forceMobile&&!this.forcedToMobile},d("db-drawer",{key:"bf750a6f9103422707a26ab3ca1f174932d6c412",class:"db-header-drawer",spacing:"small",rounded:true,open:i(this.drawerOpen),onClose:()=>this.handleToggle()},d("div",{key:"4bff290d09bee0913172e261c93a0205f64e006f",class:"db-header-drawer-navigation"},d("div",{key:"fa2c6a2437de706faee1f826d9194c642ea779a3",class:"db-header-navigation",onClick:a=>this.handleNavigationItemClick(a)},d("slot",{key:"4beb82548c84f884e7a736ed4a4e135baebad76c"})),d("div",{key:"5521428ba395319d92ec44ac379ba9e94890808a",class:"db-header-meta-navigation"},d("slot",{key:"cf9b4440ccc0a8864e2871ed2ff925d7d6cc9f0d",name:"metaNavigation"}))),d("div",{key:"3903ff331e7232ec2f504ccc4329bde6780e8b8c",class:"db-header-secondary-action"},d("slot",{key:"286fb0615b448d8cbe33e23d1900c8f38a9b299e",name:"secondaryAction"}))),d("div",{key:"3a8896f4e2e56efe1d67729f6e8d9cfc8314dcf5",class:"db-header-meta-navigation"},d("slot",{key:"c7c521b5c74b217cff0b7d365b06233dcc3532db",name:"metaNavigation"})),d("div",{key:"6ba3a0cb9297ea2208de833f9191e627f8af8ec6",class:"db-header-navigation-bar"},d("div",{key:"3f296a91a7ff3d735a438c878352a0c5b7ab57ce",class:"db-header-brand-container"},d("slot",{key:"d2ca72bc700ed02aad76a0aa07e4ebb1e3dfa4b5",name:"brand"})),d("div",{key:"44265c07ea806285c056f20f2c5de8d8530b3e29",class:"db-header-navigation-container"},d("div",{key:"2cb5b17b87c58aa73404285d279378c3502b9a58",class:"db-header-navigation"},d("slot",{key:"17284c474fffe16ed4f54b2c595361b06146f2b6"})),d("div",{key:"6b0f4a458e74fb9c9173937a916ce1e7c1e558f5",class:"db-header-primary-action"},d("slot",{key:"89608e88b40607e5837d40b4910dc5924479be53",name:"primaryAction"}))),d("div",{key:"01e6768d7506c349eaa5b041c627adcf7bcc1411",class:"db-header-action-container"},d("div",{key:"c27bbdaf9b5478e3f6dd8bf233a59397c76a0547",class:"db-header-burger-menu-container"},d("db-button",{key:"db8cc38d74194ff3e7c031eaf68a735efffa5d5f",icon:"menu",variant:"ghost",id:this._id+"-burger-menu",noText:true,onClick:()=>this.handleToggle()},(a=this.burgerMenuLabel)!==null&&a!==void 0?a:n)),d("div",{key:"10ac26b995e20c57a13787bb082df08ac7c66d8b",class:"db-header-secondary-action"},d("slot",{key:"4a553f3585a6ce2661d7bc004a9b8d5fd2aec2b0",name:"secondaryAction"})))))}static get watchers(){return{initialized:["watch0"]}}};export{f as db_header};
2
+ //# sourceMappingURL=p-b6821ac2.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBHeader","constructor","hostRef","this","_id","DEFAULT_ID","initialized","forcedToMobile","handleToggle","open","getBoolean","drawerOpen","toggle","emit","handleNavigationItemClick","event","isEventTargetNavigationItem","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","document","forceMobile","headerElement","getElementById","_a","addAttributeToChildren","key","watch0","componentDidLoad","_ref","id","uuid","render","h","class","cls","className","ref","el","width","spacing","rounded","onClose","onClick","icon","variant","noText","burgerMenuLabel","DEFAULT_BURGER_MENU"],"sources":["src/components/header/header.tsx"],"sourcesContent":["import { DBHeaderProps, DBHeaderState } from \"./model\";\nimport { addAttributeToChildren, cls, getBoolean, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DEFAULT_BURGER_MENU, DEFAULT_ID } from \"../../shared/constants\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot metaNavigation - TODO: Add description for slotMetaNavigation\n * @slot secondaryAction - TODO: Add description for slotSecondaryAction\n * @slot brand - TODO: Add description for slotBrand\n * @slot primaryAction - TODO: Add description for slotPrimaryAction\n */\n @Component({\n tag: \"db-header\",\n})\nexport class DBHeader {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBHeaderProps[\"id\"];\n @Prop() forceMobile: DBHeaderProps[\"forceMobile\"];\n @Prop() drawerOpen: DBHeaderProps[\"drawerOpen\"];\n @Event() toggle: EventEmitter<\n Parameters<Required<DBHeaderProps>[\"onToggle\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBHeaderProps[\"className\"];\n @Prop() width: DBHeaderProps[\"width\"];\n @Prop() burgerMenuLabel: DBHeaderProps[\"burgerMenuLabel\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n @State() forcedToMobile = false;\n\n handleToggle() {\n const open = !getBoolean(this.drawerOpen, \"drawerOpen\");\n if (this.toggle) {\n this.toggle.emit(open);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.handleToggle();\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && document && this._id && this.forceMobile) {\n const headerElement = document.getElementById(\n this._id ?? \"\"\n ) as HTMLElement;\n if (headerElement) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(headerElement, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n }\n this.forcedToMobile = true;\n }\n }\n\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-header\");\n this.initialized = true;\n this._id = this.id || \"header-\" + uuid();\n this.watch0Fn();\n }\n\n render() {\n return (\n <header\n class={cls(\"db-header\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-width={this.width}\n data-on-forcing-mobile={this.forceMobile && !this.forcedToMobile}\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n rounded={true}\n open={getBoolean(this.drawerOpen)}\n onClose={() => this.handleToggle()}\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n <slot></slot>\n </div>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <slot name=\"brand\"></slot>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\">\n <slot></slot>\n </div>\n <div class=\"db-header-primary-action\">\n <slot name=\"primaryAction\"></slot>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n id={this._id + \"-burger-menu\"}\n noText={true}\n onClick={() => this.handleToggle()}\n >\n {this.burgerMenuLabel ?? DEFAULT_BURGER_MENU}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </div>\n </div>\n </header>\n );\n }\n}\n"],"mappings":"gMA6BaA,EAAQ,MAHpB,WAAAC,CAAAC,G,uCAcUC,KAAGC,IAAGC,EACNF,KAAWG,YAAG,MACdH,KAAcI,eAAG,KAuJ3B,CArJC,YAAAC,GACE,MAAMC,GAAQC,EAAWP,KAAKQ,WAAY,cAC1C,GAAIR,KAAKS,OAAQ,CACfT,KAAKS,OAAOC,KAAKJ,E,EAGrB,yBAAAK,CAA0BC,GACxB,GAAIC,EAA4BD,GAAQ,CACtCZ,KAAKK,c,EASD,sBAAAS,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,G,MACE,GAAInC,KAAKG,aAAeiC,UAAYpC,KAAKC,KAAOD,KAAKqC,YAAa,CAChE,MAAMC,EAAgBF,SAASG,gBAC7BC,EAAAxC,KAAKC,OAAO,MAAAuC,SAAA,EAAAA,EAAA,IAEd,GAAIF,EAAe,CAGjBG,EAAuBH,EAAe,CACpCI,IAAK,oBACLf,MAAO,Q,CAGX3B,KAAKI,eAAiB,I,EAK1B,MAAAuC,GACE3C,KAAKmC,U,CAGP,gBAAAS,GACE5C,KAAKc,uBAAuBd,KAAK6C,KAAM,aACvC7C,KAAKG,YAAc,KACnBH,KAAKC,IAAMD,KAAK8C,IAAM,UAAYC,IAClC/C,KAAKmC,U,CAGP,MAAAa,G,MACE,OACEC,EACE,UAAAP,IAAA,2CAAAQ,MAAOC,EAAI,YAAanD,KAAKoD,WAC7BC,IAAMC,IACJtD,KAAK6C,KAAOS,CAAE,EAEhBR,GAAI9C,KAAKC,IAAG,aACAD,KAAKuD,MAAK,yBACEvD,KAAKqC,cAAgBrC,KAAKI,gBAElD6C,EAAA,aAAAP,IAAA,2CACEQ,MAAM,mBACNM,QAAQ,QACRC,QAAS,KACTnD,KAAMC,EAAWP,KAAKQ,YACtBkD,QAAS,IAAM1D,KAAKK,gBAEpB4C,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,+BACTD,EAAA,OAAAP,IAAA,2CACEQ,MAAM,uBACNS,QAAU/C,GAAUZ,KAAKW,0BAA0BC,IAEnDqC,EAAA,QAAAP,IAAA,8CAEFO,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,6BACTD,EAAA,QAAAP,IAAA,2CAAMlB,KAAK,qBAGfyB,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,8BACTD,EAAA,QAAAP,IAAA,2CAAMlB,KAAK,sBAGfyB,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,6BACTD,EAAA,QAAAP,IAAA,2CAAMlB,KAAK,oBAEbyB,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,4BACTD,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,6BACTD,EAAA,QAAAP,IAAA,2CAAMlB,KAAK,WAEbyB,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,kCACTD,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,wBACTD,EAAA,QAAAP,IAAA,8CAEFO,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,4BACTD,EAAA,QAAAP,IAAA,2CAAMlB,KAAK,oBAGfyB,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,8BACTD,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,mCACTD,EAAA,aAAAP,IAAA,2CACEkB,KAAK,OACLC,QAAQ,QACRf,GAAI9C,KAAKC,IAAM,eACf6D,OAAQ,KACRH,QAAS,IAAM3D,KAAKK,iBAEnBmC,EAAAxC,KAAK+D,mBAAmB,MAAAvB,SAAA,EAAAA,EAAAwB,IAG7Bf,EAAK,OAAAP,IAAA,2CAAAQ,MAAM,8BACTD,EAAM,QAAAP,IAAA,2CAAAlB,KAAK,uB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s}from"./p-BkYjDIed.js";import{e as h,f as a,s as e,u as d,k as l,j as n,l as c,c as o}from"./p-TU0pfK1i.js";import{l as r,g as u,h as f,f as v,k as b,b as m,r as p,a as y}from"./p-DC9V_oNU.js";const w=class{constructor(s){i(this,s);this.input=t(this,"input");this.change=t(this,"change");this.blur=t(this,"blur");this.focus=t(this,"focus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds="";this._value="";this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,d;if(!((i=this._ref)===null||i===void 0?void 0:i.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;this._invalidMessage=this.invalidMessage||((t=this._ref)===null||t===void 0?void 0:t.validationMessage)||r;if(h()){this._voiceOverFallback=this._invalidMessage;a((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&(this.required||this.minLength||this.maxLength)){this._descByIds=this._validMessageId;if(h()){this._voiceOverFallback=(d=this.validMessage)!==null&&d!==void 0?d:b;a((()=>this._voiceOverFallback=""),1e3)}}else if(e(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleInput(i){if(this.input){this.input.emit(i)}this.handleValidation()}handleChange(i){if(this.change){this.change.emit(i)}this.handleValidation()}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,t){const s=i===null||i===void 0?void 0:i.closest(t);if(i&&s){const t=s.attributes;for(let h=0;h<t.length;h++){const a=t.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){i.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const t=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||r}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+v;this._messageId=i;this._validMessageId=this._id+u;this._invalidMessageId=this._id+f;if(e(this.message,this.showMessage)){this._descByIds=i}}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-textarea");const t=(i=this.id)!==null&&i!==void 0?i:`textarea-${d()}`;this._id=t;this._messageId=t+v;this._validMessageId=t+u;this._invalidMessageId=t+f;this._invalidMessage=this.invalidMessage||r;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,t,h;return s("div",{key:"c4cb30285eb559a4a189603e4612a5db99d419e7",class:o("db-textarea",this.className),"data-variant":this.variant,"data-hide-label":c(this.showLabel)},s("label",{key:"462381d033db0e1279ac4727a7b47a7c40f20d36",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:y),s("textarea",{key:"fb683dba57fbd656e3847d9440fe704e39623991","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,"data-resize":this.resize,disabled:n(this.disabled,"disabled"),required:n(this.required,"required"),readOnly:n(this.readOnly,"readOnly")||n(this.readonly,"readonly"),form:this.form,maxLength:l(this.maxLength,this.maxlength),minLength:l(this.minLength,this.minlength),name:this.name,wrap:this.wrap,spellcheck:this.spellCheck,autocomplete:this.autocomplete,onInput:i=>this.handleInput(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),value:(t=this.value)!==null&&t!==void 0?t:this._value,"aria-describedby":this._descByIds,placeholder:(h=this.placeholder)!==null&&h!==void 0?h:m,rows:l(this.rows,p),cols:l(this.cols)}),e(this.message,this.showMessage)?s("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,this.hasValidState()?s("db-infotext",{size:"small",semantic:"successful",id:this._validMessageId},this.validMessage||b):null,s("db-infotext",{key:"9195e63cdc73b8a07400c5ae35dcfdf60300b8c0",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"67de9f51077ca34ed7fa6b88649cb7b22686ac75","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],value:["watch2"]}}};export{w as db_textarea};
2
+ //# sourceMappingURL=p-b7cd9e31.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBTextarea","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_value","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","minLength","maxLength","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleInput","event","input","emit","handleChange","change","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","watch2","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","htmlFor","label","DEFAULT_LABEL","ref","el","resize","disabled","getBoolean","readOnly","readonly","form","getNumber","maxlength","minlength","wrap","spellcheck","spellCheck","autocomplete","onInput","onChange","onBlur","onFocus","placeholder","DEFAULT_PLACEHOLDER","rows","DEFAULT_ROWS","cols","size","icon","messageIcon","semantic","role"],"sources":["src/components/textarea/textarea.tsx"],"sourcesContent":["import { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_LABEL,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_PLACEHOLDER,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | any;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() readonly: DBTextareaProps[\"readonly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() maxlength: DBTextareaProps[\"maxlength\"];\n @Prop() minlength: DBTextareaProps[\"minlength\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <textarea\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={getNumber(this.rows, DEFAULT_ROWS)}\n cols={getNumber(this.cols)}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as s,h as t}from"./p-BkYjDIed.js";import{j as a,u as h,g as e,l as d,c}from"./p-TU0pfK1i.js";const l=class{constructor(t){i(this,t);this.change=s(this,"change");this.blur=s(this,"blur");this.focus=s(this,"focus");this._id=undefined;this._checked=false}handleChange(i){var s;if(this.change){this.change.emit(i)}this._checked=(s=i.target)===null||s===void 0?void 0:s["checked"]}handleBlur(i){if(this.blur){this.blur.emit(i)}}handleFocus(i){if(this.focus){this.focus.emit(i)}}enableAttributePassing(i,s){const t=i===null||i===void 0?void 0:i.closest(s);if(i&&t){const s=t.attributes;for(let a=0;a<s.length;a++){const h=s.item(a);if(h&&(h.name.startsWith("data-")||h.name.startsWith("aria-"))){i.setAttribute(h.name,h.value);t.removeAttribute(h.name)}if(h&&h.name==="class"){const s=h.value.includes("hydrated");const a=h.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(h.name,`${e?`${e} `:""}${a}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(h.name)}}}}}watch0Fn(){if(this.checked!==undefined&&this.checked!==null){this._checked=a(this.checked)}}watch0(){this.watch0Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-switch");this._id=(i=this.id)!==null&&i!==void 0?i:`switch-${h()}`;this.watch0Fn()}render(){return t("label",{key:"08bff06725ef10c1decd8c33e34109cd3c488360",class:c("db-switch",this.className),"data-visual-aid":e(this.visualAid),"data-size":this.size,"data-hide-label":d(this.showLabel),"data-emphasis":this.emphasis,htmlFor:this._id},t("input",{key:"5cd7bd80d01bfc303fa13465aa49bb58f9a6a704",type:"checkbox",role:"switch",id:this._id,"aria-checked":e(this._checked),ref:i=>{this._ref=i},checked:a(this.checked,"checked"),value:this.value,disabled:a(this.disabled,"disabled"),"aria-describedby":this.describedbyid,"aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,name:this.name,required:a(this.required,"required"),"data-aid-icon":this.icon,"data-aid-icon-after":this.iconAfter,onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i)}),this.label?this.label:t("slot",null))}static get watchers(){return{checked:["watch0"]}}};export{l as db_switch};
2
+ //# sourceMappingURL=p-b92bbd61.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBSwitch","constructor","hostRef","this","_id","undefined","_checked","handleChange","event","change","emit","_a","target","handleBlur","blur","handleFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","checked","getBoolean","watch0","componentDidLoad","_ref","id","uuid","render","h","key","class","cls","className","getBooleanAsString","visualAid","size","getHideProp","showLabel","emphasis","htmlFor","type","role","ref","el","disabled","describedbyid","validation","required","icon","iconAfter","onChange","onBlur","onFocus","label"],"sources":["src/components/switch/switch.tsx"],"sourcesContent":["import { DBSwitchProps, DBSwitchState } from \"./model\";\nimport {\n cls,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-switch\",\n})\nexport class DBSwitch {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBSwitchProps[\"id\"];\n @Prop() checked: DBSwitchProps[\"checked\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBSwitchProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBSwitchProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBSwitchProps>[\"onFocus\"]>[number]\n > | void;\n @Prop() visualAid: DBSwitchProps[\"visualAid\"];\n @Prop() size: DBSwitchProps[\"size\"];\n @Prop() showLabel: DBSwitchProps[\"showLabel\"];\n @Prop() emphasis: DBSwitchProps[\"emphasis\"];\n @Prop({attribute: \"classname\"}) className: DBSwitchProps[\"className\"];\n @Prop() value: DBSwitchProps[\"value\"];\n @Prop() disabled: DBSwitchProps[\"disabled\"];\n @Prop() describedbyid: DBSwitchProps[\"describedbyid\"];\n @Prop() validation: DBSwitchProps[\"validation\"];\n @Prop() name: DBSwitchProps[\"name\"];\n @Prop() required: DBSwitchProps[\"required\"];\n @Prop() icon: DBSwitchProps[\"icon\"];\n @Prop() iconAfter: DBSwitchProps[\"iconAfter\"];\n @Prop() label: DBSwitchProps[\"label\"];\n @State() _id = undefined;\n @State() _checked = false;\n\n handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n\n // We have different ts types in different frameworks, so we need to use any here\n this._checked = (event.target as any)?.[\"checked\"];\n }\n handleBlur(event: InteractionEvent<HTMLInputElement>) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLInputElement>) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLInputElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.checked !== undefined && this.checked !== null) {\n this._checked = getBoolean(this.checked);\n }\n }\n\n @Watch(\"checked\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-switch\");\n this._id = this.id ?? `switch-${uuid()}`;\n this.watch0Fn();\n }\n\n render() {\n return (\n <label\n class={cls(\"db-switch\", this.className)}\n data-visual-aid={getBooleanAsString(this.visualAid)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n data-emphasis={this.emphasis}\n htmlFor={this._id}\n >\n <input\n type=\"checkbox\"\n role=\"switch\"\n id={this._id}\n aria-checked={getBooleanAsString(this._checked)}\n ref={(el: any) => {\n this._ref = el;\n }}\n checked={getBoolean(this.checked, \"checked\")}\n value={this.value}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-describedby={this.describedbyid}\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n name={this.name}\n required={getBoolean(this.required, \"required\")}\n data-aid-icon={this.icon}\n data-aid-icon-after={this.iconAfter}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\n );\n }\n}\n"],"mappings":"mHAiCaA,EAAQ,MAHpB,WAAAC,CAAAC,G,2FA8BUC,KAAGC,IAAGC,UACNF,KAAQG,SAAG,KAkHrB,CAhHC,YAAAC,CAAaC,G,MACX,GAAIL,KAAKM,OAAQ,CACfN,KAAKM,OAAOC,KAAKF,E,CAInBL,KAAKG,UAAYK,EAAAH,EAAMI,UAAc,MAAAD,SAAA,SAAAA,EAAG,U,CAE1C,UAAAE,CAAWL,GACT,GAAIL,KAAKW,KAAM,CACbX,KAAKW,KAAKJ,KAAKF,E,EAGnB,WAAAO,CAAYP,GACV,GAAIL,KAAKa,MAAO,CACdb,KAAKa,MAAMN,KAAKF,E,EASZ,sBAAAS,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,GACE,GAAInC,KAAKoC,UAAYlC,WAAaF,KAAKoC,UAAY,KAAM,CACvDpC,KAAKG,SAAWkC,EAAWrC,KAAKoC,Q,EAKpC,MAAAE,GACEtC,KAAKmC,U,CAGP,gBAAAI,G,MACEvC,KAAKc,uBAAuBd,KAAKwC,KAAM,aACvCxC,KAAKC,KAAMO,EAAAR,KAAKyC,MAAE,MAAAjC,SAAA,EAAAA,EAAI,UAAUkC,MAChC1C,KAAKmC,U,CAGP,MAAAQ,GACE,OACEC,EACE,SAAAC,IAAA,2CAAAC,MAAOC,EAAI,YAAa/C,KAAKgD,WAAU,kBACtBC,EAAmBjD,KAAKkD,WAC9B,YAAAlD,KAAKmD,KAAI,kBACHC,EAAYpD,KAAKqD,WACnB,gBAAArD,KAAKsD,SACpBC,QAASvD,KAAKC,KAEd2C,EACE,SAAAC,IAAA,2CAAAW,KAAK,WACLC,KAAK,SACLhB,GAAIzC,KAAKC,IAAG,eACEgD,EAAmBjD,KAAKG,UACtCuD,IAAMC,IACJ3D,KAAKwC,KAAOmB,CAAE,EAEhBvB,QAASC,EAAWrC,KAAKoC,QAAS,WAClCT,MAAO3B,KAAK2B,MACZiC,SAAUvB,EAAWrC,KAAK4D,SAAU,YAAW,mBAC7B5D,KAAK6D,cAAa,eACtB7D,KAAK8D,aAAe,UACZ,uBAAA9D,KAAK8D,WAC3BtC,KAAMxB,KAAKwB,KACXuC,SAAU1B,EAAWrC,KAAK+D,SAAU,YACrB,gBAAA/D,KAAKgE,KAAI,sBACHhE,KAAKiE,UAC1BC,SAAW7D,GAAUL,KAAKI,aAAaC,GACvC8D,OAAS9D,GAAUL,KAAKU,WAAWL,GACnC+D,QAAU/D,GAAUL,KAAKY,YAAYP,KAEtCL,KAAKqE,MAAQrE,KAAKqE,MAAQzB,EAAa,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as s,c as t,h as e}from"./p-BkYjDIed.js";import{s as a}from"./p-DC9V_oNU.js";import{f as i,g as d,c}from"./p-TU0pfK1i.js";const r=class{constructor(e){s(this,e);this.close=t(this,"close")}handleClose(s){if(s.key==="Escape"){s.preventDefault()}if(s==="close"||s.key==="Escape"||s.target.nodeName==="DIALOG"&&s.type==="click"&&this.backdrop!=="none"){if(this.close){this.close.emit(s)}}}handleDialogOpen(){if(this._ref){const s=Boolean(this.open);if(s&&!this._ref.open){if(this.dialogContainerRef){this.dialogContainerRef.hidden=false}if(this.backdrop==="none"||this.variant==="inside"){this._ref.show()}else{this._ref.showModal()}}if(!s&&this._ref.open){if(this.dialogContainerRef){this.dialogContainerRef.hidden=true}i((()=>{var s;if(this.dialogContainerRef){this.dialogContainerRef.hidden=false}(s=this._ref)===null||s===void 0?void 0:s.close()}),401)}}}enableAttributePassing(s,t){const e=s===null||s===void 0?void 0:s.closest(t);if(s&&e){const t=e.attributes;for(let a=0;a<t.length;a++){const i=t.item(a);if(i&&(i.name.startsWith("data-")||i.name.startsWith("aria-"))){s.setAttribute(i.name,i.value);e.removeAttribute(i.name)}if(i&&i.name==="class"){const t=i.value.includes("hydrated");const a=i.value.replace("hydrated","").trim();const d=s.getAttribute("class");s.setAttribute(i.name,`${d?`${d} `:""}${a}`);if(t){e.setAttribute("class","hydrated")}else{e.removeAttribute(i.name)}}}}}watch0Fn(){this.handleDialogOpen()}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-drawer");this.handleDialogOpen();this.watch0Fn()}render(){var s;return e("dialog",{key:"afaf6ffca86755edceb026dd6cc966dd34b57f21",class:"db-drawer",id:this.id,ref:s=>{this._ref=s},onClick:s=>this.handleClose(s),onKeyDown:s=>this.handleClose(s),"data-backdrop":this.backdrop,"data-variant":this.variant},e("article",{key:"08b2043dfa9c473b38f91c8eab425d7c977b224d",class:c("db-drawer-container",this.className),ref:s=>{this.dialogContainerRef=s},"data-spacing":this.spacing,"data-width":this.width,"data-direction":this.direction,"data-rounded":d(this.rounded)},e("header",{key:"46bdb0db8692e0eafad2b15ad39f5fe038950511",class:"db-drawer-header"},e("div",{key:"b7dd281e5d6920fa8c09276ea2ecf2e66216e7c2",class:"db-drawer-header-text"},e("slot",{key:"cf14ee259b4c41f12e0e5e169001c41e90158b1b",name:"drawerHeader"})),e("db-button",{key:"007b22180e6937bce05e96fb36c36d8ca79a942f",class:"button-close-drawer",icon:"cross",variant:"ghost",id:this.closeButtonId,noText:true,onClick:()=>this.handleClose("close")},(s=this.closeButtonText)!==null&&s!==void 0?s:a)),e("div",{key:"9d02bf24f6175c6ae9dd73307e6600ac77a44138",class:"db-drawer-content"},e("slot",{key:"730e1622e70648847d8852f69c9f22cb8434048c"}))))}static get watchers(){return{open:["watch0"]}}};export{r as db_drawer};
2
+ //# sourceMappingURL=p-bcb3d891.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBDrawer","handleClose","event","key","preventDefault","target","nodeName","type","this","backdrop","close","emit","handleDialogOpen","_ref","open","Boolean","dialogContainerRef","hidden","variant","show","showModal","delay","_a","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","componentDidLoad","render","h","class","id","ref","el","onClick","onKeyDown","cls","className","spacing","width","direction","getBooleanAsString","rounded","icon","closeButtonId","noText","closeButtonText","DEFAULT_CLOSE_BUTTON"],"sources":["src/components/drawer/drawer.tsx"],"sourcesContent":["import { DBDrawerProps, DBDrawerState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport { DEFAULT_CLOSE_BUTTON } from \"../../shared/constants\";\nimport { cls, delay, getBooleanAsString } from \"../../utils\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot drawerHeader - TODO: Add description for slotDrawerHeader\n */\n @Component({\n tag: \"db-drawer\",\n})\nexport class DBDrawer {\n private _ref!: HTMLDialogElement | any;\n private dialogContainerRef!: HTMLDivElement | any;\n @Prop() open: DBDrawerProps[\"open\"];\n @Prop() backdrop: DBDrawerProps[\"backdrop\"];\n @Event() close: EventEmitter<\n Parameters<Required<DBDrawerProps>[\"onClose\"]>[number]\n > | void;\n @Prop() variant: DBDrawerProps[\"variant\"];\n @Prop() id: DBDrawerProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBDrawerProps[\"className\"];\n @Prop() spacing: DBDrawerProps[\"spacing\"];\n @Prop() width: DBDrawerProps[\"width\"];\n @Prop() direction: DBDrawerProps[\"direction\"];\n @Prop() rounded: DBDrawerProps[\"rounded\"];\n @Prop() closeButtonId: DBDrawerProps[\"closeButtonId\"];\n @Prop() closeButtonText: DBDrawerProps[\"closeButtonText\"];\n\n handleClose(event: any) {\n if (event.key === \"Escape\") {\n event.preventDefault();\n }\n if (\n event === \"close\" ||\n event.key === \"Escape\" ||\n (event.target.nodeName === \"DIALOG\" &&\n event.type === \"click\" &&\n this.backdrop !== \"none\")\n ) {\n if (this.close) {\n this.close.emit(event);\n }\n }\n }\n handleDialogOpen() {\n if (this._ref) {\n const open = Boolean(this.open);\n if (open && !this._ref.open) {\n if (this.dialogContainerRef) {\n this.dialogContainerRef.hidden = false;\n }\n if (this.backdrop === \"none\" || this.variant === \"inside\") {\n this._ref.show();\n } else {\n this._ref.showModal();\n }\n }\n if (!open && this._ref.open) {\n if (this.dialogContainerRef) {\n this.dialogContainerRef.hidden = true;\n }\n delay(() => {\n if (this.dialogContainerRef) {\n this.dialogContainerRef.hidden = false;\n }\n this._ref?.close();\n }, 401);\n }\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this.handleDialogOpen();\n }\n\n @Watch(\"open\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-drawer\");\n this.handleDialogOpen();\n this.watch0Fn();\n }\n\n render() {\n return (\n <dialog\n class=\"db-drawer\"\n id={this.id}\n ref={(el: any) => {\n this._ref = el;\n }}\n onClick={(event) => this.handleClose(event)}\n onKeyDown={(event) => this.handleClose(event)}\n data-backdrop={this.backdrop}\n data-variant={this.variant}\n >\n <article\n class={cls(\"db-drawer-container\", this.className)}\n ref={(el: any) => {\n this.dialogContainerRef = el;\n }}\n data-spacing={this.spacing}\n data-width={this.width}\n data-direction={this.direction}\n data-rounded={getBooleanAsString(this.rounded)}\n >\n <header class=\"db-drawer-header\">\n <div class=\"db-drawer-header-text\">\n <slot name=\"drawerHeader\"></slot>\n </div>\n <db-button\n class=\"button-close-drawer\"\n icon=\"cross\"\n variant=\"ghost\"\n id={this.closeButtonId}\n noText={true}\n onClick={() => this.handleClose(\"close\")}\n >\n {this.closeButtonText ?? DEFAULT_CLOSE_BUTTON}\n </db-button>\n </header>\n <div class=\"db-drawer-content\">\n <slot></slot>\n </div>\n </article>\n </dialog>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as s}from"./p-D-D8lQAG.js";import{c as a}from"./p-fw8E73KY.js";import{a as i}from"./p-DC9V_oNU.js";const e=class{constructor(s){t(this,s);this.initialized=false}enableAttributePassing(t,s){const a=t===null||t===void 0?void 0:t.closest(s);if(t&&a){const s=a.attributes;for(let i=0;i<s.length;i++){const e=s.item(i);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);a.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const i=e.value.replace("hydrated","").trim();const d=t.getAttribute("class");t.setAttribute(e.name,`${d?`${d} `:""}${i}`);if(s){a.setAttribute("class","hydrated")}else{a.removeAttribute(e.name)}}}}}watch0Fn(){var t;if(this._ref&&this.initialized){if((t=this.placement)===null||t===void 0?void 0:t.startsWith("corner")){let t=this._ref.parentElement;if(t&&t.localName.includes("badge")){t=t.parentElement}if(t){t.setAttribute("data-has-badge","true")}}}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-badge");this.initialized=true;this.watch0Fn()}render(){var t,e;return s("span",{key:"575b6dcb7b8d8599ce601a22c7ec30f2c6c31f41",class:a("db-badge",this.className),ref:t=>{this._ref=t},id:this.id,"data-semantic":this.semantic,"data-size":this.size,"data-emphasis":this.emphasis,"data-placement":this.placement,"data-label":((t=this.placement)===null||t===void 0?void 0:t.startsWith("corner"))&&((e=this.label)!==null&&e!==void 0?e:i)},this.text?this.text:s("slot",null))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};export{e as db_badge};
2
- //# sourceMappingURL=p-65983b83.entry.js.map
1
+ import{r as t,h as s}from"./p-BkYjDIed.js";import{c as a}from"./p-TU0pfK1i.js";import{a as i}from"./p-DC9V_oNU.js";const e=class{constructor(s){t(this,s);this.initialized=false}enableAttributePassing(t,s){const a=t===null||t===void 0?void 0:t.closest(s);if(t&&a){const s=a.attributes;for(let i=0;i<s.length;i++){const e=s.item(i);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);a.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const i=e.value.replace("hydrated","").trim();const d=t.getAttribute("class");t.setAttribute(e.name,`${d?`${d} `:""}${i}`);if(s){a.setAttribute("class","hydrated")}else{a.removeAttribute(e.name)}}}}}watch0Fn(){var t;if(this._ref&&this.initialized){if((t=this.placement)===null||t===void 0?void 0:t.startsWith("corner")){let t=this._ref.parentElement;if(t&&t.localName.includes("badge")){t=t.parentElement}if(t){t.setAttribute("data-has-badge","true")}}}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-badge");this.initialized=true;this.watch0Fn()}render(){var t,e;return s("span",{key:"69bee07a5f6cb747975ce13034848442431f2ef5",class:a("db-badge",this.className),ref:t=>{this._ref=t},id:this.id,"data-semantic":this.semantic,"data-size":this.size,"data-emphasis":this.emphasis,"data-placement":this.placement,"data-label":((t=this.placement)===null||t===void 0?void 0:t.startsWith("corner"))&&((e=this.label)!==null&&e!==void 0?e:i)},this.text?this.text:s("slot",null))}static get watchers(){return{_ref:["watch0"],initialized:["watch0"]}}};export{e as db_badge};
2
+ //# sourceMappingURL=p-be35b5b4.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DBBadge","constructor","hostRef","this","initialized","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","_ref","_a","placement","parentElement","localName","watch0","componentDidLoad","render","h","key","class","cls","className","ref","el","id","semantic","size","emphasis","_b","label","DEFAULT_LABEL","text"],"sources":["src/components/badge/badge.tsx"],"sourcesContent":["import { DBBadgeProps, DBBadgeState } from \"./model\";\nimport { cls } from \"../../utils\";\nimport { DEFAULT_LABEL } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-badge\",\n})\nexport class DBBadge {\n private _ref!: HTMLSpanElement | any;\n @Prop() placement: DBBadgeProps[\"placement\"];\n @Prop() id: DBBadgeProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBBadgeProps[\"className\"];\n @Prop() semantic: DBBadgeProps[\"semantic\"];\n @Prop() size: DBBadgeProps[\"size\"];\n @Prop() emphasis: DBBadgeProps[\"emphasis\"];\n @Prop() label: DBBadgeProps[\"label\"];\n @Prop() text: DBBadgeProps[\"text\"];\n @State() initialized = false;\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this._ref && this.initialized) {\n if (this.placement?.startsWith(\"corner\")) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"badge\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n parent.setAttribute(\"data-has-badge\", \"true\");\n }\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-badge\");\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <span\n class={cls(\"db-badge\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-semantic={this.semantic}\n data-size={this.size}\n data-emphasis={this.emphasis}\n data-placement={this.placement}\n data-label={\n this.placement?.startsWith(\"corner\") && (this.label ?? DEFAULT_LABEL)\n }\n >\n {this.text ? this.text : <slot></slot>}\n </span>\n );\n }\n}\n"],"mappings":"yHAcaA,EAAO,MAHnB,WAAAC,CAAAC,G,UAaUC,KAAWC,YAAG,KAyFxB,CAlFS,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,G,MACE,GAAIvB,KAAKwB,MAAQxB,KAAKC,YAAa,CACjC,IAAIwB,EAAAzB,KAAK0B,aAAS,MAAAD,SAAA,SAAAA,EAAEZ,WAAW,UAAW,CACxC,IAAIR,EAASL,KAAKwB,KAAKG,cACvB,GAAItB,GAAUA,EAAOuB,UAAUV,SAAS,SAAU,CAEhDb,EAASA,EAAOsB,a,CAElB,GAAItB,EAAQ,CACVA,EAAOS,aAAa,iBAAkB,O,IAQ9C,MAAAe,GACE7B,KAAKuB,U,CAGP,gBAAAO,GACE9B,KAAKE,uBAAuBF,KAAKwB,KAAM,YACvCxB,KAAKC,YAAc,KACnBD,KAAKuB,U,CAGP,MAAAQ,G,QACE,OACEC,EACE,QAAAC,IAAA,2CAAAC,MAAOC,EAAI,WAAYnC,KAAKoC,WAC5BC,IAAMC,IACJtC,KAAKwB,KAAOc,CAAE,EAEhBC,GAAIvC,KAAKuC,GAAE,gBACIvC,KAAKwC,SAAQ,YACjBxC,KAAKyC,KAAI,gBACLzC,KAAK0C,SAAQ,iBACZ1C,KAAK0B,UAAS,eAE5BD,EAAAzB,KAAK0B,aAAS,MAAAD,SAAA,SAAAA,EAAEZ,WAAW,cAAc8B,EAAA3C,KAAK4C,SAAK,MAAAD,SAAA,EAAAA,EAAIE,IAGxD7C,KAAK8C,KAAO9C,KAAK8C,KAAOd,EAAA,a","ignoreList":[]}