@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":"index66.cjs","sources":["../../../src/elements/inline/ruby/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: ruby element helpers.\n *\n * @remarks\n * The ruby element (`<ruby>`) represents ruby annotations: small annotation text\n * rendered above, below, or next to base text (commonly used for pronunciation,\n * transliteration, or translation in East Asian typography).\n *\n * Best-practice guidance:\n * - Prefer correct ruby structure: base text followed by `<rt>` for annotation text.\n * - Use `<rp>` to provide fallback parentheses for user agents that do not support\n * ruby rendering. Modern browsers generally ignore `<rp>` when ruby is supported,\n * but it improves graceful degradation.\n * - For complex ruby (multiple base segments / multiple annotations), consider\n * using `<rb>` to delimit base segments and `<rtc>` for semantic annotation groupings.\n * - Avoid using `innerHTML` for untrusted content. Fundatio assigns text via `textContent`.\n *\n * Attributes:\n * - `<ruby>` has no element-specific attributes in HTML. It accepts global\n * attributes only.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<ruby>` 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/ruby\n * @see https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-ruby-element\n * @see https://www.w3.org/TR/ruby-use-cases/\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for ruby annotation containers.\n *\n * @category Constants\n */\nexport const RUBY_TAG = 'ruby' as const;\n\n/**\n * A CSS selector targeting ruby elements.\n *\n * @category Constants\n */\nexport const RUBY_SELECTOR = 'ruby';\n\n/**\n * Attribute bag for ruby creation/enhancement.\n *\n * @remarks\n * `<ruby>` 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 * Security note:\n * - Inline event handler attributes (e.g. `onclick`) are blocked by `dom.ts`.\n * - The raw `style` attribute is blocked; use {@link GlobalAttrs.style}.\n *\n * @category Attributes\n */\nexport type RubyAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link RubyAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The ruby attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: RubyAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a ruby element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * Note:\n * - `<ruby>` typically contains mixed children (`<rt>`, `<rp>`, `<rb>`, etc.).\n * The `text` argument is a convenience for simple cases; consumers can append\n * richer child nodes afterwards.\n *\n * @param text - Optional text content for the ruby element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<ruby>` element.\n *\n * @example\n * ```ts\n * import { createRuby } from \"@Vastare/Fundatio/elements/inline/ruby\";\n *\n * const ruby = createRuby();\n * ruby.append(\n * document.createTextNode(\"漢\"),\n * document.createElement(\"rt\")\n * );\n * ```\n *\n * @category DOM\n */\nexport function createRuby(text?: string, attrs?: RubyAttrs): ElementOf<typeof RUBY_TAG> {\n return createElement(RUBY_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance ruby 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 enhanceRubies(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for ruby.\n void root;\n}\n"],"names":["RUBY_TAG","RUBY_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createRuby","text","createElement","enhanceRubies","root"],"mappings":"0CAwEaA,EAAW,OAOXC,EAAgB,OAgC7B,SAASC,EAAcC,EAA4C,CACjE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAE7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAiCO,SAASE,EAAWC,EAAeL,EAA+C,CACvF,OAAOM,EAAAA,cAAcT,EAAUE,EAAcC,CAAK,EAAGK,CAAI,CAC3D,CAoBO,SAASE,EAAcC,EAAmB,SAAgB,CAGjE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="s",l="s";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,S_SELECTOR:l,S_TAG:r,createS:a,enhanceSs:i},Symbol.toStringTag,{value:"Module"}));exports.S_SELECTOR=l;exports.S_TAG=r;exports.createS=a;exports.enhanceSs=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index67.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index67.cjs","sources":["../../../src/elements/inline/s/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: S (strikethrough) element helpers.\n *\n * @remarks\n * The s element (`<s>`) represents content that is no longer accurate or no\n * longer relevant. It is a presentational indicator of \"this isn't current\"\n * rather than an edit-tracking semantic.\n *\n * Best-practice guidance:\n * - Use `<s>` for \"no longer relevant/accurate\" text (e.g. outdated pricing).\n * - Use `<del>` when you mean \"this was removed\" (edit history / document diff semantics).\n * - Do not use `<s>` as a substitute for emphasis; use appropriate semantics and CSS.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<s>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for s elements.\n *\n * @category Constants\n */\nexport const S_TAG = 's' as const;\n\n/**\n * A CSS selector targeting s elements.\n *\n * @category Constants\n */\nexport const S_SELECTOR = 's';\n\n/**\n * Attribute bag for s creation/enhancement.\n *\n * @remarks\n * The `<s>` element accepts standard HTML global attributes.\n *\n * 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 SAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The s attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an s element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<s>` element.\n *\n * @example\n * ```ts\n * import { createS } from \"@Vastare/Fundatio/elements/inline/s\";\n *\n * const el = createS(\"£199\", { className: \"old-price\" });\n * document.body.appendChild(el);\n * ```\n *\n * @category DOM\n */\nexport function createS(text?: string, attrs?: SAttrs): ElementOf<typeof S_TAG> {\n return createElement(S_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance s elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceSs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for s.\n void root;\n}\n"],"names":["S_TAG","S_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createS","text","createElement","enhanceSs","root"],"mappings":"0CA8DaA,EAAQ,IAORC,EAAa,IA4B1B,SAASC,EAAcC,EAAyC,CAC9D,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,EAAQC,EAAeL,EAAyC,CAC9E,OAAOM,EAAAA,cAAcT,EAAOE,EAAcC,CAAK,EAAGK,CAAI,CACxD,CAoBO,SAASE,EAAUC,EAAmB,SAAgB,CAG7D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),o="samp",r="samp";function d(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 l(t,e){return c.createElement(o,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,SAMP_SELECTOR:r,SAMP_TAG:o,createSamp:l,enhanceSamps:i},Symbol.toStringTag,{value:"Module"}));exports.SAMP_SELECTOR=r;exports.SAMP_TAG=o;exports.createSamp=l;exports.enhanceSamps=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index68.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index68.cjs","sources":["../../../src/elements/inline/samp/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Samp element helpers.\n *\n * @remarks\n * The samp element (`<samp>`) represents sample (or quoted) output from another\n * program or computing system.\n *\n * Best-practice guidance:\n * - Use `<samp>` for *output* (what the computer/system printed).\n * - Use `<kbd>` for user input (what the user typed/pressed).\n * - Use `<code>` for code fragments (source code).\n * - Use CSS for presentation; semantics should match meaning.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create samp nodes in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 sample output.\n *\n * @category Constants\n */\nexport const SAMP_TAG = 'samp' as const;\n\n/**\n * A CSS selector targeting samp elements.\n *\n * @category Constants\n */\nexport const SAMP_SELECTOR = 'samp';\n\n/**\n * Attribute bag for samp creation/enhancement.\n *\n * @remarks\n * Samp elements accept standard HTML global attributes.\n *\n * 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 SampAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SampAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The samp attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SampAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a samp element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 samp element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<samp>` element.\n *\n * @example\n * ```ts\n * import { createSamp } from \"@Vastare/Fundatio/elements/inline/samp\";\n *\n * // Sample output:\n * const out = createSamp(\"Everything up-to-date\");\n * ```\n *\n * @category DOM\n */\nexport function createSamp(text?: string, attrs?: SampAttrs): ElementOf<typeof SAMP_TAG> {\n return createElement(SAMP_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance samp elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceSamps(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for samp.\n void root;\n}\n"],"names":["SAMP_TAG","SAMP_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createSamp","text","createElement","enhanceSamps","root"],"mappings":"0CA2DaA,EAAW,OAOXC,EAAgB,OA4B7B,SAASC,EAAcC,EAA4C,CACjE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAyBO,SAASE,EAAWC,EAAeL,EAA+C,CACvF,OAAOM,EAAAA,cAAcT,EAAUE,EAAcC,CAAK,EAAGK,CAAI,CAC3D,CAoBO,SAASE,EAAaC,EAAmB,SAAgB,CAGhE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const b=require("./dom.cjs"),r="sub",l="sub";function c(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 b.createElement(r,c(e),t)}function i(t=document){}const d=Object.freeze(Object.defineProperty({__proto__:null,SUB_SELECTOR:l,SUB_TAG:r,createSub:a,enhanceSubs:i},Symbol.toStringTag,{value:"Module"}));exports.SUB_SELECTOR=l;exports.SUB_TAG=r;exports.createSub=a;exports.enhanceSubs=i;exports.index=d;
|
|
2
|
+
//# sourceMappingURL=index69.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index69.cjs","sources":["../../../src/elements/inline/sub/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Sub element helpers.\n *\n * @remarks\n * The sub element (`<sub>`) represents subscript text.\n *\n * Best-practice guidance:\n * - Use `<sub>` for typographical conventions (e.g. chemical formulas like H₂O,\n * mathematical indices in plain text, footnote markers) where subscript is\n * semantically appropriate.\n * - Do not use `<sub>` purely for presentation. Use CSS for visual styling.\n *\n * The `<sub>` element has no element-specific attributes. It supports standard\n * HTML global attributes.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create sub elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if 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 * MDN:\n * - https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/sub\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 subscript text.\n *\n * @category Constants\n */\nexport const SUB_TAG = 'sub' as const;\n\n/**\n * A CSS selector targeting sub elements.\n *\n * @category Constants\n */\nexport const SUB_SELECTOR = 'sub';\n\n/**\n * Attribute bag for sub creation/enhancement.\n *\n * @remarks\n * The `<sub>` element accepts standard HTML global attributes.\n *\n * 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 SubAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SubAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The sub attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SubAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a sub element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 sub element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<sub>` element.\n *\n * @example\n * ```ts\n * import { createSub } from \"@Vastare/Fundatio/elements/inline/sub\";\n *\n * const formula = document.createElement(\"span\");\n * formula.append(\"H\");\n * formula.appendChild(createSub(\"2\"));\n * formula.append(\"O\");\n * ```\n *\n * @category DOM\n */\nexport function createSub(text?: string, attrs?: SubAttrs): ElementOf<typeof SUB_TAG> {\n return createElement(SUB_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance sub elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceSubs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for sub.\n void root;\n}\n"],"names":["SUB_TAG","SUB_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createSub","text","createElement","enhanceSubs","root"],"mappings":"0CAiEaA,EAAU,MAOVC,EAAe,MA4B5B,SAASC,EAAcC,EAA2C,CAChE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CA2BO,SAASE,EAAUC,EAAeL,EAA6C,CACpF,OAAOM,EAAAA,cAAcT,EAASE,EAAcC,CAAK,EAAGK,CAAI,CAC1D,CAoBO,SAASE,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("./index44.cjs"),t=require("./index45.cjs"),r=require("./index46.cjs"),n=require("./index47.cjs"),s=require("./index48.cjs"),o=Object.freeze(Object.defineProperty({__proto__:null,address:s.index,blockquote:n.index,hr:t.index,paragraph:e.index,pre:r.index},Symbol.toStringTag,{value:"Module"}));exports.index=o;
|
|
2
|
+
//# sourceMappingURL=index7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index7.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="sup",l="sup";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,SUP_SELECTOR:l,SUP_TAG:r,createSup:a,enhanceSups:i},Symbol.toStringTag,{value:"Module"}));exports.SUP_SELECTOR=l;exports.SUP_TAG=r;exports.createSup=a;exports.enhanceSups=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index70.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index70.cjs","sources":["../../../src/elements/inline/sup/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Sup element helpers.\n *\n * @remarks\n * The sup element (`<sup>`) represents superscript text.\n *\n * Best-practice guidance:\n * - Use `<sup>` for semantic superscripts such as footnote markers, ordinal indicators,\n * and mathematical exponents.\n * - Avoid using `<sup>` purely for visual styling; prefer CSS when semantics are not intended.\n * - For footnotes, consider pairing markers with accessible labelling (e.g. via `aria-label`)\n * and appropriate linking patterns.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create superscript nodes in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for superscript elements.\n *\n * @category Constants\n */\nexport const SUP_TAG = 'sup' as const;\n\n/**\n * A CSS selector targeting sup elements.\n *\n * @category Constants\n */\nexport const SUP_SELECTOR = 'sup';\n\n/**\n * Attribute bag for sup creation/enhancement.\n *\n * @remarks\n * Sup elements accept standard HTML global attributes.\n *\n * 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 SupAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SupAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The sup attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SupAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a sup element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 sup.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<sup>` element.\n *\n * @example\n * Create a footnote marker:\n * ```ts\n * import { createSup } from \"@Vastare/Fundatio/elements/inline/sup\";\n *\n * const marker = createSup(\"1\", { aria: { label: \"Footnote 1\" } });\n * ```\n *\n * @category DOM\n */\nexport function createSup(text?: string, attrs?: SupAttrs): ElementOf<typeof SUP_TAG> {\n return createElement(SUP_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance sup elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceSups(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for sup.\n void root;\n}\n"],"names":["SUP_TAG","SUP_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createSup","text","createElement","enhanceSups","root"],"mappings":"0CA8DaA,EAAU,MAOVC,EAAe,MA4B5B,SAASC,EAAcC,EAA2C,CAChE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAyBO,SAASE,EAAUC,EAAeL,EAA6C,CACpF,OAAOM,EAAAA,cAAcT,EAASE,EAAcC,CAAK,EAAGK,CAAI,CAC1D,CAoBO,SAASE,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const T=require("./dom.cjs"),a="time",l="time";function u(t){if(!t)return;const{aria:e,datetime:d,dateTime:f,attrs:m,...b}=t,r={...b};if(e){const i={};typeof e.label=="string"&&(i.label=e.label),typeof e.labelledby=="string"&&(i.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(i.hidden=e.hidden),Object.keys(i).length>0&&(r.aria=i)}const n=d??f,o={...m??{}};return typeof n=="string"?n.length>0&&(o.datetime=n):n instanceof Date&&(o.datetime=n.toISOString()),Object.keys(o).length>0&&(r.attrs=o),r}function s(t,e){return T.createElement(a,u(e),t)}function c(t=document){}const y=Object.freeze(Object.defineProperty({__proto__:null,TIME_SELECTOR:l,TIME_TAG:a,createTime:s,enhanceTimes:c},Symbol.toStringTag,{value:"Module"}));exports.TIME_SELECTOR=l;exports.TIME_TAG=a;exports.createTime=s;exports.enhanceTimes=c;exports.index=y;
|
|
2
|
+
//# sourceMappingURL=index71.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index71.cjs","sources":["../../../src/elements/inline/time/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Time element helpers.\n *\n * @remarks\n * The time element (`<time>`) represents a specific period in time.\n *\n * Best-practice guidance (summary):\n * - Provide a machine-readable `datetime` value when possible.\n * - Keep visible text human-friendly (e.g. \"Tomorrow\", \"12 Feb 2026\").\n * - Avoid using `<time>` purely for styling.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<time>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - supply a typed `datetime`/`dateTime` field mapped to the `datetime` attribute\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for time.\n *\n * @category Constants\n */\nexport const TIME_TAG = 'time' as const;\n\n/**\n * A CSS selector targeting time elements.\n *\n * @category Constants\n */\nexport const TIME_SELECTOR = 'time';\n\n/**\n * Attribute bag for time creation/enhancement.\n *\n * @remarks\n * In addition to global attributes, `<time>` commonly uses the `datetime`\n * attribute to provide a machine-readable value.\n *\n * Fundatio supports:\n * - `datetime` (preferred, aligns with the HTML attribute name)\n * - `dateTime` (alias for ergonomic camelCase usage)\n *\n * @category Attributes\n */\nexport type TimeAttrs = Omit<GlobalAttrs, 'aria' | 'attrs'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Machine-readable time value, mapped to the `datetime` attribute.\n *\n * @remarks\n * Examples:\n * - `2026-02-25`\n * - `2026-02-25T16:30:00Z`\n * - `PT2H`\n *\n * If a {@link Date} is provided, it is converted via `toISOString()`.\n */\n datetime?: string | Date;\n\n /**\n * Alias of {@link TimeAttrs.datetime}.\n *\n * @remarks\n * Supported for ergonomic camelCase input. If both are provided, `datetime`\n * takes precedence.\n */\n dateTime?: string | Date;\n\n /**\n * Additional attributes not modeled above.\n *\n * @remarks\n * This exists as an escape hatch while still allowing Fundatio to apply its\n * attribute safety rules via `dom.ts`.\n */\n attrs?: GlobalAttrs['attrs'];\n};\n\n/**\n * Normalize {@link TimeAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The time attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: TimeAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, datetime, dateTime, attrs: extraAttrs, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Map structured aria.\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) mapped.aria = mappedAria;\n }\n\n // Map datetime/dateTime -> datetime attribute, while preserving any provided attrs.\n const v = datetime ?? dateTime;\n\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(extraAttrs ?? {}) };\n\n if (typeof v === 'string') {\n if (v.length > 0) mergedAttrs.datetime = v;\n } else if (v instanceof Date) {\n mergedAttrs.datetime = v.toISOString();\n }\n\n if (Object.keys(mergedAttrs).length > 0) mapped.attrs = mergedAttrs;\n\n return mapped;\n}\n\n/**\n * Create a time element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 time element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<time>` element.\n *\n * @example\n * ```ts\n * import { createTime } from \"@Vastare/Fundatio/elements/inline/time\";\n *\n * const t = createTime(\"25 Feb 2026\", { datetime: \"2026-02-25\" });\n * document.body.appendChild(t);\n * ```\n *\n * @example\n * Using the `dateTime` alias:\n * ```ts\n * const t = createTime(\"25 Feb 2026\", { dateTime: \"2026-02-25\" });\n * ```\n *\n * @category DOM\n */\nexport function createTime(text?: string, attrs?: TimeAttrs): ElementOf<typeof TIME_TAG> {\n return createElement(TIME_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance time elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceTimes(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for time.\n void root;\n}\n"],"names":["TIME_TAG","TIME_SELECTOR","toGlobalAttrs","attrs","aria","datetime","dateTime","extraAttrs","rest","mapped","mappedAria","v","mergedAttrs","createTime","text","createElement","enhanceTimes","root"],"mappings":"0CA0DaA,EAAW,OAOXC,EAAgB,OA6D7B,SAASC,EAAcC,EAA4C,CACjE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,SAAAC,EAAU,SAAAC,EAAU,MAAOC,EAAY,GAAGC,GAASL,EAE3DM,EAAsB,CAAE,GAAGD,CAAA,EAGjC,GAAIJ,EAAM,CACR,MAAMM,EAA+C,CAAA,EACjD,OAAON,EAAK,OAAU,WAAUM,EAAW,MAAQN,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUM,EAAW,WAAaN,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWM,EAAW,OAASN,EAAK,QAE3D,OAAO,KAAKM,CAAU,EAAE,OAAS,MAAU,KAAOA,EACxD,CAGA,MAAMC,EAAIN,GAAYC,EAEhBM,EAAiD,CAAE,GAAIL,GAAc,EAAC,EAE5E,OAAI,OAAOI,GAAM,SACXA,EAAE,OAAS,IAAGC,EAAY,SAAWD,GAChCA,aAAa,OACtBC,EAAY,SAAWD,EAAE,YAAA,GAGvB,OAAO,KAAKC,CAAW,EAAE,OAAS,MAAU,MAAQA,GAEjDH,CACT,CA+BO,SAASI,EAAWC,EAAeX,EAA+C,CACvF,OAAOY,EAAAA,cAAcf,EAAUE,EAAcC,CAAK,EAAGW,CAAI,CAC3D,CAYO,SAASE,EAAaC,EAAmB,SAAgB,CAGhE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),r="u",l="u";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,U_SELECTOR:l,U_TAG:r,createU:a,enhanceUs:i},Symbol.toStringTag,{value:"Module"}));exports.U_SELECTOR=l;exports.U_TAG=r;exports.createU=a;exports.enhanceUs=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index72.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index72.cjs","sources":["../../../src/elements/inline/u/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: U element helpers.\n *\n * @remarks\n * The u element (`<u>`) represents a span of text with an unarticulated,\n * explicitly rendered non-textual annotation.\n *\n * Best-practice guidance:\n * - Do not use `<u>` purely for underlining text. Use CSS (`text-decoration`) for\n * presentation.\n * - Use `<u>` only when the semantics are appropriate (e.g. marking misspellings\n * or other non-textual annotations).\n * - Avoid usage where it could be confused with a hyperlink.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create u elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by 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 unarticulated annotation spans.\n *\n * @category Constants\n */\nexport const U_TAG = 'u' as const;\n\n/**\n * A CSS selector targeting u elements.\n *\n * @category Constants\n */\nexport const U_SELECTOR = 'u';\n\n/**\n * Attribute bag for u creation/enhancement.\n *\n * @remarks\n * U elements accept standard HTML global attributes.\n *\n * 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 UAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link UAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The u attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: UAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a u element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 u element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<u>` element.\n *\n * @example\n * ```ts\n * import { createU } from \"@Vastare/Fundatio/elements/inline/u\";\n *\n * const misspelt = createU(\"teh\", { aria: { label: \"Misspelt word\" } });\n * ```\n *\n * @category DOM\n */\nexport function createU(text?: string, attrs?: UAttrs): ElementOf<typeof U_TAG> {\n return createElement(U_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance u elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceUs(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for u.\n void root;\n}\n"],"names":["U_TAG","U_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createU","text","createElement","enhanceUs","root"],"mappings":"0CA4DaA,EAAQ,IAORC,EAAa,IA4B1B,SAASC,EAAcC,EAAyC,CAC9D,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,EAAQC,EAAeL,EAAyC,CAC9E,OAAOM,EAAAA,cAAcT,EAAOE,EAAcC,CAAK,EAAGK,CAAI,CACxD,CAoBO,SAASE,EAAUC,EAAmB,SAAgB,CAG7D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),a="var",o="var";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 l(t,e){return c.createElement(a,d(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,VAR_SELECTOR:o,VAR_TAG:a,createVar:l,enhanceVars:i},Symbol.toStringTag,{value:"Module"}));exports.VAR_SELECTOR=o;exports.VAR_TAG=a;exports.createVar=l;exports.enhanceVars=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index73.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index73.cjs","sources":["../../../src/elements/inline/var/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Var element helpers.\n *\n * @remarks\n * The var element (`<var>`) represents a variable name in a mathematical\n * expression or programming context. Browsers typically render it in italics\n * by default, but presentation should be handled via CSS.\n *\n * Best-practice guidance:\n * - Use `<var>` specifically for variables (e.g. `x`, `y`, `n`, `userId`).\n * - Use `<code>` for code fragments, `<kbd>` for user input, and `<samp>` for\n * sample output, rather than overloading `<var>`.\n * - Keep semantics clean: `<var>` is inline and should not be used as a generic\n * styling hook.\n *\n * Fundatio provides small, framework-agnostic helpers so consumers can:\n * - create `<var>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for var elements.\n *\n * @category Constants\n */\nexport const VAR_TAG = 'var' as const;\n\n/**\n * A CSS selector targeting var elements.\n *\n * @category Constants\n */\nexport const VAR_SELECTOR = 'var';\n\n/**\n * Attribute bag for var creation/enhancement.\n *\n * @remarks\n * The `<var>` element accepts standard HTML global attributes.\n *\n * 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 VarAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link VarAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The var attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: VarAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a var element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via 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 var element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<var>` element.\n *\n * @example\n * ```ts\n * import { createVar } from \"@Vastare/Fundatio/elements/inline/var\";\n *\n * const v = createVar(\"n\", { className: \"symbol\" });\n * document.body.appendChild(v);\n * ```\n *\n * @category DOM\n */\nexport function createVar(text?: string, attrs?: VarAttrs): ElementOf<typeof VAR_TAG> {\n return createElement(VAR_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance var elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `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 enhanceVars(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for var.\n void root;\n}\n"],"names":["VAR_TAG","VAR_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createVar","text","createElement","enhanceVars","root"],"mappings":"0CAgEaA,EAAU,MAOVC,EAAe,MA4B5B,SAASC,EAAcC,EAA2C,CAChE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAyBO,SAASE,EAAUC,EAAeL,EAA6C,CACpF,OAAOM,EAAAA,cAAcT,EAASE,EAAcC,CAAK,EAAGK,CAAI,CAC1D,CAoBO,SAASE,EAAYC,EAAmB,SAAgB,CAG/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const i=require("./dom.cjs"),d="dd",r="dd";function c(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 l(t,e){return i.createElement(d,c(e),t)}function a(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,DD_SELECTOR:r,DD_TAG:d,createDd:l,enhanceDds:a},Symbol.toStringTag,{value:"Module"}));exports.DD_SELECTOR=r;exports.DD_TAG=d;exports.createDd=l;exports.enhanceDds=a;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index74.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index74.cjs","sources":["../../../src/elements/list/dd/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Description Details (`<dd>`) element helpers.\n *\n * @remarks\n * The `<dd>` element provides the description, definition, or value for the\n * preceding term (`<dt>`) within a description list (`<dl>`).\n *\n * Best-practice guidance:\n * - Use `<dd>` only within a `<dl>`.\n * - Pair `<dd>` with an appropriate `<dt>` term.\n * - Use semantic lists for terms/values, not for layout.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<dd>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - pass a structured, typed attribute bag\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/dd\n * @see https://html.spec.whatwg.org/multipage/grouping-content.html#the-dd-element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for dd.\n *\n * @category Constants\n */\nexport const DD_TAG = 'dd' as const;\n\n/**\n * A CSS selector targeting dd elements.\n *\n * @category Constants\n */\nexport const DD_SELECTOR = 'dd';\n\n/**\n * Attribute bag for dd creation/enhancement.\n *\n * @remarks\n * `<dd>` only supports 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 DdAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link DdAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The dd attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DdAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a dd 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 dd element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<dd>` element.\n *\n * @example\n * ```ts\n * import { createDd } from \"@Vastare/Fundatio/elements/list/dd\";\n *\n * const dd = createDd(\"A sea serpent.\", { className: \"desc\" });\n * ```\n *\n * @category DOM\n */\nexport function createDd(text?: string, attrs?: DdAttrs): ElementOf<typeof DD_TAG> {\n return createElement(DD_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance dd elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceDds(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for dd.\n void root;\n}\n"],"names":["DD_TAG","DD_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createDd","text","createElement","enhanceDds","root"],"mappings":"0CA8DaA,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,CAgBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const d=require("./dom.cjs"),o="dl",r="dl";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 a(t,e){return d.createElement(o,c(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,DL_SELECTOR:r,DL_TAG:o,createDl:a,enhanceDls:i},Symbol.toStringTag,{value:"Module"}));exports.DL_SELECTOR=r;exports.DL_TAG=o;exports.createDl=a;exports.enhanceDls=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index75.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index75.cjs","sources":["../../../src/elements/list/dl/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Dl element helpers.\n *\n * @remarks\n * The dl element (`<dl>`) represents a description list (a set of name-value groups).\n * It is commonly used with `<dt>` (term/name) and `<dd>` (description/value).\n *\n * Best-practice guidance:\n * - Prefer `<dl>` when you're expressing name-value pairs (not just \"a list\").\n * - Use `<dt>` / `<dd>` in sensible groupings to keep meaning clear.\n * - Avoid misusing `<dl>` for layout or arbitrary indentation; use CSS instead.\n *\n * Attributes:\n * - `<dl>` has no element-specific attributes in modern HTML.\n * - It accepts standard global attributes (id, class, lang, data-*, aria-*, etc.).\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<dl>` 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 description lists.\n *\n * @category Constants\n */\nexport const DL_TAG = 'dl' as const;\n\n/**\n * A CSS selector targeting dl elements.\n *\n * @category Constants\n */\nexport const DL_SELECTOR = 'dl';\n\n/**\n * Attribute bag for dl creation/enhancement.\n *\n * @remarks\n * Dl 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 DlAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link DlAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The dl attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DlAttrs): 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 dl element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - In real usage, `<dl>` typically contains `<dt>` / `<dd>` children; Fundatio keeps\n * factories small and safe, so this helper supports optional text as a simple\n * convenience, not as a replacement for proper `<dt>` / `<dd>` structure.\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 dl.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<dl>` element.\n *\n * @example\n * Create and append a dl:\n * ```ts\n * import { createDl } from \"@Vastare/Fundatio/elements/list/dl\";\n *\n * document.body.appendChild(\n * createDl(undefined, { className: \"meta\", id: \"product-specs\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createDl(text?: string, attrs?: DlAttrs): ElementOf<typeof DL_TAG> {\n return createElement(DL_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance dl 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 enhanceDls(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for dl.\n void root;\n}\n"],"names":["DL_TAG","DL_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createDl","text","createElement","enhanceDls","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,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CA8BO,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 d=require("./dom.cjs"),r="dt",l="dt";function c(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 d.createElement(r,c(e),t)}function i(t=document){}const s=Object.freeze(Object.defineProperty({__proto__:null,DT_SELECTOR:l,DT_TAG:r,createDt:a,enhanceDts:i},Symbol.toStringTag,{value:"Module"}));exports.DT_SELECTOR=l;exports.DT_TAG=r;exports.createDt=a;exports.enhanceDts=i;exports.index=s;
|
|
2
|
+
//# sourceMappingURL=index76.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index76.cjs","sources":["../../../src/elements/list/dt/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Dt element helpers.\n *\n * @remarks\n * The dt element (`<dt>`) represents a definition term in a description list (`<dl>`).\n * It is typically paired with one or more `<dd>` elements (the descriptions/details).\n *\n * Best-practice guidance:\n * - Use `<dl>` + `<dt>` + `<dd>` for name/value groups (terms and descriptions),\n * not for arbitrary layout or \"two-column\" grids.\n * - Keep terms concise; put the detail/content in `<dd>`.\n * - Use CSS for presentation (avoid presentational patterns that change semantics).\n *\n * Attributes:\n * - `<dt>` supports only global attributes (no element-specific attributes).\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create dt 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 * @see MDN `<dt>`: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt\n * @see WHATWG HTML `<dt>`: https://html.spec.whatwg.org/multipage/grouping-content.html#the-dt-element\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for dt elements.\n *\n * @category Constants\n */\nexport const DT_TAG = 'dt' as const;\n\n/**\n * A CSS selector targeting dt elements.\n *\n * @category Constants\n */\nexport const DT_SELECTOR = 'dt';\n\n/**\n * Attribute bag for dt creation/enhancement.\n *\n * @remarks\n * Dt 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 DtAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link DtAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The dt attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DtAttrs): 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 dt 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 dt.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<dt>` element.\n *\n * @example\n * ```ts\n * import { createDt } from \"@Vastare/Fundatio/elements/list/dt\";\n *\n * const dl = document.createElement(\"dl\");\n * dl.appendChild(createDt(\"Size\"));\n * ```\n *\n * @category DOM\n */\nexport function createDt(text?: string, attrs?: DtAttrs): ElementOf<typeof DT_TAG> {\n return createElement(DT_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance dt 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 enhanceDts(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for dt.\n void root;\n}\n"],"names":["DT_TAG","DT_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createDt","text","createElement","enhanceDts","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,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 f=require("./dom.cjs"),r="li",a="li";function b(n){if(!n)return;const{aria:e,type:t,attrs:u,value:p,...d}=n,l={...d};if(e){const i={};typeof e.label=="string"&&(i.label=e.label),typeof e.labelledby=="string"&&(i.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(i.hidden=e.hidden),Object.keys(i).length>0&&(l.aria=i)}const o={...u??{}};return typeof t=="string"&&t.length>0&&(o.type=t),Object.keys(o).length>0&&(l.attrs=o),l}function c(n,e){const t=f.createElement(r,b(e),n);return e&&typeof e.value=="number"&&Number.isFinite(e.value)&&(t.value=e.value),t}function s(n=document){}const y=Object.freeze(Object.defineProperty({__proto__:null,LI_SELECTOR:a,LI_TAG:r,createLi:c,enhanceLis:s},Symbol.toStringTag,{value:"Module"}));exports.LI_SELECTOR=a;exports.LI_TAG=r;exports.createLi=c;exports.enhanceLis=s;exports.index=y;
|
|
2
|
+
//# sourceMappingURL=index77.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index77.cjs","sources":["../../../src/elements/list/li/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Li element helpers.\n *\n * @remarks\n * The list item element (`<li>`) represents an item in a list.\n *\n * Best-practice guidance:\n * - Use `<li>` only as a direct child of a list container (`<ul>`, `<ol>`, `<menu>`).\n * - Prefer semantic list structure over styling hacks.\n * - For ordered lists, use the `value` attribute/property to control numbering when needed\n * (e.g. continuing a sequence after inserted items).\n * - Avoid the legacy `type` attribute where possible; prefer list-level semantics and CSS.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<li>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - supply typed element-specific fields like `value`\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 * Legacy marker type options for list items.\n *\n * @remarks\n * The `type` attribute on `<li>` is legacy and should be avoided when possible.\n * It is retained here for compatibility scenarios.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li\n *\n * @category Attributes\n */\nexport type LiMarkerType = '1' | 'a' | 'A' | 'i' | 'I';\n\n/**\n * The semantic tag name for list items.\n *\n * @category Constants\n */\nexport const LI_TAG = 'li' as const;\n\n/**\n * A CSS selector targeting list item elements.\n *\n * @category Constants\n */\nexport const LI_SELECTOR = 'li';\n\n/**\n * Attribute bag for li creation/enhancement.\n *\n * @remarks\n * In addition to global attributes, `<li>` supports:\n * - `value` (primarily for `<ol>` numbering control)\n * - legacy `type` marker hint (deprecated)\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li\n *\n * @category Attributes\n */\nexport type LiAttrs = Omit<GlobalAttrs, 'aria' | 'attrs'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Ordinal value for ordered lists.\n *\n * @remarks\n * When used within an `<ol>`, this sets the list item's numbering value.\n * This is modeled as a number and applied via the `HTMLLIElement.value` property.\n */\n value?: number;\n\n /**\n * Legacy marker type hint (deprecated).\n *\n * @remarks\n * Prefer list semantics and CSS. Retained for compatibility.\n */\n type?: LiMarkerType;\n\n /**\n * Additional attributes not modeled above.\n *\n * @remarks\n * This exists as an escape hatch while still allowing Fundatio to apply its\n * attribute safety rules via `dom.ts`.\n */\n attrs?: GlobalAttrs['attrs'];\n};\n\n/**\n * Normalize {@link LiAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The li attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: LiAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, type, attrs: extraAttrs, value: _value, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Map structured aria.\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) mapped.aria = mappedAria;\n }\n\n // Merge extra attrs and map legacy `type` through the hardened attrs path.\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(extraAttrs ?? {}) };\n if (typeof type === 'string' && type.length > 0) mergedAttrs.type = type;\n\n if (Object.keys(mergedAttrs).length > 0) mapped.attrs = mergedAttrs;\n\n return mapped;\n}\n\n/**\n * Create a list item 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 * - The `value` field is applied via the `HTMLLIElement.value` property for correct behavior.\n *\n * @param text - Optional text content for the list item.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<li>` element.\n *\n * @example\n * ```ts\n * import { createLi } from \"@Vastare/Fundatio/elements/list/li\";\n *\n * const li = createLi(\"Item 3\", { value: 3 });\n * ```\n *\n * @category DOM\n */\nexport function createLi(text?: string, attrs?: LiAttrs): ElementOf<typeof LI_TAG> {\n const el = createElement(LI_TAG, toGlobalAttrs(attrs), text);\n\n // Apply ordered-list numbering via the DOM property.\n if (attrs && typeof attrs.value === 'number' && Number.isFinite(attrs.value)) {\n (el as unknown as HTMLLIElement).value = attrs.value;\n }\n\n return el;\n}\n\n/**\n * Enhance list item elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `1.0.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceLis(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for li.\n void root;\n}\n"],"names":["LI_TAG","LI_SELECTOR","toGlobalAttrs","attrs","aria","type","extraAttrs","_value","rest","mapped","mappedAria","mergedAttrs","createLi","text","el","createElement","enhanceLis","root"],"mappings":"0CAyEaA,EAAS,KAOTC,EAAc,KAuD3B,SAASC,EAAcC,EAA0C,CAC/D,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,MAAOC,EAAY,MAAOC,EAAQ,GAAGC,CAAA,EAASL,EAE5DM,EAAsB,CAAE,GAAGD,CAAA,EAGjC,GAAIJ,EAAM,CACR,MAAMM,EAA+C,CAAA,EACjD,OAAON,EAAK,OAAU,WAAUM,EAAW,MAAQN,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUM,EAAW,WAAaN,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWM,EAAW,OAASN,EAAK,QAE3D,OAAO,KAAKM,CAAU,EAAE,OAAS,MAAU,KAAOA,EACxD,CAGA,MAAMC,EAAiD,CAAE,GAAIL,GAAc,EAAC,EAC5E,OAAI,OAAOD,GAAS,UAAYA,EAAK,OAAS,MAAe,KAAOA,GAEhE,OAAO,KAAKM,CAAW,EAAE,OAAS,MAAU,MAAQA,GAEjDF,CACT,CAyBO,SAASG,EAASC,EAAeV,EAA2C,CACjF,MAAMW,EAAKC,EAAAA,cAAcf,EAAQE,EAAcC,CAAK,EAAGU,CAAI,EAG3D,OAAIV,GAAS,OAAOA,EAAM,OAAU,UAAY,OAAO,SAASA,EAAM,KAAK,IACxEW,EAAgC,MAAQX,EAAM,OAG1CW,CACT,CAgBO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const d=require("./dom.cjs"),l="ol",i="ol";function a(e){if(!e)return;const{aria:n,...t}=e;if(!n)return t;const o={};return typeof n.label=="string"&&(o.label=n.label),typeof n.labelledby=="string"&&(o.labelledby=n.labelledby),typeof n.hidden=="boolean"&&(o.hidden=n.hidden),Object.keys(o).length>0?{...t,aria:o}:t}function r(e){const n=d.createElement(l,a(e)),t=n;return e&&(typeof e.reversed=="boolean"&&(t.reversed=e.reversed),typeof e.start=="number"&&Number.isFinite(e.start)&&(t.start=e.start),typeof e.type=="string"&&(t.type=e.type)),n}function c(e=document){}const f=Object.freeze(Object.defineProperty({__proto__:null,OL_SELECTOR:i,OL_TAG:l,createOl:r,enhanceOls:c},Symbol.toStringTag,{value:"Module"}));exports.OL_SELECTOR=i;exports.OL_TAG=l;exports.createOl=r;exports.enhanceOls=c;exports.index=f;
|
|
2
|
+
//# sourceMappingURL=index78.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index78.cjs","sources":["../../../src/elements/list/ol/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Ordered list element helpers.\n *\n * @remarks\n * The ordered list element (`<ol>`) represents an ordered list of items.\n *\n * Best-practice guidance:\n * - Prefer `<ol>` when the order of items matters (steps, rankings, sequences).\n * - List items should be `<li>` elements (direct children).\n * - Avoid presentational attributes when possible; prefer CSS for styling.\n * - Use `start`/`reversed` only when semantics require non-default numbering.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create ordered lists 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 * The semantic tag name for ordered lists.\n *\n * @category Constants\n */\nexport const OL_TAG = 'ol' as const;\n\n/**\n * A CSS selector targeting ordered list elements.\n *\n * @category Constants\n */\nexport const OL_SELECTOR = 'ol';\n\n/**\n * Allowed values for the `<ol>` `type` attribute.\n *\n * @remarks\n * While `type` is still supported by browsers, it is presentational and CSS is\n * often preferable.\n *\n * - `1` Decimal numbers (default)\n * - `a` Lowercase letters\n * - `A` Uppercase letters\n * - `i` Lowercase Roman numerals\n * - `I` Uppercase Roman numerals\n *\n * @category Attributes\n */\nexport type OlType = '1' | 'a' | 'A' | 'i' | 'I';\n\n/**\n * Attribute bag for ordered list creation/enhancement.\n *\n * @remarks\n * Ordered lists accept HTML global attributes and a small set of specific\n * attributes:\n * - `reversed` for descending numbering\n * - `start` to set the initial counter value\n * - `type` to choose the marker style (often better via CSS)\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 OlAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Whether numbering should be descending.\n */\n reversed?: boolean;\n\n /**\n * Starting value for the list counter.\n */\n start?: number;\n\n /**\n * Marker type for list items.\n */\n type?: OlType;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link OlAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The ordered list attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: OlAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\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 return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create an ordered list element with global and list-specific attributes.\n *\n * @remarks\n * This helper intentionally does not accept raw HTML. Consumers should append\n * `<li>` children using DOM APIs.\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 `<ol>` element.\n *\n * @example\n * ```ts\n * import { createOl } from \"@Vastare/Fundatio/elements/list/ol\";\n *\n * const ol = createOl({ start: 3, reversed: true, className: \"steps\" });\n * document.body.appendChild(ol);\n * ```\n *\n * @category DOM\n */\nexport function createOl(attrs?: OlAttrs): ElementOf<typeof OL_TAG> {\n const el = createElement(OL_TAG, toGlobalAttrs(attrs));\n const ol = el as unknown as HTMLOListElement;\n\n if (attrs) {\n if (typeof attrs.reversed === 'boolean') ol.reversed = attrs.reversed;\n if (typeof attrs.start === 'number' && Number.isFinite(attrs.start)) ol.start = attrs.start;\n if (typeof attrs.type === 'string') ol.type = attrs.type;\n }\n\n return el;\n}\n\n/**\n * Enhance ordered list 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 enhanceOls(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for ol.\n void root;\n}\n"],"names":["OL_TAG","OL_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createOl","el","createElement","ol","enhanceOls","root"],"mappings":"0CA2DaA,EAAS,KAOTC,EAAc,KAgE3B,SAASC,EAAcC,EAA0C,CAC/D,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAC1B,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,EAChC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CA0BO,SAASE,EAASJ,EAA2C,CAClE,MAAMK,EAAKC,EAAAA,cAAcT,EAAQE,EAAcC,CAAK,CAAC,EAC/CO,EAAKF,EAEX,OAAIL,IACE,OAAOA,EAAM,UAAa,YAAWO,EAAG,SAAWP,EAAM,UACzD,OAAOA,EAAM,OAAU,UAAY,OAAO,SAASA,EAAM,KAAK,IAAGO,EAAG,MAAQP,EAAM,OAClF,OAAOA,EAAM,MAAS,WAAUO,EAAG,KAAOP,EAAM,OAG/CK,CACT,CAoBO,SAASG,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const b=require("./dom.cjs"),i="ul",a="ul";function u(t){if(!t)return;const{aria:e,type:l,attrs:d,...f}=t,r={...f};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&&(r.aria=n)}const o={...d??{}};return typeof l=="string"&&l.length>0&&(o.type=l),Object.keys(o).length>0&&(r.attrs=o),r}function c(t,e){return b.createElement(i,u(e),t)}function s(t=document){}const y=Object.freeze(Object.defineProperty({__proto__:null,UL_SELECTOR:a,UL_TAG:i,createUl:c,enhanceUls:s},Symbol.toStringTag,{value:"Module"}));exports.UL_SELECTOR=a;exports.UL_TAG=i;exports.createUl=c;exports.enhanceUls=s;exports.index=y;
|
|
2
|
+
//# sourceMappingURL=index79.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index79.cjs","sources":["../../../src/elements/list/ul/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Unordered list (ul) element helpers.\n *\n * @remarks\n * The unordered list element (`<ul>`) represents a list of items where the\n * order does not change the meaning.\n *\n * Best-practice guidance:\n * - Use `<ul>` for lists where sequence is not meaningful (use `<ol>` when it is).\n * - Ensure list children are `<li>` elements.\n * - Do not use `<ul>` purely for indentation or spacing; use CSS for layout.\n * - The legacy `type` attribute is obsolete; prefer `list-style-type` in CSS.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<ul>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - optionally set legacy presentation attributes in a controlled way\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 * The semantic tag name for unordered lists.\n *\n * @category Constants\n */\nexport const UL_TAG = 'ul' as const;\n\n/**\n * A CSS selector targeting unordered list elements.\n *\n * @category Constants\n */\nexport const UL_SELECTOR = 'ul';\n\n/**\n * Legacy marker style values for `<ul type=\"...\">`.\n *\n * @remarks\n * The `type` attribute is obsolete in HTML5. Prefer CSS `list-style-type`.\n * This is included as a pragmatic escape hatch for legacy markup needs.\n *\n * @category Attributes\n */\nexport type UlLegacyType = 'disc' | 'circle' | 'square';\n\n/**\n * Attribute bag for ul creation/enhancement.\n *\n * @remarks\n * `<ul>` primarily accepts standard HTML global attributes.\n *\n * Fundatio also supports:\n * - structured ARIA input mapped into `aria-*`\n * - optional legacy `type` mapping to the `type` attribute (obsolete)\n * - an `attrs` escape hatch, still guarded by Fundatio's attribute safety rules\n *\n * @category Attributes\n */\nexport type UlAttrs = Omit<GlobalAttrs, 'aria' | 'attrs'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Legacy bullet style hint mapped to the `type` attribute (obsolete).\n *\n * @remarks\n * Prefer CSS `list-style-type` instead.\n */\n type?: UlLegacyType;\n\n /**\n * Additional attributes not modeled above.\n *\n * @remarks\n * This exists as an escape hatch while still allowing Fundatio to apply its\n * attribute safety rules via `dom.ts`.\n */\n attrs?: GlobalAttrs['attrs'];\n};\n\n/**\n * Normalize {@link UlAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The ul attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: UlAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, type, attrs: extraAttrs, ...rest } = attrs;\n\n const mapped: GlobalAttrs = { ...rest };\n\n // Map structured aria.\n if (aria) {\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n if (Object.keys(mappedAria).length > 0) mapped.aria = mappedAria;\n }\n\n // Merge escape-hatch attrs and add legacy `type` if provided.\n const mergedAttrs: NonNullable<GlobalAttrs['attrs']> = { ...(extraAttrs ?? {}) };\n if (typeof type === 'string' && type.length > 0) mergedAttrs.type = type;\n\n if (Object.keys(mergedAttrs).length > 0) mapped.attrs = mergedAttrs;\n\n return mapped;\n}\n\n/**\n * Create an unordered list (`<ul>`) with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - In real documents, `<ul>` should contain `<li>` children, not raw text.\n * The optional `text` parameter exists for consistency with Fundatio factories and\n * testing convenience.\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 ul.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<ul>` element.\n *\n * @example\n * ```ts\n * import { createUl } from \"@Vastare/Fundatio/elements/list/ul\";\n *\n * const ul = createUl(undefined, { id: \"features\" });\n * document.body.appendChild(ul);\n * ```\n *\n * @category DOM\n */\nexport function createUl(text?: string, attrs?: UlAttrs): ElementOf<typeof UL_TAG> {\n return createElement(UL_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance unordered list 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 enhanceUls(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for ul.\n void root;\n}\n"],"names":["UL_TAG","UL_SELECTOR","toGlobalAttrs","attrs","aria","type","extraAttrs","rest","mapped","mappedAria","mergedAttrs","createUl","text","createElement","enhanceUls","root"],"mappings":"0CA4DaA,EAAS,KAOTC,EAAc,KA0D3B,SAASC,EAAcC,EAA0C,CAC/D,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,KAAAC,EAAM,MAAOC,EAAY,GAAGC,GAASJ,EAE7CK,EAAsB,CAAE,GAAGD,CAAA,EAGjC,GAAIH,EAAM,CACR,MAAMK,EAA+C,CAAA,EACjD,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,MAAU,KAAOA,EACxD,CAGA,MAAMC,EAAiD,CAAE,GAAIJ,GAAc,EAAC,EAC5E,OAAI,OAAOD,GAAS,UAAYA,EAAK,OAAS,MAAe,KAAOA,GAEhE,OAAO,KAAKK,CAAW,EAAE,OAAS,MAAU,MAAQA,GAEjDF,CACT,CA4BO,SAASG,EAASC,EAAeT,EAA2C,CACjF,OAAOU,EAAAA,cAAcb,EAAQE,EAAcC,CAAK,EAAGS,CAAI,CACzD,CAYO,SAASE,EAAWC,EAAmB,SAAgB,CAG9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("./index49.cjs"),o=require("./index50.cjs"),_=require("./index51.cjs"),d=require("./index52.cjs"),c=require("./index53.cjs"),u=require("./index54.cjs"),a=require("./index55.cjs"),m=require("./index56.cjs"),b=require("./index57.cjs"),x=require("./index58.cjs"),q=require("./index59.cjs"),p=require("./index60.cjs"),f=require("./index61.cjs"),y=require("./index62.cjs"),g=require("./index63.cjs"),h=require("./dom.cjs"),O=require("./index64.cjs"),j=require("./index65.cjs"),k=require("./index66.cjs"),v=require("./index67.cjs"),R=require("./index68.cjs"),S=require("./index69.cjs"),M=require("./index70.cjs"),P=require("./index71.cjs"),T=require("./index72.cjs"),A=require("./index73.cjs"),r="rp",E="rp";function z(n){if(!n)return;const{aria:e,...t}=n;if(!e)return t;const i={};return typeof e.label=="string"&&(i.label=e.label),typeof e.labelledby=="string"&&(i.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(i.hidden=e.hidden),Object.keys(i).length>0?{...t,aria:i}:t}function G(n,e){return h.createElement(r,z(e),n)}function $(n=document){}const l=Object.freeze(Object.defineProperty({__proto__:null,RP_SELECTOR:E,RP_TAG:r,createRp:G,enhanceRps:$},Symbol.toStringTag,{value:"Module"})),C=Object.freeze(Object.defineProperty({__proto__:null,abbr:o.index,anchor:s.index,b:_.index,cite:u.index,code:a.index,data:m.index,dfn:b.index,em:x.index,italic:q.index,kbd:p.index,mark:f.index,q:y.index,rb:g.index,rp:l,rt:O.index,rtc:j.index,ruby:k.index,s:v.index,samp:R.index,small:d.index,strong:c.index,sub:S.index,sup:M.index,time:P.index,u:T.index,var:A.index},Symbol.toStringTag,{value:"Module"}));exports.index=C;exports.index$1=l;
|
|
2
|
+
//# sourceMappingURL=index8.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index8.cjs","sources":["../../../src/elements/inline/rp/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Rp element helpers.\n *\n * @remarks\n * The rp element (`<rp>`) provides fallback parentheses (or other markers) for\n * ruby annotations when ruby rendering is not supported.\n *\n * Best-practice guidance:\n * - Use `<rp>` only inside `<ruby>` as a fallback wrapper around `<rt>` content.\n * - Keep `<rp>` content short (commonly \"(\" and \")\").\n * - Do not use `<rp>` for general punctuation or layout. Use normal text instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create rp 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 * References:\n * - MDN: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp\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 rp elements.\n *\n * @category Constants\n */\nexport const RP_TAG = 'rp' as const;\n\n/**\n * A CSS selector targeting rp elements.\n *\n * @category Constants\n */\nexport const RP_SELECTOR = 'rp';\n\n/**\n * Attribute bag for rp creation/enhancement.\n *\n * @remarks\n * Rp 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 RpAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link RpAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The rp attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: RpAttrs): 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 rp 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 rp element (commonly \"(\" or \")\").\n * @param attrs - Optional attributes to apply.\n * @returns The created `<rp>` element.\n *\n * @example\n * Create a ruby fallback wrapper:\n * ```ts\n * import { createRp } from \"@Vastare/Fundatio/elements/inline/rp\";\n *\n * const open = createRp(\"(\");\n * const close = createRp(\")\");\n * ```\n *\n * @category DOM\n */\nexport function createRp(text?: string, attrs?: RpAttrs): ElementOf<typeof RP_TAG> {\n return createElement(RP_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance rp 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 enhanceRps(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for rp.\n void root;\n}\n"],"names":["RP_TAG","RP_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createRp","text","createElement","enhanceRps","root"],"mappings":"6sBA2DaA,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,CA0BO,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 l=require("./dom.cjs"),o="figcaption",a="figcaption";function d(t){if(!t)return;const{aria:e,...i}=t;if(!e)return i;const n={};return typeof e.label=="string"&&(n.label=e.label),typeof e.labelledby=="string"&&(n.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(n.hidden=e.hidden),Object.keys(n).length>0?{...i,aria:n}:i}function c(t,e){return l.createElement(o,d(e),t)}function r(t=document){}const p=Object.freeze(Object.defineProperty({__proto__:null,FIGCAPTION_SELECTOR:a,FIGCAPTION_TAG:o,createFigcaption:c,enhanceFigcaptions:r},Symbol.toStringTag,{value:"Module"}));exports.FIGCAPTION_SELECTOR=a;exports.FIGCAPTION_TAG=o;exports.createFigcaption=c;exports.enhanceFigcaptions=r;exports.index=p;
|
|
2
|
+
//# sourceMappingURL=index80.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index80.cjs","sources":["../../../src/elements/figure/figcaption/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Figcaption element helpers.\n *\n * @remarks\n * The figcaption element (`<figcaption>`) represents a caption or legend for\n * the rest of the contents of its parent `<figure>` element.\n *\n * Best-practice guidance (summary):\n * - Use `<figcaption>` as the caption for a `<figure>`.\n * - Place it as the first or last child of the `<figure>` where possible.\n * - Keep the visible caption text human-friendly and meaningful.\n * - Do not use `<figcaption>` purely for styling. Use CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<figcaption>` 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 * The semantic tag name for figcaption.\n *\n * @category Constants\n */\nexport const FIGCAPTION_TAG = 'figcaption' as const;\n\n/**\n * A CSS selector targeting figcaption elements.\n *\n * @category Constants\n */\nexport const FIGCAPTION_SELECTOR = 'figcaption';\n\n/**\n * Attribute bag for figcaption creation/enhancement.\n *\n * @remarks\n * `<figcaption>` supports standard HTML global attributes.\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type FigcaptionAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link FigcaptionAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The figcaption attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: FigcaptionAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a figcaption 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 figcaption element.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<figcaption>` element.\n *\n * @example\n * ```ts\n * import { createFigcaption } from \"@Vastare/Fundatio/elements/figure/figcaption\";\n *\n * const c = createFigcaption(\"Kitchen layout, 2026\", { className: \"caption\" });\n * document.body.appendChild(c);\n * ```\n *\n * @category DOM\n */\nexport function createFigcaption(\n text?: string,\n attrs?: FigcaptionAttrs,\n): ElementOf<typeof FIGCAPTION_TAG> {\n return createElement(FIGCAPTION_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance figcaption 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 enhanceFigcaptions(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for figcaption.\n void root;\n}\n"],"names":["FIGCAPTION_TAG","FIGCAPTION_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createFigcaption","text","createElement","enhanceFigcaptions","root"],"mappings":"0CA4DaA,EAAiB,aAOjBC,EAAsB,aA4BnC,SAASC,EAAcC,EAAkD,CACvE,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,CAyBO,SAASE,EACdC,EACAL,EACkC,CAClC,OAAOM,EAAAA,cAAcT,EAAgBE,EAAcC,CAAK,EAAGK,CAAI,CACjE,CAYO,SAASE,EAAmBC,EAAmB,SAAgB,CAGtE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const c=require("./dom.cjs"),i="figure",o="figure";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 l(t,e){return c.createElement(i,d(e),t)}function a(t=document){}const u=Object.freeze(Object.defineProperty({__proto__:null,FIGURE_SELECTOR:o,FIGURE_TAG:i,createFigure:l,enhanceFigures:a},Symbol.toStringTag,{value:"Module"}));exports.FIGURE_SELECTOR=o;exports.FIGURE_TAG=i;exports.createFigure=l;exports.enhanceFigures=a;exports.index=u;
|
|
2
|
+
//# sourceMappingURL=index81.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index81.cjs","sources":["../../../src/elements/figure/figure/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Figure element helpers.\n *\n * @remarks\n * The figure element (`<figure>`) represents self-contained content, optionally\n * with a caption provided by a nested `<figcaption>`.\n *\n * Best-practice guidance:\n * - Use `<figure>` for content referenced from the main flow but which could be\n * moved elsewhere without affecting the document's meaning.\n * - If a caption is present, use `<figcaption>` as the first or last child.\n * - Avoid using `<figure>` purely as a styling hook.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<figure>` elements in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure\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 figure.\n *\n * @category Constants\n */\nexport const FIGURE_TAG = 'figure' as const;\n\n/**\n * A CSS selector targeting figure elements.\n *\n * @category Constants\n */\nexport const FIGURE_SELECTOR = 'figure';\n\n/**\n * Attribute bag for figure creation/enhancement.\n *\n * @remarks\n * `<figure>` supports standard HTML global attributes only.\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 FigureAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link FigureAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The figure attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: FigureAttrs): 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 figure 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 * Note: `<figure>` typically contains richer flow content (images, code blocks,\n * quotes, etc.). This helper supports optional text for parity with other Fundatio\n * element factories; consumers can append child nodes as needed.\n *\n * @param text - Optional text content for the figure.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<figure>` element.\n *\n * @example\n * Create a figure and append custom content:\n * ```ts\n * import { createFigure } from \"@Vastare/Fundatio/elements/figure/figure\";\n * import { createFigcaption } from \"@Vastare/Fundatio/elements/figure/figcaption\";\n *\n * const fig = createFigure(undefined, { className: \"media\" });\n * fig.appendChild(document.createElement(\"img\"));\n * fig.appendChild(createFigcaption(\"Caption\"));\n * ```\n *\n * @category DOM\n */\nexport function createFigure(text?: string, attrs?: FigureAttrs): ElementOf<typeof FIGURE_TAG> {\n return createElement(FIGURE_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance figure 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 enhanceFigures(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for figure.\n void root;\n}\n"],"names":["FIGURE_TAG","FIGURE_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createFigure","text","createElement","enhanceFigures","root"],"mappings":"0CA8DaA,EAAa,SAObC,EAAkB,SA4B/B,SAASC,EAAcC,EAA8C,CACnE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,GAAGC,CAAA,EAASF,EAE1B,GAAI,CAACC,EAAM,OAAOC,EAElB,MAAMC,EAA+C,CAAA,EAErD,OAAI,OAAOF,EAAK,OAAU,WAAUE,EAAW,MAAQF,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUE,EAAW,WAAaF,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWE,EAAW,OAASF,EAAK,QAG7C,OAAO,KAAKE,CAAU,EAAE,OAAS,EAEhC,CAAE,GAAGD,EAAM,KAAMC,GAAeD,CACrD,CAgCO,SAASE,EAAaC,EAAeL,EAAmD,CAC7F,OAAOM,EAAAA,cAAcT,EAAYE,EAAcC,CAAK,EAAGK,CAAI,CAC7D,CAYO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const U=require("./dom.cjs"),f="button",s="button";function S(r){const{aria:e,type:m,name:p,value:b,disabled:T,autofocus:y,form:g,formAction:O,formEnctype:h,formMethod:_,formNoValidate:v,formTarget:A,popoverTarget:B,popoverTargetAction:E,command:j,commandFor:N,...l}=r??{},n={...l.attrs??{}},t=(i,a)=>{a!==void 0&&(Object.prototype.hasOwnProperty.call(n,i)||(n[i]=a))};t("type",m??"button"),t("name",p),t("value",b),t("form",g),t("formaction",O),t("formenctype",h),t("formmethod",_),t("formtarget",A),t("popovertarget",B),t("popovertargetaction",E),t("command",j),t("commandfor",N),T===!0&&t("disabled",""),y===!0&&t("autofocus",""),v===!0&&t("formnovalidate","");const c={...l,attrs:n},o={};if(e&&(typeof e.label=="string"&&(o.label=e.label),typeof e.labelledby=="string"&&(o.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(o.hidden=e.hidden)),Object.keys(o).length>0&&(c.aria=o),Object.keys(n).length===0){const{attrs:i,...a}=c;return a}return c}function u(r,e){return U.createElement(f,S(e),r)}function d(r=document){}const G=Object.freeze(Object.defineProperty({__proto__:null,BUTTON_SELECTOR:s,BUTTON_TAG:f,createButton:u,enhanceButtons:d},Symbol.toStringTag,{value:"Module"}));exports.BUTTON_SELECTOR=s;exports.BUTTON_TAG=f;exports.createButton=u;exports.enhanceButtons=d;exports.index=G;
|
|
2
|
+
//# sourceMappingURL=index82.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index82.cjs","sources":["../../../src/elements/form/button/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Button element helpers.\n *\n * @remarks\n * The button element (`<button>`) is an interactive control that users can\n * activate via mouse, keyboard, touch, or assistive technology. :contentReference[oaicite:5]{index=5}\n *\n * Best-practice guidance:\n * - Prefer native `<button>` semantics over non-semantic elements with `role=\"button\"`.\n * - Provide an accessible name via visible text or ARIA labelling.\n * - Avoid placing interactive content inside a button (nested links/inputs/etc.).\n * - In forms, explicitly set a button `type` to avoid accidental submissions.\n * In HTML, the default `type` is effectively `\"submit\"` in many form contexts. :contentReference[oaicite:6]{index=6}\n *\n * Fundatio-specific conventions:\n * - Defaults `type` to `\"button\"` unless the caller explicitly sets `type`\n * (via the typed `type` field or via the raw `attrs` escape hatch).\n * - Applies global attributes via Fundatio's hardened DOM helpers (`dom.ts`),\n * which block inline event handler attributes (e.g. `onclick`) and the raw\n * `style` attribute string.\n * - Supports a small structured ARIA input to reduce typo-based ARIA bugs.\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference(s) to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * Allowed `type` values for `<button>`.\n *\n * @remarks\n * HTML supports `submit`, `reset`, and `button`. :contentReference[oaicite:7]{index=7}\n *\n * @category Attributes\n */\nexport type ButtonType = 'submit' | 'reset' | 'button';\n\n/**\n * Allowed `formenctype` values for submit buttons.\n *\n * @category Attributes\n */\nexport type ButtonFormEnctype =\n | 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain';\n\n/**\n * Allowed `formmethod` values for submit buttons.\n *\n * @remarks\n * `dialog` is supported for form submission to a dialog in HTML. :contentReference[oaicite:8]{index=8}\n *\n * @category Attributes\n */\nexport type ButtonFormMethod = 'get' | 'post' | 'dialog';\n\n/**\n * Allowed `popovertargetaction` values for popover trigger buttons.\n *\n * @remarks\n * Mirrors the `popovertargetaction` attribute. :contentReference[oaicite:9]{index=9}\n *\n * @category Attributes\n */\nexport type PopoverTargetAction = 'toggle' | 'show' | 'hide';\n\n/**\n * The semantic tag name for buttons.\n *\n * @category Constants\n */\nexport const BUTTON_TAG = 'button' as const;\n\n/**\n * A CSS selector targeting button elements.\n *\n * @category Constants\n */\nexport const BUTTON_SELECTOR = 'button';\n\n/**\n * Attribute bag for button creation/enhancement.\n *\n * @remarks\n * `<button>` supports global attributes plus button/form-associated attributes.\n * This type models the most commonly used attributes in a typed way, while still\n * providing {@link GlobalAttrs.attrs} as an escape hatch (validated by `dom.ts`).\n *\n * Notes:\n * - `type` defaults to `\"button\"` in Fundatio to avoid accidental form submission.\n * - Boolean attributes are applied by presence (empty string) when `true`.\n * - `command` and `commandfor` are part of the HTML Invoker Commands model. :contentReference[oaicite:10]{index=10}\n *\n * @category Attributes\n */\nexport type ButtonAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * The button type. Fundatio defaults to `\"button\"` when not provided.\n */\n type?: ButtonType;\n\n /**\n * The button name (used during form submission).\n */\n name?: string;\n\n /**\n * The button value (used during form submission).\n */\n value?: string;\n\n /**\n * Disables the button when true.\n */\n disabled?: boolean;\n\n /**\n * Autofocus hint.\n */\n autofocus?: boolean;\n\n /**\n * Associates the button with a form element by ID.\n */\n form?: string;\n\n /**\n * Overrides the form `action` for submit buttons.\n */\n formAction?: string;\n\n /**\n * Overrides the form encoding type for submit buttons.\n */\n formEnctype?: ButtonFormEnctype;\n\n /**\n * Overrides the form HTTP method for submit buttons.\n */\n formMethod?: ButtonFormMethod;\n\n /**\n * When true, prevents constraint validation on submission.\n */\n formNoValidate?: boolean;\n\n /**\n * Overrides the form target for submission.\n *\n * @remarks\n * Can be a special keyword like `_blank` or a named browsing context.\n */\n formTarget?: string;\n\n /**\n * ID of the popover element this button targets.\n */\n popoverTarget?: string;\n\n /**\n * Action to perform on the targeted popover.\n */\n popoverTargetAction?: PopoverTargetAction;\n\n /**\n * Invoker Commands: the command name.\n */\n command?: string;\n\n /**\n * Invoker Commands: the element ID to invoke/control.\n */\n commandFor?: string;\n};\n\n/**\n * Normalize {@link ButtonAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * This follows the same pattern used by other attribute-rich modules (e.g. iframe):\n * - Start with any caller-provided raw attrs escape hatch.\n * - Apply typed attributes without overriding explicit raw attributes.\n * - Map structured ARIA into {@link GlobalAttrs.aria}.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: ButtonAttrs): GlobalAttrs {\n const {\n aria,\n type,\n name,\n value,\n disabled,\n autofocus,\n form,\n formAction,\n formEnctype,\n formMethod,\n formNoValidate,\n formTarget,\n popoverTarget,\n popoverTargetAction,\n command,\n commandFor,\n ...rest\n } = attrs ?? {};\n\n // Start with any caller-provided attrs escape hatch (still validated by dom.ts).\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n // Helper: only set if caller didn't already set the raw attribute explicitly.\n const setIfUnset = (key: string, v: AttrValue | undefined): void => {\n if (v === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = v;\n };\n\n // Fundatio safety: default to type=\"button\" unless caller explicitly overrides it.\n setIfUnset('type', type ?? 'button');\n\n setIfUnset('name', name);\n setIfUnset('value', value);\n setIfUnset('form', form);\n setIfUnset('formaction', formAction);\n setIfUnset('formenctype', formEnctype);\n setIfUnset('formmethod', formMethod);\n setIfUnset('formtarget', formTarget);\n setIfUnset('popovertarget', popoverTarget);\n setIfUnset('popovertargetaction', popoverTargetAction);\n setIfUnset('command', command);\n setIfUnset('commandfor', commandFor);\n\n // Boolean attributes are represented by presence. We set empty-string when true.\n if (disabled === true) setIfUnset('disabled', '');\n if (autofocus === true) setIfUnset('autofocus', '');\n if (formNoValidate === true) setIfUnset('formnovalidate', '');\n\n const mapped: GlobalAttrs = { ...rest, attrs: mergedAttrs };\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n if (Object.keys(mappedAria).length > 0) {\n mapped.aria = mappedAria;\n }\n\n // If mergedAttrs ended up empty, avoid attaching it.\n if (Object.keys(mergedAttrs).length === 0) {\n const { attrs: _unused, ...withoutAttrs } = mapped;\n return withoutAttrs;\n }\n\n return mapped;\n}\n\n/**\n * Create a button element with optional text content and attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Fundatio defaults `type` to `\"button\"` to reduce accidental form submissions. :contentReference[oaicite:11]{index=11}\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 text - Optional text content for the button.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<button>` element.\n *\n * @example\n * ```ts\n * import { createButton } from \"@Vastare/Fundatio/elements/form/button\";\n *\n * document.body.appendChild(createButton(\"Save\", { className: \"btn\" }));\n * ```\n *\n * @category DOM\n */\nexport function createButton(text?: string, attrs?: ButtonAttrs): ElementOf<typeof BUTTON_TAG> {\n return createElement(BUTTON_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance button 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 enhanceButtons(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for button.\n void root;\n}\n"],"names":["BUTTON_TAG","BUTTON_SELECTOR","toGlobalAttrs","attrs","aria","type","name","value","disabled","autofocus","form","formAction","formEnctype","formMethod","formNoValidate","formTarget","popoverTarget","popoverTargetAction","command","commandFor","rest","mergedAttrs","setIfUnset","key","v","mapped","mappedAria","_unused","withoutAttrs","createButton","text","createElement","enhanceButtons","root"],"mappings":"0CAqGaA,EAAa,SAObC,EAAkB,SAiH/B,SAASC,EAAcC,EAAkC,CACvD,KAAM,CACJ,KAAAC,EACA,KAAAC,EACA,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,UAAAC,EACA,KAAAC,EACA,WAAAC,EACA,YAAAC,EACA,WAAAC,EACA,eAAAC,EACA,WAAAC,EACA,cAAAC,EACA,oBAAAC,EACA,QAAAC,EACA,WAAAC,EACA,GAAGC,CAAA,EACDjB,GAAS,CAAA,EAGPkB,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAG9DE,EAAa,CAACC,EAAaC,IAAmC,CAC9DA,IAAM,SACN,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAGAF,EAAW,OAAQjB,GAAQ,QAAQ,EAEnCiB,EAAW,OAAQhB,CAAI,EACvBgB,EAAW,QAASf,CAAK,EACzBe,EAAW,OAAQZ,CAAI,EACvBY,EAAW,aAAcX,CAAU,EACnCW,EAAW,cAAeV,CAAW,EACrCU,EAAW,aAAcT,CAAU,EACnCS,EAAW,aAAcP,CAAU,EACnCO,EAAW,gBAAiBN,CAAa,EACzCM,EAAW,sBAAuBL,CAAmB,EACrDK,EAAW,UAAWJ,CAAO,EAC7BI,EAAW,aAAcH,CAAU,EAG/BX,IAAa,IAAMc,EAAW,WAAY,EAAE,EAC5Cb,IAAc,IAAMa,EAAW,YAAa,EAAE,EAC9CR,IAAmB,IAAMQ,EAAW,iBAAkB,EAAE,EAE5D,MAAMG,EAAsB,CAAE,GAAGL,EAAM,MAAOC,CAAA,EAExCK,EAA+C,CAAA,EAYrD,GAXItB,IACE,OAAOA,EAAK,OAAU,WAAUsB,EAAW,MAAQtB,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUsB,EAAW,WAAatB,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWsB,EAAW,OAAStB,EAAK,SAG7D,OAAO,KAAKsB,CAAU,EAAE,OAAS,IACnCD,EAAO,KAAOC,GAIZ,OAAO,KAAKL,CAAW,EAAE,SAAW,EAAG,CACzC,KAAM,CAAE,MAAOM,EAAS,GAAGC,GAAiBH,EAC5C,OAAOG,CACT,CAEA,OAAOH,CACT,CAyBO,SAASI,EAAaC,EAAe3B,EAAmD,CAC7F,OAAO4B,EAAAA,cAAc/B,EAAYE,EAAcC,CAAK,EAAG2B,CAAI,CAC7D,CAYO,SAASE,EAAeC,EAAmB,SAAgB,CAGlE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("./dom.cjs"),l="datalist",i="datalist";function d(t){if(!t)return;const{aria:e,...n}=t;if(!e)return n;const a={};return typeof e.label=="string"&&(a.label=e.label),typeof e.labelledby=="string"&&(a.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(a.hidden=e.hidden),Object.keys(a).length>0?{...n,aria:a}:n}function o(t,e){return s.createElement(l,d(e),t)}function r(t=document){}const c=Object.freeze(Object.defineProperty({__proto__:null,DATALIST_SELECTOR:i,DATALIST_TAG:l,createDatalist:o,enhanceDatalists:r},Symbol.toStringTag,{value:"Module"}));exports.DATALIST_SELECTOR=i;exports.DATALIST_TAG=l;exports.createDatalist=o;exports.enhanceDatalists=r;exports.index=c;
|
|
2
|
+
//# sourceMappingURL=index83.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index83.cjs","sources":["../../../src/elements/form/datalist/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Datalist element helpers.\n *\n * @remarks\n * The datalist element (`<datalist>`) contains a set of `<option>` elements that\n * represent permissible or recommended values for an associated form control\n * (most commonly an `<input>`), connected via the input's `list` attribute.\n *\n * Best-practice guidance:\n * - Pair a `<datalist>` with an `<input>` using a stable, unique `id` on the\n * datalist and a matching `list` attribute on the input.\n * - Use `<datalist>` for suggestions, not strict validation. If users must pick\n * from a fixed set, prefer `<select>`.\n * - Populate suggestions using descendant `<option>` elements, typically with\n * `value` attributes.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create `<datalist>` 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 * Attributes:\n * - `<datalist>` supports global attributes only (no element-specific content\n * attributes).\n *\n * Security:\n * - Global attribute escape hatches are guarded by Fundatio's `dom.ts` helpers which\n * block inline event handler attributes (e.g. `onclick`) and raw `style`\n * attribute injection (use the `style` object field instead).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/datalist\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 datalist.\n *\n * @category Constants\n */\nexport const DATALIST_TAG = 'datalist' as const;\n\n/**\n * A CSS selector targeting datalist elements.\n *\n * @category Constants\n */\nexport const DATALIST_SELECTOR = 'datalist';\n\n/**\n * Attribute bag for datalist creation/enhancement.\n *\n * @remarks\n * Datalist 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 DatalistAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link DatalistAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The datalist attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DatalistAttrs): 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 datalist element with optional text content and global attributes.\n *\n * @remarks\n * While `<datalist>` is typically populated with `<option>` children, this helper\n * follows Fundatio's consistent \"optional text\" factory signature for non-void elements.\n *\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 datalist (rare, but supported).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<datalist>` element.\n *\n * @example\n * ```ts\n * import { createDatalist } from \"@Vastare/Fundatio/elements/form/datalist\";\n *\n * const dl = createDatalist(undefined, { id: \"city-list\" });\n * document.body.appendChild(dl);\n * ```\n *\n * @category DOM\n */\nexport function createDatalist(\n text?: string,\n attrs?: DatalistAttrs,\n): ElementOf<typeof DATALIST_TAG> {\n return createElement(DATALIST_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance datalist 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 enhanceDatalists(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for datalist.\n void root;\n}\n"],"names":["DATALIST_TAG","DATALIST_SELECTOR","toGlobalAttrs","attrs","aria","rest","mappedAria","createDatalist","text","createElement","enhanceDatalists","root"],"mappings":"0CA0EaA,EAAe,WAOfC,EAAoB,WA4BjC,SAASC,EAAcC,EAAgD,CACrE,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,CA4BO,SAASE,EACdC,EACAL,EACgC,CAChC,OAAOM,EAAAA,cAAcT,EAAcE,EAAcC,CAAK,EAAGK,CAAI,CAC/D,CAoBO,SAASE,EAAiBC,EAAmB,SAAgB,CAGpE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const m=require("./dom.cjs"),s="fieldset",c="fieldset";function T(t){if(!t)return;const{aria:e,disabled:u,form:E,name:p,...l}=t,r={...l.attrs??{}},i=(a,d)=>{d!==void 0&&(Object.prototype.hasOwnProperty.call(r,a)||(r[a]=d))};i("form",E),i("name",p),u===!0&&i("disabled","");const n={};e&&(typeof e.label=="string"&&(n.label=e.label),typeof e.labelledby=="string"&&(n.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(n.hidden=e.hidden));const y=Object.keys(n).length>0,h=Object.keys(r).length>0,o={...l};return h&&(o.attrs=r),y&&(o.aria=n),o}function f(t,e){return m.createElement(s,T(e),t)}function b(t=document){}const g=Object.freeze(Object.defineProperty({__proto__:null,FIELDSET_SELECTOR:c,FIELDSET_TAG:s,createFieldset:f,enhanceFieldsets:b},Symbol.toStringTag,{value:"Module"}));exports.FIELDSET_SELECTOR=c;exports.FIELDSET_TAG=s;exports.createFieldset=f;exports.enhanceFieldsets=b;exports.index=g;
|
|
2
|
+
//# sourceMappingURL=index84.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index84.cjs","sources":["../../../src/elements/form/fieldset/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Fieldset element helpers.\n *\n * @remarks\n * The fieldset element (`<fieldset>`) groups related form controls, typically\n * with a `<legend>` that provides an accessible label for the group.\n *\n * Best-practice guidance:\n * - Use `<fieldset>` to group related controls (e.g. radio button sets).\n * - Prefer a meaningful `<legend>` as the first child to label the group.\n * - Do not use `<fieldset>` purely for layout; use CSS for visual grouping.\n *\n * Attribute behavior notes:\n * - When `disabled` is set on a `<fieldset>`, user agents disable descendant\n * form controls, except those that are descendants of the fieldset's first\n * `<legend>` child (if any). This is native platform behavior.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create fieldsets in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if Fundatio ever needs runtime behavior\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset\n * @see https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for fieldset groups.\n *\n * @category Constants\n */\nexport const FIELDSET_TAG = 'fieldset' as const;\n\n/**\n * A CSS selector targeting fieldset elements.\n *\n * @category Constants\n */\nexport const FIELDSET_SELECTOR = 'fieldset';\n\n/**\n * Attribute bag for fieldset creation/enhancement.\n *\n * @remarks\n * Fieldset accepts standard HTML global attributes plus fieldset-specific\n * attributes (`disabled`, `form`, `name`).\n *\n * Fundatio also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing Fundatio's core DOM helpers.\n *\n * @category Attributes\n */\nexport type FieldsetAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n\n /**\n * Disables descendant form controls (native platform behavior).\n *\n * @remarks\n * When set, controls inside the first `<legend>` (if present) are typically\n * excluded from disabling per spec/user agent behavior.\n */\n disabled?: boolean;\n\n /**\n * Associates the fieldset with a form element by ID, even if not a descendant.\n */\n form?: string;\n\n /**\n * Name of the fieldset (submitted/associated in form processing contexts).\n */\n name?: string;\n};\n\n/**\n * Normalize {@link FieldsetAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The fieldset attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: FieldsetAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, disabled, form, name, ...rest } = attrs;\n\n // Start with any caller-provided attrs escape hatch (still validated by dom.ts).\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n const setIfUnset = (key: string, value: AttrValue | undefined): void => {\n if (value === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = value;\n };\n\n setIfUnset('form', form);\n setIfUnset('name', name);\n\n // Boolean attributes are represented by presence. We set empty-string when true.\n if (disabled === true) setIfUnset('disabled', '');\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n\n const next: GlobalAttrs = { ...rest };\n if (hasMergedAttrs) next.attrs = mergedAttrs;\n if (hasMappedAria) next.aria = mappedAria;\n\n return next;\n}\n\n/**\n * Create a fieldset 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 fieldset (rare; most fieldsets contain child nodes).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<fieldset>` element.\n *\n * @example\n * ```ts\n * import { createFieldset } from \"@Vastare/Fundatio/elements/form/fieldset\";\n *\n * const fs = createFieldset(undefined, { disabled: false });\n * // fs.appendChild(createLegend(\"Shipping address\"));\n * ```\n *\n * @category DOM\n */\nexport function createFieldset(\n text?: string,\n attrs?: FieldsetAttrs,\n): ElementOf<typeof FIELDSET_TAG> {\n return createElement(FIELDSET_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance fieldset 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 enhanceFieldsets(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for fieldset.\n void root;\n}\n"],"names":["FIELDSET_TAG","FIELDSET_SELECTOR","toGlobalAttrs","attrs","aria","disabled","form","name","rest","mergedAttrs","setIfUnset","key","value","mappedAria","hasMappedAria","hasMergedAttrs","next","createFieldset","text","createElement","enhanceFieldsets","root"],"mappings":"0CAmEaA,EAAe,WAOfC,EAAoB,WAgDjC,SAASC,EAAcC,EAAgD,CACrE,GAAI,CAACA,EAAO,OAEZ,KAAM,CAAE,KAAAC,EAAM,SAAAC,EAAU,KAAAC,EAAM,KAAAC,EAAM,GAAGC,GAASL,EAG1CM,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAE9DE,EAAa,CAACC,EAAaC,IAAuC,CAClEA,IAAU,SACV,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAEAF,EAAW,OAAQJ,CAAI,EACvBI,EAAW,OAAQH,CAAI,EAGnBF,IAAa,IAAMK,EAAW,WAAY,EAAE,EAEhD,MAAMG,EAA+C,CAAA,EACjDT,IACE,OAAOA,EAAK,OAAU,WAAUS,EAAW,MAAQT,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUS,EAAW,WAAaT,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWS,EAAW,OAAST,EAAK,SAGjE,MAAMU,EAAgB,OAAO,KAAKD,CAAU,EAAE,OAAS,EACjDE,EAAiB,OAAO,KAAKN,CAAW,EAAE,OAAS,EAEnDO,EAAoB,CAAE,GAAGR,CAAA,EAC/B,OAAIO,MAAqB,MAAQN,GAC7BK,MAAoB,KAAOD,GAExBG,CACT,CAyBO,SAASC,EACdC,EACAf,EACgC,CAChC,OAAOgB,EAAAA,cAAcnB,EAAcE,EAAcC,CAAK,EAAGe,CAAI,CAC/D,CAoBO,SAASE,EAAiBC,EAAmB,SAAgB,CAGpE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const R=require("./dom.cjs"),c="form",d="form";function j(n){if(!n)return;const{aria:e,action:p,method:b,enctype:u,acceptCharset:h,autocomplete:y,name:O,noValidate:g,target:F,rel:_,...i}=n,r={...i.attrs??{}},t=(l,s)=>{s!==void 0&&(Object.prototype.hasOwnProperty.call(r,l)||(r[l]=s))};t("action",p),t("method",b),t("enctype",u),t("accept-charset",h),t("autocomplete",y),t("name",O),t("target",F),t("rel",_),g===!0&&t("novalidate","");const o={};e&&(typeof e.label=="string"&&(o.label=e.label),typeof e.labelledby=="string"&&(o.labelledby=e.labelledby),typeof e.hidden=="boolean"&&(o.hidden=e.hidden));const A=Object.keys(o).length>0,M=Object.keys(r).length>0,a={...i};return M&&(a.attrs=r),A&&(a.aria=o),a}function f(n,e){return R.createElement(c,j(e),n)}function m(n=document){}const E=Object.freeze(Object.defineProperty({__proto__:null,FORM_SELECTOR:d,FORM_TAG:c,createForm:f,enhanceForms:m},Symbol.toStringTag,{value:"Module"}));exports.FORM_SELECTOR=d;exports.FORM_TAG=c;exports.createForm=f;exports.enhanceForms=m;exports.index=E;
|
|
2
|
+
//# sourceMappingURL=index85.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index85.cjs","sources":["../../../src/elements/form/form/index.ts"],"sourcesContent":["/**\n * Fundatio Design Foundation: Form element helpers.\n *\n * @remarks\n * The form element (`<form>`) groups interactive controls for submitting data.\n *\n * Best-practice guidance:\n * - Prefer HTTPS endpoints for `action` to protect user data in transit.\n * - Use `method=\"post\"` for submissions that change server state or include sensitive data.\n * - Use `enctype=\"multipart/form-data\"` when uploading files.\n * - Provide explicit labels for controls and ensure accessible naming.\n * - Consider `rel=\"noopener\"` when using `target=\"_blank\"` to avoid `window.opener` exposure.\n *\n * Fundatio notes:\n * - This module is framework-agnostic and has no side effects.\n * - Global attributes are applied via Fundatio's shared DOM helper, which blocks:\n * - inline event handler attributes (e.g. `onclick`)\n * - raw `style` attribute injection (use the `style` object instead)\n * - Text passed to factories is assigned via `textContent` (never `innerHTML`).\n *\n * References:\n * - MDN: `<form>` element :contentReference[oaicite:3]{index=3}\n * - WHATWG HTML: Forms & submission attributes :contentReference[oaicite:4]{index=4}\n * - MDN: `rel` on `<form>` / `noopener` :contentReference[oaicite:5]{index=5}\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type AttrValue, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by Fundatio element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for forms.\n *\n * @category Constants\n */\nexport const FORM_TAG = 'form' as const;\n\n/**\n * A CSS selector targeting form elements.\n *\n * @category Constants\n */\nexport const FORM_SELECTOR = 'form';\n\n/**\n * Allowed values for the form `method` attribute.\n *\n * @remarks\n * HTML supports `get`, `post`, and `dialog` (for dialog-associated forms).\n *\n * @category Types\n */\nexport type FormMethod = 'get' | 'post' | 'dialog';\n\n/**\n * Allowed values for the form `enctype` attribute.\n *\n * @category Types\n */\nexport type FormEnctype =\n | 'application/x-www-form-urlencoded'\n | 'multipart/form-data'\n | 'text/plain';\n\n/**\n * Allowed values for the form `autocomplete` attribute.\n *\n * @category Types\n */\nexport type FormAutocomplete = 'on' | 'off';\n\n/**\n * Attribute bag for form creation/enhancement.\n *\n * @remarks\n * `<form>` supports standard HTML global attributes plus submission-related\n * attributes (action, method, enctype, target, 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 * @category Attributes\n */\nexport type FormAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * URL that processes the form submission.\n *\n * @remarks\n * If omitted, the user agent submits to the current document URL.\n */\n action?: string;\n\n /**\n * HTTP method used to submit the form.\n *\n * @remarks\n * Valid values are `get`, `post`, and `dialog`.\n */\n method?: FormMethod;\n\n /**\n * Encoding type for the form submission.\n *\n * @remarks\n * Use `multipart/form-data` when uploading files.\n */\n enctype?: FormEnctype;\n\n /**\n * Character encodings that are acceptable for server processing.\n *\n * @remarks\n * Maps to the `accept-charset` attribute.\n */\n acceptCharset?: string;\n\n /**\n * Whether the browser may autofill this form.\n */\n autocomplete?: FormAutocomplete;\n\n /**\n * Name of the form, used for referencing the form in scripts and documents.\n */\n name?: string;\n\n /**\n * Disable constraint validation when submitting the form.\n *\n * @remarks\n * Maps to the boolean `novalidate` attribute (represented by attribute presence).\n */\n noValidate?: boolean;\n\n /**\n * Where to display the response after submitting the form.\n *\n * @remarks\n * Common values: `_self`, `_blank`, `_parent`, `_top`, or a named browsing context.\n */\n target?: '_self' | '_blank' | '_parent' | '_top' | (string & {});\n\n /**\n * Relationship (link types) for the form submission when `target` creates a new context.\n *\n * @remarks\n * This is a space-separated list of tokens (e.g. `noopener noreferrer`).\n */\n rel?: string;\n\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link FormAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @remarks\n * - Preserves caller-provided `attrs` escape hatch (still validated by `dom.ts`).\n * - Element-specific attributes are merged into `attrs` without overwriting keys\n * explicitly provided by the caller.\n * - Boolean attributes are represented by presence; we set empty-string when true.\n *\n * @param attrs - The form attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: FormAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const {\n aria,\n action,\n method,\n enctype,\n acceptCharset,\n autocomplete,\n name,\n noValidate,\n target,\n rel,\n ...rest\n } = attrs;\n\n // Start with any caller-provided attrs escape hatch (it is still validated by dom.ts).\n const mergedAttrs: Record<string, AttrValue> = { ...(rest.attrs ?? {}) };\n\n // Helper: only set if caller didn't already set the raw attribute explicitly.\n const setIfUnset = (key: string, value: AttrValue | undefined): void => {\n if (value === undefined) return;\n if (Object.prototype.hasOwnProperty.call(mergedAttrs, key)) return;\n mergedAttrs[key] = value;\n };\n\n setIfUnset('action', action);\n setIfUnset('method', method);\n setIfUnset('enctype', enctype);\n setIfUnset('accept-charset', acceptCharset);\n setIfUnset('autocomplete', autocomplete);\n setIfUnset('name', name);\n setIfUnset('target', target);\n setIfUnset('rel', rel);\n\n // Boolean attributes are represented by presence. We set empty-string when true.\n if (noValidate === true) setIfUnset('novalidate', '');\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n if (aria) {\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n }\n\n const hasMappedAria = Object.keys(mappedAria).length > 0;\n const hasMergedAttrs = Object.keys(mergedAttrs).length > 0;\n\n const next: GlobalAttrs = { ...rest };\n if (hasMergedAttrs) next.attrs = mergedAttrs;\n if (hasMappedAria) next.aria = mappedAria;\n\n return next;\n}\n\n/**\n * Create a form element with optional fallback text and attributes.\n *\n * @remarks\n * - Fallback text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via Fundatio's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the form (rare, but supported for parity).\n * @param attrs - Optional attributes to apply.\n * @returns The created `<form>` element.\n *\n * @example\n * ```ts\n * import { createForm } from \"@Vastare/Fundatio/elements/form/form\";\n *\n * const form = createForm(undefined, {\n * action: \"/submit\",\n * method: \"post\",\n * enctype: \"application/x-www-form-urlencoded\",\n * });\n * document.body.appendChild(form);\n * ```\n *\n * @category DOM\n */\nexport function createForm(text?: string, attrs?: FormAttrs): ElementOf<typeof FORM_TAG> {\n return createElement(FORM_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance form 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 enhanceForms(root: ParentNode = document): void {\n // v1.0.0: no runtime behavior for form.\n void root;\n}\n"],"names":["FORM_TAG","FORM_SELECTOR","toGlobalAttrs","attrs","aria","action","method","enctype","acceptCharset","autocomplete","name","noValidate","target","rel","rest","mergedAttrs","setIfUnset","key","value","mappedAria","hasMappedAria","hasMergedAttrs","next","createForm","text","createElement","enhanceForms","root"],"mappings":"0CAgEaA,EAAW,OAOXC,EAAgB,OAgI7B,SAASC,EAAcC,EAA4C,CACjE,GAAI,CAACA,EAAO,OAEZ,KAAM,CACJ,KAAAC,EACA,OAAAC,EACA,OAAAC,EACA,QAAAC,EACA,cAAAC,EACA,aAAAC,EACA,KAAAC,EACA,WAAAC,EACA,OAAAC,EACA,IAAAC,EACA,GAAGC,CAAA,EACDX,EAGEY,EAAyC,CAAE,GAAID,EAAK,OAAS,CAAA,CAAC,EAG9DE,EAAa,CAACC,EAAaC,IAAuC,CAClEA,IAAU,SACV,OAAO,UAAU,eAAe,KAAKH,EAAaE,CAAG,IACzDF,EAAYE,CAAG,EAAIC,GACrB,EAEAF,EAAW,SAAUX,CAAM,EAC3BW,EAAW,SAAUV,CAAM,EAC3BU,EAAW,UAAWT,CAAO,EAC7BS,EAAW,iBAAkBR,CAAa,EAC1CQ,EAAW,eAAgBP,CAAY,EACvCO,EAAW,OAAQN,CAAI,EACvBM,EAAW,SAAUJ,CAAM,EAC3BI,EAAW,MAAOH,CAAG,EAGjBF,IAAe,IAAMK,EAAW,aAAc,EAAE,EAEpD,MAAMG,EAA+C,CAAA,EACjDf,IACE,OAAOA,EAAK,OAAU,WAAUe,EAAW,MAAQf,EAAK,OACxD,OAAOA,EAAK,YAAe,WAAUe,EAAW,WAAaf,EAAK,YAClE,OAAOA,EAAK,QAAW,YAAWe,EAAW,OAASf,EAAK,SAGjE,MAAMgB,EAAgB,OAAO,KAAKD,CAAU,EAAE,OAAS,EACjDE,EAAiB,OAAO,KAAKN,CAAW,EAAE,OAAS,EAEnDO,EAAoB,CAAE,GAAGR,CAAA,EAC/B,OAAIO,MAAqB,MAAQN,GAC7BK,MAAoB,KAAOD,GAExBG,CACT,CA6BO,SAASC,EAAWC,EAAerB,EAA+C,CACvF,OAAOsB,EAAAA,cAAczB,EAAUE,EAAcC,CAAK,EAAGqB,CAAI,CAC3D,CAoBO,SAASE,EAAaC,EAAmB,SAAgB,CAGhE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const Q=require("./dom.cjs"),l="input",b="input";function W(o){const{aria:t,type:v,name:T,value:I,placeholder:O,disabled:_,readOnly:A,required:x,multiple:E,checked:P,min:j,max:N,step:U,minLength:c,maxLength:d,pattern:k,size:f,autoComplete:w,autofocus:L,list:S,form:q,formAction:z,formEnctype:C,formMethod:G,formNoValidate:M,formTarget:R,src:V,alt:H,width:s,height:m,accept:K,capture:a,inputMode:B,enterKeyHint:D,popoverTarget:F,popoverTargetAction:J,...h}=o??{},n={...h.attrs??{}},e=(p,i)=>{i!==void 0&&(Object.prototype.hasOwnProperty.call(n,p)||(n[p]=i))};e("type",v??"text"),e("name",T),e("value",I),e("placeholder",O),e("min",j),e("max",N),e("step",U),e("minlength",typeof c=="number"?c:void 0),e("maxlength",typeof d=="number"?d:void 0),e("pattern",k),e("size",typeof f=="number"?f:void 0),e("autocomplete",w),e("list",S),e("form",q),e("formaction",z),e("formenctype",C),e("formmethod",G),e("formtarget",R),e("src",V),e("alt",H),e("width",typeof s=="number"?s:void 0),e("height",typeof m=="number"?m:void 0),e("accept",K),e("inputmode",B),e("enterkeyhint",D),e("popovertarget",F),e("popovertargetaction",J),_===!0&&e("disabled",""),A===!0&&e("readonly",""),x===!0&&e("required",""),E===!0&&e("multiple",""),P===!0&&e("checked",""),L===!0&&e("autofocus",""),M===!0&&e("formnovalidate",""),a===!0&&e("capture",""),a==="user"&&e("capture","user"),a==="environment"&&e("capture","environment");const u={...h,attrs:n},r={};if(t&&(typeof t.label=="string"&&(r.label=t.label),typeof t.labelledby=="string"&&(r.labelledby=t.labelledby),typeof t.hidden=="boolean"&&(r.hidden=t.hidden)),Object.keys(r).length>0&&(u.aria=r),Object.keys(n).length===0){const{attrs:p,...i}=u;return i}return u}function y(o){return Q.createVoidElement(l,W(o))}function g(o=document){}const X=Object.freeze(Object.defineProperty({__proto__:null,INPUT_SELECTOR:b,INPUT_TAG:l,createInput:y,enhanceInputs:g},Symbol.toStringTag,{value:"Module"}));exports.INPUT_SELECTOR=b;exports.INPUT_TAG=l;exports.createInput=y;exports.enhanceInputs=g;exports.index=X;
|
|
2
|
+
//# sourceMappingURL=index86.cjs.map
|