@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":"index86.cjs","sources":["../../../src/elements/form/input/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Input element helpers.\n *\n * @remarks\n * The input element (`<input>`) represents a typed data field whose behavior is\n * primarily controlled by its `type` attribute. :contentReference[oaicite:5]{index=5}\n *\n * Best-practice guidance:\n * - Prefer the most specific `type` possible (e.g. `email`, `tel`, `number`)\n * to improve UX and validation behavior.\n * - Always provide an accessible name (visible label, `aria-label`, or\n * `aria-labelledby`).\n * - Treat `autocomplete`, `inputmode`, and `enterkeyhint` as UX hints, not\n * security controls. :contentReference[oaicite:6]{index=6}\n * - For `<input type=\"image\">`, include meaningful `alt` text; while it may be\n * technically optional, it should be provided for usability/accessibility. :contentReference[oaicite:7]{index=7}\n *\n * Fundatio-specific conventions:\n * - Defaults `type` to `\"text\"` unless explicitly overridden (typed field or raw\n * attrs escape hatch), matching HTML's default behavior. :contentReference[oaicite:8]{index=8}\n * - Applies global attributes via Fundatio's hardened DOM helpers (`dom.ts`),\n * which block inline event handler attributes (e.g. `onclick`) and the raw\n * `style` attribute string.\n * - Supports a small structured ARIA input to reduce typo-based ARIA bugs.\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport {\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 mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference(s) to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * Common input `type` values.\n *\n * @remarks\n * The `type` attribute controls which control is rendered and how values are\n * processed. :contentReference[oaicite:9]{index=9}\n *\n * Fundatio models the widely used types while still allowing the raw `attrs` escape\n * hatch for unusual/experimental values.\n *\n * @category Attributes\n */\nexport type InputType =\n | 'text'\n | 'password'\n | 'email'\n | 'number'\n | 'search'\n | 'tel'\n | 'url'\n | 'date'\n | 'datetime-local'\n | 'month'\n | 'week'\n | 'time'\n | 'color'\n | 'checkbox'\n | 'radio'\n | 'file'\n | 'hidden'\n | 'image'\n | 'range'\n | 'reset'\n | 'submit'\n | 'button';\n\n/**\n * Values for the `inputmode` hint.\n *\n * @remarks\n * `inputmode` is a hint to user agents about what kind of virtual keyboard to\n * show. :contentReference[oaicite:10]{index=10}\n *\n * @category Attributes\n */\nexport type InputMode =\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search';\n\n/**\n * Values for the `enterkeyhint` hint.\n *\n * @remarks\n * Defines what action label/icon to present for the enter key on virtual\n * keyboards. :contentReference[oaicite:11]{index=11}\n *\n * @category Attributes\n */\nexport type EnterKeyHint = 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n/**\n * Values for the `popovertargetaction` attribute when the input is used as a\n * popover invoker button.\n *\n * @category Attributes\n */\nexport type PopoverTargetAction = 'toggle' | 'show' | 'hide';\n\n/**\n * The semantic tag name for inputs.\n *\n * @category Constants\n */\nexport const INPUT_TAG = 'input' as const;\n\n/**\n * A CSS selector targeting input elements.\n *\n * @category Constants\n */\nexport const INPUT_SELECTOR = 'input';\n\n/**\n * Attribute bag for input creation/enhancement.\n *\n * @remarks\n * `<input>` supports a large surface area of attributes, many of which are\n * type-dependent. Fundatio models common attributes explicitly and provides\n * {@link GlobalAttrs.attrs} as an escape hatch (validated by `dom.ts`).\n *\n * Notes:\n * - Fundatio defaults `type` to `\"text\"` unless explicitly overridden. :contentReference[oaicite:12]{index=12}\n * - Boolean attributes are applied by presence (empty string) when `true`.\n * - For `type=\"image\"`, `alt` should be provided for accessibility. :contentReference[oaicite:13]{index=13}\n *\n * @category Attributes\n */\nexport type InputAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The input type. Defaults to `\"text\"` in Fundatio.\n */\n type?: InputType;\n\n /**\n * Form field name (used during submission).\n */\n name?: string;\n\n /**\n * Initial/current value (type-dependent semantics).\n */\n value?: string;\n\n /**\n * Placeholder hint (text-like types).\n */\n placeholder?: string;\n\n /**\n * Disables the control when true.\n */\n disabled?: boolean;\n\n /**\n * Marks the control read-only when true (where applicable).\n */\n readOnly?: boolean;\n\n /**\n * Marks the control required for form submission.\n */\n required?: boolean;\n\n /**\n * Enables multiple values (e.g. file inputs).\n */\n multiple?: boolean;\n\n /**\n * Marks a checkbox or radio as checked.\n */\n checked?: boolean;\n\n /**\n * Minimum value (number/date/time/range-like types).\n */\n min?: string | number;\n\n /**\n * Maximum value (number/date/time/range-like types).\n */\n max?: string | number;\n\n /**\n * Step interval (number/date/time/range-like types).\n */\n step?: string | number;\n\n /**\n * Minimum length (text-like types).\n */\n minLength?: number;\n\n /**\n * Maximum length (text-like types).\n */\n maxLength?: number;\n\n /**\n * Validation pattern (text-like types).\n */\n pattern?: string;\n\n /**\n * Size hint (visible character width, where applicable).\n */\n size?: number;\n\n /**\n * Autocomplete hint.\n */\n autoComplete?: string;\n\n /**\n * Autofocus hint.\n */\n autofocus?: boolean;\n\n /**\n * Associates the control with a datalist element by ID.\n */\n list?: string;\n\n /**\n * Associates the control with a form element by ID.\n */\n form?: string;\n\n /**\n * Overrides form submission target for submit/image inputs.\n */\n formAction?: string;\n\n /**\n * Overrides form submission encoding for submit/image inputs.\n */\n formEnctype?: 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain';\n\n /**\n * Overrides form submission method for submit/image inputs.\n */\n formMethod?: 'get' | 'post' | 'dialog';\n\n /**\n * Prevents constraint validation on submission.\n */\n formNoValidate?: boolean;\n\n /**\n * Overrides form submission browsing context target.\n */\n formTarget?: string;\n\n /**\n * Source URL for `type=\"image\"`.\n */\n src?: string;\n\n /**\n * Alternate text for `type=\"image\"`.\n *\n * @remarks\n * This is only meaningful for image inputs and should be provided. :contentReference[oaicite:14]{index=14}\n */\n alt?: string;\n\n /**\n * Width for `type=\"image\"`.\n */\n width?: number;\n\n /**\n * Height for `type=\"image\"`.\n */\n height?: number;\n\n /**\n * Accepted file types (for `type=\"file\"`).\n */\n accept?: string;\n\n /**\n * Media capture hint (primarily file inputs on mobile).\n *\n * @remarks\n * If set to `true`, the boolean attribute is applied by presence.\n */\n capture?: 'user' | 'environment' | true;\n\n /**\n * Hint for the virtual keyboard shown on touch devices.\n */\n inputMode?: InputMode;\n\n /**\n * Hint for the virtual keyboard enter key label/icon.\n */\n enterKeyHint?: EnterKeyHint;\n\n /**\n * ID of the popover element this input controls (typically `type=\"button\"`).\n */\n popoverTarget?: string;\n\n /**\n * Action to perform on the targeted popover.\n */\n popoverTargetAction?: PopoverTargetAction;\n};\n\n/**\n * Normalize {@link InputAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * Pattern:\n * - Start with any caller-provided raw attrs escape hatch.\n * - Apply typed attributes without overriding explicit raw attributes.\n * - Map structured ARIA into {@link GlobalAttrs.aria}.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: InputAttrs): GlobalAttrs {\n const {\n aria,\n type,\n name,\n value,\n placeholder,\n disabled,\n readOnly,\n required,\n multiple,\n checked,\n min,\n max,\n step,\n minLength,\n maxLength,\n pattern,\n size,\n autoComplete,\n autofocus,\n list,\n form,\n formAction,\n formEnctype,\n formMethod,\n formNoValidate,\n formTarget,\n src,\n alt,\n width,\n height,\n accept,\n capture,\n inputMode,\n enterKeyHint,\n popoverTarget,\n popoverTargetAction,\n ...rest\n } = attrs ?? {};\n\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n const setIfUnset = (key: string, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n // Default type to \"text\" unless explicitly overridden.\n setIfUnset('type', type ?? 'text');\n\n setIfUnset('name', name);\n setIfUnset('value', value);\n setIfUnset('placeholder', placeholder);\n setIfUnset('min', min);\n setIfUnset('max', max);\n setIfUnset('step', step);\n setIfUnset('minlength', typeof minLength === 'number' ? minLength : undefined);\n setIfUnset('maxlength', typeof maxLength === 'number' ? maxLength : undefined);\n setIfUnset('pattern', pattern);\n setIfUnset('size', typeof size === 'number' ? size : undefined);\n setIfUnset('autocomplete', autoComplete);\n setIfUnset('list', list);\n setIfUnset('form', form);\n\n setIfUnset('formaction', formAction);\n setIfUnset('formenctype', formEnctype);\n setIfUnset('formmethod', formMethod);\n setIfUnset('formtarget', formTarget);\n\n setIfUnset('src', src);\n setIfUnset('alt', alt);\n setIfUnset('width', typeof width === 'number' ? width : undefined);\n setIfUnset('height', typeof height === 'number' ? height : undefined);\n\n setIfUnset('accept', accept);\n setIfUnset('inputmode', inputMode);\n setIfUnset('enterkeyhint', enterKeyHint);\n\n setIfUnset('popovertarget', popoverTarget);\n setIfUnset('popovertargetaction', popoverTargetAction);\n\n // Boolean attributes: presence (empty string) when true.\n if (disabled === true) setIfUnset('disabled', '');\n if (readOnly === true) setIfUnset('readonly', '');\n if (required === true) setIfUnset('required', '');\n if (multiple === true) setIfUnset('multiple', '');\n if (checked === true) setIfUnset('checked', '');\n if (autofocus === true) setIfUnset('autofocus', '');\n if (formNoValidate === true) setIfUnset('formnovalidate', '');\n\n if (capture === true) setIfUnset('capture', '');\n if (capture === 'user') setIfUnset('capture', 'user');\n if (capture === 'environment') setIfUnset('capture', 'environment');\n\n const mapped: GlobalAttrs = { ...rest, attrs: mergedAttrs };\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 if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n if (Object.keys(mergedAttrs).length === 0) {\n const { attrs: _unused, ...withoutAttrs } = mapped;\n return withoutAttrs;\n }\n\n return mapped;\n}\n\n/**\n * Create an input element with attributes.\n *\n * @remarks\n * - `<input>` is a void element; it never receives text content. :contentReference[oaicite:15]{index=15}\n * - Fundatio defaults `type` to `\"text\"` unless overridden. :contentReference[oaicite:16]{index=16}\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 `<input>` element.\n *\n * @example\n * ```ts\n * import { createInput } from \"@Vastare/Fundatio/elements/form/input\";\n *\n * const email = createInput({\n * type: \"email\",\n * name: \"email\",\n * autoComplete: \"email\",\n * inputMode: \"email\",\n * });\n * ```\n *\n * @category DOM\n */\nexport function createInput(attrs?: InputAttrs): ElementOf<typeof INPUT_TAG> {\n return createVoidElement(INPUT_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance input 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 enhanceInputs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for input.\n void root;\n}\n"],"names":["INPUT_TAG","INPUT_SELECTOR","toGlobalAttrs","attrs","aria","type","name","value","placeholder","disabled","readOnly","required","multiple","checked","min","max","step","minLength","maxLength","pattern","size","autoComplete","autofocus","list","form","formAction","formEnctype","formMethod","formNoValidate","formTarget","src","alt","width","height","accept","capture","inputMode","enterKeyHint","popoverTarget","popoverTargetAction","rest","mergedAttrs","setIfUnset","key","v","mapped","mappedAria","_unused","withoutAttrs","createInput","createVoidElement","enhanceInputs","root"],"mappings":"0CA+IaA,EAAY,QAOZC,EAAiB,QAwN9B,SAASC,EAAcC,EAAiC,CACtD,KAAM,CACJ,KAAAC,EACA,KAAAC,EACA,KAAAC,EACA,MAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,QAAAC,EACA,IAAAC,EACA,IAAAC,EACA,KAAAC,EACA,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,aAAAC,EACA,UAAAC,EACA,KAAAC,EACA,KAAAC,EACA,WAAAC,EACA,YAAAC,EACA,WAAAC,EACA,eAAAC,EACA,WAAAC,EACA,IAAAC,EACA,IAAAC,EACA,MAAAC,EACA,OAAAC,EACA,OAAAC,EACA,QAAAC,EACA,UAAAC,EACA,aAAAC,EACA,cAAAC,EACA,oBAAAC,EACA,GAAGC,CAAA,EACDrC,GAAS,CAAA,EAEPsC,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAE9DE,EAAa,CAACC,EAAaC,IAAmC,CAC9DA,IAAM,SACN,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAGAF,EAAW,OAAQrC,GAAQ,MAAM,EAEjCqC,EAAW,OAAQpC,CAAI,EACvBoC,EAAW,QAASnC,CAAK,EACzBmC,EAAW,cAAelC,CAAW,EACrCkC,EAAW,MAAO5B,CAAG,EACrB4B,EAAW,MAAO3B,CAAG,EACrB2B,EAAW,OAAQ1B,CAAI,EACvB0B,EAAW,YAAa,OAAOzB,GAAc,SAAWA,EAAY,MAAS,EAC7EyB,EAAW,YAAa,OAAOxB,GAAc,SAAWA,EAAY,MAAS,EAC7EwB,EAAW,UAAWvB,CAAO,EAC7BuB,EAAW,OAAQ,OAAOtB,GAAS,SAAWA,EAAO,MAAS,EAC9DsB,EAAW,eAAgBrB,CAAY,EACvCqB,EAAW,OAAQnB,CAAI,EACvBmB,EAAW,OAAQlB,CAAI,EAEvBkB,EAAW,aAAcjB,CAAU,EACnCiB,EAAW,cAAehB,CAAW,EACrCgB,EAAW,aAAcf,CAAU,EACnCe,EAAW,aAAcb,CAAU,EAEnCa,EAAW,MAAOZ,CAAG,EACrBY,EAAW,MAAOX,CAAG,EACrBW,EAAW,QAAS,OAAOV,GAAU,SAAWA,EAAQ,MAAS,EACjEU,EAAW,SAAU,OAAOT,GAAW,SAAWA,EAAS,MAAS,EAEpES,EAAW,SAAUR,CAAM,EAC3BQ,EAAW,YAAaN,CAAS,EACjCM,EAAW,eAAgBL,CAAY,EAEvCK,EAAW,gBAAiBJ,CAAa,EACzCI,EAAW,sBAAuBH,CAAmB,EAGjD9B,IAAa,IAAMiC,EAAW,WAAY,EAAE,EAC5ChC,IAAa,IAAMgC,EAAW,WAAY,EAAE,EAC5C/B,IAAa,IAAM+B,EAAW,WAAY,EAAE,EAC5C9B,IAAa,IAAM8B,EAAW,WAAY,EAAE,EAC5C7B,IAAY,IAAM6B,EAAW,UAAW,EAAE,EAC1CpB,IAAc,IAAMoB,EAAW,YAAa,EAAE,EAC9Cd,IAAmB,IAAMc,EAAW,iBAAkB,EAAE,EAExDP,IAAY,IAAMO,EAAW,UAAW,EAAE,EAC1CP,IAAY,QAAQO,EAAW,UAAW,MAAM,EAChDP,IAAY,eAAeO,EAAW,UAAW,aAAa,EAElE,MAAMG,EAAsB,CAAE,GAAGL,EAAM,MAAOC,CAAA,EAExCK,EAA+C,CAAA,EAWrD,GAVI1C,IACE,OAAOA,EAAK,OAAU,WAAU0C,EAAW,MAAQ1C,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAU0C,EAAW,WAAa1C,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAW0C,EAAW,OAAS1C,EAAK,SAG7D,OAAO,KAAK0C,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,GAGZ,OAAO,KAAKL,CAAW,EAAE,SAAW,EAAG,CACzC,KAAM,CAAE,MAAOM,EAAS,GAAGC,GAAiBH,EAC5C,OAAOG,CACT,CAEA,OAAOH,CACT,CA6BO,SAASI,EAAY9C,EAAiD,CAC3E,OAAO+C,oBAAkBlD,EAAWE,EAAcC,CAAK,CAAC,CAC1D,CAYO,SAASgD,EAAcC,EAAmB,SAAgB,CAGjE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const s=require("./dom.cjs"),r="label",o="label";function d(t){if(!t)return;const{aria:e,htmlFor:l,...c}=t,n={...c};if(typeof l=="string"&&l.length>0&&(n.attrs={...n.attrs??{},for:l}),!e)return n;const a={};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}function i(t,e){return s.createElement(r,d(e),t)}function b(t=document){}const f=Object.freeze(Object.defineProperty({__proto__:null,LABEL_SELECTOR:o,LABEL_TAG:r,createLabel:i,enhanceLabels:b},Symbol.toStringTag,{value:"Module"}));exports.LABEL_SELECTOR=o;exports.LABEL_TAG=r;exports.createLabel=i;exports.enhanceLabels=b;exports.index=f;
2
+ //# sourceMappingURL=index87.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index87.cjs","sources":["../../../src/elements/form/label/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Label element helpers.\n *\n * @remarks\n * The label element (`<label>`) represents a caption in a user interface and is\n * primarily used to provide an accessible name for a form control.\n *\n * Best-practice guidance:\n * - Always associate labels with their control:\n * - Prefer an explicit association using `for` (Fundatio: {@link LabelAttrs.htmlFor})\n * that matches the control's `id`.\n * - Alternatively, wrap the control inside the `<label>` element.\n * - Do not rely on placeholder text as a replacement for a visible label.\n * - Keep label text concise and descriptive.\n *\n * Attributes:\n * - `<label>` supports global attributes.\n * - The only relevant label-specific content attribute is `for`, reflected in\n * JavaScript as `htmlFor`. (The `label` element does not have a `form` content\n * attribute; it has a `form` *IDL attribute* derived from the associated control.)\n *\n * Security:\n * - Global attribute escape hatches are guarded by Fundatio's `dom.ts` helpers which\n * block inline event handler attributes (e.g. `onclick`) and raw `style`\n * attribute injection (use the `style` object field instead).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/label\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/for\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 label.\n *\n * @category Constants\n */\nexport const LABEL_TAG = 'label' as const;\n\n/**\n * A CSS selector targeting label elements.\n *\n * @category Constants\n */\nexport const LABEL_SELECTOR = 'label';\n\n/**\n * Attribute bag for label creation/enhancement.\n *\n * @remarks\n * Labels accept standard HTML global attributes.\n *\n * Label-specific:\n * - {@link LabelAttrs.htmlFor} maps to the `for` attribute, associating the label\n * with the control whose `id` matches.\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 LabelAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Associate the label with a labelable form control by ID.\n *\n * @remarks\n * This maps to the `for` content attribute.\n *\n * The value should match the `id` of a labelable element in the same document\n * tree (e.g. `<input id=\"email\">` pairs with `<label for=\"email\">`).\n */\n htmlFor?: string;\n};\n\n/**\n * Normalize {@link LabelAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The label attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: LabelAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, htmlFor, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n if (typeof htmlFor === 'string' && htmlFor.length > 0) {\n mapped.attrs = {\n ...(mapped.attrs ?? {}),\n for: htmlFor,\n };\n }\n\n if (!aria) return mapped;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n return hasMappedAria ? { ...mapped, aria: mappedAria } : mapped;\n}\n\n/**\n * Create a label 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 * @param text - Optional text content for the label.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<label>` element.\n *\n * @example\n * ```ts\n * import { createLabel } from \"@Vastare/Fundatio/elements/form/label\";\n *\n * const label = createLabel(\"Email address\", { htmlFor: \"email\" });\n * ```\n *\n * @category DOM\n */\nexport function createLabel(text?: string, attrs?: LabelAttrs): ElementOf<typeof LABEL_TAG> {\n return createElement(LABEL_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance label 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 enhanceLabels(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for label.\n void root;\n}\n"],"names":["LABEL_TAG","LABEL_SELECTOR","toGlobalAttrs","attrs","aria","htmlFor","rest","mapped","mappedAria","createLabel","text","createElement","enhanceLabels","root"],"mappings":"0CAoEaA,EAAY,QAOZC,EAAiB,QA2C9B,SAASC,EAAcC,EAA6C,CAClE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,GAAGC,GAASH,EAE7BI,EAAsB,CAAE,GAAGD,CAAA,EASjC,GAPI,OAAOD,GAAY,UAAYA,EAAQ,OAAS,IAClDE,EAAO,MAAQ,CACb,GAAIA,EAAO,OAAS,CAAA,EACpB,IAAKF,CAAA,GAIL,CAACD,EAAM,OAAOG,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOJ,EAAK,OAAU,WAAUI,EAAW,MAAQJ,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUI,EAAW,WAAaJ,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWI,EAAW,OAASJ,EAAK,QAGzC,OAAO,KAAKI,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAQ,KAAMC,GAAeD,CAC3D,CAwBO,SAASE,EAAYC,EAAeP,EAAiD,CAC1F,OAAOQ,EAAAA,cAAcX,EAAWE,EAAcC,CAAK,EAAGO,CAAI,CAC5D,CAoBO,SAASE,EAAcC,EAAmB,SAAgB,CAGjE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const i=require("./dom.cjs"),l="legend",r="legend";function c(n){if(!n)return;const{aria:e,...o}=n;if(!e)return o;const t={};return typeof e.label=="string"&&(t.label=e.label),typeof e.labelledby=="string"&&(t.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(t.hidden=e.hidden),Object.keys(t).length>0?{...o,aria:t}:o}function d(n,e){return i.createElement(l,c(e),n)}function a(n=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,LEGEND_SELECTOR:r,LEGEND_TAG:l,createLegend:d,enhanceLegends:a},Symbol.toStringTag,{value:"Module"}));exports.LEGEND_SELECTOR=r;exports.LEGEND_TAG=l;exports.createLegend=d;exports.enhanceLegends=a;exports.index=s;
2
+ //# sourceMappingURL=index88.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index88.cjs","sources":["../../../src/elements/form/legend/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Legend element helpers.\n *\n * @remarks\n * The legend element (`<legend>`) represents a caption for the content of its\n * parent `<fieldset>`. It is commonly used to label groups of related form\n * controls (e.g. radio-button groups), improving clarity and accessibility.\n *\n * Best-practice guidance:\n * - Use `<legend>` as the first child of a `<fieldset>` to label the group.\n * - Keep legend text concise and meaningful (it is typically announced with\n * grouped controls by assistive technologies).\n * - Avoid using `<legend>` purely for layout; use CSS for styling/spacing.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<legend>` 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 * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend\n * @see https://www.w3.org/WAI/tutorials/forms/grouping/\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 * The semantic tag name for legend.\n *\n * @category Constants\n */\nexport const LEGEND_TAG = 'legend' as const;\n\n/**\n * A CSS selector targeting legend elements.\n *\n * @category Constants\n */\nexport const LEGEND_SELECTOR = 'legend';\n\n/**\n * Attribute bag for legend creation/enhancement.\n *\n * @remarks\n * Legend 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 * @category Attributes\n */\nexport type LegendAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link LegendAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The legend attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: LegendAttrs): 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 legend element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 legend.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<legend>` element.\n *\n * @example\n * ```ts\n * import { createLegend } from \"@Vastare/Fundatio/elements/form/legend\";\n *\n * const legend = createLegend(\"Delivery address\");\n * ```\n *\n * @category DOM\n */\nexport function createLegend(text?: string, attrs?: LegendAttrs): ElementOf<typeof LEGEND_TAG> {\n return createElement(LEGEND_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance legend 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 enhanceLegends(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for legend.\n void root;\n}\n"],"names":["LEGEND_TAG","LEGEND_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createLegend","text","createElement","enhanceLegends","root"],"mappings":"0CAgEaA,EAAa,SAObC,EAAkB,SA4B/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAwBO,SAASE,EAAaC,EAAeL,EAAmD,CAC7F,OAAOM,EAAAA,cAAcT,EAAYE,EAAcC,CAAK,EAAGK,CAAI,CAC7D,CAoBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const T=require("./dom.cjs"),l="meter",h="meter";function _(n){const r=n??{},{aria:e,value:a,min:s,max:c,low:f,high:m,optimum:u,form:b,...d}=r,i={...d.attrs??{}},t=(y,E)=>{E!==void 0&&(Object.prototype.hasOwnProperty.call(i,y)||(i[y]=E))};t("min",typeof s=="number"?s:0),t("max",typeof c=="number"?c:1),t("value",typeof a=="number"?a:0),t("low",typeof f=="number"?f:void 0),t("high",typeof m=="number"?m:void 0),t("optimum",typeof u=="number"?u:void 0),t("form",typeof b=="string"?b:void 0);const o={};e&&(typeof e.label=="string"&&(o.label=e.label),typeof e.labelledby=="string"&&(o.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(o.hidden=e.hidden));const p={...d,attrs:i};return Object.keys(o).length>0&&(p.aria=o),p}function g(n,r){return T.createElement(l,_(r),n)}function M(n=document){}const v=Object.freeze(Object.defineProperty({__proto__:null,METER_SELECTOR:h,METER_TAG:l,createMeter:g,enhanceMeters:M},Symbol.toStringTag,{value:"Module"}));exports.METER_SELECTOR=h;exports.METER_TAG=l;exports.createMeter=g;exports.enhanceMeters=M;exports.index=v;
2
+ //# sourceMappingURL=index89.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index89.cjs","sources":["../../../src/elements/form/meter/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Meter element helpers.\n *\n * @remarks\n * The meter element (`<meter>`) represents a scalar measurement within a known range,\n * or a fractional value.\n *\n * Best-practice guidance:\n * - Use `<meter>` for a known-range measurement (e.g. disk usage, score, relevance).\n * - Do NOT use `<meter>` for task progress. Use `<progress>` for progress indication.\n * - Provide fallback text content for user agents that don't render `<meter>`.\n * - Define `min`/`max` if your `value` is not in the default 0..1 range.\n * - Use `low`/`high`/`optimum` only when you actually want \"good/bad\" semantics.\n *\n * Fundatio notes:\n * - This module is framework-agnostic and has no side effects.\n * - Global attributes are applied via Fundatio's shared DOM helper, which blocks:\n * - inline event handler attributes (e.g. `onclick`)\n * - raw `style` attribute injection (use the `style` object instead)\n * - Text passed to factories is assigned via `textContent` (never `innerHTML`).\n *\n * References:\n * - MDN: `<meter>` element\n * - WHATWG HTML: meter attributes and behavior\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 * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for meter.\n *\n * @category Constants\n */\nexport const METER_TAG = 'meter' as const;\n\n/**\n * A CSS selector targeting meter elements.\n *\n * @category Constants\n */\nexport const METER_SELECTOR = 'meter';\n\n/**\n * Attribute bag for meter creation/enhancement.\n *\n * @remarks\n * Supported element-specific attributes:\n * - `value`, `min`, `max`, `low`, `high`, `optimum`\n * - `form` (associates the meter with a form owner by ID)\n *\n * Defaults (documented platform behavior):\n * - `min` defaults to `0` when omitted\n * - `max` defaults to `1` when omitted\n * - `value` defaults to `0` when omitted or malformed\n *\n * Fundatio applies these defaults as explicit attributes to keep output predictable\n * and testable even in node-based DOM shims.\n *\n * @category Attributes\n */\nexport type MeterAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Current numeric value.\n *\n * @remarks\n * Should be within `[min, max]` when those are defined.\n */\n value?: number;\n\n /**\n * Lower numeric bound of the range. Defaults to `0`.\n */\n min?: number;\n\n /**\n * Upper numeric bound of the range. Defaults to `1`.\n */\n max?: number;\n\n /**\n * Upper numeric bound of the low end of the range.\n */\n low?: number;\n\n /**\n * Lower numeric bound of the high end of the range.\n */\n high?: number;\n\n /**\n * The optimal value within the range.\n */\n optimum?: number;\n\n /**\n * Associates the meter with a form element by ID.\n *\n * @remarks\n * Mirrors the HTML `form` attribute used by form-associated elements.\n */\n form?: string;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link MeterAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * - Preserves caller-provided `attrs` escape hatch (still validated by `dom.ts`).\n * - Element-specific attributes are merged into `attrs` without overwriting keys\n * explicitly provided by the caller.\n * - Applies predictable defaults for `min`, `max`, and `value` even if callers\n * omit the `attrs` bag entirely.\n *\n * @param attrs - The meter attributes.\n * @returns A {@link GlobalAttrs} object.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: MeterAttrs): GlobalAttrs {\n const a: MeterAttrs = attrs ?? {};\n\n const { aria, value, min, max, low, high, optimum, form, ...rest } = a;\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, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n // Defaults: make output deterministic even when attrs is omitted.\n setIfUnset('min', typeof min === 'number' ? min : 0);\n setIfUnset('max', typeof max === 'number' ? max : 1);\n setIfUnset('value', typeof value === 'number' ? value : 0);\n\n // Optional meter semantics.\n setIfUnset('low', typeof low === 'number' ? low : undefined);\n setIfUnset('high', typeof high === 'number' ? high : undefined);\n setIfUnset('optimum', typeof optimum === 'number' ? optimum : undefined);\n\n // Form association.\n setIfUnset('form', typeof form === 'string' ? form : undefined);\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 next: GlobalAttrs = { ...rest, attrs: mergedAttrs };\n\n if (Object.keys(mappedAria).length > 0) {\n next.aria = mappedAria;\n }\n\n return next;\n}\n\n/**\n * Create a meter 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 for user agents that don't render `<meter>`.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<meter>` element.\n *\n * @category DOM\n */\nexport function createMeter(text?: string, attrs?: MeterAttrs): ElementOf<typeof METER_TAG> {\n return createElement(METER_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance meter 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 enhanceMeters(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for meter.\n void root;\n}\n"],"names":["METER_TAG","METER_SELECTOR","toGlobalAttrs","attrs","a","aria","value","min","max","low","high","optimum","form","rest","mergedAttrs","setIfUnset","key","v","mappedAria","next","createMeter","text","createElement","enhanceMeters","root"],"mappings":"0CAgEaA,EAAY,QAOZC,EAAiB,QAmF9B,SAASC,EAAcC,EAAiC,CACtD,MAAMC,EAAgBD,GAAS,CAAA,EAEzB,CAAE,KAAAE,EAAM,MAAAC,EAAO,IAAAC,EAAK,IAAAC,EAAK,IAAAC,EAAK,KAAAC,EAAM,QAAAC,EAAS,KAAAC,EAAM,GAAGC,CAAA,EAAST,EAG/DU,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAG9DE,EAAa,CAACC,EAAaC,IAAmC,CAC9DA,IAAM,SACN,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAGAF,EAAW,MAAO,OAAOR,GAAQ,SAAWA,EAAM,CAAC,EACnDQ,EAAW,MAAO,OAAOP,GAAQ,SAAWA,EAAM,CAAC,EACnDO,EAAW,QAAS,OAAOT,GAAU,SAAWA,EAAQ,CAAC,EAGzDS,EAAW,MAAO,OAAON,GAAQ,SAAWA,EAAM,MAAS,EAC3DM,EAAW,OAAQ,OAAOL,GAAS,SAAWA,EAAO,MAAS,EAC9DK,EAAW,UAAW,OAAOJ,GAAY,SAAWA,EAAU,MAAS,EAGvEI,EAAW,OAAQ,OAAOH,GAAS,SAAWA,EAAO,MAAS,EAE9D,MAAMM,EAA+C,CAAA,EACjDb,IACE,OAAOA,EAAK,OAAU,WAAUa,EAAW,MAAQb,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUa,EAAW,WAAab,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWa,EAAW,OAASb,EAAK,SAGjE,MAAMc,EAAoB,CAAE,GAAGN,EAAM,MAAOC,CAAA,EAE5C,OAAI,OAAO,KAAKI,CAAU,EAAE,OAAS,IACnCC,EAAK,KAAOD,GAGPC,CACT,CAiBO,SAASC,EAAYC,EAAelB,EAAiD,CAC1F,OAAOmB,EAAAA,cAActB,EAAWE,EAAcC,CAAK,EAAGkB,CAAI,CAC5D,CAYO,SAASE,EAAcC,EAAmB,SAAgB,CAGjE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("./index74.cjs"),t=require("./index75.cjs"),i=require("./index76.cjs"),l=require("./index77.cjs"),n=require("./index78.cjs"),s=require("./index79.cjs"),d=Object.freeze(Object.defineProperty({__proto__:null,dd:e.index,dl:t.index,dt:i.index,li:l.index,ol:n.index,ul:s.index},Symbol.toStringTag,{value:"Module"}));exports.index=d;
2
+ //# sourceMappingURL=index9.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index9.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";const b=require("./dom.cjs"),a="optgroup",p="optgroup";function O(r,l){const{aria:e,disabled:d,...i}=l??{},o={};e&&(typeof e.label=="string"&&(o.label=e.label),typeof e.labelledby=="string"&&(o.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(o.hidden=e.hidden));const t={...i.attrs??{}};Object.prototype.hasOwnProperty.call(t,"label")||(t.label=r),d===!0&&!Object.prototype.hasOwnProperty.call(t,"disabled")&&(t.disabled="");const n={...i};return Object.keys(t).length>0&&(n.attrs=t),Object.keys(o).length>0&&(n.aria=o),n}function c(r,l){return b.createElement(a,O(r,l))}function s(r=document){}const u=Object.freeze(Object.defineProperty({__proto__:null,OPTGROUP_SELECTOR:p,OPTGROUP_TAG:a,createOptgroup:c,enhanceOptgroups:s},Symbol.toStringTag,{value:"Module"}));exports.OPTGROUP_SELECTOR=p;exports.OPTGROUP_TAG=a;exports.createOptgroup=c;exports.enhanceOptgroups=s;exports.index=u;
2
+ //# sourceMappingURL=index90.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index90.cjs","sources":["../../../src/elements/form/optgroup/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Optgroup element helpers.\n *\n * @remarks\n * The optgroup element (`<optgroup>`) groups related `<option>` elements within\n * a `<select>`, allowing user agents to present grouped choices with a label.\n * :contentReference[oaicite:3]{index=3}\n *\n * Best-practice guidance:\n * - Always provide a meaningful `label`. MDN notes this attribute is mandatory\n * when the element is used. Fundatio enforces this by requiring `label` when\n * creating an optgroup. :contentReference[oaicite:4]{index=4}\n * - Use `disabled` to disable all options within the group when appropriate.\n * :contentReference[oaicite:5]{index=5}\n * - Prefer native semantics; avoid ARIA where native semantics already apply.\n *\n * Fundatio-specific conventions:\n * - Requires `label` at creation time to avoid invalid/anonymous optgroups.\n * - Applies global attributes via Fundatio's hardened DOM helpers (`dom.ts`), which\n * block inline event handler attributes (e.g. `onclick`) and the raw `style`\n * attribute string.\n * - Supports a small structured ARIA input to reduce typo-based ARIA bugs.\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type 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 mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference(s) to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for option groups.\n *\n * @category Constants\n */\nexport const OPTGROUP_TAG = 'optgroup' as const;\n\n/**\n * A CSS selector targeting optgroup elements.\n *\n * @category Constants\n */\nexport const OPTGROUP_SELECTOR = 'optgroup';\n\n/**\n * Attribute bag for optgroup creation/enhancement.\n *\n * @remarks\n * `<optgroup>` accepts global attributes plus:\n * - `disabled` (boolean attribute)\n *\n * The `label` attribute is mandatory for meaningful use. Fundatio requires the label\n * as a separate argument in {@link createOptgroup}. :contentReference[oaicite:6]{index=6}\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, mapped into\n * {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type OptgroupAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Disables the option group when true.\n *\n * @remarks\n * When disabled, none of the options in the group are selectable. :contentReference[oaicite:7]{index=7}\n */\n disabled?: boolean;\n};\n\n/**\n * Normalize {@link OptgroupAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param label - The required optgroup label, mapped to the `label` attribute.\n * @param attrs - The optgroup attributes.\n * @returns A {@link GlobalAttrs} object containing mapped attributes.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(label: string, attrs?: OptgroupAttrs): GlobalAttrs {\n const { aria, disabled, ...rest } = attrs ?? {};\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\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 mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rest.attrs ?? {}) };\n\n // Always set the mandatory label attribute unless explicitly overridden via raw attrs.\n if (!Object.prototype.hasOwnProperty.call(mergedAttrs, 'label')) {\n mergedAttrs.label = label;\n }\n\n // Boolean attribute by presence when true.\n if (disabled === true && !Object.prototype.hasOwnProperty.call(mergedAttrs, 'disabled')) {\n mergedAttrs.disabled = '';\n }\n\n const mapped: GlobalAttrs = { ...rest };\n\n if (Object.keys(mergedAttrs).length > 0) mapped.attrs = mergedAttrs;\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n return mapped;\n}\n\n/**\n * Create an optgroup element with a required label and optional attributes.\n *\n * @remarks\n * - The label is mapped to the `label` attribute (required for meaningful use). :contentReference[oaicite:8]{index=8}\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 label - The optgroup label shown by the user agent.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<optgroup>` element.\n *\n * @example\n * ```ts\n * import { createOptgroup } from \"@Vastare/Fundatio/elements/form/optgroup\";\n *\n * const g = createOptgroup(\"Fruits\", { disabled: false });\n * ```\n *\n * @category DOM\n */\nexport function createOptgroup(\n label: string,\n attrs?: OptgroupAttrs,\n): ElementOf<typeof OPTGROUP_TAG> {\n return createElement(OPTGROUP_TAG, toGlobalAttrs(label, attrs));\n}\n\n/**\n * Enhance optgroup 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 enhanceOptgroups(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for optgroup.\n void root;\n}\n"],"names":["OPTGROUP_TAG","OPTGROUP_SELECTOR","toGlobalAttrs","label","attrs","aria","disabled","rest","mappedAria","mergedAttrs","mapped","createOptgroup","createElement","enhanceOptgroups","root"],"mappings":"0CA8DaA,EAAe,WAOfC,EAAoB,WAyCjC,SAASC,EAAcC,EAAeC,EAAoC,CACxE,KAAM,CAAE,KAAAC,EAAM,SAAAC,EAAU,GAAGC,CAAA,EAASH,GAAS,CAAA,EAEvCI,EAA+C,CAAA,EAEjDH,IACE,OAAOA,EAAK,OAAU,WAAUG,EAAW,MAAQH,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUG,EAAW,WAAaH,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWG,EAAW,OAASH,EAAK,SAGjE,MAAMI,EAAiD,CAAE,GAAIF,EAAK,OAAS,CAAA,CAAC,EAGvE,OAAO,UAAU,eAAe,KAAKE,EAAa,OAAO,IAC5DA,EAAY,MAAQN,GAIlBG,IAAa,IAAQ,CAAC,OAAO,UAAU,eAAe,KAAKG,EAAa,UAAU,IACpFA,EAAY,SAAW,IAGzB,MAAMC,EAAsB,CAAE,GAAGH,CAAA,EAEjC,OAAI,OAAO,KAAKE,CAAW,EAAE,OAAS,MAAU,MAAQA,GAEpD,OAAO,KAAKD,CAAU,EAAE,OAAS,IACnCE,EAAO,KAAOF,GAGTE,CACT,CAwBO,SAASC,EACdR,EACAC,EACgC,CAChC,OAAOQ,EAAAA,cAAcZ,EAAcE,EAAcC,EAAOC,CAAK,CAAC,CAChE,CAYO,SAASS,EAAiBC,EAAmB,SAAgB,CAGpE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const u=require("./dom.cjs"),r="option",s="option";function O(n){if(!n)return;const{aria:e,value:a,label:l,disabled:p,selected:b,...f}=n,i={...f},t={...i.attrs??{}};if(typeof a=="string"&&(t.value=a),typeof l=="string"&&(t.label=l),p===!0&&(t.disabled=!0),b===!0&&(t.selected=!0),Object.keys(t).length>0&&(i.attrs=t),!e)return i;const o={};return typeof e.label=="string"&&(o.label=e.label),typeof e.labelledby=="string"&&(o.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(o.hidden=e.hidden),Object.keys(o).length>0?{...i,aria:o}:i}function d(n,e){return u.createElement(r,O(e),n)}function c(n=document){}const y=Object.freeze(Object.defineProperty({__proto__:null,OPTION_SELECTOR:s,OPTION_TAG:r,createOption:d,enhanceOptions:c},Symbol.toStringTag,{value:"Module"}));exports.OPTION_SELECTOR=s;exports.OPTION_TAG=r;exports.createOption=d;exports.enhanceOptions=c;exports.index=y;
2
+ //# sourceMappingURL=index91.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index91.cjs","sources":["../../../src/elements/form/option/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Option element helpers.\n *\n * @remarks\n * The option element (`<option>`) defines an item within a `<select>`, `<optgroup>`,\n * or `<datalist>` element.\n *\n * Best-practice guidance:\n * - Prefer providing a `value` for form submission semantics. If `value` is omitted,\n * the option's value typically falls back to its text content.\n * - Use `label` when you need a shorter label for UI display or accessibility hints,\n * but keep the option text clear and readable.\n * - Use `disabled` to prevent selection of an option (or to mark placeholders as\n * unavailable).\n * - Use `selected` to mark the default selection in a `<select>` (usually one\n * option should be selected by default).\n *\n * Attributes:\n * - `value` (string): the value submitted/used when selected.\n * - `label` (string): a label for the option.\n * - `disabled` (boolean): whether the option is unavailable.\n * - `selected` (boolean): whether the option is selected by default.\n *\n * Security:\n * - Global attribute escape hatches are guarded by Fundatio's `dom.ts` helpers which\n * block inline event handler attributes (e.g. `onclick`) and raw `style`\n * attribute injection (use the `style` object field instead).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/option\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 option.\n *\n * @category Constants\n */\nexport const OPTION_TAG = 'option' as const;\n\n/**\n * A CSS selector targeting option elements.\n *\n * @category Constants\n */\nexport const OPTION_SELECTOR = 'option';\n\n/**\n * Attribute bag for option creation/enhancement.\n *\n * @remarks\n * Options accept standard HTML global attributes plus a small set of option-specific\n * content 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 OptionAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The option value.\n *\n * @remarks\n * If omitted, user agents commonly derive a value from the option's text.\n */\n value?: string;\n\n /**\n * A label for the option.\n *\n * @remarks\n * When present, this may be used by user agents as the option's label instead\n * of the text content in certain contexts.\n */\n label?: string;\n\n /**\n * Whether the option is disabled.\n */\n disabled?: boolean;\n\n /**\n * Whether the option is selected by default.\n *\n * @remarks\n * For `<select>`, `selected` commonly indicates the default selected option on\n * initial load. If multiple options are marked selected, browser behavior varies;\n * prefer a single default selection unless using a multi-select.\n */\n selected?: boolean;\n};\n\n/**\n * Normalize {@link OptionAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The option attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: OptionAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, value, label, disabled, selected, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n const extra: NonNullable<GlobalAttrs['attrs']> = { ...(mapped.attrs ?? {}) };\n\n if (typeof value === 'string') extra.value = value;\n if (typeof label === 'string') extra.label = label;\n\n if (disabled === true) extra.disabled = true;\n if (selected === true) extra.selected = true;\n\n // Only attach `attrs` if something was actually defined/added.\n if (Object.keys(extra).length > 0) {\n mapped.attrs = extra;\n }\n\n if (!aria) return mapped;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n return hasMappedAria ? { ...mapped, aria: mappedAria } : mapped;\n}\n\n/**\n * Create an option element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes and escape-hatch attributes are applied via Fundatio's shared\n * DOM helper, including security guards that block inline event handler\n * attributes (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the option.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<option>` element.\n *\n * @example\n * ```ts\n * import { createOption } from \"@Vastare/Fundatio/elements/form/option\";\n *\n * const opt = createOption(\"United Kingdom\", { value: \"UK\" });\n * ```\n *\n * @category DOM\n */\nexport function createOption(text?: string, attrs?: OptionAttrs): ElementOf<typeof OPTION_TAG> {\n return createElement(OPTION_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance option 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 enhanceOptions(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for option.\n void root;\n}\n"],"names":["OPTION_TAG","OPTION_SELECTOR","toGlobalAttrs","attrs","aria","value","label","disabled","selected","rest","mapped","extra","mappedAria","createOption","text","createElement","enhanceOptions","root"],"mappings":"0CAqEaA,EAAa,SAObC,EAAkB,SA6D/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,MAAAC,EAAO,SAAAC,EAAU,SAAAC,EAAU,GAAGC,GAASN,EAEtDO,EAAsB,CAAE,GAAGD,CAAA,EAE3BE,EAA2C,CAAE,GAAID,EAAO,OAAS,CAAA,CAAC,EAaxE,GAXI,OAAOL,GAAU,WAAUM,EAAM,MAAQN,GACzC,OAAOC,GAAU,WAAUK,EAAM,MAAQL,GAEzCC,IAAa,KAAMI,EAAM,SAAW,IACpCH,IAAa,KAAMG,EAAM,SAAW,IAGpC,OAAO,KAAKA,CAAK,EAAE,OAAS,IAC9BD,EAAO,MAAQC,GAGb,CAACP,EAAM,OAAOM,EAElB,MAAME,EAA+C,CAAA,EAErD,OAAI,OAAOR,EAAK,OAAU,WAAUQ,EAAW,MAAQR,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUQ,EAAW,WAAaR,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWQ,EAAW,OAASR,EAAK,QAEzC,OAAO,KAAKQ,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGF,EAAQ,KAAME,GAAeF,CAC3D,CAwBO,SAASG,EAAaC,EAAeX,EAAmD,CAC7F,OAAOY,EAAAA,cAAcf,EAAYE,EAAcC,CAAK,EAAGW,CAAI,CAC7D,CAoBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const m=require("./dom.cjs"),i="output",u="output";function y(e){if(!e)return;const{aria:t,for:p,form:b,name:O,...s}=e,o={...s.attrs??{}},r=(l,c)=>{c!==void 0&&(Object.prototype.hasOwnProperty.call(o,l)||(o[l]=c))};r("for",p),r("form",b),r("name",O);const n={};t&&(typeof t.label=="string"&&(n.label=t.label),typeof t.labelledby=="string"&&(n.labelledby=t.labelledby),typeof t.hidden=="boolean"&&(n.hidden=t.hidden));const T=Object.keys(o).length>0,h=Object.keys(n).length>0,a={...s};return T&&(a.attrs=o),h&&(a.aria=n),a}function f(e,t){return m.createElement(i,y(t),e)}function d(e=document){}const U=Object.freeze(Object.defineProperty({__proto__:null,OUTPUT_SELECTOR:u,OUTPUT_TAG:i,createOutput:f,enhanceOutputs:d},Symbol.toStringTag,{value:"Module"}));exports.OUTPUT_SELECTOR=u;exports.OUTPUT_TAG=i;exports.createOutput=f;exports.enhanceOutputs=d;exports.index=U;
2
+ //# sourceMappingURL=index92.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index92.cjs","sources":["../../../src/elements/form/output/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Output element helpers.\n *\n * @remarks\n * The output element (`<output>`) represents the result of a calculation or a\n * user action, commonly used in forms to display derived values without\n * requiring focus changes.\n *\n * Best-practice guidance:\n * - Use `<output>` for computed results derived from form controls.\n * - Use the `for` attribute to associate the output with the control(s) whose\n * values it reflects (space-separated list of element IDs).\n * - Prefer semantic HTML and native behavior over ARIA. Many browsers treat\n * `<output>` as an ARIA live region, so updating its text may be announced by\n * assistive technologies without moving focus.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create outputs 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 * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/for\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/form\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 * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for output.\n *\n * @category Constants\n */\nexport const OUTPUT_TAG = 'output' as const;\n\n/**\n * A CSS selector targeting output elements.\n *\n * @category Constants\n */\nexport const OUTPUT_SELECTOR = 'output';\n\n/**\n * Attribute bag for output creation/enhancement.\n *\n * @remarks\n * Output accepts standard HTML global attributes plus output-specific\n * attributes (`for`, `form`, `name`).\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 OutputAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Space-separated list of element IDs whose values contributed to the output.\n *\n * @remarks\n * This maps to the `for` attribute (yes, the HTML attribute is literally\n * called `for`).\n */\n for?: string;\n\n /**\n * Associates the output with a form element by ID, even if not a descendant.\n */\n form?: string;\n\n /**\n * Name of the output (useful in form-associated contexts).\n */\n name?: string;\n};\n\n/**\n * Normalize {@link OutputAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The output attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: OutputAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, for: htmlFor, form, name, ...rest } = attrs;\n\n // Start with any caller-provided attrs escape hatch (still validated by dom.ts).\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\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('for', htmlFor);\n setIfUnset('form', form);\n setIfUnset('name', name);\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n const next: GlobalAttrs = { ...rest };\n if (hasMergedAttrs) next.attrs = mergedAttrs;\n if (hasMappedAria) next.aria = mappedAria;\n\n return next;\n}\n\n/**\n * Create an output 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 * @param text - Optional text content for the output.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<output>` element.\n *\n * @example\n * ```ts\n * import { createOutput } from \"@Vastare/Fundatio/elements/form/output\";\n *\n * const out = createOutput(\"0\", { name: \"result\", for: \"a b\" });\n * ```\n *\n * @category DOM\n */\nexport function createOutput(text?: string, attrs?: OutputAttrs): ElementOf<typeof OUTPUT_TAG> {\n return createElement(OUTPUT_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance output 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 enhanceOutputs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for output.\n void root;\n}\n"],"names":["OUTPUT_TAG","OUTPUT_SELECTOR","toGlobalAttrs","attrs","aria","htmlFor","form","name","rest","mergedAttrs","setIfUnset","key","value","mappedAria","hasMergedAttrs","hasMappedAria","next","createOutput","text","createElement","enhanceOutputs","root"],"mappings":"0CAmEaA,EAAa,SAObC,EAAkB,SAgD/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,IAAKC,EAAS,KAAAC,EAAM,KAAAC,EAAM,GAAGC,GAASL,EAG9CM,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAE9DE,EAAa,CAACC,EAAaC,IAAuC,CAClEA,IAAU,SACV,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAEAF,EAAW,MAAOL,CAAO,EACzBK,EAAW,OAAQJ,CAAI,EACvBI,EAAW,OAAQH,CAAI,EAEvB,MAAMM,EAA+C,CAAA,EACjDT,IACE,OAAOA,EAAK,OAAU,WAAUS,EAAW,MAAQT,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUS,EAAW,WAAaT,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWS,EAAW,OAAST,EAAK,SAGjE,MAAMU,EAAiB,OAAO,KAAKL,CAAW,EAAE,OAAS,EACnDM,EAAgB,OAAO,KAAKF,CAAU,EAAE,OAAS,EAEjDG,EAAoB,CAAE,GAAGR,CAAA,EAC/B,OAAIM,MAAqB,MAAQL,GAC7BM,MAAoB,KAAOF,GAExBG,CACT,CAwBO,SAASC,EAAaC,EAAef,EAAmD,CAC7F,OAAOgB,EAAAA,cAAcnB,EAAYE,EAAcC,CAAK,EAAGe,CAAI,CAC7D,CAoBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const O=require("./dom.cjs"),i="progress",u="progress";function S(t){if(!t)return;const{aria:e,value:l,max:n,...c}=t,o={...c.attrs??{}},s=(d,b)=>{b!==void 0&&(Object.prototype.hasOwnProperty.call(o,d)||(o[d]=b))},f=typeof l=="number";f&&s("value",l),f?s("max",typeof n=="number"?n:1):s("max",typeof n=="number"?n:void 0);const r={};e&&(typeof e.label=="string"&&(r.label=e.label),typeof e.labelledby=="string"&&(r.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(r.hidden=e.hidden));const y=Object.keys(o).length>0,m=Object.keys(r).length>0,a={...c};return y&&(a.attrs=o),m&&(a.aria=r),a}function p(t,e){return O.createElement(i,S(e),t)}function g(t=document){}const h=Object.freeze(Object.defineProperty({__proto__:null,PROGRESS_SELECTOR:u,PROGRESS_TAG:i,createProgress:p,enhanceProgresses:g},Symbol.toStringTag,{value:"Module"}));exports.PROGRESS_SELECTOR=u;exports.PROGRESS_TAG=i;exports.createProgress=p;exports.enhanceProgresses=g;exports.index=h;
2
+ //# sourceMappingURL=index93.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index93.cjs","sources":["../../../src/elements/form/progress/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Progress element helpers.\n *\n * @remarks\n * The progress element (`<progress>`) represents the completion progress of a task.\n *\n * Best-practice guidance:\n * - Use `<progress>` to represent task completion (downloads, uploads, multi-step flows).\n * - If the amount of work is unknown, omit `value` to produce an indeterminate progress bar.\n * - Provide fallback text content for user agents that don't render `<progress>`.\n * - When using a determinate progress bar, set `value` and (usually) `max`.\n *\n * Fundatio notes:\n * - This module is framework-agnostic and has no side effects.\n * - Global attributes are applied via Fundatio's shared DOM helper, which blocks:\n * - inline event handler attributes (e.g. `onclick`)\n * - raw `style` attribute injection (use the `style` object instead)\n * - Text passed to factories is assigned via `textContent` (never `innerHTML`).\n *\n * References:\n * - MDN: `<progress>` element\n * - WHATWG HTML: `progress` element IDL and defaults (`max` defaults to 1.0)\n * - MDN: `:indeterminate` and indeterminate `<progress>` when `value` is absent\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 progress.\n *\n * @category Constants\n */\nexport const PROGRESS_TAG = 'progress' as const;\n\n/**\n * A CSS selector targeting progress elements.\n *\n * @category Constants\n */\nexport const PROGRESS_SELECTOR = 'progress';\n\n/**\n * Attribute bag for progress creation/enhancement.\n *\n * @remarks\n * Supported element-specific attributes:\n * - `value` (optional): when omitted, the progress bar is indeterminate\n * - `max` (optional): defaults to 1.0 when omitted (platform default)\n *\n * Fundatio behavior:\n * - If `value` is omitted, Fundatio does NOT set it, preserving indeterminate semantics.\n * - If `value` is provided and `max` is omitted, Fundatio applies `max=1` explicitly\n * for predictable, testable output in node-based environments.\n *\n * @category Attributes\n */\nexport type ProgressAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Current progress value.\n *\n * @remarks\n * If omitted, the progress bar is indeterminate.\n */\n value?: number;\n\n /**\n * Maximum value. Must be greater than 0.\n *\n * @remarks\n * Defaults to 1.0 when omitted (platform default).\n */\n max?: number;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link ProgressAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * - Preserves caller-provided `attrs` escape hatch (still validated by `dom.ts`).\n * - Element-specific attributes are merged into `attrs` without overwriting keys\n * explicitly provided by the caller.\n * - Does NOT default `value` (keeps indeterminate semantics).\n * - Defaults `max` to `1` only when `value` is provided and caller did not supply `max`.\n *\n * @param attrs - The progress attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ProgressAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, value, max, ...rest } = attrs;\n\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n const setIfUnset = (key: string, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n // Preserve indeterminate semantics: only set `value` if explicitly provided.\n const hasValue = typeof value === 'number';\n if (hasValue) setIfUnset('value', value);\n\n // Only default `max` in determinate mode.\n if (hasValue) {\n setIfUnset('max', typeof max === 'number' ? max : 1);\n } else {\n // If caller explicitly provides max (or via escape hatch), allow it.\n setIfUnset('max', typeof max === 'number' ? max : undefined);\n }\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n const next: GlobalAttrs = { ...rest };\n if (hasMergedAttrs) next.attrs = mergedAttrs;\n if (hasMappedAria) next.aria = mappedAria;\n\n return next;\n}\n\n/**\n * Create a progress element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 for user agents that don't render `<progress>`.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<progress>` element.\n *\n * @example\n * Indeterminate progress:\n * ```ts\n * createProgress(\"Loading...\");\n * ```\n *\n * @example\n * Determinate progress:\n * ```ts\n * createProgress(undefined, { value: 30, max: 100 });\n * ```\n *\n * @category DOM\n */\nexport function createProgress(\n text?: string,\n attrs?: ProgressAttrs,\n): ElementOf<typeof PROGRESS_TAG> {\n return createElement(PROGRESS_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance progress elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceProgresses(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for progress.\n void root;\n}\n"],"names":["PROGRESS_TAG","PROGRESS_SELECTOR","toGlobalAttrs","attrs","aria","value","max","rest","mergedAttrs","setIfUnset","key","v","hasValue","mappedAria","hasMergedAttrs","hasMappedAria","next","createProgress","text","createElement","enhanceProgresses","root"],"mappings":"0CA+DaA,EAAe,WAOfC,EAAoB,WAuDjC,SAASC,EAAcC,EAAgD,CACrE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,IAAAC,EAAK,GAAGC,GAASJ,EAEhCK,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAE9DE,EAAa,CAACC,EAAaC,IAAmC,CAC9DA,IAAM,SACN,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAGMC,EAAW,OAAOP,GAAU,SAC9BO,GAAUH,EAAW,QAASJ,CAAK,EAGnCO,EACFH,EAAW,MAAO,OAAOH,GAAQ,SAAWA,EAAM,CAAC,EAGnDG,EAAW,MAAO,OAAOH,GAAQ,SAAWA,EAAM,MAAS,EAG7D,MAAMO,EAA+C,CAAA,EACjDT,IACE,OAAOA,EAAK,OAAU,WAAUS,EAAW,MAAQT,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUS,EAAW,WAAaT,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWS,EAAW,OAAST,EAAK,SAGjE,MAAMU,EAAiB,OAAO,KAAKN,CAAW,EAAE,OAAS,EACnDO,EAAgB,OAAO,KAAKF,CAAU,EAAE,OAAS,EAEjDG,EAAoB,CAAE,GAAGT,CAAA,EAC/B,OAAIO,MAAqB,MAAQN,GAC7BO,MAAoB,KAAOF,GAExBG,CACT,CA6BO,SAASC,EACdC,EACAf,EACgC,CAChC,OAAOgB,EAAAA,cAAcnB,EAAcE,EAAcC,CAAK,EAAGe,CAAI,CAC/D,CAYO,SAASE,EAAkBC,EAAmB,SAAgB,CAGrE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const O=require("./dom.cjs"),l="select",u="select";function _(n){if(!n)return;const{aria:r,name:b,form:m,disabled:p,required:E,multiple:y,size:a,autofocus:S,autoComplete:T,dirName:h,...c}=n,o={...c.attrs??{}},e=(t,s)=>{s!==void 0&&(Object.prototype.hasOwnProperty.call(o,t)||(o[t]=s))};e("name",b),e("form",m),typeof a=="number"&&e("size",a),e("autocomplete",T),e("dirname",h),p===!0&&e("disabled",""),E===!0&&e("required",""),y===!0&&e("multiple",""),S===!0&&e("autofocus","");const i={...c};if(Object.keys(o).length>0&&(i.attrs=o),r){const t={};typeof r.label=="string"&&(t.label=r.label),typeof r.labelledby=="string"&&(t.labelledby=r.labelledby),typeof r.hidden=="boolean"&&(t.hidden=r.hidden),Object.keys(t).length>0&&(i.aria=t)}return i}function d(n){return O.createElement(l,_(n))}function f(n=document){}const g=Object.freeze(Object.defineProperty({__proto__:null,SELECT_SELECTOR:u,SELECT_TAG:l,createSelect:d,enhanceSelects:f},Symbol.toStringTag,{value:"Module"}));exports.SELECT_SELECTOR=u;exports.SELECT_TAG=l;exports.createSelect=d;exports.enhanceSelects=f;exports.index=g;
2
+ //# sourceMappingURL=index94.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index94.cjs","sources":["../../../src/elements/form/select/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Select element helpers.\n *\n * @remarks\n * The select element (`<select>`) is a form control for choosing one or more\n * options from a list, typically expressed via child `<option>` and `<optgroup>`\n * elements. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n *\n * Best-practice guidance:\n * - Provide an accessible name via a `<label>` or ARIA labelling.\n * - Prefer native semantics over custom \"fake selects\" unless you have a very\n * good reason (and a lot of time for accessibility testing).\n * - Use `multiple` and/or `size` intentionally; they change presentation and\n * interaction patterns. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n * - Use `autocomplete` as a hint to user agents, not a security control. (HTML Standard)\n *\n * Fundatio-specific conventions:\n * - Applies global attributes via Fundatio's hardened DOM helpers (`dom.ts`), which\n * block inline event handler attributes (e.g. `onclick`) and the raw `style`\n * attribute string.\n * - Supports a small structured ARIA input to reduce typo-based ARIA bugs.\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference(s) to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for select controls.\n *\n * @category Constants\n */\nexport const SELECT_TAG = 'select' as const;\n\n/**\n * A CSS selector targeting select elements.\n *\n * @category Constants\n */\nexport const SELECT_SELECTOR = 'select';\n\n/**\n * Attribute bag for select creation/enhancement.\n *\n * @remarks\n * `<select>` accepts global attributes plus a small set of form-control and\n * select-specific attributes such as `multiple` and `size`. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n *\n * Fundatio models the most common attributes explicitly and leaves an escape hatch via\n * {@link GlobalAttrs.attrs} for less common cases (validated by `dom.ts`).\n *\n * @category Attributes\n */\nexport type SelectAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The form control name (used during submission).\n */\n name?: string;\n\n /**\n * Explicitly associate the control with a form by ID.\n */\n form?: string;\n\n /**\n * Disables the control when true.\n */\n disabled?: boolean;\n\n /**\n * Marks the control required for form submission.\n */\n required?: boolean;\n\n /**\n * Enables selection of multiple options.\n */\n multiple?: boolean;\n\n /**\n * Number of options visible at once. Commonly used with `multiple`.\n */\n size?: number;\n\n /**\n * Autofocus hint.\n */\n autofocus?: boolean;\n\n /**\n * Autofill hint for user agents.\n *\n * @remarks\n * Defined by HTML for form controls.\n */\n autoComplete?: string;\n\n /**\n * Directionality submission control (submits `name.dir`).\n *\n * @remarks\n * Defined by the HTML form-control infrastructure (`dirname`).\n */\n dirName?: string;\n};\n\n/**\n * Normalize {@link SelectAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * Pattern:\n * - Start with any caller-provided raw attrs escape hatch.\n * - Apply typed attributes without overriding explicit raw attributes.\n * - Map structured ARIA into {@link GlobalAttrs.aria}.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SelectAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n name,\n form,\n disabled,\n required,\n multiple,\n size,\n autofocus,\n autoComplete,\n dirName,\n ...rest\n } = attrs;\n\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n const setIfUnset = (key: string, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n setIfUnset('name', name);\n setIfUnset('form', form);\n\n if (typeof size === 'number') setIfUnset('size', size);\n\n setIfUnset('autocomplete', autoComplete);\n setIfUnset('dirname', dirName);\n\n // Boolean attributes: presence (empty string) when true.\n if (disabled === true) setIfUnset('disabled', '');\n if (required === true) setIfUnset('required', '');\n if (multiple === true) setIfUnset('multiple', '');\n if (autofocus === true) setIfUnset('autofocus', '');\n\n const mapped: GlobalAttrs = { ...rest };\n\n if (Object.keys(mergedAttrs).length > 0) {\n mapped.attrs = mergedAttrs;\n }\n\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n }\n\n return mapped;\n}\n\n/**\n * Create a select element with optional attributes.\n *\n * @remarks\n * - `<select>` content is provided via child `<option>`/`<optgroup>` elements,\n * not text content. ([developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select?utm_source=chatgpt.com))\n * - Global attributes are applied via 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 `<select>` element.\n *\n * @example\n * ```ts\n * import { createSelect } from \"@Vastare/Fundatio/elements/form/select\";\n *\n * const s = createSelect({ name: \"country\", required: true });\n * ```\n *\n * @category DOM\n */\nexport function createSelect(attrs?: SelectAttrs): ElementOf<typeof SELECT_TAG> {\n return createElement(SELECT_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance select elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceSelects(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for select.\n void root;\n}\n"],"names":["SELECT_TAG","SELECT_SELECTOR","toGlobalAttrs","attrs","aria","name","form","disabled","required","multiple","size","autofocus","autoComplete","dirName","rest","mergedAttrs","setIfUnset","key","v","mapped","mappedAria","createSelect","createElement","enhanceSelects","root"],"mappings":"0CA6DaA,EAAa,SAObC,EAAkB,SAmF/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CACJ,KAAAC,EACA,KAAAC,EACA,KAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,UAAAC,EACA,aAAAC,EACA,QAAAC,EACA,GAAGC,CAAA,EACDX,EAEEY,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAE9DE,EAAa,CAACC,EAAaC,IAAmC,CAC9DA,IAAM,SACN,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAEAF,EAAW,OAAQX,CAAI,EACvBW,EAAW,OAAQV,CAAI,EAEnB,OAAOI,GAAS,UAAUM,EAAW,OAAQN,CAAI,EAErDM,EAAW,eAAgBJ,CAAY,EACvCI,EAAW,UAAWH,CAAO,EAGzBN,IAAa,IAAMS,EAAW,WAAY,EAAE,EAC5CR,IAAa,IAAMQ,EAAW,WAAY,EAAE,EAC5CP,IAAa,IAAMO,EAAW,WAAY,EAAE,EAC5CL,IAAc,IAAMK,EAAW,YAAa,EAAE,EAElD,MAAMG,EAAsB,CAAE,GAAGL,CAAA,EAMjC,GAJI,OAAO,KAAKC,CAAW,EAAE,OAAS,IACpCI,EAAO,MAAQJ,GAGbX,EAAM,CACR,MAAMgB,EAA+C,CAAA,EACjD,OAAOhB,EAAK,OAAU,WAAUgB,EAAW,MAAQhB,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUgB,EAAW,WAAahB,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWgB,EAAW,OAAShB,EAAK,QAE3D,OAAO,KAAKgB,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,EAElB,CAEA,OAAOD,CACT,CAwBO,SAASE,EAAalB,EAAmD,CAC9E,OAAOmB,gBAActB,EAAYE,EAAcC,CAAK,CAAC,CACvD,CAYO,SAASoB,EAAeC,EAAmB,SAAgB,CAGlE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const N=require("./dom.cjs"),u="textarea",g="textarea";function R(r){if(!r)return;const{aria:t,name:d,form:c,disabled:E,required:x,readOnly:_,cols:o,rows:f,minLength:s,maxLength:l,placeholder:p,autoComplete:m,autoFocus:O,autoCapitalize:b,dirName:y,wrap:n,...w}=r,i={...w},e={...i.attrs??{}};if(typeof d=="string"&&(e.name=d),typeof c=="string"&&(e.form=c),E===!0&&(e.disabled=!0),x===!0&&(e.required=!0),_===!0&&(e.readonly=!0),typeof o=="number"&&Number.isFinite(o)&&(e.cols=o),typeof f=="number"&&Number.isFinite(f)&&(e.rows=f),typeof s=="number"&&Number.isFinite(s)&&(e.minlength=s),typeof l=="number"&&Number.isFinite(l)&&(e.maxlength=l),typeof p=="string"&&(e.placeholder=p),typeof m=="string"&&(e.autocomplete=m),O===!0&&(e.autofocus=!0),typeof b=="string"&&(e.autocapitalize=b),typeof y=="string"){const h=y.trim();if(h.length===0)throw new Error("textarea dirName must not be an empty string.");e.dirname=h}if((n==="soft"||n==="hard")&&(e.wrap=n,n==="hard"&&typeof e.cols>"u"&&(e.cols=20)),Object.keys(e).length>0&&(i.attrs=e),!t)return i;const a={};return typeof t.label=="string"&&(a.label=t.label),typeof t.labelledby=="string"&&(a.labelledby=t.labelledby),typeof t.hidden=="boolean"&&(a.hidden=t.hidden),Object.keys(a).length>0?{...i,aria:a}:i}function T(r,t){return N.createElement(u,R(t),r)}function A(r=document){}const F=Object.freeze(Object.defineProperty({__proto__:null,TEXTAREA_SELECTOR:g,TEXTAREA_TAG:u,createTextarea:T,enhanceTextareas:A},Symbol.toStringTag,{value:"Module"}));exports.TEXTAREA_SELECTOR=g;exports.TEXTAREA_TAG=u;exports.createTextarea=T;exports.enhanceTextareas=A;exports.index=F;
2
+ //# sourceMappingURL=index95.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index95.cjs","sources":["../../../src/elements/form/textarea/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Textarea element helpers.\n *\n * @remarks\n * The textarea element (`<textarea>`) is a multi-line plain-text form control.\n *\n * Best-practice guidance:\n * - Always provide an accessible name (typically via a `<label>`).\n * - Prefer `placeholder` as a hint, not as a substitute for a label.\n * - Use `rows`/`cols` to set a sensible baseline size, then use CSS for layout.\n * - Use `minLength`/`maxLength` for client-side constraints, but validate on the server.\n * - Use `wrap=\"hard\"` only when you intentionally want line breaks inserted for\n * form submission, and ensure `cols` is set.\n * - Use `dirname` only when you actually want directionality included in submission.\n *\n * Attributes (element-specific):\n * - `name`, `form`, `disabled`, `required`, `readOnly`\n * - `cols`, `rows`\n * - `minLength`, `maxLength`\n * - `placeholder`\n * - `autoComplete`, `autoFocus`, `autoCapitalize`\n * - `dirName`\n * - `wrap`\n *\n * Security:\n * - Global attribute escape hatches are guarded by Fundatio's `dom.ts` helpers which\n * block inline event handler attributes (e.g. `onclick`) and raw `style`\n * attribute injection (use the `style` object field instead).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/textarea\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 textarea.\n *\n * @category Constants\n */\nexport const TEXTAREA_TAG = 'textarea' as const;\n\n/**\n * A CSS selector targeting textarea elements.\n *\n * @category Constants\n */\nexport const TEXTAREA_SELECTOR = 'textarea';\n\n/**\n * Textarea wrap modes.\n *\n * @remarks\n * - `soft` (default): the submitted value is not forcibly wrapped.\n * - `hard`: line breaks are inserted for submission based on `cols`.\n *\n * @category Types\n */\nexport type TextareaWrap = 'soft' | 'hard';\n\n/**\n * Autocapitalize values accepted by browsers for form controls.\n *\n * @remarks\n * This is a content attribute commonly supported on form controls.\n *\n * @category Types\n */\nexport type AutoCapitalize = 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';\n\n/**\n * Attribute bag for textarea creation/enhancement.\n *\n * @remarks\n * Textareas accept standard HTML global attributes plus textarea-specific content\n * attributes.\n *\n * 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 TextareaAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Name used during form submission.\n */\n name?: string;\n\n /**\n * Associate the control with a form by ID.\n */\n form?: string;\n\n /**\n * Whether the textarea is disabled.\n */\n disabled?: boolean;\n\n /**\n * Whether the textarea is required.\n */\n required?: boolean;\n\n /**\n * Whether the textarea is read-only.\n *\n * @remarks\n * Maps to the `readonly` content attribute.\n */\n readOnly?: boolean;\n\n /**\n * The number of visible text columns.\n */\n cols?: number;\n\n /**\n * The number of visible text rows.\n */\n rows?: number;\n\n /**\n * Minimum input length.\n *\n * @remarks\n * Maps to the `minlength` content attribute.\n */\n minLength?: number;\n\n /**\n * Maximum input length.\n *\n * @remarks\n * Maps to the `maxlength` content attribute.\n */\n maxLength?: number;\n\n /**\n * Placeholder hint text.\n */\n placeholder?: string;\n\n /**\n * Autofill hint.\n */\n autoComplete?: string;\n\n /**\n * Whether the control should be focused on page load.\n */\n autoFocus?: boolean;\n\n /**\n * Autocapitalization behavior.\n */\n autoCapitalize?: AutoCapitalize;\n\n /**\n * Submission directionality field name.\n *\n * @remarks\n * When set, the value must not be empty.\n * Maps to the `dirname` content attribute.\n */\n dirName?: string;\n\n /**\n * Wrapping mode for form submission.\n */\n wrap?: TextareaWrap;\n};\n\n/**\n * Normalize {@link TextareaAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The textarea attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @throws Error if `dirName` is provided but empty/whitespace.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TextareaAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n name,\n form,\n disabled,\n required,\n readOnly,\n cols,\n rows,\n minLength,\n maxLength,\n placeholder,\n autoComplete,\n autoFocus,\n autoCapitalize,\n dirName,\n wrap,\n ...rest\n } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n const extra: NonNullable<GlobalAttrs['attrs']> = { ...(mapped.attrs ?? {}) };\n\n if (typeof name === 'string') extra.name = name;\n if (typeof form === 'string') extra.form = form;\n\n if (disabled === true) extra.disabled = true;\n if (required === true) extra.required = true;\n if (readOnly === true) extra.readonly = true;\n\n if (typeof cols === 'number' && Number.isFinite(cols)) extra.cols = cols;\n if (typeof rows === 'number' && Number.isFinite(rows)) extra.rows = rows;\n\n if (typeof minLength === 'number' && Number.isFinite(minLength)) extra.minlength = minLength;\n if (typeof maxLength === 'number' && Number.isFinite(maxLength)) extra.maxlength = maxLength;\n\n if (typeof placeholder === 'string') extra.placeholder = placeholder;\n\n if (typeof autoComplete === 'string') extra.autocomplete = autoComplete;\n if (autoFocus === true) extra.autofocus = true;\n if (typeof autoCapitalize === 'string') extra.autocapitalize = autoCapitalize;\n\n if (typeof dirName === 'string') {\n const dn = dirName.trim();\n if (dn.length === 0) {\n throw new Error('textarea dirName must not be an empty string.');\n }\n extra.dirname = dn;\n }\n\n if (wrap === 'soft' || wrap === 'hard') {\n extra.wrap = wrap;\n\n // \"hard\" wrap only has an effect when cols is set, so we enforce a safe default.\n if (wrap === 'hard' && typeof extra.cols === 'undefined') {\n extra.cols = 20;\n }\n }\n\n if (Object.keys(extra).length > 0) {\n mapped.attrs = extra;\n }\n\n if (!aria) return mapped;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n return hasMappedAria ? { ...mapped, aria: mappedAria } : mapped;\n}\n\n/**\n * Create a textarea element with optional initial value and attributes.\n *\n * @remarks\n * For `<textarea>`, the initial value is represented by its text content in HTML.\n * Fundatio assigns the provided `text` via `textContent` (never `innerHTML`).\n *\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes and escape-hatch attributes are applied via Fundatio's shared\n * DOM helper, including security guards that block inline event handler\n * attributes (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional initial value (assigned as `textContent`).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<textarea>` element.\n *\n * @example\n * ```ts\n * import { createTextarea } from \"@Vastare/Fundatio/elements/form/textarea\";\n *\n * const t = createTextarea(\"Hello\", { rows: 4, cols: 40, name: \"message\" });\n * ```\n *\n * @category DOM\n */\nexport function createTextarea(\n text?: string,\n attrs?: TextareaAttrs,\n): ElementOf<typeof TEXTAREA_TAG> {\n return createElement(TEXTAREA_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance textarea elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceTextareas(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for textarea.\n void root;\n}\n"],"names":["TEXTAREA_TAG","TEXTAREA_SELECTOR","toGlobalAttrs","attrs","aria","name","form","disabled","required","readOnly","cols","rows","minLength","maxLength","placeholder","autoComplete","autoFocus","autoCapitalize","dirName","wrap","rest","mapped","extra","dn","mappedAria","createTextarea","text","createElement","enhanceTextareas","root"],"mappings":"0CAsEaA,EAAe,WAOfC,EAAoB,WA4IjC,SAASC,EAAcC,EAAgD,CACrE,GAAI,CAACA,EAAO,OAEZ,KAAM,CACJ,KAAAC,EACA,KAAAC,EACA,KAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,KAAAC,EACA,UAAAC,EACA,UAAAC,EACA,YAAAC,EACA,aAAAC,EACA,UAAAC,EACA,eAAAC,EACA,QAAAC,EACA,KAAAC,EACA,GAAGC,CAAA,EACDjB,EAEEkB,EAAsB,CAAE,GAAGD,CAAA,EAE3BE,EAA2C,CAAE,GAAID,EAAO,OAAS,CAAA,CAAC,EAqBxE,GAnBI,OAAOhB,GAAS,WAAUiB,EAAM,KAAOjB,GACvC,OAAOC,GAAS,WAAUgB,EAAM,KAAOhB,GAEvCC,IAAa,KAAMe,EAAM,SAAW,IACpCd,IAAa,KAAMc,EAAM,SAAW,IACpCb,IAAa,KAAMa,EAAM,SAAW,IAEpC,OAAOZ,GAAS,UAAY,OAAO,SAASA,CAAI,MAAS,KAAOA,GAChE,OAAOC,GAAS,UAAY,OAAO,SAASA,CAAI,MAAS,KAAOA,GAEhE,OAAOC,GAAc,UAAY,OAAO,SAASA,CAAS,MAAS,UAAYA,GAC/E,OAAOC,GAAc,UAAY,OAAO,SAASA,CAAS,MAAS,UAAYA,GAE/E,OAAOC,GAAgB,WAAUQ,EAAM,YAAcR,GAErD,OAAOC,GAAiB,WAAUO,EAAM,aAAeP,GACvDC,IAAc,KAAMM,EAAM,UAAY,IACtC,OAAOL,GAAmB,WAAUK,EAAM,eAAiBL,GAE3D,OAAOC,GAAY,SAAU,CAC/B,MAAMK,EAAKL,EAAQ,KAAA,EACnB,GAAIK,EAAG,SAAW,EAChB,MAAM,IAAI,MAAM,+CAA+C,EAEjED,EAAM,QAAUC,CAClB,CAeA,IAbIJ,IAAS,QAAUA,IAAS,UAC9BG,EAAM,KAAOH,EAGTA,IAAS,QAAU,OAAOG,EAAM,KAAS,MAC3CA,EAAM,KAAO,KAIb,OAAO,KAAKA,CAAK,EAAE,OAAS,IAC9BD,EAAO,MAAQC,GAGb,CAAClB,EAAM,OAAOiB,EAElB,MAAMG,EAA+C,CAAA,EAErD,OAAI,OAAOpB,EAAK,OAAU,WAAUoB,EAAW,MAAQpB,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUoB,EAAW,WAAapB,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWoB,EAAW,OAASpB,EAAK,QAEzC,OAAO,KAAKoB,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGH,EAAQ,KAAMG,GAAeH,CAC3D,CA2BO,SAASI,EACdC,EACAvB,EACgC,CAChC,OAAOwB,EAAAA,cAAc3B,EAAcE,EAAcC,CAAK,EAAGuB,CAAI,CAC/D,CAoBO,SAASE,EAAiBC,EAAmB,SAAgB,CAGpE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const p=require("./dom.cjs"),i="details",c="details";function y(n){if(!n)return;const{aria:t,open:b,name:u,...l}=n,o={...l.attrs??{}},a=(e,s)=>{s!==void 0&&(Object.prototype.hasOwnProperty.call(o,e)||(o[e]=s))};a("name",u),b===!0&&a("open","");const r={...l};if(Object.keys(o).length>0&&(r.attrs=o),t){const e={};typeof t.label=="string"&&(e.label=t.label),typeof t.labelledby=="string"&&(e.labelledby=t.labelledby),typeof t.hidden=="boolean"&&(e.hidden=t.hidden),Object.keys(e).length>0&&(r.aria=e)}return r}function d(n){return p.createElement(i,y(n))}function f(n=document){}const m=Object.freeze(Object.defineProperty({__proto__:null,DETAILS_SELECTOR:c,DETAILS_TAG:i,createDetails:d,enhanceDetails:f},Symbol.toStringTag,{value:"Module"}));exports.DETAILS_SELECTOR=c;exports.DETAILS_TAG=i;exports.createDetails=d;exports.enhanceDetails=f;exports.index=m;
2
+ //# sourceMappingURL=index96.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index96.cjs","sources":["../../../src/elements/interactive/details/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Details element helpers.\n *\n * @remarks\n * The details element (`<details>`) creates a disclosure widget where content is\n * shown/hidden by toggling the element open/closed. (MDN) :contentReference[oaicite:3]{index=3}\n *\n * Best-practice guidance:\n * - Provide a visible label using a child `<summary>` element; it acts as the\n * interactive control for toggling the parent `<details>`. (MDN) :contentReference[oaicite:4]{index=4}\n * - Use the `open` attribute to render expanded by default. (MDN) :contentReference[oaicite:5]{index=5}\n * - If using the `name` attribute to create a mutually-exclusive group, authors\n * must avoid markup where more than one element in the same name group has\n * `open` present. User agents may enforce exclusivity by changing `open`.\n * (WHATWG) :contentReference[oaicite:6]{index=6}\n *\n * Fundatio-specific conventions:\n * - Applies global attributes via Fundatio's hardened DOM helpers (`dom.ts`), which\n * block inline event handler attributes (e.g. `onclick`) and the raw `style`\n * attribute string.\n * - Supports a small structured ARIA input to reduce typo-based ARIA bugs.\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference(s) to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for details disclosure widgets.\n *\n * @category Constants\n */\nexport const DETAILS_TAG = 'details' as const;\n\n/**\n * A CSS selector targeting details elements.\n *\n * @category Constants\n */\nexport const DETAILS_SELECTOR = 'details';\n\n/**\n * Attribute bag for details creation/enhancement.\n *\n * @remarks\n * `<details>` accepts global attributes plus:\n * - `open` (boolean attribute)\n * - `name` (creates a mutually-exclusive details name group, per spec)\n *\n * `name` grouping behavior is specified by HTML; Fundatio does not enforce group\n * constraints at runtime. (WHATWG) :contentReference[oaicite:7]{index=7}\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, mapped into\n * {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type DetailsAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Whether the details is open (expanded) by default.\n *\n * @remarks\n * This maps to the boolean `open` attribute. (MDN) :contentReference[oaicite:8]{index=8}\n */\n open?: boolean;\n\n /**\n * Name of a mutually-exclusive details group.\n *\n * @remarks\n * Details with the same `name` may form an exclusive group where at most one\n * is open at a time. (WHATWG) :contentReference[oaicite:9]{index=9}\n */\n name?: string;\n};\n\n/**\n * Normalize {@link DetailsAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * Pattern:\n * - Start with any caller-provided raw attrs escape hatch.\n * - Apply typed attributes without overriding explicit raw attributes.\n * - Map structured ARIA into {@link GlobalAttrs.aria}.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DetailsAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, open, name, ...rest } = attrs;\n\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n const setIfUnset = (key: string, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n setIfUnset('name', name);\n\n // Boolean attribute by presence when true.\n if (open === true) setIfUnset('open', '');\n\n const mapped: GlobalAttrs = { ...rest };\n\n if (Object.keys(mergedAttrs).length > 0) {\n mapped.attrs = mergedAttrs;\n }\n\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n }\n\n return mapped;\n}\n\n/**\n * Create a details element with optional attributes.\n *\n * @remarks\n * - Provide a child `<summary>` for the visible label/toggle control. (MDN) :contentReference[oaicite:10]{index=10}\n * - Global attributes are applied via 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 `<details>` element.\n *\n * @example\n * ```ts\n * import { createDetails } from \"@Vastare/Fundatio/elements/interactive/details\";\n *\n * const d = createDetails({ open: true });\n * ```\n *\n * @category DOM\n */\nexport function createDetails(attrs?: DetailsAttrs): ElementOf<typeof DETAILS_TAG> {\n return createElement(DETAILS_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance details elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceDetails(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for details.\n void root;\n}\n"],"names":["DETAILS_TAG","DETAILS_SELECTOR","toGlobalAttrs","attrs","aria","open","name","rest","mergedAttrs","setIfUnset","key","v","mapped","mappedAria","createDetails","createElement","enhanceDetails","root"],"mappings":"0CA6DaA,EAAc,UAOdC,EAAmB,UAqDhC,SAASC,EAAcC,EAA+C,CACpE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,KAAAC,EAAM,GAAGC,GAASJ,EAEhCK,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAE9DE,EAAa,CAACC,EAAaC,IAAmC,CAC9DA,IAAM,SACN,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAEAF,EAAW,OAAQH,CAAI,EAGnBD,IAAS,IAAMI,EAAW,OAAQ,EAAE,EAExC,MAAMG,EAAsB,CAAE,GAAGL,CAAA,EAMjC,GAJI,OAAO,KAAKC,CAAW,EAAE,OAAS,IACpCI,EAAO,MAAQJ,GAGbJ,EAAM,CACR,MAAMS,EAA+C,CAAA,EACjD,OAAOT,EAAK,OAAU,WAAUS,EAAW,MAAQT,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUS,EAAW,WAAaT,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWS,EAAW,OAAST,EAAK,QAE3D,OAAO,KAAKS,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,EAElB,CAEA,OAAOD,CACT,CAuBO,SAASE,EAAcX,EAAqD,CACjF,OAAOY,gBAAcf,EAAaE,EAAcC,CAAK,CAAC,CACxD,CAYO,SAASa,EAAeC,EAAmB,SAAgB,CAGlE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const f=require("./dom.cjs"),i="dialog",r="dialog";function u(t){if(!t)return;const{aria:e,open:d,closedBy:a,...b}=t,n={...b},l={...n.attrs??{}};if(d===!0&&(l.open=!0),(a==="any"||a==="closerequest"||a==="none")&&(l.closedby=a),Object.keys(l).length>0&&(n.attrs=l),!e)return n;const o={};return typeof e.label=="string"&&(o.label=e.label),typeof e.labelledby=="string"&&(o.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(o.hidden=e.hidden),Object.keys(o).length>0?{...n,aria:o}:n}function c(t,e){return f.createElement(i,u(e),t)}function s(t=document){}const p=Object.freeze(Object.defineProperty({__proto__:null,DIALOG_SELECTOR:r,DIALOG_TAG:i,createDialog:c,enhanceDialogs:s},Symbol.toStringTag,{value:"Module"}));exports.DIALOG_SELECTOR=r;exports.DIALOG_TAG=i;exports.createDialog=c;exports.enhanceDialogs=s;exports.index=p;
2
+ //# sourceMappingURL=index97.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index97.cjs","sources":["../../../src/elements/interactive/dialog/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Dialog element helpers.\n *\n * @remarks\n * The dialog element (`<dialog>`) represents a modal or non-modal dialog box\n * (e.g. a confirm prompt, inspector, or subwindow).\n *\n * Best-practice guidance:\n * - Prefer using the platform APIs:\n * - `dialog.showModal()` for modal dialogs\n * - `dialog.show()` for non-modal dialogs\n * - `dialog.close()` to close, optionally supplying a return value\n * - Provide an accessible name for the dialog content (e.g. heading + `aria-labelledby`\n * or `aria-label` when appropriate).\n * - Ensure the dialog contains an obvious close mechanism.\n * - Avoid relying solely on adding/removing `open`; prefer the element's methods\n * for correct focus and modal behavior.\n *\n * Attributes (element-specific):\n * - `open` (boolean): when present, the dialog is active and available for interaction.\n * - `closedBy` (enumerated): maps to the `closedby` content attribute (spec-defined).\n *\n * Security:\n * - Global attribute escape hatches are guarded by Fundatio's `dom.ts` helpers which\n * block inline event handler attributes (e.g. `onclick`) and raw `style`\n * attribute injection (use the `style` object field instead).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 dialog.\n *\n * @category Constants\n */\nexport const DIALOG_TAG = 'dialog' as const;\n\n/**\n * A CSS selector targeting dialog elements.\n *\n * @category Constants\n */\nexport const DIALOG_SELECTOR = 'dialog';\n\n/**\n * Values supported by the `closedby` content attribute.\n *\n * @remarks\n * This is a newer platform feature that specifies which user actions can close\n * the dialog automatically.\n *\n * - `any`: close requests or clicks outside close the dialog.\n * - `closerequest`: close requests close the dialog.\n * - `none`: no user actions automatically close the dialog.\n *\n * @category Types\n */\nexport type DialogClosedBy = 'any' | 'closerequest' | 'none';\n\n/**\n * Attribute bag for dialog creation/enhancement.\n *\n * @remarks\n * Dialog elements accept standard HTML global attributes plus a small set of\n * dialog-specific content attributes.\n *\n * 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 DialogAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Whether the dialog is open (active).\n *\n * @remarks\n * Maps to the `open` boolean attribute.\n *\n * Prefer controlling visibility via the native methods (`showModal`, `show`,\n * `close`) when possible.\n */\n open?: boolean;\n\n /**\n * Control user actions that can close the dialog.\n *\n * @remarks\n * Maps to the `closedby` content attribute.\n */\n closedBy?: DialogClosedBy;\n};\n\n/**\n * Normalize {@link DialogAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The dialog attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DialogAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, open, closedBy, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n const extra: NonNullable<GlobalAttrs['attrs']> = { ...(mapped.attrs ?? {}) };\n\n if (open === true) extra.open = true;\n\n if (closedBy === 'any' || closedBy === 'closerequest' || closedBy === 'none') {\n extra.closedby = closedBy;\n }\n\n if (Object.keys(extra).length > 0) {\n mapped.attrs = extra;\n }\n\n if (!aria) return mapped;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n\n return hasMappedAria ? { ...mapped, aria: mappedAria } : mapped;\n}\n\n/**\n * Create a dialog element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 dialog.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<dialog>` element.\n *\n * @example\n * ```ts\n * import { createDialog } from \"@Vastare/Fundatio/elements/interactive/dialog\";\n *\n * const d = createDialog(\"Hello\", { open: true });\n * ```\n *\n * @category DOM\n */\nexport function createDialog(text?: string, attrs?: DialogAttrs): ElementOf<typeof DIALOG_TAG> {\n return createElement(DIALOG_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance dialog elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceDialogs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for dialog.\n void root;\n}\n"],"names":["DIALOG_TAG","DIALOG_SELECTOR","toGlobalAttrs","attrs","aria","open","closedBy","rest","mapped","extra","mappedAria","createDialog","text","createElement","enhanceDialogs","root"],"mappings":"0CAoEaA,EAAa,SAObC,EAAkB,SA+D/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,SAAAC,EAAU,GAAGC,GAASJ,EAEpCK,EAAsB,CAAE,GAAGD,CAAA,EAE3BE,EAA2C,CAAE,GAAID,EAAO,OAAS,CAAA,CAAC,EAYxE,GAVIH,IAAS,KAAMI,EAAM,KAAO,KAE5BH,IAAa,OAASA,IAAa,gBAAkBA,IAAa,UACpEG,EAAM,SAAWH,GAGf,OAAO,KAAKG,CAAK,EAAE,OAAS,IAC9BD,EAAO,MAAQC,GAGb,CAACL,EAAM,OAAOI,EAElB,MAAME,EAA+C,CAAA,EAErD,OAAI,OAAON,EAAK,OAAU,WAAUM,EAAW,MAAQN,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUM,EAAW,WAAaN,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWM,EAAW,OAASN,EAAK,QAGzC,OAAO,KAAKM,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGF,EAAQ,KAAME,GAAeF,CAC3D,CAwBO,SAASG,EAAaC,EAAeT,EAAmD,CAC7F,OAAOU,EAAAA,cAAcb,EAAYE,EAAcC,CAAK,EAAGS,CAAI,CAC7D,CAoBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const c=require("./dom.cjs"),a="summary",o="summary";function d(t){if(!t)return;const{aria:e,...r}=t;if(!e)return r;const n={};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?{...r,aria:n}:r}function i(t,e){return c.createElement(a,d(e),t)}function l(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,SUMMARY_SELECTOR:o,SUMMARY_TAG:a,createSummary:i,enhanceSummaries:l},Symbol.toStringTag,{value:"Module"}));exports.SUMMARY_SELECTOR=o;exports.SUMMARY_TAG=a;exports.createSummary=i;exports.enhanceSummaries=l;exports.index=s;
2
+ //# sourceMappingURL=index98.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index98.cjs","sources":["../../../src/elements/interactive/summary/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Summary element helpers.\n *\n * @remarks\n * The summary element (`<summary>`) provides the visible label for a parent\n * `<details>` disclosure widget. Activating (clicking / pressing Enter) on the\n * `<summary>` toggles the open state of the parent `<details>` element.\n *\n * Best-practice guidance:\n * - Use `<summary>` only as the first child of a `<details>` element.\n * - Use clear, concise text so the disclosure purpose is obvious.\n * - Prefer semantic content inside `<summary>`; avoid overly complex interactive\n * children inside the summary label.\n *\n * Fundatio notes:\n * - This module is framework-agnostic and has no side effects.\n * - Global attributes are applied via Fundatio's shared DOM helper, which blocks:\n * - inline event handler attributes (e.g. `onclick`)\n * - raw `style` attribute injection (use the `style` object instead)\n * - Text passed to factories is assigned via `textContent` (never `innerHTML`).\n *\n * References:\n * - MDN: `<summary>` element\n * - WHATWG HTML: `<details>` content model and summary semantics\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 summary.\n *\n * @category Constants\n */\nexport const SUMMARY_TAG = 'summary' as const;\n\n/**\n * A CSS selector targeting summary elements.\n *\n * @category Constants\n */\nexport const SUMMARY_SELECTOR = 'summary';\n\n/**\n * Attribute bag for summary creation/enhancement.\n *\n * @remarks\n * `<summary>` supports standard HTML global attributes.\n *\n * 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 SummaryAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SummaryAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The summary attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SummaryAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a summary element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 summary.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<summary>` element.\n *\n * @example\n * ```ts\n * import { createSummary } from \"@Vastare/Fundatio/elements/interactive/summary\";\n *\n * const s = createSummary(\"More details\");\n * ```\n *\n * @category DOM\n */\nexport function createSummary(text?: string, attrs?: SummaryAttrs): ElementOf<typeof SUMMARY_TAG> {\n return createElement(SUMMARY_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance summary elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceSummaries(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for summary.\n void root;\n}\n"],"names":["SUMMARY_TAG","SUMMARY_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createSummary","text","createElement","enhanceSummaries","root"],"mappings":"0CAgEaA,EAAc,UAOdC,EAAmB,UA4BhC,SAASC,EAAcC,EAA+C,CACpE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAE7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAwBO,SAASE,EAAcC,EAAeL,EAAqD,CAChG,OAAOM,EAAAA,cAAcT,EAAaE,EAAcC,CAAK,EAAGK,CAAI,CAC9D,CAgBO,SAASE,EAAiBC,EAAmB,SAAgB,CAGpE"}
@@ -0,0 +1,2 @@
1
+ "use strict";const _=require("./dom.cjs"),i="area",g="area";function m(a){const{aria:t,alt:s,href:n,shape:l,coords:f,target:d,download:o,ping:c,rel:p,referrerPolicy:y,hreflang:b,type:A,...E}=a??{},e={...E},r={};return t&&(typeof t.label=="string"&&(r.label=t.label),typeof t.labelledby=="string"&&(r.labelledby=t.labelledby),typeof t.hidden=="boolean"&&(r.hidden=t.hidden)),Object.keys(r).length>0&&(e.aria=r),e.attrs={...e.attrs??{}},typeof n=="string"&&n.length>0&&(e.attrs.href=n,e.attrs.alt=typeof s=="string"?s:""),l&&(e.attrs.shape=l),f&&(e.attrs.coords=f),d&&(e.attrs.target=d),typeof o=="boolean"&&(e.attrs.download=o),typeof o=="string"&&(e.attrs.download=o),c&&(e.attrs.ping=c),p&&(e.attrs.rel=p),y&&(e.attrs.referrerpolicy=y),b&&(e.attrs.hreflang=b),A&&(e.attrs.type=A),e}function h(a){return _.createVoidElement(i,m(a))}function u(a=document){}const R=Object.freeze(Object.defineProperty({__proto__:null,AREA_SELECTOR:g,AREA_TAG:i,createArea:h,enhanceAreas:u},Symbol.toStringTag,{value:"Module"}));exports.AREA_SELECTOR=g;exports.AREA_TAG=i;exports.createArea=h;exports.enhanceAreas=u;exports.index=R;
2
+ //# sourceMappingURL=index99.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index99.cjs","sources":["../../../src/elements/responsive/area/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Area element helpers.\n *\n * @remarks\n * The area element (`<area>`) defines a hyperlink or dead region within an image map.\n * It is used inside a `<map>` element to define clickable (or non-clickable) areas.\n *\n * Best-practice guidance:\n * - Use `<area>` only within `<map>` and pair with an `<img usemap=\"...\">`.\n * - Prefer meaningful alternative text for clickable regions (screen readers rely on it).\n * - Keep shapes and coordinates accurate; imprecise maps are a usability disaster.\n *\n * Spec-aware Fundatio behavior:\n * - If `href` is provided: `alt` is required, and Fundatio will ensure an `alt` attribute\n * exists (defaults to empty string if not provided).\n * - If `href` is not provided: `alt` must be omitted, and Fundatio will omit it.\n *\n * Global attributes are applied via Fundatio's hardened DOM helpers (`dom.ts`), which block:\n * - inline event handler attributes (e.g. `onclick`)\n * - the raw `style` attribute string (use `style` object instead)\n *\n * This module has no side effects and does not mutate the DOM unless you call its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createVoidElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference(s) to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for area elements.\n *\n * @category Constants\n */\nexport const AREA_TAG = 'area' as const;\n\n/**\n * A CSS selector targeting area elements.\n *\n * @category Constants\n */\nexport const AREA_SELECTOR = 'area';\n\n/**\n * Enumerated shape values for `<area>`.\n *\n * @remarks\n * The default (when omitted) is effectively `rect` in HTML's image map processing model,\n * but Fundatio does not force a default; it passes through what you provide.\n *\n * @category Types\n */\nexport type AreaShape = 'rect' | 'circle' | 'poly' | 'default';\n\n/**\n * Area-specific attributes.\n *\n * @remarks\n * `<area>` largely mirrors hyperlink-related attributes when `href` is present.\n * Fundatio enforces the spec rule around `alt`:\n * - `href` present => `alt` must be present (Fundatio ensures it exists)\n * - `href` absent => `alt` must be omitted (Fundatio omits it)\n *\n * @category Attributes\n */\nexport type AreaAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Alternative text for the area.\n *\n * @remarks\n * Only applied when `href` is present. If `href` is present and `alt` is not\n * provided, Fundatio defaults it to `\"\"`. If `href` is absent, Fundatio omits `alt`\n * entirely.\n */\n alt?: string;\n\n /**\n * Link target URL. When present, the area represents a hyperlink.\n */\n href?: string;\n\n /**\n * The shape of the area. Common values: `rect`, `circle`, `poly`, `default`.\n */\n shape?: AreaShape;\n\n /**\n * Coordinates defining the area geometry. Interpretation depends on `shape`.\n */\n coords?: string;\n\n /**\n * Where to display the linked URL (e.g. `_blank`).\n */\n target?: string;\n\n /**\n * Whether to download the linked resource instead of navigating.\n *\n * @remarks\n * May be a boolean (attribute presence) or a suggested filename.\n */\n download?: boolean | string;\n\n /**\n * A space-separated list of URLs to ping when the link is followed.\n */\n ping?: string;\n\n /**\n * Relationship of the target object to the linking object.\n */\n rel?: string;\n\n /**\n * Referrer policy for the link.\n */\n referrerPolicy?: string;\n\n /**\n * Language of the linked resource (BCP 47 tag).\n */\n hreflang?: string;\n\n /**\n * MIME type of the linked resource (advisory).\n */\n type?: string;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\nfunction toGlobalAttrs(attrs?: AreaAttrs): GlobalAttrs {\n const {\n aria,\n alt,\n href,\n shape,\n coords,\n target,\n download,\n ping,\n rel,\n referrerPolicy,\n hreflang,\n type,\n ...rest\n } = attrs ?? {};\n\n const mapped: GlobalAttrs = { ...rest };\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\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 if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n // Apply element-specific attributes via the safe attrs escape hatch.\n mapped.attrs = { ...(mapped.attrs ?? {}) };\n\n const hasHref = typeof href === 'string' && href.length > 0;\n\n if (hasHref) {\n mapped.attrs.href = href;\n\n // Spec: if href is present, alt must be present.\n mapped.attrs.alt = typeof alt === 'string' ? alt : '';\n } else {\n // Spec: if href is absent, alt must be omitted.\n // We intentionally do not set `alt` here even if provided.\n }\n\n if (shape) mapped.attrs.shape = shape;\n if (coords) mapped.attrs.coords = coords;\n if (target) mapped.attrs.target = target;\n\n if (typeof download === 'boolean') mapped.attrs.download = download;\n if (typeof download === 'string') mapped.attrs.download = download;\n\n if (ping) mapped.attrs.ping = ping;\n if (rel) mapped.attrs.rel = rel;\n if (referrerPolicy) mapped.attrs.referrerpolicy = referrerPolicy;\n if (hreflang) mapped.attrs.hreflang = hreflang;\n if (type) mapped.attrs.type = type;\n\n return mapped;\n}\n\n/**\n * Create an area element with spec-aware `alt` handling.\n *\n * @remarks\n * - `<area>` is a void element (no text content).\n * - If `href` is present, Fundatio ensures `alt` is present (defaults to `\"\"`).\n * - If `href` is absent, Fundatio omits `alt`.\n *\n * @category DOM\n */\nexport function createArea(attrs?: AreaAttrs): ElementOf<typeof AREA_TAG> {\n return createVoidElement(AREA_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance area elements within a given root.\n *\n * @remarks\n * No runtime behaviour in v1.0.0.\n *\n * @category Enhancement\n */\nexport function enhanceAreas(root: ParentNode = document): void {\n void root;\n}\n"],"names":["AREA_TAG","AREA_SELECTOR","toGlobalAttrs","attrs","aria","alt","href","shape","coords","target","download","ping","rel","referrerPolicy","hreflang","type","rest","mapped","mappedAria","createArea","createVoidElement","enhanceAreas","root"],"mappings":"0CAwDaA,EAAW,OAOXC,EAAgB,OA8F7B,SAASC,EAAcC,EAAgC,CACrD,KAAM,CACJ,KAAAC,EACA,IAAAC,EACA,KAAAC,EACA,MAAAC,EACA,OAAAC,EACA,OAAAC,EACA,SAAAC,EACA,KAAAC,EACA,IAAAC,EACA,eAAAC,EACA,SAAAC,EACA,KAAAC,EACA,GAAGC,CAAA,EACDb,GAAS,CAAA,EAEPc,EAAsB,CAAE,GAAGD,CAAA,EAE3BE,EAA+C,CAAA,EAErD,OAAId,IACE,OAAOA,EAAK,OAAU,WAAUc,EAAW,MAAQd,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUc,EAAW,WAAad,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWc,EAAW,OAASd,EAAK,SAG7D,OAAO,KAAKc,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,GAIhBD,EAAO,MAAQ,CAAE,GAAIA,EAAO,OAAS,CAAA,CAAC,EAEtB,OAAOX,GAAS,UAAYA,EAAK,OAAS,IAGxDW,EAAO,MAAM,KAAOX,EAGpBW,EAAO,MAAM,IAAM,OAAOZ,GAAQ,SAAWA,EAAM,IAMjDE,IAAOU,EAAO,MAAM,MAAQV,GAC5BC,IAAQS,EAAO,MAAM,OAAST,GAC9BC,IAAQQ,EAAO,MAAM,OAASR,GAE9B,OAAOC,GAAa,YAAWO,EAAO,MAAM,SAAWP,GACvD,OAAOA,GAAa,WAAUO,EAAO,MAAM,SAAWP,GAEtDC,IAAMM,EAAO,MAAM,KAAON,GAC1BC,IAAKK,EAAO,MAAM,IAAML,GACxBC,IAAgBI,EAAO,MAAM,eAAiBJ,GAC9CC,IAAUG,EAAO,MAAM,SAAWH,GAClCC,IAAME,EAAO,MAAM,KAAOF,GAEvBE,CACT,CAYO,SAASE,EAAWhB,EAA+C,CACxE,OAAOiB,oBAAkBpB,EAAUE,EAAcC,CAAK,CAAC,CACzD,CAUO,SAASkB,EAAaC,EAAmB,SAAgB,CAEhE"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index17.cjs");exports.BR_SELECTOR=e.BR_SELECTOR;exports.BR_TAG=e.BR_TAG;exports.createBr=e.createBr;exports.enhanceBrs=e.enhanceBrs;
2
+ //# sourceMappingURL=br.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"br.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/index17.cjs"),r=require("../../chunks/index18.cjs");exports.br=e.index;exports.wbr=r.index;
2
+ //# sourceMappingURL=break.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"break.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index18.cjs");exports.WBR_SELECTOR=e.WBR_SELECTOR;exports.WBR_TAG=e.WBR_TAG;exports.createWbr=e.createWbr;exports.enhanceWbrs=e.enhanceWbrs;
2
+ //# sourceMappingURL=wbr.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wbr.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/index15.cjs"),n=require("../../chunks/index16.cjs");exports.div=e.index;exports.span=n.index;
2
+ //# sourceMappingURL=container.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index15.cjs");exports.DIV_SELECTOR=e.DIV_SELECTOR;exports.DIV_TAG=e.DIV_TAG;exports.createDiv=e.createDiv;exports.enhanceDivs=e.enhanceDivs;
2
+ //# sourceMappingURL=div.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"div.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index16.cjs");exports.SPAN_SELECTOR=e.SPAN_SELECTOR;exports.SPAN_TAG=e.SPAN_TAG;exports.createSpan=e.createSpan;exports.enhanceSpans=e.enhanceSpans;
2
+ //# sourceMappingURL=span.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index80.cjs");exports.FIGCAPTION_SELECTOR=e.FIGCAPTION_SELECTOR;exports.FIGCAPTION_TAG=e.FIGCAPTION_TAG;exports.createFigcaption=e.createFigcaption;exports.enhanceFigcaptions=e.enhanceFigcaptions;
2
+ //# sourceMappingURL=figcaption.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figcaption.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index81.cjs");exports.FIGURE_SELECTOR=e.FIGURE_SELECTOR;exports.FIGURE_TAG=e.FIGURE_TAG;exports.createFigure=e.createFigure;exports.enhanceFigures=e.enhanceFigures;
2
+ //# sourceMappingURL=figure.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figure.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/index80.cjs"),i=require("../../chunks/index81.cjs");exports.figcaption=e.index;exports.figure=i.index;
2
+ //# sourceMappingURL=figure.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"figure.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index82.cjs");exports.BUTTON_SELECTOR=e.BUTTON_SELECTOR;exports.BUTTON_TAG=e.BUTTON_TAG;exports.createButton=e.createButton;exports.enhanceButtons=e.enhanceButtons;
2
+ //# sourceMappingURL=button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index83.cjs");exports.DATALIST_SELECTOR=e.DATALIST_SELECTOR;exports.DATALIST_TAG=e.DATALIST_TAG;exports.createDatalist=e.createDatalist;exports.enhanceDatalists=e.enhanceDatalists;
2
+ //# sourceMappingURL=datalist.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datalist.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index84.cjs");exports.FIELDSET_SELECTOR=e.FIELDSET_SELECTOR;exports.FIELDSET_TAG=e.FIELDSET_TAG;exports.createFieldset=e.createFieldset;exports.enhanceFieldsets=e.enhanceFieldsets;
2
+ //# sourceMappingURL=fieldset.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldset.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index85.cjs");exports.FORM_SELECTOR=e.FORM_SELECTOR;exports.FORM_TAG=e.FORM_TAG;exports.createForm=e.createForm;exports.enhanceForms=e.enhanceForms;
2
+ //# sourceMappingURL=form.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/index82.cjs"),t=require("../../chunks/index83.cjs"),r=require("../../chunks/index84.cjs"),n=require("../../chunks/index85.cjs"),o=require("../../chunks/index86.cjs"),s=require("../../chunks/index87.cjs"),i=require("../../chunks/index88.cjs"),m=require("../../chunks/index89.cjs"),l=require("../../chunks/index90.cjs"),_=require("../../chunks/index91.cjs"),u=require("../../chunks/index92.cjs"),d=require("../../chunks/index93.cjs"),f=require("../../chunks/index94.cjs"),c=require("../../chunks/index95.cjs");exports.button=e.index;exports.datalist=t.index;exports.fieldset=r.index;exports.form=n.index;exports.input=o.index;exports.label=s.index;exports.legend=i.index;exports.meter=m.index;exports.optgroup=l.index;exports.option=_.index;exports.output=u.index;exports.progress=d.index;exports.select=f.index;exports.textarea=c.index;
2
+ //# sourceMappingURL=form.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index86.cjs");exports.INPUT_SELECTOR=e.INPUT_SELECTOR;exports.INPUT_TAG=e.INPUT_TAG;exports.createInput=e.createInput;exports.enhanceInputs=e.enhanceInputs;
2
+ //# sourceMappingURL=input.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index87.cjs");exports.LABEL_SELECTOR=e.LABEL_SELECTOR;exports.LABEL_TAG=e.LABEL_TAG;exports.createLabel=e.createLabel;exports.enhanceLabels=e.enhanceLabels;
2
+ //# sourceMappingURL=label.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../chunks/dom.cjs");const e=require("../../../chunks/index88.cjs");exports.LEGEND_SELECTOR=e.LEGEND_SELECTOR;exports.LEGEND_TAG=e.LEGEND_TAG;exports.createLegend=e.createLegend;exports.enhanceLegends=e.enhanceLegends;
2
+ //# sourceMappingURL=legend.cjs.map