@lnpg/pkgn-sol 1.0.0-beta.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 +64 -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/inline.cjs +2 -0
- package/dist/cjs/chunks/inline.cjs.map +1 -0
- package/dist/cjs/chunks/pkgn-sol.cjs +2 -0
- package/dist/cjs/chunks/pkgn-sol.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 +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 +38 -0
- package/dist/esm/chunks/dom.js.map +1 -0
- package/dist/esm/chunks/inline.js +81 -0
- package/dist/esm/chunks/inline.js.map +1 -0
- package/dist/esm/chunks/pkgn-sol.js +7 -0
- package/dist/esm/chunks/pkgn-sol.js.map +1 -0
- package/dist/esm/elements/break/br/br.js +26 -0
- package/dist/esm/elements/break/br/br.js.map +1 -0
- package/dist/esm/elements/break/break.js +12 -0
- package/dist/esm/elements/break/break.js.map +1 -0
- package/dist/esm/elements/break/wbr/wbr.js +26 -0
- package/dist/esm/elements/break/wbr/wbr.js.map +1 -0
- package/dist/esm/elements/container/container.js +12 -0
- package/dist/esm/elements/container/container.js.map +1 -0
- package/dist/esm/elements/container/div/div.js +26 -0
- package/dist/esm/elements/container/div/div.js.map +1 -0
- package/dist/esm/elements/container/span/span.js +26 -0
- package/dist/esm/elements/container/span/span.js.map +1 -0
- package/dist/esm/elements/figure/figcaption/figcaption.js +26 -0
- package/dist/esm/elements/figure/figcaption/figcaption.js.map +1 -0
- package/dist/esm/elements/figure/figure/figure.js +26 -0
- package/dist/esm/elements/figure/figure/figure.js.map +1 -0
- package/dist/esm/elements/figure/figure.js +12 -0
- package/dist/esm/elements/figure/figure.js.map +1 -0
- package/dist/esm/elements/form/button/button.js +31 -0
- package/dist/esm/elements/form/button/button.js.map +1 -0
- package/dist/esm/elements/form/datalist/datalist.js +26 -0
- package/dist/esm/elements/form/datalist/datalist.js.map +1 -0
- package/dist/esm/elements/form/fieldset/fieldset.js +27 -0
- package/dist/esm/elements/form/fieldset/fieldset.js.map +1 -0
- package/dist/esm/elements/form/form/form.js +27 -0
- package/dist/esm/elements/form/form/form.js.map +1 -0
- package/dist/esm/elements/form/form.js +36 -0
- package/dist/esm/elements/form/form.js.map +1 -0
- package/dist/esm/elements/form/input/input.js +31 -0
- package/dist/esm/elements/form/input/input.js.map +1 -0
- package/dist/esm/elements/form/label/label.js +29 -0
- package/dist/esm/elements/form/label/label.js.map +1 -0
- package/dist/esm/elements/form/legend/legend.js +26 -0
- package/dist/esm/elements/form/legend/legend.js.map +1 -0
- package/dist/esm/elements/form/meter/meter.js +29 -0
- package/dist/esm/elements/form/meter/meter.js.map +1 -0
- package/dist/esm/elements/form/optgroup/optgroup.js +24 -0
- package/dist/esm/elements/form/optgroup/optgroup.js.map +1 -0
- package/dist/esm/elements/form/option/option.js +26 -0
- package/dist/esm/elements/form/option/option.js.map +1 -0
- package/dist/esm/elements/form/output/output.js +27 -0
- package/dist/esm/elements/form/output/output.js.map +1 -0
- package/dist/esm/elements/form/progress/progress.js +27 -0
- package/dist/esm/elements/form/progress/progress.js.map +1 -0
- package/dist/esm/elements/form/select/select.js +29 -0
- package/dist/esm/elements/form/select/select.js.map +1 -0
- package/dist/esm/elements/form/textarea/textarea.js +31 -0
- package/dist/esm/elements/form/textarea/textarea.js.map +1 -0
- package/dist/esm/elements/heading/h1/h1.js +26 -0
- package/dist/esm/elements/heading/h1/h1.js.map +1 -0
- package/dist/esm/elements/heading/h2/h2.js +26 -0
- package/dist/esm/elements/heading/h2/h2.js.map +1 -0
- package/dist/esm/elements/heading/h3/h3.js +26 -0
- package/dist/esm/elements/heading/h3/h3.js.map +1 -0
- package/dist/esm/elements/heading/h4/h4.js +26 -0
- package/dist/esm/elements/heading/h4/h4.js.map +1 -0
- package/dist/esm/elements/heading/h5/h5.js +26 -0
- package/dist/esm/elements/heading/h5/h5.js.map +1 -0
- package/dist/esm/elements/heading/h6/h6.js +26 -0
- package/dist/esm/elements/heading/h6/h6.js.map +1 -0
- package/dist/esm/elements/heading/heading.js +20 -0
- package/dist/esm/elements/heading/heading.js.map +1 -0
- package/dist/esm/elements/inline/a/a.js +28 -0
- package/dist/esm/elements/inline/a/a.js.map +1 -0
- package/dist/esm/elements/inline/abbr/abbr.js +26 -0
- package/dist/esm/elements/inline/abbr/abbr.js.map +1 -0
- package/dist/esm/elements/inline/b/b.js +26 -0
- package/dist/esm/elements/inline/b/b.js.map +1 -0
- package/dist/esm/elements/inline/cite/cite.js +26 -0
- package/dist/esm/elements/inline/cite/cite.js.map +1 -0
- package/dist/esm/elements/inline/code/code.js +26 -0
- package/dist/esm/elements/inline/code/code.js.map +1 -0
- package/dist/esm/elements/inline/data/data.js +26 -0
- package/dist/esm/elements/inline/data/data.js.map +1 -0
- package/dist/esm/elements/inline/dfn/dfn.js +26 -0
- package/dist/esm/elements/inline/dfn/dfn.js.map +1 -0
- package/dist/esm/elements/inline/em/em.js +26 -0
- package/dist/esm/elements/inline/em/em.js.map +1 -0
- package/dist/esm/elements/inline/i/i.js +26 -0
- package/dist/esm/elements/inline/i/i.js.map +1 -0
- package/dist/esm/elements/inline/inline.js +27 -0
- package/dist/esm/elements/inline/kbd/kbd.js +26 -0
- package/dist/esm/elements/inline/kbd/kbd.js.map +1 -0
- package/dist/esm/elements/inline/mark/mark.js +26 -0
- package/dist/esm/elements/inline/mark/mark.js.map +1 -0
- package/dist/esm/elements/inline/q/q.js +33 -0
- package/dist/esm/elements/inline/q/q.js.map +1 -0
- package/dist/esm/elements/inline/rb/rb.js +26 -0
- package/dist/esm/elements/inline/rb/rb.js.map +1 -0
- package/dist/esm/elements/inline/rt/rt.js +26 -0
- package/dist/esm/elements/inline/rt/rt.js.map +1 -0
- package/dist/esm/elements/inline/rtc/rtc.js +27 -0
- package/dist/esm/elements/inline/rtc/rtc.js.map +1 -0
- package/dist/esm/elements/inline/ruby/ruby.js +26 -0
- package/dist/esm/elements/inline/ruby/ruby.js.map +1 -0
- package/dist/esm/elements/inline/s/s.js +26 -0
- package/dist/esm/elements/inline/s/s.js.map +1 -0
- package/dist/esm/elements/inline/samp/samp.js +26 -0
- package/dist/esm/elements/inline/samp/samp.js.map +1 -0
- package/dist/esm/elements/inline/small/small.js +26 -0
- package/dist/esm/elements/inline/small/small.js.map +1 -0
- package/dist/esm/elements/inline/strong/strong.js +26 -0
- package/dist/esm/elements/inline/strong/strong.js.map +1 -0
- package/dist/esm/elements/inline/sub/sub.js +26 -0
- package/dist/esm/elements/inline/sub/sub.js.map +1 -0
- package/dist/esm/elements/inline/sup/sup.js +26 -0
- package/dist/esm/elements/inline/sup/sup.js.map +1 -0
- package/dist/esm/elements/inline/time/time.js +26 -0
- package/dist/esm/elements/inline/time/time.js.map +1 -0
- package/dist/esm/elements/inline/u/u.js +26 -0
- package/dist/esm/elements/inline/u/u.js.map +1 -0
- package/dist/esm/elements/inline/var/var.js +26 -0
- package/dist/esm/elements/inline/var/var.js.map +1 -0
- package/dist/esm/elements/interactive/details/details.js +29 -0
- package/dist/esm/elements/interactive/details/details.js.map +1 -0
- package/dist/esm/elements/interactive/dialog/dialog.js +26 -0
- package/dist/esm/elements/interactive/dialog/dialog.js.map +1 -0
- package/dist/esm/elements/interactive/interactive.js +14 -0
- package/dist/esm/elements/interactive/interactive.js.map +1 -0
- package/dist/esm/elements/interactive/summary/summary.js +26 -0
- package/dist/esm/elements/interactive/summary/summary.js.map +1 -0
- package/dist/esm/elements/layout/article/article.js +26 -0
- package/dist/esm/elements/layout/article/article.js.map +1 -0
- package/dist/esm/elements/layout/aside/aside.js +26 -0
- package/dist/esm/elements/layout/aside/aside.js.map +1 -0
- package/dist/esm/elements/layout/footer/footer.js +26 -0
- package/dist/esm/elements/layout/footer/footer.js.map +1 -0
- package/dist/esm/elements/layout/header/header.js +26 -0
- package/dist/esm/elements/layout/header/header.js.map +1 -0
- package/dist/esm/elements/layout/layout.js +22 -0
- package/dist/esm/elements/layout/layout.js.map +1 -0
- package/dist/esm/elements/layout/main/main.js +26 -0
- package/dist/esm/elements/layout/main/main.js.map +1 -0
- package/dist/esm/elements/layout/nav/nav.js +26 -0
- package/dist/esm/elements/layout/nav/nav.js.map +1 -0
- package/dist/esm/elements/layout/section/section.js +26 -0
- package/dist/esm/elements/layout/section/section.js.map +1 -0
- package/dist/esm/elements/list/dd/dd.js +26 -0
- package/dist/esm/elements/list/dd/dd.js.map +1 -0
- package/dist/esm/elements/list/dl/dl.js +26 -0
- package/dist/esm/elements/list/dl/dl.js.map +1 -0
- package/dist/esm/elements/list/dt/dt.js +26 -0
- package/dist/esm/elements/list/dt/dt.js.map +1 -0
- package/dist/esm/elements/list/li/li.js +27 -0
- package/dist/esm/elements/list/li/li.js.map +1 -0
- package/dist/esm/elements/list/list.js +20 -0
- package/dist/esm/elements/list/list.js.map +1 -0
- package/dist/esm/elements/list/ol/ol.js +27 -0
- package/dist/esm/elements/list/ol/ol.js.map +1 -0
- package/dist/esm/elements/list/ul/ul.js +26 -0
- package/dist/esm/elements/list/ul/ul.js.map +1 -0
- package/dist/esm/elements/media/audio/audio.js +27 -0
- package/dist/esm/elements/media/audio/audio.js.map +1 -0
- package/dist/esm/elements/media/canvas/canvas.js +21 -0
- package/dist/esm/elements/media/canvas/canvas.js.map +1 -0
- package/dist/esm/elements/media/embed/embed.js +44 -0
- package/dist/esm/elements/media/embed/embed.js.map +1 -0
- package/dist/esm/elements/media/iframe/iframe.js +27 -0
- package/dist/esm/elements/media/iframe/iframe.js.map +1 -0
- package/dist/esm/elements/media/img/img.js +25 -0
- package/dist/esm/elements/media/img/img.js.map +1 -0
- package/dist/esm/elements/media/math/math.js +23 -0
- package/dist/esm/elements/media/math/math.js.map +1 -0
- package/dist/esm/elements/media/media.js +26 -0
- package/dist/esm/elements/media/media.js.map +1 -0
- package/dist/esm/elements/media/object/object.js +37 -0
- package/dist/esm/elements/media/object/object.js.map +1 -0
- package/dist/esm/elements/media/svg/svg.js +27 -0
- package/dist/esm/elements/media/svg/svg.js.map +1 -0
- package/dist/esm/elements/media/video/video.js +27 -0
- package/dist/esm/elements/media/video/video.js.map +1 -0
- package/dist/esm/elements/responsive/area/area.js +20 -0
- package/dist/esm/elements/responsive/area/area.js.map +1 -0
- package/dist/esm/elements/responsive/map/map.js +35 -0
- package/dist/esm/elements/responsive/map/map.js.map +1 -0
- package/dist/esm/elements/responsive/picture/picture.js +26 -0
- package/dist/esm/elements/responsive/picture/picture.js.map +1 -0
- package/dist/esm/elements/responsive/responsive.js +18 -0
- package/dist/esm/elements/responsive/responsive.js.map +1 -0
- package/dist/esm/elements/responsive/source/source.js +29 -0
- package/dist/esm/elements/responsive/source/source.js.map +1 -0
- package/dist/esm/elements/responsive/track/track.js +27 -0
- package/dist/esm/elements/responsive/track/track.js.map +1 -0
- package/dist/esm/elements/table/caption/caption.js +26 -0
- package/dist/esm/elements/table/caption/caption.js.map +1 -0
- package/dist/esm/elements/table/col/col.js +30 -0
- package/dist/esm/elements/table/col/col.js.map +1 -0
- package/dist/esm/elements/table/colgroup/colgroup.js +33 -0
- package/dist/esm/elements/table/colgroup/colgroup.js.map +1 -0
- package/dist/esm/elements/table/table/table.js +26 -0
- package/dist/esm/elements/table/table/table.js.map +1 -0
- package/dist/esm/elements/table/table.js +28 -0
- package/dist/esm/elements/table/table.js.map +1 -0
- package/dist/esm/elements/table/tbody/tbody.js +26 -0
- package/dist/esm/elements/table/tbody/tbody.js.map +1 -0
- package/dist/esm/elements/table/td/td.js +39 -0
- package/dist/esm/elements/table/td/td.js.map +1 -0
- package/dist/esm/elements/table/tfoot/tfoot.js +26 -0
- package/dist/esm/elements/table/tfoot/tfoot.js.map +1 -0
- package/dist/esm/elements/table/th/th.js +33 -0
- package/dist/esm/elements/table/th/th.js.map +1 -0
- package/dist/esm/elements/table/thead/thead.js +26 -0
- package/dist/esm/elements/table/thead/thead.js.map +1 -0
- package/dist/esm/elements/table/tr/tr.js +26 -0
- package/dist/esm/elements/table/tr/tr.js.map +1 -0
- package/dist/esm/elements/text/address/address.js +26 -0
- package/dist/esm/elements/text/address/address.js.map +1 -0
- package/dist/esm/elements/text/blockquote/blockquote.js +29 -0
- package/dist/esm/elements/text/blockquote/blockquote.js.map +1 -0
- package/dist/esm/elements/text/hr/hr.js +26 -0
- package/dist/esm/elements/text/hr/hr.js.map +1 -0
- package/dist/esm/elements/text/paragraph/paragraph.js +26 -0
- package/dist/esm/elements/text/paragraph/paragraph.js.map +1 -0
- package/dist/esm/elements/text/pre/pre.js +26 -0
- package/dist/esm/elements/text/pre/pre.js.map +1 -0
- package/dist/esm/elements/text/text.js +18 -0
- package/dist/esm/elements/text/text.js.map +1 -0
- package/dist/esm/elements.js +34 -0
- package/dist/esm/elements.js.map +1 -0
- package/dist/esm/index.js +73 -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 +705 -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 +120 -0
- package/src/scss/_root.scss +112 -0
- package/src/scss/adapters/bootstrap/v5/index.scss +364 -0
- package/src/scss/core.scss +53 -0
- package/src/scss/functions/_colours.scss +340 -0
- package/src/scss/functions/_fonts.scss +454 -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 +145 -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 +206 -0
- package/src/scss/maps/_typography.scss +127 -0
- package/src/scss/mixins/_colours.scss +304 -0
- package/src/scss/mixins/_fonts.scss +227 -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 +273 -0
- package/src/scss/mixins/_typography.scss +272 -0
- package/src/scss/tokens/_colours.scss +707 -0
- package/src/scss/tokens/_dark-theme.scss +50 -0
- package/src/scss/tokens/_fonts.scss +81 -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 +325 -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,"sourceRoot":"","sources":["../../src/scss/mixins/_fonts.scss","../../src/scss/_root.scss","../../src/scss/mixins/_theme.scss","../../src/scss/mixins/_colours.scss","../../src/scss/mixins/_typography.scss","../../src/scss/_reboot.scss","../../src/elements/text/paragraph/paragraph.scss","../../src/elements/text/hr/hr.scss","../../src/elements/text/pre/pre.scss","../../src/elements/text/blockquote/blockquote.scss","../../src/elements/text/address/address.scss","../../src/elements/container/div/div.scss","../../src/elements/container/span/span.scss","../../src/elements/break/br/br.scss","../../src/elements/break/wbr/wbr.scss","../../src/elements/media/canvas/canvas.scss","../../src/elements/media/embed/embed.scss","../../src/elements/media/iframe/iframe.scss","../../src/elements/media/img/img.scss","../../src/elements/media/math/math.scss","../../src/elements/media/object/object.scss","../../src/elements/media/svg/svg.scss","../../src/elements/media/video/video.scss","../../src/elements/media/audio/audio.scss","../../src/elements/table/table/table.scss","../../src/elements/table/colgroup/colgroup.scss","../../src/elements/table/col/col.scss","../../src/elements/table/thead/thead.scss","../../src/elements/table/tbody/tbody.scss","../../src/elements/table/tfoot/tfoot.scss","../../src/elements/table/tr/tr.scss","../../src/elements/table/th/th.scss","../../src/elements/table/td/td.scss","../../src/elements/table/caption/caption.scss","../../src/elements/heading/h1/h1.scss","../../src/elements/heading/h2/h2.scss","../../src/elements/heading/h3/h3.scss","../../src/elements/heading/h4/h4.scss","../../src/elements/heading/h5/h5.scss","../../src/elements/heading/h6/h6.scss","../../src/elements/inline/a/a.scss","../../src/elements/inline/em/em.scss","../../src/elements/inline/strong/strong.scss","../../src/elements/inline/small/small.scss","../../src/elements/inline/s/s.scss","../../src/elements/inline/cite/cite.scss","../../src/elements/inline/q/q.scss","../../src/elements/inline/dfn/dfn.scss","../../src/elements/inline/abbr/abbr.scss","../../src/elements/inline/data/data.scss","../../src/elements/inline/time/time.scss","../../src/elements/inline/code/code.scss","../../src/elements/inline/var/var.scss","../../src/elements/inline/samp/samp.scss","../../src/elements/inline/kbd/kbd.scss","../../src/elements/inline/sub/sub.scss","../../src/elements/inline/sup/sup.scss","../../src/elements/inline/i/i.scss","../../src/elements/inline/b/b.scss","../../src/elements/inline/u/u.scss","../../src/elements/inline/mark/mark.scss","../../src/elements/inline/ruby/ruby.scss","../../src/elements/inline/rb/rb.scss","../../src/elements/inline/rt/rt.scss","../../src/elements/inline/rtc/rtc.scss","../../src/elements/inline/rp/rp.scss","../../src/elements/list/ol/ol.scss","../../src/elements/list/ul/ul.scss","../../src/elements/list/li/li.scss","../../src/elements/list/dl/dl.scss","../../src/elements/list/dt/dt.scss","../../src/elements/list/dd/dd.scss","../../src/elements/figure/figure/figure.scss","../../src/elements/figure/figcaption/figcaption.scss","../../src/elements/form/form/form.scss","../../src/elements/form/label/label.scss","../../src/elements/form/input/input.scss","../../src/elements/form/textarea/textarea.scss","../../src/elements/form/select/select.scss","../../src/elements/form/button/button.scss","../../src/elements/form/fieldset/fieldset.scss","../../src/elements/form/legend/legend.scss","../../src/elements/form/datalist/datalist.scss","../../src/elements/form/optgroup/optgroup.scss","../../src/elements/form/option/option.scss","../../src/elements/form/output/output.scss","../../src/elements/form/progress/progress.scss","../../src/elements/form/meter/meter.scss","../../src/elements/interactive/details/details.scss","../../src/elements/interactive/summary/summary.scss","../../src/elements/interactive/dialog/dialog.scss","../../src/elements/responsive/picture/picture.scss","../../src/elements/responsive/source/source.scss","../../src/elements/responsive/track/track.scss","../../src/elements/responsive/map/map.scss","../../src/elements/responsive/area/area.scss","../../src/elements/layout/main/main.scss","../../src/elements/layout/section/section.scss","../../src/elements/layout/article/article.scss","../../src/elements/layout/aside/aside.scss","../../src/elements/layout/nav/nav.scss","../../src/elements/layout/header/header.scss","../../src/elements/layout/footer/footer.scss"],"names":[],"mappings":"AAiKE,WACE,YA5CO,aA6CP,WA5CM,OA6CN,YA5CO,QA6CP,aA5CQ,KA6CR,sFALF,WACE,YA5CO,aA6CP,WA5CM,OA6CN,YA5CO,QA6CP,aA5CQ,KA6CR,6FALF,WACE,YA5CO,aA6CP,WA5CM,OA6CN,YA5CO,QA6CP,aA5CQ,KA6CR,sFALF,WACE,YA5CO,aA6CP,WA5CM,OA6CN,YA5CO,QA6CP,aA5CQ,KA6CR,6FALF,WACE,YA5CO,eA6CP,WA5CM,OA6CN,YA5CO,QA6CP,aA5CQ,KA6CR,sFALF,WACE,YA5CO,eA6CP,WA5CM,OA6CN,YA5CO,QA6CP,aA5CQ,KA6CR,6FC7FJ,MCkEE,kkDCrCA,8qfCEA,w8CCtEF,qBAGE,sBAkBF,KAEE,SACA,UAGA,YAGA,kEAGA,sBAkBF,KAEE,SACA,UAGA,iBAGA,iKAaA,qEACA,+DAGA,4DACA,qEAGA,iBAGA,0CCnGF,UAEE,cAGA,gEACA,yDACA,6DACA,6DACA,mDAGA,SACA,UACA,yBACA,iBAGA,oBACA,mBAGA,eAGA,qBAGA,aC5BF,WAKE,cAIA,uBACA,SACA,iBAGA,SAOA,mDAOA,6DACA,gBCzBF,YAKE,cACA,gBAMA,SACA,UACA,SACA,cACA,sBAMA,gEACA,yDACA,iEACA,6DACA,mDAMA,eACA,WACA,aCtCF,mBAKE,cAGA,SACA,UACA,SAGA,oBACA,kBACA,oBACA,oBACA,cAGA,yBACA,eAOA,6DACA,gBCxBF,gBAKE,cAIA,kBAGA,SACA,UACA,SAGA,eACA,yBAMA,gEACA,yDACA,6DACA,6DACA,mDAMA,6DACA,gBCzCF,YAOE,cCLF,aAME,eCRF,WAKE,eACA,WCNF,YAOE,eCDF,eAME,qBAGA,SACA,UACA,SAOA,eACA,YACA,sBC1BF,cAME,qBACA,sBAGA,SACA,UACA,SAGA,sBACA,eACA,YChBF,eAME,qBACA,sBAGA,SAGA,SACA,UAGA,sBACA,eCjBF,YAME,qBACA,sBAGA,SAGA,SACA,UAOA,eACA,YAGA,sBC1BF,aAME,eAGA,SACA,UACA,SAOA,eACA,qBAGA,sBAGA,sBCzBF,eAME,qBACA,sBAGA,SACA,SACA,UAQA,sBACA,eCtBF,YAOE,qBACA,sBAGA,SACA,UACA,SAOA,eACA,YAGA,sBCvBF,cAME,qBACA,sBAGA,SACA,SACA,UAOA,eACA,YAGA,sBCvBF,cAME,qBACA,sBAGA,SACA,SACA,UAOA,eAGA,sBCtBF,cAKE,cAIA,yBACA,iBAGA,cAGA,SACA,UACA,SAGA,sBACA,eAMA,gEACA,yDACA,6DACA,6DACA,mDAGA,+BCpCF,iBAME,2BAGA,SACA,UACA,SAGA,+BCdF,YAME,qBAGA,SACA,UACA,SACA,+BCZF,cAME,2BAGA,SACA,UACA,SACA,+BCZF,cAME,wBAGA,SACA,UACA,SACA,+BCXF,cAME,SACA,UACA,SACA,+BCTF,WAME,SACA,UACA,SACA,+BCTF,WAME,SACA,SAGA,UAGA,iBAGA,mBACA,+BAMA,gEACA,yDACA,gEACA,6DACA,mDC3BF,WAME,SACA,SAGA,UAGA,iBAGA,mBACA,+BAMA,gEACA,yDACA,6DACA,6DACA,mDC3BF,gBAME,SACA,UACA,SAGA,iBAGA,iBACA,+BAMA,gEACA,yDACA,6DACA,6DACA,mDAQA,oEC5BF,WAKE,cAGA,SACA,UACA,SAGA,eACA,yBAMA,mEACA,uDACA,gEACA,gEACA,sDAGA,kBAMA,oECjCF,WAKE,cACA,SACA,UACA,SACA,eACA,yBAMA,mEACA,uDACA,gEACA,gEACA,sDACA,kBAMA,oEChCF,WAKE,cAGA,SACA,UACA,SAGA,eACA,yBAMA,mEACA,uDACA,gEACA,gEACA,sDAGA,kBAMA,oECjCF,WAKE,cACA,SACA,UACA,SACA,eACA,yBAMA,mEACA,uDACA,gEACA,gEACA,sDACA,kBAMA,oEC3BF,WAKE,cACA,SACA,UACA,SACA,eACA,yBAMA,mEACA,uDACA,gEACA,gEACA,sDAGA,kBAMA,oEC7BF,WAKE,cACA,SACA,UACA,SACA,eACA,yBAMA,mEACA,uDACA,gEACA,gEACA,sDACA,kBAMA,oEC3BF,UAME,eAGA,SACA,UACA,SAGA,mCAOA,4DAGA,+BAGF,kBAEE,8DAGF,gBAEE,6DCnCF,WAKE,eAGA,kBAGA,oBACA,kBACA,oBACA,oBACA,cCdF,eAKE,eAGA,+DAGA,oBACA,kBACA,oBACA,cCdF,cAKE,eAGA,iBAGA,oBACA,oBACA,oBACA,cCfF,UAKE,eAGA,kCACA,mCAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cChBF,aAKE,eAGA,kBAGA,oBACA,kBACA,oBACA,oBACA,cCfF,UAKE,eAKA,SACA,UACA,SAGA,yBAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cCvBF,YAKE,eAGA,kBAGA,oBACA,kBACA,oBACA,oBACA,cCfF,aAKE,eACA,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cAGF,oBAME,gBAGA,+BACA,6BACA,mCAGA,8BClCF,aAKE,eACA,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cCdF,aAKE,eACA,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cChBF,aAKE,eACA,SACA,UACA,SAGA,oBAMA,gEACA,kBACA,oBACA,mDAGA,+BCrBF,YAKE,eACA,SACA,UACA,SACA,oBAMA,gEACA,kBACA,kBACA,oBACA,mDACA,+BCrBF,aAKE,eACA,SACA,UACA,SACA,oBAMA,gEACA,kBACA,mBACA,oBACA,mDACA,+BCnBF,YAKE,eACA,SACA,UACA,SACA,oBAMA,gEACA,kBACA,oBACA,mBACA,mDACA,+BCpBF,YAKE,eAGA,gBAGA,cAGA,mBAGA,oBACA,mBACA,oBACA,cCrBF,YAKE,eAGA,gBAGA,cAGA,qBAGA,oBACA,mBACA,oBACA,cCpBF,UAKE,eAGA,kBAGA,oBACA,kBACA,oBACA,oBACA,cCfF,UAKE,eAGA,+DAGA,oBACA,kBACA,mBACA,oBACA,cCdF,UAKE,eAGA,+BACA,mCACA,8BAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cCnBF,aAKE,eACA,SACA,UACA,SAMA,iDACA,mDAGA,oBACA,kBACA,mBACA,oBACA,oBCtBF,aAME,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cCpBF,WAME,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cChBF,WAME,SACA,UACA,SAIA,oBACA,kBACA,mBACA,oBACA,oBACA,cCZF,YAME,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cCfF,WAME,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cClBF,WAKE,cAGA,SAGA,2BAGA,4BACA,wBACA,sBCfF,WAKE,cAGA,SAGA,2BAGA,4BACA,qBAGA,sBCjBF,WAKE,kBAGA,SACA,UACA,SAGA,yBACA,eCdF,WAKE,cAGA,SACA,UACA,SAGA,sBACA,eCbF,WAKE,cAGA,SACA,UACA,SAGA,eACA,yBAMA,oBACA,kBACA,mBACA,mEACA,oBACA,cCzBF,WAKE,cAGA,SACA,sBACA,UACA,SAGA,eACA,yBAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cCxBF,eAKE,cAGA,SACA,UACA,SAGA,sBACA,eAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cAMA,iEC7BF,mBAKE,cACA,SACA,UACA,SACA,eACA,yBAMA,gEACA,iBACA,6DACA,6DACA,mDAGA,YAMA,sEChCF,aAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCpBF,cAKE,eACA,SACA,UACA,SAGA,eAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cCpBF,cAME,yEACA,kEACA,sEACA,sEACA,4DAGA,sBACA,SAIA,+BClBF,iBAME,yEACA,kEACA,sEACA,sEACA,4DACA,sBACA,SAGA,mBAGA,+BClBF,eAME,yEACA,kEACA,sEACA,sEACA,4DAGA,sBACA,SCbF,eAME,yEACA,kEACA,sEACA,sEACA,4DACA,sBACA,SAGA,eChBF,iBAKE,cAGA,SACA,UACA,SAGA,kBAGA,sBACA,eAGA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCzBF,eAME,SACA,UACA,SACA,eACA,yBAGA,yEACA,kBACA,mBACA,4EACA,oBACA,4DACA,+BCjBF,iBAME,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cACA,+BCjBF,iBAME,yEACA,kEACA,4EACA,sEACA,4DACA,SACA,UACA,SACA,+BCfF,eAME,yEACA,kEACA,sEACA,sEACA,4DAGA,SACA,UACA,SACA,+BCfF,eAKE,eACA,SACA,UACA,SACA,eACA,yBAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cACA,+BCrBF,iBAME,yEACA,kEACA,sEACA,sEACA,4DACA,sBACA,SAGA,eACA,wBACA,+BCjBF,cAME,yEACA,kEACA,sEACA,sEACA,4DACA,sBACA,SACA,eACA,wBACA,+BCfF,gBAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCpBF,gBAME,kBACA,SACA,UACA,SAGA,4BAGA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BC1BF,eAME,SACA,UACA,SAGA,sBACA,eAGA,cAMA,yEACA,kEACA,sEACA,sEACA,4DAGA,2EAIF,yBACE,8DClCF,gBAME,cACA,SACA,UACA,SACA,sBACA,eCZF,eAKE,SACA,UACA,SACA,+BCRF,cAKE,SACA,UACA,SACA,+BCPF,YAME,SACA,UACA,SAGA,oBACA,kBACA,mBACA,oBACA,oBACA,cACA,+BClBF,aAME,SACA,UACA,SACA,+BCRF,aAME,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCtBF,gBAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCrBF,gBAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCrBF,cAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCrBF,YAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCrBF,eAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA,+BCrBF,eAKE,cACA,SACA,UACA,SACA,sBACA,eAMA,yEACA,kEACA,sEACA,sEACA,4DACA","file":"main.css"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var e = Object.defineProperty, t = (t, n) => {
|
|
3
|
+
let r = {};
|
|
4
|
+
for (var i in t) e(r, i, {
|
|
5
|
+
get: t[i],
|
|
6
|
+
enumerable: !0
|
|
7
|
+
});
|
|
8
|
+
return n || e(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/ts/dom.ts
|
|
12
|
+
function n(e) {
|
|
13
|
+
let t = String(e), n = t.trim().toLowerCase();
|
|
14
|
+
if (n.length === 0) throw Error("Unsafe attribute \"\" is not allowed (empty attribute name).");
|
|
15
|
+
if (n.startsWith("on")) throw Error(`Unsafe attribute "${t}" is not allowed (event handler attributes are blocked).`);
|
|
16
|
+
if (n === "style") throw Error("Unsafe attribute \"style\" is not allowed. Use the \"style\" object field instead.");
|
|
17
|
+
}
|
|
18
|
+
function r(e, t, r) {
|
|
19
|
+
n(t), e.setAttribute(t, String(r));
|
|
20
|
+
}
|
|
21
|
+
function i(e, t) {
|
|
22
|
+
if (t) {
|
|
23
|
+
if (t.id && (e.id = t.id), t.className && (e.className = t.className), t.title && (e.title = t.title), t.lang && (e.lang = t.lang), t.dir && (e.dir = t.dir), t.role && r(e, "role", t.role), typeof t.hidden == "boolean" && (e.hidden = t.hidden), typeof t.tabIndex == "number" && (e.tabIndex = t.tabIndex), typeof t.draggable == "boolean" && (e.draggable = t.draggable), typeof t.spellCheck == "boolean" && (e.spellcheck = t.spellCheck), t.translate && r(e, "translate", t.translate), t.contentEditable && (e.contentEditable = t.contentEditable), t.style && Object.assign(e.style, t.style), t.dataset) for (let [n, r] of Object.entries(t.dataset)) e.dataset[n] = String(r);
|
|
24
|
+
if (t.aria) for (let [n, i] of Object.entries(t.aria)) r(e, `aria-${n}`, i);
|
|
25
|
+
if (t.attrs) for (let [n, i] of Object.entries(t.attrs)) r(e, n, i);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function a(e, t, n) {
|
|
29
|
+
let r = document.createElement(e);
|
|
30
|
+
return i(r, t), typeof n == "string" && (r.textContent = n), r;
|
|
31
|
+
}
|
|
32
|
+
function o(e, t) {
|
|
33
|
+
return a(e, t);
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { t as i, a as n, o as r, i as t };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.js","names":[],"sources":["../../../src/ts/dom.ts"],"sourcesContent":["/**\n * DOM helpers for pkgn-sol element modules.\n *\n * @remarks\n * pkgn-sol is a design foundation, not a component framework. These helpers exist to\n * keep element entrypoints small, consistent, and safe across:\n * - Vanilla JS\n * - TypeScript direct consumption\n * - React and Vue lifecycle usage\n *\n * The helpers apply a curated set of common global attributes and provide an\n * escape hatch for additional attributes, while preventing common XSS footguns.\n *\n * @module\n * @category Internal\n */\n\n/**\n * Canonical element return type for a given HTML tag key.\n *\n * @remarks\n * This avoids \"invented\" DOM types (e.g. `HTMLAddressElement`) and always matches\n * what TypeScript's `lib.dom.d.ts` actually provides.\n *\n * @example\n * type HrEl = ElementOf<'hr'>; // HTMLHRElement\n * type AddressEl = ElementOf<'address'>; // HTMLElement (no special DOM interface)\n *\n * @category Types\n */\nexport type ElementOf<K extends keyof HTMLElementTagNameMap> = HTMLElementTagNameMap[K];\n\n/**\n * Values that are safely coerced to strings for attributes.\n *\n * @category Types\n */\nexport type AttrValue = string | number | boolean;\n\n/**\n * A curated, safe subset of HTML global attributes commonly applied to elements.\n *\n * @remarks\n * This type intentionally focuses on widely used global attributes and provides\n * a generic escape hatch via {@link GlobalAttrs.attrs} for less common cases.\n *\n * Security rules enforced by {@link applyGlobalAttrs}:\n * - Blocks inline event handler attributes like `onclick`\n * - Blocks the raw `style` attribute. Use {@link GlobalAttrs.style} instead\n *\n * @category Attributes\n */\nexport type GlobalAttrs = {\n /**\n * The element ID.\n *\n * @remarks\n * Must be unique within the document.\n */\n id?: string;\n\n /**\n * The element class string.\n *\n * @remarks\n * This maps to `class` in HTML. Use this instead of passing `class` through\n * {@link GlobalAttrs.attrs}.\n */\n className?: string;\n\n /**\n * Advisory information, typically shown as a tooltip in browsers.\n */\n title?: string;\n\n /**\n * Language of the element's content.\n *\n * @remarks\n * Useful when rendering mixed-language documents, or when an element's content\n * differs from the page language.\n */\n lang?: string;\n\n /**\n * Text direction of the element's content.\n */\n dir?: 'ltr' | 'rtl' | 'auto';\n\n /**\n * Optional ARIA role.\n *\n * @remarks\n * Prefer native semantics when possible. Only set `role` when needed.\n */\n role?: string;\n\n /**\n * Whether the element is hidden.\n *\n * @remarks\n * Mirrors the `hidden` boolean attribute.\n */\n hidden?: boolean;\n\n /**\n * Tabbing order.\n *\n * @remarks\n * Use with care. Setting a tab index on non-interactive elements can reduce\n * usability and accessibility.\n */\n tabIndex?: number;\n\n /**\n * Whether the element is draggable.\n */\n draggable?: boolean;\n\n /**\n * Whether spellchecking is enabled for editable content.\n *\n * @remarks\n * Mirrors `spellcheck`. This has effect primarily when `contentEditable` is used.\n */\n spellCheck?: boolean;\n\n /**\n * Translation hint for user agents.\n *\n * @remarks\n * Maps to the `translate` attribute.\n */\n translate?: 'yes' | 'no';\n\n /**\n * Whether the element is editable.\n *\n * @remarks\n * Use sparingly. Many apps are better served by explicit form controls.\n */\n contentEditable?: 'true' | 'false' | 'plaintext-only';\n\n /**\n * Inline style properties to assign to the element.\n *\n * @remarks\n * This is safer than accepting a raw style string because it avoids the\n * `style=\"...\"` attribute injection surface.\n *\n * This does not make untrusted input \"safe\". If callers build styles from\n * untrusted sources, they must validate inputs appropriately.\n */\n style?: Partial<CSSStyleDeclaration>;\n\n /**\n * Dataset values applied as `data-*` attributes.\n *\n * @remarks\n * Keys map to `HTMLElement.dataset` keys (camelCase), and values are coerced\n * to strings.\n *\n * Example: `{ trackingId: \"123\" }` becomes `data-tracking-id=\"123\"`.\n */\n dataset?: Record<string, AttrValue>;\n\n /**\n * ARIA attribute values applied as `aria-*` attributes.\n *\n * @remarks\n * Keys are appended to `aria-`. Example: `{ label: \"Close\" }` becomes\n * `aria-label=\"Close\"`.\n */\n aria?: Record<string, AttrValue>;\n\n /**\n * Escape hatch for additional attributes not modeled above.\n *\n * @remarks\n * This exists to keep the API practical without turning pkgn-sol into a full DOM\n * abstraction layer.\n *\n * Security rules:\n * - Attributes starting with `on` are rejected (blocks inline event handlers)\n * - The `style` attribute is rejected (use {@link GlobalAttrs.style})\n */\n attrs?: Record<string, AttrValue>;\n};\n\n/**\n * Enforce attribute-name safety rules for attribute escape hatches.\n *\n * @remarks\n * This function blocks common XSS surfaces when callers attempt to set raw\n * attributes. It is intentionally conservative.\n *\n * @param name - The attribute name as provided by the caller.\n * @throws Error if the attribute name is not permitted.\n *\n * @category Security\n */\nfunction assertSafeAttrName(name: string): void {\n const raw = String(name);\n const n = raw.trim().toLowerCase();\n\n if (n.length === 0) {\n throw new Error('Unsafe attribute \"\" is not allowed (empty attribute name).');\n }\n\n // Block inline event handlers: onclick, onload, onerror, etc.\n if (n.startsWith('on')) {\n throw new Error(\n `Unsafe attribute \"${raw}\" is not allowed (event handler attributes are blocked).`,\n );\n }\n\n // Block raw style attribute injection. Use the `style` object field instead.\n if (n === 'style') {\n throw new Error(\n 'Unsafe attribute \"style\" is not allowed. Use the \"style\" object field instead.',\n );\n }\n}\n\n/**\n * Set an attribute on an element after applying security rules.\n *\n * @param el - The element to modify.\n * @param name - The attribute name.\n * @param value - The attribute value.\n * @throws Error if the attribute name is not permitted.\n *\n * @category Internal\n */\nfunction setAttr(el: Element, name: string, value: AttrValue): void {\n assertSafeAttrName(name);\n el.setAttribute(name, String(value));\n}\n\n/**\n * Apply {@link GlobalAttrs} to an existing element.\n *\n * @remarks\n * - This function does not attempt to \"sanitize\" content. It avoids the biggest\n * footguns by refusing inline event handler attributes and raw `style`.\n * - Text content should be assigned via `textContent` rather than `innerHTML`.\n *\n * @param el - The element to apply attributes to.\n * @param a - The attribute bag. If omitted, the function is a no-op.\n *\n * @example\n * Apply common attributes:\n * ```ts\n * const p = document.createElement(\"p\");\n * applyGlobalAttrs(p, { id: \"intro\", className: \"lead\", lang: \"en\" });\n * ```\n *\n * @example\n * Apply dataset and ARIA:\n * ```ts\n * applyGlobalAttrs(p, {\n * dataset: { trackingId: \"123\" },\n * aria: { label: \"Intro paragraph\" }\n * });\n * ```\n *\n * @throws Error if {@link GlobalAttrs.attrs} or {@link GlobalAttrs.aria} contain\n * an unsafe attribute name.\n *\n * @category Attributes\n */\nexport function applyGlobalAttrs(el: HTMLElement, a?: GlobalAttrs): void {\n if (!a) return;\n\n if (a.id) el.id = a.id;\n if (a.className) el.className = a.className;\n if (a.title) el.title = a.title;\n\n if (a.lang) el.lang = a.lang;\n if (a.dir) el.dir = a.dir;\n\n if (a.role) setAttr(el, 'role', a.role);\n\n if (typeof a.hidden === 'boolean') el.hidden = a.hidden;\n if (typeof a.tabIndex === 'number') el.tabIndex = a.tabIndex;\n\n if (typeof a.draggable === 'boolean') el.draggable = a.draggable;\n if (typeof a.spellCheck === 'boolean') el.spellcheck = a.spellCheck;\n\n if (a.translate) setAttr(el, 'translate', a.translate);\n\n if (a.contentEditable) el.contentEditable = a.contentEditable;\n\n if (a.style) {\n Object.assign(el.style, a.style);\n }\n\n if (a.dataset) {\n for (const [k, v] of Object.entries(a.dataset)) {\n // Dataset keys must be valid identifiers; consumers control this.\n el.dataset[k] = String(v);\n }\n }\n\n if (a.aria) {\n for (const [k, v] of Object.entries(a.aria)) {\n setAttr(el, `aria-${k}`, v);\n }\n }\n\n if (a.attrs) {\n for (const [k, v] of Object.entries(a.attrs)) {\n setAttr(el, k, v);\n }\n }\n}\n\n/**\n * Create a DOM element, apply {@link GlobalAttrs}, and optionally set text content.\n *\n * @remarks\n * This helper is intentionally conservative:\n * - Uses `textContent`, not `innerHTML`, which prevents HTML interpretation.\n * - Does not accept a raw style string.\n *\n * @typeParam K - A key of {@link HTMLElementTagNameMap}, inferred from `tag`.\n * @param tag - The tag name to create.\n * @param attrs - Global attributes to apply.\n * @param text - Optional text content. Assigned via `textContent`.\n * @returns The created element with the correct DOM type for the tag.\n *\n * @example\n * ```ts\n * const p = createElement(\"p\", { className: \"lead\" }, \"Hello.\");\n * document.body.appendChild(p);\n * ```\n *\n * @throws Error if unsafe attributes are provided via {@link GlobalAttrs.attrs}\n * or {@link GlobalAttrs.aria}.\n *\n * @category DOM\n */\nexport function createElement<K extends keyof HTMLElementTagNameMap>(\n tag: K,\n attrs?: GlobalAttrs,\n text?: string,\n): ElementOf<K> {\n const el = document.createElement(tag) as ElementOf<K>;\n applyGlobalAttrs(el as unknown as HTMLElement, attrs);\n\n // Security: textContent does not interpret HTML.\n if (typeof text === 'string') (el as unknown as Node).textContent = text;\n\n return el;\n}\n\n/**\n * Create a void element (e.g. `<hr>`, `<br>`) and apply {@link GlobalAttrs}.\n *\n * @remarks\n * Use this when the element must never carry text content.\n *\n * @typeParam K - A key of {@link HTMLElementTagNameMap}, inferred from `tag`.\n * @param tag - The tag name to create.\n * @param attrs - Global attributes to apply.\n * @returns The created element with the correct DOM type for the tag.\n *\n * @throws Error if unsafe attributes are provided via {@link GlobalAttrs.attrs}\n * or {@link GlobalAttrs.aria}.\n *\n * @category DOM\n */\nexport function createVoidElement<K extends keyof HTMLElementTagNameMap>(\n tag: K,\n attrs?: GlobalAttrs,\n): ElementOf<K> {\n return createElement(tag, attrs);\n}\n"],"mappings":";;;;;;;;;;;AAyMA,SAAS,EAAmB,GAAoB;CAC9C,IAAM,IAAM,OAAO,EAAK,EAClB,IAAI,EAAI,MAAM,CAAC,aAAa;CAElC,IAAI,EAAE,WAAW,GACf,MAAU,MAAM,+DAA6D;CAI/E,IAAI,EAAE,WAAW,KAAK,EACpB,MAAU,MACR,qBAAqB,EAAI,0DAC1B;CAIH,IAAI,MAAM,SACR,MAAU,MACR,qFACD;;AAcL,SAAS,EAAQ,GAAa,GAAc,GAAwB;CAElE,AADA,EAAmB,EAAK,EACxB,EAAG,aAAa,GAAM,OAAO,EAAM,CAAC;;AAmCtC,SAAgB,EAAiB,GAAiB,GAAuB;CAClE,OAyBL;MAvBI,EAAE,OAAI,EAAG,KAAK,EAAE,KAChB,EAAE,cAAW,EAAG,YAAY,EAAE,YAC9B,EAAE,UAAO,EAAG,QAAQ,EAAE,QAEtB,EAAE,SAAM,EAAG,OAAO,EAAE,OACpB,EAAE,QAAK,EAAG,MAAM,EAAE,MAElB,EAAE,QAAM,EAAQ,GAAI,QAAQ,EAAE,KAAK,EAEnC,OAAO,EAAE,UAAW,cAAW,EAAG,SAAS,EAAE,SAC7C,OAAO,EAAE,YAAa,aAAU,EAAG,WAAW,EAAE,WAEhD,OAAO,EAAE,aAAc,cAAW,EAAG,YAAY,EAAE,YACnD,OAAO,EAAE,cAAe,cAAW,EAAG,aAAa,EAAE,aAErD,EAAE,aAAW,EAAQ,GAAI,aAAa,EAAE,UAAU,EAElD,EAAE,oBAAiB,EAAG,kBAAkB,EAAE,kBAE1C,EAAE,SACJ,OAAO,OAAO,EAAG,OAAO,EAAE,MAAM,EAG9B,EAAE,SACJ,KAAK,IAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,EAAE,QAAQ,EAE5C,EAAG,QAAQ,KAAK,OAAO,EAAE;EAI7B,IAAI,EAAE,MACJ,KAAK,IAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,EAAE,KAAK,EACzC,EAAQ,GAAI,QAAQ,KAAK,EAAE;EAI/B,IAAI,EAAE,OACJ,KAAK,IAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,EAAE,MAAM,EAC1C,EAAQ,GAAI,GAAG,EAAE;;;AA8BvB,SAAgB,EACd,GACA,GACA,GACc;CACd,IAAM,IAAK,SAAS,cAAc,EAAI;CAMtC,OALA,EAAiB,GAA8B,EAAM,EAGjD,OAAO,KAAS,aAAU,EAAwB,cAAc,IAE7D;;AAmBT,SAAgB,EACd,GACA,GACc;CACd,OAAO,EAAc,GAAK,EAAM"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { i as e, n as t } from "./dom.js";
|
|
2
|
+
import { t as n } from "../elements/inline/a/a.js";
|
|
3
|
+
import { t as r } from "../elements/inline/abbr/abbr.js";
|
|
4
|
+
import { t as i } from "../elements/inline/b/b.js";
|
|
5
|
+
import { t as a } from "../elements/inline/small/small.js";
|
|
6
|
+
import { t as o } from "../elements/inline/strong/strong.js";
|
|
7
|
+
import { t as s } from "../elements/inline/cite/cite.js";
|
|
8
|
+
import { t as c } from "../elements/inline/code/code.js";
|
|
9
|
+
import { t as l } from "../elements/inline/data/data.js";
|
|
10
|
+
import { t as u } from "../elements/inline/dfn/dfn.js";
|
|
11
|
+
import { t as d } from "../elements/inline/em/em.js";
|
|
12
|
+
import { t as f } from "../elements/inline/i/i.js";
|
|
13
|
+
import { t as p } from "../elements/inline/kbd/kbd.js";
|
|
14
|
+
import { t as m } from "../elements/inline/mark/mark.js";
|
|
15
|
+
import { t as h } from "../elements/inline/q/q.js";
|
|
16
|
+
import { t as g } from "../elements/inline/rb/rb.js";
|
|
17
|
+
import { t as _ } from "../elements/inline/rt/rt.js";
|
|
18
|
+
import { t as v } from "../elements/inline/rtc/rtc.js";
|
|
19
|
+
import { t as y } from "../elements/inline/ruby/ruby.js";
|
|
20
|
+
import { t as b } from "../elements/inline/s/s.js";
|
|
21
|
+
import { t as x } from "../elements/inline/samp/samp.js";
|
|
22
|
+
import { t as S } from "../elements/inline/sub/sub.js";
|
|
23
|
+
import { t as C } from "../elements/inline/sup/sup.js";
|
|
24
|
+
import { t as w } from "../elements/inline/time/time.js";
|
|
25
|
+
import { t as T } from "../elements/inline/u/u.js";
|
|
26
|
+
import { t as E } from "../elements/inline/var/var.js";
|
|
27
|
+
//#region src/elements/inline/rp/index.ts
|
|
28
|
+
var D = /* @__PURE__ */ e({
|
|
29
|
+
RP_SELECTOR: () => "rp",
|
|
30
|
+
RP_TAG: () => "rp",
|
|
31
|
+
createRp: () => k,
|
|
32
|
+
enhanceRps: () => A
|
|
33
|
+
});
|
|
34
|
+
function O(e) {
|
|
35
|
+
if (!e) return;
|
|
36
|
+
let { aria: t, ...n } = e;
|
|
37
|
+
if (!t) return n;
|
|
38
|
+
let r = {};
|
|
39
|
+
return 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 ? {
|
|
40
|
+
...n,
|
|
41
|
+
aria: r
|
|
42
|
+
} : n;
|
|
43
|
+
}
|
|
44
|
+
function k(e, n) {
|
|
45
|
+
return t("rp", O(n), e);
|
|
46
|
+
}
|
|
47
|
+
function A(e = document) {}
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/elements/inline/index.ts
|
|
50
|
+
var j = /* @__PURE__ */ e({
|
|
51
|
+
abbr: () => r,
|
|
52
|
+
anchor: () => n,
|
|
53
|
+
b: () => i,
|
|
54
|
+
cite: () => s,
|
|
55
|
+
code: () => c,
|
|
56
|
+
data: () => l,
|
|
57
|
+
dfn: () => u,
|
|
58
|
+
em: () => d,
|
|
59
|
+
italic: () => f,
|
|
60
|
+
kbd: () => p,
|
|
61
|
+
mark: () => m,
|
|
62
|
+
q: () => h,
|
|
63
|
+
rb: () => g,
|
|
64
|
+
rp: () => D,
|
|
65
|
+
rt: () => _,
|
|
66
|
+
rtc: () => v,
|
|
67
|
+
ruby: () => y,
|
|
68
|
+
s: () => b,
|
|
69
|
+
samp: () => x,
|
|
70
|
+
small: () => a,
|
|
71
|
+
strong: () => o,
|
|
72
|
+
sub: () => S,
|
|
73
|
+
sup: () => C,
|
|
74
|
+
time: () => w,
|
|
75
|
+
u: () => T,
|
|
76
|
+
var: () => E
|
|
77
|
+
});
|
|
78
|
+
//#endregion
|
|
79
|
+
export { D as n, j as t };
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline.js","names":[],"sources":["../../../src/elements/inline/rp/index.ts","../../../src/elements/inline/index.ts"],"sourcesContent":["/**\n * pkgn-sol 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 pkgn-sol 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 pkgn-sol 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 * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol'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 pkgn-sol'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 \"@lnpg/pkgn-sol/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 `0.1.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 // v0.1.0: no runtime behavior for rp.\n void root;\n}\n","/**\n * Inline text element factories.\n *\n * Provides framework-agnostic factory functions for semantic and typographic\n * inline elements used inside paragraphs, headings, labels, and other text\n * content.\n *\n * These factories:\n * - Create semantic inline elements using pkgn-sol's hardened DOM helpers.\n * - Forward curated global attributes.\n * - Enforce structured, typed attribute bags.\n * - Encourage accessible, standards-aligned markup.\n * - Prevent unsafe attribute injection.\n *\n * Inline elements refine meaning (emphasis, citations, abbreviations), express\n * user input or code, and support annotations such as Ruby text.\n *\n * @module elements/inline\n * @since 0.1.0\n */\n\n/**\n * `<a>` element factory namespace.\n *\n * Represents a hyperlink to another location.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a\n */\nexport * as anchor from './a';\n\n/**\n * `<abbr>` element factory namespace.\n *\n * Represents an abbreviation or acronym, typically with a `title` expansion.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr\n */\nexport * as abbr from './abbr';\n\n/**\n * `<b>` element factory namespace.\n *\n * Represents stylistically offset text without conveying extra importance.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b\n */\nexport * as b from './b';\n\n/**\n * `<small>` element factory namespace.\n *\n * Represents side comments or small print.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small\n */\nexport * as small from './small';\n\n/**\n * `<strong>` element factory namespace.\n *\n * Represents strong importance, seriousness, or urgency.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong\n */\nexport * as strong from './strong';\n\n/**\n * `<cite>` element factory namespace.\n *\n * Represents the title of a cited creative work.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite\n */\nexport * as cite from './cite';\n\n/**\n * `<code>` element factory namespace.\n *\n * Represents a fragment of computer code.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code\n */\nexport * as code from './code';\n\n/**\n * `<data>` element factory namespace.\n *\n * Associates a machine-readable value with human-readable content.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/data\n */\nexport * as data from './data';\n\n/**\n * `<dfn>` element factory namespace.\n *\n * Represents the defining instance of a term.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn\n */\nexport * as dfn from './dfn';\n\n/**\n * `<em>` element factory namespace.\n *\n * Represents stress emphasis.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em\n */\nexport * as em from './em';\n\n/**\n * `<i>` element factory namespace.\n *\n * Represents text in an alternate voice or mood, or otherwise offset from normal prose.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i\n */\nexport * as italic from './i';\n\n/**\n * `<kbd>` element factory namespace.\n *\n * Represents user input, typically keyboard input.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd\n */\nexport * as kbd from './kbd';\n\n/**\n * `<mark>` element factory namespace.\n *\n * Represents text marked or highlighted for reference.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark\n */\nexport * as mark from './mark';\n\n/**\n * `<q>` element factory namespace.\n *\n * Represents a short inline quotation.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q\n */\nexport * as q from './q';\n\n/**\n * `<rb>` element factory namespace.\n *\n * Represents the base text component of a ruby annotation.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rb\n */\nexport * as rb from './rb';\n\n/**\n * `<rp>` element factory namespace.\n *\n * Represents fallback parentheses for ruby annotations.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp\n */\nexport * as rp from './rp';\n\n/**\n * `<rt>` element factory namespace.\n *\n * Represents ruby text, the pronunciation/annotation for base text.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt\n */\nexport * as rt from './rt';\n\n/**\n * `<rtc>` element factory namespace.\n *\n * Represents a ruby text container for semantic annotation groups.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rtc\n */\nexport * as rtc from './rtc';\n\n/**\n * `<ruby>` element factory namespace.\n *\n * Represents ruby annotations for East Asian typography.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby\n */\nexport * as ruby from './ruby';\n\n/**\n * `<s>` element factory namespace.\n *\n * Represents content that is no longer accurate or relevant.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s\n */\nexport * as s from './s';\n\n/**\n * `<samp>` element factory namespace.\n *\n * Represents sample output from a program or computing system.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp\n */\nexport * as samp from './samp';\n\n/**\n * `<sub>` element factory namespace.\n *\n * Represents subscript text.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub\n */\nexport * as sub from './sub';\n\n/**\n * `<sup>` element factory namespace.\n *\n * Represents superscript text.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup\n */\nexport * as sup from './sup';\n\n/**\n * `<time>` element factory namespace.\n *\n * Represents a specific time period, optionally with a machine-readable `datetime`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time\n */\nexport * as time from './time';\n\n/**\n * `<u>` element factory namespace.\n *\n * Represents unarticulated annotation, such as misspelled text or proper names in some contexts.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u\n */\nexport * as u from './u';\n\n/**\n * `<var>` element factory namespace.\n *\n * Represents a variable in a mathematical expression or programming context.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var\n */\nexport * as var from './var';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8FA,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AA2BrD,SAAgB,EAAS,GAAe,GAA2C;CACjF,OAAO,EAAA,MAAsB,EAAc,EAAM,EAAE,EAAK;;AAqB1D,SAAgB,EAAW,IAAmB,UAAgB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region __vite-optional-peer-dep:tailwindcss/plugin:@lnpg/pkgn-sol
|
|
2
|
+
var e = {};
|
|
3
|
+
throw Error("Could not resolve \"tailwindcss/plugin\" imported by \"@lnpg/pkgn-sol\". Is it installed?");
|
|
4
|
+
//#endregion
|
|
5
|
+
export { e as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=pkgn-sol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pkgn-sol.js","names":[],"sources":["../../../__vite-optional-peer-dep:tailwindcss/plugin:@lnpg/pkgn-sol"],"sourcesContent":["export default {};\nthrow new Error(`Could not resolve \"tailwindcss/plugin\" imported by \"@lnpg/pkgn-sol\". Is it installed?`)"],"mappings":";AAAA,IAAA,IAAe,EAAE;AACjB,MAAU,MAAM,4FAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { i as e, r as t } from "../../../chunks/dom.js";
|
|
2
|
+
//#region src/elements/break/br/index.ts
|
|
3
|
+
var n = /* @__PURE__ */ e({
|
|
4
|
+
BR_SELECTOR: () => "br",
|
|
5
|
+
BR_TAG: () => "br",
|
|
6
|
+
createBr: () => o,
|
|
7
|
+
enhanceBrs: () => s
|
|
8
|
+
}), r = "br", i = "br";
|
|
9
|
+
function a(e) {
|
|
10
|
+
if (!e) return;
|
|
11
|
+
let { aria: t, ...n } = e;
|
|
12
|
+
if (!t) return n;
|
|
13
|
+
let r = {};
|
|
14
|
+
return 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 ? {
|
|
15
|
+
...n,
|
|
16
|
+
aria: r
|
|
17
|
+
} : n;
|
|
18
|
+
}
|
|
19
|
+
function o(e) {
|
|
20
|
+
return t("br", a(e));
|
|
21
|
+
}
|
|
22
|
+
function s(e = document) {}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as BR_SELECTOR, r as BR_TAG, o as createBr, s as enhanceBrs, n as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=br.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"br.js","names":[],"sources":["../../../../../src/elements/break/br/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Br element helpers.\n *\n * @remarks\n * The br element (`<br>`) represents a line break within phrasing content.\n *\n * Best-practice guidance:\n * - Use `<br>` only for line breaks within text (e.g. poems, addresses).\n * - Do not use `<br>` for layout or spacing. Use CSS instead.\n * - `<br>` is a void element and must not contain text content.\n *\n * This module provides a small, framework-agnostic helper so consumers can:\n * - create line breaks safely in vanilla JS/TS\n * - apply consistent global attributes via pkgn-sol's hardened DOM helpers\n * - rely on a stable enhancement hook for future evolution\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createVoidElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for line break elements.\n *\n * @category Constants\n */\nexport const BR_TAG = 'br' as const;\n\n/**\n * A CSS selector targeting br elements.\n *\n * @category Constants\n */\nexport const BR_SELECTOR = 'br';\n\n/**\n * Attribute bag for br creation/enhancement.\n *\n * @remarks\n * `<br>` accepts only global HTML attributes.\n * It does not accept text content and has no element-specific attributes.\n *\n * @category Attributes\n */\nexport type BrAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link BrAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The br attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: BrAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a br element with optional global attributes.\n *\n * @remarks\n * - `<br>` is a void element and does not accept text content.\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<br>` element.\n *\n * @example\n * ```ts\n * import { createBr } from \"@lnpg/pkgn-sol/elements/break/br\";\n *\n * paragraph.appendChild(createBr());\n * ```\n *\n * @category DOM\n */\nexport function createBr(attrs?: BrAttrs): ElementOf<typeof BR_TAG> {\n return createVoidElement(BR_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance br elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * It exists to establish a stable enhancement pattern across all elements.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceBrs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for br.\n void root;\n}\n"],"mappings":";;;;;;;IA0Da,IAAS,MAOT,IAAc;AA0B3B,SAAS,EAAc,GAA0C;CAC/D,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAQvD,OANI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAE7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAwBrD,SAAgB,EAAS,GAA2C;CAClE,OAAO,EAAA,MAA0B,EAAc,EAAM,CAAC;;AAexD,SAAgB,EAAW,IAAmB,UAAgB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { i as e } from "../../chunks/dom.js";
|
|
2
|
+
import { t } from "./br/br.js";
|
|
3
|
+
import { t as n } from "./wbr/wbr.js";
|
|
4
|
+
//#region src/elements/break/index.ts
|
|
5
|
+
var r = /* @__PURE__ */ e({
|
|
6
|
+
br: () => t,
|
|
7
|
+
wbr: () => n
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { t as br, r as t, n as wbr };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=break.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"break.js","names":[],"sources":["../../../../src/elements/break/index.ts"],"sourcesContent":["/**\n * Line and word break element factories.\n *\n * Provides framework-agnostic factory functions for elements that control\n * line breaking and word breaking behaviour within text flow.\n *\n * These factories:\n * - Create semantic HTML break elements using pkgn-sol's hardened DOM helpers.\n * - Forward curated global attributes.\n * - Enforce structured ARIA input where applicable.\n * - Prevent unsafe attribute injection.\n *\n * @module elements/break\n * @since 0.1.0\n */\n\n/**\n * `<br>` element factory namespace.\n *\n * Represents a line break opportunity within text.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br\n */\nexport * as br from './br';\n\n/**\n * `<wbr>` element factory namespace.\n *\n * Represents a word break opportunity within text.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr\n */\nexport * as wbr from './wbr';\n"],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { i as e, r as t } from "../../../chunks/dom.js";
|
|
2
|
+
//#region src/elements/break/wbr/index.ts
|
|
3
|
+
var n = /* @__PURE__ */ e({
|
|
4
|
+
WBR_SELECTOR: () => "wbr",
|
|
5
|
+
WBR_TAG: () => "wbr",
|
|
6
|
+
createWbr: () => o,
|
|
7
|
+
enhanceWbrs: () => s
|
|
8
|
+
}), r = "wbr", i = "wbr";
|
|
9
|
+
function a(e) {
|
|
10
|
+
if (!e) return;
|
|
11
|
+
let { aria: t, ...n } = e;
|
|
12
|
+
if (!t) return n;
|
|
13
|
+
let r = {};
|
|
14
|
+
return 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 ? {
|
|
15
|
+
...n,
|
|
16
|
+
aria: r
|
|
17
|
+
} : n;
|
|
18
|
+
}
|
|
19
|
+
function o(e) {
|
|
20
|
+
return t("wbr", a(e));
|
|
21
|
+
}
|
|
22
|
+
function s(e = document) {}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as WBR_SELECTOR, r as WBR_TAG, o as createWbr, s as enhanceWbrs, n as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=wbr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wbr.js","names":[],"sources":["../../../../../src/elements/break/wbr/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Wbr element helpers.\n *\n * @remarks\n * The wbr element (`<wbr>`) represents a word break opportunity.\n *\n * Best-practice guidance:\n * - Use `<wbr>` to suggest optional break points within long words or URLs.\n * - It does not force a line break; the browser decides if a break is needed.\n * - Do not use `<wbr>` for layout or spacing. Use CSS instead.\n * - `<wbr>` is a void element and must not contain text content.\n *\n * This module provides a small, framework-agnostic helper so consumers can:\n * - create word break opportunities safely in vanilla JS/TS\n * - apply consistent global attributes via pkgn-sol's hardened DOM helpers\n * - rely on a stable enhancement hook for future evolution\n *\n * This module has no side effects and does not mutate the DOM unless you call\n * its functions.\n *\n * @module\n * @category Elements\n */\n\nimport { createVoidElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs.\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for word break opportunity elements.\n *\n * @category Constants\n */\nexport const WBR_TAG = 'wbr' as const;\n\n/**\n * A CSS selector targeting wbr elements.\n *\n * @category Constants\n */\nexport const WBR_SELECTOR = 'wbr';\n\n/**\n * Attribute bag for wbr creation/enhancement.\n *\n * @remarks\n * `<wbr>` accepts only global HTML attributes.\n * It does not accept text content and has no element-specific attributes.\n *\n * @category Attributes\n */\nexport type WbrAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link WbrAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The wbr attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: WbrAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a wbr element with optional global attributes.\n *\n * @remarks\n * - `<wbr>` is a void element and does not accept text content.\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param attrs - Optional attributes to apply.\n * @returns The created `<wbr>` element.\n *\n * @example\n * ```ts\n * import { createWbr } from \"@lnpg/pkgn-sol/elements/break/wbr\";\n *\n * paragraph.appendChild(createWbr());\n * ```\n *\n * @category DOM\n */\nexport function createWbr(attrs?: WbrAttrs): ElementOf<typeof WBR_TAG> {\n return createVoidElement(WBR_TAG, toGlobalAttrs(attrs));\n}\n\n/**\n * Enhance wbr elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * It exists to establish a stable enhancement pattern across all elements.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceWbrs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for wbr.\n void root;\n}\n"],"mappings":";;;;;;;IA2Da,IAAU,OAOV,IAAe;AA0B5B,SAAS,EAAc,GAA2C;CAChE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAQvD,OANI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAE7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAwBrD,SAAgB,EAAU,GAA6C;CACrE,OAAO,EAAA,OAA2B,EAAc,EAAM,CAAC;;AAezD,SAAgB,EAAY,IAAmB,UAAgB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { i as e } from "../../chunks/dom.js";
|
|
2
|
+
import { t } from "./div/div.js";
|
|
3
|
+
import { t as n } from "./span/span.js";
|
|
4
|
+
//#region src/elements/container/index.ts
|
|
5
|
+
var r = /* @__PURE__ */ e({
|
|
6
|
+
div: () => t,
|
|
7
|
+
span: () => n
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { t as div, n as span, r as t };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","names":[],"sources":["../../../../src/elements/container/index.ts"],"sourcesContent":["/**\n * Container element factories.\n *\n * Provides framework-agnostic factory functions for generic container\n * elements used to group flow or inline content.\n *\n * These factories:\n * - Create semantic HTML elements using pkgn-sol's hardened DOM helpers.\n * - Forward curated global attributes.\n * - Enforce structured ARIA input.\n * - Prevent unsafe attribute injection.\n *\n * @module elements/container\n * @since 0.1.0\n */\n\n/**\n * `<div>` element factory namespace.\n *\n * Represents a generic block-level container with no semantic meaning.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div\n */\nexport * as div from './div';\n\n/**\n * `<span>` element factory namespace.\n *\n * Represents a generic inline container with no semantic meaning.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span\n */\nexport * as span from './span';\n"],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { i as e, n as t } from "../../../chunks/dom.js";
|
|
2
|
+
//#region src/elements/container/div/index.ts
|
|
3
|
+
var n = /* @__PURE__ */ e({
|
|
4
|
+
DIV_SELECTOR: () => "div",
|
|
5
|
+
DIV_TAG: () => "div",
|
|
6
|
+
createDiv: () => o,
|
|
7
|
+
enhanceDivs: () => s
|
|
8
|
+
}), r = "div", i = "div";
|
|
9
|
+
function a(e) {
|
|
10
|
+
if (!e) return;
|
|
11
|
+
let { aria: t, ...n } = e;
|
|
12
|
+
if (!t) return n;
|
|
13
|
+
let r = {};
|
|
14
|
+
return 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 ? {
|
|
15
|
+
...n,
|
|
16
|
+
aria: r
|
|
17
|
+
} : n;
|
|
18
|
+
}
|
|
19
|
+
function o(e, n) {
|
|
20
|
+
return t("div", a(n), e);
|
|
21
|
+
}
|
|
22
|
+
function s(e = document) {}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as DIV_SELECTOR, r as DIV_TAG, o as createDiv, s as enhanceDivs, n as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=div.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"div.js","names":[],"sources":["../../../../../src/elements/container/div/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Div element helpers.\n *\n * @remarks\n * The div element (`<div>`) is a non-semantic, generic container.\n *\n * Best-practice guidance:\n * - Prefer semantic elements when available (e.g. `<section>`, `<nav>`, `<article>`).\n * - Use `<div>` as a last resort when no semantic element fits.\n * - Avoid obsolete attributes like `align`; use CSS instead.\n *\n * This module provides small, framework-agnostic helpers so consumers can:\n * - create div containers in vanilla JS/TS without templates\n * - apply consistent global attributes safely\n * - use a stable \"enhancement\" hook if pkgn-sol 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 pkgn-sol element factories.\n *\n * @remarks\n * This is intentionally a small, typed subset that covers common cases and\n * prevents typo-based ARIA bugs (e.g. `lable`).\n *\n * It is mapped into {@link GlobalAttrs.aria} for application by `dom.ts`.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for div containers.\n *\n * @category Constants\n */\nexport const DIV_TAG = 'div' as const;\n\n/**\n * A CSS selector targeting div elements.\n *\n * @category Constants\n */\nexport const DIV_SELECTOR = 'div';\n\n/**\n * Attribute bag for div creation/enhancement.\n *\n * @remarks\n * Div elements accept standard HTML global attributes.\n *\n * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol's core DOM helpers.\n *\n * @category Attributes\n */\nexport type DivAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link DivAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The div attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: DivAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n // Only attach `aria` if something was actually defined.\n const hasMapped = Object.keys(mappedAria).length > 0;\n\n return hasMapped ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a div element with optional text content and global attributes.\n *\n * @remarks\n * - Text content is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper,\n * including security guards that block inline event handler attributes\n * (e.g. `onclick`) and raw `style` attribute strings.\n *\n * @param text - Optional text content for the div.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<div>` element.\n *\n * @example\n * Create and append a div:\n * ```ts\n * import { createDiv } from \"@lnpg/pkgn-sol/elements/container/div\";\n *\n * document.body.appendChild(\n * createDiv(\"Hello.\", { className: \"box\", id: \"root\" })\n * );\n * ```\n *\n * @category DOM\n */\nexport function createDiv(text?: string, attrs?: DivAttrs): ElementOf<typeof DIV_TAG> {\n return createElement(DIV_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance div elements within a given root.\n *\n * @remarks\n * This is intentionally a no-op in `0.1.0`.\n *\n * Why does it exist?\n * - It establishes a stable integration pattern for frameworks (Vue/React/etc.)\n * - It allows future progressive enhancements without changing consumer code\n *\n * What it will never do:\n * - It will not inject styles (CSS remains the source of truth)\n * - It will not introduce framework-specific behavior\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceDivs(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for div.\n void root;\n}\n"],"mappings":";;;;;;;IA0Da,IAAU,OAOV,IAAe;AA4B5B,SAAS,EAAc,GAA2C;CAChE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AA4BrD,SAAgB,EAAU,GAAe,GAA6C;CACpF,OAAO,EAAA,OAAuB,EAAc,EAAM,EAAE,EAAK;;AAqB3D,SAAgB,EAAY,IAAmB,UAAgB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { i as e, n as t } from "../../../chunks/dom.js";
|
|
2
|
+
//#region src/elements/container/span/index.ts
|
|
3
|
+
var n = /* @__PURE__ */ e({
|
|
4
|
+
SPAN_SELECTOR: () => i,
|
|
5
|
+
SPAN_TAG: () => r,
|
|
6
|
+
createSpan: () => o,
|
|
7
|
+
enhanceSpans: () => s
|
|
8
|
+
}), r = "span", i = "span";
|
|
9
|
+
function a(e) {
|
|
10
|
+
if (!e) return;
|
|
11
|
+
let { aria: t, ...n } = e;
|
|
12
|
+
if (!t) return n;
|
|
13
|
+
let r = {};
|
|
14
|
+
return 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 ? {
|
|
15
|
+
...n,
|
|
16
|
+
aria: r
|
|
17
|
+
} : n;
|
|
18
|
+
}
|
|
19
|
+
function o(e, n) {
|
|
20
|
+
return t(r, a(n), e);
|
|
21
|
+
}
|
|
22
|
+
function s(e = document) {}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as SPAN_SELECTOR, r as SPAN_TAG, o as createSpan, s as enhanceSpans, n as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=span.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span.js","names":[],"sources":["../../../../../src/elements/container/span/index.ts"],"sourcesContent":["/**\n * pkgn-sol Design Foundation: Span element helpers.\n *\n * @remarks\n * The `<span>` element is a generic inline container for phrasing content.\n * It has no inherent semantics and should be used only when no more suitable\n * semantic element exists.\n *\n * This module:\n * - Creates `<span>` elements via pkgn-sol's DOM helpers (no direct DOM calls).\n * - Applies a curated subset of global attributes safely.\n * - Exposes an enhancement hook (currently a no-op) for consistency and\n * potential future progressive enhancements.\n *\n * @module\n * @category Elements\n */\n\nimport { createElement, type ElementOf, type GlobalAttrs } from '../../../ts/dom';\n\n/**\n * Structured ARIA input supported by pkgn-sol element factories.\n *\n * @remarks\n * This is a small, typed subset intended to prevent typo-driven ARIA bugs and\n * keep the API practical. Values are mapped into {@link GlobalAttrs.aria}.\n *\n * @category Attributes\n */\nexport type StructuredAria = {\n /**\n * Accessible label, mapped to `aria-label`.\n */\n label?: string;\n\n /**\n * ID reference to the labelling element(s), mapped to `aria-labelledby`.\n */\n labelledby?: string;\n\n /**\n * Decorative/hidden hint, mapped to `aria-hidden`.\n */\n hidden?: boolean;\n};\n\n/**\n * The semantic tag name for span.\n *\n * @category Constants\n */\nexport const SPAN_TAG = 'span' as const;\n\n/**\n * A CSS selector targeting span elements.\n *\n * @category Constants\n */\nexport const SPAN_SELECTOR = 'span';\n\n/**\n * Attribute bag for span creation/enhancement.\n *\n * @remarks\n * `<span>` supports HTML global attributes only.\n *\n * pkgn-sol additionally supports a typed, structured ARIA input that is mapped into\n * {@link GlobalAttrs.aria} without modifying the shared DOM helpers.\n *\n * @category Attributes\n */\nexport type SpanAttrs = Omit<GlobalAttrs, 'aria'> & {\n /**\n * Structured ARIA fields mapped into `aria-*` attributes.\n */\n aria?: StructuredAria;\n};\n\n/**\n * Normalize {@link SpanAttrs} into {@link GlobalAttrs} for `dom.ts`.\n *\n * @param attrs - The span attributes.\n * @returns A {@link GlobalAttrs} object, or `undefined` if no attrs were provided.\n *\n * @category Internal\n */\nfunction toGlobalAttrs(attrs?: SpanAttrs): GlobalAttrs | undefined {\n if (!attrs) return undefined;\n\n const { aria, ...rest } = attrs;\n\n if (!aria) return rest;\n\n const mappedAria: NonNullable<GlobalAttrs['aria']> = {};\n\n if (typeof aria.label === 'string') mappedAria.label = aria.label;\n if (typeof aria.labelledby === 'string') mappedAria.labelledby = aria.labelledby;\n if (typeof aria.hidden === 'boolean') mappedAria.hidden = aria.hidden;\n\n return Object.keys(mappedAria).length > 0 ? { ...rest, aria: mappedAria } : rest;\n}\n\n/**\n * Create a span element with optional text content and global attributes.\n *\n * @remarks\n * - Text is assigned via `textContent` (never `innerHTML`).\n * - Global attributes are applied via pkgn-sol's shared DOM helper, which enforces:\n * - No inline event handler attributes (e.g. `onclick`)\n * - No raw `style` attribute injection (use the `style` object field)\n * - No empty attribute names\n *\n * @param text - Optional text content for the span.\n * @param attrs - Optional attributes to apply.\n * @returns The created `<span>` element.\n *\n * @category DOM\n */\nexport function createSpan(text?: string, attrs?: SpanAttrs): ElementOf<typeof SPAN_TAG> {\n return createElement(SPAN_TAG, toGlobalAttrs(attrs), text);\n}\n\n/**\n * Enhance span elements within a given root.\n *\n * @remarks\n * Intentionally a no-op in `0.1.0`. This exists to provide a stable, consistent\n * integration hook across element modules.\n *\n * @param root - The node to search within. Defaults to `document`.\n *\n * @category Enhancement\n */\nexport function enhanceSpans(root: ParentNode = document): void {\n // v0.1.0: no runtime behavior for span.\n void root;\n}\n"],"mappings":";;;;;;;IAmDa,IAAW,QAOX,IAAgB;AA4B7B,SAAS,EAAc,GAA4C;CACjE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAMvD,OAJI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAExD,OAAO,KAAK,EAAW,CAAC,SAAS,IAAI;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAmB9E,SAAgB,EAAW,GAAe,GAA+C;CACvF,OAAO,EAAc,GAAU,EAAc,EAAM,EAAE,EAAK;;AAc5D,SAAgB,EAAa,IAAmB,UAAgB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { i as e, n as t } from "../../../chunks/dom.js";
|
|
2
|
+
//#region src/elements/figure/figcaption/index.ts
|
|
3
|
+
var n = /* @__PURE__ */ e({
|
|
4
|
+
FIGCAPTION_SELECTOR: () => i,
|
|
5
|
+
FIGCAPTION_TAG: () => r,
|
|
6
|
+
createFigcaption: () => o,
|
|
7
|
+
enhanceFigcaptions: () => s
|
|
8
|
+
}), r = "figcaption", i = "figcaption";
|
|
9
|
+
function a(e) {
|
|
10
|
+
if (!e) return;
|
|
11
|
+
let { aria: t, ...n } = e;
|
|
12
|
+
if (!t) return n;
|
|
13
|
+
let r = {};
|
|
14
|
+
return 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 ? {
|
|
15
|
+
...n,
|
|
16
|
+
aria: r
|
|
17
|
+
} : n;
|
|
18
|
+
}
|
|
19
|
+
function o(e, n) {
|
|
20
|
+
return t(r, a(n), e);
|
|
21
|
+
}
|
|
22
|
+
function s(e = document) {}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as FIGCAPTION_SELECTOR, r as FIGCAPTION_TAG, o as createFigcaption, s as enhanceFigcaptions, n as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=figcaption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figcaption.js","names":[],"sources":["../../../../../src/elements/figure/figcaption/index.ts"],"sourcesContent":["/**\n * pkgn-sol 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 pkgn-sol 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 pkgn-sol 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 * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol'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 pkgn-sol'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 \"@lnpg/pkgn-sol/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 `0.1.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 // v0.1.0: no runtime behavior for figcaption.\n void root;\n}\n"],"mappings":";;;;;;;IA4Da,IAAiB,cAOjB,IAAsB;AA4BnC,SAAS,EAAc,GAAkD;CACvE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CAQvD,OANI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAE7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AA0BrD,SAAgB,EACd,GACA,GACkC;CAClC,OAAO,EAAc,GAAgB,EAAc,EAAM,EAAE,EAAK;;AAalE,SAAgB,EAAmB,IAAmB,UAAgB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { i as e, n as t } from "../../../chunks/dom.js";
|
|
2
|
+
//#region src/elements/figure/figure/index.ts
|
|
3
|
+
var n = /* @__PURE__ */ e({
|
|
4
|
+
FIGURE_SELECTOR: () => i,
|
|
5
|
+
FIGURE_TAG: () => r,
|
|
6
|
+
createFigure: () => o,
|
|
7
|
+
enhanceFigures: () => s
|
|
8
|
+
}), r = "figure", i = "figure";
|
|
9
|
+
function a(e) {
|
|
10
|
+
if (!e) return;
|
|
11
|
+
let { aria: t, ...n } = e;
|
|
12
|
+
if (!t) return n;
|
|
13
|
+
let r = {};
|
|
14
|
+
return 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 ? {
|
|
15
|
+
...n,
|
|
16
|
+
aria: r
|
|
17
|
+
} : n;
|
|
18
|
+
}
|
|
19
|
+
function o(e, n) {
|
|
20
|
+
return t(r, a(n), e);
|
|
21
|
+
}
|
|
22
|
+
function s(e = document) {}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as FIGURE_SELECTOR, r as FIGURE_TAG, o as createFigure, s as enhanceFigures, n as t };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=figure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figure.js","names":[],"sources":["../../../../../src/elements/figure/figure/index.ts"],"sourcesContent":["/**\n * pkgn-sol 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 pkgn-sol 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 pkgn-sol 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 * pkgn-sol also supports a structured ARIA input for common ARIA fields, which is\n * mapped into {@link GlobalAttrs.aria} without changing pkgn-sol'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 pkgn-sol'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 pkgn-sol\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 \"@lnpg/pkgn-sol/elements/figure/figure\";\n * import { createFigcaption } from \"@lnpg/pkgn-sol/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 `0.1.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 // v0.1.0: no runtime behavior for figure.\n void root;\n}\n"],"mappings":";;;;;;;IA8Da,IAAa,UAOb,IAAkB;AA4B/B,SAAS,EAAc,GAA8C;CACnE,IAAI,CAAC,GAAO;CAEZ,IAAM,EAAE,SAAM,GAAG,MAAS;CAE1B,IAAI,CAAC,GAAM,OAAO;CAElB,IAAM,IAA+C,EAAE;CASvD,OAPI,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,SAG7C,OAAO,KAAK,EAAW,CAAC,SAAS,IAEhC;EAAE,GAAG;EAAM,MAAM;EAAY,GAAG;;AAiCrD,SAAgB,EAAa,GAAe,GAAmD;CAC7F,OAAO,EAAc,GAAY,EAAc,EAAM,EAAE,EAAK;;AAa9D,SAAgB,EAAe,IAAmB,UAAgB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { i as e } from "../../chunks/dom.js";
|
|
2
|
+
import { t } from "./figcaption/figcaption.js";
|
|
3
|
+
import { t as n } from "./figure/figure.js";
|
|
4
|
+
//#region src/elements/figure/index.ts
|
|
5
|
+
var r = /* @__PURE__ */ e({
|
|
6
|
+
figcaption: () => t,
|
|
7
|
+
figure: () => n
|
|
8
|
+
});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { t as figcaption, n as figure, r as t };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=figure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figure.js","names":[],"sources":["../../../../src/elements/figure/index.ts"],"sourcesContent":["/**\n * Figure and figcaption element factories.\n *\n * Provides framework-agnostic factory functions for the semantic HTML\n * `<figure>` and `<figcaption>` elements.\n *\n * These factories:\n * - Create semantic figure structures using pkgn-sol's hardened DOM helpers.\n * - Forward curated global attributes.\n * - Enforce structured, typed attribute bags.\n * - Preserve correct semantic relationships between media and captions.\n * - Prevent unsafe attribute injection.\n *\n * The `<figure>` element represents self-contained content such as images,\n * diagrams, code listings, or illustrations, optionally paired with a\n * `<figcaption>` that provides a caption or legend.\n *\n * @module elements/figure\n * @since 0.1.0\n */\n\n/**\n * `<figcaption>` element factory namespace.\n *\n * Represents a caption or legend describing the contents of a `<figure>`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption\n */\nexport * as figcaption from './figcaption';\n\n/**\n * `<figure>` element factory namespace.\n *\n * Represents self-contained content that may include media, illustrations,\n * code examples, or diagrams, optionally associated with a `<figcaption>`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure\n */\nexport * as figure from './figure';\n"],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { i as e, n as t } from "../../../chunks/dom.js";
|
|
2
|
+
//#region src/elements/form/button/index.ts
|
|
3
|
+
var n = /* @__PURE__ */ e({
|
|
4
|
+
BUTTON_SELECTOR: () => i,
|
|
5
|
+
BUTTON_TAG: () => r,
|
|
6
|
+
createButton: () => o,
|
|
7
|
+
enhanceButtons: () => s
|
|
8
|
+
}), r = "button", i = "button";
|
|
9
|
+
function a(e) {
|
|
10
|
+
let { aria: t, type: n, name: r, value: i, disabled: a, autofocus: o, form: s, formAction: c, formEnctype: l, formMethod: u, formNoValidate: d, formTarget: f, popoverTarget: p, popoverTargetAction: m, command: h, commandFor: g, ..._ } = e ?? {}, v = { ..._.attrs ?? {} }, y = (e, t) => {
|
|
11
|
+
t !== void 0 && (Object.prototype.hasOwnProperty.call(v, e) || (v[e] = t));
|
|
12
|
+
};
|
|
13
|
+
y("type", n ?? "button"), y("name", r), y("value", i), y("form", s), y("formaction", c), y("formenctype", l), y("formmethod", u), y("formtarget", f), y("popovertarget", p), y("popovertargetaction", m), y("command", h), y("commandfor", g), a === !0 && y("disabled", ""), o === !0 && y("autofocus", ""), d === !0 && y("formnovalidate", "");
|
|
14
|
+
let b = {
|
|
15
|
+
..._,
|
|
16
|
+
attrs: v
|
|
17
|
+
}, x = {};
|
|
18
|
+
if (t && (typeof t.label == "string" && (x.label = t.label), typeof t.labelledby == "string" && (x.labelledby = t.labelledby), typeof t.hidden == "boolean" && (x.hidden = t.hidden)), Object.keys(x).length > 0 && (b.aria = x), Object.keys(v).length === 0) {
|
|
19
|
+
let { attrs: e, ...t } = b;
|
|
20
|
+
return t;
|
|
21
|
+
}
|
|
22
|
+
return b;
|
|
23
|
+
}
|
|
24
|
+
function o(e, n) {
|
|
25
|
+
return t(r, a(n), e);
|
|
26
|
+
}
|
|
27
|
+
function s(e = document) {}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { i as BUTTON_SELECTOR, r as BUTTON_TAG, o as createButton, s as enhanceButtons, n as t };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","names":[],"sources":["../../../../../src/elements/form/button/index.ts"],"sourcesContent":["/**\n * pkgn-sol 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 * pkgn-sol-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 pkgn-sol'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 pkgn-sol 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 pkgn-sol 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. pkgn-sol 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 // pkgn-sol 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 * - pkgn-sol defaults `type` to `\"button\"` to reduce accidental form submissions. :contentReference[oaicite:11]{index=11}\n * - Global attributes are applied via pkgn-sol'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 \"@lnpg/pkgn-sol/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 `0.1.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 // v0.1.0: no runtime behavior for button.\n void root;\n}\n"],"mappings":";;;;;;;IAqGa,IAAa,UAOb,IAAkB;AAiH/B,SAAS,EAAc,GAAkC;CACvD,IAAM,EACJ,SACA,SACA,SACA,UACA,aACA,cACA,SACA,eACA,gBACA,eACA,mBACA,eACA,kBACA,wBACA,YACA,eACA,GAAG,MACD,KAAS,EAAE,EAGT,IAAyC,EAAE,GAAI,EAAK,SAAS,EAAE,EAAG,EAGlE,KAAc,GAAa,MAAmC;EAC9D,MAAM,KAAA,MACN,OAAO,UAAU,eAAe,KAAK,GAAa,EAAI,KAC1D,EAAY,KAAO;;CAqBrB,AAjBA,EAAW,QAAQ,KAAQ,SAAS,EAEpC,EAAW,QAAQ,EAAK,EACxB,EAAW,SAAS,EAAM,EAC1B,EAAW,QAAQ,EAAK,EACxB,EAAW,cAAc,EAAW,EACpC,EAAW,eAAe,EAAY,EACtC,EAAW,cAAc,EAAW,EACpC,EAAW,cAAc,EAAW,EACpC,EAAW,iBAAiB,EAAc,EAC1C,EAAW,uBAAuB,EAAoB,EACtD,EAAW,WAAW,EAAQ,EAC9B,EAAW,cAAc,EAAW,EAGhC,MAAa,MAAM,EAAW,YAAY,GAAG,EAC7C,MAAc,MAAM,EAAW,aAAa,GAAG,EAC/C,MAAmB,MAAM,EAAW,kBAAkB,GAAG;CAE7D,IAAM,IAAsB;EAAE,GAAG;EAAM,OAAO;EAAa,EAErD,IAA+C,EAAE;CAYvD,IAXI,MACE,OAAO,EAAK,SAAU,aAAU,EAAW,QAAQ,EAAK,QACxD,OAAO,EAAK,cAAe,aAAU,EAAW,aAAa,EAAK,aAClE,OAAO,EAAK,UAAW,cAAW,EAAW,SAAS,EAAK,UAG7D,OAAO,KAAK,EAAW,CAAC,SAAS,MACnC,EAAO,OAAO,IAIZ,OAAO,KAAK,EAAY,CAAC,WAAW,GAAG;EACzC,IAAM,EAAE,OAAO,GAAS,GAAG,MAAiB;EAC5C,OAAO;;CAGT,OAAO;;AA0BT,SAAgB,EAAa,GAAe,GAAmD;CAC7F,OAAO,EAAc,GAAY,EAAc,EAAM,EAAE,EAAK;;AAa9D,SAAgB,EAAe,IAAmB,UAAgB"}
|