@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
package/dist/index50.js CHANGED
@@ -1,8 +1,9 @@
1
- import { unsafeCSS, css, LitElement } from "lit";
1
+ import { unsafeCSS, css, LitElement, html } from "lit";
2
2
  import { property, customElement } from "lit/decorators.js";
3
- import { alertTemplate } from "./index285.js";
4
- import alertCss from "./index286.js";
3
+ import groupCss from "./index197.js";
5
4
  import sharedTokens from "./index196.js";
5
+ import { buttonGroupTemplate, buttonSplitTemplate } from "./index198.js";
6
+ import "./index11.js";
6
7
  var __defProp = Object.defineProperty;
7
8
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
8
9
  var __decorateClass = (decorators, target, key, kind) => {
@@ -13,53 +14,299 @@ var __decorateClass = (decorators, target, key, kind) => {
13
14
  if (kind && result) __defProp(target, key, result);
14
15
  return result;
15
16
  };
16
- let LibAlert = class extends LitElement {
17
+ let LibButtonGroup = class extends LitElement {
17
18
  constructor() {
18
19
  super(...arguments);
19
- this.type = "default";
20
- this.heading = "";
21
- this.closable = false;
22
- this.glass = false;
20
+ this.shape = "flat";
21
+ this.orientation = "horizontal";
22
+ this.block = false;
23
+ this.toggle = false;
24
+ this.multi = false;
25
+ this.dark = false;
26
+ this.kintsugi = false;
27
+ this.size = "";
28
+ this._handleToggleClick = (e) => {
29
+ const target = e.target.closest("lib-button");
30
+ if (!target || target.hasAttribute("disabled")) return;
31
+ if (this.multi) {
32
+ const isActive = target.hasAttribute("active");
33
+ if (isActive) {
34
+ target.removeAttribute("active");
35
+ } else {
36
+ target.setAttribute("active", "");
37
+ }
38
+ } else {
39
+ this._getButtons().forEach((btn) => {
40
+ btn.removeAttribute("active");
41
+ });
42
+ target.setAttribute("active", "");
43
+ }
44
+ this._emitChange();
45
+ };
23
46
  }
47
+ /* ── Lifecycle ── */
24
48
  render() {
25
- return alertTemplate({
26
- type: this.type,
27
- heading: this.heading,
28
- closable: this.closable,
29
- glass: this.glass,
30
- handleClose: this._handleClose.bind(this)
31
- });
49
+ return buttonGroupTemplate();
50
+ }
51
+ firstUpdated() {
52
+ var _a;
53
+ const slot = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector("slot");
54
+ if (slot) {
55
+ slot.addEventListener("slotchange", () => this._updateChildren());
56
+ }
57
+ this._updateChildren();
58
+ if (this.toggle) {
59
+ this.addEventListener("click", this._handleToggleClick);
60
+ }
61
+ }
62
+ disconnectedCallback() {
63
+ super.disconnectedCallback();
64
+ if (this.toggle) {
65
+ this.removeEventListener("click", this._handleToggleClick);
66
+ }
67
+ }
68
+ /* ── Children management ── */
69
+ _getButtons() {
70
+ return Array.from(this.querySelectorAll("lib-button"));
32
71
  }
33
- _handleClose() {
34
- this.dispatchEvent(
35
- new CustomEvent("ui-lib-alert-close", {
36
- detail: { type: this.type },
37
- bubbles: true,
38
- composed: true
39
- })
72
+ _updateChildren() {
73
+ const all = Array.from(this.children);
74
+ const btns = all.filter(
75
+ (el) => el.tagName.toLowerCase() === "lib-button"
40
76
  );
77
+ btns.forEach((btn, i) => {
78
+ if (btns.length === 1) {
79
+ btn.removeAttribute("group-pos");
80
+ } else if (i === 0) {
81
+ btn.setAttribute("group-pos", "first");
82
+ } else if (i === btns.length - 1) {
83
+ btn.setAttribute("group-pos", "last");
84
+ } else {
85
+ btn.setAttribute("group-pos", "middle");
86
+ }
87
+ if (this.shape !== "flat") {
88
+ btn.setAttribute("group-shape", this.shape);
89
+ } else {
90
+ btn.removeAttribute("group-shape");
91
+ }
92
+ if (this.orientation === "vertical") {
93
+ btn.setAttribute("group-vertical", "");
94
+ } else {
95
+ btn.removeAttribute("group-vertical");
96
+ }
97
+ if (this.dark) {
98
+ btn.setAttribute("dark", "");
99
+ } else {
100
+ btn.removeAttribute("dark");
101
+ }
102
+ if (this.size) {
103
+ btn.setAttribute("size", this.size);
104
+ }
105
+ if (this.kintsugi && i > 0) {
106
+ btn.setAttribute("kintsugi", "");
107
+ } else {
108
+ btn.removeAttribute("kintsugi");
109
+ }
110
+ });
111
+ }
112
+ _emitChange() {
113
+ const btns = this._getButtons();
114
+ const active = [];
115
+ const activeIndex = [];
116
+ btns.forEach((btn, i) => {
117
+ var _a;
118
+ if (btn.hasAttribute("active")) {
119
+ activeIndex.push(i);
120
+ active.push(((_a = btn.textContent) == null ? void 0 : _a.trim()) ?? String(i));
121
+ }
122
+ });
123
+ this.dispatchEvent(new CustomEvent("ui-lib-group-change", {
124
+ detail: { active, activeIndex },
125
+ bubbles: true,
126
+ composed: true
127
+ }));
41
128
  }
42
129
  };
43
- LibAlert.styles = [
130
+ LibButtonGroup.styles = [
44
131
  css`${unsafeCSS(sharedTokens)}`,
45
- css`${unsafeCSS(alertCss)}`
132
+ css`${unsafeCSS(groupCss)}`
46
133
  ];
47
134
  __decorateClass([
48
135
  property({ type: String, reflect: true })
49
- ], LibAlert.prototype, "type", 2);
136
+ ], LibButtonGroup.prototype, "shape", 2);
50
137
  __decorateClass([
51
- property({ type: String })
52
- ], LibAlert.prototype, "heading", 2);
138
+ property({ type: String, reflect: true })
139
+ ], LibButtonGroup.prototype, "orientation", 2);
140
+ __decorateClass([
141
+ property({ type: Boolean, reflect: true })
142
+ ], LibButtonGroup.prototype, "block", 2);
143
+ __decorateClass([
144
+ property({ type: Boolean, reflect: true })
145
+ ], LibButtonGroup.prototype, "toggle", 2);
146
+ __decorateClass([
147
+ property({ type: Boolean, reflect: true })
148
+ ], LibButtonGroup.prototype, "multi", 2);
149
+ __decorateClass([
150
+ property({ type: Boolean, reflect: true })
151
+ ], LibButtonGroup.prototype, "dark", 2);
152
+ __decorateClass([
153
+ property({ type: Boolean, reflect: true })
154
+ ], LibButtonGroup.prototype, "kintsugi", 2);
155
+ __decorateClass([
156
+ property({ type: String, reflect: true })
157
+ ], LibButtonGroup.prototype, "size", 2);
158
+ LibButtonGroup = __decorateClass([
159
+ customElement("lib-button-group")
160
+ ], LibButtonGroup);
161
+ let LibButtonSep = class extends LitElement {
162
+ constructor() {
163
+ super(...arguments);
164
+ this.dark = false;
165
+ }
166
+ render() {
167
+ const color = this.dark ? "rgba(255,255,255,0.1)" : "var(--border-default)";
168
+ return html`<div style="width:1px;align-self:stretch;background:${color};flex-shrink:0;z-index:1;"></div>`;
169
+ }
170
+ };
171
+ LibButtonSep.styles = [
172
+ css`${unsafeCSS(sharedTokens)}`,
173
+ css`${unsafeCSS(groupCss)}`
174
+ ];
175
+ __decorateClass([
176
+ property({ type: Boolean, reflect: true })
177
+ ], LibButtonSep.prototype, "dark", 2);
178
+ LibButtonSep = __decorateClass([
179
+ customElement("lib-button-sep")
180
+ ], LibButtonSep);
181
+ let LibButtonSplit = class extends LitElement {
182
+ constructor() {
183
+ super(...arguments);
184
+ this.variant = "primary";
185
+ this.size = "md";
186
+ this.dark = false;
187
+ this.disabled = false;
188
+ this.label = "";
189
+ this.items = "";
190
+ this._open = false;
191
+ this._onDocClick = (e) => {
192
+ var _a;
193
+ if (!this._open) return;
194
+ if (!this.contains(e.target) && !(((_a = this.shadowRoot) == null ? void 0 : _a.contains(e.target)) ?? false)) {
195
+ this._open = false;
196
+ this.requestUpdate();
197
+ }
198
+ };
199
+ this._onKeyDown = (e) => {
200
+ if (e.key === "Escape" && this._open) {
201
+ this._open = false;
202
+ this.requestUpdate();
203
+ }
204
+ };
205
+ }
206
+ connectedCallback() {
207
+ super.connectedCallback();
208
+ document.addEventListener("click", this._onDocClick);
209
+ document.addEventListener("keydown", this._onKeyDown);
210
+ }
211
+ disconnectedCallback() {
212
+ super.disconnectedCallback();
213
+ document.removeEventListener("click", this._onDocClick);
214
+ document.removeEventListener("keydown", this._onKeyDown);
215
+ }
216
+ render() {
217
+ let parsedItems = [];
218
+ if (this.items) {
219
+ try {
220
+ parsedItems = JSON.parse(this.items);
221
+ } catch {
222
+ }
223
+ }
224
+ return buttonSplitTemplate({
225
+ label: this.label,
226
+ variant: this.variant,
227
+ size: this.size,
228
+ dark: this.dark,
229
+ disabled: this.disabled,
230
+ menuOpen: this._open,
231
+ items: parsedItems,
232
+ onMainClick: (e) => this._onMainClick(e),
233
+ onArrowClick: (e) => this._onArrowClick(e)
234
+ });
235
+ }
236
+ _onMainClick(e) {
237
+ this.dispatchEvent(new CustomEvent("ui-lib-split-action", {
238
+ detail: { originalEvent: e },
239
+ bubbles: true,
240
+ composed: true
241
+ }));
242
+ }
243
+ _onArrowClick(e) {
244
+ e.stopPropagation();
245
+ this._open = !this._open;
246
+ this.requestUpdate();
247
+ if (this._open) {
248
+ setTimeout(() => {
249
+ var _a;
250
+ const menu = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector(".split-menu");
251
+ if (!menu) return;
252
+ menu.querySelectorAll(".split-menu-item").forEach((item) => {
253
+ item.addEventListener("click", (ev) => {
254
+ var _a2;
255
+ ev.stopPropagation();
256
+ this._open = false;
257
+ this.requestUpdate();
258
+ this.dispatchEvent(new CustomEvent("ui-lib-split-select", {
259
+ detail: {
260
+ value: item.dataset["value"] ?? "",
261
+ label: ((_a2 = item.textContent) == null ? void 0 : _a2.trim()) ?? ""
262
+ },
263
+ bubbles: true,
264
+ composed: true
265
+ }));
266
+ }, { once: true });
267
+ });
268
+ const slottedMenu = menu.querySelector('slot[name="menu"]');
269
+ if (slottedMenu) {
270
+ slottedMenu.assignedElements().forEach((el) => {
271
+ el.addEventListener("click", (ev) => {
272
+ ev.stopPropagation();
273
+ this._open = false;
274
+ this.requestUpdate();
275
+ }, { once: true });
276
+ });
277
+ }
278
+ }, 0);
279
+ }
280
+ }
281
+ };
282
+ LibButtonSplit.styles = [
283
+ css`${unsafeCSS(sharedTokens)}`,
284
+ css`${unsafeCSS(groupCss)}`
285
+ ];
286
+ __decorateClass([
287
+ property({ type: String, reflect: true })
288
+ ], LibButtonSplit.prototype, "variant", 2);
289
+ __decorateClass([
290
+ property({ type: String, reflect: true })
291
+ ], LibButtonSplit.prototype, "size", 2);
53
292
  __decorateClass([
54
293
  property({ type: Boolean, reflect: true })
55
- ], LibAlert.prototype, "closable", 2);
294
+ ], LibButtonSplit.prototype, "dark", 2);
56
295
  __decorateClass([
57
296
  property({ type: Boolean, reflect: true })
58
- ], LibAlert.prototype, "glass", 2);
59
- LibAlert = __decorateClass([
60
- customElement("lib-alert")
61
- ], LibAlert);
297
+ ], LibButtonSplit.prototype, "disabled", 2);
298
+ __decorateClass([
299
+ property({ type: String })
300
+ ], LibButtonSplit.prototype, "label", 2);
301
+ __decorateClass([
302
+ property({ type: String })
303
+ ], LibButtonSplit.prototype, "items", 2);
304
+ LibButtonSplit = __decorateClass([
305
+ customElement("lib-button-split")
306
+ ], LibButtonSplit);
62
307
  export {
63
- LibAlert
308
+ LibButtonGroup,
309
+ LibButtonSep,
310
+ LibButtonSplit
64
311
  };
65
312
  //# sourceMappingURL=index50.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index50.js","sources":["../src/components/molecules/lib-alert/lib-alert.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { alertTemplate } from './lib-alert.html';\nimport alertCss from './lib-alert.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\nimport type { AlertType, AlertCloseDetail } from './lib-alert.types';\n\n/**\n * @element lib-alert\n *\n * Alerta estática para feedback contextual dentro del layout.\n * A diferencia de los Toasts, pertenece a una sección específica.\n *\n * @attr type — default · info · warning · error · success\n * @attr heading — Título override. Si no se pasa, se usa el nombre del tipo.\n * @attr closable — Muestra el botón ×\n * @attr glass — Activa el efecto Agua (glassmorphism)\n *\n * @fires ui-lib-alert-close — { type } — al pulsar el botón de cierre\n *\n * @slot — Cuerpo del mensaje\n */\n@customElement('lib-alert')\nexport class LibAlert extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(alertCss)}`,\n ];\n\n @property({ type: String, reflect: true }) type: AlertType = 'default';\n @property({ type: String }) heading = '';\n @property({ type: Boolean, reflect: true }) closable = false;\n @property({ type: Boolean, reflect: true }) glass = false;\n\n override render(): TemplateResult {\n return alertTemplate({\n type: this.type,\n heading: this.heading,\n closable: this.closable,\n glass: this.glass,\n handleClose: this._handleClose.bind(this),\n });\n }\n\n private _handleClose(): void {\n this.dispatchEvent(\n new CustomEvent<AlertCloseDetail>('ui-lib-alert-close', {\n detail: { type: this.type },\n bubbles: true,\n composed: true,\n })\n );\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-alert': LibAlert;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;;;AAuBO,IAAM,WAAN,cAAuB,WAAW;AAAA,EAAlC,cAAA;AAAA,UAAA,GAAA,SAAA;AAMsC,SAAA,OAAqB;AACrB,SAAA,UAAW;AACV,SAAA,WAAW;AACX,SAAA,QAAW;AAAA,EAAA;AAAA,EAE9C,SAAyB;AAChC,WAAO,cAAc;AAAA,MACnB,MAAa,KAAK;AAAA,MAClB,SAAa,KAAK;AAAA,MAClB,UAAa,KAAK;AAAA,MAClB,OAAa,KAAK;AAAA,MAClB,aAAa,KAAK,aAAa,KAAK,IAAI;AAAA,IAAA,CACzC;AAAA,EACH;AAAA,EAEQ,eAAqB;AAC3B,SAAK;AAAA,MACH,IAAI,YAA8B,sBAAsB;AAAA,QACtD,QAAU,EAAE,MAAM,KAAK,KAAA;AAAA,QACvB,SAAU;AAAA,QACV,UAAU;AAAA,MAAA,CACX;AAAA,IAAA;AAAA,EAEL;AACF;AA9Ba,SACK,SAAS;AAAA,EACvB,MAAM,UAAU,YAAY,CAAC;AAAA,EAC7B,MAAM,UAAU,QAAQ,CAAC;AAC3B;AAE2C,gBAAA;AAAA,EAA1C,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAN9B,SAMgC,WAAA,QAAA,CAAA;AACA,gBAAA;AAAA,EAA1C,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAPf,SAOgC,WAAA,WAAA,CAAA;AACC,gBAAA;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,GAR/B,SAQiC,WAAA,YAAA,CAAA;AACA,gBAAA;AAAA,EAA3C,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,GAT/B,SASiC,WAAA,SAAA,CAAA;AATjC,WAAN,gBAAA;AAAA,EADN,cAAc,WAAW;AAAA,GACb,QAAA;"}
1
+ {"version":3,"file":"index50.js","sources":["../src/components/molecules/button-group/lib-button-group.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, TemplateResult, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport type { LibVariant, LibSize } from '../../../types';\nimport groupCss from './lib-button-group.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\nimport { buttonGroupTemplate, buttonSplitTemplate } from './lib-button-group.html';\nimport type { ButtonGroupShape, ButtonGroupOrientation, SplitMenuItem } from './lib-button-group.types';\nimport type { LibButton } from '../../atoms/button/lib-button.component';\n\n/* Registro del elemento lib-button (side-effect) */\nimport '../../atoms/button/lib-button.component';\n\n/* ══════════════════════════════════════════════════════════════\n LIB-BUTTON-GROUP\n ══════════════════════════════════════════════════════════════\n Wrapper que agrupa lib-button en una unidad visual:\n · Colapsa bordes internos (margin-left: -1px)\n · Propaga shape, size, dark, kintsugi a cada hijo\n · Toggle single / multi con estado [active]\n · Separadores lib-button-sep reconocidos automáticamente\n\n @fires ui-lib-group-change — {detail: {active: string[], activeIndex: number[]}}\n*/\n@customElement('lib-button-group')\nexport class LibButtonGroup extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(groupCss)}`,\n ];\n\n /** Forma de los extremos del grupo */\n @property({ type: String, reflect: true })\n shape: ButtonGroupShape = 'flat';\n\n /** Orientación del grupo */\n @property({ type: String, reflect: true })\n orientation: ButtonGroupOrientation = 'horizontal';\n\n /** Ancho completo */\n @property({ type: Boolean, reflect: true })\n block = false;\n\n /** Activa comportamiento toggle (click activa/desactiva) */\n @property({ type: Boolean, reflect: true })\n toggle = false;\n\n /** Permite selección múltiple (requiere toggle=true) */\n @property({ type: Boolean, reflect: true })\n multi = false;\n\n /** Propaga dark a todos los lib-button hijos */\n @property({ type: Boolean, reflect: true })\n dark = false;\n\n /** Propaga kintsugi a botones accent/kaki adyacentes */\n @property({ type: Boolean, reflect: true })\n kintsugi = false;\n\n /** Tamaño propagado a todos los hijos */\n @property({ type: String, reflect: true })\n size: LibSize | '' = '';\n\n /* ── Lifecycle ── */\n\n protected override render(): TemplateResult {\n return buttonGroupTemplate();\n }\n\n override firstUpdated(): void {\n const slot = this.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', (): void => this._updateChildren());\n }\n this._updateChildren();\n\n if (this.toggle) {\n this.addEventListener('click', this._handleToggleClick);\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.toggle) {\n this.removeEventListener('click', this._handleToggleClick);\n }\n }\n\n /* ── Children management ── */\n\n private _getButtons(): LibButton[] {\n return Array.from(this.querySelectorAll<LibButton>('lib-button'));\n }\n\n private _updateChildren(): void {\n const all = Array.from(this.children) as Element[];\n\n /* Solo lib-button para posicionamiento — ignorar lib-button-sep */\n const btns = all.filter((el): el is LibButton =>\n el.tagName.toLowerCase() === 'lib-button'\n );\n\n btns.forEach((btn: LibButton, i: number): void => {\n /* Position */\n if (btns.length === 1) {\n btn.removeAttribute('group-pos');\n } else if (i === 0) {\n btn.setAttribute('group-pos', 'first');\n } else if (i === btns.length - 1) {\n btn.setAttribute('group-pos', 'last');\n } else {\n btn.setAttribute('group-pos', 'middle');\n }\n\n /* Shape */\n if (this.shape !== 'flat') {\n btn.setAttribute('group-shape', this.shape);\n } else {\n btn.removeAttribute('group-shape');\n }\n\n /* Vertical */\n if (this.orientation === 'vertical') {\n btn.setAttribute('group-vertical', '');\n } else {\n btn.removeAttribute('group-vertical');\n }\n\n /* Dark */\n if (this.dark) {\n btn.setAttribute('dark', '');\n } else {\n btn.removeAttribute('dark');\n }\n\n /* Size */\n if (this.size) {\n btn.setAttribute('size', this.size);\n }\n\n /* Kintsugi — solo middle y last */\n if (this.kintsugi && i > 0) {\n btn.setAttribute('kintsugi', '');\n } else {\n btn.removeAttribute('kintsugi');\n }\n });\n }\n\n /* ── Toggle logic ── */\n\n private _handleToggleClick = (e: Event): void => {\n const target = (e.target as Element).closest('lib-button') as LibButton | null;\n if (!target || target.hasAttribute('disabled')) return;\n\n if (this.multi) {\n /* Multi: toggle individual */\n const isActive = target.hasAttribute('active');\n if (isActive) {\n target.removeAttribute('active');\n } else {\n target.setAttribute('active', '');\n }\n } else {\n /* Single: solo uno activo */\n this._getButtons().forEach((btn: LibButton): void => {\n btn.removeAttribute('active');\n });\n target.setAttribute('active', '');\n }\n\n this._emitChange();\n };\n\n private _emitChange(): void {\n const btns = this._getButtons();\n const active: string[] = [];\n const activeIndex: number[] = [];\n\n btns.forEach((btn: LibButton, i: number): void => {\n if (btn.hasAttribute('active')) {\n activeIndex.push(i);\n active.push(btn.textContent?.trim() ?? String(i));\n }\n });\n\n this.dispatchEvent(new CustomEvent('ui-lib-group-change', {\n detail: { active, activeIndex },\n bubbles: true,\n composed: true,\n }));\n }\n}\n\n/* ══════════════════════════════════════════════════════════════\n LIB-BUTTON-SEP\n ══════════════════════════════════════════════════════════════\n Separador visual explícito entre botones del grupo.\n El lib-button-group lo reconoce y no le asigna group-pos.\n*/\n@customElement('lib-button-sep')\nexport class LibButtonSep extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(groupCss)}`,\n ];\n\n @property({ type: Boolean, reflect: true })\n dark = false;\n\n protected override render(): TemplateResult {\n const color = this.dark\n ? 'rgba(255,255,255,0.1)'\n : 'var(--border-default)';\n return html`<div style=\"width:1px;align-self:stretch;background:${color};flex-shrink:0;z-index:1;\"></div>`;\n }\n}\n\n/* ══════════════════════════════════════════════════════════════\n LIB-BUTTON-SPLIT\n ══════════════════════════════════════════════════════════════\n Botón de acción principal + flecha que despliega menú.\n\n @prop variant — variante visual (igual que lib-button)\n @prop size — tamaño\n @prop dark — surface oscura\n @prop disabled\n @prop label — texto del botón principal (también slot default)\n @prop items — JSON con [{label, value, disabled?}] para el menú\n Si está vacío se usa <slot name=\"menu\">\n\n @fires ui-lib-split-action — click en acción principal\n @fires ui-lib-split-select — click en item del menú {value, label}\n*/\n@customElement('lib-button-split')\nexport class LibButtonSplit extends LitElement {\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(groupCss)}`,\n ];\n\n @property({ type: String, reflect: true })\n variant: LibVariant = 'primary';\n\n @property({ type: String, reflect: true })\n size: LibSize = 'md';\n\n @property({ type: Boolean, reflect: true })\n dark = false;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: String })\n label = '';\n\n /** JSON array de items: '[{\"label\":\"Publicar\",\"value\":\"publish\"}]' */\n @property({ type: String })\n items = '';\n\n private _open = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n document.addEventListener('click', this._onDocClick);\n document.addEventListener('keydown', this._onKeyDown);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n document.removeEventListener('click', this._onDocClick);\n document.removeEventListener('keydown', this._onKeyDown);\n }\n\n protected override render(): TemplateResult {\n let parsedItems: SplitMenuItem[] = [];\n if (this.items) {\n try { parsedItems = JSON.parse(this.items) as SplitMenuItem[]; }\n catch { /* ignore */ }\n }\n\n return buttonSplitTemplate({\n label: this.label,\n variant: this.variant,\n size: this.size,\n dark: this.dark,\n disabled: this.disabled,\n menuOpen: this._open,\n items: parsedItems,\n onMainClick: (e: Event): void => this._onMainClick(e),\n onArrowClick: (e: Event): void => this._onArrowClick(e),\n });\n }\n\n private _onMainClick(e: Event): void {\n this.dispatchEvent(new CustomEvent('ui-lib-split-action', {\n detail: { originalEvent: e },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _onArrowClick(e: Event): void {\n e.stopPropagation();\n this._open = !this._open;\n this.requestUpdate();\n\n /* Delegación de clicks en items data-driven */\n if (this._open) {\n setTimeout((): void => {\n const menu = this.shadowRoot?.querySelector('.split-menu');\n if (!menu) return;\n menu.querySelectorAll<HTMLButtonElement>('.split-menu-item').forEach((item: HTMLButtonElement): void => {\n item.addEventListener('click', (ev: Event): void => {\n ev.stopPropagation();\n this._open = false;\n this.requestUpdate();\n this.dispatchEvent(new CustomEvent('ui-lib-split-select', {\n detail: {\n value: item.dataset['value'] ?? '',\n label: item.textContent?.trim() ?? '',\n },\n bubbles: true,\n composed: true,\n }));\n }, { once: true });\n });\n\n /* Slot items (slotted buttons) */\n const slottedMenu = menu.querySelector<HTMLSlotElement>('slot[name=\"menu\"]');\n if (slottedMenu) {\n slottedMenu.assignedElements().forEach((el: Element): void => {\n el.addEventListener('click', (ev: Event): void => {\n ev.stopPropagation();\n this._open = false;\n this.requestUpdate();\n }, { once: true });\n });\n }\n }, 0);\n }\n }\n\n private _onDocClick = (e: MouseEvent): void => {\n if (!this._open) return;\n if (!this.contains(e.target as Node) && !(this.shadowRoot?.contains(e.target as Node) ?? false)) {\n this._open = false;\n this.requestUpdate();\n }\n };\n\n private _onKeyDown = (e: KeyboardEvent): void => {\n if (e.key === 'Escape' && this._open) {\n this._open = false;\n this.requestUpdate();\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-button-group': LibButtonGroup;\n 'lib-button-sep': LibButtonSep;\n 'lib-button-split': LibButtonSplit;\n }\n}"],"names":["_a"],"mappings":"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"}
package/dist/index51.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { unsafeCSS, css, LitElement } from "lit";
2
- import { property, customElement } from "lit/decorators.js";
3
- import { dropdownTemplate } from "./index287.js";
4
- import dropdownCss from "./index288.js";
2
+ import { property, query, customElement } from "lit/decorators.js";
3
+ import { checkboxCardTemplate } from "./index199.js";
4
+ import checkboxCardCss from "./index200.js";
5
5
  import sharedTokens from "./index196.js";
6
6
  var __defProp = Object.defineProperty;
7
7
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -13,127 +13,107 @@ var __decorateClass = (decorators, target, key, kind) => {
13
13
  if (kind && result) __defProp(target, key, result);
14
14
  return result;
15
15
  };
16
- let LibDropdown = class extends LitElement {
16
+ let LibCheckboxCard = class extends LitElement {
17
17
  constructor() {
18
18
  super(...arguments);
19
- this.label = "Opciones";
20
- this.variant = "default";
21
- this.align = "left";
22
- this.open = false;
19
+ this.checked = false;
20
+ this.inputType = "checkbox";
21
+ this.name = "";
22
+ this.value = "";
23
+ this.color = "kaki";
24
+ this.layout = "vertical";
25
+ this.cardTitle = "";
26
+ this.desc = "";
27
+ this.checkShape = "square";
23
28
  this.dark = false;
24
- this.minWidth = "";
25
- this.ariaLabel = "";
26
- this._onOutsideClick = (e) => {
27
- if (this.open && !e.composedPath().includes(this)) {
28
- this.open = false;
29
- }
30
- };
31
- this._onWindowKey = (e) => {
32
- var _a;
33
- if (this.open && e.key === "Escape") {
34
- this.open = false;
35
- const trigger = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector(".dd-trigger");
36
- trigger == null ? void 0 : trigger.focus();
37
- }
38
- };
29
+ this.disabled = false;
30
+ this.error = false;
31
+ this.image = false;
39
32
  }
40
- /* ── Lifecycle ── */
41
- connectedCallback() {
42
- super.connectedCallback();
43
- window.addEventListener("click", this._onOutsideClick);
44
- window.addEventListener("keydown", this._onWindowKey);
33
+ /* ── Ripple en click ── */
34
+ _handleClick(e) {
35
+ if (this.disabled) return;
36
+ this._spawnRipple(e);
45
37
  }
46
- disconnectedCallback() {
47
- super.disconnectedCallback();
48
- window.removeEventListener("click", this._onOutsideClick);
49
- window.removeEventListener("keydown", this._onWindowKey);
38
+ _spawnRipple(e) {
39
+ const ripple = this._rippleEl;
40
+ if (!ripple) return;
41
+ const rect = ripple.getBoundingClientRect();
42
+ const dot = document.createElement("span");
43
+ dot.className = "cc-ripple-dot";
44
+ dot.style.left = `${e.clientX - rect.left - 2}px`;
45
+ dot.style.top = `${e.clientY - rect.top - 2}px`;
46
+ ripple.appendChild(dot);
47
+ dot.addEventListener("animationend", () => dot.remove(), { once: true });
50
48
  }
51
- /* ── Toggle ── */
52
- _toggle() {
53
- this.open = !this.open;
54
- this.dispatchEvent(new CustomEvent("ui-lib-dropdown-toggle", {
55
- detail: { open: this.open },
49
+ /* ── Cambio de estado ── */
50
+ _handleChange(e) {
51
+ const input = e.target;
52
+ this.checked = input.checked;
53
+ this.dispatchEvent(new CustomEvent("ui-lib-checkbox-card-change", {
54
+ detail: { checked: this.checked, value: this.value },
56
55
  bubbles: true,
57
56
  composed: true
58
57
  }));
59
- if (this.open) {
60
- requestAnimationFrame(() => {
61
- const first = this._getItems()[0];
62
- first == null ? void 0 : first.focus();
63
- });
64
- }
65
58
  }
66
- /* ── Trigger keydown (Arrow Down abre el menú) ── */
67
- _handleTriggerKey(e) {
68
- if (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") {
69
- e.preventDefault();
70
- if (!this.open) this._toggle();
71
- }
72
- }
73
- /* ── Menu keydown (Arrow Up/Down navega entre items) ── */
74
- _handleMenuKey(e) {
75
- const items = this._getItems();
76
- if (!items.length) return;
77
- const current = document.activeElement;
78
- const idx = items.indexOf(current);
79
- if (e.key === "ArrowDown") {
80
- e.preventDefault();
81
- const next = items[(idx + 1) % items.length];
82
- next == null ? void 0 : next.focus();
83
- } else if (e.key === "ArrowUp") {
84
- e.preventDefault();
85
- const prev = items[(idx - 1 + items.length) % items.length];
86
- prev == null ? void 0 : prev.focus();
87
- } else if (e.key === "Tab") {
88
- this.open = false;
89
- }
90
- }
91
- /* ── Obtiene los items focusables del slot default ── */
92
- _getItems() {
93
- var _a;
94
- const slot = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector("slot:not([name])");
95
- if (!slot) return [];
96
- return slot.assignedElements({ flatten: true }).filter(
97
- (el) => el.classList.contains("dd-item") && !el.classList.contains("is-disabled")
98
- );
99
- }
100
- /* ── Detecta si un slot con nombre tiene contenido ── */
59
+ /* Helper para detectar slots con contenido */
101
60
  _hasSlot(name) {
102
61
  return !!this.querySelector(`[slot="${name}"]`);
103
62
  }
104
63
  render() {
105
- return dropdownTemplate(this);
64
+ return checkboxCardTemplate(this);
106
65
  }
107
66
  };
108
- LibDropdown.styles = [
67
+ LibCheckboxCard.styles = [
109
68
  css`${unsafeCSS(sharedTokens)}`,
110
- css`${unsafeCSS(dropdownCss)}`
69
+ css`${unsafeCSS(checkboxCardCss)}`
111
70
  ];
71
+ __decorateClass([
72
+ property({ type: Boolean, reflect: true })
73
+ ], LibCheckboxCard.prototype, "checked", 2);
74
+ __decorateClass([
75
+ property({ type: String, reflect: true, attribute: "input-type" })
76
+ ], LibCheckboxCard.prototype, "inputType", 2);
77
+ __decorateClass([
78
+ property({ type: String })
79
+ ], LibCheckboxCard.prototype, "name", 2);
112
80
  __decorateClass([
113
81
  property({ type: String })
114
- ], LibDropdown.prototype, "label", 2);
82
+ ], LibCheckboxCard.prototype, "value", 2);
115
83
  __decorateClass([
116
84
  property({ type: String, reflect: true })
117
- ], LibDropdown.prototype, "variant", 2);
85
+ ], LibCheckboxCard.prototype, "color", 2);
118
86
  __decorateClass([
119
87
  property({ type: String, reflect: true })
120
- ], LibDropdown.prototype, "align", 2);
88
+ ], LibCheckboxCard.prototype, "layout", 2);
89
+ __decorateClass([
90
+ property({ type: String, attribute: "card-title" })
91
+ ], LibCheckboxCard.prototype, "cardTitle", 2);
92
+ __decorateClass([
93
+ property({ type: String })
94
+ ], LibCheckboxCard.prototype, "desc", 2);
95
+ __decorateClass([
96
+ property({ type: String, attribute: "check-shape" })
97
+ ], LibCheckboxCard.prototype, "checkShape", 2);
121
98
  __decorateClass([
122
99
  property({ type: Boolean, reflect: true })
123
- ], LibDropdown.prototype, "open", 2);
100
+ ], LibCheckboxCard.prototype, "dark", 2);
124
101
  __decorateClass([
125
102
  property({ type: Boolean, reflect: true })
126
- ], LibDropdown.prototype, "dark", 2);
103
+ ], LibCheckboxCard.prototype, "disabled", 2);
127
104
  __decorateClass([
128
- property({ type: String, attribute: "min-width" })
129
- ], LibDropdown.prototype, "minWidth", 2);
105
+ property({ type: Boolean, reflect: true })
106
+ ], LibCheckboxCard.prototype, "error", 2);
107
+ __decorateClass([
108
+ property({ type: Boolean, reflect: true })
109
+ ], LibCheckboxCard.prototype, "image", 2);
130
110
  __decorateClass([
131
- property({ type: String, attribute: "aria-label" })
132
- ], LibDropdown.prototype, "ariaLabel", 2);
133
- LibDropdown = __decorateClass([
134
- customElement("lib-dropdown")
135
- ], LibDropdown);
111
+ query(".cc-ripple")
112
+ ], LibCheckboxCard.prototype, "_rippleEl", 2);
113
+ LibCheckboxCard = __decorateClass([
114
+ customElement("lib-checkbox-card")
115
+ ], LibCheckboxCard);
136
116
  export {
137
- LibDropdown
117
+ LibCheckboxCard
138
118
  };
139
119
  //# sourceMappingURL=index51.js.map