@shibui-ui/ui 1.25.1 → 1.26.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 (322) hide show
  1. package/dist/index.js +68 -68
  2. package/dist/index107.js +2 -2
  3. package/dist/index107.js.map +1 -1
  4. package/dist/index108.js +2 -2
  5. package/dist/index108.js.map +1 -1
  6. package/dist/index109.js +2 -2
  7. package/dist/index109.js.map +1 -1
  8. package/dist/index11.js +1 -1
  9. package/dist/index110.js +2 -2
  10. package/dist/index110.js.map +1 -1
  11. package/dist/index115.js +2 -2
  12. package/dist/index115.js.map +1 -1
  13. package/dist/index116.js +2 -2
  14. package/dist/index116.js.map +1 -1
  15. package/dist/index117.js +2 -2
  16. package/dist/index117.js.map +1 -1
  17. package/dist/index118.js +2 -2
  18. package/dist/index118.js.map +1 -1
  19. package/dist/index119.js +2 -2
  20. package/dist/index119.js.map +1 -1
  21. package/dist/index120.js +2 -2
  22. package/dist/index120.js.map +1 -1
  23. package/dist/index121.js +2 -2
  24. package/dist/index121.js.map +1 -1
  25. package/dist/index122.js +2 -2
  26. package/dist/index122.js.map +1 -1
  27. package/dist/index123.js +2 -2
  28. package/dist/index123.js.map +1 -1
  29. package/dist/index124.js +2 -2
  30. package/dist/index124.js.map +1 -1
  31. package/dist/index125.js +2 -2
  32. package/dist/index125.js.map +1 -1
  33. package/dist/index126.js +2 -2
  34. package/dist/index126.js.map +1 -1
  35. package/dist/index127.js +2 -2
  36. package/dist/index127.js.map +1 -1
  37. package/dist/index128.js +2 -2
  38. package/dist/index128.js.map +1 -1
  39. package/dist/index129.js +2 -2
  40. package/dist/index129.js.map +1 -1
  41. package/dist/index130.js +2 -2
  42. package/dist/index130.js.map +1 -1
  43. package/dist/index131.js +2 -2
  44. package/dist/index131.js.map +1 -1
  45. package/dist/index132.js +2 -2
  46. package/dist/index132.js.map +1 -1
  47. package/dist/index133.js +2 -2
  48. package/dist/index133.js.map +1 -1
  49. package/dist/index134.js +2 -2
  50. package/dist/index134.js.map +1 -1
  51. package/dist/index135.js +2 -2
  52. package/dist/index135.js.map +1 -1
  53. package/dist/index136.js +2 -2
  54. package/dist/index136.js.map +1 -1
  55. package/dist/index137.js +2 -2
  56. package/dist/index137.js.map +1 -1
  57. package/dist/index138.js +2 -2
  58. package/dist/index138.js.map +1 -1
  59. package/dist/index139.js +2 -2
  60. package/dist/index139.js.map +1 -1
  61. package/dist/index140.js +2 -2
  62. package/dist/index140.js.map +1 -1
  63. package/dist/index141.js +2 -2
  64. package/dist/index141.js.map +1 -1
  65. package/dist/index142.js +2 -2
  66. package/dist/index142.js.map +1 -1
  67. package/dist/index143.js +2 -2
  68. package/dist/index143.js.map +1 -1
  69. package/dist/index144.js +2 -2
  70. package/dist/index144.js.map +1 -1
  71. package/dist/index145.js +2 -2
  72. package/dist/index145.js.map +1 -1
  73. package/dist/index146.js +2 -2
  74. package/dist/index146.js.map +1 -1
  75. package/dist/index147.js +2 -2
  76. package/dist/index147.js.map +1 -1
  77. package/dist/index148.js +2 -2
  78. package/dist/index148.js.map +1 -1
  79. package/dist/index149.js +2 -2
  80. package/dist/index149.js.map +1 -1
  81. package/dist/index150.js +2 -2
  82. package/dist/index150.js.map +1 -1
  83. package/dist/index151.js +2 -2
  84. package/dist/index151.js.map +1 -1
  85. package/dist/index152.js +2 -2
  86. package/dist/index152.js.map +1 -1
  87. package/dist/index153.js +2 -2
  88. package/dist/index153.js.map +1 -1
  89. package/dist/index154.js +2 -2
  90. package/dist/index154.js.map +1 -1
  91. package/dist/index155.js +2 -2
  92. package/dist/index155.js.map +1 -1
  93. package/dist/index156.js +2 -2
  94. package/dist/index156.js.map +1 -1
  95. package/dist/index157.js +2 -2
  96. package/dist/index157.js.map +1 -1
  97. package/dist/index158.js +2 -2
  98. package/dist/index158.js.map +1 -1
  99. package/dist/index159.js +2 -2
  100. package/dist/index159.js.map +1 -1
  101. package/dist/index160.js +2 -2
  102. package/dist/index160.js.map +1 -1
  103. package/dist/index161.js +2 -2
  104. package/dist/index161.js.map +1 -1
  105. package/dist/index162.js +2 -2
  106. package/dist/index162.js.map +1 -1
  107. package/dist/index163.js +2 -2
  108. package/dist/index163.js.map +1 -1
  109. package/dist/index164.js +2 -2
  110. package/dist/index164.js.map +1 -1
  111. package/dist/index165.js +2 -2
  112. package/dist/index165.js.map +1 -1
  113. package/dist/index166.js +2 -2
  114. package/dist/index166.js.map +1 -1
  115. package/dist/index167.js +2 -2
  116. package/dist/index167.js.map +1 -1
  117. package/dist/index168.js +2 -2
  118. package/dist/index168.js.map +1 -1
  119. package/dist/index169.js +2 -2
  120. package/dist/index169.js.map +1 -1
  121. package/dist/index170.js +2 -2
  122. package/dist/index170.js.map +1 -1
  123. package/dist/index171.js +2 -2
  124. package/dist/index171.js.map +1 -1
  125. package/dist/index172.js +2 -2
  126. package/dist/index172.js.map +1 -1
  127. package/dist/index173.js +2 -2
  128. package/dist/index173.js.map +1 -1
  129. package/dist/index174.js +2 -2
  130. package/dist/index174.js.map +1 -1
  131. package/dist/index175.js +2 -2
  132. package/dist/index175.js.map +1 -1
  133. package/dist/index176.js +2 -2
  134. package/dist/index176.js.map +1 -1
  135. package/dist/index177.js +2 -2
  136. package/dist/index177.js.map +1 -1
  137. package/dist/index178.js +2 -2
  138. package/dist/index178.js.map +1 -1
  139. package/dist/index194.js +6 -97
  140. package/dist/index194.js.map +1 -1
  141. package/dist/index195.js +2 -2
  142. package/dist/index197.js +18 -2
  143. package/dist/index197.js.map +1 -1
  144. package/dist/index198.js +2 -74
  145. package/dist/index198.js.map +1 -1
  146. package/dist/index199.js +74 -64
  147. package/dist/index199.js.map +1 -1
  148. package/dist/index200.js +2 -2
  149. package/dist/index201.js +2 -57
  150. package/dist/index201.js.map +1 -1
  151. package/dist/index202.js +39 -2
  152. package/dist/index202.js.map +1 -1
  153. package/dist/index203.js +2 -2
  154. package/dist/index204.js +219 -144
  155. package/dist/index204.js.map +1 -1
  156. package/dist/index205.js +82 -43
  157. package/dist/index205.js.map +1 -1
  158. package/dist/index206.js +2 -51
  159. package/dist/index206.js.map +1 -1
  160. package/dist/index207.js +94 -2
  161. package/dist/index207.js.map +1 -1
  162. package/dist/index208.js +2 -33
  163. package/dist/index208.js.map +1 -1
  164. package/dist/index209.js +268 -2
  165. package/dist/index209.js.map +1 -1
  166. package/dist/index210.js +2 -6
  167. package/dist/index210.js.map +1 -1
  168. package/dist/index211.js +21 -2
  169. package/dist/index211.js.map +1 -1
  170. package/dist/index212.js +2 -260
  171. package/dist/index212.js.map +1 -1
  172. package/dist/index213.js +8 -16
  173. package/dist/index213.js.map +1 -1
  174. package/dist/index214.js +2 -2
  175. package/dist/index215.js +15 -2
  176. package/dist/index215.js.map +1 -1
  177. package/dist/index216.js +2 -66
  178. package/dist/index216.js.map +1 -1
  179. package/dist/index217.js +146 -24
  180. package/dist/index217.js.map +1 -1
  181. package/dist/index218.js +2 -2
  182. package/dist/index219.js +5 -2
  183. package/dist/index219.js.map +1 -1
  184. package/dist/index220.js +2 -81
  185. package/dist/index220.js.map +1 -1
  186. package/dist/index221.js +6 -78
  187. package/dist/index221.js.map +1 -1
  188. package/dist/index222.js +2 -2
  189. package/dist/index223.js +2 -133
  190. package/dist/index223.js.map +1 -1
  191. package/dist/index224.js +92 -2
  192. package/dist/index224.js.map +1 -1
  193. package/dist/index225.js +59 -2
  194. package/dist/index225.js.map +1 -1
  195. package/dist/index226.js +2 -72
  196. package/dist/index226.js.map +1 -1
  197. package/dist/index227.js +97 -94
  198. package/dist/index227.js.map +1 -1
  199. package/dist/index228.js +2 -2
  200. package/dist/index229.js +2 -71
  201. package/dist/index229.js.map +1 -1
  202. package/dist/index230.js +74 -2
  203. package/dist/index230.js.map +1 -1
  204. package/dist/index231.js +74 -2
  205. package/dist/index231.js.map +1 -1
  206. package/dist/index232.js +2 -12
  207. package/dist/index232.js.map +1 -1
  208. package/dist/index233.js +53 -5
  209. package/dist/index233.js.map +1 -1
  210. package/dist/index234.js +2 -2
  211. package/dist/index235.js +2 -18
  212. package/dist/index235.js.map +1 -1
  213. package/dist/index236.js +162 -2
  214. package/dist/index236.js.map +1 -1
  215. package/dist/index237.js +43 -84
  216. package/dist/index237.js.map +1 -1
  217. package/dist/index238.js +51 -2
  218. package/dist/index238.js.map +1 -1
  219. package/dist/index239.js +2 -2
  220. package/dist/index240.js +33 -39
  221. package/dist/index240.js.map +1 -1
  222. package/dist/index241.js +2 -2
  223. package/dist/index242.js +5 -236
  224. package/dist/index242.js.map +1 -1
  225. package/dist/index243.js +2 -82
  226. package/dist/index243.js.map +1 -1
  227. package/dist/index244.js +260 -2
  228. package/dist/index244.js.map +1 -1
  229. package/dist/index245.js +16 -93
  230. package/dist/index245.js.map +1 -1
  231. package/dist/index246.js +2 -2
  232. package/dist/index247.js +2 -268
  233. package/dist/index247.js.map +1 -1
  234. package/dist/index248.js +66 -2
  235. package/dist/index248.js.map +1 -1
  236. package/dist/index249.js +24 -13
  237. package/dist/index249.js.map +1 -1
  238. package/dist/index250.js +2 -2
  239. package/dist/index251.js +2 -9
  240. package/dist/index251.js.map +1 -1
  241. package/dist/index252.js +81 -2
  242. package/dist/index252.js.map +1 -1
  243. package/dist/index253.js +78 -12
  244. package/dist/index253.js.map +1 -1
  245. package/dist/index254.js +2 -2
  246. package/dist/index255.js +111 -132
  247. package/dist/index255.js.map +1 -1
  248. package/dist/index256.js +2 -2
  249. package/dist/index257.js +2 -5
  250. package/dist/index257.js.map +1 -1
  251. package/dist/index258.js +72 -2
  252. package/dist/index258.js.map +1 -1
  253. package/dist/index259.js +93 -5
  254. package/dist/index259.js.map +1 -1
  255. package/dist/index260.js +2 -2
  256. package/dist/index261.js +71 -2
  257. package/dist/index261.js.map +1 -1
  258. package/dist/index262.js +2 -92
  259. package/dist/index262.js.map +1 -1
  260. package/dist/index263.js +2 -59
  261. package/dist/index263.js.map +1 -1
  262. package/dist/index264.js +12 -2
  263. package/dist/index264.js.map +1 -1
  264. package/dist/index3.js +73 -73
  265. package/dist/index3.js.map +1 -1
  266. package/dist/index34.js +1 -1
  267. package/dist/index347.js +1 -1
  268. package/dist/index352.js +26 -19
  269. package/dist/index352.js.map +1 -1
  270. package/dist/index353.js +24 -13
  271. package/dist/index353.js.map +1 -1
  272. package/dist/index354.js +6 -20
  273. package/dist/index354.js.map +1 -1
  274. package/dist/index355.js +18 -56
  275. package/dist/index355.js.map +1 -1
  276. package/dist/index356.js +57 -55
  277. package/dist/index356.js.map +1 -1
  278. package/dist/index357.js +64 -32
  279. package/dist/index357.js.map +1 -1
  280. package/dist/index44.js +1 -1
  281. package/dist/index47.js +1 -1
  282. package/dist/index49.js +2 -2
  283. package/dist/index50.js +2 -2
  284. package/dist/index51.js +2 -2
  285. package/dist/index52.js +2 -2
  286. package/dist/index53.js +3 -3
  287. package/dist/index54.js +2 -2
  288. package/dist/index55.js +2 -2
  289. package/dist/index56.js +3 -3
  290. package/dist/index57.js +2 -2
  291. package/dist/index58.js +2 -2
  292. package/dist/index59.js +2 -2
  293. package/dist/index60.js +2 -2
  294. package/dist/index61.js +2 -2
  295. package/dist/index62.js +2 -2
  296. package/dist/index63.js +2 -2
  297. package/dist/index64.js +2 -2
  298. package/dist/index65.js +2 -2
  299. package/dist/index66.js +1 -1
  300. package/dist/index67.js +1 -1
  301. package/dist/index68.js +2 -2
  302. package/dist/index69.js +2 -2
  303. package/dist/index70.js +2 -2
  304. package/dist/index71.js +2 -2
  305. package/dist/index72.js +2 -2
  306. package/dist/index73.js +2 -2
  307. package/dist/index74.js +2 -2
  308. package/dist/index75.js +2 -2
  309. package/dist/index76.js +2 -2
  310. package/dist/index77.js +2 -2
  311. package/dist/index78.js +2 -2
  312. package/dist/index79.js +2 -2
  313. package/dist/index80.js +2 -2
  314. package/dist/index81.js +2 -2
  315. package/dist/index82.js +1 -1
  316. package/dist/index83.js +2 -2
  317. package/dist/index84.js +2 -2
  318. package/dist/shared/icons/icon-registry.d.ts +2 -2
  319. package/dist/shared/icons/icon-registry.d.ts.map +1 -1
  320. package/dist/src/shared/icons/icon-registry.d.ts +2 -2
  321. package/dist/src/shared/icons/icon-registry.d.ts.map +1 -1
  322. package/package.json +1 -1
package/dist/index223.js CHANGED
@@ -1,136 +1,5 @@
1
- import { nothing, html } from "lit";
2
- function renderValue(v, unit) {
3
- return html`${v}${unit ? html`<span class="rs-value-unit">${unit}</span>` : nothing}`;
4
- }
5
- function renderMarks(marks, pct) {
6
- if (!marks.length) return html``;
7
- return html`
8
- <div class="rs-marks">
9
- ${marks.map((m) => html`
10
- <div
11
- class="rs-mark ${m.pct <= pct ? "is-filled" : ""}"
12
- style="left: ${m.pct}%"
13
- >
14
- ${m.label ? html`<span class="rs-mark-label">${m.label}</span>` : nothing}
15
- </div>
16
- `)}
17
- </div>
18
- `;
19
- }
20
- function renderLimits(show, low, high) {
21
- if (!show) return html``;
22
- return html`
23
- <div class="rs-limits">
24
- <span class="rs-limit">${low}</span>
25
- <span class="rs-limit">${high}</span>
26
- </div>
27
- `;
28
- }
29
- function renderTooltip(show, pct, value, unit) {
30
- if (!show) return html``;
31
- return html`
32
- <div class="rs-tooltip-wrap" style="left: ${pct}%">
33
- <span class="rs-tooltip-bubble">${value}${unit}</span>
34
- </div>
35
- `;
36
- }
37
- function renderTrack(p) {
38
- if (p.dual) {
39
- return html`
40
- <div class="rs-track-wrap">
41
- <div class="rs-track">
42
- <div
43
- class="rs-fill-dual"
44
- style="left: ${p.minPct}%; right: ${100 - p.maxPct}%"
45
- ></div>
46
- </div>
47
- <input
48
- type="range"
49
- class="rs-input-min"
50
- min=${p.min} max=${p.max} step=${p.step}
51
- .value=${String(p.valueMin)}
52
- ?disabled=${p.disabled}
53
- aria-label="Mínimo"
54
- @input=${p.onInputMin}
55
- >
56
- <input
57
- type="range"
58
- class="rs-input-max"
59
- min=${p.min} max=${p.max} step=${p.step}
60
- .value=${String(p.valueMax)}
61
- ?disabled=${p.disabled}
62
- aria-label="Máximo"
63
- @input=${p.onInputMax}
64
- >
65
- </div>
66
- `;
67
- }
68
- if (p.vertical) {
69
- return html`
70
- <div class="rs-vert-wrap">
71
- <div class="rs-track-wrap">
72
- <div class="rs-track">
73
- <div class="rs-fill" style="width: ${p.pct}%"></div>
74
- </div>
75
- <input
76
- type="range"
77
- min=${p.min} max=${p.max} step=${p.step}
78
- .value=${String(p.value)}
79
- ?disabled=${p.disabled}
80
- @input=${p.onInput}
81
- >
82
- </div>
83
- </div>
84
- `;
85
- }
86
- return html`
87
- <div class="rs-track-wrap">
88
- <div class="rs-track">
89
- <div class="rs-fill" style="width: ${p.pct}%"></div>
90
- </div>
91
- <input
92
- type="range"
93
- min=${p.min} max=${p.max} step=${p.step}
94
- .value=${String(p.value)}
95
- ?disabled=${p.disabled}
96
- @input=${p.onInput}
97
- >
98
- ${renderTooltip(p.tooltip, p.pct, p.value, p.unit)}
99
- </div>
100
- `;
101
- }
102
- function rangeSliderTemplate(p) {
103
- const valueDisplay = p.dual ? html`<span class="rs-value">
104
- ${p.valueMin} — ${p.valueMax}
105
- ${p.unit ? html`<span class="rs-value-unit">${p.unit}</span>` : nothing}
106
- </span>` : html`<span class="rs-value">${renderValue(p.value, p.unit)}</span>`;
107
- return html`
108
- <div class="rs">
109
-
110
- ${!p.vertical && (p.label || p.dual) ? html`
111
- <div class="rs-label-row">
112
- ${p.label ? html`<span class="rs-label">${p.label}</span>` : nothing}
113
- ${valueDisplay}
114
- </div>
115
- ` : nothing}
116
-
117
- ${renderTrack(p)}
118
-
119
- ${p.vertical ? html`
120
- <div class="rs-label-row">
121
- ${p.label ? html`<span class="rs-label">${p.label}</span>` : nothing}
122
- ${valueDisplay}
123
- </div>
124
- ` : nothing}
125
-
126
- ${renderMarks(p.marks, p.pct)}
127
-
128
- ${renderLimits(p.showLimits, p.limitMinText, p.limitMaxText)}
129
-
130
- </div>
131
- `;
132
- }
1
+ const timelineCss = '@layer tokens,reset,components;@layer reset{*,*:before,*:after{box-sizing:border-box}:host{display:block}}@layer components{.tl{display:flex;flex-direction:column;gap:0}.tl-item{display:grid;grid-template-columns:40px 1fr;gap:0 var(--lib-space-md);position:relative}.tl-spine{display:flex;flex-direction:column;align-items:center;position:relative}.tl-node{width:28px;height:28px;border-radius:var(--radius-full);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:transform var(--duration-base),box-shadow var(--duration-base)}.tl-node-dot{background:var(--bg-elevated);border:2px solid var(--color-washi-700)}.tl-node-dot:after{content:"";width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-washi-700)}.tl-node-icon{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:14px;color:var(--text-secondary)}.tl-node-avatar{background:var(--color-washi-200);border:1px solid var(--border-default);font-family:var(--lib-font-mono);font-size:9px;color:var(--text-secondary)}.nd-kaki.tl-node-dot{border-color:var(--color-kaki-500)}.nd-kaki.tl-node-dot:after{background:var(--color-kaki-500)}.nd-kaki.tl-node-icon{background:var(--color-kaki-50);border-color:var(--color-kaki-100);color:var(--color-kaki-500)}.nd-kaki.tl-node-avatar{background:var(--color-kaki-100);border-color:var(--color-kaki-100);color:var(--color-kaki-600)}.nd-celadon.tl-node-dot{border-color:var(--color-celadon-500)}.nd-celadon.tl-node-dot:after{background:var(--color-celadon-500)}.nd-celadon.tl-node-icon{background:var(--color-celadon-50);border-color:var(--color-celadon-100);color:var(--color-celadon-500)}.nd-celadon.tl-node-avatar{background:var(--color-celadon-100);border-color:var(--color-celadon-100);color:var(--color-celadon-600)}.nd-error.tl-node-dot{border-color:var(--color-error)}.nd-error.tl-node-dot:after{background:var(--color-error)}.nd-error.tl-node-icon{background:#fff8f7;border-color:#f5c4bc;color:var(--color-error)}.nd-muted.tl-node-dot{border-color:var(--color-washi-300);border-style:dashed}.nd-muted.tl-node-dot:after{background:var(--color-washi-300)}.nd-muted.tl-node-icon{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-muted)}@keyframes tl-pulse{0%{box-shadow:0 0 #b85a1e59}70%{box-shadow:0 0 0 8px #b85a1e00}to{box-shadow:0 0 #b85a1e00}}.tl-item.is-active .tl-node-dot{border-color:var(--color-kaki-500);animation:tl-pulse 2s infinite}.tl-item.is-active .tl-node-dot:after{background:var(--color-kaki-500)}.tl-item.is-active .tl-title{color:var(--text-primary)}.tl-item.is-done .tl-node-dot{background:var(--color-washi-900);border-color:var(--color-washi-900)}.tl-item.is-done .tl-node-dot:after{display:none}.tl-item.is-done .tl-node-dot:before{content:"";width:6px;height:10px;border-right:2px solid var(--color-white);border-bottom:2px solid var(--color-white);transform:rotate(45deg) translate(-1px,-2px)}.tl-item.is-error .tl-node-dot{background:var(--color-error);border-color:var(--color-error)}.tl-item.is-error .tl-node-dot:after{display:none}.tl-item.is-error .tl-node-dot:before{content:"!";font-family:var(--lib-font-mono);font-size:11px;font-weight:700;color:var(--color-white);line-height:1}.tl-item.is-error .tl-title{color:var(--color-error)}.tl-item.is-pending .tl-node-dot{border-color:var(--color-washi-300);border-style:dashed}.tl-item.is-pending .tl-node-dot:after{background:var(--color-washi-300);width:6px;height:6px}.tl-item.is-pending .tl-title{color:var(--text-muted)}.tl-item.is-pending .tl-body{opacity:.5}.tl-line{width:1px;flex:1;background:var(--border-default);margin:var(--lib-space-xs) 0;min-height:var(--lib-space-lg);position:relative;overflow:hidden}.tl-line.dashed{background:repeating-linear-gradient(to bottom,var(--border-default) 0,var(--border-default) 4px,transparent 4px,transparent 8px)}.tl-line.progress{background:var(--border-subtle)}.tl-line.progress:after{content:"";position:absolute;top:0;left:0;right:0;height:var(--tl-progress, 0%);background:var(--color-kaki-500);transition:height var(--duration-slower) var(--ease-out)}.tl-content{padding-bottom:var(--lib-space-lg);padding-top:2px}.tl-item:last-child .tl-content{padding-bottom:0}.tl-timestamp{font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wider);color:var(--text-muted);margin-bottom:var(--lib-space-sm);display:flex;align-items:center;gap:var(--lib-space-sm);line-height:1;padding-top:6px}.tl-timestamp-dot{width:4px;height:4px;border-radius:var(--radius-full);background:var(--color-washi-300);flex-shrink:0}.tl-title{font-family:var(--lib-font-body);font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-snug);margin-bottom:var(--lib-space-sm)}.tl-body{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);opacity:.85}.tl-body p{margin-bottom:var(--lib-space-sm)}.tl-body p:last-child{margin-bottom:0}.tl-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--lib-space-sm);margin-top:var(--lib-space-sm)}.tl-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:var(--lib-space-md) var(--lib-space-md);margin-top:var(--lib-space-xs)}.tl-item.is-active .tl-card{border-color:var(--color-kaki-200);background:var(--color-kaki-50)}.tl-item.is-done .tl-card{background:var(--bg-surface)}.tl-item.is-error .tl-card{border-color:#c44030;background:#fff8f7}.tl-item.is-pending .tl-card{background:var(--bg-surface);opacity:.6}.tl-media{margin-top:var(--lib-space-md);border-top:1px solid var(--border-subtle);padding-top:var(--lib-space-md);display:flex;gap:var(--lib-space-sm);flex-wrap:wrap}.tl-media-thumb{width:64px;height:48px;background:var(--border-subtle);border:1px solid var(--border-default);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-muted)}.tl-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)}.tl-badge:before{content:"";width:4px;height:4px;border-radius:var(--radius-full);background:currentcolor;opacity:.65;flex-shrink:0}.tl-badge-default{color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle)}.tl-badge-kaki{color:var(--color-kaki-500);background:var(--color-kaki-50);border:1px solid var(--color-kaki-100)}.tl-badge-celadon{color:var(--color-celadon-500);background:var(--color-celadon-50);border:1px solid var(--color-celadon-100)}.tl-badge-error{color:var(--color-error);background:#fff8f7;border:1px solid #F5C4BC}.tl-avatar{width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-washi-200);display:inline-flex;align-items:center;justify-content:center;font-family:var(--lib-font-mono);font-size:7px;color:var(--text-secondary);border:1px solid var(--border-subtle);flex-shrink:0}.tl-item.is-collapsed .tl-body,.tl-item.is-collapsed .tl-media,.tl-item.is-collapsed .tl-card-body{display:none}.tl-item.is-collapsed .tl-content{padding-bottom:var(--lib-space-md)}.tl-expand-btn{background:none;border:none;cursor:pointer;font-family:var(--lib-font-mono);font-size:9px;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted);padding:0;margin-top:var(--lib-space-sm);display:flex;align-items:center;gap:var(--lib-space-sm);transition:color var(--duration-fast)}.tl-expand-btn:hover{color:var(--text-primary)}:host([size="sm"]) .tl-item{grid-template-columns:28px 1fr}:host([size="sm"]) .tl-node{width:20px;height:20px}:host([size="sm"]) .tl-node-dot:after{width:6px;height:6px}:host([size="sm"]) .tl-node-icon{font-size:11px}:host([size="sm"]) .tl-node-avatar{font-size:7px}:host([size="sm"]) .tl-line{min-height:var(--lib-space-md)}:host([size="sm"]) .tl-content{padding-bottom:var(--lib-space-md)}:host([size="sm"]) .tl-timestamp{font-size:9px;padding-top:2px}:host([size="sm"]) .tl-title{font-size:var(--text-sm)}:host([size="sm"]) .tl-body{font-size:var(--text-xs)}:host([size="sm"]) .tl-card{padding:var(--lib-space-sm) var(--lib-space-md)}:host([size="lg"]) .tl-item{grid-template-columns:48px 1fr;gap:0 var(--lib-space-md)}:host([size="lg"]) .tl-node{width:36px;height:36px}:host([size="lg"]) .tl-node-dot:after{width:10px;height:10px}:host([size="lg"]) .tl-node-icon{font-size:18px}:host([size="lg"]) .tl-line{min-height:var(--lib-space-lg)}:host([size="lg"]) .tl-content{padding-bottom:var(--lib-space-xl);padding-top:4px}:host([size="lg"]) .tl-timestamp{font-size:11px;padding-top:8px}:host([size="lg"]) .tl-title{font-size:var(--text-md)}:host([size="lg"]) .tl-body{font-size:var(--text-sm)}:host([size="lg"]) .tl-card{padding:var(--lib-space-md) var(--lib-space-lg)}}';
133
2
  export {
134
- rangeSliderTemplate
3
+ timelineCss as default
135
4
  };
136
5
  //# sourceMappingURL=index223.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index223.js","sources":["../src/components/molecules/range-slider/lib-range-slider.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport type { RsSize, RsTone, RsMark } from './lib-range-slider.component';\n\nexport interface RangeSliderTemplateProps {\n /* sizing / modes */\n size: RsSize;\n tone: RsTone;\n dual: boolean;\n vertical: boolean;\n disabled: boolean;\n tooltip: boolean;\n\n /* range attrs */\n min: number;\n max: number;\n step: number;\n\n /* values */\n value: number; // single mode\n valueMin: number; // dual low\n valueMax: number; // dual high\n\n /* computed pcts (0–100) */\n pct: number; // single fill\n minPct: number; // dual fill left\n maxPct: number; // dual fill right\n\n /* display */\n label: string;\n unit: string;\n showLimits: boolean;\n limitMinText: string;\n limitMaxText: string;\n marks: RsMark[];\n\n /* handlers */\n onInput: (e: Event) => void;\n onInputMin: (e: Event) => void;\n onInputMax: (e: Event) => void;\n}\n\n/* ── Value display ───────────────────────────────────────── */\nfunction renderValue(v: number | string, unit: string): TemplateResult {\n return html`${v}${unit ? html`<span class=\"rs-value-unit\">${unit}</span>` : nothing}`;\n}\n\n/* ── Marks ───────────────────────────────────────────────── */\nfunction renderMarks(marks: RsMark[], pct: number): TemplateResult {\n if (!marks.length) return html``;\n return html`\n <div class=\"rs-marks\">\n ${marks.map(m => html`\n <div\n class=\"rs-mark ${m.pct <= pct ? 'is-filled' : ''}\"\n style=\"left: ${m.pct}%\"\n >\n ${m.label ? html`<span class=\"rs-mark-label\">${m.label}</span>` : nothing}\n </div>\n `)}\n </div>\n `;\n}\n\n/* ── Limits ──────────────────────────────────────────────── */\nfunction renderLimits(show: boolean, low: string, high: string): TemplateResult {\n if (!show) return html``;\n return html`\n <div class=\"rs-limits\">\n <span class=\"rs-limit\">${low}</span>\n <span class=\"rs-limit\">${high}</span>\n </div>\n `;\n}\n\n/* ── Tooltip ─────────────────────────────────────────────── */\nfunction renderTooltip(show: boolean, pct: number, value: number, unit: string): TemplateResult {\n if (!show) return html``;\n return html`\n <div class=\"rs-tooltip-wrap\" style=\"left: ${pct}%\">\n <span class=\"rs-tooltip-bubble\">${value}${unit}</span>\n </div>\n `;\n}\n\n/* ── Track content ───────────────────────────────────────── */\nfunction renderTrack(p: RangeSliderTemplateProps): TemplateResult {\n if (p.dual) {\n return html`\n <div class=\"rs-track-wrap\">\n <div class=\"rs-track\">\n <div\n class=\"rs-fill-dual\"\n style=\"left: ${p.minPct}%; right: ${100 - p.maxPct}%\"\n ></div>\n </div>\n <input\n type=\"range\"\n class=\"rs-input-min\"\n min=${p.min} max=${p.max} step=${p.step}\n .value=${String(p.valueMin)}\n ?disabled=${p.disabled}\n aria-label=\"Mínimo\"\n @input=${p.onInputMin}\n >\n <input\n type=\"range\"\n class=\"rs-input-max\"\n min=${p.min} max=${p.max} step=${p.step}\n .value=${String(p.valueMax)}\n ?disabled=${p.disabled}\n aria-label=\"Máximo\"\n @input=${p.onInputMax}\n >\n </div>\n `;\n }\n\n if (p.vertical) {\n return html`\n <div class=\"rs-vert-wrap\">\n <div class=\"rs-track-wrap\">\n <div class=\"rs-track\">\n <div class=\"rs-fill\" style=\"width: ${p.pct}%\"></div>\n </div>\n <input\n type=\"range\"\n min=${p.min} max=${p.max} step=${p.step}\n .value=${String(p.value)}\n ?disabled=${p.disabled}\n @input=${p.onInput}\n >\n </div>\n </div>\n `;\n }\n\n /* single horizontal */\n return html`\n <div class=\"rs-track-wrap\">\n <div class=\"rs-track\">\n <div class=\"rs-fill\" style=\"width: ${p.pct}%\"></div>\n </div>\n <input\n type=\"range\"\n min=${p.min} max=${p.max} step=${p.step}\n .value=${String(p.value)}\n ?disabled=${p.disabled}\n @input=${p.onInput}\n >\n ${renderTooltip(p.tooltip, p.pct, p.value, p.unit)}\n </div>\n `;\n}\n\n/**\n * Template principal de lib-range-slider.\n */\nexport function rangeSliderTemplate(p: RangeSliderTemplateProps): TemplateResult {\n /* Dual value display: \"120 — 480 €\" */\n const valueDisplay = p.dual\n ? html`<span class=\"rs-value\">\n ${p.valueMin} — ${p.valueMax}\n ${p.unit ? html`<span class=\"rs-value-unit\">${p.unit}</span>` : nothing}\n </span>`\n : html`<span class=\"rs-value\">${renderValue(p.value, p.unit)}</span>`;\n\n return html`\n <div class=\"rs\">\n\n ${!p.vertical && (p.label || p.dual) ? html`\n <div class=\"rs-label-row\">\n ${p.label ? html`<span class=\"rs-label\">${p.label}</span>` : nothing}\n ${valueDisplay}\n </div>\n ` : nothing}\n\n ${renderTrack(p)}\n\n ${p.vertical ? html`\n <div class=\"rs-label-row\">\n ${p.label ? html`<span class=\"rs-label\">${p.label}</span>` : nothing}\n ${valueDisplay}\n </div>\n ` : nothing}\n\n ${renderMarks(p.marks, p.pct)}\n\n ${renderLimits(p.showLimits, p.limitMinText, p.limitMaxText)}\n\n </div>\n `;\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index223.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/index224.js CHANGED
@@ -1,5 +1,95 @@
1
- const sliderCss = '@layer tokens,reset,components;@layer reset{:host{display:block}*,*:before,*:after{box-sizing:border-box}}@layer components{.rs{--rs-thumb-size: 20px;--rs-track-h: 4px;--rs-fill-color: var(--color-washi-900);--rs-track-bg: var(--color-washi-200);display:flex;flex-direction:column;gap:var(--lib-space-sm);width:100%}.rs-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--lib-space-md)}.rs-label{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-secondary)}.rs-value{font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--text-primary);min-width:2.5rem;text-align:right;transition:color var(--duration-fast)}.rs-value-unit{color:var(--text-muted);font-size:10px;margin-left:1px}.rs-track-wrap{position:relative;height:var(--rs-thumb-size);display:flex;align-items:center}.rs-track{position:absolute;left:0;right:0;height:var(--rs-track-h);background:var(--rs-track-bg);border-radius:var(--radius-full);overflow:hidden;pointer-events:none}.rs-fill{position:absolute;left:0;top:0;bottom:0;background:var(--rs-fill-color);border-radius:var(--radius-full);transition:width var(--duration-fast),background var(--duration-base);pointer-events:none}.rs-fill-dual{position:absolute;top:0;bottom:0;background:var(--rs-fill-color);border-radius:var(--radius-full);pointer-events:none;transition:left var(--duration-fast),right var(--duration-fast)}.rs input[type=range]{position:absolute;left:0;right:0;width:100%;height:var(--rs-thumb-size);margin:0;padding:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;pointer-events:auto}.rs input[type=range]::-webkit-slider-runnable-track{height:var(--rs-track-h);background:transparent;border-radius:var(--radius-full)}.rs input[type=range]::-moz-range-track{height:var(--rs-track-h);background:transparent;border-radius:var(--radius-full)}.rs input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--rs-thumb-size);height:var(--rs-thumb-size);border-radius:var(--radius-full);background:var(--bg-elevated);border:2px solid var(--rs-fill-color);box-shadow:var(--shadow-sm),0 0 0 0 transparent;cursor:grab;transition:border-color var(--duration-base),box-shadow var(--duration-base),transform var(--duration-fast);margin-top:calc((var(--rs-track-h) - var(--rs-thumb-size)) / 2)}.rs input[type=range]::-moz-range-thumb{width:var(--rs-thumb-size);height:var(--rs-thumb-size);border-radius:var(--radius-full);background:var(--bg-elevated);border:2px solid var(--rs-fill-color);box-shadow:var(--shadow-sm);cursor:grab;transition:border-color var(--duration-base),box-shadow var(--duration-base)}.rs input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--shadow-sm),0 0 0 3px var(--color-ink-10)}.rs input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.15);box-shadow:var(--shadow-md)}:host([size="sm"]) .rs{--rs-thumb-size: 14px;--rs-track-h: 3px;gap:var(--lib-space-xs)}:host([size="sm"]) .rs-label{font-size:10px}:host([size="sm"]) .rs-value{font-size:10px}:host([size="lg"]) .rs{--rs-thumb-size: 26px;--rs-track-h: 8px;gap:var(--lib-space-md)}:host([size="lg"]) .rs-label{font-size:var(--text-sm)}:host([size="lg"]) .rs-value{font-size:var(--text-sm)}:host([tone="kaki"]) .rs{--rs-fill-color: var(--color-kaki-500)}:host([tone="celadon"]) .rs{--rs-fill-color: var(--color-celadon-500)}:host([tone="error"]) .rs{--rs-fill-color: var(--color-error)}:host([tone="washi"]) .rs{--rs-fill-color: var(--color-washi-700)}:host([tone="dark"]) .rs{--rs-track-bg: oklch(20% .02 45deg);--rs-fill-color: oklch(65% .02 55deg)}:host([tone="dark"]) .rs-label{color:#574a43}:host([tone="dark"]) .rs-value{color:#998c84}:host([tone="dark"]) .rs-limit{color:#312620}:host([tone="dark"]) .rs-mark{background:#231813}:host([tone="dark"]) .rs-mark.is-filled{background:#998c84}:host([tone="dark"]) .rs-mark-label{color:#312620}:host([tone="dark"]) .rs input[type=range]::-webkit-slider-thumb{background:#0c0604;border-color:#8a7d75}:host([tone="dark"]) .rs input[type=range]::-moz-range-thumb{background:#0c0604;border-color:#8a7d75}:host([disabled]) .rs{opacity:.38;pointer-events:none}:host([disabled]) .rs input[type=range]{cursor:not-allowed}.rs-limits{display:flex;justify-content:space-between;margin-top:calc(-1 * var(--lib-space-xs))}.rs-limit{font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.rs-marks{position:relative;height:10px;margin-top:calc(-1 * var(--lib-space-sm));pointer-events:none}.rs-mark{position:absolute;top:0;transform:translate(-50%);width:1px;height:5px;background:var(--border-default)}.rs-mark.is-filled{background:var(--rs-fill-color)}.rs-mark-label{position:absolute;top:7px;transform:translate(-50%);font-family:var(--lib-font-mono);font-size:9px;letter-spacing:var(--tracking-wide);color:var(--text-muted);white-space:nowrap}.rs-tooltip-wrap{position:absolute;top:0;height:100%;display:flex;align-items:flex-start;pointer-events:none;transform:translate(-50%)}.rs-tooltip-bubble{position:absolute;bottom:calc(100% + var(--lib-space-sm));left:0;transform:translate(-50%);background:var(--color-washi-900);color:var(--color-washi-50);font-family:var(--lib-font-mono);font-size:10px;letter-spacing:var(--tracking-wide);padding:2px var(--lib-space-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--duration-base)}.rs-tooltip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--color-washi-900)}.rs-track-wrap:hover .rs-tooltip-bubble{opacity:1}:host([dual]) .rs-track{overflow:visible}:host([dual]) .rs-track-wrap{overflow:visible}:host([dual]) .rs input[type=range]{pointer-events:none}:host([dual]) .rs input[type=range]::-webkit-slider-thumb{pointer-events:auto}:host([dual]) .rs input[type=range]::-moz-range-thumb{pointer-events:auto}:host([dual]) .rs .rs-input-max{z-index:1}:host([vertical]) .rs{width:auto;align-items:center}:host([vertical]) .rs-vert-wrap{position:relative;width:var(--rs-thumb-size);height:160px;flex-shrink:0}:host([vertical][size="sm"]) .rs-vert-wrap{height:120px}:host([vertical][size="lg"]) .rs-vert-wrap{height:200px}:host([vertical]) .rs-track-wrap{position:absolute;top:50%;left:50%;width:160px;height:var(--rs-thumb-size);transform:translate(-50%,-50%) rotate(-90deg)}:host([vertical][size="sm"]) .rs-track-wrap{width:120px}:host([vertical][size="lg"]) .rs-track-wrap{width:200px}:host([vertical]) .rs-label-row{flex-direction:column;align-items:center;gap:2px;width:auto}:host([vertical]) .rs-label-row .rs-label{text-align:center}:host([vertical]) .rs-label-row .rs-value{min-width:auto;text-align:center}@media(prefers-reduced-motion:reduce){.rs-fill,.rs-fill-dual{transition:none}.rs input[type=range]::-webkit-slider-thumb{transition:none}}}';
1
+ import { html, nothing } from "lit";
2
+ import { styleMap as o } from "./index267.js";
3
+ function timelineItemTemplate(props) {
4
+ const {
5
+ nodeType,
6
+ nodeColor,
7
+ icon,
8
+ avatar,
9
+ status,
10
+ lineVariant,
11
+ lineProgress,
12
+ hideLine,
13
+ timestamp,
14
+ title,
15
+ body,
16
+ card,
17
+ collapsed,
18
+ collapsible,
19
+ onToggleCollapse
20
+ } = props;
21
+ const itemCls = [
22
+ "tl-item",
23
+ status !== "default" ? `is-${status}` : "",
24
+ collapsed ? "is-collapsed" : ""
25
+ ].filter(Boolean).join(" ");
26
+ const nodeTypeCls = `tl-node-${nodeType}`;
27
+ const nodeColorCls = nodeColor !== "default" ? `nd-${nodeColor}` : "";
28
+ const nodeCls = `tl-node ${nodeTypeCls} ${nodeColorCls}`.trim();
29
+ const nodeInner = nodeType === "icon" ? html`<lib-icon name="${icon}" size="xs"></lib-icon>` : nodeType === "avatar" ? html`${avatar}` : nothing;
30
+ const lineCls = [
31
+ "tl-line",
32
+ lineVariant === "dashed" ? "dashed" : "",
33
+ lineVariant === "progress" ? "progress" : ""
34
+ ].filter(Boolean).join(" ");
35
+ const lineStyles = lineVariant === "progress" ? o({ "--tl-progress": `${lineProgress}%` }) : nothing;
36
+ const contentInner = card ? html`
37
+ <div class="tl-card">
38
+ ${title ? html`<p class="tl-title">${title}</p>` : nothing}
39
+ <div class="tl-card-body">
40
+ ${body ? html`<div class="tl-body">${body}</div>` : nothing}
41
+ <!-- slot por defecto para contenido libre dentro de la card -->
42
+ <slot></slot>
43
+ <!-- slot meta: badges, avatares, etc. -->
44
+ <div class="tl-meta">
45
+ <slot name="meta"></slot>
46
+ </div>
47
+ <!-- slot media: imágenes adjuntas -->
48
+ <slot name="media"></slot>
49
+ </div>
50
+ </div>` : html`
51
+ ${title ? html`<p class="tl-title">${title}</p>` : nothing}
52
+ ${body ? html`<div class="tl-body">${body}</div>` : html`<div class="tl-body"><slot></slot></div>`}
53
+ <div class="tl-meta">
54
+ <slot name="meta"></slot>
55
+ </div>`;
56
+ return html`
57
+ <div class="${itemCls}" role="listitem">
58
+
59
+ <!-- ── Spine: nodo + línea ── -->
60
+ <div class="tl-spine">
61
+ <div class="${nodeCls}">${nodeInner}</div>
62
+ ${hideLine ? nothing : html`<div class="${lineCls}" style="${lineStyles}"></div>`}
63
+ </div>
64
+
65
+ <!-- ── Content ── -->
66
+ <div class="tl-content">
67
+ ${timestamp ? html`
68
+ <div class="tl-timestamp">
69
+ <span class="tl-timestamp-dot"></span>
70
+ ${timestamp}
71
+ </div>` : nothing}
72
+
73
+ ${contentInner}
74
+
75
+ ${collapsible ? html`
76
+ <button
77
+ class="tl-expand-btn"
78
+ aria-expanded="${!collapsed}"
79
+ @click="${onToggleCollapse}"
80
+ >
81
+ <lib-icon
82
+ name="${collapsed ? "caret-down" : "caret-up"}"
83
+ size="xs"
84
+ ></lib-icon>
85
+ ${collapsed ? "Mostrar más" : "Mostrar menos"}
86
+ </button>` : nothing}
87
+ </div>
88
+
89
+ </div>
90
+ `;
91
+ }
2
92
  export {
3
- sliderCss as default
93
+ timelineItemTemplate
4
94
  };
5
95
  //# sourceMappingURL=index224.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index224.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index224.js","sources":["../src/components/organisms/timeline/lib-timeline-item.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport type { TimelineItemTemplateProps } from './lib-timeline-item.types';\n\nexport function timelineItemTemplate(props: TimelineItemTemplateProps): TemplateResult {\n const {\n nodeType, nodeColor, icon, avatar,\n status, lineVariant, lineProgress, hideLine,\n timestamp, title, body, card, collapsed, collapsible,\n onToggleCollapse,\n } = props;\n\n /* ── Clases del ítem raíz ── */\n const itemCls = [\n 'tl-item',\n status !== 'default' ? `is-${status}` : '',\n collapsed ? 'is-collapsed' : '',\n ].filter(Boolean).join(' ');\n\n /* ── Clases del nodo ── */\n const nodeTypeCls = `tl-node-${nodeType}`;\n const nodeColorCls = nodeColor !== 'default' ? `nd-${nodeColor}` : '';\n const nodeCls = `tl-node ${nodeTypeCls} ${nodeColorCls}`.trim();\n\n /* ── Nodo interior ── */\n const nodeInner = nodeType === 'icon'\n ? html`<lib-icon name=\"${icon}\" size=\"xs\"></lib-icon>`\n : nodeType === 'avatar'\n ? html`${avatar}`\n : nothing; /* dot — nodo gestionado por CSS ::before/::after */\n\n /* ── Línea ── */\n const lineCls = [\n 'tl-line',\n lineVariant === 'dashed' ? 'dashed' : '',\n lineVariant === 'progress' ? 'progress' : '',\n ].filter(Boolean).join(' ');\n\n const lineStyles = lineVariant === 'progress'\n ? styleMap({ '--tl-progress': `${lineProgress}%` } as Record<string, string>)\n : nothing;\n\n /* ── Contenido ── */\n const contentInner: TemplateResult = card\n ? html`\n <div class=\"tl-card\">\n ${title ? html`<p class=\"tl-title\">${title}</p>` : nothing}\n <div class=\"tl-card-body\">\n ${body ? html`<div class=\"tl-body\">${body}</div>` : nothing}\n <!-- slot por defecto para contenido libre dentro de la card -->\n <slot></slot>\n <!-- slot meta: badges, avatares, etc. -->\n <div class=\"tl-meta\">\n <slot name=\"meta\"></slot>\n </div>\n <!-- slot media: imágenes adjuntas -->\n <slot name=\"media\"></slot>\n </div>\n </div>`\n : html`\n ${title ? html`<p class=\"tl-title\">${title}</p>` : nothing}\n ${body\n ? html`<div class=\"tl-body\">${body}</div>`\n : html`<div class=\"tl-body\"><slot></slot></div>`}\n <div class=\"tl-meta\">\n <slot name=\"meta\"></slot>\n </div>`;\n\n return html`\n <div class=\"${itemCls}\" role=\"listitem\">\n\n <!-- ── Spine: nodo + línea ── -->\n <div class=\"tl-spine\">\n <div class=\"${nodeCls}\">${nodeInner}</div>\n ${hideLine\n ? nothing\n : html`<div class=\"${lineCls}\" style=\"${lineStyles}\"></div>`}\n </div>\n\n <!-- ── Content ── -->\n <div class=\"tl-content\">\n ${timestamp\n ? html`\n <div class=\"tl-timestamp\">\n <span class=\"tl-timestamp-dot\"></span>\n ${timestamp}\n </div>`\n : nothing}\n\n ${contentInner}\n\n ${collapsible\n ? html`\n <button\n class=\"tl-expand-btn\"\n aria-expanded=\"${!collapsed}\"\n @click=\"${onToggleCollapse}\"\n >\n <lib-icon\n name=\"${collapsed ? 'caret-down' : 'caret-up'}\"\n size=\"xs\"\n ></lib-icon>\n ${collapsed ? 'Mostrar más' : 'Mostrar menos'}\n </button>`\n : nothing}\n </div>\n\n </div>\n `;\n}"],"names":["styleMap"],"mappings":";;AAIO,SAAS,qBAAqB,OAAkD;AACrF,QAAM;AAAA,IACJ;AAAA,IAAU;AAAA,IAAW;AAAA,IAAM;AAAA,IAC3B;AAAA,IAAQ;AAAA,IAAa;AAAA,IAAc;AAAA,IACnC;AAAA,IAAW;AAAA,IAAO;AAAA,IAAM;AAAA,IAAM;AAAA,IAAW;AAAA,IACzC;AAAA,EAAA,IACE;AAGJ,QAAM,UAAU;AAAA,IACd;AAAA,IACA,WAAW,YAAY,MAAM,MAAM,KAAK;AAAA,IACxC,YAAY,iBAAiB;AAAA,EAAA,EAC7B,OAAO,OAAO,EAAE,KAAK,GAAG;AAG1B,QAAM,cAAc,WAAW,QAAQ;AACvC,QAAM,eAAe,cAAc,YAAY,MAAM,SAAS,KAAK;AACnE,QAAM,UAAU,WAAW,WAAW,IAAI,YAAY,GAAG,KAAA;AAGzD,QAAM,YAAY,aAAa,SAC3B,uBAAuB,IAAI,4BAC3B,aAAa,WACX,OAAO,MAAM,KACb;AAGN,QAAM,UAAU;AAAA,IACd;AAAA,IACA,gBAAgB,WAAa,WAAa;AAAA,IAC1C,gBAAgB,aAAa,aAAa;AAAA,EAAA,EAC1C,OAAO,OAAO,EAAE,KAAK,GAAG;AAE1B,QAAM,aAAa,gBAAgB,aAC/BA,EAAS,EAAE,iBAAiB,GAAG,YAAY,IAAA,CAA+B,IAC1E;AAGJ,QAAM,eAA+B,OACjC;AAAA;AAAA,YAEM,QAAQ,2BAA2B,KAAK,SAAS,OAAO;AAAA;AAAA,cAEtD,OAAO,4BAA4B,IAAI,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAWjE;AAAA,UACI,QAAQ,2BAA2B,KAAK,SAAS,OAAO;AAAA,UACxD,OACE,4BAA4B,IAAI,WAChC,8CAA8C;AAAA;AAAA;AAAA;AAKxD,SAAO;AAAA,kBACS,OAAO;AAAA;AAAA;AAAA;AAAA,sBAIH,OAAO,KAAK,SAAS;AAAA,UACjC,WACE,UACA,mBAAmB,OAAO,YAAY,UAAU,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,UAK5D,YACE;AAAA;AAAA;AAAA,kBAGM,SAAS;AAAA,wBAEf,OAAO;AAAA;AAAA,UAET,YAAY;AAAA;AAAA,UAEZ,cACE;AAAA;AAAA;AAAA,iCAGqB,CAAC,SAAS;AAAA,0BACjB,gBAAgB;AAAA;AAAA;AAAA,0BAGhB,YAAY,eAAe,UAAU;AAAA;AAAA;AAAA,kBAG7C,YAAY,gBAAgB,eAAe;AAAA,2BAEjD,OAAO;AAAA;AAAA;AAAA;AAAA;AAKnB;"}
package/dist/index225.js CHANGED
@@ -1,5 +1,62 @@
1
- const segmentedCss = '@layer tokens,reset,components;@layer reset{*,*:before,*:after{box-sizing:border-box}:host{display:inline-block;vertical-align:middle}:host([full]){display:block;width:100%}}@layer components{.seg{display:inline-flex;align-items:stretch;position:relative;-webkit-user-select:none;user-select:none}.seg-thumb{position:absolute;top:0;bottom:0;left:0;pointer-events:none;z-index:1;transition:transform var(--duration-slow) var(--ease-bounce),width var(--duration-slow) var(--ease-out)}.seg-option{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:var(--lib-space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;transition:color var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.seg-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;pointer-events:none}.seg-badge-dot{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-family:var(--lib-font-mono);letter-spacing:0;line-height:1;background:var(--color-kaki-500);color:var(--color-white);border-radius:var(--radius-full)}.seg-option.is-active .seg-badge-dot{background:#ffffff4d}.seg-option.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}:host([disabled]) .seg{opacity:.55;pointer-events:none}:host([full]) .seg{width:100%}:host([full]) .seg-option{flex:1}:host([icon-only]) .seg-option{min-width:44px;padding:var(--lib-space-sm)}:host([variant="outline"]) .seg{border:1.5px solid var(--border-default);background:var(--bg-elevated);padding:3px;gap:0}:host([variant="outline"]) .seg-thumb{background:var(--color-washi-900);top:3px;bottom:3px}:host([variant="outline"]) .seg-option{padding:var(--lib-space-sm) var(--lib-space-md);color:var(--text-muted);min-width:80px}:host([variant="outline"]) .seg-option:hover{color:var(--text-primary)}:host([variant="outline"]) .seg-option.is-active{color:var(--color-washi-50)}:host([variant="underline"]) .seg{background:transparent;border-bottom:1px solid var(--border-subtle);gap:0;padding:0}:host([variant="underline"]) .seg-thumb{height:2px;top:auto;bottom:-1px;background:var(--color-kaki-500);transition:transform var(--duration-slow) var(--ease-bounce)}:host([variant="underline"]) .seg-option{padding:var(--lib-space-sm) calc(var(--lib-space-md) + var(--lib-space-sm));color:var(--text-muted);border-bottom:2px solid transparent}:host([variant="underline"]) .seg-option:hover{color:var(--text-primary)}:host([variant="underline"]) .seg-option.is-active{color:var(--text-primary)}:host([variant="pill"]) .seg{background:var(--color-washi-100);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:4px;gap:0}:host([variant="pill"]) .seg-thumb{background:var(--bg-elevated);border-radius:var(--radius-full);top:4px;bottom:4px;box-shadow:0 1px 4px var(--color-ink-20)}:host([variant="pill"]) .seg-option{padding:var(--lib-space-sm) calc(var(--lib-space-md) + var(--lib-space-sm));color:var(--text-muted);border-radius:var(--radius-full);min-width:80px}:host([variant="pill"]) .seg-option:hover{color:var(--text-primary)}:host([variant="pill"]) .seg-option.is-active{color:var(--text-primary)}:host([variant="ghost"]) .seg{background:transparent;gap:0}:host([variant="ghost"]) .seg-thumb{display:none}:host([variant="ghost"]) .seg-option{padding:var(--lib-space-sm) var(--lib-space-md);color:var(--text-muted);border-right:1px solid var(--border-subtle)}:host([variant="ghost"]) .seg-option:last-child{border-right:none}:host([variant="ghost"]) .seg-option:hover{color:var(--text-primary)}:host([variant="ghost"]) .seg-option.is-active{color:var(--text-primary)}:host([variant="ghost"]) .seg-option.is-active:after{content:"";position:absolute;bottom:-1px;left:var(--lib-space-md);right:var(--lib-space-md);height:1px;background:var(--color-kaki-500)}:host([variant="kaki"]) .seg{border:1.5px solid var(--border-default);background:var(--bg-elevated);padding:3px;gap:0}:host([variant="kaki"]) .seg-thumb{background:var(--color-kaki-500);top:3px;bottom:3px}:host([variant="kaki"]) .seg-option{padding:var(--lib-space-sm) var(--lib-space-md);color:var(--text-muted);min-width:80px}:host([variant="kaki"]) .seg-option:hover{color:var(--text-primary)}:host([variant="kaki"]) .seg-option.is-active{color:var(--color-white)}:host([variant="celadon"]) .seg{border:1.5px solid var(--border-default);background:var(--bg-elevated);padding:3px;gap:0}:host([variant="celadon"]) .seg-thumb{background:var(--color-celadon-500);top:3px;bottom:3px}:host([variant="celadon"]) .seg-option{padding:var(--lib-space-sm) var(--lib-space-md);color:var(--text-muted);min-width:80px}:host([variant="celadon"]) .seg-option:hover{color:var(--text-primary)}:host([variant="celadon"]) .seg-option.is-active{color:var(--color-white)}:host([variant="dark-outline"]) .seg{border:1px solid rgb(255,255,255,.1);background:#ffffff0a;padding:3px;gap:0}:host([variant="dark-outline"]) .seg-thumb{background:#faf7f41f;top:3px;bottom:3px}:host([variant="dark-outline"]) .seg-option{padding:var(--lib-space-sm) var(--lib-space-md);color:#faf7f447;min-width:80px}:host([variant="dark-outline"]) .seg-option:hover{color:#faf7f4a6}:host([variant="dark-outline"]) .seg-option.is-active{color:#faf7f4cc}:host([variant="dark-pill"]) .seg{background:#ffffff0f;border:1px solid rgb(255,255,255,.07);border-radius:var(--radius-full);padding:4px;gap:0}:host([variant="dark-pill"]) .seg-thumb{background:#faf7f41f;border-radius:var(--radius-full);top:4px;bottom:4px}:host([variant="dark-pill"]) .seg-option{padding:var(--lib-space-sm) calc(var(--lib-space-md) + var(--lib-space-sm));color:#faf7f447;border-radius:var(--radius-full);min-width:80px}:host([variant="dark-pill"]) .seg-option:hover{color:#faf7f4a6}:host([variant="dark-pill"]) .seg-option.is-active{color:#faf7f4d9}:host([variant="dark-kaki"]) .seg{border:1px solid rgb(255,255,255,.07);background:#ffffff08;padding:3px;gap:0}:host([variant="dark-kaki"]) .seg-thumb{background:var(--color-kaki-500);top:3px;bottom:3px}:host([variant="dark-kaki"]) .seg-option{padding:var(--lib-space-sm) var(--lib-space-md);color:#faf7f44d;min-width:80px}:host([variant="dark-kaki"]) .seg-option:hover{color:#faf7f4a6}:host([variant="dark-kaki"]) .seg-option.is-active{color:var(--color-white)}:host([variant="dark-underline"]) .seg{background:transparent;border-bottom:1px solid rgb(255,255,255,.07);gap:0;padding:0}:host([variant="dark-underline"]) .seg-thumb{height:2px;top:auto;bottom:-1px;background:var(--color-kaki-400);transition:transform var(--duration-slow) var(--ease-bounce)}:host([variant="dark-underline"]) .seg-option{padding:var(--lib-space-sm) calc(var(--lib-space-md) + var(--lib-space-sm));color:#faf7f447}:host([variant="dark-underline"]) .seg-option:hover{color:#faf7f4a6}:host([variant="dark-underline"]) .seg-option.is-active{color:#faf7f4cc}:host([size="sm"]) .seg-option{padding:var(--lib-space-xs) var(--lib-space-md);font-size:10px;min-width:60px}:host([size="sm"][variant="pill"]) .seg{padding:3px;border-radius:var(--radius-full)}:host([size="sm"][variant="pill"]) .seg-thumb{top:3px;bottom:3px}:host([size="sm"][variant="dark-pill"]) .seg{padding:3px;border-radius:var(--radius-full)}:host([size="sm"][variant="dark-pill"]) .seg-thumb{top:3px;bottom:3px}:host([size="sm"][variant="outline"]) .seg{padding:2px}:host([size="sm"][variant="outline"]) .seg-thumb{top:2px;bottom:2px}:host([size="sm"][variant="kaki"]) .seg{padding:2px}:host([size="sm"][variant="kaki"]) .seg-thumb{top:2px;bottom:2px}:host([size="lg"]) .seg-option{padding:var(--lib-space-sm) var(--lib-space-lg);font-size:.75rem;min-width:100px}:host([size="lg"][variant="pill"]) .seg{padding:5px}:host([size="lg"][variant="pill"]) .seg-thumb{top:5px;bottom:5px}:host([size="lg"][variant="dark-pill"]) .seg{padding:5px}:host([size="lg"][variant="dark-pill"]) .seg-thumb{top:5px;bottom:5px}:host([glitch]) .seg-option.is-active:before,:host([glitch]) .seg-option.is-active:after{content:attr(data-label);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--lib-font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;opacity:0}:host([glitch]) .seg-option.is-active:before{color:var(--color-kaki-400);mix-blend-mode:screen}:host([glitch]) .seg-option.is-active:after{color:var(--color-celadon-400);mix-blend-mode:screen}:host([glitch]) .seg-option.glitch-on:before{opacity:.7;animation:seg-glitch-a .24s steps(1) infinite}:host([glitch]) .seg-option.glitch-on:after{opacity:.5;animation:seg-glitch-b .24s steps(1) infinite;animation-delay:30ms}@keyframes seg-glitch-a{0%{clip-path:inset(30% 0 50% 0);transform:translate(-2px)}50%{clip-path:inset(60% 0 10% 0);transform:translate(2px)}}@keyframes seg-glitch-b{0%{clip-path:inset(50% 0 20% 0);transform:translate(2px)}50%{clip-path:inset(10% 0 60% 0);transform:translate(-2px)}}.seg-ripple{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.seg-ripple-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:currentcolor;transform:scale(0);opacity:.25;animation:seg-ripple .36s ease-out forwards}@keyframes seg-ripple{to{transform:scale(40);opacity:0}}}';
1
+ import { noChange as E } from "./index358.js";
2
+ import { directive as e, Directive as i, PartType as t } from "./index359.js";
3
+ import { getCommittedValue as M, setChildPartValue as u$1, insertPart as v, removePart as h, setCommittedValue as p } from "./index360.js";
4
+ /**
5
+ * @license
6
+ * Copyright 2017 Google LLC
7
+ * SPDX-License-Identifier: BSD-3-Clause
8
+ */
9
+ const u = (e2, s, t2) => {
10
+ const r = /* @__PURE__ */ new Map();
11
+ for (let l = s; l <= t2; l++) r.set(e2[l], l);
12
+ return r;
13
+ }, c = e(class extends i {
14
+ constructor(e2) {
15
+ if (super(e2), e2.type !== t.CHILD) throw Error("repeat() can only be used in text expressions");
16
+ }
17
+ dt(e2, s, t2) {
18
+ let r;
19
+ void 0 === t2 ? t2 = s : void 0 !== s && (r = s);
20
+ const l = [], o = [];
21
+ let i2 = 0;
22
+ for (const s2 of e2) l[i2] = r ? r(s2, i2) : i2, o[i2] = t2(s2, i2), i2++;
23
+ return { values: o, keys: l };
24
+ }
25
+ render(e2, s, t2) {
26
+ return this.dt(e2, s, t2).values;
27
+ }
28
+ update(s, [t2, r, c2]) {
29
+ const d = M(s), { values: p$1, keys: a } = this.dt(t2, r, c2);
30
+ if (!Array.isArray(d)) return this.ut = a, p$1;
31
+ const h$1 = this.ut ?? (this.ut = []), v$1 = [];
32
+ let m, y, x = 0, j = d.length - 1, k = 0, w = p$1.length - 1;
33
+ for (; x <= j && k <= w; ) if (null === d[x]) x++;
34
+ else if (null === d[j]) j--;
35
+ else if (h$1[x] === a[k]) v$1[k] = u$1(d[x], p$1[k]), x++, k++;
36
+ else if (h$1[j] === a[w]) v$1[w] = u$1(d[j], p$1[w]), j--, w--;
37
+ else if (h$1[x] === a[w]) v$1[w] = u$1(d[x], p$1[w]), v(s, v$1[w + 1], d[x]), x++, w--;
38
+ else if (h$1[j] === a[k]) v$1[k] = u$1(d[j], p$1[k]), v(s, d[x], d[j]), j--, k++;
39
+ else if (void 0 === m && (m = u(a, k, w), y = u(h$1, x, j)), m.has(h$1[x])) if (m.has(h$1[j])) {
40
+ const e2 = y.get(a[k]), t3 = void 0 !== e2 ? d[e2] : null;
41
+ if (null === t3) {
42
+ const e3 = v(s, d[x]);
43
+ u$1(e3, p$1[k]), v$1[k] = e3;
44
+ } else v$1[k] = u$1(t3, p$1[k]), v(s, d[x], t3), d[e2] = null;
45
+ k++;
46
+ } else h(d[j]), j--;
47
+ else h(d[x]), x++;
48
+ for (; k <= w; ) {
49
+ const e2 = v(s, v$1[w + 1]);
50
+ u$1(e2, p$1[k]), v$1[k++] = e2;
51
+ }
52
+ for (; x <= j; ) {
53
+ const e2 = d[x++];
54
+ null !== e2 && h(e2);
55
+ }
56
+ return this.ut = a, p(s, v$1), E;
57
+ }
58
+ });
2
59
  export {
3
- segmentedCss as default
60
+ c as repeat
4
61
  };
5
62
  //# sourceMappingURL=index225.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index225.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index225.js","sources":["../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/repeat.js"],"sourcesContent":["import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n"],"names":["e","t","s","r","i","c","l","p","h","v","o","n","f"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index226.js CHANGED
@@ -1,75 +1,5 @@
1
- import { nothing, html } from "lit";
2
- import { map as o } from "./index232.js";
3
- function segmentedTemplate(props) {
4
- const {
5
- options,
6
- value,
7
- variant,
8
- size,
9
- full,
10
- iconOnly,
11
- disabled,
12
- glitch,
13
- thumbStyle,
14
- onSelect
15
- } = props;
16
- const isGhost = variant === "ghost";
17
- const trackCls = [
18
- "seg",
19
- `seg-${variant}`,
20
- size !== "md" ? `seg-${size}` : "",
21
- full ? "seg-full" : "",
22
- iconOnly ? "seg-icon-only" : "",
23
- glitch ? "seg-glitch" : ""
24
- ].filter(Boolean).join(" ");
25
- return html`
26
- <div
27
- class="${trackCls}"
28
- role="radiogroup"
29
- aria-disabled="${disabled}"
30
- >
31
- <!-- Thumb — indicador animado de selección -->
32
- ${isGhost ? nothing : html`<div class="seg-thumb" style="${thumbStyle}"></div>`}
33
-
34
- <!-- Opciones -->
35
- ${o(options, (opt) => {
36
- const isActive = opt.value === value;
37
- const isDisabled = opt.disabled ?? false;
38
- const optCls = [
39
- "seg-option",
40
- isActive ? "is-active" : "",
41
- isDisabled ? "is-disabled" : ""
42
- ].filter(Boolean).join(" ");
43
- return html`
44
- <div
45
- class="${optCls}"
46
- role="radio"
47
- aria-checked="${isActive}"
48
- aria-disabled="${isDisabled}"
49
- data-label="${opt.label}"
50
- data-value="${opt.value}"
51
- @click="${(e) => {
52
- if (disabled || isDisabled) return;
53
- onSelect(opt, e);
54
- }}"
55
- >
56
- <!-- Icono Phosphor (slot reutilizando lib-icon) -->
57
- ${opt.icon ? html`<span class="seg-icon">
58
- <lib-icon name="${opt.icon}" size="xs"></lib-icon>
59
- </span>` : nothing}
60
-
61
- <!-- Label — oculto si icon-only -->
62
- ${iconOnly ? nothing : html`<span class="seg-label">${opt.label}</span>`}
63
-
64
- <!-- Badge numérico opcional -->
65
- ${opt.badge != null ? html`<span class="seg-badge-dot">${opt.badge}</span>` : nothing}
66
- </div>
67
- `;
68
- })}
69
- </div>
70
- `;
71
- }
1
+ const toastManagerCss = "@layer tokens,reset,components;@layer reset{*,*:before,*:after{box-sizing:border-box}}@layer components{:host{position:fixed;top:var(--lib-space-lg);right:var(--lib-space-lg);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--lib-space-sm);width:340px;pointer-events:none}::slotted(lib-alert),lib-alert{pointer-events:auto;animation:tm-in var(--duration-slow) var(--ease-out) forwards}@keyframes tm-in{0%{transform:translate(calc(100% + var(--lib-space-lg)));opacity:0}to{transform:translate(0);opacity:1}}lib-alert.is-leaving{animation:tm-out var(--duration-base) var(--ease-default) forwards;pointer-events:none}@keyframes tm-out{0%{transform:translate(0);opacity:1;max-height:200px;margin-bottom:0}to{transform:translate(calc(100% + var(--lib-space-lg)));opacity:0;max-height:0;margin-bottom:calc(-1 * var(--lib-space-sm))}}}";
72
2
  export {
73
- segmentedTemplate
3
+ toastManagerCss as default
74
4
  };
75
5
  //# sourceMappingURL=index226.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index226.js","sources":["../src/components/molecules/segmented-control/lib-segmented-control.html.ts"],"sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport { map } from 'lit/directives/map.js';\nimport type { SegmentedOption, SegmentedTemplateProps } from './lib-segmented-control.types';\n\n/**\n * Template del componente lib-segmented-control.\n *\n * El thumb se posiciona via `style` calculado en el componente\n * (offsetLeft / offsetWidth del option activo).\n * La variante ghost oculta el thumb con CSS y usa un ::after de línea.\n */\nexport function segmentedTemplate(props: SegmentedTemplateProps): TemplateResult {\n const {\n options, value, variant, size, full,\n iconOnly, disabled, glitch, thumbStyle, onSelect,\n } = props;\n\n const isGhost = variant === 'ghost';\n //const isUnderline = variant === 'underline' || variant === 'dark-underline';\n //const isPill = variant === 'pill' || variant === 'dark-pill';\n\n const trackCls = [\n 'seg',\n `seg-${variant}`,\n size !== 'md' ? `seg-${size}` : '',\n full ? 'seg-full' : '',\n iconOnly ? 'seg-icon-only' : '',\n glitch ? 'seg-glitch' : '',\n ].filter(Boolean).join(' ');\n\n return html`\n <div\n class=\"${trackCls}\"\n role=\"radiogroup\"\n aria-disabled=\"${disabled}\"\n >\n <!-- Thumb — indicador animado de selección -->\n ${isGhost ? nothing : html`<div class=\"seg-thumb\" style=\"${thumbStyle}\"></div>`}\n\n <!-- Opciones -->\n ${map(options, (opt: SegmentedOption) => {\n const isActive = opt.value === value;\n const isDisabled = opt.disabled ?? false;\n\n const optCls = [\n 'seg-option',\n isActive ? 'is-active' : '',\n isDisabled ? 'is-disabled' : '',\n ].filter(Boolean).join(' ');\n\n return html`\n <div\n class=\"${optCls}\"\n role=\"radio\"\n aria-checked=\"${isActive}\"\n aria-disabled=\"${isDisabled}\"\n data-label=\"${opt.label}\"\n data-value=\"${opt.value}\"\n @click=\"${(e: MouseEvent): void => {\n if (disabled || isDisabled) return;\n onSelect(opt, e);\n }}\"\n >\n <!-- Icono Phosphor (slot reutilizando lib-icon) -->\n ${opt.icon\n ? html`<span class=\"seg-icon\">\n <lib-icon name=\"${opt.icon}\" size=\"xs\"></lib-icon>\n </span>`\n : nothing}\n\n <!-- Label — oculto si icon-only -->\n ${iconOnly\n ? nothing\n : html`<span class=\"seg-label\">${opt.label}</span>`}\n\n <!-- Badge numérico opcional -->\n ${opt.badge != null\n ? html`<span class=\"seg-badge-dot\">${opt.badge}</span>`\n : nothing}\n </div>\n `;\n })}\n </div>\n `;\n}"],"names":["map"],"mappings":";;AAWO,SAAS,kBAAkB,OAA+C;AAC/E,QAAM;AAAA,IACJ;AAAA,IAAS;AAAA,IAAO;AAAA,IAAS;AAAA,IAAM;AAAA,IAC/B;AAAA,IAAU;AAAA,IAAU;AAAA,IAAQ;AAAA,IAAY;AAAA,EAAA,IACtC;AAEJ,QAAM,UAAe,YAAY;AAIjC,QAAM,WAAW;AAAA,IACf;AAAA,IACA,OAAO,OAAO;AAAA,IACd,SAAS,OAAO,OAAO,IAAI,KAAK;AAAA,IAChC,OAAW,aAAkB;AAAA,IAC7B,WAAW,kBAAkB;AAAA,IAC7B,SAAW,eAAkB;AAAA,EAAA,EAC7B,OAAO,OAAO,EAAE,KAAK,GAAG;AAE1B,SAAO;AAAA;AAAA,eAEM,QAAQ;AAAA;AAAA,uBAEA,QAAQ;AAAA;AAAA;AAAA,QAGvB,UAAU,UAAU,qCAAqC,UAAU,UAAU;AAAA;AAAA;AAAA,QAG7EA,EAAI,SAAS,CAAC,QAAyB;AACvC,UAAM,WAAa,IAAI,UAAU;AACjC,UAAM,aAAa,IAAI,YAAY;AAEnC,UAAM,SAAS;AAAA,MACb;AAAA,MACA,WAAa,cAAgB;AAAA,MAC7B,aAAa,gBAAgB;AAAA,IAAA,EAC7B,OAAO,OAAO,EAAE,KAAK,GAAG;AAE1B,WAAO;AAAA;AAAA,qBAEM,MAAM;AAAA;AAAA,4BAEC,QAAQ;AAAA,6BACP,UAAU;AAAA,0BACb,IAAI,KAAK;AAAA,0BACT,IAAI,KAAK;AAAA,sBACb,CAAC,MAAwB;AACjC,UAAI,YAAY,WAAY;AAC5B,eAAS,KAAK,CAAC;AAAA,IACjB,CAAC;AAAA;AAAA;AAAA,cAGC,IAAI,OACF;AAAA,oCACoB,IAAI,IAAI;AAAA,2BAE5B,OAAO;AAAA;AAAA;AAAA,cAGT,WACE,UACA,+BAA+B,IAAI,KAAK,SAAS;AAAA;AAAA;AAAA,cAGnD,IAAI,SAAS,OACX,mCAAmC,IAAI,KAAK,YAC5C,OAAO;AAAA;AAAA;AAAA,EAGjB,CAAC,CAAC;AAAA;AAAA;AAGR;"}
1
+ {"version":3,"file":"index226.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}