@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/index236.js CHANGED
@@ -1,5 +1,5 @@
1
- const spotlightCss = '@layer tokens,reset,components;@layer reset{:host{display:block;--lib-spotlight-x: 50%;--lib-spotlight-y: 50%}*,*:before,*:after{box-sizing:border-box}}@layer components{.spotlight{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:#0b181c;border:1px solid oklch(100% 0 0deg / .08);cursor:crosshair;transition:border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-base) var(--ease-default)}.spotlight:hover{border-color:#ffffff26;box-shadow:0 8px 32px #0006}:host([kintsugi]) .spotlight{background:#190f0a}:host([kintsugi]) .spotlight:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--lib-kintsugi-border);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.spotlight__layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:var(--lib-spotlight-gradient);opacity:0;transition:opacity var(--duration-base) var(--ease-default);z-index:1}.spotlight:hover .spotlight__layer{opacity:1}:host([spotlight="water"]) .spotlight__layer{background:var(--lib-spotlight-gradient-water)}:host([spotlight="white"]) .spotlight__layer{background:var(--lib-spotlight-gradient-white)}.spotlight__slot{position:relative;z-index:3}}';
1
+ const gridCss = "@layer tokens,reset,components;@layer reset{:host{display:block}*,*:before,*:after{box-sizing:border-box}}@layer components{.bento-item{height:100%;width:100%;display:flex;flex-direction:column;position:relative;background:var(--bg-elevated);border-radius:var(--lib-radius-lg);border:1px solid var(--border-subtle);overflow:hidden}:host([interactive]) .bento-item{cursor:pointer;transition:transform var(--duration-slow) var(--ease-default),border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-slow) var(--ease-default)}:host([interactive]) .bento-item:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}:host([interactive]) .bento-item:active{transform:translateY(-1px)}.content{padding:var(--lib-space-md);height:100%;display:flex;flex-direction:column}:host([flush]) .content{padding:0}@media(prefers-reduced-motion:reduce){:host([interactive]) .bento-item{transition:border-color var(--duration-base)}:host([interactive]) .bento-item:hover{transform:none}}}";
2
2
  export {
3
- spotlightCss as default
3
+ gridCss as default
4
4
  };
5
5
  //# sourceMappingURL=index236.js.map
package/dist/index237.js CHANGED
@@ -1,45 +1,87 @@
1
- import { svg, nothing, html } from "lit";
2
- const iconUp = svg`
3
- <svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor" aria-hidden="true">
4
- <polygon points="5,1 9,9 1,9"/>
1
+ import { svg, html, nothing } from "lit";
2
+ const iconPrev = svg`
3
+ <svg viewBox="0 0 16 16" fill="none"
4
+ stroke="currentColor" stroke-width="1.5"
5
+ stroke-linecap="round" stroke-linejoin="round">
6
+ <polyline points="10,3 5,8 10,13"/>
5
7
  </svg>`;
6
- const iconDown = svg`
7
- <svg width="10" height="10" viewBox="0 0 10 10" fill="currentColor" aria-hidden="true">
8
- <polygon points="5,9 9,1 1,1"/>
8
+ const iconNext = svg`
9
+ <svg viewBox="0 0 16 16" fill="none"
10
+ stroke="currentColor" stroke-width="1.5"
11
+ stroke-linecap="round" stroke-linejoin="round">
12
+ <polyline points="6,3 11,8 6,13"/>
9
13
  </svg>`;
10
- const iconFlat = svg`
11
- <svg width="10" height="10" viewBox="0 0 10 10" fill="none"
12
- stroke="currentColor" stroke-width="1.8"
13
- stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
14
- <line x1="1" y1="5" x2="9" y2="5"/>
15
- </svg>`;
16
- const DELTA_ICON = {
17
- up: iconUp,
18
- down: iconDown,
19
- flat: iconFlat
20
- };
21
- function counterTemplate(props) {
22
- const { size, tone, label, delta, deltaDir } = props;
23
- const toneClass = tone !== "default" ? `cnt-${tone}` : "";
14
+ function carouselTemplate(props) {
15
+ const {
16
+ mode,
17
+ current,
18
+ total,
19
+ peek,
20
+ arrows,
21
+ dots,
22
+ counter,
23
+ loop,
24
+ handlePrev,
25
+ handleNext,
26
+ handleDot,
27
+ handleSlot,
28
+ handleThumb,
29
+ handleKey
30
+ } = props;
31
+ const prevDisabled = !loop && current === 0;
32
+ const nextDisabled = !loop && current === total - 1;
33
+ const counterHtml = peek > 1 ? html`<span>${current + 1}</span>&thinsp;–&thinsp;<span>${Math.min(current + peek, total)}</span> / ${total}` : html`<span>${current + 1}</span> / ${total}`;
24
34
  return html`
25
- <div class="cnt cnt-${size} ${toneClass}">
26
- <div class="cnt-row" part="row"></div>
35
+ <div
36
+ class="cr"
37
+ tabindex="0"
38
+ role="region"
39
+ aria-label="Carousel"
40
+ @keydown=${handleKey}
41
+ >
42
+ <div class="cr-track" part="track">
43
+ <slot @slotchange=${handleSlot}></slot>
44
+ </div>
45
+
46
+ ${arrows && mode === "slide" ? html`
47
+ <button
48
+ class="cr-arrow cr-arrow-prev ${prevDisabled ? "is-disabled" : ""}"
49
+ ?disabled=${prevDisabled}
50
+ aria-label="Anterior"
51
+ @click=${handlePrev}
52
+ >${iconPrev}</button>
27
53
 
28
- ${label || delta ? html`
29
- <div class="cnt-meta">
30
- ${label ? html`<span class="cnt-label">${label}</span>` : nothing}
31
- ${delta ? html`
32
- <span class="cnt-delta cnt-delta-${deltaDir}" aria-label="Variación ${deltaDir}">
33
- ${DELTA_ICON[deltaDir]}
34
- ${delta}
35
- </span>
36
- ` : nothing}
37
- </div>
54
+ <button
55
+ class="cr-arrow cr-arrow-next ${nextDisabled ? "is-disabled" : ""}"
56
+ ?disabled=${nextDisabled}
57
+ aria-label="Siguiente"
58
+ @click=${handleNext}
59
+ >${iconNext}</button>
38
60
  ` : nothing}
39
61
  </div>
62
+
63
+ ${dots && total > 1 ? html`
64
+ <div class="cr-dots" role="tablist" aria-label="Navegación por slides">
65
+ ${Array.from({ length: total }, (_, i) => html`
66
+ <button
67
+ class="cr-dot ${i === current ? "is-active" : ""}"
68
+ role="tab"
69
+ aria-selected=${i === current ? "true" : "false"}
70
+ aria-label="Ir a slide ${i + 1}"
71
+ @click=${() => handleDot(i)}
72
+ ></button>
73
+ `)}
74
+ </div>
75
+ ` : nothing}
76
+
77
+ ${counter && total > 1 ? html`
78
+ <p class="cr-counter">${counterHtml}</p>
79
+ ` : nothing}
80
+
81
+ <slot name="thumbnail" @slotchange=${handleThumb}></slot>
40
82
  `;
41
83
  }
42
84
  export {
43
- counterTemplate
85
+ carouselTemplate
44
86
  };
45
87
  //# sourceMappingURL=index237.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index237.js","sources":["../src/components/atoms/lib-counter/lib-counter.html.ts"],"sourcesContent":["import { html, nothing, svg, TemplateResult } from 'lit';\n\nexport type LibCounterSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LibCounterTone = 'default' | 'kaki' | 'celadon' | 'error' | 'muted' | 'on-dark';\nexport type LibCounterDeltaDir = 'up' | 'down' | 'flat';\n\nexport interface CounterTemplateProps {\n size: LibCounterSize;\n tone: LibCounterTone;\n label: string;\n delta: string;\n deltaDir: LibCounterDeltaDir;\n}\n\n/* ── Delta icons inline SVG, sin dependencia Phosphor ── */\nconst iconUp = svg`\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\">\n <polygon points=\"5,1 9,9 1,9\"/>\n </svg>`;\n\nconst iconDown = svg`\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"currentColor\" aria-hidden=\"true\">\n <polygon points=\"5,9 9,1 1,1\"/>\n </svg>`;\n\nconst iconFlat = svg`\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.8\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <line x1=\"1\" y1=\"5\" x2=\"9\" y2=\"5\"/>\n </svg>`;\n\nconst DELTA_ICON: Record<LibCounterDeltaDir, TemplateResult> = {\n up: iconUp,\n down: iconDown,\n flat: iconFlat,\n};\n\n/**\n * Shell estático de lib-counter.\n *\n * El .cnt-row se construye y anima enteramente por el motor\n * imperativo en LibCounter.updated(). El template solo provee\n * el contenedor y la fila de metadatos.\n *\n * Estructura:\n * div.cnt.cnt-{size}[.cnt-{tone}]\n * div.cnt-row[part=\"row\"] dígitos, construidos vía DOM\n * div.cnt-meta label + delta (opcionales)\n */\nexport function counterTemplate(props: CounterTemplateProps): TemplateResult {\n const { size, tone, label, delta, deltaDir } = props;\n const toneClass = tone !== 'default' ? `cnt-${tone}` : '';\n\n return html`\n <div class=\"cnt cnt-${size} ${toneClass}\">\n <div class=\"cnt-row\" part=\"row\"></div>\n\n ${label || delta ? html`\n <div class=\"cnt-meta\">\n ${label ? html`<span class=\"cnt-label\">${label}</span>` : nothing}\n ${delta ? html`\n <span class=\"cnt-delta cnt-delta-${deltaDir}\" aria-label=\"Variación ${deltaDir}\">\n ${DELTA_ICON[deltaDir]}\n ${delta}\n </span>\n ` : nothing}\n </div>\n ` : nothing}\n </div>\n `;\n}"],"names":[],"mappings":";AAeA,MAAM,SAAS;AAAA;AAAA;AAAA;AAKf,MAAM,WAAW;AAAA;AAAA;AAAA;AAKjB,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAOjB,MAAM,aAAyD;AAAA,EAC7D,IAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR;AAcO,SAAS,gBAAgB,OAA6C;AAC3E,QAAM,EAAE,MAAM,MAAM,OAAO,OAAO,aAAa;AAC/C,QAAM,YAAY,SAAS,YAAY,OAAO,IAAI,KAAK;AAEvD,SAAO;AAAA,0BACiB,IAAI,IAAI,SAAS;AAAA;AAAA;AAAA,QAGnC,SAAS,QAAQ;AAAA;AAAA,YAEb,QAAQ,+BAA+B,KAAK,YAAY,OAAO;AAAA,YAC/D,QAAQ;AAAA,+CAC2B,QAAQ,2BAA2B,QAAQ;AAAA,gBAC1E,WAAW,QAAQ,CAAC;AAAA,gBACpB,KAAK;AAAA;AAAA,cAEP,OAAO;AAAA;AAAA,UAEX,OAAO;AAAA;AAAA;AAGjB;"}
1
+ {"version":3,"file":"index237.js","sources":["../src/components/organisms/carousel/lib-carousel.html.ts"],"sourcesContent":["import { html, nothing, svg, TemplateResult } from 'lit';\n\nexport type LibCarouselMode = 'slide' | 'fade';\n\nexport interface CarouselTemplateProps {\n mode: LibCarouselMode;\n current: number;\n total: number;\n peek: number;\n arrows: boolean;\n dots: boolean;\n counter: boolean;\n loop: boolean;\n handlePrev: () => void;\n handleNext: () => void;\n handleDot: (i: number) => void;\n handleSlot: (e: Event) => void;\n handleThumb: (e: Event) => void;\n handleKey: (e: KeyboardEvent) => void;\n}\n\n/** SVG chevron left */\nconst iconPrev = svg`\n <svg viewBox=\"0 0 16 16\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.5\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"10,3 5,8 10,13\"/>\n </svg>`;\n\n/** SVG chevron right */\nconst iconNext = svg`\n <svg viewBox=\"0 0 16 16\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.5\"\n stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <polyline points=\"6,3 11,8 6,13\"/>\n </svg>`;\n\n/**\n * Template para lib-carousel.\n *\n * Estructura:\n * div.cr ← raíz, maneja keydown\n * div.cr-track ← contenedor deslizante\n * slot ← slides del consumer\n * button.cr-arrow-prev ← (condicional)\n * button.cr-arrow-next ← (condicional)\n * div.cr-dots (condicional)\n * p.cr-counter (condicional)\n * slot[name=\"thumbnail\"] ← tira de miniaturas (condicional)\n */\nexport function carouselTemplate(props: CarouselTemplateProps): TemplateResult {\n const {\n mode, current, total, peek, arrows, dots, counter, loop,\n handlePrev, handleNext, handleDot, handleSlot, handleThumb, handleKey,\n } = props;\n\n const prevDisabled = !loop && current === 0;\n const nextDisabled = !loop && current === total - 1;\n\n // Counter text: \"2 / 6\" para peek=1, \"1 – 3 / 6\" para peek>1\n const counterHtml = peek > 1\n ? html`<span>${current + 1}</span>&thinsp;–&thinsp;<span>${Math.min(current + peek, total)}</span> / ${total}`\n : html`<span>${current + 1}</span> / ${total}`;\n\n return html`\n <div\n class=\"cr\"\n tabindex=\"0\"\n role=\"region\"\n aria-label=\"Carousel\"\n @keydown=${handleKey}\n >\n <div class=\"cr-track\" part=\"track\">\n <slot @slotchange=${handleSlot}></slot>\n </div>\n\n ${arrows && mode === 'slide' ? html`\n <button\n class=\"cr-arrow cr-arrow-prev ${prevDisabled ? 'is-disabled' : ''}\"\n ?disabled=${prevDisabled}\n aria-label=\"Anterior\"\n @click=${handlePrev}\n >${iconPrev}</button>\n\n <button\n class=\"cr-arrow cr-arrow-next ${nextDisabled ? 'is-disabled' : ''}\"\n ?disabled=${nextDisabled}\n aria-label=\"Siguiente\"\n @click=${handleNext}\n >${iconNext}</button>\n ` : nothing}\n </div>\n\n ${dots && total > 1 ? html`\n <div class=\"cr-dots\" role=\"tablist\" aria-label=\"Navegación por slides\">\n ${Array.from({ length: total }, (_, i) => html`\n <button\n class=\"cr-dot ${i === current ? 'is-active' : ''}\"\n role=\"tab\"\n aria-selected=${i === current ? 'true' : 'false'}\n aria-label=\"Ir a slide ${i + 1}\"\n @click=${():void => handleDot(i)}\n ></button>\n `)}\n </div>\n ` : nothing}\n\n ${counter && total > 1 ? html`\n <p class=\"cr-counter\">${counterHtml}</p>\n ` : nothing}\n\n <slot name=\"thumbnail\" @slotchange=${handleThumb}></slot>\n `;\n}"],"names":[],"mappings":";AAsBA,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAQjB,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBV,SAAS,iBAAiB,OAA8C;AAC7E,QAAM;AAAA,IACJ;AAAA,IAAM;AAAA,IAAS;AAAA,IAAO;AAAA,IAAM;AAAA,IAAQ;AAAA,IAAM;AAAA,IAAS;AAAA,IACnD;AAAA,IAAY;AAAA,IAAY;AAAA,IAAW;AAAA,IAAY;AAAA,IAAa;AAAA,EAAA,IAC1D;AAEJ,QAAM,eAAe,CAAC,QAAQ,YAAY;AAC1C,QAAM,eAAe,CAAC,QAAQ,YAAY,QAAQ;AAGlD,QAAM,cAAc,OAAO,IACvB,aAAa,UAAU,CAAC,iCAAiC,KAAK,IAAI,UAAU,MAAM,KAAK,CAAC,aAAa,KAAK,KAC1G,aAAa,UAAU,CAAC,aAAa,KAAK;AAE9C,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAMQ,SAAS;AAAA;AAAA;AAAA,4BAGE,UAAU;AAAA;AAAA;AAAA,QAG9B,UAAU,SAAS,UAAU;AAAA;AAAA,0CAEK,eAAe,gBAAgB,EAAE;AAAA,sBACrD,YAAY;AAAA;AAAA,mBAEf,UAAU;AAAA,WAClB,QAAQ;AAAA;AAAA;AAAA,0CAGuB,eAAe,gBAAgB,EAAE;AAAA,sBACrD,YAAY;AAAA;AAAA,mBAEf,UAAU;AAAA,WAClB,QAAQ;AAAA,UACT,OAAO;AAAA;AAAA;AAAA,MAGX,QAAQ,QAAQ,IAAI;AAAA;AAAA,UAEhB,MAAM,KAAK,EAAE,QAAQ,SAAS,CAAC,GAAG,MAAM;AAAA;AAAA,4BAEtB,MAAM,UAAU,cAAc,EAAE;AAAA;AAAA,4BAEhC,MAAM,UAAU,SAAS,OAAO;AAAA,qCACvB,IAAI,CAAC;AAAA,qBACrB,MAAW,UAAU,CAAC,CAAC;AAAA;AAAA,SAEnC,CAAC;AAAA;AAAA,QAEF,OAAO;AAAA;AAAA,MAET,WAAW,QAAQ,IAAI;AAAA,8BACC,WAAW;AAAA,QACjC,OAAO;AAAA;AAAA,yCAE0B,WAAW;AAAA;AAEpD;"}
package/dist/index238.js CHANGED
@@ -1,5 +1,5 @@
1
- const counterCss = '@layer tokens,reset,components;@layer reset{:host{display:inline-block}*,*:before,*:after{box-sizing:border-box}}@layer components{.cnt{display:inline-flex;flex-direction:column;gap:0}.cnt-row{display:inline-flex;align-items:baseline;gap:0;font-family:var(--lib-font-display);font-weight:var(--weight-light);letter-spacing:var(--tracking-tight);line-height:1;color:var(--text-primary)}.cnt-prefix,.cnt-suffix{font-family:var(--lib-font-mono);letter-spacing:var(--tracking-wide);color:var(--text-muted);line-height:1;align-self:flex-end;padding-bottom:.05em}.cnt-sep{line-height:1;color:var(--text-muted);padding:0 1px}.cnt-digit{position:relative;overflow:hidden;height:1em;display:inline-block;vertical-align:bottom}.cnt-digit-inner{display:flex;flex-direction:column;will-change:transform;transition:transform .7s cubic-bezier(.16,1,.3,1)}.cnt-digit-inner span{display:block;height:1em;line-height:1em;text-align:center}:host([size="sm"]) .cnt-row{font-size:2rem}:host([size="md"]) .cnt-row{font-size:3.5rem}:host([size="lg"]) .cnt-row{font-size:5rem}:host([size="xl"]) .cnt-row{font-size:7rem}:host([size="sm"]) .cnt-prefix,:host([size="sm"]) .cnt-suffix{font-size:.85rem}:host([size="md"]) .cnt-prefix,:host([size="md"]) .cnt-suffix{font-size:1.1rem}:host([size="lg"]) .cnt-prefix,:host([size="lg"]) .cnt-suffix{font-size:1.4rem}:host([size="xl"]) .cnt-prefix,:host([size="xl"]) .cnt-suffix{font-size:1.8rem}:host([tone="kaki"]) .cnt-row{color:var(--color-kaki-500)}:host([tone="celadon"]) .cnt-row{color:var(--color-celadon-500)}:host([tone="error"]) .cnt-row{color:var(--color-error)}:host([tone="muted"]) .cnt-row{color:var(--text-muted)}:host([tone="on-dark"]) .cnt-row{color:#d3c0b1}:host([tone="on-dark"]) .cnt-prefix,:host([tone="on-dark"]) .cnt-suffix,:host([tone="on-dark"]) .cnt-sep{color:#433831}:host([tone="on-dark"]) .cnt-label{color:#362b25}.cnt-meta{display:flex;align-items:center;gap:var(--lib-space-sm);margin-top:var(--lib-space-xs)}.cnt-label{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted)}.cnt-delta{display:inline-flex;align-items:center;gap:2px;font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);padding:1px 6px;border-radius:var(--radius-full);line-height:1.6}.cnt-delta-up{background:var(--color-celadon-100);color:var(--color-celadon-600)}.cnt-delta-down{background:var(--color-error-light, #F5DDD9);color:var(--color-error)}.cnt-delta-flat{background:var(--color-washi-100);color:var(--text-muted)}@media(prefers-reduced-motion:reduce){.cnt-digit-inner{transition:none}}}';
1
+ const carouselCss = '@layer tokens,reset,components;@layer reset{:host{display:block;width:100%}*,*:before,*:after{box-sizing:border-box}button{font:inherit}}@layer components{.cr{position:relative;width:100%;overflow:hidden;-webkit-user-select:none;user-select:none;outline:none}.cr:focus-visible{outline:2px solid var(--color-washi-700);outline-offset:2px}.cr-track{display:flex;transition:transform var(--duration-slow) var(--ease-out);will-change:transform}::slotted(*){flex:0 0 100%;min-width:0}:host([peek="2"]) .cr-track{gap:var(--lib-space-md)}:host([peek="2"]) ::slotted(*){flex:0 0 calc(50% - 8px)}:host([peek="3"]) .cr-track{gap:var(--lib-space-md)}:host([peek="3"]) ::slotted(*){flex:0 0 calc(33.333% - 11px)}:host([peek="4"]) .cr-track{gap:var(--lib-space-sm)}:host([peek="4"]) ::slotted(*){flex:0 0 calc(25% - 6px)}.cr-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:var(--z-raised);width:40px;height:40px;border:1px solid var(--border-default);background:#faf7f4e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:background var(--duration-base) var(--ease-default),border-color var(--duration-base) var(--ease-default),opacity var(--duration-base) var(--ease-default),transform var(--duration-base) var(--ease-bounce);border-radius:var(--radius-none)}.cr-arrow svg{width:16px;height:16px;flex-shrink:0}.cr-arrow:hover:not(.is-disabled){background:var(--bg-elevated);border-color:var(--border-strong, var(--color-washi-500));transform:translateY(-50%) scale(1.05)}.cr-arrow.is-disabled{opacity:.3;pointer-events:none}.cr-arrow-prev{left:var(--lib-space-md)}.cr-arrow-next{right:var(--lib-space-md)}.cr-dots{display:flex;align-items:center;justify-content:center;gap:var(--lib-space-sm);padding-top:var(--lib-space-md)}.cr-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-washi-300);border:none;cursor:pointer;padding:0;transition:width var(--duration-slow) var(--ease-bounce),background var(--duration-base) var(--ease-default);flex-shrink:0}.cr-dot.is-active{width:20px;background:var(--color-washi-900)}.cr-counter{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);color:var(--text-muted);text-align:center;padding-top:var(--lib-space-sm)}.cr-counter span{color:var(--text-primary)}:host([mode="fade"]) .cr-track{transition:none;position:relative}:host([mode="fade"]) ::slotted(*){position:absolute;top:0;left:0;width:100%;opacity:0;transition:opacity var(--duration-slow) var(--ease-out);pointer-events:none}:host([mode="fade"]) ::slotted(.is-active){position:relative;opacity:1;pointer-events:auto}slot[name=thumbnail]{display:flex;gap:var(--lib-space-xs);padding-top:var(--lib-space-sm);overflow-x:auto;scrollbar-width:none}slot[name=thumbnail]::-webkit-scrollbar{display:none}::slotted([slot="thumbnail"]){width:64px;height:48px;flex-shrink:0;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color var(--duration-base) var(--ease-default),opacity var(--duration-base) var(--ease-default);opacity:.5}::slotted([slot="thumbnail"].is-active){border-color:var(--color-washi-900);opacity:1}@media(max-width:640px){:host([peek="2"]) ::slotted(*),:host([peek="3"]) ::slotted(*),:host([peek="4"]) ::slotted(*){flex:0 0 calc(80% - 8px)}}@media(prefers-reduced-motion:reduce){.cr-track{transition:none}.cr-dot{transition:background var(--duration-base)}:host([mode="fade"]) ::slotted(*){transition:none}}}';
2
2
  export {
3
- counterCss as default
3
+ carouselCss as default
4
4
  };
5
5
  //# sourceMappingURL=index238.js.map
package/dist/index239.js CHANGED
@@ -1,30 +1,5 @@
1
- import { html } from "lit";
2
- function dividerCenter(props) {
3
- if (props.ornament === "dot") {
4
- return html`<span class="dv__ornament dv__ornament--dot"></span>`;
5
- }
6
- if (props.ornament === "diamond") {
7
- return html`<span class="dv__ornament dv__ornament--diamond"></span>`;
8
- }
9
- if (props.hasSlotContent) {
10
- return html`
11
- <span class="dv__label dv__label--${props.labelStyle}">
12
- <slot @slotchange="${props.onSlotChange}"></slot>
13
- </span>
14
- `;
15
- }
16
- return html`<slot @slotchange="${props.onSlotChange}" style="display:none"></slot>`;
17
- }
18
- function dividerTemplate(props) {
19
- return html`
20
- <div class="dv">
21
- <span class="dv__line"></span>
22
- ${dividerCenter(props)}
23
- <span class="dv__line"></span>
24
- </div>
25
- `;
26
- }
1
+ const cursorCss = '@layer tokens,reset,components;@layer reset{:host{display:contents;pointer-events:none}*,*:before,*:after{box-sizing:border-box}}@layer components{.cur-dot{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);will-change:transform;transition:width .2s var(--ease-out),height .2s var(--ease-out),background .25s,border-radius .2s,opacity .3s}.cur-ring{position:fixed;border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);will-change:transform;transition:width .3s var(--ease-out),height .3s var(--ease-out),border-color .3s,border-width .2s,background .3s,opacity .3s}.cur-label{position:fixed;pointer-events:none;z-index:9999;font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-washi-50);background:var(--color-washi-900);padding:4px 8px;white-space:nowrap;opacity:0;transform:translate(14px,-50%);transition:opacity .2s;will-change:transform}.cur-label.is-visible{opacity:1}:host([curstate="hover"]) .cur-dot{width:10px;height:10px;background:var(--color-kaki-500)}:host([curstate="hover"]) .cur-ring{width:52px;height:52px;border-color:var(--color-kaki-400)!important;border-width:1.5px!important}:host([curstate="text"]) .cur-dot{width:2px;height:22px;border-radius:1px;background:var(--color-washi-700)}:host([curstate="text"]) .cur-ring{opacity:0}:host([curstate="press"]) .cur-dot{width:4px;height:4px;background:var(--color-kaki-600)}:host([curstate="press"]) .cur-ring{width:22px;height:22px;border-color:var(--color-kaki-500)!important;background:#b85a1e0f!important}:host([curstate="hidden"]) .cur-dot,:host([curstate="hidden"]) .cur-ring{opacity:0}:host([dark-zone]) .cur-ring{border-color:#faf7f440!important}@media(pointer:coarse),(max-width:768px){.cur-dot,.cur-ring,.cur-label{display:none}}}';
27
2
  export {
28
- dividerTemplate
3
+ cursorCss as default
29
4
  };
30
5
  //# sourceMappingURL=index239.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index239.js","sources":["../src/components/atoms/divider/lib-divider.component.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\n\nexport type LibDividerStyle = 'hairline' | 'default' | 'strong' | 'heavy' | 'dashed' | 'dotted' | 'gradient';\nexport type LibDividerColor = 'default' | 'kaki' | 'celadon';\nexport type LibDividerAlign = 'left' | 'center' | 'right';\nexport type LibDividerOrnament = 'none' | 'dot' | 'diamond';\nexport type LibDividerLabelStyle = 'mono' | 'display' | 'kanji';\nexport type LibDividerOrientation = 'horizontal' | 'vertical';\n\nexport interface DividerTemplateProps {\n orientation: LibDividerOrientation;\n style: LibDividerStyle;\n color: LibDividerColor;\n align: LibDividerAlign;\n ornament: LibDividerOrnament;\n labelStyle: LibDividerLabelStyle;\n hasSlotContent: boolean;\n onSlotChange: (e: Event) => void;\n}\n\n/**\n * Renderiza el contenido central del divider:\n * - ornament (dot / diamond) si está activo\n * - slot con label si hay contenido slotado\n * - nada si es una línea pura\n *\n * Las dos .dv-line siempre se renderizan.\n * La alineación izquierda/derecha la gestiona CSS via :host([align]).\n */\nfunction dividerCenter(props: DividerTemplateProps): TemplateResult | typeof nothing {\n if (props.ornament === 'dot') {\n return html`<span class=\"dv__ornament dv__ornament--dot\"></span>`;\n }\n if (props.ornament === 'diamond') {\n return html`<span class=\"dv__ornament dv__ornament--diamond\"></span>`;\n }\n if (props.hasSlotContent) {\n return html`\n <span class=\"dv__label dv__label--${props.labelStyle}\">\n <slot @slotchange=\"${props.onSlotChange}\"></slot>\n </span>\n `;\n }\n // Slot vacío — lo mantenemos para detectar cambios futuros\n return html`<slot @slotchange=\"${props.onSlotChange}\" style=\"display:none\"></slot>`;\n}\n\nexport function dividerTemplate(props: DividerTemplateProps): TemplateResult {\n return html`\n <div class=\"dv\">\n <span class=\"dv__line\"></span>\n ${dividerCenter(props)}\n <span class=\"dv__line\"></span>\n </div>\n `;\n}"],"names":[],"mappings":";AA6BA,SAAS,cAAc,OAA8D;AACnF,MAAI,MAAM,aAAa,OAAO;AAC5B,WAAO;AAAA,EACT;AACA,MAAI,MAAM,aAAa,WAAW;AAChC,WAAO;AAAA,EACT;AACA,MAAI,MAAM,gBAAgB;AACxB,WAAO;AAAA,0CAC+B,MAAM,UAAU;AAAA,6BAC7B,MAAM,YAAY;AAAA;AAAA;AAAA,EAG7C;AAEA,SAAO,0BAA0B,MAAM,YAAY;AACrD;AAEO,SAAS,gBAAgB,OAA6C;AAC3E,SAAO;AAAA;AAAA;AAAA,QAGD,cAAc,KAAK,CAAC;AAAA;AAAA;AAAA;AAI5B;"}
1
+ {"version":3,"file":"index239.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/index24.js CHANGED
@@ -1,6 +1,8 @@
1
- import { unsafeCSS, LitElement, html } from "lit";
2
- import { property, query, customElement } from "lit/decorators.js";
3
- import styles from "./index234.js";
1
+ import { unsafeCSS, css, LitElement } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import { renderEyebrow } from "./index306.js";
4
+ import componentCss from "./index307.js";
5
+ import sharedTokens from "./index196.js";
4
6
  var __defProp = Object.defineProperty;
5
7
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
8
  var __decorateClass = (decorators, target, key, kind) => {
@@ -11,45 +13,46 @@ var __decorateClass = (decorators, target, key, kind) => {
11
13
  if (kind && result) __defProp(target, key, result);
12
14
  return result;
13
15
  };
14
- let LibMagnetic = class extends LitElement {
16
+ let LibEyebrow = class extends LitElement {
15
17
  constructor() {
16
18
  super(...arguments);
17
- this.shift = 0.4;
19
+ this.color = "kaki";
20
+ this.line = "left";
21
+ this.size = "md";
22
+ this.effect = "none";
23
+ this.dot = false;
24
+ this.num = "";
18
25
  }
19
26
  render() {
20
- return html`
21
- <div
22
- class="magnetic-wrapper"
23
- @mousemove=${this._handleMouseMove}
24
- @mouseleave=${this._handleMouseLeave}
25
- >
26
- <slot></slot>
27
- </div>
28
- `;
29
- }
30
- _handleMouseMove(e) {
31
- const { left, top, width, height } = this.getBoundingClientRect();
32
- const centerX = left + width / 2;
33
- const centerY = top + height / 2;
34
- const deltaX = (e.clientX - centerX) * this.shift;
35
- const deltaY = (e.clientY - centerY) * this.shift;
36
- this._wrapper.style.transform = `translate(${deltaX}px, ${deltaY}px)`;
37
- }
38
- _handleMouseLeave() {
39
- this._wrapper.style.transform = `translate(0px, 0px)`;
27
+ return renderEyebrow(this);
40
28
  }
41
29
  };
42
- LibMagnetic.styles = unsafeCSS(styles);
30
+ LibEyebrow.styles = [
31
+ css`${unsafeCSS(sharedTokens)}`,
32
+ css`${unsafeCSS(componentCss)}`
33
+ ];
34
+ __decorateClass([
35
+ property({ type: String, reflect: true })
36
+ ], LibEyebrow.prototype, "color", 2);
37
+ __decorateClass([
38
+ property({ type: String, reflect: true })
39
+ ], LibEyebrow.prototype, "line", 2);
40
+ __decorateClass([
41
+ property({ type: String, reflect: true })
42
+ ], LibEyebrow.prototype, "size", 2);
43
+ __decorateClass([
44
+ property({ type: String, reflect: true })
45
+ ], LibEyebrow.prototype, "effect", 2);
43
46
  __decorateClass([
44
- property({ type: Number })
45
- ], LibMagnetic.prototype, "shift", 2);
47
+ property({ type: Boolean, reflect: true })
48
+ ], LibEyebrow.prototype, "dot", 2);
46
49
  __decorateClass([
47
- query(".magnetic-wrapper")
48
- ], LibMagnetic.prototype, "_wrapper", 2);
49
- LibMagnetic = __decorateClass([
50
- customElement("lib-magnetic")
51
- ], LibMagnetic);
50
+ property({ type: String, reflect: true })
51
+ ], LibEyebrow.prototype, "num", 2);
52
+ LibEyebrow = __decorateClass([
53
+ customElement("lib-eyebrow")
54
+ ], LibEyebrow);
52
55
  export {
53
- LibMagnetic
56
+ LibEyebrow
54
57
  };
55
58
  //# sourceMappingURL=index24.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index24.js","sources":["../src/components/atoms/magnetic/lib-magnetic.component.ts"],"sourcesContent":["import { LitElement, TemplateResult, html, unsafeCSS } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport styles from './lib-magnetic.css?inline';\n\n@customElement('lib-magnetic')\nexport class LibMagnetic extends LitElement {\n static override styles = unsafeCSS(styles);\n\n /**\n * Intensidad del efecto (0.1 a 1). \n * Valores más altos hacen que el elemento siga más de cerca al ratón.\n */\n @property({ type: Number }) shift = 0.4;\n\n @query('.magnetic-wrapper') _wrapper!: HTMLElement;\n\n override render():TemplateResult {\n return html`\n <div \n class=\"magnetic-wrapper\"\n @mousemove=${this._handleMouseMove}\n @mouseleave=${this._handleMouseLeave}\n >\n <slot></slot>\n </div>\n `;\n }\n\n private _handleMouseMove(e: MouseEvent):void {\n const { left, top, width, height } = this.getBoundingClientRect();\n \n // Calculamos la distancia del cursor respecto al centro del elemento\n const centerX = left + width / 2;\n const centerY = top + height / 2;\n \n const deltaX = (e.clientX - centerX) * this.shift;\n const deltaY = (e.clientY - centerY) * this.shift;\n\n this._wrapper.style.transform = `translate(${deltaX}px, ${deltaY}px)`;\n }\n\n private _handleMouseLeave():void {\n // Retorno suave a la posición inicial\n this._wrapper.style.transform = `translate(0px, 0px)`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'lib-magnetic': LibMagnetic;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;;;AAKO,IAAM,cAAN,cAA0B,WAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA;AAOuB,SAAA,QAAQ;AAAA,EAAA;AAAA,EAI3B,SAAwB;AAC/B,WAAO;AAAA;AAAA;AAAA,qBAGU,KAAK,gBAAgB;AAAA,sBACpB,KAAK,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK1C;AAAA,EAEQ,iBAAiB,GAAoB;AAC3C,UAAM,EAAE,MAAM,KAAK,OAAO,OAAA,IAAW,KAAK,sBAAA;AAG1C,UAAM,UAAU,OAAO,QAAQ;AAC/B,UAAM,UAAU,MAAM,SAAS;AAE/B,UAAM,UAAU,EAAE,UAAU,WAAW,KAAK;AAC5C,UAAM,UAAU,EAAE,UAAU,WAAW,KAAK;AAE5C,SAAK,SAAS,MAAM,YAAY,aAAa,MAAM,OAAO,MAAM;AAAA,EAClE;AAAA,EAEQ,oBAAyB;AAE/B,SAAK,SAAS,MAAM,YAAY;AAAA,EAClC;AACF;AAxCa,YACK,SAAS,UAAU,MAAM;AAMb,gBAAA;AAAA,EAA3B,SAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAPf,YAOiB,WAAA,SAAA,CAAA;AAEA,gBAAA;AAAA,EAA3B,MAAM,mBAAmB;AAAA,GATf,YASiB,WAAA,YAAA,CAAA;AATjB,cAAN,gBAAA;AAAA,EADN,cAAc,cAAc;AAAA,GAChB,WAAA;"}
1
+ {"version":3,"file":"index24.js","sources":["../src/components/atoms/eyebrow/lib-eyebrow.component.ts"],"sourcesContent":["import { LitElement, css, unsafeCSS, type TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { renderEyebrow } from './lib-eyebrow.html';\nimport componentCss from './lib-eyebrow.css?inline';\nimport sharedTokens from '../../../styles/shared/tokens.css?inline';\n\nexport type EyebrowColor = 'kaki' | 'washi' | 'celadon' | 'white' | 'muted' | 'dark';\nexport type EyebrowLine = 'left' | 'right' | 'both' | 'none';\nexport type EyebrowSize = 'sm' | 'md' | 'lg';\nexport type EyebrowEffect = 'none' | 'kintsugi' | 'glitch';\n\n/**\n * `<lib-eyebrow>` Etiqueta introductoria previa a un titular.\n *\n * Elemento de texto en DM Mono muy pequeño con línea decorativa de gradiente.\n * Unifica los patrones `.sg-section-label`, `.hero-eyebrow` y `.section-label`\n * en un único componente agnóstico.\n *\n * @tag lib-eyebrow\n *\n * @attr {'kaki'|'washi'|'celadon'|'white'|'muted'|'dark'} color\n * Color del texto y de la línea decorativa. Default: `'kaki'`.\n *\n * @attr {'left'|'right'|'both'|'none'} line\n * Posición de la línea decorativa. Default: `'left'`.\n *\n * @attr {'sm'|'md'|'lg'} size\n * Tamaño tipográfico. Default: `'md'`.\n *\n * @attr {'none'|'kintsugi'|'glitch'} effect\n * Efecto especial de animación. Default: `'none'`.\n *\n * @attr {boolean} dot\n * Reemplaza la línea por un punto de color.\n *\n * @attr {string} num\n * Si se define, añade un badge numérico sufijo (ej: \"01\").\n *\n * @slot - Texto del eyebrow.\n *\n * @csspart base - El span contenedor interno.\n * @csspart badge - El badge numérico (solo cuando `num` está definido).\n *\n * @example\n * <lib-eyebrow>Design System · v0.1.0</lib-eyebrow>\n * <lib-eyebrow color=\"celadon\" size=\"sm\" dot>Sistema online</lib-eyebrow>\n * <lib-eyebrow effect=\"kintsugi\" line=\"both\">✦ Featured</lib-eyebrow>\n * <lib-eyebrow effect=\"glitch\" line=\"none\">⌗ runtime · session</lib-eyebrow>\n * <lib-eyebrow num=\"41\">Motion</lib-eyebrow>\n */\n@customElement('lib-eyebrow')\nexport class LibEyebrow extends LitElement {\n\n static override styles = [\n css`${unsafeCSS(sharedTokens)}`,\n css`${unsafeCSS(componentCss)}`,\n ];\n\n /** Color del texto y la línea decorativa */\n @property({ type: String, reflect: true })\n color: EyebrowColor = 'kaki';\n\n /** Posición de la línea decorativa */\n @property({ type: String, reflect: true })\n line: EyebrowLine = 'left';\n\n /** Tamaño tipográfico */\n @property({ type: String, reflect: true })\n size: EyebrowSize = 'md';\n\n /** Efecto especial animado */\n @property({ type: String, reflect: true })\n effect: EyebrowEffect = 'none';\n\n /** Sustituye la línea por un punto de color */\n @property({ type: Boolean, reflect: true })\n dot = false;\n\n /**\n * Badge numérico añadido como sufijo.\n * Útil en listados de componentes (\"41 · Motion\").\n */\n @property({ type: String, reflect: true })\n num = '';\n\n protected override render(): TemplateResult {\n return renderEyebrow(this);\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAmDO,IAAM,aAAN,cAAyB,WAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA;AASL,SAAA,QAAsB;AAItB,SAAA,OAAoB;AAIpB,SAAA,OAAoB;AAIpB,SAAA,SAAwB;AAIxB,SAAA,MAAM;AAON,SAAA,MAAM;AAAA,EAAA;AAAA,EAEa,SAAyB;AAC1C,WAAO,cAAc,IAAI;AAAA,EAC3B;AACF;AArCa,WAEK,SAAS;AAAA,EACvB,MAAM,UAAU,YAAY,CAAC;AAAA,EAC7B,MAAM,UAAU,YAAY,CAAC;AAC/B;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAR9B,WASX,WAAA,SAAA,CAAA;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAZ9B,WAaX,WAAA,QAAA,CAAA;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GAhB9B,WAiBX,WAAA,QAAA,CAAA;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GApB9B,WAqBX,WAAA,UAAA,CAAA;AAIA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,GAxB/B,WAyBX,WAAA,OAAA,CAAA;AAOA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,GA/B9B,WAgCX,WAAA,OAAA,CAAA;AAhCW,aAAN,gBAAA;AAAA,EADN,cAAc,aAAa;AAAA,GACf,UAAA;"}
package/dist/index240.js CHANGED
@@ -1,5 +1,42 @@
1
- const dividerCss = '@layer tokens,reset,components;@layer reset{:host{display:block;width:100%}:host([orientation="vertical"]){display:inline-flex;width:auto;height:100%}*,*:before,*:after{box-sizing:border-box}}@layer components{.dv{display:flex;align-items:center;width:100%;gap:var(--lib-space-md)}:host([orientation="vertical"]) .dv{flex-direction:column;width:auto;height:100%;gap:var(--lib-space-sm)}.dv__line{flex:1;min-width:0;min-height:0;height:1px;width:auto;background:var(--border-subtle)}:host([orientation="vertical"]) .dv__line{height:auto;width:1px}:host([style-variant="default"]) .dv__line{background:var(--border-default)}:host([style-variant="strong"]) .dv__line{height:2px;background:var(--border-strong)}:host([style-variant="heavy"]) .dv__line{height:4px;background:var(--color-washi-900)}:host([style-variant="dashed"]) .dv__line{background:none;border-top:1px dashed var(--border-default);height:0}:host([style-variant="dotted"]) .dv__line{background:none;border-top:1px dotted var(--color-washi-400);height:0}:host([style-variant="gradient"]) .dv__line{background:linear-gradient(to right,transparent 0%,var(--border-default) 20%,var(--border-default) 80%,transparent 100%)}:host([orientation="vertical"][style-variant="default"]) .dv__line{background:var(--border-default)}:host([orientation="vertical"][style-variant="strong"]) .dv__line{width:2px;background:var(--border-strong);height:auto}:host([orientation="vertical"][style-variant="dashed"]) .dv__line{background:none;border-left:1px dashed var(--border-default);width:0}:host([orientation="vertical"][style-variant="gradient"]) .dv__line{background:linear-gradient(to bottom,transparent 0%,var(--border-default) 20%,var(--border-default) 80%,transparent 100%)}:host([color="kaki"]) .dv__line{background:var(--color-kaki-500);height:2px}:host([color="celadon"]) .dv__line{background:var(--color-celadon-500);height:2px}:host([align="left"]) .dv__line:first-child{max-width:24px}:host([align="right"]) .dv__line:last-child{max-width:24px}.dv__ornament{flex-shrink:0}.dv__ornament--dot{width:5px;height:5px;border-radius:var(--radius-full);background:var(--color-washi-400)}.dv__ornament--diamond{width:6px;height:6px;background:var(--color-washi-400);transform:rotate(45deg)}:host([color="kaki"]) .dv__ornament{background:var(--color-kaki-500)}:host([color="celadon"]) .dv__ornament{background:var(--color-celadon-500)}.dv__label{flex-shrink:0;white-space:nowrap;line-height:1}.dv__label--mono{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted)}.dv__label--display{font-family:var(--lib-font-display);font-size:var(--text-xl);font-weight:var(--weight-light);letter-spacing:var(--tracking-tight);color:var(--text-secondary);text-transform:none;font-style:italic}.dv__label--kanji{font-family:var(--lib-font-display);font-size:1.25rem;color:var(--color-washi-300);line-height:1;text-transform:none}:host([color="kaki"]) .dv__label--mono{color:var(--color-kaki-500)}}';
1
+ const CURSOR_MODES = {
2
+ ink: {
3
+ dotBg: "var(--color-washi-900)",
4
+ dotSize: "6px",
5
+ ringBorder: "1px solid var(--color-washi-400)",
6
+ ringBg: "transparent",
7
+ ringSize: "36px",
8
+ ringMix: "multiply",
9
+ lerpFactor: 0.12
10
+ },
11
+ minimal: {
12
+ dotBg: "var(--color-washi-600)",
13
+ dotSize: "4px",
14
+ ringBorder: "none",
15
+ ringBg: "transparent",
16
+ ringSize: "0px",
17
+ ringMix: "normal",
18
+ lerpFactor: 0.2
19
+ },
20
+ kaki: {
21
+ dotBg: "var(--color-kaki-500)",
22
+ dotSize: "8px",
23
+ ringBorder: "1.5px solid var(--color-kaki-200, #F4C099)",
24
+ ringBg: "rgba(217,114,52,0.04)",
25
+ ringSize: "40px",
26
+ ringMix: "normal",
27
+ lerpFactor: 0.09
28
+ },
29
+ ghost: {
30
+ dotBg: "transparent",
31
+ dotSize: "0px",
32
+ ringBorder: "1px solid rgba(250,247,244,0.25)",
33
+ ringBg: "rgba(250,247,244,0.03)",
34
+ ringSize: "28px",
35
+ ringMix: "normal",
36
+ lerpFactor: 0.1
37
+ }
38
+ };
2
39
  export {
3
- dividerCss as default
40
+ CURSOR_MODES
4
41
  };
5
42
  //# sourceMappingURL=index240.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index240.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index240.js","sources":["../src/components/organisms/cursor-follower/lib-cursor-follower.types.ts"],"sourcesContent":["/** Cuatro modos visuales del cursor */\nexport type CursorMode = 'ink' | 'minimal' | 'kaki' | 'ghost';\n\n/** Estados contextuales detectados automáticamente */\nexport type CursorState = 'default' | 'hover' | 'text' | 'press' | 'hidden';\n\n/** Configuración interna por modo */\nexport interface CursorModeConfig {\n dotBg: string;\n dotSize: string;\n ringBorder: string;\n ringBg: string;\n ringSize: string;\n ringMix: string;\n lerpFactor: number;\n}\n\nexport const CURSOR_MODES: Record<CursorMode, CursorModeConfig> = {\n ink: {\n dotBg: 'var(--color-washi-900)',\n dotSize: '6px',\n ringBorder: '1px solid var(--color-washi-400)',\n ringBg: 'transparent',\n ringSize: '36px',\n ringMix: 'multiply',\n lerpFactor: 0.12,\n },\n minimal: {\n dotBg: 'var(--color-washi-600)',\n dotSize: '4px',\n ringBorder: 'none',\n ringBg: 'transparent',\n ringSize: '0px',\n ringMix: 'normal',\n lerpFactor: 0.2,\n },\n kaki: {\n dotBg: 'var(--color-kaki-500)',\n dotSize: '8px',\n ringBorder: '1.5px solid var(--color-kaki-200, #F4C099)',\n ringBg: 'rgba(217,114,52,0.04)',\n ringSize: '40px',\n ringMix: 'normal',\n lerpFactor: 0.09,\n },\n ghost: {\n dotBg: 'transparent',\n dotSize: '0px',\n ringBorder: '1px solid rgba(250,247,244,0.25)',\n ringBg: 'rgba(250,247,244,0.03)',\n ringSize: '28px',\n ringMix: 'normal',\n lerpFactor: 0.1,\n },\n};"],"names":[],"mappings":"AAiBO,MAAM,eAAqD;AAAA,EAChE,KAAK;AAAA,IACH,OAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,IACZ,QAAY;AAAA,IACZ,UAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,EAAA;AAAA,EAEd,SAAS;AAAA,IACP,OAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,IACZ,QAAY;AAAA,IACZ,UAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,EAAA;AAAA,EAEd,MAAM;AAAA,IACJ,OAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,IACZ,QAAY;AAAA,IACZ,UAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,EAAA;AAAA,EAEd,OAAO;AAAA,IACL,OAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,IACZ,QAAY;AAAA,IACZ,UAAY;AAAA,IACZ,SAAY;AAAA,IACZ,YAAY;AAAA,EAAA;AAEhB;"}
package/dist/index241.js CHANGED
@@ -1,37 +1,5 @@
1
- import { noChange as E } from "./index358.js";
2
- import { directive as e, Directive as i$1, PartType as t } from "./index359.js";
3
- /**
4
- * @license
5
- * Copyright 2018 Google LLC
6
- * SPDX-License-Identifier: BSD-3-Clause
7
- */
8
- const n = "important", i = " !" + n, o = e(class extends i$1 {
9
- constructor(t$1) {
10
- var _a;
11
- if (super(t$1), t$1.type !== t.ATTRIBUTE || "style" !== t$1.name || ((_a = t$1.strings) == null ? void 0 : _a.length) > 2) throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.");
12
- }
13
- render(t2) {
14
- return Object.keys(t2).reduce((e2, r) => {
15
- const s = t2[r];
16
- return null == s ? e2 : e2 + `${r = r.includes("-") ? r : r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, "-$&").toLowerCase()}:${s};`;
17
- }, "");
18
- }
19
- update(e2, [r]) {
20
- const { style: s } = e2.element;
21
- if (void 0 === this.ft) return this.ft = new Set(Object.keys(r)), this.render(r);
22
- for (const t2 of this.ft) null == r[t2] && (this.ft.delete(t2), t2.includes("-") ? s.removeProperty(t2) : s[t2] = null);
23
- for (const t2 in r) {
24
- const e3 = r[t2];
25
- if (null != e3) {
26
- this.ft.add(t2);
27
- const r2 = "string" == typeof e3 && e3.endsWith(i);
28
- t2.includes("-") || r2 ? s.setProperty(t2, r2 ? e3.slice(0, -11) : e3, r2 ? n : "") : s[t2] = e3;
29
- }
30
- }
31
- return E;
32
- }
33
- });
1
+ const tableCss = '@layer tokens,reset,components;@layer reset{:host{display:block;width:100%}*,*:before,*:after{box-sizing:border-box}}@layer components{.tbl-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-subtle)}.tbl-wrap table{border:none}.tbl-wrap.tbl-sticky-head{max-height:380px;overflow-y:auto}.tbl-sticky-head thead th{position:sticky;top:0;z-index:3}table{width:100%;border-collapse:collapse;font-family:var(--lib-font-body);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-elevated)}caption{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted);text-align:left;padding:var(--lib-space-sm) var(--lib-space-md);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);caption-side:top}thead th{font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-muted);font-weight:400;padding:var(--lib-space-sm) var(--lib-space-md);text-align:left;background:var(--bg-surface);border-bottom:1px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}thead th.is-sortable{cursor:pointer;padding-right:var(--lib-space-lg);transition:color var(--duration-fast),background var(--duration-fast)}thead th.is-sortable:hover{color:var(--text-primary);background:var(--color-washi-200)}thead th.is-sortable:after{content:"";position:absolute;right:var(--lib-space-sm);top:50%;transform:translateY(-50%);width:0;height:0;opacity:.3;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentcolor;transition:opacity var(--duration-fast),transform var(--duration-base)}thead th.is-sortable:hover:after{opacity:.6}thead th.sort-asc:after{opacity:1;transform:translateY(-50%) rotate(180deg)}thead th.sort-desc:after{opacity:1;transform:translateY(-50%) rotate(0)}thead th.sort-asc,thead th.sort-desc{color:var(--text-primary);background:var(--color-washi-200)}thead th.is-num{text-align:right}tbody tr{transition:background var(--duration-fast);border-bottom:1px solid var(--border-subtle)}tbody tr:last-child{border-bottom:none}tbody td{padding:var(--lib-space-md) var(--lib-space-md);color:var(--text-secondary);font-size:var(--text-sm);vertical-align:middle;line-height:var(--leading-snug)}tfoot td{padding:var(--lib-space-sm) var(--lib-space-md);font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--text-muted);background:var(--bg-surface);border-top:1px solid var(--border-default)}:host([size="sm"]) thead th{padding:var(--lib-space-xs) var(--lib-space-sm);font-size:9px}:host([size="sm"]) tbody td{padding:var(--lib-space-xs) var(--lib-space-sm);font-size:var(--text-xs)}:host([size="sm"]) tfoot td{padding:var(--lib-space-xs) var(--lib-space-sm)}:host([size="lg"]) thead th{padding:var(--lib-space-md) var(--lib-space-lg);font-size:11px}:host([size="lg"]) tbody td{padding:calc(var(--lib-space-md) + var(--lib-space-xs)) var(--lib-space-lg);font-size:var(--text-base)}:host([size="lg"]) tfoot td{padding:var(--lib-space-md) var(--lib-space-lg)}:host([variant="lines"]) tbody tr:hover,:host(:not([variant])) tbody tr:hover{background:var(--color-washi-50)}:host([variant="grid"]) thead th,:host([variant="grid"]) tbody td{border-right:1px solid var(--border-subtle)}:host([variant="grid"]) thead th:last-child,:host([variant="grid"]) tbody td:last-child{border-right:none}:host([variant="grid"]) tbody tr:hover{background:var(--color-washi-50)}:host([variant="striped"]) tbody tr:nth-child(2n){background:var(--bg-surface)}:host([variant="striped"]) tbody tr:hover{background:var(--color-washi-50)}:host([variant="striped"]) tbody tr:nth-child(2n):hover{background:var(--color-washi-200)}:host([variant="borderless"]) thead th{border-bottom:1px solid var(--border-default)}:host([variant="borderless"]) tbody tr{border-bottom:none}:host([variant="borderless"]) tbody td{border:none}:host([variant="borderless"]) tbody tr:hover{background:var(--bg-surface)}tbody tr.is-selected,tbody tr.is-selected:hover{background:var(--color-kaki-50);border-bottom-color:var(--color-kaki-100)}tbody tr.is-selected td{color:var(--text-primary)}tbody tr.is-error,tbody tr.is-error:hover{background:#f5ddd9;border-bottom-color:#ebc9c4}tbody tr.is-error td{color:var(--color-error)}tbody tr.is-warning,tbody tr.is-warning:hover{background:#fef9ec;border-bottom-color:#f5e6a8}tbody tr.is-warning td{color:#7a5c0a}tbody tr.is-success,tbody tr.is-success:hover{background:var(--color-celadon-50);border-bottom-color:var(--color-celadon-100)}tbody tr.is-success td{color:var(--color-celadon-600)}tbody tr.is-disabled,tbody tr.is-disabled:hover{background:transparent;opacity:.38;cursor:not-allowed}.col-sticky{position:sticky;left:0;z-index:1;background:inherit}thead .col-sticky{background:var(--bg-surface);z-index:2}.col-sticky:after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:1px;background:var(--border-subtle);box-shadow:2px 0 6px #1a140e0d}.cell-num{text-align:right;font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-primary)}thead th.cell-num{color:var(--text-muted)}.cell-mono{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-muted)}.cell-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-check{width:40px;padding:var(--lib-space-md) var(--lib-space-sm) var(--lib-space-md) var(--lib-space-md)!important}.cell-check input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-washi-900);cursor:pointer;display:block}.cell-avatar{display:flex;align-items:center;gap:var(--lib-space-sm)}.avatar-circle{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-family:var(--lib-font-mono);font-size:9px;flex-shrink:0;background:var(--color-washi-200);color:var(--text-secondary)}.avatar-text{display:flex;flex-direction:column;gap:1px}.avatar-name{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-tight)}.avatar-hint{font-family:var(--lib-font-mono);font-size:10px;color:var(--text-muted);letter-spacing:var(--tracking-wide)}.cell-badge{display:inline-flex;align-items:center;gap:var(--lib-space-xs);font-family:var(--lib-font-mono);font-size:9px;letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:2px var(--lib-space-sm);white-space:nowrap}.cell-badge:before{content:"";width:5px;height:5px;border-radius:var(--radius-full);background:currentcolor;flex-shrink:0;opacity:.7}.cell-badge.tone-estable{color:var(--color-celadon-600);background:var(--color-celadon-50)}.cell-badge.tone-beta{color:var(--color-kaki-500);background:var(--color-kaki-50)}.cell-badge.tone-error{color:var(--color-error);background:#f5ddd9}.cell-badge.tone-warning{color:#7a5c0a;background:#fef9ec}.cell-badge.tone-inactive{color:var(--text-muted);background:var(--bg-surface)}.cell-badge.tone-info{color:#1a4a6e;background:#d6e8f5}.cell-progress{display:flex;align-items:center;gap:var(--lib-space-sm)}.progress-bar{flex:1;height:3px;background:var(--color-washi-200);position:relative;min-width:60px}.progress-fill{position:absolute;left:0;top:0;bottom:0;background:var(--color-washi-700);transition:width var(--duration-slow) var(--ease-out)}.progress-fill.tone-kaki{background:var(--color-kaki-500)}.progress-fill.tone-celadon{background:var(--color-celadon-500)}.progress-val{font-family:var(--lib-font-mono);font-size:10px;color:var(--text-muted);letter-spacing:var(--tracking-wide);flex-shrink:0;width:28px;text-align:right}.cell-actions{width:44px;text-align:right!important;padding-right:var(--lib-space-md)!important}.actions-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:18px;line-height:1;color:var(--text-muted);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-full);transition:background var(--duration-fast),color var(--duration-fast);opacity:0}tbody tr:hover .actions-btn{opacity:1}.actions-btn:hover{background:var(--bg-surface);color:var(--text-primary)}@keyframes dt-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skel-line{height:10px;background:linear-gradient(90deg,var(--color-washi-200) 25%,var(--color-washi-100) 50%,var(--color-washi-200) 75%);background-size:600px 100%;animation:dt-shimmer 1.4s infinite linear;border-radius:2px}.skel-line.w-80{width:80%}.skel-line.w-60{width:60%}.skel-line.w-40{width:40%}.skel-line.w-30{width:30%}.skel-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-washi-200) 25%,var(--color-washi-100) 50%,var(--color-washi-200) 75%);background-size:600px 100%;animation:dt-shimmer 1.4s infinite linear;flex-shrink:0}.skel-cell{display:flex;align-items:center;gap:var(--lib-space-sm)}.skel-badge{height:16px;width:48px;border-radius:2px;background:linear-gradient(90deg,var(--color-washi-200) 25%,var(--color-washi-100) 50%,var(--color-washi-200) 75%);background-size:600px 100%;animation:dt-shimmer 1.4s infinite linear}.empty-row td{text-align:center;padding:var(--lib-space-xl) var(--lib-space-lg)!important;border-bottom:none!important}.empty-icon{font-size:32px;color:var(--color-washi-300);display:block;margin:0 auto var(--lib-space-md)}.empty-title{font-family:var(--lib-font-display);font-size:var(--text-xl);font-weight:var(--weight-light);color:var(--text-muted);letter-spacing:var(--tracking-tight);display:block;margin-bottom:var(--lib-space-xs)}.empty-desc{font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--color-washi-300);text-transform:uppercase;display:block}.tbl-toolbar{display:flex;align-items:center;gap:var(--lib-space-sm);padding:var(--lib-space-sm) var(--lib-space-md);background:var(--bg-surface);border:1px solid var(--border-subtle);border-bottom:none}.tbl-toolbar-title{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-secondary)}.tbl-toolbar-count{font-family:var(--lib-font-mono);font-size:10px;color:var(--text-muted);letter-spacing:var(--tracking-wide);margin-right:auto}.tbl-toolbar-search{font-family:var(--lib-font-mono);font-size:var(--text-xs);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-default);padding:var(--lib-space-xs) var(--lib-space-sm);outline:none;width:180px;transition:border-color var(--duration-base),box-shadow var(--duration-base)}.tbl-toolbar-search::placeholder{color:var(--text-muted)}.tbl-toolbar-search:focus{border-color:var(--color-washi-700);box-shadow:0 0 0 3px #1a140e14}.tbl-pagination{display:flex;align-items:center;gap:var(--lib-space-xs);padding:var(--lib-space-sm) var(--lib-space-md);border:1px solid var(--border-subtle);border-top:none;background:var(--bg-surface)}.pag-info{font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--text-muted);margin-right:auto}.pag-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--text-muted);background:transparent;border:1px solid transparent;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.pag-btn:hover{background:var(--bg-elevated);border-color:var(--border-default);color:var(--text-primary)}.pag-btn.is-active{background:var(--color-washi-900);color:var(--color-washi-50);border-color:var(--color-washi-900)}.pag-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.pag-sep{font-family:var(--lib-font-mono);font-size:10px;color:var(--text-muted);padding:0 2px}:host([dark]) table{background:#0a0403;color:#7b6f67}:host([dark]) thead th{background:#060201;color:#312620;border-bottom-color:#190f0a}:host([dark]) thead th.is-sortable:hover{background:#150a06;color:#998c84}:host([dark]) thead th.sort-asc,:host([dark]) thead th.sort-desc{background:#150a06;color:#a99b93}:host([dark]) tbody tr{border-bottom-color:#150a06}:host([dark]) tbody td{color:#7b6f67}:host([dark]) tbody td.cell-num{color:#afa299}:host([dark]) tbody tr:hover{background:#150a06}:host([dark]) .tbl-wrap{border-color:#150a06}:host([dark]) tfoot td{background:#060201;border-top-color:#190f0a;color:#362b25}:host([dark]) caption{background:#060201;color:#312620;border-color:#150a06}:host([dark]) .tbl-toolbar{background:#060201;border-color:#150a06}:host([dark]) .tbl-toolbar-title{color:#51453e}:host([dark]) .tbl-toolbar-count{color:#2a1f19}:host([dark]) .tbl-toolbar-search{background:#060201;border-color:#231813;color:#998c84}:host([dark]) .tbl-toolbar-search::placeholder{color:#312620}:host([dark]) .tbl-pagination{background:#060201;border-color:#150a06}:host([dark]) .pag-btn:hover{background:#150a06;border-color:#231813;color:#998c84}:host([dark]) .avatar-circle{background:#1e130e;color:#5f524c}:host([dark]) .avatar-name{color:#8a7d75}:host([dark]) .avatar-hint{color:#362b25}:host([dark]) .progress-bar{background:#1e130e}:host([dark]) .col-sticky{background:#0a0403}:host([dark]) thead .col-sticky{background:#060201}:host([dark]) .cell-mono{color:#362b25}:host([dark]) .actions-btn:hover{background:#1e130e;color:#998c84}:host([dark]) tbody tr.is-selected,:host([dark]) tbody tr.is-selected:hover{background:#190f0a}:host([dark]) .skel-line,:host([dark]) .skel-avatar,:host([dark]) .skel-badge{background:linear-gradient(90deg,#17100c 25%,#211815,#17100c 75%);background-size:600px 100%}}';
34
2
  export {
35
- o as styleMap
3
+ tableCss as default
36
4
  };
37
5
  //# sourceMappingURL=index241.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index241.js","sources":["../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/style-map.js"],"sourcesContent":["import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`},\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n"],"names":["r","t","s","e"],"mappings":";;AACA;AAAA;AAAA;AAAA;AAAA;AAIQ,MAAC,IAAE,aAAY,IAAE,OAAK,GAAE,IAAE,EAAE,cAAcA,IAAC;AAAA,EAAC,YAAYC,KAAE;;AAAC,QAAG,MAAMA,GAAC,GAAEA,IAAE,SAAOC,EAAE,aAAW,YAAUD,IAAE,UAAMA,SAAE,YAAFA,mBAAW,UAAO,EAAE,OAAM,MAAM,4GAA4G;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE;AAAC,WAAO,OAAO,KAAKA,EAAC,EAAE,OAAO,CAACE,IAAE,MAAI;AAAC,YAAM,IAAEF,GAAE,CAAC;AAAE,aAAO,QAAM,IAAEE,KAAEA,KAAE,GAAG,IAAE,EAAE,SAAS,GAAG,IAAE,IAAE,EAAE,QAAQ,qCAAoC,KAAK,EAAE,YAAW,CAAE,IAAI,CAAC;AAAA,IAAG,GAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE,CAAC,CAAC,GAAE;AAAC,UAAK,EAAC,OAAM,EAAC,IAAEA,GAAE;AAAQ,QAAG,WAAS,KAAK,GAAG,QAAO,KAAK,KAAG,IAAI,IAAI,OAAO,KAAK,CAAC,CAAC,GAAE,KAAK,OAAO,CAAC;AAAE,eAAUF,MAAK,KAAK,GAAG,SAAM,EAAEA,EAAC,MAAI,KAAK,GAAG,OAAOA,EAAC,GAAEA,GAAE,SAAS,GAAG,IAAE,EAAE,eAAeA,EAAC,IAAE,EAAEA,EAAC,IAAE;AAAM,eAAUA,MAAK,GAAE;AAAC,YAAME,KAAE,EAAEF,EAAC;AAAE,UAAG,QAAME,IAAE;AAAC,aAAK,GAAG,IAAIF,EAAC;AAAE,cAAMD,KAAE,YAAU,OAAOG,MAAGA,GAAE,SAAS,CAAC;AAAE,QAAAF,GAAE,SAAS,GAAG,KAAGD,KAAE,EAAE,YAAYC,IAAED,KAAEG,GAAE,MAAM,GAAE,GAAG,IAAEA,IAAEH,KAAE,IAAE,EAAE,IAAE,EAAEC,EAAC,IAAEE;AAAA,MAAC;AAAA,IAAC;AAAC,WAAOF;AAAAA,EAAC;AAAC,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index241.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}