@origostudio/origo-design 0.0.45 → 0.0.46

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 (54) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/packages/angular-renderer/CHANGELOG.md +4 -0
  3. package/dist/packages/angular-renderer/package.json +3 -3
  4. package/dist/packages/cli/CHANGELOG.md +4 -0
  5. package/dist/packages/cli/package.json +2 -2
  6. package/dist/packages/cli/package.json.bak +2 -2
  7. package/dist/packages/core/CHANGELOG.md +4 -0
  8. package/dist/packages/core/package.json +1 -1
  9. package/dist/packages/core/package.json.bak +1 -1
  10. package/dist/packages/design-tokens/CHANGELOG.md +4 -0
  11. package/dist/packages/design-tokens/package.json +1 -1
  12. package/dist/packages/playground/browser/{chunk-C1EqYExm.js → chunk-7aXhMYht.js} +1 -1
  13. package/dist/packages/playground/browser/{chunk-CsuFMRHG.js → chunk-Bnpjwr-7.js} +1 -1
  14. package/dist/packages/playground/browser/{chunk-B0_c7xqh.js → chunk-CoC5zYQK.js} +1 -1
  15. package/dist/packages/playground/browser/{chunk-fR5OwqOI.js → chunk-D8NS9RS7.js} +1 -1
  16. package/dist/packages/playground/browser/{chunk-DqmfZcww.js → chunk-D8xCSUn8.js} +1 -1
  17. package/dist/packages/playground/browser/{chunk-DJdnkmYP.js → chunk-DOh0X2ps.js} +1 -1
  18. package/dist/packages/playground/browser/{chunk-CmrWQpfr.js → chunk-DQXI3hQ7.js} +1 -1
  19. package/dist/packages/playground/browser/{chunk-DDQNtQxh.js → chunk-Ds2pJNq1.js} +1 -1
  20. package/dist/packages/playground/browser/{chunk-BEpltEcX.js → chunk-KjK48aB_.js} +1 -1
  21. package/dist/packages/playground/browser/{chunk-DLKcUUIA.js → chunk-M-QQ6mOa.js} +1 -1
  22. package/dist/packages/playground/browser/{chunk-CskrhlhW.js → chunk-NvAbwArG.js} +1 -1
  23. package/dist/packages/playground/browser/{chunk-BgBc9AYO.js → chunk-Vi7LKue9.js} +1 -1
  24. package/dist/packages/playground/browser/{chunk-CfGAqQ31.js → chunk-hQe37O_T.js} +1 -1
  25. package/dist/packages/playground/browser/{chunk-CRLsZrFp.js → chunk-iW-WwSbU.js} +1 -1
  26. package/dist/packages/playground/browser/{chunk-BFyrUInG.js → chunk-pi5vOCVu.js} +1 -1
  27. package/dist/packages/playground/browser/index.html +1 -1
  28. package/dist/packages/playground/browser/logo.png +0 -0
  29. package/dist/packages/playground/browser/main-HYTU6AQS.js +731 -0
  30. package/package.json +1 -1
  31. package/packages/angular-renderer/CHANGELOG.md +4 -0
  32. package/packages/angular-renderer/package.json +3 -3
  33. package/packages/cli/CHANGELOG.md +4 -0
  34. package/packages/cli/package.json +2 -2
  35. package/packages/core/CHANGELOG.md +4 -0
  36. package/packages/core/package.json +1 -1
  37. package/packages/design-tokens/CHANGELOG.md +4 -0
  38. package/packages/design-tokens/package.json +1 -1
  39. package/packages/devtools/CHANGELOG.md +4 -0
  40. package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  41. package/packages/devtools/package.json +3 -3
  42. package/packages/playground/CHANGELOG.md +10 -0
  43. package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  44. package/packages/playground/package.json +3 -3
  45. package/packages/playground/public/logo.png +0 -0
  46. package/packages/playground/src/app/app.component.html +7 -0
  47. package/packages/playground/src/app/app.component.scss +57 -2
  48. package/packages/playground/src/app/app.component.ts +2 -0
  49. package/packages/playground/src/app/app.config.ts +4 -0
  50. package/packages/playground/src/editor/badl-editor.component.scss +2 -2
  51. package/packages/playground/src/editor/badl-editor.component.ts +56 -7
  52. package/packages/playground/src/preview/preview-pane.component.html +1 -1
  53. package/packages/playground/src/preview/preview-pane.component.scss +8 -7
  54. package/dist/packages/playground/browser/main-MM56NCAI.js +0 -731
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origostudio/origo-design",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,3 +1,7 @@
1
+ ## 0.0.46 (2026-10-02)
2
+
3
+ This was a version bump only for angular-renderer to align it with other projects, there were no code changes.
4
+
1
5
  ## 0.0.45 (2026-10-02)
2
6
 
3
7
  This was a version bump only for angular-renderer to align it with other projects, there were no code changes.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@origostudio/angular-renderer",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "dependencies": {
9
- "@origostudio/core": "0.0.45",
10
- "@origostudio/design-tokens": "0.0.45",
9
+ "@origostudio/core": "0.0.46",
10
+ "@origostudio/design-tokens": "0.0.46",
11
11
  "tslib": "^2.3.0",
12
12
  "@analogjs/vite-plugin-angular": "^2.7.1",
13
13
  "zone.js": "^0.16.3",
@@ -1,3 +1,7 @@
1
+ ## 0.0.46 (2026-10-02)
2
+
3
+ This was a version bump only for cli to align it with other projects, there were no code changes.
4
+
1
5
  ## 0.0.45 (2026-10-02)
2
6
 
3
7
  ### 🚀 Features
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origostudio/cli",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -9,7 +9,7 @@
9
9
  "origo": "./src/main.js"
10
10
  },
11
11
  "dependencies": {
12
- "@origostudio/core": "0.0.45",
12
+ "@origostudio/core": "0.0.46",
13
13
  "commander": "^15.0.0",
14
14
  "tslib": "^2.3.0"
15
15
  },
@@ -1,3 +1,7 @@
1
+ ## 0.0.46 (2026-10-02)
2
+
3
+ This was a version bump only for core to align it with other projects, there were no code changes.
4
+
1
5
  ## 0.0.45 (2026-10-02)
2
6
 
3
7
  ### 🚀 Features
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origostudio/core",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -1,3 +1,7 @@
1
+ ## 0.0.46 (2026-10-02)
2
+
3
+ This was a version bump only for design-tokens to align it with other projects, there were no code changes.
4
+
1
5
  ## 0.0.45 (2026-10-02)
2
6
 
3
7
  This was a version bump only for design-tokens to align it with other projects, there were no code changes.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origostudio/design-tokens",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -1,3 +1,7 @@
1
+ ## 0.0.46 (2026-10-02)
2
+
3
+ This was a version bump only for devtools to align it with other projects, there were no code changes.
4
+
1
5
  ## 0.0.45 (2026-10-02)
2
6
 
3
7
  This was a version bump only for devtools to align it with other projects, there were no code changes.
@@ -1 +1 @@
1
- {"version":"4.1.11","results":[[":src/devtools-panel/app.component.spec.ts",{"duration":187.18244400000003,"failed":false}]]}
1
+ {"version":"4.1.11","results":[[":src/devtools-panel/app.component.spec.ts",{"duration":184.71850600000107,"failed":false}]]}
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@origostudio/devtools",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "type": "module",
5
5
  "dependencies": {
6
- "@origostudio/core": "0.0.45",
7
- "@origostudio/cli": "0.0.45",
6
+ "@origostudio/core": "0.0.46",
7
+ "@origostudio/cli": "0.0.46",
8
8
  "@angular/core": "18.1.0",
9
9
  "@angular/common": "18.1.0"
10
10
  },
@@ -1,3 +1,13 @@
1
+ ## 0.0.46 (2026-10-02)
2
+
3
+ ### 🚀 Features
4
+
5
+ - add playground application with editor, preview pane, and help links ([7113c55](https://github.com/OrigoStudio/origo-design/commit/7113c55))
6
+
7
+ ### ❤️ Thank You
8
+
9
+ - Hardik Patel @hardikpatelse
10
+
1
11
  ## 0.0.45 (2026-10-02)
2
12
 
3
13
  ### 🚀 Features
@@ -1 +1 @@
1
- {"version":"4.1.11","results":[[":src/preview/preview-root.component.spec.ts",{"duration":297.3056980000001,"failed":false}],[":src/workers/compiler.worker.spec.ts",{"duration":3459.714333,"failed":false}],[":src/editor/badl-editor.component.spec.ts",{"duration":423.45306699999855,"failed":false}],[":src/editor/schema-registry.spec.ts",{"duration":17.902663000000757,"failed":false}],[":src/preview/preview.service.spec.ts",{"duration":54.607191999999486,"failed":false}],[":src/preview/preview-pane.component.spec.ts",{"duration":214.2577139999994,"failed":false}],[":src/app/app.component.spec.ts",{"duration":153.67071700000088,"failed":false}]]}
1
+ {"version":"4.1.11","results":[[":src/preview/preview-root.component.spec.ts",{"duration":285.11165699999765,"failed":false}],[":src/workers/compiler.worker.spec.ts",{"duration":3506.677444000001,"failed":false}],[":src/editor/badl-editor.component.spec.ts",{"duration":239.81496600000173,"failed":false}],[":src/editor/schema-registry.spec.ts",{"duration":15.238445000002685,"failed":false}],[":src/preview/preview.service.spec.ts",{"duration":54.886765999999625,"failed":false}],[":src/app/app.component.spec.ts",{"duration":258.6450029999978,"failed":false}],[":src/preview/preview-pane.component.spec.ts",{"duration":180.8436389999988,"failed":false}]]}
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@origostudio/playground",
3
- "version": "0.0.45",
3
+ "version": "0.0.46",
4
4
  "private": true,
5
5
  "dependencies": {
6
- "@origostudio/core": "0.0.45",
7
- "@origostudio/cli": "0.0.45"
6
+ "@origostudio/core": "0.0.46",
7
+ "@origostudio/cli": "0.0.46"
8
8
  },
9
9
  "peerDependencies": {
10
10
  "@angular/common": "^18.0.0",
@@ -1,4 +1,11 @@
1
1
  <div class="playground-layout">
2
+ <header class="playground-header">
3
+ <div class="branding">
4
+ <img class="origo-icon" src="/logo.png" alt="Origo Logo" />
5
+ <h1>Origo Design Playground</h1>
6
+ </div>
7
+ <a class="help-link" [href]="docsUrl" target="_blank" rel="noopener noreferrer">📖 Docs</a>
8
+ </header>
2
9
  <div class="editor-pane">
3
10
  <origo-badl-editor
4
11
  [initialValue]="'{}'"
@@ -8,13 +8,13 @@
8
8
  .playground-layout {
9
9
  display: grid;
10
10
  grid-template-columns: 1fr;
11
- grid-template-rows: 1fr 1fr;
11
+ grid-template-rows: auto 1fr 1fr;
12
12
  height: 100%;
13
13
  width: 100%;
14
14
 
15
15
  @media (min-width: 768px) {
16
16
  grid-template-columns: 1fr 1fr;
17
- grid-template-rows: 1fr;
17
+ grid-template-rows: auto 1fr;
18
18
  }
19
19
  }
20
20
 
@@ -27,3 +27,58 @@
27
27
  min-width: 0;
28
28
  height: 100%;
29
29
  }
30
+
31
+ .playground-header {
32
+ grid-column: 1 / -1;
33
+ display: flex;
34
+ align-items: center;
35
+ justify-content: space-between;
36
+ padding: 0 1rem;
37
+ height: 3rem;
38
+ background: var(--origo-color-surface, #ffffff);
39
+ border-bottom: 1px solid var(--origo-color-border, #e0e0e0);
40
+
41
+ .branding {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: 0.5rem;
45
+
46
+ .origo-icon {
47
+ width: 32px;
48
+ height: 32px;
49
+ object-fit: contain;
50
+ }
51
+
52
+ h1 {
53
+ margin: 0;
54
+ font-size: 1.125rem;
55
+ font-weight: 600;
56
+ color: var(--origo-color-text, #333333);
57
+ }
58
+ }
59
+
60
+ a.help-link {
61
+ font-size: 0.875rem;
62
+ color: var(--origo-color-on-primary, #ffffff);
63
+ background-color: var(--origo-color-primary, #389bff);
64
+ padding: 0.375rem 0.75rem;
65
+ border-radius: 4px;
66
+ text-decoration: none;
67
+ font-weight: 500;
68
+ display: inline-flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ transition: background-color 0.2s ease;
72
+ border: 1px solid transparent;
73
+
74
+ &:hover {
75
+ background-color: var(--origo-color-primary-dark, #0c86ff);
76
+ text-decoration: none;
77
+ }
78
+
79
+ &:focus-visible {
80
+ outline: 2px solid var(--origo-color-primary, #0066cc);
81
+ outline-offset: 2px;
82
+ }
83
+ }
84
+ }
@@ -2,6 +2,7 @@ import { Component, inject } from '@angular/core';
2
2
  import { PreviewService } from '../preview/preview.service';
3
3
  import { BadlEditorComponent } from '../editor/badl-editor.component';
4
4
  import { PreviewPaneComponent } from '../preview/preview-pane.component';
5
+ import { ORIGO_DOCS_URL } from './app.config';
5
6
 
6
7
  @Component({
7
8
  standalone: true,
@@ -12,6 +13,7 @@ import { PreviewPaneComponent } from '../preview/preview-pane.component';
12
13
  })
13
14
  export class AppComponent {
14
15
  protected title = 'playground';
16
+ protected docsUrl = inject(ORIGO_DOCS_URL) + '/reference/schemas/';
15
17
  private previewService = inject(PreviewService);
16
18
 
17
19
  public onContentChange(content: string) {
@@ -1,14 +1,18 @@
1
1
  import {
2
2
  ApplicationConfig,
3
+ InjectionToken,
3
4
  provideBrowserGlobalErrorListeners,
4
5
  provideZonelessChangeDetection,
5
6
  } from '@angular/core';
6
7
  import { provideOrigo9Primitives } from '@origostudio/angular-renderer';
7
8
 
9
+ export const ORIGO_DOCS_URL = new InjectionToken<string>('ORIGO_DOCS_URL');
10
+
8
11
  export const appConfig: ApplicationConfig = {
9
12
  providers: [
10
13
  provideBrowserGlobalErrorListeners(),
11
14
  provideZonelessChangeDetection(),
12
15
  provideOrigo9Primitives(),
16
+ { provide: ORIGO_DOCS_URL, useValue: 'https://origo-design-docs.netlify.app' },
13
17
  ],
14
18
  };
@@ -6,7 +6,7 @@
6
6
  }
7
7
 
8
8
  .editor-header {
9
- padding: 12px 24px;
9
+ padding: 5px 24px;
10
10
  background: var(--origo-color-surface, #1e1e1e);
11
11
  border-bottom: 1px solid var(--origo-color-border-subtle, rgba(255, 255, 255, 0.1));
12
12
  display: flex;
@@ -15,7 +15,7 @@
15
15
 
16
16
  .editor-title {
17
17
  color: var(--origo-color-text-secondary, #cccccc);
18
- font-size: 0.9rem;
18
+ font-size: 0.75rem;
19
19
  font-weight: 600;
20
20
  letter-spacing: 0.05em;
21
21
  text-transform: uppercase;
@@ -80,12 +80,16 @@ export class BadlEditorComponent implements AfterViewInit, OnDestroy {
80
80
  console.warn('Could not restore playground draft, falling back to initialValue', e);
81
81
  }
82
82
 
83
+ const modelUri = monaco.Uri.parse('inmemory://model/domain.json');
84
+ let model = monaco.editor.getModel(modelUri);
85
+ if (model) {
86
+ model.setValue(savedState);
87
+ } else {
88
+ model = monaco.editor.createModel(savedState, 'json', modelUri);
89
+ }
90
+
83
91
  this.editor = monaco.editor.create(this.editorContainer.nativeElement, {
84
- model: monaco.editor.createModel(
85
- savedState,
86
- 'json',
87
- monaco.Uri.parse('inmemory://model/domain.json')
88
- ),
92
+ model: model,
89
93
  theme: this.theme(),
90
94
  readOnly: this.readOnly(),
91
95
  automaticLayout: true, // Required for split-pane resize in Story 7.2
@@ -191,6 +195,48 @@ export class BadlEditorComponent implements AfterViewInit, OnDestroy {
191
195
  ],
192
196
  },
193
197
  ],
198
+ capabilities: [
199
+ {
200
+ id: 'cap-create-user',
201
+ name: 'Create',
202
+ description: 'Create a new user in the system',
203
+ type: 'Command',
204
+ entityId: 'ent-user',
205
+ outcome_ref: [],
206
+ preconditions: ['User does not already exist'],
207
+ postconditions: ['User is saved to database'],
208
+ permissions: [
209
+ {
210
+ role: 'admin',
211
+ access: 'grant',
212
+ },
213
+ ],
214
+ risk_level: 'medium',
215
+ async: false,
216
+ },
217
+ {
218
+ id: 'cap-read-user',
219
+ name: 'Read',
220
+ description: 'Read user details by ID',
221
+ type: 'Query',
222
+ entityId: 'ent-user',
223
+ outcome_ref: [],
224
+ preconditions: [],
225
+ postconditions: [],
226
+ permissions: [
227
+ {
228
+ role: 'admin',
229
+ access: 'grant',
230
+ },
231
+ {
232
+ role: 'user',
233
+ access: 'grant',
234
+ },
235
+ ],
236
+ risk_level: 'low',
237
+ async: false,
238
+ },
239
+ ],
194
240
  };
195
241
 
196
242
  const formatted = JSON.stringify(sample, null, 2);
@@ -200,7 +246,10 @@ export class BadlEditorComponent implements AfterViewInit, OnDestroy {
200
246
  }
201
247
 
202
248
  ngOnDestroy(): void {
203
- this.editor?.dispose(); // CRITICAL — prevents Monaco timer memory leak
204
- this.editor = null;
249
+ if (this.editor) {
250
+ this.editor.getModel()?.dispose();
251
+ this.editor.dispose(); // CRITICAL — prevents Monaco timer memory leak
252
+ this.editor = null;
253
+ }
205
254
  }
206
255
  }
@@ -1,6 +1,6 @@
1
1
  <div class="preview-container">
2
2
  <div class="preview-header">
3
- <h2>Preview</h2>
3
+ <span class="preview-title">Preview</span>
4
4
  </div>
5
5
 
6
6
  <div class="iframe-wrapper">
@@ -14,26 +14,27 @@
14
14
  }
15
15
 
16
16
  .preview-header {
17
- padding: var(--origo-spacing-m, 16px) 24px;
17
+ padding: 13px 24px;
18
18
  background: rgba(255, 255, 255, 0.8);
19
19
  backdrop-filter: blur(8px);
20
20
  border-bottom: 1px solid var(--origo-color-border, #eaeaea);
21
21
  display: flex;
22
22
  align-items: center;
23
23
 
24
- h2 {
25
- margin: 0;
26
- font-size: 1.1rem;
24
+ .preview-title {
25
+ color: var(--origo-color-text-primary, #323232);
26
+ font-size: 0.75rem;
27
27
  font-weight: 600;
28
- letter-spacing: -0.01em;
29
- color: var(--origo-color-text, #111827);
28
+ letter-spacing: 0.05em;
29
+ text-transform: uppercase;
30
30
  }
31
31
  }
32
32
 
33
33
  .iframe-wrapper {
34
34
  flex: 1;
35
35
  position: relative;
36
- min-height: 0; /* Important for flex child to not overflow */
36
+ min-height: 0;
37
+ /* Important for flex child to not overflow */
37
38
  overflow: hidden;
38
39
 
39
40
  iframe {