@origostudio/origo-design 0.0.37 → 0.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -2
- package/dist/packages/angular-renderer/CHANGELOG.md +21 -0
- package/dist/packages/angular-renderer/package.json +7 -6
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.d.ts +2 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js +11 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js.map +1 -1
- package/dist/packages/angular-renderer/src/components/primitives/breadcrumbs/breadcrumbs.component.js.map +1 -1
- package/dist/packages/angular-renderer/src/components/primitives/chip/chip.component.js.map +1 -1
- package/dist/packages/angular-renderer/src/components/primitives/switch/switch.component.js.map +1 -1
- package/dist/packages/angular-renderer/src/devtools/devtools-bridge.js +2 -0
- package/dist/packages/angular-renderer/src/devtools/devtools-bridge.js.map +1 -1
- package/dist/packages/angular-renderer/src/index.d.ts +1 -0
- package/dist/packages/angular-renderer/src/index.js +1 -0
- package/dist/packages/angular-renderer/src/index.js.map +1 -1
- package/dist/packages/angular-renderer/src/lib/primitives.provider.js +26 -20
- package/dist/packages/angular-renderer/src/lib/primitives.provider.js.map +1 -1
- package/dist/packages/cli/CHANGELOG.md +8 -0
- package/dist/packages/cli/package.json +2 -2
- package/dist/packages/cli/package.json.bak +2 -2
- package/dist/packages/core/CHANGELOG.md +14 -0
- package/dist/packages/core/package.json +2 -2
- package/dist/packages/core/package.json.bak +2 -2
- package/dist/packages/design-tokens/CHANGELOG.md +8 -0
- package/dist/packages/design-tokens/package.json +1 -1
- package/dist/packages/playground/browser/{chunk-iSLqhP12.js → chunk-B1z-uVFi.js} +1 -1
- package/dist/packages/playground/browser/{chunk-BxusNwwt.js → chunk-BGZXpmBQ.js} +1 -1
- package/dist/packages/playground/browser/{chunk-B0HlAWSR.js → chunk-ByrswSrM.js} +1 -1
- package/dist/packages/playground/browser/{chunk-rK1aqCb7.js → chunk-CFbPXTNr.js} +1 -1
- package/dist/packages/playground/browser/{chunk-Dd9ht4SU.js → chunk-CSecAR9q.js} +1 -1
- package/dist/packages/playground/browser/{chunk-BkTn1FbH.js → chunk-D-8Zr5zg.js} +1 -1
- package/dist/packages/playground/browser/{chunk-DbylCYBP.js → chunk-D2kcCG-o.js} +1 -1
- package/dist/packages/playground/browser/{chunk-zg5PqW0l.js → chunk-DQx5lQqG.js} +1 -1
- package/dist/packages/playground/browser/{chunk-DXxUFvGw.js → chunk-Dac2dp5T.js} +1 -1
- package/dist/packages/playground/browser/{chunk-CXHFI87Z.js → chunk-DiZkmwKl.js} +1 -1
- package/dist/packages/playground/browser/{chunk-BI1AmKI_.js → chunk-DwU-a89u.js} +1 -1
- package/dist/packages/playground/browser/{chunk-D2bm1B8y.js → chunk-JF8ksHJn.js} +1 -1
- package/dist/packages/playground/browser/{chunk-ZeGfaGFy.js → chunk-_TRKH8kG.js} +1 -1
- package/dist/packages/playground/browser/{chunk-DT7GQcHj.js → chunk-e5kB8V0v.js} +1 -1
- package/dist/packages/playground/browser/{chunk-94bHXqp1.js → chunk-zJLityDb.js} +1 -1
- package/dist/packages/playground/browser/index.html +1 -1
- package/dist/packages/playground/browser/main-33XWGVNC.js +731 -0
- package/eslint.config.js +2 -1
- package/generate_prompts.ps1 +10 -0
- package/package.json +3 -2
- package/packages/angular-renderer/CHANGELOG.md +21 -0
- package/packages/angular-renderer/package.json +7 -6
- package/packages/angular-renderer/playwright/.cache/assets/adapter-iYml3Kk6.js +121 -0
- package/packages/angular-renderer/playwright/.cache/assets/adapter-iYml3Kk6.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/breadcrumbs.component-DqZwZwH1.js +200 -0
- package/packages/angular-renderer/playwright/.cache/assets/breadcrumbs.component-DqZwZwH1.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/button.component-Dnc1mP3D.js +112 -0
- package/packages/angular-renderer/playwright/.cache/assets/button.component-Dnc1mP3D.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/card.component-0WWaDbUV.js +180 -0
- package/packages/angular-renderer/playwright/.cache/assets/card.component-0WWaDbUV.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/checkbox.component-JGpevUFG.js +150 -0
- package/packages/angular-renderer/playwright/.cache/assets/checkbox.component-JGpevUFG.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/chip.component-DHGk3h8k.js +121 -0
- package/packages/angular-renderer/playwright/.cache/assets/chip.component-DHGk3h8k.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/data-grid.component-DDZZ4enP.js +352 -0
- package/packages/angular-renderer/playwright/.cache/assets/data-grid.component-DDZZ4enP.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/experience-adapter.service-CJxHLpWN.js +38 -0
- package/packages/angular-renderer/playwright/.cache/assets/experience-adapter.service-CJxHLpWN.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/form-field.component-DZA0NfB7.js +184 -0
- package/packages/angular-renderer/playwright/.cache/assets/form-field.component-DZA0NfB7.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/hbox.component-D5YHn6Vu.js +125 -0
- package/packages/angular-renderer/playwright/.cache/assets/hbox.component-D5YHn6Vu.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/index-DRoHZv2r.js +92806 -0
- package/packages/angular-renderer/playwright/.cache/assets/index-DRoHZv2r.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/label.component-DDKtYvrS.js +105 -0
- package/packages/angular-renderer/playwright/.cache/assets/label.component-DDKtYvrS.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/list.component-DSP5wzI4.js +195 -0
- package/packages/angular-renderer/playwright/.cache/assets/list.component-DSP5wzI4.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/radio-group.component-BzVciXZu.js +171 -0
- package/packages/angular-renderer/playwright/.cache/assets/radio-group.component-BzVciXZu.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/select.component-BC_aoLNt.js +180 -0
- package/packages/angular-renderer/playwright/.cache/assets/select.component-BC_aoLNt.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/sidebar.component-CY_vKSCu.js +217 -0
- package/packages/angular-renderer/playwright/.cache/assets/sidebar.component-CY_vKSCu.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/switch.component-BtfhJxLp.js +144 -0
- package/packages/angular-renderer/playwright/.cache/assets/switch.component-BtfhJxLp.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/tabs.component-DGcKkhH_.js +218 -0
- package/packages/angular-renderer/playwright/.cache/assets/tabs.component-DGcKkhH_.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/text-input.component-IyHHKpW-.js +121 -0
- package/packages/angular-renderer/playwright/.cache/assets/text-input.component-IyHHKpW-.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/textarea.component-Bpvh81yV.js +141 -0
- package/packages/angular-renderer/playwright/.cache/assets/textarea.component-Bpvh81yV.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/assets/vbox.component-DRe59FUF.js +127 -0
- package/packages/angular-renderer/playwright/.cache/assets/vbox.component-DRe59FUF.js.map +1 -0
- package/packages/angular-renderer/playwright/.cache/index.html +11 -0
- package/packages/angular-renderer/playwright/.cache/metainfo.json +5416 -0
- package/packages/angular-renderer/playwright/index.html +11 -0
- package/packages/angular-renderer/playwright/index.ts +1 -0
- package/packages/angular-renderer/playwright-ct.config.ts +13 -3
- package/packages/angular-renderer/src/adapters/web/experience-adapter.service.ts +15 -1
- package/packages/angular-renderer/src/components/primitives/breadcrumbs/breadcrumbs.component.pw.ts +37 -0
- package/packages/angular-renderer/src/components/primitives/breadcrumbs/breadcrumbs.component.ts +0 -1
- package/packages/angular-renderer/src/components/primitives/button/button.component.pw.ts +17 -4
- package/packages/angular-renderer/src/components/primitives/card/card.component.pw.ts +32 -0
- package/packages/angular-renderer/src/components/primitives/checkbox/checkbox.component.pw.ts +38 -0
- package/packages/angular-renderer/src/components/primitives/chip/chip.component.pw.ts +56 -0
- package/packages/angular-renderer/src/components/primitives/chip/chip.component.ts +1 -1
- package/packages/angular-renderer/src/components/primitives/data-grid/data-grid.component.pw.ts +37 -0
- package/packages/angular-renderer/src/components/primitives/form-field/form-field.component.pw.ts +38 -0
- package/packages/angular-renderer/src/components/primitives/hbox/hbox.component.pw.ts +32 -0
- package/packages/angular-renderer/src/components/primitives/label/label.component.pw.ts +32 -0
- package/packages/angular-renderer/src/components/primitives/list/list.component.pw.ts +37 -0
- package/packages/angular-renderer/src/components/primitives/radio-group/radio-group.component.pw.ts +38 -0
- package/packages/angular-renderer/src/components/primitives/select/select.component.pw.ts +32 -0
- package/packages/angular-renderer/src/components/primitives/sidebar/sidebar.component.pw.ts +37 -0
- package/packages/angular-renderer/src/components/primitives/switch/switch.component.pw.ts +62 -0
- package/packages/angular-renderer/src/components/primitives/switch/switch.component.ts +1 -1
- package/packages/angular-renderer/src/components/primitives/tabs/tabs.component.pw.ts +37 -0
- package/packages/angular-renderer/src/components/primitives/text-input/text-input.component.pw.ts +16 -7
- package/packages/angular-renderer/src/components/primitives/textarea/textarea.component.pw.ts +38 -0
- package/packages/angular-renderer/src/components/primitives/vbox/vbox.component.pw.ts +17 -4
- package/packages/angular-renderer/src/devtools/devtools-bridge.ts +2 -0
- package/packages/angular-renderer/src/index.ts +1 -0
- package/packages/angular-renderer/src/lib/primitives.provider.ts +29 -21
- package/packages/cli/CHANGELOG.md +8 -0
- package/packages/cli/package.json +2 -2
- package/packages/core/CHANGELOG.md +14 -0
- package/packages/core/package.json +2 -2
- package/packages/design-tokens/CHANGELOG.md +8 -0
- package/packages/design-tokens/package.json +1 -1
- package/packages/devtools/CHANGELOG.md +8 -0
- package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/_metadata.json +3 -3
- package/packages/devtools/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/devtools/package.json +1 -1
- package/packages/playground/CHANGELOG.md +14 -0
- package/packages/playground/netlify.toml +6 -0
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/_metadata.json +3 -3
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/playground/package.json +3 -3
- package/packages/playground/src/app/app.config.ts +6 -1
- package/packages/playground/src/preview/preview-root.component.ts +173 -12
- package/dist/packages/playground/browser/main-BBGOLU74.js +0 -711
- package/packages/angular-renderer/src/components/primitives/primitives.a11y.pw.ts +0 -382
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { test, expect } from '@jscutlery/playwright-ct-angular';
|
|
2
|
+
import { TabsComponent, TabsProps } from './tabs.component';
|
|
3
|
+
import { InteractionContract } from '@origo/core';
|
|
4
|
+
import AxeBuilder from '@axe-core/playwright';
|
|
5
|
+
|
|
6
|
+
test.describe('TabsComponent Accessibility', () => {
|
|
7
|
+
test('should not have any automatically detectable accessibility issues', async ({
|
|
8
|
+
mount,
|
|
9
|
+
page,
|
|
10
|
+
}) => {
|
|
11
|
+
await mount(TabsComponent, {
|
|
12
|
+
props: {
|
|
13
|
+
contract: {
|
|
14
|
+
id: 'test-id',
|
|
15
|
+
type: 'tabs',
|
|
16
|
+
props: {
|
|
17
|
+
columns: [{ key: 'name', label: 'Name' }],
|
|
18
|
+
rows: [{ name: 'Test' }],
|
|
19
|
+
items: [{ label: 'Item 1', id: '1', href: '/' }],
|
|
20
|
+
tabs: [{ label: 'Tab 1', id: 'tab-1' }],
|
|
21
|
+
},
|
|
22
|
+
} as InteractionContract<TabsProps>,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
const accessibilityScanResults = await new AxeBuilder({ page })
|
|
27
|
+
.disableRules([
|
|
28
|
+
'document-title',
|
|
29
|
+
'html-has-lang',
|
|
30
|
+
'landmark-one-main',
|
|
31
|
+
'page-has-heading-one',
|
|
32
|
+
'region',
|
|
33
|
+
])
|
|
34
|
+
.analyze();
|
|
35
|
+
expect(accessibilityScanResults.violations).toEqual([]);
|
|
36
|
+
});
|
|
37
|
+
});
|
package/packages/angular-renderer/src/components/primitives/text-input/text-input.component.pw.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { test, expect } from '@playwright
|
|
1
|
+
import { test, expect } from '@jscutlery/playwright-ct-angular';
|
|
2
2
|
import { TextInputComponent, TextInputProps } from './text-input.component';
|
|
3
3
|
import { InteractionContract } from '@origo/core';
|
|
4
4
|
import AxeBuilder from '@axe-core/playwright';
|
|
@@ -11,19 +11,28 @@ test.describe('TextInputComponent Accessibility', () => {
|
|
|
11
11
|
await mount(TextInputComponent, {
|
|
12
12
|
props: {
|
|
13
13
|
contract: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'test-id',
|
|
15
15
|
type: 'textInput',
|
|
16
16
|
props: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
'aria-label': '
|
|
20
|
-
'
|
|
17
|
+
label: 'Test Label',
|
|
18
|
+
placeholder: 'Test',
|
|
19
|
+
'aria-label': 'Test',
|
|
20
|
+
options: [{ label: 'Option 1', value: '1' }],
|
|
21
|
+
items: [{ label: 'Item 1' }],
|
|
21
22
|
},
|
|
22
23
|
} as InteractionContract<TextInputProps>,
|
|
23
24
|
},
|
|
24
25
|
});
|
|
25
26
|
|
|
26
|
-
const accessibilityScanResults = await new AxeBuilder({ page })
|
|
27
|
+
const accessibilityScanResults = await new AxeBuilder({ page })
|
|
28
|
+
.disableRules([
|
|
29
|
+
'document-title',
|
|
30
|
+
'html-has-lang',
|
|
31
|
+
'landmark-one-main',
|
|
32
|
+
'page-has-heading-one',
|
|
33
|
+
'region',
|
|
34
|
+
])
|
|
35
|
+
.analyze();
|
|
27
36
|
expect(accessibilityScanResults.violations).toEqual([]);
|
|
28
37
|
});
|
|
29
38
|
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { test, expect } from '@jscutlery/playwright-ct-angular';
|
|
2
|
+
import { TextareaComponent, TextareaProps } from './textarea.component';
|
|
3
|
+
import { InteractionContract } from '@origo/core';
|
|
4
|
+
import AxeBuilder from '@axe-core/playwright';
|
|
5
|
+
|
|
6
|
+
test.describe('TextareaComponent Accessibility', () => {
|
|
7
|
+
test('should not have any automatically detectable accessibility issues', async ({
|
|
8
|
+
mount,
|
|
9
|
+
page,
|
|
10
|
+
}) => {
|
|
11
|
+
await mount(TextareaComponent, {
|
|
12
|
+
props: {
|
|
13
|
+
contract: {
|
|
14
|
+
id: 'test-id',
|
|
15
|
+
type: 'textarea',
|
|
16
|
+
props: {
|
|
17
|
+
label: 'Test Label',
|
|
18
|
+
placeholder: 'Test',
|
|
19
|
+
'aria-label': 'Test',
|
|
20
|
+
options: [{ label: 'Option 1', value: '1' }],
|
|
21
|
+
items: [{ label: 'Item 1' }],
|
|
22
|
+
},
|
|
23
|
+
} as InteractionContract<TextareaProps>,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const accessibilityScanResults = await new AxeBuilder({ page })
|
|
28
|
+
.disableRules([
|
|
29
|
+
'document-title',
|
|
30
|
+
'html-has-lang',
|
|
31
|
+
'landmark-one-main',
|
|
32
|
+
'page-has-heading-one',
|
|
33
|
+
'region',
|
|
34
|
+
])
|
|
35
|
+
.analyze();
|
|
36
|
+
expect(accessibilityScanResults.violations).toEqual([]);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { test, expect } from '@playwright
|
|
2
|
-
import { VBoxComponent } from './vbox.component';
|
|
1
|
+
import { test, expect } from '@jscutlery/playwright-ct-angular';
|
|
2
|
+
import { VBoxComponent, VBoxProps } from './vbox.component';
|
|
3
|
+
import { InteractionContract } from '@origo/core';
|
|
3
4
|
import AxeBuilder from '@axe-core/playwright';
|
|
4
5
|
|
|
5
6
|
test.describe('VBoxComponent Accessibility', () => {
|
|
@@ -9,11 +10,23 @@ test.describe('VBoxComponent Accessibility', () => {
|
|
|
9
10
|
}) => {
|
|
10
11
|
await mount(VBoxComponent, {
|
|
11
12
|
props: {
|
|
12
|
-
contract: {
|
|
13
|
+
contract: {
|
|
14
|
+
id: 'test-id',
|
|
15
|
+
type: 'vbox',
|
|
16
|
+
props: {},
|
|
17
|
+
} as InteractionContract<VBoxProps>,
|
|
13
18
|
},
|
|
14
19
|
});
|
|
15
20
|
|
|
16
|
-
const accessibilityScanResults = await new AxeBuilder({ page })
|
|
21
|
+
const accessibilityScanResults = await new AxeBuilder({ page })
|
|
22
|
+
.disableRules([
|
|
23
|
+
'document-title',
|
|
24
|
+
'html-has-lang',
|
|
25
|
+
'landmark-one-main',
|
|
26
|
+
'page-has-heading-one',
|
|
27
|
+
'region',
|
|
28
|
+
])
|
|
29
|
+
.analyze();
|
|
17
30
|
expect(accessibilityScanResults.violations).toEqual([]);
|
|
18
31
|
});
|
|
19
32
|
});
|
|
@@ -20,3 +20,4 @@ export * from './components/primitives/card/card.component';
|
|
|
20
20
|
export * from './components/primitives/sidebar/sidebar.component';
|
|
21
21
|
export * from './components/primitives/tabs/tabs.component';
|
|
22
22
|
export * from './components/primitives/breadcrumbs/breadcrumbs.component';
|
|
23
|
+
export * from './adapters/web/experience-adapter.service';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnvironmentProviders, makeEnvironmentProviders
|
|
1
|
+
import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';
|
|
2
2
|
import { RENDERER_REGISTRY } from './renderer.tokens';
|
|
3
3
|
import { SelectComponent } from '../components/primitives/select/select.component';
|
|
4
4
|
import { CheckboxComponent } from '../components/primitives/checkbox/checkbox.component';
|
|
@@ -15,30 +15,38 @@ import { TabsComponent } from '../components/primitives/tabs/tabs.component';
|
|
|
15
15
|
import { BreadcrumbsComponent } from '../components/primitives/breadcrumbs/breadcrumbs.component';
|
|
16
16
|
import { SwitchComponent } from '../components/primitives/switch/switch.component';
|
|
17
17
|
import { ChipComponent } from '../components/primitives/chip/chip.component';
|
|
18
|
+
import { TextInputComponent } from '../components/primitives/text-input/text-input.component';
|
|
19
|
+
import { ButtonComponent } from '../components/primitives/button/button.component';
|
|
20
|
+
import { VBoxComponent } from '../components/primitives/vbox/vbox.component';
|
|
21
|
+
|
|
18
22
|
export function provideOrigo9Primitives(): EnvironmentProviders {
|
|
23
|
+
const registryMap = new Map<string, unknown>([
|
|
24
|
+
['Select', SelectComponent],
|
|
25
|
+
['Checkbox', CheckboxComponent],
|
|
26
|
+
['RadioGroup', RadioGroupComponent],
|
|
27
|
+
['Textarea', TextareaComponent],
|
|
28
|
+
['HBox', HBoxComponent],
|
|
29
|
+
['Label', LabelComponent],
|
|
30
|
+
['FormField', FormFieldComponent],
|
|
31
|
+
['DataGrid', DataGridComponent],
|
|
32
|
+
['List', ListComponent],
|
|
33
|
+
['Card', CardComponent],
|
|
34
|
+
['Sidebar', SidebarComponent],
|
|
35
|
+
['Tabs', TabsComponent],
|
|
36
|
+
['Breadcrumbs', BreadcrumbsComponent],
|
|
37
|
+
['Navigation', SidebarComponent],
|
|
38
|
+
['Switch', SwitchComponent],
|
|
39
|
+
['Chip', ChipComponent],
|
|
40
|
+
['TextInput', TextInputComponent],
|
|
41
|
+
['Button', ButtonComponent],
|
|
42
|
+
['VBox', VBoxComponent],
|
|
43
|
+
['vbox', VBoxComponent], // For backward compatibility with 'vbox' in preview-root
|
|
44
|
+
]);
|
|
45
|
+
|
|
19
46
|
return makeEnvironmentProviders([
|
|
20
47
|
{
|
|
21
48
|
provide: RENDERER_REGISTRY,
|
|
22
|
-
|
|
23
|
-
m.set('Select', SelectComponent);
|
|
24
|
-
m.set('Checkbox', CheckboxComponent);
|
|
25
|
-
m.set('RadioGroup', RadioGroupComponent);
|
|
26
|
-
m.set('Textarea', TextareaComponent);
|
|
27
|
-
m.set('HBox', HBoxComponent);
|
|
28
|
-
m.set('Label', LabelComponent);
|
|
29
|
-
m.set('FormField', FormFieldComponent);
|
|
30
|
-
m.set('DataGrid', DataGridComponent);
|
|
31
|
-
m.set('List', ListComponent);
|
|
32
|
-
m.set('Card', CardComponent);
|
|
33
|
-
m.set('Sidebar', SidebarComponent);
|
|
34
|
-
m.set('Tabs', TabsComponent);
|
|
35
|
-
m.set('Breadcrumbs', BreadcrumbsComponent);
|
|
36
|
-
m.set('Navigation', SidebarComponent);
|
|
37
|
-
m.set('Switch', SwitchComponent);
|
|
38
|
-
m.set('Chip', ChipComponent);
|
|
39
|
-
return m;
|
|
40
|
-
},
|
|
41
|
-
deps: [RENDERER_REGISTRY],
|
|
49
|
+
useValue: registryMap,
|
|
42
50
|
},
|
|
43
51
|
]);
|
|
44
52
|
}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.0.39 (2026-09-29)
|
|
2
|
+
|
|
3
|
+
This was a version bump only for cli to align it with other projects, there were no code changes.
|
|
4
|
+
|
|
5
|
+
## 0.0.38 (2026-09-28)
|
|
6
|
+
|
|
7
|
+
This was a version bump only for cli to align it with other projects, there were no code changes.
|
|
8
|
+
|
|
1
9
|
## 0.0.37 (2026-09-24)
|
|
2
10
|
|
|
3
11
|
This was a version bump only for cli to align it with other projects, there were no code changes.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@origostudio/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.39",
|
|
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
|
-
"@origo/core": "0.0.
|
|
12
|
+
"@origo/core": "0.0.39",
|
|
13
13
|
"commander": "^15.0.0",
|
|
14
14
|
"tslib": "^2.3.0"
|
|
15
15
|
},
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 0.0.39 (2026-09-29)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- add GitHub Actions release workflow and package configurations for core and angular-renderer ([d80abc7](https://github.com/OrigoStudio/origo-design/commit/d80abc7))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Hardik Patel @hardikpatelse
|
|
10
|
+
|
|
11
|
+
## 0.0.38 (2026-09-28)
|
|
12
|
+
|
|
13
|
+
This was a version bump only for core to align it with other projects, there were no code changes.
|
|
14
|
+
|
|
1
15
|
## 0.0.37 (2026-09-24)
|
|
2
16
|
|
|
3
17
|
This was a version bump only for core to align it with other projects, there were no code changes.
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.0.39 (2026-09-29)
|
|
2
|
+
|
|
3
|
+
This was a version bump only for design-tokens to align it with other projects, there were no code changes.
|
|
4
|
+
|
|
5
|
+
## 0.0.38 (2026-09-28)
|
|
6
|
+
|
|
7
|
+
This was a version bump only for design-tokens to align it with other projects, there were no code changes.
|
|
8
|
+
|
|
1
9
|
## 0.0.37 (2026-09-24)
|
|
2
10
|
|
|
3
11
|
This was a version bump only for design-tokens to align it with other projects, there were no code changes.
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.0.39 (2026-09-29)
|
|
2
|
+
|
|
3
|
+
This was a version bump only for devtools to align it with other projects, there were no code changes.
|
|
4
|
+
|
|
5
|
+
## 0.0.38 (2026-09-28)
|
|
6
|
+
|
|
7
|
+
This was a version bump only for devtools to align it with other projects, there were no code changes.
|
|
8
|
+
|
|
1
9
|
## 0.0.37 (2026-09-24)
|
|
2
10
|
|
|
3
11
|
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":
|
|
1
|
+
{"version":"4.1.11","results":[[":src/devtools-panel/app.component.spec.ts",{"duration":180.89486299999953,"failed":false}]]}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 0.0.39 (2026-09-29)
|
|
2
|
+
|
|
3
|
+
This was a version bump only for playground to align it with other projects, there were no code changes.
|
|
4
|
+
|
|
5
|
+
## 0.0.38 (2026-09-28)
|
|
6
|
+
|
|
7
|
+
### 🚀 Features
|
|
8
|
+
|
|
9
|
+
- integrate Epic 9 primitives into playground application config and preview root component ([9775c0b](https://github.com/OrigoStudio/origo-design/commit/9775c0b))
|
|
10
|
+
|
|
11
|
+
### ❤️ Thank You
|
|
12
|
+
|
|
13
|
+
- Hardik Patel @hardikpatelse
|
|
14
|
+
|
|
1
15
|
## 0.0.37 (2026-09-24)
|
|
2
16
|
|
|
3
17
|
This was a version bump only for playground to align it with other projects, there were no code changes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"4.1.11","results":[[":src/workers/compiler.worker.spec.ts",{"duration":
|
|
1
|
+
{"version":"4.1.11","results":[[":src/workers/compiler.worker.spec.ts",{"duration":4081.863498999999,"failed":false}],[":src/editor/badl-editor.component.spec.ts",{"duration":512.2351859999981,"failed":false}],[":src/editor/schema-registry.spec.ts",{"duration":50.38799400000062,"failed":false}],[":src/preview/preview.service.spec.ts",{"duration":123.91644499999893,"failed":false}],[":src/preview/preview-pane.component.spec.ts",{"duration":240.91410800000085,"failed":false}],[":src/preview/preview-root.component.spec.ts",{"duration":178.30596200000218,"failed":false}],[":src/app/app.component.spec.ts",{"duration":193.94169600000168,"failed":false}]]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@origo/playground",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.39",
|
|
4
4
|
"private": true,
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@origo/core": "0.0.
|
|
7
|
-
"@origostudio/cli": "0.0.
|
|
6
|
+
"@origo/core": "0.0.39",
|
|
7
|
+
"@origostudio/cli": "0.0.39"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
10
|
"@angular/common": "^18.0.0",
|
|
@@ -3,7 +3,12 @@ import {
|
|
|
3
3
|
provideBrowserGlobalErrorListeners,
|
|
4
4
|
provideZonelessChangeDetection,
|
|
5
5
|
} from '@angular/core';
|
|
6
|
+
import { provideOrigo9Primitives } from '@origo/angular-renderer';
|
|
6
7
|
|
|
7
8
|
export const appConfig: ApplicationConfig = {
|
|
8
|
-
providers: [
|
|
9
|
+
providers: [
|
|
10
|
+
provideBrowserGlobalErrorListeners(),
|
|
11
|
+
provideZonelessChangeDetection(),
|
|
12
|
+
provideOrigo9Primitives(),
|
|
13
|
+
],
|
|
9
14
|
};
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import { Component, HostListener, signal, computed } from '@angular/core';
|
|
1
|
+
import { Component, HostListener, signal, computed, inject } from '@angular/core';
|
|
2
2
|
import { CanonicalAST, ASTNode } from '@origo/core';
|
|
3
|
-
import { CommonModule
|
|
4
|
-
import { OrigoRendererComponent } from '@origo/angular-renderer';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { OrigoRendererComponent, WebExperienceAdapterService } from '@origo/angular-renderer';
|
|
5
5
|
|
|
6
6
|
@Component({
|
|
7
7
|
selector: 'origo-root',
|
|
8
8
|
standalone: true,
|
|
9
|
-
imports: [CommonModule,
|
|
9
|
+
imports: [CommonModule, OrigoRendererComponent],
|
|
10
10
|
template: `
|
|
11
11
|
@if (ast(); as validAst) {
|
|
12
|
-
<div class="debug-ast">
|
|
13
|
-
<h3>Compiled AST (No UI Primitives Registered Yet)</h3>
|
|
14
|
-
<pre>{{ validAst | json }}</pre>
|
|
15
|
-
</div>
|
|
16
12
|
@if (uiNode(); as node) {
|
|
17
13
|
<origo-renderer [node]="node" />
|
|
18
14
|
}
|
|
@@ -24,14 +20,179 @@ import { OrigoRendererComponent } from '@origo/angular-renderer';
|
|
|
24
20
|
})
|
|
25
21
|
export class PreviewRootComponent {
|
|
26
22
|
public ast = signal<CanonicalAST | null>(null);
|
|
23
|
+
private experience = inject(WebExperienceAdapterService);
|
|
27
24
|
|
|
28
25
|
public uiNode = computed<ASTNode | null>(() => {
|
|
29
26
|
const data = this.ast();
|
|
30
|
-
if (!data) return null;
|
|
27
|
+
if (!data || !data.domains || data.domains.length === 0) return null;
|
|
28
|
+
|
|
29
|
+
const domain = data.domains[0];
|
|
30
|
+
const entities = domain.entities || [];
|
|
31
|
+
const fields = entities[0]?.fields || [];
|
|
32
|
+
|
|
33
|
+
const activeOutcome =
|
|
34
|
+
(this.experience.getState('main-sidebar', 'activeOutcome') as string) || 'home';
|
|
35
|
+
const activeTab = (this.experience.getState('tabs', 'activeTab') as string) || 'overview';
|
|
36
|
+
|
|
37
|
+
// Create a showcase UI AST that uses Epic 9 primitives to visualize the BADL Domain
|
|
31
38
|
return {
|
|
32
|
-
id: 'root-
|
|
33
|
-
type: '
|
|
34
|
-
|
|
39
|
+
id: 'root-hbox',
|
|
40
|
+
type: 'HBox',
|
|
41
|
+
props: { gap: '0', alignment: 'stretch' },
|
|
42
|
+
children: [
|
|
43
|
+
{
|
|
44
|
+
id: 'main-sidebar',
|
|
45
|
+
type: 'Sidebar',
|
|
46
|
+
props: {
|
|
47
|
+
'aria-label': 'Main Navigation',
|
|
48
|
+
activeOutcome: activeOutcome,
|
|
49
|
+
items: [
|
|
50
|
+
{ key: 'nav-1', label: domain.name || 'Domain', outcomeRef: 'home' },
|
|
51
|
+
{ key: 'nav-2', label: 'Entities', outcomeRef: 'entities' },
|
|
52
|
+
{ key: 'nav-3', label: 'Capabilities', outcomeRef: 'capabilities' },
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: 'content-vbox',
|
|
58
|
+
type: 'vbox',
|
|
59
|
+
props: { padding: '20px', gap: '20px', flex: 1 },
|
|
60
|
+
children: [
|
|
61
|
+
{
|
|
62
|
+
id: 'breadcrumbs',
|
|
63
|
+
type: 'Breadcrumbs',
|
|
64
|
+
props: {
|
|
65
|
+
items: [
|
|
66
|
+
{ label: 'Home', outcomeRef: 'home' },
|
|
67
|
+
{ label: domain.domain || 'Domain', outcomeRef: 'domain' },
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: 'tabs',
|
|
73
|
+
type: 'Tabs',
|
|
74
|
+
props: {
|
|
75
|
+
activeTab: activeTab,
|
|
76
|
+
tabs: [
|
|
77
|
+
{ key: 'overview', label: 'Overview' },
|
|
78
|
+
{ key: 'settings', label: 'Settings' },
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'entity-grid',
|
|
84
|
+
type: 'DataGrid',
|
|
85
|
+
props: {
|
|
86
|
+
'aria-label': 'Entities Grid',
|
|
87
|
+
columns: [
|
|
88
|
+
{ key: 'name', label: 'Name' },
|
|
89
|
+
{ key: 'type', label: 'Type' },
|
|
90
|
+
{ key: 'label', label: 'Label' },
|
|
91
|
+
],
|
|
92
|
+
rows: fields.map(f => ({ name: f.name, type: f.type, label: f.label || '-' })),
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
id: 'entity-card',
|
|
97
|
+
type: 'Card',
|
|
98
|
+
props: {
|
|
99
|
+
title: 'Domain Configuration',
|
|
100
|
+
subtitle: 'Manage core settings for this domain',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'form-vbox',
|
|
105
|
+
type: 'vbox',
|
|
106
|
+
props: { gap: '15px' },
|
|
107
|
+
children: [
|
|
108
|
+
{
|
|
109
|
+
id: 'form-hbox',
|
|
110
|
+
type: 'HBox',
|
|
111
|
+
props: { gap: '15px' },
|
|
112
|
+
children: [
|
|
113
|
+
{
|
|
114
|
+
id: 'ff-status',
|
|
115
|
+
type: 'FormField',
|
|
116
|
+
props: { label: 'Status' },
|
|
117
|
+
children: [{ id: 'switch-status', type: 'Switch', props: { checked: true } }],
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: 'ff-version',
|
|
121
|
+
type: 'FormField',
|
|
122
|
+
props: { label: 'Version' },
|
|
123
|
+
children: [
|
|
124
|
+
{
|
|
125
|
+
id: 'chip-version',
|
|
126
|
+
type: 'Chip',
|
|
127
|
+
props: { text: domain.version || '1.0' },
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: 'ff-desc',
|
|
135
|
+
type: 'FormField',
|
|
136
|
+
props: { label: 'Description' },
|
|
137
|
+
children: [
|
|
138
|
+
{
|
|
139
|
+
id: 'textarea-desc',
|
|
140
|
+
type: 'Textarea',
|
|
141
|
+
props: { placeholder: 'Enter description' },
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
id: 'ff-type',
|
|
147
|
+
type: 'FormField',
|
|
148
|
+
props: { label: 'Type' },
|
|
149
|
+
children: [
|
|
150
|
+
{
|
|
151
|
+
id: 'select-type',
|
|
152
|
+
type: 'Select',
|
|
153
|
+
props: {
|
|
154
|
+
options: [
|
|
155
|
+
{ value: 'core', label: 'Core' },
|
|
156
|
+
{ value: 'plugin', label: 'Plugin' },
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
id: 'ff-radio',
|
|
164
|
+
type: 'FormField',
|
|
165
|
+
props: { label: 'Environment' },
|
|
166
|
+
children: [
|
|
167
|
+
{
|
|
168
|
+
id: 'radio-env',
|
|
169
|
+
type: 'RadioGroup',
|
|
170
|
+
props: {
|
|
171
|
+
options: [
|
|
172
|
+
{ value: 'dev', label: 'Development' },
|
|
173
|
+
{ value: 'prod', label: 'Production' },
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: 'ff-check',
|
|
181
|
+
type: 'FormField',
|
|
182
|
+
props: { label: 'Enable Validation' },
|
|
183
|
+
children: [
|
|
184
|
+
{
|
|
185
|
+
id: 'check-val',
|
|
186
|
+
type: 'Checkbox',
|
|
187
|
+
props: { checked: true, label: 'Strict mode' },
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
],
|
|
35
196
|
};
|
|
36
197
|
});
|
|
37
198
|
|