baseline-kit 3.0.1 → 5.0.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/README.md +99 -63
- package/dist/README.md +99 -63
- package/dist/baseline-kit.css +3 -21
- package/dist/core/src/config/defaults.d.ts +2 -0
- package/dist/core/src/config/index.d.ts +3 -0
- package/dist/core/src/config/merge.d.ts +21 -0
- package/dist/core/src/config/schema.d.ts +33 -0
- package/dist/core/src/descriptors/baseline.d.ts +26 -0
- package/dist/core/src/descriptors/box.d.ts +20 -0
- package/dist/core/src/descriptors/guide.d.ts +44 -0
- package/dist/core/src/descriptors/index.d.ts +5 -0
- package/dist/core/src/descriptors/padder.d.ts +19 -0
- package/dist/core/src/descriptors/spacer.d.ts +24 -0
- package/dist/core/src/index.d.ts +10 -0
- package/dist/core/src/types.d.ts +62 -0
- package/dist/core/src/utils/convert.d.ts +10 -0
- package/dist/core/src/utils/grid.d.ts +18 -0
- package/dist/{utils → core/src/utils}/index.d.ts +2 -9
- package/dist/core/src/utils/math.d.ts +9 -0
- package/dist/core/src/utils/merge.d.ts +28 -0
- package/dist/core/src/utils/normalize.d.ts +13 -0
- package/dist/core/src/utils/padding.d.ts +2 -0
- package/dist/core/src/utils/parse.d.ts +5 -0
- package/dist/core/src/utils/snapping.d.ts +2 -0
- package/dist/core/src/validation/guide.d.ts +3 -0
- package/dist/core/src/validation/index.d.ts +1 -0
- package/dist/core.cjs +1 -0
- package/dist/core.d.ts +344 -0
- package/dist/core.mjs +2 -0
- package/dist/dom/src/index.d.ts +11 -0
- package/dist/dom/src/measure.d.ts +18 -0
- package/dist/dom/src/observers.d.ts +5 -0
- package/dist/{utils → dom/src}/ssr.d.ts +0 -6
- package/dist/dom/src/timing.d.ts +2 -0
- package/dist/dom/src/viewport.d.ts +7 -0
- package/dist/dom/src/virtual.d.ts +23 -0
- package/dist/guide.cjs +2 -0
- package/dist/guide.cjs.map +1 -0
- package/dist/guide.css +2 -0
- package/dist/guide.d.ts +146 -0
- package/dist/guide.mjs +589 -0
- package/dist/guide.mjs.map +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +197 -30
- package/dist/index.mjs +614 -1747
- package/dist/index.mjs.map +1 -1
- package/dist/react/src/components/Baseline/Baseline.d.ts +13 -0
- package/dist/react/src/components/Baseline/index.d.ts +1 -0
- package/dist/react/src/components/Box/Box.d.ts +26 -0
- package/dist/react/src/components/Box/index.d.ts +1 -0
- package/dist/react/src/components/Config/Config.d.ts +20 -0
- package/dist/react/src/components/Config/index.d.ts +2 -0
- package/dist/react/src/components/Guide/Guide.d.ts +16 -0
- package/dist/react/src/components/Guide/index.d.ts +1 -0
- package/dist/react/src/components/Padder/Padder.d.ts +20 -0
- package/dist/react/src/components/Padder/index.d.ts +1 -0
- package/dist/react/src/components/Spacer/Spacer.d.ts +14 -0
- package/dist/react/src/components/Spacer/index.d.ts +1 -0
- package/dist/{components → react/src/components}/index.d.ts +1 -5
- package/dist/react/src/components/types.d.ts +29 -0
- package/dist/react/src/guide.d.ts +10 -0
- package/dist/{hooks → react/src/hooks}/index.d.ts +2 -3
- package/dist/react/src/hooks/useBaseline.d.ts +26 -0
- package/dist/react/src/hooks/useConfig.d.ts +9 -0
- package/dist/react/src/hooks/useDebug.d.ts +6 -0
- package/dist/react/src/hooks/useGuide.d.ts +7 -0
- package/dist/{hooks → react/src/hooks}/useIsClient.d.ts +0 -2
- package/dist/react/src/hooks/useMeasure.d.ts +10 -0
- package/dist/react/src/hooks/useVirtual.d.ts +14 -0
- package/dist/react/src/index.d.ts +21 -0
- package/dist/react/src/utils/index.d.ts +9 -0
- package/dist/react/src/utils/merge.d.ts +10 -0
- package/dist/react/src/utils/ssr.d.ts +1 -0
- package/dist/reset.css +43 -0
- package/dist/src-CMjyHjX5.cjs +2 -0
- package/dist/src-CMjyHjX5.cjs.map +1 -0
- package/dist/src-QHaSfgVe.js +619 -0
- package/dist/src-QHaSfgVe.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/theme/dark.css +0 -8
- package/dist/theme/default.css +0 -9
- package/dist/theme/tokens.css +1 -10
- package/dist/theme.css +0 -18
- package/package.json +82 -42
- package/dist/components/Baseline/Baseline.d.ts +0 -48
- package/dist/components/Baseline/index.d.ts +0 -6
- package/dist/components/Box/Box.d.ts +0 -73
- package/dist/components/Box/index.d.ts +0 -6
- package/dist/components/Config/Config.d.ts +0 -179
- package/dist/components/Config/defaults.d.ts +0 -25
- package/dist/components/Config/index.d.ts +0 -11
- package/dist/components/Guide/Guide.d.ts +0 -70
- package/dist/components/Guide/index.d.ts +0 -6
- package/dist/components/Guide/types.d.ts +0 -144
- package/dist/components/Guide/validation.d.ts +0 -82
- package/dist/components/Layout/Layout.d.ts +0 -73
- package/dist/components/Layout/index.d.ts +0 -10
- package/dist/components/Padder/Padder.d.ts +0 -67
- package/dist/components/Padder/index.d.ts +0 -10
- package/dist/components/Spacer/Spacer.d.ts +0 -48
- package/dist/components/Spacer/index.d.ts +0 -10
- package/dist/components/Stack/Stack.d.ts +0 -84
- package/dist/components/Stack/index.d.ts +0 -10
- package/dist/components/styles/index.d.ts +0 -11
- package/dist/components/types.d.ts +0 -102
- package/dist/hooks/useBaseline.d.ts +0 -55
- package/dist/hooks/useConfig.d.ts +0 -41
- package/dist/hooks/useDebug.d.ts +0 -49
- package/dist/hooks/useGuide.d.ts +0 -61
- package/dist/hooks/useMeasure.d.ts +0 -35
- package/dist/hooks/useVirtual.d.ts +0 -60
- package/dist/styles.d.ts +0 -6
- package/dist/theme.d.ts +0 -6
- package/dist/utils/convert.d.ts +0 -24
- package/dist/utils/grid.d.ts +0 -22
- package/dist/utils/math.d.ts +0 -48
- package/dist/utils/merge.d.ts +0 -117
- package/dist/utils/normalize.d.ts +0 -30
- package/dist/utils/padding.d.ts +0 -11
- package/dist/utils/parse.d.ts +0 -18
- package/dist/utils/snapping.d.ts +0 -28
- package/dist/utils/timing.d.ts +0 -45
package/dist/baseline-kit.css
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* Baseline Kit - Combined CSS */
|
|
2
|
-
/* This file contains
|
|
2
|
+
/* This file contains component styles and theme variables */
|
|
3
3
|
|
|
4
|
-
/*
|
|
5
|
-
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}img,picture{max-width:100%;display:block}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--bkb: 8px;--bkzi: 1;--bkzio: 2;--bk-transition-base: .18s ease;--bk-width-default: fit-content;--bk-height-default: fit-content;--bkwf: 100%;--bkhf: 100%;--bkxb: var(--bkb);--bkxw: var(--bk-width-default);--bkxh: var(--bk-height-default);--bkxcl: var(--bk-box-color-line-theme, hsla(300, 60%, 40%, .6));--bkxcf: var(--bk-box-color-flat-theme, hsla(260, 100%, 70%, .2));--bkxci: var(--bk-box-color-text-theme, hsla(300, 60%, 40%, .9));--bkkw: var(--bkwf);--bkkh: var(--bk-height-default);--bkkcl: var(--bk-stack-color-line-theme, hsla(330, 60%, 40%, .6));--bkkcf: var(--bk-stack-color-flat-theme, hsla(0, 100%, 70%, .2));--bkkci: var(--bk-stack-color-text-theme, hsla(330, 60%, 40%, .9));--bkbw: 100%;--bkbh: 100%;--bkrt: 0;--bkrh: 1px;--bkbcl: var(--bk-baseline-color-line-theme, hsla(240, 60%, 40%, .15));--bkbcf: var(--bk-baseline-color-flat-theme, hsla(230, 100%, 70%, .2));--bkgw: 100vw;--bkgh: 100vh;--bkgg: var(--bkb);--bkgj: center;--bkgt: auto;--bkgpb: 0;--bkgpi: 0;--bkgcl: var(--bk-guide-color-line-theme, hsla(240, 60%, 40%, .15));--bkgcp: var(--bk-guide-color-pattern-theme, hsla(230, 100%, 70%, .2));--bkgca: var(--bk-guide-color-auto-theme, hsla(200, 100%, 70%, .15));--bkgcf: var(--bk-guide-color-fixed-theme, hsla(200, 100%, 70%, .15));--bklw: var(--bk-width-default);--bklh: var(--bk-height-default);--bklcl: var(--bk-layout-color-line-theme, hsla(330, 60%, 40%, .6));--bklcf: var(--bk-layout-color-flat-theme, hsla(0, 100%, 70%, .2));--bklci: var(--bk-layout-color-text-theme, hsla(330, 60%, 40%, .9));--bklgtc: repeat(auto-fill, minmax(100px, 1fr));--bklgtr: auto;--bklg: 0;--bklcg: 0;--bklrg: 0;--bklji: stretch;--bklai: stretch;--bkljc: start;--bklac: start;--bkpw: var(--bk-width-default);--bkph: var(--bk-height-default);--bkpc: var(--bk-padder-color-theme, hsla(270, 60%, 40%, .6));--bksw: var(--bkwf);--bksh: var(--bkhf);--bkscl: var(--bk-spacer-color-line-theme, hsla(270, 60%, 40%, .6));--bkscf: var(--bk-spacer-color-flat-theme, hsla(230, 100%, 70%, .2));--bksct: var(--bk-spacer-color-text-theme, hsla(270, 60%, 40%, 1))}.guide{--bkgcl: var(--bk-guide-color-line-theme, hsla(240, 60%, 40%, .15));--bkgcp: var(--bk-guide-color-pattern-theme, hsla(230, 100%, 70%, .2));--bkgca: var(--bk-guide-color-auto-theme, hsla(200, 100%, 70%, .15));--bkgcf: var(--bk-guide-color-fixed-theme, hsla(200, 100%, 70%, .15))}.baseline{--bkbcl: var(--bk-baseline-color-line-theme, hsla(240, 60%, 40%, .15));--bkbcf: var(--bk-baseline-color-flat-theme, hsla(230, 100%, 70%, .2))}.box{--bkxcl: var(--bk-box-color-line-theme, hsla(300, 60%, 40%, .6));--bkxcf: var(--bk-box-color-flat-theme, hsla(260, 100%, 70%, .2));--bkxci: var(--bk-box-color-text-theme, hsla(300, 60%, 40%, .9))}.stack{--bkkcl: var(--bk-stack-color-line-theme, hsla(330, 60%, 40%, .6));--bkkcf: var(--bk-stack-color-flat-theme, hsla(0, 100%, 70%, .2));--bkkci: var(--bk-stack-color-text-theme, hsla(330, 60%, 40%, .9))}.layout{--bklcl: var(--bk-layout-color-line-theme, hsla(330, 60%, 40%, .6));--bklcf: var(--bk-layout-color-flat-theme, hsla(0, 100%, 70%, .2));--bklci: var(--bk-layout-color-text-theme, hsla(330, 60%, 40%, .9))}.box{position:relative;width:var(--bkxw);height:var(--bkxh)}.v:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkxcl);pointer-events:none;z-index:var(--bkzi)}.gde{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;padding:var(--bkgpb) var(--bkgpi)}.line{left:-.5px}.cols{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;column-gap:var(--bkgg);grid-template-rows:1fr;grid-template-columns:var(--bkgt);justify-content:var(--bkgj);width:var(--bkwf);height:var(--bkhf);overflow:hidden}.col{min-width:0;width:var(--bkwf);height:var(--bkhf)}.col[data-variant=line]{width:1px;background-color:var(--bkgcl)}.col[data-variant=pattern]{background-color:var(--bkgcp)}.col[data-variant=auto]{background-color:var(--bkgca);overflow:hidden}.col[data-variant=fixed]{background-color:var(--bkgcf)}.ssr{box-sizing:border-box;display:grid;position:relative;z-index:1;pointer-events:none;min-height:100px}.pad{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;width:var(--bkpw, auto);height:var(--bkph, auto)}.v:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkpc, var(--bk-padder-color-theme));pointer-events:none;z-index:var(--bkzi)}.spr{position:relative;box-sizing:border-box;width:var(--bksw, 100%);height:var(--bksh, auto);flex-shrink:0;display:block;margin:0;padding:0}.line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkscl, hsla(270, 60%, 40%, .6));z-index:calc(var(--bkzi, 1))}.flat{background-color:var(--bkscf, hsla(230, 100%, 70%, .2))}.stk{display:flex;position:relative;width:var(--bkkw);height:var(--bkkh)}.stk .line:after{border:none}.v:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkkcl, hsla(330, 60%, 40%, .6));pointer-events:none;z-index:var(--bkzio, 2)}.flat{background-color:var(--bkkcf, hsla(0, 100%, 70%, .2))}.lay{display:grid;position:relative;box-sizing:border-box;width:var(--bklw, var(--bk-width-default, auto));height:var(--bklh, var(--bk-height-default, auto));grid-template-columns:var( --bklgtc, repeat(auto-fill, minmax(100px, 1fr)) );grid-template-rows:var(--bklgtr, auto);gap:var(--bklg, 0);column-gap:var(--bklcg, 0);row-gap:var(--bklrg, 0);justify-items:var(--bklji, stretch);align-items:var(--bklai, stretch);justify-content:var(--bkljc, start);align-content:var(--bklac, start)}.lay .line:after,.stk .line:after{border:none}.v:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bklcl, var(--bk-layout-color-line-theme, hsla(330, 60%, 40%, .6)));pointer-events:none;z-index:var(--bkzio, 2)}.bas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:var(--bkbw);height:var(--bkbh);overflow:hidden}.row{left:0;right:0;position:absolute;top:var(--bkrt);height:var(--bkrh);background-color:var(--bkbc)}.ssr{box-sizing:border-box;display:grid;position:relative;z-index:1;pointer-events:none}.v{opacity:1;visibility:visible;transition:opacity var(--bk-transition-base),visibility 0ms linear}.h{opacity:0;visibility:hidden;transition:opacity var(--bk-transition-base),visibility 0ms linear .18s}:root{--bk-color-black-primary: 0, 0%, 10%;--bk-color-black-secondary: 0, 10%, 30%;--bk-color-white-primary: 0, 100%, 90%;--bk-color-white-secondary: 0, 0%, 90%;--bk-color-pink-primary: 300, 60%, 40%;--bk-color-pink-secondary: 260, 100%, 70%;--bk-color-purple-primary: 270, 60%, 40%;--bk-color-purple-secondary: 230, 100%, 70%;--bk-color-blue-primary: 240, 60%, 40%;--bk-color-blue-secondary: 200, 100%, 70%;--bk-color-cyan-primary: 200, 60%, 40%;--bk-color-cyan-secondary: 160, 100%, 70%;--bk-color-green-primary: 160, 60%, 40%;--bk-color-green-secondary: 110, 100%, 70%;--bk-color-yellow-primary: 30, 60%, 40%;--bk-color-yellow-secondary: 70, 100%, 70%;--bk-color-orange-primary: 10, 60%, 40%;--bk-color-orange-secondary: 30, 100%, 70%;--bk-color-red-primary: 330, 60%, 40%;--bk-color-red-secondary: 0, 100%, 70%;--bk-guide-color-line-theme: hsla(var(--bk-color-blue-primary), .15);--bk-guide-color-pattern-theme: hsla(var(--bk-color-purple-secondary), .2);--bk-guide-color-auto-theme: hsla(var(--bk-color-blue-secondary), .15);--bk-guide-color-fixed-theme: hsla(var(--bk-color-blue-secondary), .15);--bk-baseline-color-line-theme: hsla(var(--bk-color-blue-primary), .15);--bk-baseline-color-flat-theme: hsla(var(--bk-color-purple-secondary), .2);--bk-spacer-color-line-theme: hsla(var(--bk-color-purple-primary), .6);--bk-spacer-color-flat-theme: hsla(var(--bk-color-purple-secondary), .2);--bk-spacer-color-text-theme: hsla(var(--bk-color-purple-primary), 1);--bk-box-color-line-theme: hsla(var(--bk-color-pink-primary), .6);--bk-box-color-flat-theme: hsla(var(--bk-color-pink-secondary), .2);--bk-box-color-text-theme: hsla(var(--bk-color-pink-primary), .9);--bk-stack-color-line-theme: hsla(var(--bk-color-red-primary), .6);--bk-stack-color-flat-theme: hsla(var(--bk-color-red-secondary), .2);--bk-stack-color-text-theme: hsla(var(--bk-color-red-primary), .9);--bk-layout-color-line-theme: hsla(var(--bk-color-red-primary), .6);--bk-layout-color-flat-theme: hsla(var(--bk-color-red-secondary), .2);--bk-layout-color-text-theme: hsla(var(--bk-color-red-primary), .9);--bk-padder-color-theme: hsla(var(--bk-color-purple-primary), .6)}@media (prefers-color-scheme: dark){:root{--bk-color-black-primary: 0, 10%, 30%;--bk-color-black-secondary: 0, 0%, 10%;--bk-color-white-primary: 0, 0%, 90%;--bk-color-white-secondary: 0, 100%, 90%;--bk-color-pink-primary: 260, 100%, 70%;--bk-color-pink-secondary: 300, 60%, 40%;--bk-color-purple-primary: 230, 100%, 70%;--bk-color-purple-secondary: 270, 60%, 40%;--bk-color-blue-primary: 200, 100%, 70%;--bk-color-blue-secondary: 240, 60%, 40%;--bk-color-cyan-primary: 160, 100%, 70%;--bk-color-cyan-secondary: 200, 60%, 40%;--bk-color-green-primary: 110, 100%, 70%;--bk-color-green-secondary: 160, 60%, 40%;--bk-color-yellow-primary: 70, 100%, 70%;--bk-color-yellow-secondary: 30, 60%, 40%;--bk-color-orange-primary: 30, 100%, 70%;--bk-color-orange-secondary: 10, 60%, 40%;--bk-color-red-primary: 0, 100%, 70%;--bk-color-red-secondary: 330, 60%, 40%;--bk-baseline-color-line-theme: hsla(var(--bk-color-white-primary), .1);--bk-baseline-color-flat-theme: hsla(var(--bk-color-white-secondary), .2);--bk-box-color-line-theme: hsla(var(--bk-color-pink-primary), .6);--bk-box-color-flat-theme: hsla(var(--bk-color-pink-secondary), .3);--bk-box-color-text-theme: hsla(var(--bk-color-pink-primary), .9);--bk-guide-color-line-theme: hsla(var(--bk-color-white-primary), .1);--bk-guide-color-pattern-theme: hsla(var(--bk-color-purple-secondary), .25);--bk-guide-color-auto-theme: hsla(var(--bk-color-blue-secondary), .2);--bk-guide-color-fixed-theme: hsla(var(--bk-color-blue-secondary), .2);--bk-stack-color-line-theme: hsla(var(--bk-color-red-primary), .6);--bk-stack-color-flat-theme: hsla(var(--bk-color-red-secondary), .3);--bk-stack-color-text-theme: hsla(var(--bk-color-red-primary), .9);--bk-layout-color-line-theme: hsla(var(--bk-color-red-primary), .6);--bk-layout-color-flat-theme: hsla(var(--bk-color-red-secondary), .3);--bk-layout-color-text-theme: hsla(var(--bk-color-red-primary), .9);--bk-spacer-color-line-theme: hsla(var(--bk-color-purple-primary), .7);--bk-spacer-color-flat-theme: hsla(var(--bk-color-purple-secondary), .3);--bk-spacer-color-text-theme: hsla(var(--bk-color-purple-primary), 1)}}.spr_zbcF6{position:relative;box-sizing:border-box;width:var(--bksw, 100%);height:var(--bksh, auto);flex-shrink:0;display:block;margin:0;padding:0}.line_qHW69:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkscl, hsla(270, 60%, 40%, .6));z-index:calc(var(--bkzi, 1))}.flat_gqixr{background-color:var(--bkscf, hsla(230, 100%, 70%, .2))}.pad_w2-sL{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;width:var(--bkpw, auto);height:var(--bkph, auto)}.lay_Ew8za .line_ESlzk:after,.stk_7SJoE .line_ESlzk:after{border:none}.v_lhGBy:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkpc, var(--bk-padder-color-theme));pointer-events:none;z-index:var(--bkzi)}.lay_5cMu5{display:grid;position:relative;box-sizing:border-box;width:var(--bklw, var(--bk-width-default, auto));height:var(--bklh, var(--bk-height-default, auto));grid-template-columns:var( --bklgtc, repeat(auto-fill, minmax(100px, 1fr)) );grid-template-rows:var(--bklgtr, auto);gap:var(--bklg, 0);column-gap:var(--bklcg, 0);row-gap:var(--bklrg, 0);justify-items:var(--bklji, stretch);align-items:var(--bklai, stretch);justify-content:var(--bkljc, start);align-content:var(--bklac, start)}.lay_5cMu5 .line_j2f8-:after,.stk_3Spwo .line_j2f8-:after{border:none}.v_dprVE:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bklcl, var(--bk-layout-color-line-theme, hsla(330, 60%, 40%, .6)));pointer-events:none;z-index:var(--bkzio, 2)}.box_rDCRX{position:relative;width:var(--bkxw);height:var(--bkxh)}.v_0MMHD:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkxcl);pointer-events:none;z-index:var(--bkzi)}.stk_l-58l{display:flex;position:relative;width:var(--bkkw);height:var(--bkkh)}.stk_l-58l .line_THMgb:after{border:none}.v_-k3qw:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--bkkcl, hsla(330, 60%, 40%, .6));pointer-events:none;z-index:var(--bkzio, 2)}.flat_j15hF{background-color:var(--bkkcf, hsla(0, 100%, 70%, .2))}.gde_-Naxo{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;padding:var(--bkgpb) var(--bkgpi)}.line_-VS-e{left:-.5px}.cols_8lD6D{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;column-gap:var(--bkgg);grid-template-rows:1fr;grid-template-columns:var(--bkgt);justify-content:var(--bkgj);width:var(--bkwf);height:var(--bkhf);overflow:hidden}.col_rlbsL{min-width:0;width:var(--bkwf);height:var(--bkhf)}.col_rlbsL[data-variant=line]{width:1px;background-color:var(--bkgcl)}.col_rlbsL[data-variant=pattern]{background-color:var(--bkgcp)}.col_rlbsL[data-variant=auto]{background-color:var(--bkgca);overflow:hidden}.col_rlbsL[data-variant=fixed]{background-color:var(--bkgcf)}.ssr_VGvpO{box-sizing:border-box;display:grid;position:relative;z-index:1;pointer-events:none;min-height:100px}.bas_e-SXr{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:var(--bkbw);height:var(--bkbh);overflow:hidden}.row_q-FZb{left:0;right:0;position:absolute;top:var(--bkrt);height:var(--bkrh);background-color:var(--bkbc)}.ssr_W1N5g{box-sizing:border-box;display:grid;position:relative;z-index:1;pointer-events:none}
|
|
4
|
+
/* Component Styles */
|
|
5
|
+
:root{--bk-base:8px;--bk-zi:1;--bk-zio:2;--bk-transition-base:.18s ease;--bk-width-default:fit-content;--bk-height-default:fit-content;--bk-wf:100%;--bk-hf:100%;--bkbx-b:var(--bk-base);--bkbx-w:var(--bk-width-default);--bkbx-h:var(--bk-height-default);--bkbx-cl:var(--bk-box-color-line-theme,#a329a399);--bkbx-cf:var(--bk-box-color-flat-theme,#96f3);--bkbx-ct:var(--bk-box-color-text-theme,#a329a3e6);--bkbl-w:100%;--bkbl-h:100%;--bkbl-rt:0;--bkbl-rh:1px;--bkbl-cl:var(--bk-baseline-color-line-theme,#2929a326);--bkbl-cf:var(--bk-baseline-color-flat-theme,#667fff33);--bkgd-w:100vw;--bkgd-h:100vh;--bkgd-g:var(--bk-base);--bkgd-j:center;--bkgd-t:auto;--bkgd-pb:0;--bkgd-pi:0;--bkgd-cl:var(--bk-guide-color-line-theme,#2929a326);--bkgd-cp:var(--bk-guide-color-pattern-theme,#667fff33);--bkgd-ca:var(--bk-guide-color-auto-theme,#66ccff26);--bkgd-cf:var(--bk-guide-color-fixed-theme,#66ccff26);--bkpd-w:var(--bk-width-default);--bkpd-h:var(--bk-height-default);--bkpd-c:var(--bk-padder-color-theme,#6629a399);--bksp-w:var(--bk-wf);--bksp-h:var(--bk-hf);--bksp-cl:var(--bk-spacer-color-line-theme,#6629a399);--bksp-cf:var(--bk-spacer-color-flat-theme,#667fff33);--bksp-ct:var(--bk-spacer-color-text-theme,#6629a3)}.bas_4Emvv{pointer-events:none;width:var(--bkbl-w);height:var(--bkbl-h);contain:layout style paint;position:absolute;inset:0;overflow:hidden}.v_lNfeX{opacity:1;visibility:visible;transition:opacity var(--bk-transition-base), visibility 0s linear}.h_PbNDU{opacity:0;visibility:hidden;transition:opacity var(--bk-transition-base), visibility 0s linear .18s}.row_J1Wva{left:0;right:0;top:var(--bkbl-rt);height:var(--bkbl-rh);background-color:var(--bkbl-c);position:absolute}.ssr_PQAP-{box-sizing:border-box;z-index:1;pointer-events:none;display:grid;position:relative}.gde_4PKz3{box-sizing:border-box;width:var(--bkgd-w,100%);height:var(--bkgd-h,100%);max-width:var(--bkgd-mw,none);pointer-events:none;padding:var(--bkgd-pb,0) var(--bkgd-pi,0);margin-inline:auto;position:absolute;inset:0}.v_yAvN0{opacity:1;visibility:visible;transition:opacity var(--bk-transition-base), visibility 0s linear}.h_XcWcy{opacity:0;visibility:hidden;transition:opacity var(--bk-transition-base), visibility 0s linear .18s}.line_UaLjW{left:-.5px}.cols_ibtT4{column-gap:var(--bkgd-g);grid-template-rows:1fr;grid-template-columns:var(--bkgd-t);justify-content:var(--bkgd-j);width:var(--bk-wf);height:var(--bk-hf);contain:layout style paint;display:grid;position:absolute;inset:0;overflow:hidden}.col_QPSDI{min-width:0;width:var(--bk-wf);height:var(--bk-hf)}.col_QPSDI[data-variant=line]{background-color:var(--bkgd-cl);width:1px}.cols_ibtT4[data-variant=line]{background-image:repeating-linear-gradient(to right, var(--bkgd-line-color,var(--bkgd-cl)) 0 1px, transparent 1px var(--bkgd-line-period,1px));display:block}.col_QPSDI[data-variant=pattern]{background-color:var(--bkgd-cp)}.col_QPSDI[data-variant=auto]{background-color:var(--bkgd-ca);overflow:hidden}.col_QPSDI[data-variant=fixed]{background-color:var(--bkgd-cf)}.ssr_4UN4k{box-sizing:border-box;z-index:1;pointer-events:none;min-height:100px;display:grid;position:relative}.spr_syfhf{box-sizing:border-box;width:var(--bksp-w,100%);height:var(--bksp-h,auto);flex-shrink:0;margin:0;padding:0;display:block;position:relative}.line_nzGsp:after{content:"";border:1px solid var(--bksp-cl,#6629a399);z-index:calc(var(--bk-zi,1));position:absolute;inset:0}.flat_XJWHt{background-color:var(--bksp-cf,#667fff33)}.pad_NizuS{width:var(--bkpd-w,auto);height:var(--bkpd-h,auto);grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;display:grid;position:relative}.lay_ZdQLz .line_7S7iI:after,.stk_X79YA .line_7S7iI:after{border:none}.v_dowAz:after{content:"";border:1px solid var(--bkpd-c,var(--bk-padder-color-theme));pointer-events:none;z-index:var(--bk-zi);position:absolute;inset:0}.box_sPqFs{width:var(--bkbx-w);height:var(--bkbx-h);position:relative}.v_ZrZ5j:after{content:"";border:1px solid var(--bkbx-cl);pointer-events:none;z-index:var(--bk-zi);position:absolute;inset:0}
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
/* Theme */
|
|
@@ -74,16 +74,6 @@
|
|
|
74
74
|
--bk-box-color-flat-theme: hsla(var(--bk-color-pink-secondary), 0.2);
|
|
75
75
|
--bk-box-color-text-theme: hsla(var(--bk-color-pink-primary), 0.9);
|
|
76
76
|
|
|
77
|
-
/* Stack Component Theme */
|
|
78
|
-
--bk-stack-color-line-theme: hsla(var(--bk-color-red-primary), 0.6);
|
|
79
|
-
--bk-stack-color-flat-theme: hsla(var(--bk-color-red-secondary), 0.2);
|
|
80
|
-
--bk-stack-color-text-theme: hsla(var(--bk-color-red-primary), 0.9);
|
|
81
|
-
|
|
82
|
-
/* Layout Component Theme */
|
|
83
|
-
--bk-layout-color-line-theme: hsla(var(--bk-color-red-primary), 0.6);
|
|
84
|
-
--bk-layout-color-flat-theme: hsla(var(--bk-color-red-secondary), 0.2);
|
|
85
|
-
--bk-layout-color-text-theme: hsla(var(--bk-color-red-primary), 0.9);
|
|
86
|
-
|
|
87
77
|
/* Padder Component Theme */
|
|
88
78
|
--bk-padder-color-theme: hsla(var(--bk-color-purple-primary), 0.6);
|
|
89
79
|
}
|
|
@@ -135,14 +125,6 @@
|
|
|
135
125
|
--bk-guide-color-auto-theme: hsla(var(--bk-color-blue-secondary), 0.2);
|
|
136
126
|
--bk-guide-color-fixed-theme: hsla(var(--bk-color-blue-secondary), 0.2);
|
|
137
127
|
|
|
138
|
-
--bk-stack-color-line-theme: hsla(var(--bk-color-red-primary), 0.6);
|
|
139
|
-
--bk-stack-color-flat-theme: hsla(var(--bk-color-red-secondary), 0.3);
|
|
140
|
-
--bk-stack-color-text-theme: hsla(var(--bk-color-red-primary), 0.9);
|
|
141
|
-
|
|
142
|
-
--bk-layout-color-line-theme: hsla(var(--bk-color-red-primary), 0.6);
|
|
143
|
-
--bk-layout-color-flat-theme: hsla(var(--bk-color-red-secondary), 0.3);
|
|
144
|
-
--bk-layout-color-text-theme: hsla(var(--bk-color-red-primary), 0.9);
|
|
145
|
-
|
|
146
128
|
--bk-spacer-color-line-theme: hsla(var(--bk-color-purple-primary), 0.7);
|
|
147
129
|
--bk-spacer-color-flat-theme: hsla(var(--bk-color-purple-secondary), 0.3);
|
|
148
130
|
--bk-spacer-color-text-theme: hsla(var(--bk-color-purple-primary), 1);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ConfigSchema } from './schema';
|
|
2
|
+
type MergeConfigParams = {
|
|
3
|
+
parentConfig: ConfigSchema;
|
|
4
|
+
base?: number;
|
|
5
|
+
baseline?: Partial<ConfigSchema['baseline']>;
|
|
6
|
+
guide?: Partial<ConfigSchema['guide']>;
|
|
7
|
+
spacer?: Partial<ConfigSchema['spacer']>;
|
|
8
|
+
box?: Partial<ConfigSchema['box']>;
|
|
9
|
+
padder?: Partial<ConfigSchema['padder']>;
|
|
10
|
+
};
|
|
11
|
+
export declare const mergeConfig: (params: MergeConfigParams) => ConfigSchema;
|
|
12
|
+
type CSSVariablesParams = {
|
|
13
|
+
base: number;
|
|
14
|
+
baseline: ConfigSchema['baseline'];
|
|
15
|
+
guide: ConfigSchema['guide'];
|
|
16
|
+
spacer: ConfigSchema['spacer'];
|
|
17
|
+
box: ConfigSchema['box'];
|
|
18
|
+
padder: ConfigSchema['padder'];
|
|
19
|
+
};
|
|
20
|
+
export declare const createCSSVariables: (params: CSSVariablesParams) => Record<string, string>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { GuideVariant, BaselineVariant, Variant, DebuggingMode } from '../types';
|
|
2
|
+
type DebugColors = {
|
|
3
|
+
line: string;
|
|
4
|
+
flat: string;
|
|
5
|
+
text: string;
|
|
6
|
+
};
|
|
7
|
+
export type ConfigSchema = {
|
|
8
|
+
base: number;
|
|
9
|
+
baseline: {
|
|
10
|
+
variant: BaselineVariant;
|
|
11
|
+
debugging: DebuggingMode;
|
|
12
|
+
colors: Record<BaselineVariant, string>;
|
|
13
|
+
};
|
|
14
|
+
guide: {
|
|
15
|
+
variant: GuideVariant;
|
|
16
|
+
debugging: DebuggingMode;
|
|
17
|
+
colors: Record<GuideVariant, string>;
|
|
18
|
+
};
|
|
19
|
+
spacer: {
|
|
20
|
+
variant: Variant;
|
|
21
|
+
debugging: DebuggingMode;
|
|
22
|
+
colors: DebugColors;
|
|
23
|
+
};
|
|
24
|
+
box: {
|
|
25
|
+
debugging: DebuggingMode;
|
|
26
|
+
colors: DebugColors;
|
|
27
|
+
};
|
|
28
|
+
padder: {
|
|
29
|
+
debugging: DebuggingMode;
|
|
30
|
+
color: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BaselineVariant } from '../types';
|
|
2
|
+
export interface BaselineDescriptorParams {
|
|
3
|
+
base: number;
|
|
4
|
+
colors: Record<BaselineVariant, string>;
|
|
5
|
+
variant: BaselineVariant;
|
|
6
|
+
width?: number | string;
|
|
7
|
+
height?: number | string;
|
|
8
|
+
color?: string;
|
|
9
|
+
containerWidth: number;
|
|
10
|
+
containerHeight: number;
|
|
11
|
+
spacing: Record<string, unknown>;
|
|
12
|
+
isVisible: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface BaselineDescriptor {
|
|
15
|
+
containerStyle: Record<string, string>;
|
|
16
|
+
rowCount: number;
|
|
17
|
+
getRowStyle: (index: number) => Record<string, string>;
|
|
18
|
+
padding: string | undefined;
|
|
19
|
+
isVisible: boolean;
|
|
20
|
+
classTokens: string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Computes all styles and data needed to render a Baseline component.
|
|
24
|
+
* Pure function — framework-agnostic.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createBaselineDescriptor(params: BaselineDescriptorParams): BaselineDescriptor;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface BoxDescriptorParams {
|
|
2
|
+
base: number;
|
|
3
|
+
lineColor: string;
|
|
4
|
+
width?: number | string;
|
|
5
|
+
height?: number | string;
|
|
6
|
+
span?: number;
|
|
7
|
+
colSpan?: number;
|
|
8
|
+
rowSpan?: number;
|
|
9
|
+
isVisible: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface BoxDescriptor {
|
|
12
|
+
boxStyle: Record<string, string>;
|
|
13
|
+
gridSpanStyle: Record<string, string>;
|
|
14
|
+
classTokens: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Computes styles needed to render a Box component.
|
|
18
|
+
* Pure function — framework-agnostic.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createBoxDescriptor(params: BoxDescriptorParams): BoxDescriptor;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { GuideVariant, GuideConfig } from '../types';
|
|
2
|
+
export interface GuideDescriptorParams {
|
|
3
|
+
base: number;
|
|
4
|
+
colors: Record<GuideVariant, string>;
|
|
5
|
+
variant: GuideVariant;
|
|
6
|
+
align: string;
|
|
7
|
+
width?: number | string;
|
|
8
|
+
height?: number | string;
|
|
9
|
+
columnWidth?: number | string;
|
|
10
|
+
maxWidth?: number | string;
|
|
11
|
+
color?: string;
|
|
12
|
+
/** Pre-computed guide template result (from useGuide or calculateGuideTemplate) */
|
|
13
|
+
template: string;
|
|
14
|
+
columnsCount: number;
|
|
15
|
+
calculatedGap: number;
|
|
16
|
+
isVisible: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface GuideDescriptor {
|
|
19
|
+
containerStyle: Record<string, string>;
|
|
20
|
+
columnColor: string;
|
|
21
|
+
columnsCount: number;
|
|
22
|
+
calculatedGap: number;
|
|
23
|
+
template: string;
|
|
24
|
+
isVisible: boolean;
|
|
25
|
+
isLineVariant: boolean;
|
|
26
|
+
classTokens: string[];
|
|
27
|
+
}
|
|
28
|
+
export interface GuideConfigParams {
|
|
29
|
+
variant: GuideVariant;
|
|
30
|
+
base: number;
|
|
31
|
+
gap: number;
|
|
32
|
+
columns?: number | readonly (string | number | undefined | 'auto')[];
|
|
33
|
+
columnWidth?: number | string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates a GuideConfig from component props.
|
|
37
|
+
* Pure function — no React or DOM dependency.
|
|
38
|
+
*/
|
|
39
|
+
export declare function createGuideConfig({ variant, base, gap, columns, columnWidth, }: GuideConfigParams): GuideConfig;
|
|
40
|
+
/**
|
|
41
|
+
* Computes all styles and data needed to render a Guide component.
|
|
42
|
+
* Pure function — framework-agnostic.
|
|
43
|
+
*/
|
|
44
|
+
export declare function createGuideDescriptor(params: GuideDescriptorParams): GuideDescriptor;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Padding } from '../types';
|
|
2
|
+
export interface PadderDescriptorParams {
|
|
3
|
+
base: number;
|
|
4
|
+
color: string;
|
|
5
|
+
width?: number | string;
|
|
6
|
+
height?: number | string;
|
|
7
|
+
padding: Padding;
|
|
8
|
+
enableSpacers: boolean;
|
|
9
|
+
isVisible: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface PadderDescriptor {
|
|
12
|
+
containerStyle: Record<string, string>;
|
|
13
|
+
classTokens: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Computes styles needed to render a Padder component.
|
|
17
|
+
* Pure function — framework-agnostic.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createPadderDescriptor(params: PadderDescriptorParams): PadderDescriptor;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface SpacerDescriptorParams {
|
|
2
|
+
base: number;
|
|
3
|
+
colors: {
|
|
4
|
+
line: string;
|
|
5
|
+
flat: string;
|
|
6
|
+
text: string;
|
|
7
|
+
};
|
|
8
|
+
width?: number | string;
|
|
9
|
+
height?: number | string;
|
|
10
|
+
color?: string;
|
|
11
|
+
variant: string;
|
|
12
|
+
isVisible: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface SpacerDescriptor {
|
|
15
|
+
style: Record<string, string>;
|
|
16
|
+
normWidth: number;
|
|
17
|
+
normHeight: number;
|
|
18
|
+
classTokens: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Computes styles needed to render a Spacer component.
|
|
22
|
+
* Pure function — framework-agnostic.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createSpacerDescriptor(params: SpacerDescriptorParams): SpacerDescriptor;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @baseline-kit/core
|
|
3
|
+
* Pure TypeScript core: types, utilities, config, validation, and descriptors
|
|
4
|
+
* Zero dependencies — works in any JavaScript runtime
|
|
5
|
+
*/
|
|
6
|
+
export * from './types';
|
|
7
|
+
export * from './config';
|
|
8
|
+
export * from './utils';
|
|
9
|
+
export * from './validation';
|
|
10
|
+
export * from './descriptors';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @baseline-kit/core - Pure type definitions
|
|
3
|
+
* Framework-agnostic types for the baseline-kit system
|
|
4
|
+
*/
|
|
5
|
+
export type Spacing = number | [number, number] | {
|
|
6
|
+
start?: number;
|
|
7
|
+
end?: number;
|
|
8
|
+
};
|
|
9
|
+
export type PaddingValue = number | [number, number] | [number, number, number] | [number, number, number, number] | {
|
|
10
|
+
top?: number;
|
|
11
|
+
bottom?: number;
|
|
12
|
+
left?: number;
|
|
13
|
+
right?: number;
|
|
14
|
+
};
|
|
15
|
+
export type Padding = {
|
|
16
|
+
top: number;
|
|
17
|
+
right: number;
|
|
18
|
+
bottom: number;
|
|
19
|
+
left: number;
|
|
20
|
+
};
|
|
21
|
+
export type SpacingProps = {
|
|
22
|
+
padding?: PaddingValue;
|
|
23
|
+
block?: Spacing;
|
|
24
|
+
inline?: Spacing;
|
|
25
|
+
};
|
|
26
|
+
export type GuideVariant = 'line' | 'pattern' | 'fixed' | 'auto';
|
|
27
|
+
export type GuideColumnValue = string | number | undefined | 'auto';
|
|
28
|
+
export type GuideColumnsPattern = readonly GuideColumnValue[];
|
|
29
|
+
export declare const GRID_ALIGNMENTS: readonly ["start", "center", "end"];
|
|
30
|
+
export type GridAlignment = (typeof GRID_ALIGNMENTS)[number];
|
|
31
|
+
export declare const PADD_VARIANTS: readonly ["line", "flat"];
|
|
32
|
+
export type PaddedVariant = (typeof PADD_VARIANTS)[number];
|
|
33
|
+
export type Variant = 'line' | 'flat' | 'pattern';
|
|
34
|
+
export type BaselineVariant = Exclude<Variant, 'pattern'>;
|
|
35
|
+
export type SnappingMode = 'none' | 'height' | 'clamp';
|
|
36
|
+
export type DebuggingMode = 'none' | 'hidden' | 'visible';
|
|
37
|
+
type BaseGuideConfig = {
|
|
38
|
+
gap?: number | string;
|
|
39
|
+
base?: number;
|
|
40
|
+
};
|
|
41
|
+
export type PatternConfig = BaseGuideConfig & {
|
|
42
|
+
variant: 'pattern';
|
|
43
|
+
columns: GuideColumnsPattern;
|
|
44
|
+
columnWidth?: never;
|
|
45
|
+
};
|
|
46
|
+
export type FixedConfig = BaseGuideConfig & {
|
|
47
|
+
variant: 'fixed';
|
|
48
|
+
columns: number;
|
|
49
|
+
columnWidth?: number | string;
|
|
50
|
+
};
|
|
51
|
+
export type AutoConfig = BaseGuideConfig & {
|
|
52
|
+
variant: 'auto';
|
|
53
|
+
columnWidth: number | string;
|
|
54
|
+
columns?: never;
|
|
55
|
+
};
|
|
56
|
+
export type LineConfig = BaseGuideConfig & {
|
|
57
|
+
variant?: 'line';
|
|
58
|
+
columns?: never;
|
|
59
|
+
columnWidth?: never;
|
|
60
|
+
};
|
|
61
|
+
export type GuideConfig = PatternConfig | AutoConfig | FixedConfig | LineConfig;
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ConversionContext {
|
|
2
|
+
parentSize?: number;
|
|
3
|
+
viewportWidth?: number;
|
|
4
|
+
viewportHeight?: number;
|
|
5
|
+
rootFontSize?: number;
|
|
6
|
+
parentFontSize?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const ABSOLUTE_UNIT_CONVERSIONS: Record<string, number>;
|
|
9
|
+
export declare const RELATIVE_UNITS: string[];
|
|
10
|
+
export declare function convertValue(value: number | string | undefined, context?: ConversionContext): number | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { GuideConfig } from '../types';
|
|
2
|
+
import { type ConversionContext } from './convert';
|
|
3
|
+
export interface GuideResult {
|
|
4
|
+
template: string;
|
|
5
|
+
columnsCount: number;
|
|
6
|
+
calculatedGap: number;
|
|
7
|
+
isValid: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Pure calculation of grid template from container width and guide config.
|
|
11
|
+
* Framework-agnostic — can be used outside React.
|
|
12
|
+
*
|
|
13
|
+
* Sizing note: the `line` variant still reports the number of pixel tracks as
|
|
14
|
+
* metadata, but React renders line guides with a CSS gradient so dense grids do
|
|
15
|
+
* not allocate one DOM node per line.
|
|
16
|
+
*/
|
|
17
|
+
export declare function calculateGuideTemplate(width: number, config: GuideConfig, context?: ConversionContext): GuideResult;
|
|
18
|
+
export declare const createGridSpanStyles: (span?: number, colSpan?: number, rowSpan?: number) => Record<string, string>;
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
* @file Utility Exports (utils/index.ts)
|
|
3
|
-
* @description Utility functions for baseline-kit operations
|
|
4
|
-
* @module baseline-kit/utils
|
|
5
|
-
*/
|
|
1
|
+
export * from './parse';
|
|
6
2
|
export * from './convert';
|
|
7
3
|
export * from './math';
|
|
8
4
|
export * from './normalize';
|
|
9
5
|
export * from './padding';
|
|
10
6
|
export * from './snapping';
|
|
11
|
-
export * from './grid';
|
|
12
7
|
export * from './merge';
|
|
13
|
-
export * from './
|
|
14
|
-
export * from './timing';
|
|
15
|
-
export * from './ssr';
|
|
8
|
+
export * from './grid';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
2
|
+
type RowCountParams = {
|
|
3
|
+
height?: number;
|
|
4
|
+
top: number;
|
|
5
|
+
bottom: number;
|
|
6
|
+
base: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function calculateRowCount(params: RowCountParams): number;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { DebuggingMode } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Combines class names, filtering out falsy values.
|
|
4
|
+
* Lightweight alternative to clsx/classnames.
|
|
5
|
+
*/
|
|
6
|
+
export declare const cx: (...classes: Array<string | boolean | undefined | null>) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Resolves component debug/visibility state from prop and config.
|
|
9
|
+
* Pure function — framework-agnostic.
|
|
10
|
+
*/
|
|
11
|
+
export interface DebugState {
|
|
12
|
+
isShown: boolean;
|
|
13
|
+
isHidden: boolean;
|
|
14
|
+
isNone: boolean;
|
|
15
|
+
debugging: DebuggingMode | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare function resolveDebugState(debuggingProp?: DebuggingMode, debuggingConfig?: DebuggingMode): DebugState;
|
|
18
|
+
export type StyleOverrideParams = {
|
|
19
|
+
key: string;
|
|
20
|
+
value: string;
|
|
21
|
+
defaultStyles: Record<string, string>;
|
|
22
|
+
skipDimensions?: {
|
|
23
|
+
fitContent?: string[];
|
|
24
|
+
auto?: string[];
|
|
25
|
+
fullSize?: string[];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare function createStyleOverride(params: StyleOverrideParams | string, value?: string, defaultStyles?: Record<string, string>): Record<string, string>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ConversionContext } from './convert';
|
|
2
|
+
export interface NormalizationOptions {
|
|
3
|
+
base?: number;
|
|
4
|
+
round?: boolean;
|
|
5
|
+
clamp?: {
|
|
6
|
+
min?: number;
|
|
7
|
+
max?: number;
|
|
8
|
+
};
|
|
9
|
+
suppressWarnings?: boolean;
|
|
10
|
+
context?: ConversionContext;
|
|
11
|
+
}
|
|
12
|
+
export declare function normalizeValue(value: string | number | undefined, options?: NormalizationOptions): number;
|
|
13
|
+
export declare function normalizeValuePair(values: [string | number | undefined, string | number | undefined] | undefined, defaults: [number, number], options?: NormalizationOptions): [number, number];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './guide';
|
package/dist/core.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./src-CMjyHjX5.cjs`);exports.ABSOLUTE_UNIT_CONVERSIONS=e.b,exports.DEFAULT_CONFIG=e.k,exports.GRID_ALIGNMENTS=e.T,exports.PADD_VARIANTS=e.E,exports.RELATIVE_UNITS=e.x,exports.calculateGuideTemplate=e.s,exports.calculateRowCount=e.v,exports.calculateSnappedSpacing=e.m,exports.clamp=e.y,exports.convertValue=e.S,exports.createBaselineDescriptor=e.i,exports.createBoxDescriptor=e.r,exports.createCSSVariables=e.D,exports.createGridSpanStyles=e.c,exports.createGuideConfig=e.a,exports.createGuideDescriptor=e.o,exports.createPadderDescriptor=e.t,exports.createSpacerDescriptor=e.n,exports.createStyleOverride=e.d,exports.cx=e.f,exports.formatValue=e.C,exports.isValidGuideColumnValue=e.l,exports.isValidGuidePattern=e.u,exports.mergeConfig=e.O,exports.normalizeValue=e.g,exports.normalizeValuePair=e._,exports.parsePadding=e.h,exports.parseUnit=e.w,exports.resolveDebugState=e.p;
|