@lnpg/pkgn-sol 1.0.0-beta.0

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 (1140) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +64 -0
  3. package/dist/assets/fonts/montserrat/Montserrat-Variable-Font.ttf +0 -0
  4. package/dist/assets/fonts/montserrat/Montserrat-Variable-Italic-Font.ttf +0 -0
  5. package/dist/assets/fonts/montserrat/OFL.txt +93 -0
  6. package/dist/assets/fonts/montserrat/README.txt +81 -0
  7. package/dist/cjs/chunks/dom.cjs +2 -0
  8. package/dist/cjs/chunks/dom.cjs.map +1 -0
  9. package/dist/cjs/chunks/inline.cjs +2 -0
  10. package/dist/cjs/chunks/inline.cjs.map +1 -0
  11. package/dist/cjs/chunks/pkgn-sol.cjs +2 -0
  12. package/dist/cjs/chunks/pkgn-sol.cjs.map +1 -0
  13. package/dist/cjs/elements/break/br/br.cjs +2 -0
  14. package/dist/cjs/elements/break/br/br.cjs.map +1 -0
  15. package/dist/cjs/elements/break/break.cjs +2 -0
  16. package/dist/cjs/elements/break/break.cjs.map +1 -0
  17. package/dist/cjs/elements/break/wbr/wbr.cjs +2 -0
  18. package/dist/cjs/elements/break/wbr/wbr.cjs.map +1 -0
  19. package/dist/cjs/elements/container/container.cjs +2 -0
  20. package/dist/cjs/elements/container/container.cjs.map +1 -0
  21. package/dist/cjs/elements/container/div/div.cjs +2 -0
  22. package/dist/cjs/elements/container/div/div.cjs.map +1 -0
  23. package/dist/cjs/elements/container/span/span.cjs +2 -0
  24. package/dist/cjs/elements/container/span/span.cjs.map +1 -0
  25. package/dist/cjs/elements/figure/figcaption/figcaption.cjs +2 -0
  26. package/dist/cjs/elements/figure/figcaption/figcaption.cjs.map +1 -0
  27. package/dist/cjs/elements/figure/figure/figure.cjs +2 -0
  28. package/dist/cjs/elements/figure/figure/figure.cjs.map +1 -0
  29. package/dist/cjs/elements/figure/figure.cjs +2 -0
  30. package/dist/cjs/elements/figure/figure.cjs.map +1 -0
  31. package/dist/cjs/elements/form/button/button.cjs +2 -0
  32. package/dist/cjs/elements/form/button/button.cjs.map +1 -0
  33. package/dist/cjs/elements/form/datalist/datalist.cjs +2 -0
  34. package/dist/cjs/elements/form/datalist/datalist.cjs.map +1 -0
  35. package/dist/cjs/elements/form/fieldset/fieldset.cjs +2 -0
  36. package/dist/cjs/elements/form/fieldset/fieldset.cjs.map +1 -0
  37. package/dist/cjs/elements/form/form/form.cjs +2 -0
  38. package/dist/cjs/elements/form/form/form.cjs.map +1 -0
  39. package/dist/cjs/elements/form/form.cjs +2 -0
  40. package/dist/cjs/elements/form/form.cjs.map +1 -0
  41. package/dist/cjs/elements/form/input/input.cjs +2 -0
  42. package/dist/cjs/elements/form/input/input.cjs.map +1 -0
  43. package/dist/cjs/elements/form/label/label.cjs +2 -0
  44. package/dist/cjs/elements/form/label/label.cjs.map +1 -0
  45. package/dist/cjs/elements/form/legend/legend.cjs +2 -0
  46. package/dist/cjs/elements/form/legend/legend.cjs.map +1 -0
  47. package/dist/cjs/elements/form/meter/meter.cjs +2 -0
  48. package/dist/cjs/elements/form/meter/meter.cjs.map +1 -0
  49. package/dist/cjs/elements/form/optgroup/optgroup.cjs +2 -0
  50. package/dist/cjs/elements/form/optgroup/optgroup.cjs.map +1 -0
  51. package/dist/cjs/elements/form/option/option.cjs +2 -0
  52. package/dist/cjs/elements/form/option/option.cjs.map +1 -0
  53. package/dist/cjs/elements/form/output/output.cjs +2 -0
  54. package/dist/cjs/elements/form/output/output.cjs.map +1 -0
  55. package/dist/cjs/elements/form/progress/progress.cjs +2 -0
  56. package/dist/cjs/elements/form/progress/progress.cjs.map +1 -0
  57. package/dist/cjs/elements/form/select/select.cjs +2 -0
  58. package/dist/cjs/elements/form/select/select.cjs.map +1 -0
  59. package/dist/cjs/elements/form/textarea/textarea.cjs +2 -0
  60. package/dist/cjs/elements/form/textarea/textarea.cjs.map +1 -0
  61. package/dist/cjs/elements/heading/h1/h1.cjs +2 -0
  62. package/dist/cjs/elements/heading/h1/h1.cjs.map +1 -0
  63. package/dist/cjs/elements/heading/h2/h2.cjs +2 -0
  64. package/dist/cjs/elements/heading/h2/h2.cjs.map +1 -0
  65. package/dist/cjs/elements/heading/h3/h3.cjs +2 -0
  66. package/dist/cjs/elements/heading/h3/h3.cjs.map +1 -0
  67. package/dist/cjs/elements/heading/h4/h4.cjs +2 -0
  68. package/dist/cjs/elements/heading/h4/h4.cjs.map +1 -0
  69. package/dist/cjs/elements/heading/h5/h5.cjs +2 -0
  70. package/dist/cjs/elements/heading/h5/h5.cjs.map +1 -0
  71. package/dist/cjs/elements/heading/h6/h6.cjs +2 -0
  72. package/dist/cjs/elements/heading/h6/h6.cjs.map +1 -0
  73. package/dist/cjs/elements/heading/heading.cjs +2 -0
  74. package/dist/cjs/elements/heading/heading.cjs.map +1 -0
  75. package/dist/cjs/elements/inline/a/a.cjs +2 -0
  76. package/dist/cjs/elements/inline/a/a.cjs.map +1 -0
  77. package/dist/cjs/elements/inline/abbr/abbr.cjs +2 -0
  78. package/dist/cjs/elements/inline/abbr/abbr.cjs.map +1 -0
  79. package/dist/cjs/elements/inline/b/b.cjs +2 -0
  80. package/dist/cjs/elements/inline/b/b.cjs.map +1 -0
  81. package/dist/cjs/elements/inline/cite/cite.cjs +2 -0
  82. package/dist/cjs/elements/inline/cite/cite.cjs.map +1 -0
  83. package/dist/cjs/elements/inline/code/code.cjs +2 -0
  84. package/dist/cjs/elements/inline/code/code.cjs.map +1 -0
  85. package/dist/cjs/elements/inline/data/data.cjs +2 -0
  86. package/dist/cjs/elements/inline/data/data.cjs.map +1 -0
  87. package/dist/cjs/elements/inline/dfn/dfn.cjs +2 -0
  88. package/dist/cjs/elements/inline/dfn/dfn.cjs.map +1 -0
  89. package/dist/cjs/elements/inline/em/em.cjs +2 -0
  90. package/dist/cjs/elements/inline/em/em.cjs.map +1 -0
  91. package/dist/cjs/elements/inline/i/i.cjs +2 -0
  92. package/dist/cjs/elements/inline/i/i.cjs.map +1 -0
  93. package/dist/cjs/elements/inline/inline.cjs +1 -0
  94. package/dist/cjs/elements/inline/kbd/kbd.cjs +2 -0
  95. package/dist/cjs/elements/inline/kbd/kbd.cjs.map +1 -0
  96. package/dist/cjs/elements/inline/mark/mark.cjs +2 -0
  97. package/dist/cjs/elements/inline/mark/mark.cjs.map +1 -0
  98. package/dist/cjs/elements/inline/q/q.cjs +2 -0
  99. package/dist/cjs/elements/inline/q/q.cjs.map +1 -0
  100. package/dist/cjs/elements/inline/rb/rb.cjs +2 -0
  101. package/dist/cjs/elements/inline/rb/rb.cjs.map +1 -0
  102. package/dist/cjs/elements/inline/rt/rt.cjs +2 -0
  103. package/dist/cjs/elements/inline/rt/rt.cjs.map +1 -0
  104. package/dist/cjs/elements/inline/rtc/rtc.cjs +2 -0
  105. package/dist/cjs/elements/inline/rtc/rtc.cjs.map +1 -0
  106. package/dist/cjs/elements/inline/ruby/ruby.cjs +2 -0
  107. package/dist/cjs/elements/inline/ruby/ruby.cjs.map +1 -0
  108. package/dist/cjs/elements/inline/s/s.cjs +2 -0
  109. package/dist/cjs/elements/inline/s/s.cjs.map +1 -0
  110. package/dist/cjs/elements/inline/samp/samp.cjs +2 -0
  111. package/dist/cjs/elements/inline/samp/samp.cjs.map +1 -0
  112. package/dist/cjs/elements/inline/small/small.cjs +2 -0
  113. package/dist/cjs/elements/inline/small/small.cjs.map +1 -0
  114. package/dist/cjs/elements/inline/strong/strong.cjs +2 -0
  115. package/dist/cjs/elements/inline/strong/strong.cjs.map +1 -0
  116. package/dist/cjs/elements/inline/sub/sub.cjs +2 -0
  117. package/dist/cjs/elements/inline/sub/sub.cjs.map +1 -0
  118. package/dist/cjs/elements/inline/sup/sup.cjs +2 -0
  119. package/dist/cjs/elements/inline/sup/sup.cjs.map +1 -0
  120. package/dist/cjs/elements/inline/time/time.cjs +2 -0
  121. package/dist/cjs/elements/inline/time/time.cjs.map +1 -0
  122. package/dist/cjs/elements/inline/u/u.cjs +2 -0
  123. package/dist/cjs/elements/inline/u/u.cjs.map +1 -0
  124. package/dist/cjs/elements/inline/var/var.cjs +2 -0
  125. package/dist/cjs/elements/inline/var/var.cjs.map +1 -0
  126. package/dist/cjs/elements/interactive/details/details.cjs +2 -0
  127. package/dist/cjs/elements/interactive/details/details.cjs.map +1 -0
  128. package/dist/cjs/elements/interactive/dialog/dialog.cjs +2 -0
  129. package/dist/cjs/elements/interactive/dialog/dialog.cjs.map +1 -0
  130. package/dist/cjs/elements/interactive/interactive.cjs +2 -0
  131. package/dist/cjs/elements/interactive/interactive.cjs.map +1 -0
  132. package/dist/cjs/elements/interactive/summary/summary.cjs +2 -0
  133. package/dist/cjs/elements/interactive/summary/summary.cjs.map +1 -0
  134. package/dist/cjs/elements/layout/article/article.cjs +2 -0
  135. package/dist/cjs/elements/layout/article/article.cjs.map +1 -0
  136. package/dist/cjs/elements/layout/aside/aside.cjs +2 -0
  137. package/dist/cjs/elements/layout/aside/aside.cjs.map +1 -0
  138. package/dist/cjs/elements/layout/footer/footer.cjs +2 -0
  139. package/dist/cjs/elements/layout/footer/footer.cjs.map +1 -0
  140. package/dist/cjs/elements/layout/header/header.cjs +2 -0
  141. package/dist/cjs/elements/layout/header/header.cjs.map +1 -0
  142. package/dist/cjs/elements/layout/layout.cjs +2 -0
  143. package/dist/cjs/elements/layout/layout.cjs.map +1 -0
  144. package/dist/cjs/elements/layout/main/main.cjs +2 -0
  145. package/dist/cjs/elements/layout/main/main.cjs.map +1 -0
  146. package/dist/cjs/elements/layout/nav/nav.cjs +2 -0
  147. package/dist/cjs/elements/layout/nav/nav.cjs.map +1 -0
  148. package/dist/cjs/elements/layout/section/section.cjs +2 -0
  149. package/dist/cjs/elements/layout/section/section.cjs.map +1 -0
  150. package/dist/cjs/elements/list/dd/dd.cjs +2 -0
  151. package/dist/cjs/elements/list/dd/dd.cjs.map +1 -0
  152. package/dist/cjs/elements/list/dl/dl.cjs +2 -0
  153. package/dist/cjs/elements/list/dl/dl.cjs.map +1 -0
  154. package/dist/cjs/elements/list/dt/dt.cjs +2 -0
  155. package/dist/cjs/elements/list/dt/dt.cjs.map +1 -0
  156. package/dist/cjs/elements/list/li/li.cjs +2 -0
  157. package/dist/cjs/elements/list/li/li.cjs.map +1 -0
  158. package/dist/cjs/elements/list/list.cjs +2 -0
  159. package/dist/cjs/elements/list/list.cjs.map +1 -0
  160. package/dist/cjs/elements/list/ol/ol.cjs +2 -0
  161. package/dist/cjs/elements/list/ol/ol.cjs.map +1 -0
  162. package/dist/cjs/elements/list/ul/ul.cjs +2 -0
  163. package/dist/cjs/elements/list/ul/ul.cjs.map +1 -0
  164. package/dist/cjs/elements/media/audio/audio.cjs +2 -0
  165. package/dist/cjs/elements/media/audio/audio.cjs.map +1 -0
  166. package/dist/cjs/elements/media/canvas/canvas.cjs +2 -0
  167. package/dist/cjs/elements/media/canvas/canvas.cjs.map +1 -0
  168. package/dist/cjs/elements/media/embed/embed.cjs +2 -0
  169. package/dist/cjs/elements/media/embed/embed.cjs.map +1 -0
  170. package/dist/cjs/elements/media/iframe/iframe.cjs +2 -0
  171. package/dist/cjs/elements/media/iframe/iframe.cjs.map +1 -0
  172. package/dist/cjs/elements/media/img/img.cjs +2 -0
  173. package/dist/cjs/elements/media/img/img.cjs.map +1 -0
  174. package/dist/cjs/elements/media/math/math.cjs +2 -0
  175. package/dist/cjs/elements/media/math/math.cjs.map +1 -0
  176. package/dist/cjs/elements/media/media.cjs +2 -0
  177. package/dist/cjs/elements/media/media.cjs.map +1 -0
  178. package/dist/cjs/elements/media/object/object.cjs +2 -0
  179. package/dist/cjs/elements/media/object/object.cjs.map +1 -0
  180. package/dist/cjs/elements/media/svg/svg.cjs +2 -0
  181. package/dist/cjs/elements/media/svg/svg.cjs.map +1 -0
  182. package/dist/cjs/elements/media/video/video.cjs +2 -0
  183. package/dist/cjs/elements/media/video/video.cjs.map +1 -0
  184. package/dist/cjs/elements/responsive/area/area.cjs +2 -0
  185. package/dist/cjs/elements/responsive/area/area.cjs.map +1 -0
  186. package/dist/cjs/elements/responsive/map/map.cjs +2 -0
  187. package/dist/cjs/elements/responsive/map/map.cjs.map +1 -0
  188. package/dist/cjs/elements/responsive/picture/picture.cjs +2 -0
  189. package/dist/cjs/elements/responsive/picture/picture.cjs.map +1 -0
  190. package/dist/cjs/elements/responsive/responsive.cjs +2 -0
  191. package/dist/cjs/elements/responsive/responsive.cjs.map +1 -0
  192. package/dist/cjs/elements/responsive/source/source.cjs +2 -0
  193. package/dist/cjs/elements/responsive/source/source.cjs.map +1 -0
  194. package/dist/cjs/elements/responsive/track/track.cjs +2 -0
  195. package/dist/cjs/elements/responsive/track/track.cjs.map +1 -0
  196. package/dist/cjs/elements/table/caption/caption.cjs +2 -0
  197. package/dist/cjs/elements/table/caption/caption.cjs.map +1 -0
  198. package/dist/cjs/elements/table/col/col.cjs +2 -0
  199. package/dist/cjs/elements/table/col/col.cjs.map +1 -0
  200. package/dist/cjs/elements/table/colgroup/colgroup.cjs +2 -0
  201. package/dist/cjs/elements/table/colgroup/colgroup.cjs.map +1 -0
  202. package/dist/cjs/elements/table/table/table.cjs +2 -0
  203. package/dist/cjs/elements/table/table/table.cjs.map +1 -0
  204. package/dist/cjs/elements/table/table.cjs +2 -0
  205. package/dist/cjs/elements/table/table.cjs.map +1 -0
  206. package/dist/cjs/elements/table/tbody/tbody.cjs +2 -0
  207. package/dist/cjs/elements/table/tbody/tbody.cjs.map +1 -0
  208. package/dist/cjs/elements/table/td/td.cjs +2 -0
  209. package/dist/cjs/elements/table/td/td.cjs.map +1 -0
  210. package/dist/cjs/elements/table/tfoot/tfoot.cjs +2 -0
  211. package/dist/cjs/elements/table/tfoot/tfoot.cjs.map +1 -0
  212. package/dist/cjs/elements/table/th/th.cjs +2 -0
  213. package/dist/cjs/elements/table/th/th.cjs.map +1 -0
  214. package/dist/cjs/elements/table/thead/thead.cjs +2 -0
  215. package/dist/cjs/elements/table/thead/thead.cjs.map +1 -0
  216. package/dist/cjs/elements/table/tr/tr.cjs +2 -0
  217. package/dist/cjs/elements/table/tr/tr.cjs.map +1 -0
  218. package/dist/cjs/elements/text/address/address.cjs +2 -0
  219. package/dist/cjs/elements/text/address/address.cjs.map +1 -0
  220. package/dist/cjs/elements/text/blockquote/blockquote.cjs +2 -0
  221. package/dist/cjs/elements/text/blockquote/blockquote.cjs.map +1 -0
  222. package/dist/cjs/elements/text/hr/hr.cjs +2 -0
  223. package/dist/cjs/elements/text/hr/hr.cjs.map +1 -0
  224. package/dist/cjs/elements/text/paragraph/paragraph.cjs +2 -0
  225. package/dist/cjs/elements/text/paragraph/paragraph.cjs.map +1 -0
  226. package/dist/cjs/elements/text/pre/pre.cjs +2 -0
  227. package/dist/cjs/elements/text/pre/pre.cjs.map +1 -0
  228. package/dist/cjs/elements/text/text.cjs +2 -0
  229. package/dist/cjs/elements/text/text.cjs.map +1 -0
  230. package/dist/cjs/elements.cjs +2 -0
  231. package/dist/cjs/elements.cjs.map +1 -0
  232. package/dist/cjs/index.cjs +2 -0
  233. package/dist/cjs/index.cjs.map +1 -0
  234. package/dist/css/core.css +1 -0
  235. package/dist/css/core.css.map +1 -0
  236. package/dist/css/elements/break/br/br.css +1 -0
  237. package/dist/css/elements/break/br/br.css.map +1 -0
  238. package/dist/css/elements/break/wbr/wbr.css +1 -0
  239. package/dist/css/elements/break/wbr/wbr.css.map +1 -0
  240. package/dist/css/elements/container/div/div.css +1 -0
  241. package/dist/css/elements/container/div/div.css.map +1 -0
  242. package/dist/css/elements/container/span/span.css +1 -0
  243. package/dist/css/elements/container/span/span.css.map +1 -0
  244. package/dist/css/elements/figure/figcaption/figcaption.css +1 -0
  245. package/dist/css/elements/figure/figcaption/figcaption.css.map +1 -0
  246. package/dist/css/elements/figure/figure/figure.css +1 -0
  247. package/dist/css/elements/figure/figure/figure.css.map +1 -0
  248. package/dist/css/elements/form/button/button.css +1 -0
  249. package/dist/css/elements/form/button/button.css.map +1 -0
  250. package/dist/css/elements/form/datalist/datalist.css +1 -0
  251. package/dist/css/elements/form/datalist/datalist.css.map +1 -0
  252. package/dist/css/elements/form/fieldset/fieldset.css +1 -0
  253. package/dist/css/elements/form/fieldset/fieldset.css.map +1 -0
  254. package/dist/css/elements/form/form/form.css +1 -0
  255. package/dist/css/elements/form/form/form.css.map +1 -0
  256. package/dist/css/elements/form/input/input.css +1 -0
  257. package/dist/css/elements/form/input/input.css.map +1 -0
  258. package/dist/css/elements/form/label/label.css +1 -0
  259. package/dist/css/elements/form/label/label.css.map +1 -0
  260. package/dist/css/elements/form/legend/legend.css +1 -0
  261. package/dist/css/elements/form/legend/legend.css.map +1 -0
  262. package/dist/css/elements/form/meter/meter.css +1 -0
  263. package/dist/css/elements/form/meter/meter.css.map +1 -0
  264. package/dist/css/elements/form/optgroup/optgroup.css +1 -0
  265. package/dist/css/elements/form/optgroup/optgroup.css.map +1 -0
  266. package/dist/css/elements/form/option/option.css +1 -0
  267. package/dist/css/elements/form/option/option.css.map +1 -0
  268. package/dist/css/elements/form/output/output.css +1 -0
  269. package/dist/css/elements/form/output/output.css.map +1 -0
  270. package/dist/css/elements/form/progress/progress.css +1 -0
  271. package/dist/css/elements/form/progress/progress.css.map +1 -0
  272. package/dist/css/elements/form/select/select.css +1 -0
  273. package/dist/css/elements/form/select/select.css.map +1 -0
  274. package/dist/css/elements/form/textarea/textarea.css +1 -0
  275. package/dist/css/elements/form/textarea/textarea.css.map +1 -0
  276. package/dist/css/elements/heading/h1/h1.css +1 -0
  277. package/dist/css/elements/heading/h1/h1.css.map +1 -0
  278. package/dist/css/elements/heading/h2/h2.css +1 -0
  279. package/dist/css/elements/heading/h2/h2.css.map +1 -0
  280. package/dist/css/elements/heading/h3/h3.css +1 -0
  281. package/dist/css/elements/heading/h3/h3.css.map +1 -0
  282. package/dist/css/elements/heading/h4/h4.css +1 -0
  283. package/dist/css/elements/heading/h4/h4.css.map +1 -0
  284. package/dist/css/elements/heading/h5/h5.css +1 -0
  285. package/dist/css/elements/heading/h5/h5.css.map +1 -0
  286. package/dist/css/elements/heading/h6/h6.css +1 -0
  287. package/dist/css/elements/heading/h6/h6.css.map +1 -0
  288. package/dist/css/elements/inline/a/a.css +1 -0
  289. package/dist/css/elements/inline/a/a.css.map +1 -0
  290. package/dist/css/elements/inline/abbr/abbr.css +1 -0
  291. package/dist/css/elements/inline/abbr/abbr.css.map +1 -0
  292. package/dist/css/elements/inline/b/b.css +1 -0
  293. package/dist/css/elements/inline/b/b.css.map +1 -0
  294. package/dist/css/elements/inline/cite/cite.css +1 -0
  295. package/dist/css/elements/inline/cite/cite.css.map +1 -0
  296. package/dist/css/elements/inline/code/code.css +1 -0
  297. package/dist/css/elements/inline/code/code.css.map +1 -0
  298. package/dist/css/elements/inline/data/data.css +1 -0
  299. package/dist/css/elements/inline/data/data.css.map +1 -0
  300. package/dist/css/elements/inline/dfn/dfn.css +1 -0
  301. package/dist/css/elements/inline/dfn/dfn.css.map +1 -0
  302. package/dist/css/elements/inline/em/em.css +1 -0
  303. package/dist/css/elements/inline/em/em.css.map +1 -0
  304. package/dist/css/elements/inline/i/i.css +1 -0
  305. package/dist/css/elements/inline/i/i.css.map +1 -0
  306. package/dist/css/elements/inline/kbd/kbd.css +1 -0
  307. package/dist/css/elements/inline/kbd/kbd.css.map +1 -0
  308. package/dist/css/elements/inline/mark/mark.css +1 -0
  309. package/dist/css/elements/inline/mark/mark.css.map +1 -0
  310. package/dist/css/elements/inline/q/q.css +1 -0
  311. package/dist/css/elements/inline/q/q.css.map +1 -0
  312. package/dist/css/elements/inline/rb/rb.css +1 -0
  313. package/dist/css/elements/inline/rb/rb.css.map +1 -0
  314. package/dist/css/elements/inline/rp/rp.css +1 -0
  315. package/dist/css/elements/inline/rp/rp.css.map +1 -0
  316. package/dist/css/elements/inline/rt/rt.css +1 -0
  317. package/dist/css/elements/inline/rt/rt.css.map +1 -0
  318. package/dist/css/elements/inline/rtc/rtc.css +1 -0
  319. package/dist/css/elements/inline/rtc/rtc.css.map +1 -0
  320. package/dist/css/elements/inline/ruby/ruby.css +1 -0
  321. package/dist/css/elements/inline/ruby/ruby.css.map +1 -0
  322. package/dist/css/elements/inline/s/s.css +1 -0
  323. package/dist/css/elements/inline/s/s.css.map +1 -0
  324. package/dist/css/elements/inline/samp/samp.css +1 -0
  325. package/dist/css/elements/inline/samp/samp.css.map +1 -0
  326. package/dist/css/elements/inline/small/small.css +1 -0
  327. package/dist/css/elements/inline/small/small.css.map +1 -0
  328. package/dist/css/elements/inline/strong/strong.css +1 -0
  329. package/dist/css/elements/inline/strong/strong.css.map +1 -0
  330. package/dist/css/elements/inline/sub/sub.css +1 -0
  331. package/dist/css/elements/inline/sub/sub.css.map +1 -0
  332. package/dist/css/elements/inline/sup/sup.css +1 -0
  333. package/dist/css/elements/inline/sup/sup.css.map +1 -0
  334. package/dist/css/elements/inline/time/time.css +1 -0
  335. package/dist/css/elements/inline/time/time.css.map +1 -0
  336. package/dist/css/elements/inline/u/u.css +1 -0
  337. package/dist/css/elements/inline/u/u.css.map +1 -0
  338. package/dist/css/elements/inline/var/var.css +1 -0
  339. package/dist/css/elements/inline/var/var.css.map +1 -0
  340. package/dist/css/elements/interactive/details/details.css +1 -0
  341. package/dist/css/elements/interactive/details/details.css.map +1 -0
  342. package/dist/css/elements/interactive/dialog/dialog.css +1 -0
  343. package/dist/css/elements/interactive/dialog/dialog.css.map +1 -0
  344. package/dist/css/elements/interactive/summary/summary.css +1 -0
  345. package/dist/css/elements/interactive/summary/summary.css.map +1 -0
  346. package/dist/css/elements/layout/article/article.css +1 -0
  347. package/dist/css/elements/layout/article/article.css.map +1 -0
  348. package/dist/css/elements/layout/aside/aside.css +1 -0
  349. package/dist/css/elements/layout/aside/aside.css.map +1 -0
  350. package/dist/css/elements/layout/footer/footer.css +1 -0
  351. package/dist/css/elements/layout/footer/footer.css.map +1 -0
  352. package/dist/css/elements/layout/header/header.css +1 -0
  353. package/dist/css/elements/layout/header/header.css.map +1 -0
  354. package/dist/css/elements/layout/main/main.css +1 -0
  355. package/dist/css/elements/layout/main/main.css.map +1 -0
  356. package/dist/css/elements/layout/nav/nav.css +1 -0
  357. package/dist/css/elements/layout/nav/nav.css.map +1 -0
  358. package/dist/css/elements/layout/section/section.css +1 -0
  359. package/dist/css/elements/layout/section/section.css.map +1 -0
  360. package/dist/css/elements/list/dd/dd.css +1 -0
  361. package/dist/css/elements/list/dd/dd.css.map +1 -0
  362. package/dist/css/elements/list/dl/dl.css +1 -0
  363. package/dist/css/elements/list/dl/dl.css.map +1 -0
  364. package/dist/css/elements/list/dt/dt.css +1 -0
  365. package/dist/css/elements/list/dt/dt.css.map +1 -0
  366. package/dist/css/elements/list/li/li.css +1 -0
  367. package/dist/css/elements/list/li/li.css.map +1 -0
  368. package/dist/css/elements/list/ol/ol.css +1 -0
  369. package/dist/css/elements/list/ol/ol.css.map +1 -0
  370. package/dist/css/elements/list/ul/ul.css +1 -0
  371. package/dist/css/elements/list/ul/ul.css.map +1 -0
  372. package/dist/css/elements/media/audio/audio.css +1 -0
  373. package/dist/css/elements/media/audio/audio.css.map +1 -0
  374. package/dist/css/elements/media/canvas/canvas.css +1 -0
  375. package/dist/css/elements/media/canvas/canvas.css.map +1 -0
  376. package/dist/css/elements/media/embed/embed.css +1 -0
  377. package/dist/css/elements/media/embed/embed.css.map +1 -0
  378. package/dist/css/elements/media/iframe/iframe.css +1 -0
  379. package/dist/css/elements/media/iframe/iframe.css.map +1 -0
  380. package/dist/css/elements/media/img/img.css +1 -0
  381. package/dist/css/elements/media/img/img.css.map +1 -0
  382. package/dist/css/elements/media/math/math.css +1 -0
  383. package/dist/css/elements/media/math/math.css.map +1 -0
  384. package/dist/css/elements/media/object/object.css +1 -0
  385. package/dist/css/elements/media/object/object.css.map +1 -0
  386. package/dist/css/elements/media/svg/svg.css +1 -0
  387. package/dist/css/elements/media/svg/svg.css.map +1 -0
  388. package/dist/css/elements/media/video/video.css +1 -0
  389. package/dist/css/elements/media/video/video.css.map +1 -0
  390. package/dist/css/elements/responsive/area/area.css +1 -0
  391. package/dist/css/elements/responsive/area/area.css.map +1 -0
  392. package/dist/css/elements/responsive/map/map.css +1 -0
  393. package/dist/css/elements/responsive/map/map.css.map +1 -0
  394. package/dist/css/elements/responsive/picture/picture.css +1 -0
  395. package/dist/css/elements/responsive/picture/picture.css.map +1 -0
  396. package/dist/css/elements/responsive/source/source.css +1 -0
  397. package/dist/css/elements/responsive/source/source.css.map +1 -0
  398. package/dist/css/elements/responsive/track/track.css +1 -0
  399. package/dist/css/elements/responsive/track/track.css.map +1 -0
  400. package/dist/css/elements/table/caption/caption.css +1 -0
  401. package/dist/css/elements/table/caption/caption.css.map +1 -0
  402. package/dist/css/elements/table/col/col.css +1 -0
  403. package/dist/css/elements/table/col/col.css.map +1 -0
  404. package/dist/css/elements/table/colgroup/colgroup.css +1 -0
  405. package/dist/css/elements/table/colgroup/colgroup.css.map +1 -0
  406. package/dist/css/elements/table/table/table.css +1 -0
  407. package/dist/css/elements/table/table/table.css.map +1 -0
  408. package/dist/css/elements/table/tbody/tbody.css +1 -0
  409. package/dist/css/elements/table/tbody/tbody.css.map +1 -0
  410. package/dist/css/elements/table/td/td.css +1 -0
  411. package/dist/css/elements/table/td/td.css.map +1 -0
  412. package/dist/css/elements/table/tfoot/tfoot.css +1 -0
  413. package/dist/css/elements/table/tfoot/tfoot.css.map +1 -0
  414. package/dist/css/elements/table/th/th.css +1 -0
  415. package/dist/css/elements/table/th/th.css.map +1 -0
  416. package/dist/css/elements/table/thead/thead.css +1 -0
  417. package/dist/css/elements/table/thead/thead.css.map +1 -0
  418. package/dist/css/elements/table/tr/tr.css +1 -0
  419. package/dist/css/elements/table/tr/tr.css.map +1 -0
  420. package/dist/css/elements/text/address/address.css +1 -0
  421. package/dist/css/elements/text/address/address.css.map +1 -0
  422. package/dist/css/elements/text/blockquote/blockquote.css +1 -0
  423. package/dist/css/elements/text/blockquote/blockquote.css.map +1 -0
  424. package/dist/css/elements/text/hr/hr.css +1 -0
  425. package/dist/css/elements/text/hr/hr.css.map +1 -0
  426. package/dist/css/elements/text/paragraph/paragraph.css +1 -0
  427. package/dist/css/elements/text/paragraph/paragraph.css.map +1 -0
  428. package/dist/css/elements/text/pre/pre.css +1 -0
  429. package/dist/css/elements/text/pre/pre.css.map +1 -0
  430. package/dist/css/main.css +1 -0
  431. package/dist/css/main.css.map +1 -0
  432. package/dist/esm/chunks/dom.js +38 -0
  433. package/dist/esm/chunks/dom.js.map +1 -0
  434. package/dist/esm/chunks/inline.js +81 -0
  435. package/dist/esm/chunks/inline.js.map +1 -0
  436. package/dist/esm/chunks/pkgn-sol.js +7 -0
  437. package/dist/esm/chunks/pkgn-sol.js.map +1 -0
  438. package/dist/esm/elements/break/br/br.js +26 -0
  439. package/dist/esm/elements/break/br/br.js.map +1 -0
  440. package/dist/esm/elements/break/break.js +12 -0
  441. package/dist/esm/elements/break/break.js.map +1 -0
  442. package/dist/esm/elements/break/wbr/wbr.js +26 -0
  443. package/dist/esm/elements/break/wbr/wbr.js.map +1 -0
  444. package/dist/esm/elements/container/container.js +12 -0
  445. package/dist/esm/elements/container/container.js.map +1 -0
  446. package/dist/esm/elements/container/div/div.js +26 -0
  447. package/dist/esm/elements/container/div/div.js.map +1 -0
  448. package/dist/esm/elements/container/span/span.js +26 -0
  449. package/dist/esm/elements/container/span/span.js.map +1 -0
  450. package/dist/esm/elements/figure/figcaption/figcaption.js +26 -0
  451. package/dist/esm/elements/figure/figcaption/figcaption.js.map +1 -0
  452. package/dist/esm/elements/figure/figure/figure.js +26 -0
  453. package/dist/esm/elements/figure/figure/figure.js.map +1 -0
  454. package/dist/esm/elements/figure/figure.js +12 -0
  455. package/dist/esm/elements/figure/figure.js.map +1 -0
  456. package/dist/esm/elements/form/button/button.js +31 -0
  457. package/dist/esm/elements/form/button/button.js.map +1 -0
  458. package/dist/esm/elements/form/datalist/datalist.js +26 -0
  459. package/dist/esm/elements/form/datalist/datalist.js.map +1 -0
  460. package/dist/esm/elements/form/fieldset/fieldset.js +27 -0
  461. package/dist/esm/elements/form/fieldset/fieldset.js.map +1 -0
  462. package/dist/esm/elements/form/form/form.js +27 -0
  463. package/dist/esm/elements/form/form/form.js.map +1 -0
  464. package/dist/esm/elements/form/form.js +36 -0
  465. package/dist/esm/elements/form/form.js.map +1 -0
  466. package/dist/esm/elements/form/input/input.js +31 -0
  467. package/dist/esm/elements/form/input/input.js.map +1 -0
  468. package/dist/esm/elements/form/label/label.js +29 -0
  469. package/dist/esm/elements/form/label/label.js.map +1 -0
  470. package/dist/esm/elements/form/legend/legend.js +26 -0
  471. package/dist/esm/elements/form/legend/legend.js.map +1 -0
  472. package/dist/esm/elements/form/meter/meter.js +29 -0
  473. package/dist/esm/elements/form/meter/meter.js.map +1 -0
  474. package/dist/esm/elements/form/optgroup/optgroup.js +24 -0
  475. package/dist/esm/elements/form/optgroup/optgroup.js.map +1 -0
  476. package/dist/esm/elements/form/option/option.js +26 -0
  477. package/dist/esm/elements/form/option/option.js.map +1 -0
  478. package/dist/esm/elements/form/output/output.js +27 -0
  479. package/dist/esm/elements/form/output/output.js.map +1 -0
  480. package/dist/esm/elements/form/progress/progress.js +27 -0
  481. package/dist/esm/elements/form/progress/progress.js.map +1 -0
  482. package/dist/esm/elements/form/select/select.js +29 -0
  483. package/dist/esm/elements/form/select/select.js.map +1 -0
  484. package/dist/esm/elements/form/textarea/textarea.js +31 -0
  485. package/dist/esm/elements/form/textarea/textarea.js.map +1 -0
  486. package/dist/esm/elements/heading/h1/h1.js +26 -0
  487. package/dist/esm/elements/heading/h1/h1.js.map +1 -0
  488. package/dist/esm/elements/heading/h2/h2.js +26 -0
  489. package/dist/esm/elements/heading/h2/h2.js.map +1 -0
  490. package/dist/esm/elements/heading/h3/h3.js +26 -0
  491. package/dist/esm/elements/heading/h3/h3.js.map +1 -0
  492. package/dist/esm/elements/heading/h4/h4.js +26 -0
  493. package/dist/esm/elements/heading/h4/h4.js.map +1 -0
  494. package/dist/esm/elements/heading/h5/h5.js +26 -0
  495. package/dist/esm/elements/heading/h5/h5.js.map +1 -0
  496. package/dist/esm/elements/heading/h6/h6.js +26 -0
  497. package/dist/esm/elements/heading/h6/h6.js.map +1 -0
  498. package/dist/esm/elements/heading/heading.js +20 -0
  499. package/dist/esm/elements/heading/heading.js.map +1 -0
  500. package/dist/esm/elements/inline/a/a.js +28 -0
  501. package/dist/esm/elements/inline/a/a.js.map +1 -0
  502. package/dist/esm/elements/inline/abbr/abbr.js +26 -0
  503. package/dist/esm/elements/inline/abbr/abbr.js.map +1 -0
  504. package/dist/esm/elements/inline/b/b.js +26 -0
  505. package/dist/esm/elements/inline/b/b.js.map +1 -0
  506. package/dist/esm/elements/inline/cite/cite.js +26 -0
  507. package/dist/esm/elements/inline/cite/cite.js.map +1 -0
  508. package/dist/esm/elements/inline/code/code.js +26 -0
  509. package/dist/esm/elements/inline/code/code.js.map +1 -0
  510. package/dist/esm/elements/inline/data/data.js +26 -0
  511. package/dist/esm/elements/inline/data/data.js.map +1 -0
  512. package/dist/esm/elements/inline/dfn/dfn.js +26 -0
  513. package/dist/esm/elements/inline/dfn/dfn.js.map +1 -0
  514. package/dist/esm/elements/inline/em/em.js +26 -0
  515. package/dist/esm/elements/inline/em/em.js.map +1 -0
  516. package/dist/esm/elements/inline/i/i.js +26 -0
  517. package/dist/esm/elements/inline/i/i.js.map +1 -0
  518. package/dist/esm/elements/inline/inline.js +27 -0
  519. package/dist/esm/elements/inline/kbd/kbd.js +26 -0
  520. package/dist/esm/elements/inline/kbd/kbd.js.map +1 -0
  521. package/dist/esm/elements/inline/mark/mark.js +26 -0
  522. package/dist/esm/elements/inline/mark/mark.js.map +1 -0
  523. package/dist/esm/elements/inline/q/q.js +33 -0
  524. package/dist/esm/elements/inline/q/q.js.map +1 -0
  525. package/dist/esm/elements/inline/rb/rb.js +26 -0
  526. package/dist/esm/elements/inline/rb/rb.js.map +1 -0
  527. package/dist/esm/elements/inline/rt/rt.js +26 -0
  528. package/dist/esm/elements/inline/rt/rt.js.map +1 -0
  529. package/dist/esm/elements/inline/rtc/rtc.js +27 -0
  530. package/dist/esm/elements/inline/rtc/rtc.js.map +1 -0
  531. package/dist/esm/elements/inline/ruby/ruby.js +26 -0
  532. package/dist/esm/elements/inline/ruby/ruby.js.map +1 -0
  533. package/dist/esm/elements/inline/s/s.js +26 -0
  534. package/dist/esm/elements/inline/s/s.js.map +1 -0
  535. package/dist/esm/elements/inline/samp/samp.js +26 -0
  536. package/dist/esm/elements/inline/samp/samp.js.map +1 -0
  537. package/dist/esm/elements/inline/small/small.js +26 -0
  538. package/dist/esm/elements/inline/small/small.js.map +1 -0
  539. package/dist/esm/elements/inline/strong/strong.js +26 -0
  540. package/dist/esm/elements/inline/strong/strong.js.map +1 -0
  541. package/dist/esm/elements/inline/sub/sub.js +26 -0
  542. package/dist/esm/elements/inline/sub/sub.js.map +1 -0
  543. package/dist/esm/elements/inline/sup/sup.js +26 -0
  544. package/dist/esm/elements/inline/sup/sup.js.map +1 -0
  545. package/dist/esm/elements/inline/time/time.js +26 -0
  546. package/dist/esm/elements/inline/time/time.js.map +1 -0
  547. package/dist/esm/elements/inline/u/u.js +26 -0
  548. package/dist/esm/elements/inline/u/u.js.map +1 -0
  549. package/dist/esm/elements/inline/var/var.js +26 -0
  550. package/dist/esm/elements/inline/var/var.js.map +1 -0
  551. package/dist/esm/elements/interactive/details/details.js +29 -0
  552. package/dist/esm/elements/interactive/details/details.js.map +1 -0
  553. package/dist/esm/elements/interactive/dialog/dialog.js +26 -0
  554. package/dist/esm/elements/interactive/dialog/dialog.js.map +1 -0
  555. package/dist/esm/elements/interactive/interactive.js +14 -0
  556. package/dist/esm/elements/interactive/interactive.js.map +1 -0
  557. package/dist/esm/elements/interactive/summary/summary.js +26 -0
  558. package/dist/esm/elements/interactive/summary/summary.js.map +1 -0
  559. package/dist/esm/elements/layout/article/article.js +26 -0
  560. package/dist/esm/elements/layout/article/article.js.map +1 -0
  561. package/dist/esm/elements/layout/aside/aside.js +26 -0
  562. package/dist/esm/elements/layout/aside/aside.js.map +1 -0
  563. package/dist/esm/elements/layout/footer/footer.js +26 -0
  564. package/dist/esm/elements/layout/footer/footer.js.map +1 -0
  565. package/dist/esm/elements/layout/header/header.js +26 -0
  566. package/dist/esm/elements/layout/header/header.js.map +1 -0
  567. package/dist/esm/elements/layout/layout.js +22 -0
  568. package/dist/esm/elements/layout/layout.js.map +1 -0
  569. package/dist/esm/elements/layout/main/main.js +26 -0
  570. package/dist/esm/elements/layout/main/main.js.map +1 -0
  571. package/dist/esm/elements/layout/nav/nav.js +26 -0
  572. package/dist/esm/elements/layout/nav/nav.js.map +1 -0
  573. package/dist/esm/elements/layout/section/section.js +26 -0
  574. package/dist/esm/elements/layout/section/section.js.map +1 -0
  575. package/dist/esm/elements/list/dd/dd.js +26 -0
  576. package/dist/esm/elements/list/dd/dd.js.map +1 -0
  577. package/dist/esm/elements/list/dl/dl.js +26 -0
  578. package/dist/esm/elements/list/dl/dl.js.map +1 -0
  579. package/dist/esm/elements/list/dt/dt.js +26 -0
  580. package/dist/esm/elements/list/dt/dt.js.map +1 -0
  581. package/dist/esm/elements/list/li/li.js +27 -0
  582. package/dist/esm/elements/list/li/li.js.map +1 -0
  583. package/dist/esm/elements/list/list.js +20 -0
  584. package/dist/esm/elements/list/list.js.map +1 -0
  585. package/dist/esm/elements/list/ol/ol.js +27 -0
  586. package/dist/esm/elements/list/ol/ol.js.map +1 -0
  587. package/dist/esm/elements/list/ul/ul.js +26 -0
  588. package/dist/esm/elements/list/ul/ul.js.map +1 -0
  589. package/dist/esm/elements/media/audio/audio.js +27 -0
  590. package/dist/esm/elements/media/audio/audio.js.map +1 -0
  591. package/dist/esm/elements/media/canvas/canvas.js +21 -0
  592. package/dist/esm/elements/media/canvas/canvas.js.map +1 -0
  593. package/dist/esm/elements/media/embed/embed.js +44 -0
  594. package/dist/esm/elements/media/embed/embed.js.map +1 -0
  595. package/dist/esm/elements/media/iframe/iframe.js +27 -0
  596. package/dist/esm/elements/media/iframe/iframe.js.map +1 -0
  597. package/dist/esm/elements/media/img/img.js +25 -0
  598. package/dist/esm/elements/media/img/img.js.map +1 -0
  599. package/dist/esm/elements/media/math/math.js +23 -0
  600. package/dist/esm/elements/media/math/math.js.map +1 -0
  601. package/dist/esm/elements/media/media.js +26 -0
  602. package/dist/esm/elements/media/media.js.map +1 -0
  603. package/dist/esm/elements/media/object/object.js +37 -0
  604. package/dist/esm/elements/media/object/object.js.map +1 -0
  605. package/dist/esm/elements/media/svg/svg.js +27 -0
  606. package/dist/esm/elements/media/svg/svg.js.map +1 -0
  607. package/dist/esm/elements/media/video/video.js +27 -0
  608. package/dist/esm/elements/media/video/video.js.map +1 -0
  609. package/dist/esm/elements/responsive/area/area.js +20 -0
  610. package/dist/esm/elements/responsive/area/area.js.map +1 -0
  611. package/dist/esm/elements/responsive/map/map.js +35 -0
  612. package/dist/esm/elements/responsive/map/map.js.map +1 -0
  613. package/dist/esm/elements/responsive/picture/picture.js +26 -0
  614. package/dist/esm/elements/responsive/picture/picture.js.map +1 -0
  615. package/dist/esm/elements/responsive/responsive.js +18 -0
  616. package/dist/esm/elements/responsive/responsive.js.map +1 -0
  617. package/dist/esm/elements/responsive/source/source.js +29 -0
  618. package/dist/esm/elements/responsive/source/source.js.map +1 -0
  619. package/dist/esm/elements/responsive/track/track.js +27 -0
  620. package/dist/esm/elements/responsive/track/track.js.map +1 -0
  621. package/dist/esm/elements/table/caption/caption.js +26 -0
  622. package/dist/esm/elements/table/caption/caption.js.map +1 -0
  623. package/dist/esm/elements/table/col/col.js +30 -0
  624. package/dist/esm/elements/table/col/col.js.map +1 -0
  625. package/dist/esm/elements/table/colgroup/colgroup.js +33 -0
  626. package/dist/esm/elements/table/colgroup/colgroup.js.map +1 -0
  627. package/dist/esm/elements/table/table/table.js +26 -0
  628. package/dist/esm/elements/table/table/table.js.map +1 -0
  629. package/dist/esm/elements/table/table.js +28 -0
  630. package/dist/esm/elements/table/table.js.map +1 -0
  631. package/dist/esm/elements/table/tbody/tbody.js +26 -0
  632. package/dist/esm/elements/table/tbody/tbody.js.map +1 -0
  633. package/dist/esm/elements/table/td/td.js +39 -0
  634. package/dist/esm/elements/table/td/td.js.map +1 -0
  635. package/dist/esm/elements/table/tfoot/tfoot.js +26 -0
  636. package/dist/esm/elements/table/tfoot/tfoot.js.map +1 -0
  637. package/dist/esm/elements/table/th/th.js +33 -0
  638. package/dist/esm/elements/table/th/th.js.map +1 -0
  639. package/dist/esm/elements/table/thead/thead.js +26 -0
  640. package/dist/esm/elements/table/thead/thead.js.map +1 -0
  641. package/dist/esm/elements/table/tr/tr.js +26 -0
  642. package/dist/esm/elements/table/tr/tr.js.map +1 -0
  643. package/dist/esm/elements/text/address/address.js +26 -0
  644. package/dist/esm/elements/text/address/address.js.map +1 -0
  645. package/dist/esm/elements/text/blockquote/blockquote.js +29 -0
  646. package/dist/esm/elements/text/blockquote/blockquote.js.map +1 -0
  647. package/dist/esm/elements/text/hr/hr.js +26 -0
  648. package/dist/esm/elements/text/hr/hr.js.map +1 -0
  649. package/dist/esm/elements/text/paragraph/paragraph.js +26 -0
  650. package/dist/esm/elements/text/paragraph/paragraph.js.map +1 -0
  651. package/dist/esm/elements/text/pre/pre.js +26 -0
  652. package/dist/esm/elements/text/pre/pre.js.map +1 -0
  653. package/dist/esm/elements/text/text.js +18 -0
  654. package/dist/esm/elements/text/text.js.map +1 -0
  655. package/dist/esm/elements.js +34 -0
  656. package/dist/esm/elements.js.map +1 -0
  657. package/dist/esm/index.js +73 -0
  658. package/dist/esm/index.js.map +1 -0
  659. package/dist/types/elements/break/br/index.d.ts +111 -0
  660. package/dist/types/elements/break/br/index.d.ts.map +1 -0
  661. package/dist/types/elements/break/index.d.ts +32 -0
  662. package/dist/types/elements/break/index.d.ts.map +1 -0
  663. package/dist/types/elements/break/wbr/index.d.ts +112 -0
  664. package/dist/types/elements/break/wbr/index.d.ts.map +1 -0
  665. package/dist/types/elements/container/div/index.d.ts +123 -0
  666. package/dist/types/elements/container/div/index.d.ts.map +1 -0
  667. package/dist/types/elements/container/index.d.ts +32 -0
  668. package/dist/types/elements/container/index.d.ts.map +1 -0
  669. package/dist/types/elements/container/span/index.d.ts +100 -0
  670. package/dist/types/elements/container/span/index.d.ts.map +1 -0
  671. package/dist/types/elements/figure/figcaption/index.d.ts +115 -0
  672. package/dist/types/elements/figure/figcaption/index.d.ts.map +1 -0
  673. package/dist/types/elements/figure/figure/index.d.ts +124 -0
  674. package/dist/types/elements/figure/figure/index.d.ts.map +1 -0
  675. package/dist/types/elements/figure/index.d.ts +38 -0
  676. package/dist/types/elements/figure/index.d.ts.map +1 -0
  677. package/dist/types/elements/form/button/index.d.ts +216 -0
  678. package/dist/types/elements/form/button/index.d.ts.map +1 -0
  679. package/dist/types/elements/form/datalist/index.d.ts +140 -0
  680. package/dist/types/elements/form/datalist/index.d.ts.map +1 -0
  681. package/dist/types/elements/form/fieldset/index.d.ts +147 -0
  682. package/dist/types/elements/form/fieldset/index.d.ts.map +1 -0
  683. package/dist/types/elements/form/form/index.d.ts +210 -0
  684. package/dist/types/elements/form/form/index.d.ts.map +1 -0
  685. package/dist/types/elements/form/index.d.ts +140 -0
  686. package/dist/types/elements/form/index.d.ts.map +1 -0
  687. package/dist/types/elements/form/input/index.d.ts +313 -0
  688. package/dist/types/elements/form/input/index.d.ts.map +1 -0
  689. package/dist/types/elements/form/label/index.d.ts +144 -0
  690. package/dist/types/elements/form/label/index.d.ts.map +1 -0
  691. package/dist/types/elements/form/legend/index.d.ts +126 -0
  692. package/dist/types/elements/form/legend/index.d.ts.map +1 -0
  693. package/dist/types/elements/form/meter/index.d.ts +152 -0
  694. package/dist/types/elements/form/meter/index.d.ts.map +1 -0
  695. package/dist/types/elements/form/optgroup/index.d.ts +127 -0
  696. package/dist/types/elements/form/optgroup/index.d.ts.map +1 -0
  697. package/dist/types/elements/form/option/index.d.ts +160 -0
  698. package/dist/types/elements/form/option/index.d.ts.map +1 -0
  699. package/dist/types/elements/form/output/index.d.ts +146 -0
  700. package/dist/types/elements/form/output/index.d.ts.map +1 -0
  701. package/dist/types/elements/form/progress/index.d.ts +140 -0
  702. package/dist/types/elements/form/progress/index.d.ts.map +1 -0
  703. package/dist/types/elements/form/select/index.d.ts +158 -0
  704. package/dist/types/elements/form/select/index.d.ts.map +1 -0
  705. package/dist/types/elements/form/textarea/index.d.ts +228 -0
  706. package/dist/types/elements/form/textarea/index.d.ts.map +1 -0
  707. package/dist/types/elements/heading/h1/index.d.ts +130 -0
  708. package/dist/types/elements/heading/h1/index.d.ts.map +1 -0
  709. package/dist/types/elements/heading/h2/index.d.ts +128 -0
  710. package/dist/types/elements/heading/h2/index.d.ts.map +1 -0
  711. package/dist/types/elements/heading/h3/index.d.ts +126 -0
  712. package/dist/types/elements/heading/h3/index.d.ts.map +1 -0
  713. package/dist/types/elements/heading/h4/index.d.ts +113 -0
  714. package/dist/types/elements/heading/h4/index.d.ts.map +1 -0
  715. package/dist/types/elements/heading/h5/index.d.ts +126 -0
  716. package/dist/types/elements/heading/h5/index.d.ts.map +1 -0
  717. package/dist/types/elements/heading/h6/index.d.ts +119 -0
  718. package/dist/types/elements/heading/h6/index.d.ts.map +1 -0
  719. package/dist/types/elements/heading/index.d.ts +68 -0
  720. package/dist/types/elements/heading/index.d.ts.map +1 -0
  721. package/dist/types/elements/index.d.ts +106 -0
  722. package/dist/types/elements/index.d.ts.map +1 -0
  723. package/dist/types/elements/inline/a/index.d.ts +203 -0
  724. package/dist/types/elements/inline/a/index.d.ts.map +1 -0
  725. package/dist/types/elements/inline/abbr/index.d.ts +132 -0
  726. package/dist/types/elements/inline/abbr/index.d.ts.map +1 -0
  727. package/dist/types/elements/inline/b/index.d.ts +121 -0
  728. package/dist/types/elements/inline/b/index.d.ts.map +1 -0
  729. package/dist/types/elements/inline/cite/index.d.ts +125 -0
  730. package/dist/types/elements/inline/cite/index.d.ts.map +1 -0
  731. package/dist/types/elements/inline/code/index.d.ts +137 -0
  732. package/dist/types/elements/inline/code/index.d.ts.map +1 -0
  733. package/dist/types/elements/inline/data/index.d.ts +144 -0
  734. package/dist/types/elements/inline/data/index.d.ts.map +1 -0
  735. package/dist/types/elements/inline/dfn/index.d.ts +124 -0
  736. package/dist/types/elements/inline/dfn/index.d.ts.map +1 -0
  737. package/dist/types/elements/inline/em/index.d.ts +124 -0
  738. package/dist/types/elements/inline/em/index.d.ts.map +1 -0
  739. package/dist/types/elements/inline/i/index.d.ts +143 -0
  740. package/dist/types/elements/inline/i/index.d.ts.map +1 -0
  741. package/dist/types/elements/inline/index.d.ts +229 -0
  742. package/dist/types/elements/inline/index.d.ts.map +1 -0
  743. package/dist/types/elements/inline/kbd/index.d.ts +123 -0
  744. package/dist/types/elements/inline/kbd/index.d.ts.map +1 -0
  745. package/dist/types/elements/inline/mark/index.d.ts +125 -0
  746. package/dist/types/elements/inline/mark/index.d.ts.map +1 -0
  747. package/dist/types/elements/inline/q/index.d.ts +138 -0
  748. package/dist/types/elements/inline/q/index.d.ts.map +1 -0
  749. package/dist/types/elements/inline/rb/index.d.ts +143 -0
  750. package/dist/types/elements/inline/rb/index.d.ts.map +1 -0
  751. package/dist/types/elements/inline/rp/index.d.ts +123 -0
  752. package/dist/types/elements/inline/rp/index.d.ts.map +1 -0
  753. package/dist/types/elements/inline/rt/index.d.ts +124 -0
  754. package/dist/types/elements/inline/rt/index.d.ts.map +1 -0
  755. package/dist/types/elements/inline/rtc/index.d.ts +122 -0
  756. package/dist/types/elements/inline/rtc/index.d.ts.map +1 -0
  757. package/dist/types/elements/inline/ruby/index.d.ts +147 -0
  758. package/dist/types/elements/inline/ruby/index.d.ts.map +1 -0
  759. package/dist/types/elements/inline/s/index.d.ts +125 -0
  760. package/dist/types/elements/inline/s/index.d.ts.map +1 -0
  761. package/dist/types/elements/inline/samp/index.d.ts +122 -0
  762. package/dist/types/elements/inline/samp/index.d.ts.map +1 -0
  763. package/dist/types/elements/inline/small/index.d.ts +138 -0
  764. package/dist/types/elements/inline/small/index.d.ts.map +1 -0
  765. package/dist/types/elements/inline/strong/index.d.ts +126 -0
  766. package/dist/types/elements/inline/strong/index.d.ts.map +1 -0
  767. package/dist/types/elements/inline/sub/index.d.ts +130 -0
  768. package/dist/types/elements/inline/sub/index.d.ts.map +1 -0
  769. package/dist/types/elements/inline/sup/index.d.ts +125 -0
  770. package/dist/types/elements/inline/sup/index.d.ts.map +1 -0
  771. package/dist/types/elements/inline/time/index.d.ts +149 -0
  772. package/dist/types/elements/inline/time/index.d.ts.map +1 -0
  773. package/dist/types/elements/inline/u/index.d.ts +122 -0
  774. package/dist/types/elements/inline/u/index.d.ts.map +1 -0
  775. package/dist/types/elements/inline/var/index.d.ts +127 -0
  776. package/dist/types/elements/inline/var/index.d.ts.map +1 -0
  777. package/dist/types/elements/interactive/details/index.d.ts +134 -0
  778. package/dist/types/elements/interactive/details/index.d.ts.map +1 -0
  779. package/dist/types/elements/interactive/dialog/index.d.ts +162 -0
  780. package/dist/types/elements/interactive/dialog/index.d.ts.map +1 -0
  781. package/dist/types/elements/interactive/index.d.ts +48 -0
  782. package/dist/types/elements/interactive/index.d.ts.map +1 -0
  783. package/dist/types/elements/interactive/summary/index.d.ts +122 -0
  784. package/dist/types/elements/interactive/summary/index.d.ts.map +1 -0
  785. package/dist/types/elements/layout/article/index.d.ts +129 -0
  786. package/dist/types/elements/layout/article/index.d.ts.map +1 -0
  787. package/dist/types/elements/layout/aside/index.d.ts +122 -0
  788. package/dist/types/elements/layout/aside/index.d.ts.map +1 -0
  789. package/dist/types/elements/layout/footer/index.d.ts +122 -0
  790. package/dist/types/elements/layout/footer/index.d.ts.map +1 -0
  791. package/dist/types/elements/layout/header/index.d.ts +131 -0
  792. package/dist/types/elements/layout/header/index.d.ts.map +1 -0
  793. package/dist/types/elements/layout/index.d.ts +83 -0
  794. package/dist/types/elements/layout/index.d.ts.map +1 -0
  795. package/dist/types/elements/layout/main/index.d.ts +135 -0
  796. package/dist/types/elements/layout/main/index.d.ts.map +1 -0
  797. package/dist/types/elements/layout/nav/index.d.ts +136 -0
  798. package/dist/types/elements/layout/nav/index.d.ts.map +1 -0
  799. package/dist/types/elements/layout/section/index.d.ts +128 -0
  800. package/dist/types/elements/layout/section/index.d.ts.map +1 -0
  801. package/dist/types/elements/list/dd/index.d.ts +120 -0
  802. package/dist/types/elements/list/dd/index.d.ts.map +1 -0
  803. package/dist/types/elements/list/dl/index.d.ts +131 -0
  804. package/dist/types/elements/list/dl/index.d.ts.map +1 -0
  805. package/dist/types/elements/list/dt/index.d.ts +126 -0
  806. package/dist/types/elements/list/dt/index.d.ts.map +1 -0
  807. package/dist/types/elements/list/index.d.ts +69 -0
  808. package/dist/types/elements/list/index.d.ts.map +1 -0
  809. package/dist/types/elements/list/li/index.d.ts +155 -0
  810. package/dist/types/elements/list/li/index.d.ts.map +1 -0
  811. package/dist/types/elements/list/ol/index.d.ts +155 -0
  812. package/dist/types/elements/list/ol/index.d.ts.map +1 -0
  813. package/dist/types/elements/list/ul/index.d.ts +145 -0
  814. package/dist/types/elements/list/ul/index.d.ts.map +1 -0
  815. package/dist/types/elements/media/audio/index.d.ts +197 -0
  816. package/dist/types/elements/media/audio/index.d.ts.map +1 -0
  817. package/dist/types/elements/media/canvas/index.d.ts +146 -0
  818. package/dist/types/elements/media/canvas/index.d.ts.map +1 -0
  819. package/dist/types/elements/media/embed/index.d.ts +138 -0
  820. package/dist/types/elements/media/embed/index.d.ts.map +1 -0
  821. package/dist/types/elements/media/iframe/index.d.ts +222 -0
  822. package/dist/types/elements/media/iframe/index.d.ts.map +1 -0
  823. package/dist/types/elements/media/img/index.d.ts +83 -0
  824. package/dist/types/elements/media/img/index.d.ts.map +1 -0
  825. package/dist/types/elements/media/index.d.ts +89 -0
  826. package/dist/types/elements/media/index.d.ts.map +1 -0
  827. package/dist/types/elements/media/math/index.d.ts +132 -0
  828. package/dist/types/elements/media/math/index.d.ts.map +1 -0
  829. package/dist/types/elements/media/object/index.d.ts +183 -0
  830. package/dist/types/elements/media/object/index.d.ts.map +1 -0
  831. package/dist/types/elements/media/svg/index.d.ts +44 -0
  832. package/dist/types/elements/media/svg/index.d.ts.map +1 -0
  833. package/dist/types/elements/media/video/index.d.ts +225 -0
  834. package/dist/types/elements/media/video/index.d.ts.map +1 -0
  835. package/dist/types/elements/responsive/area/index.d.ts +158 -0
  836. package/dist/types/elements/responsive/area/index.d.ts.map +1 -0
  837. package/dist/types/elements/responsive/index.d.ts +67 -0
  838. package/dist/types/elements/responsive/index.d.ts.map +1 -0
  839. package/dist/types/elements/responsive/map/index.d.ts +138 -0
  840. package/dist/types/elements/responsive/map/index.d.ts.map +1 -0
  841. package/dist/types/elements/responsive/picture/index.d.ts +120 -0
  842. package/dist/types/elements/responsive/picture/index.d.ts.map +1 -0
  843. package/dist/types/elements/responsive/source/index.d.ts +175 -0
  844. package/dist/types/elements/responsive/source/index.d.ts.map +1 -0
  845. package/dist/types/elements/responsive/track/index.d.ts +183 -0
  846. package/dist/types/elements/responsive/track/index.d.ts.map +1 -0
  847. package/dist/types/elements/table/caption/index.d.ts +132 -0
  848. package/dist/types/elements/table/caption/index.d.ts.map +1 -0
  849. package/dist/types/elements/table/col/index.d.ts +132 -0
  850. package/dist/types/elements/table/col/index.d.ts.map +1 -0
  851. package/dist/types/elements/table/colgroup/index.d.ts +147 -0
  852. package/dist/types/elements/table/colgroup/index.d.ts.map +1 -0
  853. package/dist/types/elements/table/index.d.ts +102 -0
  854. package/dist/types/elements/table/index.d.ts.map +1 -0
  855. package/dist/types/elements/table/table/index.d.ts +143 -0
  856. package/dist/types/elements/table/table/index.d.ts.map +1 -0
  857. package/dist/types/elements/table/tbody/index.d.ts +134 -0
  858. package/dist/types/elements/table/tbody/index.d.ts.map +1 -0
  859. package/dist/types/elements/table/td/index.d.ts +146 -0
  860. package/dist/types/elements/table/td/index.d.ts.map +1 -0
  861. package/dist/types/elements/table/tfoot/index.d.ts +131 -0
  862. package/dist/types/elements/table/tfoot/index.d.ts.map +1 -0
  863. package/dist/types/elements/table/th/index.d.ts +187 -0
  864. package/dist/types/elements/table/th/index.d.ts.map +1 -0
  865. package/dist/types/elements/table/thead/index.d.ts +130 -0
  866. package/dist/types/elements/table/thead/index.d.ts.map +1 -0
  867. package/dist/types/elements/table/tr/index.d.ts +134 -0
  868. package/dist/types/elements/table/tr/index.d.ts.map +1 -0
  869. package/dist/types/elements/text/address/index.d.ts +133 -0
  870. package/dist/types/elements/text/address/index.d.ts.map +1 -0
  871. package/dist/types/elements/text/blockquote/index.d.ts +153 -0
  872. package/dist/types/elements/text/blockquote/index.d.ts.map +1 -0
  873. package/dist/types/elements/text/hr/index.d.ts +121 -0
  874. package/dist/types/elements/text/hr/index.d.ts.map +1 -0
  875. package/dist/types/elements/text/index.d.ts +57 -0
  876. package/dist/types/elements/text/index.d.ts.map +1 -0
  877. package/dist/types/elements/text/paragraph/index.d.ts +139 -0
  878. package/dist/types/elements/text/paragraph/index.d.ts.map +1 -0
  879. package/dist/types/elements/text/pre/index.d.ts +135 -0
  880. package/dist/types/elements/text/pre/index.d.ts.map +1 -0
  881. package/dist/types/index.d.ts +4 -0
  882. package/dist/types/index.d.ts.map +1 -0
  883. package/dist/types/ts/adapters/tailwind/v4/index.d.ts +3 -0
  884. package/dist/types/ts/adapters/tailwind/v4/index.d.ts.map +1 -0
  885. package/dist/types/ts/adapters/tailwind/v4/plugin.d.ts +11 -0
  886. package/dist/types/ts/adapters/tailwind/v4/plugin.d.ts.map +1 -0
  887. package/dist/types/ts/adapters/tailwind/v4/preset.d.ts +12 -0
  888. package/dist/types/ts/adapters/tailwind/v4/preset.d.ts.map +1 -0
  889. package/dist/types/ts/dom.d.ts +247 -0
  890. package/dist/types/ts/dom.d.ts.map +1 -0
  891. package/package.json +705 -0
  892. package/src/elements/break/br/br.scss +26 -0
  893. package/src/elements/break/br/index.ts +150 -0
  894. package/src/elements/break/index.ts +33 -0
  895. package/src/elements/break/wbr/index.ts +151 -0
  896. package/src/elements/break/wbr/wbr.scss +27 -0
  897. package/src/elements/container/div/div.scss +27 -0
  898. package/src/elements/container/div/index.ts +163 -0
  899. package/src/elements/container/index.ts +33 -0
  900. package/src/elements/container/span/index.ts +137 -0
  901. package/src/elements/container/span/span.scss +28 -0
  902. package/src/elements/figure/figcaption/figcaption.scss +53 -0
  903. package/src/elements/figure/figcaption/index.ts +157 -0
  904. package/src/elements/figure/figure/figure.scss +53 -0
  905. package/src/elements/figure/figure/index.ts +164 -0
  906. package/src/elements/figure/index.ts +39 -0
  907. package/src/elements/form/button/button.scss +39 -0
  908. package/src/elements/form/button/index.ts +335 -0
  909. package/src/elements/form/datalist/datalist.scss +40 -0
  910. package/src/elements/form/datalist/index.ts +183 -0
  911. package/src/elements/form/fieldset/fieldset.scss +46 -0
  912. package/src/elements/form/fieldset/index.ts +211 -0
  913. package/src/elements/form/form/form.scss +42 -0
  914. package/src/elements/form/form/index.ts +308 -0
  915. package/src/elements/form/index.ts +153 -0
  916. package/src/elements/form/input/index.ts +528 -0
  917. package/src/elements/form/input/input.scss +39 -0
  918. package/src/elements/form/label/index.ts +194 -0
  919. package/src/elements/form/label/label.scss +41 -0
  920. package/src/elements/form/legend/index.ts +166 -0
  921. package/src/elements/form/legend/legend.scss +40 -0
  922. package/src/elements/form/meter/index.ts +231 -0
  923. package/src/elements/form/meter/meter.scss +36 -0
  924. package/src/elements/form/optgroup/index.ts +187 -0
  925. package/src/elements/form/optgroup/optgroup.scss +37 -0
  926. package/src/elements/form/option/index.ts +218 -0
  927. package/src/elements/form/option/option.scss +38 -0
  928. package/src/elements/form/output/index.ts +205 -0
  929. package/src/elements/form/output/output.scss +42 -0
  930. package/src/elements/form/progress/index.ts +215 -0
  931. package/src/elements/form/progress/progress.scss +38 -0
  932. package/src/elements/form/select/index.ts +250 -0
  933. package/src/elements/form/select/select.scss +38 -0
  934. package/src/elements/form/textarea/index.ts +351 -0
  935. package/src/elements/form/textarea/textarea.scss +39 -0
  936. package/src/elements/heading/h1/h1.scss +59 -0
  937. package/src/elements/heading/h1/index.ts +170 -0
  938. package/src/elements/heading/h2/h2.scss +53 -0
  939. package/src/elements/heading/h2/index.ts +168 -0
  940. package/src/elements/heading/h3/h3.scss +54 -0
  941. package/src/elements/heading/h3/index.ts +166 -0
  942. package/src/elements/heading/h4/h4.scss +48 -0
  943. package/src/elements/heading/h4/index.ts +150 -0
  944. package/src/elements/heading/h5/h5.scss +50 -0
  945. package/src/elements/heading/h5/index.ts +166 -0
  946. package/src/elements/heading/h6/h6.scss +48 -0
  947. package/src/elements/heading/h6/index.ts +158 -0
  948. package/src/elements/heading/index.ts +73 -0
  949. package/src/elements/index.ts +118 -0
  950. package/src/elements/inline/a/a.scss +55 -0
  951. package/src/elements/inline/a/index.ts +291 -0
  952. package/src/elements/inline/abbr/abbr.scss +54 -0
  953. package/src/elements/inline/abbr/index.ts +172 -0
  954. package/src/elements/inline/b/b.scss +38 -0
  955. package/src/elements/inline/b/index.ts +161 -0
  956. package/src/elements/inline/cite/cite.scss +36 -0
  957. package/src/elements/inline/cite/index.ts +165 -0
  958. package/src/elements/inline/code/code.scss +45 -0
  959. package/src/elements/inline/code/index.ts +176 -0
  960. package/src/elements/inline/data/data.scss +36 -0
  961. package/src/elements/inline/data/index.ts +208 -0
  962. package/src/elements/inline/dfn/dfn.scss +36 -0
  963. package/src/elements/inline/dfn/index.ts +164 -0
  964. package/src/elements/inline/em/em.scss +35 -0
  965. package/src/elements/inline/em/index.ts +164 -0
  966. package/src/elements/inline/i/i.scss +38 -0
  967. package/src/elements/inline/i/index.ts +182 -0
  968. package/src/elements/inline/index.ts +254 -0
  969. package/src/elements/inline/kbd/index.ts +163 -0
  970. package/src/elements/inline/kbd/kbd.scss +44 -0
  971. package/src/elements/inline/mark/index.ts +165 -0
  972. package/src/elements/inline/mark/mark.scss +45 -0
  973. package/src/elements/inline/q/index.ts +206 -0
  974. package/src/elements/inline/q/q.scss +44 -0
  975. package/src/elements/inline/rb/index.ts +186 -0
  976. package/src/elements/inline/rb/rb.scss +35 -0
  977. package/src/elements/inline/rp/index.ts +163 -0
  978. package/src/elements/inline/rp/rp.scss +41 -0
  979. package/src/elements/inline/rt/index.ts +164 -0
  980. package/src/elements/inline/rt/rt.scss +36 -0
  981. package/src/elements/inline/rtc/index.ts +168 -0
  982. package/src/elements/inline/rtc/rtc.scss +40 -0
  983. package/src/elements/inline/ruby/index.ts +186 -0
  984. package/src/elements/inline/ruby/ruby.scss +39 -0
  985. package/src/elements/inline/s/index.ts +165 -0
  986. package/src/elements/inline/s/s.scss +37 -0
  987. package/src/elements/inline/samp/index.ts +162 -0
  988. package/src/elements/inline/samp/samp.scss +43 -0
  989. package/src/elements/inline/small/index.ts +177 -0
  990. package/src/elements/inline/small/small.scss +35 -0
  991. package/src/elements/inline/strong/index.ts +166 -0
  992. package/src/elements/inline/strong/strong.scss +35 -0
  993. package/src/elements/inline/sub/index.ts +170 -0
  994. package/src/elements/inline/sub/sub.scss +44 -0
  995. package/src/elements/inline/sup/index.ts +165 -0
  996. package/src/elements/inline/sup/sup.scss +43 -0
  997. package/src/elements/inline/time/index.ts +206 -0
  998. package/src/elements/inline/time/time.scss +38 -0
  999. package/src/elements/inline/u/index.ts +162 -0
  1000. package/src/elements/inline/u/u.scss +42 -0
  1001. package/src/elements/inline/var/index.ts +167 -0
  1002. package/src/elements/inline/var/var.scss +44 -0
  1003. package/src/elements/interactive/details/details.scss +42 -0
  1004. package/src/elements/interactive/details/index.ts +198 -0
  1005. package/src/elements/interactive/dialog/dialog.scss +55 -0
  1006. package/src/elements/interactive/dialog/index.ts +219 -0
  1007. package/src/elements/interactive/index.ts +50 -0
  1008. package/src/elements/interactive/summary/index.ts +161 -0
  1009. package/src/elements/interactive/summary/summary.scss +48 -0
  1010. package/src/elements/layout/article/article.scss +42 -0
  1011. package/src/elements/layout/article/index.ts +169 -0
  1012. package/src/elements/layout/aside/aside.scss +42 -0
  1013. package/src/elements/layout/aside/index.ts +161 -0
  1014. package/src/elements/layout/footer/footer.scss +42 -0
  1015. package/src/elements/layout/footer/index.ts +161 -0
  1016. package/src/elements/layout/header/header.scss +42 -0
  1017. package/src/elements/layout/header/index.ts +171 -0
  1018. package/src/elements/layout/index.ts +89 -0
  1019. package/src/elements/layout/main/index.ts +175 -0
  1020. package/src/elements/layout/main/main.scss +43 -0
  1021. package/src/elements/layout/nav/index.ts +176 -0
  1022. package/src/elements/layout/nav/nav.scss +42 -0
  1023. package/src/elements/layout/section/index.ts +168 -0
  1024. package/src/elements/layout/section/section.scss +42 -0
  1025. package/src/elements/list/dd/dd.scss +49 -0
  1026. package/src/elements/list/dd/index.ts +159 -0
  1027. package/src/elements/list/dl/dl.scss +39 -0
  1028. package/src/elements/list/dl/index.ts +171 -0
  1029. package/src/elements/list/dt/dt.scss +51 -0
  1030. package/src/elements/list/dt/index.ts +166 -0
  1031. package/src/elements/list/index.ts +74 -0
  1032. package/src/elements/list/li/index.ts +213 -0
  1033. package/src/elements/list/li/li.scss +39 -0
  1034. package/src/elements/list/ol/index.ts +205 -0
  1035. package/src/elements/list/ol/ol.scss +39 -0
  1036. package/src/elements/list/ul/index.ts +195 -0
  1037. package/src/elements/list/ul/ul.scss +42 -0
  1038. package/src/elements/media/audio/audio.scss +43 -0
  1039. package/src/elements/media/audio/index.ts +281 -0
  1040. package/src/elements/media/canvas/canvas.scss +46 -0
  1041. package/src/elements/media/canvas/index.ts +194 -0
  1042. package/src/elements/media/embed/embed.scss +37 -0
  1043. package/src/elements/media/embed/index.ts +246 -0
  1044. package/src/elements/media/iframe/iframe.scss +39 -0
  1045. package/src/elements/media/iframe/index.ts +331 -0
  1046. package/src/elements/media/img/img.scss +47 -0
  1047. package/src/elements/media/img/index.ts +146 -0
  1048. package/src/elements/media/index.ts +97 -0
  1049. package/src/elements/media/math/index.ts +200 -0
  1050. package/src/elements/media/math/math.scss +46 -0
  1051. package/src/elements/media/object/index.ts +282 -0
  1052. package/src/elements/media/object/object.scss +42 -0
  1053. package/src/elements/media/svg/index.ts +122 -0
  1054. package/src/elements/media/svg/svg.scss +44 -0
  1055. package/src/elements/media/video/index.ts +376 -0
  1056. package/src/elements/media/video/video.scss +44 -0
  1057. package/src/elements/responsive/area/area.scss +29 -0
  1058. package/src/elements/responsive/area/index.ts +244 -0
  1059. package/src/elements/responsive/index.ts +71 -0
  1060. package/src/elements/responsive/map/index.ts +231 -0
  1061. package/src/elements/responsive/map/map.scss +38 -0
  1062. package/src/elements/responsive/picture/index.ts +159 -0
  1063. package/src/elements/responsive/picture/picture.scss +32 -0
  1064. package/src/elements/responsive/source/index.ts +247 -0
  1065. package/src/elements/responsive/source/source.scss +28 -0
  1066. package/src/elements/responsive/track/index.ts +254 -0
  1067. package/src/elements/responsive/track/track.scss +28 -0
  1068. package/src/elements/table/caption/caption.scss +54 -0
  1069. package/src/elements/table/caption/index.ts +172 -0
  1070. package/src/elements/table/col/col.scss +32 -0
  1071. package/src/elements/table/col/index.ts +189 -0
  1072. package/src/elements/table/colgroup/colgroup.scss +34 -0
  1073. package/src/elements/table/colgroup/index.ts +224 -0
  1074. package/src/elements/table/index.ts +111 -0
  1075. package/src/elements/table/table/index.ts +183 -0
  1076. package/src/elements/table/table/table.scss +56 -0
  1077. package/src/elements/table/tbody/index.ts +174 -0
  1078. package/src/elements/table/tbody/tbody.scss +32 -0
  1079. package/src/elements/table/td/index.ts +220 -0
  1080. package/src/elements/table/td/td.scss +48 -0
  1081. package/src/elements/table/tfoot/index.ts +171 -0
  1082. package/src/elements/table/tfoot/tfoot.scss +30 -0
  1083. package/src/elements/table/th/index.ts +277 -0
  1084. package/src/elements/table/th/th.scss +48 -0
  1085. package/src/elements/table/thead/index.ts +170 -0
  1086. package/src/elements/table/thead/thead.scss +32 -0
  1087. package/src/elements/table/tr/index.ts +174 -0
  1088. package/src/elements/table/tr/tr.scss +30 -0
  1089. package/src/elements/text/address/address.scss +61 -0
  1090. package/src/elements/text/address/index.ts +173 -0
  1091. package/src/elements/text/blockquote/blockquote.scss +50 -0
  1092. package/src/elements/text/blockquote/index.ts +203 -0
  1093. package/src/elements/text/hr/hr.scss +50 -0
  1094. package/src/elements/text/hr/index.ts +161 -0
  1095. package/src/elements/text/index.ts +61 -0
  1096. package/src/elements/text/paragraph/index.ts +179 -0
  1097. package/src/elements/text/paragraph/paragraph.scss +49 -0
  1098. package/src/elements/text/pre/index.ts +175 -0
  1099. package/src/elements/text/pre/pre.scss +59 -0
  1100. package/src/scss/_elements.scss +178 -0
  1101. package/src/scss/_font-face.scss +35 -0
  1102. package/src/scss/_reboot.scss +120 -0
  1103. package/src/scss/_root.scss +112 -0
  1104. package/src/scss/adapters/bootstrap/v5/index.scss +364 -0
  1105. package/src/scss/core.scss +53 -0
  1106. package/src/scss/functions/_colours.scss +340 -0
  1107. package/src/scss/functions/_fonts.scss +454 -0
  1108. package/src/scss/functions/_index.scss +78 -0
  1109. package/src/scss/functions/_options.scss +233 -0
  1110. package/src/scss/functions/_spacing.scss +405 -0
  1111. package/src/scss/functions/_theme.scss +355 -0
  1112. package/src/scss/functions/_typography.scss +403 -0
  1113. package/src/scss/main.scss +47 -0
  1114. package/src/scss/maps/_colours.scss +344 -0
  1115. package/src/scss/maps/_dark-theme.scss +47 -0
  1116. package/src/scss/maps/_fonts.scss +145 -0
  1117. package/src/scss/maps/_index.scss +96 -0
  1118. package/src/scss/maps/_options.scss +53 -0
  1119. package/src/scss/maps/_spacing.scss +63 -0
  1120. package/src/scss/maps/_theme.scss +206 -0
  1121. package/src/scss/maps/_typography.scss +127 -0
  1122. package/src/scss/mixins/_colours.scss +304 -0
  1123. package/src/scss/mixins/_fonts.scss +227 -0
  1124. package/src/scss/mixins/_index.scss +93 -0
  1125. package/src/scss/mixins/_options.scss +297 -0
  1126. package/src/scss/mixins/_spacing.scss +176 -0
  1127. package/src/scss/mixins/_theme.scss +273 -0
  1128. package/src/scss/mixins/_typography.scss +272 -0
  1129. package/src/scss/tokens/_colours.scss +707 -0
  1130. package/src/scss/tokens/_dark-theme.scss +50 -0
  1131. package/src/scss/tokens/_fonts.scss +81 -0
  1132. package/src/scss/tokens/_index.scss +100 -0
  1133. package/src/scss/tokens/_options.scss +77 -0
  1134. package/src/scss/tokens/_spacing.scss +43 -0
  1135. package/src/scss/tokens/_theme.scss +325 -0
  1136. package/src/scss/tokens/_typography.scss +218 -0
  1137. package/src/ts/adapters/tailwind/v4/index.ts +2 -0
  1138. package/src/ts/adapters/tailwind/v4/plugin.ts +47 -0
  1139. package/src/ts/adapters/tailwind/v4/preset.ts +75 -0
  1140. package/src/ts/dom.ts +378 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","names":[],"sources":["../../../../../src/elements/form/progress/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Progress element helpers.\n *\n * @remarks\n * The progress element (`<progress>`) represents the completion progress of a task.\n *\n * Best-practice guidance:\n * - Use `<progress>` to represent task completion (downloads, uploads, multi-step flows).\n * - If the amount of work is unknown, omit `value` to produce an indeterminate progress bar.\n * - Provide fallback text content for user agents that don't render `<progress>`.\n * - When using a determinate progress bar, set `value` and (usually) `max`.\n *\n * pkgn-sol notes:\n * - This module is framework-agnostic and has no side effects.\n * - Global attributes are applied via pkgn-sol's shared DOM helper, which blocks:\n * - inline event handler attributes (e.g. `onclick`)\n * - raw `style` attribute injection (use the `style` object instead)\n * - Text passed to factories is assigned via `textContent` (never `innerHTML`).\n *\n * References:\n * - MDN: `<progress>` element\n * - WHATWG HTML: `progress` element IDL and defaults (`max` defaults to 1.0)\n * - MDN: `:indeterminate` and indeterminate `<progress>` when `value` is absent\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for progress.\n *\n * @category Constants\n */\nexport const PROGRESS_TAG = 'progress' as const;\n\n/**\n * A CSS selector targeting progress elements.\n *\n * @category Constants\n */\nexport const PROGRESS_SELECTOR = 'progress';\n\n/**\n * Attribute bag for progress creation/enhancement.\n *\n * @remarks\n * Supported element-specific attributes:\n * - `value` (optional): when omitted, the progress bar is indeterminate\n * - `max` (optional): defaults to 1.0 when omitted (platform default)\n *\n * pkgn-sol behavior:\n * - If `value` is omitted, pkgn-sol does NOT set it, preserving indeterminate semantics.\n * - If `value` is provided and `max` is omitted, pkgn-sol applies `max=1` explicitly\n * for predictable, testable output in node-based environments.\n *\n * @category Attributes\n */\nexport type ProgressAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Current progress value.\n *\n * @remarks\n * If omitted, the progress bar is indeterminate.\n */\n value?: number;\n\n /**\n * Maximum value. Must be greater than 0.\n *\n * @remarks\n * Defaults to 1.0 when omitted (platform default).\n */\n max?: number;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link ProgressAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * - Preserves caller-provided `attrs` escape hatch (still validated by `dom.ts`).\n * - Element-specific attributes are merged into `attrs` without overwriting keys\n * explicitly provided by the caller.\n * - Does NOT default `value` (keeps indeterminate semantics).\n * - Defaults `max` to `1` only when `value` is provided and caller did not supply `max`.\n *\n * @param attrs - The progress attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ProgressAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, value, max, ...rest } = attrs;\n\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n const setIfUnset = (key: string, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n // Preserve indeterminate semantics: only set `value` if explicitly provided.\n const hasValue = typeof value === 'number';\n if (hasValue) setIfUnset('value', value);\n\n // Only default `max` in determinate mode.\n if (hasValue) {\n setIfUnset('max', typeof max === 'number' ? max : 1);\n } else {\n // If caller explicitly provides max (or via escape hatch), allow it.\n setIfUnset('max', typeof max === 'number' ? max : undefined);\n }\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n const next: GlobalAttrs = { ...rest };\n if (hasMergedAttrs) next.attrs = mergedAttrs;\n if (hasMappedAria) next.aria = mappedAria;\n\n return next;\n}\n\n/**\n * Create a progress element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional fallback text for user agents that don't render `<progress>`.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<progress>` element.\n *\n * @example\n * Indeterminate progress:\n * ```ts\n * createProgress(\"Loading...\");\n * ```\n *\n * @example\n * Determinate progress:\n * ```ts\n * createProgress(undefined, { value: 30, max: 100 });\n * ```\n *\n * @category DOM\n */\nexport function createProgress(\n text?: string,\n attrs?: ProgressAttrs,\n): ElementOf<typeof PROGRESS_TAG> {\n return createElement(PROGRESS_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance progress elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceProgresses(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for progress.\n void root;\n}\n"],"mappings":";;;;;;;IA+Da,IAAe,YAOf,IAAoB;AAuDjC,SAAS,EAAc,GAAgD;CACrE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,UAAO,QAAK,GAAG,MAAS,GAEhC,IAAyC,EAAE,GAAI,EAAK,SAAS,EAAE,EAAG,EAElE,KAAc,GAAa,MAAmC;EAC9D,MAAM,KAAA,MACN,OAAO,UAAU,eAAe,KAAK,GAAa,EAAI,KAC1D,EAAY,KAAO;IAIf,IAAW,OAAO,KAAU;CAIlC,AAHI,KAAU,EAAW,SAAS,EAAM,EAGpC,IACF,EAAW,OAAO,OAAO,KAAQ,WAAW,IAAM,EAAE,GAGpD,EAAW,OAAO,OAAO,KAAQ,WAAW,IAAM,KAAA,EAAU;CAG9D,IAAM,IAA+C,EAAE;CACvD,AAAI,MACE,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK;CAGjE,IAAM,IAAiB,OAAO,KAAK,EAAY,CAAC,SAAS,GACnD,IAAgB,OAAO,KAAK,EAAW,CAAC,SAAS,GAEjD,IAAoB,EAAE,GAAG,GAAM;CAIrC,OAHI,MAAgB,EAAK,QAAQ,IAC7B,MAAe,EAAK,OAAO,IAExB;;AA8BT,SAAgB,EACd,GACA,GACgC;CAChC,OAAO,EAAc,GAAc,EAAc,EAAM,EAAE,EAAK;;AAahE,SAAgB,EAAkB,IAAmB,UAAgB"}
@@ -0,0 +1,29 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/form/select/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ SELECT_SELECTOR: () => i,
5
+ SELECT_TAG: () => r,
6
+ createSelect: () => o,
7
+ enhanceSelects: () => s
8
+ }), r = "select", i = "select";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, name: n, form: r, disabled: i, required: a, multiple: o, size: s, autofocus: c, autoComplete: l, dirName: u, ...d } = e, f = { ...d.attrs ?? {} }, p = (e, t) => {
12
+ t !== void 0 && (Object.prototype.hasOwnProperty.call(f, e) || (f[e] = t));
13
+ };
14
+ p("name", n), p("form", r), typeof s == "number" && p("size", s), p("autocomplete", l), p("dirname", u), i === !0 && p("disabled", ""), a === !0 && p("required", ""), o === !0 && p("multiple", ""), c === !0 && p("autofocus", "");
15
+ let m = { ...d };
16
+ if (Object.keys(f).length > 0 && (m.attrs = f), t) {
17
+ let e = {};
18
+ typeof t.label == "string" && (e.label = t.label), typeof t.labelledby == "string" && (e.labelledby = t.labelledby), typeof t.hidden == "boolean" && (e.hidden = t.hidden), Object.keys(e).length > 0 && (m.aria = e);
19
+ }
20
+ return m;
21
+ }
22
+ function o(e) {
23
+ return t(r, a(e));
24
+ }
25
+ function s(e = document) {}
26
+ //#endregion
27
+ export { i as SELECT_SELECTOR, r as SELECT_TAG, o as createSelect, s as enhanceSelects, n as t };
28
+
29
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","names":[],"sources":["../../../../../src/elements/form/select/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Select element helpers.\n *\n * @remarks\n * The select element (`<select>`) is a form control for choosing one or more\n * options from a list, typically expressed via child `<option>` and `<optgroup>`\n * elements. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n *\n * Best-practice guidance:\n * - Provide an accessible name via a `<label>` or ARIA labelling.\n * - Prefer native semantics over custom \"fake selects\" unless you have a very\n * good reason (and a lot of time for accessibility testing).\n * - Use `multiple` and/or `size` intentionally; they change presentation and\n * interaction patterns. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n * - Use `autocomplete` as a hint to user agents, not a security control. (HTML Standard)\n *\n * pkgn-sol-specific conventions:\n * - Applies global attributes via pkgn-sol's hardened DOM helpers (`dom.ts`), which\n * block inline event handler attributes (e.g. `onclick`) and the raw `style`\n * attribute string.\n * - Supports a small structured ARIA input to reduce typo-based ARIA bugs.\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference(s) to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for select controls.\n *\n * @category Constants\n */\nexport const SELECT_TAG = 'select' as const;\n\n/**\n * A CSS selector targeting select elements.\n *\n * @category Constants\n */\nexport const SELECT_SELECTOR = 'select';\n\n/**\n * Attribute bag for select creation/enhancement.\n *\n * @remarks\n * `<select>` accepts global attributes plus a small set of form-control and\n * select-specific attributes such as `multiple` and `size`. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n *\n * pkgn-sol models the most common attributes explicitly and leaves an escape hatch via\n * {@link GlobalAttrs.attrs} for less common cases (validated by `dom.ts`).\n *\n * @category Attributes\n */\nexport type SelectAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The form control name (used during submission).\n */\n name?: string;\n\n /**\n * Explicitly associate the control with a form by ID.\n */\n form?: string;\n\n /**\n * Disables the control when true.\n */\n disabled?: boolean;\n\n /**\n * Marks the control required for form submission.\n */\n required?: boolean;\n\n /**\n * Enables selection of multiple options.\n */\n multiple?: boolean;\n\n /**\n * Number of options visible at once. Commonly used with `multiple`.\n */\n size?: number;\n\n /**\n * Autofocus hint.\n */\n autofocus?: boolean;\n\n /**\n * Autofill hint for user agents.\n *\n * @remarks\n * Defined by HTML for form controls.\n */\n autoComplete?: string;\n\n /**\n * Directionality submission control (submits `name.dir`).\n *\n * @remarks\n * Defined by the HTML form-control infrastructure (`dirname`).\n */\n dirName?: string;\n};\n\n/**\n * Normalize {@link SelectAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * Pattern:\n * - Start with any caller-provided raw attrs escape hatch.\n * - Apply typed attributes without overriding explicit raw attributes.\n * - Map structured ARIA into {@link GlobalAttrs.aria}.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SelectAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n name,\n form,\n disabled,\n required,\n multiple,\n size,\n autofocus,\n autoComplete,\n dirName,\n ...rest\n } = attrs;\n\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n const setIfUnset = (key: string, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n setIfUnset('name', name);\n setIfUnset('form', form);\n\n if (typeof size === 'number') setIfUnset('size', size);\n\n setIfUnset('autocomplete', autoComplete);\n setIfUnset('dirname', dirName);\n\n // Boolean attributes: presence (empty string) when true.\n if (disabled === true) setIfUnset('disabled', '');\n if (required === true) setIfUnset('required', '');\n if (multiple === true) setIfUnset('multiple', '');\n if (autofocus === true) setIfUnset('autofocus', '');\n\n const mapped: GlobalAttrs = { ...rest };\n\n if (Object.keys(mergedAttrs).length > 0) {\n mapped.attrs = mergedAttrs;\n }\n\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n }\n\n return mapped;\n}\n\n/**\n * Create a select element with optional attributes.\n *\n * @remarks\n * - `<select>` content is provided via child `<option>`/`<optgroup>` elements,\n * not text content. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n * - Global attributes are applied via pkgn-sol's shared DOM helper, including security\n * guards that block inline event handler attributes (e.g. `onclick`) and raw\n * `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<select>` element.\n *\n * @example\n * ```ts\n * import { createSelect } from \"@lnpg/pkgn-sol/elements/form/select\";\n *\n * const s = createSelect({ name: \"country\", required: true });\n * ```\n *\n * @category DOM\n */\nexport function createSelect(attrs?: SelectAttrs): ElementOf<typeof SELECT_TAG> {\n return createElement(SELECT_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance select elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceSelects(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for select.\n void root;\n}\n"],"mappings":";;;;;;;IA6Da,IAAa,UAOb,IAAkB;AAmF/B,SAAS,EAAc,GAA8C;CACnE,IAAI,CAAC,GAAO;CAEZ,IAAM,EACJ,SACA,SACA,SACA,aACA,aACA,aACA,SACA,cACA,iBACA,YACA,GAAG,MACD,GAEE,IAAyC,EAAE,GAAI,EAAK,SAAS,EAAE,EAAG,EAElE,KAAc,GAAa,MAAmC;EAC9D,MAAM,KAAA,MACN,OAAO,UAAU,eAAe,KAAK,GAAa,EAAI,KAC1D,EAAY,KAAO;;CAerB,AAZA,EAAW,QAAQ,EAAK,EACxB,EAAW,QAAQ,EAAK,EAEpB,OAAO,KAAS,YAAU,EAAW,QAAQ,EAAK,EAEtD,EAAW,gBAAgB,EAAa,EACxC,EAAW,WAAW,EAAQ,EAG1B,MAAa,MAAM,EAAW,YAAY,GAAG,EAC7C,MAAa,MAAM,EAAW,YAAY,GAAG,EAC7C,MAAa,MAAM,EAAW,YAAY,GAAG,EAC7C,MAAc,MAAM,EAAW,aAAa,GAAG;CAEnD,IAAM,IAAsB,EAAE,GAAG,GAAM;CAMvC,IAJI,OAAO,KAAK,EAAY,CAAC,SAAS,MACpC,EAAO,QAAQ,IAGb,GAAM;EACR,IAAM,IAA+C,EAAE;EAKvD,AAJI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAE3D,OAAO,KAAK,EAAW,CAAC,SAAS,MACnC,EAAO,OAAO;;CAIlB,OAAO;;AAyBT,SAAgB,EAAa,GAAmD;CAC9E,OAAO,EAAc,GAAY,EAAc,EAAM,CAAC;;AAaxD,SAAgB,EAAe,IAAmB,UAAgB"}
@@ -0,0 +1,31 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/form/textarea/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ TEXTAREA_SELECTOR: () => i,
5
+ TEXTAREA_TAG: () => r,
6
+ createTextarea: () => o,
7
+ enhanceTextareas: () => s
8
+ }), r = "textarea", i = "textarea";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, name: n, form: r, disabled: i, required: a, readOnly: o, cols: s, rows: c, minLength: l, maxLength: u, placeholder: d, autoComplete: f, autoFocus: p, autoCapitalize: m, dirName: h, wrap: g, ..._ } = e, v = { ..._ }, y = { ...v.attrs ?? {} };
12
+ if (typeof n == "string" && (y.name = n), typeof r == "string" && (y.form = r), i === !0 && (y.disabled = !0), a === !0 && (y.required = !0), o === !0 && (y.readonly = !0), typeof s == "number" && Number.isFinite(s) && (y.cols = s), typeof c == "number" && Number.isFinite(c) && (y.rows = c), typeof l == "number" && Number.isFinite(l) && (y.minlength = l), typeof u == "number" && Number.isFinite(u) && (y.maxlength = u), typeof d == "string" && (y.placeholder = d), typeof f == "string" && (y.autocomplete = f), p === !0 && (y.autofocus = !0), typeof m == "string" && (y.autocapitalize = m), typeof h == "string") {
13
+ let e = h.trim();
14
+ if (e.length === 0) throw Error("textarea dirName must not be an empty string.");
15
+ y.dirname = e;
16
+ }
17
+ if ((g === "soft" || g === "hard") && (y.wrap = g, g === "hard" && y.cols === void 0 && (y.cols = 20)), Object.keys(y).length > 0 && (v.attrs = y), !t) return v;
18
+ let b = {};
19
+ return typeof t.label == "string" && (b.label = t.label), typeof t.labelledby == "string" && (b.labelledby = t.labelledby), typeof t.hidden == "boolean" && (b.hidden = t.hidden), Object.keys(b).length > 0 ? {
20
+ ...v,
21
+ aria: b
22
+ } : v;
23
+ }
24
+ function o(e, n) {
25
+ return t(r, a(n), e);
26
+ }
27
+ function s(e = document) {}
28
+ //#endregion
29
+ export { i as TEXTAREA_SELECTOR, r as TEXTAREA_TAG, o as createTextarea, s as enhanceTextareas, n as t };
30
+
31
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.js","names":[],"sources":["../../../../../src/elements/form/textarea/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Textarea element helpers.\n *\n * @remarks\n * The textarea element (`<textarea>`) is a multi-line plain-text form control.\n *\n * Best-practice guidance:\n * - Always provide an accessible name (typically via a `<label>`).\n * - Prefer `placeholder` as a hint, not as a substitute for a label.\n * - Use `rows`/`cols` to set a sensible baseline size, then use CSS for layout.\n * - Use `minLength`/`maxLength` for client-side constraints, but validate on the server.\n * - Use `wrap=\"hard\"` only when you intentionally want line breaks inserted for\n * form submission, and ensure `cols` is set.\n * - Use `dirname` only when you actually want directionality included in submission.\n *\n * Attributes (element-specific):\n * - `name`, `form`, `disabled`, `required`, `readOnly`\n * - `cols`, `rows`\n * - `minLength`, `maxLength`\n * - `placeholder`\n * - `autoComplete`, `autoFocus`, `autoCapitalize`\n * - `dirName`\n * - `wrap`\n *\n * Security:\n * - Global attribute escape hatches are guarded by pkgn-sol's `dom.ts` helpers which\n * block inline event handler attributes (e.g. `onclick`) and raw `style`\n * attribute injection (use the `style` object field instead).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/textarea\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for textarea.\n *\n * @category Constants\n */\nexport const TEXTAREA_TAG = 'textarea' as const;\n\n/**\n * A CSS selector targeting textarea elements.\n *\n * @category Constants\n */\nexport const TEXTAREA_SELECTOR = 'textarea';\n\n/**\n * Textarea wrap modes.\n *\n * @remarks\n * - `soft` (default): the submitted value is not forcibly wrapped.\n * - `hard`: line breaks are inserted for submission based on `cols`.\n *\n * @category Types\n */\nexport type TextareaWrap = 'soft' | 'hard';\n\n/**\n * Autocapitalize values accepted by browsers for form controls.\n *\n * @remarks\n * This is a content attribute commonly supported on form controls.\n *\n * @category Types\n */\nexport type AutoCapitalize = 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';\n\n/**\n * Attribute bag for textarea creation/enhancement.\n *\n * @remarks\n * Textareas accept standard HTML global attributes plus textarea-specific content\n * attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type TextareaAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Name used during form submission.\n */\n name?: string;\n\n /**\n * Associate the control with a form by ID.\n */\n form?: string;\n\n /**\n * Whether the textarea is disabled.\n */\n disabled?: boolean;\n\n /**\n * Whether the textarea is required.\n */\n required?: boolean;\n\n /**\n * Whether the textarea is read-only.\n *\n * @remarks\n * Maps to the `readonly` content attribute.\n */\n readOnly?: boolean;\n\n /**\n * The number of visible text columns.\n */\n cols?: number;\n\n /**\n * The number of visible text rows.\n */\n rows?: number;\n\n /**\n * Minimum input length.\n *\n * @remarks\n * Maps to the `minlength` content attribute.\n */\n minLength?: number;\n\n /**\n * Maximum input length.\n *\n * @remarks\n * Maps to the `maxlength` content attribute.\n */\n maxLength?: number;\n\n /**\n * Placeholder hint text.\n */\n placeholder?: string;\n\n /**\n * Autofill hint.\n */\n autoComplete?: string;\n\n /**\n * Whether the control should be focused on page load.\n */\n autoFocus?: boolean;\n\n /**\n * Autocapitalization behavior.\n */\n autoCapitalize?: AutoCapitalize;\n\n /**\n * Submission directionality field name.\n *\n * @remarks\n * When set, the value must not be empty.\n * Maps to the `dirname` content attribute.\n */\n dirName?: string;\n\n /**\n * Wrapping mode for form submission.\n */\n wrap?: TextareaWrap;\n};\n\n/**\n * Normalize {@link TextareaAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The textarea attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @throws Error if `dirName` is provided but empty/whitespace.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TextareaAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n name,\n form,\n disabled,\n required,\n readOnly,\n cols,\n rows,\n minLength,\n maxLength,\n placeholder,\n autoComplete,\n autoFocus,\n autoCapitalize,\n dirName,\n wrap,\n ...rest\n } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n const extra: NonNullable<GlobalAttrs['attrs']> = { ...(mapped.attrs ?? {}) };\n\n if (typeof name === 'string') extra.name = name;\n if (typeof form === 'string') extra.form = form;\n\n if (disabled === true) extra.disabled = true;\n if (required === true) extra.required = true;\n if (readOnly === true) extra.readonly = true;\n\n if (typeof cols === 'number' && Number.isFinite(cols)) extra.cols = cols;\n if (typeof rows === 'number' && Number.isFinite(rows)) extra.rows = rows;\n\n if (typeof minLength === 'number' && Number.isFinite(minLength)) extra.minlength = minLength;\n if (typeof maxLength === 'number' && Number.isFinite(maxLength)) extra.maxlength = maxLength;\n\n if (typeof placeholder === 'string') extra.placeholder = placeholder;\n\n if (typeof autoComplete === 'string') extra.autocomplete = autoComplete;\n if (autoFocus === true) extra.autofocus = true;\n if (typeof autoCapitalize === 'string') extra.autocapitalize = autoCapitalize;\n\n if (typeof dirName === 'string') {\n const dn = dirName.trim();\n if (dn.length === 0) {\n throw new Error('textarea dirName must not be an empty string.');\n }\n extra.dirname = dn;\n }\n\n if (wrap === 'soft' || wrap === 'hard') {\n extra.wrap = wrap;\n\n // \"hard\" wrap only has an effect when cols is set, so we enforce a safe default.\n if (wrap === 'hard' && typeof extra.cols === 'undefined') {\n extra.cols = 20;\n }\n }\n\n if (Object.keys(extra).length > 0) {\n mapped.attrs = extra;\n }\n\n if (!aria) return mapped;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n return hasMappedAria ? { ...mapped, aria: mappedAria } : mapped;\n}\n\n/**\n * Create a textarea element with optional initial value and attributes.\n *\n * @remarks\n * For `<textarea>`, the initial value is represented by its text content in HTML.\n * pkgn-sol assigns the provided `text` via `textContent` (never `innerHTML`).\n *\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes and escape-hatch attributes are applied via pkgn-sol's shared\n * DOM helper, including security guards that block inline event handler\n * attributes (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional initial value (assigned as `textContent`).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<textarea>` element.\n *\n * @example\n * ```ts\n * import { createTextarea } from \"@lnpg/pkgn-sol/elements/form/textarea\";\n *\n * const t = createTextarea(\"Hello\", { rows: 4, cols: 40, name: \"message\" });\n * ```\n *\n * @category DOM\n */\nexport function createTextarea(\n text?: string,\n attrs?: TextareaAttrs,\n): ElementOf<typeof TEXTAREA_TAG> {\n return createElement(TEXTAREA_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance textarea elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceTextareas(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for textarea.\n void root;\n}\n"],"mappings":";;;;;;;IAsEa,IAAe,YAOf,IAAoB;AA4IjC,SAAS,EAAc,GAAgD;CACrE,IAAI,CAAC,GAAO;CAEZ,IAAM,EACJ,SACA,SACA,SACA,aACA,aACA,aACA,SACA,SACA,cACA,cACA,gBACA,iBACA,cACA,mBACA,YACA,SACA,GAAG,MACD,GAEE,IAAsB,EAAE,GAAG,GAAM,EAEjC,IAA2C,EAAE,GAAI,EAAO,SAAS,EAAE,EAAG;CAqB5E,IAnBI,OAAO,KAAS,aAAU,EAAM,OAAO,IACvC,OAAO,KAAS,aAAU,EAAM,OAAO,IAEvC,MAAa,OAAM,EAAM,WAAW,KACpC,MAAa,OAAM,EAAM,WAAW,KACpC,MAAa,OAAM,EAAM,WAAW,KAEpC,OAAO,KAAS,YAAY,OAAO,SAAS,EAAK,KAAE,EAAM,OAAO,IAChE,OAAO,KAAS,YAAY,OAAO,SAAS,EAAK,KAAE,EAAM,OAAO,IAEhE,OAAO,KAAc,YAAY,OAAO,SAAS,EAAU,KAAE,EAAM,YAAY,IAC/E,OAAO,KAAc,YAAY,OAAO,SAAS,EAAU,KAAE,EAAM,YAAY,IAE/E,OAAO,KAAgB,aAAU,EAAM,cAAc,IAErD,OAAO,KAAiB,aAAU,EAAM,eAAe,IACvD,MAAc,OAAM,EAAM,YAAY,KACtC,OAAO,KAAmB,aAAU,EAAM,iBAAiB,IAE3D,OAAO,KAAY,UAAU;EAC/B,IAAM,IAAK,EAAQ,MAAM;EACzB,IAAI,EAAG,WAAW,GAChB,MAAU,MAAM,gDAAgD;EAElE,EAAM,UAAU;;CAgBlB,KAbI,MAAS,UAAU,MAAS,YAC9B,EAAM,OAAO,GAGT,MAAS,UAAiB,EAAM,SAAS,WAC3C,EAAM,OAAO,MAIb,OAAO,KAAK,EAAM,CAAC,SAAS,MAC9B,EAAO,QAAQ,IAGb,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAQvD,OANI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAEzC,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAQ,MAAM;EAAY,GAAG;;AA4B3D,SAAgB,EACd,GACA,GACgC;CAChC,OAAO,EAAc,GAAc,EAAc,EAAM,EAAE,EAAK;;AAqBhE,SAAgB,EAAiB,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/heading/h1/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ H1_SELECTOR: () => "h1",
5
+ H1_TAG: () => "h1",
6
+ createH1: () => o,
7
+ enhanceH1s: () => s
8
+ }), r = "h1", i = "h1";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t("h1", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as H1_SELECTOR, r as H1_TAG, o as createH1, s as enhanceH1s, n as t };
25
+
26
+ //# sourceMappingURL=h1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h1.js","names":[],"sources":["../../../../../src/elements/heading/h1/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: H1 element helpers.\n *\n * @remarks\n * The h1 element (`<h1>`) represents the highest-rank section heading.\n *\n * Best-practice guidance:\n * - Use headings to convey document structure, not for visual styling.\n * - Keep heading levels ordered (don't jump from `<h1>` to `<h3>` because you\n * like the font size). Use CSS for presentation.\n * - Prefer clear, succinct headings that describe the section that follows.\n * - Many accessibility guides recommend a single `<h1>` as the page/document's\n * primary heading. HTML allows multiple headings, but consistency matters.\n * - Don't rely on default browser heading styles; user-agent styles can change.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h1>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: Heading elements: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements\n * - MDN: Headings and paragraphs: https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content/Headings_and_paragraphs\n * - W3C WAI: Headings: https://www.w3.org/WAI/tutorials/page-structure/headings/\n * - WHATWG HTML: Sections / heading content: https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for the primary heading element.\n *\n * @category Constants\n */\nexport const H1_TAG = 'h1' as const;\n\n/**\n * A CSS selector targeting h1 elements.\n *\n * @category Constants\n */\nexport const H1_SELECTOR = 'h1';\n\n/**\n * Attribute bag for h1 creation/enhancement.\n *\n * @remarks\n * H1 elements accept standard HTML global attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type H1Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H1Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h1 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H1Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h1 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h1>` element.\n *\n * @example\n * ```ts\n * import { createH1 } from \"@lnpg/pkgn-sol/elements/heading/h1\";\n *\n * document.body.prepend(createH1(\"Page title\", { id: \"title\" }));\n * ```\n *\n * @category DOM\n */\nexport function createH1(text?: string, attrs?: H1Attrs): ElementOf<typeof H1_TAG> {\n return createElement(H1_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h1 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceH1s(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for h1.\n void root;\n}\n"],"mappings":";;;;;;;IAoEa,IAAS,MAOT,IAAc;AA4B3B,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAyBrD,SAAgB,EAAS,GAAe,GAA2C;CACjF,OAAO,EAAA,MAAsB,EAAc,EAAM,EAAE,EAAK;;AAqB1D,SAAgB,EAAW,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/heading/h2/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ H2_SELECTOR: () => "h2",
5
+ H2_TAG: () => "h2",
6
+ createH2: () => o,
7
+ enhanceH2s: () => s
8
+ }), r = "h2", i = "h2";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t("h2", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as H2_SELECTOR, r as H2_TAG, o as createH2, s as enhanceH2s, n as t };
25
+
26
+ //# sourceMappingURL=h2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h2.js","names":[],"sources":["../../../../../src/elements/heading/h2/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: H2 element helpers.\n *\n * @remarks\n * The h2 element (`<h2>`) represents a second-level heading. Headings define the\n * hierarchical structure of a document and provide navigational landmarks for\n * assistive technologies. :contentReference[oaicite:1]{index=1}\n *\n * Best-practice guidance:\n * - Use headings to represent structure, not visual styling.\n * - Prefer a logical hierarchy (e.g. `<h1>` then `<h2>`, then `<h3>`), and avoid\n * skipping levels purely for appearance. :contentReference[oaicite:2]{index=2}\n * - Keep headings concise and descriptive to support scanning and accessibility. :contentReference[oaicite:3]{index=3}\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h2>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for h2 headings.\n *\n * @category Constants\n */\nexport const H2_TAG = 'h2' as const;\n\n/**\n * A CSS selector targeting h2 elements.\n *\n * @category Constants\n */\nexport const H2_SELECTOR = 'h2';\n\n/**\n * Attribute bag for h2 creation/enhancement.\n *\n * @remarks\n * H2 elements accept standard HTML global attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type H2Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H2Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h2 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H2Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h2 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the h2.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h2>` element.\n *\n * @example\n * Create and append a heading:\n * ```ts\n * import { createH2 } from \"@lnpg/pkgn-sol/elements/heading/h2\";\n *\n * document.body.appendChild(createH2(\"Section title\", { className: \"section-title\" }));\n * ```\n *\n * @category DOM\n */\nexport function createH2(text?: string, attrs?: H2Attrs): ElementOf<typeof H2_TAG> {\n return createElement(H2_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h2 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceH2s(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for h2.\n void root;\n}\n"],"mappings":";;;;;;;IA6Da,IAAS,MAOT,IAAc;AAgC3B,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AA0BrD,SAAgB,EAAS,GAAe,GAA2C;CACjF,OAAO,EAAA,MAAsB,EAAc,EAAM,EAAE,EAAK;;AAqB1D,SAAgB,EAAW,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/heading/h3/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ H3_SELECTOR: () => "h3",
5
+ H3_TAG: () => "h3",
6
+ createH3: () => o,
7
+ enhanceH3s: () => s
8
+ }), r = "h3", i = "h3";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t("h3", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as H3_SELECTOR, r as H3_TAG, o as createH3, s as enhanceH3s, n as t };
25
+
26
+ //# sourceMappingURL=h3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h3.js","names":[],"sources":["../../../../../src/elements/heading/h3/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: H3 element helpers.\n *\n * @remarks\n * The h3 element (`<h3>`) represents a third-rank section heading.\n *\n * Best-practice guidance:\n * - Use headings to convey document structure, not for visual styling.\n * - Keep heading levels ordered (don't jump from `<h2>` to `<h4>` because you\n * like the font size). Use CSS for presentation.\n * - Ensure headings describe the section content that follows.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h3>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: Heading elements: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements\n * - W3C WAI: Headings: https://www.w3.org/WAI/tutorials/page-structure/headings/\n * - WHATWG HTML: Sections / heading content: https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for third-level headings.\n *\n * @category Constants\n */\nexport const H3_TAG = 'h3' as const;\n\n/**\n * A CSS selector targeting h3 elements.\n *\n * @category Constants\n */\nexport const H3_SELECTOR = 'h3';\n\n/**\n * Attribute bag for h3 creation/enhancement.\n *\n * @remarks\n * H3 elements accept standard HTML global attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type H3Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H3Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h3 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H3Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h3 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h3>` element.\n *\n * @example\n * ```ts\n * import { createH3 } from \"@lnpg/pkgn-sol/elements/heading/h3\";\n *\n * const h = createH3(\"Section heading\", { id: \"section\" });\n * ```\n *\n * @category DOM\n */\nexport function createH3(text?: string, attrs?: H3Attrs): ElementOf<typeof H3_TAG> {\n return createElement(H3_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h3 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceH3s(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for h3.\n void root;\n}\n"],"mappings":";;;;;;;IAgEa,IAAS,MAOT,IAAc;AA4B3B,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAyBrD,SAAgB,EAAS,GAAe,GAA2C;CACjF,OAAO,EAAA,MAAsB,EAAc,EAAM,EAAE,EAAK;;AAqB1D,SAAgB,EAAW,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/heading/h4/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ H4_SELECTOR: () => "h4",
5
+ H4_TAG: () => "h4",
6
+ createH4: () => o,
7
+ enhanceH4s: () => s
8
+ }), r = "h4", i = "h4";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t("h4", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as H4_SELECTOR, r as H4_TAG, o as createH4, s as enhanceH4s, n as t };
25
+
26
+ //# sourceMappingURL=h4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h4.js","names":[],"sources":["../../../../../src/elements/heading/h4/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: H4 element helpers.\n *\n * @remarks\n * The `<h4>` element represents a level 4 section heading.\n *\n * Best-practice guidance:\n * - Use headings to communicate structure, not visual styling.\n * - Avoid skipping heading levels in a way that breaks hierarchy (e.g. `h2` → `h4`).\n * - Keep headings descriptive and concise for accessibility.\n * - Prefer CSS for appearance; headings are about semantics.\n *\n * This module:\n * - Creates `<h4>` elements via pkgn-sol's hardened DOM helpers (no direct DOM calls).\n * - Applies a curated subset of global attributes safely.\n * - Supports a small, typed structured ARIA input mapped into `aria-*`.\n * - Exposes a stable enhancement hook (currently a no-op) for API consistency.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is a small, typed subset intended to prevent typo-driven ARIA bugs and\n * keep the API practical. Values are mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for `<h4>`.\n *\n * @category Constants\n */\nexport const H4_TAG = 'h4' as const;\n\n/**\n * A CSS selector targeting `<h4>` elements.\n *\n * @category Constants\n */\nexport const H4_SELECTOR = 'h4';\n\n/**\n * Attribute bag for `<h4>` creation/enhancement.\n *\n * @remarks\n * `<h4>` supports HTML global attributes only.\n *\n * pkgn-sol additionally supports a typed, structured ARIA input that is mapped into\n * {@link GlobalAttrs.aria} without modifying the shared DOM helpers.\n *\n * @category Attributes\n */\nexport type H4Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H4Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The `<h4>` attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H4Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n return Object.keys(mappedAria).length > 0 ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an `<h4>` element with optional text content and global attributes.\n *\n * @remarks\n * - Text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper, which enforces:\n * - No inline event handler attributes (e.g. `onclick`)\n * - No raw `style` attribute injection (use the `style` object field)\n * - No empty attribute names\n *\n * @param text - Optional text content for the heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h4>` element.\n *\n * @example\n * ```ts\n * import { createH4 } from \"@lnpg/pkgn-sol/elements/heading/h4\";\n *\n * const h = createH4(\"Details\", { id: \"details-heading\" });\n * ```\n *\n * @category DOM\n */\nexport function createH4(text?: string, attrs?: H4Attrs): ElementOf<typeof H4_TAG> {\n return createElement(H4_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance `<h4>` elements within a given root.\n *\n * @remarks\n * Intentionally a no-op in `0.1.0`. This exists to provide a stable, consistent\n * integration hook across element modules.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceH4s(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for h4.\n void root;\n}\n"],"mappings":";;;;;;;IAyDa,IAAS,MAOT,IAAc;AA4B3B,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAMvD,OAJI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAExD,OAAO,KAAK,EAAW,CAAC,SAAS,IAAI;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AA0B9E,SAAgB,EAAS,GAAe,GAA2C;CACjF,OAAO,EAAA,MAAsB,EAAc,EAAM,EAAE,EAAK;;AAc1D,SAAgB,EAAW,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/heading/h5/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ H5_SELECTOR: () => "h5",
5
+ H5_TAG: () => "h5",
6
+ createH5: () => o,
7
+ enhanceH5s: () => s
8
+ }), r = "h5", i = "h5";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t("h5", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as H5_SELECTOR, r as H5_TAG, o as createH5, s as enhanceH5s, n as t };
25
+
26
+ //# sourceMappingURL=h5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h5.js","names":[],"sources":["../../../../../src/elements/heading/h5/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: H5 element helpers.\n *\n * @remarks\n * The h5 element (`<h5>`) represents a fifth-rank section heading.\n *\n * Best-practice guidance:\n * - Use headings to communicate document structure, not visual styling.\n * - Keep heading levels ordered (don't jump from `<h2>` to `<h5>` because you\n * like the font size). Use CSS for presentation.\n * - Ensure headings accurately describe the section content that follows.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h5>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: Heading elements: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements\n * - W3C WAI: Headings: https://www.w3.org/WAI/tutorials/page-structure/headings/\n * - WHATWG HTML: Sections / heading content: https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for fifth-level headings.\n *\n * @category Constants\n */\nexport const H5_TAG = 'h5' as const;\n\n/**\n * A CSS selector targeting h5 elements.\n *\n * @category Constants\n */\nexport const H5_SELECTOR = 'h5';\n\n/**\n * Attribute bag for h5 creation/enhancement.\n *\n * @remarks\n * H5 elements accept standard HTML global attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type H5Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H5Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h5 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H5Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h5 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h5>` element.\n *\n * @example\n * ```ts\n * import { createH5 } from \"@lnpg/pkgn-sol/elements/heading/h5\";\n *\n * const h = createH5(\"Subsection heading\");\n * ```\n *\n * @category DOM\n */\nexport function createH5(text?: string, attrs?: H5Attrs): ElementOf<typeof H5_TAG> {\n return createElement(H5_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h5 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceH5s(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for h5.\n void root;\n}\n"],"mappings":";;;;;;;IAgEa,IAAS,MAOT,IAAc;AA4B3B,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAyBrD,SAAgB,EAAS,GAAe,GAA2C;CACjF,OAAO,EAAA,MAAsB,EAAc,EAAM,EAAE,EAAK;;AAqB1D,SAAgB,EAAW,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/heading/h6/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ H6_SELECTOR: () => "h6",
5
+ H6_TAG: () => "h6",
6
+ createH6: () => o,
7
+ enhanceH6s: () => s
8
+ }), r = "h6", i = "h6";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t("h6", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as H6_SELECTOR, r as H6_TAG, o as createH6, s as enhanceH6s, n as t };
25
+
26
+ //# sourceMappingURL=h6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"h6.js","names":[],"sources":["../../../../../src/elements/heading/h6/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: H6 element helpers.\n *\n * @remarks\n * The h6 element (`<h6>`) represents the lowest-ranked section heading.\n *\n * Best-practice guidance:\n * - Use headings to convey document structure, not visual styling.\n * - Do not choose heading levels based on appearance; use CSS for styling.\n * - Avoid skipping heading levels (e.g. jumping from `<h2>` to `<h6>`), unless the\n * document structure genuinely calls for it.\n * - Keep headings short and descriptive to support accessibility navigation.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create heading elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements\n * @see https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for h6 headings.\n *\n * @category Constants\n */\nexport const H6_TAG = 'h6' as const;\n\n/**\n * A CSS selector targeting h6 elements.\n *\n * @category Constants\n */\nexport const H6_SELECTOR = 'h6';\n\n/**\n * Attribute bag for h6 creation/enhancement.\n *\n * @remarks\n * `<h6>` accepts standard HTML global attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type H6Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H6Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h6 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H6Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h6 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h6>` element.\n *\n * @example\n * ```ts\n * import { createH6 } from \"@lnpg/pkgn-sol/elements/heading/h6\";\n *\n * const heading = createH6(\"Minor heading\", { id: \"minor\" });\n * ```\n *\n * @category DOM\n */\nexport function createH6(text?: string, attrs?: H6Attrs): ElementOf<typeof H6_TAG> {\n return createElement(H6_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h6 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * It exists to establish a stable enhancement pattern across all elements.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceH6s(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for h6.\n void root;\n}\n"],"mappings":";;;;;;;IA+Da,IAAS,MAOT,IAAc;AA4B3B,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAQvD,OANI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAE7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAyBrD,SAAgB,EAAS,GAAe,GAA2C;CACjF,OAAO,EAAA,MAAsB,EAAc,EAAM,EAAE,EAAK;;AAe1D,SAAgB,EAAW,IAAmB,UAAgB"}
@@ -0,0 +1,20 @@
1
+ import { i as e } from "../../chunks/dom.js";
2
+ import { t } from "./h1/h1.js";
3
+ import { t as n } from "./h2/h2.js";
4
+ import { t as r } from "./h3/h3.js";
5
+ import { t as i } from "./h4/h4.js";
6
+ import { t as a } from "./h5/h5.js";
7
+ import { t as o } from "./h6/h6.js";
8
+ //#region src/elements/heading/index.ts
9
+ var s = /* @__PURE__ */ e({
10
+ h1: () => t,
11
+ h2: () => n,
12
+ h3: () => r,
13
+ h4: () => i,
14
+ h5: () => a,
15
+ h6: () => o
16
+ });
17
+ //#endregion
18
+ export { t as h1, n as h2, r as h3, i as h4, a as h5, o as h6, s as t };
19
+
20
+ //# sourceMappingURL=heading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading.js","names":[],"sources":["../../../../src/elements/heading/index.ts"],"sourcesContent":["/**\n * Heading element factories.\n *\n * Provides framework-agnostic factory functions for semantic HTML heading\n * elements (`<h1>` through `<h6>`).\n *\n * These factories:\n * - Create semantic heading elements using pkgn-sol's hardened DOM helpers.\n * - Forward curated global attributes.\n * - Enforce structured, typed attribute bags.\n * - Preserve correct document outline semantics.\n * - Prevent unsafe attribute injection.\n *\n * Headings define the hierarchical structure of a document and should be used\n * in order where possible to maintain accessibility and navigability.\n *\n * @module elements/heading\n * @since 0.1.0\n */\n\n/**\n * `<h1>` element factory namespace.\n *\n * Represents the top-level heading of a page or section.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n */\nexport * as h1 from './h1';\n\n/**\n * `<h2>` element factory namespace.\n *\n * Represents a second-level section heading.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n */\nexport * as h2 from './h2';\n\n/**\n * `<h3>` element factory namespace.\n *\n * Represents a third-level section heading.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n */\nexport * as h3 from './h3';\n\n/**\n * `<h4>` element factory namespace.\n *\n * Represents a fourth-level section heading.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n */\nexport * as h4 from './h4';\n\n/**\n * `<h5>` element factory namespace.\n *\n * Represents a fifth-level section heading.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n */\nexport * as h5 from './h5';\n\n/**\n * `<h6>` element factory namespace.\n *\n * Represents a sixth-level section heading.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n */\nexport * as h6 from './h6';\n"],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/a/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ A_SELECTOR: () => "a",
5
+ A_TAG: () => "a",
6
+ createA: () => o,
7
+ enhanceAs: () => s
8
+ }), r = "a", i = "a";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, href: n, target: r, rel: i, download: a, hreflang: o, ping: s, referrerPolicy: c, type: l, ...u } = e, d = u, f = { ...d.attrs ?? {} };
12
+ typeof n == "string" && (f.href = n), typeof r == "string" && (f.target = r), typeof o == "string" && (f.hreflang = o), typeof c == "string" && (f.referrerpolicy = c), typeof l == "string" && (f.type = l), typeof s == "string" && (f.ping = s), Array.isArray(s) && (f.ping = s.join(" ")), typeof a == "string" && (f.download = a), a === !0 && (f.download = "");
13
+ let p = typeof f.rel == "string" && f.rel.trim().length > 0 ? f.rel : void 0;
14
+ if (typeof i == "string" ? f.rel = i : r === "_blank" && !p && (f.rel = "noopener noreferrer"), Object.keys(f).length > 0 && (d.attrs = f), !t) return d;
15
+ let m = {};
16
+ return typeof t.label == "string" && (m.label = t.label), typeof t.labelledby == "string" && (m.labelledby = t.labelledby), typeof t.hidden == "boolean" && (m.hidden = t.hidden), Object.keys(m).length > 0 ? {
17
+ ...d,
18
+ aria: m
19
+ } : d;
20
+ }
21
+ function o(e, n) {
22
+ return t("a", a(n), e);
23
+ }
24
+ function s(e = document) {}
25
+ //#endregion
26
+ export { i as A_SELECTOR, r as A_TAG, o as createA, s as enhanceAs, n as t };
27
+
28
+ //# sourceMappingURL=a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a.js","names":[],"sources":["../../../../../src/elements/inline/a/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Anchor (`a`) element helpers.\n *\n * @remarks\n * The anchor element (`<a>`) creates a hyperlink when the `href` attribute is\n * present. It can link to web pages, files, email addresses, locations within\n * the same page, or any URL-addressable resource.\n *\n * Best-practice guidance:\n * - Prefer clear, descriptive link text. Avoid \"click here\".\n * - If using `target=\"_blank\"`, strongly consider `rel=\"noopener noreferrer\"`\n * to prevent opener-based attacks (reverse tabnabbing).\n * - Do not use `<a>` as a button. Use `<button>` for actions and controls.\n * - Validate/sanitize untrusted URLs before assigning them to `href`.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create anchors in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a\n * - WHATWG: https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-a-element\n * - MDN rel=noopener: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/noopener\n * - MDN rel=noreferrer: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/noreferrer\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n *\n * @remarks\n * Prefer `labelledby` when a visible labeling element exists.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * Common targets for anchor navigation.\n *\n * @remarks\n * Browsers also accept custom named targets (e.g. `myWindow`).\n *\n * @category Attributes\n */\nexport type AnchorTarget = '_self' | '_blank' | '_parent' | '_top' | (string & {});\n\n/**\n * Allowed values for the `referrerpolicy` attribute.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/referrerpolicy\n *\n * @category Attributes\n */\nexport type ReferrerPolicy =\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url';\n\n/**\n * The semantic tag name for anchors.\n *\n * @category Constants\n */\nexport const A_TAG = 'a' as const;\n\n/**\n * A CSS selector targeting anchor elements.\n *\n * @category Constants\n */\nexport const A_SELECTOR = 'a';\n\n/**\n * Attribute bag for anchor creation/enhancement.\n *\n * @remarks\n * Anchor elements accept standard HTML global attributes, plus link-related\n * attributes such as `href`, `target`, and `rel`.\n *\n * Security notes:\n * - pkgn-sol blocks unsafe attribute *names* (e.g. `onclick`, raw `style`).\n * - pkgn-sol does not sanitize attribute *values*. Callers must validate untrusted\n * URLs before passing them as `href`.\n * - When `target=\"_blank\"` is used and `rel` is not provided, pkgn-sol applies a\n * conservative default: `rel=\"noopener noreferrer\"`.\n *\n * @category Attributes\n */\nexport type AnchorAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Destination URL for the hyperlink.\n *\n * @remarks\n * If omitted, the anchor is not a hyperlink.\n */\n href?: string;\n\n /**\n * Where to display the linked URL.\n */\n target?: AnchorTarget;\n\n /**\n * Relationship between the current document and the linked resource.\n *\n * @remarks\n * If `target=\"_blank\"` is used and `rel` is not provided, pkgn-sol applies\n * `noopener noreferrer` by default.\n */\n rel?: string;\n\n /**\n * Indicates the linked resource should be downloaded.\n *\n * @remarks\n * - `true` sets a bare `download` attribute.\n * - A string sets the suggested filename.\n */\n download?: boolean | string;\n\n /**\n * Language of the linked resource.\n */\n hreflang?: string;\n\n /**\n * Space-separated list of URLs to notify (POST \"ping\") when the link is followed.\n *\n * @remarks\n * Limited browser support; use with care.\n */\n ping?: string | string[];\n\n /**\n * Referrer policy for the request initiated by following the hyperlink.\n */\n referrerPolicy?: ReferrerPolicy;\n\n /**\n * MIME type hint for the linked resource.\n */\n type?: string;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link AnchorAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - Anchor attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: AnchorAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, href, target, rel, download, hreflang, ping, referrerPolicy, type, ...rest } =\n attrs;\n\n const out: GlobalAttrs = rest;\n\n // Start with any escape-hatch attrs the caller provided.\n const rawAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(out.attrs ?? {}) };\n\n if (typeof href === 'string') rawAttrs.href = href;\n if (typeof target === 'string') rawAttrs.target = target;\n if (typeof hreflang === 'string') rawAttrs.hreflang = hreflang;\n if (typeof referrerPolicy === 'string') rawAttrs.referrerpolicy = referrerPolicy;\n if (typeof type === 'string') rawAttrs.type = type;\n\n if (typeof ping === 'string') rawAttrs.ping = ping;\n if (Array.isArray(ping)) rawAttrs.ping = ping.join(' ');\n\n if (typeof download === 'string') rawAttrs.download = download;\n if (download === true) rawAttrs.download = '';\n\n // Apply rel (explicit wins). Otherwise provide a conservative default for target=_blank.\n const existingRel =\n typeof rawAttrs.rel === 'string' && rawAttrs.rel.trim().length > 0 ? rawAttrs.rel : undefined;\n\n if (typeof rel === 'string') {\n rawAttrs.rel = rel;\n } else if (target === '_blank' && !existingRel) {\n rawAttrs.rel = 'noopener noreferrer';\n }\n\n // Only attach `attrs` if something was actually defined.\n if (Object.keys(rawAttrs).length > 0) out.attrs = rawAttrs;\n\n if (!aria) return out;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...out, aria: mappedAria } : out;\n}\n\n/**\n * Create an anchor element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the anchor.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<a>` element.\n *\n * @example\n * ```ts\n * import { createA } from \"@lnpg/pkgn-sol/elements/inline/a\";\n *\n * document.body.appendChild(\n * createA(\"Read more\", { href: \"/docs\", className: \"link\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createA(text?: string, attrs?: AnchorAttrs): ElementOf<typeof A_TAG> {\n return createElement(A_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance anchor elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceAs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for anchors.\n void root;\n}\n"],"mappings":";;;;;;;IAkGa,IAAQ,KAOR,IAAa;AAuF1B,SAAS,EAAc,GAA8C;CACnE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,SAAM,WAAQ,QAAK,aAAU,aAAU,SAAM,mBAAgB,SAAM,GAAG,MAClF,GAEI,IAAmB,GAGnB,IAA8C,EAAE,GAAI,EAAI,SAAS,EAAE,EAAG;CAY5E,AAVI,OAAO,KAAS,aAAU,EAAS,OAAO,IAC1C,OAAO,KAAW,aAAU,EAAS,SAAS,IAC9C,OAAO,KAAa,aAAU,EAAS,WAAW,IAClD,OAAO,KAAmB,aAAU,EAAS,iBAAiB,IAC9D,OAAO,KAAS,aAAU,EAAS,OAAO,IAE1C,OAAO,KAAS,aAAU,EAAS,OAAO,IAC1C,MAAM,QAAQ,EAAK,KAAE,EAAS,OAAO,EAAK,KAAK,IAAI,GAEnD,OAAO,KAAa,aAAU,EAAS,WAAW,IAClD,MAAa,OAAM,EAAS,WAAW;CAG3C,IAAM,IACJ,OAAO,EAAS,OAAQ,YAAY,EAAS,IAAI,MAAM,CAAC,SAAS,IAAI,EAAS,MAAM,KAAA;CAWtF,IATI,OAAO,KAAQ,WACjB,EAAS,MAAM,IACN,MAAW,YAAY,CAAC,MACjC,EAAS,MAAM,wBAIb,OAAO,KAAK,EAAS,CAAC,SAAS,MAAG,EAAI,QAAQ,IAE9C,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAQvD,OANI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAE7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAK,MAAM;EAAY,GAAG;;AA2BpD,SAAgB,EAAQ,GAAe,GAA8C;CACnF,OAAO,EAAA,KAAqB,EAAc,EAAM,EAAE,EAAK;;AAqBzD,SAAgB,EAAU,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/abbr/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ ABBR_SELECTOR: () => i,
5
+ ABBR_TAG: () => r,
6
+ createAbbr: () => o,
7
+ enhanceAbbrs: () => s
8
+ }), r = "abbr", i = "abbr";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t(r, a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as ABBR_SELECTOR, r as ABBR_TAG, o as createAbbr, s as enhanceAbbrs, n as t };
25
+
26
+ //# sourceMappingURL=abbr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abbr.js","names":[],"sources":["../../../../../src/elements/inline/abbr/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Abbreviation (`abbr`) element helpers.\n *\n * @remarks\n * The abbreviation element (`<abbr>`) represents an abbreviation or acronym.\n *\n * Best-practice guidance:\n * - Provide the expanded form in plain text on first use where possible.\n * - Optionally provide an expansion via the `title` attribute.\n * Spec guidance: if `title` is used on `<abbr>`, it should contain the expansion\n * of the abbreviation and nothing else.\n * - Do not rely solely on `title` tooltips for accessibility; tooltip exposure\n * varies across browsers and assistive technologies.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create abbr elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr\n * - WHATWG: https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-abbr-element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for abbreviations.\n *\n * @category Constants\n */\nexport const ABBR_TAG = 'abbr' as const;\n\n/**\n * A CSS selector targeting abbr elements.\n *\n * @category Constants\n */\nexport const ABBR_SELECTOR = 'abbr';\n\n/**\n * Attribute bag for abbr creation/enhancement.\n *\n * @remarks\n * Abbr elements accept standard HTML global attributes.\n *\n * For expansions, prefer:\n * - expanding the term in plain text on first use, and/or\n * - using {@link GlobalAttrs.title} to provide an expansion (advisory text).\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type AbbrAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link AbbrAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The abbr attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: AbbrAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an abbr element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the abbreviation (e.g. \"NASA\").\n * @param attrs - Optional attributes to apply (e.g. `title` for expansion).\n * @returns The created `<abbr>` element.\n *\n * @example\n * ```ts\n * import { createAbbr } from \"@lnpg/pkgn-sol/elements/inline/abbr\";\n *\n * const el = createAbbr(\"NASA\", { title: \"National Aeronautics and Space Administration\" });\n * document.body.appendChild(el);\n * ```\n *\n * @category DOM\n */\nexport function createAbbr(text?: string, attrs?: AbbrAttrs): ElementOf<typeof ABBR_TAG> {\n return createElement(ABBR_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance abbr elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceAbbrs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for abbr.\n void root;\n}\n"],"mappings":";;;;;;;IAiEa,IAAW,QAOX,IAAgB;AAgC7B,SAAS,EAAc,GAA4C;CACjE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AA0BrD,SAAgB,EAAW,GAAe,GAA+C;CACvF,OAAO,EAAc,GAAU,EAAc,EAAM,EAAE,EAAK;;AAqB5D,SAAgB,EAAa,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/b/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ B_SELECTOR: () => "b",
5
+ B_TAG: () => "b",
6
+ createB: () => o,
7
+ enhanceBs: () => s
8
+ }), r = "b", i = "b";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t("b", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as B_SELECTOR, r as B_TAG, o as createB, s as enhanceBs, n as t };
25
+
26
+ //# sourceMappingURL=b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"b.js","names":[],"sources":["../../../../../src/elements/inline/b/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: B element helpers.\n *\n * @remarks\n * The b element (`<b>`) represents a span of text to which attention is being\n * drawn for utilitarian purposes, without conveying extra importance.\n *\n * Best-practice guidance:\n * - Use `<b>` to draw attention without implying importance.\n * - Use `<strong>` for strong importance and `<em>` for stress emphasis.\n * - Do not use `<b>` purely for styling. Prefer CSS (e.g. `font-weight`) when the\n * goal is visual bolding rather than semantics.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create inline attention spans in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol ever needs runtime behavior\n *\n * MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for \"bring attention to\" spans.\n *\n * @category Constants\n */\nexport const B_TAG = 'b' as const;\n\n/**\n * A CSS selector targeting b elements.\n *\n * @category Constants\n */\nexport const B_SELECTOR = 'b';\n\n/**\n * Attribute bag for b creation/enhancement.\n *\n * @remarks\n * B elements accept standard HTML global attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type BAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link BAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The b attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: BAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a b element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the b element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<b>` element.\n *\n * @example\n * ```ts\n * import { createB } from \"@lnpg/pkgn-sol/elements/inline/b\";\n *\n * document.body.appendChild(createB(\"Keyword\", { className: \"keyword\" }));\n * ```\n *\n * @category DOM\n */\nexport function createB(text?: string, attrs?: BAttrs): ElementOf<typeof B_TAG> {\n return createElement(B_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance b elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceBs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for b.\n void root;\n}\n"],"mappings":";;;;;;;IA2Da,IAAQ,KAOR,IAAa;AA4B1B,SAAS,EAAc,GAAyC;CAC9D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAyBrD,SAAgB,EAAQ,GAAe,GAAyC;CAC9E,OAAO,EAAA,KAAqB,EAAc,EAAM,EAAE,EAAK;;AAqBzD,SAAgB,EAAU,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/cite/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ CITE_SELECTOR: () => i,
5
+ CITE_TAG: () => r,
6
+ createCite: () => o,
7
+ enhanceCites: () => s
8
+ }), r = "cite", i = "cite";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, ...n } = e;
12
+ if (!t) return n;
13
+ let r = {};
14
+ return typeof t.label == "string" && (r.label = t.label), typeof t.labelledby == "string" && (r.labelledby = t.labelledby), typeof t.hidden == "boolean" && (r.hidden = t.hidden), Object.keys(r).length > 0 ? {
15
+ ...n,
16
+ aria: r
17
+ } : n;
18
+ }
19
+ function o(e, n) {
20
+ return t(r, a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as CITE_SELECTOR, r as CITE_TAG, o as createCite, s as enhanceCites, n as t };
25
+
26
+ //# sourceMappingURL=cite.js.map