@veams/status-quo 1.2.0 → 1.3.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 (30) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +65 -2
  3. package/dist/config/status-quo-config.d.ts +21 -0
  4. package/dist/config/status-quo-config.js +48 -0
  5. package/dist/config/status-quo-config.js.map +1 -0
  6. package/dist/index.d.ts +7 -5
  7. package/dist/index.js +4 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/store/__tests__/observable-state-handler.spec.js +64 -5
  10. package/dist/store/__tests__/observable-state-handler.spec.js.map +1 -1
  11. package/dist/store/__tests__/signal-state-handler.spec.js +64 -5
  12. package/dist/store/__tests__/signal-state-handler.spec.js.map +1 -1
  13. package/dist/store/observable-state-handler.d.ts +5 -2
  14. package/dist/store/observable-state-handler.js +12 -21
  15. package/dist/store/observable-state-handler.js.map +1 -1
  16. package/dist/store/signal-state-handler.d.ts +3 -1
  17. package/dist/store/signal-state-handler.js +5 -14
  18. package/dist/store/signal-state-handler.js.map +1 -1
  19. package/docs/assets/{index-WFTLEHd3.css → index-BBmpszOW.css} +1 -1
  20. package/docs/assets/{index-Ci4A1zSh.js → index-Cf8El_RO.js} +19 -12
  21. package/docs/index.html +2 -2
  22. package/package.json +1 -1
  23. package/playground/src/App.tsx +24 -4
  24. package/playground/src/styles.css +0 -4
  25. package/src/config/status-quo-config.ts +76 -0
  26. package/src/index.ts +14 -4
  27. package/src/store/__tests__/observable-state-handler.spec.ts +92 -11
  28. package/src/store/__tests__/signal-state-handler.spec.ts +92 -11
  29. package/src/store/observable-state-handler.ts +19 -26
  30. package/src/store/signal-state-handler.ts +7 -16
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}:root{color-scheme:light;--bg: #f3f2ee;--bg-strong: #e6e1d8;--card: #ffffff;--ink: #1b1b1f;--muted: #5c5c66;--accent: #2f6bff;--accent-soft: #c9d8ff;--accent-2: #ff9f1c;--shadow: 0 18px 45px -30px rgba(0, 0, 0, .45);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--panel-dark: #0e1116;font-family:Space Grotesk,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 20% 20%,rgba(47,107,255,.18),transparent 55%),radial-gradient(circle at 80% 0%,rgba(255,159,28,.2),transparent 50%),linear-gradient(160deg,var(--bg),var(--bg-strong))}#root{min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:56px 28px 72px;display:flex;flex-direction:column;gap:40px}.brand-bar{display:inline-flex;align-items:center;gap:10px;font-weight:600;justify-content:center;width:100%}.brand-logo{width:260px;height:auto;display:block}.nav{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:10px 6px;width:100%}.nav-toggle{display:none;border:1px solid rgba(27,27,31,.18);background:#ffffffd9;color:var(--ink);border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow)}.nav-links{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:6px 12px;width:min(100%,980px);background:#ffffffb3;border-radius:999px;border:1px solid rgba(27,27,31,.1);box-shadow:var(--shadow)}.nav-links a{text-decoration:none;color:var(--ink);font-weight:500;padding:6px 12px;border-radius:999px;transition:background .2s ease,color .2s ease}.nav-links a:hover{background:#2f6bff1f;color:var(--accent)}.hero{display:grid;gap:16px;padding:32px 34px;background:#ffffffbf;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid rgba(27,27,31,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:fade-up .6s ease both}.hero.intro{gap:18px}h1{font-size:clamp(2rem,1.6vw + 1.4rem,2.8rem);line-height:1.15;margin:0}h2{margin:0;font-size:1.4rem}h3{margin:0 0 8px}p{margin:0;color:var(--muted);line-height:1.6}p span{font-family:monospace;font-weight:700;font-size:.9rem}.muted{color:var(--muted)}.eyebrow{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--muted);margin-bottom:10px}.subtext{max-width:600px}.hero .subtext{margin-top:12px}.hero .subtext+.subtext{margin-top:10px}.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.doc-section{display:grid;gap:18px;padding:28px;border-radius:var(--radius-md);background:#ffffffd9;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow)}.doc-copy{display:grid;gap:10px}.doc-snippets{display:grid;gap:12px}.singleton-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.singleton-card{background:#fff;border-radius:var(--radius-md);padding:22px;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);display:grid;gap:14px;align-content:start;height:100%}.singleton-count{font-size:2.4rem;font-weight:700;color:var(--ink);background:var(--bg-strong);border-radius:var(--radius-sm);padding:10px 16px;width:fit-content}.singleton-count.highlight{background:#2f6bff29;color:var(--accent)}.singleton-hint{font-size:.85rem;color:var(--muted)}.guide{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.api-flow{display:grid;gap:30px}.api-group{display:grid;gap:18px}.api-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.api-grid-single{grid-template-columns:1fr}.api-composition-card{padding:2px 0 18px;border-bottom:1px solid rgba(27,27,31,.16);display:grid;gap:10px;align-content:start}.api-composition-card h3{margin:0;font-size:1rem}.api-composition-punch{margin-top:8px;font-weight:600;color:var(--ink);background:linear-gradient(120deg,#2f6bff24,#ff9f1c24);border:1px solid rgba(47,107,255,.2);border-radius:var(--radius-sm);padding:10px 12px}.api-card{background:#fff;border-radius:var(--radius-sm);padding:18px;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);display:grid;gap:10px;align-content:start;height:100%}.api-card h3{margin:0;font-size:1rem}.api-card-wide{grid-column:1 / -1}.philosophy-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}.philosophy-card{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);overflow:hidden;display:grid;gap:16px;align-content:start;height:100%}.philosophy-card img{width:100%;height:190px;object-fit:cover;background:var(--panel-dark)}.philosophy-card div{padding:0 20px 22px;display:grid;gap:8px}.guide-card{background:#ffffffd9;border-radius:var(--radius-md);padding:22px;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);display:grid;gap:16px;align-content:start;height:100%}.guide-highlight{margin-top:4px;font-weight:600;color:var(--ink);background:linear-gradient(120deg,#2f6bff29,#ff9f1c29);border:1px solid rgba(47,107,255,.2);border-radius:var(--radius-sm);padding:10px 12px}.code-block.compact{font-size:.75rem;padding:12px 14px}.card{background:var(--card);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow);border:1px solid rgba(27,27,31,.08);display:flex;flex-direction:column;gap:20px;animation:fade-up .6s ease both;height:100%}.card:nth-child(2){animation-delay:.1s}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.count-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 14px;font-weight:600;font-size:1rem}.count-display{display:grid;gap:8px;padding:16px;border-radius:var(--radius-sm);background:linear-gradient(120deg,#2f6bff1a,#ff9f1c14)}.code-block{margin:0;padding:16px 18px;border-radius:var(--radius-sm);background:#12131a;color:#f0f2ff;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto;box-shadow:inset 0 0 0 1px #ffffff14}.code-block code{font-family:inherit}.count-label{font-size:.85rem;color:var(--muted)}.count-value{font-size:2.6rem;font-weight:700}.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.btn{border:1px solid rgba(27,27,31,.18);border-radius:999px;padding:10px 14px;font:inherit;background:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px -14px #1b1b1f66}.btn.primary{background:var(--accent);color:#fff;border-color:transparent}.btn.ghost{background:transparent;color:var(--ink)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.app{padding:40px 20px 60px}.nav{padding:0}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}.nav-links{display:none;width:100%;border-radius:var(--radius-md);padding:10px;gap:8px}.nav-links.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links a{text-align:center}.doc-section{padding:22px}.api-grid{grid-template-columns:1fr}.hero{padding:26px}.footer-card{flex-direction:column;align-items:flex-start}}
1
+ @import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}:root{color-scheme:light;--bg: #f3f2ee;--bg-strong: #e6e1d8;--card: #ffffff;--ink: #1b1b1f;--muted: #5c5c66;--accent: #2f6bff;--accent-soft: #c9d8ff;--accent-2: #ff9f1c;--shadow: 0 18px 45px -30px rgba(0, 0, 0, .45);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--panel-dark: #0e1116;font-family:Space Grotesk,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 20% 20%,rgba(47,107,255,.18),transparent 55%),radial-gradient(circle at 80% 0%,rgba(255,159,28,.2),transparent 50%),linear-gradient(160deg,var(--bg),var(--bg-strong))}#root{min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:56px 28px 72px;display:flex;flex-direction:column;gap:40px}.brand-bar{display:inline-flex;align-items:center;gap:10px;font-weight:600;justify-content:center;width:100%}.brand-logo{width:260px;height:auto;display:block}.nav{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:10px 6px;width:100%}.nav-toggle{display:none;border:1px solid rgba(27,27,31,.18);background:#ffffffd9;color:var(--ink);border-radius:999px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;box-shadow:var(--shadow)}.nav-links{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:6px 12px;width:min(100%,980px);background:#ffffffb3;border-radius:999px;border:1px solid rgba(27,27,31,.1);box-shadow:var(--shadow)}.nav-links a{text-decoration:none;color:var(--ink);font-weight:500;padding:6px 12px;border-radius:999px;transition:background .2s ease,color .2s ease}.nav-links a:hover{background:#2f6bff1f;color:var(--accent)}.hero{display:grid;gap:16px;padding:32px 34px;background:#ffffffbf;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid rgba(27,27,31,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:fade-up .6s ease both}.hero.intro{gap:18px}h1{font-size:clamp(2rem,1.6vw + 1.4rem,2.8rem);line-height:1.15;margin:0}h2{margin:0;font-size:1.4rem}h3{margin:0 0 8px}p{margin:0;color:var(--muted);line-height:1.6}p span{font-family:monospace;font-weight:700;font-size:.9rem}.muted{color:var(--muted)}.eyebrow{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--muted);margin-bottom:10px}.subtext{max-width:600px}.hero .subtext{margin-top:12px}.hero .subtext+.subtext{margin-top:10px}.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.doc-section{display:grid;gap:18px;padding:28px;border-radius:var(--radius-md);background:#ffffffd9;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow)}.doc-copy{display:grid;gap:10px}.doc-snippets{display:grid;gap:12px}.singleton-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.singleton-card{background:#fff;border-radius:var(--radius-md);padding:22px;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);display:grid;gap:14px;align-content:start;height:100%}.singleton-count{font-size:2.4rem;font-weight:700;color:var(--ink);background:var(--bg-strong);border-radius:var(--radius-sm);padding:10px 16px;width:fit-content}.singleton-count.highlight{background:#2f6bff29;color:var(--accent)}.singleton-hint{font-size:.85rem;color:var(--muted)}.guide{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}.api-flow{display:grid;gap:30px}.api-group{display:grid;gap:18px}.api-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.api-composition-card{padding:2px 0 18px;border-bottom:1px solid rgba(27,27,31,.16);display:grid;gap:10px;align-content:start}.api-composition-card h3{margin:0;font-size:1rem}.api-composition-punch{margin-top:8px;font-weight:600;color:var(--ink);background:linear-gradient(120deg,#2f6bff24,#ff9f1c24);border:1px solid rgba(47,107,255,.2);border-radius:var(--radius-sm);padding:10px 12px}.api-card{background:#fff;border-radius:var(--radius-sm);padding:18px;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);display:grid;gap:10px;align-content:start;height:100%}.api-card h3{margin:0;font-size:1rem}.api-card-wide{grid-column:1 / -1}.philosophy-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}.philosophy-card{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);overflow:hidden;display:grid;gap:16px;align-content:start;height:100%}.philosophy-card img{width:100%;height:190px;object-fit:cover;background:var(--panel-dark)}.philosophy-card div{padding:0 20px 22px;display:grid;gap:8px}.guide-card{background:#ffffffd9;border-radius:var(--radius-md);padding:22px;border:1px solid rgba(27,27,31,.08);box-shadow:var(--shadow);display:grid;gap:16px;align-content:start;height:100%}.guide-highlight{margin-top:4px;font-weight:600;color:var(--ink);background:linear-gradient(120deg,#2f6bff29,#ff9f1c29);border:1px solid rgba(47,107,255,.2);border-radius:var(--radius-sm);padding:10px 12px}.code-block.compact{font-size:.75rem;padding:12px 14px}.card{background:var(--card);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow);border:1px solid rgba(27,27,31,.08);display:flex;flex-direction:column;gap:20px;animation:fade-up .6s ease both;height:100%}.card:nth-child(2){animation-delay:.1s}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.count-chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 14px;font-weight:600;font-size:1rem}.count-display{display:grid;gap:8px;padding:16px;border-radius:var(--radius-sm);background:linear-gradient(120deg,#2f6bff1a,#ff9f1c14)}.code-block{margin:0;padding:16px 18px;border-radius:var(--radius-sm);background:#12131a;color:#f0f2ff;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto;box-shadow:inset 0 0 0 1px #ffffff14}.code-block code{font-family:inherit}.count-label{font-size:.85rem;color:var(--muted)}.count-value{font-size:2.6rem;font-weight:700}.actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.btn{border:1px solid rgba(27,27,31,.18);border-radius:999px;padding:10px 14px;font:inherit;background:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px -14px #1b1b1f66}.btn.primary{background:var(--accent);color:#fff;border-color:transparent}.btn.ghost{background:transparent;color:var(--ink)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 720px){.app{padding:40px 20px 60px}.nav{padding:0}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px}.nav-links{display:none;width:100%;border-radius:var(--radius-md);padding:10px;gap:8px}.nav-links.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-links a{text-align:center}.doc-section{padding:22px}.api-grid{grid-template-columns:1fr}.hero{padding:26px}.footer-card{flex-direction:column;align-items:flex-start}}