@db-ux/wc-core-components 3.0.2-copilot2-e7bf98b → 3.0.2-shell-ed0ed7c

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 (558) hide show
  1. package/README.md +0 -10
  2. package/dist/cjs/{constants-CTtyzyuo.js → constants-BOd99bQT.js} +7 -2
  3. package/dist/cjs/constants-BOd99bQT.js.map +1 -0
  4. package/dist/cjs/db-accordion-item.cjs.entry.js +2 -2
  5. package/dist/cjs/db-accordion.cjs.entry.js +2 -2
  6. package/dist/cjs/db-badge.cjs.entry.js +2 -2
  7. package/dist/cjs/db-button.cjs.entry.js +2 -2
  8. package/dist/cjs/db-card.cjs.entry.js +3 -3
  9. package/dist/cjs/db-checkbox.cjs.entry.js +6 -6
  10. package/dist/cjs/db-checkbox.cjs.entry.js.map +1 -1
  11. package/dist/cjs/db-checkbox.entry.cjs.js.map +1 -1
  12. package/dist/cjs/db-control-panel-brand.cjs.entry.js +57 -0
  13. package/dist/cjs/db-control-panel-brand.cjs.entry.js.map +1 -0
  14. package/dist/cjs/db-control-panel-brand.entry.cjs.js.map +1 -0
  15. package/dist/cjs/db-control-panel-desktop.cjs.entry.js +91 -0
  16. package/dist/cjs/db-control-panel-desktop.cjs.entry.js.map +1 -0
  17. package/dist/cjs/db-control-panel-desktop.entry.cjs.js.map +1 -0
  18. package/dist/cjs/db-control-panel-flat-icon-navigation.cjs.entry.js +76 -0
  19. package/dist/cjs/db-control-panel-flat-icon-navigation.cjs.entry.js.map +1 -0
  20. package/dist/cjs/db-control-panel-flat-icon-navigation.entry.cjs.js.map +1 -0
  21. package/dist/cjs/{db-brand.cjs.entry.js → db-control-panel-meta-navigation.cjs.entry.js} +8 -10
  22. package/dist/cjs/db-control-panel-meta-navigation.cjs.entry.js.map +1 -0
  23. package/dist/cjs/db-control-panel-meta-navigation.entry.cjs.js.map +1 -0
  24. package/dist/cjs/db-control-panel-mobile.cjs.entry.js +76 -0
  25. package/dist/cjs/db-control-panel-mobile.cjs.entry.js.map +1 -0
  26. package/dist/cjs/db-control-panel-mobile.entry.cjs.js.map +1 -0
  27. package/dist/cjs/db-control-panel-primary-actions.cjs.entry.js +55 -0
  28. package/dist/cjs/db-control-panel-primary-actions.cjs.entry.js.map +1 -0
  29. package/dist/cjs/db-control-panel-primary-actions.entry.cjs.js.map +1 -0
  30. package/dist/cjs/db-control-panel-secondary-actions.cjs.entry.js +55 -0
  31. package/dist/cjs/db-control-panel-secondary-actions.cjs.entry.js.map +1 -0
  32. package/dist/cjs/db-control-panel-secondary-actions.entry.cjs.js.map +1 -0
  33. package/dist/cjs/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.cjs.js.map +1 -1
  34. package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js +13 -13
  35. package/dist/cjs/db-custom-select-dropdown_5.cjs.entry.js.map +1 -1
  36. package/dist/cjs/db-custom-select-form-field.cjs.entry.js +3 -3
  37. package/dist/cjs/db-custom-select.cjs.entry.js +15 -15
  38. package/dist/cjs/db-custom-select.cjs.entry.js.map +1 -1
  39. package/dist/cjs/db-custom-select.entry.cjs.js.map +1 -1
  40. package/dist/cjs/db-divider.cjs.entry.js +2 -2
  41. package/dist/cjs/db-drawer.cjs.entry.js +6 -6
  42. package/dist/cjs/db-drawer.cjs.entry.js.map +1 -1
  43. package/dist/cjs/db-drawer.entry.cjs.js.map +1 -1
  44. package/dist/cjs/db-icon.cjs.entry.js +2 -2
  45. package/dist/cjs/db-infotext.cjs.entry.js +2 -2
  46. package/dist/cjs/db-link.cjs.entry.js +2 -2
  47. package/dist/cjs/db-navigation-item-group.cjs.entry.js +159 -0
  48. package/dist/cjs/db-navigation-item-group.cjs.entry.js.map +1 -0
  49. package/dist/cjs/db-navigation-item-group.entry.cjs.js.map +1 -0
  50. package/dist/cjs/db-navigation-item.cjs.entry.js +4 -72
  51. package/dist/cjs/db-navigation-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/db-navigation-item.entry.cjs.js.map +1 -1
  53. package/dist/cjs/db-navigation.cjs.entry.js +112 -6
  54. package/dist/cjs/db-navigation.cjs.entry.js.map +1 -1
  55. package/dist/cjs/db-navigation.entry.cjs.js.map +1 -1
  56. package/dist/cjs/db-notification.cjs.entry.js +4 -4
  57. package/dist/cjs/db-popover.cjs.entry.js +5 -6
  58. package/dist/cjs/db-popover.cjs.entry.js.map +1 -1
  59. package/dist/cjs/db-popover.entry.cjs.js.map +1 -1
  60. package/dist/cjs/db-radio.cjs.entry.js +2 -2
  61. package/dist/cjs/db-section.cjs.entry.js +4 -4
  62. package/dist/cjs/db-select.cjs.entry.js +7 -7
  63. package/dist/cjs/db-select.cjs.entry.js.map +1 -1
  64. package/dist/cjs/db-select.entry.cjs.js.map +1 -1
  65. package/dist/cjs/db-shell-sub-navigation.cjs.entry.js +71 -0
  66. package/dist/cjs/db-shell-sub-navigation.cjs.entry.js.map +1 -0
  67. package/dist/cjs/db-shell-sub-navigation.entry.cjs.js.map +1 -0
  68. package/dist/cjs/{db-page.cjs.entry.js → db-shell.cjs.entry.js} +9 -15
  69. package/dist/cjs/db-shell.cjs.entry.js.map +1 -0
  70. package/dist/cjs/db-shell.entry.cjs.js.map +1 -0
  71. package/dist/cjs/db-stack.cjs.entry.js +3 -3
  72. package/dist/cjs/db-switch.cjs.entry.js +2 -2
  73. package/dist/cjs/db-tab-item_3.cjs.entry.js +8 -8
  74. package/dist/cjs/db-tabs.cjs.entry.js +5 -5
  75. package/dist/cjs/db-tabs.cjs.entry.js.map +1 -1
  76. package/dist/cjs/db-tabs.entry.cjs.js.map +1 -1
  77. package/dist/cjs/db-textarea.cjs.entry.js +6 -6
  78. package/dist/cjs/db-textarea.cjs.entry.js.map +1 -1
  79. package/dist/cjs/db-textarea.entry.cjs.js.map +1 -1
  80. package/dist/cjs/db-tooltip.cjs.entry.js +7 -8
  81. package/dist/cjs/db-tooltip.cjs.entry.js.map +1 -1
  82. package/dist/cjs/db-tooltip.entry.cjs.js.map +1 -1
  83. package/dist/cjs/db-ux.cjs.js +3 -3
  84. package/dist/cjs/db-ux.cjs.js.map +1 -1
  85. package/dist/cjs/{floating-components-ogUqz72V.js → floating-components-DSENlGvK.js} +78 -50
  86. package/dist/cjs/floating-components-DSENlGvK.js.map +1 -0
  87. package/dist/cjs/{index-9urL1KCD.js → index-B1qpUQFv.js} +9 -3
  88. package/dist/cjs/index-B1qpUQFv.js.map +1 -0
  89. package/dist/cjs/index.cjs.js +21 -11
  90. package/dist/cjs/index.cjs.js.map +1 -1
  91. package/dist/cjs/loader.cjs.js +2 -2
  92. package/dist/cjs/{navigation-DauGE-qj.js → navigation-DWSyoPJm.js} +38 -21
  93. package/dist/cjs/navigation-DWSyoPJm.js.map +1 -0
  94. package/dist/collection/collection-manifest.json +14 -7
  95. package/dist/collection/components/button/button.js +1 -1
  96. package/dist/collection/components/card/card.js +2 -2
  97. package/dist/collection/components/checkbox/checkbox.js +4 -4
  98. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  99. package/dist/collection/components/{brand/brand.js → control-panel-brand/control-panel-brand.js} +22 -47
  100. package/dist/collection/components/control-panel-brand/control-panel-brand.js.map +1 -0
  101. package/dist/collection/components/control-panel-brand/index.js +3 -0
  102. package/dist/collection/components/control-panel-brand/index.js.map +1 -0
  103. package/dist/collection/components/control-panel-brand/model.js.map +1 -0
  104. package/dist/collection/components/control-panel-desktop/control-panel-desktop.js +267 -0
  105. package/dist/collection/components/control-panel-desktop/control-panel-desktop.js.map +1 -0
  106. package/dist/collection/components/control-panel-desktop/index.js +3 -0
  107. package/dist/collection/components/control-panel-desktop/index.js.map +1 -0
  108. package/dist/collection/components/control-panel-desktop/model.js.map +1 -0
  109. package/dist/collection/components/control-panel-flat-icon-navigation/control-panel-flat-icon-navigation.js +162 -0
  110. package/dist/collection/components/control-panel-flat-icon-navigation/control-panel-flat-icon-navigation.js.map +1 -0
  111. package/dist/collection/components/control-panel-flat-icon-navigation/index.js +3 -0
  112. package/dist/collection/components/control-panel-flat-icon-navigation/index.js.map +1 -0
  113. package/dist/collection/components/control-panel-flat-icon-navigation/model.js +2 -0
  114. package/dist/collection/components/control-panel-flat-icon-navigation/model.js.map +1 -0
  115. package/dist/collection/components/control-panel-meta-navigation/control-panel-meta-navigation.js +104 -0
  116. package/dist/collection/components/control-panel-meta-navigation/control-panel-meta-navigation.js.map +1 -0
  117. package/dist/collection/components/control-panel-meta-navigation/index.js +3 -0
  118. package/dist/collection/components/control-panel-meta-navigation/index.js.map +1 -0
  119. package/dist/collection/components/control-panel-meta-navigation/model.js +2 -0
  120. package/dist/collection/components/control-panel-meta-navigation/model.js.map +1 -0
  121. package/dist/collection/components/{header/header.js → control-panel-mobile/control-panel-mobile.js} +76 -76
  122. package/dist/collection/components/control-panel-mobile/control-panel-mobile.js.map +1 -0
  123. package/dist/collection/components/control-panel-mobile/index.js +3 -0
  124. package/dist/collection/components/control-panel-mobile/index.js.map +1 -0
  125. package/dist/collection/components/control-panel-mobile/model.js +2 -0
  126. package/dist/collection/components/control-panel-mobile/model.js.map +1 -0
  127. package/dist/collection/components/control-panel-primary-actions/control-panel-primary-actions.js +104 -0
  128. package/dist/collection/components/control-panel-primary-actions/control-panel-primary-actions.js.map +1 -0
  129. package/dist/collection/components/control-panel-primary-actions/index.js +3 -0
  130. package/dist/collection/components/control-panel-primary-actions/index.js.map +1 -0
  131. package/dist/collection/components/control-panel-primary-actions/model.js +2 -0
  132. package/dist/collection/components/control-panel-primary-actions/model.js.map +1 -0
  133. package/dist/collection/components/control-panel-secondary-actions/control-panel-secondary-actions.js +104 -0
  134. package/dist/collection/components/control-panel-secondary-actions/control-panel-secondary-actions.js.map +1 -0
  135. package/dist/collection/components/control-panel-secondary-actions/index.js +3 -0
  136. package/dist/collection/components/control-panel-secondary-actions/index.js.map +1 -0
  137. package/dist/collection/components/control-panel-secondary-actions/model.js +2 -0
  138. package/dist/collection/components/control-panel-secondary-actions/model.js.map +1 -0
  139. package/dist/collection/components/custom-select/custom-select.js +12 -12
  140. package/dist/collection/components/custom-select/custom-select.js.map +1 -1
  141. package/dist/collection/components/custom-select/model.js.map +1 -1
  142. package/dist/collection/components/custom-select-dropdown/custom-select-dropdown.js +2 -2
  143. package/dist/collection/components/custom-select-form-field/custom-select-form-field.js +2 -2
  144. package/dist/collection/components/custom-select-list/custom-select-list.js +2 -2
  145. package/dist/collection/components/custom-select-list-item/custom-select-list-item.js +1 -1
  146. package/dist/collection/components/divider/divider.js +1 -1
  147. package/dist/collection/components/drawer/drawer.js +30 -5
  148. package/dist/collection/components/drawer/drawer.js.map +1 -1
  149. package/dist/collection/components/drawer/model.js +1 -1
  150. package/dist/collection/components/drawer/model.js.map +1 -1
  151. package/dist/collection/components/icon/icon.js +1 -1
  152. package/dist/collection/components/infotext/infotext.js +1 -1
  153. package/dist/collection/components/input/input.js +4 -4
  154. package/dist/collection/components/input/input.js.map +1 -1
  155. package/dist/collection/components/link/link.js +1 -1
  156. package/dist/collection/components/navigation/model.js.map +1 -1
  157. package/dist/collection/components/navigation/navigation.js +206 -7
  158. package/dist/collection/components/navigation/navigation.js.map +1 -1
  159. package/dist/collection/components/navigation-item/model.js.map +1 -1
  160. package/dist/collection/components/navigation-item/navigation-item.js +9 -238
  161. package/dist/collection/components/navigation-item/navigation-item.js.map +1 -1
  162. package/dist/collection/components/navigation-item-group/index.js +3 -0
  163. package/dist/collection/components/navigation-item-group/index.js.map +1 -0
  164. package/dist/collection/components/navigation-item-group/model.js +2 -0
  165. package/dist/collection/components/navigation-item-group/model.js.map +1 -0
  166. package/dist/collection/components/navigation-item-group/navigation-item-group.js +453 -0
  167. package/dist/collection/components/navigation-item-group/navigation-item-group.js.map +1 -0
  168. package/dist/collection/components/notification/notification.js +2 -2
  169. package/dist/collection/components/popover/popover.js +28 -29
  170. package/dist/collection/components/popover/popover.js.map +1 -1
  171. package/dist/collection/components/radio/radio.js +1 -1
  172. package/dist/collection/components/section/section.js +2 -2
  173. package/dist/collection/components/select/select.js +5 -5
  174. package/dist/collection/components/select/select.js.map +1 -1
  175. package/dist/collection/components/shell/index.js +3 -0
  176. package/dist/collection/components/shell/index.js.map +1 -0
  177. package/dist/collection/components/shell/model.js +2 -0
  178. package/dist/collection/components/shell/model.js.map +1 -0
  179. package/dist/collection/components/shell/shell.js +299 -0
  180. package/dist/collection/components/shell/shell.js.map +1 -0
  181. package/dist/collection/components/shell-sub-navigation/index.js +3 -0
  182. package/dist/collection/components/shell-sub-navigation/index.js.map +1 -0
  183. package/dist/collection/components/shell-sub-navigation/model.js +2 -0
  184. package/dist/collection/components/shell-sub-navigation/model.js.map +1 -0
  185. package/dist/collection/components/{page/page.js → shell-sub-navigation/shell-sub-navigation.js} +43 -94
  186. package/dist/collection/components/shell-sub-navigation/shell-sub-navigation.js.map +1 -0
  187. package/dist/collection/components/stack/stack.js +2 -2
  188. package/dist/collection/components/switch/switch.js +1 -1
  189. package/dist/collection/components/tab-item/tab-item.js +2 -2
  190. package/dist/collection/components/tab-list/tab-list.js +2 -2
  191. package/dist/collection/components/tab-panel/tab-panel.js +2 -2
  192. package/dist/collection/components/tabs/model.js.map +1 -1
  193. package/dist/collection/components/tabs/tabs.js +4 -4
  194. package/dist/collection/components/tabs/tabs.js.map +1 -1
  195. package/dist/collection/components/tag/tag.js +2 -2
  196. package/dist/collection/components/textarea/textarea.js +4 -4
  197. package/dist/collection/components/textarea/textarea.js.map +1 -1
  198. package/dist/collection/components/tooltip/tooltip.js +29 -30
  199. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  200. package/dist/collection/index.js +19 -6
  201. package/dist/collection/index.js.map +1 -1
  202. package/dist/collection/shared/constants.js +3 -0
  203. package/dist/collection/shared/constants.js.map +1 -1
  204. package/dist/collection/shared/model.js +3 -0
  205. package/dist/collection/shared/model.js.map +1 -1
  206. package/dist/collection/utils/floating-components.js +76 -48
  207. package/dist/collection/utils/floating-components.js.map +1 -1
  208. package/dist/collection/utils/navigation.js +34 -22
  209. package/dist/collection/utils/navigation.js.map +1 -1
  210. package/dist/custom-elements.json +7740 -6149
  211. package/dist/db-ux/db-checkbox.entry.esm.js.map +1 -1
  212. package/dist/db-ux/db-control-panel-brand.entry.esm.js.map +1 -0
  213. package/dist/db-ux/db-control-panel-desktop.entry.esm.js.map +1 -0
  214. package/dist/db-ux/db-control-panel-flat-icon-navigation.entry.esm.js.map +1 -0
  215. package/dist/db-ux/db-control-panel-meta-navigation.entry.esm.js.map +1 -0
  216. package/dist/db-ux/db-control-panel-mobile.entry.esm.js.map +1 -0
  217. package/dist/db-ux/db-control-panel-primary-actions.entry.esm.js.map +1 -0
  218. package/dist/db-ux/db-control-panel-secondary-actions.entry.esm.js.map +1 -0
  219. package/dist/db-ux/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.esm.js.map +1 -1
  220. package/dist/db-ux/db-custom-select.entry.esm.js.map +1 -1
  221. package/dist/db-ux/db-drawer.entry.esm.js.map +1 -1
  222. package/dist/db-ux/db-navigation-item-group.entry.esm.js.map +1 -0
  223. package/dist/db-ux/db-navigation-item.entry.esm.js.map +1 -1
  224. package/dist/db-ux/db-navigation.entry.esm.js.map +1 -1
  225. package/dist/db-ux/db-popover.entry.esm.js.map +1 -1
  226. package/dist/db-ux/db-select.entry.esm.js.map +1 -1
  227. package/dist/db-ux/db-shell-sub-navigation.entry.esm.js.map +1 -0
  228. package/dist/db-ux/db-shell.entry.esm.js.map +1 -0
  229. package/dist/db-ux/db-tabs.entry.esm.js.map +1 -1
  230. package/dist/db-ux/db-textarea.entry.esm.js.map +1 -1
  231. package/dist/db-ux/db-tooltip.entry.esm.js.map +1 -1
  232. package/dist/db-ux/db-ux.esm.js +1 -1
  233. package/dist/db-ux/db-ux.esm.js.map +1 -1
  234. package/dist/db-ux/index.esm.js +1 -1
  235. package/dist/db-ux/index.esm.js.map +1 -1
  236. package/dist/db-ux/p-0262e847.entry.js +2 -0
  237. package/dist/db-ux/p-0262e847.entry.js.map +1 -0
  238. package/dist/db-ux/p-13f527fb.entry.js +2 -0
  239. package/dist/db-ux/p-13f527fb.entry.js.map +1 -0
  240. package/dist/db-ux/p-1a56dee3.entry.js +2 -0
  241. package/dist/db-ux/p-1a56dee3.entry.js.map +1 -0
  242. package/dist/db-ux/p-1b0815ab.entry.js +2 -0
  243. package/dist/db-ux/p-1b0815ab.entry.js.map +1 -0
  244. package/dist/db-ux/p-1d41f71c.entry.js +2 -0
  245. package/dist/db-ux/p-1d41f71c.entry.js.map +1 -0
  246. package/dist/db-ux/p-1dccdff4.entry.js +2 -0
  247. package/dist/db-ux/p-29dcb78d.entry.js +2 -0
  248. package/dist/db-ux/p-29dcb78d.entry.js.map +1 -0
  249. package/dist/db-ux/p-3f2ab801.entry.js +2 -0
  250. package/dist/db-ux/p-3f2ab801.entry.js.map +1 -0
  251. package/dist/db-ux/p-40e42146.entry.js +2 -0
  252. package/dist/db-ux/p-40e42146.entry.js.map +1 -0
  253. package/dist/db-ux/p-4645cc92.entry.js +2 -0
  254. package/dist/db-ux/{p-c5ff3d3f.entry.js → p-504a9cfc.entry.js} +2 -2
  255. package/dist/db-ux/{p-e6e7719e.entry.js → p-53682d25.entry.js} +2 -2
  256. package/dist/db-ux/p-5be272f0.entry.js +2 -0
  257. package/dist/db-ux/p-5cb180c4.entry.js +2 -0
  258. package/dist/db-ux/p-5cb180c4.entry.js.map +1 -0
  259. package/dist/db-ux/{p-16f1fa7c.entry.js → p-5d292f94.entry.js} +2 -2
  260. package/dist/db-ux/{p-02fcd4a8.entry.js → p-5e4ac324.entry.js} +2 -2
  261. package/dist/db-ux/p-6c023c87.entry.js +2 -0
  262. package/dist/db-ux/p-6c023c87.entry.js.map +1 -0
  263. package/dist/db-ux/{p-f03f7076.entry.js → p-6fd148ce.entry.js} +2 -2
  264. package/dist/db-ux/p-7153636c.entry.js +2 -0
  265. package/dist/db-ux/p-73614370.entry.js +2 -0
  266. package/dist/db-ux/{p-209cf793.entry.js → p-81d7921b.entry.js} +2 -2
  267. package/dist/db-ux/{p-d7168627.entry.js → p-8262ab69.entry.js} +2 -2
  268. package/dist/db-ux/p-8db3c126.entry.js +2 -0
  269. package/dist/db-ux/{p-d6aeabf0.entry.js.map → p-8db3c126.entry.js.map} +1 -1
  270. package/dist/db-ux/p-99d090b7.entry.js +2 -0
  271. package/dist/db-ux/p-9d18d065.entry.js +2 -0
  272. package/dist/db-ux/p-9d18d065.entry.js.map +1 -0
  273. package/dist/db-ux/p-CZxi1Pek.js +2 -0
  274. package/dist/db-ux/p-CZxi1Pek.js.map +1 -0
  275. package/dist/db-ux/p-D3kmGlOI.js +2 -0
  276. package/dist/db-ux/p-D3kmGlOI.js.map +1 -0
  277. package/dist/db-ux/p-Dst8dqRS.js +2 -0
  278. package/dist/db-ux/p-Dst8dqRS.js.map +1 -0
  279. package/dist/db-ux/p-a652e0d0.entry.js +2 -0
  280. package/dist/db-ux/p-a652e0d0.entry.js.map +1 -0
  281. package/dist/db-ux/{p-bd7d1646.entry.js → p-b713791b.entry.js} +2 -2
  282. package/dist/db-ux/p-b90f037e.entry.js +2 -0
  283. package/dist/db-ux/p-b90f037e.entry.js.map +1 -0
  284. package/dist/db-ux/p-bb9043b3.entry.js +2 -0
  285. package/dist/db-ux/p-bb9043b3.entry.js.map +1 -0
  286. package/dist/db-ux/p-bbbb47fe.entry.js +2 -0
  287. package/dist/db-ux/p-bbbb47fe.entry.js.map +1 -0
  288. package/dist/db-ux/p-c00303d4.entry.js +2 -0
  289. package/dist/db-ux/p-c00303d4.entry.js.map +1 -0
  290. package/dist/db-ux/p-c841ce92.entry.js +2 -0
  291. package/dist/db-ux/p-c841ce92.entry.js.map +1 -0
  292. package/dist/db-ux/{p-a2b55626.entry.js → p-d6047812.entry.js} +2 -2
  293. package/dist/db-ux/p-d8f87aaa.entry.js +2 -0
  294. package/dist/db-ux/p-d8f87aaa.entry.js.map +1 -0
  295. package/dist/db-ux/p-e39aeff2.entry.js +2 -0
  296. package/dist/db-ux/p-e39aeff2.entry.js.map +1 -0
  297. package/dist/db-ux/p-e418dace.entry.js +2 -0
  298. package/dist/db-ux/p-e418dace.entry.js.map +1 -0
  299. package/dist/db-ux/p-eaa14b89.entry.js +2 -0
  300. package/dist/db-ux/p-eaa14b89.entry.js.map +1 -0
  301. package/dist/db-ux/p-uOzX56mL.js +3 -0
  302. package/dist/db-ux/p-uOzX56mL.js.map +1 -0
  303. package/dist/esm/{constants-DC9V_oNU.js → constants-Dst8dqRS.js} +6 -3
  304. package/dist/esm/constants-Dst8dqRS.js.map +1 -0
  305. package/dist/esm/db-accordion-item.entry.js +2 -2
  306. package/dist/esm/db-accordion.entry.js +2 -2
  307. package/dist/esm/db-badge.entry.js +2 -2
  308. package/dist/esm/db-button.entry.js +2 -2
  309. package/dist/esm/db-card.entry.js +3 -3
  310. package/dist/esm/db-checkbox.entry.js +6 -6
  311. package/dist/esm/db-checkbox.entry.js.map +1 -1
  312. package/dist/esm/db-control-panel-brand.entry.js +55 -0
  313. package/dist/esm/db-control-panel-brand.entry.js.map +1 -0
  314. package/dist/esm/db-control-panel-desktop.entry.js +89 -0
  315. package/dist/esm/db-control-panel-desktop.entry.js.map +1 -0
  316. package/dist/esm/db-control-panel-flat-icon-navigation.entry.js +74 -0
  317. package/dist/esm/db-control-panel-flat-icon-navigation.entry.js.map +1 -0
  318. package/dist/esm/{db-brand.entry.js → db-control-panel-meta-navigation.entry.js} +9 -11
  319. package/dist/esm/db-control-panel-meta-navigation.entry.js.map +1 -0
  320. package/dist/esm/db-control-panel-mobile.entry.js +74 -0
  321. package/dist/esm/db-control-panel-mobile.entry.js.map +1 -0
  322. package/dist/esm/db-control-panel-primary-actions.entry.js +53 -0
  323. package/dist/esm/db-control-panel-primary-actions.entry.js.map +1 -0
  324. package/dist/esm/db-control-panel-secondary-actions.entry.js +53 -0
  325. package/dist/esm/db-control-panel-secondary-actions.entry.js.map +1 -0
  326. package/dist/esm/db-custom-select-dropdown.db-custom-select-list.db-custom-select-list-item.db-input.db-tag.entry.js.map +1 -1
  327. package/dist/esm/db-custom-select-dropdown_5.entry.js +13 -13
  328. package/dist/esm/db-custom-select-dropdown_5.entry.js.map +1 -1
  329. package/dist/esm/db-custom-select-form-field.entry.js +3 -3
  330. package/dist/esm/db-custom-select.entry.js +15 -15
  331. package/dist/esm/db-custom-select.entry.js.map +1 -1
  332. package/dist/esm/db-divider.entry.js +2 -2
  333. package/dist/esm/db-drawer.entry.js +6 -6
  334. package/dist/esm/db-drawer.entry.js.map +1 -1
  335. package/dist/esm/db-icon.entry.js +2 -2
  336. package/dist/esm/db-infotext.entry.js +2 -2
  337. package/dist/esm/db-link.entry.js +2 -2
  338. package/dist/esm/db-navigation-item-group.entry.js +157 -0
  339. package/dist/esm/db-navigation-item-group.entry.js.map +1 -0
  340. package/dist/esm/db-navigation-item.entry.js +5 -73
  341. package/dist/esm/db-navigation-item.entry.js.map +1 -1
  342. package/dist/esm/db-navigation.entry.js +113 -7
  343. package/dist/esm/db-navigation.entry.js.map +1 -1
  344. package/dist/esm/db-notification.entry.js +4 -4
  345. package/dist/esm/db-popover.entry.js +5 -6
  346. package/dist/esm/db-popover.entry.js.map +1 -1
  347. package/dist/esm/db-radio.entry.js +2 -2
  348. package/dist/esm/db-section.entry.js +4 -4
  349. package/dist/esm/db-select.entry.js +7 -7
  350. package/dist/esm/db-select.entry.js.map +1 -1
  351. package/dist/esm/db-shell-sub-navigation.entry.js +69 -0
  352. package/dist/esm/db-shell-sub-navigation.entry.js.map +1 -0
  353. package/dist/esm/{db-page.entry.js → db-shell.entry.js} +9 -15
  354. package/dist/esm/db-shell.entry.js.map +1 -0
  355. package/dist/esm/db-stack.entry.js +3 -3
  356. package/dist/esm/db-switch.entry.js +2 -2
  357. package/dist/esm/db-tab-item_3.entry.js +8 -8
  358. package/dist/esm/db-tabs.entry.js +5 -5
  359. package/dist/esm/db-tabs.entry.js.map +1 -1
  360. package/dist/esm/db-textarea.entry.js +6 -6
  361. package/dist/esm/db-textarea.entry.js.map +1 -1
  362. package/dist/esm/db-tooltip.entry.js +7 -8
  363. package/dist/esm/db-tooltip.entry.js.map +1 -1
  364. package/dist/esm/db-ux.js +4 -4
  365. package/dist/esm/db-ux.js.map +1 -1
  366. package/dist/esm/{floating-components-G-TursYV.js → floating-components-D3kmGlOI.js} +78 -50
  367. package/dist/esm/floating-components-D3kmGlOI.js.map +1 -0
  368. package/dist/esm/{index-CNzNv7KB.js → index-uOzX56mL.js} +9 -3
  369. package/dist/esm/index-uOzX56mL.js.map +1 -0
  370. package/dist/esm/index.js +12 -8
  371. package/dist/esm/index.js.map +1 -1
  372. package/dist/esm/loader.js +3 -3
  373. package/dist/esm/{navigation--UdC9CzO.js → navigation-CJ-OxodG.js} +38 -22
  374. package/dist/esm/navigation-CJ-OxodG.js.map +1 -0
  375. package/dist/types/components/control-panel-brand/control-panel-brand.d.ts +21 -0
  376. package/dist/types/components/control-panel-brand/index.d.ts +2 -0
  377. package/dist/types/components/control-panel-brand/model.d.ts +5 -0
  378. package/dist/types/components/control-panel-desktop/control-panel-desktop.d.ts +33 -0
  379. package/dist/types/components/control-panel-desktop/index.d.ts +2 -0
  380. package/dist/types/components/control-panel-desktop/model.d.ts +7 -0
  381. package/dist/types/components/control-panel-flat-icon-navigation/control-panel-flat-icon-navigation.d.ts +22 -0
  382. package/dist/types/components/control-panel-flat-icon-navigation/index.d.ts +2 -0
  383. package/dist/types/components/control-panel-flat-icon-navigation/model.d.ts +7 -0
  384. package/dist/types/components/{brand/brand.d.ts → control-panel-meta-navigation/control-panel-meta-navigation.d.ts} +4 -8
  385. package/dist/types/components/control-panel-meta-navigation/index.d.ts +2 -0
  386. package/dist/types/components/control-panel-meta-navigation/model.d.ts +5 -0
  387. package/dist/types/components/control-panel-mobile/control-panel-mobile.d.ts +32 -0
  388. package/dist/types/components/control-panel-mobile/index.d.ts +2 -0
  389. package/dist/types/components/control-panel-mobile/model.d.ts +30 -0
  390. package/dist/types/components/control-panel-primary-actions/control-panel-primary-actions.d.ts +18 -0
  391. package/dist/types/components/control-panel-primary-actions/index.d.ts +2 -0
  392. package/dist/types/components/control-panel-primary-actions/model.d.ts +5 -0
  393. package/dist/types/components/control-panel-secondary-actions/control-panel-secondary-actions.d.ts +18 -0
  394. package/dist/types/components/control-panel-secondary-actions/index.d.ts +2 -0
  395. package/dist/types/components/control-panel-secondary-actions/model.d.ts +5 -0
  396. package/dist/types/components/custom-select/custom-select.d.ts +1 -1
  397. package/dist/types/components/custom-select/model.d.ts +4 -1
  398. package/dist/types/components/drawer/drawer.d.ts +1 -0
  399. package/dist/types/components/drawer/model.d.ts +5 -1
  400. package/dist/types/components/navigation/model.d.ts +14 -5
  401. package/dist/types/components/navigation/navigation.d.ts +19 -1
  402. package/dist/types/components/navigation-item/model.d.ts +9 -24
  403. package/dist/types/components/navigation-item/navigation-item.d.ts +2 -24
  404. package/dist/types/components/navigation-item-group/index.d.ts +2 -0
  405. package/dist/types/components/navigation-item-group/model.d.ts +26 -0
  406. package/dist/types/components/navigation-item-group/navigation-item-group.d.ts +50 -0
  407. package/dist/types/components/popover/popover.d.ts +1 -1
  408. package/dist/types/components/shell/index.d.ts +2 -0
  409. package/dist/types/components/shell/model.d.ts +50 -0
  410. package/dist/types/components/shell/shell.d.ts +28 -0
  411. package/dist/types/components/shell-sub-navigation/index.d.ts +2 -0
  412. package/dist/types/components/shell-sub-navigation/model.d.ts +5 -0
  413. package/dist/types/components/shell-sub-navigation/shell-sub-navigation.d.ts +24 -0
  414. package/dist/types/components/tabs/model.d.ts +3 -11
  415. package/dist/types/components/tooltip/tooltip.d.ts +1 -1
  416. package/dist/types/components.d.ts +302 -119
  417. package/dist/types/index.d.ts +19 -6
  418. package/dist/types/shared/constants.d.ts +3 -0
  419. package/dist/types/shared/model.d.ts +82 -3
  420. package/dist/types/utils/floating-components.d.ts +17 -1
  421. package/dist/types/utils/navigation.d.ts +2 -6
  422. package/dist/vscode.html-custom-data.json +532 -327
  423. package/dist/web-types.json +1235 -795
  424. package/package.json +5 -7
  425. package/agent/Accordion.md +0 -23
  426. package/agent/AccordionItem.md +0 -29
  427. package/agent/Badge.md +0 -32
  428. package/agent/Brand.md +0 -13
  429. package/agent/Button.md +0 -47
  430. package/agent/Card.md +0 -23
  431. package/agent/Checkbox.md +0 -41
  432. package/agent/CustomSelect.md +0 -54
  433. package/agent/Divider.md +0 -21
  434. package/agent/Drawer.md +0 -71
  435. package/agent/Header.md +0 -29
  436. package/agent/Icon.md +0 -20
  437. package/agent/Infotext.md +0 -25
  438. package/agent/Input.md +0 -48
  439. package/agent/Link.md +0 -52
  440. package/agent/Navigation.md +0 -19
  441. package/agent/NavigationItem.md +0 -29
  442. package/agent/Notification.md +0 -38
  443. package/agent/Page.md +0 -27
  444. package/agent/Popover.md +0 -52
  445. package/agent/Radio.md +0 -28
  446. package/agent/Section.md +0 -21
  447. package/agent/Select.md +0 -62
  448. package/agent/Stack.md +0 -35
  449. package/agent/Switch.md +0 -44
  450. package/agent/TabItem.md +0 -25
  451. package/agent/Tabs.md +0 -61
  452. package/agent/Tag.md +0 -41
  453. package/agent/Textarea.md +0 -44
  454. package/agent/Tooltip.md +0 -37
  455. package/agent/_instructions.md +0 -31
  456. package/dist/cjs/constants-CTtyzyuo.js.map +0 -1
  457. package/dist/cjs/db-brand.cjs.entry.js.map +0 -1
  458. package/dist/cjs/db-brand.entry.cjs.js.map +0 -1
  459. package/dist/cjs/db-header.cjs.entry.js +0 -96
  460. package/dist/cjs/db-header.cjs.entry.js.map +0 -1
  461. package/dist/cjs/db-header.entry.cjs.js.map +0 -1
  462. package/dist/cjs/db-page.cjs.entry.js.map +0 -1
  463. package/dist/cjs/db-page.entry.cjs.js.map +0 -1
  464. package/dist/cjs/floating-components-ogUqz72V.js.map +0 -1
  465. package/dist/cjs/index-9urL1KCD.js.map +0 -1
  466. package/dist/cjs/navigation-DauGE-qj.js.map +0 -1
  467. package/dist/collection/components/brand/brand.js.map +0 -1
  468. package/dist/collection/components/brand/index.js +0 -3
  469. package/dist/collection/components/brand/index.js.map +0 -1
  470. package/dist/collection/components/brand/model.js.map +0 -1
  471. package/dist/collection/components/header/header.js.map +0 -1
  472. package/dist/collection/components/header/index.js +0 -3
  473. package/dist/collection/components/header/index.js.map +0 -1
  474. package/dist/collection/components/header/model.js.map +0 -1
  475. package/dist/collection/components/page/index.js +0 -3
  476. package/dist/collection/components/page/index.js.map +0 -1
  477. package/dist/collection/components/page/model.js +0 -3
  478. package/dist/collection/components/page/model.js.map +0 -1
  479. package/dist/collection/components/page/page.js.map +0 -1
  480. package/dist/db-ux/db-brand.entry.esm.js.map +0 -1
  481. package/dist/db-ux/db-header.entry.esm.js.map +0 -1
  482. package/dist/db-ux/db-page.entry.esm.js.map +0 -1
  483. package/dist/db-ux/p-340bb722.entry.js +0 -2
  484. package/dist/db-ux/p-340bb722.entry.js.map +0 -1
  485. package/dist/db-ux/p-3d7eb768.entry.js +0 -2
  486. package/dist/db-ux/p-3d7eb768.entry.js.map +0 -1
  487. package/dist/db-ux/p-51de401e.entry.js +0 -2
  488. package/dist/db-ux/p-58007675.entry.js +0 -2
  489. package/dist/db-ux/p-58007675.entry.js.map +0 -1
  490. package/dist/db-ux/p-5b45664d.entry.js +0 -2
  491. package/dist/db-ux/p-5c6da0f3.entry.js +0 -2
  492. package/dist/db-ux/p-6e35a260.entry.js +0 -2
  493. package/dist/db-ux/p-6e35a260.entry.js.map +0 -1
  494. package/dist/db-ux/p-72330d25.entry.js +0 -2
  495. package/dist/db-ux/p-72330d25.entry.js.map +0 -1
  496. package/dist/db-ux/p-84dd974f.entry.js +0 -2
  497. package/dist/db-ux/p-84dd974f.entry.js.map +0 -1
  498. package/dist/db-ux/p-8b41c30e.entry.js +0 -2
  499. package/dist/db-ux/p-8b41c30e.entry.js.map +0 -1
  500. package/dist/db-ux/p-971a16c3.entry.js +0 -2
  501. package/dist/db-ux/p-971a16c3.entry.js.map +0 -1
  502. package/dist/db-ux/p-9d0996e9.entry.js +0 -2
  503. package/dist/db-ux/p-CNzNv7KB.js +0 -3
  504. package/dist/db-ux/p-CNzNv7KB.js.map +0 -1
  505. package/dist/db-ux/p-DC9V_oNU.js +0 -2
  506. package/dist/db-ux/p-DC9V_oNU.js.map +0 -1
  507. package/dist/db-ux/p-G-TursYV.js +0 -2
  508. package/dist/db-ux/p-G-TursYV.js.map +0 -1
  509. package/dist/db-ux/p-a3541c03.entry.js +0 -2
  510. package/dist/db-ux/p-a3541c03.entry.js.map +0 -1
  511. package/dist/db-ux/p-c8bdd952.entry.js +0 -2
  512. package/dist/db-ux/p-c8cdde8c.entry.js +0 -2
  513. package/dist/db-ux/p-ce895e0c.entry.js +0 -2
  514. package/dist/db-ux/p-ce895e0c.entry.js.map +0 -1
  515. package/dist/db-ux/p-d4e3d1db.entry.js +0 -2
  516. package/dist/db-ux/p-d4e3d1db.entry.js.map +0 -1
  517. package/dist/db-ux/p-d6aeabf0.entry.js +0 -2
  518. package/dist/db-ux/p-e9c323af.entry.js +0 -2
  519. package/dist/db-ux/p-e9c323af.entry.js.map +0 -1
  520. package/dist/db-ux/p-ec957247.entry.js +0 -2
  521. package/dist/db-ux/p-ec957247.entry.js.map +0 -1
  522. package/dist/db-ux/p-fdf5578d.entry.js +0 -2
  523. package/dist/db-ux/p-fdf5578d.entry.js.map +0 -1
  524. package/dist/db-ux/p-sP2NlPcu.js +0 -2
  525. package/dist/db-ux/p-sP2NlPcu.js.map +0 -1
  526. package/dist/esm/constants-DC9V_oNU.js.map +0 -1
  527. package/dist/esm/db-brand.entry.js.map +0 -1
  528. package/dist/esm/db-header.entry.js +0 -94
  529. package/dist/esm/db-header.entry.js.map +0 -1
  530. package/dist/esm/db-page.entry.js.map +0 -1
  531. package/dist/esm/floating-components-G-TursYV.js.map +0 -1
  532. package/dist/esm/index-CNzNv7KB.js.map +0 -1
  533. package/dist/esm/navigation--UdC9CzO.js.map +0 -1
  534. package/dist/types/components/brand/index.d.ts +0 -2
  535. package/dist/types/components/brand/model.d.ts +0 -10
  536. package/dist/types/components/header/header.d.ts +0 -33
  537. package/dist/types/components/header/index.d.ts +0 -2
  538. package/dist/types/components/header/model.d.ts +0 -44
  539. package/dist/types/components/page/index.d.ts +0 -2
  540. package/dist/types/components/page/model.d.ts +0 -36
  541. package/dist/types/components/page/page.d.ts +0 -25
  542. /package/dist/collection/components/{brand → control-panel-brand}/model.js +0 -0
  543. /package/dist/collection/components/{header → control-panel-desktop}/model.js +0 -0
  544. /package/dist/db-ux/{p-5c6da0f3.entry.js.map → p-1dccdff4.entry.js.map} +0 -0
  545. /package/dist/db-ux/{p-c8bdd952.entry.js.map → p-4645cc92.entry.js.map} +0 -0
  546. /package/dist/db-ux/{p-c5ff3d3f.entry.js.map → p-504a9cfc.entry.js.map} +0 -0
  547. /package/dist/db-ux/{p-e6e7719e.entry.js.map → p-53682d25.entry.js.map} +0 -0
  548. /package/dist/db-ux/{p-51de401e.entry.js.map → p-5be272f0.entry.js.map} +0 -0
  549. /package/dist/db-ux/{p-16f1fa7c.entry.js.map → p-5d292f94.entry.js.map} +0 -0
  550. /package/dist/db-ux/{p-02fcd4a8.entry.js.map → p-5e4ac324.entry.js.map} +0 -0
  551. /package/dist/db-ux/{p-f03f7076.entry.js.map → p-6fd148ce.entry.js.map} +0 -0
  552. /package/dist/db-ux/{p-5b45664d.entry.js.map → p-7153636c.entry.js.map} +0 -0
  553. /package/dist/db-ux/{p-9d0996e9.entry.js.map → p-73614370.entry.js.map} +0 -0
  554. /package/dist/db-ux/{p-209cf793.entry.js.map → p-81d7921b.entry.js.map} +0 -0
  555. /package/dist/db-ux/{p-d7168627.entry.js.map → p-8262ab69.entry.js.map} +0 -0
  556. /package/dist/db-ux/{p-c8cdde8c.entry.js.map → p-99d090b7.entry.js.map} +0 -0
  557. /package/dist/db-ux/{p-bd7d1646.entry.js.map → p-b713791b.entry.js.map} +0 -0
  558. /package/dist/db-ux/{p-a2b55626.entry.js.map → p-d6047812.entry.js.map} +0 -0
@@ -1,13 +1,26 @@
1
- import { cls, getBooleanAsString } from "../../utils";
1
+ import { DEFAULT_COLLAPSE, DEFAULT_EXPAND } from "../../shared/constants";
2
+ import { cls, getBooleanAsString, uuid } from "../../utils";
2
3
  import { h } from "@stencil/core";
3
4
  /**
4
5
  * @slot children - This is a default/unnamed slot
5
- * @slot header - TODO: Add description for slotHeader
6
- * @slot footer - TODO: Add description for slotFooter
6
+
7
7
  */
8
- export class DBPage {
8
+ export class DBShellSubNavigation {
9
9
  constructor() {
10
- this.fontsLoaded = false;
10
+ this._id = `db-shell-sub-navigation-${uuid()}`;
11
+ this._open = true;
12
+ }
13
+ handleToggle(event) {
14
+ event.stopPropagation();
15
+ this._open = !this._open;
16
+ }
17
+ getToggleButtonText() {
18
+ var _a;
19
+ if (this.expandButtonTooltip) {
20
+ return this.expandButtonTooltip;
21
+ }
22
+ const fnOutput = () => undefined;
23
+ return (_a = fnOutput()) !== null && _a !== void 0 ? _a : (this._open ? DEFAULT_COLLAPSE : DEFAULT_EXPAND);
11
24
  }
12
25
  /**
13
26
  * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.
@@ -42,44 +55,29 @@ export class DBPage {
42
55
  }
43
56
  }
44
57
  componentDidLoad() {
45
- this.enableAttributePassing(this._ref, "db-page");
46
- this.fontsLoaded = !this.fadeIn;
47
- if (document && this.fadeIn) {
48
- document.fonts.ready.then(() => {
49
- this.fontsLoaded = true;
50
- });
51
- }
52
- else {
53
- this.fontsLoaded = true;
54
- }
55
- }
56
- disconnectedCallback() {
57
- if (typeof window !== "undefined" &&
58
- document.documentElement.classList.contains("db-page-document")) {
59
- // remove document styles set by this
60
- document.documentElement.classList.remove("db-page-document");
61
- }
58
+ this.enableAttributePassing(this._ref, "db-shell-sub-navigation");
62
59
  }
63
60
  render() {
64
- return (h("div", { key: '005b795411eb8ae8717d978eae32db515f7f6d87', class: cls("db-page", this.className), ref: (el) => {
61
+ var _a, _b;
62
+ return (h("div", { key: 'dfe750d10de3bf40e3ab259ce770d7c8dce20372', class: cls("db-shell-sub-navigation", this.className), ref: (el) => {
65
63
  this._ref = el;
66
- }, id: this.id, "data-variant": this.variant, "data-fade-in": getBooleanAsString(this.fadeIn), "data-fonts-loaded": getBooleanAsString(this.fontsLoaded) }, h("slot", { key: 'd9afe2076d0f115c2e7e8dc362ccd6e1dd3c4df7', name: "header" }), h("main", { key: '2002d9fbc8a71df9d042da0e77dbdce9d9bd9ab5', class: cls("db-main", this.mainClass) }, h("slot", { key: '40fdc82ff79391f41ba9bd1886959e7f84ab7626' })), h("slot", { key: '0468545812365d7124bf4e3e9f9045aacce6786a', name: "footer" })));
64
+ }, id: (_a = this.id) !== null && _a !== void 0 ? _a : this._id, "data-open": getBooleanAsString(this._open) }, h("slot", { key: '5002475c9e390c5d491cc5e923e6b6e068b06aa8' }), h("div", { key: '71e0b10f76df3e8f205dee401b6eee9b54556024', class: "db-shell-sub-navigation-button" }, h("db-button", { key: '775b6240dcea0d78e030da23647a2dc6d5ea7bb3', variant: "ghost", icon: "double_chevron_left", onClick: (event) => this.handleToggle(event), "aria-controls": (_b = this.id) !== null && _b !== void 0 ? _b : this._id, "aria-expanded": getBooleanAsString(this._open), noText: true }, h("db-tooltip", { key: '99ac6775c18771bf201ae1cb0669e4b7eb8ec54a', variant: "label", placement: "right" }, this.getToggleButtonText())))));
67
65
  }
68
- static get is() { return "db-page"; }
66
+ static get is() { return "db-shell-sub-navigation"; }
69
67
  static get properties() {
70
68
  return {
71
- "fadeIn": {
69
+ "expanded": {
72
70
  "type": "any",
73
- "attribute": "fade-in",
71
+ "attribute": "expanded",
74
72
  "mutable": false,
75
73
  "complexType": {
76
- "original": "DBPageProps[\"fadeIn\"]",
74
+ "original": "DBShellSubNavigationProps[\"expanded\"]",
77
75
  "resolved": "boolean | string",
78
76
  "references": {
79
- "DBPageProps": {
77
+ "DBShellSubNavigationProps": {
80
78
  "location": "import",
81
79
  "path": "./model",
82
- "id": "src/components/page/model.ts::DBPageProps"
80
+ "id": "src/components/shell-sub-navigation/model.ts::DBShellSubNavigationProps"
83
81
  }
84
82
  }
85
83
  },
@@ -93,43 +91,18 @@ export class DBPage {
93
91
  "setter": false,
94
92
  "reflect": false
95
93
  },
96
- "documentOverflow": {
94
+ "expandButtonTooltip": {
97
95
  "type": "string",
98
- "attribute": "document-overflow",
96
+ "attribute": "expand-button-tooltip",
99
97
  "mutable": false,
100
98
  "complexType": {
101
- "original": "DBPageProps[\"documentOverflow\"]",
102
- "resolved": "\"auto\" | \"hidden\"",
103
- "references": {
104
- "DBPageProps": {
105
- "location": "import",
106
- "path": "./model",
107
- "id": "src/components/page/model.ts::DBPageProps"
108
- }
109
- }
110
- },
111
- "required": false,
112
- "optional": false,
113
- "docs": {
114
- "tags": [],
115
- "text": ""
116
- },
117
- "getter": false,
118
- "setter": false,
119
- "reflect": false
120
- },
121
- "variant": {
122
- "type": "string",
123
- "attribute": "variant",
124
- "mutable": false,
125
- "complexType": {
126
- "original": "DBPageProps[\"variant\"]",
127
- "resolved": "\"auto\" | \"fixed\"",
99
+ "original": "DBShellSubNavigationProps[\"expandButtonTooltip\"]",
100
+ "resolved": "string",
128
101
  "references": {
129
- "DBPageProps": {
102
+ "DBShellSubNavigationProps": {
130
103
  "location": "import",
131
104
  "path": "./model",
132
- "id": "src/components/page/model.ts::DBPageProps"
105
+ "id": "src/components/shell-sub-navigation/model.ts::DBShellSubNavigationProps"
133
106
  }
134
107
  }
135
108
  },
@@ -148,13 +121,13 @@ export class DBPage {
148
121
  "attribute": "id",
149
122
  "mutable": false,
150
123
  "complexType": {
151
- "original": "DBPageProps[\"id\"]",
124
+ "original": "DBShellSubNavigationProps[\"id\"]",
152
125
  "resolved": "string",
153
126
  "references": {
154
- "DBPageProps": {
127
+ "DBShellSubNavigationProps": {
155
128
  "location": "import",
156
129
  "path": "./model",
157
- "id": "src/components/page/model.ts::DBPageProps"
130
+ "id": "src/components/shell-sub-navigation/model.ts::DBShellSubNavigationProps"
158
131
  }
159
132
  }
160
133
  },
@@ -173,38 +146,13 @@ export class DBPage {
173
146
  "attribute": "classname",
174
147
  "mutable": false,
175
148
  "complexType": {
176
- "original": "DBPageProps[\"className\"]",
177
- "resolved": "string",
178
- "references": {
179
- "DBPageProps": {
180
- "location": "import",
181
- "path": "./model",
182
- "id": "src/components/page/model.ts::DBPageProps"
183
- }
184
- }
185
- },
186
- "required": false,
187
- "optional": false,
188
- "docs": {
189
- "tags": [],
190
- "text": ""
191
- },
192
- "getter": false,
193
- "setter": false,
194
- "reflect": false
195
- },
196
- "mainClass": {
197
- "type": "string",
198
- "attribute": "main-class",
199
- "mutable": false,
200
- "complexType": {
201
- "original": "DBPageProps[\"mainClass\"]",
149
+ "original": "DBShellSubNavigationProps[\"className\"]",
202
150
  "resolved": "string",
203
151
  "references": {
204
- "DBPageProps": {
152
+ "DBShellSubNavigationProps": {
205
153
  "location": "import",
206
154
  "path": "./model",
207
- "id": "src/components/page/model.ts::DBPageProps"
155
+ "id": "src/components/shell-sub-navigation/model.ts::DBShellSubNavigationProps"
208
156
  }
209
157
  }
210
158
  },
@@ -222,8 +170,9 @@ export class DBPage {
222
170
  }
223
171
  static get states() {
224
172
  return {
225
- "fontsLoaded": {}
173
+ "_id": {},
174
+ "_open": {}
226
175
  };
227
176
  }
228
177
  }
229
- //# sourceMappingURL=page.js.map
178
+ //# sourceMappingURL=shell-sub-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-sub-navigation.js","sourceRoot":"","sources":["../../../src/components/shell-sub-navigation/shell-sub-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { DEFAULT_COLLAPSE, DEFAULT_EXPAND } from \"../../shared/constants\";\nimport { cls, getBoolean, getBooleanAsString, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTooltip } from \"../tooltip/tooltip\";\nimport { DBShellSubNavigationProps, DBShellSubNavigationState } from \"./model\";\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-shell-sub-navigation\",\n})\nexport class DBShellSubNavigation {\n private _ref!: HTMLDivElement | any;\n @Prop() expanded: DBShellSubNavigationProps[\"expanded\"];\n @Prop() expandButtonTooltip: DBShellSubNavigationProps[\"expandButtonTooltip\"];\n @Prop() id: DBShellSubNavigationProps[\"id\"];\n @Prop({attribute: \"classname\"}) className: DBShellSubNavigationProps[\"className\"];\n @State() _id = `db-shell-sub-navigation-${uuid()}`;\n @State() _open = true;\n\n handleToggle(event: any) {\n event.stopPropagation();\n this._open = !this._open;\n }\n getToggleButtonText() {\n if (this.expandButtonTooltip) {\n return this.expandButtonTooltip;\n }\n const fnOutput = () => undefined;\n return fnOutput() ?? (this._open ? DEFAULT_COLLAPSE : DEFAULT_EXPAND);\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-shell-sub-navigation\");\n }\n\n render() {\n return (\n <div\n class={cls(\"db-shell-sub-navigation\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this.id ?? this._id}\n data-open={getBooleanAsString(this._open)}\n >\n <slot></slot>\n <div class=\"db-shell-sub-navigation-button\">\n <db-button\n variant=\"ghost\"\n icon=\"double_chevron_left\"\n onClick={(event) => this.handleToggle(event)}\n aria-controls={this.id ?? this._id}\n aria-expanded={getBooleanAsString(this._open)}\n noText={true}\n >\n <db-tooltip variant=\"label\" placement=\"right\">\n {this.getToggleButtonText()}\n </db-tooltip>\n </db-button>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -41,9 +41,9 @@ export class DBStack {
41
41
  this.enableAttributePassing(this._ref, "db-stack");
42
42
  }
43
43
  render() {
44
- return (h("div", { key: 'd199c5cdabd2916e3afa32c33d0fe1dd9c99da8e', class: cls("db-stack", this.className), ref: (el) => {
44
+ return (h("div", { key: '1df9ac65aea5e376e9fd1e528e993fbad99f6eca', class: cls("db-stack", this.className), ref: (el) => {
45
45
  this._ref = el;
46
- }, id: this.id, "data-gap": this.gap, "data-variant": this.variant, "data-direction": this.direction, "data-alignment": this.alignment, "data-justify-content": this.justifyContent, "data-wrap": getBooleanAsString(this.wrap) }, h("slot", { key: 'a0d56c424e03273b2cc51bfe0fa5df285ecd13e9' })));
46
+ }, id: this.id, "data-gap": this.gap, "data-variant": this.variant, "data-direction": this.direction, "data-alignment": this.alignment, "data-justify-content": this.justifyContent, "data-wrap": getBooleanAsString(this.wrap) }, h("slot", { key: 'bf0f35fdcb667cd698e550349239c124cbd918e2' })));
47
47
  }
48
48
  static get is() { return "db-stack"; }
49
49
  static get properties() {
@@ -62,7 +62,7 @@ export class DBSwitch {
62
62
  }
63
63
  render() {
64
64
  var _a;
65
- return (h("label", { key: 'ff82fbb6934e2968f5b55ff95d2b8e9370613687', class: cls("db-switch", this.className), "data-visual-aid": getBooleanAsString(this.visualAid), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-emphasis": this.emphasis, htmlFor: this._id, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk) }, h("input", { key: '857075d64965d9fd3de30fda3fe4e60fdd937284', type: "checkbox", role: "switch", id: this._id, ref: (el) => {
65
+ return (h("label", { key: '33619eafe3a2e8a47ca679055b96a50d841b3234', class: cls("db-switch", this.className), "data-visual-aid": getBooleanAsString(this.visualAid), "data-size": this.size, "data-hide-label": getHideProp(this.showLabel), "data-emphasis": this.emphasis, htmlFor: this._id, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk) }, h("input", { key: '825623490438794568e4db81afc59ca184bc5bc9', type: "checkbox", role: "switch", id: this._id, ref: (el) => {
66
66
  this._ref = el;
67
67
  }, checked: getBoolean(this.checked, "checked"), value: this.value, disabled: getBoolean(this.disabled, "disabled"), "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, name: this.name, required: getBoolean(this.required, "required"), "data-aid-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-aid-icon-trailing": this.iconTrailing, onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event) }), this.label ? this.label : h("slot", null)));
68
68
  }
@@ -90,9 +90,9 @@ export class DBTabItem {
90
90
  }
91
91
  render() {
92
92
  var _a, _b;
93
- return (h("li", { key: '8e75b4c0074a2ba6c2714c61496d48d23b34d4f2', class: cls("db-tab-item", this.className), role: "none" }, h("label", { key: 'f34a91270dd1888b0f5432cb8de754ba94a1f990', htmlFor: this.id, "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-show-icon": getBooleanAsString((_b = this.showIconLeading) !== null && _b !== void 0 ? _b : this.showIcon), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing), "data-no-text": getBooleanAsString(this.noText) }, h("input", { key: 'd93dbacfce405d658f611d5e11ce09ac17633c43', type: "radio", role: "tab", disabled: getBoolean(this.disabled, "disabled"), "aria-selected": this._selected, checked: getBoolean(this.checked, "checked"), ref: (el) => {
93
+ return (h("li", { key: '6834c0c5cd746c74ab9375fd3b7a0bbfcf9cd8de', class: cls("db-tab-item", this.className), role: "none" }, h("label", { key: '4c02ceeab6f29ac35e88f0c1fdcb5e5e71fabc16', htmlFor: this.id, "data-icon": (_a = this.iconLeading) !== null && _a !== void 0 ? _a : this.icon, "data-icon-trailing": this.iconTrailing, "data-show-icon": getBooleanAsString((_b = this.showIconLeading) !== null && _b !== void 0 ? _b : this.showIcon), "data-show-icon-trailing": getBooleanAsString(this.showIconTrailing), "data-no-text": getBooleanAsString(this.noText) }, h("input", { key: '92462251582b618f63690ed87b55e98d0c781614', type: "radio", role: "tab", disabled: getBoolean(this.disabled, "disabled"), "aria-selected": this._selected, checked: getBoolean(this.checked, "checked"), ref: (el) => {
94
94
  this._ref = el;
95
- }, name: this._name, id: this.id, onInput: (event) => this.handleChange(event) }), this.label ? this.label : null, h("slot", { key: '81b98f7461da602f12818eda38320ebbf11af356' }))));
95
+ }, name: this._name, id: this.id, onInput: (event) => this.handleChange(event) }), this.label ? this.label : null, h("slot", { key: '3b722d44d55702e4345c53de1dce079858c13a30' }))));
96
96
  }
97
97
  static get is() { return "db-tab-item"; }
98
98
  static get properties() {
@@ -46,9 +46,9 @@ export class DBTabList {
46
46
  this._id = this.id || "tab-list-" + uuid();
47
47
  }
48
48
  render() {
49
- return (h("div", { key: '02b9078d6c1c0042ec10ebf5fa65053fc48389f9', class: cls("db-tab-list", this.className), ref: (el) => {
49
+ return (h("div", { key: '16e39937415a1e0e3d830a2c177e08f8962d1562', class: cls("db-tab-list", this.className), ref: (el) => {
50
50
  this._ref = el;
51
- }, id: this._id }, h("ul", { key: '8d94235b080746b9994c38efbaf185f3827fa9f5', role: "tablist" }, h("slot", { key: 'b82859106140c049c0d5b196f563ea9a3002d122' }))));
51
+ }, id: this._id }, h("ul", { key: '485722fc15cc2e30d8ea06f6b7304b7f36d0cb93', role: "tablist" }, h("slot", { key: '32d874b1f39bfceb0746fabb4c8b10786c8c3703' }))));
52
52
  }
53
53
  static get is() { return "db-tab-list"; }
54
54
  static get properties() {
@@ -41,9 +41,9 @@ export class DBTabPanel {
41
41
  this.enableAttributePassing(this._ref, "db-tab-panel");
42
42
  }
43
43
  render() {
44
- return (h("section", { key: 'e9690268e2b088cc1944d3214ac99e42c618de9c', class: cls("db-tab-panel", this.className), role: "tabpanel", ref: (el) => {
44
+ return (h("section", { key: '47b4a0d3f76c40a5c7635c2bc47721d6ce0a7b2b', class: cls("db-tab-panel", this.className), role: "tabpanel", ref: (el) => {
45
45
  this._ref = el;
46
- }, id: this.id }, this.content ? this.content : null, h("slot", { key: 'd8b816054f67f043081c9e4f827903f557b9378f' })));
46
+ }, id: this.id }, this.content ? this.content : null, h("slot", { key: '4fcf2ce1825aba7a4ea2415f5ce1d0bd94ee0847' })));
47
47
  }
48
48
  static get is() { return "db-tab-panel"; }
49
49
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/components/tabs/model.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC;AAEjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,UAAU,CAAU,CAAC","sourcesContent":["import { AlignmentProps, GlobalProps, GlobalState, InitializedState, InputEvent, OrientationProps, WidthProps } from '../../shared/model';\nimport { DBTabItemProps } from '../tab-item/model';\nimport { DBTabPanelProps } from '../tab-panel/model';\nexport const TabsBehaviorList = ['scrollbar', 'arrows'] as const;\nexport type TabsBehaviorType = (typeof TabsBehaviorList)[number];\nexport const TabsInitialSelectedModeList = ['auto', 'manually'] as const;\nexport type TabsInitialSelectedModeType = (typeof TabsInitialSelectedModeList)[number];\nexport type DBSimpleTabProps = DBTabItemProps & DBTabPanelProps;\nexport type DBTabsDefaultProps = {\n /**\n * Change amount of distance if you click on an arrow, only available with behavior=\"arrows\"\n */\n arrowScrollDistance?: number | string;\n /**\n * Show a scrollbar or buttons with arrows to navigate for horizontal tabs with overflow visible\n */\n behavior?: TabsBehaviorType;\n\n /**\n * Default behavior is auto selecting the first tab, change selected tab by index\n */\n initialSelectedIndex?: number | string;\n\n /**\n * Default behavior is auto selecting the first tab, disable it with 'manually'\n */\n initialSelectedMode?: TabsInitialSelectedModeType;\n\n /**\n * The name of the tab bar, is required for grouping multiple tabs together. Will overwrite names from children.\n */\n name?: string;\n\n /**\n * Provide simple tabs with label + text as content\n */\n tabs?: DBSimpleTabProps[] | string;\n};\nexport type DBTabsEventProps = {\n /**\n * Informs the user if the current tab index has changed.\n */\n indexChange?: (index?: number) => void;\n\n /**\n * Informs the user if the current tab index has changed.\n */\n onIndexChange?: (index?: number) => void;\n /**\n * Informs the user if another tab has been selected.\n */\n onTabSelect?: (event?: InputEvent<HTMLElement>) => void;\n\n /**\n * Informs the user if another tab has been selected.\n */\n tabSelect?: (event?: InputEvent<HTMLElement>) => void;\n};\nexport type DBTabsProps = DBTabsDefaultProps & GlobalProps & OrientationProps & WidthProps & AlignmentProps & DBTabsEventProps;\nexport type DBTabsDefaultState = {\n _name: string;\n scrollContainer?: Element | null;\n scroll: (left?: boolean) => void;\n showScrollLeft?: boolean;\n showScrollRight?: boolean;\n evaluateScrollButtons: (tabList: Element) => void;\n convertTabs: () => DBSimpleTabProps[];\n initTabList: () => void;\n initTabs: (init?: boolean) => void;\n handleChange: (event: InputEvent<HTMLElement>) => void;\n};\nexport type DBTabsState = DBTabsDefaultState & GlobalState & InitializedState"]}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/components/tabs/model.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC;AAEjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAM,EAAE,UAAU,CAAU,CAAC","sourcesContent":["import { AlignmentProps, GlobalProps, GlobalState, InitializedState, InputEvent, OrientationProps, OverflowScrollButtonProps, OverflowScrollButtonState, WidthProps } from '../../shared/model';\nimport { DBTabItemProps } from '../tab-item/model';\nimport { DBTabPanelProps } from '../tab-panel/model';\nexport const TabsBehaviorList = ['scrollbar', 'arrows'] as const;\nexport type TabsBehaviorType = (typeof TabsBehaviorList)[number];\nexport const TabsInitialSelectedModeList = ['auto', 'manually'] as const;\nexport type TabsInitialSelectedModeType = (typeof TabsInitialSelectedModeList)[number];\nexport type DBSimpleTabProps = DBTabItemProps & DBTabPanelProps;\nexport type DBTabsDefaultProps = {\n /**\n * Show a scrollbar or buttons with arrows to navigate for horizontal tabs with overflow visible\n */\n behavior?: TabsBehaviorType;\n\n /**\n * Default behavior is auto selecting the first tab, change selected tab by index\n */\n initialSelectedIndex?: number | string;\n\n /**\n * Default behavior is auto selecting the first tab, disable it with 'manually'\n */\n initialSelectedMode?: TabsInitialSelectedModeType;\n\n /**\n * The name of the tab bar, is required for grouping multiple tabs together. Will overwrite names from children.\n */\n name?: string;\n\n /**\n * Provide simple tabs with label + text as content\n */\n tabs?: DBSimpleTabProps[] | string;\n};\nexport type DBTabsEventProps = {\n /**\n * Informs the user if the current tab index has changed.\n */\n indexChange?: (index?: number) => void;\n\n /**\n * Informs the user if the current tab index has changed.\n */\n onIndexChange?: (index?: number) => void;\n /**\n * Informs the user if another tab has been selected.\n */\n onTabSelect?: (event?: InputEvent<HTMLElement>) => void;\n\n /**\n * Informs the user if another tab has been selected.\n */\n tabSelect?: (event?: InputEvent<HTMLElement>) => void;\n};\nexport type DBTabsProps = DBTabsDefaultProps & GlobalProps & OrientationProps & WidthProps & AlignmentProps & OverflowScrollButtonProps & AlignmentProps & DBTabsEventProps;\nexport type DBTabsDefaultState = {\n _name: string;\n scrollContainer?: Element | null;\n convertTabs: () => DBSimpleTabProps[];\n initTabList: () => void;\n initTabs: (init?: boolean) => void;\n handleChange: (event: InputEvent<HTMLElement>) => void;\n};\nexport type DBTabsState = DBTabsDefaultState & GlobalState & InitializedState & OverflowScrollButtonState"]}
@@ -63,7 +63,7 @@ export class DBTabs {
63
63
  }
64
64
  initTabs(init) {
65
65
  if (this._ref) {
66
- const tabItems = Array.from(this._ref.getElementsByClassName("db-tab-item"));
66
+ const tabItems = Array.from(this._ref.querySelectorAll(":is(:scope > db-tab-list .db-tab-item, :scope > .db-tab-list .db-tab-item)"));
67
67
  const tabPanels = Array.from(this._ref.querySelectorAll(":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)"));
68
68
  for (const tabItem of tabItems) {
69
69
  const index = tabItems.indexOf(tabItem);
@@ -190,10 +190,10 @@ export class DBTabs {
190
190
  }
191
191
  render() {
192
192
  var _a, _b, _c, _d;
193
- return (h("div", { key: 'f2927c65e3e2199780a8d5a8f5adc04dc48241e1', class: cls("db-tabs", this.className), ref: (el) => {
193
+ return (h("div", { key: 'f14b1aec9550feb2cf2355717126a4eb587ec3cf', class: cls("db-tabs", this.className), ref: (el) => {
194
194
  this._ref = el;
195
- }, id: this._id, "data-orientation": this.orientation, "data-scroll-behavior": this.behavior, "data-alignment": (_a = this.alignment) !== null && _a !== void 0 ? _a : "start", "data-width": (_b = this.width) !== null && _b !== void 0 ? _b : "auto", onInput: (event) => this.handleChange(event), onChange: (event) => this.handleChange(event) }, this.showScrollLeft ? (h("db-button", { class: "tabs-scroll-left", variant: "ghost", icon: "chevron_left", type: "button", noText: true, onClick: () => this.scroll(true) }, "Scroll left")) : null, this.tabs ? (h(Fragment, null, h("db-tab-list", null, (_c = this.convertTabs()) === null || _c === void 0 ? void 0 : _c.map((tab, index) => (h("db-tab-item", { key: this.name + "tab-item" + index, active: tab.active, label: tab.label, iconTrailing: tab.iconTrailing, icon: tab.icon, noText: tab.noText })))), (_d = this.convertTabs()) === null || _d === void 0 ? void 0 :
196
- _d.map((tab, index) => (h("db-tab-panel", { key: this.name + "tab-panel" + index, content: tab.content }, tab.children))))) : null, this.showScrollRight ? (h("db-button", { class: "tabs-scroll-right", variant: "ghost", icon: "chevron_right", type: "button", noText: true, onClick: () => this.scroll() }, "Scroll right")) : null, h("slot", { key: 'e34a5daca2d4be08527f000f1c9f9d8d405d16dd' })));
195
+ }, id: this._id, "data-orientation": this.orientation, "data-scroll-behavior": this.behavior, "data-alignment": (_a = this.alignment) !== null && _a !== void 0 ? _a : "start", "data-width": (_b = this.width) !== null && _b !== void 0 ? _b : "auto", onInput: (event) => this.handleChange(event), onChange: (event) => this.handleChange(event) }, this.showScrollLeft ? (h("db-button", { class: "overflow-scroll-left-button", variant: "ghost", icon: "chevron_left", type: "button", noText: true, onClick: () => this.scroll(true) }, "Scroll left")) : null, this.tabs ? (h(Fragment, null, h("db-tab-list", null, (_c = this.convertTabs()) === null || _c === void 0 ? void 0 : _c.map((tab, index) => (h("db-tab-item", { key: this.name + "tab-item" + index, active: tab.active, label: tab.label, iconTrailing: tab.iconTrailing, icon: tab.icon, noText: tab.noText })))), (_d = this.convertTabs()) === null || _d === void 0 ? void 0 :
196
+ _d.map((tab, index) => (h("db-tab-panel", { key: this.name + "tab-panel" + index, content: tab.content }, tab.children))))) : null, this.showScrollRight ? (h("db-button", { class: "overflow-scroll-right-button", variant: "ghost", icon: "chevron_right", type: "button", noText: true, onClick: () => this.scroll() }, "Scroll right")) : null, h("slot", { key: '84663c8df2015a93453f6ac240ab69e4df495ebe' })));
197
197
  }
198
198
  static get is() { return "db-tabs"; }
199
199
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOxC,OAAO,EACL,SAAS,EACT,CAAC,EACD,QAAQ,EACR,KAAK,EACL,KAAK,EAEL,IAAI,EACJ,KAAK,GACN,MAAM,eAAe,CAAC;AAGvB;;;GAGG;AAIH,MAAM,OAAO,MAAM;IAHlB;QAsBU,QAAG,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;QACvB,UAAK,GAAG,EAAE,CAAC;QACX,gBAAW,GAAG,KAAK,CAAC;QACpB,mBAAc,GAAG,KAAK,CAAC;QACvB,oBAAe,GAAG,KAAK,CAAC;QACxB,oBAAe,GAAG,IAAI,CAAC;KA+QjC;IA7QC,WAAW;QACT,IAAI,CAAC;YACH,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,IAAI,CAAC,IAA0B,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,qBAAqB,CAAC,KAAc;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,WAAW,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe;YAClB,WAAW,IAAI,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IAC5E,CAAC;IACD,MAAM,CAAC,IAAc;;QACnB,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,CAAC,CAAC;QACb,CAAC;QACD,MAAA,IAAI,CAAC,eAAe,0CAAE,QAAQ,CAAC;YAC7B,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IACD,WAAW;QACT,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,SAAS,GACb,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;gBAC5C,IAAI,SAAS,EAAE,CAAC;oBACd,SAAS,CAAC,YAAY,CACpB,kBAAkB,EAClB,IAAI,CAAC,WAAW,IAAI,YAAY,CACjC,CAAC;oBACF,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;wBACjC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;wBACtC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;4BACxC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAc;QACrB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAChD,CAAC;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CACxB,oEAAoE,CACrE,CACF,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAW,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;oBACnB,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;wBACd,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,QAAQ,KAAK,EAAE,CAAC;wBAC3C,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;wBACjC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC;wBACjB,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBACvC,IAAI,SAAS,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;4BAC7B,KAAK,CAAC,YAAY,CAChB,eAAe,EACf,GAAG,IAAI,CAAC,KAAK,cAAc,KAAK,EAAE,CACnC,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,EAAE,CAAC;wBACT,cAAc;wBACd,MAAM,UAAU,GACd,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,KAAK,MAAM,CAAC;wBACnE,MAAM,gBAAgB,GACpB,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;4BAClD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,KAAK,CAAC;wBAC9C,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAAC;4BACnC,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,IAAI,KAAK,CAAC,EAAE;oBAAE,SAAS;gBACvB,MAAM,KAAK,GAAW,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC/C,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,cAAc,KAAK,EAAE,CAAC;gBAC9C,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,QAAQ,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IACD,YAAY,CAAC,KAA8B;;QACzC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,IACE,MAAM;gBACN,MAAM,CAAC,aAAa;gBACpB,CAAA,MAAA,MAAM,CAAC,aAAa,0CAAE,QAAQ,MAAK,IAAI,EACvC,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC;gBACnD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;oBACnC,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC7D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;4BACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACjC,CAAC;wBACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC7B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAC5B,OAA2B,EAC3B,qBAA6B;QAE7B,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACvD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,IACE,IAAI;oBACJ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAChE,CAAC;oBACD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACnD,OAAO,CAAC,YAAY,CAClB,IAAI,CAAC,IAAI,EACT,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CACpD,CAAC;oBACF,IAAI,cAAc,EAAE,CAAC;wBACnB,yDAAyD;wBACzD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACxD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;oBAClD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;wBAC7B,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;4BAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;4BACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;oBACxB,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;IAID,MAAM;QACJ,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,MAAM;;QACJ,OAAO,CACL,4DACE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EACrC,GAAG,EAAE,CAAC,EAAO,EAAE,EAAE;gBACf,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACjB,CAAC,EACD,EAAE,EAAE,IAAI,CAAC,GAAG,sBACM,IAAI,CAAC,WAAW,0BACZ,IAAI,CAAC,QAAQ,oBACnB,MAAA,IAAI,CAAC,SAAS,mCAAI,OAAO,gBAC7B,MAAA,IAAI,CAAC,KAAK,mCAAI,MAAM,EAChC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAE5C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CACrB,iBACE,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,cAAc,EACnB,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAGtB,CACb,CAAC,CAAC,CAAC,IAAI;YACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACX,EAAC,QAAQ;gBACP,uBACG,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACvC,mBACE,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,KAAK,EACnC,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,YAAY,EAAE,GAAG,CAAC,YAAY,EAC9B,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,MAAM,EAAE,GAAG,CAAC,MAAM,GACL,CAChB,CAAC,CACU,EACb,MAAA,IAAI,CAAC,WAAW,EAAE;mBAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACvC,oBACE,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,WAAW,GAAG,KAAK,EACpC,OAAO,EAAE,GAAG,CAAC,OAAO,IAEnB,GAAG,CAAC,QAAQ,CACA,CAChB,CAAC,CACO,CACZ,CAAC,CAAC,CAAC,IAAI;YACP,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CACtB,iBACE,KAAK,EAAC,mBAAmB,EACzB,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,eAAe,EACpB,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,mBAGlB,CACb,CAAC,CAAC,CAAC,IAAI;YACR,8DAAa,CACT,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { InputEvent } from \"../../shared/model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tabs\",\n})\nexport class DBTabs {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n @Prop() arrowScrollDistance: DBTabsProps[\"arrowScrollDistance\"];\n @Prop() orientation: DBTabsProps[\"orientation\"];\n @Prop() behavior: DBTabsProps[\"behavior\"];\n @Prop() initialSelectedMode: DBTabsProps[\"initialSelectedMode\"];\n @Prop() initialSelectedIndex: DBTabsProps[\"initialSelectedIndex\"];\n @Event() indexChange: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onIndexChange\"]>[number]\n > | void;\n @Event() tabSelect: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onTabSelect\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @State() _id = \"tabs-\" + uuid();\n @State() _name = \"\";\n @State() initialized = false;\n @State() showScrollLeft = false;\n @State() showScrollRight = false;\n @State() scrollContainer = null;\n\n convertTabs() {\n try {\n if (typeof this.tabs === \"string\") {\n return JSON.parse(this.tabs as string);\n }\n return this.tabs as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft = needsScroll && tList.scrollLeft > 1;\n this.showScrollRight =\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;\n }\n scroll(left?: boolean) {\n let step = Number(this.arrowScrollDistance) || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList() {\n if (this._ref) {\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation || \"horizontal\"\n );\n if (this.behavior === \"arrows\") {\n this.scrollContainer = container;\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref) {\n const tabItems = Array.from<Element>(\n this._ref.getElementsByClassName(\"db-tab-item\")\n );\n const tabPanels = Array.from<Element>(\n this._ref.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n }\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode || this.initialSelectedMode === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex == null && index === 0) ||\n Number(this.initialSelectedIndex) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name}-tab-${index}`);\n }\n }\n }\n handleChange(event: InputEvent<HTMLElement>) {\n event.stopPropagation();\n if (event.target) {\n const target = event.target as HTMLElement;\n const parent = target.parentElement;\n if (\n parent &&\n parent.parentElement &&\n parent.parentElement?.nodeName === \"LI\"\n ) {\n const tabItem = parent.parentElement.parentElement;\n if (tabItem) {\n const list = tabItem.parentElement;\n if (list) {\n const indices = Array.from(list.childNodes).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\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._ref && this.initialized) {\n this.initTabList();\n this.initTabs(true);\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.removedNodes.length || mutation.addedNodes.length) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\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-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tabs\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-orientation={this.orientation}\n data-scroll-behavior={this.behavior}\n data-alignment={this.alignment ?? \"start\"}\n data-width={this.width ?? \"auto\"}\n onInput={(event) => this.handleChange(event)}\n onChange={(event) => this.handleChange(event)}\n >\n {this.showScrollLeft ? (\n <db-button\n class=\"tabs-scroll-left\"\n variant=\"ghost\"\n icon=\"chevron_left\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll(true)}\n >\n Scroll left\n </db-button>\n ) : null}\n {this.tabs ? (\n <Fragment>\n <db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-item\n key={this.name + \"tab-item\" + index}\n active={tab.active}\n label={tab.label}\n iconTrailing={tab.iconTrailing}\n icon={tab.icon}\n noText={tab.noText}\n ></db-tab-item>\n ))}\n </db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-panel\n key={this.name + \"tab-panel\" + index}\n content={tab.content}\n >\n {tab.children}\n </db-tab-panel>\n ))}\n </Fragment>\n ) : null}\n {this.showScrollRight ? (\n <db-button\n class=\"tabs-scroll-right\"\n variant=\"ghost\"\n icon=\"chevron_right\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll()}\n >\n Scroll right\n </db-button>\n ) : null}\n <slot></slot>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { InputEvent } from \"../../shared/model\";\nimport { cls, uuid } from \"../../utils\";\nimport { DBButton } from \"../button/button\";\nimport { DBTabItem } from \"../tab-item/tab-item\";\nimport { DBTabList } from \"../tab-list/tab-list\";\nimport { DBTabPanel } from \"../tab-panel/tab-panel\";\nimport { DBSimpleTabProps, DBTabsProps, DBTabsState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-tabs\",\n})\nexport class DBTabs {\n private _ref!: HTMLDivElement | any;\n @Prop() id: DBTabsProps[\"id\"];\n @Prop() name: DBTabsProps[\"name\"];\n @Prop() tabs: DBTabsProps[\"tabs\"];\n @Prop() arrowScrollDistance: DBTabsProps[\"arrowScrollDistance\"];\n @Prop() orientation: DBTabsProps[\"orientation\"];\n @Prop() behavior: DBTabsProps[\"behavior\"];\n @Prop() initialSelectedMode: DBTabsProps[\"initialSelectedMode\"];\n @Prop() initialSelectedIndex: DBTabsProps[\"initialSelectedIndex\"];\n @Event() indexChange: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onIndexChange\"]>[number]\n > | void;\n @Event() tabSelect: EventEmitter<\n Parameters<Required<DBTabsProps>[\"onTabSelect\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTabsProps[\"className\"];\n @Prop() alignment: DBTabsProps[\"alignment\"];\n @Prop() width: DBTabsProps[\"width\"];\n @State() _id = \"tabs-\" + uuid();\n @State() _name = \"\";\n @State() initialized = false;\n @State() showScrollLeft = false;\n @State() showScrollRight = false;\n @State() scrollContainer = null;\n\n convertTabs() {\n try {\n if (typeof this.tabs === \"string\") {\n return JSON.parse(this.tabs as string);\n }\n return this.tabs as DBSimpleTabProps[];\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n evaluateScrollButtons(tList: Element) {\n const needsScroll = tList.scrollWidth > tList.clientWidth;\n this.showScrollLeft = needsScroll && tList.scrollLeft > 1;\n this.showScrollRight =\n needsScroll && tList.scrollLeft < tList.scrollWidth - tList.clientWidth;\n }\n scroll(left?: boolean) {\n let step = Number(this.arrowScrollDistance) || 100;\n if (left) {\n step *= -1;\n }\n this.scrollContainer?.scrollBy({\n top: 0,\n left: step,\n behavior: \"smooth\",\n });\n }\n initTabList() {\n if (this._ref) {\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const container: HTMLElement | null =\n tabList.querySelector('[role=\"tablist\"]');\n if (container) {\n container.setAttribute(\n \"aria-orientation\",\n this.orientation || \"horizontal\"\n );\n if (this.behavior === \"arrows\") {\n this.scrollContainer = container;\n this.evaluateScrollButtons(container);\n container.addEventListener(\"scroll\", () => {\n this.evaluateScrollButtons(container);\n });\n }\n }\n }\n }\n }\n initTabs(init?: boolean) {\n if (this._ref) {\n const tabItems = Array.from<Element>(\n this._ref.querySelectorAll(\n \":is(:scope > db-tab-list .db-tab-item, :scope > .db-tab-list .db-tab-item)\"\n )\n );\n const tabPanels = Array.from<Element>(\n this._ref.querySelectorAll(\n \":is(:scope > .db-tab-panel, :scope > db-tab-panel > .db-tab-panel)\"\n )\n );\n for (const tabItem of tabItems) {\n const index: number = tabItems.indexOf(tabItem);\n const label = tabItem.querySelector(\"label\");\n const input = tabItem.querySelector(\"input\");\n if (input && label) {\n if (!input.id) {\n const tabId = `${this._name}-tab-${index}`;\n label.setAttribute(\"for\", tabId);\n input.id = tabId;\n input.setAttribute(\"name\", this._name);\n if (tabPanels.length > index) {\n input.setAttribute(\n \"aria-controls\",\n `${this._name}-tab-panel-${index}`\n );\n }\n }\n if (init) {\n // Auto select\n const autoSelect =\n !this.initialSelectedMode || this.initialSelectedMode === \"auto\";\n const shouldAutoSelect =\n (this.initialSelectedIndex == null && index === 0) ||\n Number(this.initialSelectedIndex) === index;\n if (autoSelect && shouldAutoSelect) {\n input.click();\n }\n }\n }\n }\n for (const panel of tabPanels) {\n if (panel.id) continue;\n const index: number = tabPanels.indexOf(panel);\n panel.id = `${this._name}-tab-panel-${index}`;\n panel.setAttribute(\"aria-labelledby\", `${this._name}-tab-${index}`);\n }\n }\n }\n handleChange(event: InputEvent<HTMLElement>) {\n event.stopPropagation();\n if (event.target) {\n const target = event.target as HTMLElement;\n const parent = target.parentElement;\n if (\n parent &&\n parent.parentElement &&\n parent.parentElement?.nodeName === \"LI\"\n ) {\n const tabItem = parent.parentElement.parentElement;\n if (tabItem) {\n const list = tabItem.parentElement;\n if (list) {\n const indices = Array.from(list.childNodes).indexOf(tabItem);\n if (this.indexChange) {\n this.indexChange.emit(indices);\n }\n if (this.tabSelect) {\n this.tabSelect.emit(event);\n }\n }\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._ref && this.initialized) {\n this.initTabList();\n this.initTabs(true);\n const tabList = this._ref.querySelector(\".db-tab-list\");\n if (tabList) {\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.removedNodes.length || mutation.addedNodes.length) {\n this.initTabList();\n this.initTabs();\n }\n });\n });\n observer.observe(tabList, {\n childList: true,\n subtree: true,\n });\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-tabs\");\n this._id = this.id || this._id;\n this._name = `tabs-${this.name || uuid()}`;\n this.initialized = true;\n this.watch0Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-tabs\", this.className)}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-orientation={this.orientation}\n data-scroll-behavior={this.behavior}\n data-alignment={this.alignment ?? \"start\"}\n data-width={this.width ?? \"auto\"}\n onInput={(event) => this.handleChange(event)}\n onChange={(event) => this.handleChange(event)}\n >\n {this.showScrollLeft ? (\n <db-button\n class=\"overflow-scroll-left-button\"\n variant=\"ghost\"\n icon=\"chevron_left\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll(true)}\n >\n Scroll left\n </db-button>\n ) : null}\n {this.tabs ? (\n <Fragment>\n <db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-item\n key={this.name + \"tab-item\" + index}\n active={tab.active}\n label={tab.label}\n iconTrailing={tab.iconTrailing}\n icon={tab.icon}\n noText={tab.noText}\n ></db-tab-item>\n ))}\n </db-tab-list>\n {this.convertTabs()?.map((tab, index) => (\n <db-tab-panel\n key={this.name + \"tab-panel\" + index}\n content={tab.content}\n >\n {tab.children}\n </db-tab-panel>\n ))}\n </Fragment>\n ) : null}\n {this.showScrollRight ? (\n <db-button\n class=\"overflow-scroll-right-button\"\n variant=\"ghost\"\n icon=\"chevron_right\"\n type=\"button\"\n noText={true}\n onClick={() => this.scroll()}\n >\n Scroll right\n </db-button>\n ) : null}\n <slot></slot>\n </div>\n );\n }\n}\n"]}
@@ -58,9 +58,9 @@ export class DBTag {
58
58
  }
59
59
  render() {
60
60
  var _a;
61
- return (h("div", { key: 'db86fabfde3f9d1e41a863f58db34eb88d067440', class: cls("db-tag", this.className), ref: (el) => {
61
+ return (h("div", { key: 'd577e316471a4bfdaf27fc8a77ceeba7507b38f2', class: cls("db-tag", this.className), ref: (el) => {
62
62
  this._ref = el;
63
- }, id: this.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_a = this.showCheckState) !== null && _a !== void 0 ? _a : true), "data-show-icon": getBooleanAsString(this.showIcon), "data-no-text": getBooleanAsString(this.noText), "data-overflow": getBooleanAsString(this.overflow) }, h("slot", { key: '1bef11e30ca670fa5bf1d438cd12c43e233cded4', name: "content" }), h("slot", { key: '3f94141f60688d0730478711748fa9dbb194f810' }), this.text ? this.text : null, this.behavior === "removable" ? (h("button", { class: "db-button db-tab-remove-button", "data-icon": "cross", "data-size": "small", "data-no-text": "true", "data-variant": "ghost", type: "button", onClick: (event) => this.handleRemove(event) }, h("db-tooltip", { variant: "label" }, this.getRemoveButtonText()))) : null));
63
+ }, id: this.id, "data-semantic": this.semantic, "data-emphasis": this.emphasis, "data-icon": this.icon, "data-show-check-state": getBooleanAsString((_a = this.showCheckState) !== null && _a !== void 0 ? _a : true), "data-show-icon": getBooleanAsString(this.showIcon), "data-no-text": getBooleanAsString(this.noText), "data-overflow": getBooleanAsString(this.overflow) }, h("slot", { key: 'df45173138f69af11d240e7a1455e61e3e261e37', name: "content" }), h("slot", { key: 'dd9276c68ba80eaf81def04664a605e41e42f7b4' }), this.text ? this.text : null, this.behavior === "removable" ? (h("button", { class: "db-button db-tab-remove-button", "data-icon": "cross", "data-size": "small", "data-no-text": "true", "data-variant": "ghost", type: "button", onClick: (event) => this.handleRemove(event) }, h("db-tooltip", { variant: "label" }, this.getRemoveButtonText()))) : null));
64
64
  }
65
65
  static get is() { return "db-tag"; }
66
66
  static get properties() {
@@ -31,7 +31,7 @@ export class DBTextarea {
31
31
  DEFAULT_INVALID_MESSAGE;
32
32
  if (hasVoiceOver()) {
33
33
  this._voiceOverFallback = this._invalidMessage;
34
- delay(() => (this._voiceOverFallback = ""), 1000);
34
+ void delay(() => (this._voiceOverFallback = ""), 1000);
35
35
  }
36
36
  }
37
37
  else if (this.hasValidState() &&
@@ -40,7 +40,7 @@ export class DBTextarea {
40
40
  this._descByIds = this._validMessageId;
41
41
  if (hasVoiceOver()) {
42
42
  this._voiceOverFallback = (_d = this.validMessage) !== null && _d !== void 0 ? _d : DEFAULT_VALID_MESSAGE;
43
- delay(() => (this._voiceOverFallback = ""), 1000);
43
+ void delay(() => (this._voiceOverFallback = ""), 1000);
44
44
  }
45
45
  }
46
46
  else if (stringPropVisible(this.message, this.showMessage)) {
@@ -150,10 +150,10 @@ export class DBTextarea {
150
150
  }
151
151
  render() {
152
152
  var _a, _b, _c, _d, _e;
153
- return (h("div", { key: 'bb263569669e5cd6e3756cc85b3123839c11619b', class: cls("db-textarea", this.className), "data-variant": this.variant, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-hide-label": getHideProp(this.showLabel) }, h("label", { key: '1a055a4b09653c850f52b6eb35d68fbff6c49646', htmlFor: this._id }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL), h("textarea", { key: '99a17e3705b0470adb832b617b8772aebff91e1b', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, "data-field-sizing": this.fieldSizing, ref: (el) => {
153
+ return (h("div", { key: 'aa5bd58258d8b5f0156303615865b49fe8dd18e7', class: cls("db-textarea", this.className), "data-variant": this.variant, "data-hide-asterisk": getHideProp(this.showRequiredAsterisk), "data-hide-label": getHideProp(this.showLabel) }, h("label", { key: '4c26e0c612dcb8846ba5704fe6f464219639d1e0', htmlFor: this._id }, (_a = this.label) !== null && _a !== void 0 ? _a : DEFAULT_LABEL), h("textarea", { key: '531517b8ec2f1c5f3383367009cb07d8396014fe', "aria-invalid": this.validation === "invalid", "data-custom-validity": this.validation, "data-field-sizing": this.fieldSizing, ref: (el) => {
154
154
  this._ref = el;
155
155
  }, id: this._id, "data-resize": this.resize, "data-hide-resizer": getHideProp((_b = this.showResizer) !== null && _b !== void 0 ? _b : true), disabled: getBoolean(this.disabled, "disabled"), required: getBoolean(this.required, "required"), readOnly: getBoolean(this.readOnly, "readOnly") ||
156
- getBoolean(this.readonly, "readonly"), form: this.form, maxLength: getNumber(this.maxLength, this.maxlength), minLength: getNumber(this.minLength, this.minlength), name: this.name, wrap: this.wrap, spellcheck: this.spellCheck, autocomplete: this.autocomplete, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), value: (_c = this.value) !== null && _c !== void 0 ? _c : this._value, "aria-describedby": (_d = this.ariaDescribedBy) !== null && _d !== void 0 ? _d : this._descByIds, placeholder: (_e = this.placeholder) !== null && _e !== void 0 ? _e : DEFAULT_PLACEHOLDER, rows: getNumber(this.rows, DEFAULT_ROWS), cols: getNumber(this.cols) }), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: 'c18508018f0d445a629f716e633278610f1c975d', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: 'cddc433e7eae983b9047bdb01380f8f801ac40c2', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
156
+ getBoolean(this.readonly, "readonly"), form: this.form, maxLength: getNumber(this.maxLength, this.maxlength), minLength: getNumber(this.minLength, this.minlength), name: this.name, wrap: this.wrap, spellcheck: this.spellCheck, autocomplete: this.autocomplete, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onBlur: (event) => this.handleBlur(event), onFocus: (event) => this.handleFocus(event), value: (_c = this.value) !== null && _c !== void 0 ? _c : this._value, "aria-describedby": (_d = this.ariaDescribedBy) !== null && _d !== void 0 ? _d : this._descByIds, placeholder: (_e = this.placeholder) !== null && _e !== void 0 ? _e : DEFAULT_PLACEHOLDER, rows: getNumber(this.rows, DEFAULT_ROWS), cols: getNumber(this.cols) }), stringPropVisible(this.message, this.showMessage) ? (h("db-infotext", { size: "small", icon: this.messageIcon, id: this._messageId }, this.message)) : null, this.hasValidState() ? (h("db-infotext", { size: "small", semantic: "successful", id: this._validMessageId }, this.validMessage || DEFAULT_VALID_MESSAGE)) : null, h("db-infotext", { key: '968b24ce95596a8c280c379b01337c2fce9dfcae', size: "small", semantic: "critical", id: this._invalidMessageId }, this._invalidMessage), h("span", { key: 'e952c1a870d448b052e22bb799c1d1774a1c3686', "data-visually-hidden": "true", role: "status" }, this._voiceOverFallback)));
157
157
  }
158
158
  static get is() { return "db-textarea"; }
159
159
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/components/textarea/textarea.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\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 cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | any;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showRequiredAsterisk: DBTextareaProps[\"showRequiredAsterisk\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() fieldSizing: DBTextareaProps[\"fieldSizing\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() showResizer: DBTextareaProps[\"showResizer\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() readonly: DBTextareaProps[\"readonly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() maxlength: DBTextareaProps[\"maxlength\"];\n @Prop() minlength: DBTextareaProps[\"minlength\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() ariaDescribedBy: DBTextareaProps[\"ariaDescribedBy\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = undefined;\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = undefined;\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n this.handleValidation();\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\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 data-field-sizing={this.fieldSizing}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n data-hide-resizer={getHideProp(this.showResizer ?? true)}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={getNumber(this.rows, DEFAULT_ROWS)}\n cols={getNumber(this.cols)}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/components/textarea/textarea.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\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 cls,\n delay,\n getBoolean,\n getHideProp,\n getNumber,\n hasVoiceOver,\n stringPropVisible,\n uuid,\n} from \"../../utils\";\nimport {\n handleFrameworkEventAngular,\n handleFrameworkEventVue,\n} from \"../../utils/form-components\";\nimport { DBInfotext } from \"../infotext/infotext\";\nimport { DBTextareaProps, DBTextareaState } from \"./model\";\n\nimport {\n Component,\n h,\n Fragment,\n Watch,\n Event,\n EventEmitter,\n Prop,\n State,\n} from \"@stencil/core\";\n\n\n/**\n * @slot children - This is a default/unnamed slot\n\n */\n @Component({\n tag: \"db-textarea\",\n})\nexport class DBTextarea {\n private _ref!: HTMLTextAreaElement | any;\n @Prop() id: DBTextareaProps[\"id\"];\n @Prop() invalidMessage: DBTextareaProps[\"invalidMessage\"];\n @Prop() message: DBTextareaProps[\"message\"];\n @Prop() showMessage: DBTextareaProps[\"showMessage\"];\n @Prop() value: DBTextareaProps[\"value\"];\n @Prop() validMessage: DBTextareaProps[\"validMessage\"];\n @Prop() validation: DBTextareaProps[\"validation\"];\n @Prop() required: DBTextareaProps[\"required\"];\n @Prop() minLength: DBTextareaProps[\"minLength\"];\n @Prop() maxLength: DBTextareaProps[\"maxLength\"];\n @Event() input: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onInput\"]>[number]\n > | void;\n @Event() change: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onChange\"]>[number]\n > | void;\n @Event() blur: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onBlur\"]>[number]\n > | void;\n @Event() focus: EventEmitter<\n Parameters<Required<DBTextareaProps>[\"onFocus\"]>[number]\n > | void;\n @Prop({attribute: \"classname\"}) className: DBTextareaProps[\"className\"];\n @Prop() variant: DBTextareaProps[\"variant\"];\n @Prop() showRequiredAsterisk: DBTextareaProps[\"showRequiredAsterisk\"];\n @Prop() showLabel: DBTextareaProps[\"showLabel\"];\n @Prop() label: DBTextareaProps[\"label\"];\n @Prop() fieldSizing: DBTextareaProps[\"fieldSizing\"];\n @Prop() resize: DBTextareaProps[\"resize\"];\n @Prop() showResizer: DBTextareaProps[\"showResizer\"];\n @Prop() disabled: DBTextareaProps[\"disabled\"];\n @Prop() readOnly: DBTextareaProps[\"readOnly\"];\n @Prop() readonly: DBTextareaProps[\"readonly\"];\n @Prop() form: DBTextareaProps[\"form\"];\n @Prop() maxlength: DBTextareaProps[\"maxlength\"];\n @Prop() minlength: DBTextareaProps[\"minlength\"];\n @Prop() name: DBTextareaProps[\"name\"];\n @Prop() wrap: DBTextareaProps[\"wrap\"];\n @Prop() spellCheck: DBTextareaProps[\"spellCheck\"];\n @Prop() autocomplete: DBTextareaProps[\"autocomplete\"];\n @Prop() ariaDescribedBy: DBTextareaProps[\"ariaDescribedBy\"];\n @Prop() placeholder: DBTextareaProps[\"placeholder\"];\n @Prop() rows: DBTextareaProps[\"rows\"];\n @Prop() cols: DBTextareaProps[\"cols\"];\n @Prop() messageIcon: DBTextareaProps[\"messageIcon\"];\n @State() _id = undefined;\n @State() _messageId = undefined;\n @State() _validMessageId = undefined;\n @State() _invalidMessageId = undefined;\n @State() _invalidMessage = undefined;\n @State() _descByIds = undefined;\n @State() _value = \"\";\n @State() _voiceOverFallback = \"\";\n\n hasValidState() {\n return !!(this.validMessage ?? this.validation === \"valid\");\n }\n handleValidation() {\n /* For a11y reasons we need to map the correct message with the textarea */\n if (!this._ref?.validity.valid || this.validation === \"invalid\") {\n this._descByIds = this._invalidMessageId;\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this._invalidMessage;\n void delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (\n this.hasValidState() &&\n this._ref?.validity.valid &&\n (this.required || this.minLength || this.maxLength)\n ) {\n this._descByIds = this._validMessageId;\n if (hasVoiceOver()) {\n this._voiceOverFallback = this.validMessage ?? DEFAULT_VALID_MESSAGE;\n void delay(() => (this._voiceOverFallback = \"\"), 1000);\n }\n } else if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = this._messageId;\n } else {\n this._descByIds = undefined;\n }\n }\n handleInput(event: InputEvent<HTMLTextAreaElement>) {\n if (this.input) {\n this.input.emit(event);\n }\n this.handleValidation();\n }\n handleChange(event: ChangeEvent<HTMLTextAreaElement>) {\n if (this.change) {\n this.change.emit(event);\n }\n this.handleValidation();\n }\n handleBlur(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.blur) {\n this.blur.emit(event);\n }\n }\n handleFocus(event: InteractionEvent<HTMLTextAreaElement> | any) {\n if (this.focus) {\n this.focus.emit(event);\n }\n }\n\n /**\n * Passes `aria-*`, `data-*` & `class` attributes to correct child. Used in angular and stencil.\n * @param element the ref for the component\n * @param customElementSelector the custom element like `my-component`\n */\n private enableAttributePassing(\n element: HTMLTextAreaElement | null,\n customElementSelector: string\n ) {\n const parent = element?.closest(customElementSelector);\n if (element && parent) {\n const attributes = parent.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (\n attr &&\n (attr.name.startsWith(\"data-\") || attr.name.startsWith(\"aria-\"))\n ) {\n element.setAttribute(attr.name, attr.value);\n parent.removeAttribute(attr.name);\n }\n if (attr && attr.name === \"class\") {\n const isWebComponent = attr.value.includes(\"hydrated\");\n const value = attr.value.replace(\"hydrated\", \"\").trim();\n const currentClass = element.getAttribute(\"class\");\n element.setAttribute(\n attr.name,\n `${currentClass ? `${currentClass} ` : \"\"}${value}`\n );\n if (isWebComponent) {\n // Stencil is using this class for lazy loading component\n parent.setAttribute(\"class\", \"hydrated\");\n } else {\n parent.removeAttribute(attr.name);\n }\n }\n }\n }\n }\n\n watch0Fn() {\n this._invalidMessage =\n this.invalidMessage ||\n this._ref?.validationMessage ||\n DEFAULT_INVALID_MESSAGE;\n }\n\n @Watch(\"_ref\")\n @Watch(\"invalidMessage\")\n watch0() {\n this.watch0Fn();\n }\n\n watch1Fn() {\n if (this._id) {\n const messageId = this._id + DEFAULT_MESSAGE_ID_SUFFIX;\n this._messageId = messageId;\n this._validMessageId = this._id + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = this._id + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n if (stringPropVisible(this.message, this.showMessage)) {\n this._descByIds = messageId;\n }\n this.handleValidation();\n }\n }\n\n @Watch(\"_id\")\n watch1() {\n this.watch1Fn();\n }\n\n watch2Fn() {\n this._value = this.value;\n }\n\n @Watch(\"value\")\n watch2() {\n this.watch2Fn();\n }\n\n componentDidLoad() {\n this.enableAttributePassing(this._ref, \"db-textarea\");\n const mId = this.id ?? `textarea-${uuid()}`;\n this._id = mId;\n this._messageId = mId + DEFAULT_MESSAGE_ID_SUFFIX;\n this._validMessageId = mId + DEFAULT_VALID_MESSAGE_ID_SUFFIX;\n this._invalidMessageId = mId + DEFAULT_INVALID_MESSAGE_ID_SUFFIX;\n this._invalidMessage = this.invalidMessage || DEFAULT_INVALID_MESSAGE;\n this.watch0Fn();\n this.watch1Fn();\n this.watch2Fn();\n }\n\n render() {\n return (\n <div\n class={cls(\"db-textarea\", this.className)}\n data-variant={this.variant}\n data-hide-asterisk={getHideProp(this.showRequiredAsterisk)}\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 data-field-sizing={this.fieldSizing}\n ref={(el: any) => {\n this._ref = el;\n }}\n id={this._id}\n data-resize={this.resize}\n data-hide-resizer={getHideProp(this.showResizer ?? true)}\n disabled={getBoolean(this.disabled, \"disabled\")}\n required={getBoolean(this.required, \"required\")}\n readOnly={\n getBoolean(this.readOnly, \"readOnly\") ||\n getBoolean(this.readonly, \"readonly\")\n }\n form={this.form}\n maxLength={getNumber(this.maxLength, this.maxlength)}\n minLength={getNumber(this.minLength, this.minlength)}\n name={this.name}\n wrap={this.wrap}\n spellcheck={this.spellCheck}\n autocomplete={this.autocomplete}\n onInput={(event) => this.handleInput(event)}\n onChange={(event) => this.handleChange(event)}\n onBlur={(event) => this.handleBlur(event)}\n onFocus={(event) => this.handleFocus(event)}\n value={this.value ?? this._value}\n aria-describedby={this.ariaDescribedBy ?? this._descByIds}\n placeholder={this.placeholder ?? DEFAULT_PLACEHOLDER}\n rows={getNumber(this.rows, DEFAULT_ROWS)}\n cols={getNumber(this.cols)}\n ></textarea>\n {stringPropVisible(this.message, this.showMessage) ? (\n <db-infotext\n size=\"small\"\n icon={this.messageIcon}\n id={this._messageId}\n >\n {this.message}\n </db-infotext>\n ) : null}\n {this.hasValidState() ? (\n <db-infotext\n size=\"small\"\n semantic=\"successful\"\n id={this._validMessageId}\n >\n {this.validMessage || DEFAULT_VALID_MESSAGE}\n </db-infotext>\n ) : null}\n <db-infotext\n size=\"small\"\n semantic=\"critical\"\n id={this._invalidMessageId}\n >\n {this._invalidMessage}\n </db-infotext>\n <span data-visually-hidden=\"true\" role=\"status\">\n {this._voiceOverFallback}\n </span>\n </div>\n );\n }\n}\n"]}