@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.
- package/LICENSE +15 -0
- package/README.md +84 -0
- package/dist/assets/fonts/merriweather/Merriweather-Variable-Font.ttf +0 -0
- package/dist/assets/fonts/merriweather/Merriweather-Variable-Italic-Font.ttf +0 -0
- package/dist/assets/fonts/merriweather/OFL.txt +93 -0
- package/dist/assets/fonts/merriweather/README.txt +205 -0
- package/dist/assets/fonts/montserrat/Montserrat-Variable-Font.ttf +0 -0
- package/dist/assets/fonts/montserrat/Montserrat-Variable-Italic-Font.ttf +0 -0
- package/dist/assets/fonts/montserrat/OFL.txt +93 -0
- package/dist/assets/fonts/montserrat/README.txt +81 -0
- package/dist/cjs/chunks/dom.cjs +2 -0
- package/dist/cjs/chunks/dom.cjs.map +1 -0
- package/dist/cjs/chunks/fundatio.cjs +2 -0
- package/dist/cjs/chunks/fundatio.cjs.map +1 -0
- package/dist/cjs/chunks/index.cjs +2 -0
- package/dist/cjs/chunks/index.cjs.map +1 -0
- package/dist/cjs/chunks/index10.cjs +2 -0
- package/dist/cjs/chunks/index10.cjs.map +1 -0
- package/dist/cjs/chunks/index100.cjs +2 -0
- package/dist/cjs/chunks/index100.cjs.map +1 -0
- package/dist/cjs/chunks/index101.cjs +2 -0
- package/dist/cjs/chunks/index101.cjs.map +1 -0
- package/dist/cjs/chunks/index102.cjs +2 -0
- package/dist/cjs/chunks/index102.cjs.map +1 -0
- package/dist/cjs/chunks/index103.cjs +2 -0
- package/dist/cjs/chunks/index103.cjs.map +1 -0
- package/dist/cjs/chunks/index104.cjs +2 -0
- package/dist/cjs/chunks/index104.cjs.map +1 -0
- package/dist/cjs/chunks/index105.cjs +2 -0
- package/dist/cjs/chunks/index105.cjs.map +1 -0
- package/dist/cjs/chunks/index106.cjs +2 -0
- package/dist/cjs/chunks/index106.cjs.map +1 -0
- package/dist/cjs/chunks/index107.cjs +2 -0
- package/dist/cjs/chunks/index107.cjs.map +1 -0
- package/dist/cjs/chunks/index108.cjs +2 -0
- package/dist/cjs/chunks/index108.cjs.map +1 -0
- package/dist/cjs/chunks/index109.cjs +2 -0
- package/dist/cjs/chunks/index109.cjs.map +1 -0
- package/dist/cjs/chunks/index11.cjs +2 -0
- package/dist/cjs/chunks/index11.cjs.map +1 -0
- package/dist/cjs/chunks/index110.cjs +2 -0
- package/dist/cjs/chunks/index110.cjs.map +1 -0
- package/dist/cjs/chunks/index12.cjs +2 -0
- package/dist/cjs/chunks/index12.cjs.map +1 -0
- package/dist/cjs/chunks/index13.cjs +2 -0
- package/dist/cjs/chunks/index13.cjs.map +1 -0
- package/dist/cjs/chunks/index14.cjs +2 -0
- package/dist/cjs/chunks/index14.cjs.map +1 -0
- package/dist/cjs/chunks/index15.cjs +2 -0
- package/dist/cjs/chunks/index15.cjs.map +1 -0
- package/dist/cjs/chunks/index16.cjs +2 -0
- package/dist/cjs/chunks/index16.cjs.map +1 -0
- package/dist/cjs/chunks/index17.cjs +2 -0
- package/dist/cjs/chunks/index17.cjs.map +1 -0
- package/dist/cjs/chunks/index18.cjs +2 -0
- package/dist/cjs/chunks/index18.cjs.map +1 -0
- package/dist/cjs/chunks/index19.cjs +2 -0
- package/dist/cjs/chunks/index19.cjs.map +1 -0
- package/dist/cjs/chunks/index2.cjs +2 -0
- package/dist/cjs/chunks/index2.cjs.map +1 -0
- package/dist/cjs/chunks/index20.cjs +2 -0
- package/dist/cjs/chunks/index20.cjs.map +1 -0
- package/dist/cjs/chunks/index21.cjs +2 -0
- package/dist/cjs/chunks/index21.cjs.map +1 -0
- package/dist/cjs/chunks/index22.cjs +2 -0
- package/dist/cjs/chunks/index22.cjs.map +1 -0
- package/dist/cjs/chunks/index23.cjs +2 -0
- package/dist/cjs/chunks/index23.cjs.map +1 -0
- package/dist/cjs/chunks/index24.cjs +2 -0
- package/dist/cjs/chunks/index24.cjs.map +1 -0
- package/dist/cjs/chunks/index25.cjs +2 -0
- package/dist/cjs/chunks/index25.cjs.map +1 -0
- package/dist/cjs/chunks/index26.cjs +2 -0
- package/dist/cjs/chunks/index26.cjs.map +1 -0
- package/dist/cjs/chunks/index27.cjs +2 -0
- package/dist/cjs/chunks/index27.cjs.map +1 -0
- package/dist/cjs/chunks/index28.cjs +2 -0
- package/dist/cjs/chunks/index28.cjs.map +1 -0
- package/dist/cjs/chunks/index29.cjs +2 -0
- package/dist/cjs/chunks/index29.cjs.map +1 -0
- package/dist/cjs/chunks/index3.cjs +2 -0
- package/dist/cjs/chunks/index3.cjs.map +1 -0
- package/dist/cjs/chunks/index30.cjs +2 -0
- package/dist/cjs/chunks/index30.cjs.map +1 -0
- package/dist/cjs/chunks/index31.cjs +2 -0
- package/dist/cjs/chunks/index31.cjs.map +1 -0
- package/dist/cjs/chunks/index32.cjs +2 -0
- package/dist/cjs/chunks/index32.cjs.map +1 -0
- package/dist/cjs/chunks/index33.cjs +2 -0
- package/dist/cjs/chunks/index33.cjs.map +1 -0
- package/dist/cjs/chunks/index34.cjs +2 -0
- package/dist/cjs/chunks/index34.cjs.map +1 -0
- package/dist/cjs/chunks/index35.cjs +2 -0
- package/dist/cjs/chunks/index35.cjs.map +1 -0
- package/dist/cjs/chunks/index36.cjs +2 -0
- package/dist/cjs/chunks/index36.cjs.map +1 -0
- package/dist/cjs/chunks/index37.cjs +2 -0
- package/dist/cjs/chunks/index37.cjs.map +1 -0
- package/dist/cjs/chunks/index38.cjs +2 -0
- package/dist/cjs/chunks/index38.cjs.map +1 -0
- package/dist/cjs/chunks/index39.cjs +2 -0
- package/dist/cjs/chunks/index39.cjs.map +1 -0
- package/dist/cjs/chunks/index4.cjs +2 -0
- package/dist/cjs/chunks/index4.cjs.map +1 -0
- package/dist/cjs/chunks/index40.cjs +2 -0
- package/dist/cjs/chunks/index40.cjs.map +1 -0
- package/dist/cjs/chunks/index41.cjs +2 -0
- package/dist/cjs/chunks/index41.cjs.map +1 -0
- package/dist/cjs/chunks/index42.cjs +2 -0
- package/dist/cjs/chunks/index42.cjs.map +1 -0
- package/dist/cjs/chunks/index43.cjs +2 -0
- package/dist/cjs/chunks/index43.cjs.map +1 -0
- package/dist/cjs/chunks/index44.cjs +2 -0
- package/dist/cjs/chunks/index44.cjs.map +1 -0
- package/dist/cjs/chunks/index45.cjs +2 -0
- package/dist/cjs/chunks/index45.cjs.map +1 -0
- package/dist/cjs/chunks/index46.cjs +2 -0
- package/dist/cjs/chunks/index46.cjs.map +1 -0
- package/dist/cjs/chunks/index47.cjs +2 -0
- package/dist/cjs/chunks/index47.cjs.map +1 -0
- package/dist/cjs/chunks/index48.cjs +2 -0
- package/dist/cjs/chunks/index48.cjs.map +1 -0
- package/dist/cjs/chunks/index49.cjs +2 -0
- package/dist/cjs/chunks/index49.cjs.map +1 -0
- package/dist/cjs/chunks/index5.cjs +2 -0
- package/dist/cjs/chunks/index5.cjs.map +1 -0
- package/dist/cjs/chunks/index50.cjs +2 -0
- package/dist/cjs/chunks/index50.cjs.map +1 -0
- package/dist/cjs/chunks/index51.cjs +2 -0
- package/dist/cjs/chunks/index51.cjs.map +1 -0
- package/dist/cjs/chunks/index52.cjs +2 -0
- package/dist/cjs/chunks/index52.cjs.map +1 -0
- package/dist/cjs/chunks/index53.cjs +2 -0
- package/dist/cjs/chunks/index53.cjs.map +1 -0
- package/dist/cjs/chunks/index54.cjs +2 -0
- package/dist/cjs/chunks/index54.cjs.map +1 -0
- package/dist/cjs/chunks/index55.cjs +2 -0
- package/dist/cjs/chunks/index55.cjs.map +1 -0
- package/dist/cjs/chunks/index56.cjs +2 -0
- package/dist/cjs/chunks/index56.cjs.map +1 -0
- package/dist/cjs/chunks/index57.cjs +2 -0
- package/dist/cjs/chunks/index57.cjs.map +1 -0
- package/dist/cjs/chunks/index58.cjs +2 -0
- package/dist/cjs/chunks/index58.cjs.map +1 -0
- package/dist/cjs/chunks/index59.cjs +2 -0
- package/dist/cjs/chunks/index59.cjs.map +1 -0
- package/dist/cjs/chunks/index6.cjs +2 -0
- package/dist/cjs/chunks/index6.cjs.map +1 -0
- package/dist/cjs/chunks/index60.cjs +2 -0
- package/dist/cjs/chunks/index60.cjs.map +1 -0
- package/dist/cjs/chunks/index61.cjs +2 -0
- package/dist/cjs/chunks/index61.cjs.map +1 -0
- package/dist/cjs/chunks/index62.cjs +2 -0
- package/dist/cjs/chunks/index62.cjs.map +1 -0
- package/dist/cjs/chunks/index63.cjs +2 -0
- package/dist/cjs/chunks/index63.cjs.map +1 -0
- package/dist/cjs/chunks/index64.cjs +2 -0
- package/dist/cjs/chunks/index64.cjs.map +1 -0
- package/dist/cjs/chunks/index65.cjs +2 -0
- package/dist/cjs/chunks/index65.cjs.map +1 -0
- package/dist/cjs/chunks/index66.cjs +2 -0
- package/dist/cjs/chunks/index66.cjs.map +1 -0
- package/dist/cjs/chunks/index67.cjs +2 -0
- package/dist/cjs/chunks/index67.cjs.map +1 -0
- package/dist/cjs/chunks/index68.cjs +2 -0
- package/dist/cjs/chunks/index68.cjs.map +1 -0
- package/dist/cjs/chunks/index69.cjs +2 -0
- package/dist/cjs/chunks/index69.cjs.map +1 -0
- package/dist/cjs/chunks/index7.cjs +2 -0
- package/dist/cjs/chunks/index7.cjs.map +1 -0
- package/dist/cjs/chunks/index70.cjs +2 -0
- package/dist/cjs/chunks/index70.cjs.map +1 -0
- package/dist/cjs/chunks/index71.cjs +2 -0
- package/dist/cjs/chunks/index71.cjs.map +1 -0
- package/dist/cjs/chunks/index72.cjs +2 -0
- package/dist/cjs/chunks/index72.cjs.map +1 -0
- package/dist/cjs/chunks/index73.cjs +2 -0
- package/dist/cjs/chunks/index73.cjs.map +1 -0
- package/dist/cjs/chunks/index74.cjs +2 -0
- package/dist/cjs/chunks/index74.cjs.map +1 -0
- package/dist/cjs/chunks/index75.cjs +2 -0
- package/dist/cjs/chunks/index75.cjs.map +1 -0
- package/dist/cjs/chunks/index76.cjs +2 -0
- package/dist/cjs/chunks/index76.cjs.map +1 -0
- package/dist/cjs/chunks/index77.cjs +2 -0
- package/dist/cjs/chunks/index77.cjs.map +1 -0
- package/dist/cjs/chunks/index78.cjs +2 -0
- package/dist/cjs/chunks/index78.cjs.map +1 -0
- package/dist/cjs/chunks/index79.cjs +2 -0
- package/dist/cjs/chunks/index79.cjs.map +1 -0
- package/dist/cjs/chunks/index8.cjs +2 -0
- package/dist/cjs/chunks/index8.cjs.map +1 -0
- package/dist/cjs/chunks/index80.cjs +2 -0
- package/dist/cjs/chunks/index80.cjs.map +1 -0
- package/dist/cjs/chunks/index81.cjs +2 -0
- package/dist/cjs/chunks/index81.cjs.map +1 -0
- package/dist/cjs/chunks/index82.cjs +2 -0
- package/dist/cjs/chunks/index82.cjs.map +1 -0
- package/dist/cjs/chunks/index83.cjs +2 -0
- package/dist/cjs/chunks/index83.cjs.map +1 -0
- package/dist/cjs/chunks/index84.cjs +2 -0
- package/dist/cjs/chunks/index84.cjs.map +1 -0
- package/dist/cjs/chunks/index85.cjs +2 -0
- package/dist/cjs/chunks/index85.cjs.map +1 -0
- package/dist/cjs/chunks/index86.cjs +2 -0
- package/dist/cjs/chunks/index86.cjs.map +1 -0
- package/dist/cjs/chunks/index87.cjs +2 -0
- package/dist/cjs/chunks/index87.cjs.map +1 -0
- package/dist/cjs/chunks/index88.cjs +2 -0
- package/dist/cjs/chunks/index88.cjs.map +1 -0
- package/dist/cjs/chunks/index89.cjs +2 -0
- package/dist/cjs/chunks/index89.cjs.map +1 -0
- package/dist/cjs/chunks/index9.cjs +2 -0
- package/dist/cjs/chunks/index9.cjs.map +1 -0
- package/dist/cjs/chunks/index90.cjs +2 -0
- package/dist/cjs/chunks/index90.cjs.map +1 -0
- package/dist/cjs/chunks/index91.cjs +2 -0
- package/dist/cjs/chunks/index91.cjs.map +1 -0
- package/dist/cjs/chunks/index92.cjs +2 -0
- package/dist/cjs/chunks/index92.cjs.map +1 -0
- package/dist/cjs/chunks/index93.cjs +2 -0
- package/dist/cjs/chunks/index93.cjs.map +1 -0
- package/dist/cjs/chunks/index94.cjs +2 -0
- package/dist/cjs/chunks/index94.cjs.map +1 -0
- package/dist/cjs/chunks/index95.cjs +2 -0
- package/dist/cjs/chunks/index95.cjs.map +1 -0
- package/dist/cjs/chunks/index96.cjs +2 -0
- package/dist/cjs/chunks/index96.cjs.map +1 -0
- package/dist/cjs/chunks/index97.cjs +2 -0
- package/dist/cjs/chunks/index97.cjs.map +1 -0
- package/dist/cjs/chunks/index98.cjs +2 -0
- package/dist/cjs/chunks/index98.cjs.map +1 -0
- package/dist/cjs/chunks/index99.cjs +2 -0
- package/dist/cjs/chunks/index99.cjs.map +1 -0
- package/dist/cjs/elements/break/br/br.cjs +2 -0
- package/dist/cjs/elements/break/br/br.cjs.map +1 -0
- package/dist/cjs/elements/break/break.cjs +2 -0
- package/dist/cjs/elements/break/break.cjs.map +1 -0
- package/dist/cjs/elements/break/wbr/wbr.cjs +2 -0
- package/dist/cjs/elements/break/wbr/wbr.cjs.map +1 -0
- package/dist/cjs/elements/container/container.cjs +2 -0
- package/dist/cjs/elements/container/container.cjs.map +1 -0
- package/dist/cjs/elements/container/div/div.cjs +2 -0
- package/dist/cjs/elements/container/div/div.cjs.map +1 -0
- package/dist/cjs/elements/container/span/span.cjs +2 -0
- package/dist/cjs/elements/container/span/span.cjs.map +1 -0
- package/dist/cjs/elements/figure/figcaption/figcaption.cjs +2 -0
- package/dist/cjs/elements/figure/figcaption/figcaption.cjs.map +1 -0
- package/dist/cjs/elements/figure/figure/figure.cjs +2 -0
- package/dist/cjs/elements/figure/figure/figure.cjs.map +1 -0
- package/dist/cjs/elements/figure/figure.cjs +2 -0
- package/dist/cjs/elements/figure/figure.cjs.map +1 -0
- package/dist/cjs/elements/form/button/button.cjs +2 -0
- package/dist/cjs/elements/form/button/button.cjs.map +1 -0
- package/dist/cjs/elements/form/datalist/datalist.cjs +2 -0
- package/dist/cjs/elements/form/datalist/datalist.cjs.map +1 -0
- package/dist/cjs/elements/form/fieldset/fieldset.cjs +2 -0
- package/dist/cjs/elements/form/fieldset/fieldset.cjs.map +1 -0
- package/dist/cjs/elements/form/form/form.cjs +2 -0
- package/dist/cjs/elements/form/form/form.cjs.map +1 -0
- package/dist/cjs/elements/form/form.cjs +2 -0
- package/dist/cjs/elements/form/form.cjs.map +1 -0
- package/dist/cjs/elements/form/input/input.cjs +2 -0
- package/dist/cjs/elements/form/input/input.cjs.map +1 -0
- package/dist/cjs/elements/form/label/label.cjs +2 -0
- package/dist/cjs/elements/form/label/label.cjs.map +1 -0
- package/dist/cjs/elements/form/legend/legend.cjs +2 -0
- package/dist/cjs/elements/form/legend/legend.cjs.map +1 -0
- package/dist/cjs/elements/form/meter/meter.cjs +2 -0
- package/dist/cjs/elements/form/meter/meter.cjs.map +1 -0
- package/dist/cjs/elements/form/optgroup/optgroup.cjs +2 -0
- package/dist/cjs/elements/form/optgroup/optgroup.cjs.map +1 -0
- package/dist/cjs/elements/form/option/option.cjs +2 -0
- package/dist/cjs/elements/form/option/option.cjs.map +1 -0
- package/dist/cjs/elements/form/output/output.cjs +2 -0
- package/dist/cjs/elements/form/output/output.cjs.map +1 -0
- package/dist/cjs/elements/form/progress/progress.cjs +2 -0
- package/dist/cjs/elements/form/progress/progress.cjs.map +1 -0
- package/dist/cjs/elements/form/select/select.cjs +2 -0
- package/dist/cjs/elements/form/select/select.cjs.map +1 -0
- package/dist/cjs/elements/form/textarea/textarea.cjs +2 -0
- package/dist/cjs/elements/form/textarea/textarea.cjs.map +1 -0
- package/dist/cjs/elements/heading/h1/h1.cjs +2 -0
- package/dist/cjs/elements/heading/h1/h1.cjs.map +1 -0
- package/dist/cjs/elements/heading/h2/h2.cjs +2 -0
- package/dist/cjs/elements/heading/h2/h2.cjs.map +1 -0
- package/dist/cjs/elements/heading/h3/h3.cjs +2 -0
- package/dist/cjs/elements/heading/h3/h3.cjs.map +1 -0
- package/dist/cjs/elements/heading/h4/h4.cjs +2 -0
- package/dist/cjs/elements/heading/h4/h4.cjs.map +1 -0
- package/dist/cjs/elements/heading/h5/h5.cjs +2 -0
- package/dist/cjs/elements/heading/h5/h5.cjs.map +1 -0
- package/dist/cjs/elements/heading/h6/h6.cjs +2 -0
- package/dist/cjs/elements/heading/h6/h6.cjs.map +1 -0
- package/dist/cjs/elements/heading/heading.cjs +2 -0
- package/dist/cjs/elements/heading/heading.cjs.map +1 -0
- package/dist/cjs/elements/inline/a/a.cjs +2 -0
- package/dist/cjs/elements/inline/a/a.cjs.map +1 -0
- package/dist/cjs/elements/inline/abbr/abbr.cjs +2 -0
- package/dist/cjs/elements/inline/abbr/abbr.cjs.map +1 -0
- package/dist/cjs/elements/inline/b/b.cjs +2 -0
- package/dist/cjs/elements/inline/b/b.cjs.map +1 -0
- package/dist/cjs/elements/inline/cite/cite.cjs +2 -0
- package/dist/cjs/elements/inline/cite/cite.cjs.map +1 -0
- package/dist/cjs/elements/inline/code/code.cjs +2 -0
- package/dist/cjs/elements/inline/code/code.cjs.map +1 -0
- package/dist/cjs/elements/inline/data/data.cjs +2 -0
- package/dist/cjs/elements/inline/data/data.cjs.map +1 -0
- package/dist/cjs/elements/inline/dfn/dfn.cjs +2 -0
- package/dist/cjs/elements/inline/dfn/dfn.cjs.map +1 -0
- package/dist/cjs/elements/inline/em/em.cjs +2 -0
- package/dist/cjs/elements/inline/em/em.cjs.map +1 -0
- package/dist/cjs/elements/inline/i/i.cjs +2 -0
- package/dist/cjs/elements/inline/i/i.cjs.map +1 -0
- package/dist/cjs/elements/inline/inline.cjs +2 -0
- package/dist/cjs/elements/inline/inline.cjs.map +1 -0
- package/dist/cjs/elements/inline/kbd/kbd.cjs +2 -0
- package/dist/cjs/elements/inline/kbd/kbd.cjs.map +1 -0
- package/dist/cjs/elements/inline/mark/mark.cjs +2 -0
- package/dist/cjs/elements/inline/mark/mark.cjs.map +1 -0
- package/dist/cjs/elements/inline/q/q.cjs +2 -0
- package/dist/cjs/elements/inline/q/q.cjs.map +1 -0
- package/dist/cjs/elements/inline/rb/rb.cjs +2 -0
- package/dist/cjs/elements/inline/rb/rb.cjs.map +1 -0
- package/dist/cjs/elements/inline/rt/rt.cjs +2 -0
- package/dist/cjs/elements/inline/rt/rt.cjs.map +1 -0
- package/dist/cjs/elements/inline/rtc/rtc.cjs +2 -0
- package/dist/cjs/elements/inline/rtc/rtc.cjs.map +1 -0
- package/dist/cjs/elements/inline/ruby/ruby.cjs +2 -0
- package/dist/cjs/elements/inline/ruby/ruby.cjs.map +1 -0
- package/dist/cjs/elements/inline/s/s.cjs +2 -0
- package/dist/cjs/elements/inline/s/s.cjs.map +1 -0
- package/dist/cjs/elements/inline/samp/samp.cjs +2 -0
- package/dist/cjs/elements/inline/samp/samp.cjs.map +1 -0
- package/dist/cjs/elements/inline/small/small.cjs +2 -0
- package/dist/cjs/elements/inline/small/small.cjs.map +1 -0
- package/dist/cjs/elements/inline/strong/strong.cjs +2 -0
- package/dist/cjs/elements/inline/strong/strong.cjs.map +1 -0
- package/dist/cjs/elements/inline/sub/sub.cjs +2 -0
- package/dist/cjs/elements/inline/sub/sub.cjs.map +1 -0
- package/dist/cjs/elements/inline/sup/sup.cjs +2 -0
- package/dist/cjs/elements/inline/sup/sup.cjs.map +1 -0
- package/dist/cjs/elements/inline/time/time.cjs +2 -0
- package/dist/cjs/elements/inline/time/time.cjs.map +1 -0
- package/dist/cjs/elements/inline/u/u.cjs +2 -0
- package/dist/cjs/elements/inline/u/u.cjs.map +1 -0
- package/dist/cjs/elements/inline/var/var.cjs +2 -0
- package/dist/cjs/elements/inline/var/var.cjs.map +1 -0
- package/dist/cjs/elements/interactive/details/details.cjs +2 -0
- package/dist/cjs/elements/interactive/details/details.cjs.map +1 -0
- package/dist/cjs/elements/interactive/dialog/dialog.cjs +2 -0
- package/dist/cjs/elements/interactive/dialog/dialog.cjs.map +1 -0
- package/dist/cjs/elements/interactive/interactive.cjs +2 -0
- package/dist/cjs/elements/interactive/interactive.cjs.map +1 -0
- package/dist/cjs/elements/interactive/summary/summary.cjs +2 -0
- package/dist/cjs/elements/interactive/summary/summary.cjs.map +1 -0
- package/dist/cjs/elements/layout/article/article.cjs +2 -0
- package/dist/cjs/elements/layout/article/article.cjs.map +1 -0
- package/dist/cjs/elements/layout/aside/aside.cjs +2 -0
- package/dist/cjs/elements/layout/aside/aside.cjs.map +1 -0
- package/dist/cjs/elements/layout/footer/footer.cjs +2 -0
- package/dist/cjs/elements/layout/footer/footer.cjs.map +1 -0
- package/dist/cjs/elements/layout/header/header.cjs +2 -0
- package/dist/cjs/elements/layout/header/header.cjs.map +1 -0
- package/dist/cjs/elements/layout/layout.cjs +2 -0
- package/dist/cjs/elements/layout/layout.cjs.map +1 -0
- package/dist/cjs/elements/layout/main/main.cjs +2 -0
- package/dist/cjs/elements/layout/main/main.cjs.map +1 -0
- package/dist/cjs/elements/layout/nav/nav.cjs +2 -0
- package/dist/cjs/elements/layout/nav/nav.cjs.map +1 -0
- package/dist/cjs/elements/layout/section/section.cjs +2 -0
- package/dist/cjs/elements/layout/section/section.cjs.map +1 -0
- package/dist/cjs/elements/list/dd/dd.cjs +2 -0
- package/dist/cjs/elements/list/dd/dd.cjs.map +1 -0
- package/dist/cjs/elements/list/dl/dl.cjs +2 -0
- package/dist/cjs/elements/list/dl/dl.cjs.map +1 -0
- package/dist/cjs/elements/list/dt/dt.cjs +2 -0
- package/dist/cjs/elements/list/dt/dt.cjs.map +1 -0
- package/dist/cjs/elements/list/li/li.cjs +2 -0
- package/dist/cjs/elements/list/li/li.cjs.map +1 -0
- package/dist/cjs/elements/list/list.cjs +2 -0
- package/dist/cjs/elements/list/list.cjs.map +1 -0
- package/dist/cjs/elements/list/ol/ol.cjs +2 -0
- package/dist/cjs/elements/list/ol/ol.cjs.map +1 -0
- package/dist/cjs/elements/list/ul/ul.cjs +2 -0
- package/dist/cjs/elements/list/ul/ul.cjs.map +1 -0
- package/dist/cjs/elements/media/audio/audio.cjs +2 -0
- package/dist/cjs/elements/media/audio/audio.cjs.map +1 -0
- package/dist/cjs/elements/media/canvas/canvas.cjs +2 -0
- package/dist/cjs/elements/media/canvas/canvas.cjs.map +1 -0
- package/dist/cjs/elements/media/embed/embed.cjs +2 -0
- package/dist/cjs/elements/media/embed/embed.cjs.map +1 -0
- package/dist/cjs/elements/media/iframe/iframe.cjs +2 -0
- package/dist/cjs/elements/media/iframe/iframe.cjs.map +1 -0
- package/dist/cjs/elements/media/img/img.cjs +2 -0
- package/dist/cjs/elements/media/img/img.cjs.map +1 -0
- package/dist/cjs/elements/media/math/math.cjs +2 -0
- package/dist/cjs/elements/media/math/math.cjs.map +1 -0
- package/dist/cjs/elements/media/media.cjs +2 -0
- package/dist/cjs/elements/media/media.cjs.map +1 -0
- package/dist/cjs/elements/media/object/object.cjs +2 -0
- package/dist/cjs/elements/media/object/object.cjs.map +1 -0
- package/dist/cjs/elements/media/svg/svg.cjs +2 -0
- package/dist/cjs/elements/media/svg/svg.cjs.map +1 -0
- package/dist/cjs/elements/media/video/video.cjs +2 -0
- package/dist/cjs/elements/media/video/video.cjs.map +1 -0
- package/dist/cjs/elements/responsive/area/area.cjs +2 -0
- package/dist/cjs/elements/responsive/area/area.cjs.map +1 -0
- package/dist/cjs/elements/responsive/map/map.cjs +2 -0
- package/dist/cjs/elements/responsive/map/map.cjs.map +1 -0
- package/dist/cjs/elements/responsive/picture/picture.cjs +2 -0
- package/dist/cjs/elements/responsive/picture/picture.cjs.map +1 -0
- package/dist/cjs/elements/responsive/responsive.cjs +2 -0
- package/dist/cjs/elements/responsive/responsive.cjs.map +1 -0
- package/dist/cjs/elements/responsive/source/source.cjs +2 -0
- package/dist/cjs/elements/responsive/source/source.cjs.map +1 -0
- package/dist/cjs/elements/responsive/track/track.cjs +2 -0
- package/dist/cjs/elements/responsive/track/track.cjs.map +1 -0
- package/dist/cjs/elements/table/caption/caption.cjs +2 -0
- package/dist/cjs/elements/table/caption/caption.cjs.map +1 -0
- package/dist/cjs/elements/table/col/col.cjs +2 -0
- package/dist/cjs/elements/table/col/col.cjs.map +1 -0
- package/dist/cjs/elements/table/colgroup/colgroup.cjs +2 -0
- package/dist/cjs/elements/table/colgroup/colgroup.cjs.map +1 -0
- package/dist/cjs/elements/table/table/table.cjs +2 -0
- package/dist/cjs/elements/table/table/table.cjs.map +1 -0
- package/dist/cjs/elements/table/table.cjs +2 -0
- package/dist/cjs/elements/table/table.cjs.map +1 -0
- package/dist/cjs/elements/table/tbody/tbody.cjs +2 -0
- package/dist/cjs/elements/table/tbody/tbody.cjs.map +1 -0
- package/dist/cjs/elements/table/td/td.cjs +2 -0
- package/dist/cjs/elements/table/td/td.cjs.map +1 -0
- package/dist/cjs/elements/table/tfoot/tfoot.cjs +2 -0
- package/dist/cjs/elements/table/tfoot/tfoot.cjs.map +1 -0
- package/dist/cjs/elements/table/th/th.cjs +2 -0
- package/dist/cjs/elements/table/th/th.cjs.map +1 -0
- package/dist/cjs/elements/table/thead/thead.cjs +2 -0
- package/dist/cjs/elements/table/thead/thead.cjs.map +1 -0
- package/dist/cjs/elements/table/tr/tr.cjs +2 -0
- package/dist/cjs/elements/table/tr/tr.cjs.map +1 -0
- package/dist/cjs/elements/text/address/address.cjs +2 -0
- package/dist/cjs/elements/text/address/address.cjs.map +1 -0
- package/dist/cjs/elements/text/blockquote/blockquote.cjs +2 -0
- package/dist/cjs/elements/text/blockquote/blockquote.cjs.map +1 -0
- package/dist/cjs/elements/text/hr/hr.cjs +2 -0
- package/dist/cjs/elements/text/hr/hr.cjs.map +1 -0
- package/dist/cjs/elements/text/paragraph/paragraph.cjs +2 -0
- package/dist/cjs/elements/text/paragraph/paragraph.cjs.map +1 -0
- package/dist/cjs/elements/text/pre/pre.cjs +2 -0
- package/dist/cjs/elements/text/pre/pre.cjs.map +1 -0
- package/dist/cjs/elements/text/text.cjs +2 -0
- package/dist/cjs/elements/text/text.cjs.map +1 -0
- package/dist/cjs/elements.cjs +2 -0
- package/dist/cjs/elements.cjs.map +1 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/css/core.css +1 -0
- package/dist/css/core.css.map +1 -0
- package/dist/css/elements/break/br/br.css +1 -0
- package/dist/css/elements/break/br/br.css.map +1 -0
- package/dist/css/elements/break/wbr/wbr.css +1 -0
- package/dist/css/elements/break/wbr/wbr.css.map +1 -0
- package/dist/css/elements/container/div/div.css +1 -0
- package/dist/css/elements/container/div/div.css.map +1 -0
- package/dist/css/elements/container/span/span.css +1 -0
- package/dist/css/elements/container/span/span.css.map +1 -0
- package/dist/css/elements/figure/figcaption/figcaption.css +1 -0
- package/dist/css/elements/figure/figcaption/figcaption.css.map +1 -0
- package/dist/css/elements/figure/figure/figure.css +1 -0
- package/dist/css/elements/figure/figure/figure.css.map +1 -0
- package/dist/css/elements/form/button/button.css +1 -0
- package/dist/css/elements/form/button/button.css.map +1 -0
- package/dist/css/elements/form/datalist/datalist.css +1 -0
- package/dist/css/elements/form/datalist/datalist.css.map +1 -0
- package/dist/css/elements/form/fieldset/fieldset.css +1 -0
- package/dist/css/elements/form/fieldset/fieldset.css.map +1 -0
- package/dist/css/elements/form/form/form.css +1 -0
- package/dist/css/elements/form/form/form.css.map +1 -0
- package/dist/css/elements/form/input/input.css +1 -0
- package/dist/css/elements/form/input/input.css.map +1 -0
- package/dist/css/elements/form/label/label.css +1 -0
- package/dist/css/elements/form/label/label.css.map +1 -0
- package/dist/css/elements/form/legend/legend.css +1 -0
- package/dist/css/elements/form/legend/legend.css.map +1 -0
- package/dist/css/elements/form/meter/meter.css +1 -0
- package/dist/css/elements/form/meter/meter.css.map +1 -0
- package/dist/css/elements/form/optgroup/optgroup.css +1 -0
- package/dist/css/elements/form/optgroup/optgroup.css.map +1 -0
- package/dist/css/elements/form/option/option.css +1 -0
- package/dist/css/elements/form/option/option.css.map +1 -0
- package/dist/css/elements/form/output/output.css +1 -0
- package/dist/css/elements/form/output/output.css.map +1 -0
- package/dist/css/elements/form/progress/progress.css +1 -0
- package/dist/css/elements/form/progress/progress.css.map +1 -0
- package/dist/css/elements/form/select/select.css +1 -0
- package/dist/css/elements/form/select/select.css.map +1 -0
- package/dist/css/elements/form/textarea/textarea.css +1 -0
- package/dist/css/elements/form/textarea/textarea.css.map +1 -0
- package/dist/css/elements/heading/h1/h1.css +1 -0
- package/dist/css/elements/heading/h1/h1.css.map +1 -0
- package/dist/css/elements/heading/h2/h2.css +1 -0
- package/dist/css/elements/heading/h2/h2.css.map +1 -0
- package/dist/css/elements/heading/h3/h3.css +1 -0
- package/dist/css/elements/heading/h3/h3.css.map +1 -0
- package/dist/css/elements/heading/h4/h4.css +1 -0
- package/dist/css/elements/heading/h4/h4.css.map +1 -0
- package/dist/css/elements/heading/h5/h5.css +1 -0
- package/dist/css/elements/heading/h5/h5.css.map +1 -0
- package/dist/css/elements/heading/h6/h6.css +1 -0
- package/dist/css/elements/heading/h6/h6.css.map +1 -0
- package/dist/css/elements/inline/a/a.css +1 -0
- package/dist/css/elements/inline/a/a.css.map +1 -0
- package/dist/css/elements/inline/abbr/abbr.css +1 -0
- package/dist/css/elements/inline/abbr/abbr.css.map +1 -0
- package/dist/css/elements/inline/b/b.css +1 -0
- package/dist/css/elements/inline/b/b.css.map +1 -0
- package/dist/css/elements/inline/cite/cite.css +1 -0
- package/dist/css/elements/inline/cite/cite.css.map +1 -0
- package/dist/css/elements/inline/code/code.css +1 -0
- package/dist/css/elements/inline/code/code.css.map +1 -0
- package/dist/css/elements/inline/data/data.css +1 -0
- package/dist/css/elements/inline/data/data.css.map +1 -0
- package/dist/css/elements/inline/dfn/dfn.css +1 -0
- package/dist/css/elements/inline/dfn/dfn.css.map +1 -0
- package/dist/css/elements/inline/em/em.css +1 -0
- package/dist/css/elements/inline/em/em.css.map +1 -0
- package/dist/css/elements/inline/i/i.css +1 -0
- package/dist/css/elements/inline/i/i.css.map +1 -0
- package/dist/css/elements/inline/kbd/kbd.css +1 -0
- package/dist/css/elements/inline/kbd/kbd.css.map +1 -0
- package/dist/css/elements/inline/mark/mark.css +1 -0
- package/dist/css/elements/inline/mark/mark.css.map +1 -0
- package/dist/css/elements/inline/q/q.css +1 -0
- package/dist/css/elements/inline/q/q.css.map +1 -0
- package/dist/css/elements/inline/rb/rb.css +1 -0
- package/dist/css/elements/inline/rb/rb.css.map +1 -0
- package/dist/css/elements/inline/rp/rp.css +1 -0
- package/dist/css/elements/inline/rp/rp.css.map +1 -0
- package/dist/css/elements/inline/rt/rt.css +1 -0
- package/dist/css/elements/inline/rt/rt.css.map +1 -0
- package/dist/css/elements/inline/rtc/rtc.css +1 -0
- package/dist/css/elements/inline/rtc/rtc.css.map +1 -0
- package/dist/css/elements/inline/ruby/ruby.css +1 -0
- package/dist/css/elements/inline/ruby/ruby.css.map +1 -0
- package/dist/css/elements/inline/s/s.css +1 -0
- package/dist/css/elements/inline/s/s.css.map +1 -0
- package/dist/css/elements/inline/samp/samp.css +1 -0
- package/dist/css/elements/inline/samp/samp.css.map +1 -0
- package/dist/css/elements/inline/small/small.css +1 -0
- package/dist/css/elements/inline/small/small.css.map +1 -0
- package/dist/css/elements/inline/strong/strong.css +1 -0
- package/dist/css/elements/inline/strong/strong.css.map +1 -0
- package/dist/css/elements/inline/sub/sub.css +1 -0
- package/dist/css/elements/inline/sub/sub.css.map +1 -0
- package/dist/css/elements/inline/sup/sup.css +1 -0
- package/dist/css/elements/inline/sup/sup.css.map +1 -0
- package/dist/css/elements/inline/time/time.css +1 -0
- package/dist/css/elements/inline/time/time.css.map +1 -0
- package/dist/css/elements/inline/u/u.css +1 -0
- package/dist/css/elements/inline/u/u.css.map +1 -0
- package/dist/css/elements/inline/var/var.css +1 -0
- package/dist/css/elements/inline/var/var.css.map +1 -0
- package/dist/css/elements/interactive/details/details.css +1 -0
- package/dist/css/elements/interactive/details/details.css.map +1 -0
- package/dist/css/elements/interactive/dialog/dialog.css +1 -0
- package/dist/css/elements/interactive/dialog/dialog.css.map +1 -0
- package/dist/css/elements/interactive/summary/summary.css +1 -0
- package/dist/css/elements/interactive/summary/summary.css.map +1 -0
- package/dist/css/elements/layout/article/article.css +1 -0
- package/dist/css/elements/layout/article/article.css.map +1 -0
- package/dist/css/elements/layout/aside/aside.css +1 -0
- package/dist/css/elements/layout/aside/aside.css.map +1 -0
- package/dist/css/elements/layout/footer/footer.css +1 -0
- package/dist/css/elements/layout/footer/footer.css.map +1 -0
- package/dist/css/elements/layout/header/header.css +1 -0
- package/dist/css/elements/layout/header/header.css.map +1 -0
- package/dist/css/elements/layout/main/main.css +1 -0
- package/dist/css/elements/layout/main/main.css.map +1 -0
- package/dist/css/elements/layout/nav/nav.css +1 -0
- package/dist/css/elements/layout/nav/nav.css.map +1 -0
- package/dist/css/elements/layout/section/section.css +1 -0
- package/dist/css/elements/layout/section/section.css.map +1 -0
- package/dist/css/elements/list/dd/dd.css +1 -0
- package/dist/css/elements/list/dd/dd.css.map +1 -0
- package/dist/css/elements/list/dl/dl.css +1 -0
- package/dist/css/elements/list/dl/dl.css.map +1 -0
- package/dist/css/elements/list/dt/dt.css +1 -0
- package/dist/css/elements/list/dt/dt.css.map +1 -0
- package/dist/css/elements/list/li/li.css +1 -0
- package/dist/css/elements/list/li/li.css.map +1 -0
- package/dist/css/elements/list/ol/ol.css +1 -0
- package/dist/css/elements/list/ol/ol.css.map +1 -0
- package/dist/css/elements/list/ul/ul.css +1 -0
- package/dist/css/elements/list/ul/ul.css.map +1 -0
- package/dist/css/elements/media/audio/audio.css +1 -0
- package/dist/css/elements/media/audio/audio.css.map +1 -0
- package/dist/css/elements/media/canvas/canvas.css +1 -0
- package/dist/css/elements/media/canvas/canvas.css.map +1 -0
- package/dist/css/elements/media/embed/embed.css +1 -0
- package/dist/css/elements/media/embed/embed.css.map +1 -0
- package/dist/css/elements/media/iframe/iframe.css +1 -0
- package/dist/css/elements/media/iframe/iframe.css.map +1 -0
- package/dist/css/elements/media/img/img.css +1 -0
- package/dist/css/elements/media/img/img.css.map +1 -0
- package/dist/css/elements/media/math/math.css +1 -0
- package/dist/css/elements/media/math/math.css.map +1 -0
- package/dist/css/elements/media/object/object.css +1 -0
- package/dist/css/elements/media/object/object.css.map +1 -0
- package/dist/css/elements/media/svg/svg.css +1 -0
- package/dist/css/elements/media/svg/svg.css.map +1 -0
- package/dist/css/elements/media/video/video.css +1 -0
- package/dist/css/elements/media/video/video.css.map +1 -0
- package/dist/css/elements/responsive/area/area.css +1 -0
- package/dist/css/elements/responsive/area/area.css.map +1 -0
- package/dist/css/elements/responsive/map/map.css +1 -0
- package/dist/css/elements/responsive/map/map.css.map +1 -0
- package/dist/css/elements/responsive/picture/picture.css +1 -0
- package/dist/css/elements/responsive/picture/picture.css.map +1 -0
- package/dist/css/elements/responsive/source/source.css +1 -0
- package/dist/css/elements/responsive/source/source.css.map +1 -0
- package/dist/css/elements/responsive/track/track.css +1 -0
- package/dist/css/elements/responsive/track/track.css.map +1 -0
- package/dist/css/elements/table/caption/caption.css +1 -0
- package/dist/css/elements/table/caption/caption.css.map +1 -0
- package/dist/css/elements/table/col/col.css +1 -0
- package/dist/css/elements/table/col/col.css.map +1 -0
- package/dist/css/elements/table/colgroup/colgroup.css +1 -0
- package/dist/css/elements/table/colgroup/colgroup.css.map +1 -0
- package/dist/css/elements/table/table/table.css +1 -0
- package/dist/css/elements/table/table/table.css.map +1 -0
- package/dist/css/elements/table/tbody/tbody.css +1 -0
- package/dist/css/elements/table/tbody/tbody.css.map +1 -0
- package/dist/css/elements/table/td/td.css +1 -0
- package/dist/css/elements/table/td/td.css.map +1 -0
- package/dist/css/elements/table/tfoot/tfoot.css +1 -0
- package/dist/css/elements/table/tfoot/tfoot.css.map +1 -0
- package/dist/css/elements/table/th/th.css +1 -0
- package/dist/css/elements/table/th/th.css.map +1 -0
- package/dist/css/elements/table/thead/thead.css +1 -0
- package/dist/css/elements/table/thead/thead.css.map +1 -0
- package/dist/css/elements/table/tr/tr.css +1 -0
- package/dist/css/elements/table/tr/tr.css.map +1 -0
- package/dist/css/elements/text/address/address.css +1 -0
- package/dist/css/elements/text/address/address.css.map +1 -0
- package/dist/css/elements/text/blockquote/blockquote.css +1 -0
- package/dist/css/elements/text/blockquote/blockquote.css.map +1 -0
- package/dist/css/elements/text/hr/hr.css +1 -0
- package/dist/css/elements/text/hr/hr.css.map +1 -0
- package/dist/css/elements/text/paragraph/paragraph.css +1 -0
- package/dist/css/elements/text/paragraph/paragraph.css.map +1 -0
- package/dist/css/elements/text/pre/pre.css +1 -0
- package/dist/css/elements/text/pre/pre.css.map +1 -0
- package/dist/css/main.css +1 -0
- package/dist/css/main.css.map +1 -0
- package/dist/esm/chunks/dom.js +42 -0
- package/dist/esm/chunks/dom.js.map +1 -0
- package/dist/esm/chunks/fundatio.js +5 -0
- package/dist/esm/chunks/fundatio.js.map +1 -0
- package/dist/esm/chunks/index.js +33 -0
- package/dist/esm/chunks/index.js.map +1 -0
- package/dist/esm/chunks/index10.js +11 -0
- package/dist/esm/chunks/index10.js.map +1 -0
- package/dist/esm/chunks/index100.js +41 -0
- package/dist/esm/chunks/index100.js.map +1 -0
- package/dist/esm/chunks/index101.js +29 -0
- package/dist/esm/chunks/index101.js.map +1 -0
- package/dist/esm/chunks/index102.js +34 -0
- package/dist/esm/chunks/index102.js.map +1 -0
- package/dist/esm/chunks/index103.js +33 -0
- package/dist/esm/chunks/index103.js.map +1 -0
- package/dist/esm/chunks/index104.js +29 -0
- package/dist/esm/chunks/index104.js.map +1 -0
- package/dist/esm/chunks/index105.js +29 -0
- package/dist/esm/chunks/index105.js.map +1 -0
- package/dist/esm/chunks/index106.js +29 -0
- package/dist/esm/chunks/index106.js.map +1 -0
- package/dist/esm/chunks/index107.js +29 -0
- package/dist/esm/chunks/index107.js.map +1 -0
- package/dist/esm/chunks/index108.js +29 -0
- package/dist/esm/chunks/index108.js.map +1 -0
- package/dist/esm/chunks/index109.js +29 -0
- package/dist/esm/chunks/index109.js.map +1 -0
- package/dist/esm/chunks/index11.js +35 -0
- package/dist/esm/chunks/index11.js.map +1 -0
- package/dist/esm/chunks/index110.js +29 -0
- package/dist/esm/chunks/index110.js.map +1 -0
- package/dist/esm/chunks/index12.js +13 -0
- package/dist/esm/chunks/index12.js.map +1 -0
- package/dist/esm/chunks/index13.js +17 -0
- package/dist/esm/chunks/index13.js.map +1 -0
- package/dist/esm/chunks/index14.js +21 -0
- package/dist/esm/chunks/index14.js.map +1 -0
- package/dist/esm/chunks/index15.js +29 -0
- package/dist/esm/chunks/index15.js.map +1 -0
- package/dist/esm/chunks/index16.js +29 -0
- package/dist/esm/chunks/index16.js.map +1 -0
- package/dist/esm/chunks/index17.js +29 -0
- package/dist/esm/chunks/index17.js.map +1 -0
- package/dist/esm/chunks/index18.js +29 -0
- package/dist/esm/chunks/index18.js.map +1 -0
- package/dist/esm/chunks/index19.js +43 -0
- package/dist/esm/chunks/index19.js.map +1 -0
- package/dist/esm/chunks/index2.js +11 -0
- package/dist/esm/chunks/index2.js.map +1 -0
- package/dist/esm/chunks/index20.js +35 -0
- package/dist/esm/chunks/index20.js.map +1 -0
- package/dist/esm/chunks/index21.js +29 -0
- package/dist/esm/chunks/index21.js.map +1 -0
- package/dist/esm/chunks/index22.js +27 -0
- package/dist/esm/chunks/index22.js.map +1 -0
- package/dist/esm/chunks/index23.js +49 -0
- package/dist/esm/chunks/index23.js.map +1 -0
- package/dist/esm/chunks/index24.js +53 -0
- package/dist/esm/chunks/index24.js.map +1 -0
- package/dist/esm/chunks/index25.js +46 -0
- package/dist/esm/chunks/index25.js.map +1 -0
- package/dist/esm/chunks/index26.js +52 -0
- package/dist/esm/chunks/index26.js.map +1 -0
- package/dist/esm/chunks/index27.js +30 -0
- package/dist/esm/chunks/index27.js.map +1 -0
- package/dist/esm/chunks/index28.js +29 -0
- package/dist/esm/chunks/index28.js.map +1 -0
- package/dist/esm/chunks/index29.js +39 -0
- package/dist/esm/chunks/index29.js.map +1 -0
- package/dist/esm/chunks/index3.js +11 -0
- package/dist/esm/chunks/index3.js.map +1 -0
- package/dist/esm/chunks/index30.js +37 -0
- package/dist/esm/chunks/index30.js.map +1 -0
- package/dist/esm/chunks/index31.js +29 -0
- package/dist/esm/chunks/index31.js.map +1 -0
- package/dist/esm/chunks/index32.js +29 -0
- package/dist/esm/chunks/index32.js.map +1 -0
- package/dist/esm/chunks/index33.js +29 -0
- package/dist/esm/chunks/index33.js.map +1 -0
- package/dist/esm/chunks/index34.js +29 -0
- package/dist/esm/chunks/index34.js.map +1 -0
- package/dist/esm/chunks/index35.js +39 -0
- package/dist/esm/chunks/index35.js.map +1 -0
- package/dist/esm/chunks/index36.js +48 -0
- package/dist/esm/chunks/index36.js.map +1 -0
- package/dist/esm/chunks/index37.js +29 -0
- package/dist/esm/chunks/index37.js.map +1 -0
- package/dist/esm/chunks/index38.js +29 -0
- package/dist/esm/chunks/index38.js.map +1 -0
- package/dist/esm/chunks/index39.js +29 -0
- package/dist/esm/chunks/index39.js.map +1 -0
- package/dist/esm/chunks/index4.js +25 -0
- package/dist/esm/chunks/index4.js.map +1 -0
- package/dist/esm/chunks/index40.js +29 -0
- package/dist/esm/chunks/index40.js.map +1 -0
- package/dist/esm/chunks/index41.js +29 -0
- package/dist/esm/chunks/index41.js.map +1 -0
- package/dist/esm/chunks/index42.js +29 -0
- package/dist/esm/chunks/index42.js.map +1 -0
- package/dist/esm/chunks/index43.js +29 -0
- package/dist/esm/chunks/index43.js.map +1 -0
- package/dist/esm/chunks/index44.js +29 -0
- package/dist/esm/chunks/index44.js.map +1 -0
- package/dist/esm/chunks/index45.js +29 -0
- package/dist/esm/chunks/index45.js.map +1 -0
- package/dist/esm/chunks/index46.js +29 -0
- package/dist/esm/chunks/index46.js.map +1 -0
- package/dist/esm/chunks/index47.js +29 -0
- package/dist/esm/chunks/index47.js.map +1 -0
- package/dist/esm/chunks/index48.js +29 -0
- package/dist/esm/chunks/index48.js.map +1 -0
- package/dist/esm/chunks/index49.js +31 -0
- package/dist/esm/chunks/index49.js.map +1 -0
- package/dist/esm/chunks/index5.js +27 -0
- package/dist/esm/chunks/index5.js.map +1 -0
- package/dist/esm/chunks/index50.js +29 -0
- package/dist/esm/chunks/index50.js.map +1 -0
- package/dist/esm/chunks/index51.js +29 -0
- package/dist/esm/chunks/index51.js.map +1 -0
- package/dist/esm/chunks/index52.js +29 -0
- package/dist/esm/chunks/index52.js.map +1 -0
- package/dist/esm/chunks/index53.js +29 -0
- package/dist/esm/chunks/index53.js.map +1 -0
- package/dist/esm/chunks/index54.js +29 -0
- package/dist/esm/chunks/index54.js.map +1 -0
- package/dist/esm/chunks/index55.js +29 -0
- package/dist/esm/chunks/index55.js.map +1 -0
- package/dist/esm/chunks/index56.js +30 -0
- package/dist/esm/chunks/index56.js.map +1 -0
- package/dist/esm/chunks/index57.js +29 -0
- package/dist/esm/chunks/index57.js.map +1 -0
- package/dist/esm/chunks/index58.js +29 -0
- package/dist/esm/chunks/index58.js.map +1 -0
- package/dist/esm/chunks/index59.js +29 -0
- package/dist/esm/chunks/index59.js.map +1 -0
- package/dist/esm/chunks/index6.js +19 -0
- package/dist/esm/chunks/index6.js.map +1 -0
- package/dist/esm/chunks/index60.js +29 -0
- package/dist/esm/chunks/index60.js.map +1 -0
- package/dist/esm/chunks/index61.js +29 -0
- package/dist/esm/chunks/index61.js.map +1 -0
- package/dist/esm/chunks/index62.js +36 -0
- package/dist/esm/chunks/index62.js.map +1 -0
- package/dist/esm/chunks/index63.js +33 -0
- package/dist/esm/chunks/index63.js.map +1 -0
- package/dist/esm/chunks/index64.js +29 -0
- package/dist/esm/chunks/index64.js.map +1 -0
- package/dist/esm/chunks/index65.js +30 -0
- package/dist/esm/chunks/index65.js.map +1 -0
- package/dist/esm/chunks/index66.js +29 -0
- package/dist/esm/chunks/index66.js.map +1 -0
- package/dist/esm/chunks/index67.js +29 -0
- package/dist/esm/chunks/index67.js.map +1 -0
- package/dist/esm/chunks/index68.js +29 -0
- package/dist/esm/chunks/index68.js.map +1 -0
- package/dist/esm/chunks/index69.js +29 -0
- package/dist/esm/chunks/index69.js.map +1 -0
- package/dist/esm/chunks/index7.js +17 -0
- package/dist/esm/chunks/index7.js.map +1 -0
- package/dist/esm/chunks/index70.js +29 -0
- package/dist/esm/chunks/index70.js.map +1 -0
- package/dist/esm/chunks/index71.js +32 -0
- package/dist/esm/chunks/index71.js.map +1 -0
- package/dist/esm/chunks/index72.js +29 -0
- package/dist/esm/chunks/index72.js.map +1 -0
- package/dist/esm/chunks/index73.js +29 -0
- package/dist/esm/chunks/index73.js.map +1 -0
- package/dist/esm/chunks/index74.js +29 -0
- package/dist/esm/chunks/index74.js.map +1 -0
- package/dist/esm/chunks/index75.js +29 -0
- package/dist/esm/chunks/index75.js.map +1 -0
- package/dist/esm/chunks/index76.js +29 -0
- package/dist/esm/chunks/index76.js.map +1 -0
- package/dist/esm/chunks/index77.js +33 -0
- package/dist/esm/chunks/index77.js.map +1 -0
- package/dist/esm/chunks/index78.js +30 -0
- package/dist/esm/chunks/index78.js.map +1 -0
- package/dist/esm/chunks/index79.js +32 -0
- package/dist/esm/chunks/index79.js.map +1 -0
- package/dist/esm/chunks/index8.js +79 -0
- package/dist/esm/chunks/index8.js.map +1 -0
- package/dist/esm/chunks/index80.js +29 -0
- package/dist/esm/chunks/index80.js.map +1 -0
- package/dist/esm/chunks/index81.js +29 -0
- package/dist/esm/chunks/index81.js.map +1 -0
- package/dist/esm/chunks/index82.js +52 -0
- package/dist/esm/chunks/index82.js.map +1 -0
- package/dist/esm/chunks/index83.js +29 -0
- package/dist/esm/chunks/index83.js.map +1 -0
- package/dist/esm/chunks/index84.js +33 -0
- package/dist/esm/chunks/index84.js.map +1 -0
- package/dist/esm/chunks/index85.js +45 -0
- package/dist/esm/chunks/index85.js.map +1 -0
- package/dist/esm/chunks/index86.js +72 -0
- package/dist/esm/chunks/index86.js.map +1 -0
- package/dist/esm/chunks/index87.js +32 -0
- package/dist/esm/chunks/index87.js.map +1 -0
- package/dist/esm/chunks/index88.js +29 -0
- package/dist/esm/chunks/index88.js.map +1 -0
- package/dist/esm/chunks/index89.js +32 -0
- package/dist/esm/chunks/index89.js.map +1 -0
- package/dist/esm/chunks/index9.js +19 -0
- package/dist/esm/chunks/index9.js.map +1 -0
- package/dist/esm/chunks/index90.js +30 -0
- package/dist/esm/chunks/index90.js.map +1 -0
- package/dist/esm/chunks/index91.js +29 -0
- package/dist/esm/chunks/index91.js.map +1 -0
- package/dist/esm/chunks/index92.js +33 -0
- package/dist/esm/chunks/index92.js.map +1 -0
- package/dist/esm/chunks/index93.js +33 -0
- package/dist/esm/chunks/index93.js.map +1 -0
- package/dist/esm/chunks/index94.js +47 -0
- package/dist/esm/chunks/index94.js.map +1 -0
- package/dist/esm/chunks/index95.js +53 -0
- package/dist/esm/chunks/index95.js.map +1 -0
- package/dist/esm/chunks/index96.js +35 -0
- package/dist/esm/chunks/index96.js.map +1 -0
- package/dist/esm/chunks/index97.js +29 -0
- package/dist/esm/chunks/index97.js.map +1 -0
- package/dist/esm/chunks/index98.js +29 -0
- package/dist/esm/chunks/index98.js.map +1 -0
- package/dist/esm/chunks/index99.js +40 -0
- package/dist/esm/chunks/index99.js.map +1 -0
- package/dist/esm/elements/break/br/br.js +9 -0
- package/dist/esm/elements/break/br/br.js.map +1 -0
- package/dist/esm/elements/break/break.js +7 -0
- package/dist/esm/elements/break/break.js.map +1 -0
- package/dist/esm/elements/break/wbr/wbr.js +9 -0
- package/dist/esm/elements/break/wbr/wbr.js.map +1 -0
- package/dist/esm/elements/container/container.js +7 -0
- package/dist/esm/elements/container/container.js.map +1 -0
- package/dist/esm/elements/container/div/div.js +9 -0
- package/dist/esm/elements/container/div/div.js.map +1 -0
- package/dist/esm/elements/container/span/span.js +9 -0
- package/dist/esm/elements/container/span/span.js.map +1 -0
- package/dist/esm/elements/figure/figcaption/figcaption.js +9 -0
- package/dist/esm/elements/figure/figcaption/figcaption.js.map +1 -0
- package/dist/esm/elements/figure/figure/figure.js +9 -0
- package/dist/esm/elements/figure/figure/figure.js.map +1 -0
- package/dist/esm/elements/figure/figure.js +7 -0
- package/dist/esm/elements/figure/figure.js.map +1 -0
- package/dist/esm/elements/form/button/button.js +9 -0
- package/dist/esm/elements/form/button/button.js.map +1 -0
- package/dist/esm/elements/form/datalist/datalist.js +9 -0
- package/dist/esm/elements/form/datalist/datalist.js.map +1 -0
- package/dist/esm/elements/form/fieldset/fieldset.js +9 -0
- package/dist/esm/elements/form/fieldset/fieldset.js.map +1 -0
- package/dist/esm/elements/form/form/form.js +9 -0
- package/dist/esm/elements/form/form/form.js.map +1 -0
- package/dist/esm/elements/form/form.js +31 -0
- package/dist/esm/elements/form/form.js.map +1 -0
- package/dist/esm/elements/form/input/input.js +9 -0
- package/dist/esm/elements/form/input/input.js.map +1 -0
- package/dist/esm/elements/form/label/label.js +9 -0
- package/dist/esm/elements/form/label/label.js.map +1 -0
- package/dist/esm/elements/form/legend/legend.js +9 -0
- package/dist/esm/elements/form/legend/legend.js.map +1 -0
- package/dist/esm/elements/form/meter/meter.js +9 -0
- package/dist/esm/elements/form/meter/meter.js.map +1 -0
- package/dist/esm/elements/form/optgroup/optgroup.js +9 -0
- package/dist/esm/elements/form/optgroup/optgroup.js.map +1 -0
- package/dist/esm/elements/form/option/option.js +9 -0
- package/dist/esm/elements/form/option/option.js.map +1 -0
- package/dist/esm/elements/form/output/output.js +9 -0
- package/dist/esm/elements/form/output/output.js.map +1 -0
- package/dist/esm/elements/form/progress/progress.js +9 -0
- package/dist/esm/elements/form/progress/progress.js.map +1 -0
- package/dist/esm/elements/form/select/select.js +9 -0
- package/dist/esm/elements/form/select/select.js.map +1 -0
- package/dist/esm/elements/form/textarea/textarea.js +9 -0
- package/dist/esm/elements/form/textarea/textarea.js.map +1 -0
- package/dist/esm/elements/heading/h1/h1.js +9 -0
- package/dist/esm/elements/heading/h1/h1.js.map +1 -0
- package/dist/esm/elements/heading/h2/h2.js +9 -0
- package/dist/esm/elements/heading/h2/h2.js.map +1 -0
- package/dist/esm/elements/heading/h3/h3.js +9 -0
- package/dist/esm/elements/heading/h3/h3.js.map +1 -0
- package/dist/esm/elements/heading/h4/h4.js +9 -0
- package/dist/esm/elements/heading/h4/h4.js.map +1 -0
- package/dist/esm/elements/heading/h5/h5.js +9 -0
- package/dist/esm/elements/heading/h5/h5.js.map +1 -0
- package/dist/esm/elements/heading/h6/h6.js +9 -0
- package/dist/esm/elements/heading/h6/h6.js.map +1 -0
- package/dist/esm/elements/heading/heading.js +15 -0
- package/dist/esm/elements/heading/heading.js.map +1 -0
- package/dist/esm/elements/inline/a/a.js +9 -0
- package/dist/esm/elements/inline/a/a.js.map +1 -0
- package/dist/esm/elements/inline/abbr/abbr.js +9 -0
- package/dist/esm/elements/inline/abbr/abbr.js.map +1 -0
- package/dist/esm/elements/inline/b/b.js +9 -0
- package/dist/esm/elements/inline/b/b.js.map +1 -0
- package/dist/esm/elements/inline/cite/cite.js +9 -0
- package/dist/esm/elements/inline/cite/cite.js.map +1 -0
- package/dist/esm/elements/inline/code/code.js +9 -0
- package/dist/esm/elements/inline/code/code.js.map +1 -0
- package/dist/esm/elements/inline/data/data.js +9 -0
- package/dist/esm/elements/inline/data/data.js.map +1 -0
- package/dist/esm/elements/inline/dfn/dfn.js +9 -0
- package/dist/esm/elements/inline/dfn/dfn.js.map +1 -0
- package/dist/esm/elements/inline/em/em.js +9 -0
- package/dist/esm/elements/inline/em/em.js.map +1 -0
- package/dist/esm/elements/inline/i/i.js +9 -0
- package/dist/esm/elements/inline/i/i.js.map +1 -0
- package/dist/esm/elements/inline/inline.js +55 -0
- package/dist/esm/elements/inline/inline.js.map +1 -0
- package/dist/esm/elements/inline/kbd/kbd.js +9 -0
- package/dist/esm/elements/inline/kbd/kbd.js.map +1 -0
- package/dist/esm/elements/inline/mark/mark.js +9 -0
- package/dist/esm/elements/inline/mark/mark.js.map +1 -0
- package/dist/esm/elements/inline/q/q.js +9 -0
- package/dist/esm/elements/inline/q/q.js.map +1 -0
- package/dist/esm/elements/inline/rb/rb.js +9 -0
- package/dist/esm/elements/inline/rb/rb.js.map +1 -0
- package/dist/esm/elements/inline/rt/rt.js +9 -0
- package/dist/esm/elements/inline/rt/rt.js.map +1 -0
- package/dist/esm/elements/inline/rtc/rtc.js +9 -0
- package/dist/esm/elements/inline/rtc/rtc.js.map +1 -0
- package/dist/esm/elements/inline/ruby/ruby.js +9 -0
- package/dist/esm/elements/inline/ruby/ruby.js.map +1 -0
- package/dist/esm/elements/inline/s/s.js +9 -0
- package/dist/esm/elements/inline/s/s.js.map +1 -0
- package/dist/esm/elements/inline/samp/samp.js +9 -0
- package/dist/esm/elements/inline/samp/samp.js.map +1 -0
- package/dist/esm/elements/inline/small/small.js +9 -0
- package/dist/esm/elements/inline/small/small.js.map +1 -0
- package/dist/esm/elements/inline/strong/strong.js +9 -0
- package/dist/esm/elements/inline/strong/strong.js.map +1 -0
- package/dist/esm/elements/inline/sub/sub.js +9 -0
- package/dist/esm/elements/inline/sub/sub.js.map +1 -0
- package/dist/esm/elements/inline/sup/sup.js +9 -0
- package/dist/esm/elements/inline/sup/sup.js.map +1 -0
- package/dist/esm/elements/inline/time/time.js +9 -0
- package/dist/esm/elements/inline/time/time.js.map +1 -0
- package/dist/esm/elements/inline/u/u.js +9 -0
- package/dist/esm/elements/inline/u/u.js.map +1 -0
- package/dist/esm/elements/inline/var/var.js +9 -0
- package/dist/esm/elements/inline/var/var.js.map +1 -0
- package/dist/esm/elements/interactive/details/details.js +9 -0
- package/dist/esm/elements/interactive/details/details.js.map +1 -0
- package/dist/esm/elements/interactive/dialog/dialog.js +9 -0
- package/dist/esm/elements/interactive/dialog/dialog.js.map +1 -0
- package/dist/esm/elements/interactive/interactive.js +9 -0
- package/dist/esm/elements/interactive/interactive.js.map +1 -0
- package/dist/esm/elements/interactive/summary/summary.js +9 -0
- package/dist/esm/elements/interactive/summary/summary.js.map +1 -0
- package/dist/esm/elements/layout/article/article.js +9 -0
- package/dist/esm/elements/layout/article/article.js.map +1 -0
- package/dist/esm/elements/layout/aside/aside.js +9 -0
- package/dist/esm/elements/layout/aside/aside.js.map +1 -0
- package/dist/esm/elements/layout/footer/footer.js +9 -0
- package/dist/esm/elements/layout/footer/footer.js.map +1 -0
- package/dist/esm/elements/layout/header/header.js +9 -0
- package/dist/esm/elements/layout/header/header.js.map +1 -0
- package/dist/esm/elements/layout/layout.js +17 -0
- package/dist/esm/elements/layout/layout.js.map +1 -0
- package/dist/esm/elements/layout/main/main.js +9 -0
- package/dist/esm/elements/layout/main/main.js.map +1 -0
- package/dist/esm/elements/layout/nav/nav.js +9 -0
- package/dist/esm/elements/layout/nav/nav.js.map +1 -0
- package/dist/esm/elements/layout/section/section.js +9 -0
- package/dist/esm/elements/layout/section/section.js.map +1 -0
- package/dist/esm/elements/list/dd/dd.js +9 -0
- package/dist/esm/elements/list/dd/dd.js.map +1 -0
- package/dist/esm/elements/list/dl/dl.js +9 -0
- package/dist/esm/elements/list/dl/dl.js.map +1 -0
- package/dist/esm/elements/list/dt/dt.js +9 -0
- package/dist/esm/elements/list/dt/dt.js.map +1 -0
- package/dist/esm/elements/list/li/li.js +9 -0
- package/dist/esm/elements/list/li/li.js.map +1 -0
- package/dist/esm/elements/list/list.js +15 -0
- package/dist/esm/elements/list/list.js.map +1 -0
- package/dist/esm/elements/list/ol/ol.js +9 -0
- package/dist/esm/elements/list/ol/ol.js.map +1 -0
- package/dist/esm/elements/list/ul/ul.js +9 -0
- package/dist/esm/elements/list/ul/ul.js.map +1 -0
- package/dist/esm/elements/media/audio/audio.js +9 -0
- package/dist/esm/elements/media/audio/audio.js.map +1 -0
- package/dist/esm/elements/media/canvas/canvas.js +9 -0
- package/dist/esm/elements/media/canvas/canvas.js.map +1 -0
- package/dist/esm/elements/media/embed/embed.js +9 -0
- package/dist/esm/elements/media/embed/embed.js.map +1 -0
- package/dist/esm/elements/media/iframe/iframe.js +9 -0
- package/dist/esm/elements/media/iframe/iframe.js.map +1 -0
- package/dist/esm/elements/media/img/img.js +9 -0
- package/dist/esm/elements/media/img/img.js.map +1 -0
- package/dist/esm/elements/media/math/math.js +9 -0
- package/dist/esm/elements/media/math/math.js.map +1 -0
- package/dist/esm/elements/media/media.js +21 -0
- package/dist/esm/elements/media/media.js.map +1 -0
- package/dist/esm/elements/media/object/object.js +9 -0
- package/dist/esm/elements/media/object/object.js.map +1 -0
- package/dist/esm/elements/media/svg/svg.js +9 -0
- package/dist/esm/elements/media/svg/svg.js.map +1 -0
- package/dist/esm/elements/media/video/video.js +9 -0
- package/dist/esm/elements/media/video/video.js.map +1 -0
- package/dist/esm/elements/responsive/area/area.js +9 -0
- package/dist/esm/elements/responsive/area/area.js.map +1 -0
- package/dist/esm/elements/responsive/map/map.js +9 -0
- package/dist/esm/elements/responsive/map/map.js.map +1 -0
- package/dist/esm/elements/responsive/picture/picture.js +9 -0
- package/dist/esm/elements/responsive/picture/picture.js.map +1 -0
- package/dist/esm/elements/responsive/responsive.js +13 -0
- package/dist/esm/elements/responsive/responsive.js.map +1 -0
- package/dist/esm/elements/responsive/source/source.js +9 -0
- package/dist/esm/elements/responsive/source/source.js.map +1 -0
- package/dist/esm/elements/responsive/track/track.js +9 -0
- package/dist/esm/elements/responsive/track/track.js.map +1 -0
- package/dist/esm/elements/table/caption/caption.js +9 -0
- package/dist/esm/elements/table/caption/caption.js.map +1 -0
- package/dist/esm/elements/table/col/col.js +9 -0
- package/dist/esm/elements/table/col/col.js.map +1 -0
- package/dist/esm/elements/table/colgroup/colgroup.js +9 -0
- package/dist/esm/elements/table/colgroup/colgroup.js.map +1 -0
- package/dist/esm/elements/table/table/table.js +9 -0
- package/dist/esm/elements/table/table/table.js.map +1 -0
- package/dist/esm/elements/table/table.js +23 -0
- package/dist/esm/elements/table/table.js.map +1 -0
- package/dist/esm/elements/table/tbody/tbody.js +9 -0
- package/dist/esm/elements/table/tbody/tbody.js.map +1 -0
- package/dist/esm/elements/table/td/td.js +9 -0
- package/dist/esm/elements/table/td/td.js.map +1 -0
- package/dist/esm/elements/table/tfoot/tfoot.js +9 -0
- package/dist/esm/elements/table/tfoot/tfoot.js.map +1 -0
- package/dist/esm/elements/table/th/th.js +9 -0
- package/dist/esm/elements/table/th/th.js.map +1 -0
- package/dist/esm/elements/table/thead/thead.js +9 -0
- package/dist/esm/elements/table/thead/thead.js.map +1 -0
- package/dist/esm/elements/table/tr/tr.js +9 -0
- package/dist/esm/elements/table/tr/tr.js.map +1 -0
- package/dist/esm/elements/text/address/address.js +9 -0
- package/dist/esm/elements/text/address/address.js.map +1 -0
- package/dist/esm/elements/text/blockquote/blockquote.js +9 -0
- package/dist/esm/elements/text/blockquote/blockquote.js.map +1 -0
- package/dist/esm/elements/text/hr/hr.js +9 -0
- package/dist/esm/elements/text/hr/hr.js.map +1 -0
- package/dist/esm/elements/text/paragraph/paragraph.js +9 -0
- package/dist/esm/elements/text/paragraph/paragraph.js.map +1 -0
- package/dist/esm/elements/text/pre/pre.js +9 -0
- package/dist/esm/elements/text/pre/pre.js.map +1 -0
- package/dist/esm/elements/text/text.js +13 -0
- package/dist/esm/elements/text/text.js.map +1 -0
- package/dist/esm/elements.js +29 -0
- package/dist/esm/elements.js.map +1 -0
- package/dist/esm/index.js +85 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/types/elements/break/br/index.d.ts +111 -0
- package/dist/types/elements/break/br/index.d.ts.map +1 -0
- package/dist/types/elements/break/index.d.ts +32 -0
- package/dist/types/elements/break/index.d.ts.map +1 -0
- package/dist/types/elements/break/wbr/index.d.ts +112 -0
- package/dist/types/elements/break/wbr/index.d.ts.map +1 -0
- package/dist/types/elements/container/div/index.d.ts +123 -0
- package/dist/types/elements/container/div/index.d.ts.map +1 -0
- package/dist/types/elements/container/index.d.ts +32 -0
- package/dist/types/elements/container/index.d.ts.map +1 -0
- package/dist/types/elements/container/span/index.d.ts +100 -0
- package/dist/types/elements/container/span/index.d.ts.map +1 -0
- package/dist/types/elements/figure/figcaption/index.d.ts +115 -0
- package/dist/types/elements/figure/figcaption/index.d.ts.map +1 -0
- package/dist/types/elements/figure/figure/index.d.ts +124 -0
- package/dist/types/elements/figure/figure/index.d.ts.map +1 -0
- package/dist/types/elements/figure/index.d.ts +38 -0
- package/dist/types/elements/figure/index.d.ts.map +1 -0
- package/dist/types/elements/form/button/index.d.ts +216 -0
- package/dist/types/elements/form/button/index.d.ts.map +1 -0
- package/dist/types/elements/form/datalist/index.d.ts +140 -0
- package/dist/types/elements/form/datalist/index.d.ts.map +1 -0
- package/dist/types/elements/form/fieldset/index.d.ts +147 -0
- package/dist/types/elements/form/fieldset/index.d.ts.map +1 -0
- package/dist/types/elements/form/form/index.d.ts +210 -0
- package/dist/types/elements/form/form/index.d.ts.map +1 -0
- package/dist/types/elements/form/index.d.ts +140 -0
- package/dist/types/elements/form/index.d.ts.map +1 -0
- package/dist/types/elements/form/input/index.d.ts +313 -0
- package/dist/types/elements/form/input/index.d.ts.map +1 -0
- package/dist/types/elements/form/label/index.d.ts +144 -0
- package/dist/types/elements/form/label/index.d.ts.map +1 -0
- package/dist/types/elements/form/legend/index.d.ts +126 -0
- package/dist/types/elements/form/legend/index.d.ts.map +1 -0
- package/dist/types/elements/form/meter/index.d.ts +152 -0
- package/dist/types/elements/form/meter/index.d.ts.map +1 -0
- package/dist/types/elements/form/optgroup/index.d.ts +127 -0
- package/dist/types/elements/form/optgroup/index.d.ts.map +1 -0
- package/dist/types/elements/form/option/index.d.ts +160 -0
- package/dist/types/elements/form/option/index.d.ts.map +1 -0
- package/dist/types/elements/form/output/index.d.ts +146 -0
- package/dist/types/elements/form/output/index.d.ts.map +1 -0
- package/dist/types/elements/form/progress/index.d.ts +140 -0
- package/dist/types/elements/form/progress/index.d.ts.map +1 -0
- package/dist/types/elements/form/select/index.d.ts +158 -0
- package/dist/types/elements/form/select/index.d.ts.map +1 -0
- package/dist/types/elements/form/textarea/index.d.ts +228 -0
- package/dist/types/elements/form/textarea/index.d.ts.map +1 -0
- package/dist/types/elements/heading/h1/index.d.ts +130 -0
- package/dist/types/elements/heading/h1/index.d.ts.map +1 -0
- package/dist/types/elements/heading/h2/index.d.ts +128 -0
- package/dist/types/elements/heading/h2/index.d.ts.map +1 -0
- package/dist/types/elements/heading/h3/index.d.ts +126 -0
- package/dist/types/elements/heading/h3/index.d.ts.map +1 -0
- package/dist/types/elements/heading/h4/index.d.ts +113 -0
- package/dist/types/elements/heading/h4/index.d.ts.map +1 -0
- package/dist/types/elements/heading/h5/index.d.ts +126 -0
- package/dist/types/elements/heading/h5/index.d.ts.map +1 -0
- package/dist/types/elements/heading/h6/index.d.ts +119 -0
- package/dist/types/elements/heading/h6/index.d.ts.map +1 -0
- package/dist/types/elements/heading/index.d.ts +68 -0
- package/dist/types/elements/heading/index.d.ts.map +1 -0
- package/dist/types/elements/index.d.ts +106 -0
- package/dist/types/elements/index.d.ts.map +1 -0
- package/dist/types/elements/inline/a/index.d.ts +203 -0
- package/dist/types/elements/inline/a/index.d.ts.map +1 -0
- package/dist/types/elements/inline/abbr/index.d.ts +132 -0
- package/dist/types/elements/inline/abbr/index.d.ts.map +1 -0
- package/dist/types/elements/inline/b/index.d.ts +121 -0
- package/dist/types/elements/inline/b/index.d.ts.map +1 -0
- package/dist/types/elements/inline/cite/index.d.ts +125 -0
- package/dist/types/elements/inline/cite/index.d.ts.map +1 -0
- package/dist/types/elements/inline/code/index.d.ts +137 -0
- package/dist/types/elements/inline/code/index.d.ts.map +1 -0
- package/dist/types/elements/inline/data/index.d.ts +144 -0
- package/dist/types/elements/inline/data/index.d.ts.map +1 -0
- package/dist/types/elements/inline/dfn/index.d.ts +124 -0
- package/dist/types/elements/inline/dfn/index.d.ts.map +1 -0
- package/dist/types/elements/inline/em/index.d.ts +124 -0
- package/dist/types/elements/inline/em/index.d.ts.map +1 -0
- package/dist/types/elements/inline/i/index.d.ts +143 -0
- package/dist/types/elements/inline/i/index.d.ts.map +1 -0
- package/dist/types/elements/inline/index.d.ts +229 -0
- package/dist/types/elements/inline/index.d.ts.map +1 -0
- package/dist/types/elements/inline/kbd/index.d.ts +123 -0
- package/dist/types/elements/inline/kbd/index.d.ts.map +1 -0
- package/dist/types/elements/inline/mark/index.d.ts +125 -0
- package/dist/types/elements/inline/mark/index.d.ts.map +1 -0
- package/dist/types/elements/inline/q/index.d.ts +138 -0
- package/dist/types/elements/inline/q/index.d.ts.map +1 -0
- package/dist/types/elements/inline/rb/index.d.ts +143 -0
- package/dist/types/elements/inline/rb/index.d.ts.map +1 -0
- package/dist/types/elements/inline/rp/index.d.ts +123 -0
- package/dist/types/elements/inline/rp/index.d.ts.map +1 -0
- package/dist/types/elements/inline/rt/index.d.ts +124 -0
- package/dist/types/elements/inline/rt/index.d.ts.map +1 -0
- package/dist/types/elements/inline/rtc/index.d.ts +122 -0
- package/dist/types/elements/inline/rtc/index.d.ts.map +1 -0
- package/dist/types/elements/inline/ruby/index.d.ts +147 -0
- package/dist/types/elements/inline/ruby/index.d.ts.map +1 -0
- package/dist/types/elements/inline/s/index.d.ts +125 -0
- package/dist/types/elements/inline/s/index.d.ts.map +1 -0
- package/dist/types/elements/inline/samp/index.d.ts +122 -0
- package/dist/types/elements/inline/samp/index.d.ts.map +1 -0
- package/dist/types/elements/inline/small/index.d.ts +138 -0
- package/dist/types/elements/inline/small/index.d.ts.map +1 -0
- package/dist/types/elements/inline/strong/index.d.ts +126 -0
- package/dist/types/elements/inline/strong/index.d.ts.map +1 -0
- package/dist/types/elements/inline/sub/index.d.ts +130 -0
- package/dist/types/elements/inline/sub/index.d.ts.map +1 -0
- package/dist/types/elements/inline/sup/index.d.ts +125 -0
- package/dist/types/elements/inline/sup/index.d.ts.map +1 -0
- package/dist/types/elements/inline/time/index.d.ts +149 -0
- package/dist/types/elements/inline/time/index.d.ts.map +1 -0
- package/dist/types/elements/inline/u/index.d.ts +122 -0
- package/dist/types/elements/inline/u/index.d.ts.map +1 -0
- package/dist/types/elements/inline/var/index.d.ts +127 -0
- package/dist/types/elements/inline/var/index.d.ts.map +1 -0
- package/dist/types/elements/interactive/details/index.d.ts +134 -0
- package/dist/types/elements/interactive/details/index.d.ts.map +1 -0
- package/dist/types/elements/interactive/dialog/index.d.ts +162 -0
- package/dist/types/elements/interactive/dialog/index.d.ts.map +1 -0
- package/dist/types/elements/interactive/index.d.ts +48 -0
- package/dist/types/elements/interactive/index.d.ts.map +1 -0
- package/dist/types/elements/interactive/summary/index.d.ts +122 -0
- package/dist/types/elements/interactive/summary/index.d.ts.map +1 -0
- package/dist/types/elements/layout/article/index.d.ts +129 -0
- package/dist/types/elements/layout/article/index.d.ts.map +1 -0
- package/dist/types/elements/layout/aside/index.d.ts +122 -0
- package/dist/types/elements/layout/aside/index.d.ts.map +1 -0
- package/dist/types/elements/layout/footer/index.d.ts +122 -0
- package/dist/types/elements/layout/footer/index.d.ts.map +1 -0
- package/dist/types/elements/layout/header/index.d.ts +131 -0
- package/dist/types/elements/layout/header/index.d.ts.map +1 -0
- package/dist/types/elements/layout/index.d.ts +83 -0
- package/dist/types/elements/layout/index.d.ts.map +1 -0
- package/dist/types/elements/layout/main/index.d.ts +135 -0
- package/dist/types/elements/layout/main/index.d.ts.map +1 -0
- package/dist/types/elements/layout/nav/index.d.ts +136 -0
- package/dist/types/elements/layout/nav/index.d.ts.map +1 -0
- package/dist/types/elements/layout/section/index.d.ts +128 -0
- package/dist/types/elements/layout/section/index.d.ts.map +1 -0
- package/dist/types/elements/list/dd/index.d.ts +120 -0
- package/dist/types/elements/list/dd/index.d.ts.map +1 -0
- package/dist/types/elements/list/dl/index.d.ts +131 -0
- package/dist/types/elements/list/dl/index.d.ts.map +1 -0
- package/dist/types/elements/list/dt/index.d.ts +126 -0
- package/dist/types/elements/list/dt/index.d.ts.map +1 -0
- package/dist/types/elements/list/index.d.ts +69 -0
- package/dist/types/elements/list/index.d.ts.map +1 -0
- package/dist/types/elements/list/li/index.d.ts +155 -0
- package/dist/types/elements/list/li/index.d.ts.map +1 -0
- package/dist/types/elements/list/ol/index.d.ts +155 -0
- package/dist/types/elements/list/ol/index.d.ts.map +1 -0
- package/dist/types/elements/list/ul/index.d.ts +145 -0
- package/dist/types/elements/list/ul/index.d.ts.map +1 -0
- package/dist/types/elements/media/audio/index.d.ts +197 -0
- package/dist/types/elements/media/audio/index.d.ts.map +1 -0
- package/dist/types/elements/media/canvas/index.d.ts +146 -0
- package/dist/types/elements/media/canvas/index.d.ts.map +1 -0
- package/dist/types/elements/media/embed/index.d.ts +138 -0
- package/dist/types/elements/media/embed/index.d.ts.map +1 -0
- package/dist/types/elements/media/iframe/index.d.ts +222 -0
- package/dist/types/elements/media/iframe/index.d.ts.map +1 -0
- package/dist/types/elements/media/img/index.d.ts +83 -0
- package/dist/types/elements/media/img/index.d.ts.map +1 -0
- package/dist/types/elements/media/index.d.ts +89 -0
- package/dist/types/elements/media/index.d.ts.map +1 -0
- package/dist/types/elements/media/math/index.d.ts +132 -0
- package/dist/types/elements/media/math/index.d.ts.map +1 -0
- package/dist/types/elements/media/object/index.d.ts +183 -0
- package/dist/types/elements/media/object/index.d.ts.map +1 -0
- package/dist/types/elements/media/svg/index.d.ts +44 -0
- package/dist/types/elements/media/svg/index.d.ts.map +1 -0
- package/dist/types/elements/media/video/index.d.ts +225 -0
- package/dist/types/elements/media/video/index.d.ts.map +1 -0
- package/dist/types/elements/responsive/area/index.d.ts +158 -0
- package/dist/types/elements/responsive/area/index.d.ts.map +1 -0
- package/dist/types/elements/responsive/index.d.ts +67 -0
- package/dist/types/elements/responsive/index.d.ts.map +1 -0
- package/dist/types/elements/responsive/map/index.d.ts +138 -0
- package/dist/types/elements/responsive/map/index.d.ts.map +1 -0
- package/dist/types/elements/responsive/picture/index.d.ts +120 -0
- package/dist/types/elements/responsive/picture/index.d.ts.map +1 -0
- package/dist/types/elements/responsive/source/index.d.ts +175 -0
- package/dist/types/elements/responsive/source/index.d.ts.map +1 -0
- package/dist/types/elements/responsive/track/index.d.ts +183 -0
- package/dist/types/elements/responsive/track/index.d.ts.map +1 -0
- package/dist/types/elements/table/caption/index.d.ts +132 -0
- package/dist/types/elements/table/caption/index.d.ts.map +1 -0
- package/dist/types/elements/table/col/index.d.ts +132 -0
- package/dist/types/elements/table/col/index.d.ts.map +1 -0
- package/dist/types/elements/table/colgroup/index.d.ts +147 -0
- package/dist/types/elements/table/colgroup/index.d.ts.map +1 -0
- package/dist/types/elements/table/index.d.ts +102 -0
- package/dist/types/elements/table/index.d.ts.map +1 -0
- package/dist/types/elements/table/table/index.d.ts +143 -0
- package/dist/types/elements/table/table/index.d.ts.map +1 -0
- package/dist/types/elements/table/tbody/index.d.ts +134 -0
- package/dist/types/elements/table/tbody/index.d.ts.map +1 -0
- package/dist/types/elements/table/td/index.d.ts +146 -0
- package/dist/types/elements/table/td/index.d.ts.map +1 -0
- package/dist/types/elements/table/tfoot/index.d.ts +131 -0
- package/dist/types/elements/table/tfoot/index.d.ts.map +1 -0
- package/dist/types/elements/table/th/index.d.ts +187 -0
- package/dist/types/elements/table/th/index.d.ts.map +1 -0
- package/dist/types/elements/table/thead/index.d.ts +130 -0
- package/dist/types/elements/table/thead/index.d.ts.map +1 -0
- package/dist/types/elements/table/tr/index.d.ts +134 -0
- package/dist/types/elements/table/tr/index.d.ts.map +1 -0
- package/dist/types/elements/text/address/index.d.ts +133 -0
- package/dist/types/elements/text/address/index.d.ts.map +1 -0
- package/dist/types/elements/text/blockquote/index.d.ts +153 -0
- package/dist/types/elements/text/blockquote/index.d.ts.map +1 -0
- package/dist/types/elements/text/hr/index.d.ts +121 -0
- package/dist/types/elements/text/hr/index.d.ts.map +1 -0
- package/dist/types/elements/text/index.d.ts +57 -0
- package/dist/types/elements/text/index.d.ts.map +1 -0
- package/dist/types/elements/text/paragraph/index.d.ts +139 -0
- package/dist/types/elements/text/paragraph/index.d.ts.map +1 -0
- package/dist/types/elements/text/pre/index.d.ts +135 -0
- package/dist/types/elements/text/pre/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/ts/adapters/tailwind/v4/index.d.ts +3 -0
- package/dist/types/ts/adapters/tailwind/v4/index.d.ts.map +1 -0
- package/dist/types/ts/adapters/tailwind/v4/plugin.d.ts +11 -0
- package/dist/types/ts/adapters/tailwind/v4/plugin.d.ts.map +1 -0
- package/dist/types/ts/adapters/tailwind/v4/preset.d.ts +12 -0
- package/dist/types/ts/adapters/tailwind/v4/preset.d.ts.map +1 -0
- package/dist/types/ts/dom.d.ts +247 -0
- package/dist/types/ts/dom.d.ts.map +1 -0
- package/package.json +706 -0
- package/src/elements/break/br/br.scss +26 -0
- package/src/elements/break/br/index.ts +150 -0
- package/src/elements/break/index.ts +33 -0
- package/src/elements/break/wbr/index.ts +151 -0
- package/src/elements/break/wbr/wbr.scss +27 -0
- package/src/elements/container/div/div.scss +27 -0
- package/src/elements/container/div/index.ts +163 -0
- package/src/elements/container/index.ts +33 -0
- package/src/elements/container/span/index.ts +137 -0
- package/src/elements/container/span/span.scss +28 -0
- package/src/elements/figure/figcaption/figcaption.scss +53 -0
- package/src/elements/figure/figcaption/index.ts +157 -0
- package/src/elements/figure/figure/figure.scss +53 -0
- package/src/elements/figure/figure/index.ts +164 -0
- package/src/elements/figure/index.ts +39 -0
- package/src/elements/form/button/button.scss +39 -0
- package/src/elements/form/button/index.ts +335 -0
- package/src/elements/form/datalist/datalist.scss +40 -0
- package/src/elements/form/datalist/index.ts +183 -0
- package/src/elements/form/fieldset/fieldset.scss +46 -0
- package/src/elements/form/fieldset/index.ts +211 -0
- package/src/elements/form/form/form.scss +42 -0
- package/src/elements/form/form/index.ts +308 -0
- package/src/elements/form/index.ts +153 -0
- package/src/elements/form/input/index.ts +528 -0
- package/src/elements/form/input/input.scss +39 -0
- package/src/elements/form/label/index.ts +194 -0
- package/src/elements/form/label/label.scss +41 -0
- package/src/elements/form/legend/index.ts +166 -0
- package/src/elements/form/legend/legend.scss +40 -0
- package/src/elements/form/meter/index.ts +231 -0
- package/src/elements/form/meter/meter.scss +36 -0
- package/src/elements/form/optgroup/index.ts +187 -0
- package/src/elements/form/optgroup/optgroup.scss +37 -0
- package/src/elements/form/option/index.ts +218 -0
- package/src/elements/form/option/option.scss +38 -0
- package/src/elements/form/output/index.ts +205 -0
- package/src/elements/form/output/output.scss +42 -0
- package/src/elements/form/progress/index.ts +215 -0
- package/src/elements/form/progress/progress.scss +38 -0
- package/src/elements/form/select/index.ts +250 -0
- package/src/elements/form/select/select.scss +38 -0
- package/src/elements/form/textarea/index.ts +351 -0
- package/src/elements/form/textarea/textarea.scss +39 -0
- package/src/elements/heading/h1/h1.scss +59 -0
- package/src/elements/heading/h1/index.ts +170 -0
- package/src/elements/heading/h2/h2.scss +53 -0
- package/src/elements/heading/h2/index.ts +168 -0
- package/src/elements/heading/h3/h3.scss +54 -0
- package/src/elements/heading/h3/index.ts +166 -0
- package/src/elements/heading/h4/h4.scss +48 -0
- package/src/elements/heading/h4/index.ts +150 -0
- package/src/elements/heading/h5/h5.scss +50 -0
- package/src/elements/heading/h5/index.ts +166 -0
- package/src/elements/heading/h6/h6.scss +48 -0
- package/src/elements/heading/h6/index.ts +158 -0
- package/src/elements/heading/index.ts +73 -0
- package/src/elements/index.ts +118 -0
- package/src/elements/inline/a/a.scss +55 -0
- package/src/elements/inline/a/index.ts +291 -0
- package/src/elements/inline/abbr/abbr.scss +54 -0
- package/src/elements/inline/abbr/index.ts +172 -0
- package/src/elements/inline/b/b.scss +38 -0
- package/src/elements/inline/b/index.ts +161 -0
- package/src/elements/inline/cite/cite.scss +36 -0
- package/src/elements/inline/cite/index.ts +165 -0
- package/src/elements/inline/code/code.scss +45 -0
- package/src/elements/inline/code/index.ts +176 -0
- package/src/elements/inline/data/data.scss +36 -0
- package/src/elements/inline/data/index.ts +208 -0
- package/src/elements/inline/dfn/dfn.scss +36 -0
- package/src/elements/inline/dfn/index.ts +164 -0
- package/src/elements/inline/em/em.scss +35 -0
- package/src/elements/inline/em/index.ts +164 -0
- package/src/elements/inline/i/i.scss +38 -0
- package/src/elements/inline/i/index.ts +182 -0
- package/src/elements/inline/index.ts +254 -0
- package/src/elements/inline/kbd/index.ts +163 -0
- package/src/elements/inline/kbd/kbd.scss +44 -0
- package/src/elements/inline/mark/index.ts +165 -0
- package/src/elements/inline/mark/mark.scss +45 -0
- package/src/elements/inline/q/index.ts +206 -0
- package/src/elements/inline/q/q.scss +44 -0
- package/src/elements/inline/rb/index.ts +186 -0
- package/src/elements/inline/rb/rb.scss +35 -0
- package/src/elements/inline/rp/index.ts +163 -0
- package/src/elements/inline/rp/rp.scss +41 -0
- package/src/elements/inline/rt/index.ts +164 -0
- package/src/elements/inline/rt/rt.scss +36 -0
- package/src/elements/inline/rtc/index.ts +168 -0
- package/src/elements/inline/rtc/rtc.scss +40 -0
- package/src/elements/inline/ruby/index.ts +186 -0
- package/src/elements/inline/ruby/ruby.scss +39 -0
- package/src/elements/inline/s/index.ts +165 -0
- package/src/elements/inline/s/s.scss +37 -0
- package/src/elements/inline/samp/index.ts +162 -0
- package/src/elements/inline/samp/samp.scss +43 -0
- package/src/elements/inline/small/index.ts +177 -0
- package/src/elements/inline/small/small.scss +35 -0
- package/src/elements/inline/strong/index.ts +166 -0
- package/src/elements/inline/strong/strong.scss +35 -0
- package/src/elements/inline/sub/index.ts +170 -0
- package/src/elements/inline/sub/sub.scss +44 -0
- package/src/elements/inline/sup/index.ts +165 -0
- package/src/elements/inline/sup/sup.scss +43 -0
- package/src/elements/inline/time/index.ts +206 -0
- package/src/elements/inline/time/time.scss +38 -0
- package/src/elements/inline/u/index.ts +162 -0
- package/src/elements/inline/u/u.scss +42 -0
- package/src/elements/inline/var/index.ts +167 -0
- package/src/elements/inline/var/var.scss +44 -0
- package/src/elements/interactive/details/details.scss +42 -0
- package/src/elements/interactive/details/index.ts +198 -0
- package/src/elements/interactive/dialog/dialog.scss +55 -0
- package/src/elements/interactive/dialog/index.ts +219 -0
- package/src/elements/interactive/index.ts +50 -0
- package/src/elements/interactive/summary/index.ts +161 -0
- package/src/elements/interactive/summary/summary.scss +48 -0
- package/src/elements/layout/article/article.scss +42 -0
- package/src/elements/layout/article/index.ts +169 -0
- package/src/elements/layout/aside/aside.scss +42 -0
- package/src/elements/layout/aside/index.ts +161 -0
- package/src/elements/layout/footer/footer.scss +42 -0
- package/src/elements/layout/footer/index.ts +161 -0
- package/src/elements/layout/header/header.scss +42 -0
- package/src/elements/layout/header/index.ts +171 -0
- package/src/elements/layout/index.ts +89 -0
- package/src/elements/layout/main/index.ts +175 -0
- package/src/elements/layout/main/main.scss +43 -0
- package/src/elements/layout/nav/index.ts +176 -0
- package/src/elements/layout/nav/nav.scss +42 -0
- package/src/elements/layout/section/index.ts +168 -0
- package/src/elements/layout/section/section.scss +42 -0
- package/src/elements/list/dd/dd.scss +49 -0
- package/src/elements/list/dd/index.ts +159 -0
- package/src/elements/list/dl/dl.scss +39 -0
- package/src/elements/list/dl/index.ts +171 -0
- package/src/elements/list/dt/dt.scss +51 -0
- package/src/elements/list/dt/index.ts +166 -0
- package/src/elements/list/index.ts +74 -0
- package/src/elements/list/li/index.ts +213 -0
- package/src/elements/list/li/li.scss +39 -0
- package/src/elements/list/ol/index.ts +205 -0
- package/src/elements/list/ol/ol.scss +39 -0
- package/src/elements/list/ul/index.ts +195 -0
- package/src/elements/list/ul/ul.scss +42 -0
- package/src/elements/media/audio/audio.scss +43 -0
- package/src/elements/media/audio/index.ts +281 -0
- package/src/elements/media/canvas/canvas.scss +46 -0
- package/src/elements/media/canvas/index.ts +194 -0
- package/src/elements/media/embed/embed.scss +37 -0
- package/src/elements/media/embed/index.ts +246 -0
- package/src/elements/media/iframe/iframe.scss +39 -0
- package/src/elements/media/iframe/index.ts +331 -0
- package/src/elements/media/img/img.scss +47 -0
- package/src/elements/media/img/index.ts +146 -0
- package/src/elements/media/index.ts +97 -0
- package/src/elements/media/math/index.ts +200 -0
- package/src/elements/media/math/math.scss +46 -0
- package/src/elements/media/object/index.ts +282 -0
- package/src/elements/media/object/object.scss +42 -0
- package/src/elements/media/svg/index.ts +122 -0
- package/src/elements/media/svg/svg.scss +44 -0
- package/src/elements/media/video/index.ts +376 -0
- package/src/elements/media/video/video.scss +44 -0
- package/src/elements/responsive/area/area.scss +29 -0
- package/src/elements/responsive/area/index.ts +244 -0
- package/src/elements/responsive/index.ts +71 -0
- package/src/elements/responsive/map/index.ts +231 -0
- package/src/elements/responsive/map/map.scss +38 -0
- package/src/elements/responsive/picture/index.ts +159 -0
- package/src/elements/responsive/picture/picture.scss +32 -0
- package/src/elements/responsive/source/index.ts +247 -0
- package/src/elements/responsive/source/source.scss +28 -0
- package/src/elements/responsive/track/index.ts +254 -0
- package/src/elements/responsive/track/track.scss +28 -0
- package/src/elements/table/caption/caption.scss +54 -0
- package/src/elements/table/caption/index.ts +172 -0
- package/src/elements/table/col/col.scss +32 -0
- package/src/elements/table/col/index.ts +189 -0
- package/src/elements/table/colgroup/colgroup.scss +34 -0
- package/src/elements/table/colgroup/index.ts +224 -0
- package/src/elements/table/index.ts +111 -0
- package/src/elements/table/table/index.ts +183 -0
- package/src/elements/table/table/table.scss +56 -0
- package/src/elements/table/tbody/index.ts +174 -0
- package/src/elements/table/tbody/tbody.scss +32 -0
- package/src/elements/table/td/index.ts +220 -0
- package/src/elements/table/td/td.scss +48 -0
- package/src/elements/table/tfoot/index.ts +171 -0
- package/src/elements/table/tfoot/tfoot.scss +30 -0
- package/src/elements/table/th/index.ts +277 -0
- package/src/elements/table/th/th.scss +48 -0
- package/src/elements/table/thead/index.ts +170 -0
- package/src/elements/table/thead/thead.scss +32 -0
- package/src/elements/table/tr/index.ts +174 -0
- package/src/elements/table/tr/tr.scss +30 -0
- package/src/elements/text/address/address.scss +61 -0
- package/src/elements/text/address/index.ts +173 -0
- package/src/elements/text/blockquote/blockquote.scss +50 -0
- package/src/elements/text/blockquote/index.ts +203 -0
- package/src/elements/text/hr/hr.scss +50 -0
- package/src/elements/text/hr/index.ts +161 -0
- package/src/elements/text/index.ts +61 -0
- package/src/elements/text/paragraph/index.ts +179 -0
- package/src/elements/text/paragraph/paragraph.scss +49 -0
- package/src/elements/text/pre/index.ts +175 -0
- package/src/elements/text/pre/pre.scss +59 -0
- package/src/scss/_elements.scss +178 -0
- package/src/scss/_font-face.scss +35 -0
- package/src/scss/_reboot.scss +117 -0
- package/src/scss/_root.scss +112 -0
- package/src/scss/adapters/bootstrap/v5/_variables.scss +220 -0
- package/src/scss/adapters/bootstrap/v5/index.scss +58 -0
- package/src/scss/core.scss +53 -0
- package/src/scss/functions/_colours.scss +340 -0
- package/src/scss/functions/_fonts.scss +475 -0
- package/src/scss/functions/_index.scss +78 -0
- package/src/scss/functions/_options.scss +233 -0
- package/src/scss/functions/_spacing.scss +405 -0
- package/src/scss/functions/_theme.scss +355 -0
- package/src/scss/functions/_typography.scss +403 -0
- package/src/scss/main.scss +47 -0
- package/src/scss/maps/_colours.scss +344 -0
- package/src/scss/maps/_dark-theme.scss +47 -0
- package/src/scss/maps/_fonts.scss +72 -0
- package/src/scss/maps/_index.scss +96 -0
- package/src/scss/maps/_options.scss +53 -0
- package/src/scss/maps/_spacing.scss +63 -0
- package/src/scss/maps/_theme.scss +78 -0
- package/src/scss/maps/_typography.scss +127 -0
- package/src/scss/mixins/_colours.scss +304 -0
- package/src/scss/mixins/_fonts.scss +277 -0
- package/src/scss/mixins/_index.scss +93 -0
- package/src/scss/mixins/_options.scss +297 -0
- package/src/scss/mixins/_spacing.scss +176 -0
- package/src/scss/mixins/_theme.scss +325 -0
- package/src/scss/mixins/_typography.scss +277 -0
- package/src/scss/tokens/_colours.scss +707 -0
- package/src/scss/tokens/_dark-theme.scss +50 -0
- package/src/scss/tokens/_fonts.scss +49 -0
- package/src/scss/tokens/_index.scss +100 -0
- package/src/scss/tokens/_options.scss +77 -0
- package/src/scss/tokens/_spacing.scss +43 -0
- package/src/scss/tokens/_theme.scss +166 -0
- package/src/scss/tokens/_typography.scss +218 -0
- package/src/ts/adapters/tailwind/v4/index.ts +2 -0
- package/src/ts/adapters/tailwind/v4/plugin.ts +47 -0
- package/src/ts/adapters/tailwind/v4/preset.ts +75 -0
- package/src/ts/dom.ts +378 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index100.cjs","sources":["../../../src/elements/responsive/map/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Map element helpers.\n *\n * @remarks\n * The map element (`<map>`) defines an image map: a set of clickable regions\n * (typically via descendant `<area>` elements) that can be referenced from an\n * `<img>` (or other image-like element) using the `usemap` attribute.\n *\n * Best-practice guidance:\n * - Always provide a meaningful, unique `name` for the map.\n * - Use `<area>` children to define interactive regions.\n * - Keep `name` free of whitespace and ensure it is unique within the document/tree.\n * - If you also set `id`, it should match `name` (spec requirement).\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: `<map>` element\n * - WHATWG HTML: map element and `name` requirements\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 map.\n *\n * @category Constants\n */\nexport const MAP_TAG = 'map' as const;\n\n/**\n * A CSS selector targeting map elements.\n *\n * @category Constants\n */\nexport const MAP_SELECTOR = 'map';\n\n/**\n * Attribute bag for map creation/enhancement.\n *\n * @remarks\n * Element-specific attributes:\n * - `name` (required by spec for referencing via `usemap`)\n *\n * Spec notes:\n * - `name` must be present, non-empty, and contain no ASCII whitespace.\n * - If `id` is also specified, it must match `name`.\n *\n * Fundatio behavior:\n * - If `name` is omitted, Fundatio provides a deterministic fallback:\n * - uses `id` if provided\n * - otherwise defaults to `\"map\"`\n * Callers should set a unique name in real documents.\n *\n * @category Attributes\n */\nexport type MapAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Name of the image map.\n *\n * @remarks\n * Used by `<img usemap=\"#NAME\">` to reference this `<map>`.\n */\n name?: string;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Validate a map `name` value according to spec constraints.\n *\n * @param name - The name to validate.\n * @throws Error if the name is empty or contains whitespace.\n *\n * @category Internal\n */\nfunction assertValidMapName(name: string): void {\n const raw = String(name);\n const trimmed = raw.trim();\n\n if (trimmed.length === 0) {\n throw new Error('Map \"name\" must be a non-empty string.');\n }\n\n // Spec: no ASCII whitespace. We conservatively reject any whitespace.\n if (/\\s/.test(trimmed)) {\n throw new Error('Map \"name\" must not contain whitespace.');\n }\n}\n\n/**\n * Normalize {@link MapAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * - Preserves caller-provided `attrs` escape hatch (still validated by `dom.ts`).\n * - Applies/validates the required `name` attribute deterministically.\n * - Enforces the spec rule that `id` and `name` must match if both are provided.\n *\n * @param attrs - The map attributes.\n * @returns A {@link GlobalAttrs} object.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: MapAttrs): GlobalAttrs {\n const a: MapAttrs = attrs ?? {};\n\n const { aria, name, ...rest } = a;\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 // Determine name:\n // - explicit `name`\n // - else use `id` if present (and ensure spec match if both were provided)\n // - else deterministic fallback \"map\"\n const resolvedName =\n typeof name === 'string' ? name : typeof rest.id === 'string' ? rest.id : 'map';\n\n assertValidMapName(resolvedName);\n\n if (typeof name === 'string' && typeof rest.id === 'string' && name !== rest.id) {\n throw new Error('Map \"id\" must match \"name\" when both are provided.');\n }\n\n setIfUnset('name', resolvedName);\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 map element with optional text content and attributes.\n *\n * @remarks\n * While `<map>` typically contains `<area>` elements (not text), Fundatio still\n * supports optional `text` for:\n * - fallback content\n * - simple labelling in environments that inspect textContent\n *\n * - 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 text content.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<map>` element.\n *\n * @example\n * ```ts\n * import { createMap } from \"@Vastare/Fundatio/elements/responsive/map\";\n *\n * const m = createMap(undefined, { name: \"product-map\" });\n * ```\n *\n * @category DOM\n */\nexport function createMap(text?: string, attrs?: MapAttrs): ElementOf<typeof MAP_TAG> {\n return createElement(MAP_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance map 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 enhanceMaps(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for map.\n void root;\n}\n"],"names":["MAP_TAG","MAP_SELECTOR","assertValidMapName","name","trimmed","toGlobalAttrs","attrs","a","aria","rest","mergedAttrs","setIfUnset","key","v","resolvedName","mappedAria","next","createMap","text","createElement","enhanceMaps","root"],"mappings":"0CAgEaA,EAAU,MAOVC,EAAe,MA4C5B,SAASC,EAAmBC,EAAoB,CAE9C,MAAMC,EADM,OAAOD,CAAI,EACH,KAAA,EAEpB,GAAIC,EAAQ,SAAW,EACrB,MAAM,IAAI,MAAM,wCAAwC,EAI1D,GAAI,KAAK,KAAKA,CAAO,EACnB,MAAM,IAAI,MAAM,yCAAyC,CAE7D,CAeA,SAASC,EAAcC,EAA+B,CACpD,MAAMC,EAAcD,GAAS,CAAA,EAEvB,CAAE,KAAAE,EAAM,KAAAL,EAAM,GAAGM,GAASF,EAE1BG,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,EAMMC,EACJ,OAAOX,GAAS,SAAWA,EAAO,OAAOM,EAAK,IAAO,SAAWA,EAAK,GAAK,MAI5E,GAFAP,EAAmBY,CAAY,EAE3B,OAAOX,GAAS,UAAY,OAAOM,EAAK,IAAO,UAAYN,IAASM,EAAK,GAC3E,MAAM,IAAI,MAAM,oDAAoD,EAGtEE,EAAW,OAAQG,CAAY,EAE/B,MAAMC,EAA+C,CAAA,EACjDP,IACE,OAAOA,EAAK,OAAU,WAAUO,EAAW,MAAQP,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUO,EAAW,WAAaP,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWO,EAAW,OAASP,EAAK,SAGjE,MAAMQ,EAAoB,CAAE,GAAGP,EAAM,MAAOC,CAAA,EAE5C,OAAI,OAAO,KAAKK,CAAU,EAAE,OAAS,IACnCC,EAAK,KAAOD,GAGPC,CACT,CA6BO,SAASC,EAAUC,EAAeZ,EAA6C,CACpF,OAAOa,EAAAA,cAAcnB,EAASK,EAAcC,CAAK,EAAGY,CAAI,CAC1D,CAYO,SAASE,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const a=require("./dom.cjs"),i="picture",o="picture";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 c(t){return a.createElement(i,d(t))}function l(t=document){}const u=Object.freeze(Object.defineProperty({__proto__:null,PICTURE_SELECTOR:o,PICTURE_TAG:i,createPicture:c,enhancePictures:l},Symbol.toStringTag,{value:"Module"}));exports.PICTURE_SELECTOR=o;exports.PICTURE_TAG=i;exports.createPicture=c;exports.enhancePictures=l;exports.index=u;
|
|
2
|
+
//# sourceMappingURL=index101.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index101.cjs","sources":["../../../src/elements/responsive/picture/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Picture element helpers.\n *\n * @remarks\n * The picture element (`<picture>`) is a container used for responsive images.\n * It allows authors to provide multiple image sources (typically via child\n * `<source>` elements) and a required fallback `<img>` element.\n *\n * Best-practice guidance:\n * - Always include an `<img>` inside `<picture>` as the fallback and for\n * accessibility. The alternative text (`alt`) belongs on the `<img>`, not on\n * `<picture>`.\n * - Use `<source>` elements with `media` and/or `type` to provide format and\n * breakpoint-specific sources.\n * - Prefer modern formats (e.g. AVIF/WebP) with a sensible fallback.\n *\n * Fundatio-specific conventions:\n * - `<picture>` has no element-specific attributes; this module applies global\n * attributes via Fundatio's hardened DOM helpers (`dom.ts`), which block inline\n * event handler attributes (e.g. `onclick`) and the raw `style` attribute\n * 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 picture containers.\n *\n * @category Constants\n */\nexport const PICTURE_TAG = 'picture' as const;\n\n/**\n * A CSS selector targeting picture elements.\n *\n * @category Constants\n */\nexport const PICTURE_SELECTOR = 'picture';\n\n/**\n * Attribute bag for picture creation/enhancement.\n *\n * @remarks\n * `<picture>` does not define unique attributes; it is a container that affects\n * image source selection in conjunction with child `<source>` and `<img>`.\n *\n *\n * Fundatio supports a structured ARIA input for common ARIA fields, mapped into\n * {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type PictureAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link PictureAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The picture attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: PictureAttrs): 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 picture element with optional global attributes.\n *\n * @remarks\n * `<picture>` is a container; authors must append a fallback `<img>` and any\n * `<source>` children. The alternative text (`alt`) is provided on the `<img>`.\n *\n *\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 `<picture>` element.\n *\n * @example\n * ```ts\n * import { createPicture } from \"@Vastare/Fundatio/elements/responsive/picture\";\n *\n * const p = createPicture({ className: \"hero-media\" });\n * ```\n *\n * @category DOM\n */\nexport function createPicture(attrs?: PictureAttrs): ElementOf<typeof PICTURE_TAG> {\n return createElement(PICTURE_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance picture 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 enhancePictures(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for picture.\n void root;\n}\n"],"names":["PICTURE_TAG","PICTURE_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createPicture","createElement","enhancePictures","root"],"mappings":"0CA8DaA,EAAc,UAOdC,EAAmB,UA8BhC,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,CA0BO,SAASE,EAAcJ,EAAqD,CACjF,OAAOK,gBAAcR,EAAaE,EAAcC,CAAK,CAAC,CACxD,CAYO,SAASM,EAAgBC,EAAmB,SAAgB,CAGnE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const b=require("./dom.cjs"),l="source",u="source";function g(r){if(!r)return;const{aria:e,src:s,srcSet:c,sizes:o,media:f,type:d,...S}=r,p=typeof s=="string"&&s.trim().length>0,a=typeof c=="string"&&c.trim().length>0;if(!p&&!a)throw new Error('source requires at least one of "src" or "srcSet".');if(typeof o=="string"&&o.trim().length>0&&!a)throw new Error('source "sizes" may only be specified when "srcSet" is provided.');const n={...S},t={...n.attrs??{}};if(p&&(t.src=s),a&&(t.srcset=c),typeof o=="string"&&o.trim().length>0&&(t.sizes=o),typeof f=="string"&&(t.media=f),typeof d=="string"&&(t.type=d),Object.keys(t).length>0&&(n.attrs=t),!e)return n;const i={};return typeof e.label=="string"&&(i.label=e.label),typeof e.labelledby=="string"&&(i.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(i.hidden=e.hidden),Object.keys(i).length>0?{...n,aria:i}:n}function y(r){return b.createVoidElement(l,g(r))}function h(r=document){}const m=Object.freeze(Object.defineProperty({__proto__:null,SOURCE_SELECTOR:u,SOURCE_TAG:l,createSource:y,enhanceSources:h},Symbol.toStringTag,{value:"Module"}));exports.SOURCE_SELECTOR=u;exports.SOURCE_TAG=l;exports.createSource=y;exports.enhanceSources=h;exports.index=m;
|
|
2
|
+
//# sourceMappingURL=index102.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index102.cjs","sources":["../../../src/elements/responsive/source/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Source element helpers.\n *\n * @remarks\n * The source element (`<source>`) provides one or more media resources for:\n * - `<picture>` (responsive images via `srcset`/`sizes`)\n * - `<audio>` / `<video>` (alternate encodings via `src`)\n *\n * Best-practice guidance:\n * - Use `<picture><source srcset ...></picture>` for responsive images and art direction.\n * - Use multiple `<source>` children under `<audio>/<video>` to provide fallback formats.\n * - Prefer providing a `type` when possible to help user agents skip unsupported formats.\n * - Use `media` to gate sources behind media conditions.\n * - Only use `sizes` when `srcset` is present (it is meaningless otherwise).\n *\n * Attributes (element-specific):\n * - `src` (string): media resource URL (primarily for `<audio>/<video>` contexts).\n * - `srcSet` (string): source set candidates (primarily for `<picture>` contexts).\n * - `sizes` (string): sizes list for `srcset` selection.\n * - `type` (string): MIME type hint.\n * - `media` (string): media query condition.\n *\n * Notes:\n * - `<source>` is a void element (no text content).\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/source\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 * @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 source.\n *\n * @category Constants\n */\nexport const SOURCE_TAG = 'source' as const;\n\n/**\n * A CSS selector targeting source elements.\n *\n * @category Constants\n */\nexport const SOURCE_SELECTOR = 'source';\n\n/**\n * Attribute bag for source creation/enhancement.\n *\n * @remarks\n * Source elements accept standard HTML global attributes plus source-specific\n * content attributes used by `<picture>`, `<audio>`, and `<video>`.\n *\n * Fundatio supports structured ARIA input for common ARIA fields, mapped into\n * {@link GlobalAttrs.aria}.\n *\n * Validation rules enforced by this module:\n * - `sizes` may only be specified when `srcSet` is provided.\n * - At least one of `src` or `srcSet` must be provided (a `<source>` without a\n * resource is not useful).\n *\n * @category Attributes\n */\nexport type SourceAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Media resource URL.\n *\n * @remarks\n * Primarily used by `<audio>` and `<video>`. It is ignored when the `<source>`\n * is nested inside `<picture>`.\n */\n src?: string;\n\n /**\n * Image candidate source set.\n *\n * @remarks\n * Primarily used by `<picture>` responsive images.\n * Maps to the `srcset` content attribute.\n */\n srcSet?: string;\n\n /**\n * Sizes list describing the intended display size for `srcset` selection.\n *\n * @remarks\n * Only meaningful when `srcset` is present.\n */\n sizes?: string;\n\n /**\n * Media query condition for selecting this source.\n */\n media?: string;\n\n /**\n * MIME type hint for the resource(s).\n */\n type?: string;\n};\n\n/**\n * Normalize {@link SourceAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The source attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @throws Error if `sizes` is provided without `srcSet`.\n * @throws Error if neither `src` nor `srcSet` are provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SourceAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, src, srcSet, sizes, media, type, ...rest } = attrs;\n\n const hasSrc = typeof src === 'string' && src.trim().length > 0;\n const hasSrcSet = typeof srcSet === 'string' && srcSet.trim().length > 0;\n\n if (!hasSrc && !hasSrcSet) {\n throw new Error('source requires at least one of \"src\" or \"srcSet\".');\n }\n\n if (typeof sizes === 'string' && sizes.trim().length > 0 && !hasSrcSet) {\n throw new Error('source \"sizes\" may only be specified when \"srcSet\" is provided.');\n }\n\n const mapped: GlobalAttrs = { ...rest };\n\n const extra: NonNullable<GlobalAttrs['attrs']> = { ...(mapped.attrs ?? {}) };\n\n if (hasSrc) extra.src = src!;\n if (hasSrcSet) extra.srcset = srcSet!;\n if (typeof sizes === 'string' && sizes.trim().length > 0) extra.sizes = sizes;\n if (typeof media === 'string') extra.media = media;\n if (typeof type === 'string') extra.type = type;\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 source element with attributes.\n *\n * @remarks\n * `<source>` is a void element: it never carries text content.\n *\n * Global attributes and escape-hatch attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes (e.g. `onclick`)\n * and raw `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<source>` element.\n *\n * @example\n * Responsive image source (picture):\n * ```ts\n * import { createSource } from \"@Vastare/Fundatio/elements/responsive/source\";\n *\n * const s = createSource({\n * srcSet: \"/img/hero-800.jpg 800w, /img/hero-1600.jpg 1600w\",\n * sizes: \"(max-width: 800px) 100vw, 800px\",\n * type: \"image/jpeg\"\n * });\n * ```\n *\n * @category DOM\n */\nexport function createSource(attrs?: SourceAttrs): ElementOf<typeof SOURCE_TAG> {\n return createVoidElement(SOURCE_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance source 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 enhanceSources(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for source.\n void root;\n}\n"],"names":["SOURCE_TAG","SOURCE_SELECTOR","toGlobalAttrs","attrs","aria","src","srcSet","sizes","media","type","rest","hasSrc","hasSrcSet","mapped","extra","mappedAria","createSource","createVoidElement","enhanceSources","root"],"mappings":"0CAuEaA,EAAa,SAObC,EAAkB,SAyE/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,IAAAC,EAAK,OAAAC,EAAQ,MAAAC,EAAO,MAAAC,EAAO,KAAAC,EAAM,GAAGC,CAAA,EAASP,EAErDQ,EAAS,OAAON,GAAQ,UAAYA,EAAI,KAAA,EAAO,OAAS,EACxDO,EAAY,OAAON,GAAW,UAAYA,EAAO,KAAA,EAAO,OAAS,EAEvE,GAAI,CAACK,GAAU,CAACC,EACd,MAAM,IAAI,MAAM,oDAAoD,EAGtE,GAAI,OAAOL,GAAU,UAAYA,EAAM,OAAO,OAAS,GAAK,CAACK,EAC3D,MAAM,IAAI,MAAM,iEAAiE,EAGnF,MAAMC,EAAsB,CAAE,GAAGH,CAAA,EAE3BI,EAA2C,CAAE,GAAID,EAAO,OAAS,CAAA,CAAC,EAYxE,GAVIF,MAAc,IAAMN,GACpBO,MAAiB,OAASN,GAC1B,OAAOC,GAAU,UAAYA,EAAM,OAAO,OAAS,IAAGO,EAAM,MAAQP,GACpE,OAAOC,GAAU,WAAUM,EAAM,MAAQN,GACzC,OAAOC,GAAS,WAAUK,EAAM,KAAOL,GAEvC,OAAO,KAAKK,CAAK,EAAE,OAAS,IAC9BD,EAAO,MAAQC,GAGb,CAACV,EAAM,OAAOS,EAElB,MAAME,EAA+C,CAAA,EAErD,OAAI,OAAOX,EAAK,OAAU,WAAUW,EAAW,MAAQX,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUW,EAAW,WAAaX,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWW,EAAW,OAASX,EAAK,QAEzC,OAAO,KAAKW,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGF,EAAQ,KAAME,GAAeF,CAC3D,CA6BO,SAASG,EAAab,EAAmD,CAC9E,OAAOc,oBAAkBjB,EAAYE,EAAcC,CAAK,CAAC,CAC3D,CAoBO,SAASe,EAAeC,EAAmB,SAAgB,CAGlE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const k=require("./dom.cjs"),o="track",d="track";function O(t){if(!t)return;const{aria:e,kind:u,src:T,srclang:p,label:y,default:A,...l}=t,a={...l.attrs??{}},r=(i,s)=>{s!==void 0&&(Object.prototype.hasOwnProperty.call(a,i)||(a[i]=s))};r("kind",u),r("src",T),r("srclang",p),r("label",y),A===!0&&r("default","");const n={};e&&(typeof e.label=="string"&&(n.label=e.label),typeof e.labelledby=="string"&&(n.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(n.hidden=e.hidden));const g=Object.keys(a).length>0,h=Object.keys(n).length>0,c={...l};return g&&(c.attrs=a),h&&(c.aria=n),c}function f(t){return k.createVoidElement(o,O(t))}function b(t=document){}const _=Object.freeze(Object.defineProperty({__proto__:null,TRACK_SELECTOR:d,TRACK_TAG:o,createTrack:f,enhanceTracks:b},Symbol.toStringTag,{value:"Module"}));exports.TRACK_SELECTOR=d;exports.TRACK_TAG=o;exports.createTrack=f;exports.enhanceTracks=b;exports.index=_;
|
|
2
|
+
//# sourceMappingURL=index103.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index103.cjs","sources":["../../../src/elements/responsive/track/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Track element helpers.\n *\n * @remarks\n * The track element (`<track>`) provides external timed text tracks for media\n * elements such as `<video>` and `<audio>`. Tracks can represent:\n * - subtitles\n * - captions\n * - descriptions\n * - chapters\n * - metadata\n *\n * Best-practice guidance:\n * - Use `<track>` for WebVTT (and similar timed text) resources that accompany media.\n * - Use `kind` to declare the track purpose (subtitles, captions, etc.).\n * - Use `label` for a user-facing title shown in media track selection UIs.\n * - Use `srclang` to declare the track language (BCP 47 tag).\n * - If `kind=\"subtitles\"`, user agents/spec require `srclang` to be defined.\n *\n * Attribute behavior notes:\n * - `default` is a boolean attribute. When present, it indicates this track\n * should be enabled if user preferences do not indicate a better choice.\n *\n * Fundatio keeps the API small and framework-agnostic:\n * - Attributes are routed through Fundatio's hardened DOM helpers.\n * - Unsafe attributes (inline event handlers, raw style) are blocked centrally.\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/track\n * @see https://html.spec.whatwg.org/multipage/media.html#the-track-element\n *\n * @module\n * @category Elements\n */\n\nimport {\n createVoidElement,\n type AttrValue,\n type ElementOf,\n type GlobalAttrs,\n} from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * Allowed values for the `kind` attribute on `<track>`.\n *\n * @remarks\n * This follows the HTML living standard's enumerated states.\n *\n * @category Attributes\n */\nexport type TrackKind = 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';\n\n/**\n * The semantic tag name for track.\n *\n * @category Constants\n */\nexport const TRACK_TAG = 'track' as const;\n\n/**\n * A CSS selector targeting track elements.\n *\n * @category Constants\n */\nexport const TRACK_SELECTOR = 'track';\n\n/**\n * Attribute bag for track creation/enhancement.\n *\n * @remarks\n * Track is a void element and must not carry text content or child nodes.\n *\n * Track accepts standard HTML global attributes plus track-specific attributes:\n * - `kind`\n * - `src`\n * - `srclang`\n * - `label`\n * - `default` (boolean attribute)\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 TrackAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The type of text track.\n */\n kind?: TrackKind;\n\n /**\n * The URL of the timed text track resource (commonly a `.vtt` file).\n */\n src?: string;\n\n /**\n * The language of the text track, as a BCP 47 language tag.\n *\n * @remarks\n * If `kind` is `subtitles`, user agents/spec require `srclang` to be defined.\n */\n srclang?: string;\n\n /**\n * User-visible label for the track (typically shown in media UI menus).\n */\n label?: string;\n\n /**\n * Marks this track as the default if user preferences do not indicate another.\n *\n * @remarks\n * This maps to the `default` boolean attribute (presence-based).\n */\n default?: boolean;\n};\n\n/**\n * Normalize {@link TrackAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The track attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TrackAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, kind, src, srclang, label, default: isDefault, ...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('kind', kind);\n setIfUnset('src', src);\n setIfUnset('srclang', srclang);\n setIfUnset('label', label);\n\n // Boolean attribute presence is represented by empty string when true.\n if (isDefault === true) setIfUnset('default', '');\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 track element and apply attributes.\n *\n * @remarks\n * Track is a void element:\n * - It must not have text content.\n * - It must not have child nodes.\n *\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 `<track>` element.\n *\n * @example\n * ```ts\n * import { createTrack } from \"@Vastare/Fundatio/elements/responsive/track\";\n *\n * const t = createTrack({\n * kind: \"subtitles\",\n * src: \"/captions/en.vtt\",\n * srclang: \"en\",\n * label: \"English\",\n * default: true\n * });\n * ```\n *\n * @category DOM\n */\nexport function createTrack(attrs?: TrackAttrs): ElementOf<typeof TRACK_TAG> {\n return createVoidElement(TRACK_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance track 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 enhanceTracks(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for track.\n void root;\n}\n"],"names":["TRACK_TAG","TRACK_SELECTOR","toGlobalAttrs","attrs","aria","kind","src","srclang","label","isDefault","rest","mergedAttrs","setIfUnset","key","value","mappedAria","hasMergedAttrs","hasMappedAria","next","createTrack","createVoidElement","enhanceTracks","root"],"mappings":"0CAsFaA,EAAY,QAOZC,EAAiB,QAkE9B,SAASC,EAAcC,EAA6C,CAClE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,IAAAC,EAAK,QAAAC,EAAS,MAAAC,EAAO,QAASC,EAAW,GAAGC,CAAA,EAASP,EAGnEQ,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,OAAQP,CAAI,EACvBO,EAAW,MAAON,CAAG,EACrBM,EAAW,UAAWL,CAAO,EAC7BK,EAAW,QAASJ,CAAK,EAGrBC,IAAc,IAAMG,EAAW,UAAW,EAAE,EAEhD,MAAMG,EAA+C,CAAA,EACjDX,IACE,OAAOA,EAAK,OAAU,WAAUW,EAAW,MAAQX,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUW,EAAW,WAAaX,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWW,EAAW,OAASX,EAAK,SAGjE,MAAMY,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,CAgCO,SAASC,EAAYhB,EAAiD,CAC3E,OAAOiB,oBAAkBpB,EAAWE,EAAcC,CAAK,CAAC,CAC1D,CAoBO,SAASkB,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),l="article",i="article";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 o(t,e){return c.createElement(l,d(e),t)}function a(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,ARTICLE_SELECTOR:i,ARTICLE_TAG:l,createArticle:o,enhanceArticles:a},Symbol.toStringTag,{value:"Module"}));exports.ARTICLE_SELECTOR=i;exports.ARTICLE_TAG=l;exports.createArticle=o;exports.enhanceArticles=a;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index104.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index104.cjs","sources":["../../../src/elements/layout/article/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Article element helpers.\n *\n * @remarks\n * The article element (`<article>`) represents a self-contained composition in a\n * document, page, application, or site that is intended to be independently\n * distributable or reusable (e.g. syndication).\n *\n * Best-practice guidance:\n * - Use `<article>` for content that makes sense on its own (blog post, news item,\n * forum post, comment, product card, etc.).\n * - Prefer `<section>` for thematic grouping that is not independently distributable.\n * - Articles commonly include a heading (h1-h6) in their content, but this module\n * does not enforce structure at runtime.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create article sections in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if 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/article\n * @see https://html.spec.whatwg.org/multipage/sections.html#the-article-element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 article.\n *\n * @category Constants\n */\nexport const ARTICLE_TAG = 'article' as const;\n\n/**\n * A CSS selector targeting article elements.\n *\n * @category Constants\n */\nexport const ARTICLE_SELECTOR = 'article';\n\n/**\n * Attribute bag for article creation/enhancement.\n *\n * @remarks\n * Article elements accept standard HTML global attributes.\n *\n * 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 ArticleAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link ArticleAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The article attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ArticleAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an article element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 article.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<article>` element.\n *\n * @example\n * ```ts\n * import { createArticle } from \"@Vastare/Fundatio/elements/layout/article\";\n *\n * document.body.appendChild(\n * createArticle(undefined, { className: \"post\", aria: { label: \"Blog post\" } })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createArticle(text?: string, attrs?: ArticleAttrs): ElementOf<typeof ARTICLE_TAG> {\n return createElement(ARTICLE_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance article elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceArticles(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for article.\n void root;\n}\n"],"names":["ARTICLE_TAG","ARTICLE_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createArticle","text","createElement","enhanceArticles","root"],"mappings":"0CAiEaA,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CA0BO,SAASE,EAAcC,EAAeL,EAAqD,CAChG,OAAOM,EAAAA,cAAcT,EAAaE,EAAcC,CAAK,EAAGK,CAAI,CAC9D,CAoBO,SAASE,EAAgBC,EAAmB,SAAgB,CAGnE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const l=require("./dom.cjs"),o="aside",a="aside";function s(t){if(!t)return;const{aria:e,...i}=t;if(!e)return i;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?{...i,aria:n}:i}function r(t,e){return l.createElement(o,s(e),t)}function d(t=document){}const c=Object.freeze(Object.defineProperty({__proto__:null,ASIDE_SELECTOR:a,ASIDE_TAG:o,createAside:r,enhanceAsides:d},Symbol.toStringTag,{value:"Module"}));exports.ASIDE_SELECTOR=a;exports.ASIDE_TAG=o;exports.createAside=r;exports.enhanceAsides=d;exports.index=c;
|
|
2
|
+
//# sourceMappingURL=index105.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index105.cjs","sources":["../../../src/elements/layout/aside/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Aside element helpers.\n *\n * @remarks\n * The aside element (`<aside>`) represents content that is tangentially related\n * to the content around it, such as sidebars, callout boxes, pull quotes, or\n * related links.\n *\n * Best-practice guidance:\n * - Use `<aside>` for content related to the surrounding section, but not part of\n * the main narrative flow.\n * - Avoid using `<aside>` purely for visual layout. Use CSS for layout and choose\n * semantic elements for meaning.\n * - Prefer native semantics. Only add ARIA roles when needed.\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: `<aside>` element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 aside.\n *\n * @category Constants\n */\nexport const ASIDE_TAG = 'aside' as const;\n\n/**\n * A CSS selector targeting aside elements.\n *\n * @category Constants\n */\nexport const ASIDE_SELECTOR = 'aside';\n\n/**\n * Attribute bag for aside creation/enhancement.\n *\n * @remarks\n * Aside 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 AsideAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link AsideAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The aside attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: AsideAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an aside 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 aside.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<aside>` element.\n *\n * @example\n * ```ts\n * import { createAside } from \"@Vastare/Fundatio/elements/layout/aside\";\n *\n * const a = createAside(\"Related links\", { className: \"sidebar\" });\n * ```\n *\n * @category DOM\n */\nexport function createAside(text?: string, attrs?: AsideAttrs): ElementOf<typeof ASIDE_TAG> {\n return createElement(ASIDE_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance aside 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 enhanceAsides(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for aside.\n void root;\n}\n"],"names":["ASIDE_TAG","ASIDE_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createAside","text","createElement","enhanceAsides","root"],"mappings":"0CAgEaA,EAAY,QAOZC,EAAiB,QA4B9B,SAASC,EAAcC,EAA6C,CAClE,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,EAAYC,EAAeL,EAAiD,CAC1F,OAAOM,EAAAA,cAAcT,EAAWE,EAAcC,CAAK,EAAGK,CAAI,CAC5D,CAgBO,SAASE,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="footer",l="footer";function d(t){if(!t)return;const{aria:e,...n}=t;if(!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 a(t,e){return c.createElement(r,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,FOOTER_SELECTOR:l,FOOTER_TAG:r,createFooter:a,enhanceFooters:i},Symbol.toStringTag,{value:"Module"}));exports.FOOTER_SELECTOR=l;exports.FOOTER_TAG=r;exports.createFooter=a;exports.enhanceFooters=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index106.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index106.cjs","sources":["../../../src/elements/layout/footer/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Footer element helpers.\n *\n * @remarks\n * The footer element (`<footer>`) represents a footer for its nearest ancestor\n * sectioning content or sectioning root. It can be used as a page footer or as\n * a footer within an `<article>`, `<section>`, etc.\n *\n * Best-practice guidance:\n * - Use `<footer>` for information about the section it belongs to (author info,\n * related links, legal text, etc.).\n * - Do not use `<footer>` purely for visual positioning. Layout is CSS; meaning\n * is HTML.\n * - Prefer native semantics. Only add ARIA roles when needed.\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: `<footer>` element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 footer.\n *\n * @category Constants\n */\nexport const FOOTER_TAG = 'footer' as const;\n\n/**\n * A CSS selector targeting footer elements.\n *\n * @category Constants\n */\nexport const FOOTER_SELECTOR = 'footer';\n\n/**\n * Attribute bag for footer creation/enhancement.\n *\n * @remarks\n * Footer 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 FooterAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link FooterAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The footer attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: FooterAttrs): 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 footer 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 footer.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<footer>` element.\n *\n * @example\n * ```ts\n * import { createFooter } from \"@Vastare/Fundatio/elements/layout/footer\";\n *\n * const f = createFooter(\"© 2026\", { className: \"site-footer\" });\n * ```\n *\n * @category DOM\n */\nexport function createFooter(text?: string, attrs?: FooterAttrs): ElementOf<typeof FOOTER_TAG> {\n return createElement(FOOTER_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance footer 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 enhanceFooters(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for footer.\n void root;\n}\n"],"names":["FOOTER_TAG","FOOTER_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createFooter","text","createElement","enhanceFooters","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,QAE7C,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,CAgBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const i=require("./dom.cjs"),a="header",o="header";function c(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 d(t,e){return i.createElement(a,c(e),t)}function l(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,HEADER_SELECTOR:o,HEADER_TAG:a,createHeader:d,enhanceHeaders:l},Symbol.toStringTag,{value:"Module"}));exports.HEADER_SELECTOR=o;exports.HEADER_TAG=a;exports.createHeader=d;exports.enhanceHeaders=l;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index107.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index107.cjs","sources":["../../../src/elements/layout/header/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Header (`header`) element helpers.\n *\n * @remarks\n * The header element (`<header>`) represents introductory content for its nearest\n * ancestor sectioning root or sectioning content element. It commonly contains a\n * heading (`<h1>`-`<h6>`), branding, navigation aids, or other introductory UI.\n *\n * Best-practice guidance:\n * - Use `<header>` to group introductory content for a page or section.\n * - Prefer meaningful structure (headings, landmarks) over generic containers.\n * - Avoid using `<header>` purely for styling. Use CSS classes for styling and\n * keep semantics intentional.\n * - A top-level `<header>` (scoped to `<body>` and not inside sectioning content)\n * may be exposed as a landmark; nested headers typically are not.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create header 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/header\n * @see https://html.spec.whatwg.org/multipage/sections.html#the-header-element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 header elements.\n *\n * @category Constants\n */\nexport const HEADER_TAG = 'header' as const;\n\n/**\n * A CSS selector targeting header elements.\n *\n * @category Constants\n */\nexport const HEADER_SELECTOR = 'header';\n\n/**\n * Attribute bag for header creation/enhancement.\n *\n * @remarks\n * `<header>` accepts 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 HeaderAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link HeaderAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The header attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: HeaderAttrs): 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 header 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 header.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<header>` element.\n *\n * @example\n * Create and append a header:\n * ```ts\n * import { createHeader } from \"@Vastare/Fundatio/elements/layout/header\";\n *\n * document.body.prepend(\n * createHeader(undefined, { className: \"site-header\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createHeader(text?: string, attrs?: HeaderAttrs): ElementOf<typeof HEADER_TAG> {\n return createElement(HEADER_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance header 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 enhanceHeaders(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for header.\n void root;\n}\n"],"names":["HEADER_TAG","HEADER_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createHeader","text","createElement","enhanceHeaders","root"],"mappings":"0CAkEaA,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,CA2BO,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 c=require("./dom.cjs"),i="main",o="main";function d(n){if(!n)return;const{aria:e,...a}=n;if(!e)return a;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?{...a,aria:t}:a}function r(n,e){return c.createElement(i,d(e),n)}function l(n=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,MAIN_SELECTOR:o,MAIN_TAG:i,createMain:r,enhanceMains:l},Symbol.toStringTag,{value:"Module"}));exports.MAIN_SELECTOR=o;exports.MAIN_TAG=i;exports.createMain=r;exports.enhanceMains=l;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index108.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index108.cjs","sources":["../../../src/elements/layout/main/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Main element helpers.\n *\n * @remarks\n * The main element (`<main>`) represents the dominant content of the document.\n * It is a landmark element that helps assistive technologies and other tooling\n * identify the primary content area.\n *\n * Best-practice guidance:\n * - Use **only one** `<main>` per document.\n * - The content of `<main>` should be unique to the document (avoid repeated UI\n * like nav, site chrome, copyright, etc.).\n * - Do not place `<main>` as a descendant of `<article>`, `<aside>`, `<footer>`,\n * `<header>`, or `<nav>`.\n *\n * Attributes:\n * - `<main>` supports **global attributes only**.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create main landmarks in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: Main element (`<main>`)\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 main landmarks.\n *\n * @category Constants\n */\nexport const MAIN_TAG = 'main' as const;\n\n/**\n * A CSS selector targeting main elements.\n *\n * @category Constants\n */\nexport const MAIN_SELECTOR = 'main';\n\n/**\n * Attribute bag for main creation/enhancement.\n *\n * @remarks\n * Main 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 MainAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link MainAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The main attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: MainAttrs): 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 main 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 * This helper does not enforce document-level semantics (e.g. \"only one `<main>`\")\n * at runtime. That is a document-authoring responsibility.\n *\n * @param text - Optional text content for the main element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<main>` element.\n *\n * @example\n * ```ts\n * import { createMain } from \"@Vastare/Fundatio/elements/layout/main\";\n *\n * document.body.appendChild(\n * createMain(undefined, { id: \"content\", className: \"page-main\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createMain(text?: string, attrs?: MainAttrs): ElementOf<typeof MAIN_TAG> {\n return createElement(MAIN_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance main 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 enhanceMains(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for main.\n void root;\n}\n"],"names":["MAIN_TAG","MAIN_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createMain","text","createElement","enhanceMains","root"],"mappings":"0CAoEaA,EAAW,OAOXC,EAAgB,OA4B7B,SAASC,EAAcC,EAA4C,CACjE,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,CA6BO,SAASE,EAAWC,EAAeL,EAA+C,CACvF,OAAOM,EAAAA,cAAcT,EAAUE,EAAcC,CAAK,EAAGK,CAAI,CAC3D,CAoBO,SAASE,EAAaC,EAAmB,SAAgB,CAGhE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),o="nav",r="nav";function d(n){if(!n)return;const{aria:e,...a}=n;if(!e)return a;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?{...a,aria:t}:a}function l(n,e){return c.createElement(o,d(e),n)}function i(n=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,NAV_SELECTOR:r,NAV_TAG:o,createNav:l,enhanceNavs:i},Symbol.toStringTag,{value:"Module"}));exports.NAV_SELECTOR=r;exports.NAV_TAG=o;exports.createNav=l;exports.enhanceNavs=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index109.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index109.cjs","sources":["../../../src/elements/layout/nav/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Nav element helpers.\n *\n * @remarks\n * The nav element (`<nav>`) represents a section of a page whose purpose is to\n * provide navigation links.\n *\n * Best-practice guidance:\n * - Use `<nav>` for major navigation blocks (site navigation, table of contents).\n * - If a page has multiple navigation regions, provide an accessible name via\n * `aria-label` or `aria-labelledby` so assistive tech can distinguish them.\n * - Avoid nesting `<nav>` elements.\n * - Prefer semantic grouping of links (e.g. lists) inside the nav.\n *\n * Fundatio provides small, framework-agnostic helpers so consumers can:\n * - create navigation regions 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/nav\n * @see https://html.spec.whatwg.org/multipage/sections.html#the-nav-element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * `<nav>` is a landmark with an implicit `navigation` role.\n *\n * Fundatio intentionally encourages naming navigation regions when multiple navs\n * exist on the same page (e.g. primary vs footer vs breadcrumb navigation).\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 nav.\n *\n * @category Constants\n */\nexport const NAV_TAG = 'nav' as const;\n\n/**\n * A CSS selector targeting nav elements.\n *\n * @category Constants\n */\nexport const NAV_SELECTOR = 'nav';\n\n/**\n * Attribute bag for nav creation/enhancement.\n *\n * @remarks\n * Nav elements accept standard HTML global attributes.\n *\n * Accessibility note:\n * - `<nav>` has an implicit landmark role.\n * - The ARIA-in-HTML mapping indicates no explicit `role` is permitted for\n * `<nav>` in normal usage. Fundatio therefore omits `role` from {@link NavAttrs}.\n * Name navs via `aria-label` / `aria-labelledby` instead.\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 NavAttrs = Omit<GlobalAttrs, 'aria' | 'role'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link NavAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The nav attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: NavAttrs): 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 nav 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 nav.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<nav>` element.\n *\n * @example\n * Create a labelled primary navigation region:\n * ```ts\n * import { createNav } from \"@Vastare/Fundatio/elements/layout/nav\";\n *\n * const nav = createNav(undefined, { aria: { label: \"Primary\" }, className: \"site-nav\" });\n * document.body.appendChild(nav);\n * ```\n *\n * @category DOM\n */\nexport function createNav(text?: string, attrs?: NavAttrs): ElementOf<typeof NAV_TAG> {\n return createElement(NAV_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance nav 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 enhanceNavs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for nav.\n void root;\n}\n"],"names":["NAV_TAG","NAV_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createNav","text","createElement","enhanceNavs","root"],"mappings":"0CAkEaA,EAAU,MAOVC,EAAe,MAkC5B,SAASC,EAAcC,EAA2C,CAChE,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,CA0BO,SAASE,EAAUC,EAAeL,EAA6C,CACpF,OAAOM,EAAAA,cAAcT,EAASE,EAAcC,CAAK,EAAGK,CAAI,CAC1D,CAoBO,SAASE,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("./index82.cjs"),t=require("./index83.cjs"),r=require("./index84.cjs"),n=require("./index85.cjs"),o=require("./index86.cjs"),i=require("./index87.cjs"),s=require("./index88.cjs"),m=require("./index89.cjs"),_=require("./index90.cjs"),l=require("./index91.cjs"),u=require("./index92.cjs"),d=require("./index93.cjs"),c=require("./index94.cjs"),f=require("./index95.cjs"),x=Object.freeze(Object.defineProperty({__proto__:null,button:e.index,datalist:t.index,fieldset:r.index,form:n.index,input:o.index,label:i.index,legend:s.index,meter:m.index,optgroup:_.index,option:l.index,output:u.index,progress:d.index,select:c.index,textarea:f.index},Symbol.toStringTag,{value:"Module"}));exports.index=x;
|
|
2
|
+
//# sourceMappingURL=index11.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index11.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const a=require("./dom.cjs"),i="section",c="section";function d(t){if(!t)return;const{aria:e,...o}=t;if(!e)return o;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?{...o,aria:n}:o}function r(t,e){return a.createElement(i,d(e),t)}function l(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,SECTION_SELECTOR:c,SECTION_TAG:i,createSection:r,enhanceSections:l},Symbol.toStringTag,{value:"Module"}));exports.SECTION_SELECTOR=c;exports.SECTION_TAG=i;exports.createSection=r;exports.enhanceSections=l;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index110.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index110.cjs","sources":["../../../src/elements/layout/section/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Section element helpers.\n *\n * @remarks\n * The section element (`<section>`) represents a standalone thematic grouping of\n * content, typically with a heading.\n *\n * Best-practice guidance:\n * - Do not treat `<section>` as a \"semantic `<div>`\". Use it when the content is a\n * distinct theme that belongs in the document outline.\n * - Prefer including a heading (`<h1>`-`<h6>`) that describes the section's purpose.\n * - If you just need a generic container with no semantic meaning, use `<div>`.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create sections in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section\n * - HTML Standard: https://html.spec.whatwg.org/multipage/sections.html#the-section-element\n * - WHATWG blog (context): https://blog.whatwg.org/is-not-just-a-semantic\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 section elements.\n *\n * @category Constants\n */\nexport const SECTION_TAG = 'section' as const;\n\n/**\n * A CSS selector targeting section elements.\n *\n * @category Constants\n */\nexport const SECTION_SELECTOR = 'section';\n\n/**\n * Attribute bag for section creation/enhancement.\n *\n * @remarks\n * Section 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 SectionAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SectionAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The section attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SectionAttrs): 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 section 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 section.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<section>` element.\n *\n * @example\n * ```ts\n * import { createSection } from \"@Vastare/Fundatio/elements/layout/section\";\n *\n * const s = createSection(undefined, { id: \"features\" });\n * document.body.appendChild(s);\n * ```\n *\n * @category DOM\n */\nexport function createSection(text?: string, attrs?: SectionAttrs): ElementOf<typeof SECTION_TAG> {\n return createElement(SECTION_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance section 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 enhanceSections(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for section.\n void root;\n}\n"],"names":["SECTION_TAG","SECTION_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createSection","text","createElement","enhanceSections","root"],"mappings":"0CAiEaA,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAyBO,SAASE,EAAcC,EAAeL,EAAqD,CAChG,OAAOM,EAAAA,cAAcT,EAAaE,EAAcC,CAAK,EAAGK,CAAI,CAC9D,CAoBO,SAASE,EAAgBC,EAAmB,SAAgB,CAGnE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("./index96.cjs"),t=require("./index97.cjs"),i=require("./index98.cjs"),n=Object.freeze(Object.defineProperty({__proto__:null,details:e.index,dialog:t.index,summary:i.index},Symbol.toStringTag,{value:"Module"}));exports.index=n;
|
|
2
|
+
//# sourceMappingURL=index12.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index12.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("./index99.cjs"),r=require("./index100.cjs"),n=require("./index101.cjs"),s=require("./index102.cjs"),t=require("./index103.cjs"),i=Object.freeze(Object.defineProperty({__proto__:null,area:e.index,map:r.index,picture:n.index,source:s.index,track:t.index},Symbol.toStringTag,{value:"Module"}));exports.index=i;
|
|
2
|
+
//# sourceMappingURL=index13.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index13.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("./index104.cjs"),t=require("./index105.cjs"),n=require("./index106.cjs"),i=require("./index107.cjs"),o=require("./index108.cjs"),r=require("./index109.cjs"),l=require("./index110.cjs"),s=Object.freeze(Object.defineProperty({__proto__:null,article:e.index,aside:t.index,footer:n.index,header:i.index,main:o.index,nav:r.index,section:l.index},Symbol.toStringTag,{value:"Module"}));exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index14.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index14.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const d=require("./dom.cjs"),o="div",r="div";function c(t){if(!t)return;const{aria:e,...i}=t;if(!e)return i;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?{...i,aria:n}:i}function l(t,e){return d.createElement(o,c(e),t)}function a(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,DIV_SELECTOR:r,DIV_TAG:o,createDiv:l,enhanceDivs:a},Symbol.toStringTag,{value:"Module"}));exports.DIV_SELECTOR=r;exports.DIV_TAG=o;exports.createDiv=l;exports.enhanceDivs=a;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index15.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index15.cjs","sources":["../../../src/elements/container/div/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Div element helpers.\n *\n * @remarks\n * The div element (`<div>`) is a non-semantic, generic container.\n *\n * Best-practice guidance:\n * - Prefer semantic elements when available (e.g. `<section>`, `<nav>`, `<article>`).\n * - Use `<div>` as a last resort when no semantic element fits.\n * - Avoid obsolete attributes like `align`; use CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create div containers in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for div containers.\n *\n * @category Constants\n */\nexport const DIV_TAG = 'div' as const;\n\n/**\n * A CSS selector targeting div elements.\n *\n * @category Constants\n */\nexport const DIV_SELECTOR = 'div';\n\n/**\n * Attribute bag for div creation/enhancement.\n *\n * @remarks\n * Div 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 DivAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link DivAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The div attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DivAttrs): 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 div 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 div.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<div>` element.\n *\n * @example\n * Create and append a div:\n * ```ts\n * import { createDiv } from \"@Vastare/Fundatio/elements/container/div\";\n *\n * document.body.appendChild(\n * createDiv(\"Hello.\", { className: \"box\", id: \"root\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createDiv(text?: string, attrs?: DivAttrs): ElementOf<typeof DIV_TAG> {\n return createElement(DIV_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance div 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 enhanceDivs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for div.\n void root;\n}\n"],"names":["DIV_TAG","DIV_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createDiv","text","createElement","enhanceDivs","root"],"mappings":"0CA0DaA,EAAU,MAOVC,EAAe,MA4B5B,SAASC,EAAcC,EAA2C,CAChE,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,CA2BO,SAASE,EAAUC,EAAeL,EAA6C,CACpF,OAAOM,EAAAA,cAAcT,EAASE,EAAcC,CAAK,EAAGK,CAAI,CAC1D,CAoBO,SAASE,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),a="span",r="span";function d(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 l(n,e){return c.createElement(a,d(e),n)}function i(n=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,SPAN_SELECTOR:r,SPAN_TAG:a,createSpan:l,enhanceSpans:i},Symbol.toStringTag,{value:"Module"}));exports.SPAN_SELECTOR=r;exports.SPAN_TAG=a;exports.createSpan=l;exports.enhanceSpans=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index16.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index16.cjs","sources":["../../../src/elements/container/span/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Span element helpers.\n *\n * @remarks\n * The `<span>` element is a generic inline container for phrasing content.\n * It has no inherent semantics and should be used only when no more suitable\n * semantic element exists.\n *\n * This module:\n * - Creates `<span>` elements via Fundatio's DOM helpers (no direct DOM calls).\n * - Applies a curated subset of global attributes safely.\n * - Exposes an enhancement hook (currently a no-op) for consistency and\n * potential future progressive enhancements.\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 a small, typed subset intended to prevent typo-driven ARIA bugs and\n * keep the API practical. Values are mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for span.\n *\n * @category Constants\n */\nexport const SPAN_TAG = 'span' as const;\n\n/**\n * A CSS selector targeting span elements.\n *\n * @category Constants\n */\nexport const SPAN_SELECTOR = 'span';\n\n/**\n * Attribute bag for span creation/enhancement.\n *\n * @remarks\n * `<span>` supports HTML global attributes only.\n *\n * Fundatio additionally supports a typed, structured ARIA input that is mapped into\n * {@link GlobalAttrs.aria} without modifying the shared DOM helpers.\n *\n * @category Attributes\n */\nexport type SpanAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SpanAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The span attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SpanAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n return Object.keys(mappedAria).length > 0 ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a span element with optional text content and global attributes.\n *\n * @remarks\n * - Text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper, which enforces:\n * - No inline event handler attributes (e.g. `onclick`)\n * - No raw `style` attribute injection (use the `style` object field)\n * - No empty attribute names\n *\n * @param text - Optional text content for the span.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<span>` element.\n *\n * @category DOM\n */\nexport function createSpan(text?: string, attrs?: SpanAttrs): ElementOf<typeof SPAN_TAG> {\n return createElement(SPAN_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance span elements within a given root.\n *\n * @remarks\n * Intentionally a no-op in `1.0.0`. This exists to provide a stable, consistent\n * integration hook across element modules.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceSpans(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for span.\n void root;\n}\n"],"names":["SPAN_TAG","SPAN_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createSpan","text","createElement","enhanceSpans","root"],"mappings":"0CAmDaA,EAAW,OAOXC,EAAgB,OA4B7B,SAASC,EAAcC,EAA4C,CACjE,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,QAExD,OAAO,KAAKE,CAAU,EAAE,OAAS,EAAI,CAAE,GAAGD,EAAM,KAAMC,CAAA,EAAeD,CAC9E,CAkBO,SAASE,EAAWC,EAAeL,EAA+C,CACvF,OAAOM,EAAAA,cAAcT,EAAUE,EAAcC,CAAK,EAAGK,CAAI,CAC3D,CAaO,SAASE,EAAaC,EAAmB,SAAgB,CAGhE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),o="br",l="br";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 a(t){return c.createVoidElement(o,d(t))}function i(t=document){}const b=Object.freeze(Object.defineProperty({__proto__:null,BR_SELECTOR:l,BR_TAG:o,createBr:a,enhanceBrs:i},Symbol.toStringTag,{value:"Module"}));exports.BR_SELECTOR=l;exports.BR_TAG=o;exports.createBr=a;exports.enhanceBrs=i;exports.index=b;
|
|
2
|
+
//# sourceMappingURL=index17.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index17.cjs","sources":["../../../src/elements/break/br/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Br element helpers.\n *\n * @remarks\n * The br element (`<br>`) represents a line break within phrasing content.\n *\n * Best-practice guidance:\n * - Use `<br>` only for line breaks within text (e.g. poems, addresses).\n * - Do not use `<br>` for layout or spacing. Use CSS instead.\n * - `<br>` is a void element and must not contain text content.\n *\n * This module provides a small, framework-agnostic helper so consumers can:\n * - create line breaks safely in vanilla JS/TS\n * - apply consistent global attributes via Fundatio's hardened DOM helpers\n * - rely on a stable enhancement hook for future evolution\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 { createVoidElement, 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 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 line break elements.\n *\n * @category Constants\n */\nexport const BR_TAG = 'br' as const;\n\n/**\n * A CSS selector targeting br elements.\n *\n * @category Constants\n */\nexport const BR_SELECTOR = 'br';\n\n/**\n * Attribute bag for br creation/enhancement.\n *\n * @remarks\n * `<br>` accepts only global HTML attributes.\n * It does not accept text content and has no element-specific attributes.\n *\n * @category Attributes\n */\nexport type BrAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link BrAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The br attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: BrAttrs): 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 br element with optional global attributes.\n *\n * @remarks\n * - `<br>` is a void element and does not accept text content.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<br>` element.\n *\n * @example\n * ```ts\n * import { createBr } from \"@Vastare/Fundatio/elements/break/br\";\n *\n * paragraph.appendChild(createBr());\n * ```\n *\n * @category DOM\n */\nexport function createBr(attrs?: BrAttrs): ElementOf<typeof BR_TAG> {\n return createVoidElement(BR_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance br elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * It exists to establish a stable enhancement pattern across all elements.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceBrs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for br.\n void root;\n}\n"],"names":["BR_TAG","BR_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createBr","createVoidElement","enhanceBrs","root"],"mappings":"0CA0DaA,EAAS,KAOTC,EAAc,KA0B3B,SAASC,EAAcC,EAA0C,CAC/D,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,CAuBO,SAASE,EAASJ,EAA2C,CAClE,OAAOK,oBAAkBR,EAAQE,EAAcC,CAAK,CAAC,CACvD,CAcO,SAASM,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const b=require("./dom.cjs"),o="wbr",l="wbr";function c(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 a(t){return b.createVoidElement(o,c(t))}function i(t=document){}const d=Object.freeze(Object.defineProperty({__proto__:null,WBR_SELECTOR:l,WBR_TAG:o,createWbr:a,enhanceWbrs:i},Symbol.toStringTag,{value:"Module"}));exports.WBR_SELECTOR=l;exports.WBR_TAG=o;exports.createWbr=a;exports.enhanceWbrs=i;exports.index=d;
|
|
2
|
+
//# sourceMappingURL=index18.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index18.cjs","sources":["../../../src/elements/break/wbr/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Wbr element helpers.\n *\n * @remarks\n * The wbr element (`<wbr>`) represents a word break opportunity.\n *\n * Best-practice guidance:\n * - Use `<wbr>` to suggest optional break points within long words or URLs.\n * - It does not force a line break; the browser decides if a break is needed.\n * - Do not use `<wbr>` for layout or spacing. Use CSS instead.\n * - `<wbr>` is a void element and must not contain text content.\n *\n * This module provides a small, framework-agnostic helper so consumers can:\n * - create word break opportunities safely in vanilla JS/TS\n * - apply consistent global attributes via Fundatio's hardened DOM helpers\n * - rely on a stable enhancement hook for future evolution\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 { createVoidElement, 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 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 word break opportunity elements.\n *\n * @category Constants\n */\nexport const WBR_TAG = 'wbr' as const;\n\n/**\n * A CSS selector targeting wbr elements.\n *\n * @category Constants\n */\nexport const WBR_SELECTOR = 'wbr';\n\n/**\n * Attribute bag for wbr creation/enhancement.\n *\n * @remarks\n * `<wbr>` accepts only global HTML attributes.\n * It does not accept text content and has no element-specific attributes.\n *\n * @category Attributes\n */\nexport type WbrAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link WbrAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The wbr attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: WbrAttrs): 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 wbr element with optional global attributes.\n *\n * @remarks\n * - `<wbr>` is a void element and does not accept text content.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<wbr>` element.\n *\n * @example\n * ```ts\n * import { createWbr } from \"@Vastare/Fundatio/elements/break/wbr\";\n *\n * paragraph.appendChild(createWbr());\n * ```\n *\n * @category DOM\n */\nexport function createWbr(attrs?: WbrAttrs): ElementOf<typeof WBR_TAG> {\n return createVoidElement(WBR_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance wbr elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * It exists to establish a stable enhancement pattern across all elements.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceWbrs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for wbr.\n void root;\n}\n"],"names":["WBR_TAG","WBR_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createWbr","createVoidElement","enhanceWbrs","root"],"mappings":"0CA2DaA,EAAU,MAOVC,EAAe,MA0B5B,SAASC,EAAcC,EAA2C,CAChE,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,CAuBO,SAASE,EAAUJ,EAA6C,CACrE,OAAOK,oBAAkBR,EAASE,EAAcC,CAAK,CAAC,CACxD,CAcO,SAASM,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const _=require("./dom.cjs"),a="img",p="img";function G(i){const{aria:e,alt:o,src:n,srcset:s,sizes:c,width:l,height:f,loading:d,decoding:g,referrerPolicy:b,...I}=i??{},t={...I},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)),Object.keys(r).length>0&&(t.aria=r),t.attrs={...t.attrs??{},alt:typeof o=="string"?o:""};const h=typeof n=="string"&&n.length>0,y=typeof s=="string"&&s.length>0;return h&&(t.attrs.src=n),y&&(t.attrs.srcset=s),c&&(t.attrs.sizes=c),typeof l=="number"&&(t.attrs.width=l),typeof f=="number"&&(t.attrs.height=f),d&&(t.attrs.loading=d),g&&(t.attrs.decoding=g),b&&(t.attrs.referrerpolicy=b),!h&&!y&&(t.attrs.src="data:,"),t}function m(i){return _.createVoidElement(a,G(i))}function u(i=document){}const S=Object.freeze(Object.defineProperty({__proto__:null,IMG_SELECTOR:p,IMG_TAG:a,createImg:m,enhanceImgs:u},Symbol.toStringTag,{value:"Module"}));exports.IMG_SELECTOR=p;exports.IMG_TAG=a;exports.createImg=m;exports.enhanceImgs=u;exports.index=S;
|
|
2
|
+
//# sourceMappingURL=index19.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index19.cjs","sources":["../../../src/elements/media/img/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Img element helpers.\n *\n * @remarks\n * The img element (`<img>`) embeds an image into the document.\n *\n * Best-practice guidance:\n * - The `alt` attribute must always be present.\n * - Use `alt=\"\"` for purely decorative images.\n * - Provide meaningful alternative text for informative images.\n * - Do not rely on images alone to convey critical information.\n *\n * This module enforces:\n * - `alt` always exists (defaults to empty string if not provided)\n * - If neither `src` nor `srcset` is provided, a safe fallback\n * `src=\"data:,\"` is applied to avoid broken network requests\n * - All global attributes are applied via Fundatio's hardened DOM helpers\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 { 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 label?: string;\n labelledby?: string;\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for images.\n *\n * @category Constants\n */\nexport const IMG_TAG = 'img' as const;\n\n/**\n * A CSS selector targeting img elements.\n *\n * @category Constants\n */\nexport const IMG_SELECTOR = 'img';\n\n/**\n * Img-specific attributes.\n *\n * @remarks\n * `alt` is mandatory per HTML specification.\n *\n * @category Attributes\n */\nexport type ImgAttrs = Omit<GlobalAttrs, 'aria'> & {\n alt?: string;\n src?: string;\n srcset?: string;\n sizes?: string;\n width?: number;\n height?: number;\n loading?: 'lazy' | 'eager';\n decoding?: 'sync' | 'async' | 'auto';\n referrerPolicy?: string;\n aria?: StructuredAria;\n};\n\nfunction toGlobalAttrs(attrs?: ImgAttrs): GlobalAttrs {\n const {\n aria,\n alt,\n src,\n srcset,\n sizes,\n width,\n height,\n loading,\n decoding,\n referrerPolicy,\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 mapped.attrs = {\n ...(mapped.attrs ?? {}),\n alt: typeof alt === 'string' ? alt : '',\n };\n\n const hasSrc = typeof src === 'string' && src.length > 0;\n const hasSrcset = typeof srcset === 'string' && srcset.length > 0;\n\n if (hasSrc) mapped.attrs.src = src;\n if (hasSrcset) mapped.attrs.srcset = srcset;\n if (sizes) mapped.attrs.sizes = sizes;\n if (typeof width === 'number') mapped.attrs.width = width;\n if (typeof height === 'number') mapped.attrs.height = height;\n if (loading) mapped.attrs.loading = loading;\n if (decoding) mapped.attrs.decoding = decoding;\n if (referrerPolicy) mapped.attrs.referrerpolicy = referrerPolicy;\n\n if (!hasSrc && !hasSrcset) {\n mapped.attrs.src = 'data:,';\n }\n\n return mapped;\n}\n\n/**\n * Create an img element with enforced accessibility safeguards.\n *\n * @category DOM\n */\nexport function createImg(attrs?: ImgAttrs): ElementOf<typeof IMG_TAG> {\n return createVoidElement(IMG_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance img elements within a given root.\n *\n * @remarks\n * No runtime behaviour in v1.0.0.\n *\n * @category Enhancement\n */\nexport function enhanceImgs(root: ParentNode = document): void {\n void root;\n}\n"],"names":["IMG_TAG","IMG_SELECTOR","toGlobalAttrs","attrs","aria","alt","src","srcset","sizes","width","height","loading","decoding","referrerPolicy","rest","mapped","mappedAria","hasSrc","hasSrcset","createImg","createVoidElement","enhanceImgs","root"],"mappings":"0CA2CaA,EAAU,MAOVC,EAAe,MAuB5B,SAASC,EAAcC,EAA+B,CACpD,KAAM,CACJ,KAAAC,EACA,IAAAC,EACA,IAAAC,EACA,OAAAC,EACA,MAAAC,EACA,MAAAC,EACA,OAAAC,EACA,QAAAC,EACA,SAAAC,EACA,eAAAC,EACA,GAAGC,CAAA,EACDX,GAAS,CAAA,EAEPY,EAAsB,CAAE,GAAGD,CAAA,EAE3BE,EAA+C,CAAA,EAEjDZ,IACE,OAAOA,EAAK,OAAU,WAAUY,EAAW,MAAQZ,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUY,EAAW,WAAaZ,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWY,EAAW,OAASZ,EAAK,SAG7D,OAAO,KAAKY,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,GAGhBD,EAAO,MAAQ,CACb,GAAIA,EAAO,OAAS,CAAA,EACpB,IAAK,OAAOV,GAAQ,SAAWA,EAAM,EAAA,EAGvC,MAAMY,EAAS,OAAOX,GAAQ,UAAYA,EAAI,OAAS,EACjDY,EAAY,OAAOX,GAAW,UAAYA,EAAO,OAAS,EAEhE,OAAIU,IAAQF,EAAO,MAAM,IAAMT,GAC3BY,IAAWH,EAAO,MAAM,OAASR,GACjCC,IAAOO,EAAO,MAAM,MAAQP,GAC5B,OAAOC,GAAU,WAAUM,EAAO,MAAM,MAAQN,GAChD,OAAOC,GAAW,WAAUK,EAAO,MAAM,OAASL,GAClDC,IAASI,EAAO,MAAM,QAAUJ,GAChCC,IAAUG,EAAO,MAAM,SAAWH,GAClCC,IAAgBE,EAAO,MAAM,eAAiBF,GAE9C,CAACI,GAAU,CAACC,IACdH,EAAO,MAAM,IAAM,UAGdA,CACT,CAOO,SAASI,EAAUhB,EAA6C,CACrE,OAAOiB,oBAAkBpB,EAASE,EAAcC,CAAK,CAAC,CACxD,CAUO,SAASkB,EAAYC,EAAmB,SAAgB,CAE/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const m=require("./dom.cjs"),h="svg",u="svg";function x(l){const{aria:e,viewBox:n,width:c,height:d,role:r,tabIndex:f,attrs:v,...S}=l??{},t={...S};r&&(t.role=r);const o={},a=typeof(e==null?void 0:e.label)=="string",b=typeof(e==null?void 0:e.labelledby)=="string",g=typeof(e==null?void 0:e.hidden)=="boolean";a&&(o.label=e.label),b&&(o.labelledby=e.labelledby),g&&(o.hidden=e.hidden);const s=!a&&!b;s&&!g&&(o.hidden=!0),Object.keys(o).length>0&&(t.aria=o),!s&&!r&&(t.role="img"),typeof f=="number"?t.tabIndex=f:s&&(t.tabIndex=-1);const i={...v??{}};return s&&(i.focusable="false"),n&&(i.viewBox=n),c!==void 0&&(i.width=c),d!==void 0&&(i.height=d),Object.keys(i).length>0&&(t.attrs=i),t}function p(l,e){const n=document.createElement("svg");return m.applyGlobalAttrs(n,x(e)),typeof l=="string"&&(n.textContent=l),n}function y(l=document){}const A=Object.freeze(Object.defineProperty({__proto__:null,SVG_SELECTOR:u,SVG_TAG:h,createSvg:p,enhanceSvgs:y},Symbol.toStringTag,{value:"Module"}));exports.SVG_SELECTOR=u;exports.SVG_TAG=h;exports.createSvg=p;exports.enhanceSvgs=y;exports.index=A;
|
|
2
|
+
//# sourceMappingURL=index20.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index20.cjs","sources":["../../../src/elements/media/svg/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Svg element helpers.\n *\n * @remarks\n * The svg element (`<svg>`) defines scalable vector graphics.\n *\n * Fundatio enforces:\n * - Default decorative behaviour:\n * - aria-hidden=\"true\"\n * - tabIndex = -1\n * - focusable=\"false\"\n * - If aria.label or aria.labelledby is provided:\n * - role=\"img\" is added (unless explicitly set)\n * - Explicit overrides for role, aria-hidden and tabIndex are respected.\n *\n * @module\n * @category Elements\n */\n\nimport { applyGlobalAttrs, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input.\n */\nexport type StructuredAria = {\n label?: string;\n labelledby?: string;\n hidden?: boolean;\n};\n\nexport const SVG_TAG = 'svg';\nexport const SVG_SELECTOR = 'svg';\n\nexport type SvgAttrs = Omit<GlobalAttrs, 'aria'> & {\n viewBox?: string;\n width?: number | string;\n height?: number | string;\n aria?: StructuredAria;\n};\n\nfunction toGlobalAttrs(attrs?: SvgAttrs): GlobalAttrs {\n const { aria, viewBox, width, height, role, tabIndex, attrs: rawAttrs, ...rest } = attrs ?? {};\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Preserve explicit role\n if (role) {\n mapped.role = role;\n }\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n const hasLabel = typeof aria?.label === 'string';\n const hasLabelledby = typeof aria?.labelledby === 'string';\n const explicitAriaHidden = typeof aria?.hidden === 'boolean';\n\n if (hasLabel) mappedAria.label = aria.label!;\n if (hasLabelledby) mappedAria.labelledby = aria.labelledby!;\n if (explicitAriaHidden) mappedAria.hidden = aria.hidden!;\n\n const isDecorative = !hasLabel && !hasLabelledby;\n\n if (isDecorative && !explicitAriaHidden) {\n mappedAria.hidden = true;\n }\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n // Only auto-assign role if user did not provide one\n if (!isDecorative && !role) {\n mapped.role = 'img';\n }\n\n if (typeof tabIndex === 'number') {\n mapped.tabIndex = tabIndex;\n } else if (isDecorative) {\n mapped.tabIndex = -1;\n }\n\n // Merge user attrs with internal attrs\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = {\n ...(rawAttrs ?? {}),\n };\n\n if (isDecorative) {\n mergedAttrs.focusable = 'false';\n }\n\n if (viewBox) mergedAttrs.viewBox = viewBox;\n if (width !== undefined) mergedAttrs.width = width;\n if (height !== undefined) mergedAttrs.height = height;\n\n if (Object.keys(mergedAttrs).length > 0) {\n mapped.attrs = mergedAttrs;\n }\n\n return mapped;\n}\n\n/**\n * Create an SVG element with accessibility defaults.\n */\nexport function createSvg(text?: string, attrs?: SvgAttrs): SVGSVGElement {\n const el = document.createElement('svg') as unknown as SVGSVGElement;\n\n applyGlobalAttrs(el as unknown as HTMLElement, toGlobalAttrs(attrs));\n\n if (typeof text === 'string') {\n el.textContent = text;\n }\n\n return el;\n}\n\n/**\n * No-op enhancement hook.\n */\nexport function enhanceSvgs(root: ParentNode = document): void {\n void root;\n}\n"],"names":["SVG_TAG","SVG_SELECTOR","toGlobalAttrs","attrs","aria","viewBox","width","height","role","tabIndex","rawAttrs","rest","mapped","mappedAria","hasLabel","hasLabelledby","explicitAriaHidden","isDecorative","mergedAttrs","createSvg","text","el","applyGlobalAttrs","enhanceSvgs","root"],"mappings":"0CA8BaA,EAAU,MACVC,EAAe,MAS5B,SAASC,EAAcC,EAA+B,CACpD,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,EAAO,OAAAC,EAAQ,KAAAC,EAAM,SAAAC,EAAU,MAAOC,EAAU,GAAGC,CAAA,EAASR,GAAS,CAAA,EAEtFS,EAAsB,CAAE,GAAGD,CAAA,EAG7BH,IACFI,EAAO,KAAOJ,GAGhB,MAAMK,EAA+C,CAAA,EAE/CC,EAAW,OAAOV,GAAA,YAAAA,EAAM,QAAU,SAClCW,EAAgB,OAAOX,GAAA,YAAAA,EAAM,aAAe,SAC5CY,EAAqB,OAAOZ,GAAA,YAAAA,EAAM,SAAW,UAE/CU,IAAUD,EAAW,MAAQT,EAAK,OAClCW,IAAeF,EAAW,WAAaT,EAAK,YAC5CY,IAAoBH,EAAW,OAAST,EAAK,QAEjD,MAAMa,EAAe,CAACH,GAAY,CAACC,EAE/BE,GAAgB,CAACD,IACnBH,EAAW,OAAS,IAGlB,OAAO,KAAKA,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,GAIZ,CAACI,GAAgB,CAACT,IACpBI,EAAO,KAAO,OAGZ,OAAOH,GAAa,SACtBG,EAAO,SAAWH,EACTQ,IACTL,EAAO,SAAW,IAIpB,MAAMM,EAAiD,CACrD,GAAIR,GAAY,CAAA,CAAC,EAGnB,OAAIO,IACFC,EAAY,UAAY,SAGtBb,MAAqB,QAAUA,GAC/BC,IAAU,SAAWY,EAAY,MAAQZ,GACzCC,IAAW,SAAWW,EAAY,OAASX,GAE3C,OAAO,KAAKW,CAAW,EAAE,OAAS,IACpCN,EAAO,MAAQM,GAGVN,CACT,CAKO,SAASO,EAAUC,EAAejB,EAAiC,CACxE,MAAMkB,EAAK,SAAS,cAAc,KAAK,EAEvCC,OAAAA,EAAAA,iBAAiBD,EAA8BnB,EAAcC,CAAK,CAAC,EAE/D,OAAOiB,GAAS,WAClBC,EAAG,YAAcD,GAGZC,CACT,CAKO,SAASE,EAAYC,EAAmB,SAAgB,CAE/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const p=require("./dom.cjs"),d="math",a="math";function y(l){const{aria:e,display:t,attrs:b,tabIndex:r,...f}=l??{},o={...f},n={};typeof(e==null?void 0:e.label)=="string"&&(n.label=e.label),typeof(e==null?void 0:e.labelledby)=="string"&&(n.labelledby=e.labelledby),typeof(e==null?void 0:e.hidden)=="boolean"?n.hidden=e.hidden:n.hidden=!0,Object.keys(n).length>0&&(o.aria=n),typeof r=="number"?o.tabIndex=r:o.tabIndex=-1;const i={...b??{}};return t&&(i.display=t),Object.keys(i).length>0&&(o.attrs=i),o}function s(l,e){const t=document.createElement(d);return p.applyGlobalAttrs(t,y(e)),typeof l=="string"&&(t.textContent=l),t}function c(l=document){}const h=Object.freeze(Object.defineProperty({__proto__:null,MATH_SELECTOR:a,MATH_TAG:d,createMath:s,enhanceMath:c},Symbol.toStringTag,{value:"Module"}));exports.MATH_SELECTOR=a;exports.MATH_TAG=d;exports.createMath=s;exports.enhanceMath=c;exports.index=h;
|
|
2
|
+
//# sourceMappingURL=index21.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index21.cjs","sources":["../../../src/elements/media/math/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Math element helpers.\n *\n * @remarks\n * The MathML math element (`<math>`) represents mathematical notation.\n *\n * Best-practice guidance:\n * - Prefer real MathML over images for math content when possible.\n * - Use `display=\"block\"` for standalone equations; inline math remains the default.\n * - Do not rely on raw attribute injection for behavior; keep markup semantic.\n *\n * Accessibility defaults for Fundatio v1.0.0:\n * - `<math>` is treated as decorative by default:\n * - `aria-hidden=\"true\"`\n * - `tabIndex = -1`\n * - If consumers provide explicit overrides (e.g. `aria.hidden`, `tabIndex`), Fundatio\n * respects them.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create MathML roots in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { applyGlobalAttrs, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for MathML roots.\n *\n * @category Constants\n */\nexport const MATH_TAG = 'math' as const;\n\n/**\n * A CSS selector targeting math elements.\n *\n * @category Constants\n */\nexport const MATH_SELECTOR = 'math';\n\n/**\n * Attribute bag for math creation/enhancement.\n *\n * @remarks\n * MathML `<math>` supports the `display` attribute:\n * - `inline` (default)\n * - `block`\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type MathAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * MathML display mode.\n *\n * @remarks\n * `block` renders as a block-level equation, `inline` renders inline.\n */\n display?: 'block' | 'inline';\n};\n\n/**\n * Normalize {@link MathAttrs} into {@link GlobalAttrs} for `dom.ts`,\n * applying Fundatio's MathML accessibility defaults.\n *\n * @param attrs - The math attributes.\n * @returns A {@link GlobalAttrs} object (always returned to support defaults).\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: MathAttrs): GlobalAttrs {\n const { aria, display, attrs: rawAttrs, tabIndex, ...rest } = attrs ?? {};\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Decorative by default, unless explicitly overridden.\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria?.label === 'string') mappedAria.label = aria.label;\n if (typeof aria?.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n\n const explicitAriaHidden = typeof aria?.hidden === 'boolean';\n if (explicitAriaHidden) {\n mappedAria.hidden = aria.hidden!;\n } else {\n mappedAria.hidden = true;\n }\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n if (typeof tabIndex === 'number') {\n mapped.tabIndex = tabIndex;\n } else {\n mapped.tabIndex = -1;\n }\n\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rawAttrs ?? {}) };\n\n if (display) mergedAttrs.display = display;\n\n if (Object.keys(mergedAttrs).length > 0) {\n mapped.attrs = mergedAttrs;\n }\n\n return mapped;\n}\n\n/**\n * Create a MathML `<math>` element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * Note: `<math>` is not part of {@link HTMLElementTagNameMap}, so Fundatio creates it\n * via `document.createElement(\"math\")` and narrows the type to {@link MathMLElement}.\n *\n * @param text - Optional text content for the math element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<math>` element.\n *\n * @category DOM\n */\nexport function createMath(text?: string, attrs?: MathAttrs): MathMLElement {\n const el = document.createElement(MATH_TAG) as unknown as MathMLElement;\n\n applyGlobalAttrs(el as unknown as HTMLElement, toGlobalAttrs(attrs));\n\n if (typeof text === 'string') (el as unknown as Node).textContent = text;\n\n return el;\n}\n\n/**\n * Enhance math elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceMath(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for math.\n void root;\n}\n"],"names":["MATH_TAG","MATH_SELECTOR","toGlobalAttrs","attrs","aria","display","rawAttrs","tabIndex","rest","mapped","mappedAria","mergedAttrs","createMath","text","el","applyGlobalAttrs","enhanceMath","root"],"mappings":"0CAiEaA,EAAW,OAOXC,EAAgB,OAuC7B,SAASC,EAAcC,EAAgC,CACrD,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAOC,EAAU,SAAAC,EAAU,GAAGC,GAASL,GAAS,CAAA,EAEjEM,EAAsB,CAAE,GAAGD,CAAA,EAG3BE,EAA+C,CAAA,EAEjD,OAAON,GAAA,YAAAA,EAAM,QAAU,WAAUM,EAAW,MAAQN,EAAK,OACzD,OAAOA,GAAA,YAAAA,EAAM,aAAe,WAAUM,EAAW,WAAaN,EAAK,YAE5C,OAAOA,GAAA,YAAAA,EAAM,SAAW,UAEjDM,EAAW,OAASN,EAAK,OAEzBM,EAAW,OAAS,GAGlB,OAAO,KAAKA,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,GAGZ,OAAOH,GAAa,SACtBE,EAAO,SAAWF,EAElBE,EAAO,SAAW,GAGpB,MAAME,EAAiD,CAAE,GAAIL,GAAY,EAAC,EAE1E,OAAID,MAAqB,QAAUA,GAE/B,OAAO,KAAKM,CAAW,EAAE,OAAS,IACpCF,EAAO,MAAQE,GAGVF,CACT,CAoBO,SAASG,EAAWC,EAAeV,EAAkC,CAC1E,MAAMW,EAAK,SAAS,cAAcd,CAAQ,EAE1Ce,OAAAA,EAAAA,iBAAiBD,EAA8BZ,EAAcC,CAAK,CAAC,EAE/D,OAAOU,GAAS,WAAWC,EAAuB,YAAcD,GAE7DC,CACT,CAoBO,SAASE,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const f=require("./dom.cjs"),l="canvas",s="canvas";function b(n){if(!n)return;const{aria:e,width:r,height:a,...d}=n,t={...d},o={};return typeof(e==null?void 0:e.label)=="string"&&(o.label=e.label),typeof(e==null?void 0:e.labelledby)=="string"&&(o.labelledby=e.labelledby),typeof(e==null?void 0:e.hidden)=="boolean"&&(o.hidden=e.hidden),Object.keys(o).length>0&&(t.aria=o),(typeof r=="number"||typeof a=="number")&&(t.attrs={...t.attrs??{}},typeof r=="number"&&(t.attrs.width=r),typeof a=="number"&&(t.attrs.height=a)),t}function i(n,e){return f.createElement(l,b(e),n)}function c(n=document){}const u=Object.freeze(Object.defineProperty({__proto__:null,CANVAS_SELECTOR:s,CANVAS_TAG:l,createCanvas:i,enhanceCanvases:c},Symbol.toStringTag,{value:"Module"}));exports.CANVAS_SELECTOR=s;exports.CANVAS_TAG=l;exports.createCanvas=i;exports.enhanceCanvases=c;exports.index=u;
|
|
2
|
+
//# sourceMappingURL=index22.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index22.cjs","sources":["../../../src/elements/media/canvas/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Canvas element helpers.\n *\n * @remarks\n * The canvas element (`<canvas>`) provides a scriptable drawing surface.\n *\n * Best-practice guidance:\n * - Prefer setting `width` and `height` attributes (not only CSS sizing) to avoid\n * rendering distortion from bitmap scaling.\n * - Provide meaningful fallback content where appropriate (e.g. a short text\n * alternative) as the canvas element can represent its fallback content in\n * non-visual/unsupported contexts.\n * - If the canvas conveys information, ensure it is labeled accessibly (e.g.\n * via `aria-label` / `aria-labelledby`) and that equivalent information is\n * available outside the canvas where needed.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create canvas elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for canvas.\n *\n * @category Constants\n */\nexport const CANVAS_TAG = 'canvas' as const;\n\n/**\n * A CSS selector targeting canvas elements.\n *\n * @category Constants\n */\nexport const CANVAS_SELECTOR = 'canvas';\n\n/**\n * Attribute bag for canvas creation/enhancement.\n *\n * @remarks\n * Canvas supports:\n * - standard HTML global attributes\n * - `width` and `height` attributes for bitmap sizing\n * - structured ARIA input mapped into `aria-*`\n *\n * @category Attributes\n */\nexport type CanvasAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Bitmap width (in CSS pixels) for the canvas drawing surface.\n *\n * @remarks\n * Prefer this over CSS-only sizing to avoid scaling distortion.\n */\n width?: number;\n\n /**\n * Bitmap height (in CSS pixels) for the canvas drawing surface.\n *\n * @remarks\n * Prefer this over CSS-only sizing to avoid scaling distortion.\n */\n height?: number;\n};\n\n/**\n * Normalize {@link CanvasAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The canvas attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: CanvasAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, width, height, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria?.label === 'string') mappedAria.label = aria.label;\n if (typeof aria?.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria?.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) mapped.aria = mappedAria;\n\n // Canvas-specific attributes are routed via the safe attrs escape hatch.\n if (typeof width === 'number' || typeof height === 'number') {\n mapped.attrs = { ...(mapped.attrs ?? {}) };\n\n if (typeof width === 'number') mapped.attrs.width = width;\n if (typeof height === 'number') mapped.attrs.height = height;\n }\n\n return mapped;\n}\n\n/**\n * Create a canvas element with optional fallback text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - `width` and `height` (if provided) are applied as attributes via the safe\n * attribute path in `dom.ts`.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional fallback text content for the canvas.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<canvas>` element.\n *\n * @example\n * Create a 300x150 canvas with a label:\n * ```ts\n * import { createCanvas } from \"@Vastare/Fundatio/elements/media/canvas\";\n *\n * const el = createCanvas(undefined, {\n * width: 300,\n * height: 150,\n * aria: { label: \"Sparkline chart\" },\n * });\n * ```\n *\n * @category DOM\n */\nexport function createCanvas(text?: string, attrs?: CanvasAttrs): ElementOf<typeof CANVAS_TAG> {\n return createElement(CANVAS_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance canvas elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceCanvases(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for canvas.\n void root;\n}\n"],"names":["CANVAS_TAG","CANVAS_SELECTOR","toGlobalAttrs","attrs","aria","width","height","rest","mapped","mappedAria","createCanvas","text","createElement","enhanceCanvases","root"],"mappings":"0CA+DaA,EAAa,SAObC,EAAkB,SA4C/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,OAAAC,EAAQ,GAAGC,GAASJ,EAEnCK,EAAsB,CAAE,GAAGD,CAAA,EAE3BE,EAA+C,CAAA,EACrD,OAAI,OAAOL,GAAA,YAAAA,EAAM,QAAU,WAAUK,EAAW,MAAQL,EAAK,OACzD,OAAOA,GAAA,YAAAA,EAAM,aAAe,WAAUK,EAAW,WAAaL,EAAK,YACnE,OAAOA,GAAA,YAAAA,EAAM,SAAW,YAAWK,EAAW,OAASL,EAAK,QAE5D,OAAO,KAAKK,CAAU,EAAE,OAAS,MAAU,KAAOA,IAGlD,OAAOJ,GAAU,UAAY,OAAOC,GAAW,YACjDE,EAAO,MAAQ,CAAE,GAAIA,EAAO,OAAS,CAAA,CAAC,EAElC,OAAOH,GAAU,WAAUG,EAAO,MAAM,MAAQH,GAChD,OAAOC,GAAW,WAAUE,EAAO,MAAM,OAASF,IAGjDE,CACT,CA+BO,SAASE,EAAaC,EAAeR,EAAmD,CAC7F,OAAOS,EAAAA,cAAcZ,EAAYE,EAAcC,CAAK,EAAGQ,CAAI,CAC7D,CAoBO,SAASE,EAAgBC,EAAmB,SAAgB,CAGnE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const j=require("./dom.cjs"),l="iframe",d="iframe";function x(r){if(!r)return;const{aria:t,src:h,srcdoc:u,name:p,sandbox:y,allow:m,allowFullScreen:g,loading:A,referrerPolicy:E,width:F,height:I,fetchPriority:O,csp:_,credentialless:w,...a}=r,o={...a.attrs??{}},e=(c,s)=>{s!==void 0&&(Object.prototype.hasOwnProperty.call(o,c)||(o[c]=s))};e("src",h),e("srcdoc",u),e("name",p),e("sandbox",y),e("allow",m),e("loading",A),e("referrerpolicy",E),e("width",F),e("height",I),e("fetchpriority",O),e("csp",_),g===!0&&e("allowfullscreen",""),w===!0&&e("credentialless","");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 M=Object.keys(n).length>0,R=Object.keys(o).length>0,i={...a};return R&&(i.attrs=o),M&&(i.aria=n),i}function f(r,t){return j.createElement(l,x(t),r)}function b(r=document){}const S=Object.freeze(Object.defineProperty({__proto__:null,IFRAME_SELECTOR:d,IFRAME_TAG:l,createIFrame:f,enhanceIFrames:b},Symbol.toStringTag,{value:"Module"}));exports.IFRAME_SELECTOR=d;exports.IFRAME_TAG=l;exports.createIFrame=f;exports.enhanceIFrames=b;exports.index=S;
|
|
2
|
+
//# sourceMappingURL=index23.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index23.cjs","sources":["../../../src/elements/media/iframe/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: IFrame element helpers.\n *\n * @remarks\n * The iframe element (`<iframe>`) embeds another HTML page into the current page.\n *\n * Best-practice guidance:\n * - Prefer `<iframe>` only when you truly need third-party or isolated documents.\n * - Consider `loading=\"lazy\"` for non-critical iframes to reduce initial load cost.\n * - Use `sandbox` with the least permissions possible when embedding untrusted content.\n * - Prefer restrictive `referrerpolicy` when embedding third-party content.\n * - Provide a meaningful `title` for accessibility (screen readers use it to identify the frame).\n * - Avoid obsolete attributes like `frameborder`; use CSS instead.\n *\n * Security notes:\n * - `srcdoc` embeds HTML directly. Fundatio does not sanitize or validate it.\n * If you build `srcdoc` from untrusted input, that is on you (and your incident report).\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create iframes in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs, type AttrValue } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for iframe embeds.\n *\n * @category Constants\n */\nexport const IFRAME_TAG = 'iframe' as const;\n\n/**\n * A CSS selector targeting iframe elements.\n *\n * @category Constants\n */\nexport const IFRAME_SELECTOR = 'iframe';\n\n/**\n * Allowed values for the iframe `loading` attribute.\n *\n * @category Types\n */\nexport type IFrameLoading = 'eager' | 'lazy';\n\n/**\n * Allowed values for the iframe `referrerpolicy` attribute.\n *\n * @category Types\n */\nexport type IFrameReferrerPolicy =\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url';\n\n/**\n * Allowed values for the `fetchpriority` attribute.\n *\n * @category Types\n */\nexport type FetchPriority = 'high' | 'low' | 'auto';\n\n/**\n * Attribute bag for iframe creation/enhancement.\n *\n * @remarks\n * Iframes accept standard HTML global attributes plus iframe-specific attributes.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type IFrameAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Address of the document to embed.\n */\n src?: string;\n\n /**\n * Inline HTML to render within the iframe.\n *\n * @remarks\n * Fundatio does not sanitize `srcdoc`.\n */\n srcdoc?: string;\n\n /**\n * A name for the browsing context.\n */\n name?: string;\n\n /**\n * A space-separated list of sandbox tokens.\n *\n * @remarks\n * Use the least permissive sandbox you can.\n */\n sandbox?: string;\n\n /**\n * Permissions policy for the iframe (previously \"feature policy\").\n *\n * @remarks\n * Example: `allow=\"fullscreen; geolocation 'none'\"`.\n */\n allow?: string;\n\n /**\n * Whether fullscreen is allowed.\n *\n * @remarks\n * Mirrors the `allowfullscreen` boolean attribute.\n */\n allowFullScreen?: boolean;\n\n /**\n * Whether the iframe should be loaded lazily or eagerly.\n */\n loading?: IFrameLoading;\n\n /**\n * Referrer policy for requests made by the iframe.\n */\n referrerPolicy?: IFrameReferrerPolicy;\n\n /**\n * Display width, in CSS pixels.\n */\n width?: number | string;\n\n /**\n * Display height, in CSS pixels.\n */\n height?: number | string;\n\n /**\n * Fetch priority hint.\n */\n fetchPriority?: FetchPriority;\n\n /**\n * Content Security Policy to apply to the embedded document.\n *\n * @remarks\n * Support varies by browser and context.\n */\n csp?: string;\n\n /**\n * Whether to use a credentialless iframe (privacy-oriented isolation).\n *\n * @remarks\n * Mirrors the `credentialless` boolean attribute where supported.\n */\n credentialless?: boolean;\n};\n\n/**\n * Normalize {@link IFrameAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The iframe attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: IFrameAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n src,\n srcdoc,\n name,\n sandbox,\n allow,\n allowFullScreen,\n loading,\n referrerPolicy,\n width,\n height,\n fetchPriority,\n csp,\n credentialless,\n ...rest\n } = attrs;\n\n // Start with any caller-provided attrs escape hatch (it is still validated by dom.ts).\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n // Helper: only set if caller didn't already set the raw attribute explicitly.\n const setIfUnset = (key: string, value: AttrValue | undefined): void => {\n if (value === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = value;\n };\n\n setIfUnset('src', src);\n setIfUnset('srcdoc', srcdoc);\n setIfUnset('name', name);\n setIfUnset('sandbox', sandbox);\n setIfUnset('allow', allow);\n setIfUnset('loading', loading);\n setIfUnset('referrerpolicy', referrerPolicy);\n setIfUnset('width', width);\n setIfUnset('height', height);\n setIfUnset('fetchpriority', fetchPriority);\n setIfUnset('csp', csp);\n\n // Boolean attributes are represented by presence. We set empty-string when true.\n if (allowFullScreen === true) setIfUnset('allowfullscreen', '');\n if (credentialless === true) setIfUnset('credentialless', '');\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n\n const next: GlobalAttrs = { ...rest };\n if (hasMergedAttrs) next.attrs = mergedAttrs;\n if (hasMappedAria) next.aria = mappedAria;\n\n return next;\n}\n\n/**\n * Create an iframe element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional fallback text content for the iframe (rarely used, but valid).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<iframe>` element.\n *\n * @example\n * ```ts\n * import { createIFrame } from \"@Vastare/Fundatio/elements/media/iframe\";\n *\n * document.body.appendChild(\n * createIFrame(undefined, {\n * title: \"Embedded map\",\n * src: \"https://example.com/map\",\n * loading: \"lazy\",\n * sandbox: \"allow-scripts allow-same-origin\"\n * })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createIFrame(text?: string, attrs?: IFrameAttrs): ElementOf<typeof IFRAME_TAG> {\n return createElement(IFRAME_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance iframe elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceIFrames(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for iframe.\n void root;\n}\n"],"names":["IFRAME_TAG","IFRAME_SELECTOR","toGlobalAttrs","attrs","aria","src","srcdoc","name","sandbox","allow","allowFullScreen","loading","referrerPolicy","width","height","fetchPriority","csp","credentialless","rest","mergedAttrs","setIfUnset","key","value","mappedAria","hasMappedAria","hasMergedAttrs","next","createIFrame","text","createElement","enhanceIFrames","root"],"mappings":"0CAiEaA,EAAa,SAObC,EAAkB,SA4I/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CACJ,KAAAC,EACA,IAAAC,EACA,OAAAC,EACA,KAAAC,EACA,QAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,QAAAC,EACA,eAAAC,EACA,MAAAC,EACA,OAAAC,EACA,cAAAC,EACA,IAAAC,EACA,eAAAC,EACA,GAAGC,CAAA,EACDf,EAGEgB,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAG9DE,EAAa,CAACC,EAAaC,IAAuC,CAClEA,IAAU,SACV,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAEAF,EAAW,MAAOf,CAAG,EACrBe,EAAW,SAAUd,CAAM,EAC3Bc,EAAW,OAAQb,CAAI,EACvBa,EAAW,UAAWZ,CAAO,EAC7BY,EAAW,QAASX,CAAK,EACzBW,EAAW,UAAWT,CAAO,EAC7BS,EAAW,iBAAkBR,CAAc,EAC3CQ,EAAW,QAASP,CAAK,EACzBO,EAAW,SAAUN,CAAM,EAC3BM,EAAW,gBAAiBL,CAAa,EACzCK,EAAW,MAAOJ,CAAG,EAGjBN,IAAoB,IAAMU,EAAW,kBAAmB,EAAE,EAC1DH,IAAmB,IAAMG,EAAW,iBAAkB,EAAE,EAE5D,MAAMG,EAA+C,CAAA,EACjDnB,IACE,OAAOA,EAAK,OAAU,WAAUmB,EAAW,MAAQnB,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUmB,EAAW,WAAanB,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWmB,EAAW,OAASnB,EAAK,SAGjE,MAAMoB,EAAgB,OAAO,KAAKD,CAAU,EAAE,OAAS,EACjDE,EAAiB,OAAO,KAAKN,CAAW,EAAE,OAAS,EAEnDO,EAAoB,CAAE,GAAGR,CAAA,EAC/B,OAAIO,MAAqB,MAAQN,GAC7BK,MAAoB,KAAOD,GAExBG,CACT,CA+BO,SAASC,EAAaC,EAAezB,EAAmD,CAC7F,OAAO0B,EAAAA,cAAc7B,EAAYE,EAAcC,CAAK,EAAGyB,CAAI,CAC7D,CAoBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const E=require("./dom.cjs"),o="embed",f="embed";function c(e,t){if(e==null)return;if(typeof e=="number"){if(!Number.isFinite(e)||e<0)throw new Error(`Invalid ${t}: must be a finite, non-negative number.`);return String(Math.floor(e))}const r=String(e).trim();if(r.length!==0){if(r.includes("%"))throw new Error(`Invalid ${t}: percentages are not allowed for <embed> ${t}.`);if(!/^\d+$/.test(r))throw new Error(`Invalid ${t}: must be a non-negative integer (CSS pixels).`);return r}}function y(e){if(!e)return;const{aria:t,src:r,type:i,width:h,height:g,attrs:m,...p}=e,l=t?(()=>{const n={};return typeof t.label=="string"&&(n.label=t.label),typeof t.labelledby=="string"&&(n.labelledby=t.labelledby),typeof t.hidden=="boolean"&&(n.hidden=t.hidden),Object.keys(n).length>0?n:void 0})():void 0,d=c(h,"width"),s=c(g,"height"),a=(()=>{const n={...m??{}};return typeof r=="string"&&r.length>0&&(n.src=r),typeof i=="string"&&i.length>0&&(n.type=i),typeof d=="string"&&(n.width=d),typeof s=="string"&&(n.height=s),Object.keys(n).length>0?n:void 0})();return{...p,...l?{aria:l}:null,...a?{attrs:a}:null}}function b(e){return E.createVoidElement(o,y(e))}function u(e=document){}const w=Object.freeze(Object.defineProperty({__proto__:null,EMBED_SELECTOR:f,EMBED_TAG:o,createEmbed:b,enhanceEmbeds:u},Symbol.toStringTag,{value:"Module"}));exports.EMBED_SELECTOR=f;exports.EMBED_TAG=o;exports.createEmbed=b;exports.enhanceEmbeds=u;exports.index=w;
|
|
2
|
+
//# sourceMappingURL=index24.cjs.map
|