@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":"index24.cjs","sources":["../../../src/elements/media/embed/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Embed element helpers.\n *\n * @remarks\n * The embed element (`<embed>`) embeds external content at a point in the\n * document. Historically this was often browser plug-ins; modern browsers have\n * largely removed plug-in support, so relying on `<embed>` is frequently a poor\n * choice for general-purpose sites. Prefer purpose-built elements when possible\n * (e.g. `<img>`, `<video>`, `<audio>`, `<iframe>`, or `<object>` depending on the use case).\n *\n * Best-practice guidance:\n * - Prefer native elements over `<embed>` when there is a semantic alternative.\n * - Use the `title` attribute to label embedded content for assistive technology.\n * - `width`/`height` should be absolute pixel values (no percentages).\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create embed nodes in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport {\n createVoidElement,\n type AttrValue,\n type ElementOf,\n type GlobalAttrs,\n} from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for embed.\n *\n * @category Constants\n */\nexport const EMBED_TAG = 'embed' as const;\n\n/**\n * A CSS selector targeting embed elements.\n *\n * @category Constants\n */\nexport const EMBED_SELECTOR = 'embed';\n\n/**\n * Attribute bag for embed creation/enhancement.\n *\n * @remarks\n * `<embed>` supports global attributes plus:\n * - `src` (URL)\n * - `type` (MIME type)\n * - `width` / `height` (absolute pixel values; percentages are invalid)\n *\n * Accessibility:\n * - Provide a `title` (global attribute) to label the embedded content.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, mapped into\n * `aria-*` attributes.\n *\n * @category Attributes\n */\nexport type EmbedAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * URL of the resource being embedded.\n */\n src?: string;\n\n /**\n * MIME type used to select the appropriate handler.\n */\n type?: string;\n\n /**\n * Displayed width in CSS pixels (absolute; percentages are not allowed).\n */\n width?: number | string;\n\n /**\n * Displayed height in CSS pixels (absolute; percentages are not allowed).\n */\n height?: number | string;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize an HTML dimension attribute value.\n *\n * @remarks\n * MDN notes `width`/`height` must be absolute values (percentages are invalid).\n * HTML attribute values for these are effectively numeric pixel counts.\n *\n * @param v - The provided dimension.\n * @param name - Attribute name for error messages.\n * @returns A stringified non-negative integer, or `undefined` if not provided.\n *\n * @category Internal\n */\nfunction normalizeDim(v: EmbedAttrs['width'], name: 'width' | 'height'): string | undefined {\n if (v === undefined || v === null) return undefined;\n\n if (typeof v === 'number') {\n if (!Number.isFinite(v) || v < 0) {\n throw new Error(`Invalid ${name}: must be a finite, non-negative number.`);\n }\n // HTML width/height attributes are integer-like; normalize safely.\n return String(Math.floor(v));\n }\n\n const s = String(v).trim();\n\n if (s.length === 0) return undefined;\n\n if (s.includes('%')) {\n throw new Error(`Invalid ${name}: percentages are not allowed for <embed> ${name}.`);\n }\n\n if (!/^\\d+$/.test(s)) {\n throw new Error(`Invalid ${name}: must be a non-negative integer (CSS pixels).`);\n }\n\n return s;\n}\n\n/**\n * Normalize {@link EmbedAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The embed attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: EmbedAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, src, type, width, height, attrs: extraAttrs, ...rest } = attrs;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> | undefined = aria\n ? (() => {\n const a: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') a.label = aria.label;\n if (typeof aria.labelledby === 'string') a.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') a.hidden = aria.hidden;\n return Object.keys(a).length > 0 ? a : undefined;\n })()\n : undefined;\n\n const w = normalizeDim(width, 'width');\n const h = normalizeDim(height, 'height');\n\n const mergedAttrs: Record<string, AttrValue> | undefined = (() => {\n const a: Record<string, AttrValue> = { ...(extraAttrs ?? {}) };\n\n if (typeof src === 'string' && src.length > 0) a.src = src;\n if (typeof type === 'string' && type.length > 0) a.type = type;\n\n if (typeof w === 'string') a.width = w;\n if (typeof h === 'string') a.height = h;\n\n return Object.keys(a).length > 0 ? a : undefined;\n })();\n\n const mapped: GlobalAttrs = {\n ...rest,\n ...(mappedAria ? { aria: mappedAria } : null),\n ...(mergedAttrs ? { attrs: mergedAttrs } : null),\n };\n\n return mapped;\n}\n\n/**\n * Create an embed element and apply attributes.\n *\n * @remarks\n * Global attributes are applied via Fundatio's shared DOM helper, including security\n * guards that block inline event handler attributes (e.g. `onclick`) and raw\n * `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<embed>` element.\n *\n * @example\n * ```ts\n * import { createEmbed } from \"@Vastare/Fundatio/elements/media/embed\";\n *\n * document.body.appendChild(\n * createEmbed({ src: \"/files/manual.pdf\", type: \"application/pdf\", title: \"User manual\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createEmbed(attrs?: EmbedAttrs): ElementOf<typeof EMBED_TAG> {\n return createVoidElement(EMBED_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance embed elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceEmbeds(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for embed.\n void root;\n}\n"],"names":["EMBED_TAG","EMBED_SELECTOR","normalizeDim","v","name","s","toGlobalAttrs","attrs","aria","src","type","width","height","extraAttrs","rest","mappedAria","a","w","h","mergedAttrs","createEmbed","createVoidElement","enhanceEmbeds","root"],"mappings":"0CAmEaA,EAAY,QAOZC,EAAiB,QA2D9B,SAASC,EAAaC,EAAwBC,EAA8C,CAC1F,GAAuBD,GAAM,KAAM,OAEnC,GAAI,OAAOA,GAAM,SAAU,CACzB,GAAI,CAAC,OAAO,SAASA,CAAC,GAAKA,EAAI,EAC7B,MAAM,IAAI,MAAM,WAAWC,CAAI,0CAA0C,EAG3E,OAAO,OAAO,KAAK,MAAMD,CAAC,CAAC,CAC7B,CAEA,MAAME,EAAI,OAAOF,CAAC,EAAE,KAAA,EAEpB,GAAIE,EAAE,SAAW,EAEjB,IAAIA,EAAE,SAAS,GAAG,EAChB,MAAM,IAAI,MAAM,WAAWD,CAAI,6CAA6CA,CAAI,GAAG,EAGrF,GAAI,CAAC,QAAQ,KAAKC,CAAC,EACjB,MAAM,IAAI,MAAM,WAAWD,CAAI,gDAAgD,EAGjF,OAAOC,EACT,CAUA,SAASC,EAAcC,EAA6C,CAClE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,IAAAC,EAAK,KAAAC,EAAM,MAAAC,EAAO,OAAAC,EAAQ,MAAOC,EAAY,GAAGC,CAAA,EAASP,EAEjEQ,EAA2DP,GAC5D,IAAM,CACL,MAAMQ,EAAsC,CAAA,EAC5C,OAAI,OAAOR,EAAK,OAAU,WAAUQ,EAAE,MAAQR,EAAK,OAC/C,OAAOA,EAAK,YAAe,WAAUQ,EAAE,WAAaR,EAAK,YACzD,OAAOA,EAAK,QAAW,YAAWQ,EAAE,OAASR,EAAK,QAC/C,OAAO,KAAKQ,CAAC,EAAE,OAAS,EAAIA,EAAI,MACzC,KACA,OAEEC,EAAIf,EAAaS,EAAO,OAAO,EAC/BO,EAAIhB,EAAaU,EAAQ,QAAQ,EAEjCO,GAAsD,IAAM,CAChE,MAAMH,EAA+B,CAAE,GAAIH,GAAc,EAAC,EAE1D,OAAI,OAAOJ,GAAQ,UAAYA,EAAI,OAAS,MAAK,IAAMA,GACnD,OAAOC,GAAS,UAAYA,EAAK,OAAS,MAAK,KAAOA,GAEtD,OAAOO,GAAM,WAAUD,EAAE,MAAQC,GACjC,OAAOC,GAAM,WAAUF,EAAE,OAASE,GAE/B,OAAO,KAAKF,CAAC,EAAE,OAAS,EAAIA,EAAI,MACzC,GAAA,EAQA,MAN4B,CAC1B,GAAGF,EACH,GAAIC,EAAa,CAAE,KAAMA,GAAe,KACxC,GAAII,EAAc,CAAE,MAAOA,GAAgB,IAAA,CAI/C,CAwBO,SAASC,EAAYb,EAAiD,CAC3E,OAAOc,oBAAkBrB,EAAWM,EAAcC,CAAK,CAAC,CAC1D,CAYO,SAASe,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const O=require("./dom.cjs"),l="object",f="object";function b(n,e){if(typeof e=="number"){if(!Number.isFinite(e)||e<0||!Number.isInteger(e))throw new Error(`Invalid ${n}: expected a non-negative integer.`);return String(e)}if(!/^\d+$/.test(e))throw new Error(`Invalid ${n}: expected a numeric string.`);return e}function E(n){if(!n)return{attrs:{data:"about:blank"}};const{aria:e,data:r,type:o,name:a,form:d,width:s,height:c,attrs:g,...u}=n,i={};e&&(typeof e.label=="string"&&(i.label=e.label),typeof e.labelledby=="string"&&(i.labelledby=e.labelledby),typeof e.describedby=="string"&&(i.describedby=e.describedby),typeof e.hidden=="boolean"&&(i.hidden=e.hidden));const t={...g??{}};typeof r=="string"&&r.length>0&&(t.data=r),typeof o=="string"&&o.length>0&&(t.type=o),t.data===void 0&&t.type===void 0&&(t.data="about:blank"),typeof a=="string"&&a.length>0&&(t.name=a),typeof d=="string"&&d.length>0&&(t.form=d),s!==void 0&&(t.width=b("width",s)),c!==void 0&&(t.height=b("height",c));const y=Object.keys(i).length>0,m=Object.keys(t).length>0;return{...u,...y?{aria:i}:null,...m?{attrs:t}:null}}function h(n,e){return O.createElement(l,E(e),n)}function p(n=document){}const j=Object.freeze(Object.defineProperty({__proto__:null,OBJECT_SELECTOR:f,OBJECT_TAG:l,createObject:h,enhanceObjects:p},Symbol.toStringTag,{value:"Module"}));exports.OBJECT_SELECTOR=f;exports.OBJECT_TAG=l;exports.createObject=h;exports.enhanceObjects=p;exports.index=j;
|
|
2
|
+
//# sourceMappingURL=index25.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index25.cjs","sources":["../../../src/elements/media/object/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Object element helpers.\n *\n * @remarks\n * The object element (`<object>`) embeds external resources (HTML, images, PDFs,\n * SVG, etc.) into the document.\n *\n * Best-practice guidance:\n * - Prefer purpose-built elements when available:\n * - `<img>` for images\n * - `<video>` / `<audio>` for media\n * - `<iframe>` for embedded documents/interactive content (with sandboxing)\n * - Always provide a meaningful fallback inside `<object>` for unsupported content.\n * - Avoid obsolete attributes (e.g. `codebase`, `classid`, `declare`, etc.).\n * - For layout, prefer CSS. If using `width`/`height` attributes, keep them numeric.\n *\n * Attribute guidance:\n * - At least one of `data` or `type` should be provided.\n * - If neither is provided, Fundatio falls back to `data=\"about:blank\"` to avoid an\n * \"empty\" embed configuration while staying inert.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create object elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * ID reference to the describing element(s), mapped to `aria-describedby`.\n */\n describedby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for object embeds.\n *\n * @category Constants\n */\nexport const OBJECT_TAG = 'object' as const;\n\n/**\n * A CSS selector targeting object elements.\n *\n * @category Constants\n */\nexport const OBJECT_SELECTOR = 'object';\n\n/**\n * Dimension values allowed for width/height attributes.\n *\n * @remarks\n * Per best practice, keep these numeric (pixels). Prefer CSS for layout.\n *\n * @category Types\n */\nexport type ObjectDimension = number | `${number}`;\n\n/**\n * Attribute bag for object creation/enhancement.\n *\n * @remarks\n * - `data` and `type` are the primary configuration attributes.\n * - Provide fallback content via `text` or by appending children after creation.\n * - Global attributes are supported, including a structured ARIA input.\n *\n * @category Attributes\n */\nexport type ObjectAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Address of the resource to embed (maps to `data`).\n */\n data?: string;\n\n /**\n * MIME type of the embedded resource (maps to `type`).\n *\n * @example\n * \"text/html\", \"image/svg+xml\", \"application/pdf\"\n */\n type?: string;\n\n /**\n * Name of the object (maps to `name`).\n */\n name?: string;\n\n /**\n * Associate the object with a form (maps to `form`).\n */\n form?: string;\n\n /**\n * Width in CSS pixels (maps to `width`).\n *\n * @remarks\n * Prefer CSS for layout.\n */\n width?: ObjectDimension;\n\n /**\n * Height in CSS pixels (maps to `height`).\n *\n * @remarks\n * Prefer CSS for layout.\n */\n height?: ObjectDimension;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Validate and normalize a width/height value.\n *\n * @param name - Attribute name for error messages.\n * @param v - The provided dimension.\n * @returns A normalized string suitable for attributes.\n *\n * @category Internal\n */\nfunction normalizeDimension(name: 'width' | 'height', v: ObjectDimension): string {\n if (typeof v === 'number') {\n if (!Number.isFinite(v) || v < 0 || !Number.isInteger(v)) {\n throw new Error(`Invalid ${name}: expected a non-negative integer.`);\n }\n return String(v);\n }\n\n // String numeric (template literal), but validate anyway.\n if (!/^\\d+$/.test(v)) {\n throw new Error(`Invalid ${name}: expected a numeric string.`);\n }\n\n return v;\n}\n\n/**\n * Normalize {@link ObjectAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The object attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ObjectAttrs): GlobalAttrs | undefined {\n if (!attrs) {\n // Best-practice: an object should have at least data or type.\n // We still allow `createObject()` with no args, but keep it inert.\n return { attrs: { data: 'about:blank' } };\n }\n\n const { aria, data, type, name, form, width, height, attrs: extraAttrs, ...rest } = attrs;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.describedby === 'string') mappedAria.describedby = aria.describedby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const mappedAttrs: Record<string, AttrValue> = { ...(extraAttrs ?? {}) };\n\n // Primary embed configuration.\n if (typeof data === 'string' && data.length > 0) mappedAttrs.data = data;\n if (typeof type === 'string' && type.length > 0) mappedAttrs.type = type;\n\n // Per guidance/spec: at least one of data/type should exist.\n // If neither is provided, keep it inert rather than \"empty\".\n if (mappedAttrs.data === undefined && mappedAttrs.type === undefined) {\n mappedAttrs.data = 'about:blank';\n }\n\n if (typeof name === 'string' && name.length > 0) mappedAttrs.name = name;\n if (typeof form === 'string' && form.length > 0) mappedAttrs.form = form;\n\n if (width !== undefined) mappedAttrs.width = normalizeDimension('width', width);\n if (height !== undefined) mappedAttrs.height = normalizeDimension('height', height);\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n const hasMappedAttrs = Object.keys(mappedAttrs).length > 0;\n\n return {\n ...rest,\n ...(hasMappedAria ? { aria: mappedAria } : null),\n ...(hasMappedAttrs ? { attrs: mappedAttrs } : null),\n };\n}\n\n/**\n * Create an object element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - For richer fallback, append children after creation.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional fallback text content for the object.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<object>` element.\n *\n * @example\n * ```ts\n * import { createObject } from \"@Vastare/Fundatio/elements/media/object\";\n *\n * const obj = createObject(\"Your browser can't display this content.\", {\n * data: \"/docs/guide.pdf\",\n * type: \"application/pdf\",\n * width: 640,\n * height: 480,\n * });\n *\n * document.body.appendChild(obj);\n * ```\n *\n * @category DOM\n */\nexport function createObject(text?: string, attrs?: ObjectAttrs): ElementOf<typeof OBJECT_TAG> {\n return createElement(OBJECT_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance object elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceObjects(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for object.\n void root;\n}\n"],"names":["OBJECT_TAG","OBJECT_SELECTOR","normalizeDimension","name","v","toGlobalAttrs","attrs","aria","data","type","form","width","height","extraAttrs","rest","mappedAria","mappedAttrs","hasMappedAria","hasMappedAttrs","createObject","text","createElement","enhanceObjects","root"],"mappings":"0CAyEaA,EAAa,SAObC,EAAkB,SA6E/B,SAASC,EAAmBC,EAA0BC,EAA4B,CAChF,GAAI,OAAOA,GAAM,SAAU,CACzB,GAAI,CAAC,OAAO,SAASA,CAAC,GAAKA,EAAI,GAAK,CAAC,OAAO,UAAUA,CAAC,EACrD,MAAM,IAAI,MAAM,WAAWD,CAAI,oCAAoC,EAErE,OAAO,OAAOC,CAAC,CACjB,CAGA,GAAI,CAAC,QAAQ,KAAKA,CAAC,EACjB,MAAM,IAAI,MAAM,WAAWD,CAAI,8BAA8B,EAG/D,OAAOC,CACT,CAUA,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAGH,MAAO,CAAE,MAAO,CAAE,KAAM,cAAc,EAGxC,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,KAAAC,EAAM,KAAAN,EAAM,KAAAO,EAAM,MAAAC,EAAO,OAAAC,EAAQ,MAAOC,EAAY,GAAGC,CAAA,EAASR,EAE9ES,EAA+C,CAAA,EACjDR,IACE,OAAOA,EAAK,OAAU,WAAUQ,EAAW,MAAQR,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUQ,EAAW,WAAaR,EAAK,YAClE,OAAOA,EAAK,aAAgB,WAAUQ,EAAW,YAAcR,EAAK,aACpE,OAAOA,EAAK,QAAW,YAAWQ,EAAW,OAASR,EAAK,SAGjE,MAAMS,EAAyC,CAAE,GAAIH,GAAc,EAAC,EAGhE,OAAOL,GAAS,UAAYA,EAAK,OAAS,MAAe,KAAOA,GAChE,OAAOC,GAAS,UAAYA,EAAK,OAAS,MAAe,KAAOA,GAIhEO,EAAY,OAAS,QAAaA,EAAY,OAAS,SACzDA,EAAY,KAAO,eAGjB,OAAOb,GAAS,UAAYA,EAAK,OAAS,MAAe,KAAOA,GAChE,OAAOO,GAAS,UAAYA,EAAK,OAAS,MAAe,KAAOA,GAEhEC,IAAU,SAAWK,EAAY,MAAQd,EAAmB,QAASS,CAAK,GAC1EC,IAAW,SAAWI,EAAY,OAASd,EAAmB,SAAUU,CAAM,GAElF,MAAMK,EAAgB,OAAO,KAAKF,CAAU,EAAE,OAAS,EACjDG,EAAiB,OAAO,KAAKF,CAAW,EAAE,OAAS,EAEzD,MAAO,CACL,GAAGF,EACH,GAAIG,EAAgB,CAAE,KAAMF,GAAe,KAC3C,GAAIG,EAAiB,CAAE,MAAOF,GAAgB,IAAA,CAElD,CAgCO,SAASG,EAAaC,EAAed,EAAmD,CAC7F,OAAOe,EAAAA,cAAcrB,EAAYK,EAAcC,CAAK,EAAGc,CAAI,CAC7D,CAoBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const g=require("./dom.cjs"),f="video",s="video";function h(n){if(!n)return;const{aria:e,src:o,controls:O,autoplay:E,loop:I,muted:V,playsInline:_,preload:A,poster:P,width:j,height:T,crossOrigin:k,controlsList:t,disablePictureInPicture:p,disableRemotePlayback:c,referrerPolicy:y,fetchPriority:d,...u}=n,r={...u};if(e){const l={};typeof e.label=="string"&&(l.label=e.label),typeof e.labelledby=="string"&&(l.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(l.hidden=e.hidden),Object.keys(l).length>0&&(r.aria=l)}const i={};return typeof t=="string"&&(i.controlslist=t),Array.isArray(t)&&(i.controlslist=t.join(" ")),typeof y=="string"&&(i.referrerpolicy=y),typeof d=="string"&&(i.fetchpriority=d),typeof p=="boolean"&&(i.disablepictureinpicture=p),typeof c=="boolean"&&(i.disableremoteplayback=c),Object.keys(i).length>0&&(r.attrs=i),r}function a(n,e){const o=g.createElement(f,h(e),n);return e&&(typeof e.src=="string"&&(o.src=e.src),typeof e.controls=="boolean"&&(o.controls=e.controls),typeof e.autoplay=="boolean"&&(o.autoplay=e.autoplay),typeof e.loop=="boolean"&&(o.loop=e.loop),e.autoplay===!0&&typeof e.muted!="boolean"?o.muted=!0:typeof e.muted=="boolean"&&(o.muted=e.muted),typeof e.playsInline=="boolean"&&(o.playsInline=e.playsInline),typeof e.preload=="string"&&(o.preload=e.preload),typeof e.poster=="string"&&(o.poster=e.poster),typeof e.width=="number"&&(o.width=e.width),typeof e.height=="number"&&(o.height=e.height),typeof e.crossOrigin=="string"&&(o.crossOrigin=e.crossOrigin)),o}function b(n=document){}const m=Object.freeze(Object.defineProperty({__proto__:null,VIDEO_SELECTOR:s,VIDEO_TAG:f,createVideo:a,enhanceVideos:b},Symbol.toStringTag,{value:"Module"}));exports.VIDEO_SELECTOR=s;exports.VIDEO_TAG=f;exports.createVideo=a;exports.enhanceVideos=b;exports.index=m;
|
|
2
|
+
//# sourceMappingURL=index26.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index26.cjs","sources":["../../../src/elements/media/video/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Video element helpers.\n *\n * @remarks\n * The video element (`<video>`) embeds media playback.\n *\n * Best-practice guidance:\n * - Provide user controls (`controls`) unless you have a very strong reason not to.\n * - Autoplay is often blocked when audio is present; if `autoplay` is enabled,\n * videos commonly need to be `muted` to actually autoplay in modern browsers.\n * - Prefer captions/subtitles via `<track>` for accessibility when relevant.\n * - Avoid obsolete attributes; use modern properties/attributes and CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create video elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * Token values for the `preload` attribute.\n *\n * @category Attributes\n */\nexport type VideoPreload = 'none' | 'metadata' | 'auto';\n\n/**\n * Token values for the `crossorigin` attribute.\n *\n * @category Attributes\n */\nexport type VideoCrossOrigin = 'anonymous' | 'use-credentials';\n\n/**\n * Token values for the `referrerpolicy` attribute.\n *\n * @category Attributes\n */\nexport type VideoReferrerPolicy =\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url';\n\n/**\n * Token values for the `fetchpriority` attribute (where supported).\n *\n * @category Attributes\n */\nexport type VideoFetchPriority = 'high' | 'low' | 'auto';\n\n/**\n * The semantic tag name for video.\n *\n * @category Constants\n */\nexport const VIDEO_TAG = 'video' as const;\n\n/**\n * A CSS selector targeting video elements.\n *\n * @category Constants\n */\nexport const VIDEO_SELECTOR = 'video';\n\n/**\n * Attribute bag for video creation/enhancement.\n *\n * @remarks\n * Video elements accept standard HTML global attributes, plus media-specific\n * attributes and properties.\n *\n * Fundatio supports a structured ARIA input for common ARIA fields, mapped into\n * {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type VideoAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Source URL for the video.\n */\n src?: string;\n\n /**\n * Whether the browser should offer playback controls to the user.\n */\n controls?: boolean;\n\n /**\n * Whether the video should start playing automatically.\n *\n * @remarks\n * Autoplay is frequently blocked unless the video is muted.\n */\n autoplay?: boolean;\n\n /**\n * Whether the video should loop after ending.\n */\n loop?: boolean;\n\n /**\n * Whether the audio should be muted.\n */\n muted?: boolean;\n\n /**\n * Hint that playback should happen inline on mobile browsers (not fullscreen).\n */\n playsInline?: boolean;\n\n /**\n * Preload behavior hint.\n */\n preload?: VideoPreload;\n\n /**\n * Poster image URL shown before playback starts.\n */\n poster?: string;\n\n /**\n * Display width in CSS pixels (attribute-reflected).\n */\n width?: number;\n\n /**\n * Display height in CSS pixels (attribute-reflected).\n */\n height?: number;\n\n /**\n * CORS setting for fetching the media.\n */\n crossOrigin?: VideoCrossOrigin;\n\n /**\n * Feature-control tokens for the video UI.\n *\n * @remarks\n * Maps to the `controlslist` attribute (space-separated tokens).\n */\n controlsList?: string[] | string;\n\n /**\n * Disable Picture-in-Picture where supported.\n */\n disablePictureInPicture?: boolean;\n\n /**\n * Disable remote playback where supported.\n */\n disableRemotePlayback?: boolean;\n\n /**\n * Referrer policy for fetching the media.\n */\n referrerPolicy?: VideoReferrerPolicy;\n\n /**\n * Fetch priority hint (where supported).\n */\n fetchPriority?: VideoFetchPriority;\n};\n\n/**\n * Normalize {@link VideoAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The video attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: VideoAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n src,\n controls,\n autoplay,\n loop,\n muted,\n playsInline,\n preload,\n poster,\n width,\n height,\n crossOrigin,\n controlsList,\n disablePictureInPicture,\n disableRemotePlayback,\n referrerPolicy,\n fetchPriority,\n ...rest\n } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) mapped.aria = mappedAria;\n }\n\n // Only attach attrs if we actually have any element-specific attributes to set\n // via dom.ts (keeps output stable and avoids needless objects).\n const elementAttrs: NonNullable<GlobalAttrs['attrs']> = {};\n\n if (typeof controlsList === 'string') elementAttrs.controlslist = controlsList;\n if (Array.isArray(controlsList)) elementAttrs.controlslist = controlsList.join(' ');\n\n if (typeof referrerPolicy === 'string') elementAttrs.referrerpolicy = referrerPolicy;\n if (typeof fetchPriority === 'string') elementAttrs.fetchpriority = fetchPriority;\n\n // Boolean-ish feature flags that don't have reliable reflected properties everywhere.\n if (typeof disablePictureInPicture === 'boolean') {\n elementAttrs.disablepictureinpicture = disablePictureInPicture;\n }\n if (typeof disableRemotePlayback === 'boolean') {\n elementAttrs.disableremoteplayback = disableRemotePlayback;\n }\n\n if (Object.keys(elementAttrs).length > 0) mapped.attrs = elementAttrs;\n\n // The rest are applied as properties after createElement to preserve proper boolean semantics.\n void src;\n void controls;\n void autoplay;\n void loop;\n void muted;\n void playsInline;\n void preload;\n void poster;\n void width;\n void height;\n void crossOrigin;\n\n return mapped;\n}\n\n/**\n * Create a video element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n * - If `autoplay` is enabled and `muted` is not explicitly provided, Fundatio will\n * default `muted` to `true` to align with common browser autoplay policies.\n *\n * @param text - Optional fallback text shown if video is unsupported.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<video>` element.\n *\n * @example\n * ```ts\n * import { createVideo } from \"@Vastare/Fundatio/elements/media/video\";\n *\n * document.body.appendChild(\n * createVideo(\"Your browser does not support video.\", {\n * src: \"/media/intro.mp4\",\n * controls: true,\n * preload: \"metadata\",\n * })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createVideo(text?: string, attrs?: VideoAttrs): HTMLVideoElement {\n const el = createElement(VIDEO_TAG, toGlobalAttrs(attrs), text) as unknown as HTMLVideoElement;\n\n if (!attrs) return el;\n\n if (typeof attrs.src === 'string') el.src = attrs.src;\n\n if (typeof attrs.controls === 'boolean') el.controls = attrs.controls;\n\n if (typeof attrs.autoplay === 'boolean') el.autoplay = attrs.autoplay;\n if (typeof attrs.loop === 'boolean') el.loop = attrs.loop;\n\n // Practical default: autoplay usually requires muted.\n if (attrs.autoplay === true && typeof attrs.muted !== 'boolean') {\n el.muted = true;\n } else if (typeof attrs.muted === 'boolean') {\n el.muted = attrs.muted;\n }\n\n if (typeof attrs.playsInline === 'boolean')\n (el as unknown as { playsInline?: boolean }).playsInline = attrs.playsInline;\n\n if (typeof attrs.preload === 'string') el.preload = attrs.preload;\n\n if (typeof attrs.poster === 'string') el.poster = attrs.poster;\n\n if (typeof attrs.width === 'number') el.width = attrs.width;\n if (typeof attrs.height === 'number') el.height = attrs.height;\n\n if (typeof attrs.crossOrigin === 'string') el.crossOrigin = attrs.crossOrigin;\n\n return el;\n}\n\n/**\n * Enhance video elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceVideos(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for video.\n void root;\n}\n"],"names":["VIDEO_TAG","VIDEO_SELECTOR","toGlobalAttrs","attrs","aria","src","controls","autoplay","loop","muted","playsInline","preload","poster","width","height","crossOrigin","controlsList","disablePictureInPicture","disableRemotePlayback","referrerPolicy","fetchPriority","rest","mapped","mappedAria","elementAttrs","createVideo","text","el","createElement","enhanceVideos","root"],"mappings":"0CAgGaA,EAAY,QAOZC,EAAiB,QAmH9B,SAASC,EAAcC,EAA6C,CAClE,GAAI,CAACA,EAAO,OAEZ,KAAM,CACJ,KAAAC,EACA,IAAAC,EACA,SAAAC,EACA,SAAAC,EACA,KAAAC,EACA,MAAAC,EACA,YAAAC,EACA,QAAAC,EACA,OAAAC,EACA,MAAAC,EACA,OAAAC,EACA,YAAAC,EACA,aAAAC,EACA,wBAAAC,EACA,sBAAAC,EACA,eAAAC,EACA,cAAAC,EACA,GAAGC,CAAA,EACDlB,EAEEmB,EAAsB,CAAE,GAAGD,CAAA,EAEjC,GAAIjB,EAAM,CACR,MAAMmB,EAA+C,CAAA,EAEjD,OAAOnB,EAAK,OAAU,WAAUmB,EAAW,MAAQnB,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUmB,EAAW,WAAanB,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWmB,EAAW,OAASnB,EAAK,QAE3D,OAAO,KAAKmB,CAAU,EAAE,OAAS,MAAU,KAAOA,EACxD,CAIA,MAAMC,EAAkD,CAAA,EAExD,OAAI,OAAOR,GAAiB,WAAUQ,EAAa,aAAeR,GAC9D,MAAM,QAAQA,CAAY,MAAgB,aAAeA,EAAa,KAAK,GAAG,GAE9E,OAAOG,GAAmB,WAAUK,EAAa,eAAiBL,GAClE,OAAOC,GAAkB,WAAUI,EAAa,cAAgBJ,GAGhE,OAAOH,GAA4B,YACrCO,EAAa,wBAA0BP,GAErC,OAAOC,GAA0B,YACnCM,EAAa,sBAAwBN,GAGnC,OAAO,KAAKM,CAAY,EAAE,OAAS,MAAU,MAAQA,GAelDF,CACT,CAgCO,SAASG,EAAYC,EAAevB,EAAsC,CAC/E,MAAMwB,EAAKC,EAAAA,cAAc5B,EAAWE,EAAcC,CAAK,EAAGuB,CAAI,EAE9D,OAAKvB,IAED,OAAOA,EAAM,KAAQ,WAAUwB,EAAG,IAAMxB,EAAM,KAE9C,OAAOA,EAAM,UAAa,YAAWwB,EAAG,SAAWxB,EAAM,UAEzD,OAAOA,EAAM,UAAa,YAAWwB,EAAG,SAAWxB,EAAM,UACzD,OAAOA,EAAM,MAAS,YAAWwB,EAAG,KAAOxB,EAAM,MAGjDA,EAAM,WAAa,IAAQ,OAAOA,EAAM,OAAU,UACpDwB,EAAG,MAAQ,GACF,OAAOxB,EAAM,OAAU,YAChCwB,EAAG,MAAQxB,EAAM,OAGf,OAAOA,EAAM,aAAgB,YAC9BwB,EAA4C,YAAcxB,EAAM,aAE/D,OAAOA,EAAM,SAAY,WAAUwB,EAAG,QAAUxB,EAAM,SAEtD,OAAOA,EAAM,QAAW,WAAUwB,EAAG,OAASxB,EAAM,QAEpD,OAAOA,EAAM,OAAU,WAAUwB,EAAG,MAAQxB,EAAM,OAClD,OAAOA,EAAM,QAAW,WAAUwB,EAAG,OAASxB,EAAM,QAEpD,OAAOA,EAAM,aAAgB,WAAUwB,EAAG,YAAcxB,EAAM,cAE3DwB,CACT,CAoBO,SAASE,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const d=require("./dom.cjs"),n="audio",t="audio";function a(e){if(!e)return;const{aria:o,...l}=e;if(!o)return l;const i={};return typeof o.label=="string"&&(i.label=o.label),typeof o.labelledby=="string"&&(i.labelledby=o.labelledby),typeof o.hidden=="boolean"&&(i.hidden=o.hidden),Object.keys(i).length>0?{...l,aria:i}:l}function r(e){const o=d.createElement(n,a(e));return e&&(typeof e.src=="string"&&(o.src=e.src),typeof e.controls=="boolean"&&(o.controls=e.controls),typeof e.autoplay=="boolean"&&(o.autoplay=e.autoplay),typeof e.loop=="boolean"&&(o.loop=e.loop),typeof e.muted=="boolean"?o.muted=e.muted:e.autoplay===!0&&(o.muted=!0),typeof e.preload=="string"&&(o.preload=e.preload),typeof e.crossOrigin=="string"&&(o.crossOrigin=e.crossOrigin),Array.isArray(e.controlsList)&&e.controlsList.length>0&&o.setAttribute("controlslist",e.controlsList.join(" ")),typeof e.disableRemotePlayback=="boolean"&&(e.disableRemotePlayback?o.setAttribute("disableremoteplayback",""):o.removeAttribute("disableremoteplayback"))),o}function c(e=document){}const f=Object.freeze(Object.defineProperty({__proto__:null,AUDIO_SELECTOR:t,AUDIO_TAG:n,createAudio:r,enhanceAudios:c},Symbol.toStringTag,{value:"Module"}));exports.AUDIO_SELECTOR=t;exports.AUDIO_TAG=n;exports.createAudio=r;exports.enhanceAudios=c;exports.index=f;
|
|
2
|
+
//# sourceMappingURL=index27.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index27.cjs","sources":["../../../src/elements/media/audio/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Audio element helpers.\n *\n * @remarks\n * The audio element (`<audio>`) embeds sound content in documents.\n * It can load audio via `src` or nested `<source>` elements, and it can\n * also be a destination for streamed media via MediaStream.\n *\n * Best-practice guidance (MDN + platform norms):\n * - Avoid autoplaying audio unless the user explicitly opts in.\n * - Prefer showing controls (`controls`) when audio playback is user-facing.\n * - Use `preload=\"metadata\"` as a sensible hint if you want duration, etc.\n * - Use CORS (`crossOrigin`) when audio might be reused by `<canvas>` without tainting.\n * - Prefer multiple `<source>` elements for format fallbacks where needed.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create audio elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * Allowed `preload` values for media elements.\n *\n * @remarks\n * Per MDN, browsers treat this as a hint and may ignore it; `metadata` is a\n * common best-practice default in specs/guidance.\n *\n * @category Attributes\n */\nexport type AudioPreload = 'none' | 'metadata' | 'auto';\n\n/**\n * Allowed values for the `crossorigin` attribute for media fetches.\n *\n * @category Attributes\n */\nexport type AudioCrossOrigin = 'anonymous' | 'use-credentials';\n\n/**\n * Allowed tokens for the `controlslist` attribute (when `controls` is enabled).\n *\n * @remarks\n * MDN lists allowed values including `nodownload`, `nofullscreen`, `noremoteplayback`.\n * (`nofullscreen` is effectively video-oriented but is still a valid token in the attribute.)\n *\n * @category Attributes\n */\nexport type AudioControlsList = 'nodownload' | 'nofullscreen' | 'noremoteplayback';\n\n/**\n * The semantic tag name for audio elements.\n *\n * @category Constants\n */\nexport const AUDIO_TAG = 'audio' as const;\n\n/**\n * A CSS selector targeting audio elements.\n *\n * @category Constants\n */\nexport const AUDIO_SELECTOR = 'audio';\n\n/**\n * Attribute bag for audio creation/enhancement.\n *\n * @remarks\n * Audio elements accept HTML global attributes plus a media-specific subset.\n * Fundatio also supports structured ARIA input for common ARIA fields.\n *\n * @category Attributes\n */\nexport type AudioAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The URL of the audio resource to embed.\n *\n * @remarks\n * Optional if you instead provide nested `<source>` elements.\n */\n src?: string;\n\n /**\n * Whether browser playback controls should be shown.\n */\n controls?: boolean;\n\n /**\n * Whether playback should begin automatically.\n *\n * @remarks\n * Autoplaying audio is often blocked unless user-initiated. If `autoplay`\n * is enabled and `muted` is not specified, Fundatio defaults `muted` to `true`\n * as a pragmatic alignment with autoplay policies.\n */\n autoplay?: boolean;\n\n /**\n * Whether the audio should loop back to the start after ending.\n */\n loop?: boolean;\n\n /**\n * Whether the audio should start out muted.\n */\n muted?: boolean;\n\n /**\n * Hint about how much to preload.\n */\n preload?: AudioPreload;\n\n /**\n * CORS mode for fetching the audio resource.\n */\n crossOrigin?: AudioCrossOrigin;\n\n /**\n * Restrict which built-in controls the user agent exposes (when `controls` is set).\n *\n * @example\n * controlsList: ['nodownload', 'noremoteplayback']\n */\n controlsList?: AudioControlsList[];\n\n /**\n * Disable remote playback (Chromecast/AirPlay/etc).\n */\n disableRemotePlayback?: boolean;\n};\n\n/**\n * Normalize {@link AudioAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The audio attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: AudioAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an audio element with optional attributes.\n *\n * @remarks\n * Global attributes are applied via Fundatio's shared DOM helper, including security\n * guards that block inline event handler attributes (e.g. `onclick`) and raw\n * `style` attribute strings through escape hatches.\n *\n * Media-specific attributes are applied directly to the element.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<audio>` element.\n *\n * @example\n * ```ts\n * import { createAudio } from \"@Vastare/Fundatio/elements/media/audio\";\n *\n * document.body.appendChild(\n * createAudio({ controls: true, src: \"/audio/intro.mp3\", preload: \"metadata\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createAudio(attrs?: AudioAttrs): ElementOf<typeof AUDIO_TAG> {\n const el = createElement(AUDIO_TAG, toGlobalAttrs(attrs));\n\n if (!attrs) return el;\n\n if (typeof attrs.src === 'string') el.src = attrs.src;\n\n if (typeof attrs.controls === 'boolean') el.controls = attrs.controls;\n\n if (typeof attrs.autoplay === 'boolean') el.autoplay = attrs.autoplay;\n if (typeof attrs.loop === 'boolean') el.loop = attrs.loop;\n\n // Pragmatic autoplay alignment: if autoplay is enabled and muted is not provided,\n // default to muted to reduce the chance of autoplay being blocked.\n if (typeof attrs.muted === 'boolean') {\n el.muted = attrs.muted;\n } else if (attrs.autoplay === true) {\n el.muted = true;\n }\n\n if (typeof attrs.preload === 'string') el.preload = attrs.preload;\n\n if (typeof attrs.crossOrigin === 'string') el.crossOrigin = attrs.crossOrigin;\n\n if (Array.isArray(attrs.controlsList) && attrs.controlsList.length > 0) {\n // `controlslist` is a token list attribute; set as a space-separated list.\n el.setAttribute('controlslist', attrs.controlsList.join(' '));\n }\n\n if (typeof attrs.disableRemotePlayback === 'boolean') {\n if (attrs.disableRemotePlayback) el.setAttribute('disableremoteplayback', '');\n else el.removeAttribute('disableremoteplayback');\n }\n\n return el;\n}\n\n/**\n * Enhance audio elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceAudios(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for audio.\n void root;\n}\n"],"names":["AUDIO_TAG","AUDIO_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createAudio","el","createElement","enhanceAudios","root"],"mappings":"0CA2FaA,EAAY,QAOZC,EAAiB,QAkF9B,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,CA0BO,SAASE,EAAYJ,EAAiD,CAC3E,MAAMK,EAAKC,EAAAA,cAAcT,EAAWE,EAAcC,CAAK,CAAC,EAExD,OAAKA,IAED,OAAOA,EAAM,KAAQ,WAAUK,EAAG,IAAML,EAAM,KAE9C,OAAOA,EAAM,UAAa,YAAWK,EAAG,SAAWL,EAAM,UAEzD,OAAOA,EAAM,UAAa,YAAWK,EAAG,SAAWL,EAAM,UACzD,OAAOA,EAAM,MAAS,YAAWK,EAAG,KAAOL,EAAM,MAIjD,OAAOA,EAAM,OAAU,UACzBK,EAAG,MAAQL,EAAM,MACRA,EAAM,WAAa,KAC5BK,EAAG,MAAQ,IAGT,OAAOL,EAAM,SAAY,WAAUK,EAAG,QAAUL,EAAM,SAEtD,OAAOA,EAAM,aAAgB,WAAUK,EAAG,YAAcL,EAAM,aAE9D,MAAM,QAAQA,EAAM,YAAY,GAAKA,EAAM,aAAa,OAAS,GAEnEK,EAAG,aAAa,eAAgBL,EAAM,aAAa,KAAK,GAAG,CAAC,EAG1D,OAAOA,EAAM,uBAA0B,YACrCA,EAAM,sBAAuBK,EAAG,aAAa,wBAAyB,EAAE,EACvEA,EAAG,gBAAgB,uBAAuB,IAG1CA,CACT,CAoBO,SAASE,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const b=require("./dom.cjs"),a="table",o="table";function c(t){if(!t)return;const{aria:e,...l}=t;if(!e)return l;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?{...l,aria:n}:l}function r(t,e){return b.createElement(a,c(e),t)}function i(t=document){}const d=Object.freeze(Object.defineProperty({__proto__:null,TABLE_SELECTOR:o,TABLE_TAG:a,createTable:r,enhanceTables:i},Symbol.toStringTag,{value:"Module"}));exports.TABLE_SELECTOR=o;exports.TABLE_TAG=a;exports.createTable=r;exports.enhanceTables=i;exports.index=d;
|
|
2
|
+
//# sourceMappingURL=index28.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index28.cjs","sources":["../../../src/elements/table/table/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Table element helpers.\n *\n * @remarks\n * The table element (`<table>`) represents tabular data with more than one\n * dimension (rows and columns).\n *\n * Best-practice guidance:\n * - Use tables for data, not for layout.\n * - Provide a clear `<caption>` describing the table's purpose.\n * - Use `<thead>`, `<tbody>`, and `<tfoot>` to group table content meaningfully.\n * - Mark header cells with `<th>` (not `<td>`), and use `scope`/`headers` where\n * appropriate for accessibility, especially in more complex tables.\n * - Avoid obsolete presentational attributes (e.g. `border`, `cellpadding`,\n * `cellspacing`, `align`, `bgcolor`). Use CSS instead.\n * - If additional long-form description is needed, consider `aria-describedby`\n * pointing to explanatory text outside the table.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create table elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: `<table>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table\n * - WHATWG: Table model: https://html.spec.whatwg.org/multipage/tables.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for HTML tables.\n *\n * @category Constants\n */\nexport const TABLE_TAG = 'table' as const;\n\n/**\n * A CSS selector targeting table elements.\n *\n * @category Constants\n */\nexport const TABLE_SELECTOR = 'table';\n\n/**\n * Attribute bag for table creation/enhancement.\n *\n * @remarks\n * Table elements accept standard HTML global attributes.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * Note: table-specific presentational attributes historically existed but are\n * obsolete in modern HTML. Consumers can still use {@link GlobalAttrs.attrs}\n * as an escape hatch where necessary, subject to Fundatio's security rules in\n * `dom.ts` (blocks inline event handlers and raw `style` attribute strings).\n *\n * @category Attributes\n */\nexport type TableAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link TableAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The table attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TableAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a table element with optional text content and global attributes.\n *\n * @remarks\n * - Table content is typically structured with child elements (`<caption>`,\n * `<thead>`, `<tbody>`, `<tr>`, `<th>`, `<td>`). This helper does not build\n * table structure, it only creates the `<table>` element.\n * - Optional text content is assigned via `textContent` (never `innerHTML`).\n * In real usage, prefer building actual table child elements rather than\n * relying on text content.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the table (generally discouraged).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<table>` element.\n *\n * @example\n * Create a table and append it:\n * ```ts\n * import { createTable } from \"@Vastare/Fundatio/elements/table/table\";\n *\n * const table = createTable(undefined, { className: \"data-table\" });\n * document.body.appendChild(table);\n * ```\n *\n * @category DOM\n */\nexport function createTable(text?: string, attrs?: TableAttrs): ElementOf<typeof TABLE_TAG> {\n return createElement(TABLE_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance table elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceTables(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for table.\n void root;\n}\n"],"names":["TABLE_TAG","TABLE_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createTable","text","createElement","enhanceTables","root"],"mappings":"0CAqEaA,EAAY,QAOZC,EAAiB,QAiC9B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CA+BO,SAASE,EAAYC,EAAeL,EAAiD,CAC1F,OAAOM,EAAAA,cAAcT,EAAWE,EAAcC,CAAK,EAAGK,CAAI,CAC5D,CAoBO,SAASE,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const b=require("./dom.cjs"),l="colgroup",s="colgroup";function p(t,e,o){Object.prototype.hasOwnProperty.call(t,e)||(t[e]=o)}function f(t){if(!t)return;const{aria:e,span:o,...i}=t,c=e?(()=>{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?n:void 0})():void 0,r={...i.attrs??{}};typeof o=="number"&&Number.isFinite(o)&&o>0&&p(r,"span",Math.trunc(o));const d=Object.keys(r).length>0;return{...i,...c?{aria:c}:null,...d?{attrs:r}:null}}function u(t){return b.createElement(l,f(t))}function a(t=document){}const O=Object.freeze(Object.defineProperty({__proto__:null,COLGROUP_SELECTOR:s,COLGROUP_TAG:l,createColgroup:u,enhanceColgroups:a},Symbol.toStringTag,{value:"Module"}));exports.COLGROUP_SELECTOR=s;exports.COLGROUP_TAG=l;exports.createColgroup=u;exports.enhanceColgroups=a;exports.index=O;
|
|
2
|
+
//# sourceMappingURL=index29.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index29.cjs","sources":["../../../src/elements/table/colgroup/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Colgroup element helpers.\n *\n * @remarks\n * The colgroup element (`<colgroup>`) represents a group of one or more columns\n * in a table and is primarily used to apply presentation (not structure) to\n * entire columns (typically via CSS). :contentReference[oaicite:1]{index=1}\n *\n * Best-practice guidance:\n * - Use `<colgroup>` (and optionally `<col>`) to apply column-level styling\n * without repeating styles across cells.\n * - Place `<colgroup>` inside a `<table>`, after any `<caption>` and before\n * `<thead>`, `<tbody>`, `<tfoot>`, or `<tr>`. :contentReference[oaicite:2]{index=2}\n * - Use the `span` attribute only when the `<colgroup>` contains no `<col>`\n * children; otherwise, define spans via `<col>` elements. :contentReference[oaicite:3]{index=3}\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<colgroup>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for colgroup elements.\n *\n * @category Constants\n */\nexport const COLGROUP_TAG = 'colgroup' as const;\n\n/**\n * A CSS selector targeting colgroup elements.\n *\n * @category Constants\n */\nexport const COLGROUP_SELECTOR = 'colgroup';\n\n/**\n * Attribute bag for colgroup creation/enhancement.\n *\n * @remarks\n * Colgroup elements accept standard HTML global attributes, plus:\n * - `span`: the number of consecutive columns in the group (when no `<col>`\n * children are present). :contentReference[oaicite:4]{index=4}\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type ColgroupAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Number of consecutive columns spanned by this column group.\n *\n * @remarks\n * This should be a positive integer. The HTML spec clamps values above 1000\n * and treats invalid/zero values as `1` in the table model. Fundatio does not\n * attempt to emulate the full table model at runtime; it sets the attribute\n * when you provide a valid positive integer. :contentReference[oaicite:5]{index=5}\n *\n * Note: Not permitted when the `<colgroup>` contains one or more `<col>`\n * elements. Fundatio does not enforce child-structure rules; consumers control\n * their DOM trees. :contentReference[oaicite:6]{index=6}\n */\n span?: number;\n};\n\n/**\n * Set an attribute only if it is not already present on the attribute bag.\n *\n * @remarks\n * This supports the Fundatio convention where explicit raw attributes provided via\n * {@link GlobalAttrs.attrs} are treated as the caller's final intent.\n *\n * @param attrs - The destination attributes object.\n * @param name - Attribute name.\n * @param value - Attribute value.\n *\n * @category Internal\n */\nfunction setIfUnset(\n attrs: NonNullable<GlobalAttrs['attrs']>,\n name: string,\n value: string | number | boolean,\n): void {\n if (Object.prototype.hasOwnProperty.call(attrs, name)) return;\n attrs[name] = value;\n}\n\n/**\n * Normalize {@link ColgroupAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The colgroup attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ColgroupAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, span, ...rest } = attrs;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> | undefined = aria\n ? (() => {\n const out: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') out.label = aria.label;\n if (typeof aria.labelledby === 'string') out.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') out.hidden = aria.hidden;\n\n return Object.keys(out).length > 0 ? out : undefined;\n })()\n : undefined;\n\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rest.attrs ?? {}) };\n\n // Apply `span` only when it is a valid positive integer.\n if (typeof span === 'number' && Number.isFinite(span) && span > 0) {\n // HTML defines span as an unsigned long; we keep it integer-ish.\n setIfUnset(mergedAttrs, 'span', Math.trunc(span));\n }\n\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n\n return {\n ...rest,\n ...(mappedAria ? { aria: mappedAria } : null),\n ...(hasMergedAttrs ? { attrs: mergedAttrs } : null),\n };\n}\n\n/**\n * Create a colgroup element with global attributes.\n *\n * @remarks\n * - `<colgroup>` should not contain text content; Fundatio does not accept a `text`\n * argument for this factory.\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<colgroup>` element.\n *\n * @example\n * Create a colgroup that spans two columns:\n * ```ts\n * import { createColgroup } from \"@Vastare/Fundatio/elements/table/colgroup\";\n *\n * const colgroup = createColgroup({ span: 2, className: \"cols\" });\n * table.appendChild(colgroup);\n * ```\n *\n * @category DOM\n */\nexport function createColgroup(attrs?: ColgroupAttrs): ElementOf<typeof COLGROUP_TAG> {\n return createElement(COLGROUP_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance colgroup elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceColgroups(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for colgroup.\n void root;\n}\n"],"names":["COLGROUP_TAG","COLGROUP_SELECTOR","setIfUnset","attrs","name","value","toGlobalAttrs","aria","span","rest","mappedAria","out","mergedAttrs","hasMergedAttrs","createColgroup","createElement","enhanceColgroups","root"],"mappings":"0CA+DaA,EAAe,WAOfC,EAAoB,WAsDjC,SAASC,EACPC,EACAC,EACAC,EACM,CACF,OAAO,UAAU,eAAe,KAAKF,EAAOC,CAAI,IACpDD,EAAMC,CAAI,EAAIC,EAChB,CAUA,SAASC,EAAcH,EAAgD,CACrE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAI,EAAM,KAAAC,EAAM,GAAGC,GAASN,EAE1BO,EAA2DH,GAC5D,IAAM,CACL,MAAMI,EAAwC,CAAA,EAC9C,OAAI,OAAOJ,EAAK,OAAU,WAAUI,EAAI,MAAQJ,EAAK,OACjD,OAAOA,EAAK,YAAe,WAAUI,EAAI,WAAaJ,EAAK,YAC3D,OAAOA,EAAK,QAAW,YAAWI,EAAI,OAASJ,EAAK,QAEjD,OAAO,KAAKI,CAAG,EAAE,OAAS,EAAIA,EAAM,MAC7C,KACA,OAEEC,EAAiD,CAAE,GAAIH,EAAK,OAAS,CAAA,CAAC,EAGxE,OAAOD,GAAS,UAAY,OAAO,SAASA,CAAI,GAAKA,EAAO,GAE9DN,EAAWU,EAAa,OAAQ,KAAK,MAAMJ,CAAI,CAAC,EAGlD,MAAMK,EAAiB,OAAO,KAAKD,CAAW,EAAE,OAAS,EAEzD,MAAO,CACL,GAAGH,EACH,GAAIC,EAAa,CAAE,KAAMA,GAAe,KACxC,GAAIG,EAAiB,CAAE,MAAOD,GAAgB,IAAA,CAElD,CA0BO,SAASE,EAAeX,EAAuD,CACpF,OAAOY,gBAAcf,EAAcM,EAAcH,CAAK,CAAC,CACzD,CAoBO,SAASa,EAAiBC,EAAmB,SAAgB,CAGpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index3.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const f=require("./dom.cjs"),a="col",i="col";function p(t){if(!t)return;const{aria:e,span:o,attrs:d,...b}=t,l={...b};if(e){const n={};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&&(l.aria=n)}const r={...d??{}};if(typeof o=="number"&&!Object.prototype.hasOwnProperty.call(r,"span")){if(!Number.isInteger(o)||o<=0)throw new Error('Invalid "span" for <col>: expected a positive integer greater than zero.');r.span=o}return Object.keys(r).length>0&&(l.attrs=r),l}function c(t){return f.createVoidElement(a,p(t))}function s(t=document){}const u=Object.freeze(Object.defineProperty({__proto__:null,COL_SELECTOR:i,COL_TAG:a,createCol:c,enhanceCols:s},Symbol.toStringTag,{value:"Module"}));exports.COL_SELECTOR=i;exports.COL_TAG=a;exports.createCol=c;exports.enhanceCols=s;exports.index=u;
|
|
2
|
+
//# sourceMappingURL=index30.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index30.cjs","sources":["../../../src/elements/table/col/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Col element helpers.\n *\n * @remarks\n * The col element (`<col>`) represents one or more columns in a table, and is\n * used to apply presentation (typically CSS) to columns as a group.\n *\n * Best-practice guidance:\n * - Use `<col>` only inside a `<colgroup>`.\n * - Use `<col>` for column-level styling (widths, background, etc.), not layout hacks.\n * - Don't rely on `<col>` for semantics or accessibility. Use proper table\n * structure (`<caption>`, `<th>`, `scope`/`headers`) for accessible data tables.\n * - Avoid obsolete presentational attributes; prefer CSS.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<col>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: `<col>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/col\n * - WHATWG HTML: Tables: https://html.spec.whatwg.org/multipage/tables.html\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 table column definitions.\n *\n * @category Constants\n */\nexport const COL_TAG = 'col' as const;\n\n/**\n * A CSS selector targeting col elements.\n *\n * @category Constants\n */\nexport const COL_SELECTOR = 'col';\n\n/**\n * Attribute bag for col creation/enhancement.\n *\n * @remarks\n * `<col>` supports standard HTML global attributes and one primary element\n * attribute: `span`.\n *\n * `span` specifies how many consecutive columns this `<col>` applies to.\n * If omitted, browsers treat it as `1`.\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 ColAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Number of consecutive columns this `<col>` element applies to.\n *\n * @remarks\n * Must be a positive integer greater than zero. If omitted, the browser default\n * is `1`.\n */\n span?: number;\n};\n\n/**\n * Normalize {@link ColAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The col attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ColAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, span, attrs: rawAttrs, ...rest } = attrs;\n\n const out: GlobalAttrs = { ...rest };\n\n // Map structured ARIA, only if something is actually defined.\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) out.aria = mappedAria;\n }\n\n // Preserve caller escape hatch, but allow Fundatio-typed fields to fill gaps.\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rawAttrs ?? {}) };\n\n // Only set `span` if provided AND caller didn't already set it via raw attrs.\n if (typeof span === 'number' && !Object.prototype.hasOwnProperty.call(mergedAttrs, 'span')) {\n // Spec constraint: positive integer > 0.\n if (!Number.isInteger(span) || span <= 0) {\n throw new Error('Invalid \"span\" for <col>: expected a positive integer greater than zero.');\n }\n mergedAttrs.span = span;\n }\n\n if (Object.keys(mergedAttrs).length > 0) out.attrs = mergedAttrs;\n\n return out;\n}\n\n/**\n * Create a col element (`<col>`) and apply global attributes.\n *\n * @remarks\n * `<col>` is a void element. It does not accept text content or children.\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 `<col>` element.\n *\n * @example\n * Create a `<col>` that spans 2 columns:\n * ```ts\n * import { createCol } from \"@Vastare/Fundatio/elements/table/col\";\n *\n * const col = createCol({ span: 2, className: \"numeric\" });\n * ```\n *\n * @category DOM\n */\nexport function createCol(attrs?: ColAttrs): ElementOf<typeof COL_TAG> {\n return createVoidElement(COL_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance col 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 enhanceCols(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for col.\n void root;\n}\n"],"names":["COL_TAG","COL_SELECTOR","toGlobalAttrs","attrs","aria","span","rawAttrs","rest","out","mappedAria","mergedAttrs","createCol","createVoidElement","enhanceCols","root"],"mappings":"0CAiEaA,EAAU,MAOVC,EAAe,MAyC5B,SAASC,EAAcC,EAA2C,CAChE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,MAAOC,EAAU,GAAGC,GAASJ,EAE3CK,EAAmB,CAAE,GAAGD,CAAA,EAG9B,GAAIH,EAAM,CACR,MAAMK,EAA+C,CAAA,EAEjD,OAAOL,EAAK,OAAU,WAAUK,EAAW,MAAQL,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUK,EAAW,WAAaL,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWK,EAAW,OAASL,EAAK,QAE3D,OAAO,KAAKK,CAAU,EAAE,OAAS,MAAO,KAAOA,EACrD,CAGA,MAAMC,EAAiD,CAAE,GAAIJ,GAAY,EAAC,EAG1E,GAAI,OAAOD,GAAS,UAAY,CAAC,OAAO,UAAU,eAAe,KAAKK,EAAa,MAAM,EAAG,CAE1F,GAAI,CAAC,OAAO,UAAUL,CAAI,GAAKA,GAAQ,EACrC,MAAM,IAAI,MAAM,0EAA0E,EAE5FK,EAAY,KAAOL,CACrB,CAEA,OAAI,OAAO,KAAKK,CAAW,EAAE,OAAS,MAAO,MAAQA,GAE9CF,CACT,CAyBO,SAASG,EAAUR,EAA6C,CACrE,OAAOS,oBAAkBZ,EAASE,EAAcC,CAAK,CAAC,CACxD,CAYO,SAASU,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const i=require("./dom.cjs"),o="thead",r="thead";function c(t){if(!t)return;const{aria:e,...a}=t;if(!e)return a;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?{...a,aria:n}:a}function d(t){return i.createElement(o,c(t))}function l(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,THEAD_SELECTOR:r,THEAD_TAG:o,createThead:d,enhanceTheads:l},Symbol.toStringTag,{value:"Module"}));exports.THEAD_SELECTOR=r;exports.THEAD_TAG=o;exports.createThead=d;exports.enhanceTheads=l;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index31.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index31.cjs","sources":["../../../src/elements/table/thead/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Thead element helpers.\n *\n * @remarks\n * The thead element (`<thead>`) represents the block of rows that form the\n * column headers (and related header-area rows) for a table.\n *\n * Best-practice guidance:\n * - Use `<thead>` to group header rows, typically using `<th>` cells for headers.\n * - Keep the table structure logical: `<caption>` (optional), then `<colgroup>`\n * (optional), then `<thead>`, then `<tbody>`/`<tfoot>` as needed.\n * - Avoid deprecated presentational attributes (e.g. `align`) and use CSS instead.\n * - Prefer native table semantics; only use ARIA when you cannot express the\n * intended structure using proper table markup.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<thead>` 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 thead elements.\n *\n * @category Constants\n */\nexport const THEAD_TAG = 'thead' as const;\n\n/**\n * A CSS selector targeting thead elements.\n *\n * @category Constants\n */\nexport const THEAD_SELECTOR = 'thead';\n\n/**\n * Attribute bag for thead creation/enhancement.\n *\n * @remarks\n * Thead 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 * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type TheadAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link TheadAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The thead attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TheadAttrs): 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 thead element with global attributes.\n *\n * @remarks\n * - `<thead>` is a structural table element. Fundatio does not accept a text argument\n * for this factory. Populate it with `<tr>` and header cells (`<th>`) as needed.\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 `<thead>` element.\n *\n * @example\n * Create and append a thead:\n * ```ts\n * import { createThead } from \"@Vastare/Fundatio/elements/table/thead\";\n *\n * const thead = createThead({ className: \"table-head\" });\n * table.appendChild(thead);\n * ```\n *\n * @category DOM\n */\nexport function createThead(attrs?: TheadAttrs): ElementOf<typeof THEAD_TAG> {\n return createElement(THEAD_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance thead 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 enhanceTheads(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for thead.\n void root;\n}\n"],"names":["THEAD_TAG","THEAD_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createThead","createElement","enhanceTheads","root"],"mappings":"0CA8DaA,EAAY,QAOZC,EAAiB,QAgC9B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CA0BO,SAASE,EAAYJ,EAAiD,CAC3E,OAAOK,gBAAcR,EAAWE,EAAcC,CAAK,CAAC,CACtD,CAoBO,SAASM,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const a=require("./dom.cjs"),r="tbody",d="tbody";function b(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 i(t,e){return a.createElement(r,b(e),t)}function l(t=document){}const c=Object.freeze(Object.defineProperty({__proto__:null,TBODY_SELECTOR:d,TBODY_TAG:r,createTbody:i,enhanceTbodies:l},Symbol.toStringTag,{value:"Module"}));exports.TBODY_SELECTOR=d;exports.TBODY_TAG=r;exports.createTbody=i;exports.enhanceTbodies=l;exports.index=c;
|
|
2
|
+
//# sourceMappingURL=index32.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index32.cjs","sources":["../../../src/elements/table/tbody/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Tbody element helpers.\n *\n * @remarks\n * The tbody element (`<tbody>`) represents a block of rows that make up the main\n * body of a table's data.\n *\n * Best-practice guidance:\n * - Use tables for data, not layout.\n * - Group rows meaningfully with `<thead>`, `<tbody>`, and `<tfoot>`.\n * - Prefer semantic headers via `<th>` (with appropriate `scope`/`headers`)\n * and provide a `<caption>` for accessible tables.\n * - Avoid obsolete presentational attributes (e.g. `align`, `valign`, `char`,\n * `charoff`). Use CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<tbody>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: `<tbody>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/tbody\n * - WHATWG HTML: Tables: https://html.spec.whatwg.org/multipage/tables.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for table body sections.\n *\n * @category Constants\n */\nexport const TBODY_TAG = 'tbody' as const;\n\n/**\n * A CSS selector targeting tbody elements.\n *\n * @category Constants\n */\nexport const TBODY_SELECTOR = 'tbody';\n\n/**\n * Attribute bag for tbody creation/enhancement.\n *\n * @remarks\n * `<tbody>` 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 * Note: some legacy presentational attributes existed historically for table\n * sections, but are obsolete. Consumers can still use {@link GlobalAttrs.attrs}\n * as an escape hatch where necessary, subject to Fundatio's security rules in\n * `dom.ts` (blocks inline event handlers and raw `style` attribute strings).\n *\n * @category Attributes\n */\nexport type TbodyAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link TbodyAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The tbody attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TbodyAttrs): 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 tbody element with optional text content and global attributes.\n *\n * @remarks\n * - In real usage, `<tbody>` should contain `<tr>` rows (not text).\n * - Optional 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 tbody (generally discouraged).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<tbody>` element.\n *\n * @example\n * ```ts\n * import { createTbody } from \"@Vastare/Fundatio/elements/table/tbody\";\n *\n * const tbody = createTbody(undefined, { className: \"data-body\" });\n * ```\n *\n * @category DOM\n */\nexport function createTbody(text?: string, attrs?: TbodyAttrs): ElementOf<typeof TBODY_TAG> {\n return createElement(TBODY_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance tbody 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 enhanceTbodies(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for tbody.\n void root;\n}\n"],"names":["TBODY_TAG","TBODY_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createTbody","text","createElement","enhanceTbodies","root"],"mappings":"0CAkEaA,EAAY,QAOZC,EAAiB,QAiC9B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAyBO,SAASE,EAAYC,EAAeL,EAAiD,CAC1F,OAAOM,EAAAA,cAAcT,EAAWE,EAAcC,CAAK,EAAGK,CAAI,CAC5D,CAoBO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="tfoot",l="tfoot";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){return c.createElement(r,d(t))}function i(t=document){}const f=Object.freeze(Object.defineProperty({__proto__:null,TFOOT_SELECTOR:l,TFOOT_TAG:r,createTfoot:a,enhanceTfoots:i},Symbol.toStringTag,{value:"Module"}));exports.TFOOT_SELECTOR=l;exports.TFOOT_TAG=r;exports.createTfoot=a;exports.enhanceTfoots=i;exports.index=f;
|
|
2
|
+
//# sourceMappingURL=index33.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index33.cjs","sources":["../../../src/elements/table/tfoot/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Tfoot element helpers.\n *\n * @remarks\n * The tfoot element (`<tfoot>`) encapsulates a set of table rows (`<tr>`) that\n * comprise the footer of a table, typically containing column summaries such as\n * totals or other aggregate values. :contentReference[oaicite:1]{index=1}\n *\n * Best-practice guidance:\n * - Use `<tfoot>` for footer rows (summaries/totals), and keep the table's\n * structure logical with `<thead>` for headers and `<tbody>` for body rows.\n * - Many guides recommend placing `<tfoot>` after `<tbody>` for readability. :contentReference[oaicite:2]{index=2}\n * - Avoid deprecated presentational attributes and use CSS instead.\n * - Prefer native table semantics; only use ARIA when you cannot express the\n * intended structure using proper table markup.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<tfoot>` 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 tfoot elements.\n *\n * @category Constants\n */\nexport const TFOOT_TAG = 'tfoot' as const;\n\n/**\n * A CSS selector targeting tfoot elements.\n *\n * @category Constants\n */\nexport const TFOOT_SELECTOR = 'tfoot';\n\n/**\n * Attribute bag for tfoot creation/enhancement.\n *\n * @remarks\n * Tfoot 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 * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type TfootAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link TfootAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The tfoot attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TfootAttrs): 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 tfoot element with global attributes.\n *\n * @remarks\n * - `<tfoot>` is a structural table element. Fundatio does not accept a text argument\n * for this factory. Populate it with `<tr>` (and cells) as needed.\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 `<tfoot>` element.\n *\n * @example\n * Create and append a tfoot:\n * ```ts\n * import { createTfoot } from \"@Vastare/Fundatio/elements/table/tfoot\";\n *\n * const tfoot = createTfoot({ className: \"table-foot\" });\n * table.appendChild(tfoot);\n * ```\n *\n * @category DOM\n */\nexport function createTfoot(attrs?: TfootAttrs): ElementOf<typeof TFOOT_TAG> {\n return createElement(TFOOT_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance tfoot 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 enhanceTfoots(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for tfoot.\n void root;\n}\n"],"names":["TFOOT_TAG","TFOOT_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createTfoot","createElement","enhanceTfoots","root"],"mappings":"0CA+DaA,EAAY,QAOZC,EAAiB,QAgC9B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CA0BO,SAASE,EAAYJ,EAAiD,CAC3E,OAAOK,gBAAcR,EAAWE,EAAcC,CAAK,CAAC,CACtD,CAoBO,SAASM,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),o="tr",l="tr";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,e){return c.createElement(o,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,TR_SELECTOR:l,TR_TAG:o,createTr:a,enhanceTrs:i},Symbol.toStringTag,{value:"Module"}));exports.TR_SELECTOR=l;exports.TR_TAG=o;exports.createTr=a;exports.enhanceTrs=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index34.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index34.cjs","sources":["../../../src/elements/table/tr/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Tr element helpers.\n *\n * @remarks\n * The tr element (`<tr>`) represents a row of cells within a table section.\n * A row typically contains `<td>` and/or `<th>` elements.\n *\n * Best-practice guidance:\n * - Use tables for data, not layout.\n * - Group rows with `<thead>`, `<tbody>`, and `<tfoot>` for clearer structure.\n * - Use `<th>` for header cells (and `scope`/`headers` where appropriate) for\n * accessible tables.\n * - Avoid obsolete presentational attributes on table elements (e.g. `align`,\n * `bgcolor`, `valign`). Use CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<tr>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: `<tr>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/tr\n * - WHATWG HTML: Tables: https://html.spec.whatwg.org/multipage/tables.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for table rows.\n *\n * @category Constants\n */\nexport const TR_TAG = 'tr' as const;\n\n/**\n * A CSS selector targeting tr elements.\n *\n * @category Constants\n */\nexport const TR_SELECTOR = 'tr';\n\n/**\n * Attribute bag for tr creation/enhancement.\n *\n * @remarks\n * `<tr>` 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 * Note: legacy presentational attributes historically existed for table rows,\n * but are obsolete. Consumers can still use {@link GlobalAttrs.attrs} as an\n * escape hatch where necessary, subject to Fundatio's security rules in `dom.ts`\n * (blocks inline event handlers and raw `style` attribute strings).\n *\n * @category Attributes\n */\nexport type TrAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link TrAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The tr attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TrAttrs): 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 tr element with optional text content and global attributes.\n *\n * @remarks\n * - In real usage, `<tr>` should contain `<td>` and/or `<th>` cells (not text).\n * - Optional 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 row (generally discouraged).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<tr>` element.\n *\n * @example\n * ```ts\n * import { createTr } from \"@Vastare/Fundatio/elements/table/tr\";\n *\n * const row = createTr(undefined, { className: \"row\" });\n * ```\n *\n * @category DOM\n */\nexport function createTr(text?: string, attrs?: TrAttrs): ElementOf<typeof TR_TAG> {\n return createElement(TR_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance tr 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 enhanceTrs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for tr.\n void root;\n}\n"],"names":["TR_TAG","TR_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createTr","text","createElement","enhanceTrs","root"],"mappings":"0CAkEaA,EAAS,KAOTC,EAAc,KAiC3B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAyBO,SAASE,EAASC,EAAeL,EAA2C,CACjF,OAAOM,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,EAAGK,CAAI,CACzD,CAoBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const g=require("./dom.cjs"),b="th",d="th";function i(t,e,r){Object.prototype.hasOwnProperty.call(t,e)||(t[e]=r)}function T(t){if(!t)return;const{aria:e,abbr:r,colspan:s,rowspan:l,headers:a,scope:c,...f}=t,u=e?(()=>{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?o:void 0})():void 0,n={...f.attrs??{}};typeof r=="string"&&r.length>0&&i(n,"abbr",r),typeof a=="string"&&a.length>0&&i(n,"headers",a),typeof c=="string"&&c.length>0&&i(n,"scope",c),typeof s=="number"&&Number.isFinite(s)&&s>0&&i(n,"colspan",Math.trunc(s)),typeof l=="number"&&Number.isFinite(l)&&l>0&&i(n,"rowspan",Math.trunc(l));const y=Object.keys(n).length>0;return{...f,...u?{aria:u}:null,...y?{attrs:n}:null}}function h(t,e){return g.createElement(b,T(e),t)}function p(t=document){}const m=Object.freeze(Object.defineProperty({__proto__:null,TH_SELECTOR:d,TH_TAG:b,createTh:h,enhanceThs:p},Symbol.toStringTag,{value:"Module"}));exports.TH_SELECTOR=d;exports.TH_TAG=b;exports.createTh=h;exports.enhanceThs=p;exports.index=m;
|
|
2
|
+
//# sourceMappingURL=index35.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index35.cjs","sources":["../../../src/elements/table/th/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Th element helpers.\n *\n * @remarks\n * The th element (`<th>`) represents a header cell in a table row (`<tr>`).\n * It is used to label a group of related cells, typically via:\n * - `scope` for simple row/column headers\n * - `headers` for complex tables with multi-level or irregular headings\n *\n * Best-practice guidance:\n * - Prefer native table semantics (use `<th>` for headers, not `role=\"columnheader\"`).\n * - Use `scope` for simple tables (`row`, `col`, `rowgroup`, `colgroup`).\n * - For complex tables, use `id` on `<th>` cells and reference them with\n * `headers` from the related data cells (and sometimes header cells).\n * - Avoid deprecated presentational attributes and use CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<th>` cells 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 th elements.\n *\n * @category Constants\n */\nexport const TH_TAG = 'th' as const;\n\n/**\n * A CSS selector targeting th elements.\n *\n * @category Constants\n */\nexport const TH_SELECTOR = 'th';\n\n/**\n * Allowed `scope` values for `<th>`.\n *\n * @remarks\n * The HTML spec defines explicit keywords plus an automatic/default state.\n * Fundatio exposes the common keyword values and allows an explicit `\"auto\"` value\n * to match the spec's conceptual default state. Consumers control structure;\n * Fundatio does not attempt to enforce table-model anchoring constraints.\n *\n * @category Attributes\n */\nexport type ThScope = 'row' | 'col' | 'rowgroup' | 'colgroup' | 'auto';\n\n/**\n * Attribute bag for th creation/enhancement.\n *\n * @remarks\n * Th elements accept standard HTML global attributes, plus:\n * - `abbr`: an alternative label for the header cell (often abbreviated)\n * - `colspan`: number of columns the cell spans\n * - `rowspan`: number of rows the cell spans\n * - `headers`: space-separated IDs of `<th>` elements that apply to this cell\n * - `scope`: indicates the set of cells this header applies to (`row`, `col`, etc.)\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type ThAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Alternative label for the header cell.\n *\n * @remarks\n * Useful when the visible header text is long but needs a shorter label in\n * other contexts (e.g. when referenced as a header).\n */\n abbr?: string;\n\n /**\n * Number of columns the cell spans.\n *\n * @remarks\n * Must be a positive integer to be meaningful. Fundatio sets the attribute only\n * when you provide a finite value greater than 0.\n */\n colspan?: number;\n\n /**\n * Number of rows the cell spans.\n *\n * @remarks\n * Must be a positive integer to be meaningful. Fundatio sets the attribute only\n * when you provide a finite value greater than 0.\n */\n rowspan?: number;\n\n /**\n * Space-separated IDs of `<th>` elements that apply to this cell.\n *\n * @remarks\n * This is primarily used for complex tables where `scope` is insufficient.\n * Fundatio does not validate ID existence; consumers control their DOM trees.\n */\n headers?: string;\n\n /**\n * Indicates which cells the header cell applies to.\n *\n * @remarks\n * Use for simple row/column headers. For complex tables, prefer `headers`.\n */\n scope?: ThScope;\n};\n\n/**\n * Set an attribute only if it is not already present on the attribute bag.\n *\n * @remarks\n * This supports the Fundatio convention where explicit raw attributes provided via\n * {@link GlobalAttrs.attrs} are treated as the caller's final intent.\n *\n * @param attrs - The destination attributes object.\n * @param name - Attribute name.\n * @param value - Attribute value.\n *\n * @category Internal\n */\nfunction setIfUnset(\n attrs: NonNullable<GlobalAttrs['attrs']>,\n name: string,\n value: string | number | boolean,\n): void {\n if (Object.prototype.hasOwnProperty.call(attrs, name)) return;\n attrs[name] = value;\n}\n\n/**\n * Normalize {@link ThAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The th attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ThAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, abbr, colspan, rowspan, headers, scope, ...rest } = attrs;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> | undefined = aria\n ? (() => {\n const out: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') out.label = aria.label;\n if (typeof aria.labelledby === 'string') out.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') out.hidden = aria.hidden;\n\n return Object.keys(out).length > 0 ? out : undefined;\n })()\n : undefined;\n\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rest.attrs ?? {}) };\n\n if (typeof abbr === 'string' && abbr.length > 0) setIfUnset(mergedAttrs, 'abbr', abbr);\n if (typeof headers === 'string' && headers.length > 0)\n setIfUnset(mergedAttrs, 'headers', headers);\n\n if (typeof scope === 'string' && scope.length > 0) setIfUnset(mergedAttrs, 'scope', scope);\n\n if (typeof colspan === 'number' && Number.isFinite(colspan) && colspan > 0) {\n setIfUnset(mergedAttrs, 'colspan', Math.trunc(colspan));\n }\n\n if (typeof rowspan === 'number' && Number.isFinite(rowspan) && rowspan > 0) {\n setIfUnset(mergedAttrs, 'rowspan', Math.trunc(rowspan));\n }\n\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n\n return {\n ...rest,\n ...(mappedAria ? { aria: mappedAria } : null),\n ...(hasMergedAttrs ? { attrs: mergedAttrs } : null),\n };\n}\n\n/**\n * Create a th element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the header cell.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<th>` element.\n *\n * @example\n * Create a column header cell:\n * ```ts\n * import { createTh } from \"@Vastare/Fundatio/elements/table/th\";\n *\n * const th = createTh(\"Price\", { scope: \"col\" });\n * row.appendChild(th);\n * ```\n *\n * @category DOM\n */\nexport function createTh(text?: string, attrs?: ThAttrs): ElementOf<typeof TH_TAG> {\n return createElement(TH_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance th 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 enhanceThs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for th.\n void root;\n}\n"],"names":["TH_TAG","TH_SELECTOR","setIfUnset","attrs","name","value","toGlobalAttrs","aria","abbr","colspan","rowspan","headers","scope","rest","mappedAria","out","mergedAttrs","hasMergedAttrs","createTh","text","createElement","enhanceThs","root"],"mappings":"0CA+DaA,EAAS,KAOTC,EAAc,KAmG3B,SAASC,EACPC,EACAC,EACAC,EACM,CACF,OAAO,UAAU,eAAe,KAAKF,EAAOC,CAAI,IACpDD,EAAMC,CAAI,EAAIC,EAChB,CAUA,SAASC,EAAcH,EAA0C,CAC/D,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAI,EAAM,KAAAC,EAAM,QAAAC,EAAS,QAAAC,EAAS,QAAAC,EAAS,MAAAC,EAAO,GAAGC,CAAA,EAASV,EAE5DW,EAA2DP,GAC5D,IAAM,CACL,MAAMQ,EAAwC,CAAA,EAC9C,OAAI,OAAOR,EAAK,OAAU,WAAUQ,EAAI,MAAQR,EAAK,OACjD,OAAOA,EAAK,YAAe,WAAUQ,EAAI,WAAaR,EAAK,YAC3D,OAAOA,EAAK,QAAW,YAAWQ,EAAI,OAASR,EAAK,QAEjD,OAAO,KAAKQ,CAAG,EAAE,OAAS,EAAIA,EAAM,MAC7C,KACA,OAEEC,EAAiD,CAAE,GAAIH,EAAK,OAAS,CAAA,CAAC,EAExE,OAAOL,GAAS,UAAYA,EAAK,OAAS,GAAGN,EAAWc,EAAa,OAAQR,CAAI,EACjF,OAAOG,GAAY,UAAYA,EAAQ,OAAS,GAClDT,EAAWc,EAAa,UAAWL,CAAO,EAExC,OAAOC,GAAU,UAAYA,EAAM,OAAS,GAAGV,EAAWc,EAAa,QAASJ,CAAK,EAErF,OAAOH,GAAY,UAAY,OAAO,SAASA,CAAO,GAAKA,EAAU,GACvEP,EAAWc,EAAa,UAAW,KAAK,MAAMP,CAAO,CAAC,EAGpD,OAAOC,GAAY,UAAY,OAAO,SAASA,CAAO,GAAKA,EAAU,GACvER,EAAWc,EAAa,UAAW,KAAK,MAAMN,CAAO,CAAC,EAGxD,MAAMO,EAAiB,OAAO,KAAKD,CAAW,EAAE,OAAS,EAEzD,MAAO,CACL,GAAGH,EACH,GAAIC,EAAa,CAAE,KAAMA,GAAe,KACxC,GAAIG,EAAiB,CAAE,MAAOD,GAAgB,IAAA,CAElD,CA0BO,SAASE,EAASC,EAAehB,EAA2C,CACjF,OAAOiB,EAAAA,cAAcpB,EAAQM,EAAcH,CAAK,EAAGgB,CAAI,CACzD,CAoBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const u=require("./dom.cjs"),d="td",c="td";function g(n){if(!n)return;const{aria:t,colspan:o,rowspan:a,headers:l,attrs:b,...h}=n,i={...h};if(t){const e={};typeof t.label=="string"&&(e.label=t.label),typeof t.labelledby=="string"&&(e.labelledby=t.labelledby),typeof t.hidden=="boolean"&&(e.hidden=t.hidden),Object.keys(e).length>0&&(i.aria=e)}const r={...b??{}},s=e=>Object.prototype.hasOwnProperty.call(r,e);if(typeof o=="number"&&!s("colspan")){if(!Number.isInteger(o)||o<=0)throw new Error('Invalid "colspan" for <td>: expected a positive integer greater than zero.');r.colspan=o}if(typeof a=="number"&&!s("rowspan")){if(!Number.isInteger(a)||a<=0)throw new Error('Invalid "rowspan" for <td>: expected a positive integer greater than zero.');r.rowspan=a}if(typeof l=="string"&&!s("headers")){const e=l.trim();if(e.length===0)throw new Error('Invalid "headers" for <td>: expected a non-empty string.');r.headers=e}return Object.keys(r).length>0&&(i.attrs=r),i}function f(n,t){return u.createElement(d,g(t),n)}function p(n=document){}const y=Object.freeze(Object.defineProperty({__proto__:null,TD_SELECTOR:c,TD_TAG:d,createTd:f,enhanceTds:p},Symbol.toStringTag,{value:"Module"}));exports.TD_SELECTOR=c;exports.TD_TAG=d;exports.createTd=f;exports.enhanceTds=p;exports.index=y;
|
|
2
|
+
//# sourceMappingURL=index36.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index36.cjs","sources":["../../../src/elements/table/td/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Td element helpers.\n *\n * @remarks\n * The td element (`<td>`) represents a data cell in a table row (`<tr>`).\n *\n * Best-practice guidance:\n * - Use `<td>` for data cells and `<th>` for header cells.\n * - Provide a `<caption>` and properly marked header cells for accessible tables.\n * - Prefer simple tables. For complex tables with multi-level headers, use\n * the `headers` attribute to associate a `<td>` with one or more `<th>` IDs.\n * - Avoid obsolete presentational attributes (e.g. `align`, `bgcolor`, `valign`).\n * Use CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<td>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * References:\n * - MDN: `<td>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/td\n * - WHATWG HTML: Tables: https://html.spec.whatwg.org/multipage/tables.html\n * - W3C WAI: Tables (headers/id technique): https://www.w3.org/WAI/tutorials/tables/multi-level/\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 table data cells.\n *\n * @category Constants\n */\nexport const TD_TAG = 'td' as const;\n\n/**\n * A CSS selector targeting td elements.\n *\n * @category Constants\n */\nexport const TD_SELECTOR = 'td';\n\n/**\n * Attribute bag for td creation/enhancement.\n *\n * @remarks\n * In addition to global attributes, `<td>` participates in the table model via:\n * - `colspan`: number of columns spanned (positive integer)\n * - `rowspan`: number of rows spanned (positive integer)\n * - `headers`: space-separated list of `<th id=\"...\">` references for complex tables\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 TdAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Number of columns this cell spans.\n *\n * @remarks\n * Must be a positive integer greater than zero.\n */\n colspan?: number;\n\n /**\n * Number of rows this cell spans.\n *\n * @remarks\n * Must be a positive integer greater than zero.\n */\n rowspan?: number;\n\n /**\n * Space-separated list of header cell IDs (`<th id=\"...\">`) that apply to this cell.\n *\n * @remarks\n * This is typically only necessary for complex tables.\n */\n headers?: string;\n};\n\n/**\n * Normalize {@link TdAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The td attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TdAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, colspan, rowspan, headers, attrs: rawAttrs, ...rest } = attrs;\n\n const out: GlobalAttrs = { ...rest };\n\n // Map structured ARIA, only if something is actually defined.\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) out.aria = mappedAria;\n }\n\n // Preserve caller escape hatch, but allow Fundatio-typed fields to fill gaps.\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(rawAttrs ?? {}) };\n\n const hasOwn = (k: string) => Object.prototype.hasOwnProperty.call(mergedAttrs, k);\n\n if (typeof colspan === 'number' && !hasOwn('colspan')) {\n if (!Number.isInteger(colspan) || colspan <= 0) {\n throw new Error('Invalid \"colspan\" for <td>: expected a positive integer greater than zero.');\n }\n mergedAttrs.colspan = colspan;\n }\n\n if (typeof rowspan === 'number' && !hasOwn('rowspan')) {\n if (!Number.isInteger(rowspan) || rowspan <= 0) {\n throw new Error('Invalid \"rowspan\" for <td>: expected a positive integer greater than zero.');\n }\n mergedAttrs.rowspan = rowspan;\n }\n\n if (typeof headers === 'string' && !hasOwn('headers')) {\n const trimmed = headers.trim();\n if (trimmed.length === 0) {\n throw new Error('Invalid \"headers\" for <td>: expected a non-empty string.');\n }\n mergedAttrs.headers = trimmed;\n }\n\n if (Object.keys(mergedAttrs).length > 0) out.attrs = mergedAttrs;\n\n return out;\n}\n\n/**\n * Create a td element with optional text content and global attributes.\n *\n * @remarks\n * - In real usage, `<td>` contains text and/or phrasing content, but should never\n * be built via `innerHTML` from untrusted data.\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 td.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<td>` element.\n *\n * @example\n * ```ts\n * import { createTd } from \"@Vastare/Fundatio/elements/table/td\";\n *\n * const cell = createTd(\"42\", { colspan: 2 });\n * ```\n *\n * @category DOM\n */\nexport function createTd(text?: string, attrs?: TdAttrs): ElementOf<typeof TD_TAG> {\n return createElement(TD_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance td 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 enhanceTds(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for td.\n void root;\n}\n"],"names":["TD_TAG","TD_SELECTOR","toGlobalAttrs","attrs","aria","colspan","rowspan","headers","rawAttrs","rest","out","mappedAria","mergedAttrs","hasOwn","k","trimmed","createTd","text","createElement","enhanceTds","root"],"mappings":"0CAkEaA,EAAS,KAOTC,EAAc,KAuD3B,SAASC,EAAcC,EAA0C,CAC/D,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,QAAAC,EAAS,QAAAC,EAAS,MAAOC,EAAU,GAAGC,CAAA,EAASN,EAEhEO,EAAmB,CAAE,GAAGD,CAAA,EAG9B,GAAIL,EAAM,CACR,MAAMO,EAA+C,CAAA,EAEjD,OAAOP,EAAK,OAAU,WAAUO,EAAW,MAAQP,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUO,EAAW,WAAaP,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWO,EAAW,OAASP,EAAK,QAE3D,OAAO,KAAKO,CAAU,EAAE,OAAS,MAAO,KAAOA,EACrD,CAGA,MAAMC,EAAiD,CAAE,GAAIJ,GAAY,EAAC,EAEpEK,EAAUC,GAAc,OAAO,UAAU,eAAe,KAAKF,EAAaE,CAAC,EAEjF,GAAI,OAAOT,GAAY,UAAY,CAACQ,EAAO,SAAS,EAAG,CACrD,GAAI,CAAC,OAAO,UAAUR,CAAO,GAAKA,GAAW,EAC3C,MAAM,IAAI,MAAM,4EAA4E,EAE9FO,EAAY,QAAUP,CACxB,CAEA,GAAI,OAAOC,GAAY,UAAY,CAACO,EAAO,SAAS,EAAG,CACrD,GAAI,CAAC,OAAO,UAAUP,CAAO,GAAKA,GAAW,EAC3C,MAAM,IAAI,MAAM,4EAA4E,EAE9FM,EAAY,QAAUN,CACxB,CAEA,GAAI,OAAOC,GAAY,UAAY,CAACM,EAAO,SAAS,EAAG,CACrD,MAAME,EAAUR,EAAQ,KAAA,EACxB,GAAIQ,EAAQ,SAAW,EACrB,MAAM,IAAI,MAAM,0DAA0D,EAE5EH,EAAY,QAAUG,CACxB,CAEA,OAAI,OAAO,KAAKH,CAAW,EAAE,OAAS,MAAO,MAAQA,GAE9CF,CACT,CA0BO,SAASM,EAASC,EAAed,EAA2C,CACjF,OAAOe,EAAAA,cAAclB,EAAQE,EAAcC,CAAK,EAAGc,CAAI,CACzD,CAYO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),a="caption",i="caption";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 c.createElement(a,d(e),t)}function l(t=document){}const p=Object.freeze(Object.defineProperty({__proto__:null,CAPTION_SELECTOR:i,CAPTION_TAG:a,createCaption:r,enhanceCaptions:l},Symbol.toStringTag,{value:"Module"}));exports.CAPTION_SELECTOR=i;exports.CAPTION_TAG=a;exports.createCaption=r;exports.enhanceCaptions=l;exports.index=p;
|
|
2
|
+
//# sourceMappingURL=index37.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index37.cjs","sources":["../../../src/elements/table/caption/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Caption element helpers.\n *\n * @remarks\n * The caption element (`<caption>`) provides a title (caption) for its parent\n * `<table>`. It is an important accessibility feature because it gives the table\n * an accessible name or description when authored appropriately. :contentReference[oaicite:1]{index=1}\n *\n * Best-practice guidance:\n * - Use `<caption>` to describe the purpose of the table and help users decide\n * whether to read it. :contentReference[oaicite:2]{index=2}\n * - Place `<caption>` as the first child of the `<table>` in source order. :contentReference[oaicite:3]{index=3}\n * - Keep the caption concise but meaningful. For complex tables, captions can be\n * supplemented with additional explanatory text near the table (outside the\n * caption) when necessary. :contentReference[oaicite:4]{index=4}\n * - Avoid deprecated presentational attributes (e.g. legacy `align`) and use CSS instead. :contentReference[oaicite:5]{index=5}\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<caption>` 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 caption elements.\n *\n * @category Constants\n */\nexport const CAPTION_TAG = 'caption' as const;\n\n/**\n * A CSS selector targeting caption elements.\n *\n * @category Constants\n */\nexport const CAPTION_SELECTOR = 'caption';\n\n/**\n * Attribute bag for caption creation/enhancement.\n *\n * @remarks\n * Caption 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 * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type CaptionAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link CaptionAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The caption attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: CaptionAttrs): 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 caption 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 caption.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<caption>` element.\n *\n * @example\n * Create and prepend a caption to a table:\n * ```ts\n * import { createCaption } from \"@Vastare/Fundatio/elements/table/caption\";\n *\n * const table = document.createElement(\"table\");\n * table.prepend(createCaption(\"Quarterly results\"));\n * ```\n *\n * @category DOM\n */\nexport function createCaption(text?: string, attrs?: CaptionAttrs): ElementOf<typeof CAPTION_TAG> {\n return createElement(CAPTION_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance caption 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 enhanceCaptions(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for caption.\n void root;\n}\n"],"names":["CAPTION_TAG","CAPTION_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createCaption","text","createElement","enhanceCaptions","root"],"mappings":"0CAgEaA,EAAc,UAOdC,EAAmB,UAgChC,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 c=require("./dom.cjs"),r="h1",l="h1";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 a(t,e){return c.createElement(r,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,H1_SELECTOR:l,H1_TAG:r,createH1:a,enhanceH1s:i},Symbol.toStringTag,{value:"Module"}));exports.H1_SELECTOR=l;exports.H1_TAG=r;exports.createH1=a;exports.enhanceH1s=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index38.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index38.cjs","sources":["../../../src/elements/heading/h1/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: H1 element helpers.\n *\n * @remarks\n * The h1 element (`<h1>`) represents the highest-rank section heading.\n *\n * Best-practice guidance:\n * - Use headings to convey document structure, not for visual styling.\n * - Keep heading levels ordered (don't jump from `<h1>` to `<h3>` because you\n * like the font size). Use CSS for presentation.\n * - Prefer clear, succinct headings that describe the section that follows.\n * - Many accessibility guides recommend a single `<h1>` as the page/document's\n * primary heading. HTML allows multiple headings, but consistency matters.\n * - Don't rely on default browser heading styles; user-agent styles can change.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h1>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if 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: Heading elements: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements\n * - MDN: Headings and paragraphs: https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content/Headings_and_paragraphs\n * - W3C WAI: Headings: https://www.w3.org/WAI/tutorials/page-structure/headings/\n * - WHATWG HTML: Sections / heading content: https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 the primary heading element.\n *\n * @category Constants\n */\nexport const H1_TAG = 'h1' as const;\n\n/**\n * A CSS selector targeting h1 elements.\n *\n * @category Constants\n */\nexport const H1_SELECTOR = 'h1';\n\n/**\n * Attribute bag for h1 creation/enhancement.\n *\n * @remarks\n * H1 elements accept standard HTML global attributes.\n *\n * 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 H1Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H1Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h1 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H1Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h1 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h1>` element.\n *\n * @example\n * ```ts\n * import { createH1 } from \"@Vastare/Fundatio/elements/heading/h1\";\n *\n * document.body.prepend(createH1(\"Page title\", { id: \"title\" }));\n * ```\n *\n * @category DOM\n */\nexport function createH1(text?: string, attrs?: H1Attrs): ElementOf<typeof H1_TAG> {\n return createElement(H1_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h1 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceH1s(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for h1.\n void root;\n}\n"],"names":["H1_TAG","H1_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createH1","text","createElement","enhanceH1s","root"],"mappings":"0CAoEaA,EAAS,KAOTC,EAAc,KA4B3B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAwBO,SAASE,EAASC,EAAeL,EAA2C,CACjF,OAAOM,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,EAAGK,CAAI,CACzD,CAoBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="h2",l="h2";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 a(t,e){return c.createElement(r,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,H2_SELECTOR:l,H2_TAG:r,createH2:a,enhanceH2s:i},Symbol.toStringTag,{value:"Module"}));exports.H2_SELECTOR=l;exports.H2_TAG=r;exports.createH2=a;exports.enhanceH2s=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index39.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index39.cjs","sources":["../../../src/elements/heading/h2/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: H2 element helpers.\n *\n * @remarks\n * The h2 element (`<h2>`) represents a second-level heading. Headings define the\n * hierarchical structure of a document and provide navigational landmarks for\n * assistive technologies. :contentReference[oaicite:1]{index=1}\n *\n * Best-practice guidance:\n * - Use headings to represent structure, not visual styling.\n * - Prefer a logical hierarchy (e.g. `<h1>` then `<h2>`, then `<h3>`), and avoid\n * skipping levels purely for appearance. :contentReference[oaicite:2]{index=2}\n * - Keep headings concise and descriptive to support scanning and accessibility. :contentReference[oaicite:3]{index=3}\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h2>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if 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 h2 headings.\n *\n * @category Constants\n */\nexport const H2_TAG = 'h2' as const;\n\n/**\n * A CSS selector targeting h2 elements.\n *\n * @category Constants\n */\nexport const H2_SELECTOR = 'h2';\n\n/**\n * Attribute bag for h2 creation/enhancement.\n *\n * @remarks\n * H2 elements accept standard HTML global attributes.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * Security notes:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style} instead.\n *\n * @category Attributes\n */\nexport type H2Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H2Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h2 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H2Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h2 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 h2.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h2>` element.\n *\n * @example\n * Create and append a heading:\n * ```ts\n * import { createH2 } from \"@Vastare/Fundatio/elements/heading/h2\";\n *\n * document.body.appendChild(createH2(\"Section title\", { className: \"section-title\" }));\n * ```\n *\n * @category DOM\n */\nexport function createH2(text?: string, attrs?: H2Attrs): ElementOf<typeof H2_TAG> {\n return createElement(H2_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h2 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceH2s(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for h2.\n void root;\n}\n"],"names":["H2_TAG","H2_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createH2","text","createElement","enhanceH2s","root"],"mappings":"0CA6DaA,EAAS,KAOTC,EAAc,KAgC3B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAyBO,SAASE,EAASC,EAAeL,EAA2C,CACjF,OAAOM,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,EAAGK,CAAI,CACzD,CAoBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("./index19.cjs"),i=require("./index20.cjs"),n=require("./index21.cjs"),t=require("./index22.cjs"),d=require("./index23.cjs"),m=require("./index24.cjs"),r=require("./index25.cjs"),s=require("./index26.cjs"),o=require("./index27.cjs"),_=Object.freeze(Object.defineProperty({__proto__:null,audio:o.index,canvas:t.index,embed:m.index,iframe:d.index,img:e.index,math:n.index,object:r.index,svg:i.index,video:s.index},Symbol.toStringTag,{value:"Module"}));exports.index=_;
|
|
2
|
+
//# sourceMappingURL=index4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index4.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="h3",l="h3";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 a(t,e){return c.createElement(r,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,H3_SELECTOR:l,H3_TAG:r,createH3:a,enhanceH3s:i},Symbol.toStringTag,{value:"Module"}));exports.H3_SELECTOR=l;exports.H3_TAG=r;exports.createH3=a;exports.enhanceH3s=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index40.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index40.cjs","sources":["../../../src/elements/heading/h3/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: H3 element helpers.\n *\n * @remarks\n * The h3 element (`<h3>`) represents a third-rank section heading.\n *\n * Best-practice guidance:\n * - Use headings to convey document structure, not for visual styling.\n * - Keep heading levels ordered (don't jump from `<h2>` to `<h4>` because you\n * like the font size). Use CSS for presentation.\n * - Ensure headings describe the section content that follows.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h3>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if 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: Heading elements: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements\n * - W3C WAI: Headings: https://www.w3.org/WAI/tutorials/page-structure/headings/\n * - WHATWG HTML: Sections / heading content: https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 third-level headings.\n *\n * @category Constants\n */\nexport const H3_TAG = 'h3' as const;\n\n/**\n * A CSS selector targeting h3 elements.\n *\n * @category Constants\n */\nexport const H3_SELECTOR = 'h3';\n\n/**\n * Attribute bag for h3 creation/enhancement.\n *\n * @remarks\n * H3 elements accept standard HTML global attributes.\n *\n * 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 H3Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H3Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h3 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H3Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h3 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h3>` element.\n *\n * @example\n * ```ts\n * import { createH3 } from \"@Vastare/Fundatio/elements/heading/h3\";\n *\n * const h = createH3(\"Section heading\", { id: \"section\" });\n * ```\n *\n * @category DOM\n */\nexport function createH3(text?: string, attrs?: H3Attrs): ElementOf<typeof H3_TAG> {\n return createElement(H3_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h3 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceH3s(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for h3.\n void root;\n}\n"],"names":["H3_TAG","H3_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createH3","text","createElement","enhanceH3s","root"],"mappings":"0CAgEaA,EAAS,KAOTC,EAAc,KA4B3B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAwBO,SAASE,EAASC,EAAeL,EAA2C,CACjF,OAAOM,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,EAAGK,CAAI,CACzD,CAoBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="h4",l="h4";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 i(t,e){return c.createElement(r,d(e),t)}function a(t=document){}const b=Object.freeze(Object.defineProperty({__proto__:null,H4_SELECTOR:l,H4_TAG:r,createH4:i,enhanceH4s:a},Symbol.toStringTag,{value:"Module"}));exports.H4_SELECTOR=l;exports.H4_TAG=r;exports.createH4=i;exports.enhanceH4s=a;exports.index=b;
|
|
2
|
+
//# sourceMappingURL=index41.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index41.cjs","sources":["../../../src/elements/heading/h4/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: H4 element helpers.\n *\n * @remarks\n * The `<h4>` element represents a level 4 section heading.\n *\n * Best-practice guidance:\n * - Use headings to communicate structure, not visual styling.\n * - Avoid skipping heading levels in a way that breaks hierarchy (e.g. `h2` → `h4`).\n * - Keep headings descriptive and concise for accessibility.\n * - Prefer CSS for appearance; headings are about semantics.\n *\n * This module:\n * - Creates `<h4>` elements via Fundatio's hardened DOM helpers (no direct DOM calls).\n * - Applies a curated subset of global attributes safely.\n * - Supports a small, typed structured ARIA input mapped into `aria-*`.\n * - Exposes a stable enhancement hook (currently a no-op) for API consistency.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 `<h4>`.\n *\n * @category Constants\n */\nexport const H4_TAG = 'h4' as const;\n\n/**\n * A CSS selector targeting `<h4>` elements.\n *\n * @category Constants\n */\nexport const H4_SELECTOR = 'h4';\n\n/**\n * Attribute bag for `<h4>` creation/enhancement.\n *\n * @remarks\n * `<h4>` supports HTML global attributes only.\n *\n * 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 H4Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H4Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The `<h4>` attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H4Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n return Object.keys(mappedAria).length > 0 ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an `<h4>` element with optional text content and global attributes.\n *\n * @remarks\n * - Text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h4>` element.\n *\n * @example\n * ```ts\n * import { createH4 } from \"@Vastare/Fundatio/elements/heading/h4\";\n *\n * const h = createH4(\"Details\", { id: \"details-heading\" });\n * ```\n *\n * @category DOM\n */\nexport function createH4(text?: string, attrs?: H4Attrs): ElementOf<typeof H4_TAG> {\n return createElement(H4_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance `<h4>` elements within a given root.\n *\n * @remarks\n * Intentionally a no-op in `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 enhanceH4s(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for h4.\n void root;\n}\n"],"names":["H4_TAG","H4_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createH4","text","createElement","enhanceH4s","root"],"mappings":"0CAyDaA,EAAS,KAOTC,EAAc,KA4B3B,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,QAExD,OAAO,KAAKE,CAAU,EAAE,OAAS,EAAI,CAAE,GAAGD,EAAM,KAAMC,CAAA,EAAeD,CAC9E,CAyBO,SAASE,EAASC,EAAeL,EAA2C,CACjF,OAAOM,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,EAAGK,CAAI,CACzD,CAaO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="h5",l="h5";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 a(t,e){return c.createElement(r,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,H5_SELECTOR:l,H5_TAG:r,createH5:a,enhanceH5s:i},Symbol.toStringTag,{value:"Module"}));exports.H5_SELECTOR=l;exports.H5_TAG=r;exports.createH5=a;exports.enhanceH5s=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index42.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index42.cjs","sources":["../../../src/elements/heading/h5/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: H5 element helpers.\n *\n * @remarks\n * The h5 element (`<h5>`) represents a fifth-rank section heading.\n *\n * Best-practice guidance:\n * - Use headings to communicate document structure, not visual styling.\n * - Keep heading levels ordered (don't jump from `<h2>` to `<h5>` because you\n * like the font size). Use CSS for presentation.\n * - Ensure headings accurately describe the section content that follows.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<h5>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if 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: Heading elements: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/Heading_Elements\n * - W3C WAI: Headings: https://www.w3.org/WAI/tutorials/page-structure/headings/\n * - WHATWG HTML: Sections / heading content: https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 fifth-level headings.\n *\n * @category Constants\n */\nexport const H5_TAG = 'h5' as const;\n\n/**\n * A CSS selector targeting h5 elements.\n *\n * @category Constants\n */\nexport const H5_SELECTOR = 'h5';\n\n/**\n * Attribute bag for h5 creation/enhancement.\n *\n * @remarks\n * H5 elements accept standard HTML global attributes.\n *\n * 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 H5Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H5Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h5 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H5Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h5 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h5>` element.\n *\n * @example\n * ```ts\n * import { createH5 } from \"@Vastare/Fundatio/elements/heading/h5\";\n *\n * const h = createH5(\"Subsection heading\");\n * ```\n *\n * @category DOM\n */\nexport function createH5(text?: string, attrs?: H5Attrs): ElementOf<typeof H5_TAG> {\n return createElement(H5_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h5 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceH5s(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for h5.\n void root;\n}\n"],"names":["H5_TAG","H5_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createH5","text","createElement","enhanceH5s","root"],"mappings":"0CAgEaA,EAAS,KAOTC,EAAc,KA4B3B,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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAwBO,SAASE,EAASC,EAAeL,EAA2C,CACjF,OAAOM,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,EAAGK,CAAI,CACzD,CAoBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="h6",l="h6";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 a(t,e){return c.createElement(r,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,H6_SELECTOR:l,H6_TAG:r,createH6:a,enhanceH6s:i},Symbol.toStringTag,{value:"Module"}));exports.H6_SELECTOR=l;exports.H6_TAG=r;exports.createH6=a;exports.enhanceH6s=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index43.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index43.cjs","sources":["../../../src/elements/heading/h6/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: H6 element helpers.\n *\n * @remarks\n * The h6 element (`<h6>`) represents the lowest-ranked section heading.\n *\n * Best-practice guidance:\n * - Use headings to convey document structure, not visual styling.\n * - Do not choose heading levels based on appearance; use CSS for styling.\n * - Avoid skipping heading levels (e.g. jumping from `<h2>` to `<h6>`), unless the\n * document structure genuinely calls for it.\n * - Keep headings short and descriptive to support accessibility navigation.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create heading elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if 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/Reference/Elements/Heading_Elements\n * @see https://html.spec.whatwg.org/multipage/sections.html\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 h6 headings.\n *\n * @category Constants\n */\nexport const H6_TAG = 'h6' as const;\n\n/**\n * A CSS selector targeting h6 elements.\n *\n * @category Constants\n */\nexport const H6_SELECTOR = 'h6';\n\n/**\n * Attribute bag for h6 creation/enhancement.\n *\n * @remarks\n * `<h6>` accepts standard HTML global attributes.\n *\n * 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 H6Attrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link H6Attrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The h6 attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: H6Attrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an h6 element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 heading.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<h6>` element.\n *\n * @example\n * ```ts\n * import { createH6 } from \"@Vastare/Fundatio/elements/heading/h6\";\n *\n * const heading = createH6(\"Minor heading\", { id: \"minor\" });\n * ```\n *\n * @category DOM\n */\nexport function createH6(text?: string, attrs?: H6Attrs): ElementOf<typeof H6_TAG> {\n return createElement(H6_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance h6 elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceH6s(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for h6.\n void root;\n}\n"],"names":["H6_TAG","H6_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createH6","text","createElement","enhanceH6s","root"],"mappings":"0CA+DaA,EAAS,KAOTC,EAAc,KA4B3B,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,CAwBO,SAASE,EAASC,EAAeL,EAA2C,CACjF,OAAOM,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,EAAGK,CAAI,CACzD,CAcO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|