@krigsvold/theme 2.0.0 → 2.1.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 CHANGED
@@ -39,6 +39,14 @@ Edit `source.json` here; run `npm ci --ignore-scripts`, `npm run build`, `npm te
39
39
 
40
40
  The `capabilities` export records what each integration applies, requires separate configuration for, or cannot support. A browser color theme does not change fonts. Editors and terminals use the monospace role only where their host allows it.
41
41
 
42
- Registry publication is pending. Before publication install the versioned archive with `npm install ./krigsvold-theme-2.0.0.tgz`. The npm scope is `krigsvold`, independently of the `krigsvoldtheme` GitHub organization. The old `@krigsvoldtheme/theme` name existed in prepared archives but was not published; existing color APIs are preserved in this renamed package. Version 2 makes the broader design contract and originating-site typography explicit.
42
+ The npm scope is `krigsvold`. Install the published core with `npm install @krigsvold/theme`. Package versions are independent of application-port versions.
43
43
 
44
44
  Application port generators in `krigsvoldtheme/krigsvoldtheme` consume this package. They must not regenerate it. CI never publishes automatically.
45
+
46
+ ## Layouts
47
+
48
+ Version 2.1 adds optional [`layout.css`](docs/layout.md), the `layout` JavaScript export, and `layout.json`. Layout primitives cover containers, vertical stacks, wrapping clusters, bounded grids, sidebars, and paired regions. Import `@krigsvold/theme/full.css` for the complete styling layer or add `@krigsvold/theme/layout.css` after `foundation.css` for structural classes alone. See [source observations and responsive rules](docs/layout.md).
49
+
50
+ ## Releases
51
+
52
+ Stable GitHub releases can publish automatically through npm trusted publishing. See [release setup](docs/releasing.md) for the one-time package authorization and release order.
@@ -6,7 +6,8 @@
6
6
  "spacing",
7
7
  "shape",
8
8
  "depth",
9
- "interaction variables"
9
+ "interaction variables",
10
+ "layout primitives"
10
11
  ],
11
12
  "optional": [
12
13
  "font loading",
@@ -21,7 +22,13 @@
21
22
  "container",
22
23
  "section heading",
23
24
  "card",
24
- "button"
25
+ "button",
26
+ "page header",
27
+ "site header",
28
+ "site footer",
29
+ "article layout",
30
+ "landing layout",
31
+ "documentation layout"
25
32
  ],
26
33
  "hostOwned": [
27
34
  "navigation",
package/dist/dark.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.0",
2
+ "version": "2.1.0",
3
3
  "id": "krigsvold-dark",
4
4
  "name": "Krigsvold Dark",
5
5
  "mode": "dark",
@@ -72,6 +72,14 @@
72
72
  --krigsvold-breakpoint-lg: 992px;
73
73
  --krigsvold-breakpoint-xl: 1200px;
74
74
  --krigsvold-breakpoint-xxl: 1400px;
75
+ --krigsvold-layout-gap: 2rem;
76
+ --krigsvold-layout-gap-small: 1rem;
77
+ --krigsvold-layout-gap-large: 3rem;
78
+ --krigsvold-layout-sidebar-width: 20rem;
79
+ --krigsvold-layout-main-min: 30rem;
80
+ --krigsvold-layout-grid-min: 20rem;
81
+ --krigsvold-layout-split-min: 22rem;
82
+ --krigsvold-layout-section-space: clamp(4.5rem, 8vw, 7.5rem);
75
83
  }
76
84
  @media (prefers-reduced-motion: reduce) {
77
85
  :root, [data-krigsvold] { --krigsvold-transition-ui: 0s; --krigsvold-motion-duration: 0s; }
@@ -80,7 +80,15 @@
80
80
  "breakpoint-md": "768px",
81
81
  "breakpoint-lg": "992px",
82
82
  "breakpoint-xl": "1200px",
83
- "breakpoint-xxl": "1400px"
83
+ "breakpoint-xxl": "1400px",
84
+ "layout-gap": "2rem",
85
+ "layout-gap-small": "1rem",
86
+ "layout-gap-large": "3rem",
87
+ "layout-sidebar-width": "20rem",
88
+ "layout-main-min": "30rem",
89
+ "layout-grid-min": "20rem",
90
+ "layout-split-min": "22rem",
91
+ "layout-section-space": "clamp(4.5rem, 8vw, 7.5rem)"
84
92
  },
85
93
  "typographyRoles": {
86
94
  "serif": {
package/dist/full.css CHANGED
@@ -2,3 +2,4 @@
2
2
  @import './foundation.css';
3
3
  @import './typography.css';
4
4
  @import './components.css';
5
+ @import './layout.css';
@@ -1,4 +1,4 @@
1
- /* Krigsvold Dark 2.0.0. MIT. */
1
+ /* Krigsvold Dark 2.1.0. MIT. */
2
2
  pre code.hljs { display: block; overflow-x: auto; padding: 1em; }
3
3
  code.hljs { padding: 3px 5px; }
4
4
  .hljs { background: #061325; color: #EEF8FA; }
@@ -1,4 +1,4 @@
1
- /* Krigsvold Light 2.0.0. MIT. */
1
+ /* Krigsvold Light 2.1.0. MIT. */
2
2
  pre code.hljs { display: block; overflow-x: auto; padding: 1em; }
3
3
  code.hljs { padding: 3px 5px; }
4
4
  .hljs { background: #FBFAF7; color: #17202A; }
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const data = {"name":"Krigsvold","version":"2.0.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
- const {themes,heritage,design,foundation,capabilities,version}=data;
1
+ const data = {"name":"Krigsvold","version":"2.1.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px","layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables","layout primitives"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button","page header","site header","site footer","article layout","landing layout","documentation layout"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"layout":{"schemaVersion":1,"primitives":["container","stack","cluster","grid","sidebar","split"],"compositions":["article","landing","documentation"],"defaults":{"space":"regular","columns":3,"splitRatio":"equal","sidebarSide":"end"},"tokens":{"layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"sources":[{"url":"https://krigsvold.org/","repository":"basuhoward/krigsvold.org","commit":"a3cf072c516c59ed35814e0fa153028cc91ceecd","files":["src/layouts/Page.astro","src/components/HomeContent.astro","src/components/HomeHero.astro","src/styles/site.css"]},{"url":"https://krigsvoldtheme.dev/","repository":"krigsvoldtheme/krigsvoldtheme","commit":"880bdd2bd8430bbdfd8d728faaae0c21199540b1","files":["site/src/pages/index.astro","site/src/styles/global.css","site/src/components/FoundationSpecimen.astro"]}],"normalization":{"intrinsicSizing":"Columns and sidebars respond to their available container width, including nested containers, rather than only to viewport breakpoints.","readingOrder":"Sidebar side selects matching DOM order; split content retains its source order at all widths.","scope":"Namespaced optional layout classes; no global reset, framework dependency, image, personal identity, or scripts."}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
+ const {themes,heritage,design,foundation,capabilities,layout,version}=data;
3
3
  const {light,dark}=themes;
4
- module.exports={themes,light,dark,heritage,design,foundation,capabilities,version,default:themes};
4
+ module.exports={themes,light,dark,heritage,design,foundation,capabilities,layout,version,default:themes};
package/dist/index.d.ts CHANGED
@@ -6,5 +6,6 @@ export declare const version: string;
6
6
  export declare const heritage: Readonly<Record<string,string>>;
7
7
  export declare const design: { readonly radius: Readonly<Record<string,string>>; readonly spacing: Readonly<Record<string,string>>; readonly fonts: Readonly<Record<string,string>> };
8
8
  export declare const foundation: { readonly origin: string; readonly tokens: Readonly<Record<string,string>>; readonly typographyRoles: Readonly<Record<string,unknown>> };
9
+ export declare const layout: {readonly schemaVersion: number; readonly primitives: readonly string[]; readonly compositions: readonly string[]; readonly defaults: Readonly<Record<string,string | number>>; readonly tokens: Readonly<Record<string,string>>; readonly sources: readonly {readonly url: string; readonly repository: string; readonly commit: string; readonly files: readonly string[]}[]; readonly normalization: Readonly<Record<string,string>>};
9
10
  export declare const capabilities: Readonly<Record<string,unknown>>;
10
11
  export default themes;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- const data = {"name":"Krigsvold","version":"2.0.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
- const {themes,heritage,design,foundation,capabilities,version}=data;
1
+ const data = {"name":"Krigsvold","version":"2.1.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px","layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables","layout primitives"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button","page header","site header","site footer","article layout","landing layout","documentation layout"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"layout":{"schemaVersion":1,"primitives":["container","stack","cluster","grid","sidebar","split"],"compositions":["article","landing","documentation"],"defaults":{"space":"regular","columns":3,"splitRatio":"equal","sidebarSide":"end"},"tokens":{"layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"sources":[{"url":"https://krigsvold.org/","repository":"basuhoward/krigsvold.org","commit":"a3cf072c516c59ed35814e0fa153028cc91ceecd","files":["src/layouts/Page.astro","src/components/HomeContent.astro","src/components/HomeHero.astro","src/styles/site.css"]},{"url":"https://krigsvoldtheme.dev/","repository":"krigsvoldtheme/krigsvoldtheme","commit":"880bdd2bd8430bbdfd8d728faaae0c21199540b1","files":["site/src/pages/index.astro","site/src/styles/global.css","site/src/components/FoundationSpecimen.astro"]}],"normalization":{"intrinsicSizing":"Columns and sidebars respond to their available container width, including nested containers, rather than only to viewport breakpoints.","readingOrder":"Sidebar side selects matching DOM order; split content retains its source order at all widths.","scope":"Namespaced optional layout classes; no global reset, framework dependency, image, personal identity, or scripts."}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
+ const {themes,heritage,design,foundation,capabilities,layout,version}=data;
3
3
  const {light,dark}=themes;
4
- export {themes,light,dark,heritage,design,foundation,capabilities,version};
4
+ export {themes,light,dark,heritage,design,foundation,capabilities,layout,version};
5
5
  export default themes;
@@ -0,0 +1,51 @@
1
+ /* Optional layout primitives. No fonts, palette, global reset, or JavaScript. */
2
+ .krigsvold-stack,.krigsvold-cluster,.krigsvold-grid,.krigsvold-sidebar,.krigsvold-split { --krigsvold-layout-space:var(--krigsvold-layout-gap); gap:var(--krigsvold-layout-space); min-inline-size:0; overflow-wrap:anywhere; }
3
+ .krigsvold-space-small { --krigsvold-layout-space:var(--krigsvold-layout-gap-small); }
4
+ .krigsvold-space-large { --krigsvold-layout-space:var(--krigsvold-layout-gap-large); }
5
+ .krigsvold-stack { display:flex; flex-direction:column; }
6
+ .krigsvold-stack > * { min-inline-size:0; margin-block:0; }
7
+ .krigsvold-cluster { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; }
8
+ .krigsvold-cluster > * { min-inline-size:0; max-inline-size:100%; }
9
+ .krigsvold-cluster:is(ul,ol) { list-style:none; padding:0; margin:0; }
10
+ .krigsvold-cluster--end { justify-content:flex-end; }
11
+ .krigsvold-cluster--between { justify-content:space-between; }
12
+ .krigsvold-grid { --krigsvold-grid-columns:3; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,max(var(--krigsvold-layout-grid-min),calc((100% - (var(--krigsvold-grid-columns) - 1) * var(--krigsvold-layout-space)) / var(--krigsvold-grid-columns)))),1fr)); }
13
+ .krigsvold-grid--1 { --krigsvold-grid-columns:1; }
14
+ .krigsvold-grid--2 { --krigsvold-grid-columns:2; }
15
+ .krigsvold-grid--4 { --krigsvold-grid-columns:4; }
16
+ .krigsvold-grid > * { min-inline-size:0; }
17
+ .krigsvold-sidebar { display:flex; flex-wrap:wrap; align-items:flex-start; }
18
+ .krigsvold-sidebar > .krigsvold-sidebar__aside { flex:1 1 var(--krigsvold-layout-sidebar-width); min-inline-size:0; max-inline-size:100%; }
19
+ .krigsvold-sidebar > .krigsvold-sidebar__main { flex:999 1 0; min-inline-size:min(100%,var(--krigsvold-layout-main-min)); max-inline-size:100%; }
20
+ .krigsvold-split { --krigsvold-split-start:1; --krigsvold-split-end:1; display:flex; flex-wrap:wrap; align-items:center; }
21
+ .krigsvold-split > * { flex:var(--krigsvold-split-start) 1 var(--krigsvold-layout-split-min); min-inline-size:0; max-inline-size:100%; }
22
+ .krigsvold-split > :last-child { flex-grow:var(--krigsvold-split-end); }
23
+ .krigsvold-split--wide-start { --krigsvold-split-start:1.5; }
24
+ .krigsvold-split--wide-end { --krigsvold-split-end:1.5; }
25
+ .krigsvold-split--start { align-items:flex-start; }
26
+ .krigsvold-band { padding-block:var(--krigsvold-section-space); }
27
+ .krigsvold-page-body { padding-block:var(--krigsvold-layout-section-space); }
28
+ .krigsvold-prose { min-inline-size:0; max-inline-size:100%; overflow-wrap:anywhere; }
29
+ .krigsvold-prose > :first-child { margin-block-start:0; }
30
+ .krigsvold-prose > :last-child { margin-block-end:0; }
31
+ .krigsvold-prose :where(img,svg,video) { max-inline-size:100%; block-size:auto; }
32
+ .krigsvold-prose :where(pre) { max-inline-size:100%; overflow:auto; }
33
+ .krigsvold-scroll { max-inline-size:100%; overflow:auto; }
34
+ .krigsvold-page-header { padding-block:var(--krigsvold-layout-section-space); background:var(--krigsvold-panel2); color:var(--krigsvold-text); overflow-wrap:anywhere; }
35
+ .krigsvold-page-header h1 { margin-block:0; max-inline-size:var(--krigsvold-content-width); font-family:var(--krigsvold-font-serif); font-size:var(--krigsvold-text-h1); line-height:var(--krigsvold-leading-heading); }
36
+ .krigsvold-page-header__copy > :first-child { margin-block-start:0; }
37
+ .krigsvold-page-header__summary { max-inline-size:var(--krigsvold-reading-width); font-size:1.15em; line-height:var(--krigsvold-leading-body); }
38
+ .krigsvold-page-header__metadata { font-family:var(--krigsvold-font-sans); color:var(--krigsvold-muted); }
39
+ .krigsvold-page-header__media { min-inline-size:0; }
40
+ .krigsvold-page-header__media :where(img,svg,video) { display:block; max-inline-size:100%; block-size:auto; }
41
+ .krigsvold-site-header { border-block-end:var(--krigsvold-border-width) solid var(--krigsvold-line); padding-block:var(--krigsvold-layout-gap-small); color:var(--krigsvold-text); background:var(--krigsvold-bg); }
42
+ .krigsvold-site-header__inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--krigsvold-layout-gap-small) var(--krigsvold-layout-gap); min-inline-size:0; }
43
+ .krigsvold-site-header__brand { font-family:var(--krigsvold-font-display); font-size:1.2rem; font-weight:700; overflow-wrap:anywhere; min-inline-size:0; max-inline-size:100%; }
44
+ .krigsvold-site-header nav { min-inline-size:0; max-inline-size:100%; font-family:var(--krigsvold-font-sans); }
45
+ .krigsvold-site-header :where(a) { display:inline-block; padding-block:.5rem; }
46
+ .krigsvold-site-footer { padding-block:var(--krigsvold-layout-section-space); border-block-start:var(--krigsvold-border-width) solid var(--krigsvold-line); background:var(--krigsvold-panel2); color:var(--krigsvold-text); overflow-wrap:anywhere; }
47
+ .krigsvold-site-footer nav { font-family:var(--krigsvold-font-sans); }
48
+ .krigsvold-site-footer :where(a) { display:inline-block; padding-block:.5rem; }
49
+ @media print { .krigsvold-sidebar,.krigsvold-split { display:block; } .krigsvold-sidebar > *,.krigsvold-split > * { margin-block-end:var(--krigsvold-layout-gap); } }
50
+ .krigsvold-page-header { border-block-end:var(--krigsvold-divider-thickness) solid var(--krigsvold-accent); }
51
+ .krigsvold-page-header h1 { font-family:var(--krigsvold-font-display); font-size:var(--krigsvold-text-display); font-weight:var(--krigsvold-weight-heading); letter-spacing:var(--krigsvold-tracking-display); line-height:var(--krigsvold-leading-display); }
@@ -0,0 +1,60 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "primitives": [
4
+ "container",
5
+ "stack",
6
+ "cluster",
7
+ "grid",
8
+ "sidebar",
9
+ "split"
10
+ ],
11
+ "compositions": [
12
+ "article",
13
+ "landing",
14
+ "documentation"
15
+ ],
16
+ "defaults": {
17
+ "space": "regular",
18
+ "columns": 3,
19
+ "splitRatio": "equal",
20
+ "sidebarSide": "end"
21
+ },
22
+ "tokens": {
23
+ "layout-gap": "2rem",
24
+ "layout-gap-small": "1rem",
25
+ "layout-gap-large": "3rem",
26
+ "layout-sidebar-width": "20rem",
27
+ "layout-main-min": "30rem",
28
+ "layout-grid-min": "20rem",
29
+ "layout-split-min": "22rem",
30
+ "layout-section-space": "clamp(4.5rem, 8vw, 7.5rem)"
31
+ },
32
+ "sources": [
33
+ {
34
+ "url": "https://krigsvold.org/",
35
+ "repository": "basuhoward/krigsvold.org",
36
+ "commit": "a3cf072c516c59ed35814e0fa153028cc91ceecd",
37
+ "files": [
38
+ "src/layouts/Page.astro",
39
+ "src/components/HomeContent.astro",
40
+ "src/components/HomeHero.astro",
41
+ "src/styles/site.css"
42
+ ]
43
+ },
44
+ {
45
+ "url": "https://krigsvoldtheme.dev/",
46
+ "repository": "krigsvoldtheme/krigsvoldtheme",
47
+ "commit": "880bdd2bd8430bbdfd8d728faaae0c21199540b1",
48
+ "files": [
49
+ "site/src/pages/index.astro",
50
+ "site/src/styles/global.css",
51
+ "site/src/components/FoundationSpecimen.astro"
52
+ ]
53
+ }
54
+ ],
55
+ "normalization": {
56
+ "intrinsicSizing": "Columns and sidebars respond to their available container width, including nested containers, rather than only to viewport breakpoints.",
57
+ "readingOrder": "Sidebar side selects matching DOM order; split content retains its source order at all widths.",
58
+ "scope": "Namespaced optional layout classes; no global reset, framework dependency, image, personal identity, or scripts."
59
+ }
60
+ }
package/dist/legacy.css CHANGED
@@ -72,6 +72,14 @@
72
72
  --breakpoint-lg: var(--krigsvold-breakpoint-lg);
73
73
  --breakpoint-xl: var(--krigsvold-breakpoint-xl);
74
74
  --breakpoint-xxl: var(--krigsvold-breakpoint-xxl);
75
+ --layout-gap: var(--krigsvold-layout-gap);
76
+ --layout-gap-small: var(--krigsvold-layout-gap-small);
77
+ --layout-gap-large: var(--krigsvold-layout-gap-large);
78
+ --layout-sidebar-width: var(--krigsvold-layout-sidebar-width);
79
+ --layout-main-min: var(--krigsvold-layout-main-min);
80
+ --layout-grid-min: var(--krigsvold-layout-grid-min);
81
+ --layout-split-min: var(--krigsvold-layout-split-min);
82
+ --layout-section-space: var(--krigsvold-layout-section-space);
75
83
  --navy-950: var(--krigsvold-color-navy-950);
76
84
  --navy-900: var(--krigsvold-color-navy-900);
77
85
  --navy-800: var(--krigsvold-color-navy-800);
package/dist/light.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.0",
2
+ "version": "2.1.0",
3
3
  "id": "krigsvold-light",
4
4
  "name": "Krigsvold Light",
5
5
  "mode": "light",
package/dist/tokens.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "Krigsvold",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "heritage": {
5
5
  "navy950": "#061325",
6
6
  "navy900": "#0A1D35",
@@ -146,7 +146,15 @@
146
146
  "breakpoint-md": "768px",
147
147
  "breakpoint-lg": "992px",
148
148
  "breakpoint-xl": "1200px",
149
- "breakpoint-xxl": "1400px"
149
+ "breakpoint-xxl": "1400px",
150
+ "layout-gap": "2rem",
151
+ "layout-gap-small": "1rem",
152
+ "layout-gap-large": "3rem",
153
+ "layout-sidebar-width": "20rem",
154
+ "layout-main-min": "30rem",
155
+ "layout-grid-min": "20rem",
156
+ "layout-split-min": "22rem",
157
+ "layout-section-space": "clamp(4.5rem, 8vw, 7.5rem)"
150
158
  },
151
159
  "typographyRoles": {
152
160
  "serif": {
@@ -210,7 +218,8 @@
210
218
  "spacing",
211
219
  "shape",
212
220
  "depth",
213
- "interaction variables"
221
+ "interaction variables",
222
+ "layout primitives"
214
223
  ],
215
224
  "optional": [
216
225
  "font loading",
@@ -225,7 +234,13 @@
225
234
  "container",
226
235
  "section heading",
227
236
  "card",
228
- "button"
237
+ "button",
238
+ "page header",
239
+ "site header",
240
+ "site footer",
241
+ "article layout",
242
+ "landing layout",
243
+ "documentation layout"
229
244
  ],
230
245
  "hostOwned": [
231
246
  "navigation",
@@ -296,6 +311,66 @@
296
311
  ]
297
312
  }
298
313
  },
314
+ "layout": {
315
+ "schemaVersion": 1,
316
+ "primitives": [
317
+ "container",
318
+ "stack",
319
+ "cluster",
320
+ "grid",
321
+ "sidebar",
322
+ "split"
323
+ ],
324
+ "compositions": [
325
+ "article",
326
+ "landing",
327
+ "documentation"
328
+ ],
329
+ "defaults": {
330
+ "space": "regular",
331
+ "columns": 3,
332
+ "splitRatio": "equal",
333
+ "sidebarSide": "end"
334
+ },
335
+ "tokens": {
336
+ "layout-gap": "2rem",
337
+ "layout-gap-small": "1rem",
338
+ "layout-gap-large": "3rem",
339
+ "layout-sidebar-width": "20rem",
340
+ "layout-main-min": "30rem",
341
+ "layout-grid-min": "20rem",
342
+ "layout-split-min": "22rem",
343
+ "layout-section-space": "clamp(4.5rem, 8vw, 7.5rem)"
344
+ },
345
+ "sources": [
346
+ {
347
+ "url": "https://krigsvold.org/",
348
+ "repository": "basuhoward/krigsvold.org",
349
+ "commit": "a3cf072c516c59ed35814e0fa153028cc91ceecd",
350
+ "files": [
351
+ "src/layouts/Page.astro",
352
+ "src/components/HomeContent.astro",
353
+ "src/components/HomeHero.astro",
354
+ "src/styles/site.css"
355
+ ]
356
+ },
357
+ {
358
+ "url": "https://krigsvoldtheme.dev/",
359
+ "repository": "krigsvoldtheme/krigsvoldtheme",
360
+ "commit": "880bdd2bd8430bbdfd8d728faaae0c21199540b1",
361
+ "files": [
362
+ "site/src/pages/index.astro",
363
+ "site/src/styles/global.css",
364
+ "site/src/components/FoundationSpecimen.astro"
365
+ ]
366
+ }
367
+ ],
368
+ "normalization": {
369
+ "intrinsicSizing": "Columns and sidebars respond to their available container width, including nested containers, rather than only to viewport breakpoints.",
370
+ "readingOrder": "Sidebar side selects matching DOM order; split content retains its source order at all widths.",
371
+ "scope": "Namespaced optional layout classes; no global reset, framework dependency, image, personal identity, or scripts."
372
+ }
373
+ },
299
374
  "themes": {
300
375
  "light": {
301
376
  "id": "krigsvold-light",
package/docs/layout.md ADDED
@@ -0,0 +1,20 @@
1
+ # Krigsvold layout extraction
2
+
3
+ Release candidate: core 2.1.0 and Astro 1.1.0. Existing color, font, and component contracts remain available.
4
+
5
+ ## Source observations
6
+
7
+ - Originating site: [krigsvold.org](https://github.com/basuhoward/krigsvold.org/tree/a3cf072c516c59ed35814e0fa153028cc91ceecd). Inspected files: `src/layouts/Page.astro`, `src/components/HomeContent.astro`, `src/components/HomeHero.astro`, `src/styles/site.css`.
8
+ - Demonstration site: [krigsvoldtheme.dev](https://github.com/krigsvoldtheme/krigsvoldtheme/tree/880bdd2bd8430bbdfd8d728faaae0c21199540b1). Inspected files: `site/src/pages/index.astro`, `site/src/styles/global.css`, `site/src/components/FoundationSpecimen.astro`.
9
+
10
+ The originating site uses broad section bands, paired geography and feature regions, three-column work/metric groups, a main article plus fellowship facts, and image/copy listings. The demonstration site adds a full-width landscape opening, a single workbench, a paired contrast/token laboratory, and a three-card foundation specimen.
11
+
12
+ ## Reusable contract
13
+
14
+ The core retains its original reading/content/archive widths. New layout variables normalize recurring gaps, a 20rem sidebar, a 30rem minimum main region, a 20rem card minimum, and a 22rem split-panel basis. These are documented defaults, not a claim that every source element used exactly the same values. Krigsvold's default split is `equal`.
15
+
16
+ Use `@krigsvold/theme/layout.css` with foundation variables for structural classes; it loads no fonts or palette. `full.css` includes it. `layout.json` and the ESM/CommonJS `layout` export describe defaults and provenance. No existing source value is silently replaced.
17
+
18
+ Intrinsic wrapping responds to the containing region. Grid `columns` is a maximum, not a promise to fit that many columns at every width. Sidebars use a separate main-content minimum; splits retain DOM order. There is no overflow-hiding workaround. Wide tables belong in a labelled `.krigsvold-scroll` region with `tabindex="0"` when keyboard scrolling is needed.
19
+
20
+ The Astro package supplies wrappers, site chrome, and complete article, landing, and documentation compositions. Identity, route generation, content rendering, analytics, and consent remain host-owned. Header links wrap naturally; this release does not implement dropdown or disclosure-menu behavior.
@@ -0,0 +1,27 @@
1
+ # Automated npm releases
2
+
3
+ GitHub Actions publishes stable GitHub releases through npm trusted publishing (OIDC), using `.github/workflows/publish.yml`. It requires no npm token secret.
4
+
5
+ ## One-time npm setup
6
+
7
+ Open [package settings](https://www.npmjs.com/package/@krigsvold/theme/access), then Trusted publishing, Add trusted publisher, GitHub Actions. Enter these exact values:
8
+
9
+ | Setting | Value |
10
+ | --- | --- |
11
+ | Organization/user | `krigsvoldtheme` |
12
+ | Repository | `npm` |
13
+ | Workflow filename | `publish.yml` |
14
+ | Environment | Leave blank |
15
+ | Allowed action | Enable direct `npm publish` |
16
+
17
+ The workflow must be merged before use. New trusted publisher connections must complete their first publish within two days; otherwise recreate the connection. Existing package maintainers configure this on npm. No npm account settings are changed by this PR.
18
+
19
+ ## Release
20
+
21
+ 1. Merge reviewed version and changelog changes to `main`.
22
+ 2. Publish a stable GitHub release whose tag is exactly `v` plus `package.json`'s version.
23
+ 3. The workflow runs the full verification suite, checks tag/version/repository identity and ancestry in `main`, builds from a fresh install, and publishes to npm. Failed checks prevent publication.
24
+
25
+ Release core 2.1.0 before Astro 1.1.0, then migrate the demonstration sites to registry versions. Prereleases do not publish through this stable-release workflow. Re-running a successful release fails rather than overwriting an existing npm version. Public repositories produce provenance attestations; private repositories publish with provenance disabled because npm does not support those attestations from private source repositories. Repository visibility is unchanged.
26
+
27
+ Reference: https://docs.npmjs.com/trusted-publishers/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krigsvold/theme",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,7 +46,9 @@
46
46
  "./design.json": "./dist/design.json",
47
47
  "./capabilities.json": "./dist/capabilities.json",
48
48
  "./package.json": "./package.json",
49
- "./legacy.css": "./dist/legacy.css"
49
+ "./legacy.css": "./dist/legacy.css",
50
+ "./layout.css": "./dist/layout.css",
51
+ "./layout.json": "./dist/layout.json"
50
52
  },
51
53
  "publishConfig": {
52
54
  "access": "public"