@db-ux/wc-core-components 1.1.1 → 1.2.1

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 (359) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +8 -0
  3. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -0
  4. package/dist/cjs/{constants-89822e5f.js → constants-C75d4JiJ.js} +2 -1
  5. package/dist/cjs/constants-C75d4JiJ.js.map +1 -0
  6. package/dist/cjs/db-accordion-item.cjs.entry.js +5 -6
  7. package/dist/cjs/db-accordion-item.cjs.entry.js.map +1 -1
  8. package/dist/cjs/db-accordion-item.entry.cjs.js.map +1 -0
  9. package/dist/cjs/db-accordion.cjs.entry.js +4 -5
  10. package/dist/cjs/db-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/db-accordion.entry.cjs.js.map +1 -0
  12. package/dist/cjs/db-badge.cjs.entry.js +4 -5
  13. package/dist/cjs/db-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/db-badge.entry.cjs.js.map +1 -0
  15. package/dist/cjs/db-brand.cjs.entry.js +4 -5
  16. package/dist/cjs/db-brand.cjs.entry.js.map +1 -1
  17. package/dist/cjs/db-brand.entry.cjs.js.map +1 -0
  18. package/dist/cjs/db-button.cjs.entry.js +4 -5
  19. package/dist/cjs/db-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/db-button.entry.cjs.js.map +1 -0
  21. package/dist/cjs/db-card.cjs.entry.js +4 -5
  22. package/dist/cjs/db-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/db-card.entry.cjs.js.map +1 -0
  24. package/dist/cjs/db-checkbox.cjs.entry.js +7 -8
  25. package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
  26. package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -0
  27. package/dist/cjs/db-divider.cjs.entry.js +3 -4
  28. package/dist/cjs/db-divider.cjs.entry.js.map +1 -1
  29. package/dist/cjs/db-divider.entry.cjs.js.map +1 -0
  30. package/dist/cjs/db-drawer.cjs.entry.js +5 -6
  31. package/dist/cjs/db-drawer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/db-drawer.entry.cjs.js.map +1 -0
  33. package/dist/cjs/db-header.cjs.entry.js +6 -7
  34. package/dist/cjs/db-header.cjs.entry.js.map +1 -1
  35. package/dist/cjs/db-header.entry.cjs.js.map +1 -0
  36. package/dist/cjs/db-icon.cjs.entry.js +3 -4
  37. package/dist/cjs/db-icon.cjs.entry.js.map +1 -1
  38. package/dist/cjs/db-icon.entry.cjs.js.map +1 -0
  39. package/dist/cjs/db-infotext.cjs.entry.js +3 -4
  40. package/dist/cjs/db-infotext.cjs.entry.js.map +1 -1
  41. package/dist/cjs/db-infotext.entry.cjs.js.map +1 -0
  42. package/dist/cjs/db-input.cjs.entry.js +8 -9
  43. package/dist/cjs/db-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/db-input.entry.cjs.js.map +1 -0
  45. package/dist/cjs/db-link.cjs.entry.js +4 -5
  46. package/dist/cjs/db-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/db-link.entry.cjs.js.map +1 -0
  48. package/dist/cjs/db-navigation-item.cjs.entry.js +6 -7
  49. package/dist/cjs/db-navigation-item.cjs.entry.js.map +1 -1
  50. package/dist/cjs/db-navigation-item.entry.cjs.js.map +1 -0
  51. package/dist/cjs/db-navigation.cjs.entry.js +4 -5
  52. package/dist/cjs/db-navigation.cjs.entry.js.map +1 -1
  53. package/dist/cjs/db-navigation.entry.cjs.js.map +1 -0
  54. package/dist/cjs/db-notification.cjs.entry.js +5 -6
  55. package/dist/cjs/db-notification.cjs.entry.js.map +1 -1
  56. package/dist/cjs/db-notification.entry.cjs.js.map +1 -0
  57. package/dist/cjs/db-page.cjs.entry.js +5 -6
  58. package/dist/cjs/db-page.cjs.entry.js.map +1 -1
  59. package/dist/cjs/db-page.entry.cjs.js.map +1 -0
  60. package/dist/cjs/db-popover.cjs.entry.js +3 -4
  61. package/dist/cjs/db-popover.cjs.entry.js.map +1 -1
  62. package/dist/cjs/db-popover.entry.cjs.js.map +1 -0
  63. package/dist/cjs/db-radio.cjs.entry.js +6 -7
  64. package/dist/cjs/db-radio.cjs.entry.js.map +1 -1
  65. package/dist/cjs/db-radio.entry.cjs.js.map +1 -0
  66. package/dist/cjs/db-section.cjs.entry.js +4 -5
  67. package/dist/cjs/db-section.cjs.entry.js.map +1 -1
  68. package/dist/cjs/db-section.entry.cjs.js.map +1 -0
  69. package/dist/cjs/db-select.cjs.entry.js +9 -10
  70. package/dist/cjs/db-select.cjs.entry.js.map +1 -1
  71. package/dist/cjs/db-select.entry.cjs.js.map +1 -0
  72. package/dist/cjs/db-stack.cjs.entry.js +3 -4
  73. package/dist/cjs/db-stack.cjs.entry.js.map +1 -1
  74. package/dist/cjs/db-stack.entry.cjs.js.map +1 -0
  75. package/dist/cjs/db-switch.cjs.entry.js +6 -7
  76. package/dist/cjs/db-switch.cjs.entry.js.map +1 -1
  77. package/dist/cjs/db-switch.entry.cjs.js.map +1 -0
  78. package/dist/cjs/db-tab-item.db-tab-list.db-tab-panel.entry.cjs.js.map +1 -0
  79. package/dist/cjs/db-tab-item_3.cjs.entry.js +5 -6
  80. package/dist/cjs/db-tab-item_3.cjs.entry.js.map +1 -1
  81. package/dist/cjs/db-tabs.cjs.entry.js +5 -6
  82. package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
  83. package/dist/cjs/db-tabs.entry.cjs.js.map +1 -0
  84. package/dist/cjs/db-tag.cjs.entry.js +4 -5
  85. package/dist/cjs/db-tag.cjs.entry.js.map +1 -1
  86. package/dist/cjs/db-tag.entry.cjs.js.map +1 -0
  87. package/dist/cjs/db-textarea.cjs.entry.js +8 -9
  88. package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
  89. package/dist/cjs/db-textarea.entry.cjs.js.map +1 -0
  90. package/dist/cjs/db-tooltip.cjs.entry.js +4 -5
  91. package/dist/cjs/db-tooltip.cjs.entry.js.map +1 -1
  92. package/dist/cjs/db-tooltip.entry.cjs.js.map +1 -0
  93. package/dist/cjs/db-ux.cjs.js +8 -7
  94. package/dist/cjs/db-ux.cjs.js.map +1 -1
  95. package/dist/cjs/{index-6e2cf235.js → index-DBEtsnky.js} +18 -46
  96. package/dist/cjs/index-DBEtsnky.js.map +1 -0
  97. package/dist/cjs/{index-403366c7.js → index-sPDBdc1s.js} +2 -1
  98. package/dist/cjs/index-sPDBdc1s.js.map +1 -0
  99. package/dist/cjs/index.cjs.js +13 -22
  100. package/dist/cjs/index.cjs.js.map +1 -1
  101. package/dist/cjs/loader.cjs.js +4 -5
  102. package/dist/cjs/loader.cjs.js.map +1 -1
  103. package/dist/cjs/{navigation-5586b826.js → navigation-l4Ce-Ems.js} +3 -2
  104. package/dist/cjs/navigation-l4Ce-Ems.js.map +1 -0
  105. package/dist/collection/collection-manifest.json +1 -1
  106. package/dist/collection/components/accordion/model.js.map +1 -1
  107. package/dist/collection/components/badge/model.js.map +1 -1
  108. package/dist/collection/components/button/button.js +1 -1
  109. package/dist/collection/components/button/model.js.map +1 -1
  110. package/dist/collection/components/card/card.js +1 -1
  111. package/dist/collection/components/card/model.js.map +1 -1
  112. package/dist/collection/components/divider/divider.js +1 -1
  113. package/dist/collection/components/divider/model.js.map +1 -1
  114. package/dist/collection/components/drawer/drawer.js +2 -2
  115. package/dist/collection/components/drawer/model.js.map +1 -1
  116. package/dist/collection/components/icon/model.js.map +1 -1
  117. package/dist/collection/components/input/model.js.map +1 -1
  118. package/dist/collection/components/link/model.js.map +1 -1
  119. package/dist/collection/components/navigation-item/model.js.map +1 -1
  120. package/dist/collection/components/navigation-item/navigation-item.js +1 -1
  121. package/dist/collection/components/notification/model.js.map +1 -1
  122. package/dist/collection/components/page/model.js.map +1 -1
  123. package/dist/collection/components/page/page.js +27 -2
  124. package/dist/collection/components/page/page.js.map +1 -1
  125. package/dist/collection/components/popover/popover.js +1 -1
  126. package/dist/collection/components/section/section.js +1 -1
  127. package/dist/collection/components/stack/model.js.map +1 -1
  128. package/dist/collection/components/tabs/model.js.map +1 -1
  129. package/dist/collection/components/tabs/tabs.js +2 -2
  130. package/dist/collection/components/tag/model.js.map +1 -1
  131. package/dist/collection/components/textarea/model.js.map +1 -1
  132. package/dist/collection/shared/model.js.map +1 -1
  133. package/dist/collection/utils/navigation.js.map +1 -1
  134. package/dist/custom-elements.json +264 -116
  135. package/dist/db-ux/db-accordion-item.entry.esm.js.map +1 -0
  136. package/dist/db-ux/db-accordion.entry.esm.js.map +1 -0
  137. package/dist/db-ux/db-badge.entry.esm.js.map +1 -0
  138. package/dist/db-ux/db-brand.entry.esm.js.map +1 -0
  139. package/dist/db-ux/db-button.entry.esm.js.map +1 -0
  140. package/dist/db-ux/db-card.entry.esm.js.map +1 -0
  141. package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -0
  142. package/dist/db-ux/db-divider.entry.esm.js.map +1 -0
  143. package/dist/db-ux/db-drawer.entry.esm.js.map +1 -0
  144. package/dist/db-ux/db-header.entry.esm.js.map +1 -0
  145. package/dist/db-ux/db-icon.entry.esm.js.map +1 -0
  146. package/dist/db-ux/db-infotext.entry.esm.js.map +1 -0
  147. package/dist/db-ux/db-input.entry.esm.js.map +1 -0
  148. package/dist/db-ux/db-link.entry.esm.js.map +1 -0
  149. package/dist/db-ux/db-navigation-item.entry.esm.js.map +1 -0
  150. package/dist/db-ux/db-navigation.entry.esm.js.map +1 -0
  151. package/dist/db-ux/db-notification.entry.esm.js.map +1 -0
  152. package/dist/db-ux/db-page.entry.esm.js.map +1 -0
  153. package/dist/db-ux/db-popover.entry.esm.js.map +1 -0
  154. package/dist/db-ux/db-radio.entry.esm.js.map +1 -0
  155. package/dist/db-ux/db-section.entry.esm.js.map +1 -0
  156. package/dist/db-ux/db-select.entry.esm.js.map +1 -0
  157. package/dist/db-ux/db-stack.entry.esm.js.map +1 -0
  158. package/dist/db-ux/db-switch.entry.esm.js.map +1 -0
  159. package/dist/db-ux/db-tab-item.db-tab-list.db-tab-panel.entry.esm.js.map +1 -0
  160. package/dist/db-ux/db-tabs.entry.esm.js.map +1 -0
  161. package/dist/db-ux/db-tag.entry.esm.js.map +1 -0
  162. package/dist/db-ux/db-textarea.entry.esm.js.map +1 -0
  163. package/dist/db-ux/db-tooltip.entry.esm.js.map +1 -0
  164. package/dist/db-ux/db-ux.esm.js +1 -1
  165. package/dist/db-ux/db-ux.esm.js.map +1 -1
  166. package/dist/db-ux/index.esm.js +1 -1
  167. package/dist/db-ux/index.esm.js.map +1 -1
  168. package/dist/db-ux/loader.esm.js.map +1 -0
  169. package/dist/db-ux/{p-97028dbd.entry.js → p-13103208.entry.js} +2 -2
  170. package/dist/db-ux/{p-97028dbd.entry.js.map → p-13103208.entry.js.map} +1 -1
  171. package/dist/db-ux/p-2e23ff44.entry.js +2 -0
  172. package/dist/db-ux/{p-3a1dfb26.entry.js.map → p-2e23ff44.entry.js.map} +1 -1
  173. package/dist/db-ux/{p-57674cda.entry.js → p-3d7843de.entry.js} +2 -2
  174. package/dist/db-ux/{p-57674cda.entry.js.map → p-3d7843de.entry.js.map} +1 -1
  175. package/dist/db-ux/p-63c7cb8b.entry.js +2 -0
  176. package/dist/db-ux/{p-a123f227.entry.js.map → p-63c7cb8b.entry.js.map} +1 -1
  177. package/dist/db-ux/p-6c1ea804.entry.js +2 -0
  178. package/dist/db-ux/{p-e0c996ca.entry.js.map → p-6c1ea804.entry.js.map} +1 -1
  179. package/dist/db-ux/p-720aa9a5.entry.js +2 -0
  180. package/dist/db-ux/{p-15a0a59a.entry.js.map → p-720aa9a5.entry.js.map} +1 -1
  181. package/dist/db-ux/p-77fc7549.entry.js +2 -0
  182. package/dist/db-ux/{p-df8a20f6.entry.js.map → p-77fc7549.entry.js.map} +1 -1
  183. package/dist/db-ux/p-793d7f91.entry.js +2 -0
  184. package/dist/db-ux/{p-d4755d20.entry.js.map → p-793d7f91.entry.js.map} +1 -1
  185. package/dist/db-ux/{p-5d3a6be9.entry.js → p-7f107bca.entry.js} +2 -2
  186. package/dist/db-ux/{p-5d3a6be9.entry.js.map → p-7f107bca.entry.js.map} +1 -1
  187. package/dist/db-ux/{p-b995d4f1.entry.js → p-80639e12.entry.js} +2 -2
  188. package/dist/db-ux/{p-b995d4f1.entry.js.map → p-80639e12.entry.js.map} +1 -1
  189. package/dist/db-ux/p-837442c2.entry.js +2 -0
  190. package/dist/db-ux/{p-680cb6b9.entry.js.map → p-837442c2.entry.js.map} +1 -1
  191. package/dist/db-ux/p-8822e255.entry.js +2 -0
  192. package/dist/db-ux/{p-ae744b8c.entry.js.map → p-8822e255.entry.js.map} +1 -1
  193. package/dist/db-ux/p-8e074bd8.entry.js +2 -0
  194. package/dist/db-ux/{p-7962a728.entry.js.map → p-8e074bd8.entry.js.map} +1 -1
  195. package/dist/db-ux/{p-dc43adca.entry.js → p-948a6441.entry.js} +2 -2
  196. package/dist/db-ux/{p-dc43adca.entry.js.map → p-948a6441.entry.js.map} +1 -1
  197. package/dist/db-ux/p-9638c44e.entry.js +2 -0
  198. package/dist/db-ux/{p-1fc85f53.entry.js.map → p-9638c44e.entry.js.map} +1 -1
  199. package/dist/db-ux/{p-45bb9feb.js → p-BJJmGwiD.js} +1 -1
  200. package/dist/db-ux/p-BJJmGwiD.js.map +1 -0
  201. package/dist/db-ux/{p-0cdf053e.js → p-CNYyu0D-.js} +2 -2
  202. package/dist/db-ux/p-CNYyu0D-.js.map +1 -0
  203. package/dist/db-ux/{p-af3834b6.js → p-CNj9Jn9q.js} +1 -1
  204. package/dist/db-ux/p-CNj9Jn9q.js.map +1 -0
  205. package/dist/db-ux/p-D-D8lQAG.js +3 -0
  206. package/dist/db-ux/p-D-D8lQAG.js.map +1 -0
  207. package/dist/db-ux/p-DQuL1Twl.js +2 -0
  208. package/dist/db-ux/p-DQuL1Twl.js.map +1 -0
  209. package/dist/db-ux/p-a33ead25.entry.js +2 -0
  210. package/dist/db-ux/{p-2c5a50cb.entry.js.map → p-a33ead25.entry.js.map} +1 -1
  211. package/dist/db-ux/p-a7cb5508.entry.js +2 -0
  212. package/dist/db-ux/{p-ecdbfa7d.entry.js.map → p-a7cb5508.entry.js.map} +1 -1
  213. package/dist/db-ux/p-ab698c11.entry.js +2 -0
  214. package/dist/db-ux/p-ab698c11.entry.js.map +1 -0
  215. package/dist/db-ux/p-b34a66b5.entry.js +2 -0
  216. package/dist/db-ux/{p-0f85a724.entry.js.map → p-b34a66b5.entry.js.map} +1 -1
  217. package/dist/db-ux/p-b7ea60d8.entry.js +2 -0
  218. package/dist/db-ux/{p-79b19742.entry.js.map → p-b7ea60d8.entry.js.map} +1 -1
  219. package/dist/db-ux/{p-bb08ea68.entry.js → p-b8250e4a.entry.js} +2 -2
  220. package/dist/db-ux/{p-bb08ea68.entry.js.map → p-b8250e4a.entry.js.map} +1 -1
  221. package/dist/db-ux/{p-8a557e62.entry.js → p-c1e84446.entry.js} +2 -2
  222. package/dist/db-ux/{p-8a557e62.entry.js.map → p-c1e84446.entry.js.map} +1 -1
  223. package/dist/db-ux/p-d8fa16c3.entry.js +2 -0
  224. package/dist/db-ux/{p-b7ca81eb.entry.js.map → p-d8fa16c3.entry.js.map} +1 -1
  225. package/dist/db-ux/{p-bf771913.entry.js → p-da8fcf7f.entry.js} +2 -2
  226. package/dist/db-ux/{p-bf771913.entry.js.map → p-da8fcf7f.entry.js.map} +1 -1
  227. package/dist/db-ux/{p-2e931b97.entry.js → p-e1893e40.entry.js} +2 -2
  228. package/dist/db-ux/{p-2e931b97.entry.js.map → p-e1893e40.entry.js.map} +1 -1
  229. package/dist/db-ux/p-e7905599.entry.js +2 -0
  230. package/dist/db-ux/{p-184fc0f3.entry.js.map → p-e7905599.entry.js.map} +1 -1
  231. package/dist/db-ux/p-f9804215.entry.js +2 -0
  232. package/dist/db-ux/{p-d94a3bf9.entry.js.map → p-f9804215.entry.js.map} +1 -1
  233. package/dist/db-ux/p-fa671633.entry.js +2 -0
  234. package/dist/db-ux/{p-16da89d8.entry.js.map → p-fa671633.entry.js.map} +1 -1
  235. package/dist/db-ux/p-fd672c12.entry.js +2 -0
  236. package/dist/db-ux/{p-79fdb910.entry.js.map → p-fd672c12.entry.js.map} +1 -1
  237. package/dist/esm/app-globals-DQuL1Twl.js +6 -0
  238. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -0
  239. package/dist/esm/{constants-745cf8d7.js → constants-CNj9Jn9q.js} +2 -1
  240. package/dist/{db-ux/p-af3834b6.js.map → esm/constants-CNj9Jn9q.js.map} +1 -1
  241. package/dist/esm/db-accordion-item.entry.js +5 -4
  242. package/dist/esm/db-accordion-item.entry.js.map +1 -1
  243. package/dist/esm/db-accordion.entry.js +4 -3
  244. package/dist/esm/db-accordion.entry.js.map +1 -1
  245. package/dist/esm/db-badge.entry.js +4 -3
  246. package/dist/esm/db-badge.entry.js.map +1 -1
  247. package/dist/esm/db-brand.entry.js +4 -3
  248. package/dist/esm/db-brand.entry.js.map +1 -1
  249. package/dist/esm/db-button.entry.js +4 -3
  250. package/dist/esm/db-button.entry.js.map +1 -1
  251. package/dist/esm/db-card.entry.js +4 -3
  252. package/dist/esm/db-card.entry.js.map +1 -1
  253. package/dist/esm/db-checkbox.entry.js +7 -6
  254. package/dist/esm/db-checkbox.entry.js.map +1 -1
  255. package/dist/esm/db-divider.entry.js +3 -2
  256. package/dist/esm/db-divider.entry.js.map +1 -1
  257. package/dist/esm/db-drawer.entry.js +5 -4
  258. package/dist/esm/db-drawer.entry.js.map +1 -1
  259. package/dist/esm/db-header.entry.js +6 -5
  260. package/dist/esm/db-header.entry.js.map +1 -1
  261. package/dist/esm/db-icon.entry.js +3 -2
  262. package/dist/esm/db-icon.entry.js.map +1 -1
  263. package/dist/esm/db-infotext.entry.js +3 -2
  264. package/dist/esm/db-infotext.entry.js.map +1 -1
  265. package/dist/esm/db-input.entry.js +8 -7
  266. package/dist/esm/db-input.entry.js.map +1 -1
  267. package/dist/esm/db-link.entry.js +4 -3
  268. package/dist/esm/db-link.entry.js.map +1 -1
  269. package/dist/esm/db-navigation-item.entry.js +6 -5
  270. package/dist/esm/db-navigation-item.entry.js.map +1 -1
  271. package/dist/esm/db-navigation.entry.js +4 -3
  272. package/dist/esm/db-navigation.entry.js.map +1 -1
  273. package/dist/esm/db-notification.entry.js +5 -4
  274. package/dist/esm/db-notification.entry.js.map +1 -1
  275. package/dist/esm/db-page.entry.js +5 -4
  276. package/dist/esm/db-page.entry.js.map +1 -1
  277. package/dist/esm/db-popover.entry.js +3 -2
  278. package/dist/esm/db-popover.entry.js.map +1 -1
  279. package/dist/esm/db-radio.entry.js +6 -5
  280. package/dist/esm/db-radio.entry.js.map +1 -1
  281. package/dist/esm/db-section.entry.js +4 -3
  282. package/dist/esm/db-section.entry.js.map +1 -1
  283. package/dist/esm/db-select.entry.js +9 -8
  284. package/dist/esm/db-select.entry.js.map +1 -1
  285. package/dist/esm/db-stack.entry.js +3 -2
  286. package/dist/esm/db-stack.entry.js.map +1 -1
  287. package/dist/esm/db-switch.entry.js +6 -5
  288. package/dist/esm/db-switch.entry.js.map +1 -1
  289. package/dist/esm/db-tab-item.db-tab-list.db-tab-panel.entry.js.map +1 -0
  290. package/dist/esm/db-tab-item_3.entry.js +5 -4
  291. package/dist/esm/db-tab-item_3.entry.js.map +1 -1
  292. package/dist/esm/db-tabs.entry.js +5 -4
  293. package/dist/esm/db-tabs.entry.js.map +1 -1
  294. package/dist/esm/db-tag.entry.js +4 -3
  295. package/dist/esm/db-tag.entry.js.map +1 -1
  296. package/dist/esm/db-textarea.entry.js +8 -7
  297. package/dist/esm/db-textarea.entry.js.map +1 -1
  298. package/dist/esm/db-tooltip.entry.js +4 -3
  299. package/dist/esm/db-tooltip.entry.js.map +1 -1
  300. package/dist/esm/db-ux.js +7 -5
  301. package/dist/esm/db-ux.js.map +1 -1
  302. package/dist/esm/{index-7d31752e.js → index-BJJmGwiD.js} +2 -1
  303. package/dist/esm/index-BJJmGwiD.js.map +1 -0
  304. package/dist/esm/{index-389cc56c.js → index-D-D8lQAG.js} +16 -24
  305. package/dist/esm/index-D-D8lQAG.js.map +1 -0
  306. package/dist/esm/index.js +5 -4
  307. package/dist/esm/index.js.map +1 -1
  308. package/dist/esm/loader.js +5 -4
  309. package/dist/esm/loader.js.map +1 -1
  310. package/dist/esm/{navigation-09e3ace3.js → navigation-Dg9V7r8H.js} +3 -2
  311. package/dist/esm/navigation-Dg9V7r8H.js.map +1 -0
  312. package/dist/types/components/page/model.d.ts +4 -0
  313. package/dist/types/components/page/page.d.ts +1 -0
  314. package/dist/types/components.d.ts +2 -0
  315. package/dist/types/shared/model.d.ts +5 -5
  316. package/dist/types/stencil-public-runtime.d.ts +1 -0
  317. package/dist/vscode.html-custom-data.json +19 -14
  318. package/dist/web-types.json +89 -79
  319. package/package.json +5 -5
  320. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  321. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  322. package/dist/cjs/constants-89822e5f.js.map +0 -1
  323. package/dist/cjs/index-403366c7.js.map +0 -1
  324. package/dist/cjs/index-6e2cf235.js.map +0 -1
  325. package/dist/cjs/navigation-5586b826.js.map +0 -1
  326. package/dist/db-ux/p-0cdf053e.js.map +0 -1
  327. package/dist/db-ux/p-0f85a724.entry.js +0 -2
  328. package/dist/db-ux/p-15a0a59a.entry.js +0 -2
  329. package/dist/db-ux/p-16da89d8.entry.js +0 -2
  330. package/dist/db-ux/p-184fc0f3.entry.js +0 -2
  331. package/dist/db-ux/p-1fc85f53.entry.js +0 -2
  332. package/dist/db-ux/p-2c5a50cb.entry.js +0 -2
  333. package/dist/db-ux/p-3a1dfb26.entry.js +0 -2
  334. package/dist/db-ux/p-45bb9feb.js.map +0 -1
  335. package/dist/db-ux/p-680cb6b9.entry.js +0 -2
  336. package/dist/db-ux/p-6e619ac9.js +0 -3
  337. package/dist/db-ux/p-6e619ac9.js.map +0 -1
  338. package/dist/db-ux/p-7962a728.entry.js +0 -2
  339. package/dist/db-ux/p-79b19742.entry.js +0 -2
  340. package/dist/db-ux/p-79fdb910.entry.js +0 -2
  341. package/dist/db-ux/p-a0a07ca5.entry.js +0 -2
  342. package/dist/db-ux/p-a0a07ca5.entry.js.map +0 -1
  343. package/dist/db-ux/p-a123f227.entry.js +0 -2
  344. package/dist/db-ux/p-ae744b8c.entry.js +0 -2
  345. package/dist/db-ux/p-b7ca81eb.entry.js +0 -2
  346. package/dist/db-ux/p-d4755d20.entry.js +0 -2
  347. package/dist/db-ux/p-d94a3bf9.entry.js +0 -2
  348. package/dist/db-ux/p-df8a20f6.entry.js +0 -2
  349. package/dist/db-ux/p-e0c996ca.entry.js +0 -2
  350. package/dist/db-ux/p-e1255160.js +0 -2
  351. package/dist/db-ux/p-e1255160.js.map +0 -1
  352. package/dist/db-ux/p-ecdbfa7d.entry.js +0 -2
  353. package/dist/esm/app-globals-0f993ce5.js +0 -5
  354. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  355. package/dist/esm/constants-745cf8d7.js.map +0 -1
  356. package/dist/esm/index-389cc56c.js.map +0 -1
  357. package/dist/esm/index-7d31752e.js.map +0 -1
  358. package/dist/esm/navigation-09e3ace3.js.map +0 -1
  359. package/dist/loader/package.json +0 -11
@@ -1 +1 @@
1
- {"version":3,"names":["DBTooltip","constructor","hostRef","this","_id","DEFAULT_ID","initialized","handleClick","event","stopPropagation","handleAutoPlacement","_ref","handleDataOutside","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","parentElement","localName","forEach","addEventListener","watch0","componentDidLoad","id","uuid","render","h","key","class","cls","className","role","ref","el","emphasis","getBooleanAsString","_a","animation","delay","width","_b","showArrow","placement","onClick"],"sources":["src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleAutoPlacement() {\n if (this._ref) handleDataOutside(this._ref);\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._ref && this.initialized && this._id) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n"],"mappings":"8IAeaA,EAAS,MAHrB,WAAAC,CAAAC,G,UAcUC,KAAAC,IAAMC,EACNF,KAAAG,YAAc,K,CAEvB,WAAAC,CAAYC,GACVA,EAAMC,iB,CAER,mBAAAC,GACE,GAAIP,KAAKQ,KAAMC,EAAkBT,KAAKQ,K,CAQhC,sBAAAE,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,GAAI/B,KAAKQ,MAAQR,KAAKG,aAAeH,KAAKC,IAAK,CAC7C,IAAIY,EAASb,KAAKQ,KAAKwB,cACvB,GAAInB,GAAUA,EAAOoB,UAAUP,SAAS,WAAY,CAElDb,EAASA,EAAOmB,a,CAElB,GAAInB,EAAQ,CACV,CAAC,aAAc,SAASqB,SAAS7B,IAC/BQ,EAAOsB,iBAAiB9B,GAAO,IAAML,KAAKO,uBAAsB,IAElEM,EAAOS,aAAa,mBAAoB,QACxCT,EAAOS,aAAa,mBAAoBtB,KAAKC,I,CAE/CD,KAAKG,YAAc,K,EAMvB,MAAAiC,GACEpC,KAAK+B,U,CAGP,gBAAAM,GACErC,KAAKU,uBAAuBV,KAAKQ,KAAM,cACvCR,KAAKC,IAAMD,KAAKsC,IAAM,WAAaC,IACnCvC,KAAKG,YAAc,KACnBH,KAAK+B,U,CAGP,MAAAS,G,QACE,OACEC,EAAA,KAAAC,IAAA,2CACEC,MAAOC,EAAI,aAAc5C,KAAK6C,WAC9BC,KAAK,UAAS,cACF,OAAM,WACT,OACTC,IAAMC,IACJhD,KAAKQ,KAAOwC,CAAE,EAEhBV,GAAItC,KAAKC,IAAG,gBACGD,KAAKiD,SAAQ,iBACZC,GAAmBC,EAAAnD,KAAKoD,aAAS,MAAAD,SAAA,EAAAA,EAAI,MAAK,aAC9CnD,KAAKqD,MAAK,aACVrD,KAAKsD,MAAK,kBACLJ,GAAmBK,EAAAvD,KAAKwD,aAAS,MAAAD,SAAA,EAAAA,EAAI,MAAK,iBAC3CvD,KAAKyD,UACrBC,QAAUrD,GAAUL,KAAKI,YAAYC,IAErCoC,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
1
+ {"version":3,"names":["DBTooltip","constructor","hostRef","this","_id","DEFAULT_ID","initialized","handleClick","event","stopPropagation","handleAutoPlacement","_ref","handleDataOutside","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","parentElement","localName","forEach","addEventListener","watch0","componentDidLoad","id","uuid","render","h","key","class","cls","className","role","ref","el","emphasis","getBooleanAsString","_a","animation","delay","width","_b","showArrow","placement","onClick"],"sources":["src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { DBTooltipProps, DBTooltipState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside, uuid } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tooltip\",\n})\nexport class DBTooltip {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBTooltipProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTooltipProps[\"className\"];\n @Prop() emphasis: DBTooltipProps[\"emphasis\"];\n @Prop() animation: DBTooltipProps[\"animation\"];\n @Prop() delay: DBTooltipProps[\"delay\"];\n @Prop() width: DBTooltipProps[\"width\"];\n @Prop() showArrow: DBTooltipProps[\"showArrow\"];\n @Prop() placement: DBTooltipProps[\"placement\"];\n\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n\n handleClick(event: ClickEvent<HTMLElement>) {\n event.stopPropagation();\n }\n handleAutoPlacement() {\n if (this._ref) handleDataOutside(this._ref);\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._ref && this.initialized && this._id) {\n let parent = this._ref.parentElement;\n if (parent && parent.localName.includes(\"tooltip\")) {\n // Angular workaround\n parent = parent.parentElement;\n }\n if (parent) {\n [\"mouseenter\", \"focus\"].forEach((event) => {\n parent.addEventListener(event, () => this.handleAutoPlacement());\n });\n parent.setAttribute(\"data-has-tooltip\", \"true\");\n parent.setAttribute(\"aria-describedby\", this._id);\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tooltip\");\n this._id = this.id || \"tooltip-\" + uuid();\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <i\n class={cls(\"db-tooltip\", this.className)}\n role=\"tooltip\"\n aria-hidden=\"true\"\n data-gap=\"true\"\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-emphasis={this.emphasis}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-delay={this.delay}\n data-width={this.width}\n data-show-arrow={getBooleanAsString(this.showArrow ?? true)}\n data-placement={this.placement}\n onClick={(event) => this.handleClick(event)}\n >\n <slot></slot>\n </i>\n );\n }\n}\n"],"mappings":"8IAeaA,EAAS,MAHrB,WAAAC,CAAAC,G,UAcUC,KAAGC,IAAGC,EACNF,KAAWG,YAAG,KAuGxB,CArGC,WAAAC,CAAYC,GACVA,EAAMC,iB,CAER,mBAAAC,GACE,GAAIP,KAAKQ,KAAMC,EAAkBT,KAAKQ,K,CAQhC,sBAAAE,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,GAAI/B,KAAKQ,MAAQR,KAAKG,aAAeH,KAAKC,IAAK,CAC7C,IAAIY,EAASb,KAAKQ,KAAKwB,cACvB,GAAInB,GAAUA,EAAOoB,UAAUP,SAAS,WAAY,CAElDb,EAASA,EAAOmB,a,CAElB,GAAInB,EAAQ,CACV,CAAC,aAAc,SAASqB,SAAS7B,IAC/BQ,EAAOsB,iBAAiB9B,GAAO,IAAML,KAAKO,uBAAsB,IAElEM,EAAOS,aAAa,mBAAoB,QACxCT,EAAOS,aAAa,mBAAoBtB,KAAKC,I,CAE/CD,KAAKG,YAAc,K,EAMvB,MAAAiC,GACEpC,KAAK+B,U,CAGP,gBAAAM,GACErC,KAAKU,uBAAuBV,KAAKQ,KAAM,cACvCR,KAAKC,IAAMD,KAAKsC,IAAM,WAAaC,IACnCvC,KAAKG,YAAc,KACnBH,KAAK+B,U,CAGP,MAAAS,G,QACE,OACEC,EACE,KAAAC,IAAA,2CAAAC,MAAOC,EAAI,aAAc5C,KAAK6C,WAC9BC,KAAK,UACO,qBACH,kBACTC,IAAMC,IACJhD,KAAKQ,KAAOwC,CAAE,EAEhBV,GAAItC,KAAKC,IACM,gBAAAD,KAAKiD,SACJ,iBAAAC,GAAmBC,EAAAnD,KAAKoD,aAAa,MAAAD,SAAA,EAAAA,EAAA,MAAK,aAC9CnD,KAAKqD,MAAK,aACVrD,KAAKsD,MACA,kBAAAJ,GAAmBK,EAAAvD,KAAKwD,aAAS,MAAAD,SAAA,EAAAA,EAAI,MACtC,iBAAAvD,KAAKyD,UACrBC,QAAUrD,GAAUL,KAAKI,YAAYC,IAErCoC,EAAa,QAAAC,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,h as s}from"./p-D-D8lQAG.js";import{u as t,c as i}from"./p-BJJmGwiD.js";import{D as e}from"./p-CNj9Jn9q.js";const o=class{constructor(s){a(this,s);this._id=e}enableAttributePassing(a,s){const t=a===null||a===void 0?void 0:a.closest(s);if(a&&t){const s=t.attributes;for(let i=0;i<s.length;i++){const e=s.item(i);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){a.setAttribute(e.name,e.value);t.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const i=e.value.replace("hydrated","").trim();const o=a.getAttribute("class");a.setAttribute(e.name,`${o?`${o} `:""}${i}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-navigation");this._id=this.id||"navigation-"+t()}render(){return s("nav",{key:"4591f1348a2d7fceafc4ad0fbd6ebc768b819af1",class:i("db-navigation",this.className),ref:a=>{this._ref=a},id:this._id,"aria-labelledby":this.labelledBy},s("menu",{key:"ade607816e1b561f5c74eb18ea7dbbef7d8e0d93"},s("slot",{key:"02578f17abb1eb0513aa2663b5617427eaa291c5"})))}};export{o as db_navigation};
2
+ //# sourceMappingURL=p-6c1ea804.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBNavigation","constructor","hostRef","this","_id","DEFAULT_ID","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","id","uuid","render","h","key","class","cls","className","ref","el","labelledBy"],"sources":["src/components/navigation/navigation.tsx"],"sourcesContent":["import { DBNavigationProps, DBNavigationState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-navigation\",\n})\nexport class DBNavigation {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBNavigationProps[\"id\"];\n @Prop() labelledBy: DBNavigationProps[\"labelledBy\"];\n @Prop({attribute: \"classname\"}) className: DBNavigationProps[\"className\"];\n\n @State() _id = DEFAULT_ID;\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-navigation\");\n this._id = this.id || \"navigation-\" + uuid();\n }\n\n render() {\n return (\n <nav\n class={cls(\"db-navigation\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n aria-labelledby={this.labelledBy}\n >\n <menu>\n <slot></slot>\n </menu>\n </nav>\n );\n }\n}\n"],"mappings":"gIAcaA,EAAY,MAHxB,WAAAC,CAAAC,G,UASUC,KAAAC,IAAMC,C,CAOP,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACExB,KAAKG,uBAAuBH,KAAKyB,KAAM,iBACvCzB,KAAKC,IAAMD,KAAK0B,IAAM,cAAgBC,G,CAGxC,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAOC,EAAI,gBAAiBhC,KAAKiC,WACjCC,IAAMC,IACJnC,KAAKyB,KAAOU,CAAE,EAEhBT,GAAI1B,KAAKC,IAAG,kBACKD,KAAKoC,YAEtBP,EAAA,QAAAC,IAAA,4CACED,EAAA,QAAAC,IAAA,8C","ignoreList":[]}
1
+ {"version":3,"names":["DBNavigation","constructor","hostRef","this","_id","DEFAULT_ID","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","componentDidLoad","_ref","id","uuid","render","h","key","class","cls","className","ref","el","labelledBy"],"sources":["src/components/navigation/navigation.tsx"],"sourcesContent":["import { DBNavigationProps, DBNavigationState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-navigation\",\n})\nexport class DBNavigation {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBNavigationProps[\"id\"];\n @Prop() labelledBy: DBNavigationProps[\"labelledBy\"];\n @Prop({attribute: \"classname\"}) className: DBNavigationProps[\"className\"];\n\n @State() _id = DEFAULT_ID;\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-navigation\");\n this._id = this.id || \"navigation-\" + uuid();\n }\n\n render() {\n return (\n <nav\n class={cls(\"db-navigation\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n aria-labelledby={this.labelledBy}\n >\n <menu>\n <slot></slot>\n </menu>\n </nav>\n );\n }\n}\n"],"mappings":"gIAcaA,EAAY,MAHxB,WAAAC,CAAAC,G,UASUC,KAAGC,IAAGC,CA+DhB,CAxDS,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,gBAAAW,GACExB,KAAKG,uBAAuBH,KAAKyB,KAAM,iBACvCzB,KAAKC,IAAMD,KAAK0B,IAAM,cAAgBC,G,CAGxC,MAAAC,GACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,gBAAiBhC,KAAKiC,WACjCC,IAAMC,IACJnC,KAAKyB,KAAOU,CAAE,EAEhBT,GAAI1B,KAAKC,IAAG,kBACKD,KAAKoC,YAEtBP,EAAA,QAAAC,IAAA,4CACED,EAAa,QAAAC,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as i}from"./p-D-D8lQAG.js";import{j as a,g as e,c as r}from"./p-BJJmGwiD.js";const h=class{constructor(i){t(this,i);this.onClick=s(this,"onClick")}handleClick(t){if(this.onClick){this.onClick.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 e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const r=t.getAttribute("class");t.setAttribute(e.name,`${r?`${r} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-link")}render(){var t;return i("a",{key:"0ea3fa888ff388e9dab0d50ae38e61f07d591684",class:r("db-link",this.className),ref:t=>{this._ref=t},id:this.id,href:this.href,target:this.target,rel:this.rel,role:this.role,hrefLang:this.hreflang,"aria-disabled":e(this.disabled),tabIndex:this.disabled?-1:0,"aria-selected":this.selected,"aria-label":this.label,"aria-current":this.current,"data-size":this.size,"data-hide-icon-after":a((t=this.showIcon)!==null&&t!==void 0?t:true),"data-variant":this.variant,"data-content":this.content||"internal",onClick:t=>this.handleClick(t)},this.text?this.text:i("slot",null))}};export{h as db_link};
2
+ //# sourceMappingURL=p-720aa9a5.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBLink","handleClick","event","this","onClick","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","href","target","rel","role","hrefLang","hreflang","getBooleanAsString","disabled","tabIndex","selected","label","current","size","getHideProp","_a","showIcon","variant","content","text"],"sources":["src/components/link/link.tsx"],"sourcesContent":["import { DBLinkProps, DBLinkState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport { Component, h, Fragment, Event, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-link\",\n})\nexport class DBLink {\n private _ref!: HTMLAnchorElement | null;\n @Event() onClick: any;\n @Prop() id: DBLinkProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBLinkProps[\"className\"];\n @Prop() href: DBLinkProps[\"href\"];\n @Prop() target: DBLinkProps[\"target\"];\n @Prop() rel: DBLinkProps[\"rel\"];\n @Prop() role: DBLinkProps[\"role\"];\n @Prop() hreflang: DBLinkProps[\"hreflang\"];\n @Prop() disabled: DBLinkProps[\"disabled\"];\n @Prop() selected: DBLinkProps[\"selected\"];\n @Prop() label: DBLinkProps[\"label\"];\n @Prop() current: DBLinkProps[\"current\"];\n @Prop() size: DBLinkProps[\"size\"];\n @Prop() showIcon: DBLinkProps[\"showIcon\"];\n @Prop() variant: DBLinkProps[\"variant\"];\n @Prop() content: DBLinkProps[\"content\"];\n @Prop() text: DBLinkProps[\"text\"];\n\n\n handleClick(event: ClickEvent<HTMLAnchorElement>) {\n if (this.onClick) {\n this.onClick.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-link\");\n }\n\n render() {\n return (\n <a\n class={cls(\"db-link\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n href={this.href}\n target={this.target}\n rel={this.rel}\n role={this.role}\n hrefLang={this.hreflang}\n aria-disabled={getBooleanAsString(this.disabled)}\n tabIndex={this.disabled ? -1 : 0}\n aria-selected={this.selected}\n aria-label={this.label}\n aria-current={this.current}\n data-size={this.size}\n data-hide-icon-after={getHideProp(this.showIcon ?? true)}\n data-variant={this.variant}\n data-content={this.content || \"internal\"}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </a>\n );\n }\n}\n"],"mappings":"0GAcaA,EAAM,M,0DAqBjB,WAAAC,CAAYC,GACV,GAAIC,KAAKC,QAAS,CAChBD,KAAKC,QAAQC,KAAKH,E,EASd,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,U,CAGzC,MAAAC,G,MACE,OACEC,EAAA,KAAAC,IAAA,2CACEC,MAAOC,EAAI,UAAW9B,KAAK+B,WAC3BC,IAAMC,IACJjC,KAAKyB,KAAOQ,CAAE,EAEhBC,GAAIlC,KAAKkC,GACTC,KAAMnC,KAAKmC,KACXC,OAAQpC,KAAKoC,OACbC,IAAKrC,KAAKqC,IACVC,KAAMtC,KAAKsC,KACXC,SAAUvC,KAAKwC,SAAQ,gBACRC,EAAmBzC,KAAK0C,UACvCC,SAAU3C,KAAK0C,UAAY,EAAI,EAAC,gBACjB1C,KAAK4C,SAAQ,aAChB5C,KAAK6C,MAAK,eACR7C,KAAK8C,QAAO,YACf9C,KAAK+C,KAAI,uBACEC,GAAYC,EAAAjD,KAAKkD,YAAQ,MAAAD,SAAA,EAAAA,EAAI,MAAK,eAC1CjD,KAAKmD,QAAO,eACZnD,KAAKoD,SAAW,WAC9BnD,QAAUF,GAAUC,KAAKF,YAAYC,IAEpCC,KAAKqD,KAAOrD,KAAKqD,KAAO1B,EAAA,a","ignoreList":[]}
1
+ {"version":3,"names":["DBLink","handleClick","event","this","onClick","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","href","target","rel","role","hrefLang","hreflang","getBooleanAsString","disabled","tabIndex","selected","label","current","size","getHideProp","_a","showIcon","variant","content","text"],"sources":["src/components/link/link.tsx"],"sourcesContent":["import { DBLinkProps, DBLinkState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\nimport { ClickEvent } from \"../../shared/model\";\n\nimport { Component, h, Fragment, Event, Prop } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-link\",\n})\nexport class DBLink {\n private _ref!: HTMLAnchorElement | null;\n @Event() onClick: any;\n @Prop() id: DBLinkProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBLinkProps[\"className\"];\n @Prop() href: DBLinkProps[\"href\"];\n @Prop() target: DBLinkProps[\"target\"];\n @Prop() rel: DBLinkProps[\"rel\"];\n @Prop() role: DBLinkProps[\"role\"];\n @Prop() hreflang: DBLinkProps[\"hreflang\"];\n @Prop() disabled: DBLinkProps[\"disabled\"];\n @Prop() selected: DBLinkProps[\"selected\"];\n @Prop() label: DBLinkProps[\"label\"];\n @Prop() current: DBLinkProps[\"current\"];\n @Prop() size: DBLinkProps[\"size\"];\n @Prop() showIcon: DBLinkProps[\"showIcon\"];\n @Prop() variant: DBLinkProps[\"variant\"];\n @Prop() content: DBLinkProps[\"content\"];\n @Prop() text: DBLinkProps[\"text\"];\n\n\n handleClick(event: ClickEvent<HTMLAnchorElement>) {\n if (this.onClick) {\n this.onClick.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-link\");\n }\n\n render() {\n return (\n <a\n class={cls(\"db-link\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n href={this.href}\n target={this.target}\n rel={this.rel}\n role={this.role}\n hrefLang={this.hreflang}\n aria-disabled={getBooleanAsString(this.disabled)}\n tabIndex={this.disabled ? -1 : 0}\n aria-selected={this.selected}\n aria-label={this.label}\n aria-current={this.current}\n data-size={this.size}\n data-hide-icon-after={getHideProp(this.showIcon ?? true)}\n data-variant={this.variant}\n data-content={this.content || \"internal\"}\n onClick={(event) => this.handleClick(event)}\n >\n {this.text ? this.text : <slot></slot>}\n </a>\n );\n }\n}\n"],"mappings":"0GAcaA,EAAM,M,wDAqBjB,WAAAC,CAAYC,GACV,GAAIC,KAAKC,QAAS,CAChBD,KAAKC,QAAQC,KAAKH,E,EASd,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,U,CAGzC,MAAAC,G,MACE,OACEC,EACE,KAAAC,IAAA,2CAAAC,MAAOC,EAAI,UAAW9B,KAAK+B,WAC3BC,IAAMC,IACJjC,KAAKyB,KAAOQ,CAAE,EAEhBC,GAAIlC,KAAKkC,GACTC,KAAMnC,KAAKmC,KACXC,OAAQpC,KAAKoC,OACbC,IAAKrC,KAAKqC,IACVC,KAAMtC,KAAKsC,KACXC,SAAUvC,KAAKwC,SACA,gBAAAC,EAAmBzC,KAAK0C,UACvCC,SAAU3C,KAAK0C,UAAW,EAAK,EAChB,gBAAA1C,KAAK4C,SACR,aAAA5C,KAAK6C,MACH,eAAA7C,KAAK8C,QACR,YAAA9C,KAAK+C,KACM,uBAAAC,GAAYC,EAAAjD,KAAKkD,YAAQ,MAAAD,SAAA,EAAAA,EAAI,MACrC,eAAAjD,KAAKmD,QACL,eAAAnD,KAAKoD,SAAW,WAC9BnD,QAAUF,GAAUC,KAAKF,YAAYC,IAEpCC,KAAKqD,KAAOrD,KAAKqD,KAAO1B,EAAA,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,c as e,h as d}from"./p-D-D8lQAG.js";import{a as c,u as t,c as i}from"./p-BJJmGwiD.js";import{D as s,k as n}from"./p-CNj9Jn9q.js";import{i as b}from"./p-CNYyu0D-.js";const r=class{constructor(d){a(this,d);this.onToggle=e(this,"onToggle");this._id=s;this.initialized=false;this.forcedToMobile=false}toggle(){if(this.onToggle){this.onToggle.emit(!this.drawerOpen)}}handleNavigationItemClick(a){if(b(a)){this.toggle()}}enableAttributePassing(a,e){const d=a===null||a===void 0?void 0:a.closest(e);if(a&&d){const e=d.attributes;for(let c=0;c<e.length;c++){const t=e.item(c);if(t&&(t.name.startsWith("data-")||t.name.startsWith("aria-"))){a.setAttribute(t.name,t.value);d.removeAttribute(t.name)}if(t&&t.name==="class"){const e=t.value.includes("hydrated");const c=t.value.replace("hydrated","").trim();const i=a.getAttribute("class");a.setAttribute(t.name,`${i?`${i} `:""}${c}`);if(e){d.setAttribute("class","hydrated")}else{d.removeAttribute(t.name)}}}}}watch0Fn(){if(this.initialized&&document&&this._id&&this.forceMobile){const a=document.getElementById(this._id);if(a){c(a,{key:"data-force-mobile",value:"true"})}this.forcedToMobile=true}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-header");this.initialized=true;this._id=this.id||"header-"+t();this.watch0Fn()}render(){var a;return d("header",{key:"a1944079ccb6bf1ee6ea360a68086846125a0e2f",class:i("db-header",this.className),ref:a=>{this._ref=a},id:this._id,"data-width":this.width,"data-on-forcing-mobile":this.forceMobile&&!this.forcedToMobile},d("db-drawer",{key:"a086da74c97662e9e33d512ec4dda63e7b56dc74",class:"db-header-drawer",spacing:"small",rounded:true,open:this.drawerOpen,onClose:()=>this.toggle()},d("div",{key:"d99e789b5ec5bdc09d7438e589903838de0fbb80",class:"db-header-drawer-navigation"},d("div",{key:"9a49e141930002cc497dc69d3abad2c1385e5ace",class:"db-header-navigation",onClick:a=>this.handleNavigationItemClick(a)},d("slot",{key:"e654c28d49f27cc4d054d5aa2375066043947f7f"})),d("div",{key:"1fa75e8ea8f93e8736cd23b7a05d131ed313fc63",class:"db-header-meta-navigation"},d("slot",{key:"3598fa3831dbebafd83077915e41d59c323c1a2b",name:"metaNavigation"}))),d("div",{key:"1de486f0bba414124a682651ac225ade4b417842",class:"db-header-secondary-action"},d("slot",{key:"160f65e26ab01a3d4da9196238993bab5e75d903",name:"secondaryAction"}))),d("div",{key:"80badc2597674c112252499793d728a27eb2b7eb",class:"db-header-meta-navigation"},d("slot",{key:"d2c8d28050bf2360d0d5fc6294a5464abafc0b34",name:"metaNavigation"})),d("div",{key:"f15ed8fc314657c625030edae528cc6741ab2431",class:"db-header-navigation-bar"},d("div",{key:"7e27ff8d36ed0a55c29209dfca595d4a30d0f87d",class:"db-header-brand-container"},d("slot",{key:"1929f3470e162b9d63fd14ac9926f010c6dce264",name:"brand"})),d("div",{key:"f54a8dfb5f6205a94ecdbfcbc8ae1fcc617d0787",class:"db-header-navigation-container"},d("div",{key:"df907a865ce91be332970f60251969857372c9e1",class:"db-header-navigation"},d("slot",{key:"6290ab6dc2a4d3a1b1d89bdaac30cdbfee3f7d34"})),d("div",{key:"35f59206c7cdb293106e47ad4beda0af9f8a1dcd",class:"db-header-primary-action"},d("slot",{key:"90870fcd5e2721b6c0606e57cea24751fb128d48",name:"primaryAction"}))),d("div",{key:"0ba5f21806156ba27c1377266a875952e839425d",class:"db-header-action-container"},d("div",{key:"57780dd0d6b4cfbafc4e4edeb761a79e6acb1c1e",class:"db-header-burger-menu-container"},d("db-button",{key:"66bec38632988cca9700fad1de89d6d33dad197d",icon:"menu",variant:"ghost",id:this._id+"-burger-menu",noText:true,onClick:()=>this.toggle()},(a=this.burgerMenuLabel)!==null&&a!==void 0?a:n)),d("div",{key:"de9408a796a8af6998c335ff29c0c21eba71dbab",class:"db-header-secondary-action"},d("slot",{key:"563353f952f6510851cb521d1a09f57bd2a45fef",name:"secondaryAction"})))))}static get watchers(){return{initialized:["watch0"]}}};export{r as db_header};
2
+ //# sourceMappingURL=p-77fc7549.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBHeader","constructor","hostRef","this","_id","DEFAULT_ID","initialized","forcedToMobile","toggle","onToggle","emit","drawerOpen","handleNavigationItemClick","event","isEventTargetNavigationItem","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","document","forceMobile","headerElement","getElementById","addAttributeToChildren","key","watch0","componentDidLoad","_ref","id","uuid","render","h","class","cls","className","ref","el","width","spacing","rounded","open","onClose","onClick","icon","variant","noText","_a","burgerMenuLabel","DEFAULT_BURGER_MENU"],"sources":["src/components/header/header.tsx"],"sourcesContent":["import { DBHeaderProps, DBHeaderState } from \"./model\";\nimport { addAttributeToChildren, cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DEFAULT_BURGER_MENU, DEFAULT_ID } from \"../../shared/constants\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot metaNavigation - TODO: Add description for slotMetaNavigation\n * @slot secondaryAction - TODO: Add description for slotSecondaryAction\n * @slot brand - TODO: Add description for slotBrand\n * @slot primaryAction - TODO: Add description for slotPrimaryAction\n */\n @Component({\n tag: \"db-header\",\n})\nexport class DBHeader {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBHeaderProps[\"id\"];\n @Prop() forceMobile: DBHeaderProps[\"forceMobile\"];\n @Event() onToggle: any;\n @Prop() drawerOpen: DBHeaderProps[\"drawerOpen\"];\n @Prop({attribute: \"classname\"}) className: DBHeaderProps[\"className\"];\n @Prop() width: DBHeaderProps[\"width\"];\n\n @Prop() burgerMenuLabel: DBHeaderProps[\"burgerMenuLabel\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n @State() forcedToMobile = false;\n\n toggle() {\n if (this.onToggle) {\n this.onToggle.emit(!this.drawerOpen);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.toggle();\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && document && this._id && this.forceMobile) {\n const headerElement = document.getElementById(this._id) as HTMLElement;\n if (headerElement) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(headerElement, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n }\n this.forcedToMobile = true;\n }\n }\n\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-header\");\n this.initialized = true;\n this._id = this.id || \"header-\" + uuid();\n this.watch0Fn();\n }\n\n render() {\n return (\n <header\n class={cls(\"db-header\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-width={this.width}\n data-on-forcing-mobile={this.forceMobile && !this.forcedToMobile}\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n rounded={true}\n open={this.drawerOpen}\n onClose={() => this.toggle()}\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n <slot></slot>\n </div>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <slot name=\"brand\"></slot>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\">\n <slot></slot>\n </div>\n <div class=\"db-header-primary-action\">\n <slot name=\"primaryAction\"></slot>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n id={this._id + \"-burger-menu\"}\n noText={true}\n onClick={() => this.toggle()}\n >\n {this.burgerMenuLabel ?? DEFAULT_BURGER_MENU}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </div>\n </div>\n </header>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DBHeader","constructor","hostRef","this","_id","DEFAULT_ID","initialized","forcedToMobile","toggle","onToggle","emit","drawerOpen","handleNavigationItemClick","event","isEventTargetNavigationItem","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","document","forceMobile","headerElement","getElementById","addAttributeToChildren","key","watch0","componentDidLoad","_ref","id","uuid","render","h","class","cls","className","ref","el","width","spacing","rounded","open","onClose","onClick","icon","variant","noText","_a","burgerMenuLabel","DEFAULT_BURGER_MENU"],"sources":["src/components/header/header.tsx"],"sourcesContent":["import { DBHeaderProps, DBHeaderState } from \"./model\";\nimport { addAttributeToChildren, cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBDrawer } from \"../drawer/drawer\";\nimport { DEFAULT_BURGER_MENU, DEFAULT_ID } from \"../../shared/constants\";\nimport { isEventTargetNavigationItem } from \"../../utils/navigation\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot metaNavigation - TODO: Add description for slotMetaNavigation\n * @slot secondaryAction - TODO: Add description for slotSecondaryAction\n * @slot brand - TODO: Add description for slotBrand\n * @slot primaryAction - TODO: Add description for slotPrimaryAction\n */\n @Component({\n tag: \"db-header\",\n})\nexport class DBHeader {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBHeaderProps[\"id\"];\n @Prop() forceMobile: DBHeaderProps[\"forceMobile\"];\n @Event() onToggle: any;\n @Prop() drawerOpen: DBHeaderProps[\"drawerOpen\"];\n @Prop({attribute: \"classname\"}) className: DBHeaderProps[\"className\"];\n @Prop() width: DBHeaderProps[\"width\"];\n\n @Prop() burgerMenuLabel: DBHeaderProps[\"burgerMenuLabel\"];\n @State() _id = DEFAULT_ID;\n @State() initialized = false;\n @State() forcedToMobile = false;\n\n toggle() {\n if (this.onToggle) {\n this.onToggle.emit(!this.drawerOpen);\n }\n }\n handleNavigationItemClick(event: unknown) {\n if (isEventTargetNavigationItem(event)) {\n this.toggle();\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && document && this._id && this.forceMobile) {\n const headerElement = document.getElementById(this._id) as HTMLElement;\n if (headerElement) {\n // Adds this attribute to the header to enable all styling which would have\n // @media screen and (min-width: $db-screens-m) to show mobile navigation on a desktop device\n addAttributeToChildren(headerElement, {\n key: \"data-force-mobile\",\n value: \"true\",\n });\n }\n this.forcedToMobile = true;\n }\n }\n\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-header\");\n this.initialized = true;\n this._id = this.id || \"header-\" + uuid();\n this.watch0Fn();\n }\n\n render() {\n return (\n <header\n class={cls(\"db-header\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-width={this.width}\n data-on-forcing-mobile={this.forceMobile && !this.forcedToMobile}\n >\n <db-drawer\n class=\"db-header-drawer\"\n spacing=\"small\"\n rounded={true}\n open={this.drawerOpen}\n onClose={() => this.toggle()}\n >\n <div class=\"db-header-drawer-navigation\">\n <div\n class=\"db-header-navigation\"\n onClick={(event) => this.handleNavigationItemClick(event)}\n >\n <slot></slot>\n </div>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </db-drawer>\n <div class=\"db-header-meta-navigation\">\n <slot name=\"metaNavigation\"></slot>\n </div>\n <div class=\"db-header-navigation-bar\">\n <div class=\"db-header-brand-container\">\n <slot name=\"brand\"></slot>\n </div>\n <div class=\"db-header-navigation-container\">\n <div class=\"db-header-navigation\">\n <slot></slot>\n </div>\n <div class=\"db-header-primary-action\">\n <slot name=\"primaryAction\"></slot>\n </div>\n </div>\n <div class=\"db-header-action-container\">\n <div class=\"db-header-burger-menu-container\">\n <db-button\n icon=\"menu\"\n variant=\"ghost\"\n id={this._id + \"-burger-menu\"}\n noText={true}\n onClick={() => this.toggle()}\n >\n {this.burgerMenuLabel ?? DEFAULT_BURGER_MENU}\n </db-button>\n </div>\n <div class=\"db-header-secondary-action\">\n <slot name=\"secondaryAction\"></slot>\n </div>\n </div>\n </div>\n </header>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as s,h as t}from"./p-D-D8lQAG.js";import{e as h,f as a,s as e,u as d,j as l,c as n}from"./p-BJJmGwiD.js";import{i as o,h as c,d as f,e as r,c as u,m as v,b,a as m}from"./p-CNj9Jn9q.js";const p=class{constructor(t){i(this,t);this.onInput=s(this,"onInput");this.onChange=s(this,"onChange");this.onBlur=s(this,"onBlur");this.onFocus=s(this,"onFocus");this._id=undefined;this._messageId=undefined;this._validMessageId=undefined;this._invalidMessageId=undefined;this._descByIds="";this._value="";this._voiceOverFallback=""}handleInput(i){if(this.onInput){this.onInput.emit(i)}if(this.input){this.input(i)}}handleChange(i){var s,t,d,l,n,f;if(this.onChange){this.onChange.emit(i)}if(this.change){this.change(i)}if(!((s=this._ref)===null||s===void 0?void 0:s.validity.valid)||this.validation==="invalid"){this._descByIds=this._invalidMessageId;if(h()){this._voiceOverFallback=(l=(t=this.invalidMessage)!==null&&t!==void 0?t:(d=this._ref)===null||d===void 0?void 0:d.validationMessage)!==null&&l!==void 0?l:o;a((()=>this._voiceOverFallback=""),1e3)}}else if(this.validation==="valid"||((n=this._ref)===null||n===void 0?void 0:n.validity.valid)&&(this.required||this.minLength||this.maxLength)){this._descByIds=this._validMessageId;if(h()){this._voiceOverFallback=(f=this.validMessage)!==null&&f!==void 0?f:c;a((()=>this._voiceOverFallback=""),1e3)}}else if(e(this.message,this.showMessage)){this._descByIds=this._messageId}else{this._descByIds=""}}handleBlur(i){if(this.onBlur){this.onBlur.emit(i)}if(this.blur){this.blur(i)}}handleFocus(i){if(this.onFocus){this.onFocus.emit(i)}if(this.focus){this.focus(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 h=0;h<s.length;h++){const a=s.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){i.setAttribute(a.name,a.value);t.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=i.getAttribute("class");i.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(s){t.setAttribute("class","hydrated")}else{t.removeAttribute(a.name)}}}}}watch0Fn(){if(this._id){const i=this._id+u;this._messageId=i;this._validMessageId=this._id+f;this._invalidMessageId=this._id+r;if(e(this.message,this.showMessage)){this._descByIds=i}}}watch0(){this.watch0Fn()}watch1Fn(){this._value=this.value}watch1(){this.watch1Fn()}componentDidLoad(){var i;this.enableAttributePassing(this._ref,"db-textarea");const s=(i=this.id)!==null&&i!==void 0?i:`textarea-${d()}`;this._id=s;this._messageId=s+u;this._validMessageId=s+f;this._invalidMessageId=s+r;this.watch0Fn();this.watch1Fn()}render(){var i,s,h,a,d,f,r,u;return t("div",{key:"e4ef4e666ccb942a36d351bc222778301f19d683",class:n("db-textarea",this.className),"data-variant":this.variant,"data-hide-label":l(this.showLabel)},t("label",{key:"f6789ed822b101611cc4faa8ab80811f5a28dac1",htmlFor:this._id},(i=this.label)!==null&&i!==void 0?i:m),t("textarea",{key:"765275e4d10aa51e836709ad88eb4797387f2d90","aria-invalid":this.validation==="invalid","data-custom-validity":this.validation,ref:i=>{this._ref=i},id:this._id,"data-resize":this.resize,disabled:this.disabled,required:this.required,readOnly:this.readOnly,form:this.form,maxLength:this.maxLength,minLength:this.minLength,name:this.name,wrap:this.wrap,spellcheck:this.spellCheck,autocomplete:this.autocomplete,onInput:i=>this.handleInput(i),onChange:i=>this.handleChange(i),onBlur:i=>this.handleBlur(i),onFocus:i=>this.handleFocus(i),value:(s=this.value)!==null&&s!==void 0?s:this._value,"aria-describedby":this._descByIds,placeholder:(h=this.placeholder)!==null&&h!==void 0?h:b,rows:(a=this.rows)!==null&&a!==void 0?a:v,cols:this.cols}),e(this.message,this.showMessage)?t("db-infotext",{size:"small",icon:this.messageIcon,id:this._messageId},this.message):null,t("db-infotext",{key:"3bb51e0be90600f665b64caff82e89b5f2adaf07",size:"small",semantic:"successful",id:this._validMessageId},(d=this.validMessage)!==null&&d!==void 0?d:c),t("db-infotext",{key:"7b1a8a41ff41a8fe2a60f00536203ac28a4e10c2",size:"small",semantic:"critical",id:this._invalidMessageId},(u=(f=this.invalidMessage)!==null&&f!==void 0?f:(r=this._ref)===null||r===void 0?void 0:r.validationMessage)!==null&&u!==void 0?u:o),t("span",{key:"ddca5afd8b8555967aabdec9d64240f81ded8de0","data-visually-hidden":"true",role:"status"},this._voiceOverFallback))}static get watchers(){return{_id:["watch0"],value:["watch1"]}}};export{p as db_textarea};
2
+ //# sourceMappingURL=p-793d7f91.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBTextarea","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_descByIds","_value","_voiceOverFallback","handleInput","event","onInput","emit","input","handleChange","onChange","change","_a","_ref","validity","valid","validation","hasVoiceOver","_d","_b","invalidMessage","_c","validationMessage","DEFAULT_INVALID_MESSAGE","delay","_e","required","minLength","maxLength","_f","validMessage","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleBlur","onBlur","blur","handleFocus","onFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch0","watch1Fn","watch1","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","htmlFor","label","DEFAULT_LABEL","ref","el","resize","disabled","readOnly","form","wrap","spellcheck","spellCheck","autocomplete","placeholder","DEFAULT_PLACEHOLDER","rows","DEFAULT_ROWS","cols","size","icon","messageIcon","semantic","_h","_g","role"],"sources":["src/components/textarea/textarea.tsx"],"sourcesContent":["import { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\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,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | null;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Event() onInput: any;\n @Prop() input: DBTextareaProps[\"input\"];\n @Event() onChange: any;\n @Prop() change: DBTextareaProps[\"change\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Event() onBlur: any;\n @Prop() blur: DBTextareaProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBTextareaProps[\"focus\"];\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input(event);\n }\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength))\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n 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 watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <textarea\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n disabled={this.disabled}\n required={this.required}\n readOnly={this.readOnly}\n form={this.form}\n maxLength={this.maxLength}\n minLength={this.minLength}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={this.rows ?? DEFAULT_ROWS}\n cols={this.cols}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage ?? DEFAULT_VALID_MESSAGE}\n </db-infotext>\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}\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
+ {"version":3,"names":["DBTextarea","constructor","hostRef","this","_id","undefined","_messageId","_validMessageId","_invalidMessageId","_descByIds","_value","_voiceOverFallback","handleInput","event","onInput","emit","input","handleChange","onChange","change","_a","_ref","validity","valid","validation","hasVoiceOver","_d","_b","invalidMessage","_c","validationMessage","DEFAULT_INVALID_MESSAGE","delay","_e","required","minLength","maxLength","_f","validMessage","DEFAULT_VALID_MESSAGE","stringPropVisible","message","showMessage","handleBlur","onBlur","blur","handleFocus","onFocus","focus","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","messageId","DEFAULT_MESSAGE_ID_SUFFIX","DEFAULT_VALID_MESSAGE_ID_SUFFIX","DEFAULT_INVALID_MESSAGE_ID_SUFFIX","watch0","watch1Fn","watch1","componentDidLoad","mId","id","uuid","render","h","key","class","cls","className","variant","getHideProp","showLabel","htmlFor","label","DEFAULT_LABEL","ref","el","resize","disabled","readOnly","form","wrap","spellcheck","spellCheck","autocomplete","placeholder","DEFAULT_PLACEHOLDER","rows","DEFAULT_ROWS","cols","size","icon","messageIcon","semantic","_h","_g","role"],"sources":["src/components/textarea/textarea.tsx"],"sourcesContent":["import { DBTextareaProps, DBTextareaState } from \"./model\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport {\n cls,\n delay,\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,\n DEFAULT_ROWS,\n DEFAULT_VALID_MESSAGE,\n DEFAULT_VALID_MESSAGE_ID_SUFFIX,\n} from \"../../shared/constants\";\nimport { ChangeEvent, InputEvent, InteractionEvent } from \"../../shared/model\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | null;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Event() onInput: any;\n @Prop() input: DBTextareaProps[\"input\"];\n @Event() onChange: any;\n @Prop() change: DBTextareaProps[\"change\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Event() onBlur: any;\n @Prop() blur: DBTextareaProps[\"blur\"];\n @Event() onFocus: any;\n @Prop() focus: DBTextareaProps[\"focus\"];\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _descByIds = \"\";\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.onInput) {\n this.onInput.emit(event);\n }\n if (this.input) {\n this.input(event);\n }\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.onChange) {\n this.onChange.emit(event);\n }\n if (this.change) {\n this.change(event);\n }\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback =\n this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.validation === \"valid\" ||\n (this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength))\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = \"\";\n }\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement>) {\n if (this.onBlur) {\n this.onBlur.emit(event);\n }\n if (this.blur) {\n this.blur(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement>) {\n if (this.onFocus) {\n this.onFocus.emit(event);\n }\n if (this.focus) {\n this.focus(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n 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 watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-label={getHideProp(this.showLabel)}\n >\n <label htmlFor={this._id}>{this.label ?? DEFAULT_LABEL}</label>\n <textarea\n aria-invalid={this.validation === \"invalid\"}\n data-custom-validity={this.validation}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n disabled={this.disabled}\n required={this.required}\n readOnly={this.readOnly}\n form={this.form}\n maxLength={this.maxLength}\n minLength={this.minLength}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={this.rows ?? DEFAULT_ROWS}\n cols={this.cols}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage ?? DEFAULT_VALID_MESSAGE}\n </db-infotext>\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this.invalidMessage ??\n this._ref?.validationMessage ??\n DEFAULT_INVALID_MESSAGE}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as s}from"./p-6e619ac9.js";import{h as e,g as i,c as a}from"./p-45bb9feb.js";const c=class{constructor(s){t(this,s);this.initialized=false;this.isExpanded=false}handleAutoPlacement(){this.isExpanded=true;if(!this._ref)return;const t=this._ref.querySelector("article");if(!t)return;e(t)}handleLeave(t){const s=t.target;const e=s.parentNode;if(!e||s.parentNode.querySelector(":focus")!==s&&s.parentNode.querySelector(":focus-within")!==s&&s.parentNode.querySelector(":hover")!==s){this.isExpanded=false}}getTrigger(){var t;if(this._ref){const s=Array.from(this._ref.children);if(s.length>=2){const e=s[0];if(e.tagName.includes("-")){return((t=e.children)===null||t===void 0?void 0:t.length)>0?e.children[0]:null}else{return e}}}return null}enableAttributePassing(t,s){const e=t===null||t===void 0?void 0:t.closest(s);if(t&&e){const s=e.attributes;for(let i=0;i<s.length;i++){const a=s.item(i);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);e.removeAttribute(a.name)}if(a&&a.name==="class"){const s=a.value.includes("hydrated");const i=a.value.replace("hydrated","").trim();const c=t.getAttribute("class");t.setAttribute(a.name,`${c?`${c} `:""}${i}`);if(s){e.setAttribute("class","hydrated")}else{e.removeAttribute(a.name)}}}}}watch0Fn(){if(this._ref&&this.initialized){const t=this.getTrigger();if(t){t.ariaHasPopup="true"}this.initialized=false}}watch0(){this.watch0Fn()}watch1Fn(){if(this._ref){const t=this.getTrigger();if(t){t.ariaExpanded=Boolean(this.isExpanded).toString()}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-popover");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var t;return s("div",{key:"266a99bdc9c4e255642180c6775f55e6cb8f91c1",class:a("db-popover",this.className),ref:t=>{this._ref=t},id:this.id,onFocus:()=>this.handleAutoPlacement(),onBlur:t=>this.handleLeave(t),onMouseEnter:()=>this.handleAutoPlacement(),onMouseLeave:t=>this.handleLeave(t)},s("slot",{key:"2e440979745c2c4b0a1026ae1c4556d8d27c5998",name:"trigger"}),s("article",{key:"ac109522faf4e778db2969c5e4e9bdeaf16c6595",class:"db-popover-content","data-spacing":this.spacing,"data-gap":i(this.gap),"data-animation":i((t=this.animation)!==null&&t!==void 0?t:true),"data-open":this.open,"data-delay":this.delay,"data-width":this.width,"data-placement":this.placement},s("slot",{key:"8b4b1d8c324eff9a7ac5db2a742c11dfe25d68fb"})))}static get watchers(){return{_ref:["watch0","watch1"],initialized:["watch0"],isExpanded:["watch1"]}}};export{c as db_popover};
2
- //# sourceMappingURL=p-5d3a6be9.entry.js.map
1
+ import{r as t,h as s}from"./p-D-D8lQAG.js";import{h as i,g as a,c as e}from"./p-BJJmGwiD.js";const c=class{constructor(s){t(this,s);this.initialized=false;this.isExpanded=false}handleAutoPlacement(){this.isExpanded=true;if(!this._ref)return;const t=this._ref.querySelector("article");if(!t)return;i(t)}handleLeave(t){const s=t.target;const i=s.parentNode;if(!i||s.parentNode.querySelector(":focus")!==s&&s.parentNode.querySelector(":focus-within")!==s&&s.parentNode.querySelector(":hover")!==s){this.isExpanded=false}}getTrigger(){var t;if(this._ref){const s=Array.from(this._ref.children);if(s.length>=2){const i=s[0];if(i.tagName.includes("-")){return((t=i.children)===null||t===void 0?void 0:t.length)>0?i.children[0]:null}else{return i}}}return null}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 e=s.item(a);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);i.removeAttribute(e.name)}if(e&&e.name==="class"){const s=e.value.includes("hydrated");const a=e.value.replace("hydrated","").trim();const c=t.getAttribute("class");t.setAttribute(e.name,`${c?`${c} `:""}${a}`);if(s){i.setAttribute("class","hydrated")}else{i.removeAttribute(e.name)}}}}}watch0Fn(){if(this._ref&&this.initialized){const t=this.getTrigger();if(t){t.ariaHasPopup="true"}this.initialized=false}}watch0(){this.watch0Fn()}watch1Fn(){if(this._ref){const t=this.getTrigger();if(t){t.ariaExpanded=Boolean(this.isExpanded).toString()}}}watch1(){this.watch1Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-popover");this.initialized=true;this.watch0Fn();this.watch1Fn()}render(){var t;return s("div",{key:"266a99bdc9c4e255642180c6775f55e6cb8f91c1",class:e("db-popover",this.className),ref:t=>{this._ref=t},id:this.id,onFocus:()=>this.handleAutoPlacement(),onBlur:t=>this.handleLeave(t),onMouseEnter:()=>this.handleAutoPlacement(),onMouseLeave:t=>this.handleLeave(t)},s("slot",{key:"2e440979745c2c4b0a1026ae1c4556d8d27c5998",name:"trigger"}),s("article",{key:"ac109522faf4e778db2969c5e4e9bdeaf16c6595",class:"db-popover-content","data-spacing":this.spacing,"data-gap":a(this.gap),"data-animation":a((t=this.animation)!==null&&t!==void 0?t:true),"data-open":this.open,"data-delay":this.delay,"data-width":this.width,"data-placement":this.placement},s("slot",{key:"8b4b1d8c324eff9a7ac5db2a742c11dfe25d68fb"})))}static get watchers(){return{_ref:["watch0","watch1"],initialized:["watch0"],isExpanded:["watch1"]}}};export{c as db_popover};
2
+ //# sourceMappingURL=p-7f107bca.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBPopover","constructor","hostRef","this","initialized","isExpanded","handleAutoPlacement","_ref","article","querySelector","handleDataOutside","handleLeave","event","element","target","parent","parentNode","getTrigger","children","Array","from","length","firstChild","tagName","includes","_a","enableAttributePassing","customElementSelector","closest","attributes","i","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","replace","trim","currentClass","getAttribute","watch0Fn","child","ariaHasPopup","watch0","watch1Fn","ariaExpanded","Boolean","toString","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onFocus","onBlur","onMouseEnter","onMouseLeave","spacing","getBooleanAsString","gap","animation","open","delay","width","placement"],"sources":["src/components/popover/popover.tsx"],"sourcesContent":["import { DBPopoverProps, DBPopoverState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside } from \"../../utils\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot trigger - TODO: Add description for slotTrigger\n */\n @Component({\n tag: \"db-popover\",\n})\nexport class DBPopover {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBPopoverProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBPopoverProps[\"className\"];\n @Prop() spacing: DBPopoverProps[\"spacing\"];\n @Prop() gap: DBPopoverProps[\"gap\"];\n @Prop() animation: DBPopoverProps[\"animation\"];\n @Prop() open: DBPopoverProps[\"open\"];\n @Prop() delay: DBPopoverProps[\"delay\"];\n @Prop() width: DBPopoverProps[\"width\"];\n @Prop() placement: DBPopoverProps[\"placement\"];\n\n @State() initialized = false;\n @State() isExpanded = false;\n\n handleAutoPlacement() {\n this.isExpanded = true;\n if (!this._ref) return;\n const article = this._ref.querySelector(\"article\");\n if (!article) return;\n handleDataOutside(article);\n }\n handleLeave(event: any) {\n const element = event.target as HTMLElement;\n const parent = element.parentNode;\n if (\n !parent ||\n (element.parentNode.querySelector(\":focus\") !== element &&\n element.parentNode.querySelector(\":focus-within\") !== element &&\n element.parentNode.querySelector(\":hover\") !== element)\n ) {\n this.isExpanded = false;\n }\n }\n getTrigger() {\n if (this._ref) {\n const children: Element[] = Array.from(this._ref.children);\n if (children.length >= 2) {\n const firstChild = children[0];\n if (firstChild.tagName.includes(\"-\")) {\n // this is a workaround for custom angular components\n return firstChild.children?.length > 0\n ? firstChild.children[0]\n : null;\n } else {\n return firstChild;\n }\n }\n }\n return null;\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._ref && this.initialized) {\n const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._ref) {\n const child = this.getTrigger();\n if (child) {\n child.ariaExpanded = Boolean(this.isExpanded).toString();\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"isExpanded\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-popover\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-popover\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onFocus={() => this.handleAutoPlacement()}\n onBlur={(event) => this.handleLeave(event)}\n onMouseEnter={() => this.handleAutoPlacement()}\n onMouseLeave={(event) => this.handleLeave(event)}\n >\n <slot name=\"trigger\"></slot>\n <article\n class=\"db-popover-content\"\n data-spacing={this.spacing}\n data-gap={getBooleanAsString(this.gap)}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-open={this.open}\n data-delay={this.delay}\n data-width={this.width}\n data-placement={this.placement}\n >\n <slot></slot>\n </article>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DBPopover","constructor","hostRef","this","initialized","isExpanded","handleAutoPlacement","_ref","article","querySelector","handleDataOutside","handleLeave","event","element","target","parent","parentNode","getTrigger","children","Array","from","length","firstChild","tagName","includes","_a","enableAttributePassing","customElementSelector","closest","attributes","i","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","replace","trim","currentClass","getAttribute","watch0Fn","child","ariaHasPopup","watch0","watch1Fn","ariaExpanded","Boolean","toString","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onFocus","onBlur","onMouseEnter","onMouseLeave","spacing","getBooleanAsString","gap","animation","open","delay","width","placement"],"sources":["src/components/popover/popover.tsx"],"sourcesContent":["import { DBPopoverProps, DBPopoverState } from \"./model\";\nimport { cls, getBooleanAsString, handleDataOutside } from \"../../utils\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot trigger - TODO: Add description for slotTrigger\n */\n @Component({\n tag: \"db-popover\",\n})\nexport class DBPopover {\n private _ref!: HTMLDivElement | null;\n @Prop() id: DBPopoverProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBPopoverProps[\"className\"];\n @Prop() spacing: DBPopoverProps[\"spacing\"];\n @Prop() gap: DBPopoverProps[\"gap\"];\n @Prop() animation: DBPopoverProps[\"animation\"];\n @Prop() open: DBPopoverProps[\"open\"];\n @Prop() delay: DBPopoverProps[\"delay\"];\n @Prop() width: DBPopoverProps[\"width\"];\n @Prop() placement: DBPopoverProps[\"placement\"];\n\n @State() initialized = false;\n @State() isExpanded = false;\n\n handleAutoPlacement() {\n this.isExpanded = true;\n if (!this._ref) return;\n const article = this._ref.querySelector(\"article\");\n if (!article) return;\n handleDataOutside(article);\n }\n handleLeave(event: any) {\n const element = event.target as HTMLElement;\n const parent = element.parentNode;\n if (\n !parent ||\n (element.parentNode.querySelector(\":focus\") !== element &&\n element.parentNode.querySelector(\":focus-within\") !== element &&\n element.parentNode.querySelector(\":hover\") !== element)\n ) {\n this.isExpanded = false;\n }\n }\n getTrigger() {\n if (this._ref) {\n const children: Element[] = Array.from(this._ref.children);\n if (children.length >= 2) {\n const firstChild = children[0];\n if (firstChild.tagName.includes(\"-\")) {\n // this is a workaround for custom angular components\n return firstChild.children?.length > 0\n ? firstChild.children[0]\n : null;\n } else {\n return firstChild;\n }\n }\n }\n return null;\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._ref && this.initialized) {\n const child = this.getTrigger();\n if (child) {\n child.ariaHasPopup = \"true\";\n }\n this.initialized = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"initialized\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._ref) {\n const child = this.getTrigger();\n if (child) {\n child.ariaExpanded = Boolean(this.isExpanded).toString();\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"isExpanded\")\n watch1() {\n this.watch1Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-popover\");\n this.initialized = true;\n this.watch0Fn();\n this.watch1Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-popover\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n onFocus={() => this.handleAutoPlacement()}\n onBlur={(event) => this.handleLeave(event)}\n onMouseEnter={() => this.handleAutoPlacement()}\n onMouseLeave={(event) => this.handleLeave(event)}\n >\n <slot name=\"trigger\"></slot>\n <article\n class=\"db-popover-content\"\n data-spacing={this.spacing}\n data-gap={getBooleanAsString(this.gap)}\n data-animation={getBooleanAsString(this.animation ?? true)}\n data-open={this.open}\n data-delay={this.delay}\n data-width={this.width}\n data-placement={this.placement}\n >\n <slot></slot>\n </article>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as i}from"./p-6e619ac9.js";import{u as s,c as h}from"./p-45bb9feb.js";import{D as a}from"./p-af3834b6.js";const e=class{constructor(i){t(this,i);this._id=a;this._name="";this.initialized=false;this._initOpenIndexDone=false}convertItems(t){try{if(typeof t==="string"){return JSON.parse(t)}return t}catch(t){console.error(t)}return[]}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let h=0;h<i.length;h++){const a=i.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const i=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=t.getAttribute("class");t.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){if(this.initialized){if(this.behavior==="single"){if(this.name){if(this._name!==this.name){this._name=this.name}}else{if(this._name!==this._id&&this._id){this._name=this._id}}}else{this._name=""}}}watch0(){this.watch0Fn()}watch1Fn(){if(this._ref){const t=this._ref.getElementsByTagName("details");if(t){for(const i of Array.from(t)){if(this._name===""){i.removeAttribute("name")}else{i.name=this._name}}}}}watch1(){this.watch1Fn()}watch2Fn(){var t;if(this._ref&&this._initOpenIndexDone){if(this.initOpenIndex&&((t=this.initOpenIndex)===null||t===void 0?void 0:t.length)>0){const t=this._ref.getElementsByTagName("details");if(t){const i=this.behavior==="single"&&this.initOpenIndex.length>1?[this.initOpenIndex[0]]:this.initOpenIndex;Array.from(t).forEach(((t,s)=>{if(i.includes(s)){t.open=true}}))}}this._initOpenIndexDone=false}}watch2(){this.watch2Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-accordion");this._id=this.id||"accordion-"+s();this.initialized=true;this._initOpenIndexDone=true;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var t;return i("ul",{key:"cbb0e2f58e5b0506125bc6c38830b5ce73f762ca",class:h("db-accordion",this.className),ref:t=>{this._ref=t},id:this._id,"data-variant":this.variant},!this.items?i("slot",null):null,this.items?(t=this.convertItems(this.items))===null||t===void 0?void 0:t.map(((t,s)=>i("db-accordion-item",{key:`accordion-item-${s}`,headlinePlain:t.headlinePlain,disabled:t.disabled,text:t.text}))):null)}static get watchers(){return{initialized:["watch0"],name:["watch0"],behavior:["watch0"],_id:["watch0"],_ref:["watch1","watch2"],_name:["watch1"],_initOpenIndexDone:["watch2"],initOpenIndex:["watch2"]}}};export{e as db_accordion};
2
- //# sourceMappingURL=p-b995d4f1.entry.js.map
1
+ import{r as t,h as i}from"./p-D-D8lQAG.js";import{u as s,c as h}from"./p-BJJmGwiD.js";import{D as a}from"./p-CNj9Jn9q.js";const e=class{constructor(i){t(this,i);this._id=a;this._name="";this.initialized=false;this._initOpenIndexDone=false}convertItems(t){try{if(typeof t==="string"){return JSON.parse(t)}return t}catch(t){console.error(t)}return[]}enableAttributePassing(t,i){const s=t===null||t===void 0?void 0:t.closest(i);if(t&&s){const i=s.attributes;for(let h=0;h<i.length;h++){const a=i.item(h);if(a&&(a.name.startsWith("data-")||a.name.startsWith("aria-"))){t.setAttribute(a.name,a.value);s.removeAttribute(a.name)}if(a&&a.name==="class"){const i=a.value.includes("hydrated");const h=a.value.replace("hydrated","").trim();const e=t.getAttribute("class");t.setAttribute(a.name,`${e?`${e} `:""}${h}`);if(i){s.setAttribute("class","hydrated")}else{s.removeAttribute(a.name)}}}}}watch0Fn(){if(this.initialized){if(this.behavior==="single"){if(this.name){if(this._name!==this.name){this._name=this.name}}else{if(this._name!==this._id&&this._id){this._name=this._id}}}else{this._name=""}}}watch0(){this.watch0Fn()}watch1Fn(){if(this._ref){const t=this._ref.getElementsByTagName("details");if(t){for(const i of Array.from(t)){if(this._name===""){i.removeAttribute("name")}else{i.name=this._name}}}}}watch1(){this.watch1Fn()}watch2Fn(){var t;if(this._ref&&this._initOpenIndexDone){if(this.initOpenIndex&&((t=this.initOpenIndex)===null||t===void 0?void 0:t.length)>0){const t=this._ref.getElementsByTagName("details");if(t){const i=this.behavior==="single"&&this.initOpenIndex.length>1?[this.initOpenIndex[0]]:this.initOpenIndex;Array.from(t).forEach(((t,s)=>{if(i.includes(s)){t.open=true}}))}}this._initOpenIndexDone=false}}watch2(){this.watch2Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-accordion");this._id=this.id||"accordion-"+s();this.initialized=true;this._initOpenIndexDone=true;this.watch0Fn();this.watch1Fn();this.watch2Fn()}render(){var t;return i("ul",{key:"cbb0e2f58e5b0506125bc6c38830b5ce73f762ca",class:h("db-accordion",this.className),ref:t=>{this._ref=t},id:this._id,"data-variant":this.variant},!this.items?i("slot",null):null,this.items?(t=this.convertItems(this.items))===null||t===void 0?void 0:t.map(((t,s)=>i("db-accordion-item",{key:`accordion-item-${s}`,headlinePlain:t.headlinePlain,disabled:t.disabled,text:t.text}))):null)}static get watchers(){return{initialized:["watch0"],name:["watch0"],behavior:["watch0"],_id:["watch0"],_ref:["watch1","watch2"],_name:["watch1"],_initOpenIndexDone:["watch2"],initOpenIndex:["watch2"]}}};export{e as db_accordion};
2
+ //# sourceMappingURL=p-80639e12.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBAccordion","constructor","hostRef","this","_id","DEFAULT_ID","_name","initialized","_initOpenIndexDone","convertItems","items","JSON","parse","error","console","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","behavior","watch0","watch1Fn","_ref","childDetails","getElementsByTagName","details","Array","from","watch1","watch2Fn","initOpenIndex","_a","forEach","index","open","watch2","componentDidLoad","id","uuid","render","h","key","class","cls","className","ref","el","variant","map","headlinePlain","disabled","text"],"sources":["src/components/accordion/accordion.tsx"],"sourcesContent":["import { DBAccordionItemDefaultProps } from \"../accordion-item/model\";\nimport { DBAccordionProps, DBAccordionState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBAccordionItem } from \"../accordion-item/accordion-item\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-accordion\",\n})\nexport class DBAccordion {\n private _ref!: HTMLUListElement | null;\n @Prop() id: DBAccordionProps[\"id\"];\n @Prop() name: DBAccordionProps[\"name\"];\n @Prop() behavior: DBAccordionProps[\"behavior\"];\n @Prop() initOpenIndex: DBAccordionProps[\"initOpenIndex\"];\n @Prop({attribute: \"classname\"}) className: DBAccordionProps[\"className\"];\n @Prop() variant: DBAccordionProps[\"variant\"];\n @Prop() items: DBAccordionProps[\"items\"];\n\n @State() _id = DEFAULT_ID;\n @State() _name = \"\";\n @State() initialized = false;\n @State() _initOpenIndexDone = false;\n\n convertItems(items: unknown[] | string | undefined) {\n try {\n if (typeof items === \"string\") {\n return JSON.parse(items);\n }\n return items as DBAccordionItemDefaultProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\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 we have a single behavior we first check for\n // props.name otherwise for state_id\n if (this.initialized) {\n if (this.behavior === \"single\") {\n if (this.name) {\n if (this._name !== this.name) {\n this._name = this.name;\n }\n } else {\n if (this._name !== this._id && this._id) {\n this._name = this._id;\n }\n }\n } else {\n this._name = \"\";\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"name\")\n @Watch(\"behavior\")\n @Watch(\"_id\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._ref) {\n const childDetails = this._ref.getElementsByTagName(\"details\");\n if (childDetails) {\n for (const details of Array.from<HTMLDetailsElement>(childDetails)) {\n if (this._name === \"\") {\n details.removeAttribute(\"name\");\n } else {\n details.name = this._name;\n }\n }\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"_name\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this._ref && this._initOpenIndexDone) {\n if (this.initOpenIndex && this.initOpenIndex?.length > 0) {\n const childDetails = this._ref.getElementsByTagName(\"details\");\n if (childDetails) {\n const initOpenIndex =\n this.behavior === \"single\" && this.initOpenIndex.length > 1\n ? [this.initOpenIndex[0]] // use only one index for behavior=single\n : this.initOpenIndex;\n Array.from<HTMLDetailsElement>(childDetails).forEach(\n (details: HTMLDetailsElement, index: number) => {\n if (initOpenIndex.includes(index)) {\n details.open = true;\n }\n }\n );\n }\n }\n this._initOpenIndexDone = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"_initOpenIndexDone\")\n @Watch(\"initOpenIndex\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-accordion\");\n this._id = this.id || \"accordion-\" + uuid();\n this.initialized = true;\n this._initOpenIndexDone = true;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <ul\n class={cls(\"db-accordion\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-variant={this.variant}\n >\n {!this.items ? <slot></slot> : null}\n {this.items\n ? this.convertItems(this.items)?.map((item, index) => (\n <db-accordion-item\n key={`accordion-item-${index}`}\n headlinePlain={item.headlinePlain}\n disabled={item.disabled}\n text={item.text}\n ></db-accordion-item>\n ))\n : null}\n </ul>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DBAccordion","constructor","hostRef","this","_id","DEFAULT_ID","_name","initialized","_initOpenIndexDone","convertItems","items","JSON","parse","error","console","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","behavior","watch0","watch1Fn","_ref","childDetails","getElementsByTagName","details","Array","from","watch1","watch2Fn","initOpenIndex","_a","forEach","index","open","watch2","componentDidLoad","id","uuid","render","h","key","class","cls","className","ref","el","variant","map","headlinePlain","disabled","text"],"sources":["src/components/accordion/accordion.tsx"],"sourcesContent":["import { DBAccordionItemDefaultProps } from \"../accordion-item/model\";\nimport { DBAccordionProps, DBAccordionState } from \"./model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBAccordionItem } from \"../accordion-item/accordion-item\";\nimport { DEFAULT_ID } from \"../../shared/constants\";\n\nimport { Component, h, Fragment, Watch, Prop, State } from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-accordion\",\n})\nexport class DBAccordion {\n private _ref!: HTMLUListElement | null;\n @Prop() id: DBAccordionProps[\"id\"];\n @Prop() name: DBAccordionProps[\"name\"];\n @Prop() behavior: DBAccordionProps[\"behavior\"];\n @Prop() initOpenIndex: DBAccordionProps[\"initOpenIndex\"];\n @Prop({attribute: \"classname\"}) className: DBAccordionProps[\"className\"];\n @Prop() variant: DBAccordionProps[\"variant\"];\n @Prop() items: DBAccordionProps[\"items\"];\n\n @State() _id = DEFAULT_ID;\n @State() _name = \"\";\n @State() initialized = false;\n @State() _initOpenIndexDone = false;\n\n convertItems(items: unknown[] | string | undefined) {\n try {\n if (typeof items === \"string\") {\n return JSON.parse(items);\n }\n return items as DBAccordionItemDefaultProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\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 we have a single behavior we first check for\n // props.name otherwise for state_id\n if (this.initialized) {\n if (this.behavior === \"single\") {\n if (this.name) {\n if (this._name !== this.name) {\n this._name = this.name;\n }\n } else {\n if (this._name !== this._id && this._id) {\n this._name = this._id;\n }\n }\n } else {\n this._name = \"\";\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"name\")\n @Watch(\"behavior\")\n @Watch(\"_id\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._ref) {\n const childDetails = this._ref.getElementsByTagName(\"details\");\n if (childDetails) {\n for (const details of Array.from<HTMLDetailsElement>(childDetails)) {\n if (this._name === \"\") {\n details.removeAttribute(\"name\");\n } else {\n details.name = this._name;\n }\n }\n }\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"_name\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n if (this._ref && this._initOpenIndexDone) {\n if (this.initOpenIndex && this.initOpenIndex?.length > 0) {\n const childDetails = this._ref.getElementsByTagName(\"details\");\n if (childDetails) {\n const initOpenIndex =\n this.behavior === \"single\" && this.initOpenIndex.length > 1\n ? [this.initOpenIndex[0]] // use only one index for behavior=single\n : this.initOpenIndex;\n Array.from<HTMLDetailsElement>(childDetails).forEach(\n (details: HTMLDetailsElement, index: number) => {\n if (initOpenIndex.includes(index)) {\n details.open = true;\n }\n }\n );\n }\n }\n this._initOpenIndexDone = false;\n }\n }\n\n @Watch(\"_ref\")\n @Watch(\"_initOpenIndexDone\")\n @Watch(\"initOpenIndex\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-accordion\");\n this._id = this.id || \"accordion-\" + uuid();\n this.initialized = true;\n this._initOpenIndexDone = true;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <ul\n class={cls(\"db-accordion\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-variant={this.variant}\n >\n {!this.items ? <slot></slot> : null}\n {this.items\n ? this.convertItems(this.items)?.map((item, index) => (\n <db-accordion-item\n key={`accordion-item-${index}`}\n headlinePlain={item.headlinePlain}\n disabled={item.disabled}\n text={item.text}\n ></db-accordion-item>\n ))\n : null}\n </ul>\n );\n }\n}\n"],"mappings":"gIAgBaA,EAAW,MAHvB,WAAAC,CAAAC,G,UAaUC,KAAGC,IAAGC,EACNF,KAAKG,MAAG,GACRH,KAAWI,YAAG,MACdJ,KAAkBK,mBAAG,KAsK/B,CApKC,YAAAC,CAAaC,GACX,IACE,UAAWA,IAAU,SAAU,CAC7B,OAAOC,KAAKC,MAAMF,E,CAEpB,OAAOA,C,CACP,MAAOG,GACPC,QAAQD,MAAMA,E,CAEhB,MAAO,E,CAQD,sBAAAE,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,GAGE,GAAIjC,KAAKI,YAAa,CACpB,GAAIJ,KAAKkC,WAAa,SAAU,CAC9B,GAAIlC,KAAKsB,KAAM,CACb,GAAItB,KAAKG,QAAUH,KAAKsB,KAAM,CAC5BtB,KAAKG,MAAQH,KAAKsB,I,MAEf,CACL,GAAItB,KAAKG,QAAUH,KAAKC,KAAOD,KAAKC,IAAK,CACvCD,KAAKG,MAAQH,KAAKC,G,OAGjB,CACLD,KAAKG,MAAQ,E,GASnB,MAAAgC,GACEnC,KAAKiC,U,CAGP,QAAAG,GACE,GAAIpC,KAAKqC,KAAM,CACb,MAAMC,EAAetC,KAAKqC,KAAKE,qBAAqB,WACpD,GAAID,EAAc,CAChB,IAAK,MAAME,KAAWC,MAAMC,KAAyBJ,GAAe,CAClE,GAAItC,KAAKG,QAAU,GAAI,CACrBqC,EAAQd,gBAAgB,O,KACnB,CACLc,EAAQlB,KAAOtB,KAAKG,K,KAS9B,MAAAwC,GACE3C,KAAKoC,U,CAGP,QAAAQ,G,MACE,GAAI5C,KAAKqC,MAAQrC,KAAKK,mBAAoB,CACxC,GAAIL,KAAK6C,iBAAiBC,EAAA9C,KAAK6C,iBAAe,MAAAC,SAAA,SAAAA,EAAA3B,QAAS,EAAG,CACxD,MAAMmB,EAAetC,KAAKqC,KAAKE,qBAAqB,WACpD,GAAID,EAAc,CAChB,MAAMO,EACJ7C,KAAKkC,WAAa,UAAYlC,KAAK6C,cAAc1B,OAAS,EACtD,CAACnB,KAAK6C,cAAc,IACpB7C,KAAK6C,cACXJ,MAAMC,KAAyBJ,GAAcS,SAC3C,CAACP,EAA6BQ,KAC5B,GAAIH,EAAcjB,SAASoB,GAAQ,CACjCR,EAAQS,KAAO,I,MAMzBjD,KAAKK,mBAAqB,K,EAO9B,MAAA6C,GACElD,KAAK4C,U,CAGP,gBAAAO,GACEnD,KAAKY,uBAAuBZ,KAAKqC,KAAM,gBACvCrC,KAAKC,IAAMD,KAAKoD,IAAM,aAAeC,IACrCrD,KAAKI,YAAc,KACnBJ,KAAKK,mBAAqB,KAC1BL,KAAKiC,WACLjC,KAAKoC,WACLpC,KAAK4C,U,CAGP,MAAAU,G,MACE,OACEC,EACE,MAAAC,IAAA,2CAAAC,MAAOC,EAAI,eAAgB1D,KAAK2D,WAChCC,IAAMC,IACJ7D,KAAKqC,KAAOwB,CAAE,EAEhBT,GAAIpD,KAAKC,IAAG,eACED,KAAK8D,UAEjB9D,KAAKO,MAAQgD,EAAa,aAAG,KAC9BvD,KAAKO,OACFuC,EAAA9C,KAAKM,aAAaN,KAAKO,UAAM,MAAAuC,SAAA,SAAAA,EAAEiB,KAAI,CAAC1C,EAAM2B,IACxCO,EACE,qBAAAC,IAAK,kBAAkBR,IACvBgB,cAAe3C,EAAK2C,cACpBC,SAAU5C,EAAK4C,SACfC,KAAM7C,EAAK6C,SAGf,K","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as a,h as s}from"./p-D-D8lQAG.js";import{g as i,j as e,c as o}from"./p-BJJmGwiD.js";const d=class{constructor(s){t(this,s);this.onRemove=a(this,"onRemove");this.initialized=false}handleRemove(){if(this.onRemove){this.onRemove.emit()}}getRemoveButtonText(){if(this.removeButton){return this.removeButton}return"Remove tag"}enableAttributePassing(t,a){const s=t===null||t===void 0?void 0:t.closest(a);if(t&&s){const a=s.attributes;for(let i=0;i<a.length;i++){const e=a.item(i);if(e&&(e.name.startsWith("data-")||e.name.startsWith("aria-"))){t.setAttribute(e.name,e.value);s.removeAttribute(e.name)}if(e&&e.name==="class"){const a=e.value.includes("hydrated");const i=e.value.replace("hydrated","").trim();const o=t.getAttribute("class");t.setAttribute(e.name,`${o?`${o} `:""}${i}`);if(a){s.setAttribute("class","hydrated")}else{s.removeAttribute(e.name)}}}}}watch0Fn(){var t,a;if(this.initialized&&this._ref&&this.disabled!==undefined){const s=(t=this._ref)===null||t===void 0?void 0:t.querySelector("button:not(.db-tab-remove-button)");const i=(a=this._ref)===null||a===void 0?void 0:a.querySelector("input");for(const t of[s,i]){if(t){t.disabled=this.disabled}}}}watch0(){this.watch0Fn()}componentDidLoad(){this.enableAttributePassing(this._ref,"db-tag");this.watch0Fn()}render(){var t;return s("div",{key:"4a5a3df5d160e2111aec79a4294dd4b7bab93bea",class:o("db-tag",this.className),ref:t=>{this._ref=t},id:this.id,"data-disabled":i(this.disabled),"data-semantic":this.semantic,"data-emphasis":this.emphasis,"data-icon":this.icon,"data-show-check-state":i((t=this.showCheckState)!==null&&t!==void 0?t:true),"data-hide-icon":e(this.showIcon),"data-no-text":i(this.noText),"data-overflow":i(this.overflow)},s("slot",{key:"61f0ecf8f1026f67ddc712eae2aacaeda15f0eec",name:"content"}),s("slot",{key:"c51fefea79e202c87af9e37a34493adc14571ede"}),this.text?this.text:null,this.behavior==="removable"?s("button",{class:"db-button db-tab-remove-button","data-icon":"cross","data-size":"small","data-no-text":"true","data-variant":"ghost",onClick:()=>this.handleRemove(),title:this.getRemoveButtonText()},this.getRemoveButtonText()):null)}static get watchers(){return{initialized:["watch0"],disabled:["watch0"],_ref:["watch0"]}}};export{d as db_tag};
2
+ //# sourceMappingURL=p-837442c2.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBTag","constructor","hostRef","this","initialized","handleRemove","onRemove","emit","getRemoveButtonText","removeButton","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","_ref","disabled","undefined","button","_a","querySelector","input","_b","watch0","componentDidLoad","render","h","key","class","cls","className","ref","el","id","getBooleanAsString","semantic","emphasis","icon","showCheckState","getHideProp","showIcon","noText","overflow","text","behavior","onClick","title"],"sources":["src/components/tag/tag.tsx"],"sourcesContent":["import { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | null;\n @Prop() disabled: DBTagProps[\"disabled\"];\n @Event() onRemove: any;\n @Prop() removeButton: DBTagProps[\"removeButton\"];\n @Prop() id: DBTagProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTagProps[\"className\"];\n @Prop() semantic: DBTagProps[\"semantic\"];\n @Prop() emphasis: DBTagProps[\"emphasis\"];\n @Prop() icon: DBTagProps[\"icon\"];\n @Prop() showCheckState: DBTagProps[\"showCheckState\"];\n @Prop() showIcon: DBTagProps[\"showIcon\"];\n @Prop() noText: DBTagProps[\"noText\"];\n @Prop() overflow: DBTagProps[\"overflow\"];\n\n @Prop() text: DBTagProps[\"text\"];\n @Prop() behavior: DBTagProps[\"behavior\"];\n @State() initialized = false;\n\n handleRemove() {\n if (this.onRemove) {\n this.onRemove.emit();\n }\n }\n getRemoveButtonText() {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return \"Remove tag\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && this._ref && this.disabled !== undefined) {\n const button: HTMLButtonElement | null = this._ref?.querySelector(\n \"button:not(.db-tab-remove-button)\"\n );\n const input: HTMLInputElement | null = this._ref?.querySelector(\"input\");\n for (const element of [button, input]) {\n if (element) {\n element.disabled = this.disabled;\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"disabled\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\n\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tag\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-disabled={getBooleanAsString(this.disabled)}\n data-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-no-text={getBooleanAsString(this.noText)}\n data-overflow={getBooleanAsString(this.overflow)}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n {this.text ? this.text : null}\n {this.behavior === \"removable\" ? (\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n onClick={() => this.handleRemove()}\n title={this.getRemoveButtonText()}\n >\n {this.getRemoveButtonText()}\n </button>\n ) : null}\n </div>\n );\n }\n}\n"],"mappings":"0GAqBaA,EAAK,MAHjB,WAAAC,CAAAC,G,6CAoBUC,KAAAC,YAAc,K,CAEvB,YAAAC,GACE,GAAIF,KAAKG,SAAU,CACjBH,KAAKG,SAASC,M,EAGlB,mBAAAC,GACE,GAAIL,KAAKM,aAAc,CACrB,OAAON,KAAKM,Y,CAId,MAAO,Y,CAQD,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,G,QACE,GAAI5B,KAAKC,aAAeD,KAAK6B,MAAQ7B,KAAK8B,WAAaC,UAAW,CAChE,MAAMC,GAAmCC,EAAAjC,KAAK6B,QAAI,MAAAI,SAAA,SAAAA,EAAEC,cAClD,qCAEF,MAAMC,GAAiCC,EAAApC,KAAK6B,QAAI,MAAAO,SAAA,SAAAA,EAAEF,cAAc,SAChE,IAAK,MAAM1B,IAAW,CAACwB,EAAQG,GAAQ,CACrC,GAAI3B,EAAS,CACXA,EAAQsB,SAAW9B,KAAK8B,Q,IAShC,MAAAO,GACErC,KAAK4B,U,CAGP,gBAAAU,GACEtC,KAAKO,uBAAuBP,KAAK6B,KAAM,UAEvC7B,KAAK4B,U,CAGP,MAAAW,G,MACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAOC,EAAI,SAAU3C,KAAK4C,WAC1BC,IAAMC,IACJ9C,KAAK6B,KAAOiB,CAAE,EAEhBC,GAAI/C,KAAK+C,GAAE,gBACIC,EAAmBhD,KAAK8B,UAAS,gBACjC9B,KAAKiD,SAAQ,gBACbjD,KAAKkD,SAAQ,YACjBlD,KAAKmD,KAAI,wBACGH,GAAmBf,EAAAjC,KAAKoD,kBAAc,MAAAnB,SAAA,EAAAA,EAAI,MAAK,iBACtDoB,EAAYrD,KAAKsD,UAAS,eAC5BN,EAAmBhD,KAAKuD,QAAO,gBAC9BP,EAAmBhD,KAAKwD,WAEvChB,EAAA,QAAAC,IAAA,2CAAMxB,KAAK,YACXuB,EAAA,QAAAC,IAAA,6CACCzC,KAAKyD,KAAOzD,KAAKyD,KAAO,KACxBzD,KAAK0D,WAAa,YACjBlB,EAAA,UACEE,MAAM,iCAAgC,YAC5B,QAAO,YACP,QAAO,eACJ,OAAM,eACN,QACbiB,QAAS,IAAM3D,KAAKE,eACpB0D,MAAO5D,KAAKK,uBAEXL,KAAKK,uBAEN,K","ignoreList":[]}
1
+ {"version":3,"names":["DBTag","constructor","hostRef","this","initialized","handleRemove","onRemove","emit","getRemoveButtonText","removeButton","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","length","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","_ref","disabled","undefined","button","_a","querySelector","input","_b","watch0","componentDidLoad","render","h","key","class","cls","className","ref","el","id","getBooleanAsString","semantic","emphasis","icon","showCheckState","getHideProp","showIcon","noText","overflow","text","behavior","onClick","title"],"sources":["src/components/tag/tag.tsx"],"sourcesContent":["import { DBTagProps, DBTagState } from \"./model\";\nimport { cls, getBooleanAsString, getHideProp } from \"../../utils\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n * @slot content - TODO: Add description for slotContent\n */\n @Component({\n tag: \"db-tag\",\n})\nexport class DBTag {\n private _ref!: HTMLDivElement | null;\n @Prop() disabled: DBTagProps[\"disabled\"];\n @Event() onRemove: any;\n @Prop() removeButton: DBTagProps[\"removeButton\"];\n @Prop() id: DBTagProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBTagProps[\"className\"];\n @Prop() semantic: DBTagProps[\"semantic\"];\n @Prop() emphasis: DBTagProps[\"emphasis\"];\n @Prop() icon: DBTagProps[\"icon\"];\n @Prop() showCheckState: DBTagProps[\"showCheckState\"];\n @Prop() showIcon: DBTagProps[\"showIcon\"];\n @Prop() noText: DBTagProps[\"noText\"];\n @Prop() overflow: DBTagProps[\"overflow\"];\n\n @Prop() text: DBTagProps[\"text\"];\n @Prop() behavior: DBTagProps[\"behavior\"];\n @State() initialized = false;\n\n handleRemove() {\n if (this.onRemove) {\n this.onRemove.emit();\n }\n }\n getRemoveButtonText() {\n if (this.removeButton) {\n return this.removeButton;\n }\n\n // TODO: We should think this through again, if we would really like to have default and especially english, instead of german labels in here\n return \"Remove tag\";\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n if (this.initialized && this._ref && this.disabled !== undefined) {\n const button: HTMLButtonElement | null = this._ref?.querySelector(\n \"button:not(.db-tab-remove-button)\"\n );\n const input: HTMLInputElement | null = this._ref?.querySelector(\"input\");\n for (const element of [button, input]) {\n if (element) {\n element.disabled = this.disabled;\n }\n }\n }\n }\n\n @Watch(\"initialized\")\n @Watch(\"disabled\")\n @Watch(\"_ref\")\n watch0() {\n this.watch0Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-tag\");\n\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tag\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id}\n data-disabled={getBooleanAsString(this.disabled)}\n data-semantic={this.semantic}\n data-emphasis={this.emphasis}\n data-icon={this.icon}\n data-show-check-state={getBooleanAsString(this.showCheckState ?? true)}\n data-hide-icon={getHideProp(this.showIcon)}\n data-no-text={getBooleanAsString(this.noText)}\n data-overflow={getBooleanAsString(this.overflow)}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n {this.text ? this.text : null}\n {this.behavior === \"removable\" ? (\n <button\n class=\"db-button db-tab-remove-button\"\n data-icon=\"cross\"\n data-size=\"small\"\n data-no-text=\"true\"\n data-variant=\"ghost\"\n onClick={() => this.handleRemove()}\n title={this.getRemoveButtonText()}\n >\n {this.getRemoveButtonText()}\n </button>\n ) : null}\n </div>\n );\n }\n}\n"],"mappings":"0GAqBaA,EAAK,MAHjB,WAAAC,CAAAC,G,2CAoBUC,KAAWC,YAAG,KAuHxB,CArHC,YAAAC,GACE,GAAIF,KAAKG,SAAU,CACjBH,KAAKG,SAASC,M,EAGlB,mBAAAC,GACE,GAAIL,KAAKM,aAAc,CACrB,OAAON,KAAKM,Y,CAId,MAAO,Y,CAQD,sBAAAC,CACNC,EACAC,GAEA,MAAMC,EAASF,IAAO,MAAPA,SAAO,SAAPA,EAASG,QAAQF,GAChC,GAAID,GAAWE,EAAQ,CACrB,MAAME,EAAaF,EAAOE,WAC1B,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAWE,OAAQD,IAAK,CAC1C,MAAME,EAAOH,EAAWI,KAAKH,GAC7B,GACEE,IACCA,EAAKE,KAAKC,WAAW,UAAYH,EAAKE,KAAKC,WAAW,UACvD,CACAV,EAAQW,aAAaJ,EAAKE,KAAMF,EAAKK,OACrCV,EAAOW,gBAAgBN,EAAKE,K,CAE9B,GAAIF,GAAQA,EAAKE,OAAS,QAAS,CACjC,MAAMK,EAAiBP,EAAKK,MAAMG,SAAS,YAC3C,MAAMH,EAAQL,EAAKK,MAAMI,QAAQ,WAAY,IAAIC,OACjD,MAAMC,EAAelB,EAAQmB,aAAa,SAC1CnB,EAAQW,aACNJ,EAAKE,KACL,GAAGS,EAAe,GAAGA,KAAkB,KAAKN,KAE9C,GAAIE,EAAgB,CAElBZ,EAAOS,aAAa,QAAS,W,KACxB,CACLT,EAAOW,gBAAgBN,EAAKE,K,KAOtC,QAAAW,G,QACE,GAAI5B,KAAKC,aAAeD,KAAK6B,MAAQ7B,KAAK8B,WAAaC,UAAW,CAChE,MAAMC,GAAmCC,EAAAjC,KAAK6B,QAAI,MAAAI,SAAA,SAAAA,EAAEC,cAClD,qCAEF,MAAMC,GAAiCC,EAAApC,KAAK6B,QAAI,MAAAO,SAAA,SAAAA,EAAEF,cAAc,SAChE,IAAK,MAAM1B,IAAW,CAACwB,EAAQG,GAAQ,CACrC,GAAI3B,EAAS,CACXA,EAAQsB,SAAW9B,KAAK8B,Q,IAShC,MAAAO,GACErC,KAAK4B,U,CAGP,gBAAAU,GACEtC,KAAKO,uBAAuBP,KAAK6B,KAAM,UAEvC7B,KAAK4B,U,CAGP,MAAAW,G,MACE,OACEC,EACE,OAAAC,IAAA,2CAAAC,MAAOC,EAAI,SAAU3C,KAAK4C,WAC1BC,IAAMC,IACJ9C,KAAK6B,KAAOiB,CAAE,EAEhBC,GAAI/C,KAAK+C,GACM,gBAAAC,EAAmBhD,KAAK8B,UACxB,gBAAA9B,KAAKiD,SACL,gBAAAjD,KAAKkD,SACT,YAAAlD,KAAKmD,KACO,wBAAAH,GAAmBf,EAAAjC,KAAKoD,kBAAkB,MAAAnB,SAAA,EAAAA,EAAA,MAAK,iBACtDoB,EAAYrD,KAAKsD,UAAS,eAC5BN,EAAmBhD,KAAKuD,QACvB,gBAAAP,EAAmBhD,KAAKwD,WAEvChB,EAAM,QAAAC,IAAA,2CAAAxB,KAAK,YACXuB,EAAa,QAAAC,IAAA,6CACZzC,KAAKyD,KAAOzD,KAAKyD,KAAO,KACxBzD,KAAK0D,WAAa,YACjBlB,EAAA,UACEE,MAAM,iCACI,oBACA,oBACG,sBAAM,eACN,QACbiB,QAAS,IAAM3D,KAAKE,eACpB0D,MAAO5D,KAAKK,uBAEXL,KAAKK,uBAEN,K","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s,F as a}from"./p-D-D8lQAG.js";import{u as n,f as h,g as e,j as o,c as d}from"./p-BJJmGwiD.js";import{i as l,N as r}from"./p-CNYyu0D-.js";import{j as c}from"./p-CNj9Jn9q.js";const u=class{constructor(s){i(this,s);this.onClick=t(this,"onClick");this.initialized=false;this.hasAreaPopup=false;this.hasSubNavigation=true;this.isSubNavigationExpanded=false;this.autoClose=false;this.subNavigationId="sub-navigation-"+n();this.navigationItemSafeTriangle=undefined}handleNavigationItemClick(i){if(l(i)){this.autoClose=true;h((()=>{this.autoClose=false}),300)}}handleClick(i){if(this.onClick){this.onClick.emit(i)}if(this.hasAreaPopup){this.isSubNavigationExpanded=true}}handleBackClick(i){i.stopPropagation();this.isSubNavigationExpanded=false}updateSubNavigationState(){var i;if(this.initialized&&document&&this.subNavigationId){const t=document===null||document===void 0?void 0:document.getElementById(this.subNavigationId);if(t){if(((i=t.children)===null||i===void 0?void 0:i.length)>0){this.hasAreaPopup=true;if(!this.navigationItemSafeTriangle){this.navigationItemSafeTriangle=new r(this._ref,t)}}else{this.hasSubNavigation=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 n=t.item(a);if(n&&(n.name.startsWith("data-")||n.name.startsWith("aria-"))){i.setAttribute(n.name,n.value);s.removeAttribute(n.name)}if(n&&n.name==="class"){const t=n.value.includes("hydrated");const a=n.value.replace("hydrated","").trim();const h=i.getAttribute("class");i.setAttribute(n.name,`${h?`${h} `:""}${a}`);if(t){s.setAttribute("class","hydrated")}else{s.removeAttribute(n.name)}}}}}watch0Fn(){if(this.subNavigationExpanded!==undefined){this.isSubNavigationExpanded=!!this.subNavigationExpanded}}watch0(){this.watch0Fn()}watch1Fn(){this.updateSubNavigationState()}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:"d62510082a330cd2bb32308e2996aa51549a549d",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":o(this.showIcon),"data-active":this.active,"aria-disabled":e(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:this.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:c)):null,s("slot",{name:"subNavigation"}))):null)}static get watchers(){return{subNavigationExpanded:["watch0"],initialized:["watch1"]}}};export{u as db_navigation_item};
2
+ //# sourceMappingURL=p-8822e255.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DBNavigationItem","constructor","hostRef","this","initialized","hasAreaPopup","hasSubNavigation","isSubNavigationExpanded","autoClose","subNavigationId","uuid","navigationItemSafeTriangle","undefined","handleNavigationItemClick","event","isEventTargetNavigationItem","delay","handleClick","onClick","emit","handleBackClick","stopPropagation","updateSubNavigationState","document","subNavigationSlot","getElementById","_a","children","length","NavigationItemSafeTriangle","_ref","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","subNavigationExpanded","watch0","watch1Fn","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onMouseOver","enableFollow","onMouseLeave","disableFollow","onMouseMove","followByMouseEvent","width","icon","getHideProp","showIcon","active","getBooleanAsString","disabled","text","Fragment","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 { cls, delay, getBooleanAsString, getHideProp, uuid } 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 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 | null;\n @Prop() subNavigationExpanded: DBNavigationItemProps[\"subNavigationExpanded\"];\n @Event() onClick: any;\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() disabled: DBNavigationItemProps[\"disabled\"];\n @Prop() text: DBNavigationItemProps[\"text\"];\n\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>) {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n if (this.hasAreaPopup) {\n this.isSubNavigationExpanded = true;\n }\n }\n handleBackClick(event: ClickEvent<HTMLButtonElement>) {\n event.stopPropagation();\n this.isSubNavigationExpanded = false;\n }\n updateSubNavigationState() {\n if (this.initialized && document && this.subNavigationId) {\n const subNavigationSlot = document?.getElementById(\n this.subNavigationId\n ) as HTMLMenuElement;\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 /**\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 = !!this.subNavigationExpanded;\n }\n }\n\n @Watch(\"subNavigationExpanded\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n this.updateSubNavigationState();\n }\n\n @Watch(\"initialized\")\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 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={this.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
+ {"version":3,"names":["DBNavigationItem","constructor","hostRef","this","initialized","hasAreaPopup","hasSubNavigation","isSubNavigationExpanded","autoClose","subNavigationId","uuid","navigationItemSafeTriangle","undefined","handleNavigationItemClick","event","isEventTargetNavigationItem","delay","handleClick","onClick","emit","handleBackClick","stopPropagation","updateSubNavigationState","document","subNavigationSlot","getElementById","_a","children","length","NavigationItemSafeTriangle","_ref","enableAttributePassing","element","customElementSelector","parent","closest","attributes","i","attr","item","name","startsWith","setAttribute","value","removeAttribute","isWebComponent","includes","replace","trim","currentClass","getAttribute","watch0Fn","subNavigationExpanded","watch0","watch1Fn","watch1","componentDidLoad","render","h","key","class","cls","className","ref","el","id","onMouseOver","enableFollow","onMouseLeave","disableFollow","onMouseMove","followByMouseEvent","width","icon","getHideProp","showIcon","active","getBooleanAsString","disabled","text","Fragment","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 { cls, delay, getBooleanAsString, getHideProp, uuid } 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 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 | null;\n @Prop() subNavigationExpanded: DBNavigationItemProps[\"subNavigationExpanded\"];\n @Event() onClick: any;\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() disabled: DBNavigationItemProps[\"disabled\"];\n @Prop() text: DBNavigationItemProps[\"text\"];\n\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>) {\n if (this.onClick) {\n this.onClick.emit(event);\n }\n if (this.hasAreaPopup) {\n this.isSubNavigationExpanded = true;\n }\n }\n handleBackClick(event: ClickEvent<HTMLButtonElement>) {\n event.stopPropagation();\n this.isSubNavigationExpanded = false;\n }\n updateSubNavigationState() {\n if (this.initialized && document && this.subNavigationId) {\n const subNavigationSlot = document?.getElementById(\n this.subNavigationId\n ) as HTMLMenuElement;\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 /**\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 = !!this.subNavigationExpanded;\n }\n }\n\n @Watch(\"subNavigationExpanded\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n this.updateSubNavigationState();\n }\n\n @Watch(\"initialized\")\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 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={this.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":[]}
@@ -0,0 +1,2 @@
1
+ import{r as s,c as i,h as t}from"./p-D-D8lQAG.js";import{u as a,g as o,c as e}from"./p-BJJmGwiD.js";import{D as c}from"./p-CNj9Jn9q.js";const d=class{constructor(t){s(this,t);this.onToggle=i(this,"onToggle");this._id=c;this._open=false}toggle(s){s===null||s===void 0?void 0:s.preventDefault();const i=!this._open;if(this.onToggle){this.onToggle.emit(i)}this._open=i}enableAttributePassing(s,i){const t=s===null||s===void 0?void 0:s.closest(i);if(s&&t){const i=t.attributes;for(let a=0;a<i.length;a++){const o=i.item(a);if(o&&(o.name.startsWith("data-")||o.name.startsWith("aria-"))){s.setAttribute(o.name,o.value);t.removeAttribute(o.name)}if(o&&o.name==="class"){const i=o.value.includes("hydrated");const a=o.value.replace("hydrated","").trim();const e=s.getAttribute("class");s.setAttribute(o.name,`${e?`${e} `:""}${a}`);if(i){t.setAttribute("class","hydrated")}else{t.removeAttribute(o.name)}}}}}componentDidLoad(){this.enableAttributePassing(this._ref,"db-accordion-item");this._id=this.id||"accordion-item-"+a();if(this.defaultOpen){this._open=this.defaultOpen}}render(){return t("li",{key:"7094e608b01a216da13c416ba6d6f845bc3554df",class:e("db-accordion-item",this.className),id:this._id},t("details",{key:"8eb8bc7f0741d7e03a79923407709d7451a1c423","aria-disabled":o(this.disabled),ref:s=>{this._ref=s},open:this._open},t("summary",{key:"7f531a785588b63c302c637416552171e88b310a",onClick:s=>this.toggle(s)},this.headlinePlain?this.headlinePlain:null,!this.headlinePlain?t("slot",{name:"headline"}):null),t("div",{key:"9a53a8b06d591360965973288075ab2b06968ac4"},this.text?this.text:t("slot",null))))}};export{d as db_accordion_item};
2
+ //# sourceMappingURL=p-8e074bd8.entry.js.map