@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":"s.js","names":[],"sources":["../../../../../src/elements/inline/s/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: S (strikethrough) element helpers.\n *\n * @remarks\n * The s element (`<s>`) represents content that is no longer accurate or no\n * longer relevant. It is a presentational indicator of \"this isn't current\"\n * rather than an edit-tracking semantic.\n *\n * Best-practice guidance:\n * - Use `<s>` for \"no longer relevant/accurate\" text (e.g. outdated pricing).\n * - Use `<del>` when you mean \"this was removed\" (edit history / document diff semantics).\n * - Do not use `<s>` as a substitute for emphasis; use appropriate semantics and CSS.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<s>` 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/Element/s\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 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 s elements.\n *\n * @category Constants\n */\nexport const S_TAG = 's' as const;\n\n/**\n * A CSS selector targeting s elements.\n *\n * @category Constants\n */\nexport const S_SELECTOR = 's';\n\n/**\n * Attribute bag for s creation/enhancement.\n *\n * @remarks\n * The `<s>` element 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 SAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The s attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SAttrs): 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 s 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 element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<s>` element.\n *\n * @example\n * ```ts\n * import { createS } from \"@lnpg/pkgn-sol/elements/inline/s\";\n *\n * const el = createS(\"£199\", { className: \"old-price\" });\n * document.body.appendChild(el);\n * ```\n *\n * @category DOM\n */\nexport function createS(text?: string, attrs?: SAttrs): ElementOf<typeof S_TAG> {\n return createElement(S_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance s 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 enhanceSs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for s.\n void root;\n}\n"],"mappings":";;;;;;;IA8Da,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;;AA0BrD,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/samp/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ SAMP_SELECTOR: () => i,
5
+ SAMP_TAG: () => r,
6
+ createSamp: () => o,
7
+ enhanceSamps: () => s
8
+ }), r = "samp", i = "samp";
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 SAMP_SELECTOR, r as SAMP_TAG, o as createSamp, s as enhanceSamps, n as t };
25
+
26
+ //# sourceMappingURL=samp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"samp.js","names":[],"sources":["../../../../../src/elements/inline/samp/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Samp element helpers.\n *\n * @remarks\n * The samp element (`<samp>`) represents sample (or quoted) output from another\n * program or computing system.\n *\n * Best-practice guidance:\n * - Use `<samp>` for *output* (what the computer/system printed).\n * - Use `<kbd>` for user input (what the user typed/pressed).\n * - Use `<code>` for code fragments (source code).\n * - Use CSS for presentation; semantics should match meaning.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create samp nodes 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/samp\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 sample output.\n *\n * @category Constants\n */\nexport const SAMP_TAG = 'samp' as const;\n\n/**\n * A CSS selector targeting samp elements.\n *\n * @category Constants\n */\nexport const SAMP_SELECTOR = 'samp';\n\n/**\n * Attribute bag for samp creation/enhancement.\n *\n * @remarks\n * Samp 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 SampAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SampAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The samp attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SampAttrs): 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 samp 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 samp element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<samp>` element.\n *\n * @example\n * ```ts\n * import { createSamp } from \"@lnpg/pkgn-sol/elements/inline/samp\";\n *\n * // Sample output:\n * const out = createSamp(\"Everything up-to-date\");\n * ```\n *\n * @category DOM\n */\nexport function createSamp(text?: string, attrs?: SampAttrs): ElementOf<typeof SAMP_TAG> {\n return createElement(SAMP_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance samp 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 enhanceSamps(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for samp.\n void root;\n}\n"],"mappings":";;;;;;;IA2Da,IAAW,QAOX,IAAgB;AA4B7B,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/small/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ SMALL_SELECTOR: () => i,
5
+ SMALL_TAG: () => r,
6
+ createSmall: () => o,
7
+ enhanceSmalls: () => s
8
+ }), r = "small", i = "small";
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 SMALL_SELECTOR, r as SMALL_TAG, o as createSmall, s as enhanceSmalls, n as t };
25
+
26
+ //# sourceMappingURL=small.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"small.js","names":[],"sources":["../../../../../src/elements/inline/small/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Small element helpers.\n *\n * @remarks\n * The small element (`<small>`) represents side comments and small print.\n *\n * Best-practice guidance:\n * - Use `<small>` for side notes, disclaimers, legal restrictions, copyright,\n * attribution, or licensing text.\n * - Do not use `<small>` purely to make text visually smaller. Use CSS when the\n * intent is presentational rather than semantic.\n * - Keep accessible meaning intact: if the content is important, it should be\n * readable and not \"hidden\" behind styling choices.\n *\n * Attributes:\n * - `<small>` has no element-specific attributes in HTML. It accepts global\n * attributes only.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<small>` 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/Element/small\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 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 small element.\n *\n * @category Constants\n */\nexport const SMALL_TAG = 'small' as const;\n\n/**\n * A CSS selector targeting small elements.\n *\n * @category Constants\n */\nexport const SMALL_SELECTOR = 'small';\n\n/**\n * Attribute bag for small creation/enhancement.\n *\n * @remarks\n * `<small>` 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 * Security note:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style}.\n *\n * @category Attributes\n */\nexport type SmallAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SmallAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The small attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SmallAttrs): 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 a small 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 * Note: `<small>` is phrasing content. This helper supports a simple `text`\n * convenience for cases where plain text is sufficient; consumers can still\n * append richer child nodes afterwards.\n *\n * @param text - Optional text content for the small element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<small>` element.\n *\n * @example\n * ```ts\n * import { createSmall } from \"@lnpg/pkgn-sol/elements/inline/small\";\n *\n * const legal = createSmall(\"Terms apply.\", { className: \"legal\" });\n * document.body.appendChild(legal);\n * ```\n *\n * @category DOM\n */\nexport function createSmall(text?: string, attrs?: SmallAttrs): ElementOf<typeof SMALL_TAG> {\n return createElement(SMALL_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance small 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 enhanceSmalls(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for small.\n void root;\n}\n"],"mappings":";;;;;;;IAmEa,IAAY,SAOZ,IAAiB;AAgC9B,SAAS,EAAc,GAA6C;CAClE,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;;AA8BrD,SAAgB,EAAY,GAAe,GAAiD;CAC1F,OAAO,EAAc,GAAW,EAAc,EAAM,EAAE,EAAK;;AAqB7D,SAAgB,EAAc,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/strong/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ STRONG_SELECTOR: () => i,
5
+ STRONG_TAG: () => r,
6
+ createStrong: () => o,
7
+ enhanceStrongs: () => s
8
+ }), r = "strong", i = "strong";
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 STRONG_SELECTOR, r as STRONG_TAG, o as createStrong, s as enhanceStrongs, n as t };
25
+
26
+ //# sourceMappingURL=strong.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strong.js","names":[],"sources":["../../../../../src/elements/inline/strong/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Strong element helpers.\n *\n * @remarks\n * The strong element (`<strong>`) indicates that its contents have strong\n * importance, seriousness, or urgency. Browsers typically render it as bold,\n * but the semantic meaning is what matters. :contentReference[oaicite:3]{index=3}\n *\n * Best-practice guidance:\n * - Use `<strong>` for genuinely important text (e.g. warnings, urgent notes).\n * - Do not use `<strong>` purely for visual styling; use CSS for presentation.\n * - Do not confuse `<strong>` with `<b>`:\n * - `<strong>` conveys importance/seriousness/urgency.\n * - `<b>` draws attention without adding semantic importance. :contentReference[oaicite:4]{index=4}\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create strong text nodes 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 strong importance.\n *\n * @category Constants\n */\nexport const STRONG_TAG = 'strong' as const;\n\n/**\n * A CSS selector targeting strong elements.\n *\n * @category Constants\n */\nexport const STRONG_SELECTOR = 'strong';\n\n/**\n * Attribute bag for strong creation/enhancement.\n *\n * @remarks\n * The `<strong>` element uses 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 StrongAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link StrongAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The strong attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: StrongAttrs): 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 strong 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 strong element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<strong>` element.\n *\n * @example\n * Emphasize a warning:\n * ```ts\n * import { createStrong } from \"@lnpg/pkgn-sol/elements/inline/strong\";\n *\n * const warning = createStrong(\"Warning:\", { className: \"warning-label\" });\n * document.body.appendChild(warning);\n * ```\n *\n * @category DOM\n */\nexport function createStrong(text?: string, attrs?: StrongAttrs): ElementOf<typeof STRONG_TAG> {\n return createElement(STRONG_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance strong 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 enhanceStrongs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for strong.\n void root;\n}\n"],"mappings":";;;;;;;IA8Da,IAAa,UAOb,IAAkB;AA4B/B,SAAS,EAAc,GAA8C;CACnE,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;;AA2BrD,SAAgB,EAAa,GAAe,GAAmD;CAC7F,OAAO,EAAc,GAAY,EAAc,EAAM,EAAE,EAAK;;AAqB9D,SAAgB,EAAe,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/sub/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ SUB_SELECTOR: () => "sub",
5
+ SUB_TAG: () => "sub",
6
+ createSub: () => o,
7
+ enhanceSubs: () => s
8
+ }), r = "sub", i = "sub";
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("sub", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as SUB_SELECTOR, r as SUB_TAG, o as createSub, s as enhanceSubs, n as t };
25
+
26
+ //# sourceMappingURL=sub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sub.js","names":[],"sources":["../../../../../src/elements/inline/sub/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Sub element helpers.\n *\n * @remarks\n * The sub element (`<sub>`) represents subscript text.\n *\n * Best-practice guidance:\n * - Use `<sub>` for typographical conventions (e.g. chemical formulas like H₂O,\n * mathematical indices in plain text, footnote markers) where subscript is\n * semantically appropriate.\n * - Do not use `<sub>` purely for presentation. Use CSS for visual styling.\n *\n * The `<sub>` element has no element-specific attributes. It supports standard\n * HTML global attributes.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create sub 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 * MDN:\n * - https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/sub\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 subscript text.\n *\n * @category Constants\n */\nexport const SUB_TAG = 'sub' as const;\n\n/**\n * A CSS selector targeting sub elements.\n *\n * @category Constants\n */\nexport const SUB_SELECTOR = 'sub';\n\n/**\n * Attribute bag for sub creation/enhancement.\n *\n * @remarks\n * The `<sub>` element 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 SubAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SubAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The sub attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SubAttrs): 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 sub 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 sub element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<sub>` element.\n *\n * @example\n * ```ts\n * import { createSub } from \"@lnpg/pkgn-sol/elements/inline/sub\";\n *\n * const formula = document.createElement(\"span\");\n * formula.append(\"H\");\n * formula.appendChild(createSub(\"2\"));\n * formula.append(\"O\");\n * ```\n *\n * @category DOM\n */\nexport function createSub(text?: string, attrs?: SubAttrs): ElementOf<typeof SUB_TAG> {\n return createElement(SUB_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance sub 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 enhanceSubs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for sub.\n void root;\n}\n"],"mappings":";;;;;;;IAiEa,IAAU,OAOV,IAAe;AA4B5B,SAAS,EAAc,GAA2C;CAChE,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;;AA4BrD,SAAgB,EAAU,GAAe,GAA6C;CACpF,OAAO,EAAA,OAAuB,EAAc,EAAM,EAAE,EAAK;;AAqB3D,SAAgB,EAAY,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/sup/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ SUP_SELECTOR: () => "sup",
5
+ SUP_TAG: () => "sup",
6
+ createSup: () => o,
7
+ enhanceSups: () => s
8
+ }), r = "sup", i = "sup";
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("sup", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as SUP_SELECTOR, r as SUP_TAG, o as createSup, s as enhanceSups, n as t };
25
+
26
+ //# sourceMappingURL=sup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sup.js","names":[],"sources":["../../../../../src/elements/inline/sup/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Sup element helpers.\n *\n * @remarks\n * The sup element (`<sup>`) represents superscript text.\n *\n * Best-practice guidance:\n * - Use `<sup>` for semantic superscripts such as footnote markers, ordinal indicators,\n * and mathematical exponents.\n * - Avoid using `<sup>` purely for visual styling; prefer CSS when semantics are not intended.\n * - For footnotes, consider pairing markers with accessible labelling (e.g. via `aria-label`)\n * and appropriate linking patterns.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create superscript nodes 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/Element/sup\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 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 superscript elements.\n *\n * @category Constants\n */\nexport const SUP_TAG = 'sup' as const;\n\n/**\n * A CSS selector targeting sup elements.\n *\n * @category Constants\n */\nexport const SUP_SELECTOR = 'sup';\n\n/**\n * Attribute bag for sup creation/enhancement.\n *\n * @remarks\n * Sup 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 SupAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SupAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The sup attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SupAttrs): 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 sup 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 sup.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<sup>` element.\n *\n * @example\n * Create a footnote marker:\n * ```ts\n * import { createSup } from \"@lnpg/pkgn-sol/elements/inline/sup\";\n *\n * const marker = createSup(\"1\", { aria: { label: \"Footnote 1\" } });\n * ```\n *\n * @category DOM\n */\nexport function createSup(text?: string, attrs?: SupAttrs): ElementOf<typeof SUP_TAG> {\n return createElement(SUP_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance sup 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 enhanceSups(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for sup.\n void root;\n}\n"],"mappings":";;;;;;;IA8Da,IAAU,OAOV,IAAe;AA4B5B,SAAS,EAAc,GAA2C;CAChE,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,EAAU,GAAe,GAA6C;CACpF,OAAO,EAAA,OAAuB,EAAc,EAAM,EAAE,EAAK;;AAqB3D,SAAgB,EAAY,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/inline/time/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ TIME_SELECTOR: () => i,
5
+ TIME_TAG: () => r,
6
+ createTime: () => o,
7
+ enhanceTimes: () => s
8
+ }), r = "time", i = "time";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, datetime: n, dateTime: r, attrs: i, ...a } = e, o = { ...a };
12
+ if (t) {
13
+ let e = {};
14
+ 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 && (o.aria = e);
15
+ }
16
+ let s = n ?? r, c = { ...i ?? {} };
17
+ return typeof s == "string" ? s.length > 0 && (c.datetime = s) : s instanceof Date && (c.datetime = s.toISOString()), Object.keys(c).length > 0 && (o.attrs = c), o;
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 TIME_SELECTOR, r as TIME_TAG, o as createTime, s as enhanceTimes, n as t };
25
+
26
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","names":[],"sources":["../../../../../src/elements/inline/time/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Time element helpers.\n *\n * @remarks\n * The time element (`<time>`) represents a specific period in time.\n *\n * Best-practice guidance (summary):\n * - Provide a machine-readable `datetime` value when possible.\n * - Keep visible text human-friendly (e.g. \"Tomorrow\", \"12 Feb 2026\").\n * - Avoid using `<time>` purely for styling.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<time>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - supply a typed `datetime`/`dateTime` field mapped to the `datetime` attribute\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.\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 time.\n *\n * @category Constants\n */\nexport const TIME_TAG = 'time' as const;\n\n/**\n * A CSS selector targeting time elements.\n *\n * @category Constants\n */\nexport const TIME_SELECTOR = 'time';\n\n/**\n * Attribute bag for time creation/enhancement.\n *\n * @remarks\n * In addition to global attributes, `<time>` commonly uses the `datetime`\n * attribute to provide a machine-readable value.\n *\n * pkgn-sol supports:\n * - `datetime` (preferred, aligns with the HTML attribute name)\n * - `dateTime` (alias for ergonomic camelCase usage)\n *\n * @category Attributes\n */\nexport type TimeAttrs = Omit<GlobalAttrs, 'aria' | 'attrs'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Machine-readable time value, mapped to the `datetime` attribute.\n *\n * @remarks\n * Examples:\n * - `2026-02-25`\n * - `2026-02-25T16:30:00Z`\n * - `PT2H`\n *\n * If a {@link Date} is provided, it is converted via `toISOString()`.\n */\n datetime?: string | Date;\n\n /**\n * Alias of {@link TimeAttrs.datetime}.\n *\n * @remarks\n * Supported for ergonomic camelCase input. If both are provided, `datetime`\n * takes precedence.\n */\n dateTime?: string | Date;\n\n /**\n * Additional attributes not modeled above.\n *\n * @remarks\n * This exists as an escape hatch while still allowing pkgn-sol to apply its\n * attribute safety rules via `dom.ts`.\n */\n attrs?: GlobalAttrs['attrs'];\n};\n\n/**\n * Normalize {@link TimeAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The time attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TimeAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, datetime, dateTime, attrs: extraAttrs, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Map structured aria.\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) mapped.aria = mappedAria;\n }\n\n // Map datetime/dateTime -> datetime attribute, while preserving any provided attrs.\n const v = datetime ?? dateTime;\n\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(extraAttrs ?? {}) };\n\n if (typeof v === 'string') {\n if (v.length > 0) mergedAttrs.datetime = v;\n } else if (v instanceof Date) {\n mergedAttrs.datetime = v.toISOString();\n }\n\n if (Object.keys(mergedAttrs).length > 0) mapped.attrs = mergedAttrs;\n\n return mapped;\n}\n\n/**\n * Create a time 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 time element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<time>` element.\n *\n * @example\n * ```ts\n * import { createTime } from \"@lnpg/pkgn-sol/elements/inline/time\";\n *\n * const t = createTime(\"25 Feb 2026\", { datetime: \"2026-02-25\" });\n * document.body.appendChild(t);\n * ```\n *\n * @example\n * Using the `dateTime` alias:\n * ```ts\n * const t = createTime(\"25 Feb 2026\", { dateTime: \"2026-02-25\" });\n * ```\n *\n * @category DOM\n */\nexport function createTime(text?: string, attrs?: TimeAttrs): ElementOf<typeof TIME_TAG> {\n return createElement(TIME_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance time 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 enhanceTimes(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for time.\n void root;\n}\n"],"mappings":";;;;;;;IA0Da,IAAW,QAOX,IAAgB;AA6D7B,SAAS,EAAc,GAA4C;CACjE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,aAAU,aAAU,OAAO,GAAY,GAAG,MAAS,GAE3D,IAAsB,EAAE,GAAG,GAAM;CAGvC,IAAI,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,MAAG,EAAO,OAAO;;CAIxD,IAAM,IAAI,KAAY,GAEhB,IAAiD,EAAE,GAAI,KAAc,EAAE,EAAG;CAUhF,OARI,OAAO,KAAM,WACX,EAAE,SAAS,MAAG,EAAY,WAAW,KAChC,aAAa,SACtB,EAAY,WAAW,EAAE,aAAa,GAGpC,OAAO,KAAK,EAAY,CAAC,SAAS,MAAG,EAAO,QAAQ,IAEjD;;AAgCT,SAAgB,EAAW,GAAe,GAA+C;CACvF,OAAO,EAAc,GAAU,EAAc,EAAM,EAAE,EAAK;;AAa5D,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/u/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ U_SELECTOR: () => "u",
5
+ U_TAG: () => "u",
6
+ createU: () => o,
7
+ enhanceUs: () => s
8
+ }), r = "u", i = "u";
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("u", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as U_SELECTOR, r as U_TAG, o as createU, s as enhanceUs, n as t };
25
+
26
+ //# sourceMappingURL=u.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"u.js","names":[],"sources":["../../../../../src/elements/inline/u/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: U element helpers.\n *\n * @remarks\n * The u element (`<u>`) represents a span of text with an unarticulated,\n * explicitly rendered non-textual annotation.\n *\n * Best-practice guidance:\n * - Do not use `<u>` purely for underlining text. Use CSS (`text-decoration`) for\n * presentation.\n * - Use `<u>` only when the semantics are appropriate (e.g. marking misspellings\n * or other non-textual annotations).\n * - Avoid usage where it could be confused with a hyperlink.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create u 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 * MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u\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 unarticulated annotation spans.\n *\n * @category Constants\n */\nexport const U_TAG = 'u' as const;\n\n/**\n * A CSS selector targeting u elements.\n *\n * @category Constants\n */\nexport const U_SELECTOR = 'u';\n\n/**\n * Attribute bag for u creation/enhancement.\n *\n * @remarks\n * U 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 UAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link UAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The u attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: UAttrs): 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 u 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 u element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<u>` element.\n *\n * @example\n * ```ts\n * import { createU } from \"@lnpg/pkgn-sol/elements/inline/u\";\n *\n * const misspelt = createU(\"teh\", { aria: { label: \"Misspelt word\" } });\n * ```\n *\n * @category DOM\n */\nexport function createU(text?: string, attrs?: UAttrs): ElementOf<typeof U_TAG> {\n return createElement(U_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance u 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 enhanceUs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for u.\n void root;\n}\n"],"mappings":";;;;;;;IA4Da,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/var/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ VAR_SELECTOR: () => "var",
5
+ VAR_TAG: () => "var",
6
+ createVar: () => o,
7
+ enhanceVars: () => s
8
+ }), r = "var", i = "var";
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("var", a(n), e);
21
+ }
22
+ function s(e = document) {}
23
+ //#endregion
24
+ export { i as VAR_SELECTOR, r as VAR_TAG, o as createVar, s as enhanceVars, n as t };
25
+
26
+ //# sourceMappingURL=var.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"var.js","names":[],"sources":["../../../../../src/elements/inline/var/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Var element helpers.\n *\n * @remarks\n * The var element (`<var>`) represents a variable name in a mathematical\n * expression or programming context. Browsers typically render it in italics\n * by default, but presentation should be handled via CSS.\n *\n * Best-practice guidance:\n * - Use `<var>` specifically for variables (e.g. `x`, `y`, `n`, `userId`).\n * - Use `<code>` for code fragments, `<kbd>` for user input, and `<samp>` for\n * sample output, rather than overloading `<var>`.\n * - Keep semantics clean: `<var>` is inline and should not be used as a generic\n * styling hook.\n *\n * pkgn-sol provides small, framework-agnostic helpers so consumers can:\n * - create `<var>` 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/Element/var\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 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 var elements.\n *\n * @category Constants\n */\nexport const VAR_TAG = 'var' as const;\n\n/**\n * A CSS selector targeting var elements.\n *\n * @category Constants\n */\nexport const VAR_SELECTOR = 'var';\n\n/**\n * Attribute bag for var creation/enhancement.\n *\n * @remarks\n * The `<var>` element 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 VarAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link VarAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The var attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: VarAttrs): 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 var 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 var element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<var>` element.\n *\n * @example\n * ```ts\n * import { createVar } from \"@lnpg/pkgn-sol/elements/inline/var\";\n *\n * const v = createVar(\"n\", { className: \"symbol\" });\n * document.body.appendChild(v);\n * ```\n *\n * @category DOM\n */\nexport function createVar(text?: string, attrs?: VarAttrs): ElementOf<typeof VAR_TAG> {\n return createElement(VAR_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance var 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 enhanceVars(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for var.\n void root;\n}\n"],"mappings":";;;;;;;IAgEa,IAAU,OAOV,IAAe;AA4B5B,SAAS,EAAc,GAA2C;CAChE,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,EAAU,GAAe,GAA6C;CACpF,OAAO,EAAA,OAAuB,EAAc,EAAM,EAAE,EAAK;;AAqB3D,SAAgB,EAAY,IAAmB,UAAgB"}
@@ -0,0 +1,29 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/interactive/details/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ DETAILS_SELECTOR: () => i,
5
+ DETAILS_TAG: () => r,
6
+ createDetails: () => o,
7
+ enhanceDetails: () => s
8
+ }), r = "details", i = "details";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, open: n, name: r, ...i } = e, a = { ...i.attrs ?? {} }, o = (e, t) => {
12
+ t !== void 0 && (Object.prototype.hasOwnProperty.call(a, e) || (a[e] = t));
13
+ };
14
+ o("name", r), n === !0 && o("open", "");
15
+ let s = { ...i };
16
+ if (Object.keys(a).length > 0 && (s.attrs = a), 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 && (s.aria = e);
19
+ }
20
+ return s;
21
+ }
22
+ function o(e) {
23
+ return t(r, a(e));
24
+ }
25
+ function s(e = document) {}
26
+ //#endregion
27
+ export { i as DETAILS_SELECTOR, r as DETAILS_TAG, o as createDetails, s as enhanceDetails, n as t };
28
+
29
+ //# sourceMappingURL=details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"details.js","names":[],"sources":["../../../../../src/elements/interactive/details/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Details element helpers.\n *\n * @remarks\n * The details element (`<details>`) creates a disclosure widget where content is\n * shown/hidden by toggling the element open/closed. (MDN) :contentReference[oaicite:3]{index=3}\n *\n * Best-practice guidance:\n * - Provide a visible label using a child `<summary>` element; it acts as the\n * interactive control for toggling the parent `<details>`. (MDN) :contentReference[oaicite:4]{index=4}\n * - Use the `open` attribute to render expanded by default. (MDN) :contentReference[oaicite:5]{index=5}\n * - If using the `name` attribute to create a mutually-exclusive group, authors\n * must avoid markup where more than one element in the same name group has\n * `open` present. User agents may enforce exclusivity by changing `open`.\n * (WHATWG) :contentReference[oaicite:6]{index=6}\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 details disclosure widgets.\n *\n * @category Constants\n */\nexport const DETAILS_TAG = 'details' as const;\n\n/**\n * A CSS selector targeting details elements.\n *\n * @category Constants\n */\nexport const DETAILS_SELECTOR = 'details';\n\n/**\n * Attribute bag for details creation/enhancement.\n *\n * @remarks\n * `<details>` accepts global attributes plus:\n * - `open` (boolean attribute)\n * - `name` (creates a mutually-exclusive details name group, per spec)\n *\n * `name` grouping behavior is specified by HTML; pkgn-sol does not enforce group\n * constraints at runtime. (WHATWG) :contentReference[oaicite:7]{index=7}\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, mapped into\n * {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type DetailsAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Whether the details is open (expanded) by default.\n *\n * @remarks\n * This maps to the boolean `open` attribute. (MDN) :contentReference[oaicite:8]{index=8}\n */\n open?: boolean;\n\n /**\n * Name of a mutually-exclusive details group.\n *\n * @remarks\n * Details with the same `name` may form an exclusive group where at most one\n * is open at a time. (WHATWG) :contentReference[oaicite:9]{index=9}\n */\n name?: string;\n};\n\n/**\n * Normalize {@link DetailsAttrs} 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?: DetailsAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, open, name, ...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 setIfUnset('name', name);\n\n // Boolean attribute by presence when true.\n if (open === true) setIfUnset('open', '');\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 details element with optional attributes.\n *\n * @remarks\n * - Provide a child `<summary>` for the visible label/toggle control. (MDN) :contentReference[oaicite:10]{index=10}\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 `<details>` element.\n *\n * @example\n * ```ts\n * import { createDetails } from \"@lnpg/pkgn-sol/elements/interactive/details\";\n *\n * const d = createDetails({ open: true });\n * ```\n *\n * @category DOM\n */\nexport function createDetails(attrs?: DetailsAttrs): ElementOf<typeof DETAILS_TAG> {\n return createElement(DETAILS_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance details 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 enhanceDetails(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for details.\n void root;\n}\n"],"mappings":";;;;;;;IA6Da,IAAc,WAOd,IAAmB;AAqDhC,SAAS,EAAc,GAA+C;CACpE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,SAAM,SAAM,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;;CAMrB,AAHA,EAAW,QAAQ,EAAK,EAGpB,MAAS,MAAM,EAAW,QAAQ,GAAG;CAEzC,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;;AAwBT,SAAgB,EAAc,GAAqD;CACjF,OAAO,EAAc,GAAa,EAAc,EAAM,CAAC;;AAazD,SAAgB,EAAe,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/interactive/dialog/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ DIALOG_SELECTOR: () => i,
5
+ DIALOG_TAG: () => r,
6
+ createDialog: () => o,
7
+ enhanceDialogs: () => s
8
+ }), r = "dialog", i = "dialog";
9
+ function a(e) {
10
+ if (!e) return;
11
+ let { aria: t, open: n, closedBy: r, ...i } = e, a = { ...i }, o = { ...a.attrs ?? {} };
12
+ if (n === !0 && (o.open = !0), (r === "any" || r === "closerequest" || r === "none") && (o.closedby = r), Object.keys(o).length > 0 && (a.attrs = o), !t) return a;
13
+ let s = {};
14
+ return typeof t.label == "string" && (s.label = t.label), typeof t.labelledby == "string" && (s.labelledby = t.labelledby), typeof t.hidden == "boolean" && (s.hidden = t.hidden), Object.keys(s).length > 0 ? {
15
+ ...a,
16
+ aria: s
17
+ } : a;
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 DIALOG_SELECTOR, r as DIALOG_TAG, o as createDialog, s as enhanceDialogs, n as t };
25
+
26
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","names":[],"sources":["../../../../../src/elements/interactive/dialog/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Dialog element helpers.\n *\n * @remarks\n * The dialog element (`<dialog>`) represents a modal or non-modal dialog box\n * (e.g. a confirm prompt, inspector, or subwindow).\n *\n * Best-practice guidance:\n * - Prefer using the platform APIs:\n * - `dialog.showModal()` for modal dialogs\n * - `dialog.show()` for non-modal dialogs\n * - `dialog.close()` to close, optionally supplying a return value\n * - Provide an accessible name for the dialog content (e.g. heading + `aria-labelledby`\n * or `aria-label` when appropriate).\n * - Ensure the dialog contains an obvious close mechanism.\n * - Avoid relying solely on adding/removing `open`; prefer the element's methods\n * for correct focus and modal behavior.\n *\n * Attributes (element-specific):\n * - `open` (boolean): when present, the dialog is active and available for interaction.\n * - `closedBy` (enumerated): maps to the `closedby` content attribute (spec-defined).\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/dialog\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 dialog.\n *\n * @category Constants\n */\nexport const DIALOG_TAG = 'dialog' as const;\n\n/**\n * A CSS selector targeting dialog elements.\n *\n * @category Constants\n */\nexport const DIALOG_SELECTOR = 'dialog';\n\n/**\n * Values supported by the `closedby` content attribute.\n *\n * @remarks\n * This is a newer platform feature that specifies which user actions can close\n * the dialog automatically.\n *\n * - `any`: close requests or clicks outside close the dialog.\n * - `closerequest`: close requests close the dialog.\n * - `none`: no user actions automatically close the dialog.\n *\n * @category Types\n */\nexport type DialogClosedBy = 'any' | 'closerequest' | 'none';\n\n/**\n * Attribute bag for dialog creation/enhancement.\n *\n * @remarks\n * Dialog elements accept standard HTML global attributes plus a small set of\n * dialog-specific content 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 DialogAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Whether the dialog is open (active).\n *\n * @remarks\n * Maps to the `open` boolean attribute.\n *\n * Prefer controlling visibility via the native methods (`showModal`, `show`,\n * `close`) when possible.\n */\n open?: boolean;\n\n /**\n * Control user actions that can close the dialog.\n *\n * @remarks\n * Maps to the `closedby` content attribute.\n */\n closedBy?: DialogClosedBy;\n};\n\n/**\n * Normalize {@link DialogAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The dialog attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DialogAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, open, closedBy, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n const extra: NonNullable<GlobalAttrs['attrs']> = { ...(mapped.attrs ?? {}) };\n\n if (open === true) extra.open = true;\n\n if (closedBy === 'any' || closedBy === 'closerequest' || closedBy === 'none') {\n extra.closedby = closedBy;\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 // Only attach `aria` if something was actually defined.\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n return hasMappedAria ? { ...mapped, aria: mappedAria } : mapped;\n}\n\n/**\n * Create a dialog 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 dialog.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<dialog>` element.\n *\n * @example\n * ```ts\n * import { createDialog } from \"@lnpg/pkgn-sol/elements/interactive/dialog\";\n *\n * const d = createDialog(\"Hello\", { open: true });\n * ```\n *\n * @category DOM\n */\nexport function createDialog(text?: string, attrs?: DialogAttrs): ElementOf<typeof DIALOG_TAG> {\n return createElement(DIALOG_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance dialog 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 enhanceDialogs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for dialog.\n void root;\n}\n"],"mappings":";;;;;;;IAoEa,IAAa,UAOb,IAAkB;AA+D/B,SAAS,EAAc,GAA8C;CACnE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,SAAM,aAAU,GAAG,MAAS,GAEpC,IAAsB,EAAE,GAAG,GAAM,EAEjC,IAA2C,EAAE,GAAI,EAAO,SAAS,EAAE,EAAG;CAY5E,IAVI,MAAS,OAAM,EAAM,OAAO,MAE5B,MAAa,SAAS,MAAa,kBAAkB,MAAa,YACpE,EAAM,WAAW,IAGf,OAAO,KAAK,EAAM,CAAC,SAAS,MAC9B,EAAO,QAAQ,IAGb,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,SAGzC,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAQ,MAAM;EAAY,GAAG;;AAyB3D,SAAgB,EAAa,GAAe,GAAmD;CAC7F,OAAO,EAAc,GAAY,EAAc,EAAM,EAAE,EAAK;;AAqB9D,SAAgB,EAAe,IAAmB,UAAgB"}
@@ -0,0 +1,14 @@
1
+ import { i as e } from "../../chunks/dom.js";
2
+ import { t } from "./details/details.js";
3
+ import { t as n } from "./dialog/dialog.js";
4
+ import { t as r } from "./summary/summary.js";
5
+ //#region src/elements/interactive/index.ts
6
+ var i = /* @__PURE__ */ e({
7
+ details: () => t,
8
+ dialog: () => n,
9
+ summary: () => r
10
+ });
11
+ //#endregion
12
+ export { t as details, n as dialog, r as summary, i as t };
13
+
14
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","names":[],"sources":["../../../../src/elements/interactive/index.ts"],"sourcesContent":["/**\n * Interactive element factories.\n *\n * Provides framework-agnostic factory functions for interactive HTML elements\n * that expose built-in browser behaviors such as disclosure widgets and modal\n * dialogs.\n *\n * These factories:\n * - Create semantic interactive structures using pkgn-sol's hardened DOM helpers.\n * - Forward curated global attributes.\n * - Enforce structured, typed attribute bags.\n * - Preserve correct accessibility semantics and relationships.\n * - Prevent unsafe attribute injection.\n *\n * The elements in this module provide native interactivity that browsers\n * understand without requiring JavaScript frameworks.\n *\n * @module elements/interactive\n * @since 0.1.0\n */\n\n/**\n * `<details>` element factory namespace.\n *\n * Represents a disclosure widget that users can open and close to reveal\n * additional information.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details\n */\nexport * as details from './details';\n\n/**\n * `<dialog>` element factory namespace.\n *\n * Represents a dialog box or interactive component such as a modal window,\n * alert, or confirmation interface.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog\n */\nexport * as dialog from './dialog';\n\n/**\n * `<summary>` element factory namespace.\n *\n * Represents the summary or visible heading for a `<details>` disclosure\n * widget. Clicking the summary toggles the details content.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary\n */\nexport * as summary from './summary';\n"],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/interactive/summary/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ SUMMARY_SELECTOR: () => i,
5
+ SUMMARY_TAG: () => r,
6
+ createSummary: () => o,
7
+ enhanceSummaries: () => s
8
+ }), r = "summary", i = "summary";
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 SUMMARY_SELECTOR, r as SUMMARY_TAG, o as createSummary, s as enhanceSummaries, n as t };
25
+
26
+ //# sourceMappingURL=summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.js","names":[],"sources":["../../../../../src/elements/interactive/summary/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Summary element helpers.\n *\n * @remarks\n * The summary element (`<summary>`) provides the visible label for a parent\n * `<details>` disclosure widget. Activating (clicking / pressing Enter) on the\n * `<summary>` toggles the open state of the parent `<details>` element.\n *\n * Best-practice guidance:\n * - Use `<summary>` only as the first child of a `<details>` element.\n * - Use clear, concise text so the disclosure purpose is obvious.\n * - Prefer semantic content inside `<summary>`; avoid overly complex interactive\n * children inside the summary label.\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: `<summary>` element\n * - WHATWG HTML: `<details>` content model and summary semantics\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 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 summary.\n *\n * @category Constants\n */\nexport const SUMMARY_TAG = 'summary' as const;\n\n/**\n * A CSS selector targeting summary elements.\n *\n * @category Constants\n */\nexport const SUMMARY_SELECTOR = 'summary';\n\n/**\n * Attribute bag for summary creation/enhancement.\n *\n * @remarks\n * `<summary>` supports 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 SummaryAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SummaryAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The summary attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SummaryAttrs): 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 a summary 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 summary.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<summary>` element.\n *\n * @example\n * ```ts\n * import { createSummary } from \"@lnpg/pkgn-sol/elements/interactive/summary\";\n *\n * const s = createSummary(\"More details\");\n * ```\n *\n * @category DOM\n */\nexport function createSummary(text?: string, attrs?: SummaryAttrs): ElementOf<typeof SUMMARY_TAG> {\n return createElement(SUMMARY_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance summary 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 * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceSummaries(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for summary.\n void root;\n}\n"],"mappings":";;;;;;;IAgEa,IAAc,WAOd,IAAmB;AA4BhC,SAAS,EAAc,GAA+C;CACpE,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,EAAc,GAAe,GAAqD;CAChG,OAAO,EAAc,GAAa,EAAc,EAAM,EAAE,EAAK;;AAiB/D,SAAgB,EAAiB,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/layout/article/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ ARTICLE_SELECTOR: () => i,
5
+ ARTICLE_TAG: () => r,
6
+ createArticle: () => o,
7
+ enhanceArticles: () => s
8
+ }), r = "article", i = "article";
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 ARTICLE_SELECTOR, r as ARTICLE_TAG, o as createArticle, s as enhanceArticles, n as t };
25
+
26
+ //# sourceMappingURL=article.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.js","names":[],"sources":["../../../../../src/elements/layout/article/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Article element helpers.\n *\n * @remarks\n * The article element (`<article>`) represents a self-contained composition in a\n * document, page, application, or site that is intended to be independently\n * distributable or reusable (e.g. syndication).\n *\n * Best-practice guidance:\n * - Use `<article>` for content that makes sense on its own (blog post, news item,\n * forum post, comment, product card, etc.).\n * - Prefer `<section>` for thematic grouping that is not independently distributable.\n * - Articles commonly include a heading (h1-h6) in their content, but this module\n * does not enforce structure at runtime.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create article sections 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/Element/article\n * @see https://html.spec.whatwg.org/multipage/sections.html#the-article-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.\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 article.\n *\n * @category Constants\n */\nexport const ARTICLE_TAG = 'article' as const;\n\n/**\n * A CSS selector targeting article elements.\n *\n * @category Constants\n */\nexport const ARTICLE_SELECTOR = 'article';\n\n/**\n * Attribute bag for article creation/enhancement.\n *\n * @remarks\n * Article 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 ArticleAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link ArticleAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The article attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ArticleAttrs): 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 article 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 article.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<article>` element.\n *\n * @example\n * ```ts\n * import { createArticle } from \"@lnpg/pkgn-sol/elements/layout/article\";\n *\n * document.body.appendChild(\n * createArticle(undefined, { className: \"post\", aria: { label: \"Blog post\" } })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createArticle(text?: string, attrs?: ArticleAttrs): ElementOf<typeof ARTICLE_TAG> {\n return createElement(ARTICLE_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance article 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 enhanceArticles(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for article.\n void root;\n}\n"],"mappings":";;;;;;;IAiEa,IAAc,WAOd,IAAmB;AA4BhC,SAAS,EAAc,GAA+C;CACpE,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;;AA2BrD,SAAgB,EAAc,GAAe,GAAqD;CAChG,OAAO,EAAc,GAAa,EAAc,EAAM,EAAE,EAAK;;AAqB/D,SAAgB,EAAgB,IAAmB,UAAgB"}
@@ -0,0 +1,26 @@
1
+ import { i as e, n as t } from "../../../chunks/dom.js";
2
+ //#region src/elements/layout/aside/index.ts
3
+ var n = /* @__PURE__ */ e({
4
+ ASIDE_SELECTOR: () => i,
5
+ ASIDE_TAG: () => r,
6
+ createAside: () => o,
7
+ enhanceAsides: () => s
8
+ }), r = "aside", i = "aside";
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 ASIDE_SELECTOR, r as ASIDE_TAG, o as createAside, s as enhanceAsides, n as t };
25
+
26
+ //# sourceMappingURL=aside.js.map