@shibui-ui/ui 1.24.1 → 1.25.1

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 (460) hide show
  1. package/dist/components/atoms/index.d.ts +45 -16
  2. package/dist/components/atoms/index.d.ts.map +1 -1
  3. package/dist/components/molecules/index.d.ts +20 -1
  4. package/dist/components/molecules/index.d.ts.map +1 -1
  5. package/dist/components/organisms/index.d.ts +17 -1
  6. package/dist/components/organisms/index.d.ts.map +1 -1
  7. package/dist/index.d.ts +3 -82
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +79 -80
  10. package/dist/index.js.map +1 -1
  11. package/dist/index10.js +82 -18
  12. package/dist/index10.js.map +1 -1
  13. package/dist/index11.js +84 -69
  14. package/dist/index11.js.map +1 -1
  15. package/dist/index12.js +40 -26
  16. package/dist/index12.js.map +1 -1
  17. package/dist/index13.js +16 -39
  18. package/dist/index13.js.map +1 -1
  19. package/dist/index14.js +29 -44
  20. package/dist/index14.js.map +1 -1
  21. package/dist/index15.js +16 -117
  22. package/dist/index15.js.map +1 -1
  23. package/dist/index16.js +48 -40
  24. package/dist/index16.js.map +1 -1
  25. package/dist/index17.js +41 -25
  26. package/dist/index17.js.map +1 -1
  27. package/dist/index18.js +76 -49
  28. package/dist/index18.js.map +1 -1
  29. package/dist/index19.js +19 -39
  30. package/dist/index19.js.map +1 -1
  31. package/dist/index194.js +94 -24
  32. package/dist/index194.js.map +1 -1
  33. package/dist/index195.js +2 -2
  34. package/dist/index197.js +2 -24
  35. package/dist/index197.js.map +1 -1
  36. package/dist/index198.js +74 -2
  37. package/dist/index198.js.map +1 -1
  38. package/dist/index199.js +64 -35
  39. package/dist/index199.js.map +1 -1
  40. package/dist/index20.js +21 -41
  41. package/dist/index20.js.map +1 -1
  42. package/dist/index200.js +2 -2
  43. package/dist/index201.js +54 -13
  44. package/dist/index201.js.map +1 -1
  45. package/dist/index202.js +2 -2
  46. package/dist/index203.js +2 -2
  47. package/dist/index204.js +143 -157
  48. package/dist/index204.js.map +1 -1
  49. package/dist/index205.js +43 -24
  50. package/dist/index205.js.map +1 -1
  51. package/dist/index206.js +51 -2
  52. package/dist/index206.js.map +1 -1
  53. package/dist/index207.js +2 -11
  54. package/dist/index207.js.map +1 -1
  55. package/dist/index208.js +33 -2
  56. package/dist/index208.js.map +1 -1
  57. package/dist/index209.js +2 -91
  58. package/dist/index209.js.map +1 -1
  59. package/dist/index21.js +90 -26
  60. package/dist/index21.js.map +1 -1
  61. package/dist/index210.js +6 -2
  62. package/dist/index210.js.map +1 -1
  63. package/dist/index211.js +2 -41
  64. package/dist/index211.js.map +1 -1
  65. package/dist/index212.js +260 -2
  66. package/dist/index212.js.map +1 -1
  67. package/dist/index213.js +16 -5
  68. package/dist/index213.js.map +1 -1
  69. package/dist/index214.js +2 -2
  70. package/dist/index215.js +2 -35
  71. package/dist/index215.js.map +1 -1
  72. package/dist/index216.js +59 -42
  73. package/dist/index216.js.map +1 -1
  74. package/dist/index217.js +32 -2
  75. package/dist/index217.js.map +1 -1
  76. package/dist/index218.js +2 -85
  77. package/dist/index218.js.map +1 -1
  78. package/dist/index219.js +2 -2
  79. package/dist/index22.js +41 -48
  80. package/dist/index22.js.map +1 -1
  81. package/dist/index220.js +73 -65
  82. package/dist/index220.js.map +1 -1
  83. package/dist/index221.js +81 -2
  84. package/dist/index221.js.map +1 -1
  85. package/dist/index222.js +2 -10
  86. package/dist/index222.js.map +1 -1
  87. package/dist/index223.js +133 -2
  88. package/dist/index223.js.map +1 -1
  89. package/dist/index224.js +2 -26
  90. package/dist/index224.js.map +1 -1
  91. package/dist/index225.js +2 -2
  92. package/dist/index226.js +66 -12
  93. package/dist/index226.js.map +1 -1
  94. package/dist/index227.js +97 -2
  95. package/dist/index227.js.map +1 -1
  96. package/dist/index228.js +2 -2
  97. package/dist/index229.js +62 -24
  98. package/dist/index229.js.map +1 -1
  99. package/dist/index23.js +50 -94
  100. package/dist/index23.js.map +1 -1
  101. package/dist/index230.js +2 -2
  102. package/dist/index231.js +2 -2
  103. package/dist/index232.js +12 -2
  104. package/dist/index232.js.map +1 -1
  105. package/dist/index233.js +5 -16
  106. package/dist/index233.js.map +1 -1
  107. package/dist/index234.js +2 -2
  108. package/dist/index235.js +11 -9
  109. package/dist/index235.js.map +1 -1
  110. package/dist/index236.js +2 -2
  111. package/dist/index237.js +76 -34
  112. package/dist/index237.js.map +1 -1
  113. package/dist/index238.js +2 -2
  114. package/dist/index239.js +2 -27
  115. package/dist/index239.js.map +1 -1
  116. package/dist/index24.js +37 -34
  117. package/dist/index24.js.map +1 -1
  118. package/dist/index240.js +39 -2
  119. package/dist/index240.js.map +1 -1
  120. package/dist/index241.js +2 -34
  121. package/dist/index241.js.map +1 -1
  122. package/dist/index242.js +235 -12
  123. package/dist/index242.js.map +1 -1
  124. package/dist/index243.js +82 -2
  125. package/dist/index243.js.map +1 -1
  126. package/dist/index244.js +2 -9
  127. package/dist/index244.js.map +1 -1
  128. package/dist/index245.js +94 -2
  129. package/dist/index245.js.map +1 -1
  130. package/dist/index246.js +2 -5
  131. package/dist/index246.js.map +1 -1
  132. package/dist/index247.js +268 -2
  133. package/dist/index247.js.map +1 -1
  134. package/dist/index248.js +2 -36
  135. package/dist/index248.js.map +1 -1
  136. package/dist/index249.js +21 -2
  137. package/dist/index249.js.map +1 -1
  138. package/dist/index25.js +51 -32
  139. package/dist/index25.js.map +1 -1
  140. package/dist/index250.js +2 -31
  141. package/dist/index250.js.map +1 -1
  142. package/dist/index251.js +9 -2
  143. package/dist/index251.js.map +1 -1
  144. package/dist/index252.js +2 -19
  145. package/dist/index252.js.map +1 -1
  146. package/dist/index253.js +15 -2
  147. package/dist/index253.js.map +1 -1
  148. package/dist/index254.js +2 -2
  149. package/dist/index255.js +135 -69
  150. package/dist/index255.js.map +1 -1
  151. package/dist/index256.js +2 -11
  152. package/dist/index256.js.map +1 -1
  153. package/dist/index257.js +5 -2
  154. package/dist/index257.js.map +1 -1
  155. package/dist/index258.js +2 -78
  156. package/dist/index258.js.map +1 -1
  157. package/dist/index259.js +9 -2
  158. package/dist/index259.js.map +1 -1
  159. package/dist/index26.js +31 -236
  160. package/dist/index26.js.map +1 -1
  161. package/dist/index260.js +2 -32
  162. package/dist/index260.js.map +1 -1
  163. package/dist/index261.js +2 -2
  164. package/dist/index262.js +92 -9
  165. package/dist/index262.js.map +1 -1
  166. package/dist/index263.js +59 -2
  167. package/dist/index263.js.map +1 -1
  168. package/dist/index264.js +2 -16
  169. package/dist/index264.js.map +1 -1
  170. package/dist/index265.js +41 -2
  171. package/dist/index265.js.map +1 -1
  172. package/dist/index266.js +2 -16
  173. package/dist/index266.js.map +1 -1
  174. package/dist/index267.js +34 -9
  175. package/dist/index267.js.map +1 -1
  176. package/dist/index268.js +8 -54
  177. package/dist/index268.js.map +1 -1
  178. package/dist/index269.js +2 -2
  179. package/dist/index27.js +27 -58
  180. package/dist/index27.js.map +1 -1
  181. package/dist/index270.js +42 -7
  182. package/dist/index270.js.map +1 -1
  183. package/dist/index271.js +2 -2
  184. package/dist/index272.js +2 -34
  185. package/dist/index272.js.map +1 -1
  186. package/dist/index273.js +16 -2
  187. package/dist/index273.js.map +1 -1
  188. package/dist/index274.js +9 -2
  189. package/dist/index274.js.map +1 -1
  190. package/dist/index275.js +6 -13
  191. package/dist/index275.js.map +1 -1
  192. package/dist/index276.js +2 -2
  193. package/dist/index277.js +8 -15
  194. package/dist/index277.js.map +1 -1
  195. package/dist/index278.js +2 -2
  196. package/dist/index279.js +55 -2
  197. package/dist/index279.js.map +1 -1
  198. package/dist/index28.js +247 -24
  199. package/dist/index28.js.map +1 -1
  200. package/dist/index280.js +2 -42
  201. package/dist/index280.js.map +1 -1
  202. package/dist/index281.js +2 -100
  203. package/dist/index281.js.map +1 -1
  204. package/dist/index282.js +20 -2
  205. package/dist/index282.js.map +1 -1
  206. package/dist/index283.js +2 -97
  207. package/dist/index283.js.map +1 -1
  208. package/dist/index284.js +33 -2
  209. package/dist/index284.js.map +1 -1
  210. package/dist/index285.js +6 -27
  211. package/dist/index285.js.map +1 -1
  212. package/dist/index286.js +2 -2
  213. package/dist/index287.js +9 -44
  214. package/dist/index287.js.map +1 -1
  215. package/dist/index288.js +2 -2
  216. package/dist/index289.js +2 -33
  217. package/dist/index289.js.map +1 -1
  218. package/dist/index29.js +249 -39
  219. package/dist/index29.js.map +1 -1
  220. package/dist/index290.js +36 -2
  221. package/dist/index290.js.map +1 -1
  222. package/dist/index291.js +2 -57
  223. package/dist/index291.js.map +1 -1
  224. package/dist/index292.js +24 -2
  225. package/dist/index292.js.map +1 -1
  226. package/dist/index293.js +2 -2
  227. package/dist/index294.js +26 -247
  228. package/dist/index294.js.map +1 -1
  229. package/dist/index295.js +2 -2
  230. package/dist/index296.js +2 -72
  231. package/dist/index296.js.map +1 -1
  232. package/dist/index297.js +42 -2
  233. package/dist/index297.js.map +1 -1
  234. package/dist/index298.js +7 -56
  235. package/dist/index298.js.map +1 -1
  236. package/dist/index299.js +2 -133
  237. package/dist/index299.js.map +1 -1
  238. package/dist/index30.js +32 -19
  239. package/dist/index30.js.map +1 -1
  240. package/dist/index300.js +30 -2
  241. package/dist/index300.js.map +1 -1
  242. package/dist/index301.js +2 -12
  243. package/dist/index301.js.map +1 -1
  244. package/dist/index302.js +34 -2
  245. package/dist/index302.js.map +1 -1
  246. package/dist/index303.js +2 -162
  247. package/dist/index303.js.map +1 -1
  248. package/dist/index304.js +26 -42
  249. package/dist/index304.js.map +1 -1
  250. package/dist/index305.js +2 -81
  251. package/dist/index305.js.map +1 -1
  252. package/dist/index306.js +10 -2
  253. package/dist/index306.js.map +1 -1
  254. package/dist/index307.js +2 -71
  255. package/dist/index307.js.map +1 -1
  256. package/dist/index308.js +2 -2
  257. package/dist/index309.js +19 -2
  258. package/dist/index309.js.map +1 -1
  259. package/dist/index31.js +96 -11
  260. package/dist/index31.js.map +1 -1
  261. package/dist/index310.js +2 -81
  262. package/dist/index310.js.map +1 -1
  263. package/dist/index311.js +2 -2
  264. package/dist/index312.js +42 -2
  265. package/dist/index312.js.map +1 -1
  266. package/dist/index313.js +2 -74
  267. package/dist/index313.js.map +1 -1
  268. package/dist/index314.js +25 -67
  269. package/dist/index314.js.map +1 -1
  270. package/dist/index315.js +2 -2
  271. package/dist/index316.js +9 -17
  272. package/dist/index316.js.map +1 -1
  273. package/dist/index317.js +2 -2
  274. package/dist/index318.js +84 -32
  275. package/dist/index318.js.map +1 -1
  276. package/dist/index319.js +2 -2
  277. package/dist/index32.js +40 -48
  278. package/dist/index32.js.map +1 -1
  279. package/dist/index320.js +68 -77
  280. package/dist/index320.js.map +1 -1
  281. package/dist/index321.js +2 -2
  282. package/dist/index322.js +12 -148
  283. package/dist/index322.js.map +1 -1
  284. package/dist/index323.js +1 -1
  285. package/dist/index324.js +28 -6
  286. package/dist/index324.js.map +1 -1
  287. package/dist/index325.js +2 -2
  288. package/dist/index326.js +78 -87
  289. package/dist/index326.js.map +1 -1
  290. package/dist/index327.js +2 -2
  291. package/dist/index328.js +78 -2
  292. package/dist/index328.js.map +1 -1
  293. package/dist/index329.js +2 -237
  294. package/dist/index329.js.map +1 -1
  295. package/dist/index33.js +20 -56
  296. package/dist/index33.js.map +1 -1
  297. package/dist/index330.js +11 -6
  298. package/dist/index330.js.map +1 -1
  299. package/dist/index331.js +2 -2
  300. package/dist/index332.js +18 -59
  301. package/dist/index332.js.map +1 -1
  302. package/dist/index333.js +2 -2
  303. package/dist/index334.js +12 -5
  304. package/dist/index334.js.map +1 -1
  305. package/dist/index335.js +2 -2
  306. package/dist/index336.js +2 -15
  307. package/dist/index336.js.map +1 -1
  308. package/dist/index337.js +88 -2
  309. package/dist/index337.js.map +1 -1
  310. package/dist/index338.js +24 -2
  311. package/dist/index338.js.map +1 -1
  312. package/dist/index339.js +2 -92
  313. package/dist/index339.js.map +1 -1
  314. package/dist/index34.js +59 -35
  315. package/dist/index34.js.map +1 -1
  316. package/dist/index340.js +42 -14
  317. package/dist/index340.js.map +1 -1
  318. package/dist/index341.js +2 -2
  319. package/dist/index342.js +22 -80
  320. package/dist/index342.js.map +1 -1
  321. package/dist/index343.js +2 -2
  322. package/dist/index344.js +2 -18
  323. package/dist/index344.js.map +1 -1
  324. package/dist/index345.js +16 -2
  325. package/dist/index345.js.map +1 -1
  326. package/dist/index346.js +2 -268
  327. package/dist/index346.js.map +1 -1
  328. package/dist/index347.js +176 -2
  329. package/dist/index347.js.map +1 -1
  330. package/dist/index348.js +2 -2
  331. package/dist/index349.js +35 -39
  332. package/dist/index349.js.map +1 -1
  333. package/dist/index35.js +101 -28
  334. package/dist/index35.js.map +1 -1
  335. package/dist/index350.js +3 -3
  336. package/dist/index350.js.map +1 -1
  337. package/dist/index351.js +2 -2
  338. package/dist/index352.js +19 -26
  339. package/dist/index352.js.map +1 -1
  340. package/dist/index357.js +26 -19
  341. package/dist/index357.js.map +1 -1
  342. package/dist/index36.js +115 -33
  343. package/dist/index36.js.map +1 -1
  344. package/dist/index37.js +41 -115
  345. package/dist/index37.js.map +1 -1
  346. package/dist/index38.js +34 -246
  347. package/dist/index38.js.map +1 -1
  348. package/dist/index39.js +30 -137
  349. package/dist/index39.js.map +1 -1
  350. package/dist/index4.js +26 -84
  351. package/dist/index4.js.map +1 -1
  352. package/dist/index40.js +26 -400
  353. package/dist/index40.js.map +1 -1
  354. package/dist/index41.js +28 -77
  355. package/dist/index41.js.map +1 -1
  356. package/dist/index42.js +23 -26
  357. package/dist/index42.js.map +1 -1
  358. package/dist/index43.js +36 -33
  359. package/dist/index43.js.map +1 -1
  360. package/dist/index44.js +62 -16
  361. package/dist/index44.js.map +1 -1
  362. package/dist/index45.js +138 -21
  363. package/dist/index45.js.map +1 -1
  364. package/dist/index46.js +129 -22
  365. package/dist/index46.js.map +1 -1
  366. package/dist/index47.js +41 -19
  367. package/dist/index47.js.map +1 -1
  368. package/dist/index48.js +11 -82
  369. package/dist/index48.js.map +1 -1
  370. package/dist/index49.js +56 -279
  371. package/dist/index49.js.map +1 -1
  372. package/dist/index5.js +21 -34
  373. package/dist/index5.js.map +1 -1
  374. package/dist/index50.js +280 -33
  375. package/dist/index50.js.map +1 -1
  376. package/dist/index51.js +74 -94
  377. package/dist/index51.js.map +1 -1
  378. package/dist/index52.js +66 -41
  379. package/dist/index52.js.map +1 -1
  380. package/dist/index53.js +333 -62
  381. package/dist/index53.js.map +1 -1
  382. package/dist/index54.js +96 -256
  383. package/dist/index54.js.map +1 -1
  384. package/dist/index55.js +38 -130
  385. package/dist/index55.js.map +1 -1
  386. package/dist/index56.js +251 -50
  387. package/dist/index56.js.map +1 -1
  388. package/dist/index57.js +144 -115
  389. package/dist/index57.js.map +1 -1
  390. package/dist/index58.js +93 -183
  391. package/dist/index58.js.map +1 -1
  392. package/dist/index59.js +33 -339
  393. package/dist/index59.js.map +1 -1
  394. package/dist/index6.js +2 -2
  395. package/dist/index60.js +102 -66
  396. package/dist/index60.js.map +1 -1
  397. package/dist/index61.js +73 -179
  398. package/dist/index61.js.map +1 -1
  399. package/dist/index62.js +117 -97
  400. package/dist/index62.js.map +1 -1
  401. package/dist/index63.js +113 -263
  402. package/dist/index63.js.map +1 -1
  403. package/dist/index64.js +258 -251
  404. package/dist/index64.js.map +1 -1
  405. package/dist/index65.js +177 -79
  406. package/dist/index65.js.map +1 -1
  407. package/dist/index66.js +261 -140
  408. package/dist/index66.js.map +1 -1
  409. package/dist/index67.js +183 -100
  410. package/dist/index67.js.map +1 -1
  411. package/dist/index68.js +28 -89
  412. package/dist/index68.js.map +1 -1
  413. package/dist/index69.js +20 -161
  414. package/dist/index69.js.map +1 -1
  415. package/dist/index7.js +394 -32
  416. package/dist/index7.js.map +1 -1
  417. package/dist/index70.js +190 -53
  418. package/dist/index70.js.map +1 -1
  419. package/dist/index71.js +204 -112
  420. package/dist/index71.js.map +1 -1
  421. package/dist/index72.js +2 -2
  422. package/dist/index73.js +89 -28
  423. package/dist/index73.js.map +1 -1
  424. package/dist/index74.js +126 -63
  425. package/dist/index74.js.map +1 -1
  426. package/dist/index75.js +122 -111
  427. package/dist/index75.js.map +1 -1
  428. package/dist/index76.js +67 -64
  429. package/dist/index76.js.map +1 -1
  430. package/dist/index77.js +112 -88
  431. package/dist/index77.js.map +1 -1
  432. package/dist/index78.js +87 -16
  433. package/dist/index78.js.map +1 -1
  434. package/dist/index79.js +151 -79
  435. package/dist/index79.js.map +1 -1
  436. package/dist/index8.js +25 -127
  437. package/dist/index8.js.map +1 -1
  438. package/dist/index80.js +104 -186
  439. package/dist/index80.js.map +1 -1
  440. package/dist/index81.js +59 -20
  441. package/dist/index81.js.map +1 -1
  442. package/dist/index82.js +17 -129
  443. package/dist/index82.js.map +1 -1
  444. package/dist/index83.js +88 -217
  445. package/dist/index83.js.map +1 -1
  446. package/dist/index84.js +64 -112
  447. package/dist/index84.js.map +1 -1
  448. package/dist/index9.js +30 -45
  449. package/dist/index9.js.map +1 -1
  450. package/dist/src/components/atoms/index.d.ts +45 -16
  451. package/dist/src/components/atoms/index.d.ts.map +1 -1
  452. package/dist/src/components/molecules/index.d.ts +20 -1
  453. package/dist/src/components/molecules/index.d.ts.map +1 -1
  454. package/dist/src/components/organisms/index.d.ts +17 -1
  455. package/dist/src/components/organisms/index.d.ts.map +1 -1
  456. package/dist/src/index.d.ts +3 -82
  457. package/dist/src/index.d.ts.map +1 -1
  458. package/dist/tokens.css +353 -7
  459. package/dist/vite.config.d.ts.map +1 -1
  460. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index7.js","sources":["../src/components/atoms/skeleton/lib-skeleton.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport type { LibSkeletonShape, LibSkeletonAnimation, LibSkeletonSurface } from './lib-skeleton.html';\nimport { skeletonTemplate } from './lib-skeleton.html';\nimport skeletonCss from './lib-skeleton.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\n\n/**\n * @element lib-skeleton\n *\n * Bloque de carga que replica la arquitectura del contenido real.\n * Tres animaciones, tres superficies, diez formas semánticas.\n *\n * @slot — (vacío) El componente es puramente visual, sin contenido.\n *\n * @example — línea de texto\n * <lib-skeleton shape=\"line\" width=\"80%\"></lib-skeleton>\n *\n * @example — avatar 40px\n * <lib-skeleton shape=\"avatar\" width=\"40px\" height=\"40px\"></lib-skeleton>\n *\n * @example — dark + wave\n * <lib-skeleton shape=\"title\" surface=\"dark\" animation=\"wave\" width=\"60%\"></lib-skeleton>\n *\n * @example — kaki + pulse\n * <lib-skeleton shape=\"img\" surface=\"kaki\" animation=\"pulse\"></lib-skeleton>\n */\n@customElement('lib-skeleton')\nexport class LibSkeleton extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(skeletonCss)}`,\n ];\n\n /**\n * Forma semántica del bloque.\n * Cada shape tiene una altura por defecto en CSS:\n * - line : 13px\n * - title : 22px\n * - h1 : 36px\n * - avatar : border-radius full (width/height obligatorio)\n * - icon : border-radius sm (width/height obligatorio)\n * - btn : 36px\n * - badge : 20px\n * - pill : 22px, border-radius full\n * - img : 160px\n * - rect : sin altura — usar `height` prop\n */\n @property({ type: String, reflect: true })\n shape: LibSkeletonShape = 'rect';\n\n /**\n * Tipo de animación.\n * - shimmer : barrido de luz lateral (default)\n * - wave : barrido más lento y orgánico\n * - pulse : opacidad, sin movimiento\n */\n @property({ type: String, reflect: true })\n animation: LibSkeletonAnimation = 'shimmer';\n\n /**\n * Superficie de color.\n * - light : washi-200 → washi-100 (default)\n * - dark : washi-800 → washi-700\n * - kaki : kaki-200 → kaki-100\n */\n @property({ type: String, reflect: true })\n surface: LibSkeletonSurface = 'light';\n\n /** Anchura del bloque. Default: 100% */\n @property({ type: String })\n width = '100%';\n\n /**\n * Altura del bloque.\n * Si no se especifica, el CSS usa la altura propia de cada `shape`.\n * Obligatorio para `avatar`, `icon` y `rect`.\n */\n @property({ type: String })\n height = '';\n\n override render(): TemplateResult {\n return skeletonTemplate({\n shape: this.shape,\n animation: this.animation,\n surface: this.surface,\n width: this.width,\n height: this.height,\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-skeleton': LibSkeleton;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;AA4BO,IAAM,cAAN,cAA0B,WAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA;AAqBL,SAAA,QAA0B;AAS1B,SAAA,YAAkC;AASlC,SAAA,UAA8B;AAI9B,SAAA,QAAQ;AAQR,SAAA,SAAS;AAAA,EAAA;AAAA,EAEA,SAAyB;AAChC,WAAO,iBAAiB;AAAA,MACtB,OAAW,KAAK;AAAA,MAChB,WAAW,KAAK;AAAA,MAChB,SAAW,KAAK;AAAA,MAChB,OAAW,KAAK;AAAA,MAChB,QAAW,KAAK;AAAA,IAAA,CACjB;AAAA,EACH;AACF;AA9Da,YACK,SAAS;AAAA,EACvB,MAAM,UAAU,YAAY,CAAC;AAAA,EAC7B,MAAM,UAAU,WAAW,CAAC;AAC9B;AAiBA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GApB9B,YAqBX,WAAA,SAAA,CAAA;AASA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GA7B9B,YA8BX,WAAA,aAAA,CAAA;AASA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAtC9B,YAuCX,WAAA,WAAA,CAAA;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GA1Cf,YA2CX,WAAA,SAAA,CAAA;AAQA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAlDf,YAmDX,WAAA,UAAA,CAAA;AAnDW,cAAN,gBAAA;AAAA,EADN,cAAc,cAAc;AAAA,GAChB,WAAA;"}
1
+ {"version":3,"file":"index7.js","sources":["../src/components/atoms/background/lib-background.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport backgroundCss from './lib-background.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\nimport { backgroundTemplate } from './lib-background.html';\nimport { BG_CANVAS_VARIANTS } from './lib-background.types';\nimport type { LibBackgroundVariant } from './lib-background.types';\n\n/**\n * @element lib-background\n *\n * Fondo decorativo con 34 variantes. Úsalo como contenedor raíz\n * de secciones, heroes, cards o paneles. El contenido se coloca\n * en el slot por defecto.\n *\n * @prop {LibBackgroundVariant} variant — Fondo activo (default: 'washi')\n * @prop {boolean} paused — Pausa animaciones CSS (a11y)\n *\n * @csspart base — div de fondo CSS\n * @csspart overlay — div de overlay / grano / animación\n * @csspart canvas — canvas 2D generativo\n * @csspart content — contenedor del slot\n *\n * @slot — Contenido que se renderiza sobre el fondo\n */\n@customElement('lib-background')\nexport class LibBackground extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(backgroundCss)}`,\n ];\n\n /* ── Props públicas ── */\n\n @property({ type: String, reflect: true })\n variant: LibBackgroundVariant = 'washi';\n\n @property({ type: Boolean, reflect: true })\n paused = false;\n\n /* ── Canvas internal state ── */\n\n @query('.bg-canvas') private declare _canvas: HTMLCanvasElement;\n\n private _raf = 0;\n private _ro: ResizeObserver | null = null;\n\n /* ── Ciclo de vida ── */\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._stopCanvas();\n }\n\n protected override updated(changed: Map<PropertyKey, unknown>): void {\n if (changed.has('variant')) {\n this._stopCanvas();\n if (BG_CANVAS_VARIANTS.has(this.variant)) {\n // Esperar al next tick para que el canvas exista en el DOM\n requestAnimationFrame((): void => this._startCanvas());\n }\n }\n }\n\n /* ── Canvas lifecycle ── */\n\n private _stopCanvas(): void {\n if (this._raf) { cancelAnimationFrame(this._raf); this._raf = 0; }\n if (this._ro) { this._ro.disconnect(); this._ro = null; }\n }\n\n private _startCanvas(): void {\n const canvas = this._canvas;\n if (!canvas) return;\n \n switch (this.variant) {\n case 'particles': this._initParticles(canvas); break;\n case 'rain': this._initRain(canvas); break;\n case 'wave-mesh': this._initWaveMesh(canvas); break;\n case 'constellation': this._initConstellation(canvas); break;\n case 'fireflies': this._initFireflies(canvas); break;\n case 'ink-wash': this._initInkWash(canvas); break;\n default: break;\n }\n }\n\n /* ── Canvas: Particle Field ── */\n private _initParticles(canvas: HTMLCanvasElement): void {\n const ctx = canvas.getContext('2d')!;\n // ✅ Fix: renderRoot es ShadowRoot en runtime — cast explícito para acceder a .host\n const host = ((this.renderRoot as ShadowRoot).host as HTMLElement);\n let W = 0, H = 0;\n\n const COUNT = 55;\n // ✅ Fix: tipo explícito string[] — evita string | undefined en el acceso por índice\n const COLORS: string[] = ['rgba(217,114,52,', 'rgba(78,148,130,', 'rgba(250,247,244,'];\n\n type Particle = { x:number; y:number; r:number; vx:number; vy:number; a:number; c:string };\n let pts: Particle[] = [];\n\n const resize = (): void => {\n W = canvas.width = host.clientWidth;\n H = canvas.height = host.clientHeight;\n pts = Array.from({ length: COUNT }, (): Particle => ({\n x: Math.random() * W,\n y: Math.random() * H,\n r: Math.random() * 1.5 + 0.3,\n vx: (Math.random() - 0.5) * 0.25,\n vy: (Math.random() - 0.5) * 0.25,\n a: Math.random() * 0.4 + 0.15,\n // ✅ Fix: COLORS es string[] → el acceso ya no devuelve undefined\n c: COLORS[Math.floor(Math.random() * COLORS.length)] ?? 'rgba(250,247,244,',\n }));\n };\n\n const draw = (): void => {\n ctx.clearRect(0, 0, W, H);\n for (let i = 0; i < pts.length; i++) {\n for (let j = i + 1; j < pts.length; j++) {\n // ✅ Fix: destructurar con ! — los índices son seguros por los límites del bucle\n const pi = pts[i]!;\n const pj = pts[j]!;\n const dx = pi.x - pj.x;\n const dy = pi.y - pj.y;\n const d = Math.sqrt(dx * dx + dy * dy);\n if (d < 90) {\n ctx.beginPath();\n ctx.moveTo(pi.x, pi.y);\n ctx.lineTo(pj.x, pj.y);\n ctx.strokeStyle = `rgba(250,247,244,${0.04 * (1 - d / 90)})`;\n ctx.lineWidth = 0.5;\n ctx.stroke();\n }\n }\n }\n pts.forEach(p => {\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n ctx.fillStyle = `${p.c}${p.a})`;\n ctx.fill();\n p.x += p.vx;\n p.y += p.vy;\n if (p.x < 0 || p.x > W) p.vx *= -1;\n if (p.y < 0 || p.y > H) p.vy *= -1;\n });\n this._raf = requestAnimationFrame(draw);\n };\n\n this._ro = new ResizeObserver(resize);\n this._ro.observe(host);\n resize();\n draw();\n }\n\n private _initFireflies(canvas: HTMLCanvasElement): void {\n const ctx = canvas.getContext('2d')!;\n const host = (this.renderRoot as ShadowRoot).host as HTMLElement;\n let W = 0, H = 0;\n \n const COUNT = 32;\n const COLORS: string[] = [\n 'rgba(250,247,244,',\n 'rgba(250,247,244,',\n 'rgba(217,114,52,',\n 'rgba(78,148,130,',\n ];\n \n type Fly = {\n x: number; y: number; r: number;\n a: number; da: number;\n dx: number; dy: number;\n phase: number; col: string;\n };\n let flies: Fly[] = [];\n \n const resize = (): void => {\n W = canvas.width = host.clientWidth;\n H = canvas.height = host.clientHeight;\n flies = Array.from({ length: COUNT }, (): Fly => ({\n x: Math.random() * W,\n y: Math.random() * H,\n r: Math.random() * 2 + 0.8,\n a: Math.random(),\n da: (Math.random() * 0.008 + 0.003) * (Math.random() > 0.5 ? 1 : -1),\n dx: (Math.random() - 0.5) * 0.18,\n dy: -(Math.random() * 0.25 + 0.08),\n phase: Math.random() * Math.PI * 2,\n col: COLORS[Math.floor(Math.random() * COLORS.length)] ?? 'rgba(250,247,244,',\n }));\n };\n \n const draw = (): void => {\n ctx.fillStyle = 'rgba(8,6,4,0.14)';\n ctx.fillRect(0, 0, W, H);\n \n flies.forEach(f => {\n f.phase += 0.018;\n f.a += f.da;\n if (f.a > 1 || f.a < 0) { f.da *= -1; f.a = Math.max(0, Math.min(1, f.a)); }\n \n f.x += f.dx + Math.sin(f.phase) * 0.28;\n f.y += f.dy;\n \n if (f.y < -10) { f.y = H + 10; f.x = Math.random() * W; }\n if (f.x < -10) f.x = W + 10;\n if (f.x > W + 10) f.x = -10;\n \n /* Glow halo */\n const grd = ctx.createRadialGradient(f.x, f.y, 0, f.x, f.y, f.r * 5);\n grd.addColorStop(0, `${f.col}${f.a * 0.85})`);\n grd.addColorStop(1, `${f.col}0)`);\n ctx.beginPath();\n ctx.arc(f.x, f.y, f.r * 5, 0, Math.PI * 2);\n ctx.fillStyle = grd;\n ctx.fill();\n \n /* Core dot */\n ctx.beginPath();\n ctx.arc(f.x, f.y, f.r, 0, Math.PI * 2);\n ctx.fillStyle = `${f.col}${f.a})`;\n ctx.fill();\n });\n \n this._raf = requestAnimationFrame(draw);\n };\n \n this._ro = new ResizeObserver(resize);\n this._ro.observe(host);\n resize();\n draw();\n }\n\n private _initInkWash(canvas: HTMLCanvasElement): void {\n const ctx = canvas.getContext('2d')!;\n const host = (this.renderRoot as ShadowRoot).host as HTMLElement;\n let W = 0, H = 0, t = 0;\n \n type Blob = { cx: number; cy: number; r: number; speed: number; offset: number; color: string };\n let blobs: Blob[] = [];\n \n const resize = (): void => {\n W = canvas.width = host.clientWidth;\n H = canvas.height = host.clientHeight;\n const base = Math.min(W, H);\n blobs = [\n { cx: 0.28, cy: 0.42, r: base * 0.24, speed: 1.0, offset: 0, color: 'rgba(175,150,120,0.07)' },\n { cx: 0.68, cy: 0.58, r: base * 0.20, speed: 1.3, offset: 1.2, color: 'rgba(155,135,108,0.06)' },\n { cx: 0.50, cy: 0.28, r: base * 0.17, speed: 0.7, offset: 2.5, color: 'rgba(184,90,30,0.04)' },\n { cx: 0.18, cy: 0.72, r: base * 0.15, speed: 1.1, offset: 3.8, color: 'rgba(78,148,130,0.04)' },\n { cx: 0.82, cy: 0.32, r: base * 0.13, speed: 0.85, offset: 5.0, color: 'rgba(175,150,120,0.05)' },\n ];\n };\n \n const drawBlob = (b: Blob): void => {\n const pts = 44;\n const phase = t * b.speed + b.offset;\n ctx.beginPath();\n for (let i = 0; i <= pts; i++) {\n const angle = (i / pts) * Math.PI * 2;\n const noise =\n Math.sin(angle * 3 + phase) * b.r * 0.14\n + Math.cos(angle * 2 - phase * 0.8) * b.r * 0.09\n + Math.sin(angle * 5 + phase * 1.4) * b.r * 0.05;\n const x = b.cx * W + (b.r + noise) * Math.cos(angle);\n const y = b.cy * H + (b.r + noise) * Math.sin(angle);\n i === 0 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n }\n ctx.closePath();\n ctx.fillStyle = b.color;\n ctx.fill();\n };\n \n const draw = (): void => {\n ctx.clearRect(0, 0, W, H);\n ctx.fillStyle = '#FAF7F4';\n ctx.fillRect(0, 0, W, H);\n \n blobs.forEach(drawBlob);\n \n t += 0.0028;\n this._raf = requestAnimationFrame(draw);\n };\n \n this._ro = new ResizeObserver(resize);\n this._ro.observe(host);\n resize();\n draw();\n }\n\n /* ── Canvas: Rain Lines ── */\n private _initRain(canvas: HTMLCanvasElement): void {\n const ctx = canvas.getContext('2d')!;\n const host = (this.renderRoot as ShadowRoot).host as HTMLElement;\n let W = 0, H = 0;\n\n const COUNT = 40;\n type Drop = { x:number; y:number; len:number; v:number; a:number; col:string };\n let drops: Drop[] = [];\n\n const resize = (): void => {\n W = canvas.width = host.clientWidth;\n H = canvas.height = host.clientHeight;\n drops = Array.from({ length: COUNT }, () => ({\n x: Math.random() * W,\n y: Math.random() * H - H,\n len: Math.random() * 22 + 8,\n v: Math.random() * 1.8 + 0.8,\n a: Math.random() * 0.2 + 0.04,\n col: Math.random() > 0.85 ? 'rgba(217,114,52,' : 'rgba(250,247,244,',\n }));\n };\n\n const draw = (): void => {\n ctx.fillStyle = 'rgba(14,10,7,0.18)';\n ctx.fillRect(0, 0, W, H);\n drops.forEach(d => {\n ctx.beginPath();\n ctx.moveTo(d.x, d.y);\n ctx.lineTo(d.x - d.len * 0.1, d.y + d.len);\n const g = ctx.createLinearGradient(d.x, d.y, d.x, d.y + d.len);\n g.addColorStop(0, `${d.col}0)`);\n g.addColorStop(0.5, `${d.col}${d.a})`);\n g.addColorStop(1, `${d.col}0)`);\n ctx.strokeStyle = g;\n ctx.lineWidth = 0.8;\n ctx.stroke();\n d.y += d.v;\n if (d.y > H + d.len) { d.y = -d.len; d.x = Math.random() * W; }\n });\n this._raf = requestAnimationFrame(draw);\n };\n\n this._ro = new ResizeObserver(resize);\n this._ro.observe(host);\n resize();\n draw();\n }\n\n /* ── Canvas: Wave Mesh ── */\n private _initWaveMesh(canvas: HTMLCanvasElement): void {\n const ctx = canvas.getContext('2d')!;\n const host = (this.renderRoot as ShadowRoot).host as HTMLElement;\n let W = 0, H = 0, t = 0;\n const COLS = 16, ROWS = 10;\n\n const resize = (): void => {\n W = canvas.width = host.clientWidth;\n H = canvas.height = host.clientHeight;\n };\n\n const draw = (): void => {\n ctx.clearRect(0, 0, W, H);\n ctx.fillStyle = '#FAF7F4';\n ctx.fillRect(0, 0, W, H);\n\n const cw = W / (COLS - 1);\n const ch = H / (ROWS - 1);\n\n for (let r = 0; r < ROWS; r++) {\n ctx.beginPath();\n for (let c = 0; c < COLS; c++) {\n const wave = Math.sin((c / COLS + t) * Math.PI * 2) * 12\n + Math.cos((r / ROWS + t * 0.7) * Math.PI * 2) * 8;\n const x = c * cw;\n const y = r * ch + wave;\n c === 0 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n }\n ctx.strokeStyle = `rgba(160,140,118,${0.08 + Math.sin(r / ROWS * Math.PI) * 0.06})`;\n ctx.lineWidth = 0.8;\n ctx.stroke();\n }\n for (let c = 0; c < COLS; c++) {\n ctx.beginPath();\n for (let r = 0; r < ROWS; r++) {\n const wave = Math.sin((c / COLS + t) * Math.PI * 2) * 12\n + Math.cos((r / ROWS + t * 0.7) * Math.PI * 2) * 8;\n const x = c * cw;\n const y = r * ch + wave;\n r === 0 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n }\n ctx.strokeStyle = `rgba(160,140,118,${0.06 + Math.sin(c / COLS * Math.PI) * 0.04})`;\n ctx.lineWidth = 0.8;\n ctx.stroke();\n }\n\n t += 0.003;\n this._raf = requestAnimationFrame(draw);\n };\n\n this._ro = new ResizeObserver(resize);\n this._ro.observe(host);\n resize();\n draw();\n }\n\n /* ── Canvas: Constellation ── */\n private _initConstellation(canvas: HTMLCanvasElement): void {\n const ctx = canvas.getContext('2d')!;\n const host = (this.renderRoot as ShadowRoot).host as HTMLElement;\n let W = 0, H = 0;\n\n const COUNT = 70;\n type Star = { x:number; y:number; r:number; a:number; pa:number; ps:number; col:number[] };\n let stars: Star[] = [];\n\n const resize = (): void => {\n W = canvas.width = host.clientWidth;\n H = canvas.height = host.clientHeight;\n stars = Array.from({ length: COUNT }, (): Star => ({\n x: Math.random() * W,\n y: Math.random() * H,\n r: Math.random() * 1.2 + 0.2,\n a: Math.random() * 0.5 + 0.1,\n pa: Math.random() * Math.PI * 2,\n ps: Math.random() * 0.008 + 0.002,\n col: Math.random() > 0.9\n ? [217, 114, 52]\n : Math.random() > 0.85\n ? [78, 148, 130]\n : [250, 247, 244],\n }));\n };\n\n const draw = (): void => {\n ctx.fillStyle = 'rgba(10,8,6,0.22)';\n ctx.fillRect(0, 0, W, H);\n\n for (let i = 0; i < stars.length; i++) {\n for (let j = i + 1; j < stars.length; j++) {\n // ✅ Fix: destructurar con ! — índices seguros por los límites del bucle\n const si = stars[i]!;\n const sj = stars[j]!;\n const dx = si.x - sj.x;\n const dy = si.y - sj.y;\n const d = Math.sqrt(dx * dx + dy * dy);\n if (d < 110) {\n ctx.beginPath();\n ctx.moveTo(si.x, si.y);\n ctx.lineTo(sj.x, sj.y);\n ctx.strokeStyle = `rgba(250,247,244,${(1 - d / 110) * 0.07})`;\n ctx.lineWidth = 0.6;\n ctx.stroke();\n }\n }\n }\n\n stars.forEach(s => {\n s.pa += s.ps;\n const pulse = Math.sin(s.pa) * 0.3 + 0.7;\n ctx.beginPath();\n ctx.arc(s.x, s.y, s.r * pulse, 0, Math.PI * 2);\n ctx.fillStyle = `rgba(${s.col.join(',')},${s.a * pulse})`;\n ctx.fill();\n if (s.a > 0.4) {\n ctx.beginPath();\n ctx.arc(s.x, s.y, s.r * 3 * pulse, 0, Math.PI * 2);\n ctx.fillStyle = `rgba(${s.col.join(',')},${s.a * 0.06 * pulse})`;\n ctx.fill();\n }\n });\n\n this._raf = requestAnimationFrame(draw);\n };\n\n this._ro = new ResizeObserver(resize);\n this._ro.observe(host);\n resize();\n draw();\n }\n\n /* ── Render ── */\n\n protected override render(): TemplateResult {\n return backgroundTemplate({\n variant: this.variant,\n isCanvas: BG_CANVAS_VARIANTS.has(this.variant),\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-background': LibBackground;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA0BO,IAAM,gBAAN,cAA4B,WAAW;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AASL,SAAA,UAAgC;AAGhC,SAAA,SAAS;AAMT,SAAQ,OAAO;AACf,SAAQ,MAA6B;AAAA,EAAA;AAAA;AAAA,EAI5B,uBAA6B;AACpC,UAAM,qBAAA;AACN,SAAK,YAAA;AAAA,EACP;AAAA,EAEmB,QAAQ,SAA0C;AACnE,QAAI,QAAQ,IAAI,SAAS,GAAG;AAC1B,WAAK,YAAA;AACL,UAAI,mBAAmB,IAAI,KAAK,OAAO,GAAG;AAExC,8BAAsB,MAAY,KAAK,cAAc;AAAA,MACvD;AAAA,IACF;AAAA,EACF;AAAA;AAAA,EAIQ,cAAoB;AAC1B,QAAI,KAAK,MAAM;AAAE,2BAAqB,KAAK,IAAI;AAAG,WAAK,OAAO;AAAA,IAAG;AACjE,QAAI,KAAK,KAAM;AAAE,WAAK,IAAI,WAAA;AAAc,WAAK,MAAM;AAAA,IAAM;AAAA,EAC3D;AAAA,EAEQ,eAAqB;AAC3B,UAAM,SAAS,KAAK;AACpB,QAAI,CAAC,OAAQ;AAEb,YAAQ,KAAK,SAAA;AAAA,MACX,KAAK;AAAiB,aAAK,eAAe,MAAM;AAAO;AAAA,MACvD,KAAK;AAAiB,aAAK,UAAU,MAAM;AAAa;AAAA,MACxD,KAAK;AAAiB,aAAK,cAAc,MAAM;AAAS;AAAA,MACxD,KAAK;AAAiB,aAAK,mBAAmB,MAAM;AAAI;AAAA,MACxD,KAAK;AAAiB,aAAK,eAAe,MAAM;AAAQ;AAAA,MACxD,KAAK;AAAiB,aAAK,aAAa,MAAM;AAAU;AAAA,IAC/C;AAAA,EAEb;AAAA;AAAA,EAGQ,eAAe,QAAiC;AACtD,UAAM,MAAO,OAAO,WAAW,IAAI;AAEnC,UAAM,OAAS,KAAK,WAA0B;AAC9C,QAAI,IAAI,GAAG,IAAI;AAEf,UAAM,QAAS;AAEf,UAAM,SAAmB,CAAC,oBAAoB,oBAAoB,mBAAmB;AAGrF,QAAI,MAAkB,CAAA;AAEtB,UAAM,SAAS,MAAY;AACzB,UAAI,OAAO,QAAS,KAAK;AACzB,UAAI,OAAO,SAAS,KAAK;AACzB,YAAM,MAAM,KAAK,EAAE,QAAQ,MAAA,GAAS,OAAiB;AAAA,QACnD,GAAI,KAAK,OAAA,IAAW;AAAA,QACpB,GAAI,KAAK,OAAA,IAAW;AAAA,QACpB,GAAI,KAAK,OAAA,IAAW,MAAM;AAAA,QAC1B,KAAK,KAAK,OAAA,IAAW,OAAO;AAAA,QAC5B,KAAK,KAAK,OAAA,IAAW,OAAO;AAAA,QAC5B,GAAI,KAAK,OAAA,IAAW,MAAM;AAAA;AAAA,QAE1B,GAAI,OAAO,KAAK,MAAM,KAAK,WAAW,OAAO,MAAM,CAAC,KAAK;AAAA,MAAA,EACzD;AAAA,IACJ;AAEA,UAAM,OAAO,MAAY;AACvB,UAAI,UAAU,GAAG,GAAG,GAAG,CAAC;AACxB,eAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,iBAAS,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AAEvC,gBAAM,KAAK,IAAI,CAAC;AAChB,gBAAM,KAAK,IAAI,CAAC;AAChB,gBAAM,KAAK,GAAG,IAAI,GAAG;AACrB,gBAAM,KAAK,GAAG,IAAI,GAAG;AACrB,gBAAM,IAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AACtC,cAAI,IAAI,IAAI;AACV,gBAAI,UAAA;AACJ,gBAAI,OAAO,GAAG,GAAG,GAAG,CAAC;AACrB,gBAAI,OAAO,GAAG,GAAG,GAAG,CAAC;AACrB,gBAAI,cAAc,oBAAoB,QAAQ,IAAI,IAAI,GAAG;AACzD,gBAAI,YAAY;AAChB,gBAAI,OAAA;AAAA,UACN;AAAA,QACF;AAAA,MACF;AACA,UAAI,QAAQ,CAAA,MAAK;AACf,YAAI,UAAA;AACJ,YAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,KAAK,CAAC;AACrC,YAAI,YAAY,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AAC5B,YAAI,KAAA;AACJ,UAAE,KAAK,EAAE;AACT,UAAE,KAAK,EAAE;AACT,YAAI,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM;AAChC,YAAI,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM;AAAA,MAClC,CAAC;AACD,WAAK,OAAO,sBAAsB,IAAI;AAAA,IACxC;AAEA,SAAK,MAAM,IAAI,eAAe,MAAM;AACpC,SAAK,IAAI,QAAQ,IAAI;AACrB,WAAA;AACA,SAAA;AAAA,EACF;AAAA,EAEQ,eAAe,QAAiC;AACtD,UAAM,MAAO,OAAO,WAAW,IAAI;AACnC,UAAM,OAAQ,KAAK,WAA0B;AAC7C,QAAI,IAAI,GAAG,IAAI;AAEf,UAAM,QAAQ;AACd,UAAM,SAAmB;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AASF,QAAI,QAAe,CAAA;AAEnB,UAAM,SAAS,MAAY;AACzB,UAAI,OAAO,QAAS,KAAK;AACzB,UAAI,OAAO,SAAS,KAAK;AACzB,cAAQ,MAAM,KAAK,EAAE,QAAQ,MAAA,GAAS,OAAY;AAAA,QAChD,GAAO,KAAK,OAAA,IAAW;AAAA,QACvB,GAAO,KAAK,OAAA,IAAW;AAAA,QACvB,GAAO,KAAK,OAAA,IAAW,IAAI;AAAA,QAC3B,GAAO,KAAK,OAAA;AAAA,QACZ,KAAQ,KAAK,OAAA,IAAW,OAAQ,SAAU,KAAK,OAAA,IAAW,MAAM,IAAI;AAAA,QACpE,KAAQ,KAAK,OAAA,IAAW,OAAO;AAAA,QAC/B,IAAO,EAAE,KAAK,OAAA,IAAW,OAAO;AAAA,QAChC,OAAO,KAAK,OAAA,IAAW,KAAK,KAAK;AAAA,QACjC,KAAO,OAAO,KAAK,MAAM,KAAK,WAAW,OAAO,MAAM,CAAC,KAAK;AAAA,MAAA,EAC5D;AAAA,IACJ;AAEA,UAAM,OAAO,MAAY;AACvB,UAAI,YAAY;AAChB,UAAI,SAAS,GAAG,GAAG,GAAG,CAAC;AAEvB,YAAM,QAAQ,CAAA,MAAK;AACjB,UAAE,SAAS;AACX,UAAE,KAAS,EAAE;AACb,YAAI,EAAE,IAAI,KAAK,EAAE,IAAI,GAAG;AAAE,YAAE,MAAM;AAAI,YAAE,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;AAAA,QAAG;AAE3E,UAAE,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,IAAI;AAClC,UAAE,KAAK,EAAE;AAET,YAAI,EAAE,IAAI,KAAS;AAAE,YAAE,IAAI,IAAI;AAAI,YAAE,IAAI,KAAK,OAAA,IAAW;AAAA,QAAG;AAC5D,YAAI,EAAE,IAAI,IAAS,GAAE,IAAI,IAAI;AAC7B,YAAI,EAAE,IAAI,IAAI,MAAO,IAAI;AAGzB,cAAM,MAAM,IAAI,qBAAqB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;AACnE,YAAI,aAAa,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG;AAC5C,YAAI,aAAa,GAAG,GAAG,EAAE,GAAG,IAAI;AAChC,YAAI,UAAA;AACJ,YAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,KAAK,KAAK,CAAC;AACzC,YAAI,YAAY;AAChB,YAAI,KAAA;AAGJ,YAAI,UAAA;AACJ,YAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,KAAK,CAAC;AACrC,YAAI,YAAY,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;AAC9B,YAAI,KAAA;AAAA,MACN,CAAC;AAED,WAAK,OAAO,sBAAsB,IAAI;AAAA,IACxC;AAEA,SAAK,MAAM,IAAI,eAAe,MAAM;AACpC,SAAK,IAAI,QAAQ,IAAI;AACrB,WAAA;AACA,SAAA;AAAA,EACF;AAAA,EAEQ,aAAa,QAAiC;AACpD,UAAM,MAAO,OAAO,WAAW,IAAI;AACnC,UAAM,OAAQ,KAAK,WAA0B;AAC7C,QAAI,IAAI,GAAG,IAAI,GAAG,IAAI;AAGtB,QAAI,QAAgB,CAAA;AAEpB,UAAM,SAAS,MAAY;AACzB,UAAI,OAAO,QAAS,KAAK;AACzB,UAAI,OAAO,SAAS,KAAK;AACzB,YAAM,OAAO,KAAK,IAAI,GAAG,CAAC;AAC1B,cAAQ;AAAA,QACN,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,OAAO,MAAM,OAAO,GAAM,QAAQ,GAAK,OAAO,yBAAA;AAAA,QACvE,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,OAAO,KAAM,OAAO,KAAM,QAAQ,KAAK,OAAO,yBAAA;AAAA,QACvE,EAAE,IAAI,KAAM,IAAI,MAAM,GAAG,OAAO,MAAM,OAAO,KAAM,QAAQ,KAAK,OAAO,uBAAA;AAAA,QACvE,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,OAAO,MAAM,OAAO,KAAM,QAAQ,KAAK,OAAO,wBAAA;AAAA,QACvE,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,OAAO,MAAM,OAAO,MAAM,QAAQ,GAAK,OAAO,yBAAA;AAAA,MAAyB;AAAA,IAEpG;AAEA,UAAM,WAAW,CAAC,MAAkB;AAClC,YAAM,MAAM;AACZ,YAAM,QAAQ,IAAI,EAAE,QAAQ,EAAE;AAC9B,UAAI,UAAA;AACJ,eAAS,IAAI,GAAG,KAAK,KAAK,KAAK;AAC7B,cAAM,QAAS,IAAI,MAAO,KAAK,KAAK;AACpC,cAAM,QACJ,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,EAAE,IAAI,OAClC,KAAK,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,EAAE,IAAI,OAC1C,KAAK,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,EAAE,IAAI;AAC9C,cAAM,IAAI,EAAE,KAAK,KAAK,EAAE,IAAI,SAAS,KAAK,IAAI,KAAK;AACnD,cAAM,IAAI,EAAE,KAAK,KAAK,EAAE,IAAI,SAAS,KAAK,IAAI,KAAK;AACnD,cAAM,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC;AAAA,MAC9C;AACA,UAAI,UAAA;AACJ,UAAI,YAAY,EAAE;AAClB,UAAI,KAAA;AAAA,IACN;AAEA,UAAM,OAAO,MAAY;AACvB,UAAI,UAAU,GAAG,GAAG,GAAG,CAAC;AACxB,UAAI,YAAY;AAChB,UAAI,SAAS,GAAG,GAAG,GAAG,CAAC;AAEvB,YAAM,QAAQ,QAAQ;AAEtB,WAAK;AACL,WAAK,OAAO,sBAAsB,IAAI;AAAA,IACxC;AAEA,SAAK,MAAM,IAAI,eAAe,MAAM;AACpC,SAAK,IAAI,QAAQ,IAAI;AACrB,WAAA;AACA,SAAA;AAAA,EACF;AAAA;AAAA,EAGQ,UAAU,QAAiC;AACjD,UAAM,MAAO,OAAO,WAAW,IAAI;AACnC,UAAM,OAAQ,KAAK,WAA0B;AAC7C,QAAI,IAAI,GAAG,IAAI;AAEf,UAAM,QAAQ;AAEd,QAAI,QAAgB,CAAA;AAEpB,UAAM,SAAS,MAAY;AACzB,UAAI,OAAO,QAAS,KAAK;AACzB,UAAI,OAAO,SAAS,KAAK;AACzB,cAAQ,MAAM,KAAK,EAAE,QAAQ,MAAA,GAAS,OAAO;AAAA,QAC3C,GAAK,KAAK,OAAA,IAAW;AAAA,QACrB,GAAK,KAAK,OAAA,IAAW,IAAI;AAAA,QACzB,KAAK,KAAK,OAAA,IAAW,KAAK;AAAA,QAC1B,GAAK,KAAK,OAAA,IAAW,MAAM;AAAA,QAC3B,GAAK,KAAK,OAAA,IAAW,MAAM;AAAA,QAC3B,KAAK,KAAK,WAAW,OAAO,qBAAqB;AAAA,MAAA,EACjD;AAAA,IACJ;AAEA,UAAM,OAAO,MAAY;AACvB,UAAI,YAAY;AAChB,UAAI,SAAS,GAAG,GAAG,GAAG,CAAC;AACvB,YAAM,QAAQ,CAAA,MAAK;AACjB,YAAI,UAAA;AACJ,YAAI,OAAO,EAAE,GAAG,EAAE,CAAC;AACnB,YAAI,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,EAAE,IAAI,EAAE,GAAG;AACzC,cAAM,IAAI,IAAI,qBAAqB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;AAC7D,UAAE,aAAa,GAAK,GAAG,EAAE,GAAG,IAAI;AAChC,UAAE,aAAa,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG;AACrC,UAAE,aAAa,GAAK,GAAG,EAAE,GAAG,IAAI;AAChC,YAAI,cAAc;AAClB,YAAI,YAAY;AAChB,YAAI,OAAA;AACJ,UAAE,KAAK,EAAE;AACT,YAAI,EAAE,IAAI,IAAI,EAAE,KAAK;AAAE,YAAE,IAAI,CAAC,EAAE;AAAK,YAAE,IAAI,KAAK,OAAA,IAAW;AAAA,QAAG;AAAA,MAChE,CAAC;AACD,WAAK,OAAO,sBAAsB,IAAI;AAAA,IACxC;AAEA,SAAK,MAAM,IAAI,eAAe,MAAM;AACpC,SAAK,IAAI,QAAQ,IAAI;AACrB,WAAA;AACA,SAAA;AAAA,EACF;AAAA;AAAA,EAGQ,cAAc,QAAiC;AACrD,UAAM,MAAO,OAAO,WAAW,IAAI;AACnC,UAAM,OAAQ,KAAK,WAA0B;AAC7C,QAAI,IAAI,GAAG,IAAI,GAAG,IAAI;AACtB,UAAM,OAAO,IAAI,OAAO;AAExB,UAAM,SAAS,MAAY;AACzB,UAAI,OAAO,QAAS,KAAK;AACzB,UAAI,OAAO,SAAS,KAAK;AAAA,IAC3B;AAEA,UAAM,OAAO,MAAY;AACvB,UAAI,UAAU,GAAG,GAAG,GAAG,CAAC;AACxB,UAAI,YAAY;AAChB,UAAI,SAAS,GAAG,GAAG,GAAG,CAAC;AAEvB,YAAM,KAAK,KAAK,OAAO;AACvB,YAAM,KAAK,KAAK,OAAO;AAEvB,eAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,YAAI,UAAA;AACJ,iBAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,gBAAM,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,KAAK,CAAC,IAAI,KACzC,KAAK,KAAK,IAAI,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC,IAAI;AAC5D,gBAAM,IAAI,IAAI;AACd,gBAAM,IAAI,IAAI,KAAK;AACnB,gBAAM,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC;AAAA,QAC9C;AACA,YAAI,cAAc,oBAAoB,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE,IAAI,IAAI;AAChF,YAAI,YAAY;AAChB,YAAI,OAAA;AAAA,MACN;AACA,eAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,YAAI,UAAA;AACJ,iBAAS,IAAI,GAAG,IAAI,MAAM,KAAK;AAC7B,gBAAM,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,KAAK,CAAC,IAAI,KACzC,KAAK,KAAK,IAAI,OAAO,IAAI,OAAO,KAAK,KAAK,CAAC,IAAI;AAC5D,gBAAM,IAAI,IAAI;AACd,gBAAM,IAAI,IAAI,KAAK;AACnB,gBAAM,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC;AAAA,QAC9C;AACA,YAAI,cAAc,oBAAoB,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE,IAAI,IAAI;AAChF,YAAI,YAAY;AAChB,YAAI,OAAA;AAAA,MACN;AAEA,WAAK;AACL,WAAK,OAAO,sBAAsB,IAAI;AAAA,IACxC;AAEA,SAAK,MAAM,IAAI,eAAe,MAAM;AACpC,SAAK,IAAI,QAAQ,IAAI;AACrB,WAAA;AACA,SAAA;AAAA,EACF;AAAA;AAAA,EAGQ,mBAAmB,QAAiC;AAC1D,UAAM,MAAO,OAAO,WAAW,IAAI;AACnC,UAAM,OAAQ,KAAK,WAA0B;AAC7C,QAAI,IAAI,GAAG,IAAI;AAEf,UAAM,QAAQ;AAEd,QAAI,QAAgB,CAAA;AAEpB,UAAM,SAAS,MAAY;AACzB,UAAI,OAAO,QAAS,KAAK;AACzB,UAAI,OAAO,SAAS,KAAK;AACzB,cAAQ,MAAM,KAAK,EAAE,QAAQ,MAAA,GAAS,OAAa;AAAA,QACjD,GAAK,KAAK,OAAA,IAAW;AAAA,QACrB,GAAK,KAAK,OAAA,IAAW;AAAA,QACrB,GAAK,KAAK,OAAA,IAAW,MAAM;AAAA,QAC3B,GAAK,KAAK,OAAA,IAAW,MAAM;AAAA,QAC3B,IAAK,KAAK,OAAA,IAAW,KAAK,KAAK;AAAA,QAC/B,IAAK,KAAK,OAAA,IAAW,OAAQ;AAAA,QAC7B,KAAK,KAAK,WAAW,MACjB,CAAC,KAAK,KAAK,EAAE,IACb,KAAK,WAAW,OACd,CAAC,IAAI,KAAK,GAAG,IACb,CAAC,KAAK,KAAK,GAAG;AAAA,MAAA,EACpB;AAAA,IACJ;AAEA,UAAM,OAAO,MAAY;AACvB,UAAI,YAAY;AAChB,UAAI,SAAS,GAAG,GAAG,GAAG,CAAC;AAEvB,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,iBAAS,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAEzC,gBAAM,KAAK,MAAM,CAAC;AAClB,gBAAM,KAAK,MAAM,CAAC;AAClB,gBAAM,KAAK,GAAG,IAAI,GAAG;AACrB,gBAAM,KAAK,GAAG,IAAI,GAAG;AACrB,gBAAM,IAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AACtC,cAAI,IAAI,KAAK;AACX,gBAAI,UAAA;AACJ,gBAAI,OAAO,GAAG,GAAG,GAAG,CAAC;AACrB,gBAAI,OAAO,GAAG,GAAG,GAAG,CAAC;AACrB,gBAAI,cAAc,qBAAqB,IAAI,IAAI,OAAO,IAAI;AAC1D,gBAAI,YAAY;AAChB,gBAAI,OAAA;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAEA,YAAM,QAAQ,CAAA,MAAK;AACjB,UAAE,MAAM,EAAE;AACV,cAAM,QAAQ,KAAK,IAAI,EAAE,EAAE,IAAI,MAAM;AACrC,YAAI,UAAA;AACJ,YAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC;AAC7C,YAAI,YAAY,QAAQ,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK;AACtD,YAAI,KAAA;AACJ,YAAI,EAAE,IAAI,KAAK;AACb,cAAI,UAAA;AACJ,cAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,GAAG,KAAK,KAAK,CAAC;AACjD,cAAI,YAAY,QAAQ,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,OAAO,KAAK;AAC7D,cAAI,KAAA;AAAA,QACN;AAAA,MACF,CAAC;AAED,WAAK,OAAO,sBAAsB,IAAI;AAAA,IACxC;AAEA,SAAK,MAAM,IAAI,eAAe,MAAM;AACpC,SAAK,IAAI,QAAQ,IAAI;AACrB,WAAA;AACA,SAAA;AAAA,EACF;AAAA;AAAA,EAImB,SAAyB;AAC1C,WAAO,mBAAmB;AAAA,MACxB,SAAU,KAAK;AAAA,MACf,UAAU,mBAAmB,IAAI,KAAK,OAAO;AAAA,IAAA,CAC9C;AAAA,EACH;AACF;AApca,cACK,SAAS;AAAA,EACvB,MAAM,UAAU,YAAY,CAAC;AAAA,EAC7B,MAAM,UAAU,aAAa,CAAC;AAChC;AAKA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAR9B,cASX,WAAA,WAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,GAX/B,cAYX,WAAA,UAAA,CAAA;AAIqC,gBAAA;AAAA,EAApC,MAAM,YAAY;AAAA,GAhBR,cAgB0B,WAAA,WAAA,CAAA;AAhB1B,gBAAN,gBAAA;AAAA,EADN,cAAc,gBAAgB;AAAA,GAClB,aAAA;"}
package/dist/index70.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { unsafeCSS, css, LitElement } from "lit";
2
- import { property, queryAssignedElements, customElement } from "lit/decorators.js";
3
- import { stepperTemplate } from "./index324.js";
4
- import stepperCss from "./index325.js";
2
+ import { property, query, queryAssignedElements, customElement } from "lit/decorators.js";
3
+ import { carouselTemplate } from "./index237.js";
4
+ import carouselCss from "./index238.js";
5
5
  import sharedTokens from "./index196.js";
6
6
  var __defProp = Object.defineProperty;
7
7
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -13,73 +13,210 @@ var __decorateClass = (decorators, target, key, kind) => {
13
13
  if (kind && result) __defProp(target, key, result);
14
14
  return result;
15
15
  };
16
- let LibStepper = class extends LitElement {
16
+ let LibCarousel = class extends LitElement {
17
17
  constructor() {
18
18
  super(...arguments);
19
- this.current = 1;
20
- this.orientation = "horizontal";
21
- this.variant = "default";
22
- this.size = "md";
23
- }
24
- updated(changed) {
25
- if (changed.has("current") || changed.has("orientation") || changed.has("variant") || changed.has("size")) {
26
- this._syncSteps();
27
- }
19
+ this.mode = "slide";
20
+ this.peek = 1;
21
+ this.arrows = true;
22
+ this.dots = true;
23
+ this.counter = false;
24
+ this.loop = false;
25
+ this.autoplay = 0;
26
+ this._current = 0;
27
+ this._total = 0;
28
28
  }
29
- /**
30
- * Propaga index, status, last, orientation, variant y size a cada lib-step hijo.
31
- * Llamado en slotchange y cada vez que cambian las props relevantes.
32
- */
33
- _syncSteps() {
34
- const steps = this._steps;
35
- if (!(steps == null ? void 0 : steps.length)) return;
36
- steps.forEach((step, i) => {
37
- const pos = i + 1;
38
- step.index = pos;
39
- step.orientation = this.orientation;
40
- step.variant = this.variant;
41
- step.size = this.size;
42
- step.last = pos === steps.length;
43
- if (step.status !== "error") {
44
- if (pos < this.current) step.status = "completed";
45
- else if (pos === this.current) step.status = "active";
46
- else step.status = "pending";
47
- }
29
+ /* ── Lifecycle ──────────────────────────────────────── */
30
+ disconnectedCallback() {
31
+ super.disconnectedCallback();
32
+ this._clearAutoplay();
33
+ }
34
+ render() {
35
+ return carouselTemplate({
36
+ mode: this.mode,
37
+ current: this._current,
38
+ total: this._total,
39
+ peek: this.peek,
40
+ arrows: this.arrows,
41
+ dots: this.dots,
42
+ counter: this.counter,
43
+ loop: this.loop,
44
+ handlePrev: this._prev.bind(this),
45
+ handleNext: this._next.bind(this),
46
+ handleDot: this._goTo.bind(this),
47
+ handleSlot: this._onSlotChange.bind(this),
48
+ handleThumb: this._onThumbSlotChange.bind(this),
49
+ handleKey: this._onKeyDown.bind(this)
48
50
  });
49
51
  }
50
- _handleSlotChange() {
51
- this._syncSteps();
52
+ /* ── Slot handlers ──────────────────────────────────── */
53
+ _onSlotChange() {
54
+ this._total = this._slides.length;
55
+ this._applyState(this._current, false);
56
+ this._syncThumbs();
57
+ this.requestUpdate();
58
+ this._clearAutoplay();
59
+ this._startAutoplay();
52
60
  }
53
- render() {
54
- return stepperTemplate({
55
- orientation: this.orientation,
56
- handleSlotChange: this._handleSlotChange.bind(this)
61
+ _onThumbSlotChange() {
62
+ this._syncThumbs();
63
+ }
64
+ /* ── Navigation ─────────────────────────────────────── */
65
+ _prev() {
66
+ if (this._current === 0) {
67
+ if (this.loop) this._goTo(this._total - 1);
68
+ } else {
69
+ this._goTo(this._current - 1);
70
+ }
71
+ }
72
+ _next() {
73
+ if (this._current === this._total - 1) {
74
+ if (this.loop) this._goTo(0);
75
+ } else {
76
+ this._goTo(this._current + 1);
77
+ }
78
+ }
79
+ _goTo(index) {
80
+ if (!this._total) return;
81
+ const clamped = Math.max(0, Math.min(index, this._total - 1));
82
+ this._applyState(clamped, true);
83
+ this._syncThumbs();
84
+ this.requestUpdate();
85
+ this.dispatchEvent(
86
+ new CustomEvent("ui-lib-slide-change", {
87
+ detail: { current: this._current, total: this._total },
88
+ bubbles: true,
89
+ composed: true
90
+ })
91
+ );
92
+ }
93
+ /* ── Apply visual state ─────────────────────────────── */
94
+ _applyState(index, animate) {
95
+ this._current = index;
96
+ if (this.mode === "fade") {
97
+ this._applyFade();
98
+ } else {
99
+ this._applySlide(animate);
100
+ }
101
+ }
102
+ _applySlide(animate) {
103
+ if (!this._trackEl) return;
104
+ if (!animate) {
105
+ this._trackEl.style.transition = "none";
106
+ void this._trackEl.offsetHeight;
107
+ } else {
108
+ this._trackEl.style.transition = "";
109
+ }
110
+ if (this.peek === 1) {
111
+ this._trackEl.style.transform = `translateX(-${this._current * 100}%)`;
112
+ } else {
113
+ const slide = this._slides[0];
114
+ if (!slide) return;
115
+ const slideW = slide.offsetWidth;
116
+ const gap = parseFloat(getComputedStyle(this._trackEl).gap) || 16;
117
+ this._trackEl.style.transform = `translateX(-${this._current * (slideW + gap)}px)`;
118
+ }
119
+ }
120
+ _applyFade() {
121
+ this._slides.forEach((s, i) => {
122
+ s.classList.toggle("is-active", i === this._current);
123
+ });
124
+ }
125
+ /* ── Thumbnails ─────────────────────────────────────── */
126
+ _syncThumbs() {
127
+ this._thumbs.forEach((t, i) => {
128
+ t.classList.toggle("is-active", i === this._current);
129
+ t.addEventListener("click", () => this._goTo(i), { once: false });
57
130
  });
58
131
  }
132
+ /* ── Autoplay ───────────────────────────────────────── */
133
+ _startAutoplay() {
134
+ if (!this.autoplay || this.autoplay <= 0) return;
135
+ this._autoplayTimer = setInterval(() => {
136
+ if (this._current === this._total - 1) {
137
+ if (this.loop) this._goTo(0);
138
+ } else {
139
+ this._goTo(this._current + 1);
140
+ }
141
+ }, this.autoplay);
142
+ }
143
+ _clearAutoplay() {
144
+ if (this._autoplayTimer !== void 0) {
145
+ clearInterval(this._autoplayTimer);
146
+ this._autoplayTimer = void 0;
147
+ }
148
+ }
149
+ /* ── Keyboard ───────────────────────────────────────── */
150
+ _onKeyDown(e) {
151
+ if (e.key === "ArrowLeft") {
152
+ e.preventDefault();
153
+ this._prev();
154
+ }
155
+ if (e.key === "ArrowRight") {
156
+ e.preventDefault();
157
+ this._next();
158
+ }
159
+ if (e.key === "Home") {
160
+ e.preventDefault();
161
+ this._goTo(0);
162
+ }
163
+ if (e.key === "End") {
164
+ e.preventDefault();
165
+ this._goTo(this._total - 1);
166
+ }
167
+ }
168
+ /* ── Public API ─────────────────────────────────────── */
169
+ /** Ir a un slide concreto por índice (0-based). */
170
+ goTo(index) {
171
+ this._goTo(index);
172
+ }
173
+ /** Ir al siguiente slide. */
174
+ next() {
175
+ this._next();
176
+ }
177
+ /** Ir al anterior slide. */
178
+ prev() {
179
+ this._prev();
180
+ }
59
181
  };
60
- LibStepper.styles = [
182
+ LibCarousel.styles = [
61
183
  css`${unsafeCSS(sharedTokens)}`,
62
- css`${unsafeCSS(stepperCss)}`
184
+ css`${unsafeCSS(carouselCss)}`
63
185
  ];
186
+ __decorateClass([
187
+ property({ type: String, reflect: true })
188
+ ], LibCarousel.prototype, "mode", 2);
64
189
  __decorateClass([
65
190
  property({ type: Number, reflect: true })
66
- ], LibStepper.prototype, "current", 2);
191
+ ], LibCarousel.prototype, "peek", 2);
67
192
  __decorateClass([
68
- property({ type: String, reflect: true })
69
- ], LibStepper.prototype, "orientation", 2);
193
+ property({ type: Boolean, reflect: true })
194
+ ], LibCarousel.prototype, "arrows", 2);
70
195
  __decorateClass([
71
- property({ type: String, reflect: true })
72
- ], LibStepper.prototype, "variant", 2);
196
+ property({ type: Boolean, reflect: true })
197
+ ], LibCarousel.prototype, "dots", 2);
73
198
  __decorateClass([
74
- property({ type: String, reflect: true })
75
- ], LibStepper.prototype, "size", 2);
199
+ property({ type: Boolean, reflect: true })
200
+ ], LibCarousel.prototype, "counter", 2);
201
+ __decorateClass([
202
+ property({ type: Boolean, reflect: true })
203
+ ], LibCarousel.prototype, "loop", 2);
204
+ __decorateClass([
205
+ property({ type: Number })
206
+ ], LibCarousel.prototype, "autoplay", 2);
207
+ __decorateClass([
208
+ query(".cr-track")
209
+ ], LibCarousel.prototype, "_trackEl", 2);
210
+ __decorateClass([
211
+ queryAssignedElements()
212
+ ], LibCarousel.prototype, "_slides", 2);
76
213
  __decorateClass([
77
- queryAssignedElements({ selector: "lib-step" })
78
- ], LibStepper.prototype, "_steps", 2);
79
- LibStepper = __decorateClass([
80
- customElement("lib-stepper")
81
- ], LibStepper);
214
+ queryAssignedElements({ slot: "thumbnail" })
215
+ ], LibCarousel.prototype, "_thumbs", 2);
216
+ LibCarousel = __decorateClass([
217
+ customElement("lib-carousel")
218
+ ], LibCarousel);
82
219
  export {
83
- LibStepper
220
+ LibCarousel
84
221
  };
85
222
  //# sourceMappingURL=index70.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index70.js","sources":["../src/components/organisms/stepper/lib-stepper.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js';\nimport type { LibStepperOrientation, LibStepperVariant, LibStepperSize } from './lib-stepper.html';\nimport { stepperTemplate } from './lib-stepper.html';\nimport stepperCss from './lib-stepper.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\nimport type { LibStep } from '../../atoms/step/lib-step.component';\n\n/**\n * @element lib-stepper\n *\n * Contenedor que coordina un flujo de pasos `<lib-step>`.\n * Calcula y propaga automáticamente a cada hijo:\n * - index : posición ordinal (1-based)\n * - status : pending | active | completed (derivado de `current`)\n * - last : true en el último paso\n * - orientation : refleja la prop del stepper\n * - variant : refleja la prop del stepper\n * - size : refleja la prop del stepper\n *\n * El estado `error` no se gestiona automáticamente — se asigna desde fuera\n * con `stepEl.status = 'error'` cuando el formulario valida.\n *\n * @fires ui-lib-step-change — Emitido al cambiar `current` con `{ current: number, total: number }`\n *\n * @example — horizontal default\n * <lib-stepper current=\"2\">\n * <lib-step label=\"Información\" sub=\"Datos personales\"></lib-step>\n * <lib-step label=\"Pago\" sub=\"Método de pago\"></lib-step>\n * <lib-step label=\"Confirmación\"></lib-step>\n * </lib-stepper>\n *\n * @example — vertical\n * <lib-stepper orientation=\"vertical\" current=\"1\">\n * <lib-step label=\"Crea tu cuenta\">\n * Registro completado. Tu correo ha sido verificado.\n * </lib-step>\n * <lib-step label=\"Elige un plan\">\n * Selecciona el plan que mejor se adapte a tus necesidades.\n * </lib-step>\n * </lib-stepper>\n *\n * @example — minimal kaki\n * <lib-stepper variant=\"minimal\" current=\"3\">...</lib-stepper>\n *\n * @example — kintsugi oscuro\n * <lib-stepper variant=\"kintsugi\" current=\"2\">...</lib-stepper>\n */\n@customElement('lib-stepper')\nexport class LibStepper extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(stepperCss)}`,\n ];\n\n /**\n * Paso activo actual (1-based).\n * Los pasos anteriores quedan como `completed`, los posteriores como `pending`.\n */\n @property({ type: Number, reflect: true })\n current = 1;\n\n /**\n * Dirección del flujo.\n * - horizontal : barra horizontal con conectores (default)\n * - vertical : lista vertical con contenido expandido por paso\n */\n @property({ type: String, reflect: true })\n orientation: LibStepperOrientation = 'horizontal';\n\n /**\n * Variante visual. Se propaga a todos los lib-step hijos.\n * - default : nodo circular washi\n * - minimal : nodo cuadrado, acento kaki\n * - kintsugi : venas doradas, pensado para superficies oscuras\n */\n @property({ type: String, reflect: true })\n variant: LibStepperVariant = 'default';\n\n /**\n * Tamaño de los nodos. Se propaga a todos los lib-step hijos.\n * - sm : 24px · md : 32px (default) · lg : 40px\n */\n @property({ type: String, reflect: true })\n size: LibStepperSize = 'md';\n\n @queryAssignedElements({ selector: 'lib-step' })\n private _steps!: Array<LibStep>;\n\n override updated(changed: PropertyValues<this>): void {\n if (\n changed.has('current') ||\n changed.has('orientation') ||\n changed.has('variant') ||\n changed.has('size')\n ) {\n this._syncSteps();\n }\n }\n\n /**\n * Propaga index, status, last, orientation, variant y size a cada lib-step hijo.\n * Llamado en slotchange y cada vez que cambian las props relevantes.\n */\n private _syncSteps(): void {\n const steps = this._steps;\n if (!steps?.length) return;\n\n steps.forEach((step, i) => {\n const pos = i + 1;\n step.index = pos;\n step.orientation = this.orientation;\n step.variant = this.variant;\n step.size = this.size;\n step.last = pos === steps.length;\n\n // No sobreescribir 'error' si ya fue asignado externamente\n if (step.status !== 'error') {\n if (pos < this.current) step.status = 'completed';\n else if (pos === this.current) step.status = 'active';\n else step.status = 'pending';\n }\n });\n }\n\n private _handleSlotChange(): void {\n this._syncSteps();\n }\n\n override render(): TemplateResult {\n return stepperTemplate({\n orientation: this.orientation,\n handleSlotChange: this._handleSlotChange.bind(this),\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-stepper': LibStepper;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;AAiDO,IAAM,aAAN,cAAyB,WAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA;AAWL,SAAA,UAAU;AAQV,SAAA,cAAqC;AASrC,SAAA,UAA6B;AAO7B,SAAA,OAAuB;AAAA,EAAA;AAAA,EAKd,QAAQ,SAAqC;AACpD,QACE,QAAQ,IAAI,SAAS,KACrB,QAAQ,IAAI,aAAa,KACzB,QAAQ,IAAI,SAAS,KACrB,QAAQ,IAAI,MAAM,GAClB;AACA,WAAK,WAAA;AAAA,IACP;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,aAAmB;AACzB,UAAM,QAAQ,KAAK;AACnB,QAAI,EAAC,+BAAO,QAAQ;AAEpB,UAAM,QAAQ,CAAC,MAAM,MAAM;AACzB,YAAM,MAAM,IAAI;AAChB,WAAK,QAAc;AACnB,WAAK,cAAc,KAAK;AACxB,WAAK,UAAc,KAAK;AACxB,WAAK,OAAc,KAAK;AACxB,WAAK,OAAc,QAAQ,MAAM;AAGjC,UAAI,KAAK,WAAW,SAAS;AAC3B,YAAI,MAAM,KAAK,QAAc,MAAK,SAAS;AAAA,iBAClC,QAAQ,KAAK,QAAS,MAAK,SAAS;AAAA,kBACV,SAAS;AAAA,MAC9C;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEQ,oBAA0B;AAChC,SAAK,WAAA;AAAA,EACP;AAAA,EAES,SAAyB;AAChC,WAAO,gBAAgB;AAAA,MACrB,aAAiB,KAAK;AAAA,MACtB,kBAAkB,KAAK,kBAAkB,KAAK,IAAI;AAAA,IAAA,CACnD;AAAA,EACH;AACF;AAtFa,WACK,SAAS;AAAA,EACvB,MAAM,UAAU,YAAY,CAAC;AAAA,EAC7B,MAAM,UAAU,UAAU,CAAC;AAC7B;AAOA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAV9B,WAWX,WAAA,WAAA,CAAA;AAQA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAlB9B,WAmBX,WAAA,eAAA,CAAA;AASA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GA3B9B,WA4BX,WAAA,WAAA,CAAA;AAOA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAlC9B,WAmCX,WAAA,QAAA,CAAA;AAGQ,gBAAA;AAAA,EADP,sBAAsB,EAAE,UAAU,WAAA,CAAY;AAAA,GArCpC,WAsCH,WAAA,UAAA,CAAA;AAtCG,aAAN,gBAAA;AAAA,EADN,cAAc,aAAa;AAAA,GACf,UAAA;"}
1
+ {"version":3,"file":"index70.js","sources":["../src/components/organisms/carousel/lib-carousel.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult } from 'lit';\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { carouselTemplate } from './lib-carousel.html';\nimport type { LibCarouselMode } from './lib-carousel.html';\nimport carouselCss from './lib-carousel.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\n\nexport type { LibCarouselMode };\n\n/**\n * @element lib-carousel\n *\n * Carousel agnóstico. El consumer pasa los slides directamente como hijos.\n * El componente gestiona la navegación, animación y accesibilidad.\n *\n * Modos:\n * - slide : transform translateX (default)\n * - fade : crossfade por opacidad\n *\n * @slot (default) — slides del carousel\n * @slot thumbnail — tira de miniaturas (opcional, modo fade)\n *\n * @fires ui-lib-slide-change — `{ current: number, total: number }`\n *\n * @example — slide default (1 visible)\n * <lib-carousel dots counter>\n * <div>Slide 1</div>\n * <div>Slide 2</div>\n * </lib-carousel>\n *\n * @example — cards (3 visibles)\n * <lib-carousel peek=\"3\" counter>\n * <div class=\"mi-card\">...</div>\n * ...\n * </lib-carousel>\n *\n * @example — fade con thumbnails\n * <lib-carousel mode=\"fade\" dots arrows=\"false\">\n * <div>Slide 1</div>\n * <img slot=\"thumbnail\" src=\"...\" alt=\"\">\n * </lib-carousel>\n */\n@customElement('lib-carousel')\nexport class LibCarousel extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(carouselCss)}`,\n ];\n\n /**\n * Mecanismo de transición.\n * - slide : desplazamiento horizontal (transform)\n * - fade : crossfade por opacidad\n */\n @property({ type: String, reflect: true })\n mode: LibCarouselMode = 'slide';\n\n /**\n * Número de slides visibles simultáneamente.\n * peek=1 (default): carousel estándar.\n * peek=3: card carousel con tres columnas.\n */\n @property({ type: Number, reflect: true })\n peek = 1;\n\n /** Muestra flechas de navegación prev/next (solo en modo slide). */\n @property({ type: Boolean, reflect: true })\n arrows = true;\n\n /** Muestra dots de navegación. */\n @property({ type: Boolean, reflect: true })\n dots = true;\n\n /** Muestra contador numérico. */\n @property({ type: Boolean, reflect: true })\n counter = false;\n\n /** Navegación circular (el último slide vuelve al primero). */\n @property({ type: Boolean, reflect: true })\n loop = false;\n\n /**\n * Intervalo de autoplay en milisegundos.\n * 0 = desactivado (default).\n */\n @property({ type: Number })\n autoplay = 0;\n\n /* ── Internal state ─────────────────────────────────── */\n private _current = 0;\n private _total = 0;\n private _autoplayTimer: ReturnType<typeof setInterval> | undefined;\n\n @query('.cr-track')\n private _trackEl!: HTMLElement;\n\n @queryAssignedElements()\n private _slides!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'thumbnail' })\n private _thumbs!: Array<HTMLElement>;\n\n /* ── Lifecycle ──────────────────────────────────────── */\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._clearAutoplay();\n }\n\n override render(): TemplateResult {\n return carouselTemplate({\n mode: this.mode,\n current: this._current,\n total: this._total,\n peek: this.peek,\n arrows: this.arrows,\n dots: this.dots,\n counter: this.counter,\n loop: this.loop,\n handlePrev: this._prev.bind(this),\n handleNext: this._next.bind(this),\n handleDot: this._goTo.bind(this),\n handleSlot: this._onSlotChange.bind(this),\n handleThumb: this._onThumbSlotChange.bind(this),\n handleKey: this._onKeyDown.bind(this),\n });\n }\n\n /* ── Slot handlers ──────────────────────────────────── */\n private _onSlotChange(): void {\n this._total = this._slides.length;\n this._applyState(this._current, false); // sin animación en init\n this._syncThumbs();\n this.requestUpdate();\n this._clearAutoplay();\n this._startAutoplay();\n }\n\n private _onThumbSlotChange(): void {\n this._syncThumbs();\n }\n\n /* ── Navigation ─────────────────────────────────────── */\n private _prev(): void {\n if (this._current === 0) {\n if (this.loop) this._goTo(this._total - 1);\n } else {\n this._goTo(this._current - 1);\n }\n }\n\n private _next(): void {\n if (this._current === this._total - 1) {\n if (this.loop) this._goTo(0);\n } else {\n this._goTo(this._current + 1);\n }\n }\n\n private _goTo(index: number): void {\n if (!this._total) return;\n const clamped = Math.max(0, Math.min(index, this._total - 1));\n this._applyState(clamped, true);\n this._syncThumbs();\n this.requestUpdate();\n\n this.dispatchEvent(\n new CustomEvent<{ current: number; total: number }>('ui-lib-slide-change', {\n detail: { current: this._current, total: this._total },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n /* ── Apply visual state ─────────────────────────────── */\n private _applyState(index: number, animate: boolean): void {\n this._current = index;\n\n if (this.mode === 'fade') {\n this._applyFade();\n } else {\n this._applySlide(animate);\n }\n }\n\n private _applySlide(animate: boolean): void {\n if (!this._trackEl) return;\n\n if (!animate) {\n this._trackEl.style.transition = 'none';\n // Forzar reflow para que se aplique sin transición\n void this._trackEl.offsetHeight;\n } else {\n this._trackEl.style.transition = '';\n }\n\n if (this.peek === 1) {\n this._trackEl.style.transform = `translateX(-${this._current * 100}%)`;\n } else {\n const slide = this._slides[0];\n if (!slide) return;\n const slideW = slide.offsetWidth;\n const gap = parseFloat(getComputedStyle(this._trackEl).gap) || 16;\n this._trackEl.style.transform =\n `translateX(-${this._current * (slideW + gap)}px)`;\n }\n }\n\n private _applyFade(): void {\n this._slides.forEach((s, i) => {\n s.classList.toggle('is-active', i === this._current);\n });\n }\n\n /* ── Thumbnails ─────────────────────────────────────── */\n private _syncThumbs(): void {\n this._thumbs.forEach((t, i) => {\n t.classList.toggle('is-active', i === this._current);\n t.addEventListener('click', () => this._goTo(i), { once: false });\n });\n }\n\n /* ── Autoplay ───────────────────────────────────────── */\n private _startAutoplay(): void {\n if (!this.autoplay || this.autoplay <= 0) return;\n this._autoplayTimer = setInterval(() => {\n if (this._current === this._total - 1) {\n if (this.loop) this._goTo(0);\n } else {\n this._goTo(this._current + 1);\n }\n }, this.autoplay);\n }\n\n private _clearAutoplay(): void {\n if (this._autoplayTimer !== undefined) {\n clearInterval(this._autoplayTimer);\n this._autoplayTimer = undefined;\n }\n }\n\n /* ── Keyboard ───────────────────────────────────────── */\n private _onKeyDown(e: KeyboardEvent): void {\n if (e.key === 'ArrowLeft') { e.preventDefault(); this._prev(); }\n if (e.key === 'ArrowRight') { e.preventDefault(); this._next(); }\n if (e.key === 'Home') { e.preventDefault(); this._goTo(0); }\n if (e.key === 'End') { e.preventDefault(); this._goTo(this._total - 1); }\n }\n\n /* ── Public API ─────────────────────────────────────── */\n /** Ir a un slide concreto por índice (0-based). */\n public goTo(index: number): void {\n this._goTo(index);\n }\n\n /** Ir al siguiente slide. */\n public next(): void {\n this._next();\n }\n\n /** Ir al anterior slide. */\n public prev(): void {\n this._prev();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-carousel': LibCarousel;\n }\n}"],"names":[],"mappings":"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"}