{"_id":"@anjunar/scalajs-ui","_rev":"6-7c002e2fbc4463a287676c5ae20905ed","name":"@anjunar/scalajs-ui","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@anjunar/scalajs-ui","version":"1.0.0","author":{"name":"Patrick Bittner"},"license":"MIT","_id":"@anjunar/scalajs-ui@1.0.0","maintainers":[{"name":"anjunar","email":"anjunar@gmx.de"}],"homepage":"https://github.com/anjunar/scalajs-ui#readme","bugs":{"url":"https://github.com/anjunar/scalajs-ui/issues"},"dist":{"shasum":"9a03e159607a752fbe680740ca2afe49ccc450df","tarball":"https://registry.npmjs.org/@anjunar/scalajs-ui/-/scalajs-ui-1.0.0.tgz","fileCount":44,"integrity":"sha512-PrXpyxHDnzaq3/pdbyi/46B8FMWSGRubAXyl73tjoatJ0GL+Foa6o+LG3PE35t2hIEkwsmFBc+wyqEQM+Izkxg==","signatures":[{"sig":"MEQCIE5MkmBT/6s078yTZaRpqUWzlZgwMBls3xEIyIoJmktlAiA9IbOZP6BRWRVE4y7n2pQpmzE0x/bamIflGRj8tczGag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107183},"type":"module","exports":{".":{"import":"./index.js"},"./css":"./index.css","./index.css":"./index.css","./preferences":{"types":"./preferences.d.ts","import":"./preferences.js"},"./package.json":"./package.json"},"gitHead":"a9312d1aa728764c037b016ba66b703e003d6d50","scripts":{"verify":"node scripts/build-design-registry.mjs --check && node scripts/verify.mjs && node --test scripts/preferences.test.mjs","build:registry":"node scripts/build-design-registry.mjs"},"_npmUser":{"name":"anjunar","email":"anjunar@gmx.de"},"repository":{"url":"git+https://github.com/anjunar/scalajs-ui.git","type":"git","directory":"npm/scalajs-ui"},"_npmVersion":"11.17.0","description":"Default component CSS for the scalajs-ui Scala.js modules.","directories":{},"sideEffects":["*.css","index.js"],"_nodeVersion":"26.4.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scalajs-ui_1.0.0_1789143223544_0.9734239059516145","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@anjunar/scalajs-ui","version":"1.0.2","author":{"name":"Patrick Bittner"},"license":"MIT","_id":"@anjunar/scalajs-ui@1.0.2","maintainers":[{"name":"anjunar","email":"anjunar@gmx.de"}],"homepage":"https://github.com/anjunar/scalajs-ui#readme","bugs":{"url":"https://github.com/anjunar/scalajs-ui/issues"},"dist":{"shasum":"0280ef8bf85f8f0d04db70e9abd344baa58986c0","tarball":"https://registry.npmjs.org/@anjunar/scalajs-ui/-/scalajs-ui-1.0.2.tgz","fileCount":45,"integrity":"sha512-ZfUBg7abWLSz7BXTAr+hZfnA/Jo8JoshOTwYUJD6bv2aQ8HgFJ6azSu8rXa3/4sQvQM4GKiffWCGO4z9zVzIfA==","signatures":[{"sig":"MEUCIAu/sItTx0u/NNivz4J2yLqZ1v2BO0oeimQ5BpJn6bBIAiEA8FCWtOo0mBN3XxRwie35pdQdjgq/F0VDkKwtQtLADB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF1C6BIxS5hwlfWOYcasHCYAc5n7WTH3Un7NXgeSlXuEAiAsrlBt8NMRpK/8jAWap3Ewp75q5taRq/pvt3IP3emj1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95342},"type":"module","exports":{".":{"import":"./index.js"},"./css":"./index.css","./index.css":"./index.css","./preferences":{"types":"./preferences.d.ts","import":"./preferences.js"},"./package.json":"./package.json"},"gitHead":"192dd9f15ce1652b461173756defb0046fbd9ac4","scripts":{"verify":"node scripts/build-design-registry.mjs --check && node scripts/verify.mjs && node --test scripts/preferences.test.mjs","build:registry":"node scripts/build-design-registry.mjs"},"_npmUser":{"name":"anjunar","email":"anjunar@gmx.de"},"repository":{"url":"git+https://github.com/anjunar/scalajs-ui.git","type":"git","directory":"npm/scalajs-ui"},"_npmVersion":"11.17.0","description":"Default component CSS for the scalajs-ui Scala.js modules.","directories":{},"sideEffects":["*.css","index.js"],"_nodeVersion":"26.4.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scalajs-ui_1.0.2_1789506095300_0.38005193619151934","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@anjunar/scalajs-ui","version":"1.0.3","author":{"name":"Patrick Bittner"},"license":"MIT","_id":"@anjunar/scalajs-ui@1.0.3","maintainers":[{"name":"anjunar","email":"anjunar@gmx.de"}],"homepage":"https://github.com/anjunar/scalajs-ui#readme","bugs":{"url":"https://github.com/anjunar/scalajs-ui/issues"},"dist":{"shasum":"9028b1cd81c5905fa7a41840b6202d853167eb15","tarball":"https://registry.npmjs.org/@anjunar/scalajs-ui/-/scalajs-ui-1.0.3.tgz","fileCount":45,"integrity":"sha512-U+r7ALkBJWmgK3SJIpiAdw33ttGBj2i3o3SXTE5TB+R+BmNVHlswNNz9vnGBoAQI+BjHVQ5Wwl3MeP0vXNZl4w==","signatures":[{"sig":"MEUCIDyr+J1llBG3BrpKvOZrIA3fx3LjSNzKXQlFz0JM/BdsAiEAjR6wQ6ChkfltR0CsS3pRwcNRTOoKP78BE+yFEv8fwLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB395yGdc9ainurGpTPW16bcw7uxSXdZZhSXFHgV6vm/AiA76rMj4eya+dzZDWtikc3lY1yoTnPjgCE6wiV+RrutFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98823},"type":"module","exports":{".":{"import":"./index.js"},"./css":"./index.css","./index.css":"./index.css","./preferences":{"types":"./preferences.d.ts","import":"./preferences.js"},"./package.json":"./package.json"},"gitHead":"81e89fc0d354046d9c9d548e5e1932d7baba0505","scripts":{"verify":"node scripts/build-design-registry.mjs --check && node scripts/verify.mjs && node --test scripts/preferences.test.mjs","build:registry":"node scripts/build-design-registry.mjs"},"_npmUser":{"name":"anjunar","email":"anjunar@gmx.de"},"repository":{"url":"git+https://github.com/anjunar/scalajs-ui.git","type":"git","directory":"npm/scalajs-ui"},"_npmVersion":"11.17.0","description":"Default component CSS for the scalajs-ui Scala.js modules.","directories":{},"sideEffects":["*.css","index.js"],"_nodeVersion":"26.4.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scalajs-ui_1.0.3_1789552970879_0.024538816366302063","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@anjunar/scalajs-ui","version":"1.0.5","author":{"name":"Patrick Bittner"},"license":"MIT","_id":"@anjunar/scalajs-ui@1.0.5","maintainers":[{"name":"anjunar","email":"anjunar@gmx.de"}],"homepage":"https://github.com/anjunar/scalajs-ui#readme","bugs":{"url":"https://github.com/anjunar/scalajs-ui/issues"},"dist":{"shasum":"d65cc20215eced5348559b27ecae97ba51ec17ec","tarball":"https://registry.npmjs.org/@anjunar/scalajs-ui/-/scalajs-ui-1.0.5.tgz","fileCount":45,"integrity":"sha512-x4C6EcQPgjyKgjqxJJx1UspJ/PfHPBUye99/xgUCf6Ez/3TKcJN5ZHo8SeTU/F3Bv9n3Rp/UWX5YesE4JIS48w==","signatures":[{"sig":"MEUCIEGbSkZibZ0Y/gG/fzK5O4bdy+e9unJSMCT+6A/HVO+/AiEAgA3iseX+55ENEFxdGRdCUNsCPDqdlvNidrLcQby7aOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC54bILECic34PhT/zRy1XIylxET//AN8FndpGR/CFK9wIgP/+UJ7C0JtE5yUaYd/m5C7+lJ+QFyOYA+iG4+TAFlrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100752},"type":"module","exports":{".":{"import":"./index.js"},"./css":"./index.css","./index.css":"./index.css","./preferences":{"types":"./preferences.d.ts","import":"./preferences.js"},"./package.json":"./package.json"},"gitHead":"13988ebfcf64a17c3b7777ef28c3e55e6d48ddca","scripts":{"verify":"node scripts/build-design-registry.mjs --check && node scripts/verify.mjs && node --test scripts/preferences.test.mjs","build:registry":"node scripts/build-design-registry.mjs"},"_npmUser":{"name":"anjunar","email":"anjunar@gmx.de"},"repository":{"url":"git+https://github.com/anjunar/scalajs-ui.git","type":"git","directory":"npm/scalajs-ui"},"_npmVersion":"11.17.0","description":"Default component CSS for the scalajs-ui Scala.js modules.","directories":{},"sideEffects":["*.css","index.js"],"_nodeVersion":"26.4.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scalajs-ui_1.0.5_1789736110217_0.30727720797882596","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@anjunar/scalajs-ui","version":"1.0.6","author":{"name":"Patrick Bittner"},"license":"MIT","_id":"@anjunar/scalajs-ui@1.0.6","maintainers":[{"name":"anjunar","email":"anjunar@gmx.de"}],"homepage":"https://github.com/anjunar/scalajs-ui#readme","bugs":{"url":"https://github.com/anjunar/scalajs-ui/issues"},"dist":{"shasum":"7b9c25d80aead1461460ca9bdc8c9be02d85c252","tarball":"https://registry.npmjs.org/@anjunar/scalajs-ui/-/scalajs-ui-1.0.6.tgz","fileCount":45,"integrity":"sha512-3y+kILNDksxlggr7my1DNadKzRuLgM5WiZn/UILjKvsNd5LdfnN4gn9Kqj4Uy78IatUv5RS1jd4cLlTgGM/5Lg==","signatures":[{"sig":"MEQCIBiGgwd/jtye/05j6JsFJ+wEYeWrE+OyyM00+1LQINZQAiAx7e+gElua3iAOLYgV4APccd9kMhJbFfBzFxOmFghmQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHvaC0NI3Lz47WDCBvzdG1rzl20T54Xqam6RPzYyj4lyAiEAtTZQfu1z4MDL9PmrfZ3yfni7FT8ghyR5rby9UmuOZbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103511},"type":"module","exports":{".":{"import":"./index.js"},"./css":"./index.css","./index.css":"./index.css","./preferences":{"types":"./preferences.d.ts","import":"./preferences.js"},"./package.json":"./package.json"},"gitHead":"b5f4e2ac72fff6d18aff21420f18a811c54578e0","scripts":{"verify":"node scripts/build-design-registry.mjs --check && node scripts/verify.mjs && node --test scripts/preferences.test.mjs","build:registry":"node scripts/build-design-registry.mjs"},"_npmUser":{"name":"anjunar","email":"anjunar@gmx.de"},"repository":{"url":"git+https://github.com/anjunar/scalajs-ui.git","type":"git","directory":"npm/scalajs-ui"},"_npmVersion":"11.17.0","description":"Default component CSS for the scalajs-ui Scala.js modules.","directories":{},"sideEffects":["*.css","index.js"],"_nodeVersion":"26.4.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scalajs-ui_1.0.6_1789958567613_0.8819411932805663","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@anjunar/scalajs-ui@1.1.0","bugs":{"url":"https://github.com/anjunar/scalajs-ui/issues"},"dist":{"shasum":"2fda478cca6be4fb2e56983043d31eeb15f882c0","tarball":"https://registry.npmjs.org/@anjunar/scalajs-ui/-/scalajs-ui-1.1.0.tgz","fileCount":45,"integrity":"sha512-zKl2mmL0Lwp40l04tx6w6q5uWxGhX7/VvfdIlinpf0ue2qd7V63uuiBECOiVjH7MhQ3exZqy5WgQeXNLzkvmuQ==","signatures":[{"sig":"MEUCIQDOi8Ht1b0K6zX7uGEidMbfVF3fTnWf/LrdDMZA5o1q0QIgPiJVD4yzhbvnrkla6n24h5/zpFVxjiRreuCdf/+F2ew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCOd96Kl1g/m0D8a/S+DZJ3uuvGYeCvybCXgfZPGcavkwIhAN5h5pOEuxyfrtLBF7z8AeWzYGIAQD643w40kRgK+jN0"}],"unpackedSize":103206},"name":"@anjunar/scalajs-ui","type":"module","author":{"name":"Patrick Bittner"},"exports":{".":{"import":"./index.js"},"./css":"./index.css","./index.css":"./index.css","./preferences":{"types":"./preferences.d.ts","import":"./preferences.js"},"./package.json":"./package.json"},"gitHead":"a054cd17cb7cb398f4be3461b25c2a5df009a442","license":"MIT","scripts":{"verify":"node scripts/build-design-registry.mjs --check && node scripts/verify.mjs && node --test scripts/preferences.test.mjs","build:registry":"node scripts/build-design-registry.mjs"},"version":"1.1.0","_npmUser":{"name":"anjunar","email":"anjunar@gmx.de"},"homepage":"https://github.com/anjunar/scalajs-ui#readme","repository":{"url":"git+https://github.com/anjunar/scalajs-ui.git","type":"git","directory":"npm/scalajs-ui"},"_npmVersion":"11.17.0","description":"Default component CSS for the scalajs-ui Scala.js modules.","directories":{},"maintainers":[{"name":"anjunar","email":"anjunar@gmx.de"}],"sideEffects":["*.css","index.js"],"_nodeVersion":"26.4.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scalajs-ui_1.1.0_1790707689571_0.14296206626147367"}}},"time":{"created":"2026-09-11T16:13:43.365Z","modified":"2026-09-29T18:48:09.979Z","1.0.0":"2026-09-11T16:13:43.717Z","1.0.2":"2026-09-15T21:01:35.397Z","1.0.3":"2026-09-16T10:02:50.976Z","1.0.5":"2026-09-18T12:55:10.340Z","1.0.6":"2026-09-21T02:42:47.703Z","1.1.0":"2026-09-29T18:48:09.688Z"},"bugs":{"url":"https://github.com/anjunar/scalajs-ui/issues"},"author":{"name":"Patrick Bittner"},"license":"MIT","homepage":"https://github.com/anjunar/scalajs-ui#readme","repository":{"url":"git+https://github.com/anjunar/scalajs-ui.git","type":"git","directory":"npm/scalajs-ui"},"description":"Default component CSS for the scalajs-ui Scala.js modules.","maintainers":[{"name":"anjunar","email":"anjunar@gmx.de"}],"readme":"# @anjunar/scalajs-ui\r\n\r\nComponent CSS, four design packages and design roles for the classes emitted by the Scala.js UI modules. The package supplies four independent light/dark palettes and component rules; it does not contain rendering or component logic.\r\n\r\n## Overview\r\n\r\nThe Scala modules render `ui-*` class names. This package makes those classes visible and keeps the styling contract in one versioned package shared by Scala and TypeScript consumers.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @anjunar/scalajs-ui\r\n```\r\n\r\nImport the stylesheet from the application's CSS entry point:\r\n\r\n```css\r\n@import \"@anjunar/scalajs-ui/index.css\";\r\n```\r\n\r\nAlternatively, import `@anjunar/scalajs-ui` as a JavaScript side effect when your bundler handles CSS side effects.\r\n\r\n## Styling ownership\r\n\r\n`designs/*/tokens.css` owns the semantic roles from the neighbouring `lob-der-reinen-intuition/design` Multi Constitution. The four designs are `atlas`, `flora`, `terra` and `ember`. Set `data-design` and `data-color-scheme=\"light\"` or `\"dark\"` on `<html>`. The defaults are Ember and dark, independent of the operating system.\r\n\r\n`base/Theme.css` maps these roles to the existing `--aj-*` interface shared with Lexical. `base/Tokens.css` supplies structural aliases. Cascade layers separate component patterns, design decisions, utilities and accessibility invariants. Application styles belong in `layer(patterns)` so they do not accidentally override the chosen design.\r\n\r\nApplication CSS owns application layout and application-specific class names. Inline styles from the UI style DSL carry runtime values such as measured dimensions, transforms, or the drawer's width custom properties. Static layout belongs in CSS. Accessibility rules preserve visible keyboard focus and reduced motion across visual designs.\r\n\r\nApplications should provide an element reset; Tailwind Preflight is optional. This package contains no Tailwind directives and does not load `@anjunar/ui`. It includes Material Icons typography rules but no font binary. The currently published `@anjunar/scalajs-lexical` package still declares an `@anjunar/ui` peer dependency, so editor consumers may see that unused package in their installation tree.\r\n\r\n## Contents\r\n\r\n```text\r\ndesigns/  metadata, generated registry, complete palettes and design rules\r\nbase/     palette, structural roles, accessibility and icon rules\r\naction/   buttons\r\ncontrol/  carousel, data grid, links, tables, tabs, virtual lists\r\nform/     combo boxes, editor, image cropper, inputs\r\nlayout/   drawer, boxes, viewport, windows\r\n```\r\n\r\n`form/Editor.css` is included for the editor package even when the Scala editor artifact is released separately.\r\n\r\n## API overview\r\n\r\nThe stylesheet entry point is `index.css`. The optional `@anjunar/scalajs-ui/preferences` module exports `designs`, `serverPreferences(url)`, `bootstrapScript(legacyKey)` and `createPreferences(legacyKey, url)`.\r\n\r\nPlace the bootstrap in the document head before paint. It resolves validated URL previews (`?design=flora&colorScheme=dark`), then browser storage, then defaults. Preview URLs do not write storage. The controller updates only the document attributes; it does not remount application content. Its `subscribe` method returns an unsubscribe function which the app must dispose. Each server render creates its own state.\r\n\r\nUser choices are stored separately in `ui.design` and `ui.color-scheme`; the optional legacy key is only used to read an earlier light/dark choice. Storage failures leave the current page usable and are reported in controller state. The demos use localStorage, not cookies: SSR uses URL preferences or defaults; the pre-paint bootstrap restores browser preferences before hydration.\r\n\r\nRegenerate the registry after metadata changes with `npm run build:registry`. `npm run verify` checks registry drift, complete token coverage in each design, standalone CSS and preference behavior. See the repository's [MULTI_DESIGN.md](../../MULTI_DESIGN.md) for integration details.\r\n\r\n## Related modules\r\n\r\n- [`@anjunar/scalajs-ui-core`](../scalajs-ui-core/README.md) emits core elements and state.\r\n- [`@anjunar/scalajs-ui-controls`](../scalajs-ui-controls/README.md), [`@anjunar/scalajs-ui-forms`](../scalajs-ui-forms/README.md), and [`@anjunar/scalajs-ui-viewport`](../scalajs-ui-viewport/README.md) emit feature classes.\r\n","readmeFilename":"README.md"}