@typesafe-html5/typescript 0.2.62 → 0.2.72

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 (405) hide show
  1. package/build-all.mjs +54 -0
  2. package/dist/block/article/article.js +465 -0
  3. package/dist/block/article/article.js.map +7 -0
  4. package/dist/block/aside/aside.js +476 -0
  5. package/dist/block/aside/aside.js.map +7 -0
  6. package/dist/block/audio/audio.js +454 -0
  7. package/dist/block/audio/audio.js.map +7 -0
  8. package/dist/block/blockquote/blockquote.js +476 -0
  9. package/dist/block/blockquote/blockquote.js.map +7 -0
  10. package/dist/block/body/body.js +378 -0
  11. package/dist/block/body/body.js.map +7 -0
  12. package/dist/block/canvas/canvas.js +487 -0
  13. package/dist/block/canvas/canvas.js.map +7 -0
  14. package/dist/block/caption/caption.js +465 -0
  15. package/dist/block/caption/caption.js.map +7 -0
  16. package/dist/block/colgroup/colgroup.js +190 -0
  17. package/dist/block/colgroup/colgroup.js.map +7 -0
  18. package/dist/block/datalist/datalist.js +465 -0
  19. package/dist/block/datalist/datalist.js.map +7 -0
  20. package/dist/block/dd/dd.js +422 -0
  21. package/dist/block/dd/dd.js.map +7 -0
  22. package/dist/block/del/del.js +487 -0
  23. package/dist/block/del/del.js.map +7 -0
  24. package/dist/block/details/details.js +520 -0
  25. package/dist/block/details/details.js.map +7 -0
  26. package/dist/block/dialog/dialog.js +520 -0
  27. package/dist/block/dialog/dialog.js.map +7 -0
  28. package/dist/block/div/div.js +520 -0
  29. package/dist/block/div/div.js.map +7 -0
  30. package/dist/block/dl/dl.js +465 -0
  31. package/dist/block/dl/dl.js.map +7 -0
  32. package/dist/block/dt/dt.js +422 -0
  33. package/dist/block/dt/dt.js.map +7 -0
  34. package/dist/block/embed/embed.js +333 -0
  35. package/dist/block/embed/embed.js.map +7 -0
  36. package/dist/block/fieldset/fieldset.js +509 -0
  37. package/dist/block/fieldset/fieldset.js.map +7 -0
  38. package/dist/block/figcaption/figcaption.js +465 -0
  39. package/dist/block/figcaption/figcaption.js.map +7 -0
  40. package/dist/block/figure/figure.js +465 -0
  41. package/dist/block/figure/figure.js.map +7 -0
  42. package/dist/block/footer/footer.js +476 -0
  43. package/dist/block/footer/footer.js.map +7 -0
  44. package/dist/block/form/form.js +443 -0
  45. package/dist/block/form/form.js.map +7 -0
  46. package/dist/block/h1/h1.js +454 -0
  47. package/dist/block/h1/h1.js.map +7 -0
  48. package/dist/block/h2/h2.js +454 -0
  49. package/dist/block/h2/h2.js.map +7 -0
  50. package/dist/block/h3/h3.js +454 -0
  51. package/dist/block/h3/h3.js.map +7 -0
  52. package/dist/block/h4/h4.js +454 -0
  53. package/dist/block/h4/h4.js.map +7 -0
  54. package/dist/block/h5/h5.js +454 -0
  55. package/dist/block/h5/h5.js.map +7 -0
  56. package/dist/block/h6/h6.js +454 -0
  57. package/dist/block/h6/h6.js.map +7 -0
  58. package/dist/block/header/header.js +322 -0
  59. package/dist/block/header/header.js.map +7 -0
  60. package/dist/block/hgroup/hgroup.js +465 -0
  61. package/dist/block/hgroup/hgroup.js.map +7 -0
  62. package/dist/block/hr/hr.js +169 -0
  63. package/dist/block/hr/hr.js.map +7 -0
  64. package/dist/block/html/html.js +92 -0
  65. package/dist/block/html/html.js.map +7 -0
  66. package/dist/block/iframe/iframe.js +465 -0
  67. package/dist/block/iframe/iframe.js.map +7 -0
  68. package/dist/block/ins/ins.js +487 -0
  69. package/dist/block/ins/ins.js.map +7 -0
  70. package/dist/block/legend/legend.js +465 -0
  71. package/dist/block/legend/legend.js.map +7 -0
  72. package/dist/block/li/li.js +488 -0
  73. package/dist/block/li/li.js.map +7 -0
  74. package/dist/block/main/main.js +444 -0
  75. package/dist/block/main/main.js.map +7 -0
  76. package/dist/block/map/map.js +476 -0
  77. package/dist/block/map/map.js.map +7 -0
  78. package/dist/block/menu/menu.js +498 -0
  79. package/dist/block/menu/menu.js.map +7 -0
  80. package/dist/block/nav/nav.js +455 -0
  81. package/dist/block/nav/nav.js.map +7 -0
  82. package/dist/block/noscript/noscript.js +311 -0
  83. package/dist/block/noscript/noscript.js.map +7 -0
  84. package/dist/block/object/object.js +542 -0
  85. package/dist/block/object/object.js.map +7 -0
  86. package/dist/block/ol/ol.js +542 -0
  87. package/dist/block/ol/ol.js.map +7 -0
  88. package/dist/block/optgroup/optgroup.js +476 -0
  89. package/dist/block/optgroup/optgroup.js.map +7 -0
  90. package/dist/block/option/option.js +542 -0
  91. package/dist/block/option/option.js.map +7 -0
  92. package/dist/block/p/p.js +465 -0
  93. package/dist/block/p/p.js.map +7 -0
  94. package/dist/block/picture/picture.js +465 -0
  95. package/dist/block/picture/picture.js.map +7 -0
  96. package/dist/block/pre/pre.js +465 -0
  97. package/dist/block/pre/pre.js.map +7 -0
  98. package/dist/block/section/section.js +487 -0
  99. package/dist/block/section/section.js.map +7 -0
  100. package/dist/block/summary/summary.js +466 -0
  101. package/dist/block/summary/summary.js.map +7 -0
  102. package/dist/block/table/table.js +509 -0
  103. package/dist/block/table/table.js.map +7 -0
  104. package/dist/block/tbody/tbody.js +465 -0
  105. package/dist/block/tbody/tbody.js.map +7 -0
  106. package/dist/block/td/td.js +575 -0
  107. package/dist/block/td/td.js.map +7 -0
  108. package/dist/block/template/template.js +465 -0
  109. package/dist/block/template/template.js.map +7 -0
  110. package/dist/block/tfoot/tfoot.js +465 -0
  111. package/dist/block/tfoot/tfoot.js.map +7 -0
  112. package/dist/block/th/th.js +586 -0
  113. package/dist/block/th/th.js.map +7 -0
  114. package/dist/block/thead/thead.js +465 -0
  115. package/dist/block/thead/thead.js.map +7 -0
  116. package/dist/block/tr/tr.js +586 -0
  117. package/dist/block/tr/tr.js.map +7 -0
  118. package/dist/block/ul/ul.js +509 -0
  119. package/dist/block/ul/ul.js.map +7 -0
  120. package/dist/block/video/video.js +575 -0
  121. package/dist/block/video/video.js.map +7 -0
  122. package/dist/index.js +48830 -0
  123. package/dist/index.js.map +7 -0
  124. package/dist/inline/a/a.js +586 -0
  125. package/dist/inline/a/a.js.map +7 -0
  126. package/dist/inline/abbr/abbr.js +454 -0
  127. package/dist/inline/abbr/abbr.js.map +7 -0
  128. package/dist/inline/address/address.js +443 -0
  129. package/dist/inline/address/address.js.map +7 -0
  130. package/dist/inline/b/b.js +465 -0
  131. package/dist/inline/b/b.js.map +7 -0
  132. package/dist/inline/bdi/bdi.js +454 -0
  133. package/dist/inline/bdi/bdi.js.map +7 -0
  134. package/dist/inline/bdo/bdo.js +465 -0
  135. package/dist/inline/bdo/bdo.js.map +7 -0
  136. package/dist/inline/button/button.js +685 -0
  137. package/dist/inline/button/button.js.map +7 -0
  138. package/dist/inline/cite/cite.js +465 -0
  139. package/dist/inline/cite/cite.js.map +7 -0
  140. package/dist/inline/code/code.js +465 -0
  141. package/dist/inline/code/code.js.map +7 -0
  142. package/dist/inline/data/data.js +476 -0
  143. package/dist/inline/data/data.js.map +7 -0
  144. package/dist/inline/dfn/dfn.js +465 -0
  145. package/dist/inline/dfn/dfn.js.map +7 -0
  146. package/dist/inline/em/em.js +465 -0
  147. package/dist/inline/em/em.js.map +7 -0
  148. package/dist/inline/i/i.js +465 -0
  149. package/dist/inline/i/i.js.map +7 -0
  150. package/dist/inline/img/img.js +399 -0
  151. package/dist/inline/img/img.js.map +7 -0
  152. package/dist/inline/input/input.js +938 -0
  153. package/dist/inline/input/input.js.map +7 -0
  154. package/dist/inline/kbd/kbd.js +465 -0
  155. package/dist/inline/kbd/kbd.js.map +7 -0
  156. package/dist/inline/label/label.js +487 -0
  157. package/dist/inline/label/label.js.map +7 -0
  158. package/dist/inline/mark/mark.js +465 -0
  159. package/dist/inline/mark/mark.js.map +7 -0
  160. package/dist/inline/meter/meter.js +498 -0
  161. package/dist/inline/meter/meter.js.map +7 -0
  162. package/dist/inline/output/output.js +410 -0
  163. package/dist/inline/output/output.js.map +7 -0
  164. package/dist/inline/progress/progress.js +454 -0
  165. package/dist/inline/progress/progress.js.map +7 -0
  166. package/dist/inline/q/q.js +476 -0
  167. package/dist/inline/q/q.js.map +7 -0
  168. package/dist/inline/rp/rp.js +465 -0
  169. package/dist/inline/rp/rp.js.map +7 -0
  170. package/dist/inline/rt/rt.js +465 -0
  171. package/dist/inline/rt/rt.js.map +7 -0
  172. package/dist/inline/ruby/ruby.js +465 -0
  173. package/dist/inline/ruby/ruby.js.map +7 -0
  174. package/dist/inline/s/s.js +465 -0
  175. package/dist/inline/s/s.js.map +7 -0
  176. package/dist/inline/samp/samp.js +465 -0
  177. package/dist/inline/samp/samp.js.map +7 -0
  178. package/dist/inline/select/select.js +674 -0
  179. package/dist/inline/select/select.js.map +7 -0
  180. package/dist/inline/slot/slot.js +476 -0
  181. package/dist/inline/slot/slot.js.map +7 -0
  182. package/dist/inline/small/small.js +465 -0
  183. package/dist/inline/small/small.js.map +7 -0
  184. package/dist/inline/span/span.js +465 -0
  185. package/dist/inline/span/span.js.map +7 -0
  186. package/dist/inline/strong/strong.js +465 -0
  187. package/dist/inline/strong/strong.js.map +7 -0
  188. package/dist/inline/sub/sub.js +465 -0
  189. package/dist/inline/sub/sub.js.map +7 -0
  190. package/dist/inline/sup/sup.js +465 -0
  191. package/dist/inline/sup/sup.js.map +7 -0
  192. package/dist/inline/svg/svg.js +542 -0
  193. package/dist/inline/svg/svg.js.map +7 -0
  194. package/dist/inline/textarea/textarea.js +718 -0
  195. package/dist/inline/textarea/textarea.js.map +7 -0
  196. package/dist/inline/time/time.js +476 -0
  197. package/dist/inline/time/time.js.map +7 -0
  198. package/dist/inline/u/u.js +465 -0
  199. package/dist/inline/u/u.js.map +7 -0
  200. package/dist/inline/var/var.js +465 -0
  201. package/dist/inline/var/var.js.map +7 -0
  202. package/dist/void/area/area.js +388 -0
  203. package/dist/void/area/area.js.map +7 -0
  204. package/dist/void/base/base.js +37 -0
  205. package/dist/void/base/base.js.map +7 -0
  206. package/dist/void/br/br.js +135 -0
  207. package/dist/void/br/br.js.map +7 -0
  208. package/dist/void/col/col.js +135 -0
  209. package/dist/void/col/col.js.map +7 -0
  210. package/dist/void/head/head.js +37 -0
  211. package/dist/void/head/head.js.map +7 -0
  212. package/dist/void/link/link.js +213 -0
  213. package/dist/void/link/link.js.map +7 -0
  214. package/dist/void/meta/meta.js +147 -0
  215. package/dist/void/meta/meta.js.map +7 -0
  216. package/dist/void/param/param.js +146 -0
  217. package/dist/void/param/param.js.map +7 -0
  218. package/dist/void/script/script.js +213 -0
  219. package/dist/void/script/script.js.map +7 -0
  220. package/dist/void/source/source.js +168 -0
  221. package/dist/void/source/source.js.map +7 -0
  222. package/dist/void/style/style.js +147 -0
  223. package/dist/void/style/style.js.map +7 -0
  224. package/dist/void/title/title.js +37 -0
  225. package/dist/void/title/title.js.map +7 -0
  226. package/dist/void/track/track.js +190 -0
  227. package/dist/void/track/track.js.map +7 -0
  228. package/dist/void/wbr/wbr.js +124 -0
  229. package/dist/void/wbr/wbr.js.map +7 -0
  230. package/package.json +4 -4
  231. package/src/block/article/article.ts +649 -0
  232. package/{block → src/block}/aside/aside.ts +144 -1
  233. package/{block → src/block}/audio/audio.ts +128 -1
  234. package/src/block/blockquote/blockquote.ts +665 -0
  235. package/{block → src/block}/body/body.ts +91 -1
  236. package/{block → src/block}/canvas/canvas.ts +144 -1
  237. package/src/block/caption/caption.ts +649 -0
  238. package/{block → src/block}/colgroup/colgroup.ts +96 -1
  239. package/src/block/datalist/datalist.ts +649 -0
  240. package/{block/dialog/dialog.ts → src/block/dd/dd.ts} +114 -88
  241. package/{block → src/block}/del/del.ts +144 -1
  242. package/src/block/details/details.ts +729 -0
  243. package/src/block/dialog/dialog.ts +729 -0
  244. package/src/block/div/div.ts +729 -0
  245. package/src/block/dl/dl.ts +649 -0
  246. package/{block/details/details.ts → src/block/dt/dt.ts} +114 -88
  247. package/{block → src/block}/embed/embed.ts +144 -1
  248. package/{block → src/block}/fieldset/fieldset.ts +144 -1
  249. package/src/block/figcaption/figcaption.ts +649 -0
  250. package/src/block/figure/figure.ts +649 -0
  251. package/src/block/footer/footer.ts +665 -0
  252. package/{block → src/block}/form/form.ts +132 -5
  253. package/src/block/h1/h1.ts +633 -0
  254. package/src/block/h2/h2.ts +633 -0
  255. package/src/block/h3/h3.ts +633 -0
  256. package/src/block/h4/h4.ts +633 -0
  257. package/src/block/h5/h5.ts +633 -0
  258. package/src/block/h6/h6.ts +633 -0
  259. package/{block → src/block}/header/header.ts +144 -1
  260. package/src/block/hgroup/hgroup.ts +649 -0
  261. package/{block → src/block}/hr/hr.ts +59 -1
  262. package/{block → src/block}/html/html.ts +27 -1
  263. package/{block → src/block}/iframe/iframe.ts +112 -1
  264. package/{block → src/block}/ins/ins.ts +144 -1
  265. package/src/block/legend/legend.ts +649 -0
  266. package/{block → src/block}/li/li.ts +107 -1
  267. package/{block/div/div.ts → src/block/main/main.ts} +112 -54
  268. package/src/block/map/map.ts +665 -0
  269. package/{block → src/block}/menu/menu.ts +144 -1
  270. package/{block → src/block}/nav/nav.ts +107 -1
  271. package/{block → src/block}/noscript/noscript.ts +144 -1
  272. package/{block → src/block}/object/object.ts +144 -1
  273. package/{block → src/block}/ol/ol.ts +144 -1
  274. package/{block → src/block}/optgroup/optgroup.ts +144 -1
  275. package/{block → src/block}/option/option.ts +144 -1
  276. package/src/block/p/p.ts +649 -0
  277. package/src/block/picture/picture.ts +649 -0
  278. package/src/block/pre/pre.ts +649 -0
  279. package/{block → src/block}/section/section.ts +144 -1
  280. package/{block → src/block}/summary/summary.ts +107 -1
  281. package/{block → src/block}/table/table.ts +144 -1
  282. package/src/block/tbody/tbody.ts +649 -0
  283. package/{block → src/block}/td/td.ts +144 -1
  284. package/src/block/template/template.ts +649 -0
  285. package/src/block/tfoot/tfoot.ts +649 -0
  286. package/{block → src/block}/th/th.ts +144 -1
  287. package/src/block/thead/thead.ts +649 -0
  288. package/{block → src/block}/tr/tr.ts +144 -1
  289. package/{block → src/block}/ul/ul.ts +144 -1
  290. package/{block → src/block}/video/video.ts +144 -1
  291. package/{inline → src/inline}/a/a.ts +144 -1
  292. package/src/inline/abbr/abbr.ts +633 -0
  293. package/src/inline/address/address.ts +617 -0
  294. package/src/inline/b/b.ts +649 -0
  295. package/src/inline/bdi/bdi.ts +633 -0
  296. package/src/inline/bdo/bdo.ts +649 -0
  297. package/{inline → src/inline}/button/button.ts +145 -2
  298. package/src/inline/cite/cite.ts +649 -0
  299. package/src/inline/code/code.ts +649 -0
  300. package/src/inline/data/data.ts +665 -0
  301. package/src/inline/dfn/dfn.ts +649 -0
  302. package/src/inline/em/em.ts +649 -0
  303. package/src/inline/i/i.ts +649 -0
  304. package/{inline → src/inline}/img/img.ts +112 -1
  305. package/{inline → src/inline}/input/input.ts +145 -2
  306. package/src/inline/kbd/kbd.ts +649 -0
  307. package/{inline → src/inline}/label/label.ts +144 -1
  308. package/src/inline/mark/mark.ts +649 -0
  309. package/{inline → src/inline}/meter/meter.ts +144 -1
  310. package/{inline → src/inline}/output/output.ts +144 -1
  311. package/{inline → src/inline}/progress/progress.ts +144 -1
  312. package/src/inline/q/q.ts +665 -0
  313. package/src/inline/rp/rp.ts +649 -0
  314. package/src/inline/rt/rt.ts +649 -0
  315. package/src/inline/ruby/ruby.ts +649 -0
  316. package/src/inline/s/s.ts +649 -0
  317. package/src/inline/samp/samp.ts +649 -0
  318. package/{inline → src/inline}/select/select.ts +144 -1
  319. package/src/inline/slot/slot.ts +665 -0
  320. package/src/inline/small/small.ts +649 -0
  321. package/src/inline/span/span.ts +649 -0
  322. package/src/inline/strong/strong.ts +649 -0
  323. package/src/inline/sub/sub.ts +649 -0
  324. package/src/inline/sup/sup.ts +649 -0
  325. package/{inline → src/inline}/svg/svg.ts +144 -1
  326. package/{inline → src/inline}/textarea/textarea.ts +144 -1
  327. package/src/inline/time/time.ts +665 -0
  328. package/src/inline/u/u.ts +649 -0
  329. package/src/inline/var/var.ts +649 -0
  330. package/{void → src/void}/area/area.ts +144 -1
  331. package/{void → src/void}/base/base.ts +1 -1
  332. package/src/void/br/br.ts +172 -0
  333. package/src/void/col/col.ts +172 -0
  334. package/{void → src/void}/head/head.ts +1 -1
  335. package/{void → src/void}/link/link.ts +59 -1
  336. package/{void → src/void}/meta/meta.ts +59 -1
  337. package/src/void/param/param.ts +188 -0
  338. package/{void → src/void}/script/script.ts +59 -1
  339. package/src/void/source/source.ts +220 -0
  340. package/{void → src/void}/style/style.ts +59 -1
  341. package/{void → src/void}/title/title.ts +1 -1
  342. package/{void → src/void}/track/track.ts +96 -1
  343. package/src/void/wbr/wbr.ts +156 -0
  344. package/block/article/article.ts +0 -506
  345. package/block/blockquote/blockquote.ts +0 -522
  346. package/block/caption/caption.ts +0 -506
  347. package/block/datalist/datalist.ts +0 -506
  348. package/block/dd/dd.ts +0 -506
  349. package/block/dl/dl.ts +0 -506
  350. package/block/dt/dt.ts +0 -506
  351. package/block/figcaption/figcaption.ts +0 -506
  352. package/block/figure/figure.ts +0 -506
  353. package/block/footer/footer.ts +0 -522
  354. package/block/h1/h1.ts +0 -490
  355. package/block/h2/h2.ts +0 -490
  356. package/block/h3/h3.ts +0 -490
  357. package/block/h4/h4.ts +0 -490
  358. package/block/h5/h5.ts +0 -490
  359. package/block/h6/h6.ts +0 -490
  360. package/block/hgroup/hgroup.ts +0 -506
  361. package/block/legend/legend.ts +0 -506
  362. package/block/main/main.ts +0 -538
  363. package/block/map/map.ts +0 -522
  364. package/block/p/p.ts +0 -506
  365. package/block/picture/picture.ts +0 -506
  366. package/block/pre/pre.ts +0 -506
  367. package/block/tbody/tbody.ts +0 -506
  368. package/block/template/template.ts +0 -506
  369. package/block/tfoot/tfoot.ts +0 -506
  370. package/block/thead/thead.ts +0 -506
  371. package/inline/abbr/abbr.ts +0 -490
  372. package/inline/address/address.ts +0 -474
  373. package/inline/b/b.ts +0 -506
  374. package/inline/bdi/bdi.ts +0 -490
  375. package/inline/bdo/bdo.ts +0 -506
  376. package/inline/cite/cite.ts +0 -506
  377. package/inline/code/code.ts +0 -506
  378. package/inline/data/data.ts +0 -522
  379. package/inline/dfn/dfn.ts +0 -506
  380. package/inline/em/em.ts +0 -506
  381. package/inline/i/i.ts +0 -506
  382. package/inline/kbd/kbd.ts +0 -506
  383. package/inline/mark/mark.ts +0 -506
  384. package/inline/q/q.ts +0 -522
  385. package/inline/rp/rp.ts +0 -506
  386. package/inline/rt/rt.ts +0 -506
  387. package/inline/ruby/ruby.ts +0 -506
  388. package/inline/s/s.ts +0 -506
  389. package/inline/samp/samp.ts +0 -506
  390. package/inline/slot/slot.ts +0 -522
  391. package/inline/small/small.ts +0 -506
  392. package/inline/span/span.ts +0 -506
  393. package/inline/strong/strong.ts +0 -506
  394. package/inline/sub/sub.ts +0 -506
  395. package/inline/sup/sup.ts +0 -506
  396. package/inline/time/time.ts +0 -522
  397. package/inline/u/u.ts +0 -506
  398. package/inline/var/var.ts +0 -506
  399. package/void/br/br.ts +0 -77
  400. package/void/col/col.ts +0 -77
  401. package/void/param/param.ts +0 -93
  402. package/void/source/source.ts +0 -125
  403. package/void/wbr/wbr.ts +0 -61
  404. /package/{index.ts → src/index.ts} +0 -0
  405. /package/{tsconfig.json → src/tsconfig.json} +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * THIS FILE IS AUTOGENERATED. DO NOT EDIT IT.
3
3
  *
4
- * @generated December 28, 2025 12:26:31
4
+ * @generated January 2, 2026 15:45:45
5
5
  * @component Label
6
6
  * @description
7
7
  */
@@ -11,10 +11,18 @@ export interface LabelProps {
11
11
  * Child content or elements
12
12
  */
13
13
  children?: string | HTMLElement | (string | HTMLElement)[];
14
+ /**
15
+ * Keyboard shortcut to activate or focus the element
16
+ */
17
+ accessKey?: string;
14
18
  /**
15
19
  * specifies a shortcut key (or keys) to activate or focus an element
16
20
  */
17
21
  accesskey?: string | null | undefined;
22
+ /**
23
+ * Mapping of Alpine.js directives (shorthand or full) to their values (e.g., {@click: "do()"} or {"x-on:click":"do()"})
24
+ */
25
+ 'alpine-attributes'?: Record<string, string> | null | undefined;
18
26
  /**
19
27
  * Indicates whether assistive technologies should present the entire region as a whole when changes occur.
20
28
  */
@@ -71,10 +79,22 @@ export interface LabelProps {
71
79
  * Indicates whether the element is hidden
72
80
  */
73
81
  autofocus?: boolean | null | undefined;
82
+ /**
83
+ * CSS class names
84
+ */
85
+ className?: string;
86
+ /**
87
+ * Whether the element is editable
88
+ */
89
+ contentEditable?: boolean | "true" | "false" | "inherit";
74
90
  /**
75
91
  * Indicates whether the element can be edited in place
76
92
  */
77
93
  contenteditable?: 'true' | 'false' | 'inherit' | boolean | null | undefined;
94
+ /**
95
+ * Mapping of data-* attributes to their values (e.g., {"test":"value"} -> data-test="value")
96
+ */
97
+ 'data-attributes'?: Record<string, string> | null | undefined;
78
98
  /**
79
99
  * Represents the text direction of the element
80
100
  */
@@ -91,6 +111,10 @@ export interface LabelProps {
91
111
  * Indicates whether the element is hidden
92
112
  */
93
113
  hidden?: boolean | null | undefined;
114
+ /**
115
+ * Unique identifier
116
+ */
117
+ id?: string;
94
118
  /**
95
119
  * used to specify the data entry mode for an input. It helps guide on-screen keyboards (especially on mobile devices) to show the appropriate layout for the expected input type
96
120
  */
@@ -119,6 +143,10 @@ export interface LabelProps {
119
143
  * Represents the CSS inline style of the element
120
144
  */
121
145
  style?: string | null | undefined;
146
+ /**
147
+ * Tab order position
148
+ */
149
+ tabIndex?: number;
122
150
  /**
123
151
  * Represents a tab order of the element
124
152
  */
@@ -148,9 +176,26 @@ export class Label {
148
176
  if (props.children !== undefined) {
149
177
  this.setChildren(props.children);
150
178
  }
179
+ if (props.accessKey !== undefined) {
180
+ this.element.setAttribute('accessKey', String(props.accessKey));
181
+ }
151
182
  if (props.accesskey !== undefined) {
152
183
  this.element.setAttribute('accesskey', String(props.accesskey));
153
184
  }
185
+ if (props['alpine-attributes'] !== undefined) {
186
+ const __map = props['alpine-attributes'];
187
+ if (__map !== null && __map !== undefined) {
188
+ for (const __k in __map) {
189
+ const __v = (__map as any)[__k];
190
+ let __attr = __k;
191
+ if (__k.startsWith('@')) { __attr = 'x-on:' + __k.slice(1); }
192
+ else if (__k.startsWith(':')) { __attr = 'x-bind:' + __k.slice(1); }
193
+ else if (__k.startsWith('.')) { __attr = 'x-model' + __k; }
194
+ else if (!__k.startsWith('x-') && ['show','text','html','if','for','cloak','init','data','effect','ignore','ref','transition','teleport'].includes(__k)) { __attr = 'x-' + __k; }
195
+ this.element.setAttribute(__attr, String(__v));
196
+ }
197
+ }
198
+ }
154
199
  if (props['aria-atomic'] !== undefined) {
155
200
  this.setAriaAtomic(props['aria-atomic']);
156
201
  }
@@ -193,9 +238,23 @@ export class Label {
193
238
  if (props.autofocus !== undefined) {
194
239
  this.element.setAttribute('autofocus', String(props.autofocus));
195
240
  }
241
+ if (props.className !== undefined) {
242
+ this.element.setAttribute('className', String(props.className));
243
+ }
244
+ if (props.contentEditable !== undefined) {
245
+ this.element.setAttribute('contentEditable', String(props.contentEditable));
246
+ }
196
247
  if (props.contenteditable !== undefined) {
197
248
  this.setContenteditable(props.contenteditable);
198
249
  }
250
+ if (props['data-attributes'] !== undefined) {
251
+ const __map = props['data-attributes'];
252
+ if (__map !== null && __map !== undefined) {
253
+ for (const __k in __map) {
254
+ this.element.setAttribute(`data-${__k}`, String((__map as any)[__k]));
255
+ }
256
+ }
257
+ }
199
258
  if (props.dir !== undefined) {
200
259
  this.setDir(props.dir);
201
260
  }
@@ -208,6 +267,9 @@ export class Label {
208
267
  if (props.hidden !== undefined) {
209
268
  this.element.setAttribute('hidden', String(props.hidden));
210
269
  }
270
+ if (props.id !== undefined) {
271
+ this.element.setAttribute('id', String(props.id));
272
+ }
211
273
  if (props.inputmode !== undefined) {
212
274
  this.setInputmode(props.inputmode);
213
275
  }
@@ -229,6 +291,9 @@ export class Label {
229
291
  if (props.style !== undefined) {
230
292
  this.element.setAttribute('style', String(props.style));
231
293
  }
294
+ if (props.tabIndex !== undefined) {
295
+ this.element.setAttribute('tabIndex', String(props.tabIndex));
296
+ }
232
297
  if (props.tabindex !== undefined) {
233
298
  this.element.setAttribute('tabindex', String(props.tabindex));
234
299
  }
@@ -240,6 +305,15 @@ export class Label {
240
305
  }
241
306
  }
242
307
 
308
+ setAccessKey(value: string): this {
309
+ if (value === null || value === undefined) {
310
+ this.element.removeAttribute('accessKey');
311
+ } else {
312
+ this.element.setAttribute('accessKey', String(value));
313
+ }
314
+ return this;
315
+ }
316
+
243
317
  setAccesskey(value: string | null | undefined): this {
244
318
  if (value === null || value === undefined) {
245
319
  this.element.removeAttribute('accesskey');
@@ -249,6 +323,25 @@ export class Label {
249
323
  return this;
250
324
  }
251
325
 
326
+ setAlpineAttributes(value: string | null | undefined): this {
327
+ if (value === null || value === undefined) {
328
+ // Remove all x-* Alpine attributes (best-effort)
329
+ for (const __a of Array.from(this.element.attributes)) {
330
+ if ((__a as Attr).name.startsWith('x-')) { (this.element as HTMLElement).removeAttribute((__a as Attr).name); }
331
+ }
332
+ } else {
333
+ for (const __k in value as Record<string, string>) {
334
+ let __attr = __k;
335
+ if (__k.startsWith('@')) { __attr = 'x-on:' + __k.slice(1); }
336
+ else if (__k.startsWith(':')) { __attr = 'x-bind:' + __k.slice(1); }
337
+ else if (__k.startsWith('.')) { __attr = 'x-model' + __k; }
338
+ else if (!__k.startsWith('x-') && ['show','text','html','if','for','cloak','init','data','effect','ignore','ref','transition','teleport'].includes(__k)) { __attr = 'x-' + __k; }
339
+ this.element.setAttribute(__attr, String((value as any)[__k]));
340
+ }
341
+ }
342
+ return this;
343
+ }
344
+
252
345
  setAriaAtomic(value: 'false' | 'true' | boolean | null | undefined): this {
253
346
  if (value === null || value === undefined) {
254
347
  this.element.removeAttribute('aria-atomic');
@@ -375,6 +468,24 @@ export class Label {
375
468
  return this;
376
469
  }
377
470
 
471
+ setClassName(value: string): this {
472
+ if (value === null || value === undefined) {
473
+ this.element.removeAttribute('className');
474
+ } else {
475
+ this.element.setAttribute('className', String(value));
476
+ }
477
+ return this;
478
+ }
479
+
480
+ setContentEditable(value: boolean | "true" | "false" | "inherit"): this {
481
+ if (value === true) {
482
+ this.element.setAttribute('contentEditable', '');
483
+ } else {
484
+ this.element.removeAttribute('contentEditable');
485
+ }
486
+ return this;
487
+ }
488
+
378
489
  setContenteditable(value: 'true' | 'false' | 'inherit' | boolean | null | undefined): this {
379
490
  if (value === null || value === undefined) {
380
491
  this.element.removeAttribute('contenteditable');
@@ -384,6 +495,20 @@ export class Label {
384
495
  return this;
385
496
  }
386
497
 
498
+ setDataAttributes(value: Record<string, string>): this {
499
+ if (value === null || value === undefined) {
500
+ // Remove all data-* attributes (best-effort)
501
+ for (const __a of Array.from(this.element.attributes)) {
502
+ if ((__a as Attr).name.startsWith('data-')) { (this.element as HTMLElement).removeAttribute((__a as Attr).name); }
503
+ }
504
+ } else {
505
+ for (const __k in value as Record<string, string>) {
506
+ this.element.setAttribute(`data-${__k}`, String((value as any)[__k]));
507
+ }
508
+ }
509
+ return this;
510
+ }
511
+
387
512
  setDir(value: 'ltr' | 'rtl' | 'auto' | null | undefined): this {
388
513
  if (value === null || value === undefined) {
389
514
  this.element.removeAttribute('dir');
@@ -420,6 +545,15 @@ export class Label {
420
545
  return this;
421
546
  }
422
547
 
548
+ setId(value: string): this {
549
+ if (value === null || value === undefined) {
550
+ this.element.removeAttribute('id');
551
+ } else {
552
+ this.element.setAttribute('id', String(value));
553
+ }
554
+ return this;
555
+ }
556
+
423
557
  setInputmode(value: 'none' | 'text' | 'decimal' | 'numeric' | 'email' | 'tel' | 'url' | 'search' | null | undefined): this {
424
558
  if (value === null || value === undefined) {
425
559
  this.element.removeAttribute('inputmode');
@@ -483,6 +617,15 @@ export class Label {
483
617
  return this;
484
618
  }
485
619
 
620
+ setTabIndex(value: number): this {
621
+ if (value === null || value === undefined) {
622
+ this.element.removeAttribute('tabIndex');
623
+ } else {
624
+ this.element.setAttribute('tabIndex', String(value));
625
+ }
626
+ return this;
627
+ }
628
+
486
629
  setTabindex(value: number | null | undefined): this {
487
630
  if (value === null || value === undefined) {
488
631
  this.element.removeAttribute('tabindex');