@vastare/fundatio 0.1.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 (1583) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +84 -0
  3. package/dist/assets/fonts/merriweather/Merriweather-Variable-Font.ttf +0 -0
  4. package/dist/assets/fonts/merriweather/Merriweather-Variable-Italic-Font.ttf +0 -0
  5. package/dist/assets/fonts/merriweather/OFL.txt +93 -0
  6. package/dist/assets/fonts/merriweather/README.txt +205 -0
  7. package/dist/assets/fonts/montserrat/Montserrat-Variable-Font.ttf +0 -0
  8. package/dist/assets/fonts/montserrat/Montserrat-Variable-Italic-Font.ttf +0 -0
  9. package/dist/assets/fonts/montserrat/OFL.txt +93 -0
  10. package/dist/assets/fonts/montserrat/README.txt +81 -0
  11. package/dist/cjs/chunks/dom.cjs +2 -0
  12. package/dist/cjs/chunks/dom.cjs.map +1 -0
  13. package/dist/cjs/chunks/fundatio.cjs +2 -0
  14. package/dist/cjs/chunks/fundatio.cjs.map +1 -0
  15. package/dist/cjs/chunks/index.cjs +2 -0
  16. package/dist/cjs/chunks/index.cjs.map +1 -0
  17. package/dist/cjs/chunks/index10.cjs +2 -0
  18. package/dist/cjs/chunks/index10.cjs.map +1 -0
  19. package/dist/cjs/chunks/index100.cjs +2 -0
  20. package/dist/cjs/chunks/index100.cjs.map +1 -0
  21. package/dist/cjs/chunks/index101.cjs +2 -0
  22. package/dist/cjs/chunks/index101.cjs.map +1 -0
  23. package/dist/cjs/chunks/index102.cjs +2 -0
  24. package/dist/cjs/chunks/index102.cjs.map +1 -0
  25. package/dist/cjs/chunks/index103.cjs +2 -0
  26. package/dist/cjs/chunks/index103.cjs.map +1 -0
  27. package/dist/cjs/chunks/index104.cjs +2 -0
  28. package/dist/cjs/chunks/index104.cjs.map +1 -0
  29. package/dist/cjs/chunks/index105.cjs +2 -0
  30. package/dist/cjs/chunks/index105.cjs.map +1 -0
  31. package/dist/cjs/chunks/index106.cjs +2 -0
  32. package/dist/cjs/chunks/index106.cjs.map +1 -0
  33. package/dist/cjs/chunks/index107.cjs +2 -0
  34. package/dist/cjs/chunks/index107.cjs.map +1 -0
  35. package/dist/cjs/chunks/index108.cjs +2 -0
  36. package/dist/cjs/chunks/index108.cjs.map +1 -0
  37. package/dist/cjs/chunks/index109.cjs +2 -0
  38. package/dist/cjs/chunks/index109.cjs.map +1 -0
  39. package/dist/cjs/chunks/index11.cjs +2 -0
  40. package/dist/cjs/chunks/index11.cjs.map +1 -0
  41. package/dist/cjs/chunks/index110.cjs +2 -0
  42. package/dist/cjs/chunks/index110.cjs.map +1 -0
  43. package/dist/cjs/chunks/index12.cjs +2 -0
  44. package/dist/cjs/chunks/index12.cjs.map +1 -0
  45. package/dist/cjs/chunks/index13.cjs +2 -0
  46. package/dist/cjs/chunks/index13.cjs.map +1 -0
  47. package/dist/cjs/chunks/index14.cjs +2 -0
  48. package/dist/cjs/chunks/index14.cjs.map +1 -0
  49. package/dist/cjs/chunks/index15.cjs +2 -0
  50. package/dist/cjs/chunks/index15.cjs.map +1 -0
  51. package/dist/cjs/chunks/index16.cjs +2 -0
  52. package/dist/cjs/chunks/index16.cjs.map +1 -0
  53. package/dist/cjs/chunks/index17.cjs +2 -0
  54. package/dist/cjs/chunks/index17.cjs.map +1 -0
  55. package/dist/cjs/chunks/index18.cjs +2 -0
  56. package/dist/cjs/chunks/index18.cjs.map +1 -0
  57. package/dist/cjs/chunks/index19.cjs +2 -0
  58. package/dist/cjs/chunks/index19.cjs.map +1 -0
  59. package/dist/cjs/chunks/index2.cjs +2 -0
  60. package/dist/cjs/chunks/index2.cjs.map +1 -0
  61. package/dist/cjs/chunks/index20.cjs +2 -0
  62. package/dist/cjs/chunks/index20.cjs.map +1 -0
  63. package/dist/cjs/chunks/index21.cjs +2 -0
  64. package/dist/cjs/chunks/index21.cjs.map +1 -0
  65. package/dist/cjs/chunks/index22.cjs +2 -0
  66. package/dist/cjs/chunks/index22.cjs.map +1 -0
  67. package/dist/cjs/chunks/index23.cjs +2 -0
  68. package/dist/cjs/chunks/index23.cjs.map +1 -0
  69. package/dist/cjs/chunks/index24.cjs +2 -0
  70. package/dist/cjs/chunks/index24.cjs.map +1 -0
  71. package/dist/cjs/chunks/index25.cjs +2 -0
  72. package/dist/cjs/chunks/index25.cjs.map +1 -0
  73. package/dist/cjs/chunks/index26.cjs +2 -0
  74. package/dist/cjs/chunks/index26.cjs.map +1 -0
  75. package/dist/cjs/chunks/index27.cjs +2 -0
  76. package/dist/cjs/chunks/index27.cjs.map +1 -0
  77. package/dist/cjs/chunks/index28.cjs +2 -0
  78. package/dist/cjs/chunks/index28.cjs.map +1 -0
  79. package/dist/cjs/chunks/index29.cjs +2 -0
  80. package/dist/cjs/chunks/index29.cjs.map +1 -0
  81. package/dist/cjs/chunks/index3.cjs +2 -0
  82. package/dist/cjs/chunks/index3.cjs.map +1 -0
  83. package/dist/cjs/chunks/index30.cjs +2 -0
  84. package/dist/cjs/chunks/index30.cjs.map +1 -0
  85. package/dist/cjs/chunks/index31.cjs +2 -0
  86. package/dist/cjs/chunks/index31.cjs.map +1 -0
  87. package/dist/cjs/chunks/index32.cjs +2 -0
  88. package/dist/cjs/chunks/index32.cjs.map +1 -0
  89. package/dist/cjs/chunks/index33.cjs +2 -0
  90. package/dist/cjs/chunks/index33.cjs.map +1 -0
  91. package/dist/cjs/chunks/index34.cjs +2 -0
  92. package/dist/cjs/chunks/index34.cjs.map +1 -0
  93. package/dist/cjs/chunks/index35.cjs +2 -0
  94. package/dist/cjs/chunks/index35.cjs.map +1 -0
  95. package/dist/cjs/chunks/index36.cjs +2 -0
  96. package/dist/cjs/chunks/index36.cjs.map +1 -0
  97. package/dist/cjs/chunks/index37.cjs +2 -0
  98. package/dist/cjs/chunks/index37.cjs.map +1 -0
  99. package/dist/cjs/chunks/index38.cjs +2 -0
  100. package/dist/cjs/chunks/index38.cjs.map +1 -0
  101. package/dist/cjs/chunks/index39.cjs +2 -0
  102. package/dist/cjs/chunks/index39.cjs.map +1 -0
  103. package/dist/cjs/chunks/index4.cjs +2 -0
  104. package/dist/cjs/chunks/index4.cjs.map +1 -0
  105. package/dist/cjs/chunks/index40.cjs +2 -0
  106. package/dist/cjs/chunks/index40.cjs.map +1 -0
  107. package/dist/cjs/chunks/index41.cjs +2 -0
  108. package/dist/cjs/chunks/index41.cjs.map +1 -0
  109. package/dist/cjs/chunks/index42.cjs +2 -0
  110. package/dist/cjs/chunks/index42.cjs.map +1 -0
  111. package/dist/cjs/chunks/index43.cjs +2 -0
  112. package/dist/cjs/chunks/index43.cjs.map +1 -0
  113. package/dist/cjs/chunks/index44.cjs +2 -0
  114. package/dist/cjs/chunks/index44.cjs.map +1 -0
  115. package/dist/cjs/chunks/index45.cjs +2 -0
  116. package/dist/cjs/chunks/index45.cjs.map +1 -0
  117. package/dist/cjs/chunks/index46.cjs +2 -0
  118. package/dist/cjs/chunks/index46.cjs.map +1 -0
  119. package/dist/cjs/chunks/index47.cjs +2 -0
  120. package/dist/cjs/chunks/index47.cjs.map +1 -0
  121. package/dist/cjs/chunks/index48.cjs +2 -0
  122. package/dist/cjs/chunks/index48.cjs.map +1 -0
  123. package/dist/cjs/chunks/index49.cjs +2 -0
  124. package/dist/cjs/chunks/index49.cjs.map +1 -0
  125. package/dist/cjs/chunks/index5.cjs +2 -0
  126. package/dist/cjs/chunks/index5.cjs.map +1 -0
  127. package/dist/cjs/chunks/index50.cjs +2 -0
  128. package/dist/cjs/chunks/index50.cjs.map +1 -0
  129. package/dist/cjs/chunks/index51.cjs +2 -0
  130. package/dist/cjs/chunks/index51.cjs.map +1 -0
  131. package/dist/cjs/chunks/index52.cjs +2 -0
  132. package/dist/cjs/chunks/index52.cjs.map +1 -0
  133. package/dist/cjs/chunks/index53.cjs +2 -0
  134. package/dist/cjs/chunks/index53.cjs.map +1 -0
  135. package/dist/cjs/chunks/index54.cjs +2 -0
  136. package/dist/cjs/chunks/index54.cjs.map +1 -0
  137. package/dist/cjs/chunks/index55.cjs +2 -0
  138. package/dist/cjs/chunks/index55.cjs.map +1 -0
  139. package/dist/cjs/chunks/index56.cjs +2 -0
  140. package/dist/cjs/chunks/index56.cjs.map +1 -0
  141. package/dist/cjs/chunks/index57.cjs +2 -0
  142. package/dist/cjs/chunks/index57.cjs.map +1 -0
  143. package/dist/cjs/chunks/index58.cjs +2 -0
  144. package/dist/cjs/chunks/index58.cjs.map +1 -0
  145. package/dist/cjs/chunks/index59.cjs +2 -0
  146. package/dist/cjs/chunks/index59.cjs.map +1 -0
  147. package/dist/cjs/chunks/index6.cjs +2 -0
  148. package/dist/cjs/chunks/index6.cjs.map +1 -0
  149. package/dist/cjs/chunks/index60.cjs +2 -0
  150. package/dist/cjs/chunks/index60.cjs.map +1 -0
  151. package/dist/cjs/chunks/index61.cjs +2 -0
  152. package/dist/cjs/chunks/index61.cjs.map +1 -0
  153. package/dist/cjs/chunks/index62.cjs +2 -0
  154. package/dist/cjs/chunks/index62.cjs.map +1 -0
  155. package/dist/cjs/chunks/index63.cjs +2 -0
  156. package/dist/cjs/chunks/index63.cjs.map +1 -0
  157. package/dist/cjs/chunks/index64.cjs +2 -0
  158. package/dist/cjs/chunks/index64.cjs.map +1 -0
  159. package/dist/cjs/chunks/index65.cjs +2 -0
  160. package/dist/cjs/chunks/index65.cjs.map +1 -0
  161. package/dist/cjs/chunks/index66.cjs +2 -0
  162. package/dist/cjs/chunks/index66.cjs.map +1 -0
  163. package/dist/cjs/chunks/index67.cjs +2 -0
  164. package/dist/cjs/chunks/index67.cjs.map +1 -0
  165. package/dist/cjs/chunks/index68.cjs +2 -0
  166. package/dist/cjs/chunks/index68.cjs.map +1 -0
  167. package/dist/cjs/chunks/index69.cjs +2 -0
  168. package/dist/cjs/chunks/index69.cjs.map +1 -0
  169. package/dist/cjs/chunks/index7.cjs +2 -0
  170. package/dist/cjs/chunks/index7.cjs.map +1 -0
  171. package/dist/cjs/chunks/index70.cjs +2 -0
  172. package/dist/cjs/chunks/index70.cjs.map +1 -0
  173. package/dist/cjs/chunks/index71.cjs +2 -0
  174. package/dist/cjs/chunks/index71.cjs.map +1 -0
  175. package/dist/cjs/chunks/index72.cjs +2 -0
  176. package/dist/cjs/chunks/index72.cjs.map +1 -0
  177. package/dist/cjs/chunks/index73.cjs +2 -0
  178. package/dist/cjs/chunks/index73.cjs.map +1 -0
  179. package/dist/cjs/chunks/index74.cjs +2 -0
  180. package/dist/cjs/chunks/index74.cjs.map +1 -0
  181. package/dist/cjs/chunks/index75.cjs +2 -0
  182. package/dist/cjs/chunks/index75.cjs.map +1 -0
  183. package/dist/cjs/chunks/index76.cjs +2 -0
  184. package/dist/cjs/chunks/index76.cjs.map +1 -0
  185. package/dist/cjs/chunks/index77.cjs +2 -0
  186. package/dist/cjs/chunks/index77.cjs.map +1 -0
  187. package/dist/cjs/chunks/index78.cjs +2 -0
  188. package/dist/cjs/chunks/index78.cjs.map +1 -0
  189. package/dist/cjs/chunks/index79.cjs +2 -0
  190. package/dist/cjs/chunks/index79.cjs.map +1 -0
  191. package/dist/cjs/chunks/index8.cjs +2 -0
  192. package/dist/cjs/chunks/index8.cjs.map +1 -0
  193. package/dist/cjs/chunks/index80.cjs +2 -0
  194. package/dist/cjs/chunks/index80.cjs.map +1 -0
  195. package/dist/cjs/chunks/index81.cjs +2 -0
  196. package/dist/cjs/chunks/index81.cjs.map +1 -0
  197. package/dist/cjs/chunks/index82.cjs +2 -0
  198. package/dist/cjs/chunks/index82.cjs.map +1 -0
  199. package/dist/cjs/chunks/index83.cjs +2 -0
  200. package/dist/cjs/chunks/index83.cjs.map +1 -0
  201. package/dist/cjs/chunks/index84.cjs +2 -0
  202. package/dist/cjs/chunks/index84.cjs.map +1 -0
  203. package/dist/cjs/chunks/index85.cjs +2 -0
  204. package/dist/cjs/chunks/index85.cjs.map +1 -0
  205. package/dist/cjs/chunks/index86.cjs +2 -0
  206. package/dist/cjs/chunks/index86.cjs.map +1 -0
  207. package/dist/cjs/chunks/index87.cjs +2 -0
  208. package/dist/cjs/chunks/index87.cjs.map +1 -0
  209. package/dist/cjs/chunks/index88.cjs +2 -0
  210. package/dist/cjs/chunks/index88.cjs.map +1 -0
  211. package/dist/cjs/chunks/index89.cjs +2 -0
  212. package/dist/cjs/chunks/index89.cjs.map +1 -0
  213. package/dist/cjs/chunks/index9.cjs +2 -0
  214. package/dist/cjs/chunks/index9.cjs.map +1 -0
  215. package/dist/cjs/chunks/index90.cjs +2 -0
  216. package/dist/cjs/chunks/index90.cjs.map +1 -0
  217. package/dist/cjs/chunks/index91.cjs +2 -0
  218. package/dist/cjs/chunks/index91.cjs.map +1 -0
  219. package/dist/cjs/chunks/index92.cjs +2 -0
  220. package/dist/cjs/chunks/index92.cjs.map +1 -0
  221. package/dist/cjs/chunks/index93.cjs +2 -0
  222. package/dist/cjs/chunks/index93.cjs.map +1 -0
  223. package/dist/cjs/chunks/index94.cjs +2 -0
  224. package/dist/cjs/chunks/index94.cjs.map +1 -0
  225. package/dist/cjs/chunks/index95.cjs +2 -0
  226. package/dist/cjs/chunks/index95.cjs.map +1 -0
  227. package/dist/cjs/chunks/index96.cjs +2 -0
  228. package/dist/cjs/chunks/index96.cjs.map +1 -0
  229. package/dist/cjs/chunks/index97.cjs +2 -0
  230. package/dist/cjs/chunks/index97.cjs.map +1 -0
  231. package/dist/cjs/chunks/index98.cjs +2 -0
  232. package/dist/cjs/chunks/index98.cjs.map +1 -0
  233. package/dist/cjs/chunks/index99.cjs +2 -0
  234. package/dist/cjs/chunks/index99.cjs.map +1 -0
  235. package/dist/cjs/elements/break/br/br.cjs +2 -0
  236. package/dist/cjs/elements/break/br/br.cjs.map +1 -0
  237. package/dist/cjs/elements/break/break.cjs +2 -0
  238. package/dist/cjs/elements/break/break.cjs.map +1 -0
  239. package/dist/cjs/elements/break/wbr/wbr.cjs +2 -0
  240. package/dist/cjs/elements/break/wbr/wbr.cjs.map +1 -0
  241. package/dist/cjs/elements/container/container.cjs +2 -0
  242. package/dist/cjs/elements/container/container.cjs.map +1 -0
  243. package/dist/cjs/elements/container/div/div.cjs +2 -0
  244. package/dist/cjs/elements/container/div/div.cjs.map +1 -0
  245. package/dist/cjs/elements/container/span/span.cjs +2 -0
  246. package/dist/cjs/elements/container/span/span.cjs.map +1 -0
  247. package/dist/cjs/elements/figure/figcaption/figcaption.cjs +2 -0
  248. package/dist/cjs/elements/figure/figcaption/figcaption.cjs.map +1 -0
  249. package/dist/cjs/elements/figure/figure/figure.cjs +2 -0
  250. package/dist/cjs/elements/figure/figure/figure.cjs.map +1 -0
  251. package/dist/cjs/elements/figure/figure.cjs +2 -0
  252. package/dist/cjs/elements/figure/figure.cjs.map +1 -0
  253. package/dist/cjs/elements/form/button/button.cjs +2 -0
  254. package/dist/cjs/elements/form/button/button.cjs.map +1 -0
  255. package/dist/cjs/elements/form/datalist/datalist.cjs +2 -0
  256. package/dist/cjs/elements/form/datalist/datalist.cjs.map +1 -0
  257. package/dist/cjs/elements/form/fieldset/fieldset.cjs +2 -0
  258. package/dist/cjs/elements/form/fieldset/fieldset.cjs.map +1 -0
  259. package/dist/cjs/elements/form/form/form.cjs +2 -0
  260. package/dist/cjs/elements/form/form/form.cjs.map +1 -0
  261. package/dist/cjs/elements/form/form.cjs +2 -0
  262. package/dist/cjs/elements/form/form.cjs.map +1 -0
  263. package/dist/cjs/elements/form/input/input.cjs +2 -0
  264. package/dist/cjs/elements/form/input/input.cjs.map +1 -0
  265. package/dist/cjs/elements/form/label/label.cjs +2 -0
  266. package/dist/cjs/elements/form/label/label.cjs.map +1 -0
  267. package/dist/cjs/elements/form/legend/legend.cjs +2 -0
  268. package/dist/cjs/elements/form/legend/legend.cjs.map +1 -0
  269. package/dist/cjs/elements/form/meter/meter.cjs +2 -0
  270. package/dist/cjs/elements/form/meter/meter.cjs.map +1 -0
  271. package/dist/cjs/elements/form/optgroup/optgroup.cjs +2 -0
  272. package/dist/cjs/elements/form/optgroup/optgroup.cjs.map +1 -0
  273. package/dist/cjs/elements/form/option/option.cjs +2 -0
  274. package/dist/cjs/elements/form/option/option.cjs.map +1 -0
  275. package/dist/cjs/elements/form/output/output.cjs +2 -0
  276. package/dist/cjs/elements/form/output/output.cjs.map +1 -0
  277. package/dist/cjs/elements/form/progress/progress.cjs +2 -0
  278. package/dist/cjs/elements/form/progress/progress.cjs.map +1 -0
  279. package/dist/cjs/elements/form/select/select.cjs +2 -0
  280. package/dist/cjs/elements/form/select/select.cjs.map +1 -0
  281. package/dist/cjs/elements/form/textarea/textarea.cjs +2 -0
  282. package/dist/cjs/elements/form/textarea/textarea.cjs.map +1 -0
  283. package/dist/cjs/elements/heading/h1/h1.cjs +2 -0
  284. package/dist/cjs/elements/heading/h1/h1.cjs.map +1 -0
  285. package/dist/cjs/elements/heading/h2/h2.cjs +2 -0
  286. package/dist/cjs/elements/heading/h2/h2.cjs.map +1 -0
  287. package/dist/cjs/elements/heading/h3/h3.cjs +2 -0
  288. package/dist/cjs/elements/heading/h3/h3.cjs.map +1 -0
  289. package/dist/cjs/elements/heading/h4/h4.cjs +2 -0
  290. package/dist/cjs/elements/heading/h4/h4.cjs.map +1 -0
  291. package/dist/cjs/elements/heading/h5/h5.cjs +2 -0
  292. package/dist/cjs/elements/heading/h5/h5.cjs.map +1 -0
  293. package/dist/cjs/elements/heading/h6/h6.cjs +2 -0
  294. package/dist/cjs/elements/heading/h6/h6.cjs.map +1 -0
  295. package/dist/cjs/elements/heading/heading.cjs +2 -0
  296. package/dist/cjs/elements/heading/heading.cjs.map +1 -0
  297. package/dist/cjs/elements/inline/a/a.cjs +2 -0
  298. package/dist/cjs/elements/inline/a/a.cjs.map +1 -0
  299. package/dist/cjs/elements/inline/abbr/abbr.cjs +2 -0
  300. package/dist/cjs/elements/inline/abbr/abbr.cjs.map +1 -0
  301. package/dist/cjs/elements/inline/b/b.cjs +2 -0
  302. package/dist/cjs/elements/inline/b/b.cjs.map +1 -0
  303. package/dist/cjs/elements/inline/cite/cite.cjs +2 -0
  304. package/dist/cjs/elements/inline/cite/cite.cjs.map +1 -0
  305. package/dist/cjs/elements/inline/code/code.cjs +2 -0
  306. package/dist/cjs/elements/inline/code/code.cjs.map +1 -0
  307. package/dist/cjs/elements/inline/data/data.cjs +2 -0
  308. package/dist/cjs/elements/inline/data/data.cjs.map +1 -0
  309. package/dist/cjs/elements/inline/dfn/dfn.cjs +2 -0
  310. package/dist/cjs/elements/inline/dfn/dfn.cjs.map +1 -0
  311. package/dist/cjs/elements/inline/em/em.cjs +2 -0
  312. package/dist/cjs/elements/inline/em/em.cjs.map +1 -0
  313. package/dist/cjs/elements/inline/i/i.cjs +2 -0
  314. package/dist/cjs/elements/inline/i/i.cjs.map +1 -0
  315. package/dist/cjs/elements/inline/inline.cjs +2 -0
  316. package/dist/cjs/elements/inline/inline.cjs.map +1 -0
  317. package/dist/cjs/elements/inline/kbd/kbd.cjs +2 -0
  318. package/dist/cjs/elements/inline/kbd/kbd.cjs.map +1 -0
  319. package/dist/cjs/elements/inline/mark/mark.cjs +2 -0
  320. package/dist/cjs/elements/inline/mark/mark.cjs.map +1 -0
  321. package/dist/cjs/elements/inline/q/q.cjs +2 -0
  322. package/dist/cjs/elements/inline/q/q.cjs.map +1 -0
  323. package/dist/cjs/elements/inline/rb/rb.cjs +2 -0
  324. package/dist/cjs/elements/inline/rb/rb.cjs.map +1 -0
  325. package/dist/cjs/elements/inline/rt/rt.cjs +2 -0
  326. package/dist/cjs/elements/inline/rt/rt.cjs.map +1 -0
  327. package/dist/cjs/elements/inline/rtc/rtc.cjs +2 -0
  328. package/dist/cjs/elements/inline/rtc/rtc.cjs.map +1 -0
  329. package/dist/cjs/elements/inline/ruby/ruby.cjs +2 -0
  330. package/dist/cjs/elements/inline/ruby/ruby.cjs.map +1 -0
  331. package/dist/cjs/elements/inline/s/s.cjs +2 -0
  332. package/dist/cjs/elements/inline/s/s.cjs.map +1 -0
  333. package/dist/cjs/elements/inline/samp/samp.cjs +2 -0
  334. package/dist/cjs/elements/inline/samp/samp.cjs.map +1 -0
  335. package/dist/cjs/elements/inline/small/small.cjs +2 -0
  336. package/dist/cjs/elements/inline/small/small.cjs.map +1 -0
  337. package/dist/cjs/elements/inline/strong/strong.cjs +2 -0
  338. package/dist/cjs/elements/inline/strong/strong.cjs.map +1 -0
  339. package/dist/cjs/elements/inline/sub/sub.cjs +2 -0
  340. package/dist/cjs/elements/inline/sub/sub.cjs.map +1 -0
  341. package/dist/cjs/elements/inline/sup/sup.cjs +2 -0
  342. package/dist/cjs/elements/inline/sup/sup.cjs.map +1 -0
  343. package/dist/cjs/elements/inline/time/time.cjs +2 -0
  344. package/dist/cjs/elements/inline/time/time.cjs.map +1 -0
  345. package/dist/cjs/elements/inline/u/u.cjs +2 -0
  346. package/dist/cjs/elements/inline/u/u.cjs.map +1 -0
  347. package/dist/cjs/elements/inline/var/var.cjs +2 -0
  348. package/dist/cjs/elements/inline/var/var.cjs.map +1 -0
  349. package/dist/cjs/elements/interactive/details/details.cjs +2 -0
  350. package/dist/cjs/elements/interactive/details/details.cjs.map +1 -0
  351. package/dist/cjs/elements/interactive/dialog/dialog.cjs +2 -0
  352. package/dist/cjs/elements/interactive/dialog/dialog.cjs.map +1 -0
  353. package/dist/cjs/elements/interactive/interactive.cjs +2 -0
  354. package/dist/cjs/elements/interactive/interactive.cjs.map +1 -0
  355. package/dist/cjs/elements/interactive/summary/summary.cjs +2 -0
  356. package/dist/cjs/elements/interactive/summary/summary.cjs.map +1 -0
  357. package/dist/cjs/elements/layout/article/article.cjs +2 -0
  358. package/dist/cjs/elements/layout/article/article.cjs.map +1 -0
  359. package/dist/cjs/elements/layout/aside/aside.cjs +2 -0
  360. package/dist/cjs/elements/layout/aside/aside.cjs.map +1 -0
  361. package/dist/cjs/elements/layout/footer/footer.cjs +2 -0
  362. package/dist/cjs/elements/layout/footer/footer.cjs.map +1 -0
  363. package/dist/cjs/elements/layout/header/header.cjs +2 -0
  364. package/dist/cjs/elements/layout/header/header.cjs.map +1 -0
  365. package/dist/cjs/elements/layout/layout.cjs +2 -0
  366. package/dist/cjs/elements/layout/layout.cjs.map +1 -0
  367. package/dist/cjs/elements/layout/main/main.cjs +2 -0
  368. package/dist/cjs/elements/layout/main/main.cjs.map +1 -0
  369. package/dist/cjs/elements/layout/nav/nav.cjs +2 -0
  370. package/dist/cjs/elements/layout/nav/nav.cjs.map +1 -0
  371. package/dist/cjs/elements/layout/section/section.cjs +2 -0
  372. package/dist/cjs/elements/layout/section/section.cjs.map +1 -0
  373. package/dist/cjs/elements/list/dd/dd.cjs +2 -0
  374. package/dist/cjs/elements/list/dd/dd.cjs.map +1 -0
  375. package/dist/cjs/elements/list/dl/dl.cjs +2 -0
  376. package/dist/cjs/elements/list/dl/dl.cjs.map +1 -0
  377. package/dist/cjs/elements/list/dt/dt.cjs +2 -0
  378. package/dist/cjs/elements/list/dt/dt.cjs.map +1 -0
  379. package/dist/cjs/elements/list/li/li.cjs +2 -0
  380. package/dist/cjs/elements/list/li/li.cjs.map +1 -0
  381. package/dist/cjs/elements/list/list.cjs +2 -0
  382. package/dist/cjs/elements/list/list.cjs.map +1 -0
  383. package/dist/cjs/elements/list/ol/ol.cjs +2 -0
  384. package/dist/cjs/elements/list/ol/ol.cjs.map +1 -0
  385. package/dist/cjs/elements/list/ul/ul.cjs +2 -0
  386. package/dist/cjs/elements/list/ul/ul.cjs.map +1 -0
  387. package/dist/cjs/elements/media/audio/audio.cjs +2 -0
  388. package/dist/cjs/elements/media/audio/audio.cjs.map +1 -0
  389. package/dist/cjs/elements/media/canvas/canvas.cjs +2 -0
  390. package/dist/cjs/elements/media/canvas/canvas.cjs.map +1 -0
  391. package/dist/cjs/elements/media/embed/embed.cjs +2 -0
  392. package/dist/cjs/elements/media/embed/embed.cjs.map +1 -0
  393. package/dist/cjs/elements/media/iframe/iframe.cjs +2 -0
  394. package/dist/cjs/elements/media/iframe/iframe.cjs.map +1 -0
  395. package/dist/cjs/elements/media/img/img.cjs +2 -0
  396. package/dist/cjs/elements/media/img/img.cjs.map +1 -0
  397. package/dist/cjs/elements/media/math/math.cjs +2 -0
  398. package/dist/cjs/elements/media/math/math.cjs.map +1 -0
  399. package/dist/cjs/elements/media/media.cjs +2 -0
  400. package/dist/cjs/elements/media/media.cjs.map +1 -0
  401. package/dist/cjs/elements/media/object/object.cjs +2 -0
  402. package/dist/cjs/elements/media/object/object.cjs.map +1 -0
  403. package/dist/cjs/elements/media/svg/svg.cjs +2 -0
  404. package/dist/cjs/elements/media/svg/svg.cjs.map +1 -0
  405. package/dist/cjs/elements/media/video/video.cjs +2 -0
  406. package/dist/cjs/elements/media/video/video.cjs.map +1 -0
  407. package/dist/cjs/elements/responsive/area/area.cjs +2 -0
  408. package/dist/cjs/elements/responsive/area/area.cjs.map +1 -0
  409. package/dist/cjs/elements/responsive/map/map.cjs +2 -0
  410. package/dist/cjs/elements/responsive/map/map.cjs.map +1 -0
  411. package/dist/cjs/elements/responsive/picture/picture.cjs +2 -0
  412. package/dist/cjs/elements/responsive/picture/picture.cjs.map +1 -0
  413. package/dist/cjs/elements/responsive/responsive.cjs +2 -0
  414. package/dist/cjs/elements/responsive/responsive.cjs.map +1 -0
  415. package/dist/cjs/elements/responsive/source/source.cjs +2 -0
  416. package/dist/cjs/elements/responsive/source/source.cjs.map +1 -0
  417. package/dist/cjs/elements/responsive/track/track.cjs +2 -0
  418. package/dist/cjs/elements/responsive/track/track.cjs.map +1 -0
  419. package/dist/cjs/elements/table/caption/caption.cjs +2 -0
  420. package/dist/cjs/elements/table/caption/caption.cjs.map +1 -0
  421. package/dist/cjs/elements/table/col/col.cjs +2 -0
  422. package/dist/cjs/elements/table/col/col.cjs.map +1 -0
  423. package/dist/cjs/elements/table/colgroup/colgroup.cjs +2 -0
  424. package/dist/cjs/elements/table/colgroup/colgroup.cjs.map +1 -0
  425. package/dist/cjs/elements/table/table/table.cjs +2 -0
  426. package/dist/cjs/elements/table/table/table.cjs.map +1 -0
  427. package/dist/cjs/elements/table/table.cjs +2 -0
  428. package/dist/cjs/elements/table/table.cjs.map +1 -0
  429. package/dist/cjs/elements/table/tbody/tbody.cjs +2 -0
  430. package/dist/cjs/elements/table/tbody/tbody.cjs.map +1 -0
  431. package/dist/cjs/elements/table/td/td.cjs +2 -0
  432. package/dist/cjs/elements/table/td/td.cjs.map +1 -0
  433. package/dist/cjs/elements/table/tfoot/tfoot.cjs +2 -0
  434. package/dist/cjs/elements/table/tfoot/tfoot.cjs.map +1 -0
  435. package/dist/cjs/elements/table/th/th.cjs +2 -0
  436. package/dist/cjs/elements/table/th/th.cjs.map +1 -0
  437. package/dist/cjs/elements/table/thead/thead.cjs +2 -0
  438. package/dist/cjs/elements/table/thead/thead.cjs.map +1 -0
  439. package/dist/cjs/elements/table/tr/tr.cjs +2 -0
  440. package/dist/cjs/elements/table/tr/tr.cjs.map +1 -0
  441. package/dist/cjs/elements/text/address/address.cjs +2 -0
  442. package/dist/cjs/elements/text/address/address.cjs.map +1 -0
  443. package/dist/cjs/elements/text/blockquote/blockquote.cjs +2 -0
  444. package/dist/cjs/elements/text/blockquote/blockquote.cjs.map +1 -0
  445. package/dist/cjs/elements/text/hr/hr.cjs +2 -0
  446. package/dist/cjs/elements/text/hr/hr.cjs.map +1 -0
  447. package/dist/cjs/elements/text/paragraph/paragraph.cjs +2 -0
  448. package/dist/cjs/elements/text/paragraph/paragraph.cjs.map +1 -0
  449. package/dist/cjs/elements/text/pre/pre.cjs +2 -0
  450. package/dist/cjs/elements/text/pre/pre.cjs.map +1 -0
  451. package/dist/cjs/elements/text/text.cjs +2 -0
  452. package/dist/cjs/elements/text/text.cjs.map +1 -0
  453. package/dist/cjs/elements.cjs +2 -0
  454. package/dist/cjs/elements.cjs.map +1 -0
  455. package/dist/cjs/index.cjs +2 -0
  456. package/dist/cjs/index.cjs.map +1 -0
  457. package/dist/css/core.css +1 -0
  458. package/dist/css/core.css.map +1 -0
  459. package/dist/css/elements/break/br/br.css +1 -0
  460. package/dist/css/elements/break/br/br.css.map +1 -0
  461. package/dist/css/elements/break/wbr/wbr.css +1 -0
  462. package/dist/css/elements/break/wbr/wbr.css.map +1 -0
  463. package/dist/css/elements/container/div/div.css +1 -0
  464. package/dist/css/elements/container/div/div.css.map +1 -0
  465. package/dist/css/elements/container/span/span.css +1 -0
  466. package/dist/css/elements/container/span/span.css.map +1 -0
  467. package/dist/css/elements/figure/figcaption/figcaption.css +1 -0
  468. package/dist/css/elements/figure/figcaption/figcaption.css.map +1 -0
  469. package/dist/css/elements/figure/figure/figure.css +1 -0
  470. package/dist/css/elements/figure/figure/figure.css.map +1 -0
  471. package/dist/css/elements/form/button/button.css +1 -0
  472. package/dist/css/elements/form/button/button.css.map +1 -0
  473. package/dist/css/elements/form/datalist/datalist.css +1 -0
  474. package/dist/css/elements/form/datalist/datalist.css.map +1 -0
  475. package/dist/css/elements/form/fieldset/fieldset.css +1 -0
  476. package/dist/css/elements/form/fieldset/fieldset.css.map +1 -0
  477. package/dist/css/elements/form/form/form.css +1 -0
  478. package/dist/css/elements/form/form/form.css.map +1 -0
  479. package/dist/css/elements/form/input/input.css +1 -0
  480. package/dist/css/elements/form/input/input.css.map +1 -0
  481. package/dist/css/elements/form/label/label.css +1 -0
  482. package/dist/css/elements/form/label/label.css.map +1 -0
  483. package/dist/css/elements/form/legend/legend.css +1 -0
  484. package/dist/css/elements/form/legend/legend.css.map +1 -0
  485. package/dist/css/elements/form/meter/meter.css +1 -0
  486. package/dist/css/elements/form/meter/meter.css.map +1 -0
  487. package/dist/css/elements/form/optgroup/optgroup.css +1 -0
  488. package/dist/css/elements/form/optgroup/optgroup.css.map +1 -0
  489. package/dist/css/elements/form/option/option.css +1 -0
  490. package/dist/css/elements/form/option/option.css.map +1 -0
  491. package/dist/css/elements/form/output/output.css +1 -0
  492. package/dist/css/elements/form/output/output.css.map +1 -0
  493. package/dist/css/elements/form/progress/progress.css +1 -0
  494. package/dist/css/elements/form/progress/progress.css.map +1 -0
  495. package/dist/css/elements/form/select/select.css +1 -0
  496. package/dist/css/elements/form/select/select.css.map +1 -0
  497. package/dist/css/elements/form/textarea/textarea.css +1 -0
  498. package/dist/css/elements/form/textarea/textarea.css.map +1 -0
  499. package/dist/css/elements/heading/h1/h1.css +1 -0
  500. package/dist/css/elements/heading/h1/h1.css.map +1 -0
  501. package/dist/css/elements/heading/h2/h2.css +1 -0
  502. package/dist/css/elements/heading/h2/h2.css.map +1 -0
  503. package/dist/css/elements/heading/h3/h3.css +1 -0
  504. package/dist/css/elements/heading/h3/h3.css.map +1 -0
  505. package/dist/css/elements/heading/h4/h4.css +1 -0
  506. package/dist/css/elements/heading/h4/h4.css.map +1 -0
  507. package/dist/css/elements/heading/h5/h5.css +1 -0
  508. package/dist/css/elements/heading/h5/h5.css.map +1 -0
  509. package/dist/css/elements/heading/h6/h6.css +1 -0
  510. package/dist/css/elements/heading/h6/h6.css.map +1 -0
  511. package/dist/css/elements/inline/a/a.css +1 -0
  512. package/dist/css/elements/inline/a/a.css.map +1 -0
  513. package/dist/css/elements/inline/abbr/abbr.css +1 -0
  514. package/dist/css/elements/inline/abbr/abbr.css.map +1 -0
  515. package/dist/css/elements/inline/b/b.css +1 -0
  516. package/dist/css/elements/inline/b/b.css.map +1 -0
  517. package/dist/css/elements/inline/cite/cite.css +1 -0
  518. package/dist/css/elements/inline/cite/cite.css.map +1 -0
  519. package/dist/css/elements/inline/code/code.css +1 -0
  520. package/dist/css/elements/inline/code/code.css.map +1 -0
  521. package/dist/css/elements/inline/data/data.css +1 -0
  522. package/dist/css/elements/inline/data/data.css.map +1 -0
  523. package/dist/css/elements/inline/dfn/dfn.css +1 -0
  524. package/dist/css/elements/inline/dfn/dfn.css.map +1 -0
  525. package/dist/css/elements/inline/em/em.css +1 -0
  526. package/dist/css/elements/inline/em/em.css.map +1 -0
  527. package/dist/css/elements/inline/i/i.css +1 -0
  528. package/dist/css/elements/inline/i/i.css.map +1 -0
  529. package/dist/css/elements/inline/kbd/kbd.css +1 -0
  530. package/dist/css/elements/inline/kbd/kbd.css.map +1 -0
  531. package/dist/css/elements/inline/mark/mark.css +1 -0
  532. package/dist/css/elements/inline/mark/mark.css.map +1 -0
  533. package/dist/css/elements/inline/q/q.css +1 -0
  534. package/dist/css/elements/inline/q/q.css.map +1 -0
  535. package/dist/css/elements/inline/rb/rb.css +1 -0
  536. package/dist/css/elements/inline/rb/rb.css.map +1 -0
  537. package/dist/css/elements/inline/rp/rp.css +1 -0
  538. package/dist/css/elements/inline/rp/rp.css.map +1 -0
  539. package/dist/css/elements/inline/rt/rt.css +1 -0
  540. package/dist/css/elements/inline/rt/rt.css.map +1 -0
  541. package/dist/css/elements/inline/rtc/rtc.css +1 -0
  542. package/dist/css/elements/inline/rtc/rtc.css.map +1 -0
  543. package/dist/css/elements/inline/ruby/ruby.css +1 -0
  544. package/dist/css/elements/inline/ruby/ruby.css.map +1 -0
  545. package/dist/css/elements/inline/s/s.css +1 -0
  546. package/dist/css/elements/inline/s/s.css.map +1 -0
  547. package/dist/css/elements/inline/samp/samp.css +1 -0
  548. package/dist/css/elements/inline/samp/samp.css.map +1 -0
  549. package/dist/css/elements/inline/small/small.css +1 -0
  550. package/dist/css/elements/inline/small/small.css.map +1 -0
  551. package/dist/css/elements/inline/strong/strong.css +1 -0
  552. package/dist/css/elements/inline/strong/strong.css.map +1 -0
  553. package/dist/css/elements/inline/sub/sub.css +1 -0
  554. package/dist/css/elements/inline/sub/sub.css.map +1 -0
  555. package/dist/css/elements/inline/sup/sup.css +1 -0
  556. package/dist/css/elements/inline/sup/sup.css.map +1 -0
  557. package/dist/css/elements/inline/time/time.css +1 -0
  558. package/dist/css/elements/inline/time/time.css.map +1 -0
  559. package/dist/css/elements/inline/u/u.css +1 -0
  560. package/dist/css/elements/inline/u/u.css.map +1 -0
  561. package/dist/css/elements/inline/var/var.css +1 -0
  562. package/dist/css/elements/inline/var/var.css.map +1 -0
  563. package/dist/css/elements/interactive/details/details.css +1 -0
  564. package/dist/css/elements/interactive/details/details.css.map +1 -0
  565. package/dist/css/elements/interactive/dialog/dialog.css +1 -0
  566. package/dist/css/elements/interactive/dialog/dialog.css.map +1 -0
  567. package/dist/css/elements/interactive/summary/summary.css +1 -0
  568. package/dist/css/elements/interactive/summary/summary.css.map +1 -0
  569. package/dist/css/elements/layout/article/article.css +1 -0
  570. package/dist/css/elements/layout/article/article.css.map +1 -0
  571. package/dist/css/elements/layout/aside/aside.css +1 -0
  572. package/dist/css/elements/layout/aside/aside.css.map +1 -0
  573. package/dist/css/elements/layout/footer/footer.css +1 -0
  574. package/dist/css/elements/layout/footer/footer.css.map +1 -0
  575. package/dist/css/elements/layout/header/header.css +1 -0
  576. package/dist/css/elements/layout/header/header.css.map +1 -0
  577. package/dist/css/elements/layout/main/main.css +1 -0
  578. package/dist/css/elements/layout/main/main.css.map +1 -0
  579. package/dist/css/elements/layout/nav/nav.css +1 -0
  580. package/dist/css/elements/layout/nav/nav.css.map +1 -0
  581. package/dist/css/elements/layout/section/section.css +1 -0
  582. package/dist/css/elements/layout/section/section.css.map +1 -0
  583. package/dist/css/elements/list/dd/dd.css +1 -0
  584. package/dist/css/elements/list/dd/dd.css.map +1 -0
  585. package/dist/css/elements/list/dl/dl.css +1 -0
  586. package/dist/css/elements/list/dl/dl.css.map +1 -0
  587. package/dist/css/elements/list/dt/dt.css +1 -0
  588. package/dist/css/elements/list/dt/dt.css.map +1 -0
  589. package/dist/css/elements/list/li/li.css +1 -0
  590. package/dist/css/elements/list/li/li.css.map +1 -0
  591. package/dist/css/elements/list/ol/ol.css +1 -0
  592. package/dist/css/elements/list/ol/ol.css.map +1 -0
  593. package/dist/css/elements/list/ul/ul.css +1 -0
  594. package/dist/css/elements/list/ul/ul.css.map +1 -0
  595. package/dist/css/elements/media/audio/audio.css +1 -0
  596. package/dist/css/elements/media/audio/audio.css.map +1 -0
  597. package/dist/css/elements/media/canvas/canvas.css +1 -0
  598. package/dist/css/elements/media/canvas/canvas.css.map +1 -0
  599. package/dist/css/elements/media/embed/embed.css +1 -0
  600. package/dist/css/elements/media/embed/embed.css.map +1 -0
  601. package/dist/css/elements/media/iframe/iframe.css +1 -0
  602. package/dist/css/elements/media/iframe/iframe.css.map +1 -0
  603. package/dist/css/elements/media/img/img.css +1 -0
  604. package/dist/css/elements/media/img/img.css.map +1 -0
  605. package/dist/css/elements/media/math/math.css +1 -0
  606. package/dist/css/elements/media/math/math.css.map +1 -0
  607. package/dist/css/elements/media/object/object.css +1 -0
  608. package/dist/css/elements/media/object/object.css.map +1 -0
  609. package/dist/css/elements/media/svg/svg.css +1 -0
  610. package/dist/css/elements/media/svg/svg.css.map +1 -0
  611. package/dist/css/elements/media/video/video.css +1 -0
  612. package/dist/css/elements/media/video/video.css.map +1 -0
  613. package/dist/css/elements/responsive/area/area.css +1 -0
  614. package/dist/css/elements/responsive/area/area.css.map +1 -0
  615. package/dist/css/elements/responsive/map/map.css +1 -0
  616. package/dist/css/elements/responsive/map/map.css.map +1 -0
  617. package/dist/css/elements/responsive/picture/picture.css +1 -0
  618. package/dist/css/elements/responsive/picture/picture.css.map +1 -0
  619. package/dist/css/elements/responsive/source/source.css +1 -0
  620. package/dist/css/elements/responsive/source/source.css.map +1 -0
  621. package/dist/css/elements/responsive/track/track.css +1 -0
  622. package/dist/css/elements/responsive/track/track.css.map +1 -0
  623. package/dist/css/elements/table/caption/caption.css +1 -0
  624. package/dist/css/elements/table/caption/caption.css.map +1 -0
  625. package/dist/css/elements/table/col/col.css +1 -0
  626. package/dist/css/elements/table/col/col.css.map +1 -0
  627. package/dist/css/elements/table/colgroup/colgroup.css +1 -0
  628. package/dist/css/elements/table/colgroup/colgroup.css.map +1 -0
  629. package/dist/css/elements/table/table/table.css +1 -0
  630. package/dist/css/elements/table/table/table.css.map +1 -0
  631. package/dist/css/elements/table/tbody/tbody.css +1 -0
  632. package/dist/css/elements/table/tbody/tbody.css.map +1 -0
  633. package/dist/css/elements/table/td/td.css +1 -0
  634. package/dist/css/elements/table/td/td.css.map +1 -0
  635. package/dist/css/elements/table/tfoot/tfoot.css +1 -0
  636. package/dist/css/elements/table/tfoot/tfoot.css.map +1 -0
  637. package/dist/css/elements/table/th/th.css +1 -0
  638. package/dist/css/elements/table/th/th.css.map +1 -0
  639. package/dist/css/elements/table/thead/thead.css +1 -0
  640. package/dist/css/elements/table/thead/thead.css.map +1 -0
  641. package/dist/css/elements/table/tr/tr.css +1 -0
  642. package/dist/css/elements/table/tr/tr.css.map +1 -0
  643. package/dist/css/elements/text/address/address.css +1 -0
  644. package/dist/css/elements/text/address/address.css.map +1 -0
  645. package/dist/css/elements/text/blockquote/blockquote.css +1 -0
  646. package/dist/css/elements/text/blockquote/blockquote.css.map +1 -0
  647. package/dist/css/elements/text/hr/hr.css +1 -0
  648. package/dist/css/elements/text/hr/hr.css.map +1 -0
  649. package/dist/css/elements/text/paragraph/paragraph.css +1 -0
  650. package/dist/css/elements/text/paragraph/paragraph.css.map +1 -0
  651. package/dist/css/elements/text/pre/pre.css +1 -0
  652. package/dist/css/elements/text/pre/pre.css.map +1 -0
  653. package/dist/css/main.css +1 -0
  654. package/dist/css/main.css.map +1 -0
  655. package/dist/esm/chunks/dom.js +42 -0
  656. package/dist/esm/chunks/dom.js.map +1 -0
  657. package/dist/esm/chunks/fundatio.js +5 -0
  658. package/dist/esm/chunks/fundatio.js.map +1 -0
  659. package/dist/esm/chunks/index.js +33 -0
  660. package/dist/esm/chunks/index.js.map +1 -0
  661. package/dist/esm/chunks/index10.js +11 -0
  662. package/dist/esm/chunks/index10.js.map +1 -0
  663. package/dist/esm/chunks/index100.js +41 -0
  664. package/dist/esm/chunks/index100.js.map +1 -0
  665. package/dist/esm/chunks/index101.js +29 -0
  666. package/dist/esm/chunks/index101.js.map +1 -0
  667. package/dist/esm/chunks/index102.js +34 -0
  668. package/dist/esm/chunks/index102.js.map +1 -0
  669. package/dist/esm/chunks/index103.js +33 -0
  670. package/dist/esm/chunks/index103.js.map +1 -0
  671. package/dist/esm/chunks/index104.js +29 -0
  672. package/dist/esm/chunks/index104.js.map +1 -0
  673. package/dist/esm/chunks/index105.js +29 -0
  674. package/dist/esm/chunks/index105.js.map +1 -0
  675. package/dist/esm/chunks/index106.js +29 -0
  676. package/dist/esm/chunks/index106.js.map +1 -0
  677. package/dist/esm/chunks/index107.js +29 -0
  678. package/dist/esm/chunks/index107.js.map +1 -0
  679. package/dist/esm/chunks/index108.js +29 -0
  680. package/dist/esm/chunks/index108.js.map +1 -0
  681. package/dist/esm/chunks/index109.js +29 -0
  682. package/dist/esm/chunks/index109.js.map +1 -0
  683. package/dist/esm/chunks/index11.js +35 -0
  684. package/dist/esm/chunks/index11.js.map +1 -0
  685. package/dist/esm/chunks/index110.js +29 -0
  686. package/dist/esm/chunks/index110.js.map +1 -0
  687. package/dist/esm/chunks/index12.js +13 -0
  688. package/dist/esm/chunks/index12.js.map +1 -0
  689. package/dist/esm/chunks/index13.js +17 -0
  690. package/dist/esm/chunks/index13.js.map +1 -0
  691. package/dist/esm/chunks/index14.js +21 -0
  692. package/dist/esm/chunks/index14.js.map +1 -0
  693. package/dist/esm/chunks/index15.js +29 -0
  694. package/dist/esm/chunks/index15.js.map +1 -0
  695. package/dist/esm/chunks/index16.js +29 -0
  696. package/dist/esm/chunks/index16.js.map +1 -0
  697. package/dist/esm/chunks/index17.js +29 -0
  698. package/dist/esm/chunks/index17.js.map +1 -0
  699. package/dist/esm/chunks/index18.js +29 -0
  700. package/dist/esm/chunks/index18.js.map +1 -0
  701. package/dist/esm/chunks/index19.js +43 -0
  702. package/dist/esm/chunks/index19.js.map +1 -0
  703. package/dist/esm/chunks/index2.js +11 -0
  704. package/dist/esm/chunks/index2.js.map +1 -0
  705. package/dist/esm/chunks/index20.js +35 -0
  706. package/dist/esm/chunks/index20.js.map +1 -0
  707. package/dist/esm/chunks/index21.js +29 -0
  708. package/dist/esm/chunks/index21.js.map +1 -0
  709. package/dist/esm/chunks/index22.js +27 -0
  710. package/dist/esm/chunks/index22.js.map +1 -0
  711. package/dist/esm/chunks/index23.js +49 -0
  712. package/dist/esm/chunks/index23.js.map +1 -0
  713. package/dist/esm/chunks/index24.js +53 -0
  714. package/dist/esm/chunks/index24.js.map +1 -0
  715. package/dist/esm/chunks/index25.js +46 -0
  716. package/dist/esm/chunks/index25.js.map +1 -0
  717. package/dist/esm/chunks/index26.js +52 -0
  718. package/dist/esm/chunks/index26.js.map +1 -0
  719. package/dist/esm/chunks/index27.js +30 -0
  720. package/dist/esm/chunks/index27.js.map +1 -0
  721. package/dist/esm/chunks/index28.js +29 -0
  722. package/dist/esm/chunks/index28.js.map +1 -0
  723. package/dist/esm/chunks/index29.js +39 -0
  724. package/dist/esm/chunks/index29.js.map +1 -0
  725. package/dist/esm/chunks/index3.js +11 -0
  726. package/dist/esm/chunks/index3.js.map +1 -0
  727. package/dist/esm/chunks/index30.js +37 -0
  728. package/dist/esm/chunks/index30.js.map +1 -0
  729. package/dist/esm/chunks/index31.js +29 -0
  730. package/dist/esm/chunks/index31.js.map +1 -0
  731. package/dist/esm/chunks/index32.js +29 -0
  732. package/dist/esm/chunks/index32.js.map +1 -0
  733. package/dist/esm/chunks/index33.js +29 -0
  734. package/dist/esm/chunks/index33.js.map +1 -0
  735. package/dist/esm/chunks/index34.js +29 -0
  736. package/dist/esm/chunks/index34.js.map +1 -0
  737. package/dist/esm/chunks/index35.js +39 -0
  738. package/dist/esm/chunks/index35.js.map +1 -0
  739. package/dist/esm/chunks/index36.js +48 -0
  740. package/dist/esm/chunks/index36.js.map +1 -0
  741. package/dist/esm/chunks/index37.js +29 -0
  742. package/dist/esm/chunks/index37.js.map +1 -0
  743. package/dist/esm/chunks/index38.js +29 -0
  744. package/dist/esm/chunks/index38.js.map +1 -0
  745. package/dist/esm/chunks/index39.js +29 -0
  746. package/dist/esm/chunks/index39.js.map +1 -0
  747. package/dist/esm/chunks/index4.js +25 -0
  748. package/dist/esm/chunks/index4.js.map +1 -0
  749. package/dist/esm/chunks/index40.js +29 -0
  750. package/dist/esm/chunks/index40.js.map +1 -0
  751. package/dist/esm/chunks/index41.js +29 -0
  752. package/dist/esm/chunks/index41.js.map +1 -0
  753. package/dist/esm/chunks/index42.js +29 -0
  754. package/dist/esm/chunks/index42.js.map +1 -0
  755. package/dist/esm/chunks/index43.js +29 -0
  756. package/dist/esm/chunks/index43.js.map +1 -0
  757. package/dist/esm/chunks/index44.js +29 -0
  758. package/dist/esm/chunks/index44.js.map +1 -0
  759. package/dist/esm/chunks/index45.js +29 -0
  760. package/dist/esm/chunks/index45.js.map +1 -0
  761. package/dist/esm/chunks/index46.js +29 -0
  762. package/dist/esm/chunks/index46.js.map +1 -0
  763. package/dist/esm/chunks/index47.js +29 -0
  764. package/dist/esm/chunks/index47.js.map +1 -0
  765. package/dist/esm/chunks/index48.js +29 -0
  766. package/dist/esm/chunks/index48.js.map +1 -0
  767. package/dist/esm/chunks/index49.js +31 -0
  768. package/dist/esm/chunks/index49.js.map +1 -0
  769. package/dist/esm/chunks/index5.js +27 -0
  770. package/dist/esm/chunks/index5.js.map +1 -0
  771. package/dist/esm/chunks/index50.js +29 -0
  772. package/dist/esm/chunks/index50.js.map +1 -0
  773. package/dist/esm/chunks/index51.js +29 -0
  774. package/dist/esm/chunks/index51.js.map +1 -0
  775. package/dist/esm/chunks/index52.js +29 -0
  776. package/dist/esm/chunks/index52.js.map +1 -0
  777. package/dist/esm/chunks/index53.js +29 -0
  778. package/dist/esm/chunks/index53.js.map +1 -0
  779. package/dist/esm/chunks/index54.js +29 -0
  780. package/dist/esm/chunks/index54.js.map +1 -0
  781. package/dist/esm/chunks/index55.js +29 -0
  782. package/dist/esm/chunks/index55.js.map +1 -0
  783. package/dist/esm/chunks/index56.js +30 -0
  784. package/dist/esm/chunks/index56.js.map +1 -0
  785. package/dist/esm/chunks/index57.js +29 -0
  786. package/dist/esm/chunks/index57.js.map +1 -0
  787. package/dist/esm/chunks/index58.js +29 -0
  788. package/dist/esm/chunks/index58.js.map +1 -0
  789. package/dist/esm/chunks/index59.js +29 -0
  790. package/dist/esm/chunks/index59.js.map +1 -0
  791. package/dist/esm/chunks/index6.js +19 -0
  792. package/dist/esm/chunks/index6.js.map +1 -0
  793. package/dist/esm/chunks/index60.js +29 -0
  794. package/dist/esm/chunks/index60.js.map +1 -0
  795. package/dist/esm/chunks/index61.js +29 -0
  796. package/dist/esm/chunks/index61.js.map +1 -0
  797. package/dist/esm/chunks/index62.js +36 -0
  798. package/dist/esm/chunks/index62.js.map +1 -0
  799. package/dist/esm/chunks/index63.js +33 -0
  800. package/dist/esm/chunks/index63.js.map +1 -0
  801. package/dist/esm/chunks/index64.js +29 -0
  802. package/dist/esm/chunks/index64.js.map +1 -0
  803. package/dist/esm/chunks/index65.js +30 -0
  804. package/dist/esm/chunks/index65.js.map +1 -0
  805. package/dist/esm/chunks/index66.js +29 -0
  806. package/dist/esm/chunks/index66.js.map +1 -0
  807. package/dist/esm/chunks/index67.js +29 -0
  808. package/dist/esm/chunks/index67.js.map +1 -0
  809. package/dist/esm/chunks/index68.js +29 -0
  810. package/dist/esm/chunks/index68.js.map +1 -0
  811. package/dist/esm/chunks/index69.js +29 -0
  812. package/dist/esm/chunks/index69.js.map +1 -0
  813. package/dist/esm/chunks/index7.js +17 -0
  814. package/dist/esm/chunks/index7.js.map +1 -0
  815. package/dist/esm/chunks/index70.js +29 -0
  816. package/dist/esm/chunks/index70.js.map +1 -0
  817. package/dist/esm/chunks/index71.js +32 -0
  818. package/dist/esm/chunks/index71.js.map +1 -0
  819. package/dist/esm/chunks/index72.js +29 -0
  820. package/dist/esm/chunks/index72.js.map +1 -0
  821. package/dist/esm/chunks/index73.js +29 -0
  822. package/dist/esm/chunks/index73.js.map +1 -0
  823. package/dist/esm/chunks/index74.js +29 -0
  824. package/dist/esm/chunks/index74.js.map +1 -0
  825. package/dist/esm/chunks/index75.js +29 -0
  826. package/dist/esm/chunks/index75.js.map +1 -0
  827. package/dist/esm/chunks/index76.js +29 -0
  828. package/dist/esm/chunks/index76.js.map +1 -0
  829. package/dist/esm/chunks/index77.js +33 -0
  830. package/dist/esm/chunks/index77.js.map +1 -0
  831. package/dist/esm/chunks/index78.js +30 -0
  832. package/dist/esm/chunks/index78.js.map +1 -0
  833. package/dist/esm/chunks/index79.js +32 -0
  834. package/dist/esm/chunks/index79.js.map +1 -0
  835. package/dist/esm/chunks/index8.js +79 -0
  836. package/dist/esm/chunks/index8.js.map +1 -0
  837. package/dist/esm/chunks/index80.js +29 -0
  838. package/dist/esm/chunks/index80.js.map +1 -0
  839. package/dist/esm/chunks/index81.js +29 -0
  840. package/dist/esm/chunks/index81.js.map +1 -0
  841. package/dist/esm/chunks/index82.js +52 -0
  842. package/dist/esm/chunks/index82.js.map +1 -0
  843. package/dist/esm/chunks/index83.js +29 -0
  844. package/dist/esm/chunks/index83.js.map +1 -0
  845. package/dist/esm/chunks/index84.js +33 -0
  846. package/dist/esm/chunks/index84.js.map +1 -0
  847. package/dist/esm/chunks/index85.js +45 -0
  848. package/dist/esm/chunks/index85.js.map +1 -0
  849. package/dist/esm/chunks/index86.js +72 -0
  850. package/dist/esm/chunks/index86.js.map +1 -0
  851. package/dist/esm/chunks/index87.js +32 -0
  852. package/dist/esm/chunks/index87.js.map +1 -0
  853. package/dist/esm/chunks/index88.js +29 -0
  854. package/dist/esm/chunks/index88.js.map +1 -0
  855. package/dist/esm/chunks/index89.js +32 -0
  856. package/dist/esm/chunks/index89.js.map +1 -0
  857. package/dist/esm/chunks/index9.js +19 -0
  858. package/dist/esm/chunks/index9.js.map +1 -0
  859. package/dist/esm/chunks/index90.js +30 -0
  860. package/dist/esm/chunks/index90.js.map +1 -0
  861. package/dist/esm/chunks/index91.js +29 -0
  862. package/dist/esm/chunks/index91.js.map +1 -0
  863. package/dist/esm/chunks/index92.js +33 -0
  864. package/dist/esm/chunks/index92.js.map +1 -0
  865. package/dist/esm/chunks/index93.js +33 -0
  866. package/dist/esm/chunks/index93.js.map +1 -0
  867. package/dist/esm/chunks/index94.js +47 -0
  868. package/dist/esm/chunks/index94.js.map +1 -0
  869. package/dist/esm/chunks/index95.js +53 -0
  870. package/dist/esm/chunks/index95.js.map +1 -0
  871. package/dist/esm/chunks/index96.js +35 -0
  872. package/dist/esm/chunks/index96.js.map +1 -0
  873. package/dist/esm/chunks/index97.js +29 -0
  874. package/dist/esm/chunks/index97.js.map +1 -0
  875. package/dist/esm/chunks/index98.js +29 -0
  876. package/dist/esm/chunks/index98.js.map +1 -0
  877. package/dist/esm/chunks/index99.js +40 -0
  878. package/dist/esm/chunks/index99.js.map +1 -0
  879. package/dist/esm/elements/break/br/br.js +9 -0
  880. package/dist/esm/elements/break/br/br.js.map +1 -0
  881. package/dist/esm/elements/break/break.js +7 -0
  882. package/dist/esm/elements/break/break.js.map +1 -0
  883. package/dist/esm/elements/break/wbr/wbr.js +9 -0
  884. package/dist/esm/elements/break/wbr/wbr.js.map +1 -0
  885. package/dist/esm/elements/container/container.js +7 -0
  886. package/dist/esm/elements/container/container.js.map +1 -0
  887. package/dist/esm/elements/container/div/div.js +9 -0
  888. package/dist/esm/elements/container/div/div.js.map +1 -0
  889. package/dist/esm/elements/container/span/span.js +9 -0
  890. package/dist/esm/elements/container/span/span.js.map +1 -0
  891. package/dist/esm/elements/figure/figcaption/figcaption.js +9 -0
  892. package/dist/esm/elements/figure/figcaption/figcaption.js.map +1 -0
  893. package/dist/esm/elements/figure/figure/figure.js +9 -0
  894. package/dist/esm/elements/figure/figure/figure.js.map +1 -0
  895. package/dist/esm/elements/figure/figure.js +7 -0
  896. package/dist/esm/elements/figure/figure.js.map +1 -0
  897. package/dist/esm/elements/form/button/button.js +9 -0
  898. package/dist/esm/elements/form/button/button.js.map +1 -0
  899. package/dist/esm/elements/form/datalist/datalist.js +9 -0
  900. package/dist/esm/elements/form/datalist/datalist.js.map +1 -0
  901. package/dist/esm/elements/form/fieldset/fieldset.js +9 -0
  902. package/dist/esm/elements/form/fieldset/fieldset.js.map +1 -0
  903. package/dist/esm/elements/form/form/form.js +9 -0
  904. package/dist/esm/elements/form/form/form.js.map +1 -0
  905. package/dist/esm/elements/form/form.js +31 -0
  906. package/dist/esm/elements/form/form.js.map +1 -0
  907. package/dist/esm/elements/form/input/input.js +9 -0
  908. package/dist/esm/elements/form/input/input.js.map +1 -0
  909. package/dist/esm/elements/form/label/label.js +9 -0
  910. package/dist/esm/elements/form/label/label.js.map +1 -0
  911. package/dist/esm/elements/form/legend/legend.js +9 -0
  912. package/dist/esm/elements/form/legend/legend.js.map +1 -0
  913. package/dist/esm/elements/form/meter/meter.js +9 -0
  914. package/dist/esm/elements/form/meter/meter.js.map +1 -0
  915. package/dist/esm/elements/form/optgroup/optgroup.js +9 -0
  916. package/dist/esm/elements/form/optgroup/optgroup.js.map +1 -0
  917. package/dist/esm/elements/form/option/option.js +9 -0
  918. package/dist/esm/elements/form/option/option.js.map +1 -0
  919. package/dist/esm/elements/form/output/output.js +9 -0
  920. package/dist/esm/elements/form/output/output.js.map +1 -0
  921. package/dist/esm/elements/form/progress/progress.js +9 -0
  922. package/dist/esm/elements/form/progress/progress.js.map +1 -0
  923. package/dist/esm/elements/form/select/select.js +9 -0
  924. package/dist/esm/elements/form/select/select.js.map +1 -0
  925. package/dist/esm/elements/form/textarea/textarea.js +9 -0
  926. package/dist/esm/elements/form/textarea/textarea.js.map +1 -0
  927. package/dist/esm/elements/heading/h1/h1.js +9 -0
  928. package/dist/esm/elements/heading/h1/h1.js.map +1 -0
  929. package/dist/esm/elements/heading/h2/h2.js +9 -0
  930. package/dist/esm/elements/heading/h2/h2.js.map +1 -0
  931. package/dist/esm/elements/heading/h3/h3.js +9 -0
  932. package/dist/esm/elements/heading/h3/h3.js.map +1 -0
  933. package/dist/esm/elements/heading/h4/h4.js +9 -0
  934. package/dist/esm/elements/heading/h4/h4.js.map +1 -0
  935. package/dist/esm/elements/heading/h5/h5.js +9 -0
  936. package/dist/esm/elements/heading/h5/h5.js.map +1 -0
  937. package/dist/esm/elements/heading/h6/h6.js +9 -0
  938. package/dist/esm/elements/heading/h6/h6.js.map +1 -0
  939. package/dist/esm/elements/heading/heading.js +15 -0
  940. package/dist/esm/elements/heading/heading.js.map +1 -0
  941. package/dist/esm/elements/inline/a/a.js +9 -0
  942. package/dist/esm/elements/inline/a/a.js.map +1 -0
  943. package/dist/esm/elements/inline/abbr/abbr.js +9 -0
  944. package/dist/esm/elements/inline/abbr/abbr.js.map +1 -0
  945. package/dist/esm/elements/inline/b/b.js +9 -0
  946. package/dist/esm/elements/inline/b/b.js.map +1 -0
  947. package/dist/esm/elements/inline/cite/cite.js +9 -0
  948. package/dist/esm/elements/inline/cite/cite.js.map +1 -0
  949. package/dist/esm/elements/inline/code/code.js +9 -0
  950. package/dist/esm/elements/inline/code/code.js.map +1 -0
  951. package/dist/esm/elements/inline/data/data.js +9 -0
  952. package/dist/esm/elements/inline/data/data.js.map +1 -0
  953. package/dist/esm/elements/inline/dfn/dfn.js +9 -0
  954. package/dist/esm/elements/inline/dfn/dfn.js.map +1 -0
  955. package/dist/esm/elements/inline/em/em.js +9 -0
  956. package/dist/esm/elements/inline/em/em.js.map +1 -0
  957. package/dist/esm/elements/inline/i/i.js +9 -0
  958. package/dist/esm/elements/inline/i/i.js.map +1 -0
  959. package/dist/esm/elements/inline/inline.js +55 -0
  960. package/dist/esm/elements/inline/inline.js.map +1 -0
  961. package/dist/esm/elements/inline/kbd/kbd.js +9 -0
  962. package/dist/esm/elements/inline/kbd/kbd.js.map +1 -0
  963. package/dist/esm/elements/inline/mark/mark.js +9 -0
  964. package/dist/esm/elements/inline/mark/mark.js.map +1 -0
  965. package/dist/esm/elements/inline/q/q.js +9 -0
  966. package/dist/esm/elements/inline/q/q.js.map +1 -0
  967. package/dist/esm/elements/inline/rb/rb.js +9 -0
  968. package/dist/esm/elements/inline/rb/rb.js.map +1 -0
  969. package/dist/esm/elements/inline/rt/rt.js +9 -0
  970. package/dist/esm/elements/inline/rt/rt.js.map +1 -0
  971. package/dist/esm/elements/inline/rtc/rtc.js +9 -0
  972. package/dist/esm/elements/inline/rtc/rtc.js.map +1 -0
  973. package/dist/esm/elements/inline/ruby/ruby.js +9 -0
  974. package/dist/esm/elements/inline/ruby/ruby.js.map +1 -0
  975. package/dist/esm/elements/inline/s/s.js +9 -0
  976. package/dist/esm/elements/inline/s/s.js.map +1 -0
  977. package/dist/esm/elements/inline/samp/samp.js +9 -0
  978. package/dist/esm/elements/inline/samp/samp.js.map +1 -0
  979. package/dist/esm/elements/inline/small/small.js +9 -0
  980. package/dist/esm/elements/inline/small/small.js.map +1 -0
  981. package/dist/esm/elements/inline/strong/strong.js +9 -0
  982. package/dist/esm/elements/inline/strong/strong.js.map +1 -0
  983. package/dist/esm/elements/inline/sub/sub.js +9 -0
  984. package/dist/esm/elements/inline/sub/sub.js.map +1 -0
  985. package/dist/esm/elements/inline/sup/sup.js +9 -0
  986. package/dist/esm/elements/inline/sup/sup.js.map +1 -0
  987. package/dist/esm/elements/inline/time/time.js +9 -0
  988. package/dist/esm/elements/inline/time/time.js.map +1 -0
  989. package/dist/esm/elements/inline/u/u.js +9 -0
  990. package/dist/esm/elements/inline/u/u.js.map +1 -0
  991. package/dist/esm/elements/inline/var/var.js +9 -0
  992. package/dist/esm/elements/inline/var/var.js.map +1 -0
  993. package/dist/esm/elements/interactive/details/details.js +9 -0
  994. package/dist/esm/elements/interactive/details/details.js.map +1 -0
  995. package/dist/esm/elements/interactive/dialog/dialog.js +9 -0
  996. package/dist/esm/elements/interactive/dialog/dialog.js.map +1 -0
  997. package/dist/esm/elements/interactive/interactive.js +9 -0
  998. package/dist/esm/elements/interactive/interactive.js.map +1 -0
  999. package/dist/esm/elements/interactive/summary/summary.js +9 -0
  1000. package/dist/esm/elements/interactive/summary/summary.js.map +1 -0
  1001. package/dist/esm/elements/layout/article/article.js +9 -0
  1002. package/dist/esm/elements/layout/article/article.js.map +1 -0
  1003. package/dist/esm/elements/layout/aside/aside.js +9 -0
  1004. package/dist/esm/elements/layout/aside/aside.js.map +1 -0
  1005. package/dist/esm/elements/layout/footer/footer.js +9 -0
  1006. package/dist/esm/elements/layout/footer/footer.js.map +1 -0
  1007. package/dist/esm/elements/layout/header/header.js +9 -0
  1008. package/dist/esm/elements/layout/header/header.js.map +1 -0
  1009. package/dist/esm/elements/layout/layout.js +17 -0
  1010. package/dist/esm/elements/layout/layout.js.map +1 -0
  1011. package/dist/esm/elements/layout/main/main.js +9 -0
  1012. package/dist/esm/elements/layout/main/main.js.map +1 -0
  1013. package/dist/esm/elements/layout/nav/nav.js +9 -0
  1014. package/dist/esm/elements/layout/nav/nav.js.map +1 -0
  1015. package/dist/esm/elements/layout/section/section.js +9 -0
  1016. package/dist/esm/elements/layout/section/section.js.map +1 -0
  1017. package/dist/esm/elements/list/dd/dd.js +9 -0
  1018. package/dist/esm/elements/list/dd/dd.js.map +1 -0
  1019. package/dist/esm/elements/list/dl/dl.js +9 -0
  1020. package/dist/esm/elements/list/dl/dl.js.map +1 -0
  1021. package/dist/esm/elements/list/dt/dt.js +9 -0
  1022. package/dist/esm/elements/list/dt/dt.js.map +1 -0
  1023. package/dist/esm/elements/list/li/li.js +9 -0
  1024. package/dist/esm/elements/list/li/li.js.map +1 -0
  1025. package/dist/esm/elements/list/list.js +15 -0
  1026. package/dist/esm/elements/list/list.js.map +1 -0
  1027. package/dist/esm/elements/list/ol/ol.js +9 -0
  1028. package/dist/esm/elements/list/ol/ol.js.map +1 -0
  1029. package/dist/esm/elements/list/ul/ul.js +9 -0
  1030. package/dist/esm/elements/list/ul/ul.js.map +1 -0
  1031. package/dist/esm/elements/media/audio/audio.js +9 -0
  1032. package/dist/esm/elements/media/audio/audio.js.map +1 -0
  1033. package/dist/esm/elements/media/canvas/canvas.js +9 -0
  1034. package/dist/esm/elements/media/canvas/canvas.js.map +1 -0
  1035. package/dist/esm/elements/media/embed/embed.js +9 -0
  1036. package/dist/esm/elements/media/embed/embed.js.map +1 -0
  1037. package/dist/esm/elements/media/iframe/iframe.js +9 -0
  1038. package/dist/esm/elements/media/iframe/iframe.js.map +1 -0
  1039. package/dist/esm/elements/media/img/img.js +9 -0
  1040. package/dist/esm/elements/media/img/img.js.map +1 -0
  1041. package/dist/esm/elements/media/math/math.js +9 -0
  1042. package/dist/esm/elements/media/math/math.js.map +1 -0
  1043. package/dist/esm/elements/media/media.js +21 -0
  1044. package/dist/esm/elements/media/media.js.map +1 -0
  1045. package/dist/esm/elements/media/object/object.js +9 -0
  1046. package/dist/esm/elements/media/object/object.js.map +1 -0
  1047. package/dist/esm/elements/media/svg/svg.js +9 -0
  1048. package/dist/esm/elements/media/svg/svg.js.map +1 -0
  1049. package/dist/esm/elements/media/video/video.js +9 -0
  1050. package/dist/esm/elements/media/video/video.js.map +1 -0
  1051. package/dist/esm/elements/responsive/area/area.js +9 -0
  1052. package/dist/esm/elements/responsive/area/area.js.map +1 -0
  1053. package/dist/esm/elements/responsive/map/map.js +9 -0
  1054. package/dist/esm/elements/responsive/map/map.js.map +1 -0
  1055. package/dist/esm/elements/responsive/picture/picture.js +9 -0
  1056. package/dist/esm/elements/responsive/picture/picture.js.map +1 -0
  1057. package/dist/esm/elements/responsive/responsive.js +13 -0
  1058. package/dist/esm/elements/responsive/responsive.js.map +1 -0
  1059. package/dist/esm/elements/responsive/source/source.js +9 -0
  1060. package/dist/esm/elements/responsive/source/source.js.map +1 -0
  1061. package/dist/esm/elements/responsive/track/track.js +9 -0
  1062. package/dist/esm/elements/responsive/track/track.js.map +1 -0
  1063. package/dist/esm/elements/table/caption/caption.js +9 -0
  1064. package/dist/esm/elements/table/caption/caption.js.map +1 -0
  1065. package/dist/esm/elements/table/col/col.js +9 -0
  1066. package/dist/esm/elements/table/col/col.js.map +1 -0
  1067. package/dist/esm/elements/table/colgroup/colgroup.js +9 -0
  1068. package/dist/esm/elements/table/colgroup/colgroup.js.map +1 -0
  1069. package/dist/esm/elements/table/table/table.js +9 -0
  1070. package/dist/esm/elements/table/table/table.js.map +1 -0
  1071. package/dist/esm/elements/table/table.js +23 -0
  1072. package/dist/esm/elements/table/table.js.map +1 -0
  1073. package/dist/esm/elements/table/tbody/tbody.js +9 -0
  1074. package/dist/esm/elements/table/tbody/tbody.js.map +1 -0
  1075. package/dist/esm/elements/table/td/td.js +9 -0
  1076. package/dist/esm/elements/table/td/td.js.map +1 -0
  1077. package/dist/esm/elements/table/tfoot/tfoot.js +9 -0
  1078. package/dist/esm/elements/table/tfoot/tfoot.js.map +1 -0
  1079. package/dist/esm/elements/table/th/th.js +9 -0
  1080. package/dist/esm/elements/table/th/th.js.map +1 -0
  1081. package/dist/esm/elements/table/thead/thead.js +9 -0
  1082. package/dist/esm/elements/table/thead/thead.js.map +1 -0
  1083. package/dist/esm/elements/table/tr/tr.js +9 -0
  1084. package/dist/esm/elements/table/tr/tr.js.map +1 -0
  1085. package/dist/esm/elements/text/address/address.js +9 -0
  1086. package/dist/esm/elements/text/address/address.js.map +1 -0
  1087. package/dist/esm/elements/text/blockquote/blockquote.js +9 -0
  1088. package/dist/esm/elements/text/blockquote/blockquote.js.map +1 -0
  1089. package/dist/esm/elements/text/hr/hr.js +9 -0
  1090. package/dist/esm/elements/text/hr/hr.js.map +1 -0
  1091. package/dist/esm/elements/text/paragraph/paragraph.js +9 -0
  1092. package/dist/esm/elements/text/paragraph/paragraph.js.map +1 -0
  1093. package/dist/esm/elements/text/pre/pre.js +9 -0
  1094. package/dist/esm/elements/text/pre/pre.js.map +1 -0
  1095. package/dist/esm/elements/text/text.js +13 -0
  1096. package/dist/esm/elements/text/text.js.map +1 -0
  1097. package/dist/esm/elements.js +29 -0
  1098. package/dist/esm/elements.js.map +1 -0
  1099. package/dist/esm/index.js +85 -0
  1100. package/dist/esm/index.js.map +1 -0
  1101. package/dist/types/elements/break/br/index.d.ts +111 -0
  1102. package/dist/types/elements/break/br/index.d.ts.map +1 -0
  1103. package/dist/types/elements/break/index.d.ts +32 -0
  1104. package/dist/types/elements/break/index.d.ts.map +1 -0
  1105. package/dist/types/elements/break/wbr/index.d.ts +112 -0
  1106. package/dist/types/elements/break/wbr/index.d.ts.map +1 -0
  1107. package/dist/types/elements/container/div/index.d.ts +123 -0
  1108. package/dist/types/elements/container/div/index.d.ts.map +1 -0
  1109. package/dist/types/elements/container/index.d.ts +32 -0
  1110. package/dist/types/elements/container/index.d.ts.map +1 -0
  1111. package/dist/types/elements/container/span/index.d.ts +100 -0
  1112. package/dist/types/elements/container/span/index.d.ts.map +1 -0
  1113. package/dist/types/elements/figure/figcaption/index.d.ts +115 -0
  1114. package/dist/types/elements/figure/figcaption/index.d.ts.map +1 -0
  1115. package/dist/types/elements/figure/figure/index.d.ts +124 -0
  1116. package/dist/types/elements/figure/figure/index.d.ts.map +1 -0
  1117. package/dist/types/elements/figure/index.d.ts +38 -0
  1118. package/dist/types/elements/figure/index.d.ts.map +1 -0
  1119. package/dist/types/elements/form/button/index.d.ts +216 -0
  1120. package/dist/types/elements/form/button/index.d.ts.map +1 -0
  1121. package/dist/types/elements/form/datalist/index.d.ts +140 -0
  1122. package/dist/types/elements/form/datalist/index.d.ts.map +1 -0
  1123. package/dist/types/elements/form/fieldset/index.d.ts +147 -0
  1124. package/dist/types/elements/form/fieldset/index.d.ts.map +1 -0
  1125. package/dist/types/elements/form/form/index.d.ts +210 -0
  1126. package/dist/types/elements/form/form/index.d.ts.map +1 -0
  1127. package/dist/types/elements/form/index.d.ts +140 -0
  1128. package/dist/types/elements/form/index.d.ts.map +1 -0
  1129. package/dist/types/elements/form/input/index.d.ts +313 -0
  1130. package/dist/types/elements/form/input/index.d.ts.map +1 -0
  1131. package/dist/types/elements/form/label/index.d.ts +144 -0
  1132. package/dist/types/elements/form/label/index.d.ts.map +1 -0
  1133. package/dist/types/elements/form/legend/index.d.ts +126 -0
  1134. package/dist/types/elements/form/legend/index.d.ts.map +1 -0
  1135. package/dist/types/elements/form/meter/index.d.ts +152 -0
  1136. package/dist/types/elements/form/meter/index.d.ts.map +1 -0
  1137. package/dist/types/elements/form/optgroup/index.d.ts +127 -0
  1138. package/dist/types/elements/form/optgroup/index.d.ts.map +1 -0
  1139. package/dist/types/elements/form/option/index.d.ts +160 -0
  1140. package/dist/types/elements/form/option/index.d.ts.map +1 -0
  1141. package/dist/types/elements/form/output/index.d.ts +146 -0
  1142. package/dist/types/elements/form/output/index.d.ts.map +1 -0
  1143. package/dist/types/elements/form/progress/index.d.ts +140 -0
  1144. package/dist/types/elements/form/progress/index.d.ts.map +1 -0
  1145. package/dist/types/elements/form/select/index.d.ts +158 -0
  1146. package/dist/types/elements/form/select/index.d.ts.map +1 -0
  1147. package/dist/types/elements/form/textarea/index.d.ts +228 -0
  1148. package/dist/types/elements/form/textarea/index.d.ts.map +1 -0
  1149. package/dist/types/elements/heading/h1/index.d.ts +130 -0
  1150. package/dist/types/elements/heading/h1/index.d.ts.map +1 -0
  1151. package/dist/types/elements/heading/h2/index.d.ts +128 -0
  1152. package/dist/types/elements/heading/h2/index.d.ts.map +1 -0
  1153. package/dist/types/elements/heading/h3/index.d.ts +126 -0
  1154. package/dist/types/elements/heading/h3/index.d.ts.map +1 -0
  1155. package/dist/types/elements/heading/h4/index.d.ts +113 -0
  1156. package/dist/types/elements/heading/h4/index.d.ts.map +1 -0
  1157. package/dist/types/elements/heading/h5/index.d.ts +126 -0
  1158. package/dist/types/elements/heading/h5/index.d.ts.map +1 -0
  1159. package/dist/types/elements/heading/h6/index.d.ts +119 -0
  1160. package/dist/types/elements/heading/h6/index.d.ts.map +1 -0
  1161. package/dist/types/elements/heading/index.d.ts +68 -0
  1162. package/dist/types/elements/heading/index.d.ts.map +1 -0
  1163. package/dist/types/elements/index.d.ts +106 -0
  1164. package/dist/types/elements/index.d.ts.map +1 -0
  1165. package/dist/types/elements/inline/a/index.d.ts +203 -0
  1166. package/dist/types/elements/inline/a/index.d.ts.map +1 -0
  1167. package/dist/types/elements/inline/abbr/index.d.ts +132 -0
  1168. package/dist/types/elements/inline/abbr/index.d.ts.map +1 -0
  1169. package/dist/types/elements/inline/b/index.d.ts +121 -0
  1170. package/dist/types/elements/inline/b/index.d.ts.map +1 -0
  1171. package/dist/types/elements/inline/cite/index.d.ts +125 -0
  1172. package/dist/types/elements/inline/cite/index.d.ts.map +1 -0
  1173. package/dist/types/elements/inline/code/index.d.ts +137 -0
  1174. package/dist/types/elements/inline/code/index.d.ts.map +1 -0
  1175. package/dist/types/elements/inline/data/index.d.ts +144 -0
  1176. package/dist/types/elements/inline/data/index.d.ts.map +1 -0
  1177. package/dist/types/elements/inline/dfn/index.d.ts +124 -0
  1178. package/dist/types/elements/inline/dfn/index.d.ts.map +1 -0
  1179. package/dist/types/elements/inline/em/index.d.ts +124 -0
  1180. package/dist/types/elements/inline/em/index.d.ts.map +1 -0
  1181. package/dist/types/elements/inline/i/index.d.ts +143 -0
  1182. package/dist/types/elements/inline/i/index.d.ts.map +1 -0
  1183. package/dist/types/elements/inline/index.d.ts +229 -0
  1184. package/dist/types/elements/inline/index.d.ts.map +1 -0
  1185. package/dist/types/elements/inline/kbd/index.d.ts +123 -0
  1186. package/dist/types/elements/inline/kbd/index.d.ts.map +1 -0
  1187. package/dist/types/elements/inline/mark/index.d.ts +125 -0
  1188. package/dist/types/elements/inline/mark/index.d.ts.map +1 -0
  1189. package/dist/types/elements/inline/q/index.d.ts +138 -0
  1190. package/dist/types/elements/inline/q/index.d.ts.map +1 -0
  1191. package/dist/types/elements/inline/rb/index.d.ts +143 -0
  1192. package/dist/types/elements/inline/rb/index.d.ts.map +1 -0
  1193. package/dist/types/elements/inline/rp/index.d.ts +123 -0
  1194. package/dist/types/elements/inline/rp/index.d.ts.map +1 -0
  1195. package/dist/types/elements/inline/rt/index.d.ts +124 -0
  1196. package/dist/types/elements/inline/rt/index.d.ts.map +1 -0
  1197. package/dist/types/elements/inline/rtc/index.d.ts +122 -0
  1198. package/dist/types/elements/inline/rtc/index.d.ts.map +1 -0
  1199. package/dist/types/elements/inline/ruby/index.d.ts +147 -0
  1200. package/dist/types/elements/inline/ruby/index.d.ts.map +1 -0
  1201. package/dist/types/elements/inline/s/index.d.ts +125 -0
  1202. package/dist/types/elements/inline/s/index.d.ts.map +1 -0
  1203. package/dist/types/elements/inline/samp/index.d.ts +122 -0
  1204. package/dist/types/elements/inline/samp/index.d.ts.map +1 -0
  1205. package/dist/types/elements/inline/small/index.d.ts +138 -0
  1206. package/dist/types/elements/inline/small/index.d.ts.map +1 -0
  1207. package/dist/types/elements/inline/strong/index.d.ts +126 -0
  1208. package/dist/types/elements/inline/strong/index.d.ts.map +1 -0
  1209. package/dist/types/elements/inline/sub/index.d.ts +130 -0
  1210. package/dist/types/elements/inline/sub/index.d.ts.map +1 -0
  1211. package/dist/types/elements/inline/sup/index.d.ts +125 -0
  1212. package/dist/types/elements/inline/sup/index.d.ts.map +1 -0
  1213. package/dist/types/elements/inline/time/index.d.ts +149 -0
  1214. package/dist/types/elements/inline/time/index.d.ts.map +1 -0
  1215. package/dist/types/elements/inline/u/index.d.ts +122 -0
  1216. package/dist/types/elements/inline/u/index.d.ts.map +1 -0
  1217. package/dist/types/elements/inline/var/index.d.ts +127 -0
  1218. package/dist/types/elements/inline/var/index.d.ts.map +1 -0
  1219. package/dist/types/elements/interactive/details/index.d.ts +134 -0
  1220. package/dist/types/elements/interactive/details/index.d.ts.map +1 -0
  1221. package/dist/types/elements/interactive/dialog/index.d.ts +162 -0
  1222. package/dist/types/elements/interactive/dialog/index.d.ts.map +1 -0
  1223. package/dist/types/elements/interactive/index.d.ts +48 -0
  1224. package/dist/types/elements/interactive/index.d.ts.map +1 -0
  1225. package/dist/types/elements/interactive/summary/index.d.ts +122 -0
  1226. package/dist/types/elements/interactive/summary/index.d.ts.map +1 -0
  1227. package/dist/types/elements/layout/article/index.d.ts +129 -0
  1228. package/dist/types/elements/layout/article/index.d.ts.map +1 -0
  1229. package/dist/types/elements/layout/aside/index.d.ts +122 -0
  1230. package/dist/types/elements/layout/aside/index.d.ts.map +1 -0
  1231. package/dist/types/elements/layout/footer/index.d.ts +122 -0
  1232. package/dist/types/elements/layout/footer/index.d.ts.map +1 -0
  1233. package/dist/types/elements/layout/header/index.d.ts +131 -0
  1234. package/dist/types/elements/layout/header/index.d.ts.map +1 -0
  1235. package/dist/types/elements/layout/index.d.ts +83 -0
  1236. package/dist/types/elements/layout/index.d.ts.map +1 -0
  1237. package/dist/types/elements/layout/main/index.d.ts +135 -0
  1238. package/dist/types/elements/layout/main/index.d.ts.map +1 -0
  1239. package/dist/types/elements/layout/nav/index.d.ts +136 -0
  1240. package/dist/types/elements/layout/nav/index.d.ts.map +1 -0
  1241. package/dist/types/elements/layout/section/index.d.ts +128 -0
  1242. package/dist/types/elements/layout/section/index.d.ts.map +1 -0
  1243. package/dist/types/elements/list/dd/index.d.ts +120 -0
  1244. package/dist/types/elements/list/dd/index.d.ts.map +1 -0
  1245. package/dist/types/elements/list/dl/index.d.ts +131 -0
  1246. package/dist/types/elements/list/dl/index.d.ts.map +1 -0
  1247. package/dist/types/elements/list/dt/index.d.ts +126 -0
  1248. package/dist/types/elements/list/dt/index.d.ts.map +1 -0
  1249. package/dist/types/elements/list/index.d.ts +69 -0
  1250. package/dist/types/elements/list/index.d.ts.map +1 -0
  1251. package/dist/types/elements/list/li/index.d.ts +155 -0
  1252. package/dist/types/elements/list/li/index.d.ts.map +1 -0
  1253. package/dist/types/elements/list/ol/index.d.ts +155 -0
  1254. package/dist/types/elements/list/ol/index.d.ts.map +1 -0
  1255. package/dist/types/elements/list/ul/index.d.ts +145 -0
  1256. package/dist/types/elements/list/ul/index.d.ts.map +1 -0
  1257. package/dist/types/elements/media/audio/index.d.ts +197 -0
  1258. package/dist/types/elements/media/audio/index.d.ts.map +1 -0
  1259. package/dist/types/elements/media/canvas/index.d.ts +146 -0
  1260. package/dist/types/elements/media/canvas/index.d.ts.map +1 -0
  1261. package/dist/types/elements/media/embed/index.d.ts +138 -0
  1262. package/dist/types/elements/media/embed/index.d.ts.map +1 -0
  1263. package/dist/types/elements/media/iframe/index.d.ts +222 -0
  1264. package/dist/types/elements/media/iframe/index.d.ts.map +1 -0
  1265. package/dist/types/elements/media/img/index.d.ts +83 -0
  1266. package/dist/types/elements/media/img/index.d.ts.map +1 -0
  1267. package/dist/types/elements/media/index.d.ts +89 -0
  1268. package/dist/types/elements/media/index.d.ts.map +1 -0
  1269. package/dist/types/elements/media/math/index.d.ts +132 -0
  1270. package/dist/types/elements/media/math/index.d.ts.map +1 -0
  1271. package/dist/types/elements/media/object/index.d.ts +183 -0
  1272. package/dist/types/elements/media/object/index.d.ts.map +1 -0
  1273. package/dist/types/elements/media/svg/index.d.ts +44 -0
  1274. package/dist/types/elements/media/svg/index.d.ts.map +1 -0
  1275. package/dist/types/elements/media/video/index.d.ts +225 -0
  1276. package/dist/types/elements/media/video/index.d.ts.map +1 -0
  1277. package/dist/types/elements/responsive/area/index.d.ts +158 -0
  1278. package/dist/types/elements/responsive/area/index.d.ts.map +1 -0
  1279. package/dist/types/elements/responsive/index.d.ts +67 -0
  1280. package/dist/types/elements/responsive/index.d.ts.map +1 -0
  1281. package/dist/types/elements/responsive/map/index.d.ts +138 -0
  1282. package/dist/types/elements/responsive/map/index.d.ts.map +1 -0
  1283. package/dist/types/elements/responsive/picture/index.d.ts +120 -0
  1284. package/dist/types/elements/responsive/picture/index.d.ts.map +1 -0
  1285. package/dist/types/elements/responsive/source/index.d.ts +175 -0
  1286. package/dist/types/elements/responsive/source/index.d.ts.map +1 -0
  1287. package/dist/types/elements/responsive/track/index.d.ts +183 -0
  1288. package/dist/types/elements/responsive/track/index.d.ts.map +1 -0
  1289. package/dist/types/elements/table/caption/index.d.ts +132 -0
  1290. package/dist/types/elements/table/caption/index.d.ts.map +1 -0
  1291. package/dist/types/elements/table/col/index.d.ts +132 -0
  1292. package/dist/types/elements/table/col/index.d.ts.map +1 -0
  1293. package/dist/types/elements/table/colgroup/index.d.ts +147 -0
  1294. package/dist/types/elements/table/colgroup/index.d.ts.map +1 -0
  1295. package/dist/types/elements/table/index.d.ts +102 -0
  1296. package/dist/types/elements/table/index.d.ts.map +1 -0
  1297. package/dist/types/elements/table/table/index.d.ts +143 -0
  1298. package/dist/types/elements/table/table/index.d.ts.map +1 -0
  1299. package/dist/types/elements/table/tbody/index.d.ts +134 -0
  1300. package/dist/types/elements/table/tbody/index.d.ts.map +1 -0
  1301. package/dist/types/elements/table/td/index.d.ts +146 -0
  1302. package/dist/types/elements/table/td/index.d.ts.map +1 -0
  1303. package/dist/types/elements/table/tfoot/index.d.ts +131 -0
  1304. package/dist/types/elements/table/tfoot/index.d.ts.map +1 -0
  1305. package/dist/types/elements/table/th/index.d.ts +187 -0
  1306. package/dist/types/elements/table/th/index.d.ts.map +1 -0
  1307. package/dist/types/elements/table/thead/index.d.ts +130 -0
  1308. package/dist/types/elements/table/thead/index.d.ts.map +1 -0
  1309. package/dist/types/elements/table/tr/index.d.ts +134 -0
  1310. package/dist/types/elements/table/tr/index.d.ts.map +1 -0
  1311. package/dist/types/elements/text/address/index.d.ts +133 -0
  1312. package/dist/types/elements/text/address/index.d.ts.map +1 -0
  1313. package/dist/types/elements/text/blockquote/index.d.ts +153 -0
  1314. package/dist/types/elements/text/blockquote/index.d.ts.map +1 -0
  1315. package/dist/types/elements/text/hr/index.d.ts +121 -0
  1316. package/dist/types/elements/text/hr/index.d.ts.map +1 -0
  1317. package/dist/types/elements/text/index.d.ts +57 -0
  1318. package/dist/types/elements/text/index.d.ts.map +1 -0
  1319. package/dist/types/elements/text/paragraph/index.d.ts +139 -0
  1320. package/dist/types/elements/text/paragraph/index.d.ts.map +1 -0
  1321. package/dist/types/elements/text/pre/index.d.ts +135 -0
  1322. package/dist/types/elements/text/pre/index.d.ts.map +1 -0
  1323. package/dist/types/index.d.ts +4 -0
  1324. package/dist/types/index.d.ts.map +1 -0
  1325. package/dist/types/ts/adapters/tailwind/v4/index.d.ts +3 -0
  1326. package/dist/types/ts/adapters/tailwind/v4/index.d.ts.map +1 -0
  1327. package/dist/types/ts/adapters/tailwind/v4/plugin.d.ts +11 -0
  1328. package/dist/types/ts/adapters/tailwind/v4/plugin.d.ts.map +1 -0
  1329. package/dist/types/ts/adapters/tailwind/v4/preset.d.ts +12 -0
  1330. package/dist/types/ts/adapters/tailwind/v4/preset.d.ts.map +1 -0
  1331. package/dist/types/ts/dom.d.ts +247 -0
  1332. package/dist/types/ts/dom.d.ts.map +1 -0
  1333. package/package.json +706 -0
  1334. package/src/elements/break/br/br.scss +26 -0
  1335. package/src/elements/break/br/index.ts +150 -0
  1336. package/src/elements/break/index.ts +33 -0
  1337. package/src/elements/break/wbr/index.ts +151 -0
  1338. package/src/elements/break/wbr/wbr.scss +27 -0
  1339. package/src/elements/container/div/div.scss +27 -0
  1340. package/src/elements/container/div/index.ts +163 -0
  1341. package/src/elements/container/index.ts +33 -0
  1342. package/src/elements/container/span/index.ts +137 -0
  1343. package/src/elements/container/span/span.scss +28 -0
  1344. package/src/elements/figure/figcaption/figcaption.scss +53 -0
  1345. package/src/elements/figure/figcaption/index.ts +157 -0
  1346. package/src/elements/figure/figure/figure.scss +53 -0
  1347. package/src/elements/figure/figure/index.ts +164 -0
  1348. package/src/elements/figure/index.ts +39 -0
  1349. package/src/elements/form/button/button.scss +39 -0
  1350. package/src/elements/form/button/index.ts +335 -0
  1351. package/src/elements/form/datalist/datalist.scss +40 -0
  1352. package/src/elements/form/datalist/index.ts +183 -0
  1353. package/src/elements/form/fieldset/fieldset.scss +46 -0
  1354. package/src/elements/form/fieldset/index.ts +211 -0
  1355. package/src/elements/form/form/form.scss +42 -0
  1356. package/src/elements/form/form/index.ts +308 -0
  1357. package/src/elements/form/index.ts +153 -0
  1358. package/src/elements/form/input/index.ts +528 -0
  1359. package/src/elements/form/input/input.scss +39 -0
  1360. package/src/elements/form/label/index.ts +194 -0
  1361. package/src/elements/form/label/label.scss +41 -0
  1362. package/src/elements/form/legend/index.ts +166 -0
  1363. package/src/elements/form/legend/legend.scss +40 -0
  1364. package/src/elements/form/meter/index.ts +231 -0
  1365. package/src/elements/form/meter/meter.scss +36 -0
  1366. package/src/elements/form/optgroup/index.ts +187 -0
  1367. package/src/elements/form/optgroup/optgroup.scss +37 -0
  1368. package/src/elements/form/option/index.ts +218 -0
  1369. package/src/elements/form/option/option.scss +38 -0
  1370. package/src/elements/form/output/index.ts +205 -0
  1371. package/src/elements/form/output/output.scss +42 -0
  1372. package/src/elements/form/progress/index.ts +215 -0
  1373. package/src/elements/form/progress/progress.scss +38 -0
  1374. package/src/elements/form/select/index.ts +250 -0
  1375. package/src/elements/form/select/select.scss +38 -0
  1376. package/src/elements/form/textarea/index.ts +351 -0
  1377. package/src/elements/form/textarea/textarea.scss +39 -0
  1378. package/src/elements/heading/h1/h1.scss +59 -0
  1379. package/src/elements/heading/h1/index.ts +170 -0
  1380. package/src/elements/heading/h2/h2.scss +53 -0
  1381. package/src/elements/heading/h2/index.ts +168 -0
  1382. package/src/elements/heading/h3/h3.scss +54 -0
  1383. package/src/elements/heading/h3/index.ts +166 -0
  1384. package/src/elements/heading/h4/h4.scss +48 -0
  1385. package/src/elements/heading/h4/index.ts +150 -0
  1386. package/src/elements/heading/h5/h5.scss +50 -0
  1387. package/src/elements/heading/h5/index.ts +166 -0
  1388. package/src/elements/heading/h6/h6.scss +48 -0
  1389. package/src/elements/heading/h6/index.ts +158 -0
  1390. package/src/elements/heading/index.ts +73 -0
  1391. package/src/elements/index.ts +118 -0
  1392. package/src/elements/inline/a/a.scss +55 -0
  1393. package/src/elements/inline/a/index.ts +291 -0
  1394. package/src/elements/inline/abbr/abbr.scss +54 -0
  1395. package/src/elements/inline/abbr/index.ts +172 -0
  1396. package/src/elements/inline/b/b.scss +38 -0
  1397. package/src/elements/inline/b/index.ts +161 -0
  1398. package/src/elements/inline/cite/cite.scss +36 -0
  1399. package/src/elements/inline/cite/index.ts +165 -0
  1400. package/src/elements/inline/code/code.scss +45 -0
  1401. package/src/elements/inline/code/index.ts +176 -0
  1402. package/src/elements/inline/data/data.scss +36 -0
  1403. package/src/elements/inline/data/index.ts +208 -0
  1404. package/src/elements/inline/dfn/dfn.scss +36 -0
  1405. package/src/elements/inline/dfn/index.ts +164 -0
  1406. package/src/elements/inline/em/em.scss +35 -0
  1407. package/src/elements/inline/em/index.ts +164 -0
  1408. package/src/elements/inline/i/i.scss +38 -0
  1409. package/src/elements/inline/i/index.ts +182 -0
  1410. package/src/elements/inline/index.ts +254 -0
  1411. package/src/elements/inline/kbd/index.ts +163 -0
  1412. package/src/elements/inline/kbd/kbd.scss +44 -0
  1413. package/src/elements/inline/mark/index.ts +165 -0
  1414. package/src/elements/inline/mark/mark.scss +45 -0
  1415. package/src/elements/inline/q/index.ts +206 -0
  1416. package/src/elements/inline/q/q.scss +44 -0
  1417. package/src/elements/inline/rb/index.ts +186 -0
  1418. package/src/elements/inline/rb/rb.scss +35 -0
  1419. package/src/elements/inline/rp/index.ts +163 -0
  1420. package/src/elements/inline/rp/rp.scss +41 -0
  1421. package/src/elements/inline/rt/index.ts +164 -0
  1422. package/src/elements/inline/rt/rt.scss +36 -0
  1423. package/src/elements/inline/rtc/index.ts +168 -0
  1424. package/src/elements/inline/rtc/rtc.scss +40 -0
  1425. package/src/elements/inline/ruby/index.ts +186 -0
  1426. package/src/elements/inline/ruby/ruby.scss +39 -0
  1427. package/src/elements/inline/s/index.ts +165 -0
  1428. package/src/elements/inline/s/s.scss +37 -0
  1429. package/src/elements/inline/samp/index.ts +162 -0
  1430. package/src/elements/inline/samp/samp.scss +43 -0
  1431. package/src/elements/inline/small/index.ts +177 -0
  1432. package/src/elements/inline/small/small.scss +35 -0
  1433. package/src/elements/inline/strong/index.ts +166 -0
  1434. package/src/elements/inline/strong/strong.scss +35 -0
  1435. package/src/elements/inline/sub/index.ts +170 -0
  1436. package/src/elements/inline/sub/sub.scss +44 -0
  1437. package/src/elements/inline/sup/index.ts +165 -0
  1438. package/src/elements/inline/sup/sup.scss +43 -0
  1439. package/src/elements/inline/time/index.ts +206 -0
  1440. package/src/elements/inline/time/time.scss +38 -0
  1441. package/src/elements/inline/u/index.ts +162 -0
  1442. package/src/elements/inline/u/u.scss +42 -0
  1443. package/src/elements/inline/var/index.ts +167 -0
  1444. package/src/elements/inline/var/var.scss +44 -0
  1445. package/src/elements/interactive/details/details.scss +42 -0
  1446. package/src/elements/interactive/details/index.ts +198 -0
  1447. package/src/elements/interactive/dialog/dialog.scss +55 -0
  1448. package/src/elements/interactive/dialog/index.ts +219 -0
  1449. package/src/elements/interactive/index.ts +50 -0
  1450. package/src/elements/interactive/summary/index.ts +161 -0
  1451. package/src/elements/interactive/summary/summary.scss +48 -0
  1452. package/src/elements/layout/article/article.scss +42 -0
  1453. package/src/elements/layout/article/index.ts +169 -0
  1454. package/src/elements/layout/aside/aside.scss +42 -0
  1455. package/src/elements/layout/aside/index.ts +161 -0
  1456. package/src/elements/layout/footer/footer.scss +42 -0
  1457. package/src/elements/layout/footer/index.ts +161 -0
  1458. package/src/elements/layout/header/header.scss +42 -0
  1459. package/src/elements/layout/header/index.ts +171 -0
  1460. package/src/elements/layout/index.ts +89 -0
  1461. package/src/elements/layout/main/index.ts +175 -0
  1462. package/src/elements/layout/main/main.scss +43 -0
  1463. package/src/elements/layout/nav/index.ts +176 -0
  1464. package/src/elements/layout/nav/nav.scss +42 -0
  1465. package/src/elements/layout/section/index.ts +168 -0
  1466. package/src/elements/layout/section/section.scss +42 -0
  1467. package/src/elements/list/dd/dd.scss +49 -0
  1468. package/src/elements/list/dd/index.ts +159 -0
  1469. package/src/elements/list/dl/dl.scss +39 -0
  1470. package/src/elements/list/dl/index.ts +171 -0
  1471. package/src/elements/list/dt/dt.scss +51 -0
  1472. package/src/elements/list/dt/index.ts +166 -0
  1473. package/src/elements/list/index.ts +74 -0
  1474. package/src/elements/list/li/index.ts +213 -0
  1475. package/src/elements/list/li/li.scss +39 -0
  1476. package/src/elements/list/ol/index.ts +205 -0
  1477. package/src/elements/list/ol/ol.scss +39 -0
  1478. package/src/elements/list/ul/index.ts +195 -0
  1479. package/src/elements/list/ul/ul.scss +42 -0
  1480. package/src/elements/media/audio/audio.scss +43 -0
  1481. package/src/elements/media/audio/index.ts +281 -0
  1482. package/src/elements/media/canvas/canvas.scss +46 -0
  1483. package/src/elements/media/canvas/index.ts +194 -0
  1484. package/src/elements/media/embed/embed.scss +37 -0
  1485. package/src/elements/media/embed/index.ts +246 -0
  1486. package/src/elements/media/iframe/iframe.scss +39 -0
  1487. package/src/elements/media/iframe/index.ts +331 -0
  1488. package/src/elements/media/img/img.scss +47 -0
  1489. package/src/elements/media/img/index.ts +146 -0
  1490. package/src/elements/media/index.ts +97 -0
  1491. package/src/elements/media/math/index.ts +200 -0
  1492. package/src/elements/media/math/math.scss +46 -0
  1493. package/src/elements/media/object/index.ts +282 -0
  1494. package/src/elements/media/object/object.scss +42 -0
  1495. package/src/elements/media/svg/index.ts +122 -0
  1496. package/src/elements/media/svg/svg.scss +44 -0
  1497. package/src/elements/media/video/index.ts +376 -0
  1498. package/src/elements/media/video/video.scss +44 -0
  1499. package/src/elements/responsive/area/area.scss +29 -0
  1500. package/src/elements/responsive/area/index.ts +244 -0
  1501. package/src/elements/responsive/index.ts +71 -0
  1502. package/src/elements/responsive/map/index.ts +231 -0
  1503. package/src/elements/responsive/map/map.scss +38 -0
  1504. package/src/elements/responsive/picture/index.ts +159 -0
  1505. package/src/elements/responsive/picture/picture.scss +32 -0
  1506. package/src/elements/responsive/source/index.ts +247 -0
  1507. package/src/elements/responsive/source/source.scss +28 -0
  1508. package/src/elements/responsive/track/index.ts +254 -0
  1509. package/src/elements/responsive/track/track.scss +28 -0
  1510. package/src/elements/table/caption/caption.scss +54 -0
  1511. package/src/elements/table/caption/index.ts +172 -0
  1512. package/src/elements/table/col/col.scss +32 -0
  1513. package/src/elements/table/col/index.ts +189 -0
  1514. package/src/elements/table/colgroup/colgroup.scss +34 -0
  1515. package/src/elements/table/colgroup/index.ts +224 -0
  1516. package/src/elements/table/index.ts +111 -0
  1517. package/src/elements/table/table/index.ts +183 -0
  1518. package/src/elements/table/table/table.scss +56 -0
  1519. package/src/elements/table/tbody/index.ts +174 -0
  1520. package/src/elements/table/tbody/tbody.scss +32 -0
  1521. package/src/elements/table/td/index.ts +220 -0
  1522. package/src/elements/table/td/td.scss +48 -0
  1523. package/src/elements/table/tfoot/index.ts +171 -0
  1524. package/src/elements/table/tfoot/tfoot.scss +30 -0
  1525. package/src/elements/table/th/index.ts +277 -0
  1526. package/src/elements/table/th/th.scss +48 -0
  1527. package/src/elements/table/thead/index.ts +170 -0
  1528. package/src/elements/table/thead/thead.scss +32 -0
  1529. package/src/elements/table/tr/index.ts +174 -0
  1530. package/src/elements/table/tr/tr.scss +30 -0
  1531. package/src/elements/text/address/address.scss +61 -0
  1532. package/src/elements/text/address/index.ts +173 -0
  1533. package/src/elements/text/blockquote/blockquote.scss +50 -0
  1534. package/src/elements/text/blockquote/index.ts +203 -0
  1535. package/src/elements/text/hr/hr.scss +50 -0
  1536. package/src/elements/text/hr/index.ts +161 -0
  1537. package/src/elements/text/index.ts +61 -0
  1538. package/src/elements/text/paragraph/index.ts +179 -0
  1539. package/src/elements/text/paragraph/paragraph.scss +49 -0
  1540. package/src/elements/text/pre/index.ts +175 -0
  1541. package/src/elements/text/pre/pre.scss +59 -0
  1542. package/src/scss/_elements.scss +178 -0
  1543. package/src/scss/_font-face.scss +35 -0
  1544. package/src/scss/_reboot.scss +117 -0
  1545. package/src/scss/_root.scss +112 -0
  1546. package/src/scss/adapters/bootstrap/v5/_variables.scss +220 -0
  1547. package/src/scss/adapters/bootstrap/v5/index.scss +58 -0
  1548. package/src/scss/core.scss +53 -0
  1549. package/src/scss/functions/_colours.scss +340 -0
  1550. package/src/scss/functions/_fonts.scss +475 -0
  1551. package/src/scss/functions/_index.scss +78 -0
  1552. package/src/scss/functions/_options.scss +233 -0
  1553. package/src/scss/functions/_spacing.scss +405 -0
  1554. package/src/scss/functions/_theme.scss +355 -0
  1555. package/src/scss/functions/_typography.scss +403 -0
  1556. package/src/scss/main.scss +47 -0
  1557. package/src/scss/maps/_colours.scss +344 -0
  1558. package/src/scss/maps/_dark-theme.scss +47 -0
  1559. package/src/scss/maps/_fonts.scss +72 -0
  1560. package/src/scss/maps/_index.scss +96 -0
  1561. package/src/scss/maps/_options.scss +53 -0
  1562. package/src/scss/maps/_spacing.scss +63 -0
  1563. package/src/scss/maps/_theme.scss +78 -0
  1564. package/src/scss/maps/_typography.scss +127 -0
  1565. package/src/scss/mixins/_colours.scss +304 -0
  1566. package/src/scss/mixins/_fonts.scss +277 -0
  1567. package/src/scss/mixins/_index.scss +93 -0
  1568. package/src/scss/mixins/_options.scss +297 -0
  1569. package/src/scss/mixins/_spacing.scss +176 -0
  1570. package/src/scss/mixins/_theme.scss +325 -0
  1571. package/src/scss/mixins/_typography.scss +277 -0
  1572. package/src/scss/tokens/_colours.scss +707 -0
  1573. package/src/scss/tokens/_dark-theme.scss +50 -0
  1574. package/src/scss/tokens/_fonts.scss +49 -0
  1575. package/src/scss/tokens/_index.scss +100 -0
  1576. package/src/scss/tokens/_options.scss +77 -0
  1577. package/src/scss/tokens/_spacing.scss +43 -0
  1578. package/src/scss/tokens/_theme.scss +166 -0
  1579. package/src/scss/tokens/_typography.scss +218 -0
  1580. package/src/ts/adapters/tailwind/v4/index.ts +2 -0
  1581. package/src/ts/adapters/tailwind/v4/plugin.ts +47 -0
  1582. package/src/ts/adapters/tailwind/v4/preset.ts +75 -0
  1583. package/src/ts/dom.ts +378 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index20.js","sources":["../../../src/elements/media/svg/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Svg element helpers.\n *\n * @remarks\n * The svg element (`<svg>`) defines scalable vector graphics.\n *\n * Fundatio enforces:\n * - Default decorative behaviour:\n * - aria-hidden=\"true\"\n * - tabIndex = -1\n * - focusable=\"false\"\n * - If aria.label or aria.labelledby is provided:\n * - role=\"img\" is added (unless explicitly set)\n * - Explicit overrides for role, aria-hidden and tabIndex are respected.\n *\n * @module\n * @category Elements\n */\n\nimport { applyGlobalAttrs, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input.\n */\nexport type StructuredAria = {\n label?: string;\n labelledby?: string;\n hidden?: boolean;\n};\n\nexport const SVG_TAG = 'svg';\nexport const SVG_SELECTOR = 'svg';\n\nexport type SvgAttrs = Omit<GlobalAttrs, 'aria'> & {\n viewBox?: string;\n width?: number | string;\n height?: number | string;\n aria?: StructuredAria;\n};\n\nfunction toGlobalAttrs(attrs?: SvgAttrs): GlobalAttrs {\n const { aria, viewBox, width, height, role, tabIndex, attrs: rawAttrs, ...rest } = attrs ?? {};\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Preserve explicit role\n if (role) {\n mapped.role = role;\n }\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n const hasLabel = typeof aria?.label === 'string';\n const hasLabelledby = typeof aria?.labelledby === 'string';\n const explicitAriaHidden = typeof aria?.hidden === 'boolean';\n\n if (hasLabel) mappedAria.label = aria.label!;\n if (hasLabelledby) mappedAria.labelledby = aria.labelledby!;\n if (explicitAriaHidden) mappedAria.hidden = aria.hidden!;\n\n const isDecorative = !hasLabel && !hasLabelledby;\n\n if (isDecorative && !explicitAriaHidden) {\n mappedAria.hidden = true;\n }\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n // Only auto-assign role if user did not provide one\n if (!isDecorative && !role) {\n mapped.role = 'img';\n }\n\n if (typeof tabIndex === 'number') {\n mapped.tabIndex = tabIndex;\n } else if (isDecorative) {\n mapped.tabIndex = -1;\n }\n\n // Merge user attrs with internal attrs\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = {\n ...(rawAttrs ?? {}),\n };\n\n if (isDecorative) {\n mergedAttrs.focusable = 'false';\n }\n\n if (viewBox) mergedAttrs.viewBox = viewBox;\n if (width !== undefined) mergedAttrs.width = width;\n if (height !== undefined) mergedAttrs.height = height;\n\n if (Object.keys(mergedAttrs).length > 0) {\n mapped.attrs = mergedAttrs;\n }\n\n return mapped;\n}\n\n/**\n * Create an SVG element with accessibility defaults.\n */\nexport function createSvg(text?: string, attrs?: SvgAttrs): SVGSVGElement {\n const el = document.createElement('svg') as unknown as SVGSVGElement;\n\n applyGlobalAttrs(el as unknown as HTMLElement, toGlobalAttrs(attrs));\n\n if (typeof text === 'string') {\n el.textContent = text;\n }\n\n return el;\n}\n\n/**\n * No-op enhancement hook.\n */\nexport function enhanceSvgs(root: ParentNode = document): void {\n void root;\n}\n"],"names":["SVG_TAG","SVG_SELECTOR","toGlobalAttrs","attrs","aria","viewBox","width","height","role","tabIndex","rawAttrs","rest","mapped","mappedAria","hasLabel","hasLabelledby","explicitAriaHidden","isDecorative","mergedAttrs","createSvg","text","el","applyGlobalAttrs","enhanceSvgs","root"],"mappings":";AA8BO,MAAMA,IAAU,OACVC,IAAe;AAS5B,SAASC,EAAcC,GAA+B;AACpD,QAAM,EAAE,MAAAC,GAAM,SAAAC,GAAS,OAAAC,GAAO,QAAAC,GAAQ,MAAAC,GAAM,UAAAC,GAAU,OAAOC,GAAU,GAAGC,EAAA,IAASR,KAAS,CAAA,GAEtFS,IAAsB,EAAE,GAAGD,EAAA;AAGjC,EAAIH,MACFI,EAAO,OAAOJ;AAGhB,QAAMK,IAA+C,CAAA,GAE/CC,IAAW,QAAOV,KAAA,gBAAAA,EAAM,UAAU,UAClCW,IAAgB,QAAOX,KAAA,gBAAAA,EAAM,eAAe,UAC5CY,IAAqB,QAAOZ,KAAA,gBAAAA,EAAM,WAAW;AAEnD,EAAIU,MAAUD,EAAW,QAAQT,EAAK,QAClCW,MAAeF,EAAW,aAAaT,EAAK,aAC5CY,MAAoBH,EAAW,SAAST,EAAK;AAEjD,QAAMa,IAAe,CAACH,KAAY,CAACC;AAEnC,EAAIE,KAAgB,CAACD,MACnBH,EAAW,SAAS,KAGlB,OAAO,KAAKA,CAAU,EAAE,SAAS,MACnCD,EAAO,OAAOC,IAIZ,CAACI,KAAgB,CAACT,MACpBI,EAAO,OAAO,QAGZ,OAAOH,KAAa,WACtBG,EAAO,WAAWH,IACTQ,MACTL,EAAO,WAAW;AAIpB,QAAMM,IAAiD;AAAA,IACrD,GAAIR,KAAY,CAAA;AAAA,EAAC;AAGnB,SAAIO,MACFC,EAAY,YAAY,UAGtBb,QAAqB,UAAUA,IAC/BC,MAAU,WAAWY,EAAY,QAAQZ,IACzCC,MAAW,WAAWW,EAAY,SAASX,IAE3C,OAAO,KAAKW,CAAW,EAAE,SAAS,MACpCN,EAAO,QAAQM,IAGVN;AACT;AAKO,SAASO,EAAUC,GAAejB,GAAiC;AACxE,QAAMkB,IAAK,SAAS,cAAc,KAAK;AAEvC,SAAAC,EAAiBD,GAA8BnB,EAAcC,CAAK,CAAC,GAE/D,OAAOiB,KAAS,aAClBC,EAAG,cAAcD,IAGZC;AACT;AAKO,SAASE,EAAYC,IAAmB,UAAgB;AAE/D;;;;;;;;"}
@@ -0,0 +1,29 @@
1
+ import { b as c } from "./dom.js";
2
+ const i = "math", b = "math";
3
+ function f(l) {
4
+ const { aria: e, display: t, attrs: d, tabIndex: s, ...r } = l ?? {}, o = { ...r }, n = {};
5
+ typeof (e == null ? void 0 : e.label) == "string" && (n.label = e.label), typeof (e == null ? void 0 : e.labelledby) == "string" && (n.labelledby = e.labelledby), typeof (e == null ? void 0 : e.hidden) == "boolean" ? n.hidden = e.hidden : n.hidden = !0, Object.keys(n).length > 0 && (o.aria = n), typeof s == "number" ? o.tabIndex = s : o.tabIndex = -1;
6
+ const a = { ...d ?? {} };
7
+ return t && (a.display = t), Object.keys(a).length > 0 && (o.attrs = a), o;
8
+ }
9
+ function p(l, e) {
10
+ const t = document.createElement(i);
11
+ return c(t, f(e)), typeof l == "string" && (t.textContent = l), t;
12
+ }
13
+ function y(l = document) {
14
+ }
15
+ const h = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
16
+ __proto__: null,
17
+ MATH_SELECTOR: b,
18
+ MATH_TAG: i,
19
+ createMath: p,
20
+ enhanceMath: y
21
+ }, Symbol.toStringTag, { value: "Module" }));
22
+ export {
23
+ b as M,
24
+ i as a,
25
+ p as c,
26
+ y as e,
27
+ h as i
28
+ };
29
+ //# sourceMappingURL=index21.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index21.js","sources":["../../../src/elements/media/math/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Math element helpers.\n *\n * @remarks\n * The MathML math element (`<math>`) represents mathematical notation.\n *\n * Best-practice guidance:\n * - Prefer real MathML over images for math content when possible.\n * - Use `display=\"block\"` for standalone equations; inline math remains the default.\n * - Do not rely on raw attribute injection for behavior; keep markup semantic.\n *\n * Accessibility defaults for Fundatio v1.0.0:\n * - `<math>` is treated as decorative by default:\n * - `aria-hidden=\"true\"`\n * - `tabIndex = -1`\n * - If consumers provide explicit overrides (e.g. `aria.hidden`, `tabIndex`), Fundatio\n * respects them.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create MathML roots in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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 { applyGlobalAttrs, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio 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 MathML roots.\n *\n * @category Constants\n */\nexport const MATH_TAG = 'math' as const;\n\n/**\n * A CSS selector targeting math elements.\n *\n * @category Constants\n */\nexport const MATH_SELECTOR = 'math';\n\n/**\n * Attribute bag for math creation/enhancement.\n *\n * @remarks\n * MathML `<math>` supports the `display` attribute:\n * - `inline` (default)\n * - `block`\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type MathAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * MathML display mode.\n *\n * @remarks\n * `block` renders as a block-level equation, `inline` renders inline.\n */\n display?: 'block' | 'inline';\n};\n\n/**\n * Normalize {@link MathAttrs} into {@link GlobalAttrs} for `dom.ts`,\n * applying Fundatio's MathML accessibility defaults.\n *\n * @param attrs - The math attributes.\n * @returns A {@link GlobalAttrs} object (always returned to support defaults).\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: MathAttrs): GlobalAttrs {\n const { aria, display, attrs: rawAttrs, tabIndex, ...rest } = attrs ?? {};\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Decorative by default, unless explicitly overridden.\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\n const explicitAriaHidden = typeof aria?.hidden === 'boolean';\n if (explicitAriaHidden) {\n mappedAria.hidden = aria.hidden!;\n } else {\n mappedAria.hidden = true;\n }\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n if (typeof tabIndex === 'number') {\n mapped.tabIndex = tabIndex;\n } else {\n mapped.tabIndex = -1;\n }\n\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rawAttrs ?? {}) };\n\n if (display) mergedAttrs.display = display;\n\n if (Object.keys(mergedAttrs).length > 0) {\n mapped.attrs = mergedAttrs;\n }\n\n return mapped;\n}\n\n/**\n * Create a MathML `<math>` 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 Fundatio'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: `<math>` is not part of {@link HTMLElementTagNameMap}, so Fundatio creates it\n * via `document.createElement(\"math\")` and narrows the type to {@link MathMLElement}.\n *\n * @param text - Optional text content for the math element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<math>` element.\n *\n * @category DOM\n */\nexport function createMath(text?: string, attrs?: MathAttrs): MathMLElement {\n const el = document.createElement(MATH_TAG) as unknown as MathMLElement;\n\n applyGlobalAttrs(el as unknown as HTMLElement, toGlobalAttrs(attrs));\n\n if (typeof text === 'string') (el as unknown as Node).textContent = text;\n\n return el;\n}\n\n/**\n * Enhance math elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceMath(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for math.\n void root;\n}\n"],"names":["MATH_TAG","MATH_SELECTOR","toGlobalAttrs","attrs","aria","display","rawAttrs","tabIndex","rest","mapped","mappedAria","mergedAttrs","createMath","text","el","applyGlobalAttrs","enhanceMath","root"],"mappings":";AAiEO,MAAMA,IAAW,QAOXC,IAAgB;AAuC7B,SAASC,EAAcC,GAAgC;AACrD,QAAM,EAAE,MAAAC,GAAM,SAAAC,GAAS,OAAOC,GAAU,UAAAC,GAAU,GAAGC,MAASL,KAAS,CAAA,GAEjEM,IAAsB,EAAE,GAAGD,EAAA,GAG3BE,IAA+C,CAAA;AAErD,EAAI,QAAON,KAAA,gBAAAA,EAAM,UAAU,aAAUM,EAAW,QAAQN,EAAK,QACzD,QAAOA,KAAA,gBAAAA,EAAM,eAAe,aAAUM,EAAW,aAAaN,EAAK,aAE5C,QAAOA,KAAA,gBAAAA,EAAM,WAAW,YAEjDM,EAAW,SAASN,EAAK,SAEzBM,EAAW,SAAS,IAGlB,OAAO,KAAKA,CAAU,EAAE,SAAS,MACnCD,EAAO,OAAOC,IAGZ,OAAOH,KAAa,WACtBE,EAAO,WAAWF,IAElBE,EAAO,WAAW;AAGpB,QAAME,IAAiD,EAAE,GAAIL,KAAY,GAAC;AAE1E,SAAID,QAAqB,UAAUA,IAE/B,OAAO,KAAKM,CAAW,EAAE,SAAS,MACpCF,EAAO,QAAQE,IAGVF;AACT;AAoBO,SAASG,EAAWC,GAAeV,GAAkC;AAC1E,QAAMW,IAAK,SAAS,cAAcd,CAAQ;AAE1C,SAAAe,EAAiBD,GAA8BZ,EAAcC,CAAK,CAAC,GAE/D,OAAOU,KAAS,aAAWC,EAAuB,cAAcD,IAE7DC;AACT;AAoBO,SAASE,EAAYC,IAAmB,UAAgB;AAG/D;;;;;;;;"}
@@ -0,0 +1,27 @@
1
+ import { c as i } from "./dom.js";
2
+ const r = "canvas", f = "canvas";
3
+ function c(n) {
4
+ if (!n) return;
5
+ const { aria: e, width: a, height: l, ...s } = n, t = { ...s }, o = {};
6
+ return typeof (e == null ? void 0 : e.label) == "string" && (o.label = e.label), typeof (e == null ? void 0 : e.labelledby) == "string" && (o.labelledby = e.labelledby), typeof (e == null ? void 0 : e.hidden) == "boolean" && (o.hidden = e.hidden), Object.keys(o).length > 0 && (t.aria = o), (typeof a == "number" || typeof l == "number") && (t.attrs = { ...t.attrs ?? {} }, typeof a == "number" && (t.attrs.width = a), typeof l == "number" && (t.attrs.height = l)), t;
7
+ }
8
+ function b(n, e) {
9
+ return i(r, c(e), n);
10
+ }
11
+ function d(n = document) {
12
+ }
13
+ const u = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
14
+ __proto__: null,
15
+ CANVAS_SELECTOR: f,
16
+ CANVAS_TAG: r,
17
+ createCanvas: b,
18
+ enhanceCanvases: d
19
+ }, Symbol.toStringTag, { value: "Module" }));
20
+ export {
21
+ f as C,
22
+ r as a,
23
+ b as c,
24
+ d as e,
25
+ u as i
26
+ };
27
+ //# sourceMappingURL=index22.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index22.js","sources":["../../../src/elements/media/canvas/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Canvas element helpers.\n *\n * @remarks\n * The canvas element (`<canvas>`) provides a scriptable drawing surface.\n *\n * Best-practice guidance:\n * - Prefer setting `width` and `height` attributes (not only CSS sizing) to avoid\n * rendering distortion from bitmap scaling.\n * - Provide meaningful fallback content where appropriate (e.g. a short text\n * alternative) as the canvas element can represent its fallback content in\n * non-visual/unsupported contexts.\n * - If the canvas conveys information, ensure it is labeled accessibly (e.g.\n * via `aria-label` / `aria-labelledby`) and that equivalent information is\n * available outside the canvas where needed.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create canvas elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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 Fundatio 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 canvas.\n *\n * @category Constants\n */\nexport const CANVAS_TAG = 'canvas' as const;\n\n/**\n * A CSS selector targeting canvas elements.\n *\n * @category Constants\n */\nexport const CANVAS_SELECTOR = 'canvas';\n\n/**\n * Attribute bag for canvas creation/enhancement.\n *\n * @remarks\n * Canvas supports:\n * - standard HTML global attributes\n * - `width` and `height` attributes for bitmap sizing\n * - structured ARIA input mapped into `aria-*`\n *\n * @category Attributes\n */\nexport type CanvasAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Bitmap width (in CSS pixels) for the canvas drawing surface.\n *\n * @remarks\n * Prefer this over CSS-only sizing to avoid scaling distortion.\n */\n width?: number;\n\n /**\n * Bitmap height (in CSS pixels) for the canvas drawing surface.\n *\n * @remarks\n * Prefer this over CSS-only sizing to avoid scaling distortion.\n */\n height?: number;\n};\n\n/**\n * Normalize {@link CanvasAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The canvas attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: CanvasAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, width, height, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\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 // Canvas-specific attributes are routed via the safe attrs escape hatch.\n if (typeof width === 'number' || typeof height === 'number') {\n mapped.attrs = { ...(mapped.attrs ?? {}) };\n\n if (typeof width === 'number') mapped.attrs.width = width;\n if (typeof height === 'number') mapped.attrs.height = height;\n }\n\n return mapped;\n}\n\n/**\n * Create a canvas element with optional fallback text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - `width` and `height` (if provided) are applied as attributes via the safe\n * attribute path in `dom.ts`.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional fallback text content for the canvas.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<canvas>` element.\n *\n * @example\n * Create a 300x150 canvas with a label:\n * ```ts\n * import { createCanvas } from \"@Vastare/Fundatio/elements/media/canvas\";\n *\n * const el = createCanvas(undefined, {\n * width: 300,\n * height: 150,\n * aria: { label: \"Sparkline chart\" },\n * });\n * ```\n *\n * @category DOM\n */\nexport function createCanvas(text?: string, attrs?: CanvasAttrs): ElementOf<typeof CANVAS_TAG> {\n return createElement(CANVAS_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance canvas elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceCanvases(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for canvas.\n void root;\n}\n"],"names":["CANVAS_TAG","CANVAS_SELECTOR","toGlobalAttrs","attrs","aria","width","height","rest","mapped","mappedAria","createCanvas","text","createElement","enhanceCanvases","root"],"mappings":";AA+DO,MAAMA,IAAa,UAObC,IAAkB;AA4C/B,SAASC,EAAcC,GAA8C;AACnE,MAAI,CAACA,EAAO;AAEZ,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,QAAAC,GAAQ,GAAGC,MAASJ,GAEnCK,IAAsB,EAAE,GAAGD,EAAA,GAE3BE,IAA+C,CAAA;AACrD,SAAI,QAAOL,KAAA,gBAAAA,EAAM,UAAU,aAAUK,EAAW,QAAQL,EAAK,QACzD,QAAOA,KAAA,gBAAAA,EAAM,eAAe,aAAUK,EAAW,aAAaL,EAAK,aACnE,QAAOA,KAAA,gBAAAA,EAAM,WAAW,cAAWK,EAAW,SAASL,EAAK,SAE5D,OAAO,KAAKK,CAAU,EAAE,SAAS,QAAU,OAAOA,KAGlD,OAAOJ,KAAU,YAAY,OAAOC,KAAW,cACjDE,EAAO,QAAQ,EAAE,GAAIA,EAAO,SAAS,CAAA,EAAC,GAElC,OAAOH,KAAU,aAAUG,EAAO,MAAM,QAAQH,IAChD,OAAOC,KAAW,aAAUE,EAAO,MAAM,SAASF,KAGjDE;AACT;AA+BO,SAASE,EAAaC,GAAeR,GAAmD;AAC7F,SAAOS,EAAcZ,GAAYE,EAAcC,CAAK,GAAGQ,CAAI;AAC7D;AAoBO,SAASE,EAAgBC,IAAmB,UAAgB;AAGnE;;;;;;;;"}
@@ -0,0 +1,49 @@
1
+ import { c as x } from "./dom.js";
2
+ const c = "iframe", E = "iframe";
3
+ function F(r) {
4
+ if (!r) return;
5
+ const {
6
+ aria: t,
7
+ src: d,
8
+ srcdoc: f,
9
+ name: b,
10
+ sandbox: p,
11
+ allow: h,
12
+ allowFullScreen: u,
13
+ loading: y,
14
+ referrerPolicy: m,
15
+ width: g,
16
+ height: A,
17
+ fetchPriority: w,
18
+ csp: O,
19
+ credentialless: I,
20
+ ...l
21
+ } = r, n = { ...l.attrs ?? {} }, e = (i, s) => {
22
+ s !== void 0 && (Object.prototype.hasOwnProperty.call(n, i) || (n[i] = s));
23
+ };
24
+ e("src", d), e("srcdoc", f), e("name", b), e("sandbox", p), e("allow", h), e("loading", y), e("referrerpolicy", m), e("width", g), e("height", A), e("fetchpriority", w), e("csp", O), u === !0 && e("allowfullscreen", ""), I === !0 && e("credentialless", "");
25
+ const o = {};
26
+ t && (typeof t.label == "string" && (o.label = t.label), typeof t.labelledby == "string" && (o.labelledby = t.labelledby), typeof t.hidden == "boolean" && (o.hidden = t.hidden));
27
+ const _ = Object.keys(o).length > 0, j = Object.keys(n).length > 0, a = { ...l };
28
+ return j && (a.attrs = n), _ && (a.aria = o), a;
29
+ }
30
+ function M(r, t) {
31
+ return x(c, F(t), r);
32
+ }
33
+ function P(r = document) {
34
+ }
35
+ const R = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
36
+ __proto__: null,
37
+ IFRAME_SELECTOR: E,
38
+ IFRAME_TAG: c,
39
+ createIFrame: M,
40
+ enhanceIFrames: P
41
+ }, Symbol.toStringTag, { value: "Module" }));
42
+ export {
43
+ E as I,
44
+ c as a,
45
+ M as c,
46
+ P as e,
47
+ R as i
48
+ };
49
+ //# sourceMappingURL=index23.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index23.js","sources":["../../../src/elements/media/iframe/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: IFrame element helpers.\n *\n * @remarks\n * The iframe element (`<iframe>`) embeds another HTML page into the current page.\n *\n * Best-practice guidance:\n * - Prefer `<iframe>` only when you truly need third-party or isolated documents.\n * - Consider `loading=\"lazy\"` for non-critical iframes to reduce initial load cost.\n * - Use `sandbox` with the least permissions possible when embedding untrusted content.\n * - Prefer restrictive `referrerpolicy` when embedding third-party content.\n * - Provide a meaningful `title` for accessibility (screen readers use it to identify the frame).\n * - Avoid obsolete attributes like `frameborder`; use CSS instead.\n *\n * Security notes:\n * - `srcdoc` embeds HTML directly. Fundatio does not sanitize or validate it.\n * If you build `srcdoc` from untrusted input, that is on you (and your incident report).\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create iframes in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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, type AttrValue } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio 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 iframe embeds.\n *\n * @category Constants\n */\nexport const IFRAME_TAG = 'iframe' as const;\n\n/**\n * A CSS selector targeting iframe elements.\n *\n * @category Constants\n */\nexport const IFRAME_SELECTOR = 'iframe';\n\n/**\n * Allowed values for the iframe `loading` attribute.\n *\n * @category Types\n */\nexport type IFrameLoading = 'eager' | 'lazy';\n\n/**\n * Allowed values for the iframe `referrerpolicy` attribute.\n *\n * @category Types\n */\nexport type IFrameReferrerPolicy =\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url';\n\n/**\n * Allowed values for the `fetchpriority` attribute.\n *\n * @category Types\n */\nexport type FetchPriority = 'high' | 'low' | 'auto';\n\n/**\n * Attribute bag for iframe creation/enhancement.\n *\n * @remarks\n * Iframes accept standard HTML global attributes plus iframe-specific attributes.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type IFrameAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Address of the document to embed.\n */\n src?: string;\n\n /**\n * Inline HTML to render within the iframe.\n *\n * @remarks\n * Fundatio does not sanitize `srcdoc`.\n */\n srcdoc?: string;\n\n /**\n * A name for the browsing context.\n */\n name?: string;\n\n /**\n * A space-separated list of sandbox tokens.\n *\n * @remarks\n * Use the least permissive sandbox you can.\n */\n sandbox?: string;\n\n /**\n * Permissions policy for the iframe (previously \"feature policy\").\n *\n * @remarks\n * Example: `allow=\"fullscreen; geolocation 'none'\"`.\n */\n allow?: string;\n\n /**\n * Whether fullscreen is allowed.\n *\n * @remarks\n * Mirrors the `allowfullscreen` boolean attribute.\n */\n allowFullScreen?: boolean;\n\n /**\n * Whether the iframe should be loaded lazily or eagerly.\n */\n loading?: IFrameLoading;\n\n /**\n * Referrer policy for requests made by the iframe.\n */\n referrerPolicy?: IFrameReferrerPolicy;\n\n /**\n * Display width, in CSS pixels.\n */\n width?: number | string;\n\n /**\n * Display height, in CSS pixels.\n */\n height?: number | string;\n\n /**\n * Fetch priority hint.\n */\n fetchPriority?: FetchPriority;\n\n /**\n * Content Security Policy to apply to the embedded document.\n *\n * @remarks\n * Support varies by browser and context.\n */\n csp?: string;\n\n /**\n * Whether to use a credentialless iframe (privacy-oriented isolation).\n *\n * @remarks\n * Mirrors the `credentialless` boolean attribute where supported.\n */\n credentialless?: boolean;\n};\n\n/**\n * Normalize {@link IFrameAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The iframe attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: IFrameAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n src,\n srcdoc,\n name,\n sandbox,\n allow,\n allowFullScreen,\n loading,\n referrerPolicy,\n width,\n height,\n fetchPriority,\n csp,\n credentialless,\n ...rest\n } = attrs;\n\n // Start with any caller-provided attrs escape hatch (it is still validated by dom.ts).\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n // Helper: only set if caller didn't already set the raw attribute explicitly.\n const setIfUnset = (key: string, value: AttrValue | undefined): void => {\n if (value === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = value;\n };\n\n setIfUnset('src', src);\n setIfUnset('srcdoc', srcdoc);\n setIfUnset('name', name);\n setIfUnset('sandbox', sandbox);\n setIfUnset('allow', allow);\n setIfUnset('loading', loading);\n setIfUnset('referrerpolicy', referrerPolicy);\n setIfUnset('width', width);\n setIfUnset('height', height);\n setIfUnset('fetchpriority', fetchPriority);\n setIfUnset('csp', csp);\n\n // Boolean attributes are represented by presence. We set empty-string when true.\n if (allowFullScreen === true) setIfUnset('allowfullscreen', '');\n if (credentialless === true) setIfUnset('credentialless', '');\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n\n const next: GlobalAttrs = { ...rest };\n if (hasMergedAttrs) next.attrs = mergedAttrs;\n if (hasMappedAria) next.aria = mappedAria;\n\n return next;\n}\n\n/**\n * Create an iframe element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional fallback text content for the iframe (rarely used, but valid).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<iframe>` element.\n *\n * @example\n * ```ts\n * import { createIFrame } from \"@Vastare/Fundatio/elements/media/iframe\";\n *\n * document.body.appendChild(\n * createIFrame(undefined, {\n * title: \"Embedded map\",\n * src: \"https://example.com/map\",\n * loading: \"lazy\",\n * sandbox: \"allow-scripts allow-same-origin\"\n * })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createIFrame(text?: string, attrs?: IFrameAttrs): ElementOf<typeof IFRAME_TAG> {\n return createElement(IFRAME_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance iframe elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceIFrames(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for iframe.\n void root;\n}\n"],"names":["IFRAME_TAG","IFRAME_SELECTOR","toGlobalAttrs","attrs","aria","src","srcdoc","name","sandbox","allow","allowFullScreen","loading","referrerPolicy","width","height","fetchPriority","csp","credentialless","rest","mergedAttrs","setIfUnset","key","value","mappedAria","hasMappedAria","hasMergedAttrs","next","createIFrame","text","createElement","enhanceIFrames","root"],"mappings":";AAiEO,MAAMA,IAAa,UAObC,IAAkB;AA4I/B,SAASC,EAAcC,GAA8C;AACnE,MAAI,CAACA,EAAO;AAEZ,QAAM;AAAA,IACJ,MAAAC;AAAA,IACA,KAAAC;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,eAAAC;AAAA,IACA,KAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDf,GAGEgB,IAAyC,EAAE,GAAID,EAAK,SAAS,CAAA,EAAC,GAG9DE,IAAa,CAACC,GAAaC,MAAuC;AACtE,IAAIA,MAAU,WACV,OAAO,UAAU,eAAe,KAAKH,GAAaE,CAAG,MACzDF,EAAYE,CAAG,IAAIC;AAAA,EACrB;AAEA,EAAAF,EAAW,OAAOf,CAAG,GACrBe,EAAW,UAAUd,CAAM,GAC3Bc,EAAW,QAAQb,CAAI,GACvBa,EAAW,WAAWZ,CAAO,GAC7BY,EAAW,SAASX,CAAK,GACzBW,EAAW,WAAWT,CAAO,GAC7BS,EAAW,kBAAkBR,CAAc,GAC3CQ,EAAW,SAASP,CAAK,GACzBO,EAAW,UAAUN,CAAM,GAC3BM,EAAW,iBAAiBL,CAAa,GACzCK,EAAW,OAAOJ,CAAG,GAGjBN,MAAoB,MAAMU,EAAW,mBAAmB,EAAE,GAC1DH,MAAmB,MAAMG,EAAW,kBAAkB,EAAE;AAE5D,QAAMG,IAA+C,CAAA;AACrD,EAAInB,MACE,OAAOA,EAAK,SAAU,aAAUmB,EAAW,QAAQnB,EAAK,QACxD,OAAOA,EAAK,cAAe,aAAUmB,EAAW,aAAanB,EAAK,aAClE,OAAOA,EAAK,UAAW,cAAWmB,EAAW,SAASnB,EAAK;AAGjE,QAAMoB,IAAgB,OAAO,KAAKD,CAAU,EAAE,SAAS,GACjDE,IAAiB,OAAO,KAAKN,CAAW,EAAE,SAAS,GAEnDO,IAAoB,EAAE,GAAGR,EAAA;AAC/B,SAAIO,QAAqB,QAAQN,IAC7BK,QAAoB,OAAOD,IAExBG;AACT;AA+BO,SAASC,EAAaC,GAAezB,GAAmD;AAC7F,SAAO0B,EAAc7B,GAAYE,EAAcC,CAAK,GAAGyB,CAAI;AAC7D;AAoBO,SAASE,EAAeC,IAAmB,UAAgB;AAGlE;;;;;;;;"}
@@ -0,0 +1,53 @@
1
+ import { a as h } from "./dom.js";
2
+ const f = "embed", p = "embed";
3
+ function d(e, t) {
4
+ if (e == null) return;
5
+ if (typeof e == "number") {
6
+ if (!Number.isFinite(e) || e < 0)
7
+ throw new Error(`Invalid ${t}: must be a finite, non-negative number.`);
8
+ return String(Math.floor(e));
9
+ }
10
+ const r = String(e).trim();
11
+ if (r.length !== 0) {
12
+ if (r.includes("%"))
13
+ throw new Error(`Invalid ${t}: percentages are not allowed for <embed> ${t}.`);
14
+ if (!/^\d+$/.test(r))
15
+ throw new Error(`Invalid ${t}: must be a non-negative integer (CSS pixels).`);
16
+ return r;
17
+ }
18
+ }
19
+ function m(e) {
20
+ if (!e) return;
21
+ const { aria: t, src: r, type: i, width: c, height: b, attrs: u, ...g } = e, o = t ? (() => {
22
+ const n = {};
23
+ return typeof t.label == "string" && (n.label = t.label), typeof t.labelledby == "string" && (n.labelledby = t.labelledby), typeof t.hidden == "boolean" && (n.hidden = t.hidden), Object.keys(n).length > 0 ? n : void 0;
24
+ })() : void 0, l = d(c, "width"), a = d(b, "height"), s = (() => {
25
+ const n = { ...u ?? {} };
26
+ return typeof r == "string" && r.length > 0 && (n.src = r), typeof i == "string" && i.length > 0 && (n.type = i), typeof l == "string" && (n.width = l), typeof a == "string" && (n.height = a), Object.keys(n).length > 0 ? n : void 0;
27
+ })();
28
+ return {
29
+ ...g,
30
+ ...o ? { aria: o } : null,
31
+ ...s ? { attrs: s } : null
32
+ };
33
+ }
34
+ function y(e) {
35
+ return h(f, m(e));
36
+ }
37
+ function E(e = document) {
38
+ }
39
+ const S = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
40
+ __proto__: null,
41
+ EMBED_SELECTOR: p,
42
+ EMBED_TAG: f,
43
+ createEmbed: y,
44
+ enhanceEmbeds: E
45
+ }, Symbol.toStringTag, { value: "Module" }));
46
+ export {
47
+ p as E,
48
+ f as a,
49
+ y as c,
50
+ E as e,
51
+ S as i
52
+ };
53
+ //# sourceMappingURL=index24.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index24.js","sources":["../../../src/elements/media/embed/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Embed element helpers.\n *\n * @remarks\n * The embed element (`<embed>`) embeds external content at a point in the\n * document. Historically this was often browser plug-ins; modern browsers have\n * largely removed plug-in support, so relying on `<embed>` is frequently a poor\n * choice for general-purpose sites. Prefer purpose-built elements when possible\n * (e.g. `<img>`, `<video>`, `<audio>`, `<iframe>`, or `<object>` depending on the use case).\n *\n * Best-practice guidance:\n * - Prefer native elements over `<embed>` when there is a semantic alternative.\n * - Use the `title` attribute to label embedded content for assistive technology.\n * - `width`/`height` should be absolute pixel values (no percentages).\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create embed nodes in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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 {\n createVoidElement,\n type AttrValue,\n type ElementOf,\n type GlobalAttrs,\n} from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for embed.\n *\n * @category Constants\n */\nexport const EMBED_TAG = 'embed' as const;\n\n/**\n * A CSS selector targeting embed elements.\n *\n * @category Constants\n */\nexport const EMBED_SELECTOR = 'embed';\n\n/**\n * Attribute bag for embed creation/enhancement.\n *\n * @remarks\n * `<embed>` supports global attributes plus:\n * - `src` (URL)\n * - `type` (MIME type)\n * - `width` / `height` (absolute pixel values; percentages are invalid)\n *\n * Accessibility:\n * - Provide a `title` (global attribute) to label the embedded content.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, mapped into\n * `aria-*` attributes.\n *\n * @category Attributes\n */\nexport type EmbedAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * URL of the resource being embedded.\n */\n src?: string;\n\n /**\n * MIME type used to select the appropriate handler.\n */\n type?: string;\n\n /**\n * Displayed width in CSS pixels (absolute; percentages are not allowed).\n */\n width?: number | string;\n\n /**\n * Displayed height in CSS pixels (absolute; percentages are not allowed).\n */\n height?: number | string;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize an HTML dimension attribute value.\n *\n * @remarks\n * MDN notes `width`/`height` must be absolute values (percentages are invalid).\n * HTML attribute values for these are effectively numeric pixel counts.\n *\n * @param v - The provided dimension.\n * @param name - Attribute name for error messages.\n * @returns A stringified non-negative integer, or `undefined` if not provided.\n *\n * @category Internal\n */\nfunction normalizeDim(v: EmbedAttrs['width'], name: 'width' | 'height'): string | undefined {\n if (v === undefined || v === null) return undefined;\n\n if (typeof v === 'number') {\n if (!Number.isFinite(v) || v < 0) {\n throw new Error(`Invalid ${name}: must be a finite, non-negative number.`);\n }\n // HTML width/height attributes are integer-like; normalize safely.\n return String(Math.floor(v));\n }\n\n const s = String(v).trim();\n\n if (s.length === 0) return undefined;\n\n if (s.includes('%')) {\n throw new Error(`Invalid ${name}: percentages are not allowed for <embed> ${name}.`);\n }\n\n if (!/^\\d+$/.test(s)) {\n throw new Error(`Invalid ${name}: must be a non-negative integer (CSS pixels).`);\n }\n\n return s;\n}\n\n/**\n * Normalize {@link EmbedAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The embed attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: EmbedAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, src, type, width, height, attrs: extraAttrs, ...rest } = attrs;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> | undefined = aria\n ? (() => {\n const a: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') a.label = aria.label;\n if (typeof aria.labelledby === 'string') a.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') a.hidden = aria.hidden;\n return Object.keys(a).length > 0 ? a : undefined;\n })()\n : undefined;\n\n const w = normalizeDim(width, 'width');\n const h = normalizeDim(height, 'height');\n\n const mergedAttrs: Record<string, AttrValue> | undefined = (() => {\n const a: Record<string, AttrValue> = { ...(extraAttrs ?? {}) };\n\n if (typeof src === 'string' && src.length > 0) a.src = src;\n if (typeof type === 'string' && type.length > 0) a.type = type;\n\n if (typeof w === 'string') a.width = w;\n if (typeof h === 'string') a.height = h;\n\n return Object.keys(a).length > 0 ? a : undefined;\n })();\n\n const mapped: GlobalAttrs = {\n ...rest,\n ...(mappedAria ? { aria: mappedAria } : null),\n ...(mergedAttrs ? { attrs: mergedAttrs } : null),\n };\n\n return mapped;\n}\n\n/**\n * Create an embed element and apply attributes.\n *\n * @remarks\n * Global attributes are applied via Fundatio'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 `<embed>` element.\n *\n * @example\n * ```ts\n * import { createEmbed } from \"@Vastare/Fundatio/elements/media/embed\";\n *\n * document.body.appendChild(\n * createEmbed({ src: \"/files/manual.pdf\", type: \"application/pdf\", title: \"User manual\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createEmbed(attrs?: EmbedAttrs): ElementOf<typeof EMBED_TAG> {\n return createVoidElement(EMBED_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance embed elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceEmbeds(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for embed.\n void root;\n}\n"],"names":["EMBED_TAG","EMBED_SELECTOR","normalizeDim","v","name","s","toGlobalAttrs","attrs","aria","src","type","width","height","extraAttrs","rest","mappedAria","a","w","h","mergedAttrs","createEmbed","createVoidElement","enhanceEmbeds","root"],"mappings":";AAmEO,MAAMA,IAAY,SAOZC,IAAiB;AA2D9B,SAASC,EAAaC,GAAwBC,GAA8C;AAC1F,MAAuBD,KAAM,KAAM;AAEnC,MAAI,OAAOA,KAAM,UAAU;AACzB,QAAI,CAAC,OAAO,SAASA,CAAC,KAAKA,IAAI;AAC7B,YAAM,IAAI,MAAM,WAAWC,CAAI,0CAA0C;AAG3E,WAAO,OAAO,KAAK,MAAMD,CAAC,CAAC;AAAA,EAC7B;AAEA,QAAME,IAAI,OAAOF,CAAC,EAAE,KAAA;AAEpB,MAAIE,EAAE,WAAW,GAEjB;AAAA,QAAIA,EAAE,SAAS,GAAG;AAChB,YAAM,IAAI,MAAM,WAAWD,CAAI,6CAA6CA,CAAI,GAAG;AAGrF,QAAI,CAAC,QAAQ,KAAKC,CAAC;AACjB,YAAM,IAAI,MAAM,WAAWD,CAAI,gDAAgD;AAGjF,WAAOC;AAAA;AACT;AAUA,SAASC,EAAcC,GAA6C;AAClE,MAAI,CAACA,EAAO;AAEZ,QAAM,EAAE,MAAAC,GAAM,KAAAC,GAAK,MAAAC,GAAM,OAAAC,GAAO,QAAAC,GAAQ,OAAOC,GAAY,GAAGC,EAAA,IAASP,GAEjEQ,IAA2DP,KAC5D,MAAM;AACL,UAAMQ,IAAsC,CAAA;AAC5C,WAAI,OAAOR,EAAK,SAAU,aAAUQ,EAAE,QAAQR,EAAK,QAC/C,OAAOA,EAAK,cAAe,aAAUQ,EAAE,aAAaR,EAAK,aACzD,OAAOA,EAAK,UAAW,cAAWQ,EAAE,SAASR,EAAK,SAC/C,OAAO,KAAKQ,CAAC,EAAE,SAAS,IAAIA,IAAI;AAAA,EACzC,OACA,QAEEC,IAAIf,EAAaS,GAAO,OAAO,GAC/BO,IAAIhB,EAAaU,GAAQ,QAAQ,GAEjCO,KAAsD,MAAM;AAChE,UAAMH,IAA+B,EAAE,GAAIH,KAAc,GAAC;AAE1D,WAAI,OAAOJ,KAAQ,YAAYA,EAAI,SAAS,QAAK,MAAMA,IACnD,OAAOC,KAAS,YAAYA,EAAK,SAAS,QAAK,OAAOA,IAEtD,OAAOO,KAAM,aAAUD,EAAE,QAAQC,IACjC,OAAOC,KAAM,aAAUF,EAAE,SAASE,IAE/B,OAAO,KAAKF,CAAC,EAAE,SAAS,IAAIA,IAAI;AAAA,EACzC,GAAA;AAQA,SAN4B;AAAA,IAC1B,GAAGF;AAAA,IACH,GAAIC,IAAa,EAAE,MAAMA,MAAe;AAAA,IACxC,GAAII,IAAc,EAAE,OAAOA,MAAgB;AAAA,EAAA;AAI/C;AAwBO,SAASC,EAAYb,GAAiD;AAC3E,SAAOc,EAAkBrB,GAAWM,EAAcC,CAAK,CAAC;AAC1D;AAYO,SAASe,EAAcC,IAAmB,UAAgB;AAGjE;;;;;;;;"}
@@ -0,0 +1,46 @@
1
+ import { c as y } from "./dom.js";
2
+ const b = "object", u = "object";
3
+ function f(n, e) {
4
+ if (typeof e == "number") {
5
+ if (!Number.isFinite(e) || e < 0 || !Number.isInteger(e))
6
+ throw new Error(`Invalid ${n}: expected a non-negative integer.`);
7
+ return String(e);
8
+ }
9
+ if (!/^\d+$/.test(e))
10
+ throw new Error(`Invalid ${n}: expected a numeric string.`);
11
+ return e;
12
+ }
13
+ function m(n) {
14
+ if (!n)
15
+ return { attrs: { data: "about:blank" } };
16
+ const { aria: e, data: r, type: a, name: o, form: s, width: d, height: l, attrs: c, ...p } = n, i = {};
17
+ e && (typeof e.label == "string" && (i.label = e.label), typeof e.labelledby == "string" && (i.labelledby = e.labelledby), typeof e.describedby == "string" && (i.describedby = e.describedby), typeof e.hidden == "boolean" && (i.hidden = e.hidden));
18
+ const t = { ...c ?? {} };
19
+ typeof r == "string" && r.length > 0 && (t.data = r), typeof a == "string" && a.length > 0 && (t.type = a), t.data === void 0 && t.type === void 0 && (t.data = "about:blank"), typeof o == "string" && o.length > 0 && (t.name = o), typeof s == "string" && s.length > 0 && (t.form = s), d !== void 0 && (t.width = f("width", d)), l !== void 0 && (t.height = f("height", l));
20
+ const g = Object.keys(i).length > 0, h = Object.keys(t).length > 0;
21
+ return {
22
+ ...p,
23
+ ...g ? { aria: i } : null,
24
+ ...h ? { attrs: t } : null
25
+ };
26
+ }
27
+ function O(n, e) {
28
+ return y(b, m(e), n);
29
+ }
30
+ function j(n = document) {
31
+ }
32
+ const A = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
33
+ __proto__: null,
34
+ OBJECT_SELECTOR: u,
35
+ OBJECT_TAG: b,
36
+ createObject: O,
37
+ enhanceObjects: j
38
+ }, Symbol.toStringTag, { value: "Module" }));
39
+ export {
40
+ u as O,
41
+ b as a,
42
+ O as c,
43
+ j as e,
44
+ A as i
45
+ };
46
+ //# sourceMappingURL=index25.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index25.js","sources":["../../../src/elements/media/object/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Object element helpers.\n *\n * @remarks\n * The object element (`<object>`) embeds external resources (HTML, images, PDFs,\n * SVG, etc.) into the document.\n *\n * Best-practice guidance:\n * - Prefer purpose-built elements when available:\n * - `<img>` for images\n * - `<video>` / `<audio>` for media\n * - `<iframe>` for embedded documents/interactive content (with sandboxing)\n * - Always provide a meaningful fallback inside `<object>` for unsupported content.\n * - Avoid obsolete attributes (e.g. `codebase`, `classid`, `declare`, etc.).\n * - For layout, prefer CSS. If using `width`/`height` attributes, keep them numeric.\n *\n * Attribute guidance:\n * - At least one of `data` or `type` should be provided.\n * - If neither is provided, Fundatio falls back to `data=\"about:blank\"` to avoid an\n * \"empty\" embed configuration while staying inert.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create object elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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 AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio 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 * ID reference to the describing element(s), mapped to `aria-describedby`.\n */\n describedby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for object embeds.\n *\n * @category Constants\n */\nexport const OBJECT_TAG = 'object' as const;\n\n/**\n * A CSS selector targeting object elements.\n *\n * @category Constants\n */\nexport const OBJECT_SELECTOR = 'object';\n\n/**\n * Dimension values allowed for width/height attributes.\n *\n * @remarks\n * Per best practice, keep these numeric (pixels). Prefer CSS for layout.\n *\n * @category Types\n */\nexport type ObjectDimension = number | `${number}`;\n\n/**\n * Attribute bag for object creation/enhancement.\n *\n * @remarks\n * - `data` and `type` are the primary configuration attributes.\n * - Provide fallback content via `text` or by appending children after creation.\n * - Global attributes are supported, including a structured ARIA input.\n *\n * @category Attributes\n */\nexport type ObjectAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Address of the resource to embed (maps to `data`).\n */\n data?: string;\n\n /**\n * MIME type of the embedded resource (maps to `type`).\n *\n * @example\n * \"text/html\", \"image/svg+xml\", \"application/pdf\"\n */\n type?: string;\n\n /**\n * Name of the object (maps to `name`).\n */\n name?: string;\n\n /**\n * Associate the object with a form (maps to `form`).\n */\n form?: string;\n\n /**\n * Width in CSS pixels (maps to `width`).\n *\n * @remarks\n * Prefer CSS for layout.\n */\n width?: ObjectDimension;\n\n /**\n * Height in CSS pixels (maps to `height`).\n *\n * @remarks\n * Prefer CSS for layout.\n */\n height?: ObjectDimension;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Validate and normalize a width/height value.\n *\n * @param name - Attribute name for error messages.\n * @param v - The provided dimension.\n * @returns A normalized string suitable for attributes.\n *\n * @category Internal\n */\nfunction normalizeDimension(name: 'width' | 'height', v: ObjectDimension): string {\n if (typeof v === 'number') {\n if (!Number.isFinite(v) || v < 0 || !Number.isInteger(v)) {\n throw new Error(`Invalid ${name}: expected a non-negative integer.`);\n }\n return String(v);\n }\n\n // String numeric (template literal), but validate anyway.\n if (!/^\\d+$/.test(v)) {\n throw new Error(`Invalid ${name}: expected a numeric string.`);\n }\n\n return v;\n}\n\n/**\n * Normalize {@link ObjectAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The object attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ObjectAttrs): GlobalAttrs | undefined {\n if (!attrs) {\n // Best-practice: an object should have at least data or type.\n // We still allow `createObject()` with no args, but keep it inert.\n return { attrs: { data: 'about:blank' } };\n }\n\n const { aria, data, type, name, form, width, height, attrs: extraAttrs, ...rest } = attrs;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.describedby === 'string') mappedAria.describedby = aria.describedby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const mappedAttrs: Record<string, AttrValue> = { ...(extraAttrs ?? {}) };\n\n // Primary embed configuration.\n if (typeof data === 'string' && data.length > 0) mappedAttrs.data = data;\n if (typeof type === 'string' && type.length > 0) mappedAttrs.type = type;\n\n // Per guidance/spec: at least one of data/type should exist.\n // If neither is provided, keep it inert rather than \"empty\".\n if (mappedAttrs.data === undefined && mappedAttrs.type === undefined) {\n mappedAttrs.data = 'about:blank';\n }\n\n if (typeof name === 'string' && name.length > 0) mappedAttrs.name = name;\n if (typeof form === 'string' && form.length > 0) mappedAttrs.form = form;\n\n if (width !== undefined) mappedAttrs.width = normalizeDimension('width', width);\n if (height !== undefined) mappedAttrs.height = normalizeDimension('height', height);\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n const hasMappedAttrs = Object.keys(mappedAttrs).length > 0;\n\n return {\n ...rest,\n ...(hasMappedAria ? { aria: mappedAria } : null),\n ...(hasMappedAttrs ? { attrs: mappedAttrs } : null),\n };\n}\n\n/**\n * Create an object element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - For richer fallback, append children after creation.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional fallback text content for the object.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<object>` element.\n *\n * @example\n * ```ts\n * import { createObject } from \"@Vastare/Fundatio/elements/media/object\";\n *\n * const obj = createObject(\"Your browser can't display this content.\", {\n * data: \"/docs/guide.pdf\",\n * type: \"application/pdf\",\n * width: 640,\n * height: 480,\n * });\n *\n * document.body.appendChild(obj);\n * ```\n *\n * @category DOM\n */\nexport function createObject(text?: string, attrs?: ObjectAttrs): ElementOf<typeof OBJECT_TAG> {\n return createElement(OBJECT_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance object elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceObjects(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for object.\n void root;\n}\n"],"names":["OBJECT_TAG","OBJECT_SELECTOR","normalizeDimension","name","v","toGlobalAttrs","attrs","aria","data","type","form","width","height","extraAttrs","rest","mappedAria","mappedAttrs","hasMappedAria","hasMappedAttrs","createObject","text","createElement","enhanceObjects","root"],"mappings":";AAyEO,MAAMA,IAAa,UAObC,IAAkB;AA6E/B,SAASC,EAAmBC,GAA0BC,GAA4B;AAChF,MAAI,OAAOA,KAAM,UAAU;AACzB,QAAI,CAAC,OAAO,SAASA,CAAC,KAAKA,IAAI,KAAK,CAAC,OAAO,UAAUA,CAAC;AACrD,YAAM,IAAI,MAAM,WAAWD,CAAI,oCAAoC;AAErE,WAAO,OAAOC,CAAC;AAAA,EACjB;AAGA,MAAI,CAAC,QAAQ,KAAKA,CAAC;AACjB,UAAM,IAAI,MAAM,WAAWD,CAAI,8BAA8B;AAG/D,SAAOC;AACT;AAUA,SAASC,EAAcC,GAA8C;AACnE,MAAI,CAACA;AAGH,WAAO,EAAE,OAAO,EAAE,MAAM,gBAAc;AAGxC,QAAM,EAAE,MAAAC,GAAM,MAAAC,GAAM,MAAAC,GAAM,MAAAN,GAAM,MAAAO,GAAM,OAAAC,GAAO,QAAAC,GAAQ,OAAOC,GAAY,GAAGC,EAAA,IAASR,GAE9ES,IAA+C,CAAA;AACrD,EAAIR,MACE,OAAOA,EAAK,SAAU,aAAUQ,EAAW,QAAQR,EAAK,QACxD,OAAOA,EAAK,cAAe,aAAUQ,EAAW,aAAaR,EAAK,aAClE,OAAOA,EAAK,eAAgB,aAAUQ,EAAW,cAAcR,EAAK,cACpE,OAAOA,EAAK,UAAW,cAAWQ,EAAW,SAASR,EAAK;AAGjE,QAAMS,IAAyC,EAAE,GAAIH,KAAc,GAAC;AAGpE,EAAI,OAAOL,KAAS,YAAYA,EAAK,SAAS,QAAe,OAAOA,IAChE,OAAOC,KAAS,YAAYA,EAAK,SAAS,QAAe,OAAOA,IAIhEO,EAAY,SAAS,UAAaA,EAAY,SAAS,WACzDA,EAAY,OAAO,gBAGjB,OAAOb,KAAS,YAAYA,EAAK,SAAS,QAAe,OAAOA,IAChE,OAAOO,KAAS,YAAYA,EAAK,SAAS,QAAe,OAAOA,IAEhEC,MAAU,WAAWK,EAAY,QAAQd,EAAmB,SAASS,CAAK,IAC1EC,MAAW,WAAWI,EAAY,SAASd,EAAmB,UAAUU,CAAM;AAElF,QAAMK,IAAgB,OAAO,KAAKF,CAAU,EAAE,SAAS,GACjDG,IAAiB,OAAO,KAAKF,CAAW,EAAE,SAAS;AAEzD,SAAO;AAAA,IACL,GAAGF;AAAA,IACH,GAAIG,IAAgB,EAAE,MAAMF,MAAe;AAAA,IAC3C,GAAIG,IAAiB,EAAE,OAAOF,MAAgB;AAAA,EAAA;AAElD;AAgCO,SAASG,EAAaC,GAAed,GAAmD;AAC7F,SAAOe,EAAcrB,GAAYK,EAAcC,CAAK,GAAGc,CAAI;AAC7D;AAoBO,SAASE,EAAeC,IAAmB,UAAgB;AAGlE;;;;;;;;"}
@@ -0,0 +1,52 @@
1
+ import { c as d } from "./dom.js";
2
+ const s = "video", b = "video";
3
+ function u(l) {
4
+ if (!l) return;
5
+ const {
6
+ aria: e,
7
+ src: o,
8
+ controls: m,
9
+ autoplay: O,
10
+ loop: I,
11
+ muted: A,
12
+ playsInline: P,
13
+ preload: _,
14
+ poster: j,
15
+ width: E,
16
+ height: V,
17
+ crossOrigin: k,
18
+ controlsList: t,
19
+ disablePictureInPicture: f,
20
+ disableRemotePlayback: p,
21
+ referrerPolicy: c,
22
+ fetchPriority: y,
23
+ ...a
24
+ } = l, r = { ...a };
25
+ if (e) {
26
+ const n = {};
27
+ typeof e.label == "string" && (n.label = e.label), typeof e.labelledby == "string" && (n.labelledby = e.labelledby), typeof e.hidden == "boolean" && (n.hidden = e.hidden), Object.keys(n).length > 0 && (r.aria = n);
28
+ }
29
+ const i = {};
30
+ return typeof t == "string" && (i.controlslist = t), Array.isArray(t) && (i.controlslist = t.join(" ")), typeof c == "string" && (i.referrerpolicy = c), typeof y == "string" && (i.fetchpriority = y), typeof f == "boolean" && (i.disablepictureinpicture = f), typeof p == "boolean" && (i.disableremoteplayback = p), Object.keys(i).length > 0 && (r.attrs = i), r;
31
+ }
32
+ function g(l, e) {
33
+ const o = d(s, u(e), l);
34
+ return e && (typeof e.src == "string" && (o.src = e.src), typeof e.controls == "boolean" && (o.controls = e.controls), typeof e.autoplay == "boolean" && (o.autoplay = e.autoplay), typeof e.loop == "boolean" && (o.loop = e.loop), e.autoplay === !0 && typeof e.muted != "boolean" ? o.muted = !0 : typeof e.muted == "boolean" && (o.muted = e.muted), typeof e.playsInline == "boolean" && (o.playsInline = e.playsInline), typeof e.preload == "string" && (o.preload = e.preload), typeof e.poster == "string" && (o.poster = e.poster), typeof e.width == "number" && (o.width = e.width), typeof e.height == "number" && (o.height = e.height), typeof e.crossOrigin == "string" && (o.crossOrigin = e.crossOrigin)), o;
35
+ }
36
+ function h(l = document) {
37
+ }
38
+ const w = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
39
+ __proto__: null,
40
+ VIDEO_SELECTOR: b,
41
+ VIDEO_TAG: s,
42
+ createVideo: g,
43
+ enhanceVideos: h
44
+ }, Symbol.toStringTag, { value: "Module" }));
45
+ export {
46
+ b as V,
47
+ s as a,
48
+ g as c,
49
+ h as e,
50
+ w as i
51
+ };
52
+ //# sourceMappingURL=index26.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index26.js","sources":["../../../src/elements/media/video/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Video element helpers.\n *\n * @remarks\n * The video element (`<video>`) embeds media playback.\n *\n * Best-practice guidance:\n * - Provide user controls (`controls`) unless you have a very strong reason not to.\n * - Autoplay is often blocked when audio is present; if `autoplay` is enabled,\n * videos commonly need to be `muted` to actually autoplay in modern browsers.\n * - Prefer captions/subtitles via `<track>` for accessibility when relevant.\n * - Avoid obsolete attributes; use modern properties/attributes and CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create video elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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 GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio 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 * Token values for the `preload` attribute.\n *\n * @category Attributes\n */\nexport type VideoPreload = 'none' | 'metadata' | 'auto';\n\n/**\n * Token values for the `crossorigin` attribute.\n *\n * @category Attributes\n */\nexport type VideoCrossOrigin = 'anonymous' | 'use-credentials';\n\n/**\n * Token values for the `referrerpolicy` attribute.\n *\n * @category Attributes\n */\nexport type VideoReferrerPolicy =\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url';\n\n/**\n * Token values for the `fetchpriority` attribute (where supported).\n *\n * @category Attributes\n */\nexport type VideoFetchPriority = 'high' | 'low' | 'auto';\n\n/**\n * The semantic tag name for video.\n *\n * @category Constants\n */\nexport const VIDEO_TAG = 'video' as const;\n\n/**\n * A CSS selector targeting video elements.\n *\n * @category Constants\n */\nexport const VIDEO_SELECTOR = 'video';\n\n/**\n * Attribute bag for video creation/enhancement.\n *\n * @remarks\n * Video elements accept standard HTML global attributes, plus media-specific\n * attributes and properties.\n *\n * Fundatio supports a structured ARIA input for common ARIA fields, mapped into\n * {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type VideoAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Source URL for the video.\n */\n src?: string;\n\n /**\n * Whether the browser should offer playback controls to the user.\n */\n controls?: boolean;\n\n /**\n * Whether the video should start playing automatically.\n *\n * @remarks\n * Autoplay is frequently blocked unless the video is muted.\n */\n autoplay?: boolean;\n\n /**\n * Whether the video should loop after ending.\n */\n loop?: boolean;\n\n /**\n * Whether the audio should be muted.\n */\n muted?: boolean;\n\n /**\n * Hint that playback should happen inline on mobile browsers (not fullscreen).\n */\n playsInline?: boolean;\n\n /**\n * Preload behavior hint.\n */\n preload?: VideoPreload;\n\n /**\n * Poster image URL shown before playback starts.\n */\n poster?: string;\n\n /**\n * Display width in CSS pixels (attribute-reflected).\n */\n width?: number;\n\n /**\n * Display height in CSS pixels (attribute-reflected).\n */\n height?: number;\n\n /**\n * CORS setting for fetching the media.\n */\n crossOrigin?: VideoCrossOrigin;\n\n /**\n * Feature-control tokens for the video UI.\n *\n * @remarks\n * Maps to the `controlslist` attribute (space-separated tokens).\n */\n controlsList?: string[] | string;\n\n /**\n * Disable Picture-in-Picture where supported.\n */\n disablePictureInPicture?: boolean;\n\n /**\n * Disable remote playback where supported.\n */\n disableRemotePlayback?: boolean;\n\n /**\n * Referrer policy for fetching the media.\n */\n referrerPolicy?: VideoReferrerPolicy;\n\n /**\n * Fetch priority hint (where supported).\n */\n fetchPriority?: VideoFetchPriority;\n};\n\n/**\n * Normalize {@link VideoAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The video attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: VideoAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n src,\n controls,\n autoplay,\n loop,\n muted,\n playsInline,\n preload,\n poster,\n width,\n height,\n crossOrigin,\n controlsList,\n disablePictureInPicture,\n disableRemotePlayback,\n referrerPolicy,\n fetchPriority,\n ...rest\n } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n if (aria) {\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 if (Object.keys(mappedAria).length > 0) mapped.aria = mappedAria;\n }\n\n // Only attach attrs if we actually have any element-specific attributes to set\n // via dom.ts (keeps output stable and avoids needless objects).\n const elementAttrs: NonNullable<GlobalAttrs['attrs']> = {};\n\n if (typeof controlsList === 'string') elementAttrs.controlslist = controlsList;\n if (Array.isArray(controlsList)) elementAttrs.controlslist = controlsList.join(' ');\n\n if (typeof referrerPolicy === 'string') elementAttrs.referrerpolicy = referrerPolicy;\n if (typeof fetchPriority === 'string') elementAttrs.fetchpriority = fetchPriority;\n\n // Boolean-ish feature flags that don't have reliable reflected properties everywhere.\n if (typeof disablePictureInPicture === 'boolean') {\n elementAttrs.disablepictureinpicture = disablePictureInPicture;\n }\n if (typeof disableRemotePlayback === 'boolean') {\n elementAttrs.disableremoteplayback = disableRemotePlayback;\n }\n\n if (Object.keys(elementAttrs).length > 0) mapped.attrs = elementAttrs;\n\n // The rest are applied as properties after createElement to preserve proper boolean semantics.\n void src;\n void controls;\n void autoplay;\n void loop;\n void muted;\n void playsInline;\n void preload;\n void poster;\n void width;\n void height;\n void crossOrigin;\n\n return mapped;\n}\n\n/**\n * Create a video element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n * - If `autoplay` is enabled and `muted` is not explicitly provided, Fundatio will\n * default `muted` to `true` to align with common browser autoplay policies.\n *\n * @param text - Optional fallback text shown if video is unsupported.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<video>` element.\n *\n * @example\n * ```ts\n * import { createVideo } from \"@Vastare/Fundatio/elements/media/video\";\n *\n * document.body.appendChild(\n * createVideo(\"Your browser does not support video.\", {\n * src: \"/media/intro.mp4\",\n * controls: true,\n * preload: \"metadata\",\n * })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createVideo(text?: string, attrs?: VideoAttrs): HTMLVideoElement {\n const el = createElement(VIDEO_TAG, toGlobalAttrs(attrs), text) as unknown as HTMLVideoElement;\n\n if (!attrs) return el;\n\n if (typeof attrs.src === 'string') el.src = attrs.src;\n\n if (typeof attrs.controls === 'boolean') el.controls = attrs.controls;\n\n if (typeof attrs.autoplay === 'boolean') el.autoplay = attrs.autoplay;\n if (typeof attrs.loop === 'boolean') el.loop = attrs.loop;\n\n // Practical default: autoplay usually requires muted.\n if (attrs.autoplay === true && typeof attrs.muted !== 'boolean') {\n el.muted = true;\n } else if (typeof attrs.muted === 'boolean') {\n el.muted = attrs.muted;\n }\n\n if (typeof attrs.playsInline === 'boolean')\n (el as unknown as { playsInline?: boolean }).playsInline = attrs.playsInline;\n\n if (typeof attrs.preload === 'string') el.preload = attrs.preload;\n\n if (typeof attrs.poster === 'string') el.poster = attrs.poster;\n\n if (typeof attrs.width === 'number') el.width = attrs.width;\n if (typeof attrs.height === 'number') el.height = attrs.height;\n\n if (typeof attrs.crossOrigin === 'string') el.crossOrigin = attrs.crossOrigin;\n\n return el;\n}\n\n/**\n * Enhance video elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceVideos(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for video.\n void root;\n}\n"],"names":["VIDEO_TAG","VIDEO_SELECTOR","toGlobalAttrs","attrs","aria","src","controls","autoplay","loop","muted","playsInline","preload","poster","width","height","crossOrigin","controlsList","disablePictureInPicture","disableRemotePlayback","referrerPolicy","fetchPriority","rest","mapped","mappedAria","elementAttrs","createVideo","text","el","createElement","enhanceVideos","root"],"mappings":";AAgGO,MAAMA,IAAY,SAOZC,IAAiB;AAmH9B,SAASC,EAAcC,GAA6C;AAClE,MAAI,CAACA,EAAO;AAEZ,QAAM;AAAA,IACJ,MAAAC;AAAA,IACA,KAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,cAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDlB,GAEEmB,IAAsB,EAAE,GAAGD,EAAA;AAEjC,MAAIjB,GAAM;AACR,UAAMmB,IAA+C,CAAA;AAErD,IAAI,OAAOnB,EAAK,SAAU,aAAUmB,EAAW,QAAQnB,EAAK,QACxD,OAAOA,EAAK,cAAe,aAAUmB,EAAW,aAAanB,EAAK,aAClE,OAAOA,EAAK,UAAW,cAAWmB,EAAW,SAASnB,EAAK,SAE3D,OAAO,KAAKmB,CAAU,EAAE,SAAS,QAAU,OAAOA;AAAA,EACxD;AAIA,QAAMC,IAAkD,CAAA;AAExD,SAAI,OAAOR,KAAiB,aAAUQ,EAAa,eAAeR,IAC9D,MAAM,QAAQA,CAAY,QAAgB,eAAeA,EAAa,KAAK,GAAG,IAE9E,OAAOG,KAAmB,aAAUK,EAAa,iBAAiBL,IAClE,OAAOC,KAAkB,aAAUI,EAAa,gBAAgBJ,IAGhE,OAAOH,KAA4B,cACrCO,EAAa,0BAA0BP,IAErC,OAAOC,KAA0B,cACnCM,EAAa,wBAAwBN,IAGnC,OAAO,KAAKM,CAAY,EAAE,SAAS,QAAU,QAAQA,IAelDF;AACT;AAgCO,SAASG,EAAYC,GAAevB,GAAsC;AAC/E,QAAMwB,IAAKC,EAAc5B,GAAWE,EAAcC,CAAK,GAAGuB,CAAI;AAE9D,SAAKvB,MAED,OAAOA,EAAM,OAAQ,aAAUwB,EAAG,MAAMxB,EAAM,MAE9C,OAAOA,EAAM,YAAa,cAAWwB,EAAG,WAAWxB,EAAM,WAEzD,OAAOA,EAAM,YAAa,cAAWwB,EAAG,WAAWxB,EAAM,WACzD,OAAOA,EAAM,QAAS,cAAWwB,EAAG,OAAOxB,EAAM,OAGjDA,EAAM,aAAa,MAAQ,OAAOA,EAAM,SAAU,YACpDwB,EAAG,QAAQ,KACF,OAAOxB,EAAM,SAAU,cAChCwB,EAAG,QAAQxB,EAAM,QAGf,OAAOA,EAAM,eAAgB,cAC9BwB,EAA4C,cAAcxB,EAAM,cAE/D,OAAOA,EAAM,WAAY,aAAUwB,EAAG,UAAUxB,EAAM,UAEtD,OAAOA,EAAM,UAAW,aAAUwB,EAAG,SAASxB,EAAM,SAEpD,OAAOA,EAAM,SAAU,aAAUwB,EAAG,QAAQxB,EAAM,QAClD,OAAOA,EAAM,UAAW,aAAUwB,EAAG,SAASxB,EAAM,SAEpD,OAAOA,EAAM,eAAgB,aAAUwB,EAAG,cAAcxB,EAAM,eAE3DwB;AACT;AAoBO,SAASE,EAAcC,IAAmB,UAAgB;AAGjE;;;;;;;;"}
@@ -0,0 +1,30 @@
1
+ import { c as t } from "./dom.js";
2
+ const n = "audio", a = "audio";
3
+ function r(e) {
4
+ if (!e) return;
5
+ const { aria: o, ...l } = e;
6
+ if (!o) return l;
7
+ const i = {};
8
+ return typeof o.label == "string" && (i.label = o.label), typeof o.labelledby == "string" && (i.labelledby = o.labelledby), typeof o.hidden == "boolean" && (i.hidden = o.hidden), Object.keys(i).length > 0 ? { ...l, aria: i } : l;
9
+ }
10
+ function c(e) {
11
+ const o = t(n, r(e));
12
+ return e && (typeof e.src == "string" && (o.src = e.src), typeof e.controls == "boolean" && (o.controls = e.controls), typeof e.autoplay == "boolean" && (o.autoplay = e.autoplay), typeof e.loop == "boolean" && (o.loop = e.loop), typeof e.muted == "boolean" ? o.muted = e.muted : e.autoplay === !0 && (o.muted = !0), typeof e.preload == "string" && (o.preload = e.preload), typeof e.crossOrigin == "string" && (o.crossOrigin = e.crossOrigin), Array.isArray(e.controlsList) && e.controlsList.length > 0 && o.setAttribute("controlslist", e.controlsList.join(" ")), typeof e.disableRemotePlayback == "boolean" && (e.disableRemotePlayback ? o.setAttribute("disableremoteplayback", "") : o.removeAttribute("disableremoteplayback"))), o;
13
+ }
14
+ function f(e = document) {
15
+ }
16
+ const b = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
17
+ __proto__: null,
18
+ AUDIO_SELECTOR: a,
19
+ AUDIO_TAG: n,
20
+ createAudio: c,
21
+ enhanceAudios: f
22
+ }, Symbol.toStringTag, { value: "Module" }));
23
+ export {
24
+ a as A,
25
+ n as a,
26
+ c,
27
+ f as e,
28
+ b as i
29
+ };
30
+ //# sourceMappingURL=index27.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index27.js","sources":["../../../src/elements/media/audio/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Audio element helpers.\n *\n * @remarks\n * The audio element (`<audio>`) embeds sound content in documents.\n * It can load audio via `src` or nested `<source>` elements, and it can\n * also be a destination for streamed media via MediaStream.\n *\n * Best-practice guidance (MDN + platform norms):\n * - Avoid autoplaying audio unless the user explicitly opts in.\n * - Prefer showing controls (`controls`) when audio playback is user-facing.\n * - Use `preload=\"metadata\"` as a sensible hint if you want duration, etc.\n * - Use CORS (`crossOrigin`) when audio might be reused by `<canvas>` without tainting.\n * - Prefer multiple `<source>` elements for format fallbacks where needed.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create audio elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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 Fundatio 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 * Allowed `preload` values for media elements.\n *\n * @remarks\n * Per MDN, browsers treat this as a hint and may ignore it; `metadata` is a\n * common best-practice default in specs/guidance.\n *\n * @category Attributes\n */\nexport type AudioPreload = 'none' | 'metadata' | 'auto';\n\n/**\n * Allowed values for the `crossorigin` attribute for media fetches.\n *\n * @category Attributes\n */\nexport type AudioCrossOrigin = 'anonymous' | 'use-credentials';\n\n/**\n * Allowed tokens for the `controlslist` attribute (when `controls` is enabled).\n *\n * @remarks\n * MDN lists allowed values including `nodownload`, `nofullscreen`, `noremoteplayback`.\n * (`nofullscreen` is effectively video-oriented but is still a valid token in the attribute.)\n *\n * @category Attributes\n */\nexport type AudioControlsList = 'nodownload' | 'nofullscreen' | 'noremoteplayback';\n\n/**\n * The semantic tag name for audio elements.\n *\n * @category Constants\n */\nexport const AUDIO_TAG = 'audio' as const;\n\n/**\n * A CSS selector targeting audio elements.\n *\n * @category Constants\n */\nexport const AUDIO_SELECTOR = 'audio';\n\n/**\n * Attribute bag for audio creation/enhancement.\n *\n * @remarks\n * Audio elements accept HTML global attributes plus a media-specific subset.\n * Fundatio also supports structured ARIA input for common ARIA fields.\n *\n * @category Attributes\n */\nexport type AudioAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The URL of the audio resource to embed.\n *\n * @remarks\n * Optional if you instead provide nested `<source>` elements.\n */\n src?: string;\n\n /**\n * Whether browser playback controls should be shown.\n */\n controls?: boolean;\n\n /**\n * Whether playback should begin automatically.\n *\n * @remarks\n * Autoplaying audio is often blocked unless user-initiated. If `autoplay`\n * is enabled and `muted` is not specified, Fundatio defaults `muted` to `true`\n * as a pragmatic alignment with autoplay policies.\n */\n autoplay?: boolean;\n\n /**\n * Whether the audio should loop back to the start after ending.\n */\n loop?: boolean;\n\n /**\n * Whether the audio should start out muted.\n */\n muted?: boolean;\n\n /**\n * Hint about how much to preload.\n */\n preload?: AudioPreload;\n\n /**\n * CORS mode for fetching the audio resource.\n */\n crossOrigin?: AudioCrossOrigin;\n\n /**\n * Restrict which built-in controls the user agent exposes (when `controls` is set).\n *\n * @example\n * controlsList: ['nodownload', 'noremoteplayback']\n */\n controlsList?: AudioControlsList[];\n\n /**\n * Disable remote playback (Chromecast/AirPlay/etc).\n */\n disableRemotePlayback?: boolean;\n};\n\n/**\n * Normalize {@link AudioAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The audio attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: AudioAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an audio element with optional attributes.\n *\n * @remarks\n * Global attributes are applied via Fundatio's shared DOM helper, including security\n * guards that block inline event handler attributes (e.g. `onclick`) and raw\n * `style` attribute strings through escape hatches.\n *\n * Media-specific attributes are applied directly to the element.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<audio>` element.\n *\n * @example\n * ```ts\n * import { createAudio } from \"@Vastare/Fundatio/elements/media/audio\";\n *\n * document.body.appendChild(\n * createAudio({ controls: true, src: \"/audio/intro.mp3\", preload: \"metadata\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createAudio(attrs?: AudioAttrs): ElementOf<typeof AUDIO_TAG> {\n const el = createElement(AUDIO_TAG, toGlobalAttrs(attrs));\n\n if (!attrs) return el;\n\n if (typeof attrs.src === 'string') el.src = attrs.src;\n\n if (typeof attrs.controls === 'boolean') el.controls = attrs.controls;\n\n if (typeof attrs.autoplay === 'boolean') el.autoplay = attrs.autoplay;\n if (typeof attrs.loop === 'boolean') el.loop = attrs.loop;\n\n // Pragmatic autoplay alignment: if autoplay is enabled and muted is not provided,\n // default to muted to reduce the chance of autoplay being blocked.\n if (typeof attrs.muted === 'boolean') {\n el.muted = attrs.muted;\n } else if (attrs.autoplay === true) {\n el.muted = true;\n }\n\n if (typeof attrs.preload === 'string') el.preload = attrs.preload;\n\n if (typeof attrs.crossOrigin === 'string') el.crossOrigin = attrs.crossOrigin;\n\n if (Array.isArray(attrs.controlsList) && attrs.controlsList.length > 0) {\n // `controlslist` is a token list attribute; set as a space-separated list.\n el.setAttribute('controlslist', attrs.controlsList.join(' '));\n }\n\n if (typeof attrs.disableRemotePlayback === 'boolean') {\n if (attrs.disableRemotePlayback) el.setAttribute('disableremoteplayback', '');\n else el.removeAttribute('disableremoteplayback');\n }\n\n return el;\n}\n\n/**\n * Enhance audio elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceAudios(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for audio.\n void root;\n}\n"],"names":["AUDIO_TAG","AUDIO_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createAudio","el","createElement","enhanceAudios","root"],"mappings":";AA2FO,MAAMA,IAAY,SAOZC,IAAiB;AAkF9B,SAASC,EAAcC,GAA6C;AAClE,MAAI,CAACA,EAAO;AAEZ,QAAM,EAAE,MAAAC,GAAM,GAAGC,EAAA,IAASF;AAE1B,MAAI,CAACC,EAAM,QAAOC;AAElB,QAAMC,IAA+C,CAAA;AAErD,SAAI,OAAOF,EAAK,SAAU,aAAUE,EAAW,QAAQF,EAAK,QACxD,OAAOA,EAAK,cAAe,aAAUE,EAAW,aAAaF,EAAK,aAClE,OAAOA,EAAK,UAAW,cAAWE,EAAW,SAASF,EAAK,SAE7C,OAAO,KAAKE,CAAU,EAAE,SAAS,IAEhC,EAAE,GAAGD,GAAM,MAAMC,MAAeD;AACrD;AA0BO,SAASE,EAAYJ,GAAiD;AAC3E,QAAMK,IAAKC,EAAcT,GAAWE,EAAcC,CAAK,CAAC;AAExD,SAAKA,MAED,OAAOA,EAAM,OAAQ,aAAUK,EAAG,MAAML,EAAM,MAE9C,OAAOA,EAAM,YAAa,cAAWK,EAAG,WAAWL,EAAM,WAEzD,OAAOA,EAAM,YAAa,cAAWK,EAAG,WAAWL,EAAM,WACzD,OAAOA,EAAM,QAAS,cAAWK,EAAG,OAAOL,EAAM,OAIjD,OAAOA,EAAM,SAAU,YACzBK,EAAG,QAAQL,EAAM,QACRA,EAAM,aAAa,OAC5BK,EAAG,QAAQ,KAGT,OAAOL,EAAM,WAAY,aAAUK,EAAG,UAAUL,EAAM,UAEtD,OAAOA,EAAM,eAAgB,aAAUK,EAAG,cAAcL,EAAM,cAE9D,MAAM,QAAQA,EAAM,YAAY,KAAKA,EAAM,aAAa,SAAS,KAEnEK,EAAG,aAAa,gBAAgBL,EAAM,aAAa,KAAK,GAAG,CAAC,GAG1D,OAAOA,EAAM,yBAA0B,cACrCA,EAAM,wBAAuBK,EAAG,aAAa,yBAAyB,EAAE,IACvEA,EAAG,gBAAgB,uBAAuB,KAG1CA;AACT;AAoBO,SAASE,EAAcC,IAAmB,UAAgB;AAGjE;;;;;;;;"}
@@ -0,0 +1,29 @@
1
+ import { c as o } from "./dom.js";
2
+ const l = "table", r = "table";
3
+ function i(t) {
4
+ if (!t) return;
5
+ const { aria: e, ...n } = t;
6
+ if (!e) return n;
7
+ const a = {};
8
+ return typeof e.label == "string" && (a.label = e.label), typeof e.labelledby == "string" && (a.labelledby = e.labelledby), typeof e.hidden == "boolean" && (a.hidden = e.hidden), Object.keys(a).length > 0 ? { ...n, aria: a } : n;
9
+ }
10
+ function b(t, e) {
11
+ return o(l, i(e), t);
12
+ }
13
+ function s(t = document) {
14
+ }
15
+ const f = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
16
+ __proto__: null,
17
+ TABLE_SELECTOR: r,
18
+ TABLE_TAG: l,
19
+ createTable: b,
20
+ enhanceTables: s
21
+ }, Symbol.toStringTag, { value: "Module" }));
22
+ export {
23
+ r as T,
24
+ l as a,
25
+ b as c,
26
+ s as e,
27
+ f as i
28
+ };
29
+ //# sourceMappingURL=index28.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index28.js","sources":["../../../src/elements/table/table/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Table element helpers.\n *\n * @remarks\n * The table element (`<table>`) represents tabular data with more than one\n * dimension (rows and columns).\n *\n * Best-practice guidance:\n * - Use tables for data, not for layout.\n * - Provide a clear `<caption>` describing the table's purpose.\n * - Use `<thead>`, `<tbody>`, and `<tfoot>` to group table content meaningfully.\n * - Mark header cells with `<th>` (not `<td>`), and use `scope`/`headers` where\n * appropriate for accessibility, especially in more complex tables.\n * - Avoid obsolete presentational attributes (e.g. `border`, `cellpadding`,\n * `cellspacing`, `align`, `bgcolor`). Use CSS instead.\n * - If additional long-form description is needed, consider `aria-describedby`\n * pointing to explanatory text outside the table.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create table elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: `<table>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table\n * - WHATWG: Table model: https://html.spec.whatwg.org/multipage/tables.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio 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 HTML tables.\n *\n * @category Constants\n */\nexport const TABLE_TAG = 'table' as const;\n\n/**\n * A CSS selector targeting table elements.\n *\n * @category Constants\n */\nexport const TABLE_SELECTOR = 'table';\n\n/**\n * Attribute bag for table creation/enhancement.\n *\n * @remarks\n * Table elements accept standard HTML global attributes.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * Note: table-specific presentational attributes historically existed but are\n * obsolete in modern HTML. Consumers can still use {@link GlobalAttrs.attrs}\n * as an escape hatch where necessary, subject to Fundatio's security rules in\n * `dom.ts` (blocks inline event handlers and raw `style` attribute strings).\n *\n * @category Attributes\n */\nexport type TableAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link TableAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The table attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TableAttrs): 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 table element with optional text content and global attributes.\n *\n * @remarks\n * - Table content is typically structured with child elements (`<caption>`,\n * `<thead>`, `<tbody>`, `<tr>`, `<th>`, `<td>`). This helper does not build\n * table structure, it only creates the `<table>` element.\n * - Optional text content is assigned via `textContent` (never `innerHTML`).\n * In real usage, prefer building actual table child elements rather than\n * relying on text content.\n * - Global attributes are applied via Fundatio'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 table (generally discouraged).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<table>` element.\n *\n * @example\n * Create a table and append it:\n * ```ts\n * import { createTable } from \"@Vastare/Fundatio/elements/table/table\";\n *\n * const table = createTable(undefined, { className: \"data-table\" });\n * document.body.appendChild(table);\n * ```\n *\n * @category DOM\n */\nexport function createTable(text?: string, attrs?: TableAttrs): ElementOf<typeof TABLE_TAG> {\n return createElement(TABLE_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance table elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceTables(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for table.\n void root;\n}\n"],"names":["TABLE_TAG","TABLE_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createTable","text","createElement","enhanceTables","root"],"mappings":";AAqEO,MAAMA,IAAY,SAOZC,IAAiB;AAiC9B,SAASC,EAAcC,GAA6C;AAClE,MAAI,CAACA,EAAO;AAEZ,QAAM,EAAE,MAAAC,GAAM,GAAGC,EAAA,IAASF;AAE1B,MAAI,CAACC,EAAM,QAAOC;AAElB,QAAMC,IAA+C,CAAA;AAErD,SAAI,OAAOF,EAAK,SAAU,aAAUE,EAAW,QAAQF,EAAK,QACxD,OAAOA,EAAK,cAAe,aAAUE,EAAW,aAAaF,EAAK,aAClE,OAAOA,EAAK,UAAW,cAAWE,EAAW,SAASF,EAAK,SAG7C,OAAO,KAAKE,CAAU,EAAE,SAAS,IAEhC,EAAE,GAAGD,GAAM,MAAMC,MAAeD;AACrD;AA+BO,SAASE,EAAYC,GAAeL,GAAiD;AAC1F,SAAOM,EAAcT,GAAWE,EAAcC,CAAK,GAAGK,CAAI;AAC5D;AAoBO,SAASE,EAAcC,IAAmB,UAAgB;AAGjE;;;;;;;;"}
@@ -0,0 +1,39 @@
1
+ import { c } from "./dom.js";
2
+ const s = "colgroup", u = "colgroup";
3
+ function b(t, e, o) {
4
+ Object.prototype.hasOwnProperty.call(t, e) || (t[e] = o);
5
+ }
6
+ function d(t) {
7
+ if (!t) return;
8
+ const { aria: e, span: o, ...l } = t, a = e ? (() => {
9
+ const n = {};
10
+ return typeof e.label == "string" && (n.label = e.label), typeof e.labelledby == "string" && (n.labelledby = e.labelledby), typeof e.hidden == "boolean" && (n.hidden = e.hidden), Object.keys(n).length > 0 ? n : void 0;
11
+ })() : void 0, r = { ...l.attrs ?? {} };
12
+ typeof o == "number" && Number.isFinite(o) && o > 0 && b(r, "span", Math.trunc(o));
13
+ const i = Object.keys(r).length > 0;
14
+ return {
15
+ ...l,
16
+ ...a ? { aria: a } : null,
17
+ ...i ? { attrs: r } : null
18
+ };
19
+ }
20
+ function p(t) {
21
+ return c(s, d(t));
22
+ }
23
+ function f(t = document) {
24
+ }
25
+ const g = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
26
+ __proto__: null,
27
+ COLGROUP_SELECTOR: u,
28
+ COLGROUP_TAG: s,
29
+ createColgroup: p,
30
+ enhanceColgroups: f
31
+ }, Symbol.toStringTag, { value: "Module" }));
32
+ export {
33
+ u as C,
34
+ s as a,
35
+ p as c,
36
+ f as e,
37
+ g as i
38
+ };
39
+ //# sourceMappingURL=index29.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index29.js","sources":["../../../src/elements/table/colgroup/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Colgroup element helpers.\n *\n * @remarks\n * The colgroup element (`<colgroup>`) represents a group of one or more columns\n * in a table and is primarily used to apply presentation (not structure) to\n * entire columns (typically via CSS). :contentReference[oaicite:1]{index=1}\n *\n * Best-practice guidance:\n * - Use `<colgroup>` (and optionally `<col>`) to apply column-level styling\n * without repeating styles across cells.\n * - Place `<colgroup>` inside a `<table>`, after any `<caption>` and before\n * `<thead>`, `<tbody>`, `<tfoot>`, or `<tr>`. :contentReference[oaicite:2]{index=2}\n * - Use the `span` attribute only when the `<colgroup>` contains no `<col>`\n * children; otherwise, define spans via `<col>` elements. :contentReference[oaicite:3]{index=3}\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<colgroup>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio 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 Fundatio 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 colgroup elements.\n *\n * @category Constants\n */\nexport const COLGROUP_TAG = 'colgroup' as const;\n\n/**\n * A CSS selector targeting colgroup elements.\n *\n * @category Constants\n */\nexport const COLGROUP_SELECTOR = 'colgroup';\n\n/**\n * Attribute bag for colgroup creation/enhancement.\n *\n * @remarks\n * Colgroup elements accept standard HTML global attributes, plus:\n * - `span`: the number of consecutive columns in the group (when no `<col>`\n * children are present). :contentReference[oaicite:4]{index=4}\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type ColgroupAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Number of consecutive columns spanned by this column group.\n *\n * @remarks\n * This should be a positive integer. The HTML spec clamps values above 1000\n * and treats invalid/zero values as `1` in the table model. Fundatio does not\n * attempt to emulate the full table model at runtime; it sets the attribute\n * when you provide a valid positive integer. :contentReference[oaicite:5]{index=5}\n *\n * Note: Not permitted when the `<colgroup>` contains one or more `<col>`\n * elements. Fundatio does not enforce child-structure rules; consumers control\n * their DOM trees. :contentReference[oaicite:6]{index=6}\n */\n span?: number;\n};\n\n/**\n * Set an attribute only if it is not already present on the attribute bag.\n *\n * @remarks\n * This supports the Fundatio convention where explicit raw attributes provided via\n * {@link GlobalAttrs.attrs} are treated as the caller's final intent.\n *\n * @param attrs - The destination attributes object.\n * @param name - Attribute name.\n * @param value - Attribute value.\n *\n * @category Internal\n */\nfunction setIfUnset(\n attrs: NonNullable<GlobalAttrs['attrs']>,\n name: string,\n value: string | number | boolean,\n): void {\n if (Object.prototype.hasOwnProperty.call(attrs, name)) return;\n attrs[name] = value;\n}\n\n/**\n * Normalize {@link ColgroupAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The colgroup attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ColgroupAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, span, ...rest } = attrs;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> | undefined = aria\n ? (() => {\n const out: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') out.label = aria.label;\n if (typeof aria.labelledby === 'string') out.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') out.hidden = aria.hidden;\n\n return Object.keys(out).length > 0 ? out : undefined;\n })()\n : undefined;\n\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rest.attrs ?? {}) };\n\n // Apply `span` only when it is a valid positive integer.\n if (typeof span === 'number' && Number.isFinite(span) && span > 0) {\n // HTML defines span as an unsigned long; we keep it integer-ish.\n setIfUnset(mergedAttrs, 'span', Math.trunc(span));\n }\n\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n\n return {\n ...rest,\n ...(mappedAria ? { aria: mappedAria } : null),\n ...(hasMergedAttrs ? { attrs: mergedAttrs } : null),\n };\n}\n\n/**\n * Create a colgroup element with global attributes.\n *\n * @remarks\n * - `<colgroup>` should not contain text content; Fundatio does not accept a `text`\n * argument for this factory.\n * - Global attributes are applied via Fundatio'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 attrs - Optional attributes to apply.\n * @returns The created `<colgroup>` element.\n *\n * @example\n * Create a colgroup that spans two columns:\n * ```ts\n * import { createColgroup } from \"@Vastare/Fundatio/elements/table/colgroup\";\n *\n * const colgroup = createColgroup({ span: 2, className: \"cols\" });\n * table.appendChild(colgroup);\n * ```\n *\n * @category DOM\n */\nexport function createColgroup(attrs?: ColgroupAttrs): ElementOf<typeof COLGROUP_TAG> {\n return createElement(COLGROUP_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance colgroup elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.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 enhanceColgroups(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for colgroup.\n void root;\n}\n"],"names":["COLGROUP_TAG","COLGROUP_SELECTOR","setIfUnset","attrs","name","value","toGlobalAttrs","aria","span","rest","mappedAria","out","mergedAttrs","hasMergedAttrs","createColgroup","createElement","enhanceColgroups","root"],"mappings":";AA+DO,MAAMA,IAAe,YAOfC,IAAoB;AAsDjC,SAASC,EACPC,GACAC,GACAC,GACM;AACN,EAAI,OAAO,UAAU,eAAe,KAAKF,GAAOC,CAAI,MACpDD,EAAMC,CAAI,IAAIC;AAChB;AAUA,SAASC,EAAcH,GAAgD;AACrE,MAAI,CAACA,EAAO;AAEZ,QAAM,EAAE,MAAAI,GAAM,MAAAC,GAAM,GAAGC,MAASN,GAE1BO,IAA2DH,KAC5D,MAAM;AACL,UAAMI,IAAwC,CAAA;AAC9C,WAAI,OAAOJ,EAAK,SAAU,aAAUI,EAAI,QAAQJ,EAAK,QACjD,OAAOA,EAAK,cAAe,aAAUI,EAAI,aAAaJ,EAAK,aAC3D,OAAOA,EAAK,UAAW,cAAWI,EAAI,SAASJ,EAAK,SAEjD,OAAO,KAAKI,CAAG,EAAE,SAAS,IAAIA,IAAM;AAAA,EAC7C,OACA,QAEEC,IAAiD,EAAE,GAAIH,EAAK,SAAS,CAAA,EAAC;AAG5E,EAAI,OAAOD,KAAS,YAAY,OAAO,SAASA,CAAI,KAAKA,IAAO,KAE9DN,EAAWU,GAAa,QAAQ,KAAK,MAAMJ,CAAI,CAAC;AAGlD,QAAMK,IAAiB,OAAO,KAAKD,CAAW,EAAE,SAAS;AAEzD,SAAO;AAAA,IACL,GAAGH;AAAA,IACH,GAAIC,IAAa,EAAE,MAAMA,MAAe;AAAA,IACxC,GAAIG,IAAiB,EAAE,OAAOD,MAAgB;AAAA,EAAA;AAElD;AA0BO,SAASE,EAAeX,GAAuD;AACpF,SAAOY,EAAcf,GAAcM,EAAcH,CAAK,CAAC;AACzD;AAoBO,SAASa,EAAiBC,IAAmB,UAAgB;AAGpE;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ import { i as e } from "./index17.js";
2
+ import { i as o } from "./index18.js";
3
+ const t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4
+ __proto__: null,
5
+ br: e,
6
+ wbr: o
7
+ }, Symbol.toStringTag, { value: "Module" }));
8
+ export {
9
+ t as i
10
+ };
11
+ //# sourceMappingURL=index3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}