@lumx/react 3.20.1-alpha.35 → 3.20.1-alpha.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/index.js +13989 -95
  2. package/index.js.map +1 -1
  3. package/package.json +3 -3
  4. package/utils/index.js +158 -4
  5. package/utils/index.js.map +1 -1
  6. package/_internal/00560d40.js +0 -11
  7. package/_internal/00560d40.js.map +0 -1
  8. package/_internal/00cc46ee.js +0 -60
  9. package/_internal/00cc46ee.js.map +0 -1
  10. package/_internal/0350c865.js +0 -90
  11. package/_internal/0350c865.js.map +0 -1
  12. package/_internal/063618dc.js +0 -21
  13. package/_internal/063618dc.js.map +0 -1
  14. package/_internal/07f6dc7c.js +0 -16
  15. package/_internal/07f6dc7c.js.map +0 -1
  16. package/_internal/0846b7f3.js +0 -4
  17. package/_internal/0846b7f3.js.map +0 -1
  18. package/_internal/08948b47.js +0 -109
  19. package/_internal/08948b47.js.map +0 -1
  20. package/_internal/08b0de35.js +0 -14
  21. package/_internal/08b0de35.js.map +0 -1
  22. package/_internal/094c811d.js +0 -24
  23. package/_internal/094c811d.js.map +0 -1
  24. package/_internal/09d97180.js +0 -18
  25. package/_internal/09d97180.js.map +0 -1
  26. package/_internal/0a2c57a2.js +0 -9
  27. package/_internal/0a2c57a2.js.map +0 -1
  28. package/_internal/0a7f4911.js +0 -64
  29. package/_internal/0a7f4911.js.map +0 -1
  30. package/_internal/0aa9027f.js +0 -10
  31. package/_internal/0aa9027f.js.map +0 -1
  32. package/_internal/0c58c8e2.js +0 -59
  33. package/_internal/0c58c8e2.js.map +0 -1
  34. package/_internal/0d7cc1e0.js +0 -99
  35. package/_internal/0d7cc1e0.js.map +0 -1
  36. package/_internal/0db022d6.js +0 -58
  37. package/_internal/0db022d6.js.map +0 -1
  38. package/_internal/0e16222d.js +0 -9
  39. package/_internal/0e16222d.js.map +0 -1
  40. package/_internal/0f849025.js +0 -4
  41. package/_internal/0f849025.js.map +0 -1
  42. package/_internal/0fe87dc7.js +0 -72
  43. package/_internal/0fe87dc7.js.map +0 -1
  44. package/_internal/1060c47e.js +0 -4
  45. package/_internal/1060c47e.js.map +0 -1
  46. package/_internal/111e65e5.js +0 -9
  47. package/_internal/111e65e5.js.map +0 -1
  48. package/_internal/11687649.js +0 -18
  49. package/_internal/11687649.js.map +0 -1
  50. package/_internal/14390eeb.js +0 -7
  51. package/_internal/14390eeb.js.map +0 -1
  52. package/_internal/145228a7.js +0 -47
  53. package/_internal/145228a7.js.map +0 -1
  54. package/_internal/15fb66ce.js +0 -154
  55. package/_internal/15fb66ce.js.map +0 -1
  56. package/_internal/160cf9fe.js +0 -24
  57. package/_internal/160cf9fe.js.map +0 -1
  58. package/_internal/1616343a.js +0 -37
  59. package/_internal/1616343a.js.map +0 -1
  60. package/_internal/162672de.js +0 -51
  61. package/_internal/162672de.js.map +0 -1
  62. package/_internal/168f211f.js +0 -17
  63. package/_internal/168f211f.js.map +0 -1
  64. package/_internal/16f5497d.js +0 -20
  65. package/_internal/16f5497d.js.map +0 -1
  66. package/_internal/179a2989.js +0 -129
  67. package/_internal/179a2989.js.map +0 -1
  68. package/_internal/185778b8.js +0 -4
  69. package/_internal/185778b8.js.map +0 -1
  70. package/_internal/1afd2506.js +0 -60
  71. package/_internal/1afd2506.js.map +0 -1
  72. package/_internal/1c1cdfa2.js +0 -159
  73. package/_internal/1c1cdfa2.js.map +0 -1
  74. package/_internal/1c3b349b.js +0 -4
  75. package/_internal/1c3b349b.js.map +0 -1
  76. package/_internal/1d7267a1.js +0 -173
  77. package/_internal/1d7267a1.js.map +0 -1
  78. package/_internal/1df25415.js +0 -53
  79. package/_internal/1df25415.js.map +0 -1
  80. package/_internal/1ee5415f.js +0 -27
  81. package/_internal/1ee5415f.js.map +0 -1
  82. package/_internal/1ff933af.js +0 -5
  83. package/_internal/1ff933af.js.map +0 -1
  84. package/_internal/200c2ce1.js +0 -17
  85. package/_internal/200c2ce1.js.map +0 -1
  86. package/_internal/203b01d8.js +0 -88
  87. package/_internal/203b01d8.js.map +0 -1
  88. package/_internal/2040beb8.js +0 -169
  89. package/_internal/2040beb8.js.map +0 -1
  90. package/_internal/20f07616.js +0 -14
  91. package/_internal/20f07616.js.map +0 -1
  92. package/_internal/215781b4.js +0 -6
  93. package/_internal/215781b4.js.map +0 -1
  94. package/_internal/226a2eac.js +0 -96
  95. package/_internal/226a2eac.js.map +0 -1
  96. package/_internal/2291b633.js +0 -52
  97. package/_internal/2291b633.js.map +0 -1
  98. package/_internal/2403668c.js +0 -75
  99. package/_internal/2403668c.js.map +0 -1
  100. package/_internal/24b48881.js +0 -133
  101. package/_internal/24b48881.js.map +0 -1
  102. package/_internal/2517d1d6.js +0 -9
  103. package/_internal/2517d1d6.js.map +0 -1
  104. package/_internal/256f8eff.js +0 -4
  105. package/_internal/256f8eff.js.map +0 -1
  106. package/_internal/26a92990.js +0 -60
  107. package/_internal/26a92990.js.map +0 -1
  108. package/_internal/27a93417.js +0 -223
  109. package/_internal/27a93417.js.map +0 -1
  110. package/_internal/27df0cb6.js +0 -30
  111. package/_internal/27df0cb6.js.map +0 -1
  112. package/_internal/28f344bd.js +0 -52
  113. package/_internal/28f344bd.js.map +0 -1
  114. package/_internal/2c5a950d.js +0 -55
  115. package/_internal/2c5a950d.js.map +0 -1
  116. package/_internal/2cdd9ec6.js +0 -16
  117. package/_internal/2cdd9ec6.js.map +0 -1
  118. package/_internal/2cfeae78.js +0 -150
  119. package/_internal/2cfeae78.js.map +0 -1
  120. package/_internal/2d1acaa0.js +0 -108
  121. package/_internal/2d1acaa0.js.map +0 -1
  122. package/_internal/2d69d0f5.js +0 -4
  123. package/_internal/2d69d0f5.js.map +0 -1
  124. package/_internal/2dcfa1df.js +0 -18
  125. package/_internal/2dcfa1df.js.map +0 -1
  126. package/_internal/2dff9a38.js +0 -150
  127. package/_internal/2dff9a38.js.map +0 -1
  128. package/_internal/2e5288d0.js +0 -15
  129. package/_internal/2e5288d0.js.map +0 -1
  130. package/_internal/2fc47dc4.js +0 -133
  131. package/_internal/2fc47dc4.js.map +0 -1
  132. package/_internal/30ecdee3.js +0 -9
  133. package/_internal/30ecdee3.js.map +0 -1
  134. package/_internal/3119c1fe.js +0 -61
  135. package/_internal/3119c1fe.js.map +0 -1
  136. package/_internal/31b6784b.js +0 -14
  137. package/_internal/31b6784b.js.map +0 -1
  138. package/_internal/341034b4.js +0 -48
  139. package/_internal/341034b4.js.map +0 -1
  140. package/_internal/341ceaa9.js +0 -4
  141. package/_internal/341ceaa9.js.map +0 -1
  142. package/_internal/355f875f.js +0 -9
  143. package/_internal/355f875f.js.map +0 -1
  144. package/_internal/36008a95.js +0 -130
  145. package/_internal/36008a95.js.map +0 -1
  146. package/_internal/378a6fb1.js +0 -126
  147. package/_internal/378a6fb1.js.map +0 -1
  148. package/_internal/37f5ba95.js +0 -12
  149. package/_internal/37f5ba95.js.map +0 -1
  150. package/_internal/38ac8c66.js +0 -33
  151. package/_internal/38ac8c66.js.map +0 -1
  152. package/_internal/38ce97de.js +0 -29
  153. package/_internal/38ce97de.js.map +0 -1
  154. package/_internal/39534d28.js +0 -30
  155. package/_internal/39534d28.js.map +0 -1
  156. package/_internal/3996d544.js +0 -75
  157. package/_internal/3996d544.js.map +0 -1
  158. package/_internal/3a7fd4bf.js +0 -60
  159. package/_internal/3a7fd4bf.js.map +0 -1
  160. package/_internal/3cfcb0a4.js +0 -122
  161. package/_internal/3cfcb0a4.js.map +0 -1
  162. package/_internal/3d5e1fd0.js +0 -46
  163. package/_internal/3d5e1fd0.js.map +0 -1
  164. package/_internal/3db5a3e4.js +0 -258
  165. package/_internal/3db5a3e4.js.map +0 -1
  166. package/_internal/3e2f0517.js +0 -12
  167. package/_internal/3e2f0517.js.map +0 -1
  168. package/_internal/3eba1faf.js +0 -87
  169. package/_internal/3eba1faf.js.map +0 -1
  170. package/_internal/3f48eb48.js +0 -73
  171. package/_internal/3f48eb48.js.map +0 -1
  172. package/_internal/3f51175c.js +0 -61
  173. package/_internal/3f51175c.js.map +0 -1
  174. package/_internal/3f54fe9e.js +0 -4
  175. package/_internal/3f54fe9e.js.map +0 -1
  176. package/_internal/41a8b20f.js +0 -362
  177. package/_internal/41a8b20f.js.map +0 -1
  178. package/_internal/42b26576.js +0 -4
  179. package/_internal/42b26576.js.map +0 -1
  180. package/_internal/45ef51db.js +0 -29
  181. package/_internal/45ef51db.js.map +0 -1
  182. package/_internal/48148353.js +0 -100
  183. package/_internal/48148353.js.map +0 -1
  184. package/_internal/4bb19934.js +0 -4
  185. package/_internal/4bb19934.js.map +0 -1
  186. package/_internal/4c471276.js +0 -75
  187. package/_internal/4c471276.js.map +0 -1
  188. package/_internal/4c891480.js +0 -111
  189. package/_internal/4c891480.js.map +0 -1
  190. package/_internal/4d540596.js +0 -131
  191. package/_internal/4d540596.js.map +0 -1
  192. package/_internal/4d751800.js +0 -40
  193. package/_internal/4d751800.js.map +0 -1
  194. package/_internal/4f71fd36.js +0 -4
  195. package/_internal/4f71fd36.js.map +0 -1
  196. package/_internal/507d9459.js +0 -67
  197. package/_internal/507d9459.js.map +0 -1
  198. package/_internal/5178b7ba.js +0 -10
  199. package/_internal/5178b7ba.js.map +0 -1
  200. package/_internal/51921a16.js +0 -30
  201. package/_internal/51921a16.js.map +0 -1
  202. package/_internal/535aa51f.js +0 -44
  203. package/_internal/535aa51f.js.map +0 -1
  204. package/_internal/536517c5.js +0 -29
  205. package/_internal/536517c5.js.map +0 -1
  206. package/_internal/53b8dea1.js +0 -48
  207. package/_internal/53b8dea1.js.map +0 -1
  208. package/_internal/5745f198.js +0 -12
  209. package/_internal/5745f198.js.map +0 -1
  210. package/_internal/57f2079b.js +0 -10
  211. package/_internal/57f2079b.js.map +0 -1
  212. package/_internal/58418448.js +0 -41
  213. package/_internal/58418448.js.map +0 -1
  214. package/_internal/595d0e66.js +0 -103
  215. package/_internal/595d0e66.js.map +0 -1
  216. package/_internal/5a0207d9.js +0 -77
  217. package/_internal/5a0207d9.js.map +0 -1
  218. package/_internal/5a6b1aa5.js +0 -139
  219. package/_internal/5a6b1aa5.js.map +0 -1
  220. package/_internal/5c3e15ea.js +0 -107
  221. package/_internal/5c3e15ea.js.map +0 -1
  222. package/_internal/5c4e10a0.js +0 -156
  223. package/_internal/5c4e10a0.js.map +0 -1
  224. package/_internal/5da9ff06.js +0 -47
  225. package/_internal/5da9ff06.js.map +0 -1
  226. package/_internal/60139f6a.js +0 -9
  227. package/_internal/60139f6a.js.map +0 -1
  228. package/_internal/612b7365.js +0 -231
  229. package/_internal/612b7365.js.map +0 -1
  230. package/_internal/612f6fb4.js +0 -155
  231. package/_internal/612f6fb4.js.map +0 -1
  232. package/_internal/617d453e.js +0 -28
  233. package/_internal/617d453e.js.map +0 -1
  234. package/_internal/62c6c615.js +0 -280
  235. package/_internal/62c6c615.js.map +0 -1
  236. package/_internal/6417ddb1.js +0 -24
  237. package/_internal/6417ddb1.js.map +0 -1
  238. package/_internal/658e09de.js +0 -7
  239. package/_internal/658e09de.js.map +0 -1
  240. package/_internal/659a1cdd.js +0 -144
  241. package/_internal/659a1cdd.js.map +0 -1
  242. package/_internal/6671d28b.js +0 -40
  243. package/_internal/6671d28b.js.map +0 -1
  244. package/_internal/66950686.js +0 -14
  245. package/_internal/66950686.js.map +0 -1
  246. package/_internal/671b986c.js +0 -14
  247. package/_internal/671b986c.js.map +0 -1
  248. package/_internal/6893b89e.js +0 -124
  249. package/_internal/6893b89e.js.map +0 -1
  250. package/_internal/68f13c1c.js +0 -4
  251. package/_internal/68f13c1c.js.map +0 -1
  252. package/_internal/69eb2393.js +0 -73
  253. package/_internal/69eb2393.js.map +0 -1
  254. package/_internal/6af61e2f.js +0 -24
  255. package/_internal/6af61e2f.js.map +0 -1
  256. package/_internal/6b510f5e.js +0 -142
  257. package/_internal/6b510f5e.js.map +0 -1
  258. package/_internal/6b61b268.js +0 -9
  259. package/_internal/6b61b268.js.map +0 -1
  260. package/_internal/6f0ce1bb.js +0 -67
  261. package/_internal/6f0ce1bb.js.map +0 -1
  262. package/_internal/6f17bf65.js +0 -8
  263. package/_internal/6f17bf65.js.map +0 -1
  264. package/_internal/6f37d603.js +0 -4
  265. package/_internal/6f37d603.js.map +0 -1
  266. package/_internal/6f3bb7d6.js +0 -16
  267. package/_internal/6f3bb7d6.js.map +0 -1
  268. package/_internal/705f415e.js +0 -67
  269. package/_internal/705f415e.js.map +0 -1
  270. package/_internal/722ea461.js +0 -9
  271. package/_internal/722ea461.js.map +0 -1
  272. package/_internal/728684f6.js +0 -6
  273. package/_internal/728684f6.js.map +0 -1
  274. package/_internal/730f75dc.js +0 -93
  275. package/_internal/730f75dc.js.map +0 -1
  276. package/_internal/735bcfa5.js +0 -38
  277. package/_internal/735bcfa5.js.map +0 -1
  278. package/_internal/739f2f15.js +0 -61
  279. package/_internal/739f2f15.js.map +0 -1
  280. package/_internal/7531ee4d.js +0 -72
  281. package/_internal/7531ee4d.js.map +0 -1
  282. package/_internal/75f285fb.js +0 -104
  283. package/_internal/75f285fb.js.map +0 -1
  284. package/_internal/78a9c3cd.js +0 -4
  285. package/_internal/78a9c3cd.js.map +0 -1
  286. package/_internal/7a2da67a.js +0 -64
  287. package/_internal/7a2da67a.js.map +0 -1
  288. package/_internal/7af4a428.js +0 -39
  289. package/_internal/7af4a428.js.map +0 -1
  290. package/_internal/7d4eb1c5.js +0 -62
  291. package/_internal/7d4eb1c5.js.map +0 -1
  292. package/_internal/7d9c0855.js +0 -55
  293. package/_internal/7d9c0855.js.map +0 -1
  294. package/_internal/7eca7fcd.js +0 -28
  295. package/_internal/7eca7fcd.js.map +0 -1
  296. package/_internal/81a6a29a.js +0 -55
  297. package/_internal/81a6a29a.js.map +0 -1
  298. package/_internal/82159c03.js +0 -146
  299. package/_internal/82159c03.js.map +0 -1
  300. package/_internal/82c6852b.js +0 -19
  301. package/_internal/82c6852b.js.map +0 -1
  302. package/_internal/840e9690.js +0 -52
  303. package/_internal/840e9690.js.map +0 -1
  304. package/_internal/841c2303.js +0 -19
  305. package/_internal/841c2303.js.map +0 -1
  306. package/_internal/8429fc80.js +0 -141
  307. package/_internal/8429fc80.js.map +0 -1
  308. package/_internal/84978777.js +0 -55
  309. package/_internal/84978777.js.map +0 -1
  310. package/_internal/851a3109.js +0 -123
  311. package/_internal/851a3109.js.map +0 -1
  312. package/_internal/879fa64d.js +0 -6
  313. package/_internal/879fa64d.js.map +0 -1
  314. package/_internal/883321fd.js +0 -17
  315. package/_internal/883321fd.js.map +0 -1
  316. package/_internal/893eb653.js +0 -4
  317. package/_internal/893eb653.js.map +0 -1
  318. package/_internal/897e2dbb.js +0 -80
  319. package/_internal/897e2dbb.js.map +0 -1
  320. package/_internal/89ee5eb2.js +0 -22
  321. package/_internal/89ee5eb2.js.map +0 -1
  322. package/_internal/8acd6aff.js +0 -82
  323. package/_internal/8acd6aff.js.map +0 -1
  324. package/_internal/8d318b2b.js +0 -138
  325. package/_internal/8d318b2b.js.map +0 -1
  326. package/_internal/8e3efbc4.js +0 -65
  327. package/_internal/8e3efbc4.js.map +0 -1
  328. package/_internal/8e8c5ab6.js +0 -192
  329. package/_internal/8e8c5ab6.js.map +0 -1
  330. package/_internal/8fe4c01f.js +0 -20
  331. package/_internal/8fe4c01f.js.map +0 -1
  332. package/_internal/91f36a80.js +0 -34
  333. package/_internal/91f36a80.js.map +0 -1
  334. package/_internal/928fa938.js +0 -102
  335. package/_internal/928fa938.js.map +0 -1
  336. package/_internal/9361ef65.js +0 -6
  337. package/_internal/9361ef65.js.map +0 -1
  338. package/_internal/99513933.js +0 -145
  339. package/_internal/99513933.js.map +0 -1
  340. package/_internal/9976fe9a.js +0 -28
  341. package/_internal/9976fe9a.js.map +0 -1
  342. package/_internal/9a0544c4.js +0 -34
  343. package/_internal/9a0544c4.js.map +0 -1
  344. package/_internal/9a5db774.js +0 -6
  345. package/_internal/9a5db774.js.map +0 -1
  346. package/_internal/9ae8998a.js +0 -117
  347. package/_internal/9ae8998a.js.map +0 -1
  348. package/_internal/9b0c0489.js +0 -118
  349. package/_internal/9b0c0489.js.map +0 -1
  350. package/_internal/9d063548.js +0 -49
  351. package/_internal/9d063548.js.map +0 -1
  352. package/_internal/9e3b78fa.js +0 -118
  353. package/_internal/9e3b78fa.js.map +0 -1
  354. package/_internal/a0a42aca.js +0 -14
  355. package/_internal/a0a42aca.js.map +0 -1
  356. package/_internal/a1974f13.js +0 -62
  357. package/_internal/a1974f13.js.map +0 -1
  358. package/_internal/a2b9eb60.js +0 -90
  359. package/_internal/a2b9eb60.js.map +0 -1
  360. package/_internal/a2c7c463.js +0 -4
  361. package/_internal/a2c7c463.js.map +0 -1
  362. package/_internal/a32628a1.js +0 -4
  363. package/_internal/a32628a1.js.map +0 -1
  364. package/_internal/a3f2000f.js +0 -198
  365. package/_internal/a3f2000f.js.map +0 -1
  366. package/_internal/a45cc1b9.js +0 -128
  367. package/_internal/a45cc1b9.js.map +0 -1
  368. package/_internal/a6be9f05.js +0 -75
  369. package/_internal/a6be9f05.js.map +0 -1
  370. package/_internal/a6dc95cd.js +0 -49
  371. package/_internal/a6dc95cd.js.map +0 -1
  372. package/_internal/a7abe967.js +0 -20
  373. package/_internal/a7abe967.js.map +0 -1
  374. package/_internal/a89bf7bc.js +0 -169
  375. package/_internal/a89bf7bc.js.map +0 -1
  376. package/_internal/a9d0f94d.js +0 -53
  377. package/_internal/a9d0f94d.js.map +0 -1
  378. package/_internal/ab3e5463.js +0 -39
  379. package/_internal/ab3e5463.js.map +0 -1
  380. package/_internal/ac3f7e4d.js +0 -119
  381. package/_internal/ac3f7e4d.js.map +0 -1
  382. package/_internal/acd6bed6.js +0 -6
  383. package/_internal/acd6bed6.js.map +0 -1
  384. package/_internal/ad7c38b0.js +0 -4
  385. package/_internal/ad7c38b0.js.map +0 -1
  386. package/_internal/ae4dc9f0.js +0 -62
  387. package/_internal/ae4dc9f0.js.map +0 -1
  388. package/_internal/aeba575c.js +0 -4
  389. package/_internal/aeba575c.js.map +0 -1
  390. package/_internal/b0780b33.js +0 -60
  391. package/_internal/b0780b33.js.map +0 -1
  392. package/_internal/b0846836.js +0 -4
  393. package/_internal/b0846836.js.map +0 -1
  394. package/_internal/b1154f4b.js +0 -14
  395. package/_internal/b1154f4b.js.map +0 -1
  396. package/_internal/b125b718.js +0 -131
  397. package/_internal/b125b718.js.map +0 -1
  398. package/_internal/b23a92ab.js +0 -56
  399. package/_internal/b23a92ab.js.map +0 -1
  400. package/_internal/b4018f8d.js +0 -107
  401. package/_internal/b4018f8d.js.map +0 -1
  402. package/_internal/b402784b.js +0 -11
  403. package/_internal/b402784b.js.map +0 -1
  404. package/_internal/b4dfa648.js +0 -32
  405. package/_internal/b4dfa648.js.map +0 -1
  406. package/_internal/b573621e.js +0 -26
  407. package/_internal/b573621e.js.map +0 -1
  408. package/_internal/b5edf49e.js +0 -8
  409. package/_internal/b5edf49e.js.map +0 -1
  410. package/_internal/b85a5f3f.js +0 -57
  411. package/_internal/b85a5f3f.js.map +0 -1
  412. package/_internal/b93aa71c.js +0 -89
  413. package/_internal/b93aa71c.js.map +0 -1
  414. package/_internal/b977b471.js +0 -5
  415. package/_internal/b977b471.js.map +0 -1
  416. package/_internal/b9e3e436.js +0 -101
  417. package/_internal/b9e3e436.js.map +0 -1
  418. package/_internal/b9ed1f7a.js +0 -4
  419. package/_internal/b9ed1f7a.js.map +0 -1
  420. package/_internal/bae815e2.js +0 -46
  421. package/_internal/bae815e2.js.map +0 -1
  422. package/_internal/bb05343d.js +0 -36
  423. package/_internal/bb05343d.js.map +0 -1
  424. package/_internal/bb5fb0f9.js +0 -28
  425. package/_internal/bb5fb0f9.js.map +0 -1
  426. package/_internal/bb8088e1.js +0 -77
  427. package/_internal/bb8088e1.js.map +0 -1
  428. package/_internal/bc393aec.js +0 -8
  429. package/_internal/bc393aec.js.map +0 -1
  430. package/_internal/bd1cd49f.js +0 -54
  431. package/_internal/bd1cd49f.js.map +0 -1
  432. package/_internal/bd8b3ec8.js +0 -9
  433. package/_internal/bd8b3ec8.js.map +0 -1
  434. package/_internal/be29f79e.js +0 -52
  435. package/_internal/be29f79e.js.map +0 -1
  436. package/_internal/bf202fa2.js +0 -47
  437. package/_internal/bf202fa2.js.map +0 -1
  438. package/_internal/bf411e5a.js +0 -109
  439. package/_internal/bf411e5a.js.map +0 -1
  440. package/_internal/c01c3bec.js +0 -12
  441. package/_internal/c01c3bec.js.map +0 -1
  442. package/_internal/c0a6dba6.js +0 -8
  443. package/_internal/c0a6dba6.js.map +0 -1
  444. package/_internal/c241db12.js +0 -110
  445. package/_internal/c241db12.js.map +0 -1
  446. package/_internal/c3ccd387.js +0 -20
  447. package/_internal/c3ccd387.js.map +0 -1
  448. package/_internal/c51d37f8.js +0 -166
  449. package/_internal/c51d37f8.js.map +0 -1
  450. package/_internal/c625d242.js +0 -14
  451. package/_internal/c625d242.js.map +0 -1
  452. package/_internal/c72d4f8b.js +0 -4
  453. package/_internal/c72d4f8b.js.map +0 -1
  454. package/_internal/c9a3b27f.js +0 -6
  455. package/_internal/c9a3b27f.js.map +0 -1
  456. package/_internal/c9bd0e84.js +0 -29
  457. package/_internal/c9bd0e84.js.map +0 -1
  458. package/_internal/cb19eca6.js +0 -25
  459. package/_internal/cb19eca6.js.map +0 -1
  460. package/_internal/cb525c68.js +0 -165
  461. package/_internal/cb525c68.js.map +0 -1
  462. package/_internal/cb7ac456.js +0 -165
  463. package/_internal/cb7ac456.js.map +0 -1
  464. package/_internal/cc5cac50.js +0 -139
  465. package/_internal/cc5cac50.js.map +0 -1
  466. package/_internal/cd8457fc.js +0 -209
  467. package/_internal/cd8457fc.js.map +0 -1
  468. package/_internal/d0b96efd.js +0 -8
  469. package/_internal/d0b96efd.js.map +0 -1
  470. package/_internal/d3286249.js +0 -72
  471. package/_internal/d3286249.js.map +0 -1
  472. package/_internal/d57d3fc6.js +0 -6
  473. package/_internal/d57d3fc6.js.map +0 -1
  474. package/_internal/d5f5f3f5.js +0 -18
  475. package/_internal/d5f5f3f5.js.map +0 -1
  476. package/_internal/d672fc0e.js +0 -24
  477. package/_internal/d672fc0e.js.map +0 -1
  478. package/_internal/d7ee7efe.js +0 -40
  479. package/_internal/d7ee7efe.js.map +0 -1
  480. package/_internal/d8ee966d.js +0 -14
  481. package/_internal/d8ee966d.js.map +0 -1
  482. package/_internal/db88500d.js +0 -10
  483. package/_internal/db88500d.js.map +0 -1
  484. package/_internal/dbc379f8.js +0 -45
  485. package/_internal/dbc379f8.js.map +0 -1
  486. package/_internal/dbe906f1.js +0 -179
  487. package/_internal/dbe906f1.js.map +0 -1
  488. package/_internal/de52a4b9.js +0 -20
  489. package/_internal/de52a4b9.js.map +0 -1
  490. package/_internal/df688aab.js +0 -121
  491. package/_internal/df688aab.js.map +0 -1
  492. package/_internal/dfa00cf7.js +0 -35
  493. package/_internal/dfa00cf7.js.map +0 -1
  494. package/_internal/e0398237.js +0 -130
  495. package/_internal/e0398237.js.map +0 -1
  496. package/_internal/e142a98d.js +0 -22
  497. package/_internal/e142a98d.js.map +0 -1
  498. package/_internal/e429bd82.js +0 -12
  499. package/_internal/e429bd82.js.map +0 -1
  500. package/_internal/e47dacb8.js +0 -4
  501. package/_internal/e47dacb8.js.map +0 -1
  502. package/_internal/e4a199c0.js +0 -20
  503. package/_internal/e4a199c0.js.map +0 -1
  504. package/_internal/e50f2a75.js +0 -27
  505. package/_internal/e50f2a75.js.map +0 -1
  506. package/_internal/e5657997.js +0 -130
  507. package/_internal/e5657997.js.map +0 -1
  508. package/_internal/e7aa44d1.js +0 -13
  509. package/_internal/e7aa44d1.js.map +0 -1
  510. package/_internal/e8e4d09e.js +0 -95
  511. package/_internal/e8e4d09e.js.map +0 -1
  512. package/_internal/e918f20b.js +0 -57
  513. package/_internal/e918f20b.js.map +0 -1
  514. package/_internal/e9c3b1e0.js +0 -4
  515. package/_internal/e9c3b1e0.js.map +0 -1
  516. package/_internal/ebd44733.js +0 -7
  517. package/_internal/ebd44733.js.map +0 -1
  518. package/_internal/ebe24fd7.js +0 -20
  519. package/_internal/ebe24fd7.js.map +0 -1
  520. package/_internal/ed03c692.js +0 -17
  521. package/_internal/ed03c692.js.map +0 -1
  522. package/_internal/eea52073.js +0 -27
  523. package/_internal/eea52073.js.map +0 -1
  524. package/_internal/eec574e6.js +0 -40
  525. package/_internal/eec574e6.js.map +0 -1
  526. package/_internal/eef5d63f.js +0 -21
  527. package/_internal/eef5d63f.js.map +0 -1
  528. package/_internal/ef907c21.js +0 -41
  529. package/_internal/ef907c21.js.map +0 -1
  530. package/_internal/ef982c3d.js +0 -36
  531. package/_internal/ef982c3d.js.map +0 -1
  532. package/_internal/f0052b9b.js +0 -27
  533. package/_internal/f0052b9b.js.map +0 -1
  534. package/_internal/f2e34298.js +0 -75
  535. package/_internal/f2e34298.js.map +0 -1
  536. package/_internal/f419ecef.js +0 -4
  537. package/_internal/f419ecef.js.map +0 -1
  538. package/_internal/f4baa1da.js +0 -34
  539. package/_internal/f4baa1da.js.map +0 -1
  540. package/_internal/f6bc7948.js +0 -45
  541. package/_internal/f6bc7948.js.map +0 -1
  542. package/_internal/f7520b8e.js +0 -52
  543. package/_internal/f7520b8e.js.map +0 -1
  544. package/_internal/f8c49b24.js +0 -14
  545. package/_internal/f8c49b24.js.map +0 -1
  546. package/_internal/fb201a04.js +0 -65
  547. package/_internal/fb201a04.js.map +0 -1
  548. package/_internal/fb36ff46.js +0 -51
  549. package/_internal/fb36ff46.js.map +0 -1
  550. package/_internal/fcc7c462.js +0 -60
  551. package/_internal/fcc7c462.js.map +0 -1
  552. package/_internal/fcf83937.js +0 -28
  553. package/_internal/fcf83937.js.map +0 -1
  554. package/_internal/fd3e2f21.js +0 -30
  555. package/_internal/fd3e2f21.js.map +0 -1
  556. package/_internal/fdcf3942.js +0 -157
  557. package/_internal/fdcf3942.js.map +0 -1
  558. package/_internal/fdebc718.js +0 -57
  559. package/_internal/fdebc718.js.map +0 -1
  560. package/_internal/ff96951d.js +0 -8
  561. package/_internal/ff96951d.js.map +0 -1
  562. package/_internal/ffb2f7fa.js +0 -84
  563. package/_internal/ffb2f7fa.js.map +0 -1
@@ -1,159 +0,0 @@
1
- import { useState, useCallback, useEffect } from 'react';
2
- import { useInterval } from './45ef51db.js';
3
- import { AUTOPLAY_DEFAULT_INTERVAL } from './e50f2a75.js';
4
- import { useId } from './11687649.js';
5
-
6
- const DEFAULT_OPTIONS = {
7
- activeIndex: 0,
8
- groupBy: 1,
9
- interval: AUTOPLAY_DEFAULT_INTERVAL
10
- };
11
- const useSlideshowControls = ({
12
- activeIndex = DEFAULT_OPTIONS.activeIndex,
13
- groupBy = DEFAULT_OPTIONS.groupBy,
14
- interval = DEFAULT_OPTIONS.interval,
15
- autoPlay,
16
- defaultActiveIndex,
17
- onChange,
18
- itemsCount,
19
- id,
20
- slidesId
21
- }) => {
22
- const [currentIndex, setCurrentIndex] = useState(activeIndex);
23
- // Use state instead of a ref to make the slideshow controls update directly when the element is set.
24
- const [element, setElement] = useState(null);
25
-
26
- // Number of slides when using groupBy prop.
27
- const slidesCount = Math.ceil(itemsCount / Math.min(groupBy, itemsCount));
28
-
29
- // Change current index to display next slide.
30
- const goToNextSlide = useCallback((loopback = true) => {
31
- setCurrentIndex(index => {
32
- if (loopback && index === slidesCount - 1) {
33
- // Loopback to the start.
34
- return 0;
35
- }
36
- if (index < slidesCount - 1) {
37
- // Next slide.
38
- return index + 1;
39
- }
40
- return index;
41
- });
42
- }, [slidesCount, setCurrentIndex]);
43
-
44
- // Change current index to display previous slide.
45
- const goToPreviousSlide = useCallback((loopback = true) => {
46
- setCurrentIndex(index => {
47
- if (loopback && index === 0) {
48
- // Loopback to the end.
49
- return slidesCount - 1;
50
- }
51
- if (index > 0) {
52
- // Previous slide.
53
- return index - 1;
54
- }
55
- return index;
56
- });
57
- }, [slidesCount, setCurrentIndex]);
58
-
59
- // Auto play
60
- const [isAutoPlaying, setIsAutoPlaying] = useState(Boolean(autoPlay));
61
- const [isForcePaused, setIsForcePaused] = useState(false);
62
- const isSlideshowAutoPlaying = isForcePaused ? false : isAutoPlaying;
63
- // Start
64
- useInterval(goToNextSlide, isSlideshowAutoPlaying && slidesCount > 1 ? interval : null);
65
-
66
- // Reset current index if it become invalid.
67
- useEffect(() => {
68
- if (currentIndex > slidesCount - 1) {
69
- setCurrentIndex(defaultActiveIndex);
70
- }
71
- }, [currentIndex, slidesCount, defaultActiveIndex]);
72
- const startAutoPlay = () => {
73
- setIsAutoPlaying(Boolean(autoPlay));
74
- };
75
- const stopAutoPlay = () => {
76
- setIsAutoPlaying(false);
77
- };
78
-
79
- // Handle click on a bullet to go to a specific slide.
80
- const onPaginationClick = useCallback(index => {
81
- stopAutoPlay();
82
- setIsForcePaused(true);
83
- if (index >= 0 && index < slidesCount) {
84
- setCurrentIndex(index);
85
- }
86
- }, [slidesCount, setCurrentIndex]);
87
-
88
- // Handle click or keyboard event to go to next slide.
89
- const onNextClick = useCallback((loopback = true) => {
90
- stopAutoPlay();
91
- setIsForcePaused(true);
92
- goToNextSlide(loopback);
93
- }, [goToNextSlide]);
94
-
95
- // Handle click or keyboard event to go to previous slide.
96
- const onPreviousClick = useCallback((loopback = true) => {
97
- stopAutoPlay();
98
- setIsForcePaused(true);
99
- goToPreviousSlide(loopback);
100
- }, [goToPreviousSlide]);
101
-
102
- // If the activeIndex props changes, update the current slide
103
- useEffect(() => {
104
- setCurrentIndex(activeIndex);
105
- }, [activeIndex]);
106
-
107
- // If the slide changes, with autoplay for example, trigger "onChange"
108
- useEffect(() => {
109
- if (!onChange) return;
110
- onChange(currentIndex);
111
- }, [currentIndex, onChange]);
112
- const generatedSlideshowId = useId();
113
- const slideshowId = id || generatedSlideshowId;
114
- const generatedSlidesId = useId();
115
- const slideshowSlidesId = slidesId || generatedSlidesId;
116
- const toggleAutoPlay = () => {
117
- if (isSlideshowAutoPlaying) {
118
- stopAutoPlay();
119
- } else {
120
- startAutoPlay();
121
- }
122
- };
123
- const toggleForcePause = () => {
124
- const shouldBePaused = !isForcePaused;
125
- setIsForcePaused(shouldBePaused);
126
- if (!shouldBePaused) {
127
- startAutoPlay();
128
- } else {
129
- stopAutoPlay();
130
- }
131
- };
132
-
133
- // Start index and end index of visible slides.
134
- const startIndexVisible = currentIndex * groupBy;
135
- const endIndexVisible = startIndexVisible + groupBy;
136
- return {
137
- startIndexVisible,
138
- endIndexVisible,
139
- setSlideshow: setElement,
140
- slideshow: element,
141
- slideshowId,
142
- slideshowSlidesId,
143
- onPreviousClick,
144
- onNextClick,
145
- onPaginationClick,
146
- isAutoPlaying: isSlideshowAutoPlaying,
147
- toggleAutoPlay,
148
- activeIndex: currentIndex,
149
- slidesCount,
150
- setActiveIndex: setCurrentIndex,
151
- startAutoPlay,
152
- stopAutoPlay,
153
- isForcePaused,
154
- toggleForcePause
155
- };
156
- };
157
-
158
- export { DEFAULT_OPTIONS, useSlideshowControls };
159
- //# sourceMappingURL=1c1cdfa2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1c1cdfa2.js","sources":["../../src/hooks/useSlideshowControls.ts"],"sourcesContent":["import { useState, useCallback, useEffect } from 'react';\n\nimport { useInterval } from '@lumx/react/hooks/useInterval';\nimport { AUTOPLAY_DEFAULT_INTERVAL } from '@lumx/react/components/slideshow/constants';\nimport { useId } from '@lumx/react/hooks/useId';\n\nexport interface UseSlideshowControlsOptions {\n /** default active index to be displayed */\n defaultActiveIndex?: number;\n /** total slides to display */\n itemsCount: number;\n /** Index of the current slide. */\n activeIndex?: number;\n /** Whether the automatic rotation of the slideshow is enabled or not. */\n autoPlay?: boolean;\n /** Whether the image has to fill its container height or not. */\n fillHeight?: boolean;\n /** Number of slides to group together. */\n groupBy?: number;\n /** Interval between each slide when automatic rotation is enabled. */\n interval?: number;\n /** Callback when slide changes */\n onChange?(index: number): void;\n /** slideshow HTML id attribute */\n id?: string;\n /** slides wrapper HTML id attribute */\n slidesId?: string;\n}\n\nexport interface UseSlideshowControls {\n /** Index for the first visible slide, should be used when groupBy is passed in */\n startIndexVisible: number;\n /** Index for the last visible slide, should be used when groupBy is passed in */\n endIndexVisible: number;\n /** total slides to be displayed */\n slidesCount: number;\n /** callback to set */\n setSlideshow: (element: HTMLDivElement | null) => void;\n /** reference to the slideshow element */\n slideshow: HTMLDivElement | null;\n /** id to be used for the slideshow */\n slideshowId: string;\n /** id to be used for the wrapper that contains the slides */\n slideshowSlidesId: string;\n /** callback that triggers the previous slide while using the slideshow controls */\n onPreviousClick: (loopback: boolean) => void;\n /** callback that triggers the next slide while using the slideshow controls */\n onNextClick: (loopback: boolean) => void;\n /** callback that triggers a specific page while using the slideshow controls */\n onPaginationClick: (index: number) => void;\n /** whether the slideshow is autoplaying or not */\n isAutoPlaying: boolean;\n /** whether the slideshow was force paused or not */\n isForcePaused: boolean;\n /** callback to change whether the slideshow is autoplaying or not */\n toggleAutoPlay: () => void;\n /** calback to change whether the slideshow should be force paused or not */\n toggleForcePause: () => void;\n /** current active slide index */\n activeIndex: number;\n /** set the current index as the active one */\n setActiveIndex: (index: number) => void;\n /** callback that stops the auto play */\n stopAutoPlay: () => void;\n /** callback that starts the auto play */\n startAutoPlay: () => void;\n}\n\nexport const DEFAULT_OPTIONS = {\n activeIndex: 0,\n groupBy: 1,\n interval: AUTOPLAY_DEFAULT_INTERVAL,\n} as const;\n\nexport const useSlideshowControls = ({\n activeIndex = DEFAULT_OPTIONS.activeIndex,\n groupBy = DEFAULT_OPTIONS.groupBy,\n interval = DEFAULT_OPTIONS.interval,\n autoPlay,\n defaultActiveIndex,\n onChange,\n itemsCount,\n id,\n slidesId,\n}: UseSlideshowControlsOptions): UseSlideshowControls => {\n const [currentIndex, setCurrentIndex] = useState(activeIndex as number);\n // Use state instead of a ref to make the slideshow controls update directly when the element is set.\n const [element, setElement] = useState<HTMLDivElement | null>(null);\n\n // Number of slides when using groupBy prop.\n const slidesCount = Math.ceil(itemsCount / Math.min(groupBy as number, itemsCount));\n\n // Change current index to display next slide.\n const goToNextSlide = useCallback(\n (loopback = true) => {\n setCurrentIndex((index) => {\n if (loopback && index === slidesCount - 1) {\n // Loopback to the start.\n return 0;\n }\n if (index < slidesCount - 1) {\n // Next slide.\n return index + 1;\n }\n return index;\n });\n },\n [slidesCount, setCurrentIndex],\n );\n\n // Change current index to display previous slide.\n const goToPreviousSlide = useCallback(\n (loopback = true) => {\n setCurrentIndex((index) => {\n if (loopback && index === 0) {\n // Loopback to the end.\n return slidesCount - 1;\n }\n if (index > 0) {\n // Previous slide.\n return index - 1;\n }\n return index;\n });\n },\n [slidesCount, setCurrentIndex],\n );\n\n // Auto play\n const [isAutoPlaying, setIsAutoPlaying] = useState(Boolean(autoPlay));\n const [isForcePaused, setIsForcePaused] = useState(false);\n\n const isSlideshowAutoPlaying = isForcePaused ? false : isAutoPlaying;\n // Start\n useInterval(goToNextSlide, isSlideshowAutoPlaying && slidesCount > 1 ? (interval as number) : null);\n\n // Reset current index if it become invalid.\n useEffect(() => {\n if (currentIndex > slidesCount - 1) {\n setCurrentIndex(defaultActiveIndex as number);\n }\n }, [currentIndex, slidesCount, defaultActiveIndex]);\n\n const startAutoPlay = () => {\n setIsAutoPlaying(Boolean(autoPlay));\n };\n\n const stopAutoPlay = () => {\n setIsAutoPlaying(false);\n };\n\n // Handle click on a bullet to go to a specific slide.\n const onPaginationClick = useCallback(\n (index: number) => {\n stopAutoPlay();\n setIsForcePaused(true);\n\n if (index >= 0 && index < slidesCount) {\n setCurrentIndex(index);\n }\n },\n [slidesCount, setCurrentIndex],\n );\n\n // Handle click or keyboard event to go to next slide.\n const onNextClick = useCallback(\n (loopback = true) => {\n stopAutoPlay();\n setIsForcePaused(true);\n goToNextSlide(loopback);\n },\n [goToNextSlide],\n );\n\n // Handle click or keyboard event to go to previous slide.\n const onPreviousClick = useCallback(\n (loopback = true) => {\n stopAutoPlay();\n setIsForcePaused(true);\n goToPreviousSlide(loopback);\n },\n [goToPreviousSlide],\n );\n\n // If the activeIndex props changes, update the current slide\n useEffect(() => {\n setCurrentIndex(activeIndex as number);\n }, [activeIndex]);\n\n // If the slide changes, with autoplay for example, trigger \"onChange\"\n useEffect(() => {\n if (!onChange) return;\n onChange(currentIndex);\n }, [currentIndex, onChange]);\n\n const generatedSlideshowId = useId();\n const slideshowId = id || generatedSlideshowId;\n\n const generatedSlidesId = useId();\n const slideshowSlidesId = slidesId || generatedSlidesId;\n\n const toggleAutoPlay = () => {\n if (isSlideshowAutoPlaying) {\n stopAutoPlay();\n } else {\n startAutoPlay();\n }\n };\n\n const toggleForcePause = () => {\n const shouldBePaused = !isForcePaused;\n\n setIsForcePaused(shouldBePaused);\n\n if (!shouldBePaused) {\n startAutoPlay();\n } else {\n stopAutoPlay();\n }\n };\n\n // Start index and end index of visible slides.\n const startIndexVisible = currentIndex * (groupBy as number);\n const endIndexVisible = startIndexVisible + (groupBy as number);\n\n return {\n startIndexVisible,\n endIndexVisible,\n setSlideshow: setElement,\n slideshow: element,\n slideshowId,\n slideshowSlidesId,\n onPreviousClick,\n onNextClick,\n onPaginationClick,\n isAutoPlaying: isSlideshowAutoPlaying,\n toggleAutoPlay,\n activeIndex: currentIndex,\n slidesCount,\n setActiveIndex: setCurrentIndex,\n startAutoPlay,\n stopAutoPlay,\n isForcePaused,\n toggleForcePause,\n };\n};\n"],"names":["DEFAULT_OPTIONS","activeIndex","groupBy","interval","AUTOPLAY_DEFAULT_INTERVAL","useSlideshowControls","autoPlay","defaultActiveIndex","onChange","itemsCount","id","slidesId","currentIndex","setCurrentIndex","useState","element","setElement","slidesCount","Math","ceil","min","goToNextSlide","useCallback","loopback","index","goToPreviousSlide","isAutoPlaying","setIsAutoPlaying","Boolean","isForcePaused","setIsForcePaused","isSlideshowAutoPlaying","useInterval","useEffect","startAutoPlay","stopAutoPlay","onPaginationClick","onNextClick","onPreviousClick","generatedSlideshowId","useId","slideshowId","generatedSlidesId","slideshowSlidesId","toggleAutoPlay","toggleForcePause","shouldBePaused","startIndexVisible","endIndexVisible","setSlideshow","slideshow","setActiveIndex"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- const mdiCheck = 'M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59z';
2
-
3
- export { mdiCheck };
4
- //# sourceMappingURL=1c3b349b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1c3b349b.js","sources":["../../../lumx-icons/dist/esm/check.js"],"sourcesContent":["export const mdiCheck = 'M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59z';"],"names":["mdiCheck"],"mappings":"AAAO,MAAMA,QAAQ,GAAG;;;;"}
@@ -1,173 +0,0 @@
1
- import React__default, { useCallback, useMemo } from 'react';
2
- import classNames from 'classnames';
3
- import range from 'lodash/range';
4
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
5
- import { WINDOW } from './6af61e2f.js';
6
- import { useSlideshowControls, DEFAULT_OPTIONS } from './1c1cdfa2.js';
7
- import { useRovingTabIndex } from './bb8088e1.js';
8
- import { forwardRef } from './bd8b3ec8.js';
9
- import { useTheme } from './d8ee966d.js';
10
- import { useSwipeNavigate } from './de52a4b9.js';
11
- import { PAGINATION_ITEM_SIZE, PAGINATION_ITEMS_MAX } from './e50f2a75.js';
12
- import { usePaginationVisibleRange } from './5da9ff06.js';
13
- import { jsxs, jsx } from 'react/jsx-runtime';
14
- import { mdiPauseCircleOutline } from './4bb19934.js';
15
- import { mdiPlayCircleOutline } from './185778b8.js';
16
- import { Theme, Emphasis } from '@lumx/core/js/constants';
17
- import { IconButton } from './5a0207d9.js';
18
- import { mdiChevronLeft } from './e9c3b1e0.js';
19
- import { mdiChevronRight } from './aeba575c.js';
20
-
21
- /**
22
- * Component display name.
23
- */
24
- const COMPONENT_NAME = 'SlideshowControls';
25
-
26
- /**
27
- * Component default class name and class prefix.
28
- */
29
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
30
-
31
- /**
32
- * Component default props.
33
- */
34
- const DEFAULT_PROPS = {
35
- activeIndex: 0
36
- };
37
-
38
- /**
39
- * SlideshowControls component.
40
- *
41
- * @param props Component props.
42
- * @param ref Component ref.
43
- * @return React element.
44
- */
45
- const InternalSlideshowControls = forwardRef((props, ref) => {
46
- const defaultTheme = useTheme() || Theme.light;
47
- const {
48
- activeIndex = DEFAULT_PROPS.activeIndex,
49
- className,
50
- nextButtonProps,
51
- onNextClick,
52
- onPaginationClick,
53
- onPreviousClick,
54
- parentRef,
55
- previousButtonProps,
56
- paginationProps,
57
- slidesCount,
58
- theme = defaultTheme,
59
- isAutoPlaying = false,
60
- playButtonProps,
61
- paginationItemLabel,
62
- paginationItemProps,
63
- ...forwardedProps
64
- } = props;
65
- let parent;
66
- if (WINDOW) {
67
- // Checking window object to avoid errors in SSR.
68
- parent = parentRef instanceof HTMLElement ? parentRef : parentRef?.current;
69
- }
70
- const paginationRef = React__default.useRef(null);
71
- // Listen to touch swipe navigate left & right.
72
- useSwipeNavigate(parent,
73
- // Go next without loopback.
74
- useCallback(() => onNextClick?.(false), [onNextClick]),
75
- // Go previous without loopback.
76
- useCallback(() => onPreviousClick?.(false), [onPreviousClick]));
77
-
78
- /**
79
- * Add roving tab index pattern to pagination items and activate slide on focus.
80
- */
81
- useRovingTabIndex({
82
- parentRef: paginationRef,
83
- elementSelector: 'button',
84
- keepTabIndex: true,
85
- onElementFocus: element => {
86
- element.click();
87
- }
88
- });
89
-
90
- // Pagination "bullet" range.
91
- const visibleRange = usePaginationVisibleRange(activeIndex, slidesCount);
92
-
93
- // Inline style of wrapper element.
94
- const wrapperStyle = {
95
- transform: `translateX(-${PAGINATION_ITEM_SIZE * visibleRange.min}px)`
96
- };
97
- return /*#__PURE__*/jsxs("div", {
98
- ref: ref,
99
- ...forwardedProps,
100
- className: classNames(className, handleBasicClasses({
101
- prefix: CLASSNAME,
102
- theme
103
- }), {
104
- [`${CLASSNAME}--has-infinite-pagination`]: slidesCount > PAGINATION_ITEMS_MAX
105
- }),
106
- children: [/*#__PURE__*/jsx(IconButton, {
107
- ...previousButtonProps,
108
- icon: mdiChevronLeft,
109
- className: `${CLASSNAME}__navigation`,
110
- color: theme === Theme.dark ? 'light' : 'dark',
111
- emphasis: Emphasis.low,
112
- onClick: onPreviousClick
113
- }), /*#__PURE__*/jsx("div", {
114
- ref: paginationRef,
115
- className: `${CLASSNAME}__pagination`,
116
- children: /*#__PURE__*/jsx("div", {
117
- className: `${CLASSNAME}__pagination-items`,
118
- style: wrapperStyle,
119
- role: "tablist",
120
- ...paginationProps,
121
- children: useMemo(() => range(slidesCount).map(index => {
122
- const isOnEdge = index !== 0 && index !== slidesCount - 1 && (index === visibleRange.min || index === visibleRange.max);
123
- const isActive = activeIndex === index;
124
- const isOutRange = index < visibleRange.min || index > visibleRange.max;
125
- const {
126
- className: itemClassName = undefined,
127
- label = undefined,
128
- ...itemProps
129
- } = paginationItemProps ? paginationItemProps(index) : {};
130
- const ariaLabel = label || paginationItemLabel?.(index) || `${index + 1} / ${slidesCount}`;
131
- return /*#__PURE__*/jsx("button", {
132
- className: classNames(handleBasicClasses({
133
- prefix: `${CLASSNAME}__pagination-item`,
134
- isActive,
135
- isOnEdge,
136
- isOutRange
137
- }), itemClassName),
138
- type: "button",
139
- tabIndex: isActive ? undefined : -1,
140
- role: "tab",
141
- "aria-selected": isActive,
142
- onClick: () => onPaginationClick?.(index),
143
- "aria-label": ariaLabel,
144
- ...itemProps
145
- }, index);
146
- }), [slidesCount, visibleRange.min, visibleRange.max, activeIndex, paginationItemProps, paginationItemLabel, onPaginationClick])
147
- })
148
- }), playButtonProps ? /*#__PURE__*/jsx(IconButton, {
149
- ...playButtonProps,
150
- icon: isAutoPlaying ? mdiPauseCircleOutline : mdiPlayCircleOutline,
151
- className: `${CLASSNAME}__play`,
152
- color: theme === Theme.dark ? 'light' : 'dark',
153
- emphasis: Emphasis.low
154
- }) : null, /*#__PURE__*/jsx(IconButton, {
155
- ...nextButtonProps,
156
- icon: mdiChevronRight,
157
- className: `${CLASSNAME}__navigation`,
158
- color: theme === Theme.dark ? 'light' : 'dark',
159
- emphasis: Emphasis.low,
160
- onClick: onNextClick
161
- })]
162
- });
163
- });
164
- InternalSlideshowControls.displayName = COMPONENT_NAME;
165
- InternalSlideshowControls.className = CLASSNAME;
166
- InternalSlideshowControls.defaultProps = DEFAULT_PROPS;
167
- const SlideshowControls = Object.assign(InternalSlideshowControls, {
168
- useSlideshowControls,
169
- useSlideshowControlsDefaultOptions: DEFAULT_OPTIONS
170
- });
171
-
172
- export { SlideshowControls };
173
- //# sourceMappingURL=1d7267a1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1d7267a1.js","sources":["../../src/components/slideshow/SlideshowControls.tsx"],"sourcesContent":["import React, { RefObject, useCallback, useMemo } from 'react';\n\nimport classNames from 'classnames';\nimport range from 'lodash/range';\n\nimport { mdiChevronLeft, mdiChevronRight, mdiPlayCircleOutline, mdiPauseCircleOutline } from '@lumx/icons';\nimport { Emphasis, IconButton, IconButtonProps, Theme } from '@lumx/react';\nimport { GenericProps, HasTheme } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { WINDOW } from '@lumx/react/constants';\nimport { useSlideshowControls, DEFAULT_OPTIONS } from '@lumx/react/hooks/useSlideshowControls';\nimport { useRovingTabIndex } from '@lumx/react/hooks/useRovingTabIndex';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\nimport { useTheme } from '@lumx/react/utils/theme/ThemeContext';\nimport { useSwipeNavigate } from './useSwipeNavigate';\nimport { PAGINATION_ITEM_SIZE, PAGINATION_ITEMS_MAX } from './constants';\nimport { usePaginationVisibleRange } from './usePaginationVisibleRange';\n\n/**\n * Defines the props of the component.\n */\nexport interface SlideshowControlsProps extends GenericProps, HasTheme {\n /** Index of the current slide. */\n activeIndex?: number;\n /** Props to pass to the next button (minus those already set by the SlideshowControls props). */\n nextButtonProps: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color'>;\n /** Reference to the parent element on which we want to listen touch swipe. */\n parentRef?: RefObject<HTMLDivElement> | HTMLDivElement | null;\n /** Props to pass to the previous button (minus those already set by the SlideshowControls props). */\n previousButtonProps: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color'>;\n /** Props to pass to the pagination wrapper */\n paginationProps?: Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'style' | 'role'>;\n /** Number of slides. */\n slidesCount: number;\n /** On next button click callback. */\n onNextClick?(loopback?: boolean): void;\n /** On pagination change callback. */\n onPaginationClick?(index: number): void;\n /** On previous button click callback. */\n onPreviousClick?(loopback?: boolean): void;\n /** whether the slideshow is currently playing */\n isAutoPlaying?: boolean;\n /**\n * function to be executed in order to retrieve the label for the pagination item\n * @deprecated Use paginationItemProps instead.\n * */\n paginationItemLabel?: (index: number) => string;\n /**\n * function to be executed in order to retrieve the props for a pagination item.\n */\n paginationItemProps?: (itemIndex: number) => React.HTMLAttributes<HTMLButtonElement> & { label?: string };\n /** Props to pass to the lay button (minus those already set by the SlideshowControls props). */\n playButtonProps?: Pick<IconButtonProps, 'label'> &\n Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis' | 'color'>;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'SlideshowControls';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<SlideshowControlsProps> = {\n activeIndex: 0,\n};\n\n/**\n * SlideshowControls component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nconst InternalSlideshowControls = forwardRef<SlideshowControlsProps, HTMLDivElement>((props, ref) => {\n const defaultTheme = useTheme() || Theme.light;\n const {\n activeIndex = DEFAULT_PROPS.activeIndex,\n className,\n nextButtonProps,\n onNextClick,\n onPaginationClick,\n onPreviousClick,\n parentRef,\n previousButtonProps,\n paginationProps,\n slidesCount,\n theme = defaultTheme,\n isAutoPlaying = false,\n playButtonProps,\n paginationItemLabel,\n paginationItemProps,\n ...forwardedProps\n } = props;\n\n let parent;\n if (WINDOW) {\n // Checking window object to avoid errors in SSR.\n parent = parentRef instanceof HTMLElement ? parentRef : parentRef?.current;\n }\n const paginationRef = React.useRef(null);\n // Listen to touch swipe navigate left & right.\n useSwipeNavigate(\n parent,\n // Go next without loopback.\n useCallback(() => onNextClick?.(false), [onNextClick]),\n // Go previous without loopback.\n useCallback(() => onPreviousClick?.(false), [onPreviousClick]),\n );\n\n /**\n * Add roving tab index pattern to pagination items and activate slide on focus.\n */\n useRovingTabIndex({\n parentRef: paginationRef,\n elementSelector: 'button',\n keepTabIndex: true,\n onElementFocus: (element) => {\n element.click();\n },\n });\n\n // Pagination \"bullet\" range.\n const visibleRange = usePaginationVisibleRange(activeIndex as number, slidesCount);\n\n // Inline style of wrapper element.\n const wrapperStyle = { transform: `translateX(-${PAGINATION_ITEM_SIZE * visibleRange.min}px)` };\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }), {\n [`${CLASSNAME}--has-infinite-pagination`]: slidesCount > PAGINATION_ITEMS_MAX,\n })}\n >\n <IconButton\n {...previousButtonProps}\n icon={mdiChevronLeft}\n className={`${CLASSNAME}__navigation`}\n color={theme === Theme.dark ? 'light' : 'dark'}\n emphasis={Emphasis.low}\n onClick={onPreviousClick}\n />\n <div ref={paginationRef} className={`${CLASSNAME}__pagination`}>\n <div\n className={`${CLASSNAME}__pagination-items`}\n style={wrapperStyle}\n role=\"tablist\"\n {...paginationProps}\n >\n {useMemo(\n () =>\n range(slidesCount).map((index) => {\n const isOnEdge =\n index !== 0 &&\n index !== slidesCount - 1 &&\n (index === visibleRange.min || index === visibleRange.max);\n const isActive = activeIndex === index;\n const isOutRange = index < visibleRange.min || index > visibleRange.max;\n const {\n className: itemClassName = undefined,\n label = undefined,\n ...itemProps\n } = paginationItemProps ? paginationItemProps(index) : {};\n\n const ariaLabel =\n label || paginationItemLabel?.(index) || `${index + 1} / ${slidesCount}`;\n\n return (\n <button\n className={classNames(\n handleBasicClasses({\n prefix: `${CLASSNAME}__pagination-item`,\n isActive,\n isOnEdge,\n isOutRange,\n }),\n itemClassName,\n )}\n key={index}\n type=\"button\"\n tabIndex={isActive ? undefined : -1}\n role=\"tab\"\n aria-selected={isActive}\n onClick={() => onPaginationClick?.(index)}\n aria-label={ariaLabel}\n {...itemProps}\n />\n );\n }),\n [\n slidesCount,\n visibleRange.min,\n visibleRange.max,\n activeIndex,\n paginationItemProps,\n paginationItemLabel,\n onPaginationClick,\n ],\n )}\n </div>\n </div>\n\n {playButtonProps ? (\n <IconButton\n {...playButtonProps}\n icon={isAutoPlaying ? mdiPauseCircleOutline : mdiPlayCircleOutline}\n className={`${CLASSNAME}__play`}\n color={theme === Theme.dark ? 'light' : 'dark'}\n emphasis={Emphasis.low}\n />\n ) : null}\n\n <IconButton\n {...nextButtonProps}\n icon={mdiChevronRight}\n className={`${CLASSNAME}__navigation`}\n color={theme === Theme.dark ? 'light' : 'dark'}\n emphasis={Emphasis.low}\n onClick={onNextClick}\n />\n </div>\n );\n});\n\nInternalSlideshowControls.displayName = COMPONENT_NAME;\nInternalSlideshowControls.className = CLASSNAME;\nInternalSlideshowControls.defaultProps = DEFAULT_PROPS;\n\nexport const SlideshowControls = Object.assign(InternalSlideshowControls, {\n useSlideshowControls,\n useSlideshowControlsDefaultOptions: DEFAULT_OPTIONS,\n});\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","activeIndex","InternalSlideshowControls","forwardRef","props","ref","defaultTheme","useTheme","Theme","light","className","nextButtonProps","onNextClick","onPaginationClick","onPreviousClick","parentRef","previousButtonProps","paginationProps","slidesCount","theme","isAutoPlaying","playButtonProps","paginationItemLabel","paginationItemProps","forwardedProps","parent","WINDOW","HTMLElement","current","paginationRef","React","useRef","useSwipeNavigate","useCallback","useRovingTabIndex","elementSelector","keepTabIndex","onElementFocus","element","click","visibleRange","usePaginationVisibleRange","wrapperStyle","transform","PAGINATION_ITEM_SIZE","min","_jsxs","classNames","handleBasicClasses","prefix","PAGINATION_ITEMS_MAX","children","_jsx","IconButton","icon","mdiChevronLeft","color","dark","emphasis","Emphasis","low","onClick","style","role","useMemo","range","map","index","isOnEdge","max","isActive","isOutRange","itemClassName","undefined","label","itemProps","ariaLabel","type","tabIndex","mdiPauseCircleOutline","mdiPlayCircleOutline","mdiChevronRight","displayName","defaultProps","SlideshowControls","Object","assign","useSlideshowControls","useSlideshowControlsDefaultOptions","DEFAULT_OPTIONS"],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import classNames from 'classnames';
2
- import { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';
3
- import { forwardRef } from './bd8b3ec8.js';
4
- import { jsx } from 'react/jsx-runtime';
5
- import { ColorPalette } from '@lumx/core/js/constants';
6
-
7
- /**
8
- * Component display name.
9
- */
10
- const COMPONENT_NAME = 'Badge';
11
-
12
- /**
13
- * Component default class name and class prefix.
14
- */
15
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
16
-
17
- /**
18
- * Component default props.
19
- */
20
- const DEFAULT_PROPS = {
21
- color: ColorPalette.primary
22
- };
23
-
24
- /**
25
- * Badge component.
26
- *
27
- * @param props Component props.
28
- * @param ref Component ref.
29
- * @return React element.
30
- */
31
- const Badge = forwardRef((props, ref) => {
32
- const {
33
- children,
34
- className,
35
- color = DEFAULT_PROPS.color,
36
- ...forwardedProps
37
- } = props;
38
- return /*#__PURE__*/jsx("div", {
39
- ref: ref,
40
- ...forwardedProps,
41
- className: classNames(className, handleBasicClasses({
42
- prefix: CLASSNAME,
43
- color
44
- })),
45
- children: children
46
- });
47
- });
48
- Badge.displayName = COMPONENT_NAME;
49
- Badge.className = CLASSNAME;
50
- Badge.defaultProps = DEFAULT_PROPS;
51
-
52
- export { Badge };
53
- //# sourceMappingURL=1df25415.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1df25415.js","sources":["../../src/components/badge/Badge.tsx"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport classNames from 'classnames';\n\nimport { ColorPalette } from '@lumx/react';\nimport { GenericProps } from '@lumx/react/utils/type';\nimport { getRootClassName, handleBasicClasses } from '@lumx/core/js/utils/className';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\n\n/**\n * Defines the props of the component.\n */\nexport interface BadgeProps extends GenericProps {\n /** Badge content. */\n children?: ReactNode;\n /** Color variant. */\n color?: ColorPalette;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Badge';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<BadgeProps> = {\n color: ColorPalette.primary,\n};\n\n/**\n * Badge component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Badge = forwardRef<BadgeProps, HTMLDivElement>((props, ref) => {\n const { children, className, color = DEFAULT_PROPS.color, ...forwardedProps } = props;\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, color }))}\n >\n {children}\n </div>\n );\n});\nBadge.displayName = COMPONENT_NAME;\nBadge.className = CLASSNAME;\nBadge.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","color","ColorPalette","primary","Badge","forwardRef","props","ref","children","className","forwardedProps","_jsx","classNames","handleBasicClasses","prefix","displayName","defaultProps"],"mappings":";;;;;;AAmBA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,OAAO,CAAA;;AAE9B;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAkC,GAAG;EACvCC,KAAK,EAAEC,YAAY,CAACC,OAAAA;AACxB,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,KAAK,GAAGC,UAAU,CAA6B,CAACC,KAAK,EAAEC,GAAG,KAAK;EACxE,MAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAER,KAAK,GAAGD,aAAa,CAACC,KAAK;IAAE,GAAGS,cAAAA;AAAe,GAAC,GAAGJ,KAAK,CAAA;AACrF,EAAA,oBACIK,GAAA,CAAA,KAAA,EAAA;AACIJ,IAAAA,GAAG,EAAEA,GAAI;AAAA,IAAA,GACLG,cAAc;AAClBD,IAAAA,SAAS,EAAEG,UAAU,CAACH,SAAS,EAAEI,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEhB,SAAS;AAAEG,MAAAA,KAAAA;AAAM,KAAC,CAAC,CAAE;AAAAO,IAAAA,QAAA,EAElFA,QAAAA;AAAQ,GACR,CAAC,CAAA;AAEd,CAAC,EAAC;AACFJ,KAAK,CAACW,WAAW,GAAGlB,cAAc,CAAA;AAClCO,KAAK,CAACK,SAAS,GAAGX,SAAS,CAAA;AAC3BM,KAAK,CAACY,YAAY,GAAGhB,aAAa;;;;"}
@@ -1,27 +0,0 @@
1
- import React__default from 'react';
2
- import throttle from 'lodash/throttle';
3
-
4
- /**
5
- * Observe element size (only works if it's size depends on the window size).
6
- *
7
- * (Not using ResizeObserver for better browser backward compat)
8
- *
9
- * @param elementRef Element to observe
10
- * @return the size and a manual update callback
11
- */
12
- function useSizeOnWindowResize(elementRef) {
13
- const [size, setSize] = React__default.useState(null);
14
- const updateSize = React__default.useMemo(() => throttle(() => {
15
- const newSize = elementRef.current?.getBoundingClientRect();
16
- if (newSize) setSize(newSize);
17
- }, 10), [elementRef]);
18
- React__default.useEffect(() => {
19
- updateSize();
20
- window.addEventListener('resize', updateSize);
21
- return () => window.removeEventListener('resize', updateSize);
22
- }, [updateSize]);
23
- return [size, updateSize];
24
- }
25
-
26
- export { useSizeOnWindowResize };
27
- //# sourceMappingURL=1ee5415f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1ee5415f.js","sources":["../../src/hooks/useSizeOnWindowResize.ts"],"sourcesContent":["import React from 'react';\n\nimport throttle from 'lodash/throttle';\nimport { RectSize } from '@lumx/react/utils/type';\n\n/**\n * Observe element size (only works if it's size depends on the window size).\n *\n * (Not using ResizeObserver for better browser backward compat)\n *\n * @param elementRef Element to observe\n * @return the size and a manual update callback\n */\nexport function useSizeOnWindowResize(elementRef: React.RefObject<HTMLElement>): [RectSize | null, () => void] {\n const [size, setSize] = React.useState<null | RectSize>(null);\n const updateSize = React.useMemo(\n () =>\n throttle(() => {\n const newSize = elementRef.current?.getBoundingClientRect();\n if (newSize) setSize(newSize);\n }, 10),\n [elementRef],\n );\n React.useEffect(() => {\n updateSize();\n window.addEventListener('resize', updateSize);\n return () => window.removeEventListener('resize', updateSize);\n }, [updateSize]);\n return [size, updateSize];\n}\n"],"names":["useSizeOnWindowResize","elementRef","size","setSize","React","useState","updateSize","useMemo","throttle","newSize","current","getBoundingClientRect","useEffect","window","addEventListener","removeEventListener"],"mappings":";;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAqBA,CAACC,UAAwC,EAAiC;EAC3G,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAkB,IAAI,CAAC,CAAA;EAC7D,MAAMC,UAAU,GAAGF,cAAK,CAACG,OAAO,CAC5B,MACIC,QAAQ,CAAC,MAAM;IACX,MAAMC,OAAO,GAAGR,UAAU,CAACS,OAAO,EAAEC,qBAAqB,EAAE,CAAA;AAC3D,IAAA,IAAIF,OAAO,EAAEN,OAAO,CAACM,OAAO,CAAC,CAAA;AACjC,GAAC,EAAE,EAAE,CAAC,EACV,CAACR,UAAU,CACf,CAAC,CAAA;EACDG,cAAK,CAACQ,SAAS,CAAC,MAAM;AAClBN,IAAAA,UAAU,EAAE,CAAA;AACZO,IAAAA,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAER,UAAU,CAAC,CAAA;IAC7C,OAAO,MAAMO,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAET,UAAU,CAAC,CAAA;AACjE,GAAC,EAAE,CAACA,UAAU,CAAC,CAAC,CAAA;AAChB,EAAA,OAAO,CAACJ,IAAI,EAAEI,UAAU,CAAC,CAAA;AAC7B;;;;"}
@@ -1,5 +0,0 @@
1
- /** Return true if the browser does not support pointer hover */
2
- const isHoverNotSupported = () => !!window.matchMedia?.('(hover: none)').matches;
3
-
4
- export { isHoverNotSupported };
5
- //# sourceMappingURL=1ff933af.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"1ff933af.js","sources":["../../src/utils/browser/isHoverNotSupported.ts"],"sourcesContent":["/** Return true if the browser does not support pointer hover */\nexport const isHoverNotSupported = (): boolean => !!window.matchMedia?.('(hover: none)').matches;\n"],"names":["isHoverNotSupported","window","matchMedia","matches"],"mappings":"AAAA;AACaA,MAAAA,mBAAmB,GAAGA,MAAe,CAAC,CAACC,MAAM,CAACC,UAAU,GAAG,eAAe,CAAC,CAACC;;;;"}
@@ -1,17 +0,0 @@
1
- function mergeByName(modifiers) {
2
- var merged = modifiers.reduce(function (merged, current) {
3
- var existing = merged[current.name];
4
- merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {
5
- options: Object.assign(Object.assign({}, existing.options), current.options),
6
- data: Object.assign(Object.assign({}, existing.data), current.data)
7
- }) : current;
8
- return merged;
9
- }, {}); // IE11 does not support Object.values
10
-
11
- return Object.keys(merged).map(function (key) {
12
- return merged[key];
13
- });
14
- }
15
-
16
- export { mergeByName as default };
17
- //# sourceMappingURL=200c2ce1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"200c2ce1.js","sources":["../../../../node_modules/@popperjs/core/lib/utils/mergeByName.js"],"sourcesContent":["export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {\n options: Object.assign(Object.assign({}, existing.options), current.options),\n data: Object.assign(Object.assign({}, existing.data), current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}"],"names":[],"mappings":"AAAe,SAAS,WAAW,CAAC,SAAS,EAAE;AAC/C,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,MAAM,EAAE,OAAO,EAAE;AAC3D,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACxC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE;AAC7G,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;AAClF,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC;AACzE,KAAK,CAAC,GAAG,OAAO,CAAC;AACjB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,EAAE,EAAE,CAAC,CAAC;AACT;AACA,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE;AAChD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,GAAG,CAAC,CAAC;AACL;;;;","x_google_ignoreList":[0]}
@@ -1,88 +0,0 @@
1
- import classNames from 'classnames';
2
- import { getRootClassName, getTypographyClassName, handleBasicClasses, fontColorClass } from '@lumx/core/js/utils/className';
3
- import { useOverflowTooltipLabel } from './9a0544c4.js';
4
- import { useMergeRefs } from './27df0cb6.js';
5
- import { forwardRef } from './bd8b3ec8.js';
6
- import { wrapChildrenIconWithSpaces } from './16f5497d.js';
7
- import { jsx } from 'react/jsx-runtime';
8
-
9
- /**
10
- * Component display name.
11
- */
12
- const COMPONENT_NAME = 'Text';
13
-
14
- /**
15
- * Component default class name and class prefix.
16
- */
17
- const CLASSNAME = getRootClassName(COMPONENT_NAME);
18
-
19
- /**
20
- * Component default props.
21
- */
22
- const DEFAULT_PROPS = {};
23
-
24
- /**
25
- * Text component.
26
- *
27
- * @param props Component props.
28
- * @param ref Component ref.
29
- * @return React element.
30
- */
31
- const Text = forwardRef((props, ref) => {
32
- const {
33
- as: Component,
34
- children,
35
- className,
36
- color,
37
- colorVariant,
38
- noWrap,
39
- typography,
40
- truncate,
41
- whiteSpace,
42
- style,
43
- ...forwardedProps
44
- } = props;
45
- const typographyClass = typography && getTypographyClassName(typography);
46
-
47
- // Truncate mode
48
- const truncateLinesStyle = typeof truncate === 'object' && truncate.lines > 1 && {
49
- '--lumx-text-truncate-lines': truncate.lines
50
- };
51
- const isTruncatedMultiline = !!truncateLinesStyle;
52
- const isTruncated = !!truncate;
53
-
54
- /**
55
- * Add custom white-space style if specified
56
- * Disabled if noWrap is specified
57
- * Disabled if truncated on one-line
58
- * */
59
- const whiteSpaceStyle = !noWrap && !(isTruncated && !isTruncatedMultiline) && whiteSpace && {
60
- '--lumx-text-white-space': whiteSpace
61
- };
62
- const {
63
- tooltipLabel,
64
- labelRef
65
- } = useOverflowTooltipLabel(children);
66
- return /*#__PURE__*/jsx(Component, {
67
- ref: useMergeRefs(ref, labelRef),
68
- className: classNames(className, handleBasicClasses({
69
- prefix: CLASSNAME,
70
- isTruncated: isTruncated && !isTruncatedMultiline,
71
- isTruncatedMultiline
72
- }), typographyClass, fontColorClass(color, colorVariant), noWrap && `${CLASSNAME}--no-wrap`),
73
- title: tooltipLabel,
74
- style: {
75
- ...truncateLinesStyle,
76
- ...whiteSpaceStyle,
77
- ...style
78
- },
79
- ...forwardedProps,
80
- children: wrapChildrenIconWithSpaces(children)
81
- });
82
- });
83
- Text.displayName = COMPONENT_NAME;
84
- Text.className = CLASSNAME;
85
- Text.defaultProps = DEFAULT_PROPS;
86
-
87
- export { Text };
88
- //# sourceMappingURL=203b01d8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"203b01d8.js","sources":["../../src/components/text/Text.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport { ColorWithVariants, ColorVariant, Typography, WhiteSpace } from '@lumx/react';\nimport { GenericProps, TextElement } from '@lumx/react/utils/type';\nimport {\n fontColorClass,\n getRootClassName,\n handleBasicClasses,\n getTypographyClassName,\n} from '@lumx/core/js/utils/className';\nimport { useOverflowTooltipLabel } from '@lumx/react/hooks/useOverflowTooltipLabel';\nimport { useMergeRefs } from '@lumx/react/utils/react/mergeRefs';\nimport { forwardRef } from '@lumx/react/utils/react/forwardRef';\nimport { wrapChildrenIconWithSpaces } from '@lumx/react/utils/react/wrapChildrenIconWithSpaces';\n\n/**\n * Defines the props of the component.\n */\nexport interface TextProps extends GenericProps {\n /**\n * Color variant.\n */\n color?: ColorWithVariants;\n /**\n * Lightened or darkened variant of the selected color.\n */\n colorVariant?: ColorVariant;\n /**\n * Typography variant.\n */\n typography?: Typography;\n /**\n * Custom component to render the text.\n */\n as: TextElement;\n /**\n * Control whether the text should truncate or not.\n * Setting as `true` will make the text truncate on a single line.\n * Setting as `{ lines: number }` will make the text truncate on a multiple lines.\n */\n truncate?: boolean | { lines: number };\n /**\n * Prevents text to wrap on multiple lines\n * (automatically activated when single line text truncate is activated).\n */\n noWrap?: boolean;\n /**\n * WhiteSpace variant\n * Ignored when `noWrap` is set to true\n * Ignored when `truncate` is set to true or lines: 1\n * */\n whiteSpace?: WhiteSpace;\n /**\n * Children\n */\n children?: React.ReactNode;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Text';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS = {} as const;\n\n/**\n * Text component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Text = forwardRef<TextProps>((props, ref) => {\n const {\n as: Component,\n children,\n className,\n color,\n colorVariant,\n noWrap,\n typography,\n truncate,\n whiteSpace,\n style,\n ...forwardedProps\n } = props;\n\n const typographyClass = typography && getTypographyClassName(typography);\n\n // Truncate mode\n const truncateLinesStyle = typeof truncate === 'object' &&\n truncate.lines > 1 && { '--lumx-text-truncate-lines': truncate.lines };\n const isTruncatedMultiline = !!truncateLinesStyle;\n const isTruncated = !!truncate;\n\n /**\n * Add custom white-space style if specified\n * Disabled if noWrap is specified\n * Disabled if truncated on one-line\n * */\n const whiteSpaceStyle = !noWrap &&\n !(isTruncated && !isTruncatedMultiline) &&\n whiteSpace && { '--lumx-text-white-space': whiteSpace };\n\n const { tooltipLabel, labelRef } = useOverflowTooltipLabel(children);\n\n return (\n <Component\n ref={useMergeRefs(ref as React.Ref<any>, labelRef)}\n className={classNames(\n className,\n handleBasicClasses({\n prefix: CLASSNAME,\n isTruncated: isTruncated && !isTruncatedMultiline,\n isTruncatedMultiline,\n }),\n typographyClass,\n fontColorClass(color, colorVariant),\n noWrap && `${CLASSNAME}--no-wrap`,\n )}\n title={tooltipLabel}\n style={{ ...truncateLinesStyle, ...whiteSpaceStyle, ...style }}\n {...forwardedProps}\n >\n {wrapChildrenIconWithSpaces(children)}\n </Component>\n );\n});\nText.displayName = COMPONENT_NAME;\nText.className = CLASSNAME;\nText.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","Text","forwardRef","props","ref","as","Component","children","className","color","colorVariant","noWrap","typography","truncate","whiteSpace","style","forwardedProps","typographyClass","getTypographyClassName","truncateLinesStyle","lines","isTruncatedMultiline","isTruncated","whiteSpaceStyle","tooltipLabel","labelRef","useOverflowTooltipLabel","_jsx","useMergeRefs","classNames","handleBasicClasses","prefix","fontColorClass","title","wrapChildrenIconWithSpaces","displayName","defaultProps"],"mappings":";;;;;;;;AA0DA;AACA;AACA;AACA,MAAMA,cAAc,GAAG,MAAM,CAAA;;AAE7B;AACA;AACA;AACA,MAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAc,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAMG,aAAa,GAAG,EAAW,CAAA;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,IAAI,GAAGC,UAAU,CAAY,CAACC,KAAK,EAAEC,GAAG,KAAK;EACtD,MAAM;AACFC,IAAAA,EAAE,EAAEC,SAAS;IACbC,QAAQ;IACRC,SAAS;IACTC,KAAK;IACLC,YAAY;IACZC,MAAM;IACNC,UAAU;IACVC,QAAQ;IACRC,UAAU;IACVC,KAAK;IACL,GAAGC,cAAAA;AACP,GAAC,GAAGb,KAAK,CAAA;AAET,EAAA,MAAMc,eAAe,GAAGL,UAAU,IAAIM,sBAAsB,CAACN,UAAU,CAAC,CAAA;;AAExE;AACA,EAAA,MAAMO,kBAAkB,GAAG,OAAON,QAAQ,KAAK,QAAQ,IACnDA,QAAQ,CAACO,KAAK,GAAG,CAAC,IAAI;IAAE,4BAA4B,EAAEP,QAAQ,CAACO,KAAAA;GAAO,CAAA;AAC1E,EAAA,MAAMC,oBAAoB,GAAG,CAAC,CAACF,kBAAkB,CAAA;AACjD,EAAA,MAAMG,WAAW,GAAG,CAAC,CAACT,QAAQ,CAAA;;AAE9B;AACJ;AACA;AACA;AACA;AACI,EAAA,MAAMU,eAAe,GAAG,CAACZ,MAAM,IAC3B,EAAEW,WAAW,IAAI,CAACD,oBAAoB,CAAC,IACvCP,UAAU,IAAI;AAAE,IAAA,yBAAyB,EAAEA,UAAAA;GAAY,CAAA;EAE3D,MAAM;IAAEU,YAAY;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGC,uBAAuB,CAACnB,QAAQ,CAAC,CAAA;EAEpE,oBACIoB,GAAA,CAACrB,SAAS,EAAA;AACNF,IAAAA,GAAG,EAAEwB,YAAY,CAACxB,GAAG,EAAoBqB,QAAQ,CAAE;AACnDjB,IAAAA,SAAS,EAAEqB,UAAU,CACjBrB,SAAS,EACTsB,kBAAkB,CAAC;AACfC,MAAAA,MAAM,EAAEjC,SAAS;AACjBwB,MAAAA,WAAW,EAAEA,WAAW,IAAI,CAACD,oBAAoB;AACjDA,MAAAA,oBAAAA;AACJ,KAAC,CAAC,EACFJ,eAAe,EACfe,cAAc,CAACvB,KAAK,EAAEC,YAAY,CAAC,EACnCC,MAAM,IAAI,CAAGb,EAAAA,SAAS,WAC1B,CAAE;AACFmC,IAAAA,KAAK,EAAET,YAAa;AACpBT,IAAAA,KAAK,EAAE;AAAE,MAAA,GAAGI,kBAAkB;AAAE,MAAA,GAAGI,eAAe;MAAE,GAAGR,KAAAA;KAAQ;AAAA,IAAA,GAC3DC,cAAc;IAAAT,QAAA,EAEjB2B,0BAA0B,CAAC3B,QAAQ,CAAA;AAAC,GAC9B,CAAC,CAAA;AAEpB,CAAC,EAAC;AACFN,IAAI,CAACkC,WAAW,GAAGtC,cAAc,CAAA;AACjCI,IAAI,CAACO,SAAS,GAAGV,SAAS,CAAA;AAC1BG,IAAI,CAACmC,YAAY,GAAGpC,aAAa;;;;"}