@siemens/ix 1.2.1 → 1.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/dist/cjs/alignment-24ae2e63.js +1372 -0
  2. package/dist/cjs/{index-354a8c3d.js → index-17eb8998.js} +4 -3
  3. package/dist/cjs/index.cjs.js +5 -2
  4. package/dist/cjs/ix-animated-tab_2.cjs.entry.js +1 -1
  5. package/dist/cjs/ix-application-header.cjs.entry.js +1 -1
  6. package/dist/cjs/ix-basic-navigation.cjs.entry.js +1 -1
  7. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  8. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +1 -1
  9. package/dist/cjs/ix-button.cjs.entry.js +5 -3
  10. package/dist/cjs/ix-category-filter.cjs.entry.js +9 -9
  11. package/dist/cjs/ix-chip.cjs.entry.js +22 -9
  12. package/dist/cjs/ix-counter-pill.cjs.entry.js +2 -2
  13. package/dist/cjs/ix-date-picker_2.cjs.entry.js +1 -1
  14. package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
  15. package/dist/cjs/ix-datetime-picker.cjs.entry.js +1 -1
  16. package/dist/cjs/ix-drawer.cjs.entry.js +1 -1
  17. package/dist/cjs/ix-dropdown-button.cjs.entry.js +40 -0
  18. package/dist/cjs/ix-dropdown_2.cjs.entry.js +88 -42
  19. package/dist/cjs/ix-event-list_2.cjs.entry.js +1 -1
  20. package/dist/cjs/ix-expanding-search.cjs.entry.js +3 -3
  21. package/dist/cjs/ix-filter-chip.cjs.entry.js +1 -1
  22. package/dist/cjs/ix-flip-tile_2.cjs.entry.js +1 -1
  23. package/dist/cjs/ix-group-context-menu.cjs.entry.js +1 -1
  24. package/dist/cjs/ix-group_3.cjs.entry.js +1 -1
  25. package/dist/cjs/ix-icon-button.cjs.entry.js +3 -3
  26. package/dist/cjs/ix-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ix-kpi.cjs.entry.js +1 -1
  29. package/dist/cjs/ix-map-navigation_2.cjs.entry.js +5 -4
  30. package/dist/cjs/ix-menu_9.cjs.entry.js +14 -95
  31. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  32. package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
  33. package/dist/cjs/ix-modal_2.cjs.entry.js +2 -2
  34. package/dist/cjs/ix-pill.cjs.entry.js +6 -3
  35. package/dist/cjs/ix-select_2.cjs.entry.js +36 -15
  36. package/dist/cjs/ix-spinner.cjs.entry.js +1 -1
  37. package/dist/cjs/ix-split-button_2.cjs.entry.js +7 -36
  38. package/dist/cjs/ix-tab-item.cjs.entry.js +1 -1
  39. package/dist/cjs/ix-tabs.cjs.entry.js +1 -1
  40. package/dist/cjs/ix-tile.cjs.entry.js +1 -1
  41. package/dist/cjs/ix-toast_2.cjs.entry.js +1 -1
  42. package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
  43. package/dist/cjs/ix-tree_2.cjs.entry.js +1 -1
  44. package/dist/cjs/ix-upload.cjs.entry.js +1 -1
  45. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +72 -27
  46. package/dist/cjs/ix-workflow-step_2.cjs.entry.js +1 -1
  47. package/dist/cjs/loader.cjs.js +2 -2
  48. package/dist/cjs/{modal-a5b22d3f.js → modal-dda2f6be.js} +9 -3
  49. package/dist/cjs/my-component.cjs.entry.js +1 -1
  50. package/dist/cjs/siemens-ix.cjs.js +2 -2
  51. package/dist/cjs/theme-switcher-6b45e082.js +92 -0
  52. package/dist/collection/collection-manifest.json +1 -0
  53. package/dist/collection/components/button/button.css +1 -1
  54. package/dist/collection/components/button/button.js +4 -2
  55. package/dist/collection/components/category-filter/category-filter.css +4 -4
  56. package/dist/collection/components/category-filter/category-filter.js +7 -7
  57. package/dist/collection/components/chip/chip.css +20 -0
  58. package/dist/collection/components/chip/chip.js +22 -9
  59. package/dist/collection/components/counter-pill/counter-pill.css +10 -0
  60. package/dist/collection/components/dropdown/alignment.js +9 -0
  61. package/dist/collection/components/dropdown/dropdown.css +1 -0
  62. package/dist/collection/components/dropdown/dropdown.js +113 -50
  63. package/dist/collection/components/dropdown/placement.js +1 -0
  64. package/dist/collection/components/dropdown-button/dropdown-button.css +81 -0
  65. package/dist/collection/components/dropdown-button/dropdown-button.js +191 -0
  66. package/dist/collection/components/expanding-search/expanding-search.css +1 -0
  67. package/dist/collection/components/expanding-search/expanding-search.js +1 -1
  68. package/dist/collection/components/icon-button/icon-button.css +3 -30
  69. package/dist/collection/components/icon-button/icon-button.js +2 -2
  70. package/dist/collection/components/map-navigation/map-navigation.js +3 -2
  71. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.css +9 -4
  72. package/dist/collection/components/menu/menu.css +1 -1
  73. package/dist/collection/components/menu/menu.js +6 -21
  74. package/dist/collection/components/menu-avatar/menu-avatar.js +4 -30
  75. package/dist/collection/components/modal/modal.css +1 -0
  76. package/dist/collection/components/modal/modal.js +7 -1
  77. package/dist/collection/components/pill/pill.css +10 -0
  78. package/dist/collection/components/pill/pill.js +4 -1
  79. package/dist/collection/components/select/select.css +0 -3
  80. package/dist/collection/components/select/select.js +13 -12
  81. package/dist/collection/components/select-item/events.js +16 -0
  82. package/dist/collection/components/select-item/select-item.js +23 -4
  83. package/dist/collection/components/split-button/split-button.js +7 -36
  84. package/dist/collection/components/tree/tree.js +1 -1
  85. package/dist/collection/components/utils/theme-switcher.js +86 -0
  86. package/dist/collection/components/validation-tooltip/validation-tooltip.css +4 -24
  87. package/dist/collection/components/validation-tooltip/validation-tooltip.js +75 -28
  88. package/dist/collection/exports.js +1 -0
  89. package/dist/components/alignment.js +1363 -0
  90. package/dist/components/button.js +5 -3
  91. package/dist/components/dropdown.js +88 -41
  92. package/dist/components/icon-button.js +3 -3
  93. package/dist/components/index.d.ts +1 -0
  94. package/dist/components/index.js +2 -1
  95. package/dist/components/ix-category-filter.js +18 -12
  96. package/dist/components/ix-chip.js +21 -8
  97. package/dist/components/ix-counter-pill.js +1 -1
  98. package/dist/components/ix-dropdown-button.d.ts +11 -0
  99. package/dist/components/ix-dropdown-button.js +86 -0
  100. package/dist/components/ix-expanding-search.js +2 -2
  101. package/dist/components/ix-map-navigation.js +3 -2
  102. package/dist/components/ix-menu-avatar.js +6 -19
  103. package/dist/components/ix-menu.js +93 -46
  104. package/dist/components/ix-pill.js +5 -2
  105. package/dist/components/ix-select.js +9 -14
  106. package/dist/components/ix-split-button.js +6 -35
  107. package/dist/components/ix-validation-tooltip.js +74 -27
  108. package/dist/components/map-navigation-overlay.js +1 -1
  109. package/dist/components/modal.js +8 -2
  110. package/dist/components/select-item.js +27 -1
  111. package/dist/esm/alignment-f63c1b89.js +1363 -0
  112. package/dist/esm/{index-7746a810.js → index-6f4f3582.js} +5 -3
  113. package/dist/esm/index.js +3 -2
  114. package/dist/esm/ix-animated-tab_2.entry.js +1 -1
  115. package/dist/esm/ix-application-header.entry.js +1 -1
  116. package/dist/esm/ix-basic-navigation.entry.js +1 -1
  117. package/dist/esm/ix-blind.entry.js +1 -1
  118. package/dist/esm/ix-breadcrumb_2.entry.js +1 -1
  119. package/dist/esm/ix-button.entry.js +5 -3
  120. package/dist/esm/ix-category-filter.entry.js +9 -9
  121. package/dist/esm/ix-chip.entry.js +22 -9
  122. package/dist/esm/ix-counter-pill.entry.js +2 -2
  123. package/dist/esm/ix-date-picker_2.entry.js +1 -1
  124. package/dist/esm/ix-date-time-card.entry.js +1 -1
  125. package/dist/esm/ix-datetime-picker.entry.js +1 -1
  126. package/dist/esm/ix-drawer.entry.js +1 -1
  127. package/dist/esm/ix-dropdown-button.entry.js +36 -0
  128. package/dist/esm/ix-dropdown_2.entry.js +88 -42
  129. package/dist/esm/ix-event-list_2.entry.js +1 -1
  130. package/dist/esm/ix-expanding-search.entry.js +3 -3
  131. package/dist/esm/ix-filter-chip.entry.js +1 -1
  132. package/dist/esm/ix-flip-tile_2.entry.js +1 -1
  133. package/dist/esm/ix-group-context-menu.entry.js +1 -1
  134. package/dist/esm/ix-group_3.entry.js +1 -1
  135. package/dist/esm/ix-icon-button.entry.js +3 -3
  136. package/dist/esm/ix-icon.entry.js +1 -1
  137. package/dist/esm/ix-input-group.entry.js +1 -1
  138. package/dist/esm/ix-kpi.entry.js +1 -1
  139. package/dist/esm/ix-map-navigation_2.entry.js +5 -4
  140. package/dist/esm/ix-menu_9.entry.js +14 -95
  141. package/dist/esm/ix-message-bar.entry.js +1 -1
  142. package/dist/esm/ix-modal-example.entry.js +1 -1
  143. package/dist/esm/ix-modal_2.entry.js +2 -2
  144. package/dist/esm/ix-pill.entry.js +6 -3
  145. package/dist/esm/ix-select_2.entry.js +36 -15
  146. package/dist/esm/ix-spinner.entry.js +1 -1
  147. package/dist/esm/ix-split-button_2.entry.js +7 -36
  148. package/dist/esm/ix-tab-item.entry.js +1 -1
  149. package/dist/esm/ix-tabs.entry.js +1 -1
  150. package/dist/esm/ix-tile.entry.js +1 -1
  151. package/dist/esm/ix-toast_2.entry.js +1 -1
  152. package/dist/esm/ix-toggle.entry.js +1 -1
  153. package/dist/esm/ix-tree_2.entry.js +1 -1
  154. package/dist/esm/ix-upload.entry.js +1 -1
  155. package/dist/esm/ix-validation-tooltip.entry.js +72 -27
  156. package/dist/esm/ix-workflow-step_2.entry.js +1 -1
  157. package/dist/esm/loader.js +2 -2
  158. package/dist/esm/{modal-9c9eaf8e.js → modal-df0a62f2.js} +9 -3
  159. package/dist/esm/my-component.entry.js +1 -1
  160. package/dist/esm/siemens-ix.js +2 -2
  161. package/dist/esm/theme-switcher-dce1aaec.js +89 -0
  162. package/dist/siemens-ix/index.esm.js +1 -1
  163. package/dist/siemens-ix/p-03d38416.entry.js +1 -0
  164. package/dist/siemens-ix/{p-5e4c3828.js → p-05c16b94.js} +2 -2
  165. package/dist/siemens-ix/p-0e357d27.entry.js +1 -0
  166. package/dist/siemens-ix/{p-963c5690.entry.js → p-150d7a02.entry.js} +1 -1
  167. package/dist/siemens-ix/p-18d02e6f.entry.js +1 -0
  168. package/dist/siemens-ix/{p-b2ecf415.entry.js → p-23d79e3d.entry.js} +1 -1
  169. package/dist/siemens-ix/{p-91eb1fdd.entry.js → p-2bc72119.entry.js} +1 -1
  170. package/dist/siemens-ix/p-2bd88760.entry.js +1 -0
  171. package/dist/siemens-ix/p-2c5abec1.js +1 -0
  172. package/dist/siemens-ix/{p-dfb5730f.entry.js → p-2e24ae23.entry.js} +1 -1
  173. package/dist/siemens-ix/{p-4d61503b.entry.js → p-33283dbf.entry.js} +1 -1
  174. package/dist/siemens-ix/p-35990ac7.js +1 -0
  175. package/dist/siemens-ix/{p-6e915c70.entry.js → p-3663f989.entry.js} +1 -1
  176. package/dist/siemens-ix/{p-2f3294b8.entry.js → p-418e2d14.entry.js} +1 -1
  177. package/dist/siemens-ix/p-43616759.entry.js +1 -0
  178. package/dist/siemens-ix/{p-03687070.entry.js → p-4b170382.entry.js} +1 -1
  179. package/dist/siemens-ix/p-4fcb5f2b.entry.js +1 -0
  180. package/dist/siemens-ix/p-5631ae88.entry.js +1 -0
  181. package/dist/siemens-ix/{p-5871e480.entry.js → p-5661957c.entry.js} +1 -1
  182. package/dist/siemens-ix/{p-56771b32.entry.js → p-592f1ed3.entry.js} +1 -1
  183. package/dist/siemens-ix/p-5bbe9943.entry.js +1 -0
  184. package/dist/siemens-ix/{p-05f3c48e.entry.js → p-65e61684.entry.js} +1 -1
  185. package/dist/siemens-ix/p-6fe3bb9c.entry.js +1 -0
  186. package/dist/siemens-ix/{p-5e3700c3.entry.js → p-72f851ae.entry.js} +1 -1
  187. package/dist/siemens-ix/{p-e5397173.entry.js → p-7f842cdc.entry.js} +1 -1
  188. package/dist/siemens-ix/{p-412dbb89.entry.js → p-8a7141a6.entry.js} +1 -1
  189. package/dist/siemens-ix/{p-10879145.entry.js → p-8b4e4718.entry.js} +1 -1
  190. package/dist/siemens-ix/{p-ded3a35d.entry.js → p-9b5290d4.entry.js} +1 -1
  191. package/dist/siemens-ix/{p-c885685e.entry.js → p-a5fa7ae5.entry.js} +1 -1
  192. package/dist/siemens-ix/{p-61cb7ab7.entry.js → p-a88618e3.entry.js} +1 -1
  193. package/dist/siemens-ix/p-ab7949ff.entry.js +1 -0
  194. package/dist/siemens-ix/{p-23578bb6.entry.js → p-b242bd39.entry.js} +1 -1
  195. package/dist/siemens-ix/p-b3d00feb.entry.js +1 -0
  196. package/dist/siemens-ix/p-be641020.entry.js +1 -0
  197. package/dist/siemens-ix/{p-19cc942a.entry.js → p-c3e90c06.entry.js} +1 -1
  198. package/dist/siemens-ix/{p-558623ce.entry.js → p-c993560f.entry.js} +1 -1
  199. package/dist/siemens-ix/{p-35d7f18d.entry.js → p-cc0f6f6b.entry.js} +1 -1
  200. package/dist/siemens-ix/{p-f24f1eb7.entry.js → p-d0bb8225.entry.js} +1 -1
  201. package/dist/siemens-ix/p-d20119c1.entry.js +1 -0
  202. package/dist/siemens-ix/p-dec6114f.js +1 -0
  203. package/dist/siemens-ix/{p-91ecd6ac.entry.js → p-e2925222.entry.js} +1 -1
  204. package/dist/siemens-ix/{p-1ba8c910.entry.js → p-e7621b0a.entry.js} +1 -1
  205. package/dist/siemens-ix/{p-494512c0.entry.js → p-ea333007.entry.js} +1 -1
  206. package/dist/siemens-ix/{p-8f6809f1.entry.js → p-eb150313.entry.js} +1 -1
  207. package/dist/siemens-ix/{p-b0c95c22.entry.js → p-eed28e55.entry.js} +1 -1
  208. package/dist/siemens-ix/p-f35ce089.entry.js +1 -0
  209. package/dist/siemens-ix/{p-2995294d.entry.js → p-f7be9635.entry.js} +1 -1
  210. package/dist/siemens-ix/{p-712e8945.entry.js → p-fecf0ade.entry.js} +1 -1
  211. package/dist/siemens-ix/siemens-ix.css +25 -3
  212. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  213. package/dist/types/components/category-filter/category-filter.d.ts +1 -0
  214. package/dist/types/components/chip/chip.d.ts +2 -1
  215. package/dist/types/components/dropdown/alignment.d.ts +2 -0
  216. package/dist/types/components/dropdown/dropdown.d.ts +19 -6
  217. package/dist/types/components/dropdown/placement.d.ts +8 -0
  218. package/dist/types/components/dropdown-button/dropdown-button.d.ts +37 -0
  219. package/dist/types/components/menu/menu.d.ts +0 -2
  220. package/dist/types/components/menu-avatar/menu-avatar.d.ts +1 -5
  221. package/dist/types/components/modal/modal.d.ts +1 -0
  222. package/dist/types/components/select/select.d.ts +2 -1
  223. package/dist/types/components/select-item/events.d.ts +9 -0
  224. package/dist/types/components/select-item/select-item.d.ts +3 -2
  225. package/dist/types/components/split-button/split-button.d.ts +4 -6
  226. package/dist/types/components/tree/tree.d.ts +1 -1
  227. package/dist/types/components/utils/theme-switcher.d.ts +19 -0
  228. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +12 -4
  229. package/dist/types/components.d.ts +86 -15
  230. package/dist/types/exports.d.ts +1 -0
  231. package/package.json +5 -6
  232. package/scss/components/_buttons.scss +23 -0
  233. package/scss/components/_dropdown.scss +2 -0
  234. package/dist/cjs/popper-d7a0f999.js +0 -1801
  235. package/dist/collection/components/utils/popover.util.js +0 -33
  236. package/dist/collection/components/utils/toggle-theme.js +0 -24
  237. package/dist/components/popover.util.js +0 -36
  238. package/dist/components/popper.js +0 -1799
  239. package/dist/esm/popper-42db9fbd.js +0 -1799
  240. package/dist/siemens-ix/p-080c00b1.entry.js +0 -1
  241. package/dist/siemens-ix/p-263949b1.js +0 -1
  242. package/dist/siemens-ix/p-2709fafd.entry.js +0 -1
  243. package/dist/siemens-ix/p-2b69b027.entry.js +0 -1
  244. package/dist/siemens-ix/p-6da1e24d.entry.js +0 -1
  245. package/dist/siemens-ix/p-7b103473.entry.js +0 -1
  246. package/dist/siemens-ix/p-80d27c08.entry.js +0 -1
  247. package/dist/siemens-ix/p-842a7652.entry.js +0 -1
  248. package/dist/siemens-ix/p-9a98369e.entry.js +0 -1
  249. package/dist/siemens-ix/p-af8213cc.entry.js +0 -1
  250. package/dist/siemens-ix/p-aff5f463.entry.js +0 -1
  251. package/dist/siemens-ix/p-bf387a1f.entry.js +0 -1
  252. package/dist/siemens-ix/p-f3996fc1.entry.js +0 -1
  253. package/dist/siemens-ix/p-f86fcdf4.js +0 -1
  254. package/dist/siemens-ix/p-fe28a2be.entry.js +0 -1
  255. package/dist/types/components/utils/popover.util.d.ts +0 -9
  256. package/dist/types/components/utils/toggle-theme.d.ts +0 -1
  257. package/src/components/animated-tab/readme.md +0 -24
  258. package/src/components/animated-tabs/readme.md +0 -31
  259. package/src/components/application-header/readme.md +0 -21
  260. package/src/components/basic-navigation/readme.md +0 -22
  261. package/src/components/blind/readme.md +0 -29
  262. package/src/components/breadcrumb/readme.md +0 -33
  263. package/src/components/breadcrumb-item/readme.md +0 -22
  264. package/src/components/button/readme.md +0 -27
  265. package/src/components/category-filter/readme.md +0 -39
  266. package/src/components/chip/readme.md +0 -36
  267. package/src/components/counter-pill/readme.md +0 -25
  268. package/src/components/date-picker/readme.md +0 -53
  269. package/src/components/date-time-card/readme.md +0 -22
  270. package/src/components/datetime-picker/readme.md +0 -45
  271. package/src/components/drawer/readme.md +0 -47
  272. package/src/components/dropdown/readme.md +0 -49
  273. package/src/components/dropdown-item/readme.md +0 -45
  274. package/src/components/event-list/readme.md +0 -24
  275. package/src/components/event-list-item/readme.md +0 -32
  276. package/src/components/expanding-search/readme.md +0 -32
  277. package/src/components/filter-chip/readme.md +0 -30
  278. package/src/components/flip-tile/readme.md +0 -22
  279. package/src/components/flip-tile-content/readme.md +0 -14
  280. package/src/components/group/readme.md +0 -14
  281. package/src/components/group-dropdown-item/readme.md +0 -22
  282. package/src/components/group-item/readme.md +0 -34
  283. package/src/components/icon/readme.md +0 -23
  284. package/src/components/icon-button/readme.md +0 -31
  285. package/src/components/input-group/readme.md +0 -14
  286. package/src/components/kpi/readme.md +0 -27
  287. package/src/components/map-navigation/readme.md +0 -54
  288. package/src/components/map-navigation-overlay/readme.md +0 -30
  289. package/src/components/menu/readme.md +0 -86
  290. package/src/components/menu-about/readme.md +0 -30
  291. package/src/components/menu-about-item/readme.md +0 -21
  292. package/src/components/menu-about-news/readme.md +0 -34
  293. package/src/components/menu-avatar/readme.md +0 -30
  294. package/src/components/menu-avatar-item/readme.md +0 -29
  295. package/src/components/menu-item/readme.md +0 -26
  296. package/src/components/menu-settings/readme.md +0 -30
  297. package/src/components/menu-settings-item/readme.md +0 -21
  298. package/src/components/message-bar/readme.md +0 -31
  299. package/src/components/modal/readme.md +0 -67
  300. package/src/components/modal-container/readme.md +0 -29
  301. package/src/components/my-component/readme.md +0 -16
  302. package/src/components/pill/readme.md +0 -26
  303. package/src/components/select/readme.md +0 -37
  304. package/src/components/select-item/readme.md +0 -44
  305. package/src/components/spinner/readme.md +0 -22
  306. package/src/components/split-button/readme.md +0 -36
  307. package/src/components/split-button-item/readme.md +0 -29
  308. package/src/components/tab-item/readme.md +0 -28
  309. package/src/components/tabs/readme.md +0 -25
  310. package/src/components/tile/readme.md +0 -21
  311. package/src/components/time-picker/readme.md +0 -51
  312. package/src/components/toast/readme.md +0 -36
  313. package/src/components/toggle/readme.md +0 -35
  314. package/src/components/tree/readme.md +0 -32
  315. package/src/components/tree-item/readme.md +0 -31
  316. package/src/components/upload/readme.md +0 -51
  317. package/src/components/validation-tooltip/readme.md +0 -31
  318. package/src/components/workflow-step/readme.md +0 -28
  319. package/src/components/workflow-steps/readme.md +0 -33
@@ -179,7 +179,8 @@ a {
179
179
  }
180
180
 
181
181
  :host {
182
- display: block;
182
+ display: inline-block;
183
+ position: relative;
183
184
  }
184
185
  :host .validation-tooltip {
185
186
  background-color: var(--theme-tootlip--background);
@@ -206,31 +207,10 @@ a {
206
207
  transform: rotate(45deg);
207
208
  background-color: var(--theme-tootlip--background);
208
209
  }
209
- :host .validation-tooltip[data-popper-placement^=top] > #arrow {
210
+ :host .validation-tooltip > #arrow {
210
211
  bottom: -5px;
211
212
  }
212
- :host .validation-tooltip[data-popper-placement^=top] > #arrow::before {
213
+ :host .validation-tooltip > #arrow::before {
213
214
  border-right: 1px solid var(--theme-tooltip--border-color);
214
215
  border-bottom: 1px solid var(--theme-tooltip--border-color);
215
- }
216
- :host .validation-tooltip[data-popper-placement^=bottom] > #arrow {
217
- top: -5px;
218
- }
219
- :host .validation-tooltip[data-popper-placement^=bottom] > #arrow::before {
220
- border-left: 1px solid var(--theme-tooltip--border-color);
221
- border-top: 1px solid var(--theme-tooltip--border-color);
222
- }
223
- :host .validation-tooltip[data-popper-placement^=left] > #arrow {
224
- right: -5px;
225
- }
226
- :host .validation-tooltip[data-popper-placement^=left] > #arrow::before {
227
- border-right: 1px solid var(--theme-tooltip--border-color);
228
- border-top: 1px solid var(--theme-tooltip--border-color);
229
- }
230
- :host .validation-tooltip[data-popper-placement^=right] > #arrow {
231
- left: -5px;
232
- }
233
- :host .validation-tooltip[data-popper-placement^=right] > #arrow::before {
234
- border-left: 1px solid var(--theme-tooltip--border-color);
235
- border-bottom: 1px solid var(--theme-tooltip--border-color);
236
216
  }
@@ -6,9 +6,9 @@
6
6
  * This source code is licensed under the MIT license found in the
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
- import '@popperjs/core';
10
- import { createPopper } from '@popperjs/core';
9
+ import { arrow, autoPlacement, autoUpdate, computePosition, inline, offset, shift, } from '@floating-ui/dom';
11
10
  import { h, Host } from '@stencil/core';
11
+ import { getAlignment } from '../dropdown/alignment';
12
12
  /**
13
13
  * @slot tooltip-message - Custom tooltip message with html support
14
14
  */
@@ -19,6 +19,8 @@ export class ValidationTooltip {
19
19
  this.message = undefined;
20
20
  this.placement = 'top';
21
21
  this.isInputValid = true;
22
+ this.tooltipPosition = undefined;
23
+ this.arrowPosition = undefined;
22
24
  }
23
25
  get arrow() {
24
26
  return this.hostElement.querySelector('#arrow');
@@ -32,6 +34,61 @@ export class ValidationTooltip {
32
34
  get tooltipElement() {
33
35
  return this.hostElement.querySelector('.validation-tooltip');
34
36
  }
37
+ destoryAutoUpdate() {
38
+ this.tooltipElement.style.display = 'none';
39
+ if (this.autoUpdateCleanup) {
40
+ this.autoUpdateCleanup();
41
+ }
42
+ }
43
+ applyTooltipPosition() {
44
+ this.tooltipElement.style.display = 'block';
45
+ let positionConfig = {
46
+ strategy: 'fixed',
47
+ middleware: [
48
+ inline(),
49
+ shift(),
50
+ offset({
51
+ mainAxis: 8,
52
+ }),
53
+ ],
54
+ };
55
+ if (this.placement.includes('auto')) {
56
+ positionConfig.middleware.push(autoPlacement({
57
+ alignment: getAlignment(this.placement),
58
+ }));
59
+ }
60
+ else {
61
+ positionConfig.placement = this.placement;
62
+ }
63
+ this.autoUpdateCleanup = autoUpdate(this.inputElement, this.tooltipElement, async () => {
64
+ positionConfig.middleware = [
65
+ ...positionConfig.middleware,
66
+ arrow({
67
+ element: this.arrow,
68
+ }),
69
+ ];
70
+ const computeResponse = await computePosition(this.inputElement, this.tooltipElement, positionConfig);
71
+ if (computeResponse.middlewareData.arrow) {
72
+ const { x, y } = computeResponse.middlewareData.arrow;
73
+ this.arrowPosition = {
74
+ x,
75
+ y,
76
+ };
77
+ Object.assign(this.arrow.style, {
78
+ left: x != null ? `${x}px` : '',
79
+ top: y != null ? `${y}px` : '',
80
+ });
81
+ }
82
+ this.tooltipPosition = {
83
+ x: computeResponse.x,
84
+ y: computeResponse.y,
85
+ };
86
+ }, {
87
+ ancestorResize: true,
88
+ ancestorScroll: true,
89
+ elementResize: true,
90
+ });
91
+ }
35
92
  componentDidLoad() {
36
93
  if (!this.inputElement) {
37
94
  throw Error('Validation tooltip is only working with an direct input child.');
@@ -63,41 +120,29 @@ export class ValidationTooltip {
63
120
  }
64
121
  }
65
122
  disconnectedCallback() {
66
- var _a, _b;
123
+ var _a;
67
124
  (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
68
- (_b = this.popper) === null || _b === void 0 ? void 0 : _b.destroy();
125
+ this.destoryAutoUpdate();
69
126
  this.formElement.removeEventListener('submit', this.onSubmitBind);
70
127
  this.inputElement.removeEventListener('focus', this.onInputFocusBind);
71
128
  }
72
129
  validationChanged() {
73
130
  if (!this.isInputValid) {
74
- this.tooltipElement.style.display = 'block';
75
- this.popper = createPopper(this.inputElement, this.tooltipElement, {
76
- placement: this.placement,
77
- strategy: 'absolute',
78
- modifiers: [
79
- {
80
- name: 'offset',
81
- options: {
82
- offset: [0, 8],
83
- },
84
- },
85
- {
86
- name: 'arrow',
87
- options: {
88
- element: this.arrow,
89
- },
90
- },
91
- ],
92
- });
131
+ this.applyTooltipPosition();
93
132
  }
94
133
  else {
95
- this.tooltipElement.style.display = 'none';
96
- this.popper.destroy();
134
+ this.destoryAutoUpdate();
97
135
  }
98
136
  }
99
137
  render() {
100
- return (h(Host, null, h("slot", null), h("div", { role: "tooltip", style: { display: 'none' }, class: "validation-tooltip text-default" }, this.message, h("slot", { name: "tooltip-message" }), h("div", { id: "arrow", "data-popper-arrow": true }))));
138
+ var _a, _b;
139
+ return (h(Host, null, h("slot", null), h("div", { role: "tooltip", style: {
140
+ display: 'none',
141
+ position: 'fixed',
142
+ top: '0',
143
+ left: '0',
144
+ transform: `translate(${Math.round(((_a = this.tooltipPosition) === null || _a === void 0 ? void 0 : _a.x) || 0)}px,${Math.round(((_b = this.tooltipPosition) === null || _b === void 0 ? void 0 : _b.y) || 0)}px)`,
145
+ }, class: "validation-tooltip text-default" }, this.message, h("slot", { name: "tooltip-message" }), h("div", { id: "arrow" }))));
101
146
  }
102
147
  static get is() { return "ix-validation-tooltip"; }
103
148
  static get encapsulation() { return "scoped"; }
@@ -139,7 +184,7 @@ export class ValidationTooltip {
139
184
  "references": {
140
185
  "Placement": {
141
186
  "location": "import",
142
- "path": "@popperjs/core"
187
+ "path": "../dropdown/placement"
143
188
  }
144
189
  }
145
190
  },
@@ -157,7 +202,9 @@ export class ValidationTooltip {
157
202
  }
158
203
  static get states() {
159
204
  return {
160
- "isInputValid": {}
205
+ "isInputValid": {},
206
+ "tooltipPosition": {},
207
+ "arrowPosition": {}
161
208
  };
162
209
  }
163
210
  static get elementRef() { return "hostElement"; }
@@ -13,3 +13,4 @@ export * from './components/toast/toast-utils';
13
13
  export * from './components/tree-item/default-tree-item';
14
14
  export * from './components/tree/tree-model';
15
15
  export * from './components/upload/upload-file-state';
16
+ export * from './components/utils/theme-switcher';