@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/index251.js CHANGED
@@ -1,5 +1,12 @@
1
- const radioCss = '@layer tokens,reset,components;@layer reset{:host{display:inline-block;vertical-align:middle}*,*:before,*:after{box-sizing:border-box}}@layer components{.radio{display:inline-flex;align-items:flex-start;gap:var(--lib-space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}:host([disabled]) .radio{cursor:not-allowed;opacity:.4;pointer-events:none}.radio__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;width:0;height:0;margin:0;opacity:0;pointer-events:none}.radio__circle{width:18px;height:18px;flex-shrink:0;margin-top:2px;border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-base) var(--ease-default),box-shadow var(--duration-base) var(--ease-default)}.radio:hover .radio__circle{border-color:var(--border-strong)}.radio__input:focus-visible~.radio__circle,.radio:focus-within .radio__circle{box-shadow:0 0 0 3px var(--color-ink-20);border-color:var(--color-washi-700)}.radio__dot{width:8px;height:8px;border-radius:var(--radius-full);background:#fff;transform:scale(0);transition:transform var(--duration-base) var(--ease-bounce)}:host([checked]) .radio__circle{background:var(--color-washi-900);border-color:var(--color-washi-900)}:host([checked]) .radio__dot{transform:scale(1)}.radio__label{display:flex;flex-direction:column;gap:var(--lib-space-xs)}.radio__label-text{font-family:var(--lib-font-body);font-size:var(--text-base);color:var(--text-primary);line-height:var(--leading-snug)}.radio__label-sub{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-muted);line-height:var(--leading-snug)}:host([size="sm"]) .radio__circle{width:14px;height:14px}:host([size="sm"]) .radio__dot{width:6px;height:6px}:host([size="sm"]) .radio__label-text{font-size:var(--text-sm)}:host([size="lg"]) .radio__circle{width:22px;height:22px}:host([size="lg"]) .radio__dot{width:10px;height:10px}:host([size="lg"]) .radio__label-text{font-size:var(--text-md)}:host([variant="kaki"][checked]) .radio__circle{background:var(--color-kaki-500);border-color:var(--color-kaki-500)}:host([variant="kaki"]) .radio:hover .radio__circle{border-color:var(--color-kaki-400)}:host([variant="kaki"]) .radio:focus-within .radio__circle{box-shadow:0 0 0 3px #6d4d3e1f;border-color:var(--color-kaki-500)}:host([variant="error"]) .radio__circle{border-color:var(--color-error)}:host([variant="error"]) .radio:hover .radio__circle{border-color:var(--color-error)}:host([variant="error"]) .radio__label-text{color:var(--color-error)}@media(prefers-reduced-motion:reduce){.radio__circle,.radio__dot{transition:none}}}';
1
+ import { html } from "lit";
2
+ function parallaxTemplate(_ctx) {
3
+ return html`
4
+ <div class="parallax-wrapper" part="wrapper">
5
+ <slot></slot>
6
+ </div>
7
+ `;
8
+ }
2
9
  export {
3
- radioCss as default
10
+ parallaxTemplate
4
11
  };
5
12
  //# sourceMappingURL=index251.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index251.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index251.js","sources":["../src/components/organisms/parallax-container/lib-parallax.html.ts"],"sourcesContent":["import { html, TemplateResult } from 'lit';\nimport type { LibParallaxContainer } from './lib-parallax.component';\n\n// _ctx disponible para futuras extensiones del template (slot named, etc.)\nexport function parallaxTemplate(_ctx: LibParallaxContainer): TemplateResult {\n return html`\n <div class=\"parallax-wrapper\" part=\"wrapper\">\n <slot></slot>\n </div>\n `;\n}"],"names":[],"mappings":";AAIO,SAAS,iBAAiB,MAA4C;AAC3E,SAAO;AAAA;AAAA;AAAA;AAAA;AAKT;"}
package/dist/index252.js CHANGED
@@ -1,22 +1,5 @@
1
- import { html } from "lit";
2
- function kbdTemplate(props) {
3
- const { size, variant, pressed, onDown, onUp, onLeave } = props;
4
- const variantClass = variant !== "default" ? ` kbd-${variant}` : "";
5
- const pressedClass = pressed ? " is-pressed" : "";
6
- const cls = `kbd kbd-${size}${variantClass}${pressedClass}`;
7
- return html`
8
- <kbd
9
- class=${cls}
10
- role="img"
11
- @mousedown=${onDown}
12
- @mouseup=${onUp}
13
- @mouseleave=${onLeave}
14
- >
15
- <slot></slot>
16
- </kbd>
17
- `;
18
- }
1
+ const parallaxCss = "@layer tokens,reset,components;@layer reset{:host{display:block;position:relative;overflow:hidden;width:100%}*,*:before,*:after{box-sizing:border-box}}@layer components{.parallax-wrapper{position:relative;width:100%;height:100%}:host([visible]) ::slotted(*){will-change:transform}@media(prefers-reduced-motion:reduce){::slotted(*){will-change:auto!important;transform:none!important}}}";
19
2
  export {
20
- kbdTemplate
3
+ parallaxCss as default
21
4
  };
22
5
  //# sourceMappingURL=index252.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index252.js","sources":["../src/components/atoms/kbd/lib-kbd.html.ts"],"sourcesContent":["import { html, TemplateResult } from 'lit';\nimport type { LibKbdSize, LibKbdVariant } from './lib-kbd.component';\n\nexport interface KbdTemplateProps {\n size: LibKbdSize;\n variant: LibKbdVariant;\n pressed: boolean;\n onDown: () => void;\n onUp: () => void;\n onLeave: () => void;\n}\n\n/**\n * Template de lib-kbd.\n *\n * Estructura:\n * kbd.kbd.kbd-{size}[.kbd-{variant}][.is-pressed]\n * slot\n *\n * El `border-bottom` de 3px simula la pared lateral física.\n * `.is-pressed` reduce ese borde a 1px y añade translateY(1px)\n * — efecto pulsación real.\n */\nexport function kbdTemplate(props: KbdTemplateProps): TemplateResult {\n const { size, variant, pressed, onDown, onUp, onLeave } = props;\n\n const variantClass = variant !== 'default' ? ` kbd-${variant}` : '';\n const pressedClass = pressed ? ' is-pressed' : '';\n const cls = `kbd kbd-${size}${variantClass}${pressedClass}`;\n\n return html`\n <kbd\n class=${cls}\n role=\"img\"\n @mousedown=${onDown}\n @mouseup=${onUp}\n @mouseleave=${onLeave}\n >\n <slot></slot>\n </kbd>\n `;\n}"],"names":[],"mappings":";AAuBO,SAAS,YAAY,OAAyC;AACnE,QAAM,EAAE,MAAM,SAAS,SAAS,QAAQ,MAAM,YAAY;AAE1D,QAAM,eAAe,YAAY,YAAY,QAAQ,OAAO,KAAK;AACjE,QAAM,eAAe,UAAU,gBAAgB;AAC/C,QAAM,MAAe,WAAW,IAAI,GAAG,YAAY,GAAG,YAAY;AAElE,SAAO;AAAA;AAAA,cAEK,GAAG;AAAA;AAAA,mBAEE,MAAM;AAAA,iBACR,IAAI;AAAA,oBACD,OAAO;AAAA;AAAA;AAAA;AAAA;AAK3B;"}
1
+ {"version":3,"file":"index252.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/index253.js CHANGED
@@ -1,5 +1,18 @@
1
- const kbdCss = '@layer tokens,reset,components;@layer reset{:host{display:inline-block;vertical-align:baseline}*,*:before,*:after{box-sizing:border-box}}@layer components{.kbd{display:inline-flex;align-items:center;justify-content:center;font-family:var(--lib-font-mono);font-weight:var(--weight-regular);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:default;vertical-align:baseline;line-height:1;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default);border-bottom-width:3px;border-radius:var(--radius-sm);box-shadow:0 1px 0 0 var(--color-washi-300),inset 0 1px #fffc;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}.kbd.is-pressed,.kbd:active{transform:translateY(1px);border-bottom-width:1px;box-shadow:0 0 0 0 transparent,inset 0 1px 2px var(--color-ink-20);background:var(--bg-surface)}:host([size="lg"]) .kbd.is-pressed,:host([size="lg"]) .kbd:active{transform:translateY(2px);border-bottom-width:2px}:host([size="xs"]) .kbd{font-size:9px;letter-spacing:.04em;padding:1px 5px;min-width:18px;height:18px;border-bottom-width:2px}:host([size="sm"]) .kbd{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);padding:2px var(--lib-space-sm);min-width:22px;height:22px}:host([size="md"]) .kbd{font-size:var(--text-sm);letter-spacing:var(--tracking-wide);padding:3px var(--lib-space-sm);min-width:28px;height:28px}:host([size="lg"]) .kbd{font-size:var(--text-base);letter-spacing:var(--tracking-wide);padding:var(--lib-space-sm) var(--lib-space-md);min-width:36px;height:36px;border-bottom-width:4px}:host([variant="dark"]) .kbd{background:var(--color-washi-800);color:var(--color-washi-100);border-color:var(--color-washi-900);border-bottom-color:var(--color-washi-950);box-shadow:0 1px 0 0 var(--color-washi-950),inset 0 1px #ffffff14}:host([variant="dark"]) .kbd.is-pressed,:host([variant="dark"]) .kbd:active{background:var(--color-washi-900);box-shadow:inset 0 1px 3px #0006}:host([variant="ghost"]) .kbd{background:transparent;color:var(--text-secondary);border-color:var(--border-default);border-bottom-color:var(--border-strong, var(--color-washi-500));box-shadow:none}:host([variant="ghost"]) .kbd.is-pressed,:host([variant="ghost"]) .kbd:active{background:var(--bg-surface)}:host([variant="kaki"]) .kbd{background:var(--color-kaki-50);color:var(--color-kaki-600);border-color:var(--color-kaki-400);border-bottom-color:var(--color-kaki-500);box-shadow:0 1px 0 0 var(--color-kaki-500),inset 0 1px #fff9}:host([variant="celadon"]) .kbd{background:var(--color-celadon-100);color:var(--color-celadon-600);border-color:var(--color-celadon-500);border-bottom-color:var(--color-celadon-600);box-shadow:0 1px 0 0 var(--color-celadon-600),inset 0 1px #ffffff80}@media(prefers-reduced-motion:reduce){.kbd{transition:none}}}';
1
+ import { html } from "lit";
2
+ function parallaxTextStackTemplate(ctx) {
3
+ return html`
4
+ <div class="pts-container" part="container">
5
+ ${ctx.lines.map((line, i) => html`
6
+ <span
7
+ class="pts-layer ${i % 2 === 0 ? "pts-layer--outline" : "pts-layer--italic"}"
8
+ part="layer layer-${i % 2 === 0 ? "outline" : "italic"}"
9
+ aria-hidden="${i > 0}"
10
+ >${line}</span>
11
+ `)}
12
+ </div>
13
+ `;
14
+ }
2
15
  export {
3
- kbdCss as default
16
+ parallaxTextStackTemplate
4
17
  };
5
18
  //# sourceMappingURL=index253.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index253.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index253.js","sources":["../src/components/organisms/parallax-text/lib-parallax-text-stack.html.ts"],"sourcesContent":["import { html, TemplateResult } from 'lit';\nimport type { LibParallaxTextStack } from './lib-parallax-text-stack.component';\n\nexport function parallaxTextStackTemplate(ctx: LibParallaxTextStack): TemplateResult {\n return html`\n <div class=\"pts-container\" part=\"container\">\n ${ctx.lines.map((line, i) => html`\n <span\n class=\"pts-layer ${i % 2 === 0 ? 'pts-layer--outline' : 'pts-layer--italic'}\"\n part=\"layer layer-${i % 2 === 0 ? 'outline' : 'italic'}\"\n aria-hidden=\"${i > 0}\"\n >${line}</span>\n `)}\n </div>\n `;\n}"],"names":[],"mappings":";AAGO,SAAS,0BAA0B,KAA2C;AACnF,SAAO;AAAA;AAAA,QAED,IAAI,MAAM,IAAI,CAAC,MAAM,MAAM;AAAA;AAAA,6BAEN,IAAI,MAAM,IAAI,uBAAuB,mBAAmB;AAAA,8BACvD,IAAI,MAAM,IAAI,YAAY,QAAQ;AAAA,yBACvC,IAAI,CAAC;AAAA,WACnB,IAAI;AAAA,OACR,CAAC;AAAA;AAAA;AAGR;"}
package/dist/index254.js CHANGED
@@ -1,5 +1,5 @@
1
- const spinnerCss = '@layer tokens,reset,components;@layer reset{*,*:before,*:after{box-sizing:border-box}}@layer components{:host{display:inline-flex;align-items:center;justify-content:center}@keyframes sp-rotate{to{transform:rotate(360deg)}}@keyframes sp-rotate-reverse{to{transform:rotate(-360deg)}}:host([variant="enso"]) svg,:host(:not([variant])) svg{display:block;animation:sp-rotate 2.2s cubic-bezier(.5,.1,.5,.9) infinite}:host([variant="enso"][size="sm"]) svg,:host(:not([variant])[size="sm"]) svg{width:24px;height:24px}:host([variant="enso"][size="md"]) svg,:host(:not([variant])[size="md"]) svg,:host([variant="enso"]:not([size])) svg,:host(:not([variant],[size])) svg{width:48px;height:48px}:host([variant="enso"][size="lg"]) svg,:host(:not([variant])[size="lg"]) svg{width:72px;height:72px}.sp-sumi-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.sp-sumi{border-radius:50%;filter:blur(.6px);animation:sp-rotate 1.6s linear infinite;background:conic-gradient(from 0deg,#2a1f1a00,#2a1f1a14 8.33%,#2a1f1a40 25%,#2a1f1aa6,#2a1f1aeb 75%,#2a1f1a 86.11%,#2a1f1a33 95.83%,#2a1f1a00);mask:radial-gradient(circle at center,transparent 56%,black 57%)}:host([variant="sumi"][tone="celadon"]) .sp-sumi{background:conic-gradient(from 0deg,#487d7300,#487d7314 8.33%,#487d734d 27.78%,#487d73b3,#487d73 83.33%,#487d7326 97.22%,#487d7300);mask:radial-gradient(circle at center,transparent 56%,black 57%)}:host([variant="sumi"][dark]) .sp-sumi{background:conic-gradient(from 0deg,#fef7f200,#fef7f214 8.33%,#fef7f240 25%,#fef7f2a6,#fef7f2eb 75%,#fef7f2 86.11%,#fef7f233 95.83%,#fef7f200);mask:radial-gradient(circle at center,transparent 56%,black 57%)}:host([variant="sumi"][dark][tone="kaki"]) .sp-sumi{background:conic-gradient(from 0deg,#c47c3b00,#c47c3b1a 8.33%,#c47c3b4d 27.78%,#c47c3bbf,#c47c3b 83.33%,#c47c3b26 97.22%,#c47c3b00);filter:blur(.5px) drop-shadow(0 0 4px oklch(65% .12 60deg / .4));mask:radial-gradient(circle at center,transparent 56%,black 57%)}:host([variant="sumi"][size="sm"]) .sp-sumi{width:24px;height:24px;mask:radial-gradient(circle at center,transparent 52%,black 53%)}:host([variant="sumi"]:not([size])) .sp-sumi,:host([variant="sumi"][size="md"]) .sp-sumi{width:48px;height:48px}:host([variant="sumi"][size="lg"]) .sp-sumi{width:72px;height:72px;mask:radial-gradient(circle at center,transparent 58%,black 59%)}.sp-kintsugi{border-radius:50%;background:conic-gradient(from 0deg,#6d4d3e00,#7f594426 11.11%,#a36b4480,#c47c3b 61.11%,#d28425,#ad704099 88.89%,#6d4d3e00);mask:radial-gradient(circle at center,transparent 56%,black 57%);filter:blur(.4px) drop-shadow(0 0 4px oklch(65% .12 60deg / .5));animation:sp-rotate 2s cubic-bezier(.4,0,.6,1) infinite}:host([variant="kintsugi"][dark]) .sp-kintsugi{background:conic-gradient(from 0deg,#6d4d3e00,#97634633 8.33%,#c57b3db3 41.67%,#d98529d9 54.17%,#e1891cec,#e78c08 66.67%,#ea8e00,#ec9100 73.61%,#f19600 80.56%,#ea9100d9,#e18907b3,#ce802b8c,#ae6f4266 94.44%,#6d4d3e00);background:conic-gradient(from 0deg,#6d4d3e00,#97634633 8.33%,#c57b3db3 41.67%,#d98529d9 54.17%,#e1891cec,#e78c08 66.67%,color(xyz 0.438 0.369 0.044),color(xyz 0.452 0.381 0.039) 73.61%,color(xyz 0.481 0.404 0.028) 80.56%,color(xyz 0.447 0.377 0.036 / 0.85),#e18907b3,#ce802b8c,#ae6f4266 94.44%,#6d4d3e00);filter:blur(.3px) drop-shadow(0 0 6px oklch(70% .14 62deg / .6))}:host([variant="kintsugi"][size="sm"]) .sp-kintsugi{width:24px;height:24px;mask:radial-gradient(circle at center,transparent 52%,black 53%)}:host([variant="kintsugi"]:not([size])) .sp-kintsugi,:host([variant="kintsugi"][size="md"]) .sp-kintsugi{width:48px;height:48px}:host([variant="kintsugi"][size="lg"]) .sp-kintsugi{width:72px;height:72px;mask:radial-gradient(circle at center,transparent 58%,black 59%)}.sp-shizuku{position:relative;border-radius:50%;animation:sp-rotate 1.8s linear infinite}.sp-shizuku span{position:absolute;border-radius:50%;background:#2a1f1a;top:50%;left:50%;transform-origin:0 0}:host([variant="shizuku"][tone="kaki"]) .sp-shizuku span,:host([variant="shizuku"][dark]) .sp-shizuku span{background:#c47c3b}.sp-shizuku.sp-shizuku--md{width:48px;height:48px}.sp-shizuku.sp-shizuku--md span{margin:-3px}.sp-shizuku.sp-shizuku--md span:nth-child(1){width:7px;height:7px;transform:rotate(0) translate(18px) translateY(-50%);opacity:1}.sp-shizuku.sp-shizuku--md span:nth-child(2){width:5.5px;height:5.5px;transform:rotate(60deg) translate(18px) translateY(-50%);opacity:.72}.sp-shizuku.sp-shizuku--md span:nth-child(3){width:4px;height:4px;transform:rotate(115deg) translate(18px) translateY(-50%);opacity:.48}.sp-shizuku.sp-shizuku--md span:nth-child(4){width:3px;height:3px;transform:rotate(160deg) translate(18px) translateY(-50%);opacity:.28}.sp-shizuku.sp-shizuku--md span:nth-child(5){width:2px;height:2px;transform:rotate(200deg) translate(18px) translateY(-50%);opacity:.13}.sp-shizuku.sp-shizuku--md span:nth-child(6){width:1.5px;height:1.5px;transform:rotate(235deg) translate(18px) translateY(-50%);opacity:.06}.sp-shizuku.sp-shizuku--sm{width:24px;height:24px}.sp-shizuku.sp-shizuku--sm span{margin:-1.5px}.sp-shizuku.sp-shizuku--sm span:nth-child(1){width:4px;height:4px;transform:rotate(0) translate(9px) translateY(-50%);opacity:1}.sp-shizuku.sp-shizuku--sm span:nth-child(2){width:3px;height:3px;transform:rotate(60deg) translate(9px) translateY(-50%);opacity:.72}.sp-shizuku.sp-shizuku--sm span:nth-child(3){width:2px;height:2px;transform:rotate(115deg) translate(9px) translateY(-50%);opacity:.45}.sp-shizuku.sp-shizuku--sm span:nth-child(4){width:1.5px;height:1.5px;transform:rotate(160deg) translate(9px) translateY(-50%);opacity:.25}.sp-shizuku.sp-shizuku--sm span:nth-child(5){width:1px;height:1px;transform:rotate(200deg) translate(9px) translateY(-50%);opacity:.1}.sp-shizuku.sp-shizuku--sm span:nth-child(6){width:1px;height:1px;transform:rotate(235deg) translate(9px) translateY(-50%);opacity:.05}.sp-shizuku.sp-shizuku--lg{width:72px;height:72px}.sp-shizuku.sp-shizuku--lg span{margin:-4.5px}.sp-shizuku.sp-shizuku--lg span:nth-child(1){width:10px;height:10px;transform:rotate(0) translate(27px) translateY(-50%);opacity:1}.sp-shizuku.sp-shizuku--lg span:nth-child(2){width:8px;height:8px;transform:rotate(55deg) translate(27px) translateY(-50%);opacity:.72}.sp-shizuku.sp-shizuku--lg span:nth-child(3){width:6px;height:6px;transform:rotate(105deg) translate(27px) translateY(-50%);opacity:.5}.sp-shizuku.sp-shizuku--lg span:nth-child(4){width:4.5px;height:4.5px;transform:rotate(148deg) translate(27px) translateY(-50%);opacity:.3}.sp-shizuku.sp-shizuku--lg span:nth-child(5){width:3px;height:3px;transform:rotate(185deg) translate(27px) translateY(-50%);opacity:.15}.sp-shizuku.sp-shizuku--lg span:nth-child(6){width:2px;height:2px;transform:rotate(218deg) translate(27px) translateY(-50%);opacity:.06}@media(prefers-reduced-motion:reduce){:host([variant="enso"]) svg,:host(:not([variant])) svg,.sp-sumi,.sp-kintsugi,.sp-shizuku{animation:none}}}';
1
+ const stackCss = '@layer tokens,reset,components;@layer reset{:host{display:block;padding:10vh 0}*,*:before,*:after{box-sizing:border-box}}@layer components{.pts-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--lib-space-md)}.pts-layer{display:block;will-change:transform;transition:transform var(--duration-fast) var(--ease-out);white-space:nowrap;line-height:.9;text-transform:uppercase;-webkit-user-select:none;user-select:none}:host([size="sm"]) .pts-layer{font-size:clamp(2rem,6vw,4rem)}:host([size="md"]) .pts-layer{font-size:clamp(3rem,8vw,6rem)}:host([size="lg"]) .pts-layer,:host(:not([size])) .pts-layer{font-size:clamp(4rem,10vw,8rem)}:host([size="xl"]) .pts-layer{font-size:clamp(5rem,13vw,10rem)}:host([size="2xl"]) .pts-layer{font-size:clamp(6rem,16vw,14rem)}.pts-layer--outline{font-family:var(--lib-font-display);font-weight:300;letter-spacing:var(--tracking-tight);-webkit-text-stroke:1px var(--text-primary);color:transparent}.pts-layer--italic{font-family:var(--lib-font-body);font-style:italic;font-weight:400;letter-spacing:var(--tracking-tight);color:var(--text-primary)}:host([color="muted"]) .pts-layer--outline{-webkit-text-stroke-color:var(--text-muted)}:host([color="muted"]) .pts-layer--italic{color:var(--text-muted)}:host([color="kaki"]) .pts-layer--outline{-webkit-text-stroke-color:var(--color-kaki-500)}:host([color="kaki"]) .pts-layer--italic{color:var(--color-kaki-500)}:host([color="celadon"]) .pts-layer--outline{-webkit-text-stroke-color:var(--color-celadon-500)}:host([color="celadon"]) .pts-layer--italic{color:var(--color-celadon-500)}@media(prefers-reduced-motion:reduce){.pts-layer{transition:none;transform:none!important}}}';
2
2
  export {
3
- spinnerCss as default
3
+ stackCss as default
4
4
  };
5
5
  //# sourceMappingURL=index254.js.map
package/dist/index255.js CHANGED
@@ -1,91 +1,157 @@
1
- import { html, svg } from "lit";
2
- function ensoStroke(tone, dark) {
3
- if (dark) {
4
- if (tone === "kaki") {
5
- return { blur: "oklch(70% 0.14 60)", main: "oklch(68% 0.13 60)", bopacity: 0.3 };
6
- }
7
- return { blur: "oklch(88% 0.01 60)", main: "oklch(88% 0.01 60)", bopacity: 0.2 };
1
+ import { html, nothing } from "lit";
2
+ const svgSearch = html`
3
+ <svg width="11" height="11" viewBox="0 0 16 16" fill="none"
4
+ stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
5
+ <circle cx="7" cy="7" r="5"/><line x1="11" y1="11" x2="14" y2="14"/>
6
+ </svg>`;
7
+ const svgLogout = html`
8
+ <svg width="11" height="11" viewBox="0 0 14 14" fill="none"
9
+ stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
10
+ <path d="M6 2H3a1 1 0 00-1 1v8a1 1 0 001 1h3"/>
11
+ <polyline points="10,4 12,7 10,10"/>
12
+ <line x1="4" y1="7" x2="12" y2="7"/>
13
+ </svg>`;
14
+ const svgMenu = html`
15
+ <svg width="18" height="18" viewBox="0 0 16 16" fill="none"
16
+ stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
17
+ <line x1="2" y1="4" x2="14" y2="4"/>
18
+ <line x1="2" y1="8" x2="14" y2="8"/>
19
+ <line x1="2" y1="12" x2="14" y2="12"/>
20
+ </svg>`;
21
+ const svgClose = html`
22
+ <svg width="18" height="18" viewBox="0 0 14 14" fill="none"
23
+ stroke="currentColor" stroke-width="1.6" stroke-linecap="round">
24
+ <line x1="2" y1="2" x2="12" y2="12"/>
25
+ <line x1="12" y1="2" x2="2" y2="12"/>
26
+ </svg>`;
27
+ function renderBadge(badge) {
28
+ if (badge === void 0 || badge === null || badge === "") return nothing;
29
+ if (badge === "dot") {
30
+ return html`<span class="sb-badge sb-badge--dot" aria-hidden="true"></span>`;
8
31
  }
9
- if (tone === "kaki") return { blur: "oklch(55% 0.08 45)", main: "oklch(50% 0.07 45)", bopacity: 0.25 };
10
- if (tone === "celadon") return { blur: "oklch(50% 0.06 180)", main: "oklch(48% 0.06 180)", bopacity: 0.25 };
11
- return { blur: "oklch(25% 0.02 45)", main: "oklch(25% 0.02 45)", bopacity: 0.25 };
32
+ const n = typeof badge === "number" ? badge : parseInt(String(badge), 10);
33
+ const cls = !isNaN(n) && n > 9 || isNaN(n) ? "sb-badge--kaki" : "sb-badge--muted";
34
+ return html`<span class="sb-badge ${cls}">${badge}</span>`;
12
35
  }
13
- function ensoWidths(size) {
14
- if (size === "sm") return { blur: 2.5, main: 2, feStd: 1.5 };
15
- if (size === "lg") return { blur: 3.5, main: 3, feStd: 2 };
16
- return { blur: 3, main: 2.5, feStd: 1.5 };
17
- }
18
- function ensoTemplate(props) {
19
- const stroke = ensoStroke(props.tone, props.dark);
20
- const w = ensoWidths(props.size);
21
- const fid = "sp-enso-blur";
36
+ function renderHeader(p) {
37
+ const isGlitch = p.variant === "glitch";
38
+ const isKintsugi = p.variant === "kintsugi";
22
39
  return html`
23
- ${svg`
24
- <svg viewBox="0 0 48 48" fill="none" aria-hidden="true" focusable="false">
25
- <defs>
26
- <filter id="${fid}">
27
- <feGaussianBlur stdDeviation="${w.feStd}" result="blur"/>
28
- <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
29
- </filter>
30
- </defs>
31
- <!-- blur halo layer -->
32
- <circle
33
- cx="24" cy="24" r="18"
34
- stroke="${stroke.blur}"
35
- stroke-width="${w.blur}"
36
- stroke-linecap="round"
37
- stroke-dasharray="95 18"
38
- fill="none"
39
- opacity="${stroke.bopacity}"
40
- filter="url(#${fid})"
41
- />
42
- <!-- crisp layer -->
43
- <circle
44
- cx="24" cy="24" r="18"
45
- stroke="${stroke.main}"
46
- stroke-width="${w.main}"
47
- stroke-linecap="round"
48
- stroke-dasharray="95 18"
49
- fill="none"
50
- />
51
- </svg>
52
- `}
40
+ <div class="sb-header" part="header">
41
+ <div class="sb-logo-mark" part="logo-mark">
42
+ ${isKintsugi ? html`<span>${p.logoMark}</span>` : p.logoMark}
43
+ </div>
44
+ ${isGlitch ? html`<span class="sb-brand">⌗ ${p.brandName.toUpperCase()}</span>
45
+ <span class="sb-version">v0.1</span>` : html`<span class="sb-brand">${p.brandName}</span>`}
46
+ </div>
53
47
  `;
54
48
  }
55
- function sumiTemplate() {
49
+ function renderSearch(p) {
50
+ if (!p.showSearch) return nothing;
56
51
  return html`
57
- <div class="sp-sumi-wrap">
58
- <div class="sp-sumi"></div>
52
+ <div class="sb-search" part="search">
53
+ <div class="sb-search-inner">
54
+ ${svgSearch}
55
+ <input
56
+ class="sb-search-input"
57
+ type="search"
58
+ placeholder="${p.searchPlaceholder}"
59
+ aria-label="Buscar"
60
+ @input="${(e) => p.onSearchInput(e.target.value)}"
61
+ />
62
+ <span class="sb-search-kbd">⌘K</span>
63
+ </div>
59
64
  </div>
60
65
  `;
61
66
  }
62
- function kintsugiTemplate() {
63
- return html`<div class="sp-kintsugi"></div>`;
67
+ function renderNav(p) {
68
+ const isGlitch = p.variant === "glitch";
69
+ return html`
70
+ <nav class="sb-nav" part="nav" aria-label="Navegación principal">
71
+ <div class="sb-indicator" part="indicator"></div>
72
+
73
+ ${p.links.map((link) => html`
74
+ ${link.group ? html`
75
+ <div class="sb-group" part="group">
76
+ ${isGlitch ? `// ${link.group}` : link.group}
77
+ </div>
78
+ ` : nothing}
79
+
80
+ <button
81
+ class="sb-link ${link.id === p.active ? "is-active" : ""}"
82
+ part="link${link.id === p.active ? " link-active" : ""}"
83
+ data-id="${link.id}"
84
+ ?disabled="${link.disabled}"
85
+ aria-current="${link.id === p.active ? "page" : nothing}"
86
+ @click="${() => {
87
+ if (!link.disabled) p.onLinkClick(link.id);
88
+ }}"
89
+ >
90
+ <span class="sb-link-icon">
91
+ <lib-icon name="${link.icon}" size="sm"></lib-icon>
92
+ </span>
93
+
94
+ ${isGlitch ? html`<span class="sb-link-prefix">›</span>` : nothing}
95
+
96
+ <span class="sb-link-label">${link.label}</span>
97
+
98
+ ${renderBadge(link.badge)}
99
+ </button>
100
+ `)}
101
+ </nav>
102
+ `;
64
103
  }
65
- function shizukuTemplate(size) {
66
- const cls = `sp-shizuku sp-shizuku--${size}`;
104
+ function renderUser(p) {
105
+ const isDark = p.variant === "dark" || !p.variant;
67
106
  return html`
68
- <div class="${cls}">
69
- <span></span><span></span><span></span>
70
- <span></span><span></span><span></span>
107
+ <div class="sb-user" part="user">
108
+ <div class="sb-user-avatar" part="user-avatar">
109
+ ${p.userAvatar ? html`<img src="${p.userAvatar}" alt="${p.userName}">` : p.userInitials || p.userName.slice(0, 1)}
110
+ </div>
111
+
112
+ <div class="sb-user-info">
113
+ <div class="sb-user-name">${p.userName}</div>
114
+ ${p.userRole ? html`<div class="sb-user-role">${p.userRole}</div>` : nothing}
115
+ </div>
116
+
117
+ ${isDark ? html`<span class="sb-user-dot" aria-hidden="true"></span>` : p.showUserAction ? html`
118
+ <button
119
+ class="sb-user-action"
120
+ aria-label="Acción de usuario"
121
+ @click="${p.onUserAction}"
122
+ >${svgLogout}</button>` : nothing}
71
123
  </div>
72
124
  `;
73
125
  }
74
- function spinnerTemplate(props) {
75
- const inner = props.variant === "sumi" ? sumiTemplate() : props.variant === "kintsugi" ? kintsugiTemplate() : props.variant === "shizuku" ? shizukuTemplate(props.size) : ensoTemplate(props);
126
+ function sidebarTemplate(p) {
76
127
  return html`
77
128
  <div
78
- role="status"
79
- aria-label="${props.label}"
80
- aria-live="polite"
129
+ class="sb-overlay ${p.mobileOpen ? "is-open" : ""}"
130
+ @click="${p.onOverlayClick}"
131
+ aria-hidden="true"
132
+ ></div>
133
+
134
+ <aside
135
+ class="sidebar
136
+ ${p.mobileOpen ? "is-open" : ""}
137
+ ${p.collapsed ? "is-collapsed" : ""}"
138
+ part="sidebar"
81
139
  >
82
- ${inner}
83
- <!-- Visually hidden label for screen readers -->
84
- <span style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;">${props.label}</span>
85
- </div>
140
+ ${renderHeader(p)}
141
+ ${renderSearch(p)}
142
+ ${renderNav(p)}
143
+ ${renderUser(p)}
144
+ </aside>
145
+
146
+ <button
147
+ class="sb-toggle"
148
+ aria-label="${p.mobileOpen ? "Cerrar menú" : "Abrir menú"}"
149
+ aria-expanded="${p.mobileOpen}"
150
+ @click="${p.onToggleClick}"
151
+ >${p.mobileOpen ? svgClose : svgMenu}</button>
86
152
  `;
87
153
  }
88
154
  export {
89
- spinnerTemplate
155
+ sidebarTemplate
90
156
  };
91
157
  //# sourceMappingURL=index255.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index255.js","sources":["../src/components/atoms/spinner/lib-spinner.html.ts"],"sourcesContent":["import { html, svg, TemplateResult } from 'lit';\nimport type { SpinnerVariant, SpinnerSize, SpinnerTone } from './lib-spinner.component';\n\nexport interface SpinnerTemplateProps {\n variant: SpinnerVariant;\n size: SpinnerSize;\n tone: SpinnerTone;\n dark: boolean;\n label: string;\n}\n\n/* ── Stroke configs per tone+dark ──────────────────────────── */\ntype StrokeConfig = {\n blur: string; /* blur circle stroke color */\n main: string; /* main circle stroke color */\n bopacity: number; /* blur circle opacity */\n};\n\nfunction ensoStroke(tone: SpinnerTone, dark: boolean): StrokeConfig {\n if (dark) {\n if (tone === 'kaki') {\n return { blur: 'oklch(70% 0.14 60)', main: 'oklch(68% 0.13 60)', bopacity: 0.30 };\n }\n /* ink / celadon paper on dark */\n return { blur: 'oklch(88% 0.01 60)', main: 'oklch(88% 0.01 60)', bopacity: 0.20 };\n }\n if (tone === 'kaki') return { blur: 'oklch(55% 0.08 45)', main: 'oklch(50% 0.07 45)', bopacity: 0.25 };\n if (tone === 'celadon') return { blur: 'oklch(50% 0.06 180)', main: 'oklch(48% 0.06 180)', bopacity: 0.25 };\n /* default: ink */\n return { blur: 'oklch(25% 0.02 45)', main: 'oklch(25% 0.02 45)', bopacity: 0.25 };\n}\n\ntype StrokeWidth = { blur: number; main: number; feStd: number; };\nfunction ensoWidths(size: SpinnerSize): StrokeWidth {\n if (size === 'sm') return { blur: 2.5, main: 2, feStd: 1.5 };\n if (size === 'lg') return { blur: 3.5, main: 3, feStd: 2.0 };\n return { blur: 3, main: 2.5, feStd: 1.5 }; /* md */\n}\n\n/* ── Enso ───────────────────────────────────────────────────── */\nfunction ensoTemplate(props: SpinnerTemplateProps): TemplateResult {\n const stroke = ensoStroke(props.tone, props.dark);\n const w = ensoWidths(props.size);\n /* Each shadow DOM is isolated → filter IDs are collision-free */\n const fid = 'sp-enso-blur';\n\n return html`\n ${svg`\n <svg viewBox=\"0 0 48 48\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\">\n <defs>\n <filter id=\"${fid}\">\n <feGaussianBlur stdDeviation=\"${w.feStd}\" result=\"blur\"/>\n <feMerge><feMergeNode in=\"blur\"/><feMergeNode in=\"SourceGraphic\"/></feMerge>\n </filter>\n </defs>\n <!-- blur halo layer -->\n <circle\n cx=\"24\" cy=\"24\" r=\"18\"\n stroke=\"${stroke.blur}\"\n stroke-width=\"${w.blur}\"\n stroke-linecap=\"round\"\n stroke-dasharray=\"95 18\"\n fill=\"none\"\n opacity=\"${stroke.bopacity}\"\n filter=\"url(#${fid})\"\n />\n <!-- crisp layer -->\n <circle\n cx=\"24\" cy=\"24\" r=\"18\"\n stroke=\"${stroke.main}\"\n stroke-width=\"${w.main}\"\n stroke-linecap=\"round\"\n stroke-dasharray=\"95 18\"\n fill=\"none\"\n />\n </svg>\n `}\n `;\n}\n\n/* ── Sumi ───────────────────────────────────────────────────── */\nfunction sumiTemplate(): TemplateResult {\n return html`\n <div class=\"sp-sumi-wrap\">\n <div class=\"sp-sumi\"></div>\n </div>\n `;\n}\n\n/* ── Kintsugi ───────────────────────────────────────────────── */\nfunction kintsugiTemplate(): TemplateResult {\n return html`<div class=\"sp-kintsugi\"></div>`;\n}\n\n/* ── Shizuku ────────────────────────────────────────────────── */\nfunction shizukuTemplate(size: SpinnerSize): TemplateResult {\n const cls = `sp-shizuku sp-shizuku--${size}`;\n return html`\n <div class=\"${cls}\">\n <span></span><span></span><span></span>\n <span></span><span></span><span></span>\n </div>\n `;\n}\n\n/* ── Root ───────────────────────────────────────────────────── */\nexport function spinnerTemplate(props: SpinnerTemplateProps): TemplateResult {\n const inner: TemplateResult =\n props.variant === 'sumi' ? sumiTemplate() :\n props.variant === 'kintsugi' ? kintsugiTemplate() :\n props.variant === 'shizuku' ? shizukuTemplate(props.size) :\n ensoTemplate(props);\n\n return html`\n <div\n role=\"status\"\n aria-label=\"${props.label}\"\n aria-live=\"polite\"\n >\n ${inner}\n <!-- Visually hidden label for screen readers -->\n <span style=\"position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;\">${props.label}</span>\n </div>\n `;\n}"],"names":[],"mappings":";AAkBA,SAAS,WAAW,MAAmB,MAA6B;AAClE,MAAI,MAAM;AACR,QAAI,SAAS,QAAQ;AACnB,aAAO,EAAE,MAAM,sBAAsB,MAAM,sBAAsB,UAAU,IAAA;AAAA,IAC7E;AAEA,WAAO,EAAE,MAAM,sBAAsB,MAAM,sBAAsB,UAAU,IAAA;AAAA,EAC7E;AACA,MAAI,SAAS,OAAW,QAAO,EAAE,MAAM,sBAAsB,MAAM,sBAAsB,UAAU,KAAA;AACnG,MAAI,SAAS,UAAW,QAAO,EAAE,MAAM,uBAAuB,MAAM,uBAAuB,UAAU,KAAA;AAErG,SAAO,EAAE,MAAM,sBAAsB,MAAM,sBAAsB,UAAU,KAAA;AAC7E;AAGA,SAAS,WAAW,MAAgC;AAClD,MAAI,SAAS,KAAM,QAAO,EAAE,MAAM,KAAK,MAAM,GAAK,OAAO,IAAA;AACzD,MAAI,SAAS,KAAM,QAAO,EAAE,MAAM,KAAK,MAAM,GAAK,OAAO,EAAA;AACzD,SAAoB,EAAE,MAAM,GAAK,MAAM,KAAK,OAAO,IAAA;AACrD;AAGA,SAAS,aAAa,OAA6C;AACjE,QAAM,SAAS,WAAW,MAAM,MAAM,MAAM,IAAI;AAChD,QAAM,IAAS,WAAW,MAAM,IAAI;AAEpC,QAAM,MAAS;AAEf,SAAO;AAAA,MACH;AAAA;AAAA;AAAA,wBAGkB,GAAG;AAAA,4CACiB,EAAE,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAO/B,OAAO,IAAI;AAAA,0BACL,EAAE,IAAI;AAAA;AAAA;AAAA;AAAA,qBAIX,OAAO,QAAQ;AAAA,yBACX,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKR,OAAO,IAAI;AAAA,0BACL,EAAE,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAM3B;AAAA;AAEL;AAGA,SAAS,eAA+B;AACtC,SAAO;AAAA;AAAA;AAAA;AAAA;AAKT;AAGA,SAAS,mBAAmC;AAC1C,SAAO;AACT;AAGA,SAAS,gBAAgB,MAAmC;AAC1D,QAAM,MAAM,0BAA0B,IAAI;AAC1C,SAAO;AAAA,kBACS,GAAG;AAAA;AAAA;AAAA;AAAA;AAKrB;AAGO,SAAS,gBAAgB,OAA6C;AAC3E,QAAM,QACJ,MAAM,YAAY,SAAa,iBAC/B,MAAM,YAAY,aAAa,qBAC/B,MAAM,YAAY,YAAa,gBAAgB,MAAM,IAAI,IACzD,aAAa,KAAK;AAEpB,SAAO;AAAA;AAAA;AAAA,oBAGW,MAAM,KAAK;AAAA;AAAA;AAAA,QAGvB,KAAK;AAAA;AAAA,oHAEuG,MAAM,KAAK;AAAA;AAAA;AAG/H;"}
1
+ {"version":3,"file":"index255.js","sources":["../src/components/organisms/sidebar/lib-sidebar.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { SidebarLink } from '../../../types';\n\nexport interface SidebarTemplateProps {\n /* Header */\n logoMark: string;\n brandName: string;\n /* Search */\n showSearch: boolean;\n searchPlaceholder: string;\n /* Nav */\n links: SidebarLink[];\n active: string;\n /* User footer */\n userName: string;\n userRole: string;\n userAvatar: string;\n userInitials:string;\n showUserAction: boolean;\n /* State */\n variant: string;\n collapsed: boolean;\n mobileOpen: boolean;\n /* Handlers */\n onLinkClick: (id: string) => void;\n onUserAction: () => void;\n onSearchInput: (q: string) => void;\n onOverlayClick: () => void;\n onToggleClick: () => void;\n}\n\n/* ── SVG icons inline no lib-icon dependency for shell elements ── */\nconst svgSearch = html`\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 16 16\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\">\n <circle cx=\"7\" cy=\"7\" r=\"5\"/><line x1=\"11\" y1=\"11\" x2=\"14\" y2=\"14\"/>\n </svg>`;\n\nconst svgLogout = html`\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 14 14\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\">\n <path d=\"M6 2H3a1 1 0 00-1 1v8a1 1 0 001 1h3\"/>\n <polyline points=\"10,4 12,7 10,10\"/>\n <line x1=\"4\" y1=\"7\" x2=\"12\" y2=\"7\"/>\n </svg>`;\n\nconst svgMenu = html`\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 16 16\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\">\n <line x1=\"2\" y1=\"4\" x2=\"14\" y2=\"4\"/>\n <line x1=\"2\" y1=\"8\" x2=\"14\" y2=\"8\"/>\n <line x1=\"2\" y1=\"12\" x2=\"14\" y2=\"12\"/>\n </svg>`;\n\nconst svgClose = html`\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 14 14\" fill=\"none\"\n stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\">\n <line x1=\"2\" y1=\"2\" x2=\"12\" y2=\"12\"/>\n <line x1=\"12\" y1=\"2\" x2=\"2\" y2=\"12\"/>\n </svg>`;\n\n/* ── Badge ── */\nfunction renderBadge(badge: string | number | undefined): TemplateResult | typeof nothing {\n if (badge === undefined || badge === null || badge === '') return nothing;\n if (badge === 'dot') {\n return html`<span class=\"sb-badge sb-badge--dot\" aria-hidden=\"true\"></span>`;\n }\n const n = typeof badge === 'number' ? badge : parseInt(String(badge), 10);\n const cls = (!isNaN(n) && n > 9) || isNaN(n) ? 'sb-badge--kaki' : 'sb-badge--muted';\n return html`<span class=\"sb-badge ${cls}\">${badge}</span>`;\n}\n\n/* ── Header ── */\nfunction renderHeader(p: SidebarTemplateProps): TemplateResult {\n const isGlitch = p.variant === 'glitch';\n const isKintsugi = p.variant === 'kintsugi';\n\n return html`\n <div class=\"sb-header\" part=\"header\">\n <div class=\"sb-logo-mark\" part=\"logo-mark\">\n ${isKintsugi\n ? html`<span>${p.logoMark}</span>`\n : p.logoMark}\n </div>\n ${isGlitch\n ? html`<span class=\"sb-brand\">⌗ ${p.brandName.toUpperCase()}</span>\n <span class=\"sb-version\">v0.1</span>`\n : html`<span class=\"sb-brand\">${p.brandName}</span>`}\n </div>\n `;\n}\n\n/* ── Search ── */\nfunction renderSearch(p: SidebarTemplateProps): TemplateResult | typeof nothing {\n if (!p.showSearch) return nothing;\n return html`\n <div class=\"sb-search\" part=\"search\">\n <div class=\"sb-search-inner\">\n ${svgSearch}\n <input\n class=\"sb-search-input\"\n type=\"search\"\n placeholder=\"${p.searchPlaceholder}\"\n aria-label=\"Buscar\"\n @input=\"${(e: Event): void =>\n p.onSearchInput((e.target as HTMLInputElement).value)}\"\n />\n <span class=\"sb-search-kbd\">⌘K</span>\n </div>\n </div>\n `;\n}\n\n/* ── Nav ── */\nfunction renderNav(p: SidebarTemplateProps): TemplateResult {\n const isGlitch = p.variant === 'glitch';\n\n return html`\n <nav class=\"sb-nav\" part=\"nav\" aria-label=\"Navegación principal\">\n <div class=\"sb-indicator\" part=\"indicator\"></div>\n\n ${p.links.map(link => html`\n ${link.group ? html`\n <div class=\"sb-group\" part=\"group\">\n ${isGlitch ? `// ${link.group}` : link.group}\n </div>\n ` : nothing}\n\n <button\n class=\"sb-link ${link.id === p.active ? 'is-active' : ''}\"\n part=\"link${link.id === p.active ? ' link-active' : ''}\"\n data-id=\"${link.id}\"\n ?disabled=\"${link.disabled}\"\n aria-current=\"${link.id === p.active ? 'page' : nothing}\"\n @click=\"${(): void => { if (!link.disabled) p.onLinkClick(link.id); }}\"\n >\n <span class=\"sb-link-icon\">\n <lib-icon name=\"${link.icon}\" size=\"sm\"></lib-icon>\n </span>\n\n ${isGlitch\n ? html`<span class=\"sb-link-prefix\">›</span>`\n : nothing}\n\n <span class=\"sb-link-label\">${link.label}</span>\n\n ${renderBadge(link.badge)}\n </button>\n `)}\n </nav>\n `;\n}\n\n/* ── User footer ── */\nfunction renderUser(p: SidebarTemplateProps): TemplateResult {\n const isDark = p.variant === 'dark' || !p.variant;\n\n return html`\n <div class=\"sb-user\" part=\"user\">\n <div class=\"sb-user-avatar\" part=\"user-avatar\">\n ${p.userAvatar\n ? html`<img src=\"${p.userAvatar}\" alt=\"${p.userName}\">`\n : p.userInitials || p.userName.slice(0, 1)}\n </div>\n\n <div class=\"sb-user-info\">\n <div class=\"sb-user-name\">${p.userName}</div>\n ${p.userRole ? html`<div class=\"sb-user-role\">${p.userRole}</div>` : nothing}\n </div>\n\n ${isDark\n ? html`<span class=\"sb-user-dot\" aria-hidden=\"true\"></span>`\n : p.showUserAction\n ? html`\n <button\n class=\"sb-user-action\"\n aria-label=\"Acción de usuario\"\n @click=\"${p.onUserAction}\"\n >${svgLogout}</button>`\n : nothing}\n </div>\n `;\n}\n\n/* ── Template principal ── */\nexport function sidebarTemplate(p: SidebarTemplateProps): TemplateResult {\n return html`\n <div\n class=\"sb-overlay ${p.mobileOpen ? 'is-open' : ''}\"\n @click=\"${p.onOverlayClick}\"\n aria-hidden=\"true\"\n ></div>\n\n <aside\n class=\"sidebar\n ${p.mobileOpen ? 'is-open' : ''}\n ${p.collapsed ? 'is-collapsed' : ''}\"\n part=\"sidebar\"\n >\n ${renderHeader(p)}\n ${renderSearch(p)}\n ${renderNav(p)}\n ${renderUser(p)}\n </aside>\n\n <button\n class=\"sb-toggle\"\n aria-label=\"${p.mobileOpen ? 'Cerrar menú' : 'Abrir menú'}\"\n aria-expanded=\"${p.mobileOpen}\"\n @click=\"${p.onToggleClick}\"\n >${p.mobileOpen ? svgClose : svgMenu}</button>\n `;\n}"],"names":[],"mappings":";AAgCA,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAMlB,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQlB,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQhB,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAQjB,SAAS,YAAY,OAAqE;AACxF,MAAI,UAAU,UAAa,UAAU,QAAQ,UAAU,GAAI,QAAO;AAClE,MAAI,UAAU,OAAO;AACnB,WAAO;AAAA,EACT;AACA,QAAM,IAAI,OAAO,UAAU,WAAW,QAAQ,SAAS,OAAO,KAAK,GAAG,EAAE;AACxE,QAAM,MAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAM,MAAM,CAAC,IAAI,mBAAmB;AAClE,SAAO,6BAA6B,GAAG,KAAK,KAAK;AACnD;AAGA,SAAS,aAAa,GAAyC;AAC7D,QAAM,WAAW,EAAE,YAAY;AAC/B,QAAM,aAAa,EAAE,YAAY;AAEjC,SAAO;AAAA;AAAA;AAAA,UAGC,aACE,aAAa,EAAE,QAAQ,YACvB,EAAE,QAAQ;AAAA;AAAA,QAEd,WACE,gCAAgC,EAAE,UAAU,aAAa;AAAA,wDAEzD,8BAA8B,EAAE,SAAS,SAAS;AAAA;AAAA;AAG5D;AAGA,SAAS,aAAa,GAA0D;AAC9E,MAAI,CAAC,EAAE,WAAY,QAAO;AAC1B,SAAO;AAAA;AAAA;AAAA,UAGC,SAAS;AAAA;AAAA;AAAA;AAAA,yBAIM,EAAE,iBAAiB;AAAA;AAAA,oBAExB,CAAC,MACT,EAAE,cAAe,EAAE,OAA4B,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAMjE;AAGA,SAAS,UAAU,GAAyC;AAC1D,QAAM,WAAW,EAAE,YAAY;AAE/B,SAAO;AAAA;AAAA;AAAA;AAAA,QAID,EAAE,MAAM,IAAI,CAAA,SAAQ;AAAA,UAClB,KAAK,QAAQ;AAAA;AAAA,cAET,WAAW,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA;AAAA,YAE5C,OAAO;AAAA;AAAA;AAAA,2BAGQ,KAAK,OAAO,EAAE,SAAS,cAAc,EAAE;AAAA,sBAC5C,KAAK,OAAO,EAAE,SAAS,iBAAiB,EAAE;AAAA,qBAC3C,KAAK,EAAE;AAAA,uBACL,KAAK,QAAQ;AAAA,0BACV,KAAK,OAAO,EAAE,SAAS,SAAS,OAAO;AAAA,oBAC7C,MAAY;AAAE,QAAI,CAAC,KAAK,SAAU,GAAE,YAAY,KAAK,EAAE;AAAA,EAAG,CAAC;AAAA;AAAA;AAAA,8BAGjD,KAAK,IAAI;AAAA;AAAA;AAAA,YAG3B,WACE,8CACA,OAAO;AAAA;AAAA,wCAEmB,KAAK,KAAK;AAAA;AAAA,YAEtC,YAAY,KAAK,KAAK,CAAC;AAAA;AAAA,OAE5B,CAAC;AAAA;AAAA;AAGR;AAGA,SAAS,WAAW,GAAyC;AAC3D,QAAM,SAAS,EAAE,YAAY,UAAU,CAAC,EAAE;AAE1C,SAAO;AAAA;AAAA;AAAA,UAGC,EAAE,aACA,iBAAiB,EAAE,UAAU,UAAU,EAAE,QAAQ,OACjD,EAAE,gBAAgB,EAAE,SAAS,MAAM,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,oCAIhB,EAAE,QAAQ;AAAA,UACpC,EAAE,WAAW,iCAAiC,EAAE,QAAQ,WAAW,OAAO;AAAA;AAAA;AAAA,QAG5E,SACE,6DACA,EAAE,iBACA;AAAA;AAAA;AAAA;AAAA,0BAIc,EAAE,YAAY;AAAA,iBACvB,SAAS,cACd,OAAO;AAAA;AAAA;AAGnB;AAGO,SAAS,gBAAgB,GAAyC;AACvE,SAAO;AAAA;AAAA,0BAEiB,EAAE,aAAa,YAAY,EAAE;AAAA,gBACvC,EAAE,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMtB,EAAE,aAAa,YAAY,EAAE;AAAA,UAC7B,EAAE,YAAa,iBAAiB,EAAE;AAAA;AAAA;AAAA,QAGpC,aAAa,CAAC,CAAC;AAAA,QACf,aAAa,CAAC,CAAC;AAAA,QACf,UAAU,CAAC,CAAC;AAAA,QACZ,WAAW,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKD,EAAE,aAAa,gBAAgB,YAAY;AAAA,uBACxC,EAAE,UAAU;AAAA,gBACnB,EAAE,aAAa;AAAA,OACxB,EAAE,aAAa,WAAW,OAAO;AAAA;AAExC;"}
package/dist/index256.js CHANGED
@@ -1,14 +1,5 @@
1
- import { html } from "lit";
2
- function bentoItemTemplate(_ctx) {
3
- return html`
4
- <div class="bento-item" part="item">
5
- <div class="content" part="content">
6
- <slot></slot>
7
- </div>
8
- </div>
9
- `;
10
- }
1
+ const componentCss = '@layer tokens,reset,components;@layer reset{:host{display:block;height:100%}*,*:before,*:after{box-sizing:border-box}a{text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none}}@layer components{.sidebar{width:var(--lib-sidebar-width, 240px);height:100vh;display:flex;flex-direction:column;flex-shrink:0;position:relative;z-index:var(--z-raised);overflow:hidden;transition:width var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);background:var(--color-washi-950);border-right:1px solid rgb(255,255,255,.07)}.sidebar.is-collapsed{width:64px}:host([variant="light"]) .sidebar{background:var(--bg-elevated);border-right:1px solid var(--border-subtle)}:host([variant="kintsugi"]) .sidebar{background:var(--color-washi-950);border-right:none}:host([variant="kintsugi"]) .sidebar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent 0%,rgb(184,90,30,.3) 10%,var(--color-kaki-400) 30%,#F5D08A 50%,var(--color-kaki-400) 70%,rgb(184,90,30,.3) 90%,transparent 100%);background-size:100% 200%;animation:sb-kintsugi-seam 5s linear infinite;pointer-events:none;z-index:2}@keyframes sb-kintsugi-seam{0%{background-position:0 -100%}to{background-position:0 100%}}:host([variant="glitch"]) .sidebar{background:var(--color-washi-950);border-right:1px solid rgb(255,255,255,.06);animation:sb-glitch-border 7s steps(1) infinite}:host([variant="glitch"]) .sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgb(255,255,255,.015) 3px,rgb(255,255,255,.015) 4px);pointer-events:none;z-index:5;animation:sb-scanline-shift 7s steps(1) infinite}@keyframes sb-glitch-border{0%,88%,to{border-color:#ffffff0f;box-shadow:none}89%{border-color:#d9723466;box-shadow:-2px 0 #d9723433}90%{border-color:#4e94824d;box-shadow:2px 0 #4e948226}91%{border-color:#ffffff0f;box-shadow:none}}@keyframes sb-scanline-shift{0%,87%,to{opacity:1;transform:none}88%{transform:translateY(-3px);opacity:.7}89%{transform:translateY(2px);opacity:.9}90%{transform:none;opacity:1}}.sb-header{height:56px;padding:0 var(--lib-space-md);display:flex;align-items:center;gap:var(--lib-space-sm);flex-shrink:0;border-bottom:1px solid rgb(255,255,255,.06);position:relative;z-index:1;overflow:hidden}:host([variant="light"]) .sb-header{border-bottom-color:var(--color-washi-100)}:host([variant="kintsugi"]) .sb-header{border-bottom-color:#b85a1e1f}.sb-logo-mark{width:28px;height:28px;background:var(--color-kaki-500);display:flex;align-items:center;justify-content:center;font-family:var(--lib-font-display);color:#fff;font-size:1rem;font-weight:300;flex-shrink:0}:host([variant="dark"]) .sb-logo-mark,.sb-logo-mark{background:var(--color-kaki-500);color:#fff}:host([variant="kintsugi"]) .sb-logo-mark{position:relative;background:transparent;border:none;overflow:visible;border-radius:50%}:host([variant="kintsugi"]) .sb-logo-mark:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:conic-gradient(var(--color-kaki-600),#F5D08A,var(--color-kaki-400),#F5D08A,var(--color-kaki-600));animation:sb-logo-ring 4s linear infinite}:host([variant="kintsugi"]) .sb-logo-mark:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:50%;background:var(--color-washi-950)}:host([variant="kintsugi"]) .sb-logo-mark span{position:relative;z-index:2;color:var(--color-kaki-400)}@keyframes sb-logo-ring{to{transform:rotate(360deg)}}.sb-brand{font-family:var(--lib-font-display);font-size:1.1rem;font-weight:300;letter-spacing:.08em;white-space:nowrap;overflow:hidden;transition:opacity var(--duration-base) var(--ease-out),width var(--duration-slow) var(--ease-out);color:#faf7f4a6}:host([variant="light"]) .sb-brand{color:var(--text-primary)}:host([variant="kintsugi"]) .sb-brand{color:#faf7f480}:host([variant="glitch"]) .sb-brand{font-family:var(--lib-font-mono);font-size:.75rem;letter-spacing:.2em;color:var(--color-kaki-400)}.sidebar.is-collapsed .sb-brand{opacity:0;width:0;pointer-events:none}.sb-version{margin-left:auto;font-family:var(--lib-font-mono);font-size:8px;letter-spacing:.12em;color:#faf7f426;white-space:nowrap;transition:opacity var(--duration-base)}.sidebar.is-collapsed .sb-version{opacity:0;pointer-events:none}.sb-search{padding:var(--lib-space-sm) var(--lib-space-md);flex-shrink:0;overflow:hidden;transition:max-height var(--duration-slow) var(--ease-out),opacity var(--duration-base);max-height:52px}.sidebar.is-collapsed .sb-search{opacity:0;max-height:0;padding:0;pointer-events:none}.sb-search-inner{display:flex;align-items:center;gap:var(--lib-space-xs);border:1px solid rgb(255,255,255,.08);background:#ffffff0a;padding:0 var(--lib-space-sm);height:30px;transition:border-color var(--duration-base)}.sb-search-inner:focus-within{border-color:#ffffff2e}.sb-search-inner svg{flex-shrink:0;color:#faf7f440}.sb-search-input{flex:1;background:none;border:none;outline:none;font-family:var(--lib-font-mono);font-size:9px;letter-spacing:.1em;color:#faf7f499;width:100%}.sb-search-input::placeholder{color:#faf7f433}.sb-search-kbd{margin-left:auto;font-family:var(--lib-font-mono);font-size:8px;color:#faf7f426;border:1px solid rgb(255,255,255,.1);padding:0 4px;white-space:nowrap;flex-shrink:0}.sb-nav{flex:1;padding:var(--lib-space-md) 0;display:flex;flex-direction:column;position:relative;z-index:1;overflow-y:auto;scrollbar-width:none}.sb-nav::-webkit-scrollbar{display:none}.sb-indicator{position:absolute;left:0;width:2px;background:var(--color-kaki-500);border-radius:0 2px 2px 0;pointer-events:none;opacity:0;transition:top .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),opacity var(--duration-base)}.sb-indicator.visible{opacity:1}:host([variant="kintsugi"]) .sb-indicator{background:var(--color-kaki-400)}.sidebar.is-collapsed .sb-indicator{display:none}.sb-group{padding:var(--lib-space-sm) var(--lib-space-md) var(--lib-space-xs);font-family:var(--lib-font-mono);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:#faf7f42e;white-space:nowrap;overflow:hidden;transition:opacity var(--duration-base),max-height var(--duration-slow),padding var(--duration-slow);max-height:32px}:host([variant="light"]) .sb-group{color:var(--color-washi-400)}:host([variant="kintsugi"]) .sb-group{color:#b85a1e59}:host([variant="glitch"]) .sb-group{color:#faf7f426;letter-spacing:.16em}.sidebar.is-collapsed .sb-group{opacity:0;max-height:0;padding-top:0;padding-bottom:0;pointer-events:none}.sb-link{display:flex;align-items:center;gap:var(--lib-space-sm);padding:var(--lib-space-sm) var(--lib-space-md);width:100%;text-align:left;border-left:2px solid transparent;background:transparent;cursor:pointer;position:relative;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast);font-family:var(--lib-font-body);font-size:var(--text-sm);color:#faf7f459}:host([variant="light"]) .sb-link{color:var(--color-washi-600)}:host([variant="kintsugi"]) .sb-link{color:#faf7f44d}:host([variant="glitch"]) .sb-link{font-family:var(--lib-font-mono);font-size:9px;letter-spacing:.1em;color:#faf7f440;padding:.45rem var(--lib-space-md)}.sb-link:hover:not(.is-active,[disabled]){color:#faf7f4b3;background:#ffffff0a;border-left-color:#ffffff26}:host([variant="light"]) .sb-link:hover:not(.is-active,[disabled]){color:var(--color-washi-900);background:var(--color-washi-50);border-left-color:var(--color-washi-300)}:host([variant="kintsugi"]) .sb-link:hover:not(.is-active,[disabled]){color:#faf7f499;background:#b85a1e0d}:host([variant="glitch"]) .sb-link:hover:not(.is-active,[disabled]){color:#faf7f499;background:#ffffff08}.sb-link.is-active{color:var(--color-kaki-400);background:#b85a1e1a;border-left-color:var(--color-kaki-500)}:host([variant="light"]) .sb-link.is-active{color:var(--color-kaki-600);background:var(--color-kaki-50);border-left-color:var(--color-kaki-500)}:host([variant="kintsugi"]) .sb-link.is-active{color:var(--color-kaki-400);background:linear-gradient(90deg,rgb(184,90,30,.15),transparent);border-left-color:var(--color-kaki-400)}:host([variant="glitch"]) .sb-link.is-active{color:var(--color-kaki-400);background:#b85a1e14;border-left-color:var(--color-kaki-500)}.sb-link[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.sb-link-icon{display:flex;align-items:center;flex-shrink:0;font-size:15px;opacity:.7;transition:opacity var(--duration-base)}.sb-link.is-active .sb-link-icon{opacity:1}.sb-link-prefix{font-size:9px;flex-shrink:0;color:var(--color-kaki-400)}.sb-link:not(.is-active) .sb-link-prefix{opacity:.4;color:inherit}.sb-link-label{white-space:nowrap;overflow:hidden;transition:opacity var(--duration-base),width var(--duration-slow) var(--ease-out)}.sb-badge{margin-left:auto;font-family:var(--lib-font-mono);font-size:8px;padding:1px 6px;letter-spacing:.1em;flex-shrink:0;transition:opacity var(--duration-base)}.sb-badge--kaki{background:var(--color-kaki-500);color:#fff}.sb-badge--muted{background:var(--color-washi-200);color:var(--color-washi-600)}:host([variant="kintsugi"]) .sb-badge--kaki{background:transparent;border:1px solid rgb(184,90,30,.3);color:var(--color-kaki-400)}.sb-badge--dot{width:6px;height:6px;border-radius:50%;background:var(--color-kaki-400);padding:0}:host([variant="glitch"]) .sb-badge--dot{animation:sb-glitch-pulse 2s ease-in-out infinite}@keyframes sb-glitch-pulse{0%,to{opacity:1}50%{opacity:.2}}.sidebar.is-collapsed .sb-link{position:relative;padding:0;height:44px;border-left-color:transparent}.sidebar.is-collapsed .sb-link.is-active{background:#b85a1e26;border-left-color:transparent}:host([variant="light"]) .sidebar.is-collapsed .sb-link.is-active{background:var(--color-kaki-50)}.sidebar.is-collapsed .sb-link-label,.sidebar.is-collapsed .sb-badge,.sidebar.is-collapsed .sb-link-prefix{display:none}.sidebar.is-collapsed .sb-link-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:17px;opacity:1}.sb-user{padding:var(--lib-space-md);border-top:1px solid rgb(255,255,255,.06);display:flex;align-items:center;gap:var(--lib-space-sm);flex-shrink:0;overflow:hidden;position:relative;z-index:1;transition:padding var(--duration-slow)}:host([variant="light"]) .sb-user{border-top-color:var(--color-washi-100)}:host([variant="kintsugi"]) .sb-user{border-top-color:#b85a1e1f}:host([variant="glitch"]) .sb-user{border-top-color:#ffffff0d}.sidebar.is-collapsed .sb-user{justify-content:center;padding:var(--lib-space-sm)}.sb-user-avatar{width:30px;height:30px;border-radius:50%;background:var(--color-kaki-500);display:flex;align-items:center;justify-content:center;font-family:var(--lib-font-display);color:#fff;font-size:.95rem;flex-shrink:0;overflow:hidden;cursor:pointer}.sb-user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}:host([variant="dark"]) .sb-user-avatar,.sb-user-avatar{background:var(--color-kaki-500);color:#fff}:host([variant="kintsugi"]) .sb-user-avatar{background:#b85a1e40;border:1px solid rgb(184,90,30,.4);color:var(--color-kaki-400)}:host([variant="glitch"]) .sb-user-avatar{background:#b85a1e40;border:1px solid rgb(184,90,30,.35);color:var(--color-kaki-400);font-family:var(--lib-font-mono);font-size:.75rem}.sb-user-info{min-width:0;flex:1;overflow:hidden;transition:opacity var(--duration-base),width var(--duration-slow)}.sidebar.is-collapsed .sb-user-info{opacity:0;width:0;pointer-events:none}.sb-user-name{font-family:var(--lib-font-body);font-size:var(--text-sm);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#faf7f48c}:host([variant="light"]) .sb-user-name{color:var(--color-washi-800)}:host([variant="kintsugi"]) .sb-user-name{color:#faf7f473}.sb-user-role{font-family:var(--lib-font-mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;margin-top:1px;color:#faf7f433}:host([variant="light"]) .sb-user-role{color:var(--color-washi-400)}:host([variant="kintsugi"]) .sb-user-role{color:#b85a1e80}.sb-user-action{margin-left:auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid rgb(255,255,255,.1);color:#faf7f44d;flex-shrink:0;transition:border-color var(--duration-base),color var(--duration-base),background var(--duration-base);cursor:pointer}.sb-user-action:hover{border-color:#fff3;background:#ffffff0d;color:#faf7f4b3}:host([variant="light"]) .sb-user-action{border-color:var(--color-washi-200);color:var(--color-washi-400)}:host([variant="light"]) .sb-user-action:hover{border-color:var(--color-washi-400);background:var(--color-washi-50);color:var(--color-washi-700)}.sb-user-dot{width:6px;height:6px;border-radius:50%;background:var(--color-celadon-400);flex-shrink:0;margin-left:auto}.sidebar.is-collapsed .sb-user-action,.sidebar.is-collapsed .sb-user-dot{display:none}.sb-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:calc(var(--z-raised) - 1);opacity:0;transition:opacity var(--duration-base)}.sb-toggle{display:none;position:fixed;bottom:var(--lib-space-lg);right:var(--lib-space-lg);z-index:var(--z-modal);width:44px;height:44px;background:var(--color-washi-900);color:var(--color-washi-50);align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}@media(max-width:768px){:host{height:auto}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;transform:translate(-100%);z-index:var(--z-modal);box-shadow:var(--shadow-xl)}.sidebar.is-open{transform:translate(0)}.sb-toggle{display:flex}.sb-overlay{display:block}.sb-overlay.is-open{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.sidebar,.sb-indicator,:host([variant="kintsugi"]) .sidebar:after,:host([variant="kintsugi"]) .sb-logo-mark:before,:host([variant="glitch"]) .sidebar,:host([variant="glitch"]) .sidebar:before{animation:none!important;transition:none!important}}}';
11
2
  export {
12
- bentoItemTemplate
3
+ componentCss as default
13
4
  };
14
5
  //# sourceMappingURL=index256.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index256.js","sources":["../src/components/atoms/bento-item/lib-bento-item.html.ts"],"sourcesContent":["import { html, TemplateResult } from 'lit';\nimport type { LibBentoItem } from './lib-bento-item.component';\n\nexport function bentoItemTemplate(_ctx: LibBentoItem): TemplateResult {\n return html`\n <div class=\"bento-item\" part=\"item\">\n <div class=\"content\" part=\"content\">\n <slot></slot>\n </div>\n </div>\n `;\n}"],"names":[],"mappings":";AAGO,SAAS,kBAAkB,MAAoC;AACpE,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOT;"}
1
+ {"version":3,"file":"index256.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/index257.js CHANGED
@@ -1,5 +1,8 @@
1
- const itemCss = "@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}}}";
1
+ import { html } from "lit";
2
+ function staggerTemplate() {
3
+ return html`<slot></slot>`;
4
+ }
2
5
  export {
3
- itemCss as default
6
+ staggerTemplate
4
7
  };
5
8
  //# sourceMappingURL=index257.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index257.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index257.js","sources":["../src/components/organisms/stagger/lib-stagger-container.html.ts"],"sourcesContent":["import { html, TemplateResult } from 'lit';\n\nexport function staggerTemplate(): TemplateResult {\n return html`<slot></slot>`;\n}"],"names":[],"mappings":";AAEO,SAAS,kBAAkC;AAChD,SAAO;AACT;"}
package/dist/index258.js CHANGED
@@ -1,81 +1,5 @@
1
- import { html, nothing, svg } from "lit";
2
- function renderDots(p) {
3
- const current = Math.round(p.progress / 100 * p.dotsCount);
4
- return html`
5
- ${Array.from({ length: p.dotsCount }, (_, i) => {
6
- const done = i < current - 1;
7
- const active = i === current - 1;
8
- return html`
9
- <span
10
- class="rp-dot ${done ? "is-done" : ""} ${active ? "is-current" : ""}"
11
- aria-hidden="true"
12
- ></span>
13
- `;
14
- })}
15
- `;
16
- }
17
- function renderRing(p) {
18
- const r = p.ringSize / 2 - 3;
19
- const circumference = 2 * Math.PI * r;
20
- const offset = circumference * (1 - p.progress / 100);
21
- return html`
22
- ${svg`
23
- <svg
24
- class="rp-ring-svg"
25
- width="${p.ringSize}"
26
- height="${p.ringSize}"
27
- viewBox="0 0 ${p.ringSize} ${p.ringSize}"
28
- role="img"
29
- aria-label="Progreso de lectura: ${p.progress}%"
30
- >
31
- <circle
32
- class="rp-ring-track"
33
- cx="${p.ringSize / 2}"
34
- cy="${p.ringSize / 2}"
35
- r="${r}"
36
- />
37
- <circle
38
- class="rp-ring-fill"
39
- cx="${p.ringSize / 2}"
40
- cy="${p.ringSize / 2}"
41
- r="${r}"
42
- stroke-dasharray="${circumference}"
43
- stroke-dashoffset="${offset}"
44
- />
45
- </svg>
46
- `}
47
- `;
48
- }
49
- function readingProgressTemplate(p) {
50
- if (p.variant === "bar" || p.variant === "line" || p.variant === "vertical") {
51
- return html`
52
- <span
53
- role="progressbar"
54
- aria-label="Progreso de lectura"
55
- aria-valuemin="0"
56
- aria-valuemax="100"
57
- aria-valuenow="${p.progress}"
58
- style="display:none"
59
- ></span>
60
- `;
61
- }
62
- if (p.variant === "dots") {
63
- return html`
64
- <span role="progressbar" aria-label="Progreso de lectura" aria-valuenow="${p.progress}" aria-valuemin="0" aria-valuemax="100" style="display:contents">
65
- ${renderDots(p)}
66
- </span>
67
- `;
68
- }
69
- if (p.variant === "ring") {
70
- return html`
71
- <span role="progressbar" aria-label="Progreso de lectura" aria-valuenow="${p.progress}" aria-valuemin="0" aria-valuemax="100" style="display:contents">
72
- ${renderRing(p)}
73
- </span>
74
- `;
75
- }
76
- return nothing;
77
- }
1
+ const staggerCss = "@layer tokens,reset,components;@layer reset{:host{display:block;width:100%}*,*:before,*:after{box-sizing:border-box}}@layer components{::slotted(*){opacity:0;transform:var(--_stagger-from, translateY(var(--lib-space-lg)));transition:opacity var(--_stagger-duration, var(--duration-slow)) var(--_stagger-ease, var(--ease-out)),transform var(--_stagger-duration, var(--duration-slow)) var(--_stagger-ease, var(--ease-out));transition-delay:var(--_stagger-delay, 0ms);will-change:opacity,transform}:host([visible]) ::slotted(*){opacity:1;transform:none}@media(prefers-reduced-motion:reduce){::slotted(*){transition:none;opacity:1;transform:none}}}";
78
2
  export {
79
- readingProgressTemplate
3
+ staggerCss as default
80
4
  };
81
5
  //# sourceMappingURL=index258.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index258.js","sources":["../src/components/atoms/reading-progress/lib-reading-progress.html.ts"],"sourcesContent":["import { html, nothing, svg, TemplateResult } from 'lit';\nimport { ReadingProgressVariant } from './lib-reading-progress.component';\n\nexport interface ReadingProgressTemplateProps {\n variant: ReadingProgressVariant;\n progress: number; /* 0 – 100 */\n dotsCount: number;\n ringSize: number;\n}\n\n/* ── DOTS ──────────────────────────────────────────────── */\nfunction renderDots(p: ReadingProgressTemplateProps): TemplateResult {\n const current = Math.round((p.progress / 100) * p.dotsCount);\n return html`\n ${Array.from({ length: p.dotsCount }, (_, i) => {\n const done = i < current - 1;\n const active = i === current - 1;\n return html`\n <span\n class=\"rp-dot ${done ? 'is-done' : ''} ${active ? 'is-current' : ''}\"\n aria-hidden=\"true\"\n ></span>\n `;\n })}\n `;\n}\n\n/* ── RING ──────────────────────────────────────────────── */\nfunction renderRing(p: ReadingProgressTemplateProps): TemplateResult {\n const r = (p.ringSize / 2) - 3; /* margen para stroke-width:2 */\n const circumference = 2 * Math.PI * r;\n const offset = circumference * (1 - p.progress / 100);\n\n return html`\n ${svg`\n <svg\n class=\"rp-ring-svg\"\n width=\"${p.ringSize}\"\n height=\"${p.ringSize}\"\n viewBox=\"0 0 ${p.ringSize} ${p.ringSize}\"\n role=\"img\"\n aria-label=\"Progreso de lectura: ${p.progress}%\"\n >\n <circle\n class=\"rp-ring-track\"\n cx=\"${p.ringSize / 2}\"\n cy=\"${p.ringSize / 2}\"\n r=\"${r}\"\n />\n <circle\n class=\"rp-ring-fill\"\n cx=\"${p.ringSize / 2}\"\n cy=\"${p.ringSize / 2}\"\n r=\"${r}\"\n stroke-dasharray=\"${circumference}\"\n stroke-dashoffset=\"${offset}\"\n />\n </svg>\n `}\n `;\n}\n\n/* ── Template principal ─────────────────────────────────── */\nexport function readingProgressTemplate(\n p: ReadingProgressTemplateProps,\n): TemplateResult {\n /* bar + line + vertical → el host ES el elemento visual (CSS en :host)\n Solo necesitamos el aria progressbar */\n if (p.variant === 'bar' || p.variant === 'line' || p.variant === 'vertical') {\n return html`\n <span\n role=\"progressbar\"\n aria-label=\"Progreso de lectura\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=\"${p.progress}\"\n style=\"display:none\"\n ></span>\n `;\n }\n\n if (p.variant === 'dots') {\n return html`\n <span role=\"progressbar\" aria-label=\"Progreso de lectura\" aria-valuenow=\"${p.progress}\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"display:contents\">\n ${renderDots(p)}\n </span>\n `;\n }\n\n if (p.variant === 'ring') {\n return html`\n <span role=\"progressbar\" aria-label=\"Progreso de lectura\" aria-valuenow=\"${p.progress}\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"display:contents\">\n ${renderRing(p)}\n </span>\n `;\n }\n\n return nothing as unknown as TemplateResult;\n}"],"names":[],"mappings":";AAWA,SAAS,WAAW,GAAiD;AACnE,QAAM,UAAU,KAAK,MAAO,EAAE,WAAW,MAAO,EAAE,SAAS;AAC3D,SAAO;AAAA,MACH,MAAM,KAAK,EAAE,QAAQ,EAAE,UAAA,GAAa,CAAC,GAAG,MAAM;AAC9C,UAAM,OAAO,IAAI,UAAU;AAC3B,UAAM,SAAS,MAAM,UAAU;AAC/B,WAAO;AAAA;AAAA,0BAEa,OAAO,YAAY,EAAE,IAAI,SAAS,eAAe,EAAE;AAAA;AAAA;AAAA;AAAA,EAIzE,CAAC,CAAC;AAAA;AAEN;AAGA,SAAS,WAAW,GAAiD;AACnE,QAAM,IAAgB,EAAE,WAAW,IAAK;AACxC,QAAM,gBAAgB,IAAI,KAAK,KAAK;AACpC,QAAM,SAAgB,iBAAiB,IAAI,EAAE,WAAW;AAExD,SAAO;AAAA,MACH;AAAA;AAAA;AAAA,iBAGW,EAAE,QAAQ;AAAA,kBACT,EAAE,QAAQ;AAAA,uBACL,EAAE,QAAQ,IAAI,EAAE,QAAQ;AAAA;AAAA,2CAEJ,EAAE,QAAQ;AAAA;AAAA;AAAA;AAAA,gBAIrC,EAAE,WAAW,CAAC;AAAA,gBACd,EAAE,WAAW,CAAC;AAAA,eACf,CAAC;AAAA;AAAA;AAAA;AAAA,gBAIA,EAAE,WAAW,CAAC;AAAA,gBACd,EAAE,WAAW,CAAC;AAAA,eACf,CAAC;AAAA,8BACc,aAAa;AAAA,+BACZ,MAAM;AAAA;AAAA;AAAA,KAGhC;AAAA;AAEL;AAGO,SAAS,wBACd,GACgB;AAGhB,MAAI,EAAE,YAAY,SAAS,EAAE,YAAY,UAAU,EAAE,YAAY,YAAY;AAC3E,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAMc,EAAE,QAAQ;AAAA;AAAA;AAAA;AAAA,EAIjC;AAEA,MAAI,EAAE,YAAY,QAAQ;AACxB,WAAO;AAAA,iFACsE,EAAE,QAAQ;AAAA,UACjF,WAAW,CAAC,CAAC;AAAA;AAAA;AAAA,EAGrB;AAEA,MAAI,EAAE,YAAY,QAAQ;AACxB,WAAO;AAAA,iFACsE,EAAE,QAAQ;AAAA,UACjF,WAAW,CAAC,CAAC;AAAA;AAAA;AAAA,EAGrB;AAEA,SAAO;AACT;"}
1
+ {"version":3,"file":"index258.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}