@idlapps/t 0.1.2 → 0.1.3

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/README.md CHANGED
@@ -69,10 +69,22 @@ refs.box.style.color; // apply additional JS to refs
69
69
 
70
70
  | Shorthand | CSS |
71
71
  | --------- | ----------------------- |
72
- | `bgred` | `background-color:red` |
73
- | `bgteal` | `background-color:teal` |
72
+ | `bgred` | `background:red` |
73
+ | `bgteal` | `background:teal` |
74
74
  | `clwhite` | `color:white` |
75
75
  | `clblack` | `color:black` |
76
+ | `bgtransparent` | `background:transparent` |
77
+ | `cltransparent` | `color:transparent` |
78
+ | `bctransparent` | `border-color:transparent` |
79
+ | `bg#ff0000` | `background:#ff0000` |
80
+ | `cl#ffffff` | `color:#ffffff` |
81
+ | `bgrgba(255,0,0,0.5)` | `background:rgba(255,0,0,0.5)` |
82
+ | `clhsl(120,100%,50%)` | `color:hsl(120,100%,50%)` |
83
+ | `bglinear-gradient(red,blue)` | `background:linear-gradient(red,blue)` |
84
+ | `bgradial-gradient(red,blue)` | `background:radial-gradient(red,blue)` |
85
+ | `bgconic-gradient(red,blue)` | `background:conic-gradient(red,blue)` |
86
+
87
+ > Use `135deg` instead of `to right` in gradients — HTML splits on spaces.
76
88
 
77
89
  ### Typography
78
90
 
@@ -92,11 +104,13 @@ refs.box.style.color; // apply additional JS to refs
92
104
  | `r` / `relative` | `position:relative` |
93
105
  | `f` / `fixed` | `position:fixed` |
94
106
  | `sticky` | `position:sticky` |
95
- | `l20` | `left:20px` |
96
- | `l-20` | `left:-20px` |
97
- | `r20` | `right:20px` |
98
- | `t20` | `top:20px` |
99
- | `l5p` | `left:5%` |
107
+ | `l20` | `left:20px` |
108
+ | `l-20` | `left:-20px` |
109
+ | `r20` | `right:20px` |
110
+ | `t20` | `top:20px` |
111
+ | `b20` | `bottom:20px` |
112
+ | `b-10` | `bottom:-10px` |
113
+ | `l5p` | `left:5%` |
100
114
 
101
115
  ### Flex
102
116
 
@@ -120,16 +134,21 @@ refs.box.style.color; // apply additional JS to refs
120
134
 
121
135
  ### Border
122
136
 
123
- | Shorthand | CSS |
124
- | ---------- | ------------------- |
125
- | `b` | `border` |
126
- | `b1` | `border:1px` |
127
- | `bt1` | `border-top:1px` |
128
- | `br1` | `border-right:1px` |
129
- | `bb1` | `border-bottom:1px` |
130
- | `bl1` | `border-left:1px` |
131
- | `rounded8` | `border-radius:8px` |
132
- | `shadowsm` | `box-shadow:sm` |
137
+ | Shorthand | CSS |
138
+ | ---------- | ------------------------ |
139
+ | `ba` | `border` |
140
+ | `ba2` | `border:2px solid` |
141
+ | `bt1` | `border-top:1px solid` |
142
+ | `br1` | `border-right:1px solid` |
143
+ | `bb1` | `border-bottom:1px solid`|
144
+ | `bl1` | `border-left:1px solid` |
145
+ | `bcred` | `border-color:red` |
146
+ | `bctred` | `border-top-color:red` |
147
+ | `bcrblue` | `border-right-color:blue`|
148
+ | `bcbgreen` | `border-bottom-color:green`|
149
+ | `bclwhite` | `border-left-color:white`|
150
+ | `rounded8` | `border-radius:8px` |
151
+ | `shadowsm` | `box-shadow:sm` |
133
152
 
134
153
  ### Other
135
154
 
@@ -145,6 +164,10 @@ refs.box.style.color; // apply additional JS to refs
145
164
  | --------- | ----------------------------- |
146
165
  | `tx10` | `transform:translateX(10px)` |
147
166
  | `ty20` | `transform:translateY(20px)` |
167
+ | `tr45` | `transform:rotate(45deg)` |
168
+ | `tr-90` | `transform:rotate(-90deg)` |
169
+ | `ts2` | `transform:scale(2)` |
170
+ | `ts05` | `transform:scale(05)` |
148
171
  | `tx50p` | `transform:translateX(50%)` |
149
172
  | `tx-50p` | `transform:translateX(-50%)` |
150
173
  | `ty-20` | `transform:translateY(-20px)` |
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=document.createElement(`template`),t={m:`margin`,p:`padding`,t:`top`,r:`right`,l:`left`,bottom:`bottom`,x:`$l:$r`,y:`$t:$b`,w:`width`,h:`height`,min:`min`,max:`max`,P:`position`,D:`display`,fd:`flexDirection`,C:`center`,bg:`backgroundColor`,cl:`color`,tn:`transition`,tx:`translateX`,ty:`translateY`,fs:`fontSize`,fw:`fontWeight`,lh:`lineHeight`,ls:`letterSpacing`,ta:`textAlign`,bd:`border`,rounded:`borderRadius`,shadow:`boxShadow`,opacity:`opacity`,z:`zIndex`,overflow:`overflow`,gap:`gap`,justify:`justifyContent`,items:`alignItems`,ml:`$m$l`,mr:`$m$r`,mt:`$m$t`,mb:`$m$bottom`,mx:`$m$l:$m$r`,my:`$m$t:$m$bottom`,pl:`$p$l`,pr:`$p$r`,pt:`$p$t`,pb:`$p$bottom`,px:`$p$l:$p$r`,py:`$p$t:$p$bottom`,minw:`$min$w`,minh:`$min$h`,maxw:`$max$w`,maxh:`$max$h`,b:`$bd`,bt:`$bd$t`,br:`$bd$r`,bb:`$bd$bottom`,bl:`$bd$l`},n={absolute:`$P:absolute`,a:`$P:absolute`,relative:`$P:relative`,r:`$P:relative`,fixed:`$P:fixed`,f:`$P:fixed`,sticky:`$P:sticky`,flex:`$D:flex`,c:`$D:flex;$justify:$C;$items:$C`,h:`$D:flex;$fd:row`,v:`$D:flex;$fd:column`,tac:`$ta:center`,tar:`$ta:right`,tal:`$ta:left`,b:`$bd`},r=new Set(`red.blue.green.white.black.yellow.orange.purple.pink.teal.cyan.magenta.lime.maroon.navy.olive.gray.grey.silver.gold.coral.salmon.tomato.crimson.indigo.violet.turquoise.plum.orchid.khaki.lavender.ivory.beige.tan.wheat.peru.sienna.chocolate.firebrick.darkred.lightgreen.darkgreen.lightblue.darkblue.darkcyan.darkmagenta.darkviolet.darkorange.darkgoldenrod.darkslategray.darkolivegreen.mediumseagreen.mediumturquoise.mediumslateblue.mediumorchid.mediumpurple.hotpink.deeppink.palevioletred.lightsalmon.lightcoral.skyblue.lightskyblue.steelblue.dodgerblue.cornflowerblue.royalblue.slateblue.mediumblue.midnightblue.aquamarine.chartreuse.springgreen.forestgreen.limegreen.lawngreen.darkseagreen.palegreen.lightyellow.lemonchiffon.paleturquoise.powderblue.lightsteelblue.aliceblue.ghostwhite.snow.floralwhite.oldlace.linen.antiquewhite.mintcream.mistyrose.peachpuff.navajowhite.burlywood.sandybrown.darksalmon.rosybrown.darkkhaki.palegoldenrod.cadetblue.lightcyan.azure.honeydew.thistle.gainsboro.whitesmoke.darkgray.dimgray.lightslategray.slategray`.split(`.`)),i=new Set(`bold.bolder.lighter.normal.italic.oblique.thin.hairline.semibold.extrabold.ultrabold.medium.regular.small.xxsmall.xsmall.large.xlarge.xxlarge.smaller.larger.normal.collapse.hidden.visible.scroll.auto.block.inline.inlineblock.inlineflex.grid.inlinegrid.none.contents.unset.inherit.initial.solid.dashed.dotted.double.groove.ridge.inset.outset.cover.contain.fill.stroke.running.paused.forwards.backwards.both.ease.linear.easein.easeout.easeinout.stepstart.stepend.nowrap.pre.prewrap.preline.breakspace.uppercase.lowercase.capitalize.center.justify.start.end.stretch.baseline.sub.super.overline.through.pointer.default.notallowed.text.wait.help.progress.snapstart.snapend.snapcenter.snearest.mandatory.smooth.noerase.erase.vertical.horizontal.row.column.rowreverse.columnreverse.wrap.wrapreverse`.split(`.`)),a=new Set([`z`,`opacity`,`zIndex`]),o=new Set([`tn`,`transition`]),s=new Set([`tx`,`ty`,`translateX`,`translateY`]),c={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},l=Object.keys(c).sort((e,t)=>t.length-e.length),u=Object.keys(t).sort((e,t)=>t.length-e.length);function d(e){for(;e.includes(`$`);){let n=``,r=0;for(;r<e.length;){if(e[r]===`$`){let i=e.slice(r+1).match(/^[a-zA-Z]+/);if(i){let e=t[i[0]]??i[0];n+=n&&/[a-zA-Z]$/.test(n)?e[0].toUpperCase()+e.slice(1):e,r+=1+i[0].length;continue}}n+=e[r++]}e=n}return e}const f=e=>e.replace(/([A-Z])/g,`-$1`).toLowerCase(),p=e=>e.split(`;`).map(e=>{let t=e.indexOf(`:`);return t>-1?`${f(e.slice(0,t))}:${e.slice(t+1)}`:f(e)}).join(`;`);function m(e,t){return/^-?\d+$/.test(e)?a.has(t)?e:o.has(t)?`${e}ms`:`${e}px`:/^-?\d+p$/.test(e)?`${e.slice(0,-1)}%`:e}function h(e){if(n[e])return p(d(n[e]));for(let n of u){if(!e.startsWith(n)||n.length>=e.length)continue;let a=e.slice(n.length),o=m(a,n);if(/^\d/.test(a)||r.has(a.toLowerCase())||i.has(a.toLowerCase())||a[0]===`-`&&/^\d/.test(a.slice(1))){let e=d(t[n]);return(e.includes(`:`)?e.split(`:`):[e]).map(e=>s.has(e)?`transform:${e}(${o})`:`${f(e)}:${o}`).join(`;`)}}return``}let g=0;const _=[],v=[];function y(e,t){return e?`@media(min-width:${e}px){${t}}`:t}function b(e){let t=[];for(let n of Array.from(e.attributes)){if(n.name===`ref`)continue;let r=n.name,i;for(let e of l)if(r.startsWith(e+`:`)){i=c[e],r=r.slice(e.length+1);break}if(r.startsWith(`h:`)){let t=h(r.slice(2));if(t){let n=`_t${g++}`;e.classList.add(n),_.push(y(i,`.${n}:hover{${t.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}e.removeAttribute(n.name);continue}let a=r.match(/^h(\d+):(.+)$/);if(a){let t=h(a[2]);t&&v.push({el:e,level:+a[1],css:t,media:i}),e.removeAttribute(n.name);continue}let o=h(r);if(o){if(i){let t=`_t${g++}`;e.classList.add(t),_.push(y(i,`.${t}{${o.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}else t.push(o);e.removeAttribute(n.name)}}t.length&&e.setAttribute(`style`,(e.getAttribute(`style`)||``)+t.join(`;`))}function x(t){e.innerHTML=String(t);let n={},r=document.createTreeWalker(e.content,NodeFilter.SHOW_ELEMENT),i;for(;i=r.nextNode();)b(i),i.hasAttribute(`ref`)&&(n[i.getAttribute(`ref`)]=i,i.removeAttribute(`ref`));for(let{el:e,level:t,css:n,media:r}of v){let i=e;for(let e=0;e<t;e++)i=i?.parentElement??null;if(i&&i!==e){let t=`_t${g++}`,a=`_t${g++}`;i.classList.add(t),e.classList.add(a),_.push(y(r,`.${t}:hover .${a}{${n.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}}if(v.length=0,document.body.appendChild(e.content),_.length){let e=document.querySelector(`style[data-t]`)||(()=>{let e=document.createElement(`style`);return e.setAttribute(`data-t`,``),document.head.appendChild(e)})();e.textContent+=_.join(``),_.length=0}return n}exports.t=x;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=document.createElement(`template`),t={m:`margin`,p:`padding`,t:`top`,r:`right`,l:`left`,b:`bottom`,x:`$l:$r`,y:`$t:$b`,w:`width`,h:`height`,min:`min`,max:`max`,P:`position`,D:`display`,fd:`flexDirection`,C:`center`,bg:`background`,cl:`color`,tn:`transition`,tx:`translateX`,ty:`translateY`,tr:`rotate`,ts:`scale`,fs:`fontSize`,fw:`fontWeight`,lh:`lineHeight`,ls:`letterSpacing`,ta:`textAlign`,bd:`border`,rounded:`borderRadius`,shadow:`boxShadow`,opacity:`opacity`,z:`zIndex`,overflow:`overflow`,gap:`gap`,justify:`justifyContent`,items:`alignItems`,ml:`$m$l`,mr:`$m$r`,mt:`$m$t`,mb:`$m$b`,mx:`$m$l:$m$r`,my:`$m$t:$m$b`,pl:`$p$l`,pr:`$p$r`,pt:`$p$t`,pb:`$p$b`,px:`$p$l:$p$r`,py:`$p$t:$p$b`,minw:`$min$w`,minh:`$min$h`,maxw:`$max$w`,maxh:`$max$h`,ba:`$bd`,bt:`$bd$t`,br:`$bd$r`,bb:`$bd$b`,bl:`$bd$l`,bc:`borderColor`,bct:`borderTopColor`,bcr:`borderRightColor`,bcb:`borderBottomColor`,bcl:`borderLeftColor`},n={absolute:`$P:absolute`,a:`$P:absolute`,relative:`$P:relative`,r:`$P:relative`,fixed:`$P:fixed`,f:`$P:fixed`,sticky:`$P:sticky`,flex:`$D:flex`,c:`$D:flex;$justify:$C;$items:$C`,h:`$D:flex;$fd:row`,v:`$D:flex;$fd:column`,tac:`$ta:center`,tar:`$ta:right`,tal:`$ta:left`,ba:`$bd`},r=new Set(`transparent.currentcolor.inherit.initial.unset.red.blue.green.white.black.yellow.orange.purple.pink.teal.cyan.magenta.lime.maroon.navy.olive.gray.grey.silver.gold.coral.salmon.tomato.crimson.indigo.violet.turquoise.plum.orchid.khaki.lavender.ivory.beige.tan.wheat.peru.sienna.chocolate.firebrick.darkred.lightgreen.darkgreen.lightblue.darkblue.darkcyan.darkmagenta.darkviolet.darkorange.darkgoldenrod.darkslategray.darkolivegreen.mediumseagreen.mediumturquoise.mediumslateblue.mediumorchid.mediumpurple.hotpink.deeppink.palevioletred.lightsalmon.lightcoral.skyblue.lightskyblue.steelblue.dodgerblue.cornflowerblue.royalblue.slateblue.mediumblue.midnightblue.aquamarine.chartreuse.springgreen.forestgreen.limegreen.lawngreen.darkseagreen.palegreen.lightyellow.lemonchiffon.paleturquoise.powderblue.lightsteelblue.aliceblue.ghostwhite.snow.floralwhite.oldlace.linen.antiquewhite.mintcream.mistyrose.peachpuff.navajowhite.burlywood.sandybrown.darksalmon.rosybrown.darkkhaki.palegoldenrod.cadetblue.lightcyan.azure.honeydew.thistle.gainsboro.whitesmoke.darkgray.dimgray.lightslategray.slategray`.split(`.`)),i=new Set(`bold.bolder.lighter.normal.italic.oblique.thin.hairline.semibold.extrabold.ultrabold.medium.regular.small.xxsmall.xsmall.large.xlarge.xxlarge.smaller.larger.normal.collapse.hidden.visible.scroll.auto.block.inline.inlineblock.inlineflex.grid.inlinegrid.none.contents.unset.inherit.initial.solid.dashed.dotted.double.groove.ridge.inset.outset.cover.contain.fill.stroke.running.paused.forwards.backwards.both.ease.linear.easein.easeout.easeinout.stepstart.stepend.nowrap.pre.prewrap.preline.breakspace.uppercase.lowercase.capitalize.center.justify.start.end.stretch.baseline.sub.super.overline.through.pointer.default.notallowed.text.wait.help.progress.snapstart.snapend.snapcenter.snearest.mandatory.smooth.noerase.erase.vertical.horizontal.row.column.rowreverse.columnreverse.wrap.wrapreverse`.split(`.`)),a=new Set([`z`,`opacity`,`zIndex`]),o=new Set([`tn`,`transition`]),s=new Set([`tx`,`ty`,`translateX`,`translateY`,`tr`,`ts`,`rotate`,`scale`]),c=new Set([`ba`,`bt`,`br`,`bb`,`bl`,`border`,`borderTop`,`borderRight`,`borderBottom`,`borderLeft`]),l=new Set([`tr`,`rotate`]),u=new Set([`ts`,`scale`]),d={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},f=Object.keys(d).sort((e,t)=>t.length-e.length),p=Object.keys(t).sort((e,t)=>t.length-e.length);function m(e){for(;e.includes(`$`);){let n=``,r=0;for(;r<e.length;){if(e[r]===`$`){let i=e.slice(r+1).match(/^[a-zA-Z]+/);if(i){let e=t[i[0]]??i[0];n+=n&&/[a-zA-Z]$/.test(n)?e[0].toUpperCase()+e.slice(1):e,r+=1+i[0].length;continue}}n+=e[r++]}e=n}return e}const h=e=>e.replace(/([A-Z])/g,`-$1`).toLowerCase(),g=e=>e.split(`;`).map(e=>{let t=e.indexOf(`:`);return t>-1?`${h(e.slice(0,t))}:${e.slice(t+1)}`:h(e)}).join(`;`);function _(e,t){return/^-?\d+$/.test(e)?a.has(t)||u.has(t)?e:o.has(t)?`${e}ms`:l.has(t)?`${e}deg`:`${e}px`:/^-?\d+p$/.test(e)?`${e.slice(0,-1)}%`:e}const v=/^#([0-9a-f]{3,8})$/i,y=/^(rgba?|hsla?|oklch|color|linear-gradient|radial-gradient|conic-gradient|repeating-linear-gradient|repeating-radial-gradient)\(.+\)$/i;function b(e){if(n[e])return g(m(n[e]));for(let n of p){if(!e.startsWith(n)||n.length>=e.length)continue;let a=e.slice(n.length),o=_(a,n);if(/^\d/.test(a)||r.has(a.toLowerCase())||i.has(a.toLowerCase())||v.test(a)||y.test(a)||a[0]===`-`&&/^\d/.test(a.slice(1))){let e=m(t[n]);return(e.includes(`:`)?e.split(`:`):[e]).map(e=>s.has(e)?`transform:${e}(${o})`:c.has(n)&&/^\d/.test(a)?`${h(e)}:${o} solid`:`${h(e)}:${o}`).join(`;`)}}return``}let x=0;const S=[],C=[];function w(e,t){return e?`@media(min-width:${e}px){${t}}`:t}function T(e){let t=[];for(let n of Array.from(e.attributes)){if(n.name===`ref`)continue;let r=n.name,i;for(let e of f)if(r.startsWith(e+`:`)){i=d[e],r=r.slice(e.length+1);break}if(r.startsWith(`h:`)){let t=b(r.slice(2));if(t){let n=`_t${x++}`;e.classList.add(n),S.push(w(i,`.${n}:hover{${t.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}e.removeAttribute(n.name);continue}let a=r.match(/^h(\d+):(.+)$/);if(a){let t=b(a[2]);t&&C.push({el:e,level:+a[1],css:t,media:i}),e.removeAttribute(n.name);continue}let o=b(r);if(o){if(i){let t=`_t${x++}`;e.classList.add(t),S.push(w(i,`.${t}{${o.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}else t.push(o);e.removeAttribute(n.name)}}t.length&&e.setAttribute(`style`,(e.getAttribute(`style`)||``)+t.join(`;`))}function E(t){e.innerHTML=String(t);let n={},r=document.createTreeWalker(e.content,NodeFilter.SHOW_ELEMENT),i;for(;i=r.nextNode();)T(i),i.hasAttribute(`ref`)&&(n[i.getAttribute(`ref`)]=i,i.removeAttribute(`ref`));for(let{el:e,level:t,css:n,media:r}of C){let i=e;for(let e=0;e<t;e++)i=i?.parentElement??null;if(i&&i!==e){let t=`_t${x++}`,a=`_t${x++}`;i.classList.add(t),e.classList.add(a),S.push(w(r,`.${t}:hover .${a}{${n.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}}if(C.length=0,document.body.appendChild(e.content),S.length){let e=document.querySelector(`style[data-t]`)||(()=>{let e=document.createElement(`style`);return e.setAttribute(`data-t`,``),document.head.appendChild(e)})();e.textContent+=S.join(``),S.length=0}return n}exports.t=E;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["const T = document.createElement('template');\n\nconst A: Record<string, string> = {\n m: 'margin', p: 'padding', t: 'top', r: 'right', l: 'left', bottom: 'bottom',\n x: '$l:$r', y: '$t:$b', w: 'width', h: 'height', min: 'min', max: 'max',\n P: 'position', D: 'display', fd: 'flexDirection', C: 'center',\n bg: 'backgroundColor', cl: 'color', tn: 'transition',\n tx: 'translateX', ty: 'translateY',\n fs: 'fontSize', fw: 'fontWeight', lh: 'lineHeight', ls: 'letterSpacing', ta: 'textAlign',\n bd: 'border', rounded: 'borderRadius', shadow: 'boxShadow',\n opacity: 'opacity', z: 'zIndex', overflow: 'overflow',\n gap: 'gap', justify: 'justifyContent', items: 'alignItems',\n ml: '$m$l', mr: '$m$r', mt: '$m$t', mb: '$m$bottom',\n mx: '$m$l:$m$r', my: '$m$t:$m$bottom',\n pl: '$p$l', pr: '$p$r', pt: '$p$t', pb: '$p$bottom',\n px: '$p$l:$p$r', py: '$p$t:$p$bottom',\n minw: '$min$w', minh: '$min$h', maxw: '$max$w', maxh: '$max$h',\n b: '$bd', bt: '$bd$t', br: '$bd$r', bb: '$bd$bottom', bl: '$bd$l',\n};\n\nconst exact: Record<string, string> = {\n absolute: '$P:absolute', a: '$P:absolute',\n relative: '$P:relative', r: '$P:relative',\n fixed: '$P:fixed', f: '$P:fixed', sticky: '$P:sticky',\n flex: '$D:flex', c: '$D:flex;$justify:$C;$items:$C',\n h: '$D:flex;$fd:row', v: '$D:flex;$fd:column',\n tac: '$ta:center', tar: '$ta:right', tal: '$ta:left',\n b: '$bd',\n};\n\nconst colors = new Set(['red','blue','green','white','black','yellow','orange','purple','pink','teal','cyan','magenta','lime','maroon','navy','olive','gray','grey','silver','gold','coral','salmon','tomato','crimson','indigo','violet','turquoise','plum','orchid','khaki','lavender','ivory','beige','tan','wheat','peru','sienna','chocolate','firebrick','darkred','lightgreen','darkgreen','lightblue','darkblue','darkcyan','darkmagenta','darkviolet','darkorange','darkgoldenrod','darkslategray','darkolivegreen','mediumseagreen','mediumturquoise','mediumslateblue','mediumorchid','mediumpurple','hotpink','deeppink','palevioletred','lightsalmon','lightcoral','skyblue','lightskyblue','steelblue','dodgerblue','cornflowerblue','royalblue','slateblue','mediumblue','midnightblue','aquamarine','chartreuse','springgreen','forestgreen','limegreen','lawngreen','darkseagreen','palegreen','lightyellow','lemonchiffon','paleturquoise','powderblue','lightsteelblue','aliceblue','ghostwhite','snow','floralwhite','oldlace','linen','antiquewhite','mintcream','mistyrose','peachpuff','navajowhite','burlywood','sandybrown','darksalmon','rosybrown','darkkhaki','palegoldenrod','cadetblue','lightcyan','azure','honeydew','thistle','gainsboro','whitesmoke','darkgray','dimgray','lightslategray','slategray']);\nconst keywords = new Set(['bold','bolder','lighter','normal','italic','oblique','thin','hairline','semibold','extrabold','ultrabold','medium','regular','small','xxsmall','xsmall','large','xlarge','xxlarge','smaller','larger','normal','collapse','hidden','visible','scroll','auto','block','inline','inlineblock','inlineflex','grid','inlinegrid','none','contents','unset','inherit','initial','solid','dashed','dotted','double','groove','ridge','inset','outset','cover','contain','fill','stroke','running','paused','forwards','backwards','both','ease','linear','easein','easeout','easeinout','stepstart','stepend','nowrap','pre','prewrap','preline','breakspace','uppercase','lowercase','capitalize','center','justify','start','end','stretch','baseline','sub','super','overline','through','pointer','default','notallowed','text','wait','help','progress','snapstart','snapend','snapcenter','snearest','mandatory','smooth','noerase','erase','vertical','horizontal','row','column','rowreverse','columnreverse','wrap','wrapreverse']);\nconst unitless = new Set(['z', 'opacity', 'zIndex']);\nconst ms = new Set(['tn', 'transition']);\nconst transforms = new Set(['tx', 'ty', 'translateX', 'translateY']);\nconst BP: Record<string, number> = { sm: 640, md: 768, lg: 1024, xl: 1280, '2xl': 1536 };\nconst BPS = Object.keys(BP).sort((a, b) => b.length - a.length);\nconst AP = Object.keys(A).sort((a, b) => b.length - a.length);\n\nfunction resolve(s: string): string {\n while (s.includes('$')) {\n let r = '', i = 0;\n while (i < s.length) {\n if (s[i] === '$') {\n const m = s.slice(i + 1).match(/^[a-zA-Z]+/);\n if (m) {\n const v = A[m[0]] ?? m[0];\n r += r && /[a-zA-Z]$/.test(r) ? v[0].toUpperCase() + v.slice(1) : v;\n i += 1 + m[0].length;\n continue;\n }\n }\n r += s[i++];\n }\n s = r;\n }\n return s;\n}\n\nconst kebab = (s: string) => s.replace(/([A-Z])/g, '-$1').toLowerCase();\n\nconst toCSS = (v: string) => v.split(';').map(p => { const i = p.indexOf(':'); return i > -1 ? `${kebab(p.slice(0, i))}:${p.slice(i + 1)}` : kebab(p); }).join(';');\n\nfunction parseVal(raw: string, prop: string): string {\n if (/^-?\\d+$/.test(raw)) return unitless.has(prop) ? raw : ms.has(prop) ? `${raw}ms` : `${raw}px`;\n if (/^-?\\d+p$/.test(raw)) return `${raw.slice(0, -1)}%`;\n return raw;\n}\n\nfunction parse(attr: string): string {\n if (exact[attr]) return toCSS(resolve(exact[attr]));\n\n for (const p of AP) {\n if (!attr.startsWith(p) || p.length >= attr.length) continue;\n const raw = attr.slice(p.length);\n const val = parseVal(raw, p);\n if (/^\\d/.test(raw) || colors.has(raw.toLowerCase()) || keywords.has(raw.toLowerCase()) || raw[0] === '-' && /^\\d/.test(raw.slice(1))) {\n const resolved = resolve(A[p]);\n const props = resolved.includes(':') ? resolved.split(':') : [resolved];\n return props.map(k => transforms.has(k) ? `transform:${k}(${val})` : `${kebab(k)}:${val}`).join(';');\n }\n }\n return '';\n}\n\nlet C = 0;\nconst R: string[] = [];\nconst pendingHoverTarget: { el: Element; level: number; css: string; media?: number }[] = [];\n\nfunction mediaWrap(m: number | undefined, css: string): string {\n return m ? `@media(min-width:${m}px){${css}}` : css;\n}\n\nfunction apply(el: Element) {\n const s: string[] = [];\n for (const a of Array.from(el.attributes)) {\n if (a.name === 'ref') continue;\n let attr = a.name;\n let media: number | undefined;\n for (const bp of BPS) {\n if (attr.startsWith(bp + ':')) { media = BP[bp]; attr = attr.slice(bp.length + 1); break; }\n }\n if (attr.startsWith('h:')) {\n const css = parse(attr.slice(2));\n if (css) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}:hover{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n el.removeAttribute(a.name);\n continue;\n }\n const hm = attr.match(/^h(\\d+):(.+)$/);\n if (hm) {\n const css = parse(hm[2]);\n if (css) pendingHoverTarget.push({ el, level: +hm[1], css, media });\n el.removeAttribute(a.name);\n continue;\n }\n const css = parse(attr);\n if (css) {\n if (media) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n } else {\n s.push(css);\n }\n el.removeAttribute(a.name);\n }\n }\n if (s.length) el.setAttribute('style', (el.getAttribute('style') || '') + s.join(';'));\n}\n\nexport function t(value: unknown) {\n T.innerHTML = String(value);\n const refs: Record<string, HTMLElement> = {};\n const w = document.createTreeWalker(T.content, NodeFilter.SHOW_ELEMENT);\n let n: HTMLElement | null;\n while ((n = w.nextNode() as HTMLElement | null)) {\n apply(n);\n if (n.hasAttribute('ref')) { refs[n.getAttribute('ref')!] = n; n.removeAttribute('ref'); }\n }\n for (const { el, level, css, media } of pendingHoverTarget) {\n let ancestor: HTMLElement | null = el as HTMLElement;\n for (let i = 0; i < level; i++) ancestor = ancestor?.parentElement ?? null;\n if (ancestor && ancestor !== el) {\n const tCls = `_t${C++}`;\n const hCls = `_t${C++}`;\n ancestor.classList.add(tCls);\n el.classList.add(hCls);\n R.push(mediaWrap(media, `.${tCls}:hover .${hCls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n }\n pendingHoverTarget.length = 0;\n document.body.appendChild(T.content);\n if (R.length) {\n const el = document.querySelector('style[data-t]') as HTMLStyleElement || (() => { const s = document.createElement('style'); s.setAttribute('data-t', ''); return document.head.appendChild(s); })();\n el.textContent += R.join('');\n R.length = 0;\n }\n return refs;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["const T = document.createElement('template');\n\nconst A: Record<string, string> = {\n m: 'margin', p: 'padding', t: 'top', r: 'right', l: 'left', b: 'bottom',\n x: '$l:$r', y: '$t:$b', w: 'width', h: 'height', min: 'min', max: 'max',\n P: 'position', D: 'display', fd: 'flexDirection', C: 'center',\n bg: 'background', cl: 'color', tn: 'transition',\n tx: 'translateX', ty: 'translateY', tr: 'rotate', ts: 'scale',\n fs: 'fontSize', fw: 'fontWeight', lh: 'lineHeight', ls: 'letterSpacing', ta: 'textAlign',\n bd: 'border', rounded: 'borderRadius', shadow: 'boxShadow',\n opacity: 'opacity', z: 'zIndex', overflow: 'overflow',\n gap: 'gap', justify: 'justifyContent', items: 'alignItems',\n ml: '$m$l', mr: '$m$r', mt: '$m$t', mb: '$m$b',\n mx: '$m$l:$m$r', my: '$m$t:$m$b',\n pl: '$p$l', pr: '$p$r', pt: '$p$t', pb: '$p$b',\n px: '$p$l:$p$r', py: '$p$t:$p$b',\n minw: '$min$w', minh: '$min$h', maxw: '$max$w', maxh: '$max$h',\n ba: '$bd', bt: '$bd$t', br: '$bd$r', bb: '$bd$b', bl: '$bd$l',\n bc: 'borderColor', bct: 'borderTopColor', bcr: 'borderRightColor', bcb: 'borderBottomColor', bcl: 'borderLeftColor',\n};\n\nconst exact: Record<string, string> = {\n absolute: '$P:absolute', a: '$P:absolute',\n relative: '$P:relative', r: '$P:relative',\n fixed: '$P:fixed', f: '$P:fixed', sticky: '$P:sticky',\n flex: '$D:flex', c: '$D:flex;$justify:$C;$items:$C',\n h: '$D:flex;$fd:row', v: '$D:flex;$fd:column',\n tac: '$ta:center', tar: '$ta:right', tal: '$ta:left',\n ba: '$bd',\n};\n\nconst colors = new Set(['transparent','currentcolor','inherit','initial','unset','red','blue','green','white','black','yellow','orange','purple','pink','teal','cyan','magenta','lime','maroon','navy','olive','gray','grey','silver','gold','coral','salmon','tomato','crimson','indigo','violet','turquoise','plum','orchid','khaki','lavender','ivory','beige','tan','wheat','peru','sienna','chocolate','firebrick','darkred','lightgreen','darkgreen','lightblue','darkblue','darkcyan','darkmagenta','darkviolet','darkorange','darkgoldenrod','darkslategray','darkolivegreen','mediumseagreen','mediumturquoise','mediumslateblue','mediumorchid','mediumpurple','hotpink','deeppink','palevioletred','lightsalmon','lightcoral','skyblue','lightskyblue','steelblue','dodgerblue','cornflowerblue','royalblue','slateblue','mediumblue','midnightblue','aquamarine','chartreuse','springgreen','forestgreen','limegreen','lawngreen','darkseagreen','palegreen','lightyellow','lemonchiffon','paleturquoise','powderblue','lightsteelblue','aliceblue','ghostwhite','snow','floralwhite','oldlace','linen','antiquewhite','mintcream','mistyrose','peachpuff','navajowhite','burlywood','sandybrown','darksalmon','rosybrown','darkkhaki','palegoldenrod','cadetblue','lightcyan','azure','honeydew','thistle','gainsboro','whitesmoke','darkgray','dimgray','lightslategray','slategray']);\nconst keywords = new Set(['bold','bolder','lighter','normal','italic','oblique','thin','hairline','semibold','extrabold','ultrabold','medium','regular','small','xxsmall','xsmall','large','xlarge','xxlarge','smaller','larger','normal','collapse','hidden','visible','scroll','auto','block','inline','inlineblock','inlineflex','grid','inlinegrid','none','contents','unset','inherit','initial','solid','dashed','dotted','double','groove','ridge','inset','outset','cover','contain','fill','stroke','running','paused','forwards','backwards','both','ease','linear','easein','easeout','easeinout','stepstart','stepend','nowrap','pre','prewrap','preline','breakspace','uppercase','lowercase','capitalize','center','justify','start','end','stretch','baseline','sub','super','overline','through','pointer','default','notallowed','text','wait','help','progress','snapstart','snapend','snapcenter','snearest','mandatory','smooth','noerase','erase','vertical','horizontal','row','column','rowreverse','columnreverse','wrap','wrapreverse']);\nconst unitless = new Set(['z', 'opacity', 'zIndex']);\nconst ms = new Set(['tn', 'transition']);\nconst transforms = new Set(['tx', 'ty', 'translateX', 'translateY', 'tr', 'ts', 'rotate', 'scale']);\nconst solidSuffix = new Set(['ba', 'bt', 'br', 'bb', 'bl', 'border', 'borderTop', 'borderRight', 'borderBottom', 'borderLeft']);\nconst deg = new Set(['tr', 'rotate']);\nconst unitlessVal = new Set(['ts', 'scale']);\nconst BP: Record<string, number> = { sm: 640, md: 768, lg: 1024, xl: 1280, '2xl': 1536 };\nconst BPS = Object.keys(BP).sort((a, b) => b.length - a.length);\nconst AP = Object.keys(A).sort((a, b) => b.length - a.length);\n\nfunction resolve(s: string): string {\n while (s.includes('$')) {\n let r = '', i = 0;\n while (i < s.length) {\n if (s[i] === '$') {\n const m = s.slice(i + 1).match(/^[a-zA-Z]+/);\n if (m) {\n const v = A[m[0]] ?? m[0];\n r += r && /[a-zA-Z]$/.test(r) ? v[0].toUpperCase() + v.slice(1) : v;\n i += 1 + m[0].length;\n continue;\n }\n }\n r += s[i++];\n }\n s = r;\n }\n return s;\n}\n\nconst kebab = (s: string) => s.replace(/([A-Z])/g, '-$1').toLowerCase();\n\nconst toCSS = (v: string) => v.split(';').map(p => { const i = p.indexOf(':'); return i > -1 ? `${kebab(p.slice(0, i))}:${p.slice(i + 1)}` : kebab(p); }).join(';');\n\nfunction parseVal(raw: string, prop: string): string {\n if (/^-?\\d+$/.test(raw)) return unitless.has(prop) || unitlessVal.has(prop) ? raw : ms.has(prop) ? `${raw}ms` : deg.has(prop) ? `${raw}deg` : `${raw}px`;\n if (/^-?\\d+p$/.test(raw)) return `${raw.slice(0, -1)}%`;\n return raw;\n}\n\nconst hex = /^#([0-9a-f]{3,8})$/i;\nconst fn = /^(rgba?|hsla?|oklch|color|linear-gradient|radial-gradient|conic-gradient|repeating-linear-gradient|repeating-radial-gradient)\\(.+\\)$/i;\n\nfunction parse(attr: string): string {\n if (exact[attr]) return toCSS(resolve(exact[attr]));\n\n for (const p of AP) {\n if (!attr.startsWith(p) || p.length >= attr.length) continue;\n const raw = attr.slice(p.length);\n const val = parseVal(raw, p);\n if (/^\\d/.test(raw) || colors.has(raw.toLowerCase()) || keywords.has(raw.toLowerCase()) || hex.test(raw) || fn.test(raw) || raw[0] === '-' && /^\\d/.test(raw.slice(1))) {\n const resolved = resolve(A[p]);\n const props = resolved.includes(':') ? resolved.split(':') : [resolved];\n return props.map(k => transforms.has(k) ? `transform:${k}(${val})` : solidSuffix.has(p) && /^\\d/.test(raw) ? `${kebab(k)}:${val} solid` : `${kebab(k)}:${val}`).join(';');\n }\n }\n return '';\n}\n\nlet C = 0;\nconst R: string[] = [];\nconst pendingHoverTarget: { el: Element; level: number; css: string; media?: number }[] = [];\n\nfunction mediaWrap(m: number | undefined, css: string): string {\n return m ? `@media(min-width:${m}px){${css}}` : css;\n}\n\nfunction apply(el: Element) {\n const s: string[] = [];\n for (const a of Array.from(el.attributes)) {\n if (a.name === 'ref') continue;\n let attr = a.name;\n let media: number | undefined;\n for (const bp of BPS) {\n if (attr.startsWith(bp + ':')) { media = BP[bp]; attr = attr.slice(bp.length + 1); break; }\n }\n if (attr.startsWith('h:')) {\n const css = parse(attr.slice(2));\n if (css) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}:hover{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n el.removeAttribute(a.name);\n continue;\n }\n const hm = attr.match(/^h(\\d+):(.+)$/);\n if (hm) {\n const css = parse(hm[2]);\n if (css) pendingHoverTarget.push({ el, level: +hm[1], css, media });\n el.removeAttribute(a.name);\n continue;\n }\n const css = parse(attr);\n if (css) {\n if (media) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n } else {\n s.push(css);\n }\n el.removeAttribute(a.name);\n }\n }\n if (s.length) el.setAttribute('style', (el.getAttribute('style') || '') + s.join(';'));\n}\n\nexport function t(value: unknown) {\n T.innerHTML = String(value);\n const refs: Record<string, HTMLElement> = {};\n const w = document.createTreeWalker(T.content, NodeFilter.SHOW_ELEMENT);\n let n: HTMLElement | null;\n while ((n = w.nextNode() as HTMLElement | null)) {\n apply(n);\n if (n.hasAttribute('ref')) { refs[n.getAttribute('ref')!] = n; n.removeAttribute('ref'); }\n }\n for (const { el, level, css, media } of pendingHoverTarget) {\n let ancestor: HTMLElement | null = el as HTMLElement;\n for (let i = 0; i < level; i++) ancestor = ancestor?.parentElement ?? null;\n if (ancestor && ancestor !== el) {\n const tCls = `_t${C++}`;\n const hCls = `_t${C++}`;\n ancestor.classList.add(tCls);\n el.classList.add(hCls);\n R.push(mediaWrap(media, `.${tCls}:hover .${hCls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n }\n pendingHoverTarget.length = 0;\n document.body.appendChild(T.content);\n if (R.length) {\n const el = document.querySelector('style[data-t]') as HTMLStyleElement || (() => { const s = document.createElement('style'); s.setAttribute('data-t', ''); return document.head.appendChild(s); })();\n el.textContent += R.join('');\n R.length = 0;\n }\n return refs;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";iBAsIgB,EAAE,iBAAc,eAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";iBA6IgB,EAAE,iBAAc,eAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";iBAsIgB,EAAE,iBAAc,eAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";iBA6IgB,EAAE,iBAAc,eAAA"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- const e=document.createElement(`template`),t={m:`margin`,p:`padding`,t:`top`,r:`right`,l:`left`,bottom:`bottom`,x:`$l:$r`,y:`$t:$b`,w:`width`,h:`height`,min:`min`,max:`max`,P:`position`,D:`display`,fd:`flexDirection`,C:`center`,bg:`backgroundColor`,cl:`color`,tn:`transition`,tx:`translateX`,ty:`translateY`,fs:`fontSize`,fw:`fontWeight`,lh:`lineHeight`,ls:`letterSpacing`,ta:`textAlign`,bd:`border`,rounded:`borderRadius`,shadow:`boxShadow`,opacity:`opacity`,z:`zIndex`,overflow:`overflow`,gap:`gap`,justify:`justifyContent`,items:`alignItems`,ml:`$m$l`,mr:`$m$r`,mt:`$m$t`,mb:`$m$bottom`,mx:`$m$l:$m$r`,my:`$m$t:$m$bottom`,pl:`$p$l`,pr:`$p$r`,pt:`$p$t`,pb:`$p$bottom`,px:`$p$l:$p$r`,py:`$p$t:$p$bottom`,minw:`$min$w`,minh:`$min$h`,maxw:`$max$w`,maxh:`$max$h`,b:`$bd`,bt:`$bd$t`,br:`$bd$r`,bb:`$bd$bottom`,bl:`$bd$l`},n={absolute:`$P:absolute`,a:`$P:absolute`,relative:`$P:relative`,r:`$P:relative`,fixed:`$P:fixed`,f:`$P:fixed`,sticky:`$P:sticky`,flex:`$D:flex`,c:`$D:flex;$justify:$C;$items:$C`,h:`$D:flex;$fd:row`,v:`$D:flex;$fd:column`,tac:`$ta:center`,tar:`$ta:right`,tal:`$ta:left`,b:`$bd`},r=new Set(`red.blue.green.white.black.yellow.orange.purple.pink.teal.cyan.magenta.lime.maroon.navy.olive.gray.grey.silver.gold.coral.salmon.tomato.crimson.indigo.violet.turquoise.plum.orchid.khaki.lavender.ivory.beige.tan.wheat.peru.sienna.chocolate.firebrick.darkred.lightgreen.darkgreen.lightblue.darkblue.darkcyan.darkmagenta.darkviolet.darkorange.darkgoldenrod.darkslategray.darkolivegreen.mediumseagreen.mediumturquoise.mediumslateblue.mediumorchid.mediumpurple.hotpink.deeppink.palevioletred.lightsalmon.lightcoral.skyblue.lightskyblue.steelblue.dodgerblue.cornflowerblue.royalblue.slateblue.mediumblue.midnightblue.aquamarine.chartreuse.springgreen.forestgreen.limegreen.lawngreen.darkseagreen.palegreen.lightyellow.lemonchiffon.paleturquoise.powderblue.lightsteelblue.aliceblue.ghostwhite.snow.floralwhite.oldlace.linen.antiquewhite.mintcream.mistyrose.peachpuff.navajowhite.burlywood.sandybrown.darksalmon.rosybrown.darkkhaki.palegoldenrod.cadetblue.lightcyan.azure.honeydew.thistle.gainsboro.whitesmoke.darkgray.dimgray.lightslategray.slategray`.split(`.`)),i=new Set(`bold.bolder.lighter.normal.italic.oblique.thin.hairline.semibold.extrabold.ultrabold.medium.regular.small.xxsmall.xsmall.large.xlarge.xxlarge.smaller.larger.normal.collapse.hidden.visible.scroll.auto.block.inline.inlineblock.inlineflex.grid.inlinegrid.none.contents.unset.inherit.initial.solid.dashed.dotted.double.groove.ridge.inset.outset.cover.contain.fill.stroke.running.paused.forwards.backwards.both.ease.linear.easein.easeout.easeinout.stepstart.stepend.nowrap.pre.prewrap.preline.breakspace.uppercase.lowercase.capitalize.center.justify.start.end.stretch.baseline.sub.super.overline.through.pointer.default.notallowed.text.wait.help.progress.snapstart.snapend.snapcenter.snearest.mandatory.smooth.noerase.erase.vertical.horizontal.row.column.rowreverse.columnreverse.wrap.wrapreverse`.split(`.`)),a=new Set([`z`,`opacity`,`zIndex`]),o=new Set([`tn`,`transition`]),s=new Set([`tx`,`ty`,`translateX`,`translateY`]),c={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},l=Object.keys(c).sort((e,t)=>t.length-e.length),u=Object.keys(t).sort((e,t)=>t.length-e.length);function d(e){for(;e.includes(`$`);){let n=``,r=0;for(;r<e.length;){if(e[r]===`$`){let i=e.slice(r+1).match(/^[a-zA-Z]+/);if(i){let e=t[i[0]]??i[0];n+=n&&/[a-zA-Z]$/.test(n)?e[0].toUpperCase()+e.slice(1):e,r+=1+i[0].length;continue}}n+=e[r++]}e=n}return e}const f=e=>e.replace(/([A-Z])/g,`-$1`).toLowerCase(),p=e=>e.split(`;`).map(e=>{let t=e.indexOf(`:`);return t>-1?`${f(e.slice(0,t))}:${e.slice(t+1)}`:f(e)}).join(`;`);function m(e,t){return/^-?\d+$/.test(e)?a.has(t)?e:o.has(t)?`${e}ms`:`${e}px`:/^-?\d+p$/.test(e)?`${e.slice(0,-1)}%`:e}function h(e){if(n[e])return p(d(n[e]));for(let n of u){if(!e.startsWith(n)||n.length>=e.length)continue;let a=e.slice(n.length),o=m(a,n);if(/^\d/.test(a)||r.has(a.toLowerCase())||i.has(a.toLowerCase())||a[0]===`-`&&/^\d/.test(a.slice(1))){let e=d(t[n]);return(e.includes(`:`)?e.split(`:`):[e]).map(e=>s.has(e)?`transform:${e}(${o})`:`${f(e)}:${o}`).join(`;`)}}return``}let g=0;const _=[],v=[];function y(e,t){return e?`@media(min-width:${e}px){${t}}`:t}function b(e){let t=[];for(let n of Array.from(e.attributes)){if(n.name===`ref`)continue;let r=n.name,i;for(let e of l)if(r.startsWith(e+`:`)){i=c[e],r=r.slice(e.length+1);break}if(r.startsWith(`h:`)){let t=h(r.slice(2));if(t){let n=`_t${g++}`;e.classList.add(n),_.push(y(i,`.${n}:hover{${t.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}e.removeAttribute(n.name);continue}let a=r.match(/^h(\d+):(.+)$/);if(a){let t=h(a[2]);t&&v.push({el:e,level:+a[1],css:t,media:i}),e.removeAttribute(n.name);continue}let o=h(r);if(o){if(i){let t=`_t${g++}`;e.classList.add(t),_.push(y(i,`.${t}{${o.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}else t.push(o);e.removeAttribute(n.name)}}t.length&&e.setAttribute(`style`,(e.getAttribute(`style`)||``)+t.join(`;`))}function x(t){e.innerHTML=String(t);let n={},r=document.createTreeWalker(e.content,NodeFilter.SHOW_ELEMENT),i;for(;i=r.nextNode();)b(i),i.hasAttribute(`ref`)&&(n[i.getAttribute(`ref`)]=i,i.removeAttribute(`ref`));for(let{el:e,level:t,css:n,media:r}of v){let i=e;for(let e=0;e<t;e++)i=i?.parentElement??null;if(i&&i!==e){let t=`_t${g++}`,a=`_t${g++}`;i.classList.add(t),e.classList.add(a),_.push(y(r,`.${t}:hover .${a}{${n.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}}if(v.length=0,document.body.appendChild(e.content),_.length){let e=document.querySelector(`style[data-t]`)||(()=>{let e=document.createElement(`style`);return e.setAttribute(`data-t`,``),document.head.appendChild(e)})();e.textContent+=_.join(``),_.length=0}return n}export{x as t};
1
+ const e=document.createElement(`template`),t={m:`margin`,p:`padding`,t:`top`,r:`right`,l:`left`,b:`bottom`,x:`$l:$r`,y:`$t:$b`,w:`width`,h:`height`,min:`min`,max:`max`,P:`position`,D:`display`,fd:`flexDirection`,C:`center`,bg:`background`,cl:`color`,tn:`transition`,tx:`translateX`,ty:`translateY`,tr:`rotate`,ts:`scale`,fs:`fontSize`,fw:`fontWeight`,lh:`lineHeight`,ls:`letterSpacing`,ta:`textAlign`,bd:`border`,rounded:`borderRadius`,shadow:`boxShadow`,opacity:`opacity`,z:`zIndex`,overflow:`overflow`,gap:`gap`,justify:`justifyContent`,items:`alignItems`,ml:`$m$l`,mr:`$m$r`,mt:`$m$t`,mb:`$m$b`,mx:`$m$l:$m$r`,my:`$m$t:$m$b`,pl:`$p$l`,pr:`$p$r`,pt:`$p$t`,pb:`$p$b`,px:`$p$l:$p$r`,py:`$p$t:$p$b`,minw:`$min$w`,minh:`$min$h`,maxw:`$max$w`,maxh:`$max$h`,ba:`$bd`,bt:`$bd$t`,br:`$bd$r`,bb:`$bd$b`,bl:`$bd$l`,bc:`borderColor`,bct:`borderTopColor`,bcr:`borderRightColor`,bcb:`borderBottomColor`,bcl:`borderLeftColor`},n={absolute:`$P:absolute`,a:`$P:absolute`,relative:`$P:relative`,r:`$P:relative`,fixed:`$P:fixed`,f:`$P:fixed`,sticky:`$P:sticky`,flex:`$D:flex`,c:`$D:flex;$justify:$C;$items:$C`,h:`$D:flex;$fd:row`,v:`$D:flex;$fd:column`,tac:`$ta:center`,tar:`$ta:right`,tal:`$ta:left`,ba:`$bd`},r=new Set(`transparent.currentcolor.inherit.initial.unset.red.blue.green.white.black.yellow.orange.purple.pink.teal.cyan.magenta.lime.maroon.navy.olive.gray.grey.silver.gold.coral.salmon.tomato.crimson.indigo.violet.turquoise.plum.orchid.khaki.lavender.ivory.beige.tan.wheat.peru.sienna.chocolate.firebrick.darkred.lightgreen.darkgreen.lightblue.darkblue.darkcyan.darkmagenta.darkviolet.darkorange.darkgoldenrod.darkslategray.darkolivegreen.mediumseagreen.mediumturquoise.mediumslateblue.mediumorchid.mediumpurple.hotpink.deeppink.palevioletred.lightsalmon.lightcoral.skyblue.lightskyblue.steelblue.dodgerblue.cornflowerblue.royalblue.slateblue.mediumblue.midnightblue.aquamarine.chartreuse.springgreen.forestgreen.limegreen.lawngreen.darkseagreen.palegreen.lightyellow.lemonchiffon.paleturquoise.powderblue.lightsteelblue.aliceblue.ghostwhite.snow.floralwhite.oldlace.linen.antiquewhite.mintcream.mistyrose.peachpuff.navajowhite.burlywood.sandybrown.darksalmon.rosybrown.darkkhaki.palegoldenrod.cadetblue.lightcyan.azure.honeydew.thistle.gainsboro.whitesmoke.darkgray.dimgray.lightslategray.slategray`.split(`.`)),i=new Set(`bold.bolder.lighter.normal.italic.oblique.thin.hairline.semibold.extrabold.ultrabold.medium.regular.small.xxsmall.xsmall.large.xlarge.xxlarge.smaller.larger.normal.collapse.hidden.visible.scroll.auto.block.inline.inlineblock.inlineflex.grid.inlinegrid.none.contents.unset.inherit.initial.solid.dashed.dotted.double.groove.ridge.inset.outset.cover.contain.fill.stroke.running.paused.forwards.backwards.both.ease.linear.easein.easeout.easeinout.stepstart.stepend.nowrap.pre.prewrap.preline.breakspace.uppercase.lowercase.capitalize.center.justify.start.end.stretch.baseline.sub.super.overline.through.pointer.default.notallowed.text.wait.help.progress.snapstart.snapend.snapcenter.snearest.mandatory.smooth.noerase.erase.vertical.horizontal.row.column.rowreverse.columnreverse.wrap.wrapreverse`.split(`.`)),a=new Set([`z`,`opacity`,`zIndex`]),o=new Set([`tn`,`transition`]),s=new Set([`tx`,`ty`,`translateX`,`translateY`,`tr`,`ts`,`rotate`,`scale`]),c=new Set([`ba`,`bt`,`br`,`bb`,`bl`,`border`,`borderTop`,`borderRight`,`borderBottom`,`borderLeft`]),l=new Set([`tr`,`rotate`]),u=new Set([`ts`,`scale`]),d={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},f=Object.keys(d).sort((e,t)=>t.length-e.length),p=Object.keys(t).sort((e,t)=>t.length-e.length);function m(e){for(;e.includes(`$`);){let n=``,r=0;for(;r<e.length;){if(e[r]===`$`){let i=e.slice(r+1).match(/^[a-zA-Z]+/);if(i){let e=t[i[0]]??i[0];n+=n&&/[a-zA-Z]$/.test(n)?e[0].toUpperCase()+e.slice(1):e,r+=1+i[0].length;continue}}n+=e[r++]}e=n}return e}const h=e=>e.replace(/([A-Z])/g,`-$1`).toLowerCase(),g=e=>e.split(`;`).map(e=>{let t=e.indexOf(`:`);return t>-1?`${h(e.slice(0,t))}:${e.slice(t+1)}`:h(e)}).join(`;`);function _(e,t){return/^-?\d+$/.test(e)?a.has(t)||u.has(t)?e:o.has(t)?`${e}ms`:l.has(t)?`${e}deg`:`${e}px`:/^-?\d+p$/.test(e)?`${e.slice(0,-1)}%`:e}const v=/^#([0-9a-f]{3,8})$/i,y=/^(rgba?|hsla?|oklch|color|linear-gradient|radial-gradient|conic-gradient|repeating-linear-gradient|repeating-radial-gradient)\(.+\)$/i;function b(e){if(n[e])return g(m(n[e]));for(let n of p){if(!e.startsWith(n)||n.length>=e.length)continue;let a=e.slice(n.length),o=_(a,n);if(/^\d/.test(a)||r.has(a.toLowerCase())||i.has(a.toLowerCase())||v.test(a)||y.test(a)||a[0]===`-`&&/^\d/.test(a.slice(1))){let e=m(t[n]);return(e.includes(`:`)?e.split(`:`):[e]).map(e=>s.has(e)?`transform:${e}(${o})`:c.has(n)&&/^\d/.test(a)?`${h(e)}:${o} solid`:`${h(e)}:${o}`).join(`;`)}}return``}let x=0;const S=[],C=[];function w(e,t){return e?`@media(min-width:${e}px){${t}}`:t}function T(e){let t=[];for(let n of Array.from(e.attributes)){if(n.name===`ref`)continue;let r=n.name,i;for(let e of f)if(r.startsWith(e+`:`)){i=d[e],r=r.slice(e.length+1);break}if(r.startsWith(`h:`)){let t=b(r.slice(2));if(t){let n=`_t${x++}`;e.classList.add(n),S.push(w(i,`.${n}:hover{${t.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}e.removeAttribute(n.name);continue}let a=r.match(/^h(\d+):(.+)$/);if(a){let t=b(a[2]);t&&C.push({el:e,level:+a[1],css:t,media:i}),e.removeAttribute(n.name);continue}let o=b(r);if(o){if(i){let t=`_t${x++}`;e.classList.add(t),S.push(w(i,`.${t}{${o.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}else t.push(o);e.removeAttribute(n.name)}}t.length&&e.setAttribute(`style`,(e.getAttribute(`style`)||``)+t.join(`;`))}function E(t){e.innerHTML=String(t);let n={},r=document.createTreeWalker(e.content,NodeFilter.SHOW_ELEMENT),i;for(;i=r.nextNode();)T(i),i.hasAttribute(`ref`)&&(n[i.getAttribute(`ref`)]=i,i.removeAttribute(`ref`));for(let{el:e,level:t,css:n,media:r}of C){let i=e;for(let e=0;e<t;e++)i=i?.parentElement??null;if(i&&i!==e){let t=`_t${x++}`,a=`_t${x++}`;i.classList.add(t),e.classList.add(a),S.push(w(r,`.${t}:hover .${a}{${n.split(`;`).map(e=>e+`!important`).join(`;`)}}`))}}if(C.length=0,document.body.appendChild(e.content),S.length){let e=document.querySelector(`style[data-t]`)||(()=>{let e=document.createElement(`style`);return e.setAttribute(`data-t`,``),document.head.appendChild(e)})();e.textContent+=S.join(``),S.length=0}return n}export{E as t};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["const T = document.createElement('template');\n\nconst A: Record<string, string> = {\n m: 'margin', p: 'padding', t: 'top', r: 'right', l: 'left', bottom: 'bottom',\n x: '$l:$r', y: '$t:$b', w: 'width', h: 'height', min: 'min', max: 'max',\n P: 'position', D: 'display', fd: 'flexDirection', C: 'center',\n bg: 'backgroundColor', cl: 'color', tn: 'transition',\n tx: 'translateX', ty: 'translateY',\n fs: 'fontSize', fw: 'fontWeight', lh: 'lineHeight', ls: 'letterSpacing', ta: 'textAlign',\n bd: 'border', rounded: 'borderRadius', shadow: 'boxShadow',\n opacity: 'opacity', z: 'zIndex', overflow: 'overflow',\n gap: 'gap', justify: 'justifyContent', items: 'alignItems',\n ml: '$m$l', mr: '$m$r', mt: '$m$t', mb: '$m$bottom',\n mx: '$m$l:$m$r', my: '$m$t:$m$bottom',\n pl: '$p$l', pr: '$p$r', pt: '$p$t', pb: '$p$bottom',\n px: '$p$l:$p$r', py: '$p$t:$p$bottom',\n minw: '$min$w', minh: '$min$h', maxw: '$max$w', maxh: '$max$h',\n b: '$bd', bt: '$bd$t', br: '$bd$r', bb: '$bd$bottom', bl: '$bd$l',\n};\n\nconst exact: Record<string, string> = {\n absolute: '$P:absolute', a: '$P:absolute',\n relative: '$P:relative', r: '$P:relative',\n fixed: '$P:fixed', f: '$P:fixed', sticky: '$P:sticky',\n flex: '$D:flex', c: '$D:flex;$justify:$C;$items:$C',\n h: '$D:flex;$fd:row', v: '$D:flex;$fd:column',\n tac: '$ta:center', tar: '$ta:right', tal: '$ta:left',\n b: '$bd',\n};\n\nconst colors = new Set(['red','blue','green','white','black','yellow','orange','purple','pink','teal','cyan','magenta','lime','maroon','navy','olive','gray','grey','silver','gold','coral','salmon','tomato','crimson','indigo','violet','turquoise','plum','orchid','khaki','lavender','ivory','beige','tan','wheat','peru','sienna','chocolate','firebrick','darkred','lightgreen','darkgreen','lightblue','darkblue','darkcyan','darkmagenta','darkviolet','darkorange','darkgoldenrod','darkslategray','darkolivegreen','mediumseagreen','mediumturquoise','mediumslateblue','mediumorchid','mediumpurple','hotpink','deeppink','palevioletred','lightsalmon','lightcoral','skyblue','lightskyblue','steelblue','dodgerblue','cornflowerblue','royalblue','slateblue','mediumblue','midnightblue','aquamarine','chartreuse','springgreen','forestgreen','limegreen','lawngreen','darkseagreen','palegreen','lightyellow','lemonchiffon','paleturquoise','powderblue','lightsteelblue','aliceblue','ghostwhite','snow','floralwhite','oldlace','linen','antiquewhite','mintcream','mistyrose','peachpuff','navajowhite','burlywood','sandybrown','darksalmon','rosybrown','darkkhaki','palegoldenrod','cadetblue','lightcyan','azure','honeydew','thistle','gainsboro','whitesmoke','darkgray','dimgray','lightslategray','slategray']);\nconst keywords = new Set(['bold','bolder','lighter','normal','italic','oblique','thin','hairline','semibold','extrabold','ultrabold','medium','regular','small','xxsmall','xsmall','large','xlarge','xxlarge','smaller','larger','normal','collapse','hidden','visible','scroll','auto','block','inline','inlineblock','inlineflex','grid','inlinegrid','none','contents','unset','inherit','initial','solid','dashed','dotted','double','groove','ridge','inset','outset','cover','contain','fill','stroke','running','paused','forwards','backwards','both','ease','linear','easein','easeout','easeinout','stepstart','stepend','nowrap','pre','prewrap','preline','breakspace','uppercase','lowercase','capitalize','center','justify','start','end','stretch','baseline','sub','super','overline','through','pointer','default','notallowed','text','wait','help','progress','snapstart','snapend','snapcenter','snearest','mandatory','smooth','noerase','erase','vertical','horizontal','row','column','rowreverse','columnreverse','wrap','wrapreverse']);\nconst unitless = new Set(['z', 'opacity', 'zIndex']);\nconst ms = new Set(['tn', 'transition']);\nconst transforms = new Set(['tx', 'ty', 'translateX', 'translateY']);\nconst BP: Record<string, number> = { sm: 640, md: 768, lg: 1024, xl: 1280, '2xl': 1536 };\nconst BPS = Object.keys(BP).sort((a, b) => b.length - a.length);\nconst AP = Object.keys(A).sort((a, b) => b.length - a.length);\n\nfunction resolve(s: string): string {\n while (s.includes('$')) {\n let r = '', i = 0;\n while (i < s.length) {\n if (s[i] === '$') {\n const m = s.slice(i + 1).match(/^[a-zA-Z]+/);\n if (m) {\n const v = A[m[0]] ?? m[0];\n r += r && /[a-zA-Z]$/.test(r) ? v[0].toUpperCase() + v.slice(1) : v;\n i += 1 + m[0].length;\n continue;\n }\n }\n r += s[i++];\n }\n s = r;\n }\n return s;\n}\n\nconst kebab = (s: string) => s.replace(/([A-Z])/g, '-$1').toLowerCase();\n\nconst toCSS = (v: string) => v.split(';').map(p => { const i = p.indexOf(':'); return i > -1 ? `${kebab(p.slice(0, i))}:${p.slice(i + 1)}` : kebab(p); }).join(';');\n\nfunction parseVal(raw: string, prop: string): string {\n if (/^-?\\d+$/.test(raw)) return unitless.has(prop) ? raw : ms.has(prop) ? `${raw}ms` : `${raw}px`;\n if (/^-?\\d+p$/.test(raw)) return `${raw.slice(0, -1)}%`;\n return raw;\n}\n\nfunction parse(attr: string): string {\n if (exact[attr]) return toCSS(resolve(exact[attr]));\n\n for (const p of AP) {\n if (!attr.startsWith(p) || p.length >= attr.length) continue;\n const raw = attr.slice(p.length);\n const val = parseVal(raw, p);\n if (/^\\d/.test(raw) || colors.has(raw.toLowerCase()) || keywords.has(raw.toLowerCase()) || raw[0] === '-' && /^\\d/.test(raw.slice(1))) {\n const resolved = resolve(A[p]);\n const props = resolved.includes(':') ? resolved.split(':') : [resolved];\n return props.map(k => transforms.has(k) ? `transform:${k}(${val})` : `${kebab(k)}:${val}`).join(';');\n }\n }\n return '';\n}\n\nlet C = 0;\nconst R: string[] = [];\nconst pendingHoverTarget: { el: Element; level: number; css: string; media?: number }[] = [];\n\nfunction mediaWrap(m: number | undefined, css: string): string {\n return m ? `@media(min-width:${m}px){${css}}` : css;\n}\n\nfunction apply(el: Element) {\n const s: string[] = [];\n for (const a of Array.from(el.attributes)) {\n if (a.name === 'ref') continue;\n let attr = a.name;\n let media: number | undefined;\n for (const bp of BPS) {\n if (attr.startsWith(bp + ':')) { media = BP[bp]; attr = attr.slice(bp.length + 1); break; }\n }\n if (attr.startsWith('h:')) {\n const css = parse(attr.slice(2));\n if (css) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}:hover{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n el.removeAttribute(a.name);\n continue;\n }\n const hm = attr.match(/^h(\\d+):(.+)$/);\n if (hm) {\n const css = parse(hm[2]);\n if (css) pendingHoverTarget.push({ el, level: +hm[1], css, media });\n el.removeAttribute(a.name);\n continue;\n }\n const css = parse(attr);\n if (css) {\n if (media) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n } else {\n s.push(css);\n }\n el.removeAttribute(a.name);\n }\n }\n if (s.length) el.setAttribute('style', (el.getAttribute('style') || '') + s.join(';'));\n}\n\nexport function t(value: unknown) {\n T.innerHTML = String(value);\n const refs: Record<string, HTMLElement> = {};\n const w = document.createTreeWalker(T.content, NodeFilter.SHOW_ELEMENT);\n let n: HTMLElement | null;\n while ((n = w.nextNode() as HTMLElement | null)) {\n apply(n);\n if (n.hasAttribute('ref')) { refs[n.getAttribute('ref')!] = n; n.removeAttribute('ref'); }\n }\n for (const { el, level, css, media } of pendingHoverTarget) {\n let ancestor: HTMLElement | null = el as HTMLElement;\n for (let i = 0; i < level; i++) ancestor = ancestor?.parentElement ?? null;\n if (ancestor && ancestor !== el) {\n const tCls = `_t${C++}`;\n const hCls = `_t${C++}`;\n ancestor.classList.add(tCls);\n el.classList.add(hCls);\n R.push(mediaWrap(media, `.${tCls}:hover .${hCls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n }\n pendingHoverTarget.length = 0;\n document.body.appendChild(T.content);\n if (R.length) {\n const el = document.querySelector('style[data-t]') as HTMLStyleElement || (() => { const s = document.createElement('style'); s.setAttribute('data-t', ''); return document.head.appendChild(s); })();\n el.textContent += R.join('');\n R.length = 0;\n }\n return refs;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["const T = document.createElement('template');\n\nconst A: Record<string, string> = {\n m: 'margin', p: 'padding', t: 'top', r: 'right', l: 'left', b: 'bottom',\n x: '$l:$r', y: '$t:$b', w: 'width', h: 'height', min: 'min', max: 'max',\n P: 'position', D: 'display', fd: 'flexDirection', C: 'center',\n bg: 'background', cl: 'color', tn: 'transition',\n tx: 'translateX', ty: 'translateY', tr: 'rotate', ts: 'scale',\n fs: 'fontSize', fw: 'fontWeight', lh: 'lineHeight', ls: 'letterSpacing', ta: 'textAlign',\n bd: 'border', rounded: 'borderRadius', shadow: 'boxShadow',\n opacity: 'opacity', z: 'zIndex', overflow: 'overflow',\n gap: 'gap', justify: 'justifyContent', items: 'alignItems',\n ml: '$m$l', mr: '$m$r', mt: '$m$t', mb: '$m$b',\n mx: '$m$l:$m$r', my: '$m$t:$m$b',\n pl: '$p$l', pr: '$p$r', pt: '$p$t', pb: '$p$b',\n px: '$p$l:$p$r', py: '$p$t:$p$b',\n minw: '$min$w', minh: '$min$h', maxw: '$max$w', maxh: '$max$h',\n ba: '$bd', bt: '$bd$t', br: '$bd$r', bb: '$bd$b', bl: '$bd$l',\n bc: 'borderColor', bct: 'borderTopColor', bcr: 'borderRightColor', bcb: 'borderBottomColor', bcl: 'borderLeftColor',\n};\n\nconst exact: Record<string, string> = {\n absolute: '$P:absolute', a: '$P:absolute',\n relative: '$P:relative', r: '$P:relative',\n fixed: '$P:fixed', f: '$P:fixed', sticky: '$P:sticky',\n flex: '$D:flex', c: '$D:flex;$justify:$C;$items:$C',\n h: '$D:flex;$fd:row', v: '$D:flex;$fd:column',\n tac: '$ta:center', tar: '$ta:right', tal: '$ta:left',\n ba: '$bd',\n};\n\nconst colors = new Set(['transparent','currentcolor','inherit','initial','unset','red','blue','green','white','black','yellow','orange','purple','pink','teal','cyan','magenta','lime','maroon','navy','olive','gray','grey','silver','gold','coral','salmon','tomato','crimson','indigo','violet','turquoise','plum','orchid','khaki','lavender','ivory','beige','tan','wheat','peru','sienna','chocolate','firebrick','darkred','lightgreen','darkgreen','lightblue','darkblue','darkcyan','darkmagenta','darkviolet','darkorange','darkgoldenrod','darkslategray','darkolivegreen','mediumseagreen','mediumturquoise','mediumslateblue','mediumorchid','mediumpurple','hotpink','deeppink','palevioletred','lightsalmon','lightcoral','skyblue','lightskyblue','steelblue','dodgerblue','cornflowerblue','royalblue','slateblue','mediumblue','midnightblue','aquamarine','chartreuse','springgreen','forestgreen','limegreen','lawngreen','darkseagreen','palegreen','lightyellow','lemonchiffon','paleturquoise','powderblue','lightsteelblue','aliceblue','ghostwhite','snow','floralwhite','oldlace','linen','antiquewhite','mintcream','mistyrose','peachpuff','navajowhite','burlywood','sandybrown','darksalmon','rosybrown','darkkhaki','palegoldenrod','cadetblue','lightcyan','azure','honeydew','thistle','gainsboro','whitesmoke','darkgray','dimgray','lightslategray','slategray']);\nconst keywords = new Set(['bold','bolder','lighter','normal','italic','oblique','thin','hairline','semibold','extrabold','ultrabold','medium','regular','small','xxsmall','xsmall','large','xlarge','xxlarge','smaller','larger','normal','collapse','hidden','visible','scroll','auto','block','inline','inlineblock','inlineflex','grid','inlinegrid','none','contents','unset','inherit','initial','solid','dashed','dotted','double','groove','ridge','inset','outset','cover','contain','fill','stroke','running','paused','forwards','backwards','both','ease','linear','easein','easeout','easeinout','stepstart','stepend','nowrap','pre','prewrap','preline','breakspace','uppercase','lowercase','capitalize','center','justify','start','end','stretch','baseline','sub','super','overline','through','pointer','default','notallowed','text','wait','help','progress','snapstart','snapend','snapcenter','snearest','mandatory','smooth','noerase','erase','vertical','horizontal','row','column','rowreverse','columnreverse','wrap','wrapreverse']);\nconst unitless = new Set(['z', 'opacity', 'zIndex']);\nconst ms = new Set(['tn', 'transition']);\nconst transforms = new Set(['tx', 'ty', 'translateX', 'translateY', 'tr', 'ts', 'rotate', 'scale']);\nconst solidSuffix = new Set(['ba', 'bt', 'br', 'bb', 'bl', 'border', 'borderTop', 'borderRight', 'borderBottom', 'borderLeft']);\nconst deg = new Set(['tr', 'rotate']);\nconst unitlessVal = new Set(['ts', 'scale']);\nconst BP: Record<string, number> = { sm: 640, md: 768, lg: 1024, xl: 1280, '2xl': 1536 };\nconst BPS = Object.keys(BP).sort((a, b) => b.length - a.length);\nconst AP = Object.keys(A).sort((a, b) => b.length - a.length);\n\nfunction resolve(s: string): string {\n while (s.includes('$')) {\n let r = '', i = 0;\n while (i < s.length) {\n if (s[i] === '$') {\n const m = s.slice(i + 1).match(/^[a-zA-Z]+/);\n if (m) {\n const v = A[m[0]] ?? m[0];\n r += r && /[a-zA-Z]$/.test(r) ? v[0].toUpperCase() + v.slice(1) : v;\n i += 1 + m[0].length;\n continue;\n }\n }\n r += s[i++];\n }\n s = r;\n }\n return s;\n}\n\nconst kebab = (s: string) => s.replace(/([A-Z])/g, '-$1').toLowerCase();\n\nconst toCSS = (v: string) => v.split(';').map(p => { const i = p.indexOf(':'); return i > -1 ? `${kebab(p.slice(0, i))}:${p.slice(i + 1)}` : kebab(p); }).join(';');\n\nfunction parseVal(raw: string, prop: string): string {\n if (/^-?\\d+$/.test(raw)) return unitless.has(prop) || unitlessVal.has(prop) ? raw : ms.has(prop) ? `${raw}ms` : deg.has(prop) ? `${raw}deg` : `${raw}px`;\n if (/^-?\\d+p$/.test(raw)) return `${raw.slice(0, -1)}%`;\n return raw;\n}\n\nconst hex = /^#([0-9a-f]{3,8})$/i;\nconst fn = /^(rgba?|hsla?|oklch|color|linear-gradient|radial-gradient|conic-gradient|repeating-linear-gradient|repeating-radial-gradient)\\(.+\\)$/i;\n\nfunction parse(attr: string): string {\n if (exact[attr]) return toCSS(resolve(exact[attr]));\n\n for (const p of AP) {\n if (!attr.startsWith(p) || p.length >= attr.length) continue;\n const raw = attr.slice(p.length);\n const val = parseVal(raw, p);\n if (/^\\d/.test(raw) || colors.has(raw.toLowerCase()) || keywords.has(raw.toLowerCase()) || hex.test(raw) || fn.test(raw) || raw[0] === '-' && /^\\d/.test(raw.slice(1))) {\n const resolved = resolve(A[p]);\n const props = resolved.includes(':') ? resolved.split(':') : [resolved];\n return props.map(k => transforms.has(k) ? `transform:${k}(${val})` : solidSuffix.has(p) && /^\\d/.test(raw) ? `${kebab(k)}:${val} solid` : `${kebab(k)}:${val}`).join(';');\n }\n }\n return '';\n}\n\nlet C = 0;\nconst R: string[] = [];\nconst pendingHoverTarget: { el: Element; level: number; css: string; media?: number }[] = [];\n\nfunction mediaWrap(m: number | undefined, css: string): string {\n return m ? `@media(min-width:${m}px){${css}}` : css;\n}\n\nfunction apply(el: Element) {\n const s: string[] = [];\n for (const a of Array.from(el.attributes)) {\n if (a.name === 'ref') continue;\n let attr = a.name;\n let media: number | undefined;\n for (const bp of BPS) {\n if (attr.startsWith(bp + ':')) { media = BP[bp]; attr = attr.slice(bp.length + 1); break; }\n }\n if (attr.startsWith('h:')) {\n const css = parse(attr.slice(2));\n if (css) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}:hover{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n el.removeAttribute(a.name);\n continue;\n }\n const hm = attr.match(/^h(\\d+):(.+)$/);\n if (hm) {\n const css = parse(hm[2]);\n if (css) pendingHoverTarget.push({ el, level: +hm[1], css, media });\n el.removeAttribute(a.name);\n continue;\n }\n const css = parse(attr);\n if (css) {\n if (media) {\n const cls = `_t${C++}`;\n el.classList.add(cls);\n R.push(mediaWrap(media, `.${cls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n } else {\n s.push(css);\n }\n el.removeAttribute(a.name);\n }\n }\n if (s.length) el.setAttribute('style', (el.getAttribute('style') || '') + s.join(';'));\n}\n\nexport function t(value: unknown) {\n T.innerHTML = String(value);\n const refs: Record<string, HTMLElement> = {};\n const w = document.createTreeWalker(T.content, NodeFilter.SHOW_ELEMENT);\n let n: HTMLElement | null;\n while ((n = w.nextNode() as HTMLElement | null)) {\n apply(n);\n if (n.hasAttribute('ref')) { refs[n.getAttribute('ref')!] = n; n.removeAttribute('ref'); }\n }\n for (const { el, level, css, media } of pendingHoverTarget) {\n let ancestor: HTMLElement | null = el as HTMLElement;\n for (let i = 0; i < level; i++) ancestor = ancestor?.parentElement ?? null;\n if (ancestor && ancestor !== el) {\n const tCls = `_t${C++}`;\n const hCls = `_t${C++}`;\n ancestor.classList.add(tCls);\n el.classList.add(hCls);\n R.push(mediaWrap(media, `.${tCls}:hover .${hCls}{${css.split(';').map(p => p + '!important').join(';')}}`));\n }\n }\n pendingHoverTarget.length = 0;\n document.body.appendChild(T.content);\n if (R.length) {\n const el = document.querySelector('style[data-t]') as HTMLStyleElement || (() => { const s = document.createElement('style'); s.setAttribute('data-t', ''); return document.head.appendChild(s); })();\n el.textContent += R.join('');\n R.length = 0;\n }\n return refs;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idlapps/t",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Lightweight, tree-shakable string utility functions",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",