@quartzds/core 1.0.0-beta.12 → 1.0.0-beta.120

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 (433) hide show
  1. package/CHANGELOG.md +1895 -0
  2. package/README.md +23 -23
  3. package/components/index.d.ts +50 -0
  4. package/components/index.js +62 -28
  5. package/components/index.js.map +1 -1
  6. package/components/p-5RFBIepu.js +112 -0
  7. package/components/p-5RFBIepu.js.map +1 -0
  8. package/components/p-B03FWheS.js +393 -0
  9. package/components/p-B03FWheS.js.map +1 -0
  10. package/components/p-BkBJDD6Y.js +274 -0
  11. package/components/p-BkBJDD6Y.js.map +1 -0
  12. package/components/p-BkgfW_tl.js +282 -0
  13. package/components/p-BkgfW_tl.js.map +1 -0
  14. package/components/p-Bnc7Puxx.js +164 -0
  15. package/components/p-Bnc7Puxx.js.map +1 -0
  16. package/components/{floating-ui.dom.esm.js → p-Bv2vPjgL.js} +557 -345
  17. package/components/p-Bv2vPjgL.js.map +1 -0
  18. package/components/p-CDRwHAIT.js +105 -0
  19. package/components/p-CDRwHAIT.js.map +1 -0
  20. package/components/p-CFVg7I9T.js +269 -0
  21. package/components/p-CFVg7I9T.js.map +1 -0
  22. package/components/p-CRVPDKfO.js +163 -0
  23. package/components/p-CRVPDKfO.js.map +1 -0
  24. package/components/p-CXP6q9Mr.js +286 -0
  25. package/components/p-CXP6q9Mr.js.map +1 -0
  26. package/components/p-CZRW1LV_.js +28 -0
  27. package/components/p-CZRW1LV_.js.map +1 -0
  28. package/components/p-D2489VzR.js +2133 -0
  29. package/components/p-D2489VzR.js.map +1 -0
  30. package/components/p-DeRqCYmp.js +102 -0
  31. package/components/p-DeRqCYmp.js.map +1 -0
  32. package/components/p-DnZdwX0l.js +149 -0
  33. package/components/p-DnZdwX0l.js.map +1 -0
  34. package/components/p-Dsc0-aXK.js +162 -0
  35. package/components/p-Dsc0-aXK.js.map +1 -0
  36. package/components/p-DwxIJEUj.js +91 -0
  37. package/components/p-DwxIJEUj.js.map +1 -0
  38. package/components/p-U2Q0vF-d.js +96 -0
  39. package/components/p-U2Q0vF-d.js.map +1 -0
  40. package/components/p-eFhV8w2l.js +428 -0
  41. package/components/p-eFhV8w2l.js.map +1 -0
  42. package/components/qds-action-item.d.ts +11 -0
  43. package/components/qds-action-item.js +183 -0
  44. package/components/qds-action-item.js.map +1 -0
  45. package/components/qds-avatar-media.d.ts +11 -0
  46. package/components/qds-avatar-media.js +14 -0
  47. package/components/qds-avatar-media.js.map +1 -0
  48. package/components/qds-badge-counter.d.ts +11 -0
  49. package/components/qds-badge-counter.js +14 -0
  50. package/components/qds-badge-counter.js.map +1 -0
  51. package/components/qds-badge-indicator.d.ts +11 -0
  52. package/components/qds-badge-indicator.js +14 -0
  53. package/components/qds-badge-indicator.js.map +1 -0
  54. package/components/qds-breadcrumb-item.d.ts +11 -0
  55. package/components/qds-breadcrumb-item.js +169 -0
  56. package/components/qds-breadcrumb-item.js.map +1 -0
  57. package/components/qds-button.d.ts +2 -2
  58. package/components/qds-button.js +457 -129
  59. package/components/qds-button.js.map +1 -1
  60. package/components/qds-checkbox.d.ts +2 -2
  61. package/components/qds-checkbox.js +4 -146
  62. package/components/qds-checkbox.js.map +1 -1
  63. package/components/qds-chip.d.ts +11 -0
  64. package/components/qds-chip.js +304 -0
  65. package/components/qds-chip.js.map +1 -0
  66. package/components/qds-dialog.d.ts +2 -2
  67. package/components/qds-dialog.js +179 -93
  68. package/components/qds-dialog.js.map +1 -1
  69. package/components/qds-divider.d.ts +2 -2
  70. package/components/qds-divider.js +4 -39
  71. package/components/qds-divider.js.map +1 -1
  72. package/components/qds-dropdown.d.ts +2 -2
  73. package/components/qds-dropdown.js +4 -249
  74. package/components/qds-dropdown.js.map +1 -1
  75. package/components/qds-form-message.d.ts +2 -2
  76. package/components/qds-form-message.js +100 -50
  77. package/components/qds-form-message.js.map +1 -1
  78. package/components/qds-icon-button.d.ts +11 -0
  79. package/components/qds-icon-button.js +14 -0
  80. package/components/qds-icon-button.js.map +1 -0
  81. package/components/qds-icon-tab.d.ts +11 -0
  82. package/components/qds-icon-tab.js +278 -0
  83. package/components/qds-icon-tab.js.map +1 -0
  84. package/components/qds-icon.d.ts +2 -2
  85. package/components/qds-icon.js +4 -3
  86. package/components/qds-inline-link.d.ts +2 -2
  87. package/components/qds-inline-link.js +171 -74
  88. package/components/qds-inline-link.js.map +1 -1
  89. package/components/qds-input.d.ts +2 -2
  90. package/components/qds-input.js +548 -230
  91. package/components/qds-input.js.map +1 -1
  92. package/components/qds-label.d.ts +2 -2
  93. package/components/qds-label.js +4 -3
  94. package/components/qds-list-item.d.ts +11 -0
  95. package/components/qds-list-item.js +395 -0
  96. package/components/qds-list-item.js.map +1 -0
  97. package/components/qds-loader.d.ts +11 -0
  98. package/components/qds-loader.js +152 -0
  99. package/components/qds-loader.js.map +1 -0
  100. package/components/qds-menu-item.d.ts +11 -0
  101. package/components/qds-menu-item.js +204 -0
  102. package/components/qds-menu-item.js.map +1 -0
  103. package/components/qds-mini-button.d.ts +11 -0
  104. package/components/qds-mini-button.js +14 -0
  105. package/components/qds-mini-button.js.map +1 -0
  106. package/components/qds-progress-bar.d.ts +11 -0
  107. package/components/qds-progress-bar.js +155 -0
  108. package/components/qds-progress-bar.js.map +1 -0
  109. package/components/qds-radio.d.ts +2 -2
  110. package/components/qds-radio.js +4 -99
  111. package/components/qds-radio.js.map +1 -1
  112. package/components/qds-select.d.ts +11 -0
  113. package/components/qds-select.js +363 -0
  114. package/components/qds-select.js.map +1 -0
  115. package/components/qds-standalone-link.d.ts +11 -0
  116. package/components/qds-standalone-link.js +208 -0
  117. package/components/qds-standalone-link.js.map +1 -0
  118. package/components/qds-switch.d.ts +2 -2
  119. package/components/qds-switch.js +257 -105
  120. package/components/qds-switch.js.map +1 -1
  121. package/components/qds-tab.d.ts +11 -0
  122. package/components/qds-tab.js +339 -0
  123. package/components/qds-tab.js.map +1 -0
  124. package/components/qds-tabbar.d.ts +11 -0
  125. package/components/qds-tabbar.js +410 -0
  126. package/components/qds-tabbar.js.map +1 -0
  127. package/components/qds-table-cell.d.ts +11 -0
  128. package/components/qds-table-cell.js +81 -0
  129. package/components/qds-table-cell.js.map +1 -0
  130. package/components/qds-table-head-cell.d.ts +11 -0
  131. package/components/qds-table-head-cell.js +87 -0
  132. package/components/qds-table-head-cell.js.map +1 -0
  133. package/components/qds-table-row.d.ts +11 -0
  134. package/components/qds-table-row.js +48 -0
  135. package/components/qds-table-row.js.map +1 -0
  136. package/components/qds-table.d.ts +11 -0
  137. package/components/qds-table.js +48 -0
  138. package/components/qds-table.js.map +1 -0
  139. package/components/qds-tag.d.ts +11 -0
  140. package/components/qds-tag.js +14 -0
  141. package/components/qds-tag.js.map +1 -0
  142. package/components/qds-textarea.d.ts +2 -2
  143. package/components/qds-textarea.js +352 -193
  144. package/components/qds-textarea.js.map +1 -1
  145. package/components/qds-title.d.ts +2 -2
  146. package/components/qds-title.js +4 -84
  147. package/components/qds-title.js.map +1 -1
  148. package/components/qds-tooltip.d.ts +2 -2
  149. package/components/qds-tooltip.js +4 -315
  150. package/components/qds-tooltip.js.map +1 -1
  151. package/dist/cjs/app-globals-CLoao1by.js +13 -0
  152. package/dist/cjs/app-globals-CLoao1by.js.map +1 -0
  153. package/dist/cjs/controls-DKGeNyr5.js +32 -0
  154. package/dist/cjs/controls-DKGeNyr5.js.map +1 -0
  155. package/dist/cjs/{floating-ui.dom.esm-7f1cac3e.js → floating-ui.dom-Bvzubd50.js} +557 -345
  156. package/dist/cjs/floating-ui.dom-Bvzubd50.js.map +1 -0
  157. package/dist/cjs/helpers-BIL8yXqA.js +303 -0
  158. package/dist/cjs/helpers-BIL8yXqA.js.map +1 -0
  159. package/dist/cjs/index-DIY7gpXM.js +2376 -0
  160. package/dist/cjs/index-DIY7gpXM.js.map +1 -0
  161. package/dist/cjs/index.cjs.js +40 -31
  162. package/dist/cjs/index.cjs.js.map +1 -1
  163. package/dist/cjs/library-CeKRI2f2.js +142 -0
  164. package/dist/cjs/library-CeKRI2f2.js.map +1 -0
  165. package/dist/cjs/loader.cjs.js +9 -10
  166. package/dist/cjs/loader.cjs.js.map +1 -1
  167. package/dist/cjs/qds-action-item.cjs.entry.js +145 -0
  168. package/dist/cjs/qds-action-item.entry.cjs.js.map +1 -0
  169. package/dist/cjs/qds-avatar-media.qds-checkbox.qds-radio.entry.cjs.js.map +1 -0
  170. package/dist/cjs/qds-avatar-media_3.cjs.entry.js +399 -0
  171. package/dist/cjs/qds-badge-counter.qds-badge-indicator.entry.cjs.js.map +1 -0
  172. package/dist/cjs/qds-badge-counter_2.cjs.entry.js +146 -0
  173. package/dist/cjs/qds-breadcrumb-item.cjs.entry.js +129 -0
  174. package/dist/cjs/qds-breadcrumb-item.entry.cjs.js.map +1 -0
  175. package/dist/cjs/qds-button.cjs.entry.js +385 -93
  176. package/dist/cjs/qds-button.entry.cjs.js.map +1 -0
  177. package/dist/cjs/qds-chip.cjs.entry.js +252 -0
  178. package/dist/cjs/qds-chip.entry.cjs.js.map +1 -0
  179. package/dist/cjs/qds-dialog.cjs.entry.js +124 -77
  180. package/dist/cjs/qds-dialog.entry.cjs.js.map +1 -0
  181. package/dist/cjs/qds-divider.qds-icon-button.entry.cjs.js.map +1 -0
  182. package/dist/cjs/qds-divider_2.cjs.entry.js +280 -0
  183. package/dist/cjs/qds-dropdown.cjs.entry.js +373 -209
  184. package/dist/cjs/qds-dropdown.entry.cjs.js.map +1 -0
  185. package/dist/cjs/qds-form-message.cjs.entry.js +70 -27
  186. package/dist/cjs/qds-form-message.entry.cjs.js.map +1 -0
  187. package/dist/cjs/qds-icon-tab.cjs.entry.js +214 -0
  188. package/dist/cjs/qds-icon-tab.entry.cjs.js.map +1 -0
  189. package/dist/cjs/qds-icon.cjs.entry.js +112 -93
  190. package/dist/cjs/qds-icon.entry.cjs.js.map +1 -0
  191. package/dist/cjs/qds-inline-link.cjs.entry.js +137 -49
  192. package/dist/cjs/qds-inline-link.entry.cjs.js.map +1 -0
  193. package/dist/cjs/qds-input.cjs.entry.js +473 -188
  194. package/dist/cjs/qds-input.entry.cjs.js.map +1 -0
  195. package/dist/cjs/qds-label.cjs.entry.js +118 -27
  196. package/dist/cjs/qds-label.entry.cjs.js.map +1 -0
  197. package/dist/cjs/qds-list-item.cjs.entry.js +290 -0
  198. package/dist/cjs/qds-list-item.entry.cjs.js.map +1 -0
  199. package/dist/cjs/qds-loader.cjs.entry.js +126 -0
  200. package/dist/cjs/qds-loader.entry.cjs.js.map +1 -0
  201. package/dist/cjs/qds-menu-item.cjs.entry.js +158 -0
  202. package/dist/cjs/qds-menu-item.entry.cjs.js.map +1 -0
  203. package/dist/cjs/qds-mini-button.cjs.entry.js +132 -0
  204. package/dist/cjs/qds-mini-button.entry.cjs.js.map +1 -0
  205. package/dist/cjs/qds-progress-bar.cjs.entry.js +131 -0
  206. package/dist/cjs/qds-progress-bar.entry.cjs.js.map +1 -0
  207. package/dist/cjs/qds-select.cjs.entry.js +319 -0
  208. package/dist/cjs/qds-select.entry.cjs.js.map +1 -0
  209. package/dist/cjs/qds-standalone-link.cjs.entry.js +169 -0
  210. package/dist/cjs/qds-standalone-link.entry.cjs.js.map +1 -0
  211. package/dist/cjs/qds-switch.cjs.entry.js +221 -67
  212. package/dist/cjs/qds-switch.entry.cjs.js.map +1 -0
  213. package/dist/cjs/qds-tab.cjs.entry.js +265 -0
  214. package/dist/cjs/qds-tab.entry.cjs.js.map +1 -0
  215. package/dist/cjs/qds-tabbar.cjs.entry.js +344 -0
  216. package/dist/cjs/qds-tabbar.entry.cjs.js.map +1 -0
  217. package/dist/cjs/qds-table-cell.cjs.entry.js +61 -0
  218. package/dist/cjs/qds-table-cell.entry.cjs.js.map +1 -0
  219. package/dist/cjs/qds-table-head-cell.cjs.entry.js +65 -0
  220. package/dist/cjs/qds-table-head-cell.entry.cjs.js.map +1 -0
  221. package/dist/cjs/qds-table-row.cjs.entry.js +34 -0
  222. package/dist/cjs/qds-table-row.entry.cjs.js.map +1 -0
  223. package/dist/cjs/qds-table.cjs.entry.js +34 -0
  224. package/dist/cjs/qds-table.entry.cjs.js.map +1 -0
  225. package/dist/cjs/qds-tag.cjs.entry.js +110 -0
  226. package/dist/cjs/qds-tag.entry.cjs.js.map +1 -0
  227. package/dist/cjs/qds-textarea.cjs.entry.js +303 -156
  228. package/dist/cjs/qds-textarea.entry.cjs.js.map +1 -0
  229. package/dist/cjs/qds-title.cjs.entry.js +61 -52
  230. package/dist/cjs/qds-title.entry.cjs.js.map +1 -0
  231. package/dist/cjs/qds-tooltip.cjs.entry.js +334 -263
  232. package/dist/cjs/qds-tooltip.entry.cjs.js.map +1 -0
  233. package/dist/cjs/qds.cjs.js +18 -17
  234. package/dist/cjs/qds.cjs.js.map +1 -1
  235. package/dist/custom-elements.json +12056 -2304
  236. package/dist/docs.d.ts +344 -240
  237. package/dist/docs.json +13125 -3360
  238. package/dist/esm/app-globals-WylVyaRG.js +11 -0
  239. package/dist/esm/app-globals-WylVyaRG.js.map +1 -0
  240. package/dist/esm/controls-CZRW1LV_.js +28 -0
  241. package/dist/esm/controls-CZRW1LV_.js.map +1 -0
  242. package/dist/esm/{floating-ui.dom.esm-c2f3e549.js → floating-ui.dom-Bv2vPjgL.js} +557 -345
  243. package/dist/esm/floating-ui.dom-Bv2vPjgL.js.map +1 -0
  244. package/dist/esm/helpers-BgaJNF9u.js +286 -0
  245. package/dist/esm/helpers-BgaJNF9u.js.map +1 -0
  246. package/dist/esm/index-Hg1Liloy.js +2364 -0
  247. package/dist/esm/index-Hg1Liloy.js.map +1 -0
  248. package/dist/esm/index.js +40 -30
  249. package/dist/esm/index.js.map +1 -1
  250. package/dist/esm/library-CBfntPWH.js +138 -0
  251. package/dist/esm/library-CBfntPWH.js.map +1 -0
  252. package/dist/esm/loader.js +10 -9
  253. package/dist/esm/loader.js.map +1 -1
  254. package/dist/esm/qds-action-item.entry.js +143 -0
  255. package/dist/esm/qds-action-item.entry.js.map +1 -0
  256. package/dist/esm/qds-avatar-media.qds-checkbox.qds-radio.entry.js.map +1 -0
  257. package/dist/esm/qds-avatar-media_3.entry.js +395 -0
  258. package/dist/esm/qds-badge-counter.qds-badge-indicator.entry.js.map +1 -0
  259. package/dist/esm/qds-badge-counter_2.entry.js +143 -0
  260. package/dist/esm/qds-breadcrumb-item.entry.js +127 -0
  261. package/dist/esm/qds-breadcrumb-item.entry.js.map +1 -0
  262. package/dist/esm/qds-button.entry.js +385 -91
  263. package/dist/esm/qds-button.entry.js.map +1 -1
  264. package/dist/esm/qds-chip.entry.js +250 -0
  265. package/dist/esm/qds-chip.entry.js.map +1 -0
  266. package/dist/esm/qds-dialog.entry.js +124 -75
  267. package/dist/esm/qds-dialog.entry.js.map +1 -1
  268. package/dist/esm/qds-divider.qds-icon-button.entry.js.map +1 -0
  269. package/dist/esm/qds-divider_2.entry.js +277 -0
  270. package/dist/esm/qds-dropdown.entry.js +373 -207
  271. package/dist/esm/qds-dropdown.entry.js.map +1 -1
  272. package/dist/esm/qds-form-message.entry.js +70 -25
  273. package/dist/esm/qds-form-message.entry.js.map +1 -1
  274. package/dist/esm/qds-icon-tab.entry.js +212 -0
  275. package/dist/esm/qds-icon-tab.entry.js.map +1 -0
  276. package/dist/esm/qds-icon.entry.js +112 -91
  277. package/dist/esm/qds-icon.entry.js.map +1 -1
  278. package/dist/esm/qds-inline-link.entry.js +137 -47
  279. package/dist/esm/qds-inline-link.entry.js.map +1 -1
  280. package/dist/esm/qds-input.entry.js +473 -186
  281. package/dist/esm/qds-input.entry.js.map +1 -1
  282. package/dist/esm/qds-label.entry.js +118 -25
  283. package/dist/esm/qds-label.entry.js.map +1 -1
  284. package/dist/esm/qds-list-item.entry.js +288 -0
  285. package/dist/esm/qds-list-item.entry.js.map +1 -0
  286. package/dist/esm/qds-loader.entry.js +124 -0
  287. package/dist/esm/qds-loader.entry.js.map +1 -0
  288. package/dist/esm/qds-menu-item.entry.js +156 -0
  289. package/dist/esm/qds-menu-item.entry.js.map +1 -0
  290. package/dist/esm/qds-mini-button.entry.js +130 -0
  291. package/dist/esm/qds-mini-button.entry.js.map +1 -0
  292. package/dist/esm/qds-progress-bar.entry.js +129 -0
  293. package/dist/esm/qds-progress-bar.entry.js.map +1 -0
  294. package/dist/esm/qds-select.entry.js +317 -0
  295. package/dist/esm/qds-select.entry.js.map +1 -0
  296. package/dist/esm/qds-standalone-link.entry.js +167 -0
  297. package/dist/esm/qds-standalone-link.entry.js.map +1 -0
  298. package/dist/esm/qds-switch.entry.js +221 -65
  299. package/dist/esm/qds-switch.entry.js.map +1 -1
  300. package/dist/esm/qds-tab.entry.js +263 -0
  301. package/dist/esm/qds-tab.entry.js.map +1 -0
  302. package/dist/esm/qds-tabbar.entry.js +342 -0
  303. package/dist/esm/qds-tabbar.entry.js.map +1 -0
  304. package/dist/esm/qds-table-cell.entry.js +59 -0
  305. package/dist/esm/qds-table-cell.entry.js.map +1 -0
  306. package/dist/esm/qds-table-head-cell.entry.js +63 -0
  307. package/dist/esm/qds-table-head-cell.entry.js.map +1 -0
  308. package/dist/esm/qds-table-row.entry.js +32 -0
  309. package/dist/esm/qds-table-row.entry.js.map +1 -0
  310. package/dist/esm/qds-table.entry.js +32 -0
  311. package/dist/esm/qds-table.entry.js.map +1 -0
  312. package/dist/esm/qds-tag.entry.js +108 -0
  313. package/dist/esm/qds-tag.entry.js.map +1 -0
  314. package/dist/esm/qds-textarea.entry.js +303 -154
  315. package/dist/esm/qds-textarea.entry.js.map +1 -1
  316. package/dist/esm/qds-title.entry.js +61 -50
  317. package/dist/esm/qds-title.entry.js.map +1 -1
  318. package/dist/esm/qds-tooltip.entry.js +334 -261
  319. package/dist/esm/qds-tooltip.entry.js.map +1 -1
  320. package/dist/esm/qds.js +18 -16
  321. package/dist/esm/qds.js.map +1 -1
  322. package/dist/types/components/action-item/action-item.d.ts +67 -0
  323. package/dist/types/components/avatar-media/avatar-media.d.ts +39 -0
  324. package/dist/types/components/badge-counter/badge-counter.d.ts +40 -0
  325. package/dist/types/components/badge-indicator/badge-indicator.d.ts +36 -0
  326. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +178 -0
  327. package/dist/types/components/button/button.d.ts +282 -198
  328. package/dist/types/components/checkbox/checkbox.d.ts +137 -124
  329. package/dist/types/components/chip/chip.d.ts +109 -0
  330. package/dist/types/components/controls.d.ts +4 -1
  331. package/dist/types/components/dialog/dialog.d.ts +32 -41
  332. package/dist/types/components/divider/divider.d.ts +14 -9
  333. package/dist/types/components/dropdown/dropdown.d.ts +116 -125
  334. package/dist/types/components/form-message/form-message.d.ts +33 -25
  335. package/dist/types/components/icon/icon.d.ts +24 -24
  336. package/dist/types/components/icon/library.d.ts +3 -3
  337. package/dist/types/components/icon/request.d.ts +5 -9
  338. package/dist/types/components/icon-button/icon-button.d.ts +121 -0
  339. package/dist/types/components/icon-tab/icon-tab.d.ts +110 -0
  340. package/dist/types/components/inline-link/inline-link.d.ts +209 -191
  341. package/dist/types/components/input/input.d.ts +431 -368
  342. package/dist/types/components/label/label.d.ts +37 -24
  343. package/dist/types/components/list-item/list-item.d.ts +121 -0
  344. package/dist/types/components/loader/loader.d.ts +32 -0
  345. package/dist/types/components/menu-item/menu-item.d.ts +71 -0
  346. package/dist/types/components/mini-button/mini-button.d.ts +82 -0
  347. package/dist/types/components/progress-bar/progress-bar.d.ts +60 -0
  348. package/dist/types/components/radio/radio.d.ts +90 -95
  349. package/dist/types/components/select/select.d.ts +203 -0
  350. package/dist/types/components/shared.d.ts +6 -0
  351. package/dist/types/components/standalone-link/standalone-link.d.ts +234 -0
  352. package/dist/types/components/switch/switch.d.ts +122 -107
  353. package/dist/types/components/tab/tab.d.ts +155 -0
  354. package/dist/types/components/tabbar/tabbar.d.ts +56 -0
  355. package/dist/types/components/table/table.d.ts +14 -0
  356. package/dist/types/components/table-cell/table-cell.d.ts +33 -0
  357. package/dist/types/components/table-head-cell/table-head-cell.d.ts +50 -0
  358. package/dist/types/components/table-row/table-row.d.ts +14 -0
  359. package/dist/types/components/tag/tag.d.ts +55 -0
  360. package/dist/types/components/textarea/textarea.d.ts +295 -300
  361. package/dist/types/components/title/title.d.ts +39 -32
  362. package/dist/types/components/tooltip/tooltip.d.ts +111 -136
  363. package/dist/types/components.d.ts +4403 -959
  364. package/dist/types/helpers.d.ts +38 -19
  365. package/dist/types/index.d.ts +2 -1
  366. package/dist/types/interface-overrides.d.ts +215 -0
  367. package/dist/types/qds-test.d.ts +22 -11
  368. package/dist/types/stencil-public-runtime.d.ts +109 -17
  369. package/dist/types/utils.d.ts +11 -4
  370. package/dist/vscode.html-custom-data.json +2365 -445
  371. package/hydrate/index.d.ts +73 -18
  372. package/hydrate/index.js +28020 -9256
  373. package/hydrate/index.mjs +28907 -0
  374. package/hydrate/package.json +7 -1
  375. package/loader/cdn.js +3 -4
  376. package/loader/index.cjs.js +3 -4
  377. package/loader/index.d.ts +4 -1
  378. package/loader/index.es2017.js +3 -4
  379. package/loader/index.js +3 -4
  380. package/package.json +23 -180
  381. package/styles/core.css +147 -19
  382. package/components/floating-ui.dom.esm.js.map +0 -1
  383. package/components/helpers.js +0 -175
  384. package/components/helpers.js.map +0 -1
  385. package/components/icon.js +0 -185
  386. package/components/icon.js.map +0 -1
  387. package/components/label.js +0 -55
  388. package/components/label.js.map +0 -1
  389. package/dist/cjs/floating-ui.dom.esm-7f1cac3e.js.map +0 -1
  390. package/dist/cjs/helpers-452256e8.js +0 -185
  391. package/dist/cjs/helpers-452256e8.js.map +0 -1
  392. package/dist/cjs/index-d181f952.js +0 -2039
  393. package/dist/cjs/index-d181f952.js.map +0 -1
  394. package/dist/cjs/library-ad8d9466.js +0 -72
  395. package/dist/cjs/library-ad8d9466.js.map +0 -1
  396. package/dist/cjs/qds-button.cjs.entry.js.map +0 -1
  397. package/dist/cjs/qds-checkbox.cjs.entry.js +0 -116
  398. package/dist/cjs/qds-checkbox.cjs.entry.js.map +0 -1
  399. package/dist/cjs/qds-dialog.cjs.entry.js.map +0 -1
  400. package/dist/cjs/qds-divider.cjs.entry.js +0 -33
  401. package/dist/cjs/qds-divider.cjs.entry.js.map +0 -1
  402. package/dist/cjs/qds-dropdown.cjs.entry.js.map +0 -1
  403. package/dist/cjs/qds-form-message.cjs.entry.js.map +0 -1
  404. package/dist/cjs/qds-icon.cjs.entry.js.map +0 -1
  405. package/dist/cjs/qds-inline-link.cjs.entry.js.map +0 -1
  406. package/dist/cjs/qds-input.cjs.entry.js.map +0 -1
  407. package/dist/cjs/qds-label.cjs.entry.js.map +0 -1
  408. package/dist/cjs/qds-radio.cjs.entry.js +0 -74
  409. package/dist/cjs/qds-radio.cjs.entry.js.map +0 -1
  410. package/dist/cjs/qds-switch.cjs.entry.js.map +0 -1
  411. package/dist/cjs/qds-textarea.cjs.entry.js.map +0 -1
  412. package/dist/cjs/qds-title.cjs.entry.js.map +0 -1
  413. package/dist/cjs/qds-tooltip.cjs.entry.js.map +0 -1
  414. package/dist/esm/floating-ui.dom.esm-c2f3e549.js.map +0 -1
  415. package/dist/esm/helpers-76b84f45.js +0 -175
  416. package/dist/esm/helpers-76b84f45.js.map +0 -1
  417. package/dist/esm/index-d7183092.js +0 -2009
  418. package/dist/esm/index-d7183092.js.map +0 -1
  419. package/dist/esm/library-f36d7d09.js +0 -68
  420. package/dist/esm/library-f36d7d09.js.map +0 -1
  421. package/dist/esm/polyfills/core-js.js +0 -11
  422. package/dist/esm/polyfills/dom.js +0 -79
  423. package/dist/esm/polyfills/es5-html-element.js +0 -1
  424. package/dist/esm/polyfills/index.js +0 -34
  425. package/dist/esm/polyfills/system.js +0 -6
  426. package/dist/esm/qds-checkbox.entry.js +0 -112
  427. package/dist/esm/qds-checkbox.entry.js.map +0 -1
  428. package/dist/esm/qds-divider.entry.js +0 -29
  429. package/dist/esm/qds-divider.entry.js.map +0 -1
  430. package/dist/esm/qds-radio.entry.js +0 -70
  431. package/dist/esm/qds-radio.entry.js.map +0 -1
  432. package/dist/types/components/create-story.d.ts +0 -5
  433. package/loader/package.json +0 -11
@@ -0,0 +1,393 @@
1
+ /*!
2
+ * SPDX-FileCopyrightText: © 2026 Schneider Electric
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { p as proxyCustomElement, H, c as createEvent, h, e as Host } from './p-D2489VzR.js';
7
+ import { o as offset, f as flip, s as shift, b as arrow, c as computePosition, a as autoUpdate, l as limitShift } from './p-Bv2vPjgL.js';
8
+ import { g as ignorePromise, h as propertyToPx, i as invariant, r as resolveTarget, l as isTouchDevice } from './p-CXP6q9Mr.js';
9
+
10
+ const tooltipCss = ":host([hidden]){display:none!important}:host{align-items:flex-start;background-color:var(--qds-theme-accessory-background);border:none;border-radius:var(--qds-accessory-border-radius);box-shadow:var(--qds-accessory-elevation);box-sizing:border-box;color:var(--qds-theme-text-standard);display:flex;flex-direction:column;gap:var(--qds-accessory-gap-children-unrelated);inset:unset;margin:0;overflow:initial;padding:0}:host:before{content:\"\";position:absolute}::slotted(blockquote),::slotted(button),::slotted(dd),::slotted(dl),::slotted(fieldset),::slotted(figure),::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6),::slotted(hr),::slotted(input),::slotted(menu),::slotted(ol),::slotted(p),::slotted(pre),::slotted(select),::slotted(textarea),::slotted(ul){margin:0}:host([data-side=bottom]):before,:host([data-side=top]):before{height:calc(var(--qds-accessory-gap-floating, 0px) + var(--qds-signature-triangle-pointer-size-height, 0px));top:100%;width:100%}:host([data-side=bottom]):before{top:calc((var(--qds-accessory-gap-floating, 0px) + var(--qds-signature-triangle-pointer-size-height, 0px))*-1)}:host([data-side=left]):before,:host([data-side=right]):before{left:100%;width:calc(var(--qds-accessory-gap-floating, 0px) + var(--qds-signature-triangle-pointer-size-height, 0px))}:host([data-side=right]):before{left:calc((var(--qds-accessory-gap-floating, 0px) + var(--qds-signature-triangle-pointer-size-height, 0px))*-1)}.qds-arrow{height:var(--qds-signature-triangle-pointer-size-height);position:absolute;width:var(--qds-signature-triangle-pointer-size-width)}.qds-arrow:before{background-color:var(--qds-theme-accessory-background);clip-path:polygon(0 0,100% 0,50% 100%);height:100%}.qds-arrow:after,.qds-arrow:before{content:\"\";position:absolute;width:100%}.qds-arrow:after{background-color:var(--qds-theme-accessory-border);bottom:calc(var(--qds-accessory-border-width)*-1);clip-path:polygon(0 10%,100% 10%,50% 100%);height:calc(100% + var(--qds-accessory-border-width));z-index:-1}.qds-arrow[data-side=bottom]{top:calc((var(--qds-signature-triangle-pointer-size-height) - var(--qds-accessory-effect-section-position-y))*-1);transform:rotate(180deg)}.qds-arrow[data-side=left]{right:calc((var(--qds-accessory-gap-floating) + var(--qds-signature-triangle-pointer-size-height))*-1 + var(--qds-accessory-effect-section-position-y));transform:rotate(-90deg)}.qds-arrow[data-side=right]{left:calc((var(--qds-accessory-gap-floating) + var(--qds-signature-triangle-pointer-size-height))*-1 + var(--qds-accessory-effect-section-position-y));transform:rotate(90deg)}.qds-arrow[data-side=top]{bottom:calc((var(--qds-signature-triangle-pointer-size-height) - var(--qds-accessory-effect-section-position-y))*-1)}.qds-tooltip{align-items:inherit;border:var(--qds-accessory-border-width) solid var(--qds-theme-accessory-border);border-radius:var(--qds-accessory-border-radius);display:inherit;flex-direction:inherit;flex-wrap:inherit;gap:inherit;justify-content:inherit;max-width:var(--qds-accessory-max-width);padding:var(--qds-accessory-padding-top) var(--qds-accessory-padding-end) var(--qds-accessory-padding-bottom) var(--qds-accessory-padding-start)}";
11
+
12
+ // SPDX-FileCopyrightText: © 2024 Schneider Electric
13
+ //
14
+ // SPDX-License-Identifier: Apache-2.0
15
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
16
+ if (kind === "a" && !f)
17
+ throw new TypeError("Private accessor was defined without a getter");
18
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
19
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
21
+ };
22
+ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
23
+ if (kind === "m")
24
+ throw new TypeError("Private method is not writable");
25
+ if (kind === "a" && !f)
26
+ throw new TypeError("Private accessor was defined without a setter");
27
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
28
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
31
+ var _Tooltip_instances, _Tooltip_arrow, _Tooltip_arrowPadding, _Tooltip_cleanup, _Tooltip_clickedTooltip, _Tooltip_isTouchDevice, _Tooltip_listeners, _Tooltip_mainAxisDistance, _Tooltip_middleware, _Tooltip_open, _Tooltip_opened, _Tooltip_referenceElement, _Tooltip_arrowRef, _Tooltip_boundTooltipPointerDown, _Tooltip_handleFocus, _Tooltip_boundFocus, _Tooltip_handleKeyDown, _Tooltip_boundKeyDown, _Tooltip_handlePointerenter, _Tooltip_boundPointerenter, _Tooltip_handlePointerleave, _Tooltip_boundPointerleave, _Tooltip_handleFocusOut, _Tooltip_boundFocusout, _Tooltip_handlePointerdown, _Tooltip_boundPointerdown, _Tooltip_handleReferenceClick, _Tooltip_boundReferenceClick, _Tooltip_on, _Tooltip_removeEventListeners, _Tooltip_setAriaExpanded;
32
+ let autoIncrementingId = 1;
33
+ const Tooltip = /*@__PURE__*/ proxyCustomElement(class Tooltip extends H {
34
+ constructor(registerHost) {
35
+ super();
36
+ if (registerHost !== false) {
37
+ this.__registerHost();
38
+ }
39
+ this.__attachShadow();
40
+ this.closeEmitter = createEvent(this, "qdsClose", 2);
41
+ this.internals = this.attachInternals();
42
+ _Tooltip_instances.add(this);
43
+ /**
44
+ * Prevents the tooltip from being shown by user interaction. The tooltip can
45
+ * still be displayed by calling the `show()` method.
46
+ */
47
+ this.disabled = false;
48
+ /**
49
+ * Disable Floating UI's
50
+ * [`flip` middleware](https://floating-ui.com/docs/flip).
51
+ */
52
+ this.noFlip = false;
53
+ /**
54
+ * Disable Floating UI's
55
+ * [`shift` middleware](https://floating-ui.com/docs/shift).
56
+ */
57
+ this.noShift = false;
58
+ /**
59
+ * Where to place the tooltip relative to the `target`.
60
+ *
61
+ * @see https://floating-ui.com/docs/tutorial#placements
62
+ */
63
+ this.placement = 'top';
64
+ /**
65
+ * Determines the events that cause the tooltip to show. Multiple event names
66
+ * are separated by spaces.
67
+ */
68
+ this.trigger = 'pointerenter focus';
69
+ _Tooltip_arrow.set(this, void 0);
70
+ _Tooltip_arrowPadding.set(this, 0);
71
+ _Tooltip_cleanup.set(this, void 0);
72
+ _Tooltip_clickedTooltip.set(this, false);
73
+ _Tooltip_isTouchDevice.set(this, false);
74
+ _Tooltip_listeners.set(this, []);
75
+ _Tooltip_mainAxisDistance.set(this, 0);
76
+ _Tooltip_middleware.set(this, void 0);
77
+ _Tooltip_open.set(this, false
78
+ /**
79
+ * Ensure that `updateArrow()` is called only once internally as this is
80
+ * expensive.
81
+ */
82
+ );
83
+ /**
84
+ * Ensure that `updateArrow()` is called only once internally as this is
85
+ * expensive.
86
+ */
87
+ _Tooltip_opened.set(this, false);
88
+ _Tooltip_referenceElement.set(this, void 0);
89
+ _Tooltip_arrowRef.set(this, (div) => {
90
+ __classPrivateFieldSet(this, _Tooltip_arrow, div, "f");
91
+ });
92
+ _Tooltip_boundTooltipPointerDown.set(this, () => {
93
+ __classPrivateFieldSet(this, _Tooltip_clickedTooltip, true, "f");
94
+ });
95
+ _Tooltip_boundFocus.set(this, () => {
96
+ ignorePromise(__classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_handleFocus).call(this));
97
+ });
98
+ _Tooltip_boundKeyDown.set(this, (event) => {
99
+ ignorePromise(__classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_handleKeyDown).call(this, event));
100
+ });
101
+ _Tooltip_boundPointerenter.set(this, () => {
102
+ ignorePromise(__classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_handlePointerenter).call(this));
103
+ });
104
+ _Tooltip_boundPointerleave.set(this, (event) => {
105
+ ignorePromise(__classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_handlePointerleave).call(this, event));
106
+ });
107
+ _Tooltip_boundFocusout.set(this, (event) => {
108
+ ignorePromise(__classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_handleFocusOut).call(this, event));
109
+ });
110
+ _Tooltip_boundPointerdown.set(this, (event) => {
111
+ ignorePromise(__classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_handlePointerdown).call(this, event));
112
+ });
113
+ _Tooltip_boundReferenceClick.set(this, () => {
114
+ ignorePromise(__classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_handleReferenceClick).call(this));
115
+ });
116
+ }
117
+ /**
118
+ * Show the tooltip.
119
+ */
120
+ async show() {
121
+ if (__classPrivateFieldGet(this, _Tooltip_open, "f"))
122
+ return;
123
+ if (!__classPrivateFieldGet(this, _Tooltip_opened, "f")) {
124
+ await this.updateArrow();
125
+ __classPrivateFieldSet(this, _Tooltip_opened, true, "f");
126
+ }
127
+ this.startAutoUpdate();
128
+ __classPrivateFieldSet(this, _Tooltip_open, true, "f");
129
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_setAriaExpanded).call(this);
130
+ }
131
+ /**
132
+ * Close the tooltip.
133
+ */
134
+ async close() {
135
+ if (!__classPrivateFieldGet(this, _Tooltip_open, "f"))
136
+ return;
137
+ this.closeEmitter.emit();
138
+ if (__classPrivateFieldGet(this, _Tooltip_cleanup, "f"))
139
+ __classPrivateFieldGet(this, _Tooltip_cleanup, "f").call(this);
140
+ __classPrivateFieldSet(this, _Tooltip_open, false, "f");
141
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_setAriaExpanded).call(this);
142
+ __classPrivateFieldSet(this, _Tooltip_clickedTooltip, false, "f");
143
+ }
144
+ /**
145
+ * Update the tooltip's arrow.
146
+ *
147
+ * This method should typically be called when the Quartz platform was
148
+ * changed.
149
+ */
150
+ async updateArrow() {
151
+ const gap = propertyToPx(this.host, '--qds-accessory-gap-floating') ?? 0;
152
+ const height = propertyToPx(this.host, '--qds-signature-triangle-pointer-size-height') ??
153
+ 0;
154
+ const padding = propertyToPx(this.host, '--qds-accessory-border-radius') ?? 0;
155
+ __classPrivateFieldSet(this, _Tooltip_mainAxisDistance, gap + height, "f");
156
+ __classPrivateFieldSet(this, _Tooltip_arrowPadding, padding, "f");
157
+ await this.updateMiddleware();
158
+ }
159
+ async updateMiddleware() {
160
+ invariant(__classPrivateFieldGet(this, _Tooltip_arrow, "f"));
161
+ __classPrivateFieldSet(this, _Tooltip_middleware, [
162
+ offset({
163
+ ...this.offsetOptions,
164
+ mainAxis: __classPrivateFieldGet(this, _Tooltip_mainAxisDistance, "f"),
165
+ }),
166
+ !this.noFlip &&
167
+ flip({
168
+ crossAxis: this.noShift,
169
+ ...this.flipOptions,
170
+ }),
171
+ !this.noShift &&
172
+ shift({
173
+ limiter: limitShift(),
174
+ ...this.shiftOptions,
175
+ }),
176
+ arrow({
177
+ element: __classPrivateFieldGet(this, _Tooltip_arrow, "f"),
178
+ padding: __classPrivateFieldGet(this, _Tooltip_arrowPadding, "f"),
179
+ }),
180
+ ], "f");
181
+ }
182
+ async updateReferenceElement() {
183
+ var _a;
184
+ this.disconnectedCallback();
185
+ __classPrivateFieldSet(this, _Tooltip_referenceElement, resolveTarget(this.target), "f");
186
+ if (!(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f") instanceof globalThis.Element))
187
+ return;
188
+ this.updateEventListeners();
189
+ (_a = this.host).id || (_a.id = `qds-tooltip-${autoIncrementingId}`);
190
+ __classPrivateFieldGet(this, _Tooltip_referenceElement, "f").setAttribute('aria-describedby', this.host.id);
191
+ if (this.host.role === 'dialog')
192
+ __classPrivateFieldGet(this, _Tooltip_referenceElement, "f").ariaHasPopup = 'dialog';
193
+ }
194
+ updateEventListeners() {
195
+ if (!(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f") instanceof globalThis.Element))
196
+ return;
197
+ const triggers = Array.isArray(this.trigger)
198
+ ? this.trigger
199
+ : (this.trigger?.split(' ') ??
200
+ []);
201
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_removeEventListeners).call(this);
202
+ if (__classPrivateFieldGet(this, _Tooltip_isTouchDevice, "f"))
203
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, __classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), 'click', __classPrivateFieldGet(this, _Tooltip_boundReferenceClick, "f"));
204
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, document.documentElement, 'pointerdown', __classPrivateFieldGet(this, _Tooltip_boundPointerdown, "f"));
205
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, __classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), 'keydown', __classPrivateFieldGet(this, _Tooltip_boundKeyDown, "f"));
206
+ for (const trigger of triggers) {
207
+ switch (trigger) {
208
+ case 'click': {
209
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, __classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), 'click', __classPrivateFieldGet(this, _Tooltip_boundReferenceClick, "f"));
210
+ break;
211
+ }
212
+ case 'focus':
213
+ case 'focusin': {
214
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, __classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), trigger, __classPrivateFieldGet(this, _Tooltip_boundFocus, "f"));
215
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, __classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), 'focusout', __classPrivateFieldGet(this, _Tooltip_boundFocusout, "f"));
216
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, this.host, 'focusout', __classPrivateFieldGet(this, _Tooltip_boundFocusout, "f"));
217
+ break;
218
+ }
219
+ case 'pointerenter': {
220
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, __classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), 'pointerenter', __classPrivateFieldGet(this, _Tooltip_boundPointerenter, "f"));
221
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, __classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), 'pointerleave', __classPrivateFieldGet(this, _Tooltip_boundPointerleave, "f"));
222
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_on).call(this, this.host, 'pointerleave', __classPrivateFieldGet(this, _Tooltip_boundPointerleave, "f"));
223
+ break;
224
+ }
225
+ }
226
+ }
227
+ }
228
+ async updatePosition() {
229
+ invariant(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f"));
230
+ const { x, y, middlewareData, placement, strategy } = await computePosition(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), this.host, {
231
+ middleware: __classPrivateFieldGet(this, _Tooltip_middleware, "f"),
232
+ placement: this.placement,
233
+ strategy: this.strategy,
234
+ });
235
+ const [side] = placement.split('-');
236
+ this.host.dataset.side = side;
237
+ Object.assign(this.host.style, {
238
+ position: strategy,
239
+ left: `${x}px`,
240
+ top: `${y}px`,
241
+ });
242
+ if (middlewareData.arrow === undefined)
243
+ return;
244
+ invariant(__classPrivateFieldGet(this, _Tooltip_arrow, "f"));
245
+ const { x: aX, y: aY, centerOffset } = middlewareData.arrow;
246
+ __classPrivateFieldGet(this, _Tooltip_arrow, "f").dataset.side = side;
247
+ Object.assign(__classPrivateFieldGet(this, _Tooltip_arrow, "f").style, {
248
+ display: centerOffset === 0 ? '' : 'none',
249
+ left: aX === undefined ? '' : `${aX}px`,
250
+ top: aY === undefined ? '' : `${aY}px`,
251
+ });
252
+ }
253
+ startAutoUpdate() {
254
+ invariant(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f"));
255
+ if (__classPrivateFieldGet(this, _Tooltip_cleanup, "f"))
256
+ __classPrivateFieldGet(this, _Tooltip_cleanup, "f").call(this);
257
+ __classPrivateFieldSet(this, _Tooltip_cleanup, autoUpdate(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f"), this.host, () => {
258
+ ignorePromise(this.updatePosition());
259
+ }, this.autoUpdateOptions), "f");
260
+ }
261
+ async componentWillLoad() {
262
+ __classPrivateFieldSet(this, _Tooltip_isTouchDevice, isTouchDevice(), "f");
263
+ this.host.hidden = true;
264
+ this.host.popover = 'manual';
265
+ this.internals.role = 'tooltip';
266
+ await this.updateReferenceElement();
267
+ autoIncrementingId += 1;
268
+ }
269
+ disconnectedCallback() {
270
+ if (!(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f") instanceof globalThis.Element))
271
+ return;
272
+ __classPrivateFieldGet(this, _Tooltip_instances, "m", _Tooltip_removeEventListeners).call(this);
273
+ __classPrivateFieldGet(this, _Tooltip_referenceElement, "f").removeAttribute('aria-describedby');
274
+ }
275
+ render() {
276
+ return (h(Host, { key: 'd988515f748a96c82aa9d06e5147e5d0bca5b15a', onKeyDown: __classPrivateFieldGet(this, _Tooltip_boundKeyDown, "f"), onPointerDown: __classPrivateFieldGet(this, _Tooltip_boundTooltipPointerDown, "f") }, h("div", { key: '8a4b87f814af050b52659eb14f04f377a704e19d', class: "qds-tooltip" }, h("slot", { key: 'e4e89b12134a6ed44eb8ae0e6f76d9843341cabe' })), h("div", { key: '3bff9e45b53659775dcdc5ef89d2132951cac5a9', class: "qds-arrow", ref: __classPrivateFieldGet(this, _Tooltip_arrowRef, "f") })));
277
+ }
278
+ get host() { return this; }
279
+ static get watchers() { return {
280
+ "flipOptions": ["updateMiddleware"],
281
+ "noFlip": ["updateMiddleware"],
282
+ "noShift": ["updateMiddleware"],
283
+ "offsetOptions": ["updateMiddleware"],
284
+ "shiftOptions": ["updateMiddleware"],
285
+ "target": ["updateReferenceElement"],
286
+ "trigger": ["updateEventListeners"],
287
+ "middleware": ["updatePosition"],
288
+ "placement": ["updatePosition"],
289
+ "strategy": ["updatePosition"],
290
+ "autoUpdateOptions": ["startAutoUpdate"]
291
+ }; }
292
+ static get style() { return tooltipCss; }
293
+ }, [257, "qds-tooltip", {
294
+ "autoUpdateOptions": [16, "auto-update-options"],
295
+ "disabled": [4],
296
+ "flipOptions": [16, "flip-options"],
297
+ "noFlip": [4, "no-flip"],
298
+ "noShift": [4, "no-shift"],
299
+ "offsetOptions": [16, "offset-options"],
300
+ "placement": [1],
301
+ "shiftOptions": [16, "shift-options"],
302
+ "strategy": [1],
303
+ "target": [1],
304
+ "trigger": [1],
305
+ "show": [64],
306
+ "close": [64],
307
+ "updateArrow": [64]
308
+ }, undefined, {
309
+ "flipOptions": ["updateMiddleware"],
310
+ "noFlip": ["updateMiddleware"],
311
+ "noShift": ["updateMiddleware"],
312
+ "offsetOptions": ["updateMiddleware"],
313
+ "shiftOptions": ["updateMiddleware"],
314
+ "target": ["updateReferenceElement"],
315
+ "trigger": ["updateEventListeners"],
316
+ "middleware": ["updatePosition"],
317
+ "placement": ["updatePosition"],
318
+ "strategy": ["updatePosition"],
319
+ "autoUpdateOptions": ["startAutoUpdate"]
320
+ }]);
321
+ _Tooltip_arrow = new WeakMap(), _Tooltip_arrowPadding = new WeakMap(), _Tooltip_cleanup = new WeakMap(), _Tooltip_clickedTooltip = new WeakMap(), _Tooltip_isTouchDevice = new WeakMap(), _Tooltip_listeners = new WeakMap(), _Tooltip_mainAxisDistance = new WeakMap(), _Tooltip_middleware = new WeakMap(), _Tooltip_open = new WeakMap(), _Tooltip_opened = new WeakMap(), _Tooltip_referenceElement = new WeakMap(), _Tooltip_arrowRef = new WeakMap(), _Tooltip_boundTooltipPointerDown = new WeakMap(), _Tooltip_boundFocus = new WeakMap(), _Tooltip_boundKeyDown = new WeakMap(), _Tooltip_boundPointerenter = new WeakMap(), _Tooltip_boundPointerleave = new WeakMap(), _Tooltip_boundFocusout = new WeakMap(), _Tooltip_boundPointerdown = new WeakMap(), _Tooltip_boundReferenceClick = new WeakMap(), _Tooltip_instances = new WeakSet(), _Tooltip_handleFocus = async function _Tooltip_handleFocus() {
322
+ if (!this.disabled)
323
+ await this.show();
324
+ }, _Tooltip_handleKeyDown = async function _Tooltip_handleKeyDown(event) {
325
+ if (event instanceof KeyboardEvent && event.key === 'Escape')
326
+ await this.close();
327
+ }, _Tooltip_handlePointerenter = async function _Tooltip_handlePointerenter() {
328
+ if (!this.disabled)
329
+ await this.show();
330
+ }, _Tooltip_handlePointerleave = async function _Tooltip_handlePointerleave(event) {
331
+ if (!__classPrivateFieldGet(this, _Tooltip_clickedTooltip, "f") &&
332
+ document.activeElement !== __classPrivateFieldGet(this, _Tooltip_referenceElement, "f") &&
333
+ document.activeElement?.closest('qds-tooltip') !== this.host &&
334
+ event instanceof PointerEvent &&
335
+ event.relatedTarget !== __classPrivateFieldGet(this, _Tooltip_referenceElement, "f") &&
336
+ event.relatedTarget !== this.host)
337
+ await this.close();
338
+ }, _Tooltip_handleFocusOut = async function _Tooltip_handleFocusOut(event) {
339
+ if (!(event instanceof FocusEvent))
340
+ return;
341
+ const { relatedTarget } = event;
342
+ if (relatedTarget instanceof globalThis.Element &&
343
+ !this.host.contains(relatedTarget) &&
344
+ __classPrivateFieldGet(this, _Tooltip_referenceElement, "f") !== relatedTarget)
345
+ await this.close();
346
+ }, _Tooltip_handlePointerdown = async function _Tooltip_handlePointerdown(event) {
347
+ const composedPath = event.composedPath();
348
+ const withinBounds = composedPath.includes(this.host) ||
349
+ (__classPrivateFieldGet(this, _Tooltip_referenceElement, "f") instanceof globalThis.Element &&
350
+ composedPath.includes(__classPrivateFieldGet(this, _Tooltip_referenceElement, "f")));
351
+ if (!withinBounds)
352
+ await this.close();
353
+ }, _Tooltip_handleReferenceClick = async function _Tooltip_handleReferenceClick() {
354
+ if (!this.disabled)
355
+ await (__classPrivateFieldGet(this, _Tooltip_open, "f") ? this.close() : this.show());
356
+ }, _Tooltip_on = function _Tooltip_on(element, event, listener) {
357
+ const hasListener = __classPrivateFieldGet(this, _Tooltip_listeners, "f").some((value) => value.element === element && value.event === event);
358
+ if (hasListener)
359
+ return;
360
+ element.addEventListener(event, listener);
361
+ __classPrivateFieldGet(this, _Tooltip_listeners, "f").push({ element, event, listener });
362
+ }, _Tooltip_removeEventListeners = function _Tooltip_removeEventListeners() {
363
+ for (const { element, event, listener } of __classPrivateFieldGet(this, _Tooltip_listeners, "f"))
364
+ element.removeEventListener(event, listener);
365
+ __classPrivateFieldSet(this, _Tooltip_listeners, [], "f");
366
+ }, _Tooltip_setAriaExpanded = function _Tooltip_setAriaExpanded() {
367
+ this.host.hidden = !__classPrivateFieldGet(this, _Tooltip_open, "f");
368
+ if (__classPrivateFieldGet(this, _Tooltip_open, "f"))
369
+ this.host.showPopover();
370
+ else
371
+ this.host.hidePopover();
372
+ if (__classPrivateFieldGet(this, _Tooltip_referenceElement, "f") instanceof globalThis.Element &&
373
+ this.host.role === 'dialog')
374
+ __classPrivateFieldGet(this, _Tooltip_referenceElement, "f").ariaExpanded = String(__classPrivateFieldGet(this, _Tooltip_open, "f"));
375
+ };
376
+ function defineCustomElement() {
377
+ if (typeof customElements === "undefined") {
378
+ return;
379
+ }
380
+ const components = ["qds-tooltip"];
381
+ components.forEach(tagName => { switch (tagName) {
382
+ case "qds-tooltip":
383
+ if (!customElements.get(tagName)) {
384
+ customElements.define(tagName, Tooltip);
385
+ }
386
+ break;
387
+ } });
388
+ }
389
+
390
+ export { Tooltip as T, defineCustomElement as d };
391
+ //# sourceMappingURL=p-B03FWheS.js.map
392
+
393
+ //# sourceMappingURL=p-B03FWheS.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-B03FWheS.js","mappings":";;;;;;;;;AAAA,MAAM,UAAU,GAAG,unGAAunG;;ACA1oG;AACA;AACA;;;;;;;;;;;;;;;;;;AA4CA,IAAI,kBAAkB,GAAG,CAAC;MAgBb,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;AALpB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;;;AAcE;;;AAGG;AACqB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAgBjD;;;AAGG;AACqB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AAE/C;;;AAGG;AACqB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAahD;;;;AAIG;AACqB,QAAA,IAAS,CAAA,SAAA,GAAc,KAAK;AAoCpD;;;AAGG;AACqB,QAAA,IAAO,CAAA,OAAA,GAC7B,oBAAoB;QAYtB,cAAoB,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAEpB,QAAA,qBAAA,CAAA,GAAA,CAAA,IAAA,EAAgB,CAAC,CAAA;QAEjB,gBAAqB,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAErB,QAAA,uBAAA,CAAA,GAAA,CAAA,IAAA,EAAkB,KAAK,CAAA;AAEvB,QAAA,sBAAA,CAAA,GAAA,CAAA,IAAA,EAAiB,KAAK,CAAA;AAEtB,QAAA,kBAAA,CAAA,GAAA,CAAA,IAAA,EAIM,EAAE,CAAA;AAER,QAAA,yBAAA,CAAA,GAAA,CAAA,IAAA,EAAoB,CAAC,CAAA;QAErB,mBAAoC,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAEpC,QAAA,aAAA,CAAA,GAAA,CAAA,IAAA,EAAQ;AAER;;;AAGG;SALU;AAEb;;;AAGG;AACH,QAAA,eAAA,CAAA,GAAA,CAAA,IAAA,EAAU,KAAK,CAAA;QAEf,yBAAoC,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;QAqO3B,iBAAY,CAAA,GAAA,CAAA,IAAA,EAAA,CAAC,GAAiB,KAAU;YAC/C,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAU,GAAG,EAAA,GAAA,CAAA;AACnB,SAAC,CAAA;AAEQ,QAAA,gCAAA,CAAA,GAAA,CAAA,IAAA,EAA2B,MAAW;YAC7C,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAmB,IAAI,EAAA,GAAA,CAAA;AAC7B,SAAC,CAAA;AAMQ,QAAA,mBAAA,CAAA,GAAA,CAAA,IAAA,EAAc,MAAW;AAChC,YAAA,aAAa,CAAC,uBAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,oBAAA,CAAa,MAAjB,IAAI,CAAe,CAAC;AACpC,SAAC,CAAA;QAOQ,qBAAgB,CAAA,GAAA,CAAA,IAAA,EAAA,CAAC,KAAY,KAAU;AAC9C,YAAA,aAAa,CAAC,sBAAA,CAAA,IAAI,EAAe,kBAAA,EAAA,GAAA,EAAA,sBAAA,CAAA,CAAA,IAAA,CAAnB,IAAI,EAAgB,KAAK,CAAC,CAAC;AAC3C,SAAC,CAAA;AAMQ,QAAA,0BAAA,CAAA,GAAA,CAAA,IAAA,EAAqB,MAAW;AACvC,YAAA,aAAa,CAAC,uBAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,2BAAA,CAAoB,MAAxB,IAAI,CAAsB,CAAC;AAC3C,SAAC,CAAA;QAcQ,0BAAqB,CAAA,GAAA,CAAA,IAAA,EAAA,CAAC,KAAY,KAAU;AACnD,YAAA,aAAa,CAAC,sBAAA,CAAA,IAAI,EAAoB,kBAAA,EAAA,GAAA,EAAA,2BAAA,CAAA,CAAA,IAAA,CAAxB,IAAI,EAAqB,KAAK,CAAC,CAAC;AAChD,SAAC,CAAA;QAcQ,sBAAiB,CAAA,GAAA,CAAA,IAAA,EAAA,CAAC,KAAY,KAAU;AAC/C,YAAA,aAAa,CAAC,sBAAA,CAAA,IAAI,EAAgB,kBAAA,EAAA,GAAA,EAAA,uBAAA,CAAA,CAAA,IAAA,CAApB,IAAI,EAAiB,KAAK,CAAC,CAAC;AAC5C,SAAC,CAAA;QAWQ,yBAAoB,CAAA,GAAA,CAAA,IAAA,EAAA,CAAC,KAAY,KAAU;AAClD,YAAA,aAAa,CAAC,sBAAA,CAAA,IAAI,EAAmB,kBAAA,EAAA,GAAA,EAAA,0BAAA,CAAA,CAAA,IAAA,CAAvB,IAAI,EAAoB,KAAK,CAAC,CAAC;AAC/C,SAAC,CAAA;AAMQ,QAAA,4BAAA,CAAA,GAAA,CAAA,IAAA,EAAuB,MAAW;AACzC,YAAA,aAAa,CAAC,uBAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,6BAAA,CAAsB,MAA1B,IAAI,CAAwB,CAAC;AAC7C,SAAC,CAAA;AAiCF;AAxVC;;AAEG;AAEI,IAAA,MAAM,IAAI,GAAA;AACf,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAM,aAAA,EAAA,GAAA,CAAA;YAAE;QAEhB,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAA,eAAA,EAAA,GAAA,CAAQ,EAAE;AACjB,YAAA,MAAM,IAAI,CAAC,WAAW,EAAE;YACxB,sBAAA,CAAA,IAAI,EAAA,eAAA,EAAW,IAAI,EAAA,GAAA,CAAA;;QAErB,IAAI,CAAC,eAAe,EAAE;QACtB,sBAAA,CAAA,IAAI,EAAA,aAAA,EAAS,IAAI,EAAA,GAAA,CAAA;AACjB,QAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,wBAAA,CAAiB,CAArB,IAAA,CAAA,IAAI,CAAmB;;AAGzB;;AAEG;AAEI,IAAA,MAAM,KAAK,GAAA;QAChB,IAAI,CAAC,sBAAA,CAAA,IAAI,EAAM,aAAA,EAAA,GAAA,CAAA;YAAE;AAEjB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AAExB,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAS,gBAAA,EAAA,GAAA,CAAA;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAS,CAAb,IAAA,CAAA,IAAI,CAAW;QAClC,sBAAA,CAAA,IAAI,EAAA,aAAA,EAAS,KAAK,EAAA,GAAA,CAAA;AAClB,QAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,wBAAA,CAAiB,CAArB,IAAA,CAAA,IAAI,CAAmB;QACvB,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAmB,KAAK,EAAA,GAAA,CAAA;;AAG9B;;;;;AAKG;AAEI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,IAAI,CAAC;QACxE,MAAM,MAAM,GACV,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,8CAA8C,CAAC;AACvE,YAAA,CAAC;AACH,QAAA,MAAM,OAAO,GACX,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,+BAA+B,CAAC,IAAI,CAAC;QAC/D,sBAAA,CAAA,IAAI,EAAqB,yBAAA,EAAA,GAAG,GAAG,MAAM,MAAA;QACrC,sBAAA,CAAA,IAAI,EAAA,qBAAA,EAAiB,OAAO,EAAA,GAAA,CAAA;AAE5B,QAAA,MAAM,IAAI,CAAC,gBAAgB,EAAE;;AAQvB,IAAA,MAAM,gBAAgB,GAAA;QAC5B,SAAS,CAAC,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAO,CAAC;AAEtB,QAAA,sBAAA,CAAA,IAAI,EAAe,mBAAA,EAAA;AACjB,YAAA,MAAM,CAAC;gBACL,GAAG,IAAI,CAAC,aAAa;gBACrB,QAAQ,EAAE,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA;aACjC,CAAC;YACF,CAAC,IAAI,CAAC,MAAM;AACV,gBAAA,IAAI,CAAC;oBACH,SAAS,EAAE,IAAI,CAAC,OAAO;oBACvB,GAAG,IAAI,CAAC,WAAW;iBACpB,CAAC;YACJ,CAAC,IAAI,CAAC,OAAO;AACX,gBAAA,KAAK,CAAC;oBACJ,OAAO,EAAE,UAAU,EAAE;oBACrB,GAAG,IAAI,CAAC,YAAY;iBACrB,CAAC;AACJ,YAAA,KAAK,CAAC;gBACJ,OAAO,EAAE,sBAAA,CAAA,IAAI,EAAO,cAAA,EAAA,GAAA,CAAA;gBACpB,OAAO,EAAE,sBAAA,CAAA,IAAI,EAAc,qBAAA,EAAA,GAAA,CAAA;aAC5B,CAAC;SACH,EAAA,GAAA,CAAA;;AAIK,IAAA,MAAM,sBAAsB,GAAA;;QAClC,IAAI,CAAC,oBAAoB,EAAE;AAE3B,QAAA,sBAAA,CAAA,IAAI,6BAAqB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAA,GAAA,CAAA;AAEnD,QAAA,IAAI,EAAE,sBAAA,CAAA,IAAI,iCAAkB,YAAY,UAAU,CAAC,OAAO,CAAC;YAAE;QAE7D,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,EAAC,EAAE,KAAF,EAAA,CAAA,EAAE,GAAK,eAAe,kBAAkB,CAAA,CAAE,CAAA;AACpD,QAAA,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAkB,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrE,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7B,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,CAAC,YAAY,GAAG,QAAQ;;IAI1C,oBAAoB,GAAA;AAC1B,QAAA,IAAI,EAAE,sBAAA,CAAA,IAAI,iCAAkB,YAAY,UAAU,CAAC,OAAO,CAAC;YAAE;QAE7D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;cACvC,IAAI,CAAC;eACH,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAA0C;AACnE,gBAAA,EAAE,CAAC;AAEP,QAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,6BAAA,CAAsB,CAA1B,IAAA,CAAA,IAAI,CAAwB;AAE5B,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAe,sBAAA,EAAA,GAAA,CAAA;AACrB,YAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EAAE,OAAO,EAAE,sBAAA,CAAA,IAAI,EAAA,4BAAA,EAAA,GAAA,CAAqB,CAAC;AACtE,QAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,QAAQ,CAAC,eAAe,EAAE,aAAa,EAAE,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAkB,CAAC;AACzE,QAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EAAE,SAAS,EAAE,sBAAA,CAAA,IAAI,EAAA,qBAAA,EAAA,GAAA,CAAc,CAAC;AAE/D,QAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,QAAQ,OAAO;gBACb,KAAK,OAAO,EAAE;AACZ,oBAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EAAE,OAAO,EAAE,sBAAA,CAAA,IAAI,EAAA,4BAAA,EAAA,GAAA,CAAqB,CAAC;oBACpE;;AAEF,gBAAA,KAAK,OAAO;gBACZ,KAAK,SAAS,EAAE;AACd,oBAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EAAE,OAAO,EAAE,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAY,CAAC;AAC3D,oBAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EAAE,UAAU,EAAE,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAe,CAAC;AACjE,oBAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,CAAe,CAAC;oBACpD;;gBAEF,KAAK,cAAc,EAAE;AACnB,oBAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EACF,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EACtB,cAAc,EACd,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAmB,CACxB;AACD,oBAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EACF,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EACtB,cAAc,EACd,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAmB,CACxB;AACD,oBAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,WAAA,CAAI,CAAR,IAAA,CAAA,IAAI,EAAK,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAmB,CAAC;oBAC5D;;;;;AAUA,IAAA,MAAM,cAAc,GAAA;QAC1B,SAAS,CAAC,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAkB,CAAC;QAEjC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CACzE,sBAAA,CAAA,IAAI,iCAAkB,EACtB,IAAI,CAAC,IAAI,EACT;YACE,UAAU,EAAE,sBAAA,CAAA,IAAI,EAAY,mBAAA,EAAA,GAAA,CAAA;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CACF;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAA0B;QAE5D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC7B,YAAA,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,CAAG,EAAA,CAAC,CAAI,EAAA,CAAA;YACd,GAAG,EAAE,CAAG,EAAA,CAAC,CAAI,EAAA,CAAA;AACd,SAAA,CAAC;AAEF,QAAA,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS;YAAE;QAExC,SAAS,CAAC,sBAAA,CAAA,IAAI,EAAA,cAAA,EAAA,GAAA,CAAO,CAAC;AAEtB,QAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,KAAK;AAC3D,QAAA,sBAAA,CAAA,IAAI,sBAAO,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;AAC/B,QAAA,MAAM,CAAC,MAAM,CAAC,sBAAA,CAAA,IAAI,EAAO,cAAA,EAAA,GAAA,CAAA,CAAC,KAAK,EAAE;YAC/B,OAAO,EAAE,YAAY,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM;AACzC,YAAA,IAAI,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,CAAA,EAAG,EAAE,CAAI,EAAA,CAAA;AACvC,YAAA,GAAG,EAAE,EAAE,KAAK,SAAS,GAAG,EAAE,GAAG,CAAA,EAAG,EAAE,CAAI,EAAA,CAAA;AACvC,SAAA,CAAC;;IAII,eAAe,GAAA;QACrB,SAAS,CAAC,sBAAA,CAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAkB,CAAC;AAEjC,QAAA,IAAI,sBAAA,CAAA,IAAI,EAAS,gBAAA,EAAA,GAAA,CAAA;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAS,CAAb,IAAA,CAAA,IAAI,CAAW;QAClC,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAY,UAAU,CACxB,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,EACtB,IAAI,CAAC,IAAI,EACT,MAAK;AACH,YAAA,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;SACrC,EACD,IAAI,CAAC,iBAAiB,CACvB,MAAA;;AAGI,IAAA,MAAM,iBAAiB,GAAA;QAC5B,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAkB,aAAa,EAAE,MAAA;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ;AAC5B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS;AAC/B,QAAA,MAAM,IAAI,CAAC,sBAAsB,EAAE;QACnC,kBAAkB,IAAI,CAAC;;IAGlB,oBAAoB,GAAA;AACzB,QAAA,IAAI,EAAE,sBAAA,CAAA,IAAI,iCAAkB,YAAY,UAAU,CAAC,OAAO,CAAC;YAAE;AAE7D,QAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,EAAA,6BAAA,CAAsB,CAA1B,IAAA,CAAA,IAAI,CAAwB;AAC5B,QAAA,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,CAAC,eAAe,CAAC,kBAAkB,CAAC;;IAGrD,MAAM,GAAA;AACX,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,SAAS,EAAE,sBAAA,CAAA,IAAI,EAAA,qBAAA,EAAA,GAAA,CAAc,EAC7B,aAAa,EAAE,sBAAA,CAAA,IAAI,EAAyB,gCAAA,EAAA,GAAA,CAAA,EAAA,EAE5C,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACJ,EAEN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,WAAW,EAAC,GAAG,EAAE,sBAAA,CAAA,IAAI,EAAU,iBAAA,EAAA,GAAA,CAAA,EAAA,CAAI,CACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;80BAYX,eAAK,oBAAA,GAAA;IACH,IAAI,CAAC,IAAI,CAAC,QAAQ;AAAE,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE;AACvC,CAAC,EAAA,sBAAA,GAMD,eAAK,sBAAA,CAAgB,KAAY,EAAA;IAC/B,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;AAC1D,QAAA,MAAM,IAAI,CAAC,KAAK,EAAE;AACtB,CAAC,gCAMD,eAAK,2BAAA,GAAA;IACH,IAAI,CAAC,IAAI,CAAC,QAAQ;AAAE,QAAA,MAAM,IAAI,CAAC,IAAI,EAAE;AACvC,CAAC,EAAA,2BAAA,GAMD,eAAK,2BAAA,CAAqB,KAAY,EAAA;IACpC,IACE,CAAC,sBAAA,CAAA,IAAI,EAAgB,uBAAA,EAAA,GAAA,CAAA;QACrB,QAAQ,CAAC,aAAa,KAAK,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA;QACjD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,IAAI;AAC5D,QAAA,KAAK,YAAY,YAAY;QAC7B,KAAK,CAAC,aAAa,KAAK,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA;AAC9C,QAAA,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI;AAEjC,QAAA,MAAM,IAAI,CAAC,KAAK,EAAE;AACtB,CAAC,EAAA,uBAAA,GAMD,eAAK,uBAAA,CAAiB,KAAY,EAAA;AAChC,IAAA,IAAI,EAAE,KAAK,YAAY,UAAU,CAAC;QAAE;AACpC,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK;AAE/B,IAAA,IACE,aAAa,YAAY,UAAU,CAAC,OAAO;AAC3C,QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,KAAK,aAAa;AAExC,QAAA,MAAM,IAAI,CAAC,KAAK,EAAE;AACtB,CAAC,EAAA,0BAAA,GAMD,eAAK,0BAAA,CAAoB,KAAY,EAAA;AACnC,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE;IACzC,MAAM,YAAY,GAChB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/B,uBAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAkB,YAAY,UAAU,CAAC,OAAO;AACnD,YAAA,YAAY,CAAC,QAAQ,CAAC,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,CAAC,CAAC;AAClD,IAAA,IAAI,CAAC,YAAY;AAAE,QAAA,MAAM,IAAI,CAAC,KAAK,EAAE;AACvC,CAAC,kCAMD,eAAK,6BAAA,GAAA;IACH,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,sBAAA,CAAA,IAAI,qBAAM,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC,EAOC,WAAA,GAAA,SAAA,WAAA,CAAA,OAAgB,EAChB,KAAwC,EACxC,QAA4C,EAAA;AAE5C,IAAA,MAAM,WAAW,GAAG,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAW,CAAC,IAAI,CACtC,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAC9D;AACD,IAAA,IAAI,WAAW;QAAE;AAEjB,IAAA,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;AACzC,IAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC,EAAA,6BAAA,GAAA,SAAA,6BAAA,GAAA;AAGC,IAAA,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,sBAAA,CAAA,IAAI,EAAW,kBAAA,EAAA,GAAA,CAAA;AACxD,QAAA,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC9C,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAc,EAAE,EAAA,GAAA,CAAA;AACtB,CAAC,EAAA,wBAAA,GAAA,SAAA,wBAAA,GAAA;AAGC,IAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,sBAAA,CAAA,IAAI,EAAA,aAAA,EAAA,GAAA,CAAM;AAC9B,IAAA,IAAI,sBAAA,CAAA,IAAI,EAAM,aAAA,EAAA,GAAA,CAAA;AAAE,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;IAE5B,IACE,uBAAA,IAAI,EAAA,yBAAA,EAAA,GAAA,CAAkB,YAAY,UAAU,CAAC,OAAO;AACpD,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;QAE3B,sBAAA,CAAA,IAAI,EAAkB,yBAAA,EAAA,GAAA,CAAA,CAAC,YAAY,GAAG,MAAM,CAAC,sBAAA,CAAA,IAAI,EAAM,aAAA,EAAA,GAAA,CAAA,CAAC;AAC5D,CAAC;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/tooltip/tooltip.css?tag=qds-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: © 2024 Schneider Electric\n *\n * SPDX-License-Identifier: Apache-2.0\n */\n\n@import url('../shared.css');\n\n:host {\n align-items: flex-start;\n background-color: var(--qds-theme-accessory-background);\n border-radius: var(--qds-accessory-border-radius);\n border: none;\n box-shadow: var(--qds-accessory-elevation);\n box-sizing: border-box;\n color: var(--qds-theme-text-standard);\n display: flex;\n flex-direction: column;\n gap: var(--qds-accessory-gap-children-unrelated);\n inset: unset;\n margin: 0;\n overflow: initial;\n padding: 0;\n}\n\n:host::before {\n content: '';\n position: absolute;\n}\n\n::slotted(blockquote),\n::slotted(button),\n::slotted(dd),\n::slotted(dl),\n::slotted(fieldset),\n::slotted(figure),\n::slotted(h1),\n::slotted(h2),\n::slotted(h3),\n::slotted(h4),\n::slotted(h5),\n::slotted(h6),\n::slotted(hr),\n::slotted(input),\n::slotted(menu),\n::slotted(ol),\n::slotted(p),\n::slotted(pre),\n::slotted(select),\n::slotted(textarea),\n::slotted(ul) {\n margin: 0;\n}\n\n:host([data-side='top'])::before,\n:host([data-side='bottom'])::before {\n width: 100%;\n height: calc(\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n );\n top: 100%;\n}\n\n:host([data-side='bottom'])::before {\n top: calc(\n -1 *\n (\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n )\n );\n}\n\n:host([data-side='left'])::before,\n:host([data-side='right'])::before {\n width: calc(\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n );\n left: 100%;\n}\n\n:host([data-side='right'])::before {\n left: calc(\n -1 *\n (\n var(--qds-accessory-gap-floating, 0px) +\n var(--qds-signature-triangle-pointer-size-height, 0px)\n )\n );\n}\n\n.qds-arrow {\n position: absolute;\n width: var(--qds-signature-triangle-pointer-size-width);\n height: var(--qds-signature-triangle-pointer-size-height);\n\n &::before {\n content: '';\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: var(--qds-theme-accessory-background);\n clip-path: polygon(0% 0%, 100% 0%, 50% 100%);\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 100%;\n height: calc(100% + var(--qds-accessory-border-width));\n background-color: var(--qds-theme-accessory-border);\n clip-path: polygon(0% 10%, 100% 10%, 50% 100%);\n z-index: -1;\n bottom: calc(-1 * var(--qds-accessory-border-width));\n }\n\n &[data-side='bottom'] {\n top: calc(\n -1 *\n (\n var(--qds-signature-triangle-pointer-size-height) -\n var(--qds-accessory-effect-section-position-y)\n )\n );\n transform: rotate(180deg);\n }\n\n &[data-side='left'] {\n right: calc(\n (\n -1 *\n (\n var(--qds-accessory-gap-floating) +\n var(--qds-signature-triangle-pointer-size-height)\n )\n ) +\n var(--qds-accessory-effect-section-position-y)\n );\n transform: rotate(-90deg);\n }\n\n &[data-side='right'] {\n left: calc(\n (\n -1 *\n (\n var(--qds-accessory-gap-floating) +\n var(--qds-signature-triangle-pointer-size-height)\n )\n ) +\n var(--qds-accessory-effect-section-position-y)\n );\n transform: rotate(90deg);\n }\n\n &[data-side='top'] {\n bottom: calc(\n -1 *\n (\n var(--qds-signature-triangle-pointer-size-height) -\n var(--qds-accessory-effect-section-position-y)\n )\n );\n }\n}\n\n.qds-tooltip {\n border: var(--qds-accessory-border-width) solid\n var(--qds-theme-accessory-border);\n border-radius: var(--qds-accessory-border-radius);\n padding: var(--qds-accessory-padding-top) var(--qds-accessory-padding-end)\n var(--qds-accessory-padding-bottom) var(--qds-accessory-padding-start);\n display: inherit;\n flex-direction: inherit;\n flex-wrap: inherit;\n justify-content: inherit;\n align-items: inherit;\n gap: inherit;\n max-width: var(--qds-accessory-max-width);\n}\n","// SPDX-FileCopyrightText: © 2024 Schneider Electric\n//\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n AutoUpdateOptions,\n DetectOverflowOptions,\n FlipOptions,\n Middleware,\n Placement,\n ReferenceElement,\n ShiftOptions,\n Strategy,\n} from '@floating-ui/dom'\nimport {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n limitShift,\n offset,\n shift,\n} from '@floating-ui/dom'\nimport type { ComponentInterface, EventEmitter } from '@stencil/core'\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n h,\n Host,\n Method,\n Prop,\n Watch,\n} from '@stencil/core'\nimport type { Split } from 'type-fest'\n\nimport type { OffsetOptions } from '../../helpers'\nimport {\n ignorePromise,\n invariant,\n isTouchDevice,\n propertyToPx,\n resolveTarget,\n} from '../../helpers'\n\nlet autoIncrementingId = 1\n\nexport type TriggerEvent = Extract<\n keyof GlobalEventHandlersEventMap,\n 'click' | 'focus' | 'focusin' | 'pointerenter'\n>\n\n/**\n * @slot Content to display in the dropdown.\n * @see https://quartz.se.com/build/components/tooltip\n */\n@Component({\n tag: 'qds-tooltip',\n shadow: true,\n styleUrl: 'tooltip.css',\n})\nexport class Tooltip implements ComponentInterface {\n /**\n * Options to pass to Floating UI's\n * [`autoUpdate()` function](https://floating-ui.com/docs/autoUpdate).\n *\n * @see https://floating-ui.com/docs/autoupdate#options\n */\n @Prop() public readonly autoUpdateOptions?: AutoUpdateOptions\n\n /**\n * Prevents the tooltip from being shown by user interaction. The tooltip can\n * still be displayed by calling the `show()` method.\n */\n @Prop() public readonly disabled: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n *\n * The [`crossAxis` option](https://floating-ui.com/docs/flip#crossaxis) is\n * set to the value of the `noShift` property by default for interoperability\n * with the [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/flip#options\n */\n @Prop() public readonly flipOptions?: Partial<\n DetectOverflowOptions & FlipOptions\n >\n\n /**\n * Disable Floating UI's\n * [`flip` middleware](https://floating-ui.com/docs/flip).\n */\n @Prop() public readonly noFlip: boolean = false\n\n /**\n * Disable Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n */\n @Prop() public readonly noShift: boolean = false\n\n /**\n * Options to pass to Floating UI's\n * [`offset` middleware](https://floating-ui.com/docs/offset).\n *\n * The [`mainAxis` option](https://floating-ui.com/docs/offset#mainaxis) is\n * not supported.\n *\n * @see https://floating-ui.com/docs/offset#options\n */\n @Prop() public readonly offsetOptions?: OffsetOptions\n\n /**\n * Where to place the tooltip relative to the `target`.\n *\n * @see https://floating-ui.com/docs/tutorial#placements\n */\n @Prop() public readonly placement: Placement = 'top'\n\n /**\n * Options to pass to Floating UI's\n * [`shift` middleware](https://floating-ui.com/docs/shift).\n *\n * @see https://floating-ui.com/docs/shift#options\n */\n @Prop() public readonly shiftOptions?: Partial<\n DetectOverflowOptions & ShiftOptions\n >\n\n /**\n * The CSS position strategy to use.\n *\n * @see https://floating-ui.com/docs/computeposition#strategy\n */\n @Prop() public readonly strategy?: Strategy\n\n /**\n * The trigger element that will trigger the tooltip. The target specified\n * can be any of the following:\n *\n * - A CSS selector string\n * - A reference to an [`Element`][] or [Virtual Element][]\n * - A function returning a reference to an [`Element`][],\n * [Virtual Element][], or a CSS selector string\n *\n * [`Element`]: https://developer.mozilla.org/docs/Web/API/Element\n * [Virtual Element]: https://floating-ui.com/docs/virtual-elements\n */\n @Prop() public readonly target?:\n | ReferenceElement\n | string\n | (() => ReferenceElement | string)\n\n /**\n * Determines the events that cause the tooltip to show. Multiple event names\n * are separated by spaces.\n */\n @Prop() public readonly trigger?: TriggerEvent[] | string =\n 'pointerenter focus'\n\n /**\n * Emitted when the tooltip is closed.\n */\n @Event({ eventName: 'qdsClose', bubbles: false, cancelable: false })\n private readonly closeEmitter!: EventEmitter<void>\n\n @Element() private readonly host!: HTMLElement\n\n @AttachInternals() private readonly internals!: ElementInternals\n\n #arrow?: HTMLElement\n\n #arrowPadding = 0\n\n #cleanup?: () => void\n\n #clickedTooltip = false\n\n #isTouchDevice = false\n\n #listeners: {\n element: Element\n event: keyof GlobalEventHandlersEventMap\n listener: EventListenerOrEventListenerObject\n }[] = []\n\n #mainAxisDistance = 0\n\n #middleware?: (Middleware | false)[]\n\n #open = false\n\n /**\n * Ensure that `updateArrow()` is called only once internally as this is\n * expensive.\n */\n #opened = false\n\n #referenceElement?: ReferenceElement\n\n /**\n * Show the tooltip.\n */\n @Method()\n public async show(): Promise<void> {\n if (this.#open) return\n\n if (!this.#opened) {\n await this.updateArrow()\n this.#opened = true\n }\n this.startAutoUpdate()\n this.#open = true\n this.#setAriaExpanded()\n }\n\n /**\n * Close the tooltip.\n */\n @Method()\n public async close(): Promise<void> {\n if (!this.#open) return\n\n this.closeEmitter.emit()\n\n if (this.#cleanup) this.#cleanup()\n this.#open = false\n this.#setAriaExpanded()\n this.#clickedTooltip = false\n }\n\n /**\n * Update the tooltip's arrow.\n *\n * This method should typically be called when the Quartz platform was\n * changed.\n */\n @Method()\n public async updateArrow(): Promise<void> {\n const gap = propertyToPx(this.host, '--qds-accessory-gap-floating') ?? 0\n const height =\n propertyToPx(this.host, '--qds-signature-triangle-pointer-size-height') ??\n 0\n const padding =\n propertyToPx(this.host, '--qds-accessory-border-radius') ?? 0\n this.#mainAxisDistance = gap + height\n this.#arrowPadding = padding\n\n await this.updateMiddleware()\n }\n\n @Watch('flipOptions')\n @Watch('noFlip')\n @Watch('noShift')\n @Watch('offsetOptions')\n @Watch('shiftOptions')\n private async updateMiddleware(): Promise<void> {\n invariant(this.#arrow)\n\n this.#middleware = [\n offset({\n ...this.offsetOptions,\n mainAxis: this.#mainAxisDistance,\n }),\n !this.noFlip &&\n flip({\n crossAxis: this.noShift,\n ...this.flipOptions,\n }),\n !this.noShift &&\n shift({\n limiter: limitShift(),\n ...this.shiftOptions,\n }),\n arrow({\n element: this.#arrow,\n padding: this.#arrowPadding,\n }),\n ]\n }\n\n @Watch('target')\n private async updateReferenceElement(): Promise<void> {\n this.disconnectedCallback()\n\n this.#referenceElement = resolveTarget(this.target)\n\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.updateEventListeners()\n this.host.id ||= `qds-tooltip-${autoIncrementingId}`\n this.#referenceElement.setAttribute('aria-describedby', this.host.id)\n if (this.host.role === 'dialog')\n this.#referenceElement.ariaHasPopup = 'dialog'\n }\n\n @Watch('trigger')\n private updateEventListeners(): void {\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n const triggers = Array.isArray(this.trigger)\n ? this.trigger\n : ((this.trigger?.split(' ') as Split<TriggerEvent, ' '> | undefined) ??\n [])\n\n this.#removeEventListeners()\n\n if (this.#isTouchDevice)\n this.#on(this.#referenceElement, 'click', this.#boundReferenceClick)\n this.#on(document.documentElement, 'pointerdown', this.#boundPointerdown)\n this.#on(this.#referenceElement, 'keydown', this.#boundKeyDown)\n\n for (const trigger of triggers) {\n switch (trigger) {\n case 'click': {\n this.#on(this.#referenceElement, 'click', this.#boundReferenceClick)\n break\n }\n case 'focus':\n case 'focusin': {\n this.#on(this.#referenceElement, trigger, this.#boundFocus)\n this.#on(this.#referenceElement, 'focusout', this.#boundFocusout)\n this.#on(this.host, 'focusout', this.#boundFocusout)\n break\n }\n case 'pointerenter': {\n this.#on(\n this.#referenceElement,\n 'pointerenter',\n this.#boundPointerenter,\n )\n this.#on(\n this.#referenceElement,\n 'pointerleave',\n this.#boundPointerleave,\n )\n this.#on(this.host, 'pointerleave', this.#boundPointerleave)\n break\n }\n default:\n }\n }\n }\n\n @Watch('middleware')\n @Watch('placement')\n @Watch('strategy')\n private async updatePosition(): Promise<void> {\n invariant(this.#referenceElement)\n\n const { x, y, middlewareData, placement, strategy } = await computePosition(\n this.#referenceElement,\n this.host,\n {\n middleware: this.#middleware,\n placement: this.placement,\n strategy: this.strategy,\n },\n )\n const [side] = placement.split('-') as Split<Placement, '-'>\n\n this.host.dataset.side = side\n Object.assign(this.host.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n })\n\n if (middlewareData.arrow === undefined) return\n\n invariant(this.#arrow)\n\n const { x: aX, y: aY, centerOffset } = middlewareData.arrow\n this.#arrow.dataset.side = side\n Object.assign(this.#arrow.style, {\n display: centerOffset === 0 ? '' : 'none',\n left: aX === undefined ? '' : `${aX}px`,\n top: aY === undefined ? '' : `${aY}px`,\n })\n }\n\n @Watch('autoUpdateOptions')\n private startAutoUpdate(): void {\n invariant(this.#referenceElement)\n\n if (this.#cleanup) this.#cleanup()\n this.#cleanup = autoUpdate(\n this.#referenceElement,\n this.host,\n () => {\n ignorePromise(this.updatePosition())\n },\n this.autoUpdateOptions,\n )\n }\n\n public async componentWillLoad(): Promise<void> {\n this.#isTouchDevice = isTouchDevice()\n this.host.hidden = true\n this.host.popover = 'manual'\n this.internals.role = 'tooltip'\n await this.updateReferenceElement()\n autoIncrementingId += 1\n }\n\n public disconnectedCallback(): void {\n if (!(this.#referenceElement instanceof globalThis.Element)) return\n\n this.#removeEventListeners()\n this.#referenceElement.removeAttribute('aria-describedby')\n }\n\n public render() {\n return (\n <Host\n onKeyDown={this.#boundKeyDown}\n onPointerDown={this.#boundTooltipPointerDown}\n >\n <div class=\"qds-tooltip\">\n <slot />\n </div>\n\n <div class=\"qds-arrow\" ref={this.#arrowRef} />\n </Host>\n )\n }\n\n readonly #arrowRef = (div?: HTMLElement): void => {\n this.#arrow = div\n }\n\n readonly #boundTooltipPointerDown = (): void => {\n this.#clickedTooltip = true\n }\n\n async #handleFocus(): Promise<void> {\n if (!this.disabled) await this.show()\n }\n\n readonly #boundFocus = (): void => {\n ignorePromise(this.#handleFocus())\n }\n\n async #handleKeyDown(event: Event): Promise<void> {\n if (event instanceof KeyboardEvent && event.key === 'Escape')\n await this.close()\n }\n\n readonly #boundKeyDown = (event: Event): void => {\n ignorePromise(this.#handleKeyDown(event))\n }\n\n async #handlePointerenter(): Promise<void> {\n if (!this.disabled) await this.show()\n }\n\n readonly #boundPointerenter = (): void => {\n ignorePromise(this.#handlePointerenter())\n }\n\n async #handlePointerleave(event: Event): Promise<void> {\n if (\n !this.#clickedTooltip &&\n document.activeElement !== this.#referenceElement &&\n document.activeElement?.closest('qds-tooltip') !== this.host &&\n event instanceof PointerEvent &&\n event.relatedTarget !== this.#referenceElement &&\n event.relatedTarget !== this.host\n )\n await this.close()\n }\n\n readonly #boundPointerleave = (event: Event): void => {\n ignorePromise(this.#handlePointerleave(event))\n }\n\n async #handleFocusOut(event: Event): Promise<void> {\n if (!(event instanceof FocusEvent)) return\n const { relatedTarget } = event\n\n if (\n relatedTarget instanceof globalThis.Element &&\n !this.host.contains(relatedTarget) &&\n this.#referenceElement !== relatedTarget\n )\n await this.close()\n }\n\n readonly #boundFocusout = (event: Event): void => {\n ignorePromise(this.#handleFocusOut(event))\n }\n\n async #handlePointerdown(event: Event): Promise<void> {\n const composedPath = event.composedPath()\n const withinBounds =\n composedPath.includes(this.host) ||\n (this.#referenceElement instanceof globalThis.Element &&\n composedPath.includes(this.#referenceElement))\n if (!withinBounds) await this.close()\n }\n\n readonly #boundPointerdown = (event: Event): void => {\n ignorePromise(this.#handlePointerdown(event))\n }\n\n async #handleReferenceClick(): Promise<void> {\n if (!this.disabled) await (this.#open ? this.close() : this.show())\n }\n\n readonly #boundReferenceClick = (): void => {\n ignorePromise(this.#handleReferenceClick())\n }\n\n #on(\n element: Element,\n event: keyof GlobalEventHandlersEventMap,\n listener: EventListenerOrEventListenerObject,\n ): void {\n const hasListener = this.#listeners.some(\n (value) => value.element === element && value.event === event,\n )\n if (hasListener) return\n\n element.addEventListener(event, listener)\n this.#listeners.push({ element, event, listener })\n }\n\n #removeEventListeners(): void {\n for (const { element, event, listener } of this.#listeners)\n element.removeEventListener(event, listener)\n this.#listeners = []\n }\n\n #setAriaExpanded(): void {\n this.host.hidden = !this.#open\n if (this.#open) this.host.showPopover()\n else this.host.hidePopover()\n\n if (\n this.#referenceElement instanceof globalThis.Element &&\n this.host.role === 'dialog'\n )\n this.#referenceElement.ariaExpanded = String(this.#open)\n }\n}\n"],"version":3}