@db-ux/wc-core-components 2.0.5 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/dist/cjs/db-accordion-item.cjs.entry.js +2 -2
  2. package/dist/cjs/db-accordion.cjs.entry.js +2 -2
  3. package/dist/cjs/db-badge.cjs.entry.js +2 -2
  4. package/dist/cjs/db-brand.cjs.entry.js +2 -2
  5. package/dist/cjs/db-button.cjs.entry.js +4 -3
  6. package/dist/cjs/db-button.cjs.entry.js.map +1 -1
  7. package/dist/cjs/db-button.entry.cjs.js.map +1 -1
  8. package/dist/cjs/db-card.cjs.entry.js +5 -4
  9. package/dist/cjs/db-card.cjs.entry.js.map +1 -1
  10. package/dist/cjs/db-card.entry.cjs.js.map +1 -1
  11. package/dist/cjs/db-checkbox.cjs.entry.js +7 -4
  12. package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
  13. package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
  14. 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
  15. package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js +12 -7
  16. package/dist/cjs/db-custom-select-dropdown_6.cjs.entry.js.map +1 -1
  17. package/dist/cjs/db-custom-select-form-field.cjs.entry.js +2 -2
  18. package/dist/cjs/db-custom-select.cjs.entry.js +3 -3
  19. package/dist/cjs/db-divider.cjs.entry.js +2 -2
  20. package/dist/cjs/db-drawer.cjs.entry.js +2 -2
  21. package/dist/cjs/db-header.cjs.entry.js +3 -3
  22. package/dist/cjs/db-icon.cjs.entry.js +2 -2
  23. package/dist/cjs/db-infotext.cjs.entry.js +2 -2
  24. package/dist/cjs/db-link.cjs.entry.js +4 -3
  25. package/dist/cjs/db-link.cjs.entry.js.map +1 -1
  26. package/dist/cjs/db-link.entry.cjs.js.map +1 -1
  27. package/dist/cjs/db-navigation-item.cjs.entry.js +5 -4
  28. package/dist/cjs/db-navigation-item.cjs.entry.js.map +1 -1
  29. package/dist/cjs/db-navigation-item.entry.cjs.js.map +1 -1
  30. package/dist/cjs/db-navigation.cjs.entry.js +2 -2
  31. package/dist/cjs/db-notification.cjs.entry.js +5 -4
  32. package/dist/cjs/db-notification.cjs.entry.js.map +1 -1
  33. package/dist/cjs/db-notification.entry.cjs.js.map +1 -1
  34. package/dist/cjs/db-page.cjs.entry.js +2 -2
  35. package/dist/cjs/db-popover.cjs.entry.js +2 -2
  36. package/dist/cjs/db-radio.cjs.entry.js +6 -3
  37. package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
  38. package/dist/cjs/db-radio.entry.cjs.js.map +1 -1
  39. package/dist/cjs/db-section.cjs.entry.js +2 -2
  40. package/dist/cjs/db-select.cjs.entry.js +10 -5
  41. package/dist/cjs/db-select.cjs.entry.js.map +1 -1
  42. package/dist/cjs/db-select.entry.cjs.js.map +1 -1
  43. package/dist/cjs/db-stack.cjs.entry.js +2 -2
  44. package/dist/cjs/db-switch.cjs.entry.js +6 -3
  45. package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
  46. package/dist/cjs/db-switch.entry.cjs.js.map +1 -1
  47. package/dist/cjs/db-tab-item.db-tab-list.db-tab-panel.entry.cjs.js.map +1 -1
  48. package/dist/cjs/db-tab-item_3.cjs.entry.js +5 -4
  49. package/dist/cjs/db-tab-item_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/db-tabs.cjs.entry.js +5 -4
  51. package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
  52. package/dist/cjs/db-tabs.entry.cjs.js.map +1 -1
  53. package/dist/cjs/db-textarea.cjs.entry.js +8 -4
  54. package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
  55. package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
  56. package/dist/cjs/db-ux.cjs.js +2 -2
  57. package/dist/cjs/db-ux.cjs.js.map +1 -1
  58. package/dist/cjs/{document-click-listener-CrbHspH2.js → document-click-listener-BbGE8WyV.js} +3 -3
  59. package/dist/cjs/{document-click-listener-CrbHspH2.js.map → document-click-listener-BbGE8WyV.js.map} +1 -1
  60. package/dist/cjs/{index-9h8KqOUd.js → index-7lbP4BU6.js} +16 -2
  61. package/dist/cjs/index-7lbP4BU6.js.map +1 -0
  62. package/dist/cjs/{index-fEToMoyG.js → index-BzLx0HVU.js} +3 -3
  63. package/dist/cjs/{index-fEToMoyG.js.map → index-BzLx0HVU.js.map} +1 -1
  64. package/dist/cjs/index.cjs.js +5 -4
  65. package/dist/cjs/index.cjs.js.map +1 -1
  66. package/dist/cjs/loader.cjs.js +1 -1
  67. package/dist/cjs/{navigation-DjZJIxIq.js → navigation-BLjJ1vaO.js} +3 -3
  68. package/dist/cjs/{navigation-DjZJIxIq.js.map → navigation-BLjJ1vaO.js.map} +1 -1
  69. package/dist/collection/collection-manifest.json +1 -1
  70. package/dist/collection/components/button/button.js +2 -1
  71. package/dist/collection/components/button/button.js.map +1 -1
  72. package/dist/collection/components/card/card.js +3 -2
  73. package/dist/collection/components/card/card.js.map +1 -1
  74. package/dist/collection/components/checkbox/checkbox.js +5 -2
  75. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  76. package/dist/collection/components/input/input.js +8 -4
  77. package/dist/collection/components/input/input.js.map +1 -1
  78. package/dist/collection/components/link/link.js +2 -1
  79. package/dist/collection/components/link/link.js.map +1 -1
  80. package/dist/collection/components/navigation-item/navigation-item.js +2 -1
  81. package/dist/collection/components/navigation-item/navigation-item.js.map +1 -1
  82. package/dist/collection/components/notification/notification.js +3 -2
  83. package/dist/collection/components/notification/notification.js.map +1 -1
  84. package/dist/collection/components/radio/radio.js +4 -1
  85. package/dist/collection/components/radio/radio.js.map +1 -1
  86. package/dist/collection/components/select/select.js +8 -3
  87. package/dist/collection/components/select/select.js.map +1 -1
  88. package/dist/collection/components/switch/switch.js +4 -1
  89. package/dist/collection/components/switch/switch.js.map +1 -1
  90. package/dist/collection/components/tab-item/tab-item.js +3 -2
  91. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  92. package/dist/collection/components/tabs/tabs.js +3 -2
  93. package/dist/collection/components/tabs/tabs.js.map +1 -1
  94. package/dist/collection/components/tag/tag.js +3 -2
  95. package/dist/collection/components/tag/tag.js.map +1 -1
  96. package/dist/collection/components/textarea/textarea.js +6 -2
  97. package/dist/collection/components/textarea/textarea.js.map +1 -1
  98. package/dist/collection/utils/index.js +13 -0
  99. package/dist/collection/utils/index.js.map +1 -1
  100. package/dist/db-ux/db-button.entry.esm.js.map +1 -1
  101. package/dist/db-ux/db-card.entry.esm.js.map +1 -1
  102. package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
  103. 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
  104. package/dist/db-ux/db-link.entry.esm.js.map +1 -1
  105. package/dist/db-ux/db-navigation-item.entry.esm.js.map +1 -1
  106. package/dist/db-ux/db-notification.entry.esm.js.map +1 -1
  107. package/dist/db-ux/db-radio.entry.esm.js.map +1 -1
  108. package/dist/db-ux/db-select.entry.esm.js.map +1 -1
  109. package/dist/db-ux/db-switch.entry.esm.js.map +1 -1
  110. package/dist/db-ux/db-tab-item.db-tab-list.db-tab-panel.entry.esm.js.map +1 -1
  111. package/dist/db-ux/db-tabs.entry.esm.js.map +1 -1
  112. package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
  113. package/dist/db-ux/db-ux.esm.js +1 -1
  114. package/dist/db-ux/db-ux.esm.js.map +1 -1
  115. package/dist/db-ux/index.esm.js +1 -1
  116. package/dist/db-ux/{p-ce5e2b8e.entry.js → p-01112955.entry.js} +2 -2
  117. package/dist/db-ux/p-049844c6.entry.js +2 -0
  118. package/dist/db-ux/p-049844c6.entry.js.map +1 -0
  119. package/dist/db-ux/{p-4c056a9f.entry.js → p-14c44b94.entry.js} +2 -2
  120. package/dist/db-ux/p-1d40e8cd.entry.js +2 -0
  121. package/dist/db-ux/p-1d40e8cd.entry.js.map +1 -0
  122. package/dist/db-ux/p-33aaf986.entry.js +2 -0
  123. package/dist/db-ux/p-33aaf986.entry.js.map +1 -0
  124. package/dist/db-ux/p-39d957bb.entry.js +2 -0
  125. package/dist/db-ux/p-39d957bb.entry.js.map +1 -0
  126. package/dist/db-ux/{p-10a706a6.entry.js → p-4400f077.entry.js} +2 -2
  127. package/dist/db-ux/p-44f6404b.entry.js +2 -0
  128. package/dist/db-ux/p-44f6404b.entry.js.map +1 -0
  129. package/dist/db-ux/{p-41feb579.entry.js → p-49cc4a11.entry.js} +2 -2
  130. package/dist/db-ux/p-50c9112b.entry.js +2 -0
  131. package/dist/db-ux/p-50c9112b.entry.js.map +1 -0
  132. package/dist/db-ux/{p-b92b20d7.entry.js → p-52e736c3.entry.js} +2 -2
  133. package/dist/db-ux/p-55b02c80.entry.js +2 -0
  134. package/dist/db-ux/p-55b02c80.entry.js.map +1 -0
  135. package/dist/db-ux/{p-f64c445b.entry.js → p-5c2e9373.entry.js} +2 -2
  136. package/dist/db-ux/{p-132f2d2c.entry.js → p-5c4d25b8.entry.js} +2 -2
  137. package/dist/db-ux/p-61410d87.entry.js +2 -0
  138. package/dist/db-ux/p-61410d87.entry.js.map +1 -0
  139. package/dist/db-ux/p-623a9409.entry.js +2 -0
  140. package/dist/db-ux/p-623a9409.entry.js.map +1 -0
  141. package/dist/db-ux/{p-5001ae7c.entry.js → p-63f30576.entry.js} +2 -2
  142. package/dist/db-ux/{p-58ae7ba7.entry.js → p-6b6dbd54.entry.js} +2 -2
  143. package/dist/db-ux/{p-Duz60W3r.js → p-6wgV8aKO.js} +2 -2
  144. package/dist/db-ux/{p-Duz60W3r.js.map → p-6wgV8aKO.js.map} +1 -1
  145. package/dist/db-ux/{p-03f2f291.entry.js → p-8b7d868b.entry.js} +2 -2
  146. package/dist/db-ux/{p-B_W_wePN.js → p-DszXleuv.js} +2 -2
  147. package/dist/db-ux/{p-B_W_wePN.js.map → p-DszXleuv.js.map} +1 -1
  148. package/dist/db-ux/p-a1ee66b3.entry.js +2 -0
  149. package/dist/db-ux/p-a1ee66b3.entry.js.map +1 -0
  150. package/dist/db-ux/{p-8c60d161.entry.js → p-b3148401.entry.js} +2 -2
  151. package/dist/db-ux/{p-3e39f409.entry.js → p-b4bc8f26.entry.js} +2 -2
  152. package/dist/db-ux/p-b5a8e9c3.entry.js +2 -0
  153. package/dist/db-ux/{p-6335bd9b.entry.js.map → p-b5a8e9c3.entry.js.map} +1 -1
  154. package/dist/db-ux/{p-FlgrrUDn.js → p-bH2PZLSq.js} +1 -1
  155. package/dist/db-ux/{p-FlgrrUDn.js.map → p-bH2PZLSq.js.map} +1 -1
  156. package/dist/db-ux/p-c151750e.entry.js +2 -0
  157. package/dist/db-ux/p-c151750e.entry.js.map +1 -0
  158. package/dist/db-ux/{p-33a60b07.entry.js → p-c5909b40.entry.js} +2 -2
  159. package/dist/db-ux/p-c989b5d8.entry.js +2 -0
  160. package/dist/db-ux/p-c989b5d8.entry.js.map +1 -0
  161. package/dist/db-ux/{p-85bc6a71.entry.js → p-d7ccd983.entry.js} +2 -2
  162. package/dist/db-ux/p-d9ff0c75.entry.js +2 -0
  163. package/dist/db-ux/p-d9ff0c75.entry.js.map +1 -0
  164. package/dist/db-ux/{p-2817cc26.entry.js → p-f2ef5e71.entry.js} +2 -2
  165. package/dist/db-ux/{p-TU0pfK1i.js → p-pglUTSkG.js} +2 -2
  166. package/dist/db-ux/p-pglUTSkG.js.map +1 -0
  167. package/dist/esm/db-accordion-item.entry.js +2 -2
  168. package/dist/esm/db-accordion.entry.js +2 -2
  169. package/dist/esm/db-badge.entry.js +2 -2
  170. package/dist/esm/db-brand.entry.js +2 -2
  171. package/dist/esm/db-button.entry.js +4 -3
  172. package/dist/esm/db-button.entry.js.map +1 -1
  173. package/dist/esm/db-card.entry.js +5 -4
  174. package/dist/esm/db-card.entry.js.map +1 -1
  175. package/dist/esm/db-checkbox.entry.js +7 -4
  176. package/dist/esm/db-checkbox.entry.js.map +1 -1
  177. 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
  178. package/dist/esm/db-custom-select-dropdown_6.entry.js +12 -7
  179. package/dist/esm/db-custom-select-dropdown_6.entry.js.map +1 -1
  180. package/dist/esm/db-custom-select-form-field.entry.js +2 -2
  181. package/dist/esm/db-custom-select.entry.js +3 -3
  182. package/dist/esm/db-divider.entry.js +2 -2
  183. package/dist/esm/db-drawer.entry.js +2 -2
  184. package/dist/esm/db-header.entry.js +3 -3
  185. package/dist/esm/db-icon.entry.js +2 -2
  186. package/dist/esm/db-infotext.entry.js +2 -2
  187. package/dist/esm/db-link.entry.js +4 -3
  188. package/dist/esm/db-link.entry.js.map +1 -1
  189. package/dist/esm/db-navigation-item.entry.js +5 -4
  190. package/dist/esm/db-navigation-item.entry.js.map +1 -1
  191. package/dist/esm/db-navigation.entry.js +2 -2
  192. package/dist/esm/db-notification.entry.js +5 -4
  193. package/dist/esm/db-notification.entry.js.map +1 -1
  194. package/dist/esm/db-page.entry.js +2 -2
  195. package/dist/esm/db-popover.entry.js +2 -2
  196. package/dist/esm/db-radio.entry.js +6 -3
  197. package/dist/esm/db-radio.entry.js.map +1 -1
  198. package/dist/esm/db-section.entry.js +2 -2
  199. package/dist/esm/db-select.entry.js +10 -5
  200. package/dist/esm/db-select.entry.js.map +1 -1
  201. package/dist/esm/db-stack.entry.js +2 -2
  202. package/dist/esm/db-switch.entry.js +6 -3
  203. package/dist/esm/db-switch.entry.js.map +1 -1
  204. package/dist/esm/db-tab-item.db-tab-list.db-tab-panel.entry.js.map +1 -1
  205. package/dist/esm/db-tab-item_3.entry.js +5 -4
  206. package/dist/esm/db-tab-item_3.entry.js.map +1 -1
  207. package/dist/esm/db-tabs.entry.js +5 -4
  208. package/dist/esm/db-tabs.entry.js.map +1 -1
  209. package/dist/esm/db-textarea.entry.js +8 -4
  210. package/dist/esm/db-textarea.entry.js.map +1 -1
  211. package/dist/esm/db-ux.js +3 -3
  212. package/dist/esm/db-ux.js.map +1 -1
  213. package/dist/esm/{document-click-listener-B2jDrCt8.js → document-click-listener-Bn3nIGhA.js} +3 -3
  214. package/dist/esm/{document-click-listener-B2jDrCt8.js.map → document-click-listener-Bn3nIGhA.js.map} +1 -1
  215. package/dist/esm/{index-FlgrrUDn.js → index-bH2PZLSq.js} +3 -3
  216. package/dist/esm/{index-FlgrrUDn.js.map → index-bH2PZLSq.js.map} +1 -1
  217. package/dist/esm/{index-TU0pfK1i.js → index-pglUTSkG.js} +16 -3
  218. package/dist/esm/index-pglUTSkG.js.map +1 -0
  219. package/dist/esm/index.js +4 -4
  220. package/dist/esm/loader.js +2 -2
  221. package/dist/esm/{navigation-BjeAmWrQ.js → navigation-C1ssnmpm.js} +3 -3
  222. package/dist/esm/{navigation-BjeAmWrQ.js.map → navigation-C1ssnmpm.js.map} +1 -1
  223. package/dist/types/utils/index.d.ts +11 -0
  224. package/package.json +4 -4
  225. package/dist/cjs/index-9h8KqOUd.js.map +0 -1
  226. package/dist/db-ux/p-07e776a1.entry.js +0 -2
  227. package/dist/db-ux/p-07e776a1.entry.js.map +0 -1
  228. package/dist/db-ux/p-139341df.entry.js +0 -2
  229. package/dist/db-ux/p-139341df.entry.js.map +0 -1
  230. package/dist/db-ux/p-24f3fa4c.entry.js +0 -2
  231. package/dist/db-ux/p-24f3fa4c.entry.js.map +0 -1
  232. package/dist/db-ux/p-37051cb8.entry.js +0 -2
  233. package/dist/db-ux/p-37051cb8.entry.js.map +0 -1
  234. package/dist/db-ux/p-507df3b7.entry.js +0 -2
  235. package/dist/db-ux/p-507df3b7.entry.js.map +0 -1
  236. package/dist/db-ux/p-6335bd9b.entry.js +0 -2
  237. package/dist/db-ux/p-6b4c9048.entry.js +0 -2
  238. package/dist/db-ux/p-6b4c9048.entry.js.map +0 -1
  239. package/dist/db-ux/p-6b552695.entry.js +0 -2
  240. package/dist/db-ux/p-6b552695.entry.js.map +0 -1
  241. package/dist/db-ux/p-71cfce31.entry.js +0 -2
  242. package/dist/db-ux/p-71cfce31.entry.js.map +0 -1
  243. package/dist/db-ux/p-851abc30.entry.js +0 -2
  244. package/dist/db-ux/p-851abc30.entry.js.map +0 -1
  245. package/dist/db-ux/p-99c9ba8c.entry.js +0 -2
  246. package/dist/db-ux/p-99c9ba8c.entry.js.map +0 -1
  247. package/dist/db-ux/p-TU0pfK1i.js.map +0 -1
  248. package/dist/db-ux/p-a4e30290.entry.js +0 -2
  249. package/dist/db-ux/p-a4e30290.entry.js.map +0 -1
  250. package/dist/db-ux/p-abfafad7.entry.js +0 -2
  251. package/dist/db-ux/p-abfafad7.entry.js.map +0 -1
  252. package/dist/db-ux/p-dd227d4b.entry.js +0 -2
  253. package/dist/db-ux/p-dd227d4b.entry.js.map +0 -1
  254. package/dist/esm/index-TU0pfK1i.js.map +0 -1
  255. /package/dist/db-ux/{p-ce5e2b8e.entry.js.map → p-01112955.entry.js.map} +0 -0
  256. /package/dist/db-ux/{p-4c056a9f.entry.js.map → p-14c44b94.entry.js.map} +0 -0
  257. /package/dist/db-ux/{p-10a706a6.entry.js.map → p-4400f077.entry.js.map} +0 -0
  258. /package/dist/db-ux/{p-41feb579.entry.js.map → p-49cc4a11.entry.js.map} +0 -0
  259. /package/dist/db-ux/{p-b92b20d7.entry.js.map → p-52e736c3.entry.js.map} +0 -0
  260. /package/dist/db-ux/{p-f64c445b.entry.js.map → p-5c2e9373.entry.js.map} +0 -0
  261. /package/dist/db-ux/{p-132f2d2c.entry.js.map → p-5c4d25b8.entry.js.map} +0 -0
  262. /package/dist/db-ux/{p-5001ae7c.entry.js.map → p-63f30576.entry.js.map} +0 -0
  263. /package/dist/db-ux/{p-58ae7ba7.entry.js.map → p-6b6dbd54.entry.js.map} +0 -0
  264. /package/dist/db-ux/{p-03f2f291.entry.js.map → p-8b7d868b.entry.js.map} +0 -0
  265. /package/dist/db-ux/{p-8c60d161.entry.js.map → p-b3148401.entry.js.map} +0 -0
  266. /package/dist/db-ux/{p-3e39f409.entry.js.map → p-b4bc8f26.entry.js.map} +0 -0
  267. /package/dist/db-ux/{p-33a60b07.entry.js.map → p-c5909b40.entry.js.map} +0 -0
  268. /package/dist/db-ux/{p-85bc6a71.entry.js.map → p-d7ccd983.entry.js.map} +0 -0
  269. /package/dist/db-ux/{p-2817cc26.entry.js.map → p-f2ef5e71.entry.js.map} +0 -0
@@ -139,6 +139,19 @@ const getNumber = (originNumber, alternativeNumber) => {
139
139
  }
140
140
  return Number(originNumber !== null && originNumber !== void 0 ? originNumber : alternativeNumber);
141
141
  };
142
+ /**
143
+ * Retrieves the input value based on the provided value and input type.
144
+ *
145
+ * If the input type is "number" or "range", the value is processed as a number.
146
+ * Otherwise, the value is returned as-is.
147
+ *
148
+ * @param value - The input value, which can be a number, string, or undefined.
149
+ * @param inputType - The type of the input, such as "number", "range", or other string types.
150
+ * @returns The processed input value as a string, number, or undefined.
151
+ */
152
+ const getInputValue = (value, inputType) => {
153
+ return inputType && ['number', 'range'].includes(inputType) ? getNumber(value) : value;
154
+ };
142
155
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
143
156
  const getHideProp = (show) => {
144
157
  if (show === undefined || show === null) {
@@ -156,7 +169,7 @@ const stringPropVisible = (givenString, showString) => {
156
169
  };
157
170
  const getSearchInput = (element) => element.querySelector(`input[type="search"]`);
158
171
 
159
- export { addAttributeToChildren as a, visibleInVY as b, cls as c, isArrayOfStrings as d, hasVoiceOver as e, delay as f, getBooleanAsString as g, handleDataOutside as h, isInView as i, getBoolean as j, getNumber as k, getHideProp as l, getSearchInput as m, stringPropVisible as s, uuid as u, visibleInVX as v };
160
- //# sourceMappingURL=index-TU0pfK1i.js.map
172
+ export { addAttributeToChildren as a, visibleInVY as b, cls as c, isArrayOfStrings as d, hasVoiceOver as e, delay as f, getBooleanAsString as g, handleDataOutside as h, isInView as i, getBoolean as j, getNumber as k, getInputValue as l, getHideProp as m, getSearchInput as n, stringPropVisible as s, uuid as u, visibleInVX as v };
173
+ //# sourceMappingURL=index-pglUTSkG.js.map
161
174
 
162
- //# sourceMappingURL=index-TU0pfK1i.js.map
175
+ //# sourceMappingURL=index-pglUTSkG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-pglUTSkG.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/**\n * Retrieves the input value based on the provided value and input type.\n *\n * If the input type is \"number\" or \"range\", the value is processed as a number.\n * Otherwise, the value is returned as-is.\n *\n * @param value - The input value, which can be a number, string, or undefined.\n * @param inputType - The type of the input, such as \"number\", \"range\", or other string types.\n * @returns The processed input value as a string, number, or undefined.\n */\nexport const getInputValue = (value?: number | string, inputType?: string): string | number | undefined => {\n return inputType && ['number', 'range'].includes(inputType) ? getNumber(value) : value;\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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"}
package/dist/esm/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import './index-FlgrrUDn.js';
1
+ import './index-bH2PZLSq.js';
2
2
  export { x as COLOR, y as COLORS, z as COLORS_SIMPLE, C as COLOR_CONST, w as COLOR_SIMPLE, n as DEFAULT_BACK, p as DEFAULT_BURGER_MENU, s as DEFAULT_CLOSE_BUTTON, j as DEFAULT_DATALIST_ID_SUFFIX, q as DEFAULT_ICON, D as DEFAULT_ID, l as DEFAULT_INVALID_MESSAGE, h as DEFAULT_INVALID_MESSAGE_ID_SUFFIX, a as DEFAULT_LABEL, d as DEFAULT_LABEL_ID_SUFFIX, c as DEFAULT_MESSAGE, f as DEFAULT_MESSAGE_ID_SUFFIX, b as DEFAULT_PLACEHOLDER, i as DEFAULT_PLACEHOLDER_ID_SUFFIX, m as DEFAULT_REMOVE, r as DEFAULT_ROWS, o as DEFAULT_SELECTED, e as DEFAULT_SELECT_ID_SUFFIX, k as DEFAULT_VALID_MESSAGE, g as DEFAULT_VALID_MESSAGE_ID_SUFFIX, B as DEFAULT_VIEWPORT, v as DENSITIES, u as DENSITY, t as DENSITY_CONST, E as DESKTOP_VIEWPORT, S as SEMANTIC, A as SEMANTICS, T as TESTING_VIEWPORTS } from './constants-DC9V_oNU.js';
3
- export { a as addAttributeToChildren, c as cls, f as delay, j as getBoolean, g as getBooleanAsString, l as getHideProp, k as getNumber, m as getSearchInput, h as handleDataOutside, e as hasVoiceOver, d as isArrayOfStrings, i as isInView, s as stringPropVisible, u as uuid, v as visibleInVX, b as visibleInVY } from './index-TU0pfK1i.js';
4
- export { N as NavigationItemSafeTriangle, i as isEventTargetNavigationItem } from './navigation-BjeAmWrQ.js';
5
- import './document-click-listener-B2jDrCt8.js';
3
+ export { a as addAttributeToChildren, c as cls, f as delay, j as getBoolean, g as getBooleanAsString, m as getHideProp, l as getInputValue, k as getNumber, n as getSearchInput, h as handleDataOutside, e as hasVoiceOver, d as isArrayOfStrings, i as isInView, s as stringPropVisible, u as uuid, v as visibleInVX, b as visibleInVY } from './index-pglUTSkG.js';
4
+ export { N as NavigationItemSafeTriangle, i as isEventTargetNavigationItem } from './navigation-C1ssnmpm.js';
5
+ import './document-click-listener-Bn3nIGhA.js';
6
6
 
7
7
  /* eslint-disable @typescript-eslint/no-explicit-any */
8
8
  const SemanticList = ['adaptive', 'neutral', 'critical', 'informational', 'warning', 'successful'];
@@ -1,5 +1,5 @@
1
- import { b as bootstrapLazy } from './index-FlgrrUDn.js';
2
- export { s as setNonce } from './index-FlgrrUDn.js';
1
+ import { b as bootstrapLazy } from './index-bH2PZLSq.js';
2
+ export { s as setNonce } from './index-bH2PZLSq.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
@@ -1,4 +1,4 @@
1
- import { h as handleDataOutside } from './index-TU0pfK1i.js';
1
+ import { h as handleDataOutside } from './index-pglUTSkG.js';
2
2
 
3
3
  const isEventTargetNavigationItem = (event) => {
4
4
  var _a, _b;
@@ -133,6 +133,6 @@ class NavigationItemSafeTriangle {
133
133
  }
134
134
 
135
135
  export { NavigationItemSafeTriangle as N, isEventTargetNavigationItem as i };
136
- //# sourceMappingURL=navigation-BjeAmWrQ.js.map
136
+ //# sourceMappingURL=navigation-C1ssnmpm.js.map
137
137
 
138
- //# sourceMappingURL=navigation-BjeAmWrQ.js.map
138
+ //# sourceMappingURL=navigation-C1ssnmpm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-BjeAmWrQ.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":"navigation-C1ssnmpm.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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"}
@@ -31,6 +31,17 @@ export declare const delay: (fn: () => void, ms: number) => Promise<unknown>;
31
31
  export declare const getBooleanAsString: (originBool?: boolean | string) => any;
32
32
  export declare const getBoolean: (originBool?: boolean | string, propertyName?: string) => boolean | undefined;
33
33
  export declare const getNumber: (originNumber?: number | string, alternativeNumber?: number | string) => number | undefined;
34
+ /**
35
+ * Retrieves the input value based on the provided value and input type.
36
+ *
37
+ * If the input type is "number" or "range", the value is processed as a number.
38
+ * Otherwise, the value is returned as-is.
39
+ *
40
+ * @param value - The input value, which can be a number, string, or undefined.
41
+ * @param inputType - The type of the input, such as "number", "range", or other string types.
42
+ * @returns The processed input value as a string, number, or undefined.
43
+ */
44
+ export declare const getInputValue: (value?: number | string, inputType?: string) => string | number | undefined;
34
45
  export declare const getHideProp: (show?: boolean | string) => any;
35
46
  export declare const stringPropVisible: (givenString?: string, showString?: boolean | string) => boolean;
36
47
  export declare const getSearchInput: (element: HTMLElement) => HTMLInputElement | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@db-ux/wc-core-components",
3
- "version": "2.0.5",
3
+ "version": "2.0.7",
4
4
  "description": "Stencil components for @db-ux/core-components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@custom-elements-manifest/analyzer": "^0.10.4",
33
- "@stencil/core": "4.30.0",
33
+ "@stencil/core": "4.31.0",
34
34
  "cem-plugin-expanded-types": "^1.4.0",
35
35
  "custom-element-jet-brains-integration": "^1.7.0",
36
36
  "custom-element-vs-code-integration": "^1.5.0",
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "web-types": "./dist/web-types.json",
44
44
  "dependencies": {
45
- "@db-ux/core-components": "2.0.5",
46
- "@db-ux/core-foundations": "2.0.5"
45
+ "@db-ux/core-components": "2.0.7",
46
+ "@db-ux/core-foundations": "2.0.7"
47
47
  }
48
48
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-9h8KqOUd.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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"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as s}from"./p-FlgrrUDn.js";import{l as h,g as a,h as e,f as d,k as c}from"./p-DC9V_oNU.js";import{e as n,f as l,s as o,j as f,u as r,l as u,c as b}from"./p-TU0pfK1i.js";const v=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;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._invalidMessage=undefined;this._descByIds="";this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,a;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)||h;if(n()){this._voiceOverFallback=this._invalidMessage;l((()=>this._voiceOverFallback=""),1e3)}}else if(this.hasValidState()&&((s=this._ref)===null||s===void 0?void 0:s.validity.valid)&&this.required){this._descByIds=this._validMessageId;if(n()){this._voiceOverFallback=(a=this.validMessage)!==null&&a!==void 0?a:c;l((()=>this._voiceOverFallback=""),1e3)}}else if(o(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}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)||h}watch0(){this.watch0Fn()}watch1Fn(){if(this._id){const i=this._id+d;this._messageId=i;this._validMessageId=this._id+a;this._invalidMessageId=this._id+e;if(o(this.message,this.showMessage)){this._descByIds=i}}}watch1(){this.watch1Fn()}watch2Fn(){if(this._ref){if(this.indeterminate!==undefined){this._ref.indeterminate=!!f(this.indeterminate)}}}watch2(){this.watch2Fn()}watch3Fn(){if(this.initialized&&this._ref){if(this.checked!=undefined){this._ref.checked=!!f(this.checked)}this.initialized=false}}watch3(){this.watch3Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-checkbox");this.initialized=true;const t=(i=this.id)!==null&&i!==void 0?i:`checkbox-${r()}`;this._id=t;this._messageId=t+d;this._validMessageId=t+a;this._invalidMessageId=t+e;this._invalidMessage=this.invalidMessage||h;this.watch0Fn();this.watch1Fn();this.watch2Fn();this.watch3Fn()}render(){return s("div",{key:"a1a0384951c739a12a75f9cd51afdbdfd51a9a2e",class:b("db-checkbox",this.className),"data-size":this.size,"data-hide-label":u(this.showLabel)},s("label",{key:"755ba3bd5bc761d2207eb8479fc367959a46e83b",htmlFor:this._id},s("input",{key:"9e4752cf34a51c4c1dd7de9de9438def286511dd",type:"checkbox","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,name:this.name,checked:f(this.checked,"checked"),disabled:f(this.disabled,"disabled"),value:this.value,required:f(this.required,"required"),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":this._descByIds}),this.label?this.label:s("slot",null)),o(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||c):null,s("db-infotext",{key:"575d9eef92ce0b4198b19cccc00fc115542d2e18",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"7a448fe4a8b2b7266df32ebb895a4397030fb960","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0","watch2","watch3"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch2","watch3"],indeterminate:["watch2"],checked:["watch3"]}}};export{v as db_checkbox};
2
- //# sourceMappingURL=p-07e776a1.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DBCheckbox","constructor","hostRef","this","initialized","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_descByIds","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","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","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch1","watch2Fn","indeterminate","getBoolean","watch2","watch3Fn","checked","watch3","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","size","getHideProp","showLabel","htmlFor","type","ref","el","disabled","onChange","onBlur","onFocus","label","icon","messageIcon","semantic","role"],"sources":["src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { DBCheckboxProps, DBCheckboxState } from \"./model\";\nimport {\n DEFAULT_INVALID_MESSAGE,\n DEFAULT_INVALID_MESSAGE_ID_SUFFIX,\n DEFAULT_MESSAGE_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\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-checkbox\",\n})\nexport class DBCheckbox {\n private _ref!: HTMLInputElement | any;\n @Prop() id: DBCheckboxProps[\"id\"];\n @Prop() invalidMessage: DBCheckboxProps[\"invalidMessage\"];\n @Prop() message: DBCheckboxProps[\"message\"];\n @Prop() showMessage: DBCheckboxProps[\"showMessage\"];\n @Prop() indeterminate: DBCheckboxProps[\"indeterminate\"];\n @Prop() checked: DBCheckboxProps[\"checked\"];\n @Prop() validMessage: DBCheckboxProps[\"validMessage\"];\n @Prop() validation: DBCheckboxProps[\"validation\"];\n @Prop() required: DBCheckboxProps[\"required\"];\n @Event() change: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBCheckboxProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBCheckboxProps[\"className\"];\n @Prop() size: DBCheckboxProps[\"size\"];\n @Prop() showLabel: DBCheckboxProps[\"showLabel\"];\n @Prop() name: DBCheckboxProps[\"name\"];\n @Prop() disabled: DBCheckboxProps[\"disabled\"];\n @Prop() value: DBCheckboxProps[\"value\"];\n @Prop() label: DBCheckboxProps[\"label\"];\n @Prop() messageIcon: DBCheckboxProps[\"messageIcon\"];\n @State() initialized = false;\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() _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 checkbox */\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\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 handleChange(event: ChangeEvent<HTMLInputElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\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 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 if (this._ref) {\n if (this.indeterminate !== undefined) {\n // When indeterminate is set, the value of the checked prop only impacts the form submitted values.\n // It has no accessibility or UX implications. (https://mui.com/material-ui/react-checkbox/)\n this._ref.indeterminate = !!getBoolean(this.indeterminate);\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"indeterminate\")\n watch2() {\n this.watch2Fn();\n }\n\n watch3Fn() {\n if (this.initialized && this._ref) {\n // in angular this must be set via native element\n if (this.checked != undefined) {\n this._ref.checked = !!getBoolean(this.checked);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n @Watch(\"checked\")\n watch3() {\n this.watch3Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-checkbox\");\n this.initialized = true;\n const mId = this.id ?? `checkbox-${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 this.watch3Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-checkbox\", this.className)}\n data-size={this.size}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>\n <input\n type=\"checkbox\"\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 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 aria-describedby={this._descByIds}\n />\n {this.label ? this.label : <slot></slot>}\n </label>\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 +0,0 @@
1
- import{r as i,c as t,h as s,F as a}from"./p-FlgrrUDn.js";import{u as h,f as n,j as e,g as o,l,c as d}from"./p-TU0pfK1i.js";import{i as r,N as c}from"./p-Duz60W3r.js";import{n as u}from"./p-DC9V_oNU.js";const f=class{constructor(s){i(this,s);this.click=t(this,"click");this.initialized=false;this.hasAreaPopup=false;this.hasSubNavigation=true;this.isSubNavigationExpanded=false;this.autoClose=false;this.subNavigationId="sub-navigation-"+h();this.navigationItemSafeTriangle=undefined}handleNavigationItemClick(i){if(r(i)){this.autoClose=true;n((()=>{this.autoClose=false}),300)}}handleClick(i){if(this.click){this.click.emit(i)}if(this.hasAreaPopup){this.isSubNavigationExpanded=true}}handleBackClick(i){i.stopPropagation();this.isSubNavigationExpanded=false}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 n=i.getAttribute("class");i.setAttribute(h.name,`${n?`${n} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(h.name)}}}}}watch0Fn(){if(this.subNavigationExpanded!==undefined){this.isSubNavigationExpanded=!!e(this.subNavigationExpanded,"subNavigationExpanded")}}watch0(){this.watch0Fn()}watch1Fn(){var i;if(this.initialized&&this._ref){const t=this._ref.querySelector("menu");if(t){if(((i=t.children)===null||i===void 0?void 0:i.length)>0){this.hasAreaPopup=true;if(!this.navigationItemSafeTriangle){this.navigationItemSafeTriangle=new c(this._ref,t)}}else{this.hasSubNavigation=false}}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-navigation-item");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var i;return s("li",{key:"b0ab4981fcea138493f90e599ae8b50491ca2204",class:d("db-navigation-item",this.className),ref:i=>{this._ref=i},id:this.id,onMouseOver:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.enableFollow()},onMouseLeave:()=>{var i;return(i=this.navigationItemSafeTriangle)===null||i===void 0?void 0:i.disableFollow()},onMouseMove:i=>{var t;return(t=this.navigationItemSafeTriangle)===null||t===void 0?void 0:t.followByMouseEvent(i)},"data-width":this.width,"data-icon":this.icon,"data-hide-icon":l(this.showIcon),"data-active":this.active,"data-wrap":o(this.wrap),"aria-disabled":o(this.disabled)},!this.hasSubNavigation?this.text?this.text:s("slot",null):null,this.hasSubNavigation?s(a,null,s("button",{class:"db-navigation-item-expand-button","aria-haspopup":this.hasAreaPopup,"aria-expanded":this.isSubNavigationExpanded,disabled:e(this.disabled,"disabled"),onClick:i=>this.handleClick(i)},this.text?this.text:s("slot",null)),s("menu",{class:"db-sub-navigation","data-auto-close":this.autoClose,id:this.subNavigationId,onClick:i=>this.handleNavigationItemClick(i)},this.hasAreaPopup?s("div",{class:"db-mobile-navigation-back"},s("db-button",{icon:"arrow_left",variant:"ghost",id:this.backButtonId,onClick:i=>this.handleBackClick(i)},(i=this.backButtonText)!==null&&i!==void 0?i:u)):null,s("slot",{name:"subNavigation"}))):null)}static get watchers(){return{subNavigationExpanded:["watch0"],initialized:["watch1"],_ref:["watch1"]}}};export{f as db_navigation_item};
2
- //# sourceMappingURL=p-139341df.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DBNavigationItem","constructor","hostRef","this","initialized","hasAreaPopup","hasSubNavigation","isSubNavigationExpanded","autoClose","subNavigationId","uuid","navigationItemSafeTriangle","undefined","handleNavigationItemClick","event","isEventTargetNavigationItem","delay","handleClick","click","emit","handleBackClick","stopPropagation","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","subNavigationExpanded","getBoolean","watch0","watch1Fn","_ref","subNavigationSlot","querySelector","_a","children","NavigationItemSafeTriangle","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onMouseOver","enableFollow","onMouseLeave","disableFollow","onMouseMove","followByMouseEvent","width","icon","getHideProp","showIcon","active","getBooleanAsString","wrap","disabled","text","Fragment","onClick","variant","backButtonId","backButtonText","DEFAULT_BACK"],"sources":["src/components/navigation-item/navigation-item.tsx"],"sourcesContent":["import { DBNavigationItemProps, DBNavigationItemState } from \"./model\";\nimport { DBButton } from \"../button/button\";\nimport {\n cls,\n delay,\n getBoolean,\n getBooleanAsString,\n getHideProp,\n uuid,\n} from \"../../utils\";\nimport {\n isEventTargetNavigationItem,\n NavigationItemSafeTriangle,\n} from \"../../utils/navigation\";\nimport { DEFAULT_BACK } from \"../../shared/constants\";\nimport { ClickEvent } from \"../../shared/model\";\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 subNavigation - TODO: Add description for slotSubNavigation\n */\n @Component({\n tag: \"db-navigation-item\",\n})\nexport class DBNavigationItem {\n private _ref!: HTMLLIElement | any;\n @Prop() subNavigationExpanded: DBNavigationItemProps[\"subNavigationExpanded\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBNavigationItemProps>[\"onClick\"]>[number]\n > | void;\n @Prop() id: DBNavigationItemProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBNavigationItemProps[\"className\"];\n @Prop() width: DBNavigationItemProps[\"width\"];\n @Prop() icon: DBNavigationItemProps[\"icon\"];\n @Prop() showIcon: DBNavigationItemProps[\"showIcon\"];\n @Prop() active: DBNavigationItemProps[\"active\"];\n @Prop() wrap: DBNavigationItemProps[\"wrap\"];\n @Prop() disabled: DBNavigationItemProps[\"disabled\"];\n @Prop() text: DBNavigationItemProps[\"text\"];\n @Prop() backButtonId: DBNavigationItemProps[\"backButtonId\"];\n @Prop() backButtonText: DBNavigationItemProps[\"backButtonText\"];\n @State() initialized = false;\n @State() hasAreaPopup = false;\n @State() hasSubNavigation = true;\n @State() isSubNavigationExpanded = false;\n @State() autoClose = false;\n @State() subNavigationId = \"sub-navigation-\" + uuid();\n @State() navigationItemSafeTriangle = undefined;\n\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.autoClose = true;\n delay(() => {\n this.autoClose = false;\n }, 300);\n }\n }\n handleClick(event: ClickEvent<HTMLButtonElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n if (this.hasAreaPopup) {\n this.isSubNavigationExpanded = true;\n }\n }\n handleBackClick(event: ClickEvent<HTMLButtonElement> | any) {\n event.stopPropagation();\n this.isSubNavigationExpanded = false;\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.subNavigationExpanded !== undefined) {\n this.isSubNavigationExpanded = !!getBoolean(\n this.subNavigationExpanded,\n \"subNavigationExpanded\"\n );\n }\n }\n\n @Watch(\"subNavigationExpanded\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this.initialized && this._ref) {\n const subNavigationSlot = this._ref.querySelector(\"menu\");\n if (subNavigationSlot) {\n if (subNavigationSlot.children?.length > 0) {\n this.hasAreaPopup = true;\n if (!this.navigationItemSafeTriangle) {\n this.navigationItemSafeTriangle = new NavigationItemSafeTriangle(\n this._ref,\n subNavigationSlot\n );\n }\n } else {\n this.hasSubNavigation = false;\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"_ref\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-navigation-item\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <li\n class={cls(\"db-navigation-item\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onMouseOver={() => this.navigationItemSafeTriangle?.enableFollow()}\n onMouseLeave={() => this.navigationItemSafeTriangle?.disableFollow()}\n onMouseMove={(event) =>\n this.navigationItemSafeTriangle?.followByMouseEvent(event)\n }\n data-width={this.width}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n data-active={this.active}\n data-wrap={getBooleanAsString(this.wrap)}\n aria-disabled={getBooleanAsString(this.disabled)}\n >\n {!this.hasSubNavigation ? this.text ? this.text : <slot></slot> : null}\n {this.hasSubNavigation ? (\n <Fragment>\n <button\n class=\"db-navigation-item-expand-button\"\n aria-haspopup={this.hasAreaPopup}\n aria-expanded={this.isSubNavigationExpanded}\n disabled={getBoolean(this.disabled, \"disabled\")}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </button>\n <menu\n class=\"db-sub-navigation\"\n data-auto-close={this.autoClose}\n id={this.subNavigationId}\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n {this.hasAreaPopup ? (\n <div class=\"db-mobile-navigation-back\">\n <db-button\n icon=\"arrow_left\"\n variant=\"ghost\"\n id={this.backButtonId}\n onClick={(event) => this.handleBackClick(event)}\n >\n {this.backButtonText ?? DEFAULT_BACK}\n </db-button>\n </div>\n ) : null}\n <slot name=\"subNavigation\"></slot>\n </menu>\n </Fragment>\n ) : null}\n </li>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as s}from"./p-FlgrrUDn.js";import{u as a,j as h,l as e,c as d}from"./p-TU0pfK1i.js";const r=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{r as db_radio};
2
- //# sourceMappingURL=p-24f3fa4c.entry.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as s,h as i}from"./p-FlgrrUDn.js";import{g as a,l as d,j as e,c as h}from"./p-TU0pfK1i.js";const o=class{constructor(i){t(this,i);this.click=s(this,"click")}handleClick(t){if(this.click){this.click.emit(t)}}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 d=s.item(a);if(d&&(d.name.startsWith("data-")||d.name.startsWith("aria-"))){t.setAttribute(d.name,d.value);i.removeAttribute(d.name)}if(d&&d.name==="class"){const s=d.value.includes("hydrated");const a=d.value.replace("hydrated","").trim();const e=t.getAttribute("class");t.setAttribute(d.name,`${e?`${e} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(d.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-button")}render(){return i("button",{key:"f804bbf8840c2d9d16d45a7255e7ec20a6473773",class:h("db-button",this.className),ref:t=>{this._ref=t},id:this.id,type:this.type||"button",disabled:e(this.disabled,"disabled"),"aria-label":this.label,"data-icon":this.icon,"data-hide-icon":d(this.showIcon),"data-size":this.size,"data-state":this.state,"data-width":this.width,"data-variant":this.variant,"data-no-text":a(this.noText),name:this.name,form:this.form,value:this.value,"aria-describedby":this.describedbyid,"aria-expanded":this.ariaexpanded,"aria-pressed":this.ariapressed,onClick:t=>this.handleClick(t)},this.text?this.text:i("slot",null))}};export{o as db_button};
2
- //# sourceMappingURL=p-37051cb8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DBButton","handleClick","event","this","click","emit","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","render","h","key","class","cls","className","ref","el","id","type","disabled","getBoolean","label","icon","getHideProp","showIcon","size","state","width","variant","getBooleanAsString","noText","form","describedbyid","ariaexpanded","ariapressed","onClick","text"],"sources":["src/components/button/button.tsx"],"sourcesContent":["import type { DBButtonProps, DBButtonState } from \"./model\";\nimport { cls, getBoolean, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport {\n Component,\n h,\n Fragment,\n Event,\n EventEmitter,\n Prop,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-button\",\n})\nexport class DBButton {\n private _ref!: HTMLButtonElement | any;\n @Event() click: EventEmitter<\n Parameters<Required<DBButtonProps>[\"onClick\"]>[number]\n > | void;\n @Prop() id: DBButtonProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBButtonProps[\"className\"];\n @Prop() type: DBButtonProps[\"type\"];\n @Prop() disabled: DBButtonProps[\"disabled\"];\n @Prop() label: DBButtonProps[\"label\"];\n @Prop() icon: DBButtonProps[\"icon\"];\n @Prop() showIcon: DBButtonProps[\"showIcon\"];\n @Prop() size: DBButtonProps[\"size\"];\n @Prop() state: DBButtonProps[\"state\"];\n @Prop() width: DBButtonProps[\"width\"];\n @Prop() variant: DBButtonProps[\"variant\"];\n @Prop() noText: DBButtonProps[\"noText\"];\n @Prop() name: DBButtonProps[\"name\"];\n @Prop() form: DBButtonProps[\"form\"];\n @Prop() value: DBButtonProps[\"value\"];\n @Prop() describedbyid: DBButtonProps[\"describedbyid\"];\n @Prop() ariaexpanded: DBButtonProps[\"ariaexpanded\"];\n @Prop() ariapressed: DBButtonProps[\"ariapressed\"];\n @Prop() text: DBButtonProps[\"text\"];\n\n handleClick(event: ClickEvent<HTMLButtonElement>) {\n if (this.click) {\n this.click.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: 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-button\");\n }\n\n render() {\n return (\n <button\n class={cls(\"db-button\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n type={this.type || \"button\"}\n disabled={getBoolean(this.disabled, \"disabled\")}\n aria-label={this.label}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n data-size={this.size}\n data-state={this.state}\n data-width={this.width}\n data-variant={this.variant}\n data-no-text={getBooleanAsString(this.noText)}\n name={this.name}\n form={this.form}\n value={this.value}\n aria-describedby={this.describedbyid}\n aria-expanded={this.ariaexpanded}\n aria-pressed={this.ariapressed}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </button>\n );\n }\n}\n"],"mappings":"iHAqBaA,EAAQ,M,oDAyBnB,WAAAC,CAAYC,GACV,GAAIC,KAAKC,MAAO,CACdD,KAAKC,MAAMC,KAAKH,E,EASZ,sBAAAI,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,GACExB,KAAKG,uBAAuBH,KAAKyB,KAAM,Y,CAGzC,MAAAC,GACE,OACEC,EACE,UAAAC,IAAA,2CAAAC,MAAOC,EAAI,YAAa9B,KAAK+B,WAC7BC,IAAMC,IACJjC,KAAKyB,KAAOQ,CAAE,EAEhBC,GAAIlC,KAAKkC,GACTC,KAAMnC,KAAKmC,MAAQ,SACnBC,SAAUC,EAAWrC,KAAKoC,SAAU,YACxB,aAAApC,KAAKsC,MACN,YAAAtC,KAAKuC,KACA,iBAAAC,EAAYxC,KAAKyC,UAAS,YAC/BzC,KAAK0C,KAAI,aACR1C,KAAK2C,MAAK,aACV3C,KAAK4C,MAAK,eACR5C,KAAK6C,QAAO,eACZC,EAAmB9C,KAAK+C,QACtClC,KAAMb,KAAKa,KACXmC,KAAMhD,KAAKgD,KACXhC,MAAOhB,KAAKgB,MACM,mBAAAhB,KAAKiD,cACR,gBAAAjD,KAAKkD,aACN,eAAAlD,KAAKmD,YACnBC,QAAUrD,GAAUC,KAAKF,YAAYC,IAEpCC,KAAKqD,KAAOrD,KAAKqD,KAAO1B,EAAA,a","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as s,F as h}from"./p-FlgrrUDn.js";import{e,f as a,s as l,u as d,j as n,l as c,c as o}from"./p-TU0pfK1i.js";import{l as u,g as r,h as f,f as v,i as b,k as p,a as m}from"./p-DC9V_oNU.js";const y=class{constructor(s){i(this,s);this.click=t(this,"click");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._placeholderId="";this._descByIds="";this._value="";this.initialized=false;this._voiceOverFallback=""}hasValidState(){var i;return!!((i=this.validMessage)!==null&&i!==void 0?i:this.validation==="valid")}handleValidation(){var i,t,s,h;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)||u;if(e()){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._descByIds=this._validMessageId;if(e()){this._voiceOverFallback=(h=this.validMessage)!==null&&h!==void 0?h:p;a((()=>this._voiceOverFallback=""),1e3)}}else if(l(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=this._placeholderId}}handleClick(i){if(this.click){this.click.emit(i)}}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)}}getOptionLabel(i){var t,s;return(t=i.label)!==null&&t!==void 0?t:(s=i.value)===null||s===void 0?void 0:s.toString()}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 a=i.getAttribute("class");i.setAttribute(e.name,`${a?`${a} `:""}${h}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(e.name)}}}}}watch0Fn(){var i;this._invalidMessage=this.invalidMessage||((i=this._ref)===null||i===void 0?void 0:i.validationMessage)||u}watch0(){this.watch0Fn()}watch1Fn(){if(this._id&&this.initialized){const i=this._id+v;const t=this._id+b;this._messageId=i;this._validMessageId=this._id+r;this._invalidMessageId=this._id+f;this._placeholderId=t;if(l(this.message,this.showMessage)){this._descByIds=i}else{this._descByIds=t}this.initialized=false}}watch1(){this.watch1Fn()}watch2Fn(){this._value=this.value}watch2(){this.watch2Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-select");this.initialized=true;const t=(i=this.id)!==null&&i!==void 0?i:`select-${d()}`;this._id=t;this._messageId=t+v;this._validMessageId=t+r;this._invalidMessageId=t+f;this._placeholderId=t+b;this._invalidMessage=this.invalidMessage||u;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var i,t,e,a;return s("div",{key:"12c4c4b0b3631810eeb09363775c1e43baa72359",class:o("db-select",this.className),"data-variant":this.variant,"data-hide-label":c(this.showLabel),"data-icon":this.icon,"data-hide-icon":c(this.showIcon)},s("label",{key:"08a0a9a3c09c285287e60c4405ecbbcf3978ee14",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:m),s("select",{key:"22968912b86ddb286f33f4f17305bc3c9d1a784b","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},required:n(this.required,"required"),disabled:n(this.disabled,"disabled"),id:this._id,name:this.name,size:this.size,value:(t=this.value)!==null&&t!==void 0?t:this._value,autocomplete:this.autocomplete,multiple:this.multiple,onInput:i=>this.handleInput(i),onClick:i=>this.handleClick(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),"aria-describedby":this._descByIds},s("option",{key:"65c5eb3e359672016745ddee6d76f54ac5a57abd",hidden:true}),this.options?(e=this.options)===null||e===void 0?void 0:e.map((i=>{var t;return s(h,null,i.options?s("optgroup",{label:this.getOptionLabel(i)},(t=i.options)===null||t===void 0?void 0:t.map((i=>s("option",{key:i.value.toString(),value:i.value,selected:i.selected,disabled:i.disabled},this.getOptionLabel(i))))):null,!i.options?s("option",{value:i.value,disabled:i.disabled,selected:i.selected},this.getOptionLabel(i)):null)})):s("slot",null)),s("span",{key:"a47248bcabcd7022605e3033e258dd3e722c0b0e",id:this._placeholderId},(a=this.placeholder)!==null&&a!==void 0?a:this.label),l(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||p):null,s("db-infotext",{key:"3967431568981c39ebbed80175d3d0b6b020a031",size:"small",semantic:"critical",id:this._invalidMessageId},this._invalidMessage),s("span",{key:"db45821fd19f5f5458a1f130ea32c33d374bc2f4","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_ref:["watch0"],invalidMessage:["watch0"],_id:["watch1"],initialized:["watch1"],value:["watch2"]}}};export{y as db_select};
2
- //# sourceMappingURL=p-507df3b7.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DBSelect","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_invalidMessage","_placeholderId","_descByIds","_value","initialized","_voiceOverFallback","hasValidState","_a","validMessage","validation","handleValidation","_ref","validity","valid","invalidMessage","_b","validationMessage","DEFAULT_INVALID_MESSAGE","hasVoiceOver","delay","_c","required","_d","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleClick","event","click","emit","handleInput","input","handleChange","change","handleBlur","blur","handleFocus","focus","getOptionLabel","option","label","value","toString","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","watch0","watch1Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","placeholderId","DEFAULT_PLACEHOLDER_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","icon","showIcon","htmlFor","DEFAULT_LABEL","ref","el","getBoolean","disabled","size","autocomplete","multiple","onInput","onClick","onChange","onBlur","onFocus","hidden","options","map","Fragment","optgroupOption","selected","placeholder","messageIcon","semantic","role"],"sources":["src/components/select/select.tsx"],"sourcesContent":["import { DBSelectOptionType, DBSelectProps, DBSelectState } from \"./model\";\nimport {\n cls,\n delay,\n getBoolean,\n getHideProp,\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_ID_SUFFIX,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n ChangeEvent,\n ClickEvent,\n InputEvent,\n InteractionEvent,\n} 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-select\",\n})\nexport class DBSelect {\n private _ref!: HTMLSelectElement | any;\n @Prop() id: DBSelectProps[\"id\"];\n @Prop() invalidMessage: DBSelectProps[\"invalidMessage\"];\n @Prop() message: DBSelectProps[\"message\"];\n @Prop() showMessage: DBSelectProps[\"showMessage\"];\n @Prop() value: DBSelectProps[\"value\"];\n @Prop() validMessage: DBSelectProps[\"validMessage\"];\n @Prop() validation: DBSelectProps[\"validation\"];\n @Prop() required: DBSelectProps[\"required\"];\n @Event() click: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onClick\"]>[number]\n > | void;\n @Event() input: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBSelectProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBSelectProps[\"className\"];\n @Prop() variant: DBSelectProps[\"variant\"];\n @Prop() showLabel: DBSelectProps[\"showLabel\"];\n @Prop() icon: DBSelectProps[\"icon\"];\n @Prop() showIcon: DBSelectProps[\"showIcon\"];\n @Prop() label: DBSelectProps[\"label\"];\n @Prop() disabled: DBSelectProps[\"disabled\"];\n @Prop() name: DBSelectProps[\"name\"];\n @Prop() size: DBSelectProps[\"size\"];\n @Prop() autocomplete: DBSelectProps[\"autocomplete\"];\n @Prop() multiple: DBSelectProps[\"multiple\"];\n @Prop() options: DBSelectProps[\"options\"];\n @Prop() placeholder: DBSelectProps[\"placeholder\"];\n @Prop() messageIcon: DBSelectProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _placeholderId = \"\";\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() initialized = false;\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 select */\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\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 = this._placeholderId;\n }\n }\n handleClick(event: ClickEvent<HTMLSelectElement> | any) {\n if (this.click) {\n this.click.emit(event);\n }\n }\n handleInput(event: InputEvent<HTMLSelectElement> | any) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLSelectElement> | any) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLSelectElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n getOptionLabel(option: DBSelectOptionType) {\n return option.label ?? option.value?.toString();\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: HTMLSelectElement | 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 && this.initialized) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n const placeholderId = this._id + DEFAULT_PLACEHOLDER_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 this._placeholderId = placeholderId;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n } else {\n this._descByIds = placeholderId;\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_id\")\n @Watch(\"initialized\")\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-select\");\n this.initialized = true;\n const mId = this.id ?? `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._placeholderId = mId + DEFAULT_PLACEHOLDER_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-select\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n data-icon={this.icon}\n data-hide-icon={getHideProp(this.showIcon)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <select\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n required={getBoolean(this.required, \"required\")}\n disabled={getBoolean(this.disabled, \"disabled\")}\n id={this._id}\n name={this.name}\n size={this.size}\n /* @ts-ignore */\nvalue={this.value ?? this._value}\n autocomplete={this.autocomplete}\n multiple={this.multiple}\n onInput={(event) => this.handleInput(event)}\n onClick={(event) => this.handleClick(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n aria-describedby={this._descByIds}\n >\n <option hidden={true}></option>\n {this.options ? (\n this.options?.map((option) => (\n <Fragment>\n {option.options ? (\n <optgroup label={this.getOptionLabel(option)}>\n {option.options?.map((optgroupOption) => (\n <option\n key={optgroupOption.value.toString()}\n value={optgroupOption.value}\n selected={optgroupOption.selected}\n disabled={optgroupOption.disabled}\n >\n {this.getOptionLabel(optgroupOption)}\n </option>\n ))}\n </optgroup>\n ) : null}\n {!option.options ? (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.selected}\n >\n {this.getOptionLabel(option)}\n </option>\n ) : null}\n </Fragment>\n ))\n ) : (\n <slot></slot>\n )}\n </select>\n <span id={this._placeholderId}>{this.placeholder ?? this.label}</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 +0,0 @@
1
- import{r as i,c as t,h as s,F as h}from"./p-FlgrrUDn.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-6335bd9b.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as i,c as s,h as t}from"./p-FlgrrUDn.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-6b4c9048.entry.js.map
@@ -1 +0,0 @@
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":[]}