mancha 0.21.4 → 0.22.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/dist/browser.d.ts +4 -1
- package/dist/browser.js +3 -3
- package/dist/browser.js.map +1 -1
- package/dist/css_custom.d.ts +5 -0
- package/dist/css_custom.js +88 -12
- package/dist/css_custom.js.map +1 -1
- package/dist/css_gen_utils.d.ts +1 -0
- package/dist/css_gen_utils.js +25 -68
- package/dist/css_gen_utils.js.map +1 -1
- package/dist/mancha.js +24 -24
- package/docs/02_initialization.md +2 -2
- package/docs/05_css.md +28 -34
- package/package.json +2 -2
package/dist/browser.d.ts
CHANGED
|
@@ -32,7 +32,10 @@ declare const Mancha: Renderer<StoreState>;
|
|
|
32
32
|
type CssName = "minimal" | "utils" | "basic" | "custom";
|
|
33
33
|
/**
|
|
34
34
|
* Injects CSS rules into the document head.
|
|
35
|
-
* @param names - Array of CSS names to inject ("minimal", "utils"
|
|
35
|
+
* @param names - Array of CSS names to inject ("minimal", "utils").
|
|
36
|
+
* "basic" and "custom" are accepted for backwards compatibility:
|
|
37
|
+
* "basic" is now included automatically with "utils",
|
|
38
|
+
* "custom" scanning runs automatically with "utils".
|
|
36
39
|
*/
|
|
37
40
|
declare function injectCss(names: CssName[]): void;
|
|
38
41
|
/** Options for cloaking (hiding content until rendered). */
|
package/dist/browser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,t}from"./renderer-D5EM0ZYN.js";import{safeStyleEl as n}from"safevalues/dom";import{concatStyleSheets as r,safeStyleSheet as i}from"safevalues";const a={sm:640,md:768,lg:1024,xl:1280},o=Object.entries(a),s=.25,c=[...Array(15)].map((e,t)=>t+1),l=[16,20,24,28,32,36,40,48,56,64],ee=[72,80,96,128,160,192,256,320,384,512],u=[...c,...l,...ee,...Object.values(a)],d=Array.from({length:20},(e,t)=>(t+1)*5),te=[0,10,20,30,40,50,60,70,80,90,100],f=[25,50,75,100,150,200,300,500,700,1e3],p=[`hover`,`focus`,`disabled`],m={margin:`m`,padding:`p`},h={width:`w`,height:`h`},ne={top:`top`,right:`right`,bottom:`bottom`,left:`left`},g={"min-width":`min-w`,"min-height":`min-h`,"max-width":`max-w`,"max-height":`max-h`},_={"font-mono":{"font-family":`monospace`},"font-sans":{"font-family":`sans-serif`},"font-serif":{"font-family":`serif`},"font-cursive":{"font-family":`cursive`},"text-xs":{"font-size":`.75rem`,"line-height":`calc(1 / 0.75)`},"text-sm":{"font-size":`.875rem`,"line-height":`calc(1.25 / 0.875)`},"text-base":{"font-size":`1rem`,"line-height":`calc(1.5 / 1)`},"text-lg":{"font-size":`1.125rem`,"line-height":`calc(1.75 / 1.125)`},"text-xl":{"font-size":`1.25rem`,"line-height":`calc(1.75 / 1.25)`},"text-2xl":{"font-size":`1.5rem`,"line-height":`calc(2 / 1.5)`},"text-3xl":{"font-size":`1.875rem`,"line-height":`calc(2.25 / 1.875)`},"text-4xl":{"font-size":`2.25rem`,"line-height":`calc(2.5 / 2.25)`},"text-5xl":{"font-size":`3rem`,"line-height":`1`},"text-6xl":{"font-size":`3.75rem`,"line-height":`1`},"text-7xl":{"font-size":`4.5rem`,"line-height":`1`},"font-thin":{"font-weight":100},"font-extralight":{"font-weight":200},"font-light":{"font-weight":300},"font-normal":{"font-weight":400},"font-medium":{"font-weight":500},"font-semibold":{"font-weight":600},"font-bold":{"font-weight":700},"font-extrabold":{"font-weight":800},"font-black":{"font-weight":900},italic:{"font-style":`italic`},"not-italic":{"font-style":`normal`},"w-max":{width:`max-content`},"w-min":{width:`min-content`},"w-fit":{width:`fit-content`},"h-max":{height:`max-content`},"h-min":{height:`min-content`},"h-fit":{height:`fit-content`},"size-auto":{width:`auto`,height:`auto`},"size-px":{width:`1px`,height:`1px`},"size-full":{width:`100%`,height:`100%`},"size-dvw":{width:`100dvw`,height:`100dvw`},"size-dvh":{width:`100dvh`,height:`100dvh`},"size-lvw":{width:`100lvw`,height:`100lvw`},"size-lvh":{width:`100lvh`,height:`100lvh`},"size-svw":{width:`100svw`,height:`100svw`},"size-svh":{width:`100svh`,height:`100svh`},"size-min":{width:`min-content`,height:`min-content`},"size-max":{width:`max-content`,height:`max-content`},"size-fit":{width:`fit-content`,height:`fit-content`},"tracking-tighter":{"letter-spacing":`-0.05em`},"tracking-tight":{"letter-spacing":`-0.025em`},"tracking-normal":{"letter-spacing":`0`},"tracking-wide":{"letter-spacing":`0.025em`},"tracking-wider":{"letter-spacing":`0.05em`},"tracking-widest":{"letter-spacing":`0.1em`},"leading-none":{"line-height":`1`},"leading-tight":{"line-height":`1.25`},"leading-snug":{"line-height":`1.375`},"leading-normal":{"line-height":`1.5`},"leading-relaxed":{"line-height":`1.625`},"leading-loose":{"line-height":`2`},"text-left":{"text-align":`left`},"text-right":{"text-align":`right`},"text-center":{"text-align":`center`},"text-justify":{"text-align":`justify`},underline:{"text-decoration":`underline`},"no-underline":{"text-decoration":`none`},"decoration-none":{"text-decoration":`none`},"line-through":{"text-decoration":`line-through`},uppercase:{"text-transform":`uppercase`},lowercase:{"text-transform":`lowercase`},capitalize:{"text-transform":`capitalize`},truncate:{"white-space":`nowrap`,overflow:`hidden`,"text-overflow":`ellipsis`},"text-elipsis":{"text-overflow":`ellipsis`},"text-clip":{"text-overflow":`clip`},"text-wrap":{"text-wrap":`wrap`},"text-nowrap":{"text-wrap":`nowrap`},"text-balance":{"text-wrap":`balance`},"text-pretty":{"text-wrap":`pretty`},"whitespace-normal":{"white-space":`normal`},"whitespace-nowrap":{"white-space":`nowrap`},"whitespace-pre":{"white-space":`pre`},"whitespace-pre-line":{"white-space":`pre-line`},"whitespace-pre-wrap":{"white-space":`pre-wrap`},"whitespace-break-spaces":{"white-space":`break-spaces`},relative:{position:`relative`},fixed:{position:`fixed`},absolute:{position:`absolute`},sticky:{position:`sticky`},"object-contain":{"object-fit":`contain`},"object-cover":{"object-fit":`cover`},"object-fill":{"object-fit":`fill`},"object-none":{"object-fit":`none`},block:{display:`block`},contents:{display:`contents`},hidden:{display:`none`},inline:{display:`inline`},"inline-block":{display:`inline-block`},visible:{visibility:`visible`},invisible:{visibility:`hidden`},collapse:{visibility:`collapse`},"list-none":{"list-style-type":`none`},"list-disc":{"list-style-type":`disc`},"list-decimal":{"list-style-type":`decimal`},flex:{display:`flex`},grid:{display:`grid`},"flex-1":{flex:`1 1 0%`},"flex-inline":{display:`inline-flex`},"flex-row":{"flex-direction":`row`},"flex-col":{"flex-direction":`column`},"flex-row-reverse":{"flex-direction":`row-reverse`},"flex-col-reverse":{"flex-direction":`column-reverse`},"flex-wrap":{"flex-wrap":`wrap`},"flex-wrap-reverse":{"flex-wrap":`wrap-reverse`},"flex-nowrap":{"flex-wrap":`nowrap`},"justify-start":{"justify-content":`flex-start`},"justify-end":{"justify-content":`flex-end`},"justify-center":{"justify-content":`center`},"justify-between":{"justify-content":`space-between`},"justify-around":{"justify-content":`space-around`},"justify-evenly":{"justify-content":`space-evenly`},"justify-stretch":{"justify-content":`stretch`},"items-start":{"align-items":`flex-start`},"items-end":{"align-items":`flex-end`},"items-center":{"align-items":`center`},"items-stretch":{"align-items":`stretch`},"flex-grow":{"flex-grow":1},"flex-shrink":{"flex-shrink":1},"align-baseline":{"vertical-align":`baseline`},"align-top":{"vertical-align":`top`},"align-middle":{"vertical-align":`middle`},"align-bottom":{"vertical-align":`bottom`},"align-text-top":{"vertical-align":`text-top`},"align-text-bottom":{"vertical-align":`text-bottom`},"overflow-auto":{overflow:`auto`},"overflow-x-auto":{"overflow-x":`auto`},"overflow-y-auto":{"overflow-y":`auto`},"overflow-hidden":{overflow:`hidden`},"overflow-x-hidden":{"overflow-x":`hidden`},"overflow-y-hidden":{"overflow-y":`hidden`},"overflow-visible":{overflow:`visible`},"overscroll-auto":{"overscroll-behavior":`auto`},"overscroll-contain":{"overscroll-behavior":`contain`},"overscroll-none":{"overscroll-behavior":`none`},"overscroll-x-auto":{"overscroll-behavior-x":`auto`},"overscroll-x-contain":{"overscroll-behavior-x":`contain`},"overscroll-x-none":{"overscroll-behavior-x":`none`},"overscroll-y-auto":{"overscroll-behavior-y":`auto`},"overscroll-y-contain":{"overscroll-behavior-y":`contain`},"overscroll-y-none":{"overscroll-behavior-y":`none`},"z-auto":{"z-index":`auto`},"cursor-pointer":{cursor:`pointer`},"cursor-wait":{cursor:`wait`},"cursor-not-allowed":{cursor:`not-allowed`},"select-none":{"user-select":`none`},"select-all":{"user-select":`all`},"pointer-events-auto":{"pointer-events":`auto`},"pointer-events-none":{"pointer-events":`none`},"box-border":{"box-sizing":`border-box`},"box-content":{"box-sizing":`content-box`},resize:{resize:`both`},"resize-x":{resize:`horizontal`},"resize-y":{resize:`vertical`},"resize-none":{resize:`none`},"appearance-none":{appearance:`none`,"-webkit-appearance":`none`,"-moz-appearance":`none`},border:{border:`1px solid`},"border-none":{border:`none`},"border-solid":{"border-style":`solid`},"border-dashed":{"border-style":`dashed`},"border-dotted":{"border-style":`dotted`},"border-collapse":{"border-collapse":`collapse`},"rounded-none":{"border-radius":`0`},rounded:{"border-radius":`.25rem`},"rounded-sm":{"border-radius":`.125rem`},"rounded-md":{"border-radius":`.375rem`},"rounded-lg":{"border-radius":`.5rem`},"rounded-xl":{"border-radius":`.75rem`},"rounded-full":{"border-radius":`9999px`},"shadow-2xs":{"box-shadow":`0 1px rgb(0 0 0 / 0.05)`},"shadow-xs":{"box-shadow":`0 1px 2px 0 rgb(0 0 0 / 0.05)`},shadow:{"box-shadow":`0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`},"shadow-sm":{"box-shadow":`0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`},"shadow-md":{"box-shadow":`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`},"shadow-lg":{"box-shadow":`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`},"shadow-xl":{"box-shadow":`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`},"shadow-2xl":{"box-shadow":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},"shadow-inner":{"box-shadow":`inset 0 2px 4px 0 rgb(0 0 0 / 0.05)`},"shadow-none":{"box-shadow":`0 0 #0000`},ring:{"box-shadow":`var(--ring-inset, ) 0 0 0 3px rgb(59 130 246 / 0.5)`},"ring-0":{"box-shadow":`var(--ring-inset, ) 0 0 0 0px rgb(59 130 246 / 0.5)`},"ring-1":{"box-shadow":`var(--ring-inset, ) 0 0 0 1px rgb(59 130 246 / 0.5)`},"ring-2":{"box-shadow":`var(--ring-inset, ) 0 0 0 2px rgb(59 130 246 / 0.5)`},"ring-4":{"box-shadow":`var(--ring-inset, ) 0 0 0 4px rgb(59 130 246 / 0.5)`},"ring-8":{"box-shadow":`var(--ring-inset, ) 0 0 0 8px rgb(59 130 246 / 0.5)`},"ring-inset":{"--ring-inset":`inset`},outline:{"outline-style":`solid`},"outline-none":{outline:`2px solid transparent`,"outline-offset":`2px`},"outline-dashed":{"outline-style":`dashed`},"outline-dotted":{"outline-style":`dotted`},"outline-double":{"outline-style":`double`},"outline-0":{"outline-width":`0px`},"outline-1":{"outline-width":`1px`},"outline-2":{"outline-width":`2px`},"outline-4":{"outline-width":`4px`},"outline-8":{"outline-width":`8px`},"outline-offset-0":{"outline-offset":`0px`},"outline-offset-1":{"outline-offset":`1px`},"outline-offset-2":{"outline-offset":`2px`},"outline-offset-4":{"outline-offset":`4px`},"outline-offset-8":{"outline-offset":`8px`},"aspect-auto":{"aspect-ratio":`auto`},"aspect-square":{"aspect-ratio":`1 / 1`},"aspect-video":{"aspect-ratio":`16 / 9`},"backdrop-blur-none":{"backdrop-filter":`blur(0)`},"backdrop-blur-sm":{"backdrop-filter":`blur(4px)`},"backdrop-blur":{"backdrop-filter":`blur(8px)`},"backdrop-blur-md":{"backdrop-filter":`blur(12px)`},"backdrop-blur-lg":{"backdrop-filter":`blur(16px)`},"backdrop-blur-xl":{"backdrop-filter":`blur(24px)`},"backdrop-blur-2xl":{"backdrop-filter":`blur(40px)`},"backdrop-blur-3xl":{"backdrop-filter":`blur(64px)`},"transition-none":{transition:`none`},transition:{"transition-property":`all`,"transition-timing-function":`ease-in-out`,"transition-duration":`var(--transition-duration, 150ms)`},"animate-none":{animation:`none`},"animate-spin":{animation:`spin 1s linear infinite`},"animate-ping":{animation:`ping 1s cubic-bezier(0, 0, 0.2, 1) infinite`},"animate-pulse":{animation:`pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite`},"bg-auto":{"background-size":`auto`},"bg-cover":{"background-size":`cover`},"bg-contain":{"background-size":`contain`},"bg-no-repeat":{"background-repeat":`no-repeat`},"bg-fixed":{"background-attachment":`fixed`},"bg-local":{"background-attachment":`local`},"bg-scroll":{"background-attachment":`scroll`},"min-h-screen":{"min-height":`100vh`},"max-h-screen":{"max-height":`100vh`},"min-w-screen":{"min-width":`100vw`},"h-dvh":{height:`100dvh`},"h-svh":{height:`100svh`},"h-lvh":{height:`100lvh`},"w-dvw":{width:`100dvw`},"w-svw":{width:`100svw`},"w-lvw":{width:`100lvw`},"min-h-dvh":{"min-height":`100dvh`},"min-h-svh":{"min-height":`100svh`},"min-h-lvh":{"min-height":`100lvh`},"flex-none":{flex:`none`},"flex-auto":{flex:`1 1 auto`},"flex-initial":{flex:`0 1 auto`},grow:{"flex-grow":`1`},"grow-0":{"flex-grow":`0`},shrink:{"flex-shrink":`1`},"shrink-0":{"flex-shrink":`0`},"self-auto":{"align-self":`auto`},"self-start":{"align-self":`flex-start`},"self-end":{"align-self":`flex-end`},"self-center":{"align-self":`center`},"self-stretch":{"align-self":`stretch`},"self-baseline":{"align-self":`baseline`},"content-normal":{"align-content":`normal`},"content-start":{"align-content":`flex-start`},"content-end":{"align-content":`flex-end`},"content-center":{"align-content":`center`},"content-between":{"align-content":`space-between`},"content-around":{"align-content":`space-around`},"content-evenly":{"align-content":`space-evenly`},"content-stretch":{"align-content":`stretch`},"items-baseline":{"align-items":`baseline`},"inset-0":{inset:`0`},"inset-auto":{inset:`auto`},"inset-x-0":{left:`0`,right:`0`},"inset-y-0":{top:`0`,bottom:`0`},"inset-x-auto":{left:`auto`,right:`auto`},"inset-y-auto":{top:`auto`,bottom:`auto`},"sr-only":{position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,"white-space":`nowrap`,"border-width":`0`},"not-sr-only":{position:`static`,width:`auto`,height:`auto`,padding:`0`,margin:`0`,overflow:`visible`,clip:`auto`,"white-space":`normal`}},v=[`@keyframes spin {
|
|
1
|
+
import{n as e,t}from"./renderer-D5EM0ZYN.js";import{safeStyleEl as n}from"safevalues/dom";import{concatStyleSheets as r,safeStyleSheet as i}from"safevalues";const a={sm:640,md:768,lg:1024,xl:1280},o=Object.entries(a),s=.25,c=[...Array(15)].map((e,t)=>t+1),l=[16,20,24,28,32,36,40,48,56,64],ee=[72,80,96,128,160,192,256,320,384,512],u=[...c,...l,...ee,...Object.values(a)],d=Array.from({length:20},(e,t)=>(t+1)*5),f=[25,50,75,100,150,200,300,500,700,1e3],p={margin:`m`,padding:`p`},m={width:`w`,height:`h`},h={top:`top`,right:`right`,bottom:`bottom`,left:`left`},g={"min-width":`min-w`,"min-height":`min-h`,"max-width":`max-w`,"max-height":`max-h`},te={"font-mono":{"font-family":`monospace`},"font-sans":{"font-family":`sans-serif`},"font-serif":{"font-family":`serif`},"font-cursive":{"font-family":`cursive`},"text-xs":{"font-size":`.75rem`,"line-height":`calc(1 / 0.75)`},"text-sm":{"font-size":`.875rem`,"line-height":`calc(1.25 / 0.875)`},"text-base":{"font-size":`1rem`,"line-height":`calc(1.5 / 1)`},"text-lg":{"font-size":`1.125rem`,"line-height":`calc(1.75 / 1.125)`},"text-xl":{"font-size":`1.25rem`,"line-height":`calc(1.75 / 1.25)`},"text-2xl":{"font-size":`1.5rem`,"line-height":`calc(2 / 1.5)`},"text-3xl":{"font-size":`1.875rem`,"line-height":`calc(2.25 / 1.875)`},"text-4xl":{"font-size":`2.25rem`,"line-height":`calc(2.5 / 2.25)`},"text-5xl":{"font-size":`3rem`,"line-height":`1`},"text-6xl":{"font-size":`3.75rem`,"line-height":`1`},"text-7xl":{"font-size":`4.5rem`,"line-height":`1`},"font-thin":{"font-weight":100},"font-extralight":{"font-weight":200},"font-light":{"font-weight":300},"font-normal":{"font-weight":400},"font-medium":{"font-weight":500},"font-semibold":{"font-weight":600},"font-bold":{"font-weight":700},"font-extrabold":{"font-weight":800},"font-black":{"font-weight":900},italic:{"font-style":`italic`},"not-italic":{"font-style":`normal`},"w-max":{width:`max-content`},"w-min":{width:`min-content`},"w-fit":{width:`fit-content`},"h-max":{height:`max-content`},"h-min":{height:`min-content`},"h-fit":{height:`fit-content`},"size-auto":{width:`auto`,height:`auto`},"size-px":{width:`1px`,height:`1px`},"size-full":{width:`100%`,height:`100%`},"size-dvw":{width:`100dvw`,height:`100dvw`},"size-dvh":{width:`100dvh`,height:`100dvh`},"size-lvw":{width:`100lvw`,height:`100lvw`},"size-lvh":{width:`100lvh`,height:`100lvh`},"size-svw":{width:`100svw`,height:`100svw`},"size-svh":{width:`100svh`,height:`100svh`},"size-min":{width:`min-content`,height:`min-content`},"size-max":{width:`max-content`,height:`max-content`},"size-fit":{width:`fit-content`,height:`fit-content`},"tracking-tighter":{"letter-spacing":`-0.05em`},"tracking-tight":{"letter-spacing":`-0.025em`},"tracking-normal":{"letter-spacing":`0`},"tracking-wide":{"letter-spacing":`0.025em`},"tracking-wider":{"letter-spacing":`0.05em`},"tracking-widest":{"letter-spacing":`0.1em`},"leading-none":{"line-height":`1`},"leading-tight":{"line-height":`1.25`},"leading-snug":{"line-height":`1.375`},"leading-normal":{"line-height":`1.5`},"leading-relaxed":{"line-height":`1.625`},"leading-loose":{"line-height":`2`},"text-left":{"text-align":`left`},"text-right":{"text-align":`right`},"text-center":{"text-align":`center`},"text-justify":{"text-align":`justify`},underline:{"text-decoration":`underline`},"no-underline":{"text-decoration":`none`},"decoration-none":{"text-decoration":`none`},"line-through":{"text-decoration":`line-through`},uppercase:{"text-transform":`uppercase`},lowercase:{"text-transform":`lowercase`},capitalize:{"text-transform":`capitalize`},truncate:{"white-space":`nowrap`,overflow:`hidden`,"text-overflow":`ellipsis`},"text-elipsis":{"text-overflow":`ellipsis`},"text-clip":{"text-overflow":`clip`},"text-wrap":{"text-wrap":`wrap`},"text-nowrap":{"text-wrap":`nowrap`},"text-balance":{"text-wrap":`balance`},"text-pretty":{"text-wrap":`pretty`},"whitespace-normal":{"white-space":`normal`},"whitespace-nowrap":{"white-space":`nowrap`},"whitespace-pre":{"white-space":`pre`},"whitespace-pre-line":{"white-space":`pre-line`},"whitespace-pre-wrap":{"white-space":`pre-wrap`},"whitespace-break-spaces":{"white-space":`break-spaces`},relative:{position:`relative`},fixed:{position:`fixed`},absolute:{position:`absolute`},sticky:{position:`sticky`},"object-contain":{"object-fit":`contain`},"object-cover":{"object-fit":`cover`},"object-fill":{"object-fit":`fill`},"object-none":{"object-fit":`none`},block:{display:`block`},contents:{display:`contents`},hidden:{display:`none`},inline:{display:`inline`},"inline-block":{display:`inline-block`},visible:{visibility:`visible`},invisible:{visibility:`hidden`},collapse:{visibility:`collapse`},"list-none":{"list-style-type":`none`},"list-disc":{"list-style-type":`disc`},"list-decimal":{"list-style-type":`decimal`},flex:{display:`flex`},grid:{display:`grid`},"flex-1":{flex:`1 1 0%`},"flex-inline":{display:`inline-flex`},"flex-row":{"flex-direction":`row`},"flex-col":{"flex-direction":`column`},"flex-row-reverse":{"flex-direction":`row-reverse`},"flex-col-reverse":{"flex-direction":`column-reverse`},"flex-wrap":{"flex-wrap":`wrap`},"flex-wrap-reverse":{"flex-wrap":`wrap-reverse`},"flex-nowrap":{"flex-wrap":`nowrap`},"justify-start":{"justify-content":`flex-start`},"justify-end":{"justify-content":`flex-end`},"justify-center":{"justify-content":`center`},"justify-between":{"justify-content":`space-between`},"justify-around":{"justify-content":`space-around`},"justify-evenly":{"justify-content":`space-evenly`},"justify-stretch":{"justify-content":`stretch`},"items-start":{"align-items":`flex-start`},"items-end":{"align-items":`flex-end`},"items-center":{"align-items":`center`},"items-stretch":{"align-items":`stretch`},"flex-grow":{"flex-grow":1},"flex-shrink":{"flex-shrink":1},"align-baseline":{"vertical-align":`baseline`},"align-top":{"vertical-align":`top`},"align-middle":{"vertical-align":`middle`},"align-bottom":{"vertical-align":`bottom`},"align-text-top":{"vertical-align":`text-top`},"align-text-bottom":{"vertical-align":`text-bottom`},"overflow-auto":{overflow:`auto`},"overflow-x-auto":{"overflow-x":`auto`},"overflow-y-auto":{"overflow-y":`auto`},"overflow-hidden":{overflow:`hidden`},"overflow-x-hidden":{"overflow-x":`hidden`},"overflow-y-hidden":{"overflow-y":`hidden`},"overflow-visible":{overflow:`visible`},"overscroll-auto":{"overscroll-behavior":`auto`},"overscroll-contain":{"overscroll-behavior":`contain`},"overscroll-none":{"overscroll-behavior":`none`},"overscroll-x-auto":{"overscroll-behavior-x":`auto`},"overscroll-x-contain":{"overscroll-behavior-x":`contain`},"overscroll-x-none":{"overscroll-behavior-x":`none`},"overscroll-y-auto":{"overscroll-behavior-y":`auto`},"overscroll-y-contain":{"overscroll-behavior-y":`contain`},"overscroll-y-none":{"overscroll-behavior-y":`none`},"z-auto":{"z-index":`auto`},"cursor-pointer":{cursor:`pointer`},"cursor-wait":{cursor:`wait`},"cursor-not-allowed":{cursor:`not-allowed`},"select-none":{"user-select":`none`},"select-all":{"user-select":`all`},"pointer-events-auto":{"pointer-events":`auto`},"pointer-events-none":{"pointer-events":`none`},"box-border":{"box-sizing":`border-box`},"box-content":{"box-sizing":`content-box`},resize:{resize:`both`},"resize-x":{resize:`horizontal`},"resize-y":{resize:`vertical`},"resize-none":{resize:`none`},"appearance-none":{appearance:`none`,"-webkit-appearance":`none`,"-moz-appearance":`none`},border:{border:`1px solid`},"border-none":{border:`none`},"border-solid":{"border-style":`solid`},"border-dashed":{"border-style":`dashed`},"border-dotted":{"border-style":`dotted`},"border-collapse":{"border-collapse":`collapse`},"rounded-none":{"border-radius":`0`},rounded:{"border-radius":`.25rem`},"rounded-sm":{"border-radius":`.125rem`},"rounded-md":{"border-radius":`.375rem`},"rounded-lg":{"border-radius":`.5rem`},"rounded-xl":{"border-radius":`.75rem`},"rounded-full":{"border-radius":`9999px`},"shadow-2xs":{"box-shadow":`0 1px rgb(0 0 0 / 0.05)`},"shadow-xs":{"box-shadow":`0 1px 2px 0 rgb(0 0 0 / 0.05)`},shadow:{"box-shadow":`0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`},"shadow-sm":{"box-shadow":`0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)`},"shadow-md":{"box-shadow":`0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`},"shadow-lg":{"box-shadow":`0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)`},"shadow-xl":{"box-shadow":`0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)`},"shadow-2xl":{"box-shadow":`0 25px 50px -12px rgb(0 0 0 / 0.25)`},"shadow-inner":{"box-shadow":`inset 0 2px 4px 0 rgb(0 0 0 / 0.05)`},"shadow-none":{"box-shadow":`0 0 #0000`},ring:{"box-shadow":`var(--ring-inset, ) 0 0 0 3px rgb(59 130 246 / 0.5)`},"ring-0":{"box-shadow":`var(--ring-inset, ) 0 0 0 0px rgb(59 130 246 / 0.5)`},"ring-1":{"box-shadow":`var(--ring-inset, ) 0 0 0 1px rgb(59 130 246 / 0.5)`},"ring-2":{"box-shadow":`var(--ring-inset, ) 0 0 0 2px rgb(59 130 246 / 0.5)`},"ring-4":{"box-shadow":`var(--ring-inset, ) 0 0 0 4px rgb(59 130 246 / 0.5)`},"ring-8":{"box-shadow":`var(--ring-inset, ) 0 0 0 8px rgb(59 130 246 / 0.5)`},"ring-inset":{"--ring-inset":`inset`},outline:{"outline-style":`solid`},"outline-none":{outline:`2px solid transparent`,"outline-offset":`2px`},"outline-dashed":{"outline-style":`dashed`},"outline-dotted":{"outline-style":`dotted`},"outline-double":{"outline-style":`double`},"outline-0":{"outline-width":`0px`},"outline-1":{"outline-width":`1px`},"outline-2":{"outline-width":`2px`},"outline-4":{"outline-width":`4px`},"outline-8":{"outline-width":`8px`},"outline-offset-0":{"outline-offset":`0px`},"outline-offset-1":{"outline-offset":`1px`},"outline-offset-2":{"outline-offset":`2px`},"outline-offset-4":{"outline-offset":`4px`},"outline-offset-8":{"outline-offset":`8px`},"aspect-auto":{"aspect-ratio":`auto`},"aspect-square":{"aspect-ratio":`1 / 1`},"aspect-video":{"aspect-ratio":`16 / 9`},"backdrop-blur-none":{"backdrop-filter":`blur(0)`},"backdrop-blur-sm":{"backdrop-filter":`blur(4px)`},"backdrop-blur":{"backdrop-filter":`blur(8px)`},"backdrop-blur-md":{"backdrop-filter":`blur(12px)`},"backdrop-blur-lg":{"backdrop-filter":`blur(16px)`},"backdrop-blur-xl":{"backdrop-filter":`blur(24px)`},"backdrop-blur-2xl":{"backdrop-filter":`blur(40px)`},"backdrop-blur-3xl":{"backdrop-filter":`blur(64px)`},"transition-none":{transition:`none`},transition:{"transition-property":`all`,"transition-timing-function":`ease-in-out`,"transition-duration":`var(--transition-duration, 150ms)`},"animate-none":{animation:`none`},"animate-spin":{animation:`spin 1s linear infinite`},"animate-ping":{animation:`ping 1s cubic-bezier(0, 0, 0.2, 1) infinite`},"animate-pulse":{animation:`pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite`},"bg-auto":{"background-size":`auto`},"bg-cover":{"background-size":`cover`},"bg-contain":{"background-size":`contain`},"bg-no-repeat":{"background-repeat":`no-repeat`},"bg-fixed":{"background-attachment":`fixed`},"bg-local":{"background-attachment":`local`},"bg-scroll":{"background-attachment":`scroll`},"min-h-screen":{"min-height":`100vh`},"max-h-screen":{"max-height":`100vh`},"min-w-screen":{"min-width":`100vw`},"h-dvh":{height:`100dvh`},"h-svh":{height:`100svh`},"h-lvh":{height:`100lvh`},"w-dvw":{width:`100dvw`},"w-svw":{width:`100svw`},"w-lvw":{width:`100lvw`},"min-h-dvh":{"min-height":`100dvh`},"min-h-svh":{"min-height":`100svh`},"min-h-lvh":{"min-height":`100lvh`},"flex-none":{flex:`none`},"flex-auto":{flex:`1 1 auto`},"flex-initial":{flex:`0 1 auto`},grow:{"flex-grow":`1`},"grow-0":{"flex-grow":`0`},shrink:{"flex-shrink":`1`},"shrink-0":{"flex-shrink":`0`},"self-auto":{"align-self":`auto`},"self-start":{"align-self":`flex-start`},"self-end":{"align-self":`flex-end`},"self-center":{"align-self":`center`},"self-stretch":{"align-self":`stretch`},"self-baseline":{"align-self":`baseline`},"content-normal":{"align-content":`normal`},"content-start":{"align-content":`flex-start`},"content-end":{"align-content":`flex-end`},"content-center":{"align-content":`center`},"content-between":{"align-content":`space-between`},"content-around":{"align-content":`space-around`},"content-evenly":{"align-content":`space-evenly`},"content-stretch":{"align-content":`stretch`},"items-baseline":{"align-items":`baseline`},"inset-0":{inset:`0`},"inset-auto":{inset:`auto`},"inset-x-0":{left:`0`,right:`0`},"inset-y-0":{top:`0`,bottom:`0`},"inset-x-auto":{left:`auto`,right:`auto`},"inset-y-auto":{top:`auto`,bottom:`auto`},"sr-only":{position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,"white-space":`nowrap`,"border-width":`0`},"not-sr-only":{position:`static`,width:`auto`,height:`auto`,padding:`0`,margin:`0`,overflow:`visible`,clip:`auto`,"white-space":`normal`}},ne=[`@keyframes spin {
|
|
2
2
|
from { transform: rotate(0deg) }
|
|
3
3
|
to { transform: rotate(360deg) }
|
|
4
4
|
}`,`@keyframes ping {
|
|
@@ -9,5 +9,5 @@ import{n as e,t}from"./renderer-D5EM0ZYN.js";import{safeStyleEl as n}from"safeva
|
|
|
9
9
|
}`,`@keyframes pulse {
|
|
10
10
|
0%, 100% { opacity: 1 }
|
|
11
11
|
50% { opacity: .5 }
|
|
12
|
-
}`],
|
|
13
|
-
`)),
|
|
12
|
+
}`],_={red:{50:`#ffebee`,100:`#ffcdd2`,200:`#ef9a9a`,300:`#e57373`,400:`#ef5350`,500:`#f44336`,600:`#e53935`,700:`#d32f2f`,800:`#c62828`,900:`#b71c1c`},pink:{50:`#fce4ec`,100:`#f8bbd0`,200:`#f48fb1`,300:`#f06292`,400:`#ec407a`,500:`#e91e63`,600:`#d81b60`,700:`#c2185b`,800:`#ad1457`,900:`#880e4f`},purple:{50:`#f3e5f5`,100:`#e1bee7`,200:`#ce93d8`,300:`#ba68c8`,400:`#ab47bc`,500:`#9c27b0`,600:`#8e24aa`,700:`#7b1fa2`,800:`#6a1b9a`,900:`#4a148c`},"deep-purple":{50:`#ede7f6`,100:`#d1c4e9`,200:`#b39ddb`,300:`#9575cd`,400:`#7e57c2`,500:`#673ab7`,600:`#5e35b1`,700:`#512da8`,800:`#4527a0`,900:`#311b92`},indigo:{50:`#e8eaf6`,100:`#c5cae9`,200:`#9fa8da`,300:`#7986cb`,400:`#5c6bc0`,500:`#3f51b5`,600:`#3949ab`,700:`#303f9f`,800:`#283593`,900:`#1a237e`},blue:{50:`#e3f2fd`,100:`#bbdefb`,200:`#90caf9`,300:`#64b5f6`,400:`#42a5f5`,500:`#2196f3`,600:`#1e88e5`,700:`#1976d2`,800:`#1565c0`,900:`#0d47a1`},"light-blue":{50:`#e1f5fe`,100:`#b3e5fc`,200:`#81d4fa`,300:`#4fc3f7`,400:`#29b6f6`,500:`#03a9f4`,600:`#039be5`,700:`#0288d1`,800:`#0277bd`,900:`#01579b`},cyan:{50:`#e0f7fa`,100:`#b2ebf2`,200:`#80deea`,300:`#4dd0e1`,400:`#26c6da`,500:`#00bcd4`,600:`#00acc1`,700:`#0097a7`,800:`#00838f`,900:`#006064`},teal:{50:`#e0f2f1`,100:`#b2dfdb`,200:`#80cbc4`,300:`#4db6ac`,400:`#26a69a`,500:`#009688`,600:`#00897b`,700:`#00796b`,800:`#00695c`,900:`#004d40`},green:{50:`#e8f5e9`,100:`#c8e6c9`,200:`#a5d6a7`,300:`#81c784`,400:`#66bb6a`,500:`#4caf50`,600:`#43a047`,700:`#388e3c`,800:`#2e7d32`,900:`#1b5e20`},"light-green":{50:`#f1f8e9`,100:`#dcedc8`,200:`#c5e1a5`,300:`#aed581`,400:`#9ccc65`,500:`#8bc34a`,600:`#7cb342`,700:`#689f38`,800:`#558b2f`,900:`#33691e`},lime:{50:`#f9fbe7`,100:`#f0f4c3`,200:`#e6ee9c`,300:`#dce775`,400:`#d4e157`,500:`#cddc39`,600:`#c0ca33`,700:`#afb42b`,800:`#9e9d24`,900:`#827717`},yellow:{50:`#fffde7`,100:`#fff9c4`,200:`#fff59d`,300:`#fff176`,400:`#ffee58`,500:`#ffeb3b`,600:`#fdd835`,700:`#fbc02d`,800:`#f9a825`,900:`#f57f17`},amber:{50:`#fff8e1`,100:`#ffecb3`,200:`#ffe082`,300:`#ffd54f`,400:`#ffca28`,500:`#ffc107`,600:`#ffb300`,700:`#ffa000`,800:`#ff8f00`,900:`#ff6f00`},orange:{50:`#fff3e0`,100:`#ffe0b2`,200:`#ffcc80`,300:`#ffb74d`,400:`#ffa726`,500:`#ff9800`,600:`#fb8c00`,700:`#f57c00`,800:`#ef6c00`,900:`#e65100`},"deep-orange":{50:`#fbe9e7`,100:`#ffccbc`,200:`#ffab91`,300:`#ff8a65`,400:`#ff7043`,500:`#ff5722`,600:`#f4511e`,700:`#e64a19`,800:`#d84315`,900:`#bf360c`},brown:{50:`#efebe9`,100:`#d7ccc8`,200:`#bcaaa4`,300:`#a1887f`,400:`#8d6e63`,500:`#795548`,600:`#6d4c41`,700:`#5d4037`,800:`#4e342e`,900:`#3e2723`},gray:{50:`#fafafa`,100:`#f5f5f5`,200:`#eeeeee`,300:`#e0e0e0`,400:`#bdbdbd`,500:`#9e9e9e`,600:`#757575`,700:`#616161`,800:`#424242`,900:`#212121`},"blue-gray":{50:`#eceff1`,100:`#cfd8dc`,200:`#b0bec5`,300:`#90a4ae`,400:`#78909c`,500:`#607d8b`,600:`#546e7a`,700:`#455a64`,800:`#37474f`,900:`#263238`}};function v(e){return e.map(([e,t])=>`.${e} { ${t} }`)}function y(e){return v(Object.entries(e).flatMap(([e,t])=>[[`${t}-0`,`${e}: 0`],[`${t}-screen`,`${e}: 100v${e.includes(`height`)?`h`:`w`}`],[`${t}-full`,`${e}: 100%`],...u.map(n=>[`${t}-${n}`,`${e}: ${n*s}rem`]),...u.map(n=>[`-${t}-${n}`,`${e}: -${n*s}rem`]),...u.map(n=>[`${t}-${n}px`,`${e}: ${n}px`]),...u.map(n=>[`-${t}-${n}px`,`${e}: -${n}px`]),...d.map(n=>[`${t}-${n}\\%`,`${e}: ${n}%`]),...d.map(n=>[`-${t}-${n}\\%`,`${e}: -${n}%`]),...o.map(([n,r])=>[`${t}-${n}`,`${e}: ${r}px`])]))}function b(e){return v(Object.entries(e).flatMap(([e,t])=>[[`${t}-auto`,`${e}: auto`],[`${t}x-auto`,`${e}-left: auto; ${e}-right: auto;`],[`${t}y-auto`,`${e}-top: auto; ${e}-bottom: auto;`],[`${t}x-0`,`${e}-left: 0; ${e}-right: 0;`],[`${t}y-0`,`${e}-top: 0; ${e}-bottom: 0;`],...u.map(n=>[`${t}x-${n}`,`${e}-left: ${n*s}rem; ${e}-right: ${n*s}rem;`]),...u.map(n=>[`${t}y-${n}`,`${e}-top: ${n*s}rem; ${e}-bottom: ${n*s}rem;`]),...u.map(n=>[`${t}x-${n}px`,`${e}-left: ${n}px; ${e}-right: ${n}px;`]),...u.map(n=>[`${t}y-${n}px`,`${e}-top: ${n}px; ${e}-bottom: ${n}px;`]),...d.map(n=>[`${t}x-${n}\\%`,`${e}-left: ${n}%; ${e}-right: ${n}%;`]),...d.map(n=>[`${t}y-${n}\\%`,`${e}-top: ${n}%; ${e}-bottom: ${n}%;`])]))}function x(e){return v(Object.entries(e).flatMap(([e,t])=>[[`${t}t-0`,`${e}-top: 0`],[`${t}b-0`,`${e}-bottom: 0`],[`${t}l-0`,`${e}-left: 0`],[`${t}r-0`,`${e}-right: 0`],[`${t}t-auto`,`${e}-top: auto`],[`${t}b-auto`,`${e}-bottom: auto`],[`${t}l-auto`,`${e}-left: auto`],[`${t}r-auto`,`${e}-right: auto`],...[``,`-`].flatMap(n=>[...u.map(r=>[`${n}${t}t-${r}`,`${e}-top: ${n}${r*s}rem`]),...u.map(r=>[`${n}${t}b-${r}`,`${e}-bottom: ${n}${r*s}rem`]),...u.map(r=>[`${n}${t}l-${r}`,`${e}-left: ${n}${r*s}rem`]),...u.map(r=>[`${n}${t}r-${r}`,`${e}-right: ${n}${r*s}rem`]),...u.map(r=>[`${n}${t}t-${r}px`,`${e}-top: ${n}${r}px`]),...u.map(r=>[`${n}${t}b-${r}px`,`${e}-bottom: ${n}${r}px`]),...u.map(r=>[`${n}${t}l-${r}px`,`${e}-left: ${n}${r}px`]),...u.map(r=>[`${n}${t}r-${r}px`,`${e}-right: ${n}${r}px`]),...d.map(r=>[`${n}${t}t-${r}\\%`,`${e}-top: ${n}${r}%`]),...d.map(r=>[`${n}${t}b-${r}\\%`,`${e}-bottom: ${n}${r}%`]),...d.map(r=>[`${n}${t}l-${r}\\%`,`${e}-left: ${n}${r}%`]),...d.map(r=>[`${n}${t}r-${r}\\%`,`${e}-right: ${n}${r}%`])])]))}function S(){return v([[`border`,`border: 1px`],[`border-x`,`border-inline-width: 1px`],[`border-y`,`border-block-width: 1px`],...[0,...c].map(e=>[`border-${e}`,`border-width: ${e}px`]),...[0,...c].map(e=>[`border-x-${e}`,`border-inline-width: ${e}px;`]),...[0,...c].map(e=>[`border-y-${e}`,`border-block-width: ${e}px;`]),...[`top`,`bottom`,`left`,`right`].flatMap(e=>[[`border-${e.slice(0,1)}`,`border-${e}: 1px`],...[0,...c].map(t=>[`border-${e.slice(0,1)}-${t}`,`border-${e}-width: ${t}px`])])])}function re(){return v(d.map(e=>[`z-${e}`,`z-index: ${e}`]))}function C(){return v(f.map(e=>[`duration-${e}`,`--transition-duration: ${e}ms; transition-duration: ${e}ms`]))}function ie(){return v([[`space-x-0 > *`,`margin-left: 0`],[`space-y-0 > *`,`margin-top: 0`],...u.map(e=>[`space-x-${e} > :not(:first-child)`,`margin-left: ${e*s}rem`]),...u.map(e=>[`space-y-${e} > :not(:first-child)`,`margin-top: ${e*s}rem`]),...u.map(e=>[`space-x-${e}px > :not(:first-child)`,`margin-left: ${e}px`]),...u.map(e=>[`space-y-${e}px > :not(:first-child)`,`margin-top: ${e}px`]),[`gap-0`,`gap: 0`],...u.map(e=>[`gap-${e}`,`gap: ${e*s}rem`]),...u.map(e=>[`gap-${e}px`,`gap: ${e}px`]),...u.map(e=>[`gap-x-${e}`,`column-gap: ${e*s}rem`]),...u.map(e=>[`gap-y-${e}`,`row-gap: ${e*s}rem`]),...u.map(e=>[`gap-x-${e}px`,`column-gap: ${e}px`]),...u.map(e=>[`gap-y-${e}px`,`row-gap: ${e}px`]),[`divide-x > :not(:last-child)`,`border-inline-end-width: 1px`],[`divide-y > :not(:last-child)`,`border-bottom-width: 1px`],[`divide-x-0 > :not(:last-child)`,`border-inline-end-width: 0px`],[`divide-y-0 > :not(:last-child)`,`border-bottom-width: 0px`],...[2,4,8].map(e=>[`divide-x-${e} > :not(:last-child)`,`border-inline-end-width: ${e}px`]),...[2,4,8].map(e=>[`divide-y-${e} > :not(:last-child)`,`border-bottom-width: ${e}px`]),[`divide-solid > :not(:last-child)`,`border-style: solid`],[`divide-dashed > :not(:last-child)`,`border-style: dashed`],[`divide-dotted > :not(:last-child)`,`border-style: dotted`],[`divide-none > :not(:last-child)`,`border-style: none`]])}function ae(){return v([...Array.from({length:100},(e,t)=>[`text-${t}px`,`font-size: ${t}px`]),...Array.from({length:100},(e,t)=>[`text-${t*s}rem`,`font-size: ${t*s}rem`])])}function oe(){return v([`column`,`row`].flatMap(e=>{let t=e.slice(0,3);return[...Array.from({length:12},(e,t)=>t+1).map(n=>[`grid-${t}s-${n}`,`grid-template-${e}s: repeat(${n}, minmax(0, 1fr))`]),[`grid-${t}s-none`,`grid-template-${e}s: none`],...Array.from({length:12},(e,t)=>t+1).map(n=>[`${t}-span-${n}`,`grid-${e}: span ${n} / span ${n}`]),[`${t}-span-full`,`grid-${e}: 1 / -1`],...Array.from({length:13},(e,t)=>t+1).map(n=>[`${t}-start-${n}`,`grid-${e}-start: ${n}`]),[`${t}-start-auto`,`grid-${e}-start: auto`],...Array.from({length:13},(e,t)=>t+1).map(n=>[`${t}-end-${n}`,`grid-${e}-end: ${n}`]),[`${t}-end-auto`,`grid-${e}-end: auto`]]}))}function w(){return Object.entries(te).map(([e,t])=>`.${e} { ${Object.entries(t).map(([e,t])=>`${e}: ${t}`).join(`; `)} }`)}function T(e){let t=0,n=0,r=0;return e.length===4?(t=parseInt(e[1]+e[1],16),n=parseInt(e[2]+e[2],16),r=parseInt(e[3]+e[3],16)):e.length===7&&(t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16)),`${t} ${n} ${r}`}function E(){let e=(e,t)=>[[`text-${e}`,`color: ${t}`],[`fill-${e}`,`fill: ${t}`],[`bg-${e}`,`background-color: ${t}`],[`border-${e}`,`border-color: ${t}`]];return v([...e(`white`,`#fff`),...e(`black`,`#000`),...e(`transparent`,`transparent`),...Object.entries(_).flatMap(([t,n])=>[...e(t,n[500]),...Object.entries(n).flatMap(([n,r])=>e(`${t}-${n}`,r))])])}function D(){return v([[`opacity-0`,`opacity: 0`],...d.map(e=>[`opacity-${e}`,`opacity: ${e/100}`])])}let O=null;function k(){return O===null&&(O=[...ne,...w(),...E(),...D(),...re(),...C(),...y(h),...y(m),...b(m),...x(p),...y(p),...b(p),...ie(),...y(g),...S(),...ae(),...oe()].join(`
|
|
13
|
+
`)),O}const A={text:`color`,bg:`background-color`,border:`border-color`,fill:`fill`},j=/^(text|bg|border|fill)-([\w-]+)\/(\d+)$/,M={w:`width`,h:`height`,"min-w":`min-width`,"min-h":`min-height`,"max-w":`max-width`,"max-h":`max-height`,m:`margin`,mt:`margin-top`,mr:`margin-right`,mb:`margin-bottom`,ml:`margin-left`,mx:`margin-inline`,my:`margin-block`,p:`padding`,pt:`padding-top`,pr:`padding-right`,pb:`padding-bottom`,pl:`padding-left`,px:`padding-inline`,py:`padding-block`,top:`top`,right:`right`,bottom:`bottom`,left:`left`,gap:`gap`,"gap-x":`column-gap`,"gap-y":`row-gap`,text:`font-size`,z:`z-index`,bg:`background-color`,border:`border-color`},N=/^(-?)([\w-]+)-\[(.+)\]$/,P=/^(hover|focus|disabled|sm|md|lg|xl|dark):(.+)$/,F=[`hover`,`focus`,`disabled`],I=new Set;let L=null;function R(e){if(typeof document>`u`)return null;let t=`.${e}`;for(let e of document.styleSheets)try{for(let n of e.cssRules)if(n instanceof CSSStyleRule&&n.selectorText===t)return n.style.cssText}catch{}return null}function z(){return typeof document<`u`&&typeof CSSStyleSheet<`u`&&typeof document.createElement==`function`}function B(e){return e.replace(/[[\]#.:>+~()'"/]/g,`\\$&`)}function V(){if(!z())return null;if(L)return L;let e=document.createElement(`style`);return e.setAttribute(`data-mancha`,`custom`),document.head.appendChild(e),e.sheet?(L=e.sheet,L):null}function H(e){let t=e.match(N);if(!t)return null;let[,n,r,i]=t,a=M[r];return a?{property:a,value:n?`-${i}`:i}:null}function U(e){let t=e.match(j);if(!t)return null;let[,n,r,i]=t,a=A[n];if(!a)return null;let o=Number.parseInt(i,10);if(o<0||o>100)return null;let s=null;if(r===`white`)s=`#fff`;else if(r===`black`)s=`#000`;else{let e=r.lastIndexOf(`-`);if(e>0){let t=r.substring(0,e),n=Number.parseInt(r.substring(e+1),10);s=_[t]?.[n]??null}s||=_[r]?.[500]??null}return s?{property:a,value:`rgb(${T(s)} / ${o/100})`}:null}function W(e,t){let n=t?`${t.name}:${e}`:e;if(I.has(n))return!0;let r=V();if(!r)return!1;let i=B(n),o=H(e)??U(e),s=o?`${o.property}: ${o.value};`:R(e);if(!s)return!1;let c;c=t?t.type===`pseudo`?`.${i}:${t.name} { ${s} }`:t.name===`dark`?`@media (prefers-color-scheme: dark) { .${i} { ${s} } }`:`@media (min-width: ${a[t.name]}px) { .${i} { ${s} } }`:`.${i} { ${s} }`;try{return r.insertRule(c,r.cssRules.length),I.add(n),!0}catch(e){return console.warn(`Failed to inject CSS rule: ${c}`,e),!1}}function G(e){return e.includes(`[`)||e.includes(`:`)||e.includes(`/`)}function K(e){if(!(!e||!G(e)))for(let t of e.trim().split(/\s+/)){let e=t.match(P);if(e){let[,t,n]=e,r=F.includes(t),i=t in a;if(r||i||t===`dark`){W(n,{type:r?`pseudo`:`media`,name:t});continue}}W(t)}}function q(e=document){if(!z())return;let t=e.querySelectorAll(`[class]`);for(let e of t){let t=e.getAttribute(`class`);t&&K(t)}}function se(){I.clear(),L?.ownerNode&&L.ownerNode.remove(),L=null}function J(){return r([i`*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}`,i`html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}`,i`body{margin:0;line-height:inherit}`,i`hr{height:0;color:inherit;border-top-width:1px}`,i`abbr:where([title]){text-decoration:underline dotted}`,i`b,strong{font-weight:bolder}`,i`code,kbd,samp,pre{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:1em}`,i`small{font-size:80%}`,i`sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}`,i`sub{bottom:-0.25em}`,i`sup{top:-0.5em}`,i`button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}`,i`button,select{text-transform:none}`,i`button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none;cursor:pointer}`,i`:-moz-focusring{outline:auto}`,i`:-moz-ui-invalid{box-shadow:none}`,i`progress{vertical-align:baseline}`,i`::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}`,i`[type='search']{-webkit-appearance:textfield;outline-offset:-2px}`,i`::-webkit-search-decoration{-webkit-appearance:none}`,i`::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}`,i`summary{display:list-item}`,i`blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}`,i`fieldset{margin:0;padding:0}`,i`legend{padding:0}`,i`ol,ul,menu{list-style:none;margin:0;padding:0}`,i`textarea{resize:vertical}`,i`::placeholder{opacity:1;color:#9ca3af}`,i`button,[role="button"]{cursor:pointer}`,i`:disabled{cursor:default;pointer-events:none;opacity:0.75}`,i`img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}`,i`img,video{max-width:100%;height:auto}`,i`[hidden]{display:none}`,i`dialog{padding:0}`,i`dialog::backdrop{background:rgba(0,0,0,0.5)}`])}function Y(){return r([i`html{`,i`max-width: 70ch;`,i`padding: 2em 1em;`,i`margin: auto;`,i`line-height: 1.75;`,i`font-size: 1.25em;`,i`font-family: sans-serif;`,i`}`,i`h1,h2,h3,h4,h5,h6{`,i`margin: 1em 0 0.5em;`,i`}`,i`p,ul,ol{`,i`margin-bottom: 1em;`,i`color: #1d1d1d;`,i`}`])}var X=class extends t{impl=`browser`;dirpath=e(globalThis.location?.href??`http://localhost/`);parseHTML(e,t={rootDocument:!1}){if(t.rootDocument)return new DOMParser().parseFromString(e,`text/html`);{let t=document.createRange();return t.selectNodeContents(document.body),t.createContextualFragment(e)}}serializeHTML(e){return new XMLSerializer().serializeToString(e).replace(/\s?xmlns="[^"]+"/gm,``)}preprocessLocal(e,t){return this.preprocessRemote(e,t)}createElement(e,t){return(t||document).createElement(e)}createComment(e,t){return(t||document).createComment(e)}textContent(e,t){e.textContent=t}};const ce=new X;function Z(e){for(let t of e){t=t.trim();let e=document.createElement(`style`);switch(t){case`minimal`:n.setTextContent(e,Y());break;case`basic`:case`custom`:console.warn(`css="${t}" is deprecated; use css="utils" instead.`);continue;case`utils`:{n.setTextContent(e,J()),globalThis.document.head.appendChild(e);let t=document.createElement(`style`);t.textContent=k(),globalThis.document.head.appendChild(t),q(document);continue}default:console.error(`Unknown style name: "${t}"`);continue}globalThis.document.head.appendChild(e)}}const Q=`mancha-cloak`;function le(e,t){let n=`${e.join(`, `)} { opacity: 0 !important; ${t>0?`transition: opacity ${t}ms ease-in-out !important;`:``} }`,r=document.getElementById(Q);r||(r=document.createElement(`style`),r.id=Q,document.head.appendChild(r)),r.textContent=n}function $(e){let t=!1;return async()=>{if(t)return;t=!0;let n=document.getElementById(Q);if(n){if(e!==!1){let t=n.sheet;t&&t.cssRules.length>0&&t.cssRules[0].style.setProperty(`opacity`,`1`,`important`),await new Promise(t=>setTimeout(t,e))}n.remove()}}}async function ue(e={}){let t;document.documentElement.classList.add(`mancha-loading`);let n=e.cloak?e.cloak===!0?{}:e.cloak:void 0;if(n){let r=e.target?Array.isArray(e.target)?e.target:[e.target]:[`body`],i=n.selector&&(Array.isArray(n.selector)||typeof n.selector==`string`)?Array.isArray(n.selector)?n.selector:[n.selector]:r,a=n.duration??0;le(i,a),t=$(a>0?a:!1)}else t=$(!1);document.readyState===`loading`&&await new Promise(e=>{window.addEventListener(`DOMContentLoaded`,()=>e(),{once:!0})});let r=e.renderer??new X;if(e.css&&e.css.length>0&&Z(e.css),e.debug&&r.debug(!0),e.state)for(let[t,n]of Object.entries(e.state))await r.set(t,n);try{if(e.callback)await e.callback(r);else if(e.target){let t=Array.isArray(e.target)?e.target:[e.target];for(let n of t){let t=globalThis.document.querySelector(n);t?await r.mount(t,{cache:e.cache}):console.error(`Target element not found: "${n}"`)}}}finally{document.documentElement.classList.remove(`mancha-loading`),t&&await t()}return r}export{t as IRenderer,ce as Mancha,X as Renderer,se as _resetCustomCssForTesting,J as basicCssRules,ue as initMancha,Z as injectCss,Y as minimalCssRules,k as utilsCssRules};
|
package/dist/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,yBAAyB;AACzB,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAO,QAA4C,SAAQ,SAAY;IACnE,IAAI,GAAG,SAAS,CAAC;IACP,OAAO,GAAW,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,mBAAmB,CAAC,CAAC;IAC/F,SAAS,CACR,OAAe,EACf,SAAuB,EAAE,YAAY,EAAE,KAAK,EAAE;QAE9C,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,aAAa,CAAC,IAA6B;QAC1C,OAAO,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,eAAe,CACd,KAAa,EACb,MAAoC;QAEpC,6EAA6E;QAC7E,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,GAAW,EAAE,KAAuB;QACjD,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,aAAa,CAAC,OAAe,EAAE,KAAuB;QACrD,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,WAAW,CAAC,IAAU,EAAE,OAAe;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC5B,CAAC;CACD;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;AAKrC
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,yBAAyB;AACzB,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAO,QAA4C,SAAQ,SAAY;IACnE,IAAI,GAAG,SAAS,CAAC;IACP,OAAO,GAAW,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,IAAI,mBAAmB,CAAC,CAAC;IAC/F,SAAS,CACR,OAAe,EACf,SAAuB,EAAE,YAAY,EAAE,KAAK,EAAE;QAE9C,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,aAAa,CAAC,IAA6B;QAC1C,OAAO,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,eAAe,CACd,KAAa,EACb,MAAoC;QAEpC,6EAA6E;QAC7E,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,aAAa,CAAC,GAAW,EAAE,KAAuB;QACjD,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,aAAa,CAAC,OAAe,EAAE,KAAuB;QACrD,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,WAAW,CAAC,IAAU,EAAE,OAAe;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC5B,CAAC;CACD;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;AAKrC;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAgB;IACzC,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QAC7B,SAAS,GAAI,SAAoB,CAAC,IAAI,EAAa,CAAC;QAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,SAAS;gBACb,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;gBACrD,MAAM;YACP,KAAK,OAAO,CAAC;YACb,KAAK,QAAQ;gBACZ,OAAO,CAAC,IAAI,CAAC,QAAQ,SAAS,2CAA2C,CAAC,CAAC;gBAC3E,SAAS;YACV,KAAK,OAAO,CAAC,CAAC,CAAC;gBACd,uEAAuE;gBACvE,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;gBACnD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACnD,UAAU,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC;gBACzC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACjD,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,SAAS;YACV,CAAC;YACD;gBACC,OAAO,CAAC,KAAK,CAAC,wBAAwB,SAAS,GAAG,CAAC,CAAC;gBACpD,SAAS;QACX,CAAC;QACD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC;AAwCD,8CAA8C;AAC9C,MAAM,cAAc,GAAG,cAAc,CAAC;AAEtC;;;;GAIG;AACH,SAAS,UAAU,CAAC,SAAmB,EAAE,QAAgB;IACxD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,sFAAsF;IACtF,wEAAwE;IACxE,MAAM,UAAU,GACf,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,QAAQ,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,GAAG,GAAG,GAAG,YAAY,6BAA6B,UAAU,IAAI,CAAC;IAEvE,IAAI,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,KAAK,CAAC,EAAE,GAAG,cAAc,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,4CAA4C;IAC5C,iFAAiF;IACjF,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,OAAuB;IAC/C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO,KAAK,IAAmB,EAAE;QAChC,0BAA0B;QAC1B,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QAEd,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAqB,CAAC;QAC1E,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACvB,0EAA0E;YAC1E,0DAA0D;YAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAiB,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;YAED,kCAAkC;YAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,kCAAkC;QAClC,KAAK,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,UAAgC,EAAE;IAElC,8CAA8C;IAC9C,mEAAmE;IACnE,IAAI,OAA0C,CAAC;IAC/C,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEzD,MAAM,SAAS,GAA6B,OAAO,CAAC,KAAK;QACxD,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI;YACvB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,OAAO,CAAC,KAAK;QAChB,CAAC,CAAC,SAAS,CAAC;IAEb,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM;YACtC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC9B,CAAC,CAAC,OAAO,CAAC,MAAM;gBAChB,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACnB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACZ,MAAM,cAAc,GACnB,SAAS,CAAC,QAAQ;YAClB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAC5E,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAClC,CAAC,CAAC,SAAS,CAAC,QAAQ;gBACpB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,gBAAgB,CAAC;QAErB,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEhD,4BAA4B;QAC5B,UAAU,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAE5C,4BAA4B;QAC5B,OAAO,GAAG,eAAe,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACP,+EAA+E;QAC/E,uFAAuF;QACvF,sDAAsD;QACtD,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,6CAA6C;IAC7C,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAK,CAAC;IAEvD,2BAA2B;IAC3B,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,mFAAmF;IACnF,IAAI,CAAC;QACJ,iEAAiE;QACjE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3B,mDAAmD;YACnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC1D,IAAI,OAAO,EAAE,CAAC;oBACb,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAsC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxF,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,KAAK,CAAC,8BAA8B,MAAM,GAAG,CAAC,CAAC;gBACxD,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAE5D,+DAA+D;QAC/D,0DAA0D;QAC1D,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
package/dist/css_custom.d.ts
CHANGED
|
@@ -5,6 +5,11 @@ export declare function parseCustomValueClass(className: string): {
|
|
|
5
5
|
property: string;
|
|
6
6
|
value: string;
|
|
7
7
|
} | null;
|
|
8
|
+
/** Parse a color opacity class like bg-red-500/50. */
|
|
9
|
+
export declare function parseColorOpacityClass(className: string): {
|
|
10
|
+
property: string;
|
|
11
|
+
value: string;
|
|
12
|
+
} | null;
|
|
8
13
|
/** Inject a single custom value class (with optional variant). */
|
|
9
14
|
export declare function injectCustomClass(className: string, variant?: {
|
|
10
15
|
type: "pseudo" | "media";
|
package/dist/css_custom.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import { MEDIA_BREAKPOINTS } from "./css_gen_utils.js";
|
|
1
|
+
import { hexToRgb, MEDIA_BREAKPOINTS, PROPS_COLORS } from "./css_gen_utils.js";
|
|
2
|
+
// Color property prefix to CSS property mapping.
|
|
3
|
+
const COLOR_PROPERTY_MAP = {
|
|
4
|
+
text: "color",
|
|
5
|
+
bg: "background-color",
|
|
6
|
+
border: "border-color",
|
|
7
|
+
fill: "fill",
|
|
8
|
+
};
|
|
9
|
+
// Color opacity pattern: (text|bg|border|fill)-(color)(-shade)?/(opacity)
|
|
10
|
+
const COLOR_OPACITY_PATTERN = /^(text|bg|border|fill)-([\w-]+)\/(\d+)$/;
|
|
2
11
|
// Property prefix to CSS property mapping.
|
|
3
12
|
const PROPERTY_MAP = {
|
|
4
13
|
// Sizing.
|
|
@@ -40,11 +49,30 @@ const PROPERTY_MAP = {
|
|
|
40
49
|
};
|
|
41
50
|
// Pattern: optional-negative + prefix + bracket-value.
|
|
42
51
|
const CUSTOM_VALUE_PATTERN = /^(-?)([\w-]+)-\[(.+)\]$/;
|
|
43
|
-
const VARIANT_PATTERN = /^(hover|focus|disabled|sm|md|lg|xl):(.+)$/;
|
|
52
|
+
const VARIANT_PATTERN = /^(hover|focus|disabled|sm|md|lg|xl|dark):(.+)$/;
|
|
44
53
|
const PSEUDO_STATES = ["hover", "focus", "disabled"];
|
|
45
54
|
// Module state.
|
|
46
55
|
const injectedRules = new Set();
|
|
47
56
|
let styleSheet = null;
|
|
57
|
+
/** Look up CSS declarations for an existing class from document stylesheets. */
|
|
58
|
+
function findRuleDeclarations(className) {
|
|
59
|
+
if (typeof document === "undefined")
|
|
60
|
+
return null;
|
|
61
|
+
const targetSelector = `.${className}`;
|
|
62
|
+
for (const sheet of document.styleSheets) {
|
|
63
|
+
try {
|
|
64
|
+
for (const rule of sheet.cssRules) {
|
|
65
|
+
if (rule instanceof CSSStyleRule && rule.selectorText === targetSelector) {
|
|
66
|
+
return rule.style.cssText;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
// Cross-origin stylesheets throw SecurityError.
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
48
76
|
/** Check if CSSStyleSheet API is available. */
|
|
49
77
|
export function isSupported() {
|
|
50
78
|
return (typeof document !== "undefined" &&
|
|
@@ -53,7 +81,7 @@ export function isSupported() {
|
|
|
53
81
|
}
|
|
54
82
|
/** Escape CSS selector special characters. */
|
|
55
83
|
function escapeSelector(str) {
|
|
56
|
-
return str.replace(/[[\]#.:>+~()'"]/g, "\\$&");
|
|
84
|
+
return str.replace(/[[\]#.:>+~()'"/]/g, "\\$&");
|
|
57
85
|
}
|
|
58
86
|
/** Get or create the stylesheet. */
|
|
59
87
|
function getStyleSheet() {
|
|
@@ -82,30 +110,73 @@ export function parseCustomValueClass(className) {
|
|
|
82
110
|
const value = negative ? `-${rawValue}` : rawValue;
|
|
83
111
|
return { property, value };
|
|
84
112
|
}
|
|
113
|
+
/** Parse a color opacity class like bg-red-500/50. */
|
|
114
|
+
export function parseColorOpacityClass(className) {
|
|
115
|
+
const match = className.match(COLOR_OPACITY_PATTERN);
|
|
116
|
+
if (!match)
|
|
117
|
+
return null;
|
|
118
|
+
const [, prefix, colorPart, opacityStr] = match;
|
|
119
|
+
const property = COLOR_PROPERTY_MAP[prefix];
|
|
120
|
+
if (!property)
|
|
121
|
+
return null;
|
|
122
|
+
const opacity = Number.parseInt(opacityStr, 10);
|
|
123
|
+
if (opacity < 0 || opacity > 100)
|
|
124
|
+
return null;
|
|
125
|
+
// Resolve color hex value.
|
|
126
|
+
let hex = null;
|
|
127
|
+
if (colorPart === "white")
|
|
128
|
+
hex = "#fff";
|
|
129
|
+
else if (colorPart === "black")
|
|
130
|
+
hex = "#000";
|
|
131
|
+
else {
|
|
132
|
+
// Try color-shade (e.g., "red-500") or plain color (e.g., "red" → shade 500).
|
|
133
|
+
const dashIdx = colorPart.lastIndexOf("-");
|
|
134
|
+
if (dashIdx > 0) {
|
|
135
|
+
const colorName = colorPart.substring(0, dashIdx);
|
|
136
|
+
const shade = Number.parseInt(colorPart.substring(dashIdx + 1), 10);
|
|
137
|
+
hex = PROPS_COLORS[colorName]?.[shade] ?? null;
|
|
138
|
+
}
|
|
139
|
+
if (!hex) {
|
|
140
|
+
hex = PROPS_COLORS[colorPart]?.[500] ?? null;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (!hex)
|
|
144
|
+
return null;
|
|
145
|
+
const rgb = hexToRgb(hex);
|
|
146
|
+
const alpha = opacity / 100;
|
|
147
|
+
return { property, value: `rgb(${rgb} / ${alpha})` };
|
|
148
|
+
}
|
|
85
149
|
/** Inject a single custom value class (with optional variant). */
|
|
86
150
|
export function injectCustomClass(className, variant) {
|
|
87
151
|
const fullClassName = variant ? `${variant.name}:${className}` : className;
|
|
88
152
|
// Already injected.
|
|
89
153
|
if (injectedRules.has(fullClassName))
|
|
90
154
|
return true;
|
|
91
|
-
const parsed = parseCustomValueClass(className);
|
|
92
|
-
if (!parsed)
|
|
93
|
-
return false;
|
|
94
155
|
const sheet = getStyleSheet();
|
|
95
156
|
if (!sheet)
|
|
96
157
|
return false;
|
|
97
|
-
const { property, value } = parsed;
|
|
98
158
|
const escapedClass = escapeSelector(fullClassName);
|
|
159
|
+
// Resolve CSS declarations: try parsers, then fall back to stylesheet lookup.
|
|
160
|
+
const parsed = parseCustomValueClass(className) ?? parseColorOpacityClass(className);
|
|
161
|
+
const declarations = parsed
|
|
162
|
+
? `${parsed.property}: ${parsed.value};`
|
|
163
|
+
: findRuleDeclarations(className);
|
|
164
|
+
if (!declarations)
|
|
165
|
+
return false;
|
|
166
|
+
// Build the rule based on variant type.
|
|
99
167
|
let rule;
|
|
100
168
|
if (!variant) {
|
|
101
|
-
rule = `.${escapedClass} { ${
|
|
169
|
+
rule = `.${escapedClass} { ${declarations} }`;
|
|
102
170
|
}
|
|
103
171
|
else if (variant.type === "pseudo") {
|
|
104
|
-
rule = `.${escapedClass}:${variant.name} { ${
|
|
172
|
+
rule = `.${escapedClass}:${variant.name} { ${declarations} }`;
|
|
173
|
+
}
|
|
174
|
+
else if (variant.name === "dark") {
|
|
175
|
+
rule = `@media (prefers-color-scheme: dark) { .${escapedClass} { ${declarations} } }`;
|
|
105
176
|
}
|
|
106
177
|
else {
|
|
107
178
|
const bp = MEDIA_BREAKPOINTS[variant.name];
|
|
108
|
-
rule = `@media (min-width: ${bp}px) { .${escapedClass} { ${
|
|
179
|
+
rule = `@media (min-width: ${bp}px) { .${escapedClass} { ${declarations} } }`;
|
|
109
180
|
}
|
|
110
181
|
try {
|
|
111
182
|
sheet.insertRule(rule, sheet.cssRules.length);
|
|
@@ -117,9 +188,13 @@ export function injectCustomClass(className, variant) {
|
|
|
117
188
|
return false;
|
|
118
189
|
}
|
|
119
190
|
}
|
|
191
|
+
/** Check if a class string contains any patterns that need on-demand injection. */
|
|
192
|
+
function needsProcessing(classString) {
|
|
193
|
+
return classString.includes("[") || classString.includes(":") || classString.includes("/");
|
|
194
|
+
}
|
|
120
195
|
/** Process a class string, inject CSS for any custom values. */
|
|
121
196
|
export function processClassString(classString) {
|
|
122
|
-
if (!classString || !classString
|
|
197
|
+
if (!classString || !needsProcessing(classString))
|
|
123
198
|
return;
|
|
124
199
|
for (const cls of classString.trim().split(/\s+/)) {
|
|
125
200
|
// Check for variant prefix.
|
|
@@ -128,7 +203,8 @@ export function processClassString(classString) {
|
|
|
128
203
|
const [, variantName, baseClass] = variantMatch;
|
|
129
204
|
const isPseudo = PSEUDO_STATES.includes(variantName);
|
|
130
205
|
const isMedia = variantName in MEDIA_BREAKPOINTS;
|
|
131
|
-
|
|
206
|
+
const isDark = variantName === "dark";
|
|
207
|
+
if (isPseudo || isMedia || isDark) {
|
|
132
208
|
injectCustomClass(baseClass, {
|
|
133
209
|
type: isPseudo ? "pseudo" : "media",
|
|
134
210
|
name: variantName,
|
package/dist/css_custom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css_custom.js","sourceRoot":"","sources":["../src/css_custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"css_custom.js","sourceRoot":"","sources":["../src/css_custom.ts"],"names":[],"mappings":"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"}
|
package/dist/css_gen_utils.d.ts
CHANGED
package/dist/css_gen_utils.js
CHANGED
|
@@ -14,7 +14,6 @@ export const UNITS_ALL = [
|
|
|
14
14
|
export const PERCENTS = Array.from({ length: 20 }, (_, i) => (i + 1) * 5);
|
|
15
15
|
export const COLOR_OPACITY_MODIFIERS = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
|
|
16
16
|
export const DURATIONS = [25, 50, 75, 100, 150, 200, 300, 500, 700, 1000];
|
|
17
|
-
const PSEUDO_STATES = ["hover", "focus", "disabled"];
|
|
18
17
|
export const PROPS_SPACING = {
|
|
19
18
|
margin: "m",
|
|
20
19
|
padding: "p",
|
|
@@ -631,38 +630,12 @@ export const PROPS_COLORS = {
|
|
|
631
630
|
900: "#263238",
|
|
632
631
|
},
|
|
633
632
|
};
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
}
|
|
637
|
-
function wrapMediaQueries(klass, rule) {
|
|
638
|
-
return MEDIA_ENTRIES.map(([bp, width]) => `@media (min-width: ${width}px) { .${bp}\\:${klass} { ${rule} } }`);
|
|
639
|
-
}
|
|
640
|
-
function wrapAll(pairs) {
|
|
641
|
-
return pairs.flatMap(([klass, rule]) => [
|
|
642
|
-
`.${klass} { ${rule} }`,
|
|
643
|
-
`${wrapPseudoStates(klass).join(",")} { ${rule} }`,
|
|
644
|
-
...wrapMediaQueries(klass, rule),
|
|
645
|
-
]);
|
|
646
|
-
}
|
|
647
|
-
// Lighter wrapper without media queries - for utilities like colors that rarely need responsive variants
|
|
648
|
-
function wrapBase(pairs) {
|
|
649
|
-
return pairs.flatMap(([klass, rule]) => [
|
|
650
|
-
`.${klass} { ${rule} }`,
|
|
651
|
-
`${wrapPseudoStates(klass).join(",")} { ${rule} }`,
|
|
652
|
-
]);
|
|
653
|
-
}
|
|
654
|
-
function ruleSorter(a, b) {
|
|
655
|
-
// Media queries start with '@', regular rules start with '.'
|
|
656
|
-
const aMedia = a[0] === "@";
|
|
657
|
-
const bMedia = b[0] === "@";
|
|
658
|
-
if (aMedia && !bMedia)
|
|
659
|
-
return 1;
|
|
660
|
-
if (!aMedia && bMedia)
|
|
661
|
-
return -1;
|
|
662
|
-
return a.localeCompare(b);
|
|
633
|
+
// Pseudo-state and responsive variants are now generated on-demand by css_custom.ts.
|
|
634
|
+
function wrap(pairs) {
|
|
635
|
+
return pairs.map(([klass, rule]) => `.${klass} { ${rule} }`);
|
|
663
636
|
}
|
|
664
637
|
function posneg(props) {
|
|
665
|
-
return
|
|
638
|
+
return wrap(Object.entries(props).flatMap(([prop, klass]) => [
|
|
666
639
|
[`${klass}-0`, `${prop}: 0`],
|
|
667
640
|
[`${klass}-screen`, `${prop}: 100v${prop.includes("height") ? "h" : "w"}`],
|
|
668
641
|
[`${klass}-full`, `${prop}: 100%`],
|
|
@@ -676,7 +649,7 @@ function posneg(props) {
|
|
|
676
649
|
]));
|
|
677
650
|
}
|
|
678
651
|
function autoxy(props) {
|
|
679
|
-
return
|
|
652
|
+
return wrap(Object.entries(props).flatMap(([prop, klass]) => [
|
|
680
653
|
[`${klass}-auto`, `${prop}: auto`],
|
|
681
654
|
[`${klass}x-auto`, `${prop}-left: auto; ${prop}-right: auto;`],
|
|
682
655
|
[`${klass}y-auto`, `${prop}-top: auto; ${prop}-bottom: auto;`],
|
|
@@ -697,7 +670,7 @@ function autoxy(props) {
|
|
|
697
670
|
]));
|
|
698
671
|
}
|
|
699
672
|
function tblr(props) {
|
|
700
|
-
return
|
|
673
|
+
return wrap(Object.entries(props).flatMap(([prop, klass]) => [
|
|
701
674
|
[`${klass}t-0`, `${prop}-top: 0`],
|
|
702
675
|
[`${klass}b-0`, `${prop}-bottom: 0`],
|
|
703
676
|
[`${klass}l-0`, `${prop}-left: 0`],
|
|
@@ -735,7 +708,7 @@ function tblr(props) {
|
|
|
735
708
|
]));
|
|
736
709
|
}
|
|
737
710
|
function border() {
|
|
738
|
-
return
|
|
711
|
+
return wrap([
|
|
739
712
|
[`border`, `border: 1px`],
|
|
740
713
|
[`border-x`, `border-inline-width: 1px`],
|
|
741
714
|
[`border-y`, `border-block-width: 1px`],
|
|
@@ -752,16 +725,16 @@ function border() {
|
|
|
752
725
|
]);
|
|
753
726
|
}
|
|
754
727
|
function zIndex() {
|
|
755
|
-
return
|
|
728
|
+
return wrap(PERCENTS.map((v) => [`z-${v}`, `z-index: ${v}`]));
|
|
756
729
|
}
|
|
757
730
|
function transitions() {
|
|
758
|
-
return
|
|
731
|
+
return wrap(DURATIONS.map((v) => [
|
|
759
732
|
`duration-${v}`,
|
|
760
733
|
`--transition-duration: ${v}ms; transition-duration: ${v}ms`,
|
|
761
734
|
]));
|
|
762
735
|
}
|
|
763
736
|
function between() {
|
|
764
|
-
return
|
|
737
|
+
return wrap([
|
|
765
738
|
[`space-x-0 > *`, `margin-left: 0`],
|
|
766
739
|
[`space-y-0 > *`, `margin-top: 0`],
|
|
767
740
|
...UNITS_ALL.map((v) => [
|
|
@@ -798,7 +771,7 @@ function between() {
|
|
|
798
771
|
]);
|
|
799
772
|
}
|
|
800
773
|
function textSizes() {
|
|
801
|
-
return
|
|
774
|
+
return wrap([
|
|
802
775
|
...Array.from({ length: 100 }, (_, i) => [`text-${i}px`, `font-size: ${i}px`]),
|
|
803
776
|
...Array.from({ length: 100 }, (_, i) => [
|
|
804
777
|
`text-${i * REM_UNIT}rem`,
|
|
@@ -807,7 +780,7 @@ function textSizes() {
|
|
|
807
780
|
]);
|
|
808
781
|
}
|
|
809
782
|
function gridPatterns() {
|
|
810
|
-
return
|
|
783
|
+
return wrap(["column", "row"].flatMap((axis) => {
|
|
811
784
|
const short = axis.slice(0, 3);
|
|
812
785
|
return [
|
|
813
786
|
// Grid template: grid-cols-*, grid-rows-*
|
|
@@ -837,18 +810,14 @@ function gridPatterns() {
|
|
|
837
810
|
}));
|
|
838
811
|
}
|
|
839
812
|
function custom() {
|
|
840
|
-
return Object.entries(PROPS_CUSTOM).
|
|
813
|
+
return Object.entries(PROPS_CUSTOM).map(([klass, props]) => {
|
|
841
814
|
const rules = Object.entries(props)
|
|
842
815
|
.map(([k, v]) => `${k}: ${v}`)
|
|
843
816
|
.join("; ");
|
|
844
|
-
return
|
|
845
|
-
`.${klass} { ${rules} }`,
|
|
846
|
-
`${wrapPseudoStates(klass).join(",")} { ${rules} }`,
|
|
847
|
-
...wrapMediaQueries(klass, rules),
|
|
848
|
-
];
|
|
817
|
+
return `.${klass} { ${rules} }`;
|
|
849
818
|
});
|
|
850
819
|
}
|
|
851
|
-
function hexToRgb(hex) {
|
|
820
|
+
export function hexToRgb(hex) {
|
|
852
821
|
let r = 0, g = 0, b = 0;
|
|
853
822
|
if (hex.length === 4) {
|
|
854
823
|
r = parseInt(hex[1] + hex[1], 16);
|
|
@@ -862,24 +831,15 @@ function hexToRgb(hex) {
|
|
|
862
831
|
}
|
|
863
832
|
return `${r} ${g} ${b}`;
|
|
864
833
|
}
|
|
834
|
+
// Color opacity variants are now generated on-demand by css_custom.ts.
|
|
865
835
|
function colors() {
|
|
866
|
-
const colorVariants = (color, value) =>
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
if (value.startsWith("#")) {
|
|
874
|
-
const rgb = hexToRgb(value);
|
|
875
|
-
for (const opacity of COLOR_OPACITY_MODIFIERS) {
|
|
876
|
-
const alpha = opacity / 100;
|
|
877
|
-
variants.push([`text-${color}\\/${opacity}`, `color: rgb(${rgb} / ${alpha})`], [`bg-${color}\\/${opacity}`, `background-color: rgb(${rgb} / ${alpha})`], [`border-${color}\\/${opacity}`, `border-color: rgb(${rgb} / ${alpha})`]);
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
return variants;
|
|
881
|
-
};
|
|
882
|
-
return wrapBase([
|
|
836
|
+
const colorVariants = (color, value) => [
|
|
837
|
+
[`text-${color}`, `color: ${value}`],
|
|
838
|
+
[`fill-${color}`, `fill: ${value}`],
|
|
839
|
+
[`bg-${color}`, `background-color: ${value}`],
|
|
840
|
+
[`border-${color}`, `border-color: ${value}`],
|
|
841
|
+
];
|
|
842
|
+
return wrap([
|
|
883
843
|
...colorVariants("white", "#fff"),
|
|
884
844
|
...colorVariants("black", "#000"),
|
|
885
845
|
...colorVariants("transparent", "transparent"),
|
|
@@ -890,7 +850,7 @@ function colors() {
|
|
|
890
850
|
]);
|
|
891
851
|
}
|
|
892
852
|
function opacity() {
|
|
893
|
-
return
|
|
853
|
+
return wrap([
|
|
894
854
|
[`opacity-0`, `opacity: 0`],
|
|
895
855
|
...PERCENTS.map((v) => [`opacity-${v}`, `opacity: ${v / 100}`]),
|
|
896
856
|
]);
|
|
@@ -930,10 +890,7 @@ export default function rules() {
|
|
|
930
890
|
...textSizes(),
|
|
931
891
|
// Grid.
|
|
932
892
|
...gridPatterns(),
|
|
933
|
-
]
|
|
934
|
-
// Sort lexicographical to ensure media queries appear after their base rules.
|
|
935
|
-
.sort(ruleSorter)
|
|
936
|
-
.join("\n");
|
|
893
|
+
].join("\n");
|
|
937
894
|
return cachedRules;
|
|
938
895
|
}
|
|
939
896
|
//# sourceMappingURL=css_gen_utils.js.map
|