@stealthscale/plugin-theming 0.0.0-stage → 0.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.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +135 -2
  3. package/dist/accessibility-Dg5Dh35o.js +409 -0
  4. package/dist/attributes-vx1W0PiK.js +26 -0
  5. package/dist/breakpoints-CJjhy79u.js +83 -0
  6. package/dist/code-DcoH6hCX.js +69 -0
  7. package/dist/conditions-CjjQwqro.js +338 -0
  8. package/dist/corners-CH5jyCks.js +92 -0
  9. package/dist/cursors-hl00ix41.js +54 -0
  10. package/dist/cyclonedx/bom.json +1 -0
  11. package/dist/density-DEW_j0I5.js +207 -0
  12. package/dist/depth-DCn3mAAJ.js +143 -0
  13. package/dist/doc-page-BQXdbP_h.js +439 -0
  14. package/dist/extending-CY7ry7Y4.js +31 -0
  15. package/dist/faces-D76c_Ryh.js +65 -0
  16. package/dist/gate-CoX2Yr9x.js +199 -0
  17. package/dist/index.d.ts +48 -0
  18. package/dist/index.js +39 -0
  19. package/dist/layers-BxdWdfPg.js +53 -0
  20. package/dist/looks-BrROho5Y.js +107 -0
  21. package/dist/measure-uwF7Fmpy.js +137 -0
  22. package/dist/mode-colors-Cf_ZPo3g.js +260 -0
  23. package/dist/mode-panels-Bmh0ec0U.js +54 -0
  24. package/dist/motion-DRbsuZZo.js +202 -0
  25. package/dist/overview-BbE82N2c.js +192 -0
  26. package/dist/palettes-CZo2HrNT.js +49 -0
  27. package/dist/parts-BVmqVMgo.js +25 -0
  28. package/dist/recipes-C88xVIGB.js +32 -0
  29. package/dist/rows-Dv8c7jye.js +18 -0
  30. package/dist/sampler-Ue67PX2n.js +27 -0
  31. package/dist/series-AvSZjk2b.js +63 -0
  32. package/dist/setting-BsgJKTlh.js +12 -0
  33. package/dist/sizes-B7LgvyBS.js +98 -0
  34. package/dist/spacing-DMyyV6vX.js +75 -0
  35. package/dist/surfaces-Db0HjMwB.js +76 -0
  36. package/dist/text-styles-BZnXaigP.js +233 -0
  37. package/dist/theme.d.ts +12 -0
  38. package/dist/theme.js +23 -0
  39. package/dist/themes-yClyRA9e.js +305 -0
  40. package/dist/theming-text.recipe-Dvcza4j1.js +308 -0
  41. package/dist/token-table-yrZh5kLy.js +182 -0
  42. package/dist/tokens-7Pm-eLiZ.js +138 -0
  43. package/dist/use-readings-D56mNtEc.js +77 -0
  44. package/dist/variables-ymFs3Bzn.js +43 -0
  45. package/dist/worn-D4HEJsJ2.js +15 -0
  46. package/dist/writing-b05oSPB2.js +31 -0
  47. package/package.json +124 -3
@@ -0,0 +1 @@
1
+ {"$schema":"http://cyclonedx.org/schema/bom-1.7.schema.json","bomFormat":"CycloneDX","specVersion":"1.7","version":1,"metadata":{"lifecycles":[{"phase":"build"}],"tools":{"components":[{"type":"application","name":"rolldown","version":"1.2.12"},{"type":"application","name":"vite","version":"8.3.3"},{"type":"library","name":"core","group":"@arethetypeswrong","version":"0.18.5","bom-ref":"pkg:npm/%40arethetypeswrong/core@0.18.5","author":"Andrew Branch","description":"The API behind arethetypeswrong.github.io","hashes":[{"alg":"SHA-512","content":"f72b63cc6c318e6f54cfb23d6af7dbb79be542deae93db914444b3263aabce797a58abc8e9dc184e8faf277534d96aeafe64778aa97f3f386f1e129d2480230d"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40arethetypeswrong/core@0.18.5","externalReferences":[{"url":"https://github.com/arethetypeswrong/arethetypeswrong.github.io.git#packages/core","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=20"}]},{"type":"library","name":"component-actions","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/component-actions@0.2.0","description":"Renders what a person presses: a button, a toggle group, a swap, a color mode toggle, a clipboard and a download trigger.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-actions@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/actions","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/actions#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-collections","group":"@stealthscale","version":"0.1.0","bom-ref":"pkg:npm/%40stealthscale/component-collections@0.1.0","description":"Renders a set of records: lists, tables, grids, trees, and lists and boards a person reorders by dragging.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-collections@0.1.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/collections","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/collections#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-content","group":"@stealthscale","version":"0.1.0","bom-ref":"pkg:npm/%40stealthscale/component-content@0.1.0","description":"Presents a body of something: markdown, a diff, a document, a record about a thing.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-content@0.1.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/content","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/content#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-data","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/component-data@0.2.0","description":"Draws one value for reading: a figure, an instant, a label, a state.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-data@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/data","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/data#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-disclosure","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/component-disclosure@0.2.0","description":"Draws what is shown and hidden on the reader's say-so.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-disclosure@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/disclosure","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/disclosure#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-forms","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/component-forms@0.2.0","description":"Composes controls into something a person submits, and reports what is wrong with it.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-forms@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/forms","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/forms#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-layout","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/component-layout@0.2.0","description":"Arranges what is already there: the boxes, the stacks, the rules between them and the surfaces under them.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-layout@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/layout","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/layout#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-navigation","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/component-navigation@0.2.0","description":"Draws the ways a person moves between places: links, tabs, breadcrumbs and rails.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-navigation@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/navigation","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/navigation#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-screen","group":"@stealthscale","version":"0.1.0","bom-ref":"pkg:npm/%40stealthscale/component-screen@0.1.0","description":"Lays an application out on whatever screen it is opened on: the shell, the page, the toolbar and the sidebar, each folding on its own as the screen narrows.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-screen@0.1.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/screen","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/screen#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-surfaces","group":"@stealthscale","version":"0.1.0","bom-ref":"pkg:npm/%40stealthscale/component-surfaces@0.1.0","description":"Draws the surface under a thing, and the rule between two of them.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-surfaces@0.1.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/surfaces","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/surfaces#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"component-typography","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/component-typography@0.2.0","description":"Draws the components that are text: a heading, a paragraph, a snippet of code, a key a reader is asked to press.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/component-typography@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#components/typography","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/components/typography#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"hooks","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/hooks@0.2.0","description":"The React hooks a component uses to read the page it draws into: how the page is read, what it measures, and what a value was on the previous render.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/hooks@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/hooks","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/hooks#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-color-mode","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/provider-color-mode@0.2.0","description":"Puts a colour mode in scope, remembers what a person chose, and settles the first paint before the page draws.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-color-mode@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/color-mode","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/color-mode#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-data","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/provider-data@0.2.0","description":"Reads and changes an application's data through the operations its gateway publishes: the transport, the query client, invalidation by record, route loaders and server rendering.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-data@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/data","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/data#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-form","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/provider-form@0.2.0","description":"Publishes the foundation every form is built on: the contexts a bound field and a bound form share, the engine that evaluates a JSON Schema, the provider, and the draft kept across a refresh.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-form@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/form","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/form#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-hotkeys","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/provider-hotkeys@0.2.0","description":"Publishes the keyboard shortcuts a page answers to, under this design system's own name.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-hotkeys@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/hotkeys","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/hotkeys#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-i18n","group":"@stealthscale","version":"0.1.0","bom-ref":"pkg:npm/%40stealthscale/provider-i18n@0.1.0","description":"Puts the words an application is read in into scope, in the locale it is given.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-i18n@0.1.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/i18n","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/i18n#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-router","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/provider-router@0.2.0","description":"Publishes the routes an application navigates by, and the options every router starts from.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-router@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/router","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/router#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-shell","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/provider-shell@0.2.0","description":"Composes every provider an application renders, in the order each depends on the one before.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-shell@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/shell","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/shell#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"provider-viewport","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/provider-viewport@0.2.0","description":"Lays a subtree out for a stated width rather than the window's, and answers which breakpoint it is at.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/provider-viewport@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/providers/viewport","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/providers/viewport#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"sdk-host","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/sdk-host@0.2.0","description":"Hosts a product composed from plugins: the state its plugins read, its routes, the parts of its frame, its palette and its settings pages.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/sdk-host@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#sdk/host","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/sdk/host#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"sdk-plugin","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/sdk-plugin@0.2.0","description":"Renders what plugins contribute to a product's slots, and reads the host's sessions, access, flags, commands, events, settings and data in a plugin's components.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/sdk-plugin@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#sdk/plugin","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/sdk/plugin#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"settings","group":"@stealthscale","version":"0.1.0","bom-ref":"pkg:npm/%40stealthscale/settings@0.1.0","description":"Remembers one named setting a person made, per application, held to the values it is allowed to take and kept where the reader chooses.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/settings@0.1.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/settings","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/settings#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"testing-config","group":"@stealthscale","version":"0.6.0","bom-ref":"pkg:npm/%40stealthscale/testing-config@0.6.0","description":"Lists every part of the house contract a config, plugin or library package breaks.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/testing-config@0.6.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/testing-config","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/testing-config#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"testing-plugin","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/testing-plugin@0.2.0","description":"Renders a plugin's components under a real host in a specification, with the session, decisions, flags and data a case states.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/testing-plugin@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/testing-plugin","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/testing-plugin#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"testing-react","group":"@stealthscale","version":"0.9.0","bom-ref":"pkg:npm/%40stealthscale/testing-react@0.9.0","description":"Reads a rendered React component and checks it against the component contract.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/testing-react@0.9.0","externalReferences":[{"url":"git+https://github.com/stealth-scale/scale.git#packages/testing-react","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"testing-theme","group":"@stealthscale","version":"0.3.0","bom-ref":"pkg:npm/%40stealthscale/testing-theme@0.3.0","description":"Lists every part of the theme contract a theme, a recipe or a preset breaks, and reads what a recipe declares and what a rendered component drew.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/testing-theme@0.3.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/testing-theme","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/testing-theme#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"theme","group":"@stealthscale","version":"0.4.0","bom-ref":"pkg:npm/%40stealthscale/theme@0.4.0","description":"Publishes the foundation every recipe is written against, the runtime every component binds its recipe with, and the vocabulary a theme is written in.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/theme@0.4.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#foundations/theme","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/foundations/theme#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"vite-config-core","group":"@stealthscale","version":"0.4.0","bom-ref":"pkg:npm/%40stealthscale/vite-config-core@0.4.0","description":"Composes presets, contributions, removals and overrides into one Vite configuration.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/vite-config-core@0.4.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/vite-config-core","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/vite-config-core#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"vite-config-i18n","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/vite-config-i18n@0.2.0","description":"Configures a package or an application with words: the catalogue plugin, and the words in scope for its specifications.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/vite-config-i18n@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/vite-config-i18n","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/vite-config-i18n#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"vite-config-product","group":"@stealthscale","version":"0.2.0","bom-ref":"pkg:npm/%40stealthscale/vite-config-product@0.2.0","description":"Configures an application composed from plugins and the standalone page of a plugin, and lints the contract and web packages of a plugin.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/vite-config-product@0.2.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/vite-config-product","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/vite-config-product#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"vite-config-react","group":"@stealthscale","version":"0.9.0","bom-ref":"pkg:npm/%40stealthscale/vite-config-react@0.9.0","description":"Adds the JSX transform, the React lint rules, a test document and an MDX compiler to a package that renders.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/vite-config-react@0.9.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/vite-config-react","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/vite-config-react#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"vite-config-typescript","group":"@stealthscale","version":"0.3.0","bom-ref":"pkg:npm/%40stealthscale/vite-config-typescript@0.3.0","description":"Sets the TypeScript options every stealthscale package compiles with.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/vite-config-typescript@0.3.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/vite-config-typescript","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/vite-config-typescript#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"vite-config","group":"@stealthscale","version":"0.7.0","bom-ref":"pkg:npm/%40stealthscale/vite-config@0.7.0","description":"Configures a package from five Vite+ tiers and a named layer for every block.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/vite-config@0.7.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#packages/vite-config","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/packages/vite-config#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}]},{"type":"library","name":"react-form","group":"@tanstack","version":"1.33.5","bom-ref":"pkg:npm/%40tanstack/react-form@1.33.5","author":"tannerlinsley","description":"Powerful, type-safe forms for React.","hashes":[{"alg":"SHA-512","content":"2e5441dbca89c0efd0086687bd69db761e216818131626559b3036bb3c52052dd803bfc8aab43a1ce04aef40a4150f836df959ecd6b0b264a59f5de1e6221d4c"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40tanstack/react-form@1.33.5","externalReferences":[{"url":"git+https://github.com/TanStack/form.git#packages/react-form","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://tanstack.com/form","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"react-hotkeys","group":"@tanstack","version":"0.13.0","bom-ref":"pkg:npm/%40tanstack/react-hotkeys@0.13.0","author":"Tanner Linsley","description":"React adapter for TanStack Hotkeys","hashes":[{"alg":"SHA-512","content":"fa217b6d07b561e81b31afe62fb665e3dd0e5e34ae18b96ed883d877661cbdd788f0e7131df74434fad1364ecf925590d96008263095c4c5e243f522abc7f321"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40tanstack/react-hotkeys@0.13.0","externalReferences":[{"url":"git+https://github.com/TanStack/hotkeys.git#packages/react-hotkeys","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://tanstack.com/hotkeys","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=20"}]},{"type":"library","name":"react-query","group":"@tanstack","version":"5.104.1","bom-ref":"pkg:npm/%40tanstack/react-query@5.104.1","author":"tannerlinsley","description":"Hooks for managing, caching and syncing asynchronous and remote data in React","hashes":[{"alg":"SHA-512","content":"673ef41208da84d23b682cfc059c4cdef506538e32731100cccb825232de03b4958613a48376603e33c93ef1e3b3a466932fddb669eed56ce31873479a10a865"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40tanstack/react-query@5.104.1","externalReferences":[{"url":"git+https://github.com/TanStack/query.git#packages/react-query","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://tanstack.com/query","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"react-router-ssr-query","group":"@tanstack","version":"1.167.3","bom-ref":"pkg:npm/%40tanstack/react-router-ssr-query@1.167.3","author":"Tanner Linsley","description":"Modern and scalable routing for React applications","hashes":[{"alg":"SHA-512","content":"1c0d29c6e3ee854fabc287becf55dc6f2b6ea28e996dc44ea603603529b7f2cdff8462e68333812f30e0f95cb1e9ec76e908a59cf6d9fb96297ade662269bd6d"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40tanstack/react-router-ssr-query@1.167.3","externalReferences":[{"url":"git+https://github.com/TanStack/router.git#packages/react-router-ssr-query","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://tanstack.com/router","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=20.19"}]},{"type":"library","name":"react-router","group":"@tanstack","version":"1.170.41","bom-ref":"pkg:npm/%40tanstack/react-router@1.170.41","author":"Tanner Linsley","description":"Modern and scalable routing for React applications","hashes":[{"alg":"SHA-512","content":"329bf0f169b93060db4ea23c61cf5f94b2b16ce1f0a16a1cbf41f668629c830d9ad35ee82b99d95aa6bde783fe0eb531ffc7c8f7c60dcb09c73f95dc0f7b50f7"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40tanstack/react-router@1.170.41","externalReferences":[{"url":"git+https://github.com/TanStack/router.git#packages/react-router","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://tanstack.com/router","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=20.19"}]},{"type":"library","name":"react","group":"@testing-library","version":"16.3.3","bom-ref":"pkg:npm/%40testing-library/react@16.3.3","author":"Kent C. Dodds <me@kentcdodds.com> (https://kentcdodds.com)","description":"Simple and complete React DOM testing utilities that encourage good testing practices.","hashes":[{"alg":"SHA-512","content":"528d7ddcd8106cf333ea5aeb86d45040570c0ba45efc42cb15b6ee54bdf4583959c65a597fdfe53074c05713d12f0d6ad62bbd389991d5cd812e210d46cb5d06"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40testing-library/react@16.3.3","externalReferences":[{"url":"https://github.com/testing-library/react-testing-library/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs.url\""},{"url":"https://github.com/testing-library/react-testing-library","type":"vcs","comment":"as detected from PackageJson property \"repository.url\""},{"url":"https://github.com/testing-library/react-testing-library#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=18"}]},{"type":"library","name":"react-dom","group":"@types","version":"19.3.0","bom-ref":"pkg:npm/%40types/react-dom@19.3.0","description":"TypeScript definitions for react-dom","hashes":[{"alg":"SHA-512","content":"648edb538da66575ca1e7fea34b130d88adb888354ed7e7ebdf81d8b10479023696165e32a07d0fcffaec866f90a338b07d51c9d37a0debca542d5768729b8e1"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40types/react-dom@19.3.0","externalReferences":[{"url":"https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/react-dom","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"react","group":"@types","version":"19.3.0","bom-ref":"pkg:npm/%40types/react@19.3.0","description":"TypeScript definitions for react","hashes":[{"alg":"SHA-512","content":"374ac50ae1fd628c46f7f9bad65f4c7e924a7e62ce554d1e9bb8a9233e9346049292f45e2c1f6f2fce4607ecabf01b3995eaa9be0f7a252c05e194b5b38be242"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40types/react@19.3.0","externalReferences":[{"url":"https://github.com/DefinitelyTyped/DefinitelyTyped.git#types/react","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"coverage-v8","group":"@vitest","version":"5.0.3","bom-ref":"pkg:npm/%40vitest/coverage-v8@5.0.3","author":"Anthony Fu <anthonyfu117@hotmail.com>","description":"V8 coverage provider for Vitest","hashes":[{"alg":"SHA-512","content":"fa496ccb3ec1bd3d6f094dbc6647f39acd486bbf170f4578d54dc552d45a6b74bebceaff117bcad4ee81bd50fb9754731239ba48e351d9ac9b3af0c37fdbb499"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40vitest/coverage-v8@5.0.3","externalReferences":[{"url":"https://github.com/vitest-dev/vitest/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs.url\""},{"url":"git+https://github.com/vitest-dev/vitest.git#packages/coverage-v8","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://vitest.dev/guide/coverage","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"happy-dom","version":"20.14.5","bom-ref":"pkg:npm/happy-dom@20.14.5","author":"David Ortner","description":"Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. It includes many web standards from WHATWG DOM and HTML.","hashes":[{"alg":"SHA-512","content":"c7f47392958ee346d38c8a13df4890b6deb814b2e61ff89171408dd97fff6cbc7b1f789f91d7cf5f2aacae8fce62dab32008622cc300ee69a2391f42dcd38a8d"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/happy-dom@20.14.5","externalReferences":[{"url":"https://github.com/capricorn86/happy-dom","type":"vcs","comment":"as detected from PackageJson property \"repository\""},{"url":"https://github.com/capricorn86/happy-dom","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=20.0.0"}]},{"type":"library","name":"i18next","version":"26.4.2","bom-ref":"pkg:npm/i18next@26.4.2","author":"Jan Mühlemann <jan.muehlemann@gmail.com> (https://github.com/jamuhl)","description":"i18next internationalization framework","hashes":[{"alg":"SHA-512","content":"457f91d152e0d7721bbd1b894b19eaca45054bdbd065397cc18a563c22140d656b4868ec432c01e58fa98f3ae46e8c4602e61f259547d489c54dd801771ababa"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/i18next@26.4.2","externalReferences":[{"url":"https://github.com/i18next/i18next/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"https://github.com/i18next/i18next.git","type":"vcs","comment":"as detected from PackageJson property \"repository.url\""},{"url":"https://www.i18next.com","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"oxc-transform-react","version":"0.153.0","bom-ref":"pkg:npm/oxc-transform-react@0.153.0","author":"Boshen and oxc contributors","description":"Oxc React Compiler Node API","hashes":[{"alg":"SHA-512","content":"f69fc1088423d76cbc51b95edd6594c55799cbcf118ea394edc569d7c70b57b3d36cd6156963b2c42dbe27d83e11d0bdfc038a5f35ffcf597dd8d67daefbe055"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/oxc-transform-react@0.153.0","externalReferences":[{"url":"https://github.com/oxc-project/oxc/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/oxc-project/oxc.git#napi/transform-react","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://oxc.rs","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":"^20.19.0 || >=22.12.0"}]},{"type":"library","name":"react-dom","version":"19.3.0","bom-ref":"pkg:npm/react-dom@19.3.0","description":"React package for working with the DOM.","hashes":[{"alg":"SHA-512","content":"24393c76089fe753a31680c4ef4f8e4fd202c98afeebd1e59a284dc29d7e36c7db9dadede6c22209af59264b43990e3fd5bfeb9f6ea1200476b985c332be6bd1"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/react-dom@19.3.0","externalReferences":[{"url":"https://github.com/react/react/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs.url\""},{"url":"https://github.com/react/react.git#packages/react-dom","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://react.dev/","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"react-i18next","version":"17.0.16","bom-ref":"pkg:npm/react-i18next@17.0.16","author":"Jan Mühlemann <jan.muehlemann@gmail.com> (https://github.com/jamuhl)","description":"Internationalization for react done right. Using the i18next i18n ecosystem.","hashes":[{"alg":"SHA-512","content":"eee226543f611b9c9439a3f928756279dd71d00d34e038bf294d37d542d1df931afbd7bd1f919d9cd647810108072c80cfe2005c19110d379d355ce33d41fc64"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/react-i18next@17.0.16","externalReferences":[{"url":"https://github.com/i18next/react-i18next/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"https://github.com/i18next/react-i18next.git","type":"vcs","comment":"as detected from PackageJson property \"repository.url\""},{"url":"https://github.com/i18next/react-i18next","type":"website","comment":"as detected from PackageJson property \"homepage\""}]},{"type":"library","name":"react","version":"19.3.0","bom-ref":"pkg:npm/react@19.3.0","description":"React is a JavaScript library for building user interfaces.","hashes":[{"alg":"SHA-512","content":"13c2d471bb415addb46db9766281dfc7864305dc554df38ab42667f5c0d227897afe7ba8029729201723e3bb76c19a155fc836647b8c1db892860091d53e52a2"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/react@19.3.0","externalReferences":[{"url":"https://github.com/react/react/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"https://github.com/react/react.git#packages/react","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://react.dev/","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=0.10.0"}]},{"type":"library","name":"typescript","version":"7.0.2","bom-ref":"pkg:npm/typescript@7.0.2","author":"Microsoft Corp.","description":"TypeScript is a language for application scale JavaScript development","hashes":[{"alg":"SHA-512","content":"f0561abbdea8dcd28e85b8ca8bfa8dbc6fd6e63873c646dd9b9b23f406d9ff94f9b16aa7de12602df1b1dbbb11299593bf2cc23fc74b4414dfe6d05349155434"}],"licenses":[{"license":{"id":"Apache-2.0"}}],"purl":"pkg:npm/typescript@7.0.2","externalReferences":[{"url":"https://github.com/microsoft/TypeScript/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs.url\""},{"url":"https://github.com/microsoft/TypeScript.git","type":"vcs","comment":"as detected from PackageJson property \"repository.url\""},{"url":"https://www.typescriptlang.org/","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=16.20.0"}]},{"type":"library","name":"vitest","version":"5.0.3","bom-ref":"pkg:npm/vitest@5.0.3","author":"Anthony Fu <anthonyfu117@hotmail.com>","description":"Next generation testing framework powered by Vite","hashes":[{"alg":"SHA-512","content":"c4cc3ded2deb8ddb63e5d9156adee30aca96069bdc86cdd196941cb54ab0243d0a904464e34bf3d9f27bee50f05bf57387fa64d7c788b5803392876149eb378d"}],"licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/vitest@5.0.3","externalReferences":[{"url":"https://github.com/vitest-dev/vitest/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs.url\""},{"url":"git+https://github.com/vitest-dev/vitest.git#packages/vitest","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://vitest.dev","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":"^22.12.0 || ^24.0.0 || >=26.0.0"}]}]},"component":{"type":"library","name":"plugin-theming","group":"@stealthscale","version":"0.1.0","bom-ref":"pkg:npm/%40stealthscale/plugin-theming@0.1.0","description":"Renders the theming pages: what a theme is, every token, style and condition it fills with the values read from the stylesheet in both color modes, the gate's pairs measured live, and how a theme is written.","licenses":[{"license":{"id":"MIT"}}],"purl":"pkg:npm/%40stealthscale/plugin-theming@0.1.0","externalReferences":[{"url":"https://github.com/stealth-scale/scale/issues","type":"issue-tracker","comment":"as detected from PackageJson property \"bugs\""},{"url":"git+https://github.com/stealth-scale/scale.git#plugins/theming/web","type":"vcs","comment":"as detected from PackageJson property \"repository.url\" and \"repository.directory\""},{"url":"https://github.com/stealth-scale/scale/tree/main/plugins/theming/web#readme","type":"website","comment":"as detected from PackageJson property \"homepage\""}],"properties":[{"name":"cdx:npm:package:constraint:engine:node","value":">=26.0.0"}],"evidence":{"licenses":[{"license":{"name":"file: LICENSE","text":{"content":"TUlUIExpY2Vuc2UKCkNvcHlyaWdodCAoYykgMjAyNiBTdGVhbHRoIFNjYWxlIEIuVi4KClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwp0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCmNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwpmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsCmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgpJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKU09GVFdBUkUuCg==","contentType":"text/plain","encoding":"base64"}}}]}},"supplier":{"name":"Stealth Scale B.V.","url":["https://stealthscale.io"]}},"components":[],"dependencies":[{"ref":"pkg:npm/%40stealthscale/plugin-theming@0.1.0"}]}
@@ -0,0 +1,207 @@
1
+ import { i as multiplierOf, t as measured } from "./measure-uwF7Fmpy.js";
2
+ import { n as useWords, t as DocPage } from "./doc-page-BQXdbP_h.js";
3
+ import { c } from "react/compiler-runtime";
4
+ import { useEffect, useState } from "react";
5
+ import { Grid, Stack } from "@stealthscale/component-layout";
6
+ import { Heading, Text } from "@stealthscale/component-typography";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { Button } from "@stealthscale/component-actions";
9
+ import { Field } from "@stealthscale/component-forms";
10
+ //#region src/blocks/density-column.tsx
11
+ /**
12
+ * Renders a few controls at one density, with the multiplier the density sets and the height a
13
+ * button comes to.
14
+ */
15
+ /**
16
+ * Fixes the custom property the density attribute sets and every scaled step is multiplied by.
17
+ */
18
+ const DENSITY = "--density";
19
+ /**
20
+ * Renders the column under the density attribute, with what it measures once it renders.
21
+ *
22
+ * @remarks
23
+ * The multiplier is the `--density` property the attribute sets, read inside the button, and the
24
+ * height is the button's own box, so the column reports what the theme and the density make of
25
+ * the same button.
26
+ */
27
+ function DensityColumn(t0) {
28
+ const $ = c(30);
29
+ const { density } = t0;
30
+ const { t } = useWords();
31
+ const [button, setButton] = useState(null);
32
+ const [report, setReport] = useState("");
33
+ let t1;
34
+ let t2;
35
+ if ($[0] !== button || $[1] !== t) {
36
+ t1 = () => {
37
+ if (button === null) return;
38
+ const element = button;
39
+ (function read() {
40
+ setReport(t("blocks.dense", {
41
+ height: element.getBoundingClientRect().height.toFixed(1),
42
+ multiplier: multiplierOf(measured(element, [DENSITY]).get(DENSITY))
43
+ }));
44
+ })();
45
+ };
46
+ t2 = [button, t];
47
+ $[0] = button;
48
+ $[1] = t;
49
+ $[2] = t1;
50
+ $[3] = t2;
51
+ } else {
52
+ t1 = $[2];
53
+ t2 = $[3];
54
+ }
55
+ useEffect(t1, t2);
56
+ let t3;
57
+ if ($[4] !== density) {
58
+ t3 = density === "regular" ? {} : { "data-density": density };
59
+ $[4] = density;
60
+ $[5] = t3;
61
+ } else t3 = $[5];
62
+ const t4 = `blocks.${density}`;
63
+ let t5;
64
+ if ($[6] !== t || $[7] !== t4) {
65
+ t5 = t(t4);
66
+ $[6] = t;
67
+ $[7] = t4;
68
+ $[8] = t5;
69
+ } else t5 = $[8];
70
+ let t6;
71
+ if ($[9] !== t5) {
72
+ t6 = /* @__PURE__ */ jsx(Heading, {
73
+ as: "h3",
74
+ size: "xs",
75
+ children: t5
76
+ });
77
+ $[9] = t5;
78
+ $[10] = t6;
79
+ } else t6 = $[10];
80
+ let t7;
81
+ if ($[11] !== t) {
82
+ t7 = t("blocks.save");
83
+ $[11] = t;
84
+ $[12] = t7;
85
+ } else t7 = $[12];
86
+ let t8;
87
+ if ($[13] !== t7) {
88
+ t8 = /* @__PURE__ */ jsx(Button, {
89
+ ref: setButton,
90
+ children: t7
91
+ });
92
+ $[13] = t7;
93
+ $[14] = t8;
94
+ } else t8 = $[14];
95
+ let t9;
96
+ if ($[15] !== t) {
97
+ t9 = t("blocks.title");
98
+ $[15] = t;
99
+ $[16] = t9;
100
+ } else t9 = $[16];
101
+ let t10;
102
+ if ($[17] !== t9) {
103
+ t10 = /* @__PURE__ */ jsx(Field.Label, { children: t9 });
104
+ $[17] = t9;
105
+ $[18] = t10;
106
+ } else t10 = $[18];
107
+ let t11;
108
+ if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
109
+ t11 = /* @__PURE__ */ jsx(Field.Control, {});
110
+ $[19] = t11;
111
+ } else t11 = $[19];
112
+ let t12;
113
+ if ($[20] !== t10) {
114
+ t12 = /* @__PURE__ */ jsxs(Field.Root, { children: [t10, t11] });
115
+ $[20] = t10;
116
+ $[21] = t12;
117
+ } else t12 = $[21];
118
+ let t13;
119
+ if ($[22] !== report) {
120
+ t13 = /* @__PURE__ */ jsx(Text, {
121
+ size: "sm",
122
+ children: report
123
+ });
124
+ $[22] = report;
125
+ $[23] = t13;
126
+ } else t13 = $[23];
127
+ let t14;
128
+ if ($[24] !== t12 || $[25] !== t13 || $[26] !== t3 || $[27] !== t6 || $[28] !== t8) {
129
+ t14 = /* @__PURE__ */ jsxs(Stack, {
130
+ gap: "md",
131
+ ...t3,
132
+ children: [
133
+ t6,
134
+ t8,
135
+ t12,
136
+ t13
137
+ ]
138
+ });
139
+ $[24] = t12;
140
+ $[25] = t13;
141
+ $[26] = t3;
142
+ $[27] = t6;
143
+ $[28] = t8;
144
+ $[29] = t14;
145
+ } else t14 = $[29];
146
+ return t14;
147
+ }
148
+ //#endregion
149
+ //#region src/blocks/density-demo.tsx
150
+ /**
151
+ * Lists the densities from the tightest to the loosest.
152
+ */
153
+ const DENSITIES = [
154
+ "compact",
155
+ "regular",
156
+ "comfortable"
157
+ ];
158
+ /**
159
+ * Renders a column per density, which stack below their combined width.
160
+ */
161
+ function DensityDemo() {
162
+ const $ = c(1);
163
+ let t0;
164
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
165
+ t0 = /* @__PURE__ */ jsx(Grid.Root, {
166
+ columns: "fit-xs",
167
+ gap: "xl",
168
+ children: DENSITIES.map(_temp)
169
+ });
170
+ $[0] = t0;
171
+ } else t0 = $[0];
172
+ return t0;
173
+ }
174
+ function _temp(density) {
175
+ return /* @__PURE__ */ jsx(DensityColumn, { density }, density);
176
+ }
177
+ //#endregion
178
+ //#region src/pages/density.tsx
179
+ /**
180
+ * The page's sections, in reading order.
181
+ */
182
+ const SECTIONS = [
183
+ { id: "densities" },
184
+ {
185
+ block: /* @__PURE__ */ jsx(DensityDemo, {}),
186
+ id: "live"
187
+ },
188
+ { id: "dense" },
189
+ { id: "scale" }
190
+ ];
191
+ /**
192
+ * Renders the density page.
193
+ */
194
+ function DensityPage() {
195
+ const $ = c(1);
196
+ let t0;
197
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
198
+ t0 = /* @__PURE__ */ jsx(DocPage, {
199
+ page: "density",
200
+ sections: SECTIONS
201
+ });
202
+ $[0] = t0;
203
+ } else t0 = $[0];
204
+ return t0;
205
+ }
206
+ //#endregion
207
+ export { DensityPage };
@@ -0,0 +1,143 @@
1
+ import { n as useWords, t as DocPage } from "./doc-page-BQXdbP_h.js";
2
+ import { t as tokenRows } from "./rows-Dv8c7jye.js";
3
+ import { t as TokenTable } from "./token-table-yrZh5kLy.js";
4
+ import { t as ModePanels } from "./mode-panels-Bmh0ec0U.js";
5
+ import { t as sampler } from "./sampler-Ue67PX2n.js";
6
+ import { BLURS, OPACITIES, SHADOWS } from "@stealthscale/theme/contract";
7
+ import { c } from "react/compiler-runtime";
8
+ import { jsx } from "react/jsx-runtime";
9
+ //#region src/blocks/mode-tokens.tsx
10
+ /**
11
+ * Renders a token table in each mode's panel.
12
+ */
13
+ function ModeTokens(t0) {
14
+ const $ = c(4);
15
+ const { name, rows } = t0;
16
+ const { t } = useWords();
17
+ let t1;
18
+ if ($[0] !== name || $[1] !== rows || $[2] !== t) {
19
+ t1 = /* @__PURE__ */ jsx(ModePanels, { children: (mode) => /* @__PURE__ */ jsx(TokenTable, {
20
+ caption: t("blocks.inMode", {
21
+ mode: t(`blocks.${mode}Mode`),
22
+ name
23
+ }),
24
+ rows
25
+ }) });
26
+ $[0] = name;
27
+ $[1] = rows;
28
+ $[2] = t;
29
+ $[3] = t1;
30
+ } else t1 = $[3];
31
+ return t1;
32
+ }
33
+ //#endregion
34
+ //#region src/pages/depth.tsx
35
+ /**
36
+ * Renders a tile with a blur as strong as a blur radius.
37
+ */
38
+ const BLURRED = sampler("tile", "filter");
39
+ /**
40
+ * Lists the shadows, each on a tile it casts.
41
+ */
42
+ const HEIGHTS = tokenRows("shadows", SHADOWS, sampler("tile", "shadow"));
43
+ /**
44
+ * Lists the blur radii, each on a tile blurred by it.
45
+ */
46
+ const BLUR_ROWS = tokenRows("blurs", BLURS, (reference) => BLURRED(`blur(${reference})`));
47
+ /**
48
+ * Lists the opacities, each on a tile faded to it.
49
+ */
50
+ const OPACITY_ROWS = tokenRows("opacity", OPACITIES, sampler("tile", "opacity"));
51
+ /**
52
+ * Renders the depth page.
53
+ */
54
+ function DepthPage() {
55
+ const $ = c(18);
56
+ const { t } = useWords();
57
+ let t0;
58
+ if ($[0] !== t) {
59
+ t0 = t("depth.sections.heights.title");
60
+ $[0] = t;
61
+ $[1] = t0;
62
+ } else t0 = $[1];
63
+ let t1;
64
+ if ($[2] !== t0) {
65
+ t1 = {
66
+ block: /* @__PURE__ */ jsx(ModeTokens, {
67
+ name: t0,
68
+ rows: HEIGHTS
69
+ }),
70
+ id: "heights"
71
+ };
72
+ $[2] = t0;
73
+ $[3] = t1;
74
+ } else t1 = $[3];
75
+ let t2;
76
+ let t3;
77
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
78
+ t2 = { id: "rim" };
79
+ t3 = { id: "statement" };
80
+ $[4] = t2;
81
+ $[5] = t3;
82
+ } else {
83
+ t2 = $[4];
84
+ t3 = $[5];
85
+ }
86
+ let t4;
87
+ if ($[6] !== t) {
88
+ t4 = t("depth.sections.blurs.title");
89
+ $[6] = t;
90
+ $[7] = t4;
91
+ } else t4 = $[7];
92
+ let t5;
93
+ if ($[8] !== t4) {
94
+ t5 = {
95
+ block: /* @__PURE__ */ jsx(TokenTable, {
96
+ caption: t4,
97
+ lengths: true,
98
+ rows: BLUR_ROWS
99
+ }),
100
+ id: "blurs"
101
+ };
102
+ $[8] = t4;
103
+ $[9] = t5;
104
+ } else t5 = $[9];
105
+ let t6;
106
+ if ($[10] !== t) {
107
+ t6 = t("depth.sections.opacities.title");
108
+ $[10] = t;
109
+ $[11] = t6;
110
+ } else t6 = $[11];
111
+ let t7;
112
+ if ($[12] !== t6) {
113
+ t7 = {
114
+ block: /* @__PURE__ */ jsx(TokenTable, {
115
+ caption: t6,
116
+ rows: OPACITY_ROWS
117
+ }),
118
+ id: "opacities"
119
+ };
120
+ $[12] = t6;
121
+ $[13] = t7;
122
+ } else t7 = $[13];
123
+ let t8;
124
+ if ($[14] !== t1 || $[15] !== t5 || $[16] !== t7) {
125
+ t8 = /* @__PURE__ */ jsx(DocPage, {
126
+ page: "depth",
127
+ sections: [
128
+ t1,
129
+ t2,
130
+ t3,
131
+ t5,
132
+ t7
133
+ ]
134
+ });
135
+ $[14] = t1;
136
+ $[15] = t5;
137
+ $[16] = t7;
138
+ $[17] = t8;
139
+ } else t8 = $[17];
140
+ return t8;
141
+ }
142
+ //#endregion
143
+ export { DepthPage };