@rededor/cura 1.4.0 → 1.5.0-alpha.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 (266) hide show
  1. package/dist/cjs/{cura-accordion_12.cjs.entry.js → cura-accordion_13.cjs.entry.js} +77 -12
  2. package/dist/cjs/cura-accordion_13.cjs.entry.js.map +1 -0
  3. package/dist/cjs/cura-alert.cjs.entry.js +1 -1
  4. package/dist/cjs/cura-avatar.cjs.entry.js +1 -1
  5. package/dist/cjs/cura-badge-counter.cjs.entry.js +2 -2
  6. package/dist/cjs/cura-badge-counter.cjs.entry.js.map +1 -1
  7. package/dist/cjs/cura-badge-dot.cjs.entry.js +44 -0
  8. package/dist/cjs/cura-badge-dot.cjs.entry.js.map +1 -0
  9. package/dist/cjs/cura-badge-pill.cjs.entry.js +2 -1
  10. package/dist/cjs/cura-badge-pill.cjs.entry.js.map +1 -1
  11. package/dist/cjs/cura-button-outline.cjs.entry.js +1 -1
  12. package/dist/cjs/cura-button-select.cjs.entry.js +1 -1
  13. package/dist/cjs/cura-button-transparent.cjs.entry.js +1 -1
  14. package/dist/cjs/cura-calendar.cjs.entry.js +1 -1
  15. package/dist/cjs/cura-card.cjs.entry.js +1 -1
  16. package/dist/cjs/cura-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/cura-display.cjs.entry.js +1 -1
  18. package/dist/cjs/cura-dropdown-search-option-title.cjs.entry.js +1 -1
  19. package/dist/cjs/cura-dropdown-search-option.cjs.entry.js +2 -2
  20. package/dist/cjs/cura-dropdown-search.cjs.entry.js +27 -21
  21. package/dist/cjs/cura-dropdown-search.cjs.entry.js.map +1 -1
  22. package/dist/cjs/cura-icons-view.cjs.entry.js +1 -1
  23. package/dist/cjs/cura-input-date.cjs.entry.js +1 -1
  24. package/dist/cjs/cura-loader-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/cura-progress-bar_2.cjs.entry.js +98 -0
  26. package/dist/cjs/cura-progress-bar_2.cjs.entry.js.map +1 -0
  27. package/dist/cjs/cura-radio.cjs.entry.js +1 -1
  28. package/dist/cjs/cura-stepper.cjs.entry.js +123 -0
  29. package/dist/cjs/cura-stepper.cjs.entry.js.map +1 -0
  30. package/dist/cjs/cura-switch.cjs.entry.js +1 -1
  31. package/dist/cjs/cura-toast.cjs.entry.js +1 -1
  32. package/dist/cjs/cura-tooltip.cjs.entry.js +9 -8
  33. package/dist/cjs/cura-tooltip.cjs.entry.js.map +1 -1
  34. package/dist/cjs/cura.cjs.js +1 -1
  35. package/dist/cjs/loader.cjs.js +1 -1
  36. package/dist/collection/collection-manifest.json +4 -0
  37. package/dist/collection/components/badges/cura-badge-counter/cura-badge-counter.js +2 -2
  38. package/dist/collection/components/badges/cura-badge-counter/cura-badge-counter.js.map +1 -1
  39. package/dist/collection/components/badges/cura-badge-dot/cura-badge-dot.css +61 -0
  40. package/dist/collection/components/badges/cura-badge-dot/cura-badge-dot.js +108 -0
  41. package/dist/collection/components/badges/cura-badge-dot/cura-badge-dot.js.map +1 -0
  42. package/dist/collection/components/badges/cura-badge-dot/cura-badge-dot.stories.js +65 -0
  43. package/dist/collection/components/badges/cura-badge-dot/cura-badge-dot.stories.js.map +1 -0
  44. package/dist/collection/components/badges/cura-badge-pill/cura-badge-pill.js +2 -1
  45. package/dist/collection/components/badges/cura-badge-pill/cura-badge-pill.js.map +1 -1
  46. package/dist/collection/components/buttons/cura-button/cura-button.js +1 -1
  47. package/dist/collection/components/buttons/cura-button-outline/cura-button-outline.js +1 -1
  48. package/dist/collection/components/buttons/cura-button-select/cura-button-select.js +1 -1
  49. package/dist/collection/components/buttons/cura-button-transparent/cura-button-transparent.js +1 -1
  50. package/dist/collection/components/cura-alert/cura-alert.js +1 -1
  51. package/dist/collection/components/cura-avatar/cura-avatar.js +1 -1
  52. package/dist/collection/components/cura-calendar/cura-calendar.js +1 -1
  53. package/dist/collection/components/cura-card/cura-card.js +1 -1
  54. package/dist/collection/components/cura-icon/cura-icon.js +1 -1
  55. package/dist/collection/components/cura-icons-view/cura-icons-view.js +1 -1
  56. package/dist/collection/components/cura-modal/cura-modal.css +3 -3
  57. package/dist/collection/components/cura-modal/cura-modal.js +39 -1
  58. package/dist/collection/components/cura-modal/cura-modal.js.map +1 -1
  59. package/dist/collection/components/cura-modal/cura-modal.stories.js +18 -0
  60. package/dist/collection/components/cura-modal/cura-modal.stories.js.map +1 -1
  61. package/dist/collection/components/cura-page-template/cura-page-template.js +1 -1
  62. package/dist/collection/components/cura-stepper/cura-progress-bar/cura-progress-bar.css +15 -0
  63. package/dist/collection/components/cura-stepper/cura-progress-bar/cura-progress-bar.js +121 -0
  64. package/dist/collection/components/cura-stepper/cura-progress-bar/cura-progress-bar.js.map +1 -0
  65. package/dist/collection/components/cura-stepper/cura-stepper-item/cura-stepper-item.css +10 -0
  66. package/dist/collection/components/cura-stepper/cura-stepper-item/cura-stepper-item.js +153 -0
  67. package/dist/collection/components/cura-stepper/cura-stepper-item/cura-stepper-item.js.map +1 -0
  68. package/dist/collection/components/cura-stepper/cura-stepper.css +72 -0
  69. package/dist/collection/components/cura-stepper/cura-stepper.js +227 -0
  70. package/dist/collection/components/cura-stepper/cura-stepper.js.map +1 -0
  71. package/dist/collection/components/cura-stepper/cura-stepper.stories.js +97 -0
  72. package/dist/collection/components/cura-stepper/cura-stepper.stories.js.map +1 -0
  73. package/dist/collection/components/cura-stepper/stepper.type.js +2 -0
  74. package/dist/collection/components/cura-stepper/stepper.type.js.map +1 -0
  75. package/dist/collection/components/cura-toast/cura-toast.js +1 -1
  76. package/dist/collection/components/cura-tooltip/cura-tooltip.js +9 -8
  77. package/dist/collection/components/cura-tooltip/cura-tooltip.js.map +1 -1
  78. package/dist/collection/components/forms/cura-checkbox/cura-checkbox.js +1 -1
  79. package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js +2 -2
  80. package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.js +1 -1
  81. package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.css +4 -2
  82. package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js +28 -21
  83. package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js.map +1 -1
  84. package/dist/collection/components/forms/cura-input-date/cura-input-date.js +1 -1
  85. package/dist/collection/components/forms/cura-label/cura-label.js +1 -1
  86. package/dist/collection/components/forms/cura-radio/cura-radio.js +1 -1
  87. package/dist/collection/components/forms/cura-select/cura-select.js +3 -3
  88. package/dist/collection/components/forms/cura-select/cura-select.stories.js +1 -1
  89. package/dist/collection/components/forms/cura-select/cura-select.stories.js.map +1 -1
  90. package/dist/collection/components/forms/cura-select-options/cura-select-option.js +1 -1
  91. package/dist/collection/components/forms/cura-switch/cura-switch.js +1 -1
  92. package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.js +1 -1
  93. package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js +1 -1
  94. package/dist/collection/components/text/cura-display/cura-display.js +1 -1
  95. package/dist/collection/components/text/cura-heading/cura-heading.js +1 -1
  96. package/dist/collection/components/text/cura-paragraph/cura-paragraph.js +1 -1
  97. package/dist/components/cura-alert.js +1 -1
  98. package/dist/components/cura-avatar.js +1 -1
  99. package/dist/components/cura-badge-counter2.js +2 -2
  100. package/dist/components/cura-badge-counter2.js.map +1 -1
  101. package/dist/components/cura-badge-dot.d.ts +11 -0
  102. package/dist/components/cura-badge-dot.js +63 -0
  103. package/dist/components/cura-badge-dot.js.map +1 -0
  104. package/dist/components/cura-badge-pill.js +1 -113
  105. package/dist/components/cura-badge-pill.js.map +1 -1
  106. package/dist/components/cura-badge-pill2.js +118 -0
  107. package/dist/components/cura-badge-pill2.js.map +1 -0
  108. package/dist/components/cura-button-outline.js +1 -1
  109. package/dist/components/cura-button-select.js +1 -1
  110. package/dist/components/cura-button-transparent2.js +1 -1
  111. package/dist/components/cura-button.js +1 -1
  112. package/dist/components/cura-calendar2.js +1 -1
  113. package/dist/components/cura-card.js +1 -1
  114. package/dist/components/cura-checkbox.js +1 -1
  115. package/dist/components/cura-display.js +1 -1
  116. package/dist/components/cura-dropdown-search-option-title.js +1 -1
  117. package/dist/components/cura-dropdown-search-option.js +2 -2
  118. package/dist/components/cura-dropdown-search.js +29 -22
  119. package/dist/components/cura-dropdown-search.js.map +1 -1
  120. package/dist/components/cura-heading2.js +1 -1
  121. package/dist/components/cura-icon2.js +1 -1
  122. package/dist/components/cura-icons-view.js +1 -1
  123. package/dist/components/cura-input-date.js +1 -1
  124. package/dist/components/cura-label2.js +1 -1
  125. package/dist/components/cura-loader-bar2.js +1 -1
  126. package/dist/components/cura-loader-circle2.js +1 -1
  127. package/dist/components/cura-modal.js +6 -2
  128. package/dist/components/cura-modal.js.map +1 -1
  129. package/dist/components/cura-page-template.js +1 -1
  130. package/dist/components/cura-paragraph2.js +1 -1
  131. package/dist/components/cura-progress-bar.d.ts +11 -0
  132. package/dist/components/cura-progress-bar.js +8 -0
  133. package/dist/components/cura-progress-bar.js.map +1 -0
  134. package/dist/components/cura-progress-bar2.js +48 -0
  135. package/dist/components/cura-progress-bar2.js.map +1 -0
  136. package/dist/components/cura-radio.js +1 -1
  137. package/dist/components/cura-select-option2.js +1 -1
  138. package/dist/components/cura-select2.js +3 -3
  139. package/dist/components/cura-stepper-item.d.ts +11 -0
  140. package/dist/components/cura-stepper-item.js +8 -0
  141. package/dist/components/cura-stepper-item.js.map +1 -0
  142. package/dist/components/cura-stepper-item2.js +116 -0
  143. package/dist/components/cura-stepper-item2.js.map +1 -0
  144. package/dist/components/cura-stepper.d.ts +11 -0
  145. package/dist/components/cura-stepper.js +187 -0
  146. package/dist/components/cura-stepper.js.map +1 -0
  147. package/dist/components/cura-switch.js +1 -1
  148. package/dist/components/cura-toast.js +1 -1
  149. package/dist/components/cura-tooltip.js +9 -8
  150. package/dist/components/cura-tooltip.js.map +1 -1
  151. package/dist/components/index.js +8 -0
  152. package/dist/components/index.js.map +1 -1
  153. package/dist/cura/cura.esm.js +1 -1
  154. package/dist/cura/cura.esm.js.map +1 -1
  155. package/dist/cura/{p-a91d451f.entry.js → p-04006a3e.entry.js} +2 -2
  156. package/dist/cura/{p-576c65b4.entry.js → p-0a133399.entry.js} +2 -2
  157. package/dist/cura/{p-116a1cd6.entry.js → p-164ddb46.entry.js} +2 -2
  158. package/dist/cura/{p-36dbec98.entry.js → p-235ac0b4.entry.js} +2 -2
  159. package/dist/cura/p-23fa2246.entry.js +2 -0
  160. package/dist/cura/p-23fa2246.entry.js.map +1 -0
  161. package/dist/cura/{p-c4da4c44.entry.js → p-2af6216a.entry.js} +2 -2
  162. package/dist/cura/{p-3d958d45.entry.js → p-3c0931d3.entry.js} +2 -2
  163. package/dist/cura/{p-3eca0f0c.entry.js → p-46b21329.entry.js} +2 -2
  164. package/dist/cura/{p-bdb1a0c5.entry.js → p-4aefe237.entry.js} +2 -2
  165. package/dist/cura/{p-aa65cb50.entry.js → p-529332d3.entry.js} +2 -2
  166. package/dist/cura/{p-aa65cb50.entry.js.map → p-529332d3.entry.js.map} +1 -1
  167. package/dist/cura/{p-19f28fa8.entry.js → p-545e8e55.entry.js} +2 -2
  168. package/dist/cura/p-557b90c4.entry.js +2 -0
  169. package/dist/cura/p-557b90c4.entry.js.map +1 -0
  170. package/dist/cura/p-6624108e.entry.js +2 -0
  171. package/dist/cura/p-6b627841.entry.js +2 -0
  172. package/dist/cura/p-6b627841.entry.js.map +1 -0
  173. package/dist/cura/{p-ef593f12.entry.js → p-6f1a3fe5.entry.js} +2 -2
  174. package/dist/cura/p-6f1a3fe5.entry.js.map +1 -0
  175. package/dist/cura/{p-52f854e0.entry.js → p-7ba80d78.entry.js} +2 -2
  176. package/dist/cura/{p-52f854e0.entry.js.map → p-7ba80d78.entry.js.map} +1 -1
  177. package/dist/cura/p-8622c492.entry.js +2 -0
  178. package/dist/cura/p-8622c492.entry.js.map +1 -0
  179. package/dist/cura/{p-42258230.entry.js → p-a5af4225.entry.js} +2 -2
  180. package/dist/cura/{p-b1a51e81.entry.js → p-a7c60a4e.entry.js} +2 -2
  181. package/dist/cura/{p-2545cfc7.entry.js → p-b3e93e74.entry.js} +2 -2
  182. package/dist/cura/{p-dcd2e5bb.entry.js → p-bce10f9b.entry.js} +2 -2
  183. package/dist/cura/p-cfbe2bce.entry.js +2 -0
  184. package/dist/cura/p-cfbe2bce.entry.js.map +1 -0
  185. package/dist/cura/{p-818c581f.entry.js → p-d13e3295.entry.js} +2 -2
  186. package/dist/cura/{p-e1a41792.entry.js → p-ec7876d3.entry.js} +2 -2
  187. package/dist/cura/{p-4b496c51.entry.js → p-f96b0923.entry.js} +2 -2
  188. package/dist/esm/{cura-accordion_12.entry.js → cura-accordion_13.entry.js} +77 -13
  189. package/dist/esm/cura-accordion_13.entry.js.map +1 -0
  190. package/dist/esm/cura-alert.entry.js +1 -1
  191. package/dist/esm/cura-avatar.entry.js +1 -1
  192. package/dist/esm/cura-badge-counter.entry.js +2 -2
  193. package/dist/esm/cura-badge-counter.entry.js.map +1 -1
  194. package/dist/esm/cura-badge-dot.entry.js +40 -0
  195. package/dist/esm/cura-badge-dot.entry.js.map +1 -0
  196. package/dist/esm/cura-badge-pill.entry.js +2 -1
  197. package/dist/esm/cura-badge-pill.entry.js.map +1 -1
  198. package/dist/esm/cura-button-outline.entry.js +1 -1
  199. package/dist/esm/cura-button-select.entry.js +1 -1
  200. package/dist/esm/cura-button-transparent.entry.js +1 -1
  201. package/dist/esm/cura-calendar.entry.js +1 -1
  202. package/dist/esm/cura-card.entry.js +1 -1
  203. package/dist/esm/cura-checkbox.entry.js +1 -1
  204. package/dist/esm/cura-display.entry.js +1 -1
  205. package/dist/esm/cura-dropdown-search-option-title.entry.js +1 -1
  206. package/dist/esm/cura-dropdown-search-option.entry.js +2 -2
  207. package/dist/esm/cura-dropdown-search.entry.js +27 -21
  208. package/dist/esm/cura-dropdown-search.entry.js.map +1 -1
  209. package/dist/esm/cura-icons-view.entry.js +1 -1
  210. package/dist/esm/cura-input-date.entry.js +1 -1
  211. package/dist/esm/cura-loader-bar.entry.js +1 -1
  212. package/dist/esm/cura-progress-bar_2.entry.js +93 -0
  213. package/dist/esm/cura-progress-bar_2.entry.js.map +1 -0
  214. package/dist/esm/cura-radio.entry.js +1 -1
  215. package/dist/esm/cura-stepper.entry.js +119 -0
  216. package/dist/esm/cura-stepper.entry.js.map +1 -0
  217. package/dist/esm/cura-switch.entry.js +1 -1
  218. package/dist/esm/cura-toast.entry.js +1 -1
  219. package/dist/esm/cura-tooltip.entry.js +9 -8
  220. package/dist/esm/cura-tooltip.entry.js.map +1 -1
  221. package/dist/esm/cura.js +1 -1
  222. package/dist/esm/loader.js +1 -1
  223. package/dist/types/components/badges/cura-badge-dot/cura-badge-dot.d.ts +24 -0
  224. package/dist/types/components/badges/cura-badge-dot/cura-badge-dot.stories.d.ts +53 -0
  225. package/dist/types/components/cura-modal/cura-modal.d.ts +10 -0
  226. package/dist/types/components/cura-modal/cura-modal.stories.d.ts +20 -0
  227. package/dist/types/components/cura-stepper/cura-progress-bar/cura-progress-bar.d.ts +23 -0
  228. package/dist/types/components/cura-stepper/cura-stepper-item/cura-stepper-item.d.ts +60 -0
  229. package/dist/types/components/cura-stepper/cura-stepper.d.ts +62 -0
  230. package/dist/types/components/cura-stepper/cura-stepper.stories.d.ts +77 -0
  231. package/dist/types/components/cura-stepper/stepper.type.d.ts +4 -0
  232. package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search.d.ts +3 -1
  233. package/dist/types/components/forms/cura-select/cura-select.stories.d.ts +1 -1
  234. package/dist/types/components.d.ts +206 -0
  235. package/package.json +2 -2
  236. package/dist/cjs/cura-accordion_12.cjs.entry.js.map +0 -1
  237. package/dist/cjs/cura-modal.cjs.entry.js +0 -71
  238. package/dist/cjs/cura-modal.cjs.entry.js.map +0 -1
  239. package/dist/cura/p-35920ac0.entry.js +0 -2
  240. package/dist/cura/p-35920ac0.entry.js.map +0 -1
  241. package/dist/cura/p-3e4ca7e7.entry.js +0 -2
  242. package/dist/cura/p-3e4ca7e7.entry.js.map +0 -1
  243. package/dist/cura/p-ef593f12.entry.js.map +0 -1
  244. package/dist/cura/p-f23c4ed8.entry.js +0 -2
  245. package/dist/cura/p-f23c4ed8.entry.js.map +0 -1
  246. package/dist/cura/p-f5d45776.entry.js +0 -2
  247. package/dist/esm/cura-accordion_12.entry.js.map +0 -1
  248. package/dist/esm/cura-modal.entry.js +0 -67
  249. package/dist/esm/cura-modal.entry.js.map +0 -1
  250. /package/dist/cura/{p-a91d451f.entry.js.map → p-04006a3e.entry.js.map} +0 -0
  251. /package/dist/cura/{p-576c65b4.entry.js.map → p-0a133399.entry.js.map} +0 -0
  252. /package/dist/cura/{p-116a1cd6.entry.js.map → p-164ddb46.entry.js.map} +0 -0
  253. /package/dist/cura/{p-36dbec98.entry.js.map → p-235ac0b4.entry.js.map} +0 -0
  254. /package/dist/cura/{p-c4da4c44.entry.js.map → p-2af6216a.entry.js.map} +0 -0
  255. /package/dist/cura/{p-3d958d45.entry.js.map → p-3c0931d3.entry.js.map} +0 -0
  256. /package/dist/cura/{p-3eca0f0c.entry.js.map → p-46b21329.entry.js.map} +0 -0
  257. /package/dist/cura/{p-bdb1a0c5.entry.js.map → p-4aefe237.entry.js.map} +0 -0
  258. /package/dist/cura/{p-19f28fa8.entry.js.map → p-545e8e55.entry.js.map} +0 -0
  259. /package/dist/cura/{p-f5d45776.entry.js.map → p-6624108e.entry.js.map} +0 -0
  260. /package/dist/cura/{p-42258230.entry.js.map → p-a5af4225.entry.js.map} +0 -0
  261. /package/dist/cura/{p-b1a51e81.entry.js.map → p-a7c60a4e.entry.js.map} +0 -0
  262. /package/dist/cura/{p-2545cfc7.entry.js.map → p-b3e93e74.entry.js.map} +0 -0
  263. /package/dist/cura/{p-dcd2e5bb.entry.js.map → p-bce10f9b.entry.js.map} +0 -0
  264. /package/dist/cura/{p-818c581f.entry.js.map → p-d13e3295.entry.js.map} +0 -0
  265. /package/dist/cura/{p-e1a41792.entry.js.map → p-ec7876d3.entry.js.map} +0 -0
  266. /package/dist/cura/{p-4b496c51.entry.js.map → p-f96b0923.entry.js.map} +0 -0
@@ -0,0 +1,72 @@
1
+ :host {
2
+ display: block;
3
+ box-sizing: border-box;
4
+ width: 100%;
5
+ }
6
+
7
+ cura-heading {
8
+ --margin-block: 0 !important;
9
+ }
10
+
11
+ .container {
12
+ display: flex;
13
+ }
14
+
15
+ .compact {
16
+ display: flex;
17
+ padding: 0px;
18
+ justify-content: space-between;
19
+ align-items: center;
20
+ }
21
+ .compact .heading {
22
+ text-align: right;
23
+ }
24
+
25
+ .stepper-list {
26
+ gap: 4px;
27
+ display: flex;
28
+ flex-shrink: 0;
29
+ align-items: center;
30
+ padding: 0;
31
+ flex: 1;
32
+ width: 100%;
33
+ justify-content: space-between;
34
+ }
35
+
36
+ .step {
37
+ display: flex;
38
+ align-items: center;
39
+ flex-direction: row;
40
+ flex: 1;
41
+ gap: 4px;
42
+ }
43
+ .step .wrapper {
44
+ flex: 1;
45
+ position: relative;
46
+ }
47
+ .step .divider {
48
+ background-color: var(--neutral-light);
49
+ height: 2px;
50
+ flex: 1;
51
+ transition: all 1s;
52
+ }
53
+ .step .animation {
54
+ position: absolute;
55
+ top: 0;
56
+ left: 0;
57
+ right: 0;
58
+ width: var(--progress-width);
59
+ }
60
+ .step .done {
61
+ background-color: var(--success-light);
62
+ }
63
+ .step .stop {
64
+ background-color: var(--error-light);
65
+ }
66
+ .step .active {
67
+ background-color: var(--info-light);
68
+ }
69
+
70
+ .last {
71
+ flex: 0;
72
+ }
@@ -0,0 +1,227 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class CuraStepper {
3
+ constructor() {
4
+ this.activeStepIndex = undefined;
5
+ this.errorInCurrentStep = false;
6
+ this.displayHeading = false;
7
+ this.variant = 'default';
8
+ this.steps = [];
9
+ this.styles = {};
10
+ this.stepList = [];
11
+ }
12
+ connectedCallback() {
13
+ this.initializeSteps();
14
+ const { fonts, colors, spacing } = window.CuraAPI.theme;
15
+ const weights = fonts.getWeights();
16
+ this.styles = this.generateStyles(colors, fonts, spacing, weights);
17
+ }
18
+ generateStyles(colors, fonts, spacing, weights) {
19
+ return {
20
+ '--base-spacing': spacing.getSpacing(),
21
+ '--neutral-purewhite': colors.getColor('neutral-purewhite'),
22
+ '--neutral-lighter': colors.getColor('neutral-lighter'),
23
+ '--neutral-base': colors.getColor('neutral-base'),
24
+ '--neutral-light': colors.getColor('neutral-light'),
25
+ '--success-light': colors.getColor('success-light'),
26
+ '--info-light': colors.getColor('info-light'),
27
+ '--error-light': colors.getColor('error-light'),
28
+ '--font-size': fonts.getSize(),
29
+ '--font-color': fonts.getColor(),
30
+ '--font-family': fonts.getFamily(),
31
+ '--font-weight-regular': weights.regular,
32
+ };
33
+ }
34
+ initializeSteps() {
35
+ if (typeof this.steps === 'string') {
36
+ this.stepList = JSON.parse(this.steps || '[]');
37
+ }
38
+ else {
39
+ this.stepList = this.steps;
40
+ }
41
+ }
42
+ getStepStatus(step) {
43
+ if (this.activeStepIndex === step && this.errorInCurrentStep)
44
+ return 'stop';
45
+ if (this.activeStepIndex === step && this.stepList.length !== step)
46
+ return 'active';
47
+ if (this.activeStepIndex >= step)
48
+ return 'done';
49
+ return 'default';
50
+ }
51
+ getProgressStyles() {
52
+ const progressStyles = {
53
+ default: {
54
+ progressColor: 'var(--info-light)',
55
+ activeStepTextColor: 'info-darker',
56
+ nextStepTextColor: 'info-dark',
57
+ },
58
+ firstStep: {
59
+ progressColor: 'var(--info-light)',
60
+ activeStepTextColor: 'neutral-dark',
61
+ nextStepTextColor: 'neutral-medium',
62
+ },
63
+ completed: {
64
+ progressColor: 'var(--success-light)',
65
+ activeStepTextColor: 'success-darker',
66
+ nextStepTextColor: 'success-dark',
67
+ },
68
+ error: {
69
+ progressColor: 'var(--error-light)',
70
+ activeStepTextColor: 'error-darker',
71
+ nextStepTextColor: 'error-dark',
72
+ },
73
+ };
74
+ if (this.errorInCurrentStep) {
75
+ return progressStyles.error;
76
+ }
77
+ if (this.activeStepIndex === 0) {
78
+ return progressStyles.firstStep;
79
+ }
80
+ if (this.activeStepIndex === this.stepList.length) {
81
+ return progressStyles.completed;
82
+ }
83
+ return progressStyles.default;
84
+ }
85
+ renderCompactStepper() {
86
+ var _a;
87
+ const title = this.activeStepIndex === 0 ? this.stepList[this.activeStepIndex].title : this.stepList[this.activeStepIndex - 1].title;
88
+ const subtitle = this.activeStepIndex === 0 ? this.stepList[this.activeStepIndex + 1].title : (_a = this.stepList[this.activeStepIndex]) === null || _a === void 0 ? void 0 : _a.title;
89
+ const completed = this.activeStepIndex === this.stepList.length;
90
+ const inProgress = !(completed || this.errorInCurrentStep);
91
+ const { progressColor, activeStepTextColor, nextStepTextColor } = this.getProgressStyles();
92
+ // Representa a porcentagem de progresso (step atual / quantidade de steps;)
93
+ const progress = (this.activeStepIndex * 100) / this.stepList.length;
94
+ return (h("div", { class: "container compact", style: this.styles }, h("cura-progress-bar", { progress: progress, progressColor: progressColor, active: this.activeStepIndex !== 0 }, !inProgress ? (h("cura-icon", { name: this.errorInCurrentStep ? 'alertCircle' : 'checkCircle', color: this.errorInCurrentStep ? 'error-dark' : 'success-dark', size: "16" })) : (h("cura-heading", { color: "neutral-dark", size: "xsmall" }, this.activeStepIndex, "/", this.stepList.length))), this.displayHeading && (h("div", { class: "heading" }, h("cura-heading", { size: "small", weight: "bold", color: activeStepTextColor }, title), !completed && (h("cura-heading", { size: "xsmall", weight: "regular", color: nextStepTextColor }, "Pr\u00F3ximo: ", subtitle))))));
95
+ }
96
+ renderStep(step, stepIndex) {
97
+ const stepStatus = this.getStepStatus(stepIndex + 1);
98
+ const lastStep = stepIndex === this.stepList.length - 1;
99
+ const progressWidth = stepStatus !== 'default' ? '100%' : '0';
100
+ return (h("div", { class: `step ${lastStep ? 'last' : ''}`, key: step.title }, h("cura-stepper-item", { heading: step.title, label: step.label, displayHeading: this.displayHeading, status: stepStatus }), stepIndex < this.stepList.length - 1 && (h("div", { class: "wrapper" }, h("div", { class: "divider" }), h("div", { class: `divider ${stepStatus} animation`, style: { '--progress-width': progressWidth } })))));
101
+ }
102
+ renderStepper() {
103
+ return (h("div", { class: "container", style: this.styles }, h("div", { class: "stepper-list" }, this.stepList.map((step, stepIndex) => this.renderStep(step, stepIndex)))));
104
+ }
105
+ render() {
106
+ return h(Host, { key: 'a3c23a43dc82cba74b777a7e28ae7de1632ec95d' }, this.variant === 'default' ? this.renderStepper() : this.renderCompactStepper());
107
+ }
108
+ static get is() { return "cura-stepper"; }
109
+ static get encapsulation() { return "shadow"; }
110
+ static get originalStyleUrls() {
111
+ return {
112
+ "$": ["cura-stepper.scss"]
113
+ };
114
+ }
115
+ static get styleUrls() {
116
+ return {
117
+ "$": ["cura-stepper.css"]
118
+ };
119
+ }
120
+ static get properties() {
121
+ return {
122
+ "activeStepIndex": {
123
+ "type": "number",
124
+ "mutable": false,
125
+ "complexType": {
126
+ "original": "number",
127
+ "resolved": "number",
128
+ "references": {}
129
+ },
130
+ "required": false,
131
+ "optional": false,
132
+ "docs": {
133
+ "tags": [],
134
+ "text": "The current active step index"
135
+ },
136
+ "attribute": "active-step-index",
137
+ "reflect": true
138
+ },
139
+ "errorInCurrentStep": {
140
+ "type": "boolean",
141
+ "mutable": false,
142
+ "complexType": {
143
+ "original": "boolean",
144
+ "resolved": "boolean",
145
+ "references": {}
146
+ },
147
+ "required": false,
148
+ "optional": false,
149
+ "docs": {
150
+ "tags": [],
151
+ "text": "Indicates if a step has encountered an error\nIf `true`, the current step will be marked as 'stop'"
152
+ },
153
+ "attribute": "error-in-current-step",
154
+ "reflect": true,
155
+ "defaultValue": "false"
156
+ },
157
+ "displayHeading": {
158
+ "type": "boolean",
159
+ "mutable": false,
160
+ "complexType": {
161
+ "original": "boolean",
162
+ "resolved": "boolean",
163
+ "references": {}
164
+ },
165
+ "required": false,
166
+ "optional": false,
167
+ "docs": {
168
+ "tags": [],
169
+ "text": "Whether to display the title (default: false)"
170
+ },
171
+ "attribute": "display-heading",
172
+ "reflect": true,
173
+ "defaultValue": "false"
174
+ },
175
+ "variant": {
176
+ "type": "string",
177
+ "mutable": false,
178
+ "complexType": {
179
+ "original": "'compact' | 'default'",
180
+ "resolved": "\"compact\" | \"default\"",
181
+ "references": {}
182
+ },
183
+ "required": false,
184
+ "optional": false,
185
+ "docs": {
186
+ "tags": [],
187
+ "text": "Allows you to set the appearance of the component (default: default)"
188
+ },
189
+ "attribute": "variant",
190
+ "reflect": true,
191
+ "defaultValue": "'default'"
192
+ },
193
+ "steps": {
194
+ "type": "string",
195
+ "mutable": false,
196
+ "complexType": {
197
+ "original": "Step[] | string",
198
+ "resolved": "Step[] | string",
199
+ "references": {
200
+ "Step": {
201
+ "location": "import",
202
+ "path": "./stepper.type",
203
+ "id": "src/components/cura-stepper/stepper.type.ts::Step"
204
+ }
205
+ }
206
+ },
207
+ "required": false,
208
+ "optional": false,
209
+ "docs": {
210
+ "tags": [],
211
+ "text": "List of steps in the stepper."
212
+ },
213
+ "attribute": "steps",
214
+ "reflect": false,
215
+ "defaultValue": "[]"
216
+ }
217
+ };
218
+ }
219
+ static get states() {
220
+ return {
221
+ "styles": {},
222
+ "stepList": {}
223
+ };
224
+ }
225
+ static get elementRef() { return "host"; }
226
+ }
227
+ //# sourceMappingURL=cura-stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cura-stepper.js","sourceRoot":"","sources":["../../../src/components/cura-stepper/cura-stepper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, State, h, Element, Prop } from '@stencil/core';\nimport { Step } from './stepper.type';\n\n@Component({\n tag: 'cura-stepper',\n styleUrl: 'cura-stepper.scss',\n shadow: true,\n})\nexport class CuraStepper {\n /**\n * The current active step index\n */\n @Prop({ reflect: true }) activeStepIndex: number;\n\n /**\n * Indicates if a step has encountered an error\n * If `true`, the current step will be marked as 'stop'\n */\n @Prop({ reflect: true }) errorInCurrentStep: boolean = false;\n\n /**\n * Whether to display the title (default: false)\n */\n @Prop({ reflect: true }) displayHeading: boolean = false;\n\n /**\n * Allows you to set the appearance of the component (default: default)\n */\n @Prop({ reflect: true }) variant: 'compact' | 'default' = 'default';\n\n /**\n * List of steps in the stepper.\n */\n @Prop() steps: Step[] | string = [];\n /**\n * Reference to the host element.\n */\n @Element() host: HTMLElement;\n\n @State() styles = {};\n\n /**\n * Array of steps in the stepper.\n *\n * @type {Date[]}\n * @default []\n */\n @State() stepList: Step[] = [];\n\n connectedCallback() {\n this.initializeSteps();\n\n const { fonts, colors, spacing } = window.CuraAPI.theme;\n const weights = fonts.getWeights();\n\n this.styles = this.generateStyles(colors, fonts, spacing, weights);\n }\n\n generateStyles(colors, fonts, spacing, weights) {\n return {\n '--base-spacing': spacing.getSpacing(),\n '--neutral-purewhite': colors.getColor('neutral-purewhite'),\n '--neutral-lighter': colors.getColor('neutral-lighter'),\n '--neutral-base': colors.getColor('neutral-base'),\n '--neutral-light': colors.getColor('neutral-light'),\n '--success-light': colors.getColor('success-light'),\n '--info-light': colors.getColor('info-light'),\n '--error-light': colors.getColor('error-light'),\n '--font-size': fonts.getSize(),\n '--font-color': fonts.getColor(),\n '--font-family': fonts.getFamily(),\n '--font-weight-regular': weights.regular,\n };\n }\n\n initializeSteps() {\n if (typeof this.steps === 'string') {\n this.stepList = JSON.parse(this.steps || '[]');\n } else {\n this.stepList = this.steps;\n }\n }\n\n getStepStatus(step: number): 'done' | 'stop' | 'active' | 'default' {\n if (this.activeStepIndex === step && this.errorInCurrentStep) return 'stop';\n if (this.activeStepIndex === step && this.stepList.length !== step) return 'active';\n if (this.activeStepIndex >= step) return 'done';\n\n return 'default';\n }\n\n getProgressStyles() {\n const progressStyles = {\n default: {\n progressColor: 'var(--info-light)',\n activeStepTextColor: 'info-darker',\n nextStepTextColor: 'info-dark',\n },\n firstStep: {\n progressColor: 'var(--info-light)',\n activeStepTextColor: 'neutral-dark',\n nextStepTextColor: 'neutral-medium',\n },\n completed: {\n progressColor: 'var(--success-light)',\n activeStepTextColor: 'success-darker',\n nextStepTextColor: 'success-dark',\n },\n error: {\n progressColor: 'var(--error-light)',\n activeStepTextColor: 'error-darker',\n nextStepTextColor: 'error-dark',\n },\n };\n\n if (this.errorInCurrentStep) {\n return progressStyles.error;\n }\n\n if (this.activeStepIndex === 0) {\n return progressStyles.firstStep;\n }\n\n if (this.activeStepIndex === this.stepList.length) {\n return progressStyles.completed;\n }\n\n return progressStyles.default;\n }\n\n renderCompactStepper() {\n const title = this.activeStepIndex === 0 ? this.stepList[this.activeStepIndex].title : this.stepList[this.activeStepIndex - 1].title;\n const subtitle = this.activeStepIndex === 0 ? this.stepList[this.activeStepIndex + 1].title : this.stepList[this.activeStepIndex]?.title;\n const completed = this.activeStepIndex === this.stepList.length;\n const inProgress = !(completed || this.errorInCurrentStep);\n const { progressColor, activeStepTextColor, nextStepTextColor } = this.getProgressStyles();\n\n // Representa a porcentagem de progresso (step atual / quantidade de steps;)\n const progress = (this.activeStepIndex * 100) / this.stepList.length;\n\n return (\n <div class=\"container compact\" style={this.styles}>\n <cura-progress-bar progress={progress} progressColor={progressColor} active={this.activeStepIndex !== 0}>\n {!inProgress ? (\n <cura-icon name={this.errorInCurrentStep ? 'alertCircle' : 'checkCircle'} color={this.errorInCurrentStep ? 'error-dark' : 'success-dark'} size=\"16\"></cura-icon>\n ) : (\n <cura-heading color=\"neutral-dark\" size=\"xsmall\">\n {this.activeStepIndex}/{this.stepList.length}\n </cura-heading>\n )}\n </cura-progress-bar>\n {this.displayHeading && (\n <div class=\"heading\">\n <cura-heading size=\"small\" weight=\"bold\" color={activeStepTextColor}>\n {title}\n </cura-heading>\n {!completed && (\n <cura-heading size=\"xsmall\" weight=\"regular\" color={nextStepTextColor}>\n Próximo: {subtitle}\n </cura-heading>\n )}\n </div>\n )}\n </div>\n );\n }\n\n renderStep(step: Step, stepIndex: number) {\n const stepStatus = this.getStepStatus(stepIndex + 1);\n const lastStep = stepIndex === this.stepList.length - 1;\n const progressWidth = stepStatus !== 'default' ? '100%' : '0';\n\n return (\n <div class={`step ${lastStep ? 'last' : ''}`} key={step.title}>\n <cura-stepper-item heading={step.title} label={step.label} displayHeading={this.displayHeading} status={stepStatus} />\n {stepIndex < this.stepList.length - 1 && (\n <div class=\"wrapper\">\n <div class=\"divider\" />\n <div class={`divider ${stepStatus} animation`} style={{ '--progress-width': progressWidth }} />\n </div>\n )}\n </div>\n );\n }\n renderStepper() {\n return (\n <div class=\"container\" style={this.styles}>\n <div class=\"stepper-list\">{this.stepList.map((step, stepIndex) => this.renderStep(step, stepIndex))}</div>\n </div>\n );\n }\n\n render() {\n return <Host>{this.variant === 'default' ? this.renderStepper() : this.renderCompactStepper()}</Host>;\n }\n}\n"]}
@@ -0,0 +1,97 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s)
4
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ const renderCuraStepper = (args) => {
14
+ const maxActiveStepIndex = Math.min(args.steps.length, args.activeStepIndex);
15
+ console.log(args.activeStepIndex);
16
+ return `<div style="width: 100%; height: 80px;">
17
+ <cura-stepper
18
+ steps='${JSON.stringify(args.steps)}'
19
+ ${args.displayHeading && `display-heading="${args.displayHeading}"`}
20
+ ${args.activeStepIndex >= 0 && `active-step-index="${maxActiveStepIndex}"`}
21
+ ${args.errorInCurrentStep && `error-in-current-step="${args.errorInCurrentStep}"`}
22
+ ${args.variant && args.variant !== 'default'
23
+ ? `
24
+ variant="${args.variant}"`
25
+ : ''}
26
+ ></cura-stepper>
27
+ </div>`;
28
+ };
29
+ export default {
30
+ title: 'Componentes/Stepper/Stepper',
31
+ tags: ['autodocs'],
32
+ render: (_a) => {
33
+ var args = __rest(_a, []);
34
+ return renderCuraStepper(args);
35
+ },
36
+ argTypes: {
37
+ steps: {
38
+ control: 'object',
39
+ description: 'Define a lista de passos',
40
+ table: {
41
+ category: 'Properties',
42
+ defaultValue: { summary: null },
43
+ },
44
+ },
45
+ activeStepIndex: {
46
+ control: 'number',
47
+ description: 'Passo atual',
48
+ required: false,
49
+ table: {
50
+ category: 'Properties',
51
+ defaultValue: { summary: 0 },
52
+ },
53
+ },
54
+ errorInCurrentStep: {
55
+ control: 'boolean',
56
+ description: 'Define se ocorreu um erro no passo atual (se este estiver ativo)',
57
+ table: {
58
+ category: 'Properties',
59
+ defaultValue: { summary: false },
60
+ },
61
+ },
62
+ variant: {
63
+ control: { type: 'inline-radio' },
64
+ options: ['default', 'compact'],
65
+ description: 'Define a forma como o componente será apresentado',
66
+ table: {
67
+ category: 'Properties',
68
+ defaultValue: { summary: 'default' },
69
+ },
70
+ name: 'variant',
71
+ },
72
+ displayHeading: {
73
+ control: 'boolean',
74
+ description: 'Define se deve exibir os títulos de cada passo',
75
+ table: {
76
+ category: 'Properties',
77
+ defaultValue: { summary: true },
78
+ },
79
+ },
80
+ },
81
+ };
82
+ export const Stepper = {
83
+ args: {
84
+ steps: [
85
+ { title: 'Inicio', label: '1' },
86
+ { title: 'Exemplo', label: '2' },
87
+ { title: 'Passo Tres', label: '3' },
88
+ { title: 'Teste', label: '4' },
89
+ { title: 'Final', label: '5' },
90
+ ],
91
+ displayHeading: 'true',
92
+ errorInCurrentStep: 'false',
93
+ activeStepIndex: 0,
94
+ variant: 'default',
95
+ },
96
+ };
97
+ //# sourceMappingURL=cura-stepper.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cura-stepper.stories.js","sourceRoot":"","sources":["../../../src/components/cura-stepper/cura-stepper.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["const renderCuraStepper = (args: any) => {\n const maxActiveStepIndex = Math.min(args.steps.length, args.activeStepIndex);\n\n console.log(args.activeStepIndex);\n\n return `<div style=\"width: 100%; height: 80px;\">\n <cura-stepper\n steps='${JSON.stringify(args.steps)}'\n ${args.displayHeading && `display-heading=\"${args.displayHeading}\"`}\n ${args.activeStepIndex >= 0 && `active-step-index=\"${maxActiveStepIndex}\"`}\n ${args.errorInCurrentStep && `error-in-current-step=\"${args.errorInCurrentStep}\"`}\n ${\n args.variant && args.variant !== 'default'\n ? `\n variant=\"${args.variant}\"`\n : ''\n }\n ></cura-stepper>\n </div>`;\n};\n\nexport default {\n title: 'Componentes/Stepper/Stepper',\n tags: ['autodocs'],\n render: ({ ...args }) => {\n return renderCuraStepper(args);\n },\n argTypes: {\n steps: {\n control: 'object',\n description: 'Define a lista de passos',\n table: {\n category: 'Properties',\n defaultValue: { summary: null },\n },\n },\n activeStepIndex: {\n control: 'number',\n description: 'Passo atual',\n required: false,\n table: {\n category: 'Properties',\n defaultValue: { summary: 0 },\n },\n },\n errorInCurrentStep: {\n control: 'boolean',\n description: 'Define se ocorreu um erro no passo atual (se este estiver ativo)',\n table: {\n category: 'Properties',\n defaultValue: { summary: false },\n },\n },\n variant: {\n control: { type: 'inline-radio' },\n options: ['default', 'compact'],\n description: 'Define a forma como o componente será apresentado',\n table: {\n category: 'Properties',\n defaultValue: { summary: 'default' },\n },\n name: 'variant',\n },\n displayHeading: {\n control: 'boolean',\n description: 'Define se deve exibir os títulos de cada passo',\n table: {\n category: 'Properties',\n defaultValue: { summary: true },\n },\n },\n },\n};\n\nexport const Stepper = {\n args: {\n steps: [\n { title: 'Inicio', label: '1' },\n { title: 'Exemplo', label: '2' },\n { title: 'Passo Tres', label: '3' },\n { title: 'Teste', label: '4' },\n { title: 'Final', label: '5' },\n ],\n displayHeading: 'true',\n errorInCurrentStep: 'false',\n activeStepIndex: 0,\n variant: 'default',\n },\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stepper.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepper.type.js","sourceRoot":"","sources":["../../../src/components/cura-stepper/stepper.type.ts"],"names":[],"mappings":"","sourcesContent":["export interface Step {\n label: string;\n title: string;\n}\n"]}
@@ -21,7 +21,7 @@ export class CuraToast {
21
21
  this.setStyle();
22
22
  }
23
23
  render() {
24
- return (h(Host, { key: '0265d288e95db1331400e60d2ca694be22397294' }, h("div", { key: '2aee45d4fd237b703846272582e8258fbabb5238', class: this.getClasses(), style: this.styles }, h("cura-icon", { key: 'c75ea1c8aceaf039e8d525c1ff406bcbf25b8554', class: "default-icon", name: this.getNameIcon(), size: 16, color: `${this.type}-dark` }), h("div", { key: 'e4d75da71aef899ec260666095f977caec86c19f', class: "content" }, h("cura-heading", { key: '3523fb7c3674854322dad502252cda7dd3bdca9e', level: 4, size: "xsmall", color: `${this.type}-dark`, weight: "bold", "margin-block": "0" }, this.label), h("cura-paragraph", { key: 'a4d639691820e4e242a178604d9b20a97da7bccb', color: `${this.type}-darker`, size: "xsmall", marginBlock: "0", lineHeight: "133.33%" }, h("slot", { key: '4b86678d47455798a0f5455a406c02eaf8000ba8' })), h("slot", { key: '28b9088b76b7b2084cf7024eb1f35f28b344e098', name: "actions" })), this.closeButton && h("cura-icon", { key: '20a3b18030bfc418439f75795bd98ebacbb1aeca', class: "close-icon", name: "close", size: 16, color: "error-dark", onClick: this.handleClose }), this.loader && !!this.autoCloseDelay && h("cura-loader-bar", { key: '82b7e205ad8c5abae481bbed409109cd17661ce1', color: `${this.type}-base`, progress: this.progress }))));
24
+ return (h(Host, { key: '4dc290042792d96f31c2e63936d70a77bc37917d' }, h("div", { key: '668c102d3a31d0a0e39c390546fcf5422e954246', class: this.getClasses(), style: this.styles }, h("cura-icon", { key: '502b24915e1000877ccd4ae25806b152b4a72948', class: "default-icon", name: this.getNameIcon(), size: 16, color: `${this.type}-dark` }), h("div", { key: 'd7afe4d1a9740d3bd1bce04858f6e71e0c857da2', class: "content" }, h("cura-heading", { key: '419e0d64e12e828efa2fecebe0eb86c74ff86dda', level: 4, size: "xsmall", color: `${this.type}-dark`, weight: "bold", "margin-block": "0" }, this.label), h("cura-paragraph", { key: 'bc6f5c120f0b32858cbda9ebf16c5d79366452bb', color: `${this.type}-darker`, size: "xsmall", marginBlock: "0", lineHeight: "133.33%" }, h("slot", { key: '9cc8ba28b3e5ee5d8137351cfbb5dc07b417b7e9' })), h("slot", { key: 'f260ca44fa6cc515a1bda3ecb94dd1ac90f880d7', name: "actions" })), this.closeButton && h("cura-icon", { key: '7db6c2e5c3c66ab0b12822fc8099e17b77ed2c39', class: "close-icon", name: "close", size: 16, color: "error-dark", onClick: this.handleClose }), this.loader && !!this.autoCloseDelay && h("cura-loader-bar", { key: 'd0a6f1e838ec98f6dac5773214e1e5cf501e3e2e', color: `${this.type}-base`, progress: this.progress }))));
25
25
  }
26
26
  componentDidLoad() {
27
27
  this.openContainer();
@@ -25,9 +25,10 @@ export class CuraTooltip {
25
25
  this.setStyle();
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: 'a8e36ac08ca7a12c1ff893c0d7525e31bd820b32', role: "tooltip", id: this.elementId }, h("div", { key: '8d1c01e85f80b2c00846273c270d7a09d555a038', class: "container", style: this.styles }, h("div", { key: '39501b4a8dbfc71cb166ec539db8fa24d2e65db0', class: "content" }, h("cura-heading", { key: '7c9209d35ab4dd2c21af7de18e013546947b3937', level: 4, size: "xsmall", color: "neutral-black", weight: "bold", "margin-block": "0" }, this.label), h("cura-paragraph", { key: '21cef01e82c0000eaaecf4ba7351d5cc416a45f4', color: "neutral-dark", "spot-color": "secondary-darker", size: "xsmall", marginBlock: "0", lineHeight: "133.33%" }, h("slot", { key: 'c752679de543d3d31d4b4a5a97c928c7a5cc9f1a' }))), this.closeButton && !this.isMobile && h("cura-icon", { key: '398b9a3579df7969e319c207814cdf43e0bd7b5a', class: "close-icon", name: "close", size: 16, color: "error-dark", onClick: this.handleClose }), this.isMobile && h("cura-button-transparent", { key: 'dc605edcfa382bad86acb8d51510c35a6ee67b74', class: "close-button", size: "small", type: "button", color: "error", "icon-name": "close", "icon-position": "right", onClick: this.handleClose }, "OK, entendi."))));
28
+ return (h(Host, { key: '3fe89da4d5b3a2830d4ab6a88e705b4cf2433289', role: "tooltip", id: this.elementId }, h("div", { key: '6cece3dcbf275a851e0d53cb154b9dcf50a76948', class: "container", style: this.styles }, h("div", { key: '802840b89feb6c4d89303da156f6f130e552a83b', class: "content" }, h("cura-heading", { key: 'ea98692d4fc34f05dcf8fcd5c325b8a1cd408226', level: 4, size: "xsmall", color: "neutral-black", weight: "bold", "margin-block": "0" }, this.label), h("cura-paragraph", { key: '38bb7bf9f0a837813b490062ba5645f7148ac74b', color: "neutral-dark", "spot-color": "secondary-darker", size: "xsmall", marginBlock: "0", lineHeight: "133.33%" }, h("slot", { key: '960b6b6d8ee4636a31c2058aa4779050973e143e' }))), this.closeButton && !this.isMobile && h("cura-icon", { key: 'd0bf72702fa8d24d1f5fac6fa473747bdaadcdaf', class: "close-icon", name: "close", size: 16, color: "error-dark", onClick: this.handleClose }), this.isMobile && h("cura-button-transparent", { key: '2213a6353b3d326ecde2e9eefe84811bd3161727', class: "close-button", size: "small", type: "button", color: "error", "icon-name": "close", "icon-position": "right", onClick: this.handleClose }, "OK, entendi."))));
29
29
  }
30
30
  componentDidLoad() {
31
+ var _a, _b, _c, _d, _e;
31
32
  this.targetElement = document.querySelector(`[aria-labelledby="${this.elementId}"]`);
32
33
  if (!this.interactive) {
33
34
  this.host.style.visibility = 'visible';
@@ -36,28 +37,28 @@ export class CuraTooltip {
36
37
  this.host.style.visibility = 'hidden';
37
38
  let openTimeoutID = null;
38
39
  let closeTimeoutID = null;
39
- this.targetElement.addEventListener('mouseenter', () => {
40
+ (_a = this.targetElement) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', () => {
40
41
  clearTimeout(closeTimeoutID);
41
42
  openTimeoutID = setTimeout(() => {
42
43
  this.host.style.visibility = 'visible';
43
44
  }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);
44
45
  });
45
- this.targetElement.addEventListener('mouseleave', () => {
46
+ (_b = this.targetElement) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', () => {
46
47
  clearTimeout(openTimeoutID);
47
48
  closeTimeoutID = setTimeout(() => {
48
49
  this.handleClose();
49
50
  }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);
50
51
  });
51
- this.host.addEventListener('mouseenter', () => {
52
+ (_c = this.host) === null || _c === void 0 ? void 0 : _c.addEventListener('mouseenter', () => {
52
53
  if (window.getComputedStyle(this.host).visibility === 'visible') {
53
54
  clearTimeout(closeTimeoutID);
54
55
  }
55
56
  });
56
- this.host.addEventListener('mouseleave', () => {
57
+ (_d = this.host) === null || _d === void 0 ? void 0 : _d.addEventListener('mouseleave', () => {
57
58
  clearTimeout(openTimeoutID);
58
59
  this.handleClose();
59
60
  });
60
- this.targetElement.addEventListener('click', () => {
61
+ (_e = this.targetElement) === null || _e === void 0 ? void 0 : _e.addEventListener('click', () => {
61
62
  if (window.getComputedStyle(this.host).visibility === 'hidden') {
62
63
  openTimeoutID = setTimeout(() => {
63
64
  this.host.style.visibility = 'visible';
@@ -68,7 +69,7 @@ export class CuraTooltip {
68
69
  this.handleClose();
69
70
  }
70
71
  });
71
- document.addEventListener('click', (event) => {
72
+ document === null || document === void 0 ? void 0 : document.addEventListener('click', (event) => {
72
73
  if (!this.targetElement.contains(event.target) && !this.host.contains(event.target)) {
73
74
  clearTimeout(openTimeoutID);
74
75
  this.handleClose();
@@ -103,7 +104,7 @@ export class CuraTooltip {
103
104
  this.host.style.bottom = this.isMobile ? '0' : 'unset';
104
105
  container.style.flexDirection = this.isMobile ? 'column' : 'row';
105
106
  if (this.isMobile) {
106
- this.host.style.left = 'unset';
107
+ this.host.style.left = '0';
107
108
  this.host.style.top = 'unset';
108
109
  return;
109
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cura-tooltip.js","sourceRoot":"","sources":["../../../src/components/cura-tooltip/cura-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, EventEmitter, Host, Prop, State, h, Event, Listen } from '@stencil/core';\n\nconst BREAKPOINT_SMALL_MAX = 768;\n\n@Component({\n tag: 'cura-tooltip',\n styleUrl: 'cura-tooltip.scss',\n shadow: true,\n})\nexport class CuraTooltip {\n @Element() host: HTMLElement;\n\n @Prop() elementId = '';\n @Prop() interactive = true;\n @Prop() delay = 250;\n @Prop() maxWidth = '280px';\n @Prop({ reflect: true }) position: 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' = 'top';\n @Prop({ reflect: true }) label: string;\n @Prop({ reflect: true }) closeButton = false;\n\n @State() isMobile = false;\n\n @Event({ eventName: 'tooltipClosed' }) tooltipClosed: EventEmitter<void>;\n\n targetElement: HTMLElement;\n\n styles = {};\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.setPosition(this.targetElement);\n }\n\n @Listen('scroll', { target: 'window' })\n onWindowScroll() {\n this.setPosition(this.targetElement);\n }\n\n connectedCallback() {\n this.setStyle();\n }\n\n render() {\n return (\n <Host role=\"tooltip\" id={this.elementId}>\n <div class=\"container\" style={this.styles}>\n <div class=\"content\">\n <cura-heading level={4} size=\"xsmall\" color=\"neutral-black\" weight=\"bold\" margin-block=\"0\">\n {this.label}\n </cura-heading>\n <cura-paragraph color=\"neutral-dark\" spot-color=\"secondary-darker\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <slot></slot>\n </cura-paragraph>\n </div>\n {this.closeButton && !this.isMobile && <cura-icon class=\"close-icon\" name=\"close\" size={16} color=\"error-dark\" onClick={this.handleClose}></cura-icon>}\n {this.isMobile && <cura-button-transparent class=\"close-button\" size=\"small\" type=\"button\" color=\"error\" icon-name=\"close\" icon-position=\"right\" onClick={this.handleClose}>OK, entendi.</cura-button-transparent>}\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.targetElement = document.querySelector(`[aria-labelledby=\"${this.elementId}\"]`) as HTMLElement;\n\n if (!this.interactive) {\n this.host.style.visibility = 'visible';\n } else {\n this.host.style.visibility = 'hidden';\n\n let openTimeoutID = null;\n let closeTimeoutID = null;\n\n this.targetElement.addEventListener('mouseenter', () => {\n clearTimeout(closeTimeoutID);\n openTimeoutID = setTimeout(() => {\n this.host.style.visibility = 'visible';\n }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);\n });\n \n this.targetElement.addEventListener('mouseleave', () => {\n clearTimeout(openTimeoutID);\n closeTimeoutID = setTimeout(() => {\n this.handleClose();\n }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);\n });\n\n this.host.addEventListener('mouseenter', () => {\n if (window.getComputedStyle(this.host).visibility === 'visible') {\n clearTimeout(closeTimeoutID);\n }\n });\n\n this.host.addEventListener('mouseleave', () => {\n clearTimeout(openTimeoutID);\n this.handleClose();\n });\n\n this.targetElement.addEventListener('click', () => {\n if (window.getComputedStyle(this.host).visibility === 'hidden') {\n openTimeoutID = setTimeout(() => {\n this.host.style.visibility = 'visible';\n }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);\n } else {\n clearTimeout(openTimeoutID);\n this.handleClose();\n }\n });\n \n document.addEventListener('click', (event: MouseEvent) => {\n if(!this.targetElement.contains(event.target as HTMLElement) && !this.host.contains(event.target as HTMLElement)) {\n clearTimeout(openTimeoutID);\n this.handleClose();\n }\n });\n }\n\n setTimeout(() => {\n this.setPosition(this.targetElement);\n }, 100);\n }\n\n setStyle() {\n this.styles = {\n ...this.styles,\n '--max-width': this.maxWidth,\n '--base-spacing': window.CuraAPI.theme.spacing.getSpacing(),\n '--neutral-purewhite': window.CuraAPI.theme.colors.getColor(`neutral-purewhite`),\n '--neutral-light': window.CuraAPI.theme.colors.getColor(`neutral-light`),\n '--neutral-black-shadow': window.CuraAPI.theme.colors.getColor(`neutral-black`, 0.16),\n }\n }\n\n getClasses() {\n const [firstPosition, secondPosition] = this.position.split('-');\n const classes = {};\n\n classes['container'] = true;\n if (firstPosition) { classes[firstPosition] = true; }\n if (secondPosition) { classes[secondPosition] = true; }\n\n return classes;\n }\n\n setPosition(element: HTMLElement) {\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const container = this.host.shadowRoot.querySelector('.container') as HTMLElement;\n\n this.isMobile = windowWidth <= BREAKPOINT_SMALL_MAX;\n\n this.host.style.position = this.isMobile ? 'fixed' : 'absolute';\n this.host.style.bottom = this.isMobile ? '0' : 'unset';\n container.style.flexDirection = this.isMobile ? 'column' : 'row';\n\n if (this.isMobile) {\n this.host.style.left = 'unset';\n this.host.style.top = 'unset';\n return;\n }\n\n const elementRect = { \n top: element.offsetTop, \n left: element.offsetLeft, \n width: element.offsetWidth, \n height: element.offsetHeight\n };\n const tooltipRect = this.host.getBoundingClientRect();\n\n const SCREEN_LIMIT = 10;\n const SPACE_TO_ELEMENT = 10;\n const ARROW_HORIZONTAL_ADJUSTMENT = (elementRect.width * 0.5) + 18;\n const ARROW_VERTICAL_ADJUSTMENT = (elementRect.height * 0.5) + 18;\n const BORDER_COLOR = this.styles['--neutral-light'];\n\n let left = 0;\n let top = 0;\n\n const positions = Object.keys(this.getClasses()).filter((p) => ['top', 'left', 'bottom', 'right', 'start', 'end'].includes(p));\n\n const setArrowProperties = ({ arrowTop = '', arrowLeft = '', translate = '', borderColor = '' }) => {\n if (arrowLeft) this.host.style.setProperty('--arrow-left', arrowLeft);\n if (arrowTop) this.host.style.setProperty('--arrow-top', arrowTop);\n if (translate) this.host.style.setProperty('--arrow-translate', translate);\n if (borderColor) this.host.style.setProperty('--arrow-border-color', borderColor);\n };\n\n //Posicionamento vertical\n if (positions.includes('top') || positions.includes('bottom')) {\n setArrowProperties({ arrowLeft: '50%', translate: 'translateX(-50%)' });\n\n if (positions.includes('top')) {\n top = elementRect.top - tooltipRect.height - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 6px)', borderColor: `transparent ${BORDER_COLOR} ${BORDER_COLOR} transparent` });\n\n if (top < SCREEN_LIMIT) {\n top = elementRect.top + elementRect.height + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: '-6px', borderColor: `${BORDER_COLOR} transparent transparent ${BORDER_COLOR}` });\n }\n }\n\n if (positions.includes('bottom')) {\n top = elementRect.top + elementRect.height + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: '-6px', borderColor: `${BORDER_COLOR} transparent transparent ${BORDER_COLOR}` });\n\n if (top + tooltipRect.height > windowHeight - SCREEN_LIMIT) {\n top = elementRect.top - tooltipRect.height - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 6px)', borderColor: `transparent ${BORDER_COLOR} ${BORDER_COLOR} transparent` });\n }\n }\n\n left = elementRect.left + (elementRect.width - tooltipRect.width)/2;\n \n if (positions.includes('start')) {\n left = elementRect.left - tooltipRect.width + ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 18px)' });\n\n if (left < SCREEN_LIMIT) {\n left = elementRect.left + elementRect.width - ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: '18px' });\n }\n }\n\n if (positions.includes('end')) {\n left = elementRect.left + elementRect.width - ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: '18px' });\n\n if (left + tooltipRect.width > windowWidth - SCREEN_LIMIT) {\n left = elementRect.left - tooltipRect.width + ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 18px)' });\n }\n }\n }\n\n //Posicionamento horizontal\n if (positions.includes('right') || positions.includes('left')) {\n setArrowProperties({ arrowTop: '50%', translate: 'translateY(-50%)' });\n\n if (positions.includes('right')) {\n left = elementRect.left + elementRect.width + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: '-6px', borderColor: `transparent transparent ${BORDER_COLOR} ${BORDER_COLOR}` });\n\n if (left + tooltipRect.width > windowWidth - SCREEN_LIMIT) {\n left = elementRect.left - tooltipRect.width - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 6px)', borderColor: `${BORDER_COLOR} ${BORDER_COLOR} transparent transparent` });\n }\n }\n\n if (positions.includes('left')) {\n left = elementRect.left - tooltipRect.width - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 6px)', borderColor: `${BORDER_COLOR} ${BORDER_COLOR} transparent transparent` });\n \n if (left < SCREEN_LIMIT) {\n left = elementRect.left + elementRect.width + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: '-6px', borderColor: `transparent transparent ${BORDER_COLOR} ${BORDER_COLOR}` });\n }\n }\n \n top = elementRect.top + (elementRect.height - tooltipRect.height)/2;\n\n if (positions.includes('start')) {\n top = elementRect.top - tooltipRect.height + ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 18px)' });\n\n if (top < SCREEN_LIMIT) {\n top = elementRect.top + elementRect.height - ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: '18px' });\n }\n }\n\n if (positions.includes('end')) {\n top = elementRect.top + elementRect.height - ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: '18px' });\n\n if (top + tooltipRect.height > windowHeight - SCREEN_LIMIT) {\n top = elementRect.top - tooltipRect.height + ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 18px)' });\n }\n }\n }\n\n this.host.style.left = `${left}px`;\n this.host.style.top = `${top}px`;\n }\n\n closeContainer() {\n this.host.style.visibility = 'hidden';\n this.tooltipClosed.emit();\n }\n\n handleClose = () => {\n this.closeContainer();\n };\n}\n"]}
1
+ {"version":3,"file":"cura-tooltip.js","sourceRoot":"","sources":["../../../src/components/cura-tooltip/cura-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, EventEmitter, Host, Prop, State, h, Event, Listen } from '@stencil/core';\n\nconst BREAKPOINT_SMALL_MAX = 768;\n\n@Component({\n tag: 'cura-tooltip',\n styleUrl: 'cura-tooltip.scss',\n shadow: true,\n})\nexport class CuraTooltip {\n @Element() host: HTMLElement;\n\n @Prop() elementId = '';\n @Prop() interactive = true;\n @Prop() delay = 250;\n @Prop() maxWidth = '280px';\n @Prop({ reflect: true }) position: 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' = 'top';\n @Prop({ reflect: true }) label: string;\n @Prop({ reflect: true }) closeButton = false;\n\n @State() isMobile = false;\n\n @Event({ eventName: 'tooltipClosed' }) tooltipClosed: EventEmitter<void>;\n\n targetElement: HTMLElement;\n\n styles = {};\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.setPosition(this.targetElement);\n }\n\n @Listen('scroll', { target: 'window' })\n onWindowScroll() {\n this.setPosition(this.targetElement);\n }\n\n connectedCallback() {\n this.setStyle();\n }\n\n render() {\n return (\n <Host role=\"tooltip\" id={this.elementId}>\n <div class=\"container\" style={this.styles}>\n <div class=\"content\">\n <cura-heading level={4} size=\"xsmall\" color=\"neutral-black\" weight=\"bold\" margin-block=\"0\">\n {this.label}\n </cura-heading>\n <cura-paragraph color=\"neutral-dark\" spot-color=\"secondary-darker\" size=\"xsmall\" marginBlock=\"0\" lineHeight=\"133.33%\">\n <slot></slot>\n </cura-paragraph>\n </div>\n {this.closeButton && !this.isMobile && <cura-icon class=\"close-icon\" name=\"close\" size={16} color=\"error-dark\" onClick={this.handleClose}></cura-icon>}\n {this.isMobile && <cura-button-transparent class=\"close-button\" size=\"small\" type=\"button\" color=\"error\" icon-name=\"close\" icon-position=\"right\" onClick={this.handleClose}>OK, entendi.</cura-button-transparent>}\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.targetElement = document.querySelector(`[aria-labelledby=\"${this.elementId}\"]`) as HTMLElement;\n\n if (!this.interactive) {\n this.host.style.visibility = 'visible';\n } else {\n this.host.style.visibility = 'hidden';\n\n let openTimeoutID = null;\n let closeTimeoutID = null;\n\n this.targetElement?.addEventListener('mouseenter', () => {\n clearTimeout(closeTimeoutID);\n openTimeoutID = setTimeout(() => {\n this.host.style.visibility = 'visible';\n }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);\n });\n \n this.targetElement?.addEventListener('mouseleave', () => {\n clearTimeout(openTimeoutID);\n closeTimeoutID = setTimeout(() => {\n this.handleClose();\n }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);\n });\n\n this.host?.addEventListener('mouseenter', () => {\n if (window.getComputedStyle(this.host).visibility === 'visible') {\n clearTimeout(closeTimeoutID);\n }\n });\n\n this.host?.addEventListener('mouseleave', () => {\n clearTimeout(openTimeoutID);\n this.handleClose();\n });\n\n this.targetElement?.addEventListener('click', () => {\n if (window.getComputedStyle(this.host).visibility === 'hidden') {\n openTimeoutID = setTimeout(() => {\n this.host.style.visibility = 'visible';\n }, typeof this.delay === 'number' && this.delay > 250 ? this.delay : 250);\n } else {\n clearTimeout(openTimeoutID);\n this.handleClose();\n }\n });\n \n document?.addEventListener('click', (event: MouseEvent) => {\n if(!this.targetElement.contains(event.target as HTMLElement) && !this.host.contains(event.target as HTMLElement)) {\n clearTimeout(openTimeoutID);\n this.handleClose();\n }\n });\n }\n\n setTimeout(() => {\n this.setPosition(this.targetElement);\n }, 100);\n }\n\n setStyle() {\n this.styles = {\n ...this.styles,\n '--max-width': this.maxWidth,\n '--base-spacing': window.CuraAPI.theme.spacing.getSpacing(),\n '--neutral-purewhite': window.CuraAPI.theme.colors.getColor(`neutral-purewhite`),\n '--neutral-light': window.CuraAPI.theme.colors.getColor(`neutral-light`),\n '--neutral-black-shadow': window.CuraAPI.theme.colors.getColor(`neutral-black`, 0.16),\n }\n }\n\n getClasses() {\n const [firstPosition, secondPosition] = this.position.split('-');\n const classes = {};\n\n classes['container'] = true;\n if (firstPosition) { classes[firstPosition] = true; }\n if (secondPosition) { classes[secondPosition] = true; }\n\n return classes;\n }\n\n setPosition(element: HTMLElement) {\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const container = this.host.shadowRoot.querySelector('.container') as HTMLElement;\n\n this.isMobile = windowWidth <= BREAKPOINT_SMALL_MAX;\n\n this.host.style.position = this.isMobile ? 'fixed' : 'absolute';\n this.host.style.bottom = this.isMobile ? '0' : 'unset';\n container.style.flexDirection = this.isMobile ? 'column' : 'row';\n\n if (this.isMobile) {\n this.host.style.left = '0';\n this.host.style.top = 'unset';\n return;\n }\n\n const elementRect = { \n top: element.offsetTop, \n left: element.offsetLeft, \n width: element.offsetWidth, \n height: element.offsetHeight\n };\n const tooltipRect = this.host.getBoundingClientRect();\n\n const SCREEN_LIMIT = 10;\n const SPACE_TO_ELEMENT = 10;\n const ARROW_HORIZONTAL_ADJUSTMENT = (elementRect.width * 0.5) + 18;\n const ARROW_VERTICAL_ADJUSTMENT = (elementRect.height * 0.5) + 18;\n const BORDER_COLOR = this.styles['--neutral-light'];\n\n let left = 0;\n let top = 0;\n\n const positions = Object.keys(this.getClasses()).filter((p) => ['top', 'left', 'bottom', 'right', 'start', 'end'].includes(p));\n\n const setArrowProperties = ({ arrowTop = '', arrowLeft = '', translate = '', borderColor = '' }) => {\n if (arrowLeft) this.host.style.setProperty('--arrow-left', arrowLeft);\n if (arrowTop) this.host.style.setProperty('--arrow-top', arrowTop);\n if (translate) this.host.style.setProperty('--arrow-translate', translate);\n if (borderColor) this.host.style.setProperty('--arrow-border-color', borderColor);\n };\n\n //Posicionamento vertical\n if (positions.includes('top') || positions.includes('bottom')) {\n setArrowProperties({ arrowLeft: '50%', translate: 'translateX(-50%)' });\n\n if (positions.includes('top')) {\n top = elementRect.top - tooltipRect.height - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 6px)', borderColor: `transparent ${BORDER_COLOR} ${BORDER_COLOR} transparent` });\n\n if (top < SCREEN_LIMIT) {\n top = elementRect.top + elementRect.height + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: '-6px', borderColor: `${BORDER_COLOR} transparent transparent ${BORDER_COLOR}` });\n }\n }\n\n if (positions.includes('bottom')) {\n top = elementRect.top + elementRect.height + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: '-6px', borderColor: `${BORDER_COLOR} transparent transparent ${BORDER_COLOR}` });\n\n if (top + tooltipRect.height > windowHeight - SCREEN_LIMIT) {\n top = elementRect.top - tooltipRect.height - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 6px)', borderColor: `transparent ${BORDER_COLOR} ${BORDER_COLOR} transparent` });\n }\n }\n\n left = elementRect.left + (elementRect.width - tooltipRect.width)/2;\n \n if (positions.includes('start')) {\n left = elementRect.left - tooltipRect.width + ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 18px)' });\n\n if (left < SCREEN_LIMIT) {\n left = elementRect.left + elementRect.width - ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: '18px' });\n }\n }\n\n if (positions.includes('end')) {\n left = elementRect.left + elementRect.width - ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: '18px' });\n\n if (left + tooltipRect.width > windowWidth - SCREEN_LIMIT) {\n left = elementRect.left - tooltipRect.width + ARROW_HORIZONTAL_ADJUSTMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 18px)' });\n }\n }\n }\n\n //Posicionamento horizontal\n if (positions.includes('right') || positions.includes('left')) {\n setArrowProperties({ arrowTop: '50%', translate: 'translateY(-50%)' });\n\n if (positions.includes('right')) {\n left = elementRect.left + elementRect.width + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: '-6px', borderColor: `transparent transparent ${BORDER_COLOR} ${BORDER_COLOR}` });\n\n if (left + tooltipRect.width > windowWidth - SCREEN_LIMIT) {\n left = elementRect.left - tooltipRect.width - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 6px)', borderColor: `${BORDER_COLOR} ${BORDER_COLOR} transparent transparent` });\n }\n }\n\n if (positions.includes('left')) {\n left = elementRect.left - tooltipRect.width - SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: 'calc(100% - 6px)', borderColor: `${BORDER_COLOR} ${BORDER_COLOR} transparent transparent` });\n \n if (left < SCREEN_LIMIT) {\n left = elementRect.left + elementRect.width + SPACE_TO_ELEMENT;\n setArrowProperties({ arrowLeft: '-6px', borderColor: `transparent transparent ${BORDER_COLOR} ${BORDER_COLOR}` });\n }\n }\n \n top = elementRect.top + (elementRect.height - tooltipRect.height)/2;\n\n if (positions.includes('start')) {\n top = elementRect.top - tooltipRect.height + ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 18px)' });\n\n if (top < SCREEN_LIMIT) {\n top = elementRect.top + elementRect.height - ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: '18px' });\n }\n }\n\n if (positions.includes('end')) {\n top = elementRect.top + elementRect.height - ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: '18px' });\n\n if (top + tooltipRect.height > windowHeight - SCREEN_LIMIT) {\n top = elementRect.top - tooltipRect.height + ARROW_VERTICAL_ADJUSTMENT;\n setArrowProperties({ arrowTop: 'calc(100% - 18px)' });\n }\n }\n }\n\n this.host.style.left = `${left}px`;\n this.host.style.top = `${top}px`;\n }\n\n closeContainer() {\n this.host.style.visibility = 'hidden';\n this.tooltipClosed.emit();\n }\n\n handleClose = () => {\n this.closeContainer();\n };\n}\n"]}