@orangesk/orange-design-system 2.0.0-beta.36 → 2.0.0-beta.37

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 (337) hide show
  1. package/README.md +8 -2
  2. package/build/components/Icon/style.css +1 -1
  3. package/build/components/Icon/style.css.map +1 -1
  4. package/build/components/PromoBanner/style.css +1 -1
  5. package/build/components/PromoBanner/style.css.map +1 -1
  6. package/build/components/index.js +1 -1
  7. package/build/components/index.js.map +1 -1
  8. package/build/components/tsconfig.tsbuildinfo +1 -1
  9. package/build/components/types/index.d.ts +729 -729
  10. package/build/components/types/src/components/Bar/index.d.ts +1 -1
  11. package/build/components/types/src/components/BlockAction/Context.d.ts +1 -1
  12. package/build/components/types/src/components/BlockAction/index.d.ts +2 -4
  13. package/build/components/types/src/components/Button/index.d.ts +1 -1
  14. package/build/components/types/src/components/Card/index.d.ts +2 -2
  15. package/build/components/types/src/components/Carousel/Carousel.d.ts +1 -1
  16. package/build/components/types/src/components/Carousel/CarouselItem.d.ts +1 -1
  17. package/build/components/types/src/components/CarouselHero/CarouselHero.d.ts +1 -1
  18. package/build/components/types/src/components/CarouselHero/CarouselHero.static.d.ts +1 -1
  19. package/build/components/types/src/components/CarouselHero/CarouselHeroItem.d.ts +1 -1
  20. package/build/components/types/src/components/CarouselHero/index.d.ts +1 -1
  21. package/build/components/types/src/components/CartTable/CartTable.d.ts +1 -1
  22. package/build/components/types/src/components/CartTable/data.d.ts +1 -1
  23. package/build/components/types/src/components/Code/Code.d.ts +1 -1
  24. package/build/components/types/src/components/Divider/Divider.d.ts +1 -1
  25. package/build/components/types/src/components/DocumentationSidebar/index.d.ts +1 -1
  26. package/build/components/types/src/components/Dropdown/index.d.ts +1 -1
  27. package/build/components/types/src/components/Forms/Group/Group.d.ts +1 -1
  28. package/build/components/types/src/components/Forms/Group/Item.d.ts +1 -1
  29. package/build/components/types/src/components/Forms/index.d.ts +1 -1
  30. package/build/components/types/src/components/Grid/GridCol.d.ts +3 -3
  31. package/build/components/types/src/components/Icon/iconSearchTags.d.ts +1 -0
  32. package/build/components/types/src/components/Icon/index.d.ts +1 -2
  33. package/build/components/types/src/components/IconList/Item.d.ts +1 -1
  34. package/build/components/types/src/components/List/ClickableControl.d.ts +1 -1
  35. package/build/components/types/src/components/List/List.d.ts +3 -3
  36. package/build/components/types/src/components/List/ListItem.d.ts +1 -1
  37. package/build/components/types/src/components/Megamenu/index.d.ts +1 -1
  38. package/build/components/types/src/components/Modal/ModalCloseButton.d.ts +1 -1
  39. package/build/components/types/src/components/Modal/index.d.ts +2 -2
  40. package/build/components/types/src/components/Pagination/helpers.d.ts +1 -1
  41. package/build/components/types/src/components/Pill/Pill.d.ts +1 -1
  42. package/build/components/types/src/components/Preview/Preview.d.ts +1 -1
  43. package/build/components/types/src/components/Preview/PreviewGenerator.d.ts +1 -1
  44. package/build/components/types/src/components/PromotionCard/PromotionCardContent.d.ts +1 -1
  45. package/build/components/types/src/components/PromotionCard/PromotionCardImageWrapper.d.ts +1 -1
  46. package/build/components/types/src/components/PromotionCard/PromotionCardTitle.d.ts +1 -1
  47. package/build/components/types/src/components/Sticker/Sticker.d.ts +3 -3
  48. package/build/components/types/src/components/Table/Table.d.ts +1 -1
  49. package/build/components/types/src/components/Table/index.d.ts +1 -1
  50. package/build/components/types/src/components/Tabs/index.d.ts +2 -2
  51. package/build/components/types/src/components/Tag/index.d.ts +1 -1
  52. package/build/components/types/src/components/Testimonial/Testimonial.d.ts +2 -2
  53. package/build/components/types/src/components/Tooltip/Tooltip.static.d.ts +6 -2
  54. package/build/components/types/src/components/Tooltip/index.d.ts +1 -1
  55. package/build/components/types/src/components/index.d.ts +20 -20
  56. package/build/components/types/src/scripts/index.d.ts +5 -5
  57. package/build/components/types/src/scripts/modules/SpacePreview/index.d.ts +1 -1
  58. package/build/components/types/src/utils/hooks.d.ts +1 -1
  59. package/build/components/types/src/utils/index.d.ts +2 -2
  60. package/build/lib/base.css +1 -1
  61. package/build/lib/base.css.map +1 -1
  62. package/build/lib/components.css +1 -1
  63. package/build/lib/components.css.map +1 -1
  64. package/build/lib/footer.js +1 -1
  65. package/build/lib/footer.js.map +1 -1
  66. package/build/lib/megamenu.js +1 -1
  67. package/build/lib/megamenu.js.map +1 -1
  68. package/build/lib/scripts.js +1 -1
  69. package/build/lib/scripts.js.map +1 -1
  70. package/build/lib/style.css +1 -1
  71. package/build/lib/style.css.map +1 -1
  72. package/build/lib/tsconfig.tsbuildinfo +1 -1
  73. package/build/search-index.json +3 -3
  74. package/build/sprite.svg +1 -1
  75. package/package.json +28 -26
  76. package/src/assets/icons/discount-price.svg +4 -0
  77. package/src/components/Accordion/Accordion.tsx +2 -3
  78. package/src/components/Accordion/AccordionHeader.tsx +1 -1
  79. package/src/components/Accordion/AccordionItem.tsx +2 -1
  80. package/src/components/Accordion/HeadingContext.tsx +1 -1
  81. package/src/components/Accordion/tests/Accordion.unit.test.jsx +3 -4
  82. package/src/components/Alert/Alert.tsx +3 -4
  83. package/src/components/Alert/tests/Alert.conformance.test.jsx +2 -3
  84. package/src/components/Alert/tests/Alert.test.jsx +1 -1
  85. package/src/components/Alert/tests/Alert.visual.test.jsx +1 -2
  86. package/src/components/AnchorNavigation/AnchorNavigation.tsx +3 -3
  87. package/src/components/AnchorNavigation/tests/AnchorNavigation.conformance.test.jsx +1 -1
  88. package/src/components/Bar/Bar.tsx +1 -1
  89. package/src/components/Bar/BarBreak.tsx +1 -1
  90. package/src/components/Bar/BarItem.tsx +1 -1
  91. package/src/components/Bar/index.ts +1 -1
  92. package/src/components/Bar/tests/Bar.conformance.test.jsx +1 -1
  93. package/src/components/BlockAction/BlockAction.tsx +1 -1
  94. package/src/components/BlockAction/BlockActionControl.tsx +2 -3
  95. package/src/components/BlockAction/BlockActionIndicator.tsx +2 -3
  96. package/src/components/BlockAction/CloneElementWithClassName.tsx +1 -1
  97. package/src/components/BlockAction/Context.tsx +1 -1
  98. package/src/components/BlockAction/index.tsx +3 -8
  99. package/src/components/BlockAction/tests/BlockActionControl.unit.test.jsx +1 -1
  100. package/src/components/BodyBanner/BodyBanner.tsx +2 -2
  101. package/src/components/BodyBanner/tests/BodyBanner.conformance.test.jsx +1 -1
  102. package/src/components/Breadcrumbs/BreadcrumbItem.tsx +1 -1
  103. package/src/components/Breadcrumbs/tests/Breadcrumbs.conformance.test.jsx +1 -1
  104. package/src/components/Button/Button.tsx +1 -1
  105. package/src/components/Button/IconButton.tsx +7 -3
  106. package/src/components/Button/index.tsx +1 -3
  107. package/src/components/Button/tests/Button.conformance.test.jsx +1 -2
  108. package/src/components/Button/tests/Button.test.jsx +0 -1
  109. package/src/components/Button/tests/IconButton.unit.test.jsx +0 -1
  110. package/src/components/Buttons/tests/Buttons.conformance.test.jsx +1 -1
  111. package/src/components/Card/Card.tsx +1 -1
  112. package/src/components/Card/CardProductHeader.tsx +1 -1
  113. package/src/components/Card/CardSection.tsx +1 -1
  114. package/src/components/Card/index.ts +2 -2
  115. package/src/components/Card/tests/Card.conformance.test.jsx +2 -2
  116. package/src/components/Card/tests/CardProductHeader.unit.test.jsx +1 -1
  117. package/src/components/Carousel/Carousel.static.ts +15 -15
  118. package/src/components/Carousel/Carousel.tsx +9 -11
  119. package/src/components/Carousel/CarouselItem.tsx +1 -1
  120. package/src/components/Carousel/tests/Carousel.conformance.test.jsx +2 -4
  121. package/src/components/CarouselHero/CarouselHero.static.ts +15 -15
  122. package/src/components/CarouselHero/CarouselHero.tsx +12 -13
  123. package/src/components/CarouselHero/CarouselHeroItem.tsx +2 -2
  124. package/src/components/CarouselHero/index.ts +1 -1
  125. package/src/components/CarouselHero/tests/CarouselHeroItem.conformance.test.jsx +1 -1
  126. package/src/components/CarouselPromotions/CarouselPromotions.static.ts +10 -10
  127. package/src/components/CarouselPromotions/CarouselPromotions.tsx +6 -7
  128. package/src/components/CarouselPromotions/CarouselPromotionsItem.tsx +3 -3
  129. package/src/components/CarouselPromotions/tests/CarouselPromotions.conformance.test.jsx +1 -3
  130. package/src/components/CarouselPromotions/tests/CarouselPromotions.unit.test.jsx +1 -2
  131. package/src/components/CartTable/CartTable.tsx +3 -4
  132. package/src/components/CartTable/FooterPriceColumn.tsx +1 -1
  133. package/src/components/CartTable/Price.tsx +1 -1
  134. package/src/components/CartTable/data.ts +1 -1
  135. package/src/components/CartTable/generateFooter.tsx +1 -1
  136. package/src/components/CartTable/generateRow.tsx +6 -8
  137. package/src/components/CartTable/tests/CartTable.conformance.test.jsx +1 -1
  138. package/src/components/Code/Code.tsx +1 -1
  139. package/src/components/Container/Container.tsx +1 -1
  140. package/src/components/Container/tests/Container.unit.test.jsx +3 -2
  141. package/src/components/Controls/Controls.tsx +1 -1
  142. package/src/components/Controls/tests/Controls.test.jsx +2 -2
  143. package/src/components/Cover/Cover.tsx +1 -1
  144. package/src/components/Cover/index.ts +1 -0
  145. package/src/components/Cover/tests/Cover.conformance.test.jsx +8 -9
  146. package/src/components/Cover/tests/Cover.unit.test.jsx +0 -1
  147. package/src/components/Divider/Divider.tsx +1 -1
  148. package/src/components/Divider/tests/Divider.conformance.test.jsx +1 -1
  149. package/src/components/DocumentationSidebar/DocumentationSidebar.tsx +7 -7
  150. package/src/components/DocumentationSidebar/index.ts +2 -2
  151. package/src/components/Dropdown/Dropdown.static.ts +1 -1
  152. package/src/components/Dropdown/Dropdown.tsx +3 -5
  153. package/src/components/Dropdown/DropdownDivider.tsx +1 -1
  154. package/src/components/Dropdown/DropdownItem.tsx +1 -1
  155. package/src/components/Dropdown/DropdownToggleButton.tsx +1 -1
  156. package/src/components/Dropdown/index.ts +1 -1
  157. package/src/components/Dropdown/tests/Dropdown.conformance.test.jsx +2 -2
  158. package/src/components/Dropdown/tests/Dropdown.unit.test.jsx +1 -2
  159. package/src/components/Expander/Expander.tsx +1 -1
  160. package/src/components/Expander/tests/Expander.conformance.test.jsx +2 -4
  161. package/src/components/Expander/tests/Expander.unit.test.jsx +2 -4
  162. package/src/components/FeatureAccordion/FeatureAccordion.tsx +2 -2
  163. package/src/components/FeatureAccordion/FeatureAccordionItem.tsx +2 -1
  164. package/src/components/FeatureAccordion/tests/FeatureAccordion.conformance.test.jsx +1 -1
  165. package/src/components/FeatureAccordion/tests/FeatureAccordion.unit.test.jsx +2 -3
  166. package/src/components/Footer/Footer.tsx +4 -5
  167. package/src/components/Footer/static.ts +2 -2
  168. package/src/components/Footer/tests/Footer.unit.test.jsx +1 -1
  169. package/src/components/Forms/Autocomplete/Autocomplete.tsx +2 -2
  170. package/src/components/Forms/Checkbox/Checkbox.tsx +1 -1
  171. package/src/components/Forms/DatePicker/DatePicker.tsx +1 -2
  172. package/src/components/Forms/Field/Control.tsx +3 -3
  173. package/src/components/Forms/Field/Description.tsx +1 -1
  174. package/src/components/Forms/Field/Field.tsx +4 -4
  175. package/src/components/Forms/Field/Label.tsx +1 -1
  176. package/src/components/Forms/Field/Messages.tsx +2 -2
  177. package/src/components/Forms/Field/tests/Autocomplete.Field.conformance.test.jsx +1 -1
  178. package/src/components/Forms/Field/tests/Checkbox.Field.conformance.test.jsx +1 -1
  179. package/src/components/Forms/Field/tests/File.Field.conformance.test.jsx +1 -1
  180. package/src/components/Forms/Field/tests/Group.Field.conformance.test.jsx +1 -1
  181. package/src/components/Forms/Field/tests/Radio.Field.conformance.test.jsx +1 -1
  182. package/src/components/Forms/Field/tests/Rangeslider.Field.test.jsx +1 -1
  183. package/src/components/Forms/Field/tests/Select.Field.conformance.test.jsx +1 -1
  184. package/src/components/Forms/Field/tests/Text.Field.conformance.test.jsx +1 -1
  185. package/src/components/Forms/Field/tests/Textarea.Field.conformance.test.jsx +1 -1
  186. package/src/components/Forms/Field/tests/Tooltip.unit.test.jsx +1 -2
  187. package/src/components/Forms/Fieldset/Fieldset.tsx +1 -1
  188. package/src/components/Forms/File/File.tsx +4 -7
  189. package/src/components/Forms/Group/Group.tsx +2 -3
  190. package/src/components/Forms/Group/Item.tsx +1 -1
  191. package/src/components/Forms/Hint/Hint.tsx +1 -1
  192. package/src/components/Forms/InputStepper/InputStepper.tsx +1 -1
  193. package/src/components/Forms/Label/Label.tsx +1 -1
  194. package/src/components/Forms/Message/Message.tsx +9 -5
  195. package/src/components/Forms/Radio/Radio.tsx +1 -1
  196. package/src/components/Forms/RangeSlider/RangeSlider.tsx +1 -1
  197. package/src/components/Forms/Select/Select.tsx +1 -1
  198. package/src/components/Forms/TextArea/TextArea.tsx +1 -1
  199. package/src/components/Forms/TextInput/TextInput.tsx +3 -5
  200. package/src/components/Forms/index.ts +1 -1
  201. package/src/components/Gauge/Gauge.tsx +1 -1
  202. package/src/components/Gauge/GaugeMaker.tsx +3 -3
  203. package/src/components/Gauge/tests/Gauge.unit.test.jsx +0 -1
  204. package/src/components/Grid/Grid.tsx +1 -1
  205. package/src/components/Grid/GridCol.tsx +21 -10
  206. package/src/components/Grid/tests/Grid.unit.test.jsx +0 -1
  207. package/src/components/Grid/tests/GridCol.unit.test.jsx +0 -1
  208. package/src/components/Hero/Hero.tsx +1 -1
  209. package/src/components/Hero/tests/Hero.conformance.test.jsx +1 -2
  210. package/src/components/Hero/tests/Hero.unit.test.jsx +0 -1
  211. package/src/components/Hero/tests/data.js +26 -26
  212. package/src/components/Icon/Icon.tsx +1 -1
  213. package/src/components/Icon/IconSearch.jsx +4 -4
  214. package/src/components/Icon/PictogramSearch.jsx +3 -14
  215. package/src/components/Icon/iconSearchTags.ts +1 -0
  216. package/src/components/Icon/index.ts +1 -2
  217. package/src/components/Icon/styles/style.scss +30 -0
  218. package/src/components/Icon/tests/Icon.conformance.test.jsx +1 -2
  219. package/src/components/Icon/tests/Icon.unit.test.jsx +1 -3
  220. package/src/components/Icon/tests/Pictogram.unit.test.jsx +1 -2
  221. package/src/components/IconList/IconList.tsx +1 -1
  222. package/src/components/IconList/Item.tsx +15 -11
  223. package/src/components/IconList/tests/IconList.conformance.test.jsx +1 -2
  224. package/src/components/IconList/tests/IconList.unit.test.jsx +29 -26
  225. package/src/components/Image/Image.tsx +1 -1
  226. package/src/components/Image/tests/Image.conformance.test.jsx +1 -1
  227. package/src/components/Image/tests/Image.unit.test.jsx +0 -1
  228. package/src/components/Link/Link.tsx +1 -1
  229. package/src/components/Link/tests/Link.conformance.test.jsx +1 -1
  230. package/src/components/Link/tests/Link.unit.test.jsx +1 -1
  231. package/src/components/List/ClickableControl.tsx +12 -12
  232. package/src/components/List/List.tsx +13 -13
  233. package/src/components/List/ListItem.tsx +11 -11
  234. package/src/components/List/tests/ClickableControl.unit.test.jsx +0 -1
  235. package/src/components/List/tests/List.conformance.test.jsx +16 -17
  236. package/src/components/List/tests/ListItem.unit.test.jsx +46 -47
  237. package/src/components/Loader/Loader.tsx +1 -1
  238. package/src/components/Loader/tests/Loader.conformance.test.jsx +1 -1
  239. package/src/components/Megamenu/MegaMenuIcon.tsx +1 -1
  240. package/src/components/Megamenu/Megamenu.static.ts +5 -5
  241. package/src/components/Megamenu/Megamenu.tsx +28 -29
  242. package/src/components/Megamenu/MegamenuBlog.tsx +17 -19
  243. package/src/components/Megamenu/MegamenuSearchContent.tsx +2 -2
  244. package/src/components/Megamenu/MyOrangeMobilePanel.tsx +11 -12
  245. package/src/components/Megamenu/index.ts +1 -1
  246. package/src/components/Megamenu/static.ts +2 -2
  247. package/src/components/Modal/Modal.tsx +3 -4
  248. package/src/components/Modal/ModalBody.tsx +1 -1
  249. package/src/components/Modal/ModalCloseButton.tsx +1 -1
  250. package/src/components/Modal/ModalProductFooter.tsx +1 -1
  251. package/src/components/Modal/ModalProductHeader.tsx +1 -1
  252. package/src/components/Modal/index.ts +2 -2
  253. package/src/components/Modal/tests/Modal.conformance.test.jsx +2 -3
  254. package/src/components/Modal/tests/Modal.unit.test.jsx +0 -1
  255. package/src/components/Modal/tests/ModalProductHeader.unit.test.jsx +0 -1
  256. package/src/components/Modal/tests/ModalTitle.unit.test.jsx +0 -1
  257. package/src/components/Pagination/Pagination.tsx +2 -3
  258. package/src/components/Pagination/PaginationItem.tsx +1 -1
  259. package/src/components/Pagination/Separator.tsx +1 -1
  260. package/src/components/Pagination/helpers.ts +6 -1
  261. package/src/components/Pagination/tests/Item.unit.test.jsx +38 -39
  262. package/src/components/Pagination/tests/Pagination.conformance.test.jsx +7 -8
  263. package/src/components/Pagination/tests/Pagination.unit.test.jsx +39 -40
  264. package/src/components/Pagination/tests/Separator.unit.test.jsx +10 -11
  265. package/src/components/Pill/Pill.tsx +1 -1
  266. package/src/components/Pill/tests/Pill.conformance.test.jsx +1 -1
  267. package/src/components/Preview/CodeExample.tsx +6 -9
  268. package/src/components/Preview/Preview.tsx +2 -1
  269. package/src/components/Preview/PreviewGenerator.tsx +8 -8
  270. package/src/components/Preview/PreviewTitleBar.tsx +1 -1
  271. package/src/components/Preview/index.tsx +1 -1
  272. package/src/components/Progress/Progress.tsx +1 -1
  273. package/src/components/Progress/index.ts +1 -1
  274. package/src/components/Progress/tests/Progress.conformance.test.jsx +6 -7
  275. package/src/components/Progress/tests/Progress.unit.test.jsx +42 -39
  276. package/src/components/PromoBanner/PromoBanner.tsx +1 -1
  277. package/src/components/PromoBanner/styles/style.scss +2 -2
  278. package/src/components/PromoBanner/tests/PromoBanner.conformance.test.jsx +1 -2
  279. package/src/components/PromoBanner/tests/PromoBanner.unit.test.jsx +0 -1
  280. package/src/components/PromotionCard/PromotionCard.tsx +1 -1
  281. package/src/components/PromotionCard/PromotionCardContent.tsx +8 -8
  282. package/src/components/PromotionCard/PromotionCardImageWrapper.tsx +7 -9
  283. package/src/components/PromotionCard/PromotionCardSection.tsx +1 -1
  284. package/src/components/PromotionCard/PromotionCardTitle.tsx +11 -11
  285. package/src/components/PromotionCard/constants.ts +2 -2
  286. package/src/components/PromotionCard/tests/PromotionCard.conformance.test.jsx +1 -2
  287. package/src/components/PromotionCard/tests/PromotionCard.unit.test.jsx +0 -1
  288. package/src/components/Section/Section.tsx +1 -1
  289. package/src/components/Section/tests/Section.conformance.test.jsx +1 -2
  290. package/src/components/Section/tests/Section.unit.test.jsx +0 -1
  291. package/src/components/Skeleton/Skeleton.tsx +1 -1
  292. package/src/components/Skeleton/tests/Skeleton.conformance.test.jsx +1 -1
  293. package/src/components/SkipLink/SkipLink.tsx +1 -1
  294. package/src/components/SkipLink/tests/SkipLink.unit.test.jsx +0 -4
  295. package/src/components/SocialButton/SocialButton.tsx +1 -1
  296. package/src/components/SocialButton/tests/SocialButton.unit.test.jsx +1 -1
  297. package/src/components/Stepbar/Stepbar.tsx +1 -1
  298. package/src/components/Stepbar/tests/Stepbar.conformance.test.jsx +1 -1
  299. package/src/components/Sticker/Sticker.tsx +14 -8
  300. package/src/components/Sticker/index.ts +1 -0
  301. package/src/components/Sticker/tests/Sticker.conformance.test.jsx +5 -6
  302. package/src/components/Sticker/tests/Sticker.unit.test.jsx +16 -19
  303. package/src/components/Table/Header.tsx +1 -2
  304. package/src/components/Table/Row.tsx +1 -2
  305. package/src/components/Table/Rows.tsx +1 -2
  306. package/src/components/Table/Table.tsx +4 -5
  307. package/src/components/Table/index.ts +1 -1
  308. package/src/components/Table/tests/Footer.unit.test.jsx +1 -2
  309. package/src/components/Table/tests/Header.unit.test.jsx +1 -2
  310. package/src/components/Table/tests/Row.unit.test.jsx +1 -2
  311. package/src/components/Table/tests/Rows.unit.test.jsx +1 -2
  312. package/src/components/Table/tests/Table.conformance.test.jsx +6 -6
  313. package/src/components/Table/tests/Table.unit.test.jsx +1 -1
  314. package/src/components/Tabs/Tabs.tsx +2 -2
  315. package/src/components/Tabs/index.ts +2 -2
  316. package/src/components/Tabs/tests/Tabs.unit.test.jsx +2 -3
  317. package/src/components/Tag/Tag.tsx +1 -1
  318. package/src/components/Tag/TagButton.tsx +1 -1
  319. package/src/components/Tag/index.ts +1 -1
  320. package/src/components/Tag/tests/Tag.conformance.test.jsx +2 -3
  321. package/src/components/Tag/tests/Tag.unit.test.jsx +1 -3
  322. package/src/components/Tag/tests/TagButton.conformance.test.jsx +1 -1
  323. package/src/components/Tag/tests/TagButton.unit.test.jsx +1 -1
  324. package/src/components/Testimonial/Testimonial.tsx +15 -15
  325. package/src/components/Testimonial/tests/Testimonial.conformance.test.jsx +5 -6
  326. package/src/components/Testimonial/tests/Testimonial.unit.test.jsx +22 -23
  327. package/src/components/Tile/Tile.tsx +2 -3
  328. package/src/components/Tile/tests/Tile.conformance.test.jsx +1 -1
  329. package/src/components/Tooltip/InfoTooltip.tsx +1 -1
  330. package/src/components/Tooltip/Tooltip.static.ts +100 -66
  331. package/src/components/Tooltip/Tooltip.tsx +2 -3
  332. package/src/components/Tooltip/index.ts +1 -1
  333. package/src/components/Tooltip/tests/Tooltip.conformance.test.jsx +1 -1
  334. package/src/components/Tooltip/tests/Tooltip.unit.test.jsx +43 -34
  335. package/src/components/index.ts +39 -39
  336. package/src/styles/base/globals.scss +17 -1
  337. package/src/styles/export/breakpoint.ts +7 -7
@@ -1,7 +1,6 @@
1
1
  import { render } from "@testing-library/react";
2
-
3
- import TableContext from "../TableContext";
4
2
  import { Header } from "../Header.tsx";
3
+ import TableContext from "../TableContext";
5
4
 
6
5
  describe("rendering Header", () => {
7
6
  const headers = [
@@ -1,7 +1,6 @@
1
1
  import { render } from "@testing-library/react";
2
-
3
- import TableContext from "../TableContext";
4
2
  import { Row } from "../Row";
3
+ import TableContext from "../TableContext";
5
4
 
6
5
  describe("rendering Row", () => {
7
6
  const expandrow = {
@@ -1,7 +1,6 @@
1
1
  import { render } from "@testing-library/react";
2
-
3
- import TableContext from "../TableContext";
4
2
  import { Rows } from "../Rows";
3
+ import TableContext from "../TableContext";
5
4
 
6
5
  describe("rendering Rows", () => {
7
6
  const rows = [
@@ -1,21 +1,21 @@
1
1
  import { render } from "@testing-library/react";
2
- import { axe } from 'vitest-axe';
2
+ import { axe } from "vitest-axe";
3
3
 
4
4
  import "../../../../__mocks__/resizeObserverMock";
5
5
  import { Table } from "../";
6
6
  import {
7
- headers,
8
- rows,
9
- unsortedHeaders,
10
7
  ascendingHeaders,
11
- descendingHeaders,
12
- sortableRows,
13
8
  ascendingRowsByDate,
9
+ descendingHeaders,
14
10
  descendingRowsByDate,
15
11
  expandableTableRows,
16
12
  footer,
13
+ headers,
14
+ rows,
17
15
  scrollableHeaders,
18
16
  scrollableRows,
17
+ sortableRows,
18
+ unsortedHeaders,
19
19
  } from "../docsData";
20
20
 
21
21
  const defaultProps = {
@@ -1,4 +1,4 @@
1
- import { render, fireEvent } from "@testing-library/react";
1
+ import { fireEvent, render } from "@testing-library/react";
2
2
 
3
3
  import "../../../../__mocks__/resizeObserverMock";
4
4
  import { Table } from "../Table";
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
3
  import cx from "classnames";
4
+ import React from "react";
5
5
 
6
6
  import { useStatic } from "../../utils/hooks";
7
7
  import { Tab } from "./Tab";
8
- import TabsStatic from "./Tabs.static";
9
8
  import type { TabPanelProps } from "./TabPanel";
9
+ import TabsStatic from "./Tabs.static";
10
10
 
11
11
  export const variants = ["standard", "light"] as const;
12
12
 
@@ -1,3 +1,3 @@
1
- export { Tabs } from "./Tabs";
2
- export { TabPanel } from "./TabPanel";
3
1
  export { Tab } from "./Tab";
2
+ export { TabPanel } from "./TabPanel";
3
+ export { Tabs } from "./Tabs";
@@ -1,8 +1,7 @@
1
- import { render, fireEvent, screen } from "@testing-library/react";
1
+ import { fireEvent, render, screen } from "@testing-library/react";
2
2
  import userEvent from "@testing-library/user-event";
3
-
4
- import { Tabs } from "../Tabs";
5
3
  import { TabPanel } from "../TabPanel";
4
+ import { Tabs } from "../Tabs";
6
5
 
7
6
  const arr = [1, 2, 3, 4];
8
7
 
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import cx from "classnames";
2
+ import React from "react";
3
3
  import { TagButtonProps } from "./TagButton";
4
4
 
5
5
  export const colors = [
@@ -1,5 +1,5 @@
1
- import React from "react";
2
1
  import cx from "classnames";
2
+ import React from "react";
3
3
 
4
4
  import { Icon } from "@/components/Icon";
5
5
  import { CLASS_ROOT } from "./Tag";
@@ -1,3 +1,3 @@
1
+ export type { TagColor, TagSize } from "./Tag";
1
2
  export { Tag } from "./Tag";
2
3
  export { TagButton } from "./TagButton";
3
- export type { TagColor, TagSize } from "./Tag";
@@ -1,8 +1,7 @@
1
1
  import { render } from "@testing-library/react";
2
- import { axe } from 'vitest-axe';
3
-
4
- import { colors } from "../Tag";
2
+ import { axe } from "vitest-axe";
5
3
  import { Tag, TagButton } from "..";
4
+ import { colors } from "../Tag";
6
5
 
7
6
  const sizes = ["small", "large"];
8
7
 
@@ -1,8 +1,6 @@
1
1
  import { render } from "@testing-library/react";
2
-
3
- import { Tag } from "../Tag";
2
+ import { colors, Tag } from "../Tag";
4
3
  import { TagButton } from "../TagButton";
5
- import { colors } from "../Tag";
6
4
 
7
5
  describe("rendering", () => {
8
6
  describe("initial state", () => {
@@ -1,5 +1,5 @@
1
1
  import { render } from "@testing-library/react";
2
- import { axe } from 'vitest-axe';
2
+ import { axe } from "vitest-axe";
3
3
 
4
4
  import { TagButton } from "../TagButton";
5
5
 
@@ -1,5 +1,5 @@
1
+ import { fireEvent, render } from "@testing-library/react";
1
2
  import React from "react";
2
- import { render, fireEvent } from "@testing-library/react";
3
3
 
4
4
  import { TagButton } from "../TagButton";
5
5
 
@@ -1,33 +1,33 @@
1
- import React from 'react';
2
- import cx from 'classnames';
1
+ import cx from "classnames";
2
+ import React from "react";
3
3
 
4
4
  interface TestimonialProps {
5
5
  className?: string;
6
6
  children?: React.ReactNode;
7
- color?: 'default' | 'orange';
7
+ color?: "default" | "orange";
8
8
  isDiv?: boolean;
9
9
  [key: string]: any;
10
10
  }
11
11
 
12
- const CLASS_ROOT = 'testimonial';
12
+ const CLASS_ROOT = "testimonial";
13
13
 
14
- export const Testimonial: React.FC<TestimonialProps> = ({
15
- className,
16
- children,
17
- color = 'default',
18
- isDiv = false,
19
- ...other
14
+ export const Testimonial: React.FC<TestimonialProps> = ({
15
+ className,
16
+ children,
17
+ color = "default",
18
+ isDiv = false,
19
+ ...other
20
20
  }) => {
21
- const Tag = isDiv ? 'div' : 'p';
21
+ const Tag = isDiv ? "div" : "p";
22
22
 
23
23
  const classes = cx(
24
24
  CLASS_ROOT,
25
25
  {
26
- [`testimonial--${color}`]: color === 'orange',
26
+ [`testimonial--${color}`]: color === "orange",
27
27
  },
28
- className
28
+ className,
29
29
  );
30
-
30
+
31
31
  return (
32
32
  <Tag className={classes} {...other}>
33
33
  {children}
@@ -35,4 +35,4 @@ export const Testimonial: React.FC<TestimonialProps> = ({
35
35
  );
36
36
  };
37
37
 
38
- Testimonial.displayName = 'Testimonial';
38
+ Testimonial.displayName = "Testimonial";
@@ -1,17 +1,16 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
3
- import { axe } from 'vitest-axe';
1
+ import { render } from "@testing-library/react";
2
+ import { axe } from "vitest-axe";
4
3
 
5
- import { Testimonial } from '../';
4
+ import { Testimonial } from "../";
6
5
 
7
6
  const example = <Testimonial />;
8
7
 
9
- it('is valid html', () => {
8
+ it("is valid html", () => {
10
9
  const { container } = render(example);
11
10
  expect(container).toHTMLValidate();
12
11
  });
13
12
 
14
- it('is accessible', async () => {
13
+ it("is accessible", async () => {
15
14
  const { container } = render(example);
16
15
  expect(await axe(container)).toHaveNoViolations();
17
16
  });
@@ -1,44 +1,43 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react';
1
+ import { render } from "@testing-library/react";
3
2
 
4
- import { Testimonial } from '../';
3
+ import { Testimonial } from "../";
5
4
 
6
- describe('rendering Testimonial', () => {
7
- describe('initial state', () => {
8
- it('has default class testimonial', () => {
5
+ describe("rendering Testimonial", () => {
6
+ describe("initial state", () => {
7
+ it("has default class testimonial", () => {
9
8
  const { getByTestId } = render(<Testimonial data-testid="test-id" />);
10
- expect(getByTestId('test-id')).toHaveClass('testimonial');
9
+ expect(getByTestId("test-id")).toHaveClass("testimonial");
11
10
  });
12
- it('its rendered as paragraph', () => {
11
+ it("its rendered as paragraph", () => {
13
12
  const { getByTestId } = render(<Testimonial data-testid="test-id" />);
14
- expect(getByTestId('test-id').tagName).toBe('P');
13
+ expect(getByTestId("test-id").tagName).toBe("P");
15
14
  });
16
15
  });
17
16
 
18
- describe('passed props', () => {
19
- it('renders children', () => {
17
+ describe("passed props", () => {
18
+ it("renders children", () => {
20
19
  const { getByText } = render(<Testimonial>test</Testimonial>);
21
- expect(getByText('test')).toBeInTheDocument();
20
+ expect(getByText("test")).toBeInTheDocument();
22
21
  });
23
- it('has additional class when className is set', () => {
22
+ it("has additional class when className is set", () => {
24
23
  const { getByTestId } = render(
25
- <Testimonial className="test" data-testid="test-id" />
24
+ <Testimonial className="test" data-testid="test-id" />,
26
25
  );
27
- expect(getByTestId('test-id')).toHaveClass('testimonial');
28
- expect(getByTestId('test-id')).toHaveClass('test');
26
+ expect(getByTestId("test-id")).toHaveClass("testimonial");
27
+ expect(getByTestId("test-id")).toHaveClass("test");
29
28
  });
30
- it('has additional className testimonial--orange prop color with value orange is passed', () => {
29
+ it("has additional className testimonial--orange prop color with value orange is passed", () => {
31
30
  const { getByTestId } = render(
32
- <Testimonial className="test" data-testid="test-id" color="orange" />
31
+ <Testimonial className="test" data-testid="test-id" color="orange" />,
33
32
  );
34
- expect(getByTestId('test-id')).toHaveClass('testimonial');
35
- expect(getByTestId('test-id')).toHaveClass('testimonial--orange');
33
+ expect(getByTestId("test-id")).toHaveClass("testimonial");
34
+ expect(getByTestId("test-id")).toHaveClass("testimonial--orange");
36
35
  });
37
- it('its rendered as div when isDiv prop is passed', () => {
36
+ it("its rendered as div when isDiv prop is passed", () => {
38
37
  const { getByTestId } = render(
39
- <Testimonial data-testid="test-id" isDiv />
38
+ <Testimonial data-testid="test-id" isDiv />,
40
39
  );
41
- expect(getByTestId('test-id').tagName).toBe('DIV');
40
+ expect(getByTestId("test-id").tagName).toBe("DIV");
42
41
  });
43
42
  });
44
43
  });
@@ -1,9 +1,8 @@
1
- import React, { ReactNode } from "react";
2
1
  import cx from "classnames";
3
-
4
- import { Image } from "../Image";
2
+ import React, { ReactNode } from "react";
5
3
  import { Icon } from "../Icon";
6
4
  import { IconProps } from "../Icon/Icon";
5
+ import { Image } from "../Image";
7
6
 
8
7
  export const tileColors = [
9
8
  "surface-primary",
@@ -1,5 +1,5 @@
1
1
  import { render } from "@testing-library/react";
2
- import { axe } from 'vitest-axe';
2
+ import { axe } from "vitest-axe";
3
3
 
4
4
  import { Tile } from "../";
5
5
 
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
3
  import cx from "classnames";
4
+ import React from "react";
5
5
 
6
6
  import { Icon } from "../Icon";
7
7
  import { Tooltip, TooltipProps } from "./Tooltip";
@@ -1,7 +1,11 @@
1
- import { createPopper, Instance as PopperInstance, Options as PopperOptions } from '@popperjs/core';
2
- import { transitionHiddenElement } from '@cloudfour/transition-hidden-element';
1
+ import { transitionHiddenElement } from "@cloudfour/transition-hidden-element";
2
+ import {
3
+ createPopper,
4
+ Instance as PopperInstance,
5
+ Options as PopperOptions,
6
+ } from "@popperjs/core";
3
7
 
4
- import { keys } from '../../utils';
8
+ import { keys } from "../../utils";
5
9
 
6
10
  export interface TooltipConfig {
7
11
  rootContainerSelector: string;
@@ -10,39 +14,39 @@ export interface TooltipConfig {
10
14
  }
11
15
 
12
16
  export const defaultConfig: TooltipConfig = {
13
- rootContainerSelector: '#root-tooltips',
17
+ rootContainerSelector: "#root-tooltips",
14
18
  removeDialogOnDestroy: false,
15
19
  popperOptions: {
16
- placement: 'bottom',
17
- strategy: 'absolute',
20
+ placement: "bottom",
21
+ strategy: "absolute",
18
22
  modifiers: [
19
23
  {
20
- name: 'arrow',
24
+ name: "arrow",
21
25
  options: {
22
- element: '.tooltip__arrow',
26
+ element: ".tooltip__arrow",
23
27
  padding: 10,
24
28
  },
25
29
  },
26
30
  {
27
- name: 'eventListeners',
31
+ name: "eventListeners",
28
32
  options: {
29
33
  scroll: false,
30
34
  resize: false,
31
35
  },
32
36
  },
33
37
  {
34
- name: 'flip',
38
+ name: "flip",
35
39
  options: {
36
- fallbackPlacements: ['right', 'top', 'auto'],
40
+ fallbackPlacements: ["right", "top", "auto"],
37
41
  },
38
42
  },
39
43
  {
40
- name: 'offset',
44
+ name: "offset",
41
45
  options: {
42
46
  offset: ({ placement }: { placement: string }) => {
43
- if (placement.includes('start')) {
47
+ if (placement.includes("start")) {
44
48
  return [-10, 0];
45
- } else if (placement.includes('end')) {
49
+ } else if (placement.includes("end")) {
46
50
  return [10, 0];
47
51
  }
48
52
  return [0, 0];
@@ -60,6 +64,8 @@ export default class Tooltip {
60
64
  public trigger!: HTMLElement;
61
65
  public rootContainer?: HTMLElement | null;
62
66
  public transitioner: any;
67
+ private isOpen = false;
68
+ private ignoreNextBlur = false;
63
69
 
64
70
  constructor(element: HTMLElement, config?: Partial<TooltipConfig>) {
65
71
  this.element = element;
@@ -75,6 +81,8 @@ export default class Tooltip {
75
81
 
76
82
  this.handleVisibility = this.handleVisibility.bind(this);
77
83
  this.onKeydown = this.onKeydown.bind(this);
84
+ this.onDialogMouseDown = this.onDialogMouseDown.bind(this);
85
+ this.onDocumentClick = this.onDocumentClick.bind(this);
78
86
 
79
87
  (this.element as any).ODS_Tooltip = this;
80
88
 
@@ -88,111 +96,136 @@ export default class Tooltip {
88
96
  }
89
97
 
90
98
  wrapLastWordAndButton(): void {
91
- if (!this.element.hasAttribute('data-tooltip-keep-with-text')) return;
99
+ if (!this.element.hasAttribute("data-tooltip-keep-with-text")) return;
92
100
  const previousSibling = this.trigger.previousSibling;
93
101
  if (!previousSibling || previousSibling.nodeType !== Node.TEXT_NODE) {
94
- console.warn('Previous sibling is not a text node.');
102
+ console.warn("Previous sibling is not a text node.");
95
103
  return;
96
104
  }
97
- const textContent = previousSibling.textContent?.trim() || '';
98
- const words = textContent.split(' ');
105
+ const textContent = previousSibling.textContent?.trim() || "";
106
+ const words = textContent.split(" ");
99
107
  const lastWord = words.pop();
100
- const updatedTextContent = words.join(' ');
101
- previousSibling.textContent = updatedTextContent + ' ';
102
- const span = document.createElement('span');
103
- span.className = 'text-nowrap';
108
+ const updatedTextContent = words.join(" ");
109
+ previousSibling.textContent = updatedTextContent + " ";
110
+ const span = document.createElement("span");
111
+ span.className = "text-nowrap";
104
112
  span.innerHTML = `${lastWord} ${this.trigger.outerHTML}`;
105
113
  this.trigger.parentNode?.replaceChild(span, this.trigger);
106
- this.trigger = span.querySelector('[data-tooltip-trigger]') as HTMLElement;
114
+ this.trigger = span.querySelector("[data-tooltip-trigger]") as HTMLElement;
107
115
  }
108
116
 
109
117
  private init(): void {
110
118
  this.trigger = document.querySelector(
111
- `[data-tooltip-trigger][aria-describedby=${this.element.getAttribute('id')}]`
119
+ `[data-tooltip-trigger][aria-describedby=${this.element.getAttribute("id")}]`,
112
120
  ) as HTMLElement;
113
121
  if (!this.trigger) {
114
122
  console.warn(
115
- `tooltip trigger element is not defined and the tooltip cannot be attached. Please provide an element with [aria-describedby=${this.element.getAttribute('id')}]`
123
+ `tooltip trigger element is not defined and the tooltip cannot be attached. Please provide an element with [aria-describedby=${this.element.getAttribute("id")}]`,
116
124
  );
117
125
  }
118
- if (this.element.hasAttribute('data-tooltip-keep-with-text')) {
126
+ if (this.element.hasAttribute("data-tooltip-keep-with-text")) {
119
127
  this.wrapLastWordAndButton();
120
128
  }
121
- this.rootContainer = document.querySelector(this.config.rootContainerSelector);
129
+ this.rootContainer = document.querySelector(
130
+ this.config.rootContainerSelector,
131
+ );
122
132
  if (this.rootContainer) {
123
133
  this.rootContainer.appendChild(this.element);
124
134
  } else {
125
135
  console.warn(
126
- 'rootContainer element is not defined. Tooltips will be placed inside content which can affect positioning. Please provide rootContainer element (should be placed outside of main content, usually in end of <body /> tag)'
136
+ "rootContainer element is not defined. Tooltips will be placed inside content which can affect positioning. Please provide rootContainer element (should be placed outside of main content, usually in end of <body /> tag)",
127
137
  );
128
138
  }
129
- const customPlacement = this.element.getAttribute('data-tooltip-placement');
139
+ const customPlacement = this.element.getAttribute("data-tooltip-placement");
130
140
  if (customPlacement) {
131
141
  this.config.popperOptions.placement = customPlacement as any;
132
142
  }
133
143
  this.instance = createPopper(
134
144
  this.trigger,
135
145
  this.element,
136
- this.config.popperOptions
146
+ this.config.popperOptions,
137
147
  );
138
148
  this.transitioner = transitionHiddenElement({
139
149
  element: this.element,
140
- visibleClass: 'is-visible',
150
+ visibleClass: "is-visible",
141
151
  });
142
- this.trigger.addEventListener('mouseenter', this.handleVisibility);
143
- this.trigger.addEventListener('mouseleave', this.handleVisibility);
144
- this.trigger.addEventListener('focus', this.handleVisibility);
145
- this.trigger.addEventListener('blur', this.handleVisibility);
152
+ this.element.addEventListener("mousedown", this.onDialogMouseDown);
153
+ this.trigger.addEventListener("click", this.handleVisibility);
154
+ this.trigger.addEventListener("keydown", this.handleVisibility);
155
+ this.trigger.addEventListener("blur", this.handleVisibility);
146
156
  }
147
157
 
148
- private handleVisibility(e: Event): void {
149
- if (e.type === 'mouseenter' || e.type === 'focus') {
150
- this.show();
151
- }
152
- if (e.type === 'blur') {
153
- this.hide();
158
+ private onDialogMouseDown(): void {
159
+ this.ignoreNextBlur = true;
160
+ }
161
+
162
+ private onDocumentClick(e: MouseEvent): void {
163
+ const target = e.target as Node | null;
164
+
165
+ if (!target) {
166
+ return;
154
167
  }
155
- if (e.type === 'mouseleave') {
156
- const shouldClose = this.shouldClose(e as MouseEvent);
157
- if (shouldClose) {
158
- this.hide();
159
- }
168
+
169
+ if (this.trigger.contains(target) || this.element.contains(target)) {
170
+ return;
160
171
  }
172
+
173
+ this.hide();
161
174
  }
162
175
 
163
- private shouldClose(e: MouseEvent): boolean {
164
- const mouseLeftTo = (e as any).relatedreference || (e as any).toElement || (e as any).relatedTarget;
165
- const callback = (e2: MouseEvent) => {
166
- const mouseLeftTo2 = (e2 as any).relatedreference || (e2 as any).toElement || (e2 as any).relatedTarget;
167
- this.element.removeEventListener('mouseleave', callback);
168
- if (!this.trigger.contains(mouseLeftTo2)) {
169
- this.hide();
176
+ private handleVisibility(e: Event): void {
177
+ if (e.type === "click") {
178
+ this.toggle();
179
+ return;
180
+ }
181
+ if (e.type === "keydown") {
182
+ this.onKeydown(e as KeyboardEvent);
183
+ return;
184
+ }
185
+ if (e.type === "blur") {
186
+ if (this.ignoreNextBlur) {
187
+ this.ignoreNextBlur = false;
188
+ return;
170
189
  }
171
- };
172
- if (this.element.contains(mouseLeftTo)) {
173
- this.element.addEventListener('mouseleave', callback);
174
- return false;
190
+ this.hide();
175
191
  }
176
- return true;
177
192
  }
178
193
 
179
194
  private onKeydown(e: KeyboardEvent): void {
195
+ if (
196
+ (e.key === "Enter" || e.key === " ") &&
197
+ this.trigger.tagName !== "BUTTON"
198
+ ) {
199
+ e.preventDefault();
200
+ this.toggle();
201
+ return;
202
+ }
180
203
  if (keys.ESC.includes(e.key)) {
181
204
  this.hide();
182
205
  }
183
206
  }
184
207
 
208
+ private toggle(): void {
209
+ if (this.isOpen) {
210
+ this.hide();
211
+ } else {
212
+ this.show();
213
+ }
214
+ }
215
+
185
216
  public show(): void {
186
217
  this.transitioner.show();
187
- this.trigger.classList.add('is-active');
218
+ this.trigger.classList.add("is-active");
219
+ this.isOpen = true;
188
220
  this.instance.forceUpdate();
189
- document.addEventListener('keydown', this.onKeydown);
221
+ document.addEventListener("click", this.onDocumentClick);
190
222
  }
191
223
 
192
224
  public hide(): void {
193
225
  this.transitioner.hide();
194
- this.trigger.classList.remove('is-active');
195
- document.removeEventListener('keydown', this.onKeydown);
226
+ this.trigger.classList.remove("is-active");
227
+ this.isOpen = false;
228
+ document.removeEventListener("click", this.onDocumentClick);
196
229
  }
197
230
 
198
231
  public update(): void {
@@ -200,10 +233,11 @@ export default class Tooltip {
200
233
  }
201
234
 
202
235
  public destroy(): void {
203
- this.trigger.removeEventListener('mouseenter', this.handleVisibility);
204
- this.trigger.removeEventListener('mouseleave', this.handleVisibility);
205
- this.trigger.removeEventListener('focus', this.handleVisibility);
206
- this.trigger.removeEventListener('blur', this.handleVisibility);
236
+ this.element.removeEventListener("mousedown", this.onDialogMouseDown);
237
+ this.trigger.removeEventListener("click", this.handleVisibility);
238
+ this.trigger.removeEventListener("keydown", this.handleVisibility);
239
+ this.trigger.removeEventListener("blur", this.handleVisibility);
240
+ document.removeEventListener("click", this.onDocumentClick);
207
241
  this.instance.destroy();
208
242
  (this.element as any).ODS_Tooltip = null;
209
243
  if (this.config.removeDialogOnDestroy) {
@@ -1,10 +1,9 @@
1
1
  "use client";
2
2
 
3
- import React from "react";
4
3
  import cx from "classnames";
5
-
6
- import TooltipStatic from "./Tooltip.static";
4
+ import React from "react";
7
5
  import { useHydrationSafeId, useStatic } from "../../utils/hooks";
6
+ import TooltipStatic from "./Tooltip.static";
8
7
 
9
8
  const CLASS_ROOT = "tooltip";
10
9
 
@@ -1,2 +1,2 @@
1
- export { Tooltip } from "./Tooltip";
2
1
  export { InfoTooltip } from "./InfoTooltip";
2
+ export { Tooltip } from "./Tooltip";
@@ -1,5 +1,5 @@
1
1
  import { render } from "@testing-library/react";
2
- import { axe } from 'vitest-axe';
2
+ import { axe } from "vitest-axe";
3
3
 
4
4
  import { Button } from "../../Button";
5
5
  import { Tooltip } from "../";