@eturnity/eturnity_reusable_components 8.22.14 → 8.22.15

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 (366) hide show
  1. package/dist/main.es100.js +8 -8
  2. package/dist/main.es101.js +10 -13
  3. package/dist/main.es102.js +5 -7
  4. package/dist/main.es103.js +3 -3
  5. package/dist/main.es104.js +6 -9
  6. package/dist/main.es105.js +17 -9
  7. package/dist/main.es106.js +10 -13
  8. package/dist/main.es107.js +6 -8
  9. package/dist/main.es108.js +8 -11
  10. package/dist/main.es109.js +7 -7
  11. package/dist/main.es110.js +7 -7
  12. package/dist/main.es111.js +24 -7
  13. package/dist/main.es112.js +10 -19
  14. package/dist/main.es113.js +12 -8
  15. package/dist/main.es114.js +7 -21
  16. package/dist/main.es115.js +22 -7
  17. package/dist/main.es116.js +20 -12
  18. package/dist/main.es117.js +12 -17
  19. package/dist/main.es118.js +12 -13
  20. package/dist/main.es119.js +7 -22
  21. package/dist/main.es12.js +2 -2
  22. package/dist/main.es120.js +11 -8
  23. package/dist/main.es121.js +8 -6
  24. package/dist/main.es122.js +6 -6
  25. package/dist/main.es123.js +6 -8
  26. package/dist/main.es124.js +6 -6
  27. package/dist/main.es125.js +16 -9
  28. package/dist/main.es126.js +9 -16
  29. package/dist/main.es127.js +15 -9
  30. package/dist/main.es128.js +11 -15
  31. package/dist/main.es129.js +5 -7
  32. package/dist/main.es13.js +3 -3
  33. package/dist/main.es130.js +14 -9
  34. package/dist/main.es131.js +9 -12
  35. package/dist/main.es132.js +26 -12
  36. package/dist/main.es133.js +16 -18
  37. package/dist/main.es134.js +9 -23
  38. package/dist/main.es135.js +7 -5
  39. package/dist/main.es136.js +5 -7
  40. package/dist/main.es137.js +16 -8
  41. package/dist/main.es138.js +8 -16
  42. package/dist/main.es139.js +3 -3
  43. package/dist/main.es14.js +2 -2
  44. package/dist/main.es140.js +3 -3
  45. package/dist/main.es141.js +5 -5
  46. package/dist/main.es142.js +3 -3
  47. package/dist/main.es143.js +3 -3
  48. package/dist/main.es144.js +4 -4
  49. package/dist/main.es145.js +3 -3
  50. package/dist/main.es146.js +3 -3
  51. package/dist/main.es147.js +4 -4
  52. package/dist/main.es148.js +4 -4
  53. package/dist/main.es149.js +5 -5
  54. package/dist/main.es15.js +22 -62
  55. package/dist/main.es150.js +5 -5
  56. package/dist/main.es151.js +3 -3
  57. package/dist/main.es152.js +4 -4
  58. package/dist/main.es153.js +4 -4
  59. package/dist/main.es154.js +3 -3
  60. package/dist/main.es155.js +3 -3
  61. package/dist/main.es156.js +4 -4
  62. package/dist/main.es157.js +4 -4
  63. package/dist/main.es158.js +5 -5
  64. package/dist/main.es159.js +3 -3
  65. package/dist/main.es16.js +1031 -174
  66. package/dist/main.es160.js +5 -5
  67. package/dist/main.es161.js +5 -5
  68. package/dist/main.es162.js +5 -5
  69. package/dist/main.es163.js +5 -5
  70. package/dist/main.es164.js +4 -4
  71. package/dist/main.es165.js +3 -3
  72. package/dist/main.es166.js +13 -6
  73. package/dist/main.es167.js +6 -13
  74. package/dist/main.es168.js +13 -6
  75. package/dist/main.es169.js +6 -6
  76. package/dist/main.es17.js +192 -181
  77. package/dist/main.es170.js +8 -15
  78. package/dist/main.es171.js +4 -4
  79. package/dist/main.es172.js +5 -5
  80. package/dist/main.es173.js +3 -3
  81. package/dist/main.es174.js +3 -3
  82. package/dist/main.es175.js +3 -3
  83. package/dist/main.es176.js +3 -3
  84. package/dist/main.es177.js +5 -5
  85. package/dist/main.es178.js +4 -4
  86. package/dist/main.es179.js +5 -5
  87. package/dist/main.es18.js +96 -21
  88. package/dist/main.es180.js +3 -3
  89. package/dist/main.es181.js +5 -5
  90. package/dist/main.es182.js +3 -3
  91. package/dist/main.es183.js +3 -3
  92. package/dist/main.es184.js +5 -5
  93. package/dist/main.es185.js +17 -7
  94. package/dist/main.es186.js +10 -19
  95. package/dist/main.es187.js +7 -8
  96. package/dist/main.es188.js +4 -4
  97. package/dist/main.es189.js +5 -4
  98. package/dist/main.es19.js +2 -1056
  99. package/dist/main.es190.js +6 -7
  100. package/dist/main.es191.js +7 -5
  101. package/dist/main.es192.js +5 -7
  102. package/dist/main.es193.js +7 -5
  103. package/dist/main.es194.js +4 -4
  104. package/dist/main.es195.js +12 -9
  105. package/dist/main.es196.js +11 -14
  106. package/dist/main.es197.js +16 -12
  107. package/dist/main.es198.js +8 -7
  108. package/dist/main.es199.js +9 -18
  109. package/dist/main.es20.js +498 -184
  110. package/dist/main.es200.js +9 -5
  111. package/dist/main.es201.js +4 -6
  112. package/dist/main.es202.js +9 -12
  113. package/dist/main.es203.js +13 -5
  114. package/dist/main.es204.js +11 -14
  115. package/dist/main.es205.js +8 -9
  116. package/dist/main.es206.js +15 -11
  117. package/dist/main.es207.js +8 -13
  118. package/dist/main.es208.js +7 -5
  119. package/dist/main.es209.js +13 -8
  120. package/dist/main.es21.js +194 -94
  121. package/dist/main.es210.js +7 -14
  122. package/dist/main.es211.js +8 -11
  123. package/dist/main.es212.js +8 -9
  124. package/dist/main.es213.js +8 -5
  125. package/dist/main.es214.js +8 -7
  126. package/dist/main.es215.js +7 -5
  127. package/dist/main.es216.js +8 -10
  128. package/dist/main.es217.js +16 -11
  129. package/dist/main.es218.js +18 -11
  130. package/dist/main.es219.js +9 -19
  131. package/dist/main.es22.js +64 -2
  132. package/dist/main.es220.js +6 -6
  133. package/dist/main.es221.js +5 -5
  134. package/dist/main.es222.js +3 -3
  135. package/dist/main.es223.js +6 -8
  136. package/dist/main.es224.js +28 -10
  137. package/dist/main.es225.js +9 -9
  138. package/dist/main.es226.js +11 -27
  139. package/dist/main.es227.js +6 -6
  140. package/dist/main.es228.js +4 -4
  141. package/dist/main.es229.js +6 -8
  142. package/dist/main.es23.js +148 -473
  143. package/dist/main.es230.js +8 -6
  144. package/dist/main.es231.js +5 -5
  145. package/dist/main.es232.js +6 -8
  146. package/dist/main.es233.js +5 -5
  147. package/dist/main.es234.js +7 -5
  148. package/dist/main.es235.js +5 -7
  149. package/dist/main.es236.js +14 -9
  150. package/dist/main.es237.js +10 -8
  151. package/dist/main.es238.js +9 -16
  152. package/dist/main.es239.js +8 -11
  153. package/dist/main.es24.js +25 -248
  154. package/dist/main.es240.js +15 -7
  155. package/dist/main.es241.js +5 -5
  156. package/dist/main.es242.js +8 -8
  157. package/dist/main.es243.js +8 -8
  158. package/dist/main.es244.js +11 -14
  159. package/dist/main.es245.js +5 -5
  160. package/dist/main.es246.js +4 -6
  161. package/dist/main.es247.js +4 -4
  162. package/dist/main.es248.js +8 -11
  163. package/dist/main.es249.js +7 -7
  164. package/dist/main.es25.js +15 -10
  165. package/dist/main.es250.js +11 -8
  166. package/dist/main.es251.js +4 -9
  167. package/dist/main.es252.js +9 -4
  168. package/dist/main.es253.js +8 -11
  169. package/dist/main.es254.js +13 -8
  170. package/dist/main.es255.js +4 -4
  171. package/dist/main.es256.js +5 -7
  172. package/dist/main.es257.js +5 -5
  173. package/dist/main.es258.js +8 -11
  174. package/dist/main.es259.js +11 -8
  175. package/dist/main.es26.js +12 -10
  176. package/dist/main.es260.js +6 -6
  177. package/dist/main.es261.js +15 -6
  178. package/dist/main.es262.js +7 -16
  179. package/dist/main.es263.js +16 -7
  180. package/dist/main.es264.js +16 -11
  181. package/dist/main.es265.js +9 -21
  182. package/dist/main.es266.js +17 -10
  183. package/dist/main.es267.js +9 -18
  184. package/dist/main.es268.js +4 -4
  185. package/dist/main.es269.js +3 -3
  186. package/dist/main.es27.js +17 -12
  187. package/dist/main.es270.js +3 -3
  188. package/dist/main.es271.js +25 -9
  189. package/dist/main.es272.js +11 -22
  190. package/dist/main.es273.js +7 -15
  191. package/dist/main.es274.js +4 -4
  192. package/dist/main.es275.js +13 -8
  193. package/dist/main.es276.js +6 -8
  194. package/dist/main.es277.js +27 -10
  195. package/dist/main.es278.js +10 -27
  196. package/dist/main.es279.js +10 -12
  197. package/dist/main.es28.js +8 -30
  198. package/dist/main.es280.js +8 -10
  199. package/dist/main.es281.js +9 -8
  200. package/dist/main.es282.js +13 -8
  201. package/dist/main.es283.js +5 -5
  202. package/dist/main.es284.js +7 -12
  203. package/dist/main.es285.js +22 -9
  204. package/dist/main.es286.js +8 -18
  205. package/dist/main.es287.js +7 -9
  206. package/dist/main.es288.js +9 -7
  207. package/dist/main.es289.js +11 -6
  208. package/dist/main.es29.js +24 -8
  209. package/dist/main.es290.js +8 -13
  210. package/dist/main.es291.js +5 -5
  211. package/dist/main.es292.js +7 -9
  212. package/dist/main.es293.js +17 -10
  213. package/dist/main.es294.js +9 -14
  214. package/dist/main.es295.js +7 -5
  215. package/dist/main.es296.js +13 -10
  216. package/dist/main.es297.js +9 -14
  217. package/dist/main.es298.js +7 -5
  218. package/dist/main.es299.js +5 -5
  219. package/dist/main.es30.js +7 -22
  220. package/dist/main.es300.js +5 -5
  221. package/dist/main.es301.js +5 -5
  222. package/dist/main.es302.js +8 -13
  223. package/dist/main.es303.js +13 -8
  224. package/dist/main.es304.js +4 -4
  225. package/dist/main.es305.js +12 -8
  226. package/dist/main.es306.js +18 -12
  227. package/dist/main.es307.js +15 -22
  228. package/dist/main.es308.js +15 -15
  229. package/dist/main.es309.js +12 -14
  230. package/dist/main.es31.js +7 -7
  231. package/dist/main.es310.js +8 -9
  232. package/dist/main.es311.js +15 -11
  233. package/dist/main.es312.js +9 -14
  234. package/dist/main.es313.js +5 -6
  235. package/dist/main.es314.js +14 -9
  236. package/dist/main.es315.js +11 -14
  237. package/dist/main.es316.js +6 -7
  238. package/dist/main.es317.js +5 -6
  239. package/dist/main.es318.js +8 -11
  240. package/dist/main.es319.js +7 -7
  241. package/dist/main.es32.js +13 -8
  242. package/dist/main.es320.js +11 -8
  243. package/dist/main.es321.js +4 -4
  244. package/dist/main.es322.js +7 -5
  245. package/dist/main.es323.js +23 -10
  246. package/dist/main.es324.js +12 -20
  247. package/dist/main.es325.js +9 -11
  248. package/dist/main.es326.js +12 -14
  249. package/dist/main.es327.js +7 -10
  250. package/dist/main.es328.js +6 -7
  251. package/dist/main.es329.js +7 -6
  252. package/dist/main.es33.js +14 -11
  253. package/dist/main.es330.js +13 -8
  254. package/dist/main.es331.js +9 -14
  255. package/dist/main.es332.js +6 -6
  256. package/dist/main.es333.js +26 -12
  257. package/dist/main.es334.js +7 -26
  258. package/dist/main.es335.js +9 -4
  259. package/dist/main.es336.js +5 -5
  260. package/dist/main.es337.js +6 -4
  261. package/dist/main.es338.js +6 -8
  262. package/dist/main.es339.js +5 -5
  263. package/dist/main.es34.js +8 -8
  264. package/dist/main.es340.js +6 -6
  265. package/dist/main.es341.js +8 -7
  266. package/dist/main.es342.js +8 -7
  267. package/dist/main.es343.js +5 -7
  268. package/dist/main.es344.js +6 -6
  269. package/dist/main.es345.js +4 -4
  270. package/dist/main.es346.js +4 -4
  271. package/dist/main.es347.js +8 -6
  272. package/dist/main.es348.js +5 -7
  273. package/dist/main.es349.js +17 -10
  274. package/dist/main.es35.js +9 -14
  275. package/dist/main.es350.js +11 -18
  276. package/dist/main.es351.js +16 -9
  277. package/dist/main.es352.js +8 -15
  278. package/dist/main.es353.js +6 -6
  279. package/dist/main.es354.js +14 -9
  280. package/dist/main.es355.js +9 -14
  281. package/dist/main.es356.js +5 -5
  282. package/dist/main.es357.js +14 -9
  283. package/dist/main.es358.js +14 -9
  284. package/dist/main.es359.js +11 -16
  285. package/dist/main.es36.js +29 -8
  286. package/dist/main.es360.js +4 -4
  287. package/dist/main.es361.js +11 -14
  288. package/dist/main.es362.js +5 -7
  289. package/dist/main.es363.js +8 -6
  290. package/dist/main.es364.js +4 -4
  291. package/dist/main.es365.js +17 -12
  292. package/dist/main.es366.js +12 -17
  293. package/dist/main.es367.js +23 -11
  294. package/dist/main.es368.js +7 -21
  295. package/dist/main.es369.js +4 -4
  296. package/dist/main.es37.js +13 -19
  297. package/dist/main.es370.js +6 -6
  298. package/dist/main.es371.js +6 -6
  299. package/dist/main.es372.js +248 -19
  300. package/dist/main.es38.js +10 -25
  301. package/dist/main.es39.js +7 -7
  302. package/dist/main.es40.js +8 -7
  303. package/dist/main.es41.js +22 -11
  304. package/dist/main.es42.js +10 -15
  305. package/dist/main.es43.js +16 -12
  306. package/dist/main.es44.js +9 -23
  307. package/dist/main.es45.js +7 -7
  308. package/dist/main.es46.js +11 -8
  309. package/dist/main.es47.js +13 -8
  310. package/dist/main.es48.js +8 -8
  311. package/dist/main.es49.js +9 -14
  312. package/dist/main.es5.js +3 -3
  313. package/dist/main.es50.js +3 -3
  314. package/dist/main.es51.js +14 -9
  315. package/dist/main.es52.js +9 -14
  316. package/dist/main.es53.js +13 -8
  317. package/dist/main.es54.js +11 -14
  318. package/dist/main.es55.js +7 -8
  319. package/dist/main.es56.js +7 -6
  320. package/dist/main.es57.js +5 -7
  321. package/dist/main.es58.js +8 -6
  322. package/dist/main.es59.js +6 -8
  323. package/dist/main.es6.js +4 -4
  324. package/dist/main.es60.js +5 -5
  325. package/dist/main.es61.js +8 -6
  326. package/dist/main.es62.js +8 -13
  327. package/dist/main.es63.js +11 -8
  328. package/dist/main.es64.js +4 -4
  329. package/dist/main.es65.js +7 -9
  330. package/dist/main.es66.js +9 -10
  331. package/dist/main.es67.js +11 -8
  332. package/dist/main.es68.js +14 -9
  333. package/dist/main.es69.js +6 -6
  334. package/dist/main.es70.js +8 -13
  335. package/dist/main.es71.js +4 -4
  336. package/dist/main.es72.js +4 -4
  337. package/dist/main.es73.js +4 -4
  338. package/dist/main.es74.js +20 -12
  339. package/dist/main.es75.js +22 -20
  340. package/dist/main.es76.js +10 -20
  341. package/dist/main.es77.js +6 -6
  342. package/dist/main.es78.js +17 -10
  343. package/dist/main.es79.js +17 -14
  344. package/dist/main.es80.js +13 -17
  345. package/dist/main.es81.js +12 -11
  346. package/dist/main.es82.js +8 -9
  347. package/dist/main.es83.js +8 -14
  348. package/dist/main.es84.js +10 -11
  349. package/dist/main.es85.js +13 -10
  350. package/dist/main.es86.js +14 -11
  351. package/dist/main.es87.js +18 -11
  352. package/dist/main.es88.js +8 -20
  353. package/dist/main.es89.js +7 -5
  354. package/dist/main.es9.js +1 -1
  355. package/dist/main.es90.js +6 -8
  356. package/dist/main.es91.js +14 -11
  357. package/dist/main.es92.js +19 -12
  358. package/dist/main.es93.js +9 -22
  359. package/dist/main.es94.js +17 -9
  360. package/dist/main.es95.js +6 -6
  361. package/dist/main.es96.js +7 -12
  362. package/dist/main.es97.js +6 -6
  363. package/dist/main.es98.js +8 -7
  364. package/dist/main.es99.js +15 -11
  365. package/package.json +1 -1
  366. package/src/components/inputs/inputNumber/index.vue +3 -0
package/dist/main.es20.js CHANGED
@@ -1,229 +1,543 @@
1
- import styled from "./main.es7.js";
2
1
  import "./main.es3.js";
2
+ import _sfc_main$1 from "./main.es372.js";
3
+ import styled from "./main.es7.js";
4
+ import theme from "./main.es8.js";
3
5
  import _export_sfc from "./main.es11.js";
4
- import { resolveComponent, openBlock, createBlock, withCtx, createVNode, createTextVNode } from "./main.es6.js";
5
- import { toDisplayString } from "./main.es16.js";
6
- const Container = styled.div`
7
- position: relative;
8
- display: flex;
9
- height: 47px;
10
- width: ${(props) => props.width};
11
- `;
12
- const TopValueContainer = styled("div", {
13
- position: String
14
- })`
15
- font-size: 11px;
16
- left: ${(props) => props.position};
17
- position: absolute;
18
- display: flex;
19
- justify-content: center
20
- width: 0px;
21
- color:${(props) => props.theme.colors.black};
22
- item-align: center;
23
-
24
- `;
25
- const BottomValueContainer = styled("div", {
26
- position: String
27
- })`
28
- font-size: 12px;
29
- left: ${(props) => props.position};
30
- width: 0px;
31
- bottom: -2px;
32
- position: absolute;
33
- display: flex;
34
- justify-content: center;
35
- item-align: center;
6
+ import { computed, onMounted, onUnmounted, watch, nextTick, resolveComponent, openBlock, createBlock, withCtx, createElementVNode as createBaseVNode, createVNode, createElementBlock, createTextVNode, createCommentVNode, Fragment, renderSlot, Teleport } from "./main.es6.js";
7
+ import { toDisplayString, normalizeStyle } from "./main.es21.js";
8
+ import { ref } from "./main.es16.js";
9
+ const TextOverlayAttrs = {
10
+ appTheme: String,
11
+ image: Boolean,
12
+ width: Number
13
+ };
14
+ const TextOverlay = styled("div", TextOverlayAttrs)`
15
+ color: ${(props) => props.image ? props.theme.colors.grey1 : props.theme.colors.black};
16
+ font-size: ${(props) => props.image ? "12px" : "13px"};
36
17
  border-radius: 4px;
37
- color: white;
18
+ padding: 10px;
19
+ word-wrap: break-word;
20
+ overflow-wrap: break-word;
21
+ white-space: normal;
22
+ width: ${(props) => props.width ? `${props.width}px` : "100%"};
23
+ box-shadow: ${(props) => props.image ? "0 2px 10px rgba(0, 0, 0, 0.1)" : "none"};
24
+
25
+ a {
26
+ color: ${(props) => props.theme.colors.blue};
27
+ }
28
+
29
+ img + span {
30
+ margin-top: 10px;
31
+ display: block;
32
+ }
38
33
  `;
39
- const TextWrapper = styled("div", {
40
- backgroundColor: String
41
- })`
42
- padding: 2px 6px;
43
- background-color: ${(props) => props.theme.colors[props.backgroundColor] || props.backgroundColor};
44
- border-radius: 4px;
34
+ const PageContainer = styled("div")`
35
+ display: ${(props) => props.type === "dot" ? "unset" : "inline-block"};
36
+ position: relative;
45
37
  `;
46
- const Arrow = styled("div", {
47
- backgroundColor: String
48
- })`
38
+ const TextWrapper = styled("div")`
39
+ z-index: 9999999999;
49
40
  position: absolute;
50
- bottom: -10px;
51
- left: calc(50% - 6px);
52
- width: 0;
53
- height: 0;
54
- border: 6px solid transparent;
55
- border-top-color: ${(props) => props.theme.colors[props.backgroundColor] || props.backgroundColor};
56
- filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.1));
57
41
  `;
58
- const MainLine = styled.div`
59
- display: block;
60
- position: absolute;
61
- bottom: 16px;
62
- height: 4px;
42
+ const OverlayImage = styled("img")`
63
43
  width: 100%;
64
- border-radius: 4px;
65
- background-color: ${(props) => props.theme.colors.grey4};
44
+ height: auto;
66
45
  `;
67
- const MainLineHighlight = styled("div", {
68
- minPercent: Number,
69
- maxPercent: Number
70
- })`
71
- display: block;
72
- position: absolute;
73
- left: ${(props) => props.minPercent + "%"};
74
- right: ${(props) => 100 - props.maxPercent + "%"};
75
- bottom: 16px;
76
- height: 4px;
77
- background-color: white;
46
+ const Dot = styled("div")`
47
+ width: 5px;
48
+ height: 5px;
49
+ background-color: ${(props) => props.color};
50
+ border-radius: 50%;
78
51
  `;
79
- const VerticalMarker = styled("div")`
80
- position: absolute;
81
- width: 1px;
82
- height: 8px;
83
- background-color: white;
84
- display: inline-block;
85
- top: -6px;
86
- left: 0px;
52
+ const IconWrapperAttrs = {
53
+ backgroundColor: String,
54
+ borderRadius: String,
55
+ padding: String,
56
+ hoveredIcon: Boolean,
57
+ isActive: Boolean,
58
+ isDisabled: Boolean
59
+ };
60
+ const IconWrapper = styled("div", IconWrapperAttrs)`
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ gap: 6px;
65
+ white-space: nowrap;
66
+ background-color: ${(props) => props.backgroundColor};
67
+ border-radius: ${(props) => props.hoveredIcon ? "6px" : props.borderRadius};
68
+ padding: ${(props) => props.padding};
69
+ width: ${(props) => props.hoveredIcon ? "32px" : ""};
70
+ height: ${(props) => props.hoveredIcon ? "32px" : ""};
71
+ cursor: pointer;
72
+ background-color: ${(props) => props.isActive ? props.theme.colors.transparentWhite2 : ""};
73
+ cursor: ${(props) => props.isDisabled ? "not-allowed" : "pointer"};
74
+ &:hover {
75
+ background-color: ${(props) => props.hoveredIcon ? props.theme.colors.transparentWhite2 : ""};
76
+ }
87
77
  `;
88
- const VerticalMarkerArrow = styled("div", {
78
+ const LabelWrapperAttrs = {
79
+ size: String,
89
80
  color: String
90
- })`
91
- position: absolute;
92
- width: 1px;
93
- height: 4px;
94
- background-color: ${(props) => props.color};
95
- display: inline-block;
96
- bottom: -14px;
97
- left: 0px;
81
+ };
82
+ const LabelWrapper = styled("div", LabelWrapperAttrs)`
83
+ font-size: ${(props) => props.size};
84
+ color: ${(props) => props.color};
98
85
  `;
99
86
  const _sfc_main = {
100
- name: "ProgressBar",
87
+ name: "InfoText",
101
88
  components: {
102
- Container,
103
- MainLineHighlight,
104
- Arrow,
105
- TopValueContainer,
106
- BottomValueContainer,
107
- MainLine,
108
- VerticalMarker,
109
- VerticalMarkerArrow,
110
- TextWrapper
89
+ IconComponent: _sfc_main$1,
90
+ TextOverlay,
91
+ // Arrow,
92
+ Dot,
93
+ PageContainer,
94
+ TextWrapper,
95
+ OverlayImage,
96
+ IconWrapper,
97
+ LabelWrapper
111
98
  },
112
99
  props: {
113
- minValue: {
114
- required: true,
115
- type: Number
100
+ text: {
101
+ required: false,
102
+ default: "",
103
+ type: String
116
104
  },
117
- maxValue: {
118
- required: true,
119
- type: Number
105
+ isActive: {
106
+ required: false,
107
+ default: false,
108
+ type: Boolean
120
109
  },
121
- value: {
122
- required: true,
123
- type: Number
110
+ labelText: {
111
+ required: false,
112
+ default: "",
113
+ type: String
114
+ },
115
+ size: {
116
+ type: String,
117
+ default: "14px"
124
118
  },
125
- arrowColor: {
119
+ infoPosition: {
126
120
  required: false,
121
+ default: null,
122
+ type: String
123
+ },
124
+ maxWidth: {
125
+ default: "400px",
126
+ type: String
127
+ },
128
+ openTrigger: {
129
+ type: String,
130
+ default: "onHover",
131
+ validator: (value) => ["onHover", "onClick"].includes(value)
132
+ },
133
+ buttonType: {
134
+ type: String,
135
+ default: "regular",
136
+ validator: (value) => ["regular", "error"].includes(value)
137
+ },
138
+ image: {
139
+ type: String,
140
+ default: ""
141
+ },
142
+ iconName: {
143
+ type: String,
144
+ default: "info"
145
+ },
146
+ iconColor: {
127
147
  type: String,
128
- default: "white"
148
+ default: null,
149
+ required: false
129
150
  },
130
- width: {
151
+ isDisabled: {
152
+ type: Boolean,
153
+ default: false,
154
+ required: false
155
+ },
156
+ dotColor: {
157
+ type: String,
131
158
  required: false,
159
+ default: theme.semanticColors.blue[400]
160
+ },
161
+ type: {
162
+ type: String,
163
+ required: false,
164
+ default: "info"
165
+ // info, dot
166
+ },
167
+ appTheme: {
168
+ type: String,
169
+ default: "light",
170
+ // light or dark
171
+ required: false
172
+ },
173
+ labelAlign: {
132
174
  type: String,
133
- default: null
175
+ default: "right",
176
+ required: false
177
+ },
178
+ backgroundColor: {
179
+ type: String,
180
+ default: "",
181
+ required: false
182
+ },
183
+ contentBackgroundColor: {
184
+ type: String,
185
+ default: "",
186
+ required: false
187
+ },
188
+ borderRadius: {
189
+ type: String,
190
+ default: "",
191
+ required: false
192
+ },
193
+ padding: {
194
+ type: String,
195
+ default: "",
196
+ required: false
197
+ },
198
+ labelSize: {
199
+ type: String,
200
+ default: "12px",
201
+ required: false
202
+ },
203
+ noIcon: {
204
+ type: Boolean,
205
+ default: false,
206
+ required: false
207
+ },
208
+ hoveredIcon: {
209
+ type: Boolean,
210
+ default: false,
211
+ required: false
212
+ },
213
+ hideInfoText: {
214
+ type: Boolean,
215
+ default: false,
216
+ required: false
134
217
  }
135
218
  },
136
- data() {
137
- return {};
138
- },
139
- computed: {
140
- minPercent() {
141
- if (this.maxValue === this.minValue) {
142
- return 50;
143
- } else {
144
- return 30;
219
+ setup(props) {
220
+ const isVisible = ref(false);
221
+ const container = ref(null);
222
+ const icon = ref(null);
223
+ const infoBox = ref(null);
224
+ const textContent = ref(null);
225
+ const infoImage = ref(null);
226
+ const infoBoxWidth = ref(0);
227
+ const infoBoxHeight = ref(0);
228
+ const boxStyle = ref({});
229
+ const arrowStyle = ref({});
230
+ const wrapperStyle = ref({});
231
+ const isMobile = ref(window.innerWidth <= 768);
232
+ const textStyle = computed(() => ({
233
+ fontSize: props.image ? "12px" : "13px",
234
+ color: props.image ? theme.colors.grey1 : props.appTheme === "dark" ? theme.colors.black : theme.colors.white,
235
+ textAlign: props.image ? "right" : "left"
236
+ }));
237
+ const calculatePosition = (width) => {
238
+ if (!icon.value || !width)
239
+ return {};
240
+ const iconRect = icon.value.getBoundingClientRect();
241
+ const windowHeight = window.innerHeight;
242
+ const windowWidth = window.innerWidth;
243
+ const spaceBelow = windowHeight - iconRect.bottom - 10;
244
+ const spaceAbove = iconRect.top - 10;
245
+ const spaceRight = windowWidth - iconRect.right - 10;
246
+ const spaceLeft = iconRect.left - 10;
247
+ const positions = [{
248
+ position: "bottom",
249
+ space: spaceBelow
250
+ }, {
251
+ position: "top",
252
+ space: spaceAbove
253
+ }, {
254
+ position: "right",
255
+ space: spaceRight
256
+ }, {
257
+ position: "left",
258
+ space: spaceLeft
259
+ }].sort((a, b) => b.space - a.space);
260
+ const bestPosition = props.infoPosition ? props.infoPosition : positions[0].position;
261
+ let top, left, arrowPosition;
262
+ switch (bestPosition) {
263
+ case "bottom":
264
+ top = Math.round(iconRect.bottom + 10);
265
+ left = Math.round(Math.min(iconRect.left, windowWidth - width - 10));
266
+ arrowPosition = {
267
+ left: `${Math.round(Math.min(Math.max(iconRect.left - left + iconRect.width / 2 - 8, 2), width - 18))}px`,
268
+ top: "-7px",
269
+ bottom: "auto",
270
+ transform: "rotate(180deg)"
271
+ };
272
+ break;
273
+ case "top":
274
+ top = Math.round(iconRect.top - infoBoxHeight.value - 10);
275
+ left = Math.round(Math.min(iconRect.left, windowWidth - width - 10));
276
+ arrowPosition = {
277
+ left: `${Math.round(Math.min(Math.max(iconRect.left - left + iconRect.width / 2 - 8, 2), width - 18))}px`,
278
+ top: "auto",
279
+ bottom: "-7px",
280
+ transform: "none"
281
+ };
282
+ break;
283
+ case "right":
284
+ top = Math.round(Math.max(Math.min(iconRect.top - (infoBoxHeight.value - iconRect.height) / 2, windowHeight - infoBoxHeight.value - 10), 10));
285
+ left = Math.round(iconRect.right + 10);
286
+ arrowPosition = {
287
+ left: "-7px",
288
+ top: `${Math.round(Math.min(Math.max(iconRect.top - top + iconRect.height / 2 - 8, 2), infoBoxHeight.value - 18))}px`,
289
+ bottom: "auto",
290
+ transform: "rotate(90deg)"
291
+ };
292
+ break;
293
+ case "left":
294
+ top = Math.round(Math.max(Math.min(iconRect.top - (infoBoxHeight.value - iconRect.height) / 2, windowHeight - infoBoxHeight.value - 10), 10));
295
+ left = Math.round(iconRect.left - width - 10);
296
+ arrowPosition = {
297
+ left: "auto",
298
+ right: "-7px",
299
+ top: `${Math.round(Math.min(Math.max(iconRect.top - top + iconRect.height / 2 - 8, 2), infoBoxHeight.value - 18))}px`,
300
+ bottom: "auto",
301
+ transform: "rotate(-90deg)"
302
+ };
303
+ break;
145
304
  }
146
- },
147
- maxPercent() {
148
- if (this.maxValue === this.minValue) {
149
- return 50;
150
- } else {
151
- return 70;
305
+ arrowStyle.value = arrowPosition;
306
+ wrapperStyle.value = {
307
+ position: "fixed",
308
+ top: `${top}px`,
309
+ left: `${left}px`,
310
+ transform: "none",
311
+ width: `${width}px`
312
+ };
313
+ return {
314
+ width: "100%",
315
+ maxWidth: props.maxWidth,
316
+ overflowY: "auto",
317
+ backgroundColor: props.contentBackgroundColor ? props.contentBackgroundColor : props.image ? theme.colors.white : props.appTheme === "light" ? theme.colors.black : theme.colors.grey5
318
+ };
319
+ };
320
+ const showInfo = async () => {
321
+ isVisible.value = true;
322
+ await nextTick();
323
+ await nextTick();
324
+ await updatePosition();
325
+ };
326
+ const hideInfo = () => {
327
+ isVisible.value = false;
328
+ infoBoxWidth.value = 0;
329
+ };
330
+ const toggleInfo = () => {
331
+ isVisible.value ? hideInfo() : showInfo();
332
+ };
333
+ const handleScroll = () => {
334
+ if (isVisible.value) {
335
+ hideInfo();
152
336
  }
153
- },
154
- valuePercent() {
155
- let percent;
156
- if (this.maxValue === this.minValue) {
157
- percent = this.minPercent + 10 * (this.value - this.minValue);
158
- } else {
159
- percent = this.minPercent + (this.maxPercent - this.minPercent) / (this.maxValue - this.minValue) * (this.value - this.minValue);
337
+ updatePosition();
338
+ };
339
+ const isIconInView = () => {
340
+ if (!icon.value)
341
+ return false;
342
+ const rect = icon.value.getBoundingClientRect();
343
+ return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth);
344
+ };
345
+ const updatePosition = async () => {
346
+ if (!infoBox.value || !textContent.value)
347
+ return;
348
+ if (infoBox.value.$el) {
349
+ infoBox.value.$el.style.visibility = "hidden";
350
+ infoBox.value.$el.style.display = "block";
160
351
  }
161
- return Math.max(0, Math.min(100, percent));
162
- },
163
- colorVerticalMarkerArrow() {
164
- if (this.value < this.maxValue && this.value > this.minValue) {
165
- return "black";
166
- } else {
167
- return "white";
352
+ await nextTick();
353
+ if (!isIconInView()) {
354
+ if (isVisible.value)
355
+ hideInfo();
356
+ return;
357
+ }
358
+ const clone = textContent.value.cloneNode(true);
359
+ clone.style.position = "absolute";
360
+ clone.style.visibility = "hidden";
361
+ clone.style.width = "auto";
362
+ clone.style.maxWidth = "none";
363
+ clone.style.whiteSpace = "nowrap";
364
+ document.body.appendChild(clone);
365
+ const contentWidth = clone.offsetWidth;
366
+ document.body.removeChild(clone);
367
+ const calculatedWidth = Math.min(Math.max(contentWidth, 230), parseInt(props.maxWidth, 10));
368
+ infoBoxWidth.value = calculatedWidth;
369
+ await nextTick();
370
+ infoBoxHeight.value = infoBox.value.$el.offsetHeight;
371
+ boxStyle.value = calculatePosition(calculatedWidth);
372
+ if (isVisible.value && infoBox.value.$el) {
373
+ infoBox.value.$el.style.visibility = "visible";
168
374
  }
375
+ };
376
+ const onImageLoad = () => {
377
+ if (infoImage.value) {
378
+ infoBoxHeight.value = infoBox.value.$el.offsetHeight;
379
+ updatePosition();
380
+ }
381
+ };
382
+ const handleClickOutside = (event) => {
383
+ if ((props.openTrigger === "onClick" || isMobile.value) && isVisible.value) {
384
+ const clickedElement = event.target;
385
+ if (infoBox.value && !infoBox.value.$el.contains(clickedElement) && !icon.value.contains(clickedElement)) {
386
+ hideInfo();
387
+ }
388
+ }
389
+ };
390
+ const handleResize = () => {
391
+ isMobile.value = window.innerWidth <= 768;
392
+ updatePosition();
393
+ };
394
+ onMounted(() => {
395
+ window.addEventListener("scroll", handleScroll, {
396
+ passive: true
397
+ });
398
+ window.addEventListener("resize", handleResize);
399
+ document.addEventListener("scroll", handleScroll, {
400
+ passive: true,
401
+ capture: true
402
+ });
403
+ document.addEventListener("click", handleClickOutside);
404
+ });
405
+ onUnmounted(() => {
406
+ window.removeEventListener("scroll", handleScroll);
407
+ window.removeEventListener("resize", handleResize);
408
+ document.removeEventListener("scroll", handleScroll, {
409
+ capture: true
410
+ });
411
+ document.removeEventListener("click", handleClickOutside);
412
+ });
413
+ watch(isVisible, (newValue) => {
414
+ if (newValue) {
415
+ updatePosition();
416
+ }
417
+ });
418
+ return {
419
+ isVisible,
420
+ boxStyle,
421
+ arrowStyle,
422
+ showInfo,
423
+ hideInfo,
424
+ toggleInfo,
425
+ container,
426
+ icon,
427
+ infoBox,
428
+ textContent,
429
+ infoImage,
430
+ infoBoxWidth,
431
+ infoBoxHeight,
432
+ wrapperStyle,
433
+ textStyle,
434
+ onImageLoad,
435
+ isMobile
436
+ };
437
+ },
438
+ computed: {
439
+ computedIconColor() {
440
+ return this.buttonType === "error" ? theme.colors.red : theme.colors.mediumGray;
169
441
  }
170
442
  }
171
443
  };
444
+ const _hoisted_1 = {
445
+ ref: "icon",
446
+ "data-test-id": "infoText_trigger"
447
+ };
448
+ const _hoisted_2 = ["innerHTML"];
172
449
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
173
- const _component_MainLine = resolveComponent("MainLine");
174
- const _component_MainLineHighlight = resolveComponent("MainLineHighlight");
450
+ const _component_LabelWrapper = resolveComponent("LabelWrapper");
451
+ const _component_Dot = resolveComponent("Dot");
452
+ const _component_IconComponent = resolveComponent("IconComponent");
453
+ const _component_IconWrapper = resolveComponent("IconWrapper");
454
+ const _component_OverlayImage = resolveComponent("OverlayImage");
455
+ const _component_TextOverlay = resolveComponent("TextOverlay");
175
456
  const _component_TextWrapper = resolveComponent("TextWrapper");
176
- const _component_Arrow = resolveComponent("Arrow");
177
- const _component_VerticalMarkerArrow = resolveComponent("VerticalMarkerArrow");
178
- const _component_TopValueContainer = resolveComponent("TopValueContainer");
179
- const _component_VerticalMarker = resolveComponent("VerticalMarker");
180
- const _component_BottomValueContainer = resolveComponent("BottomValueContainer");
181
- const _component_Container = resolveComponent("Container");
182
- return openBlock(), createBlock(_component_Container, {
183
- width: $props.width
457
+ const _component_PageContainer = resolveComponent("PageContainer");
458
+ return openBlock(), createBlock(_component_PageContainer, {
459
+ ref: "container",
460
+ "data-test-id": "infoText_container",
461
+ type: $props.type,
462
+ onClick: _cache[0] || (_cache[0] = ($event) => {
463
+ ($setup.isMobile || $props.openTrigger === "onClick") && $setup.toggleInfo();
464
+ }),
465
+ onMouseenter: _cache[1] || (_cache[1] = ($event) => !$setup.isMobile && $props.openTrigger === "onHover" && $setup.showInfo()),
466
+ onMouseleave: _cache[2] || (_cache[2] = ($event) => !$setup.isMobile && $props.openTrigger === "onHover" && $setup.hideInfo())
184
467
  }, {
185
- default: withCtx(() => [createVNode(_component_MainLine), createTextVNode(), createVNode(_component_MainLineHighlight, {
186
- "max-percent": $options.maxPercent,
187
- "min-percent": $options.minPercent
188
- }, null, 8, ["max-percent", "min-percent"]), createTextVNode(), createVNode(_component_TopValueContainer, {
189
- position: $options.valuePercent + "%"
468
+ default: withCtx(() => [createBaseVNode("div", _hoisted_1, [createVNode(_component_IconWrapper, {
469
+ "background-color": $props.backgroundColor,
470
+ "border-radius": $props.borderRadius,
471
+ "hovered-icon": $props.hoveredIcon,
472
+ "is-active": $props.isActive,
473
+ "is-disabled": $props.isDisabled,
474
+ padding: $props.padding
190
475
  }, {
191
- default: withCtx(() => [createVNode(_component_TextWrapper, {
192
- "background-color": $props.arrowColor
476
+ default: withCtx(() => [!_ctx.$slots.trigger ? (openBlock(), createElementBlock(Fragment, {
477
+ key: 0
478
+ }, [$props.labelText && $props.labelAlign === "left" ? (openBlock(), createBlock(_component_LabelWrapper, {
479
+ key: 0,
480
+ color: $props.iconColor || $options.computedIconColor,
481
+ size: $props.labelSize
193
482
  }, {
194
- default: withCtx(() => [createTextVNode(toDisplayString($props.value), 1)]),
483
+ default: withCtx(() => [createTextVNode(toDisplayString($props.labelText), 1)]),
195
484
  _: 1
196
- }, 8, ["background-color"]), createTextVNode(), createVNode(_component_Arrow, {
197
- "background-color": $props.arrowColor
198
- }, null, 8, ["background-color"]), createTextVNode(), createVNode(_component_VerticalMarkerArrow, {
199
- color: $options.colorVerticalMarkerArrow
200
- }, null, 8, ["color"])]),
201
- _: 1
202
- }, 8, ["position"]), createTextVNode(), createVNode(_component_BottomValueContainer, {
203
- position: $options.minPercent + "%"
204
- }, {
205
- default: withCtx(() => [createVNode(_component_TextWrapper, null, {
206
- default: withCtx(() => [createTextVNode(toDisplayString($props.minValue), 1)]),
485
+ }, 8, ["color", "size"])) : createCommentVNode("", true), createTextVNode(), $props.type === "dot" ? (openBlock(), createBlock(_component_Dot, {
486
+ key: 1,
487
+ color: $props.dotColor,
488
+ "data-test-id": "infoText_dot"
489
+ }, null, 8, ["color"])) : !$props.noIcon ? (openBlock(), createBlock(_component_IconComponent, {
490
+ key: 2,
491
+ color: $props.iconColor || $options.computedIconColor,
492
+ cursor: $props.isDisabled ? "not-allowed" : "pointer",
493
+ disabled: $props.isDisabled,
494
+ "hovered-color": $props.iconColor || $options.computedIconColor,
495
+ name: $props.iconName,
496
+ size: $props.size
497
+ }, null, 8, ["color", "cursor", "disabled", "hovered-color", "name", "size"])) : createCommentVNode("", true), createTextVNode(), $props.labelText && $props.labelAlign === "right" ? (openBlock(), createBlock(_component_LabelWrapper, {
498
+ key: 3,
499
+ color: $props.iconColor || $options.computedIconColor,
500
+ size: $props.labelSize
501
+ }, {
502
+ default: withCtx(() => [createTextVNode(toDisplayString($props.labelText), 1)]),
207
503
  _: 1
208
- }), createTextVNode(), createVNode(_component_VerticalMarker, {
209
- side: "bottom"
210
- })]),
211
- _: 1
212
- }, 8, ["position"]), createTextVNode(), createVNode(_component_BottomValueContainer, {
213
- position: $options.maxPercent + "%"
504
+ }, 8, ["color", "size"])) : createCommentVNode("", true)], 64)) : createCommentVNode("", true), createTextVNode(), renderSlot(_ctx.$slots, "trigger")]),
505
+ _: 3
506
+ }, 8, ["background-color", "border-radius", "hovered-icon", "is-active", "is-disabled", "padding"])], 512), createTextVNode(), $setup.isVisible && !!$props.text ? (openBlock(), createBlock(Teleport, {
507
+ key: 0,
508
+ to: "body"
509
+ }, [createVNode(_component_TextWrapper, {
510
+ "data-test-id": "info_text_wrapper",
511
+ style: normalizeStyle($setup.wrapperStyle)
214
512
  }, {
215
- default: withCtx(() => [createVNode(_component_TextWrapper, null, {
216
- default: withCtx(() => [createTextVNode(toDisplayString($props.maxValue), 1)]),
217
- _: 1
218
- }), createTextVNode(), createVNode(_component_VerticalMarker, {
219
- side: "bottom"
220
- })]),
221
- _: 1
222
- }, 8, ["position"])]),
223
- _: 1
224
- }, 8, ["width"]);
513
+ default: withCtx(() => [createVNode(_component_TextOverlay, {
514
+ ref: "infoBox",
515
+ "app-theme": $props.appTheme,
516
+ image: $props.image,
517
+ style: normalizeStyle($setup.boxStyle),
518
+ width: $setup.infoBoxWidth
519
+ }, {
520
+ default: withCtx(() => [$props.image ? (openBlock(), createBlock(_component_OverlayImage, {
521
+ key: 0,
522
+ ref: "infoImage",
523
+ alt: "Info Image",
524
+ src: $props.image,
525
+ onLoad: $setup.onImageLoad
526
+ }, null, 8, ["src", "onLoad"])) : createCommentVNode("", true), createTextVNode(), !$props.hideInfoText ? (openBlock(), createElementBlock("span", {
527
+ key: 1,
528
+ ref: "textContent",
529
+ style: normalizeStyle($setup.textStyle)
530
+ }, [renderSlot(_ctx.$slots, "default", {}, () => [createBaseVNode("span", {
531
+ innerHTML: $props.text
532
+ }, null, 8, _hoisted_2)])], 4)) : createCommentVNode("", true)]),
533
+ _: 3
534
+ }, 8, ["app-theme", "image", "style", "width"]), createTextVNode()]),
535
+ _: 3
536
+ }, 8, ["style"])])) : createCommentVNode("", true)]),
537
+ _: 3
538
+ }, 8, ["type"]);
225
539
  }
226
- const PanelRangeInfo = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
540
+ const InfoText = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
227
541
  export {
228
- PanelRangeInfo as default
542
+ InfoText as default
229
543
  };