bernova 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +1778 -0
- package/dist/bin/bernova.js +2 -0
- package/dist/bin/buildstyle.js +2 -0
- package/dist/bin/createConfigFile.js +2 -0
- package/dist/bin/declareCssType.js +1 -0
- package/dist/index.js +1 -0
- package/dist/src/app.js +1 -0
- package/dist/src/constants/compilerType.js +1 -0
- package/dist/src/constants/cssAdvancedSelectors.js +1 -0
- package/dist/src/constants/cssProps.js +1 -0
- package/dist/src/constants/cssPseudoClasses.js +1 -0
- package/dist/src/constants/cssPseudoElements.js +1 -0
- package/dist/src/constants/index.js +1 -0
- package/dist/src/constants/resetCss.js +1 -0
- package/dist/src/index.d.ts +31 -0
- package/dist/src/index.js +1 -0
- package/dist/src/lib/compileConfig.js +1 -0
- package/dist/src/lib/compileThemes.js +1 -0
- package/dist/src/lib/copyLocalFonts/copyLocalFonts.utils.js +1 -0
- package/dist/src/lib/copyLocalFonts/generateCssFonts.utils.js +1 -0
- package/dist/src/lib/extractDocFragment/extractDocFragment.utils.js +1 -0
- package/dist/src/lib/fileExists/fileExists.utils.js +1 -0
- package/dist/src/lib/generateBaseCss/generateBaseCss.utils.js +1 -0
- package/dist/src/lib/generateCss/generateCSS.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/advanceselector/advancedSelectorHandler.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/attribute/attributeHandler.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/classnames/formatClassName.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/classnames/handlerRegister.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/cssVars/generateVars.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/dynamicValues/dynamicValues.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/dynamicValues/processDynamic.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/filterGenerateCss.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/foreign/foreignHandler.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/generateCssStyles.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/index.js +1 -0
- package/dist/src/lib/generateCss/helpers/mediaqueries/generateMediaQueries.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/mediaqueries/mediaQueriesHandler.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/other/declareCssType.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/other/generateGlobalStyles.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/pseudo/pseudoHandler.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/rulename/formatRuleName.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/utils/extractValues.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/utils/formattedStatKey.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/utils/index.js +1 -0
- package/dist/src/lib/generateCss/helpers/utils/processCss.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/utils/separateStyles.utils.js +1 -0
- package/dist/src/lib/generateCss/helpers/utils/validatePreviouslyExists.utils.js +1 -0
- package/dist/src/lib/generateCssDoc/generateCssDoc.util.js +1 -0
- package/dist/src/lib/generateProvider/generateProvider.utils.js +1 -0
- package/dist/src/lib/generateProvider/template/providerTemplate.d.ts +60 -0
- package/dist/src/lib/generateProvider/template/providerTemplate.js +1 -0
- package/dist/src/lib/generateThemeRegister/generateThemeRegister.utils.js +1 -0
- package/dist/src/lib/generateTools/generateTools.utils.js +1 -0
- package/dist/src/lib/generateTypesTools/generateTypesTools.utils.js +1 -0
- package/dist/src/lib/handlerForeignThemes/handlerForeignThemes.utils.js +1 -0
- package/dist/src/lib/index.js +1 -0
- package/dist/src/lib/processMediaConfig/processMediaConfig.util.js +1 -0
- package/dist/src/lib/readFile/readFile.utils.js +1 -0
- package/dist/src/lib/simplifyName/simplifyName.utils.js +1 -0
- package/dist/src/lib/typingStyles/index.js +1 -0
- package/dist/src/lib/typingStyles/typingStyles.utils.js +1 -0
- package/dist/src/lib/writeDoc/writeDoc.utils.js +1 -0
- package/package.json +80 -0
- package/src/app.js +176 -0
- package/src/constants/__tests__/compilerType.test.js +20 -0
- package/src/constants/__tests__/cssAdvancedSelectors.test.js +38 -0
- package/src/constants/__tests__/cssProps.test.js +331 -0
- package/src/constants/__tests__/cssPseudoClasses.test.js +48 -0
- package/src/constants/compilerType.js +14 -0
- package/src/constants/cssAdvancedSelectors.js +32 -0
- package/src/constants/cssProps.js +325 -0
- package/src/constants/cssPseudoClasses.js +138 -0
- package/src/constants/cssPseudoElements.js +83 -0
- package/src/constants/index.js +15 -0
- package/src/constants/resetCss.js +171 -0
- package/src/index.d.ts +31 -0
- package/src/index.js +20 -0
- package/src/lib/compileConfig.js +59 -0
- package/src/lib/compileThemes.js +118 -0
- package/src/lib/copyLocalFonts/copyLocalFonts.utils.js +42 -0
- package/src/lib/copyLocalFonts/generateCssFonts.utils.js +56 -0
- package/src/lib/extractDocFragment/extractDocFragment.utils.js +25 -0
- package/src/lib/fileExists/fileExists.utils.js +31 -0
- package/src/lib/generateBaseCss/generateBaseCss.utils.js +51 -0
- package/src/lib/generateCss/generateCSS.utils.js +42 -0
- package/src/lib/generateCss/helpers/advanceselector/advancedSelectorHandler.utils.js +22 -0
- package/src/lib/generateCss/helpers/attribute/attributeHandler.utils.js +47 -0
- package/src/lib/generateCss/helpers/classnames/formatClassName.utils.js +28 -0
- package/src/lib/generateCss/helpers/classnames/handlerRegister.utils.js +124 -0
- package/src/lib/generateCss/helpers/cssVars/generateVars.utils.js +73 -0
- package/src/lib/generateCss/helpers/dynamicValues/dynamicValues.utils.js +72 -0
- package/src/lib/generateCss/helpers/dynamicValues/processDynamic.utils.js +10 -0
- package/src/lib/generateCss/helpers/filterGenerateCss.utils.js +73 -0
- package/src/lib/generateCss/helpers/foreign/foreignHandler.utils.js +85 -0
- package/src/lib/generateCss/helpers/generateCssStyles.utils.js +249 -0
- package/src/lib/generateCss/helpers/index.js +53 -0
- package/src/lib/generateCss/helpers/mediaqueries/generateMediaQueries.utils.js +9 -0
- package/src/lib/generateCss/helpers/mediaqueries/mediaQueriesHandler.utils.js +181 -0
- package/src/lib/generateCss/helpers/other/declareCssType.utils.js +120 -0
- package/src/lib/generateCss/helpers/other/generateGlobalStyles.utils.js +30 -0
- package/src/lib/generateCss/helpers/pseudo/pseudoHandler.utils.js +56 -0
- package/src/lib/generateCss/helpers/rulename/formatRuleName.utils.js +163 -0
- package/src/lib/generateCss/helpers/utils/extractValues.utils.js +44 -0
- package/src/lib/generateCss/helpers/utils/formattedStatKey.utils.js +43 -0
- package/src/lib/generateCss/helpers/utils/index.js +15 -0
- package/src/lib/generateCss/helpers/utils/processCss.utils.js +93 -0
- package/src/lib/generateCss/helpers/utils/separateStyles.utils.js +43 -0
- package/src/lib/generateCss/helpers/utils/validatePreviouslyExists.utils.js +61 -0
- package/src/lib/generateCssDoc/generateCssDoc.util.js +47 -0
- package/src/lib/generateProvider/generateProvider.utils.js +283 -0
- package/src/lib/generateProvider/template/providerTemplate.d.ts +60 -0
- package/src/lib/generateProvider/template/providerTemplate.js +160 -0
- package/src/lib/generateThemeRegister/generateThemeRegister.utils.js +136 -0
- package/src/lib/generateTools/generateTools.utils.js +181 -0
- package/src/lib/generateTypesTools/generateTypesTools.utils.js +59 -0
- package/src/lib/handlerForeignThemes/handlerForeignThemes.utils.js +96 -0
- package/src/lib/index.js +61 -0
- package/src/lib/processMediaConfig/processMediaConfig.util.js +32 -0
- package/src/lib/readFile/readFile.utils.js +110 -0
- package/src/lib/simplifyName/__tests__/simplifyName.utils.test.js +87 -0
- package/src/lib/simplifyName/simplifyName.utils.js +28 -0
- package/src/lib/typingStyles/index.js +3 -0
- package/src/lib/typingStyles/typingStyles.utils.js +144 -0
- package/src/lib/writeDoc/writeDoc.utils.js +30 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const{bernovaStyles:e}=require("../src/app.js"),{compilerTypeValid:r}=require("../src/constants/compilerType.js");(async()=>{const{default:o}=await import("ora"),s=o("Starting Bernova compilation process...").start();try{const o=(process.argv.find(e=>e===`--${r.full}`||e===`--${r.foundationOnly}`||e===`--${r.componentOnly}`)||`--${r.full}`).replace("--","");await e(o),s.succeed("Bernova compilation process completed successfully.")}catch(e){s.fail("An error occurred during the Bernova compilation process."),console.error("Error details:",e.message),process.exit(1)}})();
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const e=require("clean-css"),r=require("fs").promises,i=require("path"),{readConfigData:s}=require("../dist/helpers/readFile.utils.js");(async()=>{const{default:t}=await import("ora"),c=t("Starting CSS build process...").start();try{const t=i.resolve(process.cwd(),"bernova.config.json"),a=await s(t),o=i.resolve(__dirname,"../styles/bernova.css"),{outputDir:n}=a;let l=!0;try{await r.access(o),c.succeed("Source CSS file found.")}catch(e){l=!1,c.info("Source CSS file does not exist, will create default.")}l||(c.start("Creating default CSS file..."),await r.mkdir(i.dirname(o),{recursive:!0}),await r.writeFile(o,"/* Generated by Bernova - run compilation first */"),c.succeed("Default CSS file created.")),c.start("Reading source CSS file...");const u=await r.readFile(o,"utf8");c.succeed("Source CSS file loaded successfully."),c.start("Minifying CSS...");const d=new e({level:2,returnPromise:!1}).minify(u);if(d.errors&&d.errors.length>0)throw new Error(`CSS minification errors: ${d.errors.join(", ")}`);c.succeed(`CSS minified successfully (${Math.round(100*(1-d.styles.length/u.length))}% reduction).`);const S=n||"./dist",f=i.resolve(process.cwd(),S,"bernova.min.css");c.start("Ensuring output directory exists..."),await r.mkdir(i.dirname(f),{recursive:!0}),c.succeed("Output directory ready."),c.start("Writing minified CSS to output file..."),await r.writeFile(f,d.styles),c.succeed(`Minified CSS written to: ${f}`),c.succeed("CSS build process completed successfully.")}catch(e){c.fail("CSS build process failed."),console.error("Build error:",e.message),process.exit(1)}})();
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const e=require("fs").promises,t=require("path"),s={themes:[{name:"default",foundations:{name:"FOUNDATIONS",path:"./src/design/foundations.ts"},theme:{name:"BERNOVA_STYLES",path:"./src/design/theme.ts"},globalStyles:{name:"GLOBAL_STYLES",path:"./src/design/globalStyles.ts"},mediaQueries:{name:"MEDIA_QUERIES",path:"./src/design/mediaQueries.ts"},resetCss:!1,prefix:"kb",stylesPath:"./src/styles/default"}]},o=t.resolve(process.cwd(),"bernova.config.json"),a=async(t,s)=>{const{default:o}=await import("ora"),a=o("Creating Bernova configuration file...").start();try{try{return await e.access(t),void a.warn("Configuration file already exists. Skipping creation.")}catch{}const o=JSON.stringify(s,null,2);await e.writeFile(t,o,"utf8"),a.succeed(`Configuration file created successfully at: ${t}`),console.log("\nNext steps:"),console.log("1. Edit the configuration file to match your project structure"),console.log("2. Create the specified design files (foundations.ts, theme.ts, etc.)"),console.log('3. Run "bernova" to compile your styles')}catch(e){a.fail("Failed to create configuration file."),console.error("Error details:",e.message),process.exit(1)}};a(o,s);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s=require("path"),{cssProps:e,cssPseudoClasses:t,cssPseudoElements:n,cssAdvancedSelectors:p}=require("../src/constants/index.js"),{writeDoc:i}=require("../src/lib/writeDoc/writeDoc.utils.js"),y=async()=>{const y=`type LibExtendsType = {\n $extends?: string; \n};\ntype LibRecycleType = {\n $recycle?: string; \n};\ntype ForeignType = {\n $foreign?: { [key: string]: { [key: string]: CssPropsType & CssPseudoJoinedType & CssAddicionalTypes } }; \n};\ntype CssPropsType = LibExtendsType & LibRecycleType & ForeignType & {\n${Object.keys(e).map(s=>`${s}?: string;`).join("\n")}\n}\ntype CssAdvancedSelectorsType = {\n${Object.keys(p).map(s=>`${s}?: CssPropsType & { $target: string }`).join("\n")}\n}\ntype CssPseudoJoinedType = { $pseudoClasses?: CssPseudoClassesType;\n$pseudoElements?: CssPseudoElementsType;\n}\ntype CssAddicionalTypes = {\n$advancedSelectors?: CssAdvancedSelectorsType[];\n $mediaQueries?: MediaQueriesType;\n}\ntype CssPseudoClassesType = {\n${Object.keys(t).map(s=>`${s}?: CssPropsType & { $target?: string } & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoElementsType & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoClassesType & CssAddicionalTypes & { $attributes?: CssAttributesType };`).join("\n")}\n}\ntype CssPseudoElementsType = {\n${Object.keys(n).map(s=>`${s}?: CssPropsType & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoElementsType & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoClassesType & CssAddicionalTypes & { $attributes?: CssAttributesType };`).join("\n")}\n}\ntype CssAttributesType = {\n [key: string]: CssPropsType & CssAddicionalTypes & CssPseudoJoinedType | {\n [key: string]: CssPropsType & CssAddicionalTypes & CssPseudoJoinedType \n};\n}\nexport type CssGeneratorType = CssPropsType & {\n$pseudoClasses?: CssPseudoClassesType;\n$pseudoElements?: CssPseudoElementsType;\n$mediaQueries?: MediaQueriesType;\n$attributes?: CssAttributesType;\n$advancedSelectors?: CssAdvancedSelectorsType[];\n}\n`,o=s.resolve(__dirname,"../types/generatorType.ts");await i(o,y,"TypeScript declarations"),console.log("✅ TypeScript type definitions generated successfully"),console.log(`📝 Types written to: ${o}`)};y().catch(s=>{console.error("❌ Failed to generate TypeScript declarations:",s.message),process.exit(1)});
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("./lib"),r=require("./constants"),{bernovaStyles:s}=require("./app");module.exports={bernovaStyles:s,...e,...r,lib:e,constants:r};
|
package/dist/src/app.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("path"),{generateBaseCss:s,compileThemes:o,generateCSS:t,compileConfig:r,writeDoc:i,generateProvider:a,processMediaConfig:l,generateThemeRegister:n,generateCssDoc:c,handlerForeignThemes:d}=require("./lib"),{validatePreviouslyExists:f,processCssWithPostcss:m}=require("./lib/generateCss/helpers"),{compilerTypeValid:p}=require("./constants"),{generateTypesTools:g}=require("./lib/generateTypesTools/generateTypesTools.utils"),{generateTools:u}=require("./lib/generateTools/generateTools.utils");async function y(y){const h=process.cwd(),T={},{default:v}=await import("ora"),C=v("Starting BernovaStyled process...").start(),{themes:D,provider:w}=await r({dir:h});for(const r of D){const{themeCss:a,fonts:v,resetCss:D,bvTools:w,name:b,stylesPath:P,typesTools:S,foreignThemes:$,prefix:q}=o({themeConfig:r,dir:h}),x=await s({fonts:v,resetCss:D,stylesPath:P}),{theme:B,media:E,...F}=a,N=(()=>{switch(y){case p.foundationOnly:return F;case p.componentOnly:return{theme:B,media:E};default:return a}})(),{stylesCss:V,foundationsCss:H,stylesDocs:M,rootDocs:O,globalDocs:R}=await t({source:N,baseCss:x,compilerType:y,prefix:q}),W=P?e.resolve(h,P):e.resolve(h,"styles"),{cssDir:A,cssMinifiedDir:j,oldData:k}=await f({stylesDir:W,compilerType:y,name:b}),z=c({compilerType:y,stylesCss:V,foundationsCss:H,oldData:k}),G=await m(z,!1,null),I=await m(z,!0,null);C.start(`Writing CSS to file for theme: ${b}...`),await i(A,G,"css"),await i(j,I,"css minified"),C.succeed(`CSS written to file for theme: ${b}.`),C.start(`Compiling register for theme: ${b}...`),C.succeed(`Register compiled for theme: ${b}.`),C.start("Verifying types tools..."),S?(C.succeed(`Types tools verified for theme: ${b}.`),await g({dir:h,typesTools:S,mediaConfig:E,stylesDocs:M})):C.succeed(`No types tools found for theme: ${b}.`);const J=l({mediaConfig:E});C.start(`Processing bvTools for theme: ${b}...`),w?(C.succeed(`bvTools found for theme: ${b}.`),await u({bvTools:w,compilerType:y,name:b,dir:h,stylesDir:W,stylesDocs:M,rootDocs:O,globalDocs:R,mediaDocs:J})):C.succeed(`No bvTools found for theme: ${b}.`);const{themeByPosition:K,variablesExtracted:L,classesExtracted:Q}=await d({dir:h,foreignThemes:$});T[b]=n({cssPath:e.resolve(h,W,`${b}.css`),rootDocs:O,stylesDocs:M,globalDocs:R,mediaDocs:J,foreignStyles:Q,foreignVars:L,foreignBeforeFiles:K.before,foreignAfterFiles:K.after})}w&&(C.start("Provider configuration found, generating tools..."),await a({dir:e.resolve(h,w.path),providerDocs:T,declarationHelp:w.declarationHelp,providerName:w.name,compilerType:y}),C.succeed("Provider tools generated successfully."))}module.exports={bernovaStyles:y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n={foundationOnly:"foundationOnly",componentOnly:"componentOnly",full:"full"};module.exports={compilerTypeValid:n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const c={adjacent:" + ",child:" > ",descendant:" ",near:" ~ ",concat:"",column:" || "};module.exports={cssAdvancedSelectors:c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t={scrollbar_width:"scrollbar-width",scrollbar_color:"scrollbar-color",scrollbar_gutter:"scrollbar-gutter",scroll_behavior:"scroll-behavior",scroll_margin:"scroll-margin",scroll_padding:"scroll-padding",scroll_snap_align:"scroll-snap-align",scroll_snap_stop:"scroll-snap-stop",scroll_snap_type:"scroll-snap-type",webkit_scrollbar:"webkit-scrollbar",scroll_container:"scroll-container",scrollbar_aria_role:"scrollbar-aria-role",background:"background",background_color:"background-color",background_image:"background-image",background_position:"background-position",background_repeat:"background-repeat",background_size:"background-size",background_attachment:"background-attachment",background_blend_mode:"background-blend-mode",background_clip:"background-clip",background_origin:"background-origin",border:"border",border_top:"border-top",border_right:"border-right",border_bottom:"border-bottom",border_left:"border-left",border_radius:"border-radius",border_width:"border-width",border_left_width:"border-left-width",border_right_width:"border-right-width",border_top_width:"border-top-width",border_bottom_width:"border-bottom-width",border_color:"border-color",border_left_color:"border-left-color",border_right_color:"border-right-color",border_top_color:"border-top-color",border_bottom_color:"border-bottom-color",border_top_left_radius:"border-top-left-radius",border_top_right_radius:"border-top-right-radius",border_bottom_left_radius:"border-bottom-left-radius",border_bottom_right_radius:"border-bottom-right-radius",border_style:"border-style",border_left_style:"border-left-style",border_top_style:"border-top-style",border_right_style:"border-right-style",border_bottom_style:"border-bottom-style",outline:"outline",outline_style:"outline-style",outline_color:"outline-color",outline_width:"outline-width",outline_offset:"outline-offset",display:"display",opacity:"opacity",visibility:"visibility",overflow:"overflow",overflow_x:"overflow-x",overflow_y:"overflow-y",overflow_block:"overflow-block",overflow_inline:"overflow-inline",overflow_clip_margin:"overflow-clip-margin",flex:"flex",flex_direction:"flex-direction",flex_wrap:"flex-wrap",flex_flow:"flex-flow",flex_grow:"flex-grow",flex_shrink:"flex-shrink",flex_basis:"flex-basis",justify_content:"justify-content",justify_items:"justify-items",align_items:"align-items",align_self:"align-self",align_content:"align-content",order:"order",gap:"gap",row_gap:"row-gap",column_gap:"column-gap",grid:"grid",grid_area:"grid-area",grid_template:"grid-template",grid_template_areas:"grid-template-areas",grid_template_rows:"grid-template-rows",grid_template_columns:"grid-template-columns",grid_row:"grid-row",grid_row_start:"grid-row-start",grid_row_end:"grid-row-end",grid_column:"grid-column",grid_column_start:"grid-column-start",grid_column_end:"grid-column-end",grid_gap:"grid-gap",grid_row_gap:"grid-row-gap",grid_column_gap:"grid-column-gap",grid_auto_flow:"grid-auto-flow",grid_auto_rows:"grid-auto-rows",grid_auto_columns:"grid-auto-columns",margin:"margin",margin_left:"margin-left",margin_right:"margin-right",margin_top:"margin-top",margin_bottom:"margin-bottom",padding:"padding",padding_left:"padding-left",padding_right:"padding-right",padding_top:"padding-top",padding_bottom:"padding-bottom",box_sizing:"box-sizing",box_shadow:"box-shadow",width:"width",min_width:"min-width",max_width:"max-width",height:"height",min_height:"min-height",max_height:"max-height",position:"position",top:"top",right:"right",bottom:"bottom",left:"left",z_index:"z-index",float:"float",clear:"clear",transform:"transform",transform_origin:"transform-origin",transform_style:"transform-style",translate:"translate",font:"font",font_family:"font-family",font_size:"font-size",font_weight:"font-weight",font_style:"font-style",font_variant:"font-variant",font_stretch:"font-stretch",font_size_adjust:"font-size-adjust",font_synthesis:"font-synthesis",font_feature_settings:"font-feature-settings",font_kerning:"font-kerning",font_language_override:"font-language-override",font_optical_sizing:"font-optical-sizing",font_variant_alternates:"font-variant-alternates",font_variant_caps:"font-variant-caps",font_variant_east_asian:"font-variant-east-asian",font_variant_ligatures:"font-variant-ligatures",font_variant_numeric:"font-variant-numeric",font_variant_position:"font-variant-position",line_height:"line-height",letter_spacing:"letter-spacing",text_align:"text-align",text_decoration:"text-decoration",text_transform:"text-transform",white_space:"white-space",word_break:"word-break",word_wrap:"word-wrap",text_overflow:"text-overflow",text_shadow:"text-shadow",text_indent:"text-indent",text_justify:"text-justify",text_orientation:"text-orientation",text_rendering:"text-rendering",text_size_adjust:"text-size-adjust",text_combine_upright:"text-combine-upright",text_emphasis:"text-emphasis",text_emphasis_color:"text-emphasis-color",text_emphasis_position:"text-emphasis-position",text_emphasis_style:"text-emphasis-style",text_decoration_color:"text-decoration-color",text_decoration_line:"text-decoration-line",text_decoration_skip:"text-decoration-skip",text_decoration_skip_ink:"text-decoration-skip-ink",text_decoration_style:"text-decoration-style",text_underline_position:"text-underline-position",list_style:"list-style",list_style_type:"list-style-type",list_style_position:"list-style-position",list_style_image:"list-style-image",color:"color",accent_color:"accent-color",cursor:"cursor",pointer_events:"pointer-events",vertical_align:"vertical-align",inset:"inset",inset_block:"inset-block",inset_block_start:"inset-block-start",inset_block_end:"inset-block-end",inset_inline:"inset-inline",inset_inline_start:"inset-inline-start",inset_inline_end:"inset-inline-end",transition:"transition",transition_property:"transition-property",transition_duration:"transition-duration",transition_timing_function:"transition-timing-function",transition_delay:"transition-delay",animation:"animation",animation_name:"animation-name",animation_duration:"animation-duration",animation_timing_function:"animation-timing-function",animation_delay:"animation-delay",animation_iteration_count:"animation-iteration-count",animation_direction:"animation-direction",animation_fill_mode:"animation-fill-mode",animation_play_state:"animation-play-state",animation_timeline:"animation-timeline",appearance:"appearance",user_select:"user-select",aspect_ratio:"aspect-ratio",resize:"resize",caret:"caret",caret_animation:"caret-animation",caret_shape:"caret-shape",caret_color:"caret-color",backdrop_filter:"backdrop-filter",backface_visibility:"backface-visibility",block_size:"block-size",writing_mode:"writing-mode",break_before:"break-before",break_after:"break-after",break_inside:"break-inside",clip:"clip",clip_path:"clip-path",clip_rule:"clip-rule",filter:"filter",float_offset:"float-offset",float_defer:"float-defer",hyphens:"hyphens",image_rendering:"image-rendering",image_orientation:"image-orientation",image_resolution:"image-resolution",isolation:"isolation",mix_blend_mode:"mix-blend-mode",object_fit:"object-fit",object_position:"object-position",overscroll_behavior:"overscroll-behavior",overscroll_behavior_x:"overscroll-behavior-x",overscroll_behavior_y:"overscroll-behavior-y",perspective:"perspective",perspective_origin:"perspective-origin",scroll_snap_margin:"scroll-snap-margin",scroll_snap_align:"scroll-snap-align",caption_side:"caption-side",empty_cells:"empty-cells",fill:"fill",fill_rule:"fill-rule",flood_color:"flood-color",flood_opacity:"flood-opacity",lighting_color:"lighting-color",marker_end:"marker-end",marker_mid:"marker-mid",marker_start:"marker-start",shape_rendering:"shape-rendering",stop_color:"stop-color",stop_opacity:"stop-opacity",stroke:"stroke",stroke_dasharray:"stroke-dasharray",stroke_dashoffset:"stroke-dashoffset",stroke_linecap:"stroke-linecap",stroke_linejoin:"stroke-linejoin",stroke_miterlimit:"stroke-miterlimit",stroke_opacity:"stroke-opacity",mask:"mask",mask_type:"mask-type",mask_image:"mask-image",mask_mode:"mask-mode",mask_repeat:"mask-repeat",mask_position:"mask-position",mask_clip:"mask-clip",mask_origin:"mask-origin",mask_size:"mask-size",mask_composite:"mask-composite",mask_border:"mask-border",mask_border_source:"mask-border-source",mask_border_mode:"mask-border-mode",mask_border_slice:"mask-border-slice",mask_border_width:"mask-border-width",mask_border_outset:"mask-border-outset",mask_border_repeat:"mask-border-repeat",$content:"content"};module.exports={cssProps:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={fullscreen:"fullscreen",modal:"modal",picture_in_picture:"picture-in-picture",autofill:"autofill",enabled:"enabled",disabled:"disabled",read_only:"read-only",read_write:"read-write",placeholder_shown:"placeholder-shown",default:"default",checked:"checked",indeterminate:"indeterminate",blank:"blank",valid:"valid",invalid:"invalid",in_range:"in-range",out_of_range:"out-of-range",required:"required",optional:"optional",user_valid:"user-valid",user_invalid:"user-invalid",dir:"dir",lang:"lang",any_link:"any-link",link:"link",visited:"visited",local_link:"local-link",target:"target",target_within:"target-within",scope:"scope",playing:"playing",paused:"paused",current:"current",past:"past",future:"future",root:"root",empty:"empty",nth_child:"nth-child",nth_last_child:"nth-last-child",first_child:"first-child",last_child:"last-child",only_child:"only-child",nth_of_type:"nth-of-type",nth_last_of_type:"nth-last-of-type",first_of_type:"first-of-type",last_of_type:"last-of-type",only_of_type:"only-of-type",active:"active",focus:"focus",focus_visible:"focus-visible",focus_within:"focus-within",hover:"hover",is:"is",not:"not",where:"where",has:"has",user_valid:"user-valid",user_invalid:"user-invalid",nth_col:"nth-col",nth_last_col:"nth-last-col",host:"host",host_context:"host-context",defined:"defined",moz_any:"-moz-any",moz_any_link:"-moz-any-link",moz_focusring:"-moz-focusring",moz_full_screen:"-moz-full-screen",moz_full_screen_ancestor:"-moz-full-screen-ancestor",moz_full_screen_document:"-moz-full-screen-document",moz_full_screen_element:"-moz-full-screen-element",moz_full_screen_root:"-moz-full-screen-root",moz_placeholder:"-moz-placeholder",moz_read_only:"-moz-read-only",moz_read_write:"-moz-read-write",moz_submit_invalid:"-moz-submit-invalid",moz_ui_invalid:"-moz-ui-invalid",moz_ui_valid:"-moz-ui-valid",webkit_any:"-webkit-any",webkit_any_link:"-webkit-any-link",webkit_autofill:"-webkit-autofill",webkit_current:"-webkit-current",webkit_full_screen:"-webkit-full-screen",webkit_full_screen_ancestor:"-webkit-full-screen-ancestor",webkit_full_screen_document:"-webkit-full-screen-document",webkit_full_screen_element:"-webkit-full-screen-element",webkit_full_screen_root:"-webkit-full-screen-root",webkit_input_placeholder:"-webkit-input-placeholder",webkit_read_only:"-webkit-read-only",webkit_read_write:"-webkit-read-write",webkit_scrollbar:"-webkit-scrollbar",webkit_scrollbar_button:"-webkit-scrollbar-button",webkit_scrollbar_thumb:"-webkit-scrollbar-thumb",webkit_scrollbar_track:"-webkit-scrollbar-track",webkit_scrollbar_track_piece:"-webkit-scrollbar-track-piece",webkit_search_cancel_button:"-webkit-search-cancel-button",webkit_search_results_button:"-webkit-search-results-button"};module.exports={cssPseudoClasses:e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={before:"before",after:"after",first_letter:"first-letter",first_line:"first-line",selection:"selection",backdrop:"backdrop",placeholder:"placeholder",marker:"marker",spelling_error:"spelling-error",grammar_error:"grammar-error",cue:"cue",cue_region:"cue-region",part:"part",slotted:"slotted",file_selector_button:"file-selector-button",target_text:"target-text",highlight:"highlight",moz_color_swatch:"-moz-color-swatch",moz_focus_inner:"-moz-focus-inner",moz_list_bullet:"-moz-list-bullet",moz_list_number:"-moz-list-number",moz_meter_bar:"-moz-meter-bar",moz_progress_bar:"-moz-progress-bar",moz_range_progress:"-moz-range-progress",moz_range_thumb:"-moz-range-thumb",moz_range_track:"-moz-range-track",webkit_inner_spin_button:"-webkit-inner-spin-button",webkit_meter_even_less_good_value:"-webkit-meter-even-less-good-value",webkit_meter_inner_element:"-webkit-meter-inner-element",webkit_meter_optimum_value:"-webkit-meter-optimum-value",webkit_meter_suboptimum_value:"-webkit-meter-suboptimum-value",webkit_progress_bar:"-webkit-progress-bar",webkit_progress_inner_element:"-webkit-progress-inner-element",webkit_progress_value:"-webkit-progress-value",webkit_scrollbar:"-webkit-scrollbar",webkit_scrollbar_button:"-webkit-scrollbar-button",webkit_scrollbar_thumb:"-webkit-scrollbar-thumb",webkit_scrollbar_track:"-webkit-scrollbar-track",webkit_scrollbar_track_piece:"-webkit-scrollbar-track-piece",webkit_search_cancel_button:"-webkit-search-cancel-button",webkit_search_results_button:"-webkit-search-results-button",webkit_slider_runnable_track:"-webkit-slider-runnable-track",webkit_slider_thumb:"-webkit-slider-thumb",webkit_resizer:"-webkit-resizer",webkit_input_placeholder:"-webkit-input-placeholder",placeholder_shown:"placeholder-shown",autofill:"autofill",progress_value:"progress-value",progress_bar:"progress-bar",meter_optimum:"meter-optimum",meter_suboptimum:"meter-suboptimum",meter_sub_suboptimum:"meter-sub-suboptimum"};module.exports={cssPseudoElements:e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{cssAdvancedSelectors:s}=require("./cssAdvancedSelectors.js"),{cssProps:e}=require("./cssProps.js"),{cssPseudoClasses:r}=require("./cssPseudoClasses.js"),{cssPseudoElements:c}=require("./cssPseudoElements.js"),{resetCss:o}=require("./resetCss.js"),{compilerTypeValid:d}=require("./compilerType.js");module.exports={cssAdvancedSelectors:s,cssProps:e,cssPseudoClasses:r,cssPseudoElements:c,resetCss:o,compilerTypeValid:d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n='\nhtml {\n margin: 0;\n padding: 0;\n vertical-align: baseline;\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 0;\n margin-inline-end: 0;\n box-sizing: border-box;\n background-color: transparent;\n border: 0;\n}\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo,\ndialog,\ninput,\nbutton {\n margin: 0;\n padding: 0;\n vertical-align: baseline;\n margin-block-start: 0;\n margin-block-end: 0;\n margin-inline-start: 0;\n margin-inline-end: 0;\n box-sizing: border-box;\n background-color: transparent;\n border: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\nsection {\n display: block;\n}\nbody {\n line-height: 1;\n}\nol,\nul {\n list-style: none;\n}\nblockquote,\nq {\n quotes: none;\n}\nblockquote::before,\nblockquote::after,\nq::before,\nq::after {\n content: "";\n content: none;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n@supports (font: -apple-system-body) {\n html {\n font: -apple-system-body;\n }\n}\n@supports (font: system-ui) {\n html {\n font: system-ui;\n }\n}\n';module.exports={resetCss:n};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Type definitions for Bernova
|
|
2
|
+
export interface BernovaConfig {
|
|
3
|
+
themes: any[];
|
|
4
|
+
provider?: {
|
|
5
|
+
path: string;
|
|
6
|
+
name: string;
|
|
7
|
+
declarationHelp?: boolean;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface BernovaTheme {
|
|
12
|
+
name: string;
|
|
13
|
+
stylesPath?: string;
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Main Bernova function
|
|
18
|
+
export function bernovaStyles(compilerType?: string): Promise<void>;
|
|
19
|
+
|
|
20
|
+
// Library exports
|
|
21
|
+
export const lib: any;
|
|
22
|
+
export const constants: any;
|
|
23
|
+
|
|
24
|
+
// Default export
|
|
25
|
+
declare const bernova: {
|
|
26
|
+
bernovaStyles: typeof bernovaStyles;
|
|
27
|
+
lib: typeof lib;
|
|
28
|
+
constants: typeof constants;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export default bernova;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./lib"),r=require("./constants"),{bernovaStyles:s}=require("./app");module.exports={bernovaStyles:s,...e,...r,lib:e,constants:r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("path"),o=require("tsconfig-paths"),{readConfigData:r}=require("./readFile/readFile.utils.js"),t=async({dir:t})=>{try{const i=e.resolve(t,"bernova.config.json"),n=await r(i);if(!n)throw new Error(`Configuration file not found at ${i}`);const{themes:a,provider:s,tsconfigPath:c}=n;if(!a||!Array.isArray(a)||0===a.length)throw new Error("Configuration must include at least one theme");if(c)try{const i=e.resolve(t,c),n=await r(i);n?.compilerOptions?(o.register({baseUrl:n.compilerOptions.baseUrl||t,paths:n.compilerOptions.paths||{}}),console.log(`TypeScript paths configured from ${c}`)):console.warn(`Invalid or empty tsconfig at ${c}`)}catch(e){console.warn(`Failed to load TypeScript configuration: ${e.message}`)}return{themes:a,provider:s}}catch(e){throw console.error("Failed to compile configuration:",e.message),e}};module.exports={compileConfig:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("path"),t=require("fs"),{readThemeData:a}=require("./readFile/readFile.utils"),{fileExists:s}=require("./fileExists/fileExists.utils"),o=({themeConfig:{name:t="bernova",prefix:o,theme:n,foundations:r,globalStyles:h,mediaQueries:i,stylesPath:m,fonts:l,resetCss:p,bvTools:f,typesTools:u,foreignThemes:d},dir:T})=>{const v=(()=>{const t={};return r?.name&&r?.path&&s(T,r.path)&&(t.foundations={path:e.resolve(T,r.path),name:r.name}),n?.name&&n?.path&&s(T,n.path)&&(t.theme={path:e.resolve(T,n.path),name:n.name}),h?.name&&h?.path&&s(T,h.path)&&(t.global={path:e.resolve(T,h.path),name:h.name}),i?.name&&i?.path&&s(T,i.path)&&(t.media={path:e.resolve(T,i.path),name:i.name}),t})();return{themeCss:a(v),fonts:l,resetCss:p,bvTools:f,name:t,stylesPath:m,typesTools:u,prefix:o,foreignThemes:d}};module.exports={compileThemes:o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=require("path"),e=require("fs").promises,s=async(s,t)=>{if(!s||0===s.length)return void console.log("No local fonts to copy.");const{default:r}=await import("ora"),l=r("Copying local fonts...").start();try{for(const r of s)for(const s in r.files){const c=o.resolve(r.files[s]),a=o.resolve(t,"fonts"),i=o.resolve(a,o.basename(r.files[s]));await e.mkdir(a,{recursive:!0}),await e.copyFile(c,i),l.succeed(`Copied ${c} to ${i}`)}}catch(o){l.fail("Failed to copy local fonts."),console.error(o)}};module.exports={copyLocalFonts:s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("path"),t=t=>{let n="";return t?.google?.length&&t.google.forEach(e=>{const t=e.weights.join(";");n+=`@import url('https://fonts.googleapis.com/css2?family=${e.name.replace(/ /g,"+")}:wght@${t}&display=swap');\n`}),t?.local?.length&&t.local.forEach(t=>{Object.entries(t.files).forEach(([o,a])=>{n+=`\n @font-face {\n font-family: '${t.name}';\n src: url('./fonts/${e.basename(a)}') format('truetype');\n font-weight: ${o};\n font-style: normal;\n }\n`})}),n};module.exports={generateCssFonts:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=({section:t,doc:e})=>{const c=new RegExp(`/\\* ${t} \\*/([\\s\\S]*?)/\\* ${t} \\*/`),o=e.match(c);return o?o[1].trim():""};module.exports={extractDocFragment:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("fs"),r=require("path"),s=(s,t)=>{try{if(!s||!t)return!1;const n=r.resolve(s,t);return e.existsSync(n)}catch(e){return console.warn(`Error checking file existence: ${e.message}`),!1}};module.exports={fileExists:s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{resetCss:s}=require("../../constants/resetCss"),{copyLocalFonts:e}=require("../copyLocalFonts/copyLocalFonts.utils"),{generateCssFonts:t}=require("../copyLocalFonts/generateCssFonts.utils"),o=async({fonts:o,resetCss:a,stylesPath:n})=>(o?.local&&Array.isArray(o.local)&&o.local.length>0&&await e(o.local,n),(()=>{let e="";if(o){const s=t(o);s&&(e+=s+"\n")}return a&&(e+=s+"\n"),e})());module.exports={generateBaseCss:o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{filterGenerateCss:s}=require("./helpers/filterGenerateCss.utils"),e=async({source:e,prefix:o,baseCss:r="",compilerType:t})=>{const{default:c}=await import("ora"),l=c("Generating CSS...").start();try{const{stylesCss:c,foundationsCss:a,stylesDocs:n,rootDocs:i,globalDocs:u}=s({source:e,compilerType:t,baseCss:r,prefix:o});return l.succeed("CSS generation completed successfully."),{stylesCss:c,foundationsCss:a,stylesDocs:n,rootDocs:i,globalDocs:u}}catch(s){throw l.fail("Error generating CSS."),console.error(s),s}};module.exports={generateCSS:e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{cssAdvancedSelectors:e}=require("../../../../constants/index.js"),t=(t,c,o)=>{t.forEach(t=>{for(const[s,{$target:r,...n}]of Object.entries(t))if(e[s]&&r){const t=e[s];o({source:n,theRule:`${c}${t}${r}`})}})};module.exports={advancedSelectorHandler:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{separateStyles:e}=require("../utils/separateStyles.utils.js"),t=({attributes:r,ruleName:s,processSource:o,carry:c})=>{for(const[l,u]of Object.entries(r)){const r=l.toLowerCase(),a=c?`${s}[${c}="${r}"]`:`${s}[${r}="true"]`,{styles:i,lib:n,other:b}=e(u),h=Object.entries(i).length>0,j=Object.entries(n).length>0,p=Object.entries(b).length>0;(h||j)&&o({source:{...i,...n},theRule:a}),p&&t({attributes:b,ruleName:s,processSource:o,carry:r})}};module.exports={attributeHandler:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>e&&"string"==typeof e?e.toLowerCase().replace(/_/g,"-"):"";module.exports={formatClassName:e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{simplifyName:e}=require("../../../simplifyName/simplifyName.utils"),o=({register:o,prefix:r})=>{const c=new Set,t=({rg:o,space:s=2,lv:l=1})=>{const n=" ".repeat(s);return Object.entries(o).reduce((o,[p,a])=>{const d=p.replace(`${r}-`,"");if("object"==typeof a){const e=1===l,r=e?d.toUpperCase():d;o.prov.doc+=`${n}${r}: {\n`,o.prov.declare+=`${n}${r}: {\n`,o.comp.simple+=o.comp.simple.length?` | '${r}'`:`'${r}'`,o.comp.object+=e?`${n}${r}: '${r}',\n`:"";const c=s+2,p=l+1,{prov:{doc:$,declare:i},tools:{doc:v,declare:m}}=t({rg:a,space:c,lv:p});o.prov.doc+=$,o.prov.declare+=i,o.prov.doc+=`${n}},\n`,o.prov.declare+=`${n}},\n`,o.tools.doc+=v,o.tools.declare+=m}else if("boolean"==typeof a&&a){const r=e(d);c.has(r)||(c.add(r),o.tools.doc+=` ${r}: '${d}',\n`,o.tools.declare+=` ${d}: string,\n`);const t=d.split("__").at(-1);o.prov.doc+=`${n}${t}: '${d}',\n`,o.prov.declare+=`${n}${t}: string,\n`}else if("string"==typeof a){const t=e(a).replace(`${r}_`,"");c.has(t)||(c.add(t),o.tools.doc+=` ${t}: '${a}',\n`,o.tools.declare+=` ${t}: string,\n`);const s=d.split("__").at(-1);o.prov.doc+=`${n}${s}: '${a}',\n`,o.prov.declare+=`${n}${s}: string,\n`}else"function"==typeof a&&("dynamic_values"===d?o.prov.doc+=`${n}${d}: ${a.toString()},\n`:"dynamic_values_type"===d&&(o.prov.declare+=`${n}dynamic_values: ${a()},\n`));return o},{comp:{simple:"",object:""},prov:{doc:"",declare:""},tools:{doc:"",declare:""}})};return t({rg:o})};module.exports={handlerRegister:o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{simplifyName:o}=require("../../../simplifyName/simplifyName.utils"),{formatClassName:e}=require("../classnames/formatClassName.utils"),r=({source:s,varName:t="-",prefix:c})=>{const a=Object.entries(s),{root:l,rootDocs:i}=a.reduce((s,[a,l])=>{const i=`${t}-${e(a)}`;if("object"==typeof l&&null!==l){const{root:o,rootDocs:e}=r({source:l,varName:i,prefix:c});s.root+=o,s.rootDocs.doc+=e.doc,s.rootDocs.declare+=e.declare}else{const e=o(i).replace(`${c}_`,"");s.root+=`${i}: ${l};\n`,s.rootDocs.doc+=` ${e}: 'var(${i})',\n`,s.rootDocs.declare+=` ${e}: string;\n`}return s},{root:"",rootDocs:{doc:"",declare:""}});return{root:l,rootDocs:i}};module.exports={generateVars:r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>Object.entries(e).reduce((e,[t,s])=>{const r="--"+t.toLocaleLowerCase().replace("$","");return e.string+=r+": "+s+"; ",e.object[r]=s,e},{string:"",object:{}}),t=e=>`(styles: { ${Object.keys(e).reduce((e,t)=>e+`'${t}': string; `,"")}}) => { string: string; object: object } `,s=({dynamicValues:s,register:r,ruleName:c,prefix:i})=>{const n=c.split("--")[0].split("__")[0].replace(i,"");n in r||(r[n]={}),r[n].dynamic_values=e,r[n].dynamic_values_type=()=>t(s)};module.exports={setDynamicRegister:s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const r=r=>{if(Array.isArray(r))return r.reduce((r,e)=>(r[e]=`var(--${e.toLocaleLowerCase().replace("$","")})`,r),{})};module.exports={processDynamicProps:r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{compilerTypeValid:s}=require("../../../constants"),{generateVars:e}=require("./cssVars/generateVars.utils"),{generateCssStyles:o}=require("./generateCssStyles.utils"),{generateGlobalStyles:t}=require("./other/generateGlobalStyles.utils"),l=({source:l,compilerType:r,baseCss:a,prefix:c})=>{const{foundations:n,theme:i,global:u,media:y}=l,d=r===s.full||r===s.foundationOnly,D=r===s.full||r===s.componentOnly,{foundationsCss:g,rootDocs:f,globalDocs:C}=(()=>{if(!d)return{foundationsCss:"",rootDocs:{doc:"",declare:""},globalDocs:{doc:"",declare:""}};const{root:s,rootDocs:o}=n?e({source:n,varName:c?`--${c}`:"-",prefix:c}):{root:"",rootDocs:{doc:"",declare:""}},{globalStyles:l,globalDocs:r}=u?t(u):{globalStyles:"",globalDocs:{doc:"",declare:""}};return{foundationsCss:`${a}:root{\n${s}}\n${l}`,rootDocs:o,globalDocs:r}})(),{stylesCss:b,stylesDocs:p}=(()=>{if(!D||!i)return{stylesCss:"",stylesDocs:{}};const{styles:s,stylesDocs:e}=o({source:i,mediaConfig:y,prefix:c});return{stylesCss:s,stylesDocs:e}})();return{stylesCss:b,foundationsCss:g,stylesDocs:p,rootDocs:f,globalDocs:C}};module.exports={filterGenerateCss:l};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{cssProps:e}=require("../../../../constants/cssProps"),o=({foreign:r,prefix:n})=>Object.entries(r).reduce((r,[t,{component:s,variant:i,name:$=""}])=>{if(!s)return r;let c=!1,a={};const f=$.toLocaleLowerCase(),g=i&&s[i];if(g){const r=i.toLocaleLowerCase();Object.entries(g).forEach(([t,s])=>{if(t in e&&!(t in a)&&(a[f]=`${n}${f}--${r}`),t.startsWith("_")){const e=t.toLocaleLowerCase().substring(1);a[e]=`${n}${f}__${e}--${r}`}if("$foreign"===t){const e=`$_${r}`;e in a||(a[e]={}),a[e]={...a[e],...o({foreign:s,prefix:n})}}})}return Object.entries(s).forEach(([r,t])=>{if(r in e&&!c){const e=f in a?`${n}${f} ${a[f]}`:`${n}${f}`;a[f]=e,c=!0}if(r.startsWith("_")){const e=r.toLocaleLowerCase().substring(1),o=`${f}__${e}`,t=e in a?`${n}${o} ${a[e]}`:`${n}${o}`;a[e]=t}"$foreign"===r&&(a={...a,...o({foreign:t,prefix:n})})}),r[t]=a,r},{});module.exports={foreignHandler:o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{formatRuleName:e,setForeignRegister:r,pseudoHandler:s,foreignHandler:t,attributeHandler:a,advancedSelectorHandler:i,separateStyles:n,extractValues:l,mediaQueriesHandler:o,generateMediaQueries:u,handlerRegister:c,setDynamicRegister:d,processDynamicProps:p}=require("./index.js"),g=({source:g,mediaConfig:m,prefix:f})=>{let y="",R={};const $={},h=f?`${f}-`:"",b=({source:u,parentRule:c,theRule:g})=>{const{styles:f,lib:{$dynamicValues:S,...x},other:N}=n(u),j=Object.entries(f).length>0,D=Object.entries(N).length>0,O=Object.entries(x).length>0,V=S?p(S):void 0,Q=e({theRule:g,parentRule:c,register:R,hasStyles:j,prefix:h});if(j&&(y+=`.${Q} { ${l({styles:f,dynamicValues:V})} }\n`),O){const{$pseudoClasses:e,$pseudoElements:n,$mediaQueries:l,$attributes:u,$advancedSelectors:c,$foreign:p}=x;if(Object.entries(N).length&&b({source:N,parentRule:Q}),e&&s({pseudoData:e,ruleName:Q,processSource:b}),n&&s({pseudoData:n,ruleName:Q,processSource:b}),l&&m&&o({config:m,mediaQueries:l,parentRule:Q,theRule:g,mediaRegister:$}),u&&a({attributes:u,ruleName:Q,processSource:b}),c&&i(c,Q,b),p){const e=t({foreign:p,prefix:h}),s=Q.replace(h,"");r({ruleName:s,foreignRegister:e,register:R})}V&&d({dynamicValues:V,register:R,ruleName:Q,prefix:h})}if(D)for(const[u,f]of Object.entries(N))if("object"==typeof f){const{$pseudoClasses:S,$pseudoElements:x,$mediaQueries:N,$attributes:j,$advancedSelectors:D,$foreign:O,$dynamicValues:V,...Q}=f,{styles:v,other:H}=n(Q),C=Object.entries(v).length>0,E=V?p(V):void 0,k=e({key:u,theRule:g,parentRule:c,register:R,hasStyles:C,prefix:h});if(C&&(y+=`.${k} { ${l({styles:v,dynamicValues:E})} }\n`),Object.entries(H).length&&b({source:H,parentRule:k}),S&&s({pseudoData:S,ruleName:k,processSource:b}),x&&s({pseudoData:x,ruleName:k,processSource:b}),N&&m&&o({config:m,mediaQueries:N,parentRule:k,theRule:g,mediaRegister:$}),j&&a({attributes:j,ruleName:k,processSource:b}),D&&i(D,k,b),O){const e=t({foreign:O,prefix:h}),s=k.replace(h,"");r({ruleName:s,foreignRegister:e,register:R})}E&&d({dynamicValues:E,register:R,ruleName:k,prefix:h})}};b({source:g});const S=c({register:R,prefix:f}),x=u($);return{styles:y.concat(x),stylesDocs:S}};module.exports={generateCssStyles:g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{advancedSelectorHandler:e}=require("./advanceselector/advancedSelectorHandler.utils"),{attributeHandler:r}=require("./attribute/attributeHandler.utils"),{formatClassName:s}=require("./classnames/formatClassName.utils"),{generateVars:a}=require("./cssVars/generateVars.utils"),{foreignHandler:t}=require("./foreign/foreignHandler.utils"),{generateMediaQueries:i}=require("./mediaqueries/generateMediaQueries.utils"),{mediaQueriesHandler:l}=require("./mediaqueries/mediaQueriesHandler.utils"),{declareCssType:u}=require("./other/declareCssType.utils"),{generateGlobalStyles:d}=require("./other/generateGlobalStyles.utils"),{pseudoHandler:n}=require("./pseudo/pseudoHandler.utils"),{formatRuleName:o,setForeignRegister:c}=require("./rulename/formatRuleName.utils"),{extractValues:m}=require("./utils/extractValues.utils"),{processCssWithPostcss:y}=require("./utils/processCss.utils"),{separateStyles:g}=require("./utils/separateStyles.utils"),{validatePreviouslyExists:q}=require("./utils/validatePreviouslyExists.utils"),{formattedStatKey:p}=require("./utils/formattedStatKey.utils"),{handlerRegister:H}=require("./classnames/handlerRegister.utils"),{setDynamicRegister:f}=require("./dynamicValues/dynamicValues.utils"),{processDynamicProps:S}=require("./dynamicValues/processDynamic.utils");module.exports={advancedSelectorHandler:e,attributeHandler:r,formatClassName:s,generateVars:a,foreignHandler:t,generateMediaQueries:i,mediaQueriesHandler:l,declareCssType:u,generateGlobalStyles:d,pseudoHandler:n,formatRuleName:o,setForeignRegister:c,extractValues:m,processCssWithPostcss:y,separateStyles:g,validatePreviouslyExists:q,formattedStatKey:p,handlerRegister:H,setDynamicRegister:f,processDynamicProps:S};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>{let r="";return Object.entries(e).forEach(([e,t])=>{r+=`@media ${e} {\n${t}}\n`}),r};module.exports={generateMediaQueries:e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{advancedSelectorHandler:e}=require("../advanceselector/advancedSelectorHandler.utils"),{attributeHandler:t}=require("../attribute/attributeHandler.utils"),{formatClassName:s}=require("../classnames/formatClassName.utils"),{pseudoHandler:r}=require("../pseudo/pseudoHandler.utils"),{formatRuleName:l}=require("../rulename/formatRuleName.utils"),{extractValues:a}=require("../utils/extractValues.utils"),{separateStyles:u}=require("../utils/separateStyles.utils"),n=({mediaStyles:s,parentRule:n,theRule:i})=>{let o="",c={};const d=({source:s,parentRule:n,theRule:i})=>{const{styles:p,other:m}=u(s),f=Object.entries(p).length>0,h=Object.entries(m).length>0,$=l({key:n,theRule:i,parentRule:void 0,register:c,hasStyles:f,prefix:""});if(f&&(o+=`.${$} { ${a({styles:p})} }\n`),h)for(const[s,p]of Object.entries(m))if("object"==typeof p){const{$pseudoClasses:m,$pseudoElements:f,$mediaQueries:h,$attributes:$,$advancedSelectors:R,$foreign:y,$extends:b,$recycle:S,$variables:g,...j}=p,{styles:O,other:v}=u(j),q=Object.entries(O).length>0,H=l({key:s,theRule:i,parentRule:n,register:c,hasStyles:q,prefix:""});if(q&&(o+=`.${H} { ${a({styles:O})} }\n`),Object.entries(v).length&&d({source:v,parentRule:H}),m&&r({pseudoData:m,ruleName:H,processSource:d}),f&&r({pseudoData:f,ruleName:H,processSource:d}),$&&t({attributes:$,ruleName:H,processSource:d}),R&&e(R,H,d),y){const[e,...t]=H.split("--"),s=e.length?e:"",r=s.includes("__")?s.split("__")[0]:s;Object.entries(y).forEach(([e,t])=>{processSource({source:t,parentRule:`${r}-${e}`})})}}};return d({source:s,theRule:i,parentRule:n}),o},i=({config:e,mediaQueries:t,parentRule:r,theRule:l,mediaRegister:a})=>{Object.entries(t).forEach(([t,u])=>{const i=e.find(e=>e.name===t);if("object"==typeof u&&Object.keys(u).length){const{$type:e="",$values:t,...o}=u,c=n({mediaStyles:o,parentRule:r,theRule:l});let d,p;if(i){const{type:e="",values:t}=i;d=e,p=t}else t&&(d=e,p=t);let m="";Object.entries(p).forEach(([e,t],r)=>{const l=s(e);(r>0||d.length)&&(m+=" and"),m+=` (${l}: ${t})`});const f=`${d}${m}`;f in a?a[f]+=c:a[f]=c}})};module.exports={mediaQueriesHandler:i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s=require("path"),{cssProps:e,cssPseudoClasses:t,cssPseudoElements:n,cssAdvancedSelectors:p}=require("../../../../constants/index.js"),{writeDoc:i}=require("../../../writeDoc/writeDoc.utils.js"),r=async(r,y)=>{const d=(s,e)=>`type ${s} = {\n${e}\n};\n`,o=(s,e="")=>Object.keys(s).map(s=>`${s}?: ${e}`).join("\n"),T=d("LibExtendsType","$extends?: string;"),C=d("LibRecycleType","$recycle?: string;"),a=d("ForeignType","$foreign?: { [key: string]: { [key: string]: CssPropsType & CssPseudoJoinedType & CssAddicionalTypes } };"),c=d("CssPropsType",`LibExtendsType & LibRecycleType & ForeignType & {\n${o(e,"string;")}\n}`),u=d("CssAdvancedSelectorsType",o(p,"CssPropsType & { $target: string }")),l=d("CssPseudoJoinedType","$pseudoClasses?: CssPseudoClassesType;\n$pseudoElements?: CssPseudoElementsType;"),P=d("CssAddicionalTypes","$advancedSelectors?: CssAdvancedSelectorsType[];\n$mediaQueries?: MediaQueriesType;\n"),$=d("CssPseudoClassesType",o(t,"CssPropsType & { $target?: string } & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoElementsType & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoClassesType & CssAddicionalTypes & { $attributes?: CssAttributesType };")),A=d("CssPseudoElementsType",o(n,"CssPropsType & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoElementsType & CssAddicionalTypes & { $attributes?: CssAttributesType } | CssPseudoClassesType & CssAddicionalTypes & { $attributes?: CssAttributesType };")),b=d("CssAttributesType","[key: string]: CssPropsType & CssAddicionalTypes & CssPseudoJoinedType | {\n[key: string]: CssPropsType & CssAddicionalTypes & CssPseudoJoinedType \n};");let g="";r?.screen&&Object.keys(r.screen).length&&(g=`${d("MediaScreenType",o(r.screen,"CssPropsType;"))}type MediaQueriesType = {\n screen?: MediaScreenType;\n};\n`);const m=[T,C,a,c,u,l,P,$,A,g,b,"export type CssGeneratorType = CssPropsType & {\n$pseudoClasses?: CssPseudoClassesType;\n$pseudoElements?: CssPseudoElementsType;\n$mediaQueries?: MediaQueriesType;\n$attributes?: CssAttributesType;\n$advancedSelectors?: CssAdvancedSelectorsType[];\n};\n"].join("");await i(s.resolve(y,"generatorType.ts"),m,"generatorType.ts")};module.exports={declareCssType:r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{simplifyName:e}=require("../../../simplifyName/simplifyName.utils.js"),{extractValues:l}=require("../utils/extractValues.utils.js"),s=s=>s.reduce((s,{targets:t,styles:a})=>{const o=l({styles:a});s.globalStyles+=`${t} { ${o} }\n`;const r=t.split(" ").filter(e=>e.startsWith("."));return r.length&&r.forEach(l=>{const t=e(l);s.globalDocs.doc+=` ${t}: '${l}',\n`,s.globalDocs.declare+=` ${t}: string;\n`}),s},{globalStyles:"",globalDocs:{doc:"",declare:""}});module.exports={generateGlobalStyles:s};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{cssPseudoClasses:e,cssPseudoElements:s}=require("../../../../constants/index.js"),{separateStyles:t}=require("../utils/separateStyles.utils.js"),r=({pseudoData:o,ruleName:n,processSource:u})=>{for(const[c,l]of Object.entries(o)){const o=(()=>c in e?`:${e[c]}`:c in s?`::${s[c]}`:"")(),{$target:a,...i}=l,d=`${n}${a?`${o}(${a})`:`${o}`}`,{styles:p,lib:$,other:j}=t(i),b=Object.entries(p).length>0||Object.entries($).length>0;Object.keys(j).some(t=>t in e||t in s)&&r({pseudoData:j,ruleName:d,processSource:u}),b&&u({source:{...p,...$},theRule:d})}};module.exports={pseudoHandler:r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{formattedStatKey:e}=require("../utils"),t=({register:t,component:n,variant:r,mainComponent:i,hasStyles:o,prefix:a})=>{if(i in t||(t[i]={}),n in t[i]||(t[i][n]=!!o&&`${a}${n}`),r){const o=`$_${e(r)}`;if(o in t[i]||(t[i][o]={}),!(n in t[i][o])){const e=!!t[i][n];t[i][o][n]=e?`${a}${n} ${a}${n}--${r}`:`${a}${n}--${r}`}}},n=({parentRule:e,key:t,prefix:n})=>{const[r,i]=e.split("--");return{mainComponent:r,variant:i&&i.length&&i.replace(/\[.*?\]/g,""),lowerKey:!!t&&t.length&&t.toLocaleLowerCase()}},r=({ruleName:t,foreignRegister:r,register:i})=>{const{mainComponent:o,variant:a}=n({parentRule:t});if(o in i||(i[o]={}),a){const t=`$_${e(a)}`;t in i[o]||(i[o][t]={}),i[o][t]={...i[o][t],...r}}else i[o]={...i[o],...r}},i=({key:e="",parentRule:r,theRule:i,hasStyles:o,prefix:a,register:s={}})=>{let l="";if(i)l=i;else if(r){const{mainComponent:i,variant:p,lowerKey:$}=n({parentRule:r,key:e}),m=i.replace(a,"");e.startsWith("_")?(l=p?`${i}_${$}--${p}`:`${i}_${$}`,t({register:s,mainComponent:m,component:`${m}_${$}`,variant:p,hasStyles:o,prefix:a})):$&&(l=`${i}--${$}`,t({register:s,mainComponent:m,component:m,variant:$,hasStyles:o,prefix:a}))}else{const n=e.toLocaleLowerCase().replace(/\[.*?\]/g,"");l=`${a}${n}`,e.length&&t({register:s,component:n,mainComponent:n,hasStyles:o,prefix:a})}return l};module.exports={formatRuleName:i,setForeignRegister:r};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{cssProps:s}=require("../../../../constants/cssProps.js"),t=({styles:t,dynamicValues:e})=>Object.entries(t).filter(([t])=>s[t]).map(([t,n])=>{const r=s[t],c=String(n).split("$").length-1,i=e&&c>0?String(n).split(" ").reduce((s,t,n)=>(t in e&&(n>0&&(s+=" "),s+=e[t]),s),""):n;return r===s.$content?`${r}: '${i}';`:`${r}: ${i};`}).join(" ");module.exports={extractValues:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=e=>{let l=e;return l.includes("$_")&&(l=l.replace("$_","")),l.includes(" ","_")&&(l=l.replace(" ","_")),l.includes("__")&&(l=l.replace("__","_")),l.includes("--")&&(l=l.replace("--","_")),l.includes("-")&&(l=l.replace("-","_")),l};module.exports={formattedStatKey:e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{extractValues:s}=require("./extractValues.utils"),{processCssWithPostcss:e}=require("./processCss.utils"),{separateStyles:t}=require("./separateStyles.utils"),{validatePreviouslyExists:r}=require("./validatePreviouslyExists.utils"),{formattedStatKey:a}=require("./formattedStatKey.utils");module.exports={extractValues:s,processCssWithPostcss:e,separateStyles:t,validatePreviouslyExists:r,formattedStatKey:a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("postcss"),s=require("autoprefixer"),r=require("cssnano"),t=require("postcss-preset-env"),o=require("postcss-font-magician"),a=require("path"),i=async(i,c=!1,n="",u={})=>{const l=[t({stage:0,autoprefixer:{grid:!0},features:{"custom-properties":!1}}),s({overrideBrowserslist:["> 1%","last 2 versions","Firefox ESR","not dead"]}),o({variants:u?.google?.reduce((e,s)=>(e[s.name]=s.weights.reduce((e,s)=>(e[s]=[],e),{}),e),{}),foundries:["google","local"],custom:u?.local?.reduce((e,s)=>(e[s.name]={variants:Object.keys(s.files).reduce((e,r)=>(e[r]={normal:{url:{ttf:a.join("fonts",a.basename(s.files[r]))}}},e),{})},e),{})})];return c&&l.push(r({preset:"default"})),n&&(i=(i=i.replace(/:root/g,`[data-theme='${n}']`)).replace(/\.([a-zA-Z_][\w-]*)/g,(e,s)=>i.includes("@font-face")||i.includes("@import")?e:`[data-theme='${n}'] .${s}`)),(await e(l).process(i,{from:void 0})).css};module.exports={processCssWithPostcss:i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{cssProps:s}=require("../../../../constants/index.js"),t=t=>{const e={},r={},n={};return Object.entries(t).forEach(([t,o])=>{t in s?e[t]=o:t.startsWith("$")&&o?n[t]=o:r[t]=o}),{styles:e,lib:n,other:r}};module.exports={separateStyles:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("fs").promises,r=require("path"),{compilerTypeValid:t}=require("../../../../constants"),{extractDocFragment:s}=require("../../../extractDocFragment/extractDocFragment.utils"),a=async({stylesDir:a,compilerType:c,name:i})=>{const n={cssDir:r.resolve(a,`${i}.css`),cssMinifiedDir:r.resolve(a,`${i}.min.css`),oldData:""};try{await e.access(a);try{if(await e.access(n.cssDir),!c||c===t.full)return n;const r=await e.readFile(n.cssDir,"utf8"),a=(()=>{switch(c){case t.foundationOnly:return"Components";case t.componentOnly:return"Foundations";default:return""}})();n.oldData=s({section:a,doc:r})}catch{return n}}catch{return await e.mkdir(a,{recursive:!0}),n}return n};module.exports={validatePreviouslyExists:a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{compilerTypeValid:n}=require("../../constants"),o=({compilerType:o,stylesCss:e,foundationsCss:s,oldData:N=""})=>`${o!==n.componentOnly?`/* === BERNOVA FOUNDATIONS === */\n${s}\n/* === END FOUNDATIONS === */\n\n`:N}${o!==n.foundationOnly?`/* === BERNOVA COMPONENTS === */\n${e}\n/* === END COMPONENTS === */\n`:N}`;module.exports={generateCssDoc:o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s=require("fs"),e=require("fs").promises,a=require("path"),{writeDoc:n}=require("../writeDoc/writeDoc.utils"),{compilerTypeValid:l}=require("../../constants"),{extractDocFragment:o}=require("../extractDocFragment/extractDocFragment.utils"),c=async({providerDocs:n,declarationHelp:c,compilerType:t,dir:r})=>{const i={doc:{cssThemes:"/* CssThemes */\nexport const cssThemes = {\n",cssVars:"/* CssVars */\nexport const cssVars = {\n",cssClasses:"/* CssClasses */\nexport const cssClasses = {\n",cssAvailableComponents:"/* CssAvailableComponents */\nexport const cssAvailableComponents = {\n",cssGlobalStyles:"/* CssGlobalStyles */\nexport const cssGlobalStyles = {\n",cssMediaQueries:"/* CssMediaQueries */\nexport const cssMediaQueries = {\n"},declare:{cssThemes:"/* CssThemes */\nexport declare const cssThemes: {\n",cssVars:"/* CssVars */\nexport interface CssVars {\n",cssClasses:"/* CssClasses */\nexport interface CssClasses {\n",cssAvailableComponents:"/* CssAvailableComponents */\nexport interface CssAvailableComponents {\n",cssGlobalStyles:"/* CssGlobalStyles */\nexport interface CssGlobalStyles {\n",cssMediaQueries:"/* CssMediaQueries */\nexport interface CssMediaQueries {\n"}};if(s.existsSync(r)){const s=await e.readFile(a.resolve(r,"stats/stats.js"),"utf8");if(t===l.componentOnly){const e=o({section:"CssVars",doc:s}),a=o({section:"CssGlobalStyles",doc:s}),n=o({section:"CssMediaQueries",doc:s});i.doc.cssVars=`/* CssVars */\n${e}\n/* CssVars */\n`,i.doc.cssGlobalStyles=`/* CssGlobalStyles */\n${a}\n/* CssGlobalStyles */\n`,i.doc.cssMediaQueries=`/* CssMediaQueries */\n${n}\n/* CssMediaQueries */\n`}if(t===l.foundationOnly){const e=o({section:"CssClasses",doc:s}),a=o({section:"CssAvailableComponents",doc:s});i.doc.cssClasses=`/* CssClasses */\n${e}\n/* CssClasses */\n`,i.doc.cssAvailableComponents=`/* CssAvailableComponents */\n${a}\n/* CssAvailableComponents */\n`}if(c){const s=await e.readFile(a.resolve(r,"stats/stats.d.ts"),"utf8");if(t===l.componentOnly){const e=o({section:"CssVars",doc:s}),a=o({section:"CssGlobalStyles",doc:s}),n=o({section:"CssMediaQueries",doc:s});i.declare.cssVars=`/* CssVars */\n${e}\n/* CssVars */\n`,i.declare.cssGlobalStyles=`/* CssGlobalStyles */\n${a}\n/* CssGlobalStyles */\n`,i.declare.cssMediaQueries=`/* CssMediaQueries */\n${n}\n/* CssMediaQueries */\n`}if(t===l.foundationOnly){const e=o({section:"CssClasses",doc:s}),a=o({section:"CssAvailableComponents",doc:s});i.declare.cssClasses=`/* CssClasses */\n${e}\n/* CssClasses */\n`,i.declare.cssAvailableComponents=`/* CssAvailableComponents */\n${a}\n/* CssAvailableComponents */\n`}}}const d=Object.entries(n),C=t!==l.componentOnly,p=t!==l.foundationOnly;return d.reduce((s,[e,a],n)=>{const l=a.beforeFiles?.length>0,o=a.afterFiles?.length>0,t=l?` before: ${a.beforeFiles}, `:"",r=o?` after: ${a.afterFiles}, `:"",i=l||o?` foreign: {${t}${r}},`:"";return s.doc.cssThemes+=` '${e}': { css: '${a.cssPath}',${i} },\n`,c&&(s.declare.cssThemes+=` '${e}': { css: string; foreign?: { before?: string[]; after?: string[]; }; };\n`),C&&(s.doc.cssVars+=` '${e}': {\n${a.variables?.doc||""} },\n`,s.doc.cssGlobalStyles+=` '${e}': {\n${a.globalStyles?.doc||""} },\n`,s.doc.cssMediaQueries+=` '${e}': {\n${a.mediaQueries?.doc||""} },\n`,c&&(s.declare.cssVars+=` '${e}': {\n${a.variables?.declare||""} },\n`,s.declare.cssGlobalStyles+=` '${e}': {\n${a.globalStyles?.declare||""} },\n`,s.declare.cssMediaQueries+=` '${e}': {\n${a.mediaQueries?.declare||""} },\n`)),p&&(s.doc.cssClasses+=` '${e}': {\n${a.classNames?.doc||""} },\n`,s.doc.cssAvailableComponents+=` '${e}': {\n${a.availableComp?.doc||""} },\n`,c&&(s.declare.cssClasses+=` '${e}': {\n${a.classNames?.declare||""} },\n`,s.declare.cssAvailableComponents+=` '${e}': {\n${a.availableComp?.declare||""} },\n`)),n===d.length-1&&(s.doc.cssThemes+="}\n/* CssThemes */\n",s.doc.cssVars+=C?"}\n/* CssVars */\n":"",s.doc.cssGlobalStyles+=C?"}\n/* CssGlobalStyles */\n":"",s.doc.cssMediaQueries+=C?"}\n/* CssMediaQueries */\n":"",s.doc.cssClasses+=p?"}\n/* CssClasses */\n":"",s.doc.cssAvailableComponents+=p?"}\n/* CssAvailableComponents */\n":"",c&&(s.declare.cssThemes+="}\n/* CssThemes */\n",s.declare.cssVars+=C?"}\n/* CssVars */\n":"",s.declare.cssGlobalStyles+=C?"}\n/* CssGlobalStyles */\n":"",s.declare.cssMediaQueries+=C?"}\n/* CssMediaQueries */\n":"",s.declare.cssClasses+=p?"}\n/* CssClasses */\n":"",s.declare.cssAvailableComponents+=p?"}\n/* CssAvailableComponents */\n":"")),s},i)},t=async({dir:s,providerDocs:l,declarationHelp:o,providerName:t,compilerType:r})=>{const{doc:i,declare:d}=await c({providerDocs:l,declarationHelp:o,compilerType:r,dir:s}),C=`${i.cssThemes}\n${i.cssVars}\n${i.cssClasses}\n${i.cssAvailableComponents}\n${i.cssGlobalStyles}\n${i.cssMediaQueries}\n`;await n(`${s}/stats/stats.js`,C,"stats.js");const p=a.resolve(__dirname,"./template/providerTemplate.js");let m=await e.readFile(p,"utf8");if(m=m.replace(/\$_Provider_\$/g,t),await n(`${s}/${t}.js`,m,`${t}.js`),o){const l=`${d.cssThemes}\n${d.cssVars}\n${d.cssClasses}\n${d.cssAvailableComponents}\n${d.cssGlobalStyles}\n${d.cssMediaQueries}\nexport declare const cssVars: CssVars;\nexport declare const cssClasses: CssClasses;\nexport declare const cssAvailableComponents: CssAvailableComponents;\nexport declare const cssGlobalStyles: CssGlobalStyles;\nexport declare const cssMediaQueries: CssMediaQueries;\n`;await n(`${s}/stats/stats.d.ts`,l,"stats.d.ts");const o=a.resolve(__dirname,"./template/providerTemplate.d.ts");let c=await e.readFile(o,"utf8");c=c.replace(/\$_Provider_\$/g,t),await n(`${s}/${t}.d.ts`,c,`${t}.d.ts`)}};module.exports={generateProvider:t};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cssThemes,
|
|
3
|
+
cssClasses,
|
|
4
|
+
cssVars,
|
|
5
|
+
cssAvailableComponents,
|
|
6
|
+
cssGlobalStyles,
|
|
7
|
+
cssMediaQueries,
|
|
8
|
+
} from './stats/stats';
|
|
9
|
+
|
|
10
|
+
type ThemesKeys = keyof typeof cssThemes;
|
|
11
|
+
/* Get the types of each variable from the current theme selected */
|
|
12
|
+
type VarFromTheme = (typeof cssVars)[ThemesKeys];
|
|
13
|
+
type ClassNameFromTheme = (typeof cssClasses)[ThemesKeys];
|
|
14
|
+
type ComponentsFromTheme = (typeof cssAvailableComponents)[ThemesKeys];
|
|
15
|
+
type ComponentsKey = keyof ComponentsFromTheme;
|
|
16
|
+
type GlobalStylesFromThemes = (typeof cssGlobalStyles)[ThemesKeys];
|
|
17
|
+
type MediaQueriesFromThemes = (typeof cssMediaQueries)[ThemesKeys];
|
|
18
|
+
/* Get the type of non-variable keys from a component required */
|
|
19
|
+
type NonVariablesKeys<T> = {
|
|
20
|
+
[K in keyof T]: K extends `$${string}` ? never : K;
|
|
21
|
+
}[keyof T];
|
|
22
|
+
type ComponentSelected<T> = Pick<T, NonVariablesKeys<T>>;
|
|
23
|
+
|
|
24
|
+
export declare class $_Provider_$ {
|
|
25
|
+
private static instance: $_Provider_$;
|
|
26
|
+
#currentTheme: ThemesKeys;
|
|
27
|
+
#themes: typeof cssThemes;
|
|
28
|
+
#themesVariables: typeof cssVars;
|
|
29
|
+
#themesClassNames: typeof cssClasses;
|
|
30
|
+
#themesComponents: typeof cssAvailableComponents;
|
|
31
|
+
#themesGlobalStyles: typeof cssGlobalStyles;
|
|
32
|
+
#themesMediaQueries: typeof cssMediaQueries;
|
|
33
|
+
#linkId: string;
|
|
34
|
+
#jsInCss: boolean;
|
|
35
|
+
#linkBuilder: (url: string, id: string) => void;
|
|
36
|
+
#handlerThemes: (data: {
|
|
37
|
+
css: string;
|
|
38
|
+
foreign?: { high?: string[]; low?: string[] };
|
|
39
|
+
}) => void;
|
|
40
|
+
#cleanUpLinks: () => void;
|
|
41
|
+
|
|
42
|
+
constructor(options?: { linkId?: string; jsInCss?: boolean });
|
|
43
|
+
|
|
44
|
+
get themeSelected(): string | null;
|
|
45
|
+
get allThemesNames(): string[];
|
|
46
|
+
get allThemes(): Record<string, string>;
|
|
47
|
+
get variables(): VarFromTheme;
|
|
48
|
+
get classNames(): ClassNameFromTheme;
|
|
49
|
+
get components(): ComponentsFromTheme;
|
|
50
|
+
get globalStyles(): GlobalStylesFromThemes;
|
|
51
|
+
get mediaQueries(): MediaQueriesFromThemes;
|
|
52
|
+
|
|
53
|
+
set themeSelected(themeName: string);
|
|
54
|
+
|
|
55
|
+
getComponentStyles<T extends ComponentsKey>(params: {
|
|
56
|
+
variant?: string;
|
|
57
|
+
component: T;
|
|
58
|
+
additionalClassNames?: Partial<ComponentSelected<ClassNameFromTheme[T]>>;
|
|
59
|
+
}): ComponentSelected<ClassNameFromTheme[T]>;
|
|
60
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{cssThemes as e,cssClasses as t,cssVars as s,cssAvailableComponents as i,cssGlobalStyles as n,cssMediaQueries as h}from"./stats/stats";export class $_Provider_${#e;#t;#s;#i;#n;#h;#r;#l;#m;#o=(e,t)=>{if("undefined"==typeof document)return;let s=document.getElementById(t);s||(s=document.createElement("link"),s.id=t,s.rel="stylesheet",document.head.appendChild(s)),s.href=e};#a=e=>{const{css:t,foreign:s}=e,i=s?.before||[],n=s?.after||[];i.forEach((e,t)=>{const s=`${this.#l}-foreign-before-${t+1}`;this.#o(e,s)}),this.#o(t,this.#l),n.forEach((e,t)=>{const s=`${this.#l}-foreign-after-${t+1}`;this.#o(e,s)})};#c=()=>{"undefined"!=typeof document&&document.querySelectorAll(`link[id^="${this.#l}"]`).forEach(e=>e.remove())};constructor({linkId:r,jsInCss:l}={}){this.#t=e,this.#s=s,this.#i=t,this.#n=i,this.#h=n,this.#r=h,this.#l=r||"kb-styled-link",this.#e=Object.keys(e)[0],this.#m=!!l,this.getComponentStyles=this.getComponentStyles.bind(this),"undefined"!=typeof window&&"undefined"!=typeof document&&this.#m&&(this.#c(),this.#a(this.#t[this.#e]))}get themeSelected(){return this.#e}set themeSelected(e){if(!(e in this.#t))throw new Error(`${e} is not exists`);this.#m&&(this.#c(),this.#a(this.#t[e])),this.#e=e}get allThemesNames(){return Object.keys(this.#t)}get allThemes(){return this.#t}get variables(){return this.#s[this.#e]}get classNames(){return this.#i[this.#e]}get components(){return this.#n[this.#e]}get globalStyles(){return this.#h[this.#e]}get mediaQueries(){return this.#r[this.#e]}getComponentStyles({variant:e,component:t,additionalClassNames:s}){const i=this.#i[this.#e][t.toLocaleUpperCase()];if(!i)return{};const n={},h=!!e&&`$_${e.toLocaleLowerCase().replace(/-/g,"_")}`;if(h&&h in i){const e=i[h];Object.entries(e).forEach(([e,t])=>{e in n||(n[e]=t)})}return Object.entries(i).forEach(([e,t])=>{e.startsWith("$_")||e in n||(n[e]=t)}),s&&Object.keys(s).length&&Object.entries(s).forEach(([e,t])=>{e in n||(n[e]=""),n[e]+=` ${t}`}),n}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=({rootDocs:e,foreignVars:r,register:s})=>{const o=e?.doc?.length>0&&e?.declare?.length>0,l=r?.doc?.length>0&&r?.declare?.length>0;(o||l)&&(s.variables={doc:"",declare:""}),o&&(s.variables.doc+=e.doc,s.variables.declare+=e.declare),l&&(s.variables.doc+=r.doc,s.variables.declare+=r.declare)},r=({stylesDocs:e,foreignStyles:r,register:s})=>{const o=e?.comp?.object?.length>0,l=e?.prov?.doc?.length>0&&e?.prov?.declare?.length>0,c=r?.doc?.length>0&&r?.declare?.length>0;(l||c)&&(s.classNames={doc:"",declare:""}),l&&(s.classNames.doc+=e.prov.doc,s.classNames.declare+=e.prov.declare),c&&(s.classNames.doc+=r.doc,s.classNames.declare+=r.declare),o&&(s.availableComp={doc:e.comp.object,declare:e.comp.object})},s=({globalDocs:e,register:r})=>{e?.doc?.length>0&&e?.declare?.length>0&&(r.globalStyles=e)},o=({mediaDocs:e,register:r})=>{e?.length>0&&(r.mediaQueries={doc:e,declare:e})},l=({foreignBeforeFiles:e,foreignAfterFiles:r,register:s})=>{e?.length>0&&(s.beforeFiles=e),r?.length>0&&(s.afterFiles=r)},c=({cssPath:c,rootDocs:a,stylesDocs:t,globalDocs:g,mediaDocs:i,foreignStyles:d,foreignVars:n,foreignBeforeFiles:f,foreignAfterFiles:h})=>{const m={cssPath:c};return e({rootDocs:a,foreignVars:n,register:m}),r({stylesDocs:t,foreignStyles:d,register:m}),s({globalDocs:g,register:m}),o({mediaDocs:i,register:m}),l({foreignBeforeFiles:f,foreignAfterFiles:h,register:m}),m};module.exports={generateThemeRegister:c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s=require("path"),{compilerTypeValid:e}=require("../../constants"),{writeDoc:o}=require("../writeDoc/writeDoc.utils"),a=async({dir:a,bvTools:t,compilerType:c,name:l,stylesDocs:r,rootDocs:n,globalDocs:i,mediaDocs:d})=>{const{path:p,cssClassNames:b,cssVariables:v,availableComponents:m,cssMediaQueries:u,cssGlobalStyles:C,declarationHelp:w}=t,y=c!==e.foundationOnly,j=c!==e.componentOnly;if(b&&y){const{tools:{doc:e,declare:t}}=r,c=s.resolve(a,p,"cssClasses.js"),l=`export const cssClasses = {\n${e}}`;if(await o(c,l,"cssClasses.js"),w){const e=s.resolve(a,p,"cssClasses.d.ts"),c=`export declare const cssClasses: {\n${t}}`;await o(e,c,"cssClasses.d.ts")}}if(v&&j){const{doc:e,declare:t}=n,c=s.resolve(a,p,"cssVars.js"),l=`export const cssVars = {\n${e}}`;if(await o(c,l,"cssVars.js"),w){const e=s.resolve(a,p,"cssVars.d.ts"),c=`export declare const cssVars: {\n${t}}`;await o(e,c,"cssVars.d.ts")}}if(m&&y){const{comp:e}=r,t=s.resolve(a,p,"cssAvailableComponents.js"),c=`export const cssAvailableComponents = {\n${e.object}}`;if(await o(t,c,"cssAvailableComponents.js"),w){const t=s.resolve(a,p,"cssAvailableComponents.d.ts"),c=`export declare const cssAvailableComponents: {\n${e.object}}`;await o(t,c,"cssAvailableComponents.d.ts")}}if(j&&u){const e=s.resolve(a,p,"cssMediaQueries.js"),t=`export const cssMediaQueries = {\n${d}}`;if(await o(e,t,"cssMediaQueries.js"),w){const e=s.resolve(a,p,"cssMediaQueries.d.ts"),t=`export declare const cssMediaQueries: {\n${d}}`;await o(e,t,"cssMediaQueries.d.ts")}}if(j&&C){const{doc:e,declare:t}=i,c=s.resolve(a,p,"cssGlobalStyles.js"),l=`export const cssGlobalStyles = {\n${e}}`;if(await o(c,l,"cssGlobalStyles.js"),w){const e=s.resolve(a,p,"cssGlobalStyles.d.ts"),c=`export declare const cssGlobalStyles: {\n${t}}`;await o(e,c,"cssGlobalStyles.d.ts")}}return!0};module.exports={generateTools:a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("path"),{typingStyles:t}=require("../typingStyles"),{writeDoc:s}=require("../writeDoc/writeDoc.utils"),o=async({dir:o,typesTools:n,mediaConfig:i,stylesDocs:p})=>{const{stylesTypes:r,componentsTypes:a}=n;if(r){const{name:n,path:p}=r,a=e.resolve(o,p,`${n}.ts`),y=t({mediaConfig:i});await s(a,y,`${n}.ts`)}if(a&&Object.keys(p).length>0){const{name:t,path:n}=a,i=e.resolve(o,n,`${t}.ts`),{comp:r,prov:y}=p,l=t.charAt(0).toUpperCase()+t.slice(1),c=`export type ${l}AvailableComponents = ${r.simple}\n\ntype NonVariablesKeys<T> = {\n [K in keyof T]: K extends \`$\${string}\` ? never : K;\n}[keyof T];\nexport type ComponentSelected<T> = Pick<T, NonVariablesKeys<T>>;\n \nexport type ${l}Components = {\n${y.declare}}`;await s(i,c,`${t}.ts`)}};module.exports={generateTypesTools:o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("fs").promises,r=require("path"),{fileExists:t}=require("../fileExists/fileExists.utils"),{simplifyName:s}=require("../simplifyName/simplifyName.utils"),i=async({dir:i,foreignThemes:a})=>{const n={after:"",before:""},o={doc:"",declare:""},c={doc:"",declare:""},l=new Set;if(a&&a.length>0)for(const{path:d,position:f,name:m}of a){if(!t(i,d))continue;const a=s(m).toLocaleUpperCase(),$=r.resolve(i,d),h=await e.readFile($,"utf-8");n[f]+=0===n[f].length?`'${$}'`:`, '${$}'`;const p=h.match(/--[a-zA-Z0-9-_]+:\s*[^;]+;/g);p&&[...new Set(p)].forEach(e=>{const[r]=e.split(":").map(e=>e.trim()),t=s(r);l.has(t)||(l.add(t),c.doc+=` ${t}: 'var(${r})',\n`,c.declare+=` ${t}: string; \n`)});const u=h.match(/\.[a-zA-Z0-9_-]+/g);if(u){const{doc:e,declare:r}=[...new Set(u)].reduce((e,r)=>{const t=r.slice(1),i=s(t);return e.doc+=` ${i}: '${t}',\n`,e.declare+=` ${i}: string; \n`,e},{doc:"",declare:""});o.doc+=` ${a}: {\n${e} },\n`,o.declare+=` ${a}: {\n${r} },\n`}}return{themeByPosition:{after:`[${n.after}]`,before:`[${n.before}]`},variablesExtracted:c,classesExtracted:o}};module.exports={handlerForeignThemes:i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{generateCSS:e}=require("./generateCss/generateCSS.utils.js"),{readConfigData:r,readThemeData:s}=require("./readFile/readFile.utils.js"),{writeDoc:i}=require("./writeDoc/writeDoc.utils.js"),{generateBaseCss:t}=require("./generateBaseCss/generateBaseCss.utils.js"),{copyLocalFonts:a}=require("./copyLocalFonts/copyLocalFonts.utils.js"),{generateCssFonts:o}=require("./copyLocalFonts/generateCssFonts.utils.js"),{generateProvider:n}=require("./generateProvider/generateProvider.utils.js"),{compileThemes:g}=require("./compileThemes.js"),{compileConfig:l}=require("./compileConfig.js"),{typingStyles:c}=require("./typingStyles"),{extractDocFragment:m}=require("./extractDocFragment/extractDocFragment.utils.js"),{fileExists:u}=require("./fileExists/fileExists.utils.js"),{handlerForeignThemes:C}=require("./handlerForeignThemes/handlerForeignThemes.utils.js"),{simplifyName:p}=require("./simplifyName/simplifyName.utils.js"),{processMediaConfig:d}=require("./processMediaConfig/processMediaConfig.util.js"),{generateThemeRegister:F}=require("./generateThemeRegister/generateThemeRegister.utils.js"),{generateCssDoc:f}=require("./generateCssDoc/generateCssDoc.util.js");module.exports={generateCSS:e,readConfigData:r,readThemeData:s,writeDoc:i,generateBaseCss:t,copyLocalFonts:a,generateCssFonts:o,generateProvider:n,compileThemes:g,compileConfig:l,typingStyles:c,extractDocFragment:m,handlerForeignThemes:C,fileExists:u,simplifyName:p,processMediaConfig:d,generateThemeRegister:F,generateCssDoc:f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{simplifyName:e}=require("../simplifyName/simplifyName.utils.js"),i=({mediaConfig:i})=>i.reduce((i,{name:m})=>i+` ${e(m)}: '${m}',\n`,"");module.exports={processMediaConfig:i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("fs").promises,r=require("path"),{register:o}=require("ts-node");o({compilerOptions:{module:"commonjs",target:"es6",moduleResolution:"node",esModuleInterop:!0,allowJs:!0,skipLibCheck:!0}});const t=async r=>{try{const o=await e.readFile(r,"utf8"),t=JSON.parse(o);if(!t||"object"!=typeof t)throw new Error("Configuration file must contain a valid JSON object");return t}catch(e){if("ENOENT"===e.code)throw new Error(`Configuration file not found: ${r}`);if(e instanceof SyntaxError)throw new Error(`Invalid JSON in configuration file: ${e.message}`);throw console.error(`Error reading config file at ${r}:`,e.message),e}},n=e=>{const o={};return Object.entries(e).forEach(([e,t])=>{try{const{path:n,name:a}=t;if(!n||!a)throw new Error(`Invalid configuration for ${e}: missing path or name`);const i=r.resolve(n);delete require.cache[i];const module=require(i);if(!(a in module))throw new Error(`Export "${a}" not found in module ${n}`);o[e]=module[a]}catch(r){throw console.error(`Failed to load theme data for ${e}:`,r.message),new Error(`Cannot load theme data for "${e}": ${r.message}`)}}),o};module.exports={readConfigData:t,readThemeData:n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=t=>{if(!t||"string"!=typeof t)return"";const e=t.match(/[a-zA-Z0-9]+/g)||[];return[...new Set(e)].join("_")};module.exports={simplifyName:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{typingStyles:t}=require("./typingStyles.utils");module.exports={typingStyles:t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const{cssProps:e,cssPseudoClasses:s,cssPseudoElements:n,cssAdvancedSelectors:t}=require("../../constants"),r=({object:e,type:s})=>Object.keys(e).reduce((e,n)=>e+` ${n}?: ${s};\n`,""),$=({advancedSelectors:e,type:s})=>Object.keys(e).reduce((e,n,t)=>e+`${t>0?" |":""} { ${n}?: ${s}; }\n`,""),p=({mediaConfig:e,type:s})=>e&&Array.isArray(e)?e.reduce((e,n)=>e+` '${n.name}'?: ${s};\n`,""):"",y=({mediaConfig:y})=>{const o="CssLibPropsType",i=Array.isArray(y)&&y.length>0,a="CssPropsType",c="CssPseudoClassesType",d="CssPseudoElementsType",u="CssAdvancedSelectorsType",g="CssMediaQueriesType",C="CssForeignType",l=`${o} & { $target?: string; }`,b="CssLibPseudoClassesType",x="CssLibPseudoElementsType",m="CssLibAdvancedSelectorsType",T="CssLibAttributesType",k="CssLibMediaQueriesType",P="CssForeignLibType",v="CssDynamicValuesType",A=`export type ${o} = ${a} & ${b} & ${x} & ${m} & ${v} & ${T}${i?` & ${k}`:""} & ${P};\n`;return`\nexport type ${a} = {\n${r({object:e,type:"string"})}}\n\nexport type ${c} = {\n${r({object:s,type:`${c} | ${d} | ${l}`})}}\n\nexport type ${d} = {\n${r({object:n,type:`${d} | ${c} | ${o}`})}}\n\nexport type ${u} = \n${$({advancedSelectors:t,type:l})}\n\nexport type ${g} = ${a} & { $type?: string; $values?: { [key: string]: string }; }\n\nexport type ${C} = { [key:string]: { component: object; variant?: string | unknown; name: string; } }\n\nexport type ${b} = {\n $pseudoClasses?: ${c} \n}\n\nexport type ${x} = {\n $pseudoElements?: ${d} \n}\n\nexport type ${v} = {\n $dynamicValues?: string[]; \n}\n\nexport type ${m} = {\n $advancedSelectors?: ${u}[] \n}\n\nexport type ${T} = { $attributes?: { [key: string]: ${o} } | { [key: string]: { [key: string]: ${o} } } }\n\n${i?`export type ${k} = {\n $mediaQueries?: {\n [key: string]: ${g}\n } | {\n${p({mediaConfig:y,type:o})} }\n}\n`:""}\nexport type ${P} = {\n $foreign?: ${C} \n}\n\n${A}\n `};module.exports={typingStyles:y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const r=require("path"),t=require("fs/promises"),e=async(e,i,o)=>{const{default:s}=await import("ora"),a=s(`Writing ${o} to ${e}...`).start();try{await t.mkdir(r.dirname(e),{recursive:!0});const s=await Promise.resolve(i);await t.writeFile(e,s),a.succeed(`${o} successfully written to ${e}`)}catch(r){a.fail(`Error writing ${o} to ${e}`),console.error(r)}};module.exports={writeDoc:e};
|
package/package.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bernova",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"description": "The best way to write CSS with Javascript syntax",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/src/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"bernova": "./dist/bin/bernova.js",
|
|
9
|
+
"bv-config": "./dist/bin/createConfigFile.js",
|
|
10
|
+
"bv-build": "./dist/bin/buildstyle.js"
|
|
11
|
+
},
|
|
12
|
+
"_moduleAliases": {
|
|
13
|
+
"@": "src"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"src",
|
|
18
|
+
"types",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"dist": "yarn run build",
|
|
23
|
+
"build": "yarn run clean && yarn run build:types && yarn run build:vite && yarn run build:copy",
|
|
24
|
+
"build:vite": "vite build",
|
|
25
|
+
"build:types": "tsc --declaration --emitDeclarationOnly --outDir types",
|
|
26
|
+
"build:copy": "yarn run build:copy-src && yarn run build:copy-bin && yarn run build:optimize",
|
|
27
|
+
"build:copy-src": "cp -r src dist/ && echo 'Source files copied for compatibility'",
|
|
28
|
+
"build:copy-bin": "mkdir -p dist/bin && cp -r bin/* dist/bin/ && chmod +x dist/bin/*.js && echo 'CLI binaries copied and made executable'",
|
|
29
|
+
"build:optimize": "yarn run build:remove-tests && yarn run build:remove-docs && yarn run build:minify-cli",
|
|
30
|
+
"build:remove-tests": "find dist/src -name '__tests__' -type d -exec rm -rf {} + 2>/dev/null || true && find dist/src -name '*.test.js' -delete 2>/dev/null || true && echo 'Test files removed from build'",
|
|
31
|
+
"build:remove-docs": "find dist/src -name '*.md' -delete 2>/dev/null || true && echo 'Documentation files removed from build'",
|
|
32
|
+
"build:minify-cli": "node scripts/minify-all.js",
|
|
33
|
+
"start": "node ./bin/bernova.js",
|
|
34
|
+
"start:foundation": "node ./bin/bernova.js --foundationOnly",
|
|
35
|
+
"start:component": "node ./bin/bernova.js --componentOnly",
|
|
36
|
+
"dev": "yarn run start",
|
|
37
|
+
"config": "node ./bin/createConfigFile.js",
|
|
38
|
+
"typing": "node ./bin/declareCssType.js",
|
|
39
|
+
"prepublishOnly": "yarn run build",
|
|
40
|
+
"test": "yarn run vitest --coverage.enabled=true --silent --run ",
|
|
41
|
+
"test:watch": "vitest",
|
|
42
|
+
"test:ui": "vitest --ui",
|
|
43
|
+
"test:coverage": "vitest run --coverage",
|
|
44
|
+
"test:ci": "vitest --coverage.enabled=true --silent --run ",
|
|
45
|
+
"clean": "rm -rf dist types",
|
|
46
|
+
"postinstall": "echo 'postinstall'"
|
|
47
|
+
},
|
|
48
|
+
"keywords": [],
|
|
49
|
+
"author": "Kubit team",
|
|
50
|
+
"license": "ISC",
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"autoprefixer": "^10.4.21",
|
|
53
|
+
"cssnano": "^7.1.1",
|
|
54
|
+
"ora": "^9.0.0",
|
|
55
|
+
"postcss": "^8.5.6",
|
|
56
|
+
"postcss-font-magician": "^4.0.0",
|
|
57
|
+
"postcss-preset-env": "^10.4.0",
|
|
58
|
+
"ts-node": "^10.9.2",
|
|
59
|
+
"typescript": "*"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@babel/cli": "^7.28.3",
|
|
63
|
+
"@babel/core": "^7.28.4",
|
|
64
|
+
"@babel/preset-env": "^7.28.3",
|
|
65
|
+
"@vitejs/plugin-legacy": "^6.1.1",
|
|
66
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
67
|
+
"@vitest/ui": "^3.2.4",
|
|
68
|
+
"jsdom": "^26.1.0",
|
|
69
|
+
"module-alias": "^2.2.3",
|
|
70
|
+
"postcss-combine-media-query": "^2.1.0",
|
|
71
|
+
"rollup-plugin-copy": "^3.5.0",
|
|
72
|
+
"terser": "^5.44.0",
|
|
73
|
+
"tsconfig-paths": "^4.2.0",
|
|
74
|
+
"vite": "^6.3.6",
|
|
75
|
+
"vitest": "^3.2.4"
|
|
76
|
+
},
|
|
77
|
+
"resolutions": {
|
|
78
|
+
"vite": "^6.3.6"
|
|
79
|
+
}
|
|
80
|
+
}
|