@origostudio/origo-design 0.0.0 → 0.0.24
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 +10 -0
- package/dist/packages/angular-renderer/CHANGELOG.md +282 -0
- package/dist/packages/angular-renderer/README.md +11 -0
- package/dist/packages/angular-renderer/package.json +20 -0
- package/dist/packages/angular-renderer/src/adapters/web/adapter.d.ts +20 -0
- package/dist/packages/angular-renderer/src/adapters/web/adapter.js +140 -0
- package/dist/packages/angular-renderer/src/adapters/web/adapter.js.map +1 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.d.ts +4 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js +33 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js.map +1 -0
- package/dist/packages/angular-renderer/src/components/primitives/button/button.component.d.ts +26 -0
- package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js +63 -0
- package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.d.ts +30 -0
- package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.js +72 -0
- package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.d.ts +21 -0
- package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.js +76 -0
- package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/index.d.ts +7 -0
- package/dist/packages/angular-renderer/src/index.js +11 -0
- package/dist/packages/angular-renderer/src/index.js.map +1 -0
- package/dist/packages/angular-renderer/src/lib/renderer.component.d.ts +12 -0
- package/dist/packages/angular-renderer/src/lib/renderer.component.js +114 -0
- package/dist/packages/angular-renderer/src/lib/renderer.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/lib/renderer.tokens.d.ts +2 -0
- package/dist/packages/angular-renderer/src/lib/renderer.tokens.js +9 -0
- package/dist/packages/angular-renderer/src/lib/renderer.tokens.js.map +1 -0
- package/dist/packages/angular-renderer/src/lib/theme.provider.d.ts +13 -0
- package/dist/packages/angular-renderer/src/lib/theme.provider.js +77 -0
- package/dist/packages/angular-renderer/src/lib/theme.provider.js.map +1 -0
- package/dist/packages/cli/CHANGELOG.md +14 -0
- package/dist/packages/cli/package.json +4 -4
- package/dist/packages/cli/package.json.bak +4 -4
- package/dist/packages/core/CHANGELOG.md +8 -0
- package/dist/packages/core/package.json +1 -1
- package/dist/packages/core/package.json.bak +1 -1
- package/dist/packages/design-tokens/CHANGELOG.md +281 -0
- package/dist/packages/design-tokens/README.md +11 -0
- package/dist/packages/design-tokens/package.json +25 -0
- package/dist/packages/design-tokens/src/build.d.ts +2 -0
- package/dist/packages/design-tokens/src/build.js +89 -0
- package/dist/packages/design-tokens/src/build.js.map +1 -0
- package/dist/packages/design-tokens/src/compile.d.ts +1 -0
- package/dist/packages/design-tokens/src/compile.js +51 -0
- package/dist/packages/design-tokens/src/compile.js.map +1 -0
- package/dist/packages/design-tokens/src/index.d.ts +6 -0
- package/dist/packages/design-tokens/src/index.js +14 -0
- package/dist/packages/design-tokens/src/index.js.map +1 -0
- package/dist/packages/design-tokens/src/runtime/index.d.ts +2 -0
- package/dist/packages/design-tokens/src/runtime/index.js +6 -0
- package/dist/packages/design-tokens/src/runtime/index.js.map +1 -0
- package/dist/packages/design-tokens/src/runtime/theme-fetcher.d.ts +19 -0
- package/dist/packages/design-tokens/src/runtime/theme-fetcher.js +87 -0
- package/dist/packages/design-tokens/src/runtime/theme-fetcher.js.map +1 -0
- package/dist/packages/design-tokens/src/runtime/theme-injector.d.ts +11 -0
- package/dist/packages/design-tokens/src/runtime/theme-injector.js +131 -0
- package/dist/packages/design-tokens/src/runtime/theme-injector.js.map +1 -0
- package/dist/packages/design-tokens/src/schemas/base-tokens.schema.json +127 -0
- package/dist/packages/design-tokens/src/schemas/semantic-tokens.schema.json +52 -0
- package/dist/packages/design-tokens/src/tokens/base.json +46 -0
- package/dist/packages/design-tokens/src/tokens/semantic.json +33 -0
- package/dist/packages/design-tokens/tokens.css +1 -0
- package/dist/packages/design-tokens/tokens.d.ts +2 -0
- package/dist/packages/design-tokens/tokens.js +15 -0
- package/dist/packages/design-tokens/tokens.json +15 -0
- package/dist/packages/playground/browser/chunk--ZIwbUVH.js +2 -0
- package/dist/packages/playground/browser/chunk-0Jq1XgT-.js +1 -0
- package/dist/packages/playground/browser/chunk-1uGHBWUl.js +2 -0
- package/dist/packages/playground/browser/chunk-1vJMDD28.js +1 -0
- package/dist/packages/playground/browser/chunk-2TRTBDNJ.css +1 -0
- package/dist/packages/playground/browser/chunk-2ZxrbTaV.js +2 -0
- package/dist/packages/playground/browser/chunk-5S3Ucu1S.js +1 -0
- package/dist/packages/playground/browser/chunk-5xxumr1i.js +1 -0
- package/dist/packages/playground/browser/chunk-BBrBwFOI.js +2 -0
- package/dist/packages/playground/browser/chunk-BEZqMFun.js +1 -0
- package/dist/packages/playground/browser/chunk-BFTF7KVs.js +2 -0
- package/dist/packages/playground/browser/chunk-BFpktVlP.js +2 -0
- package/dist/packages/playground/browser/chunk-BGi1R-SY.js +2 -0
- package/dist/packages/playground/browser/chunk-BIdEsw7t.js +1 -0
- package/dist/packages/playground/browser/chunk-BIsevC4o.js +11 -0
- package/dist/packages/playground/browser/chunk-BJJI5OBC.js +1 -0
- package/dist/packages/playground/browser/chunk-BMMWqLA2.js +11 -0
- package/dist/packages/playground/browser/chunk-BNmq5gH8.js +2 -0
- package/dist/packages/playground/browser/chunk-BSUcqh0e.js +2 -0
- package/dist/packages/playground/browser/chunk-BUAY-bBJ.js +1 -0
- package/dist/packages/playground/browser/chunk-BY0EamUN.js +1 -0
- package/dist/packages/playground/browser/chunk-BZXiyyqI.js +1 -0
- package/dist/packages/playground/browser/chunk-BdS5C-M6.js +1 -0
- package/dist/packages/playground/browser/chunk-Bel35N-r.js +2 -0
- package/dist/packages/playground/browser/chunk-BkTdbZxu.js +2 -0
- package/dist/packages/playground/browser/chunk-BmW8ut-l.js +1 -0
- package/dist/packages/playground/browser/chunk-BpPwZMYf.js +3 -0
- package/dist/packages/playground/browser/chunk-BsdU_5PG.js +1 -0
- package/dist/packages/playground/browser/chunk-BvXhI91k.js +1 -0
- package/dist/packages/playground/browser/chunk-BzHgR45y.js +2 -0
- package/dist/packages/playground/browser/chunk-BzgTGdjm.js +2 -0
- package/dist/packages/playground/browser/chunk-BzrJLr3a.js +2 -0
- package/dist/packages/playground/browser/chunk-C-NXORcv.js +1 -0
- package/dist/packages/playground/browser/chunk-C34sJvtc.js +2 -0
- package/dist/packages/playground/browser/chunk-C6xrdnvb.js +3 -0
- package/dist/packages/playground/browser/chunk-CAL7uT4C.js +2 -0
- package/dist/packages/playground/browser/chunk-CCox_Mu7.js +2 -0
- package/dist/packages/playground/browser/chunk-CHh1yOT3.js +4 -0
- package/dist/packages/playground/browser/chunk-CIQb4Ujf.js +3 -0
- package/dist/packages/playground/browser/chunk-CJnVxlgo.js +2 -0
- package/dist/packages/playground/browser/chunk-CKSXClbP.js +2 -0
- package/dist/packages/playground/browser/chunk-COud3SuE.js +2 -0
- package/dist/packages/playground/browser/chunk-CTbwb8L3.js +1 -0
- package/dist/packages/playground/browser/chunk-CVYmfeCG.js +2 -0
- package/dist/packages/playground/browser/chunk-CYWkyKkM.js +1 -0
- package/dist/packages/playground/browser/chunk-C_O66ZGh.js +1 -0
- package/dist/packages/playground/browser/chunk-ChenIXuo.js +2 -0
- package/dist/packages/playground/browser/chunk-Ckan68bh.js +1 -0
- package/dist/packages/playground/browser/chunk-CmNHsah5.js +1 -0
- package/dist/packages/playground/browser/chunk-CoZGn1Ke.js +1 -0
- package/dist/packages/playground/browser/chunk-Cyn20TR6.js +2 -0
- package/dist/packages/playground/browser/chunk-CzUkWye9.js +4 -0
- package/dist/packages/playground/browser/chunk-D17ySaZ8.js +2 -0
- package/dist/packages/playground/browser/chunk-D20p_ekH.js +2 -0
- package/dist/packages/playground/browser/chunk-D2lQJK03.js +2 -0
- package/dist/packages/playground/browser/chunk-D33JCpxV.js +2 -0
- package/dist/packages/playground/browser/chunk-DAmUeszn.js +1 -0
- package/dist/packages/playground/browser/chunk-DCp-nKTE.js +1 -0
- package/dist/packages/playground/browser/chunk-DDa2v189.js +1 -0
- package/dist/packages/playground/browser/chunk-DJi8XLUL.js +2 -0
- package/dist/packages/playground/browser/chunk-DNgZhwHt.js +2 -0
- package/dist/packages/playground/browser/chunk-DP4tO_m1.js +1 -0
- package/dist/packages/playground/browser/chunk-DQqEr5vX.js +1 -0
- package/dist/packages/playground/browser/chunk-DR7_0I-7.js +2 -0
- package/dist/packages/playground/browser/chunk-DWHFrUs5.js +2 -0
- package/dist/packages/playground/browser/chunk-DY4bY_Qa.js +2 -0
- package/dist/packages/playground/browser/chunk-DcWKTj51.js +1 -0
- package/dist/packages/playground/browser/chunk-Di17h8ti.js +1 -0
- package/dist/packages/playground/browser/chunk-Dim3RQJ1.js +2 -0
- package/dist/packages/playground/browser/chunk-DjcWDyIz.js +1 -0
- package/dist/packages/playground/browser/chunk-Dn5tZnjV.js +2 -0
- package/dist/packages/playground/browser/chunk-DoJEePI9.js +1 -0
- package/dist/packages/playground/browser/chunk-DogLDWZF.js +1 -0
- package/dist/packages/playground/browser/chunk-DqKmoBbd.js +2 -0
- package/dist/packages/playground/browser/chunk-DtJkNtkO.js +2 -0
- package/dist/packages/playground/browser/chunk-Du5eaEhO.js +1 -0
- package/dist/packages/playground/browser/chunk-DyBKnzx2.js +1 -0
- package/dist/packages/playground/browser/chunk-FQyDviof.js +2 -0
- package/dist/packages/playground/browser/chunk-IVtlz9Ng.js +2 -0
- package/dist/packages/playground/browser/chunk-RHAdGSf7.js +299 -0
- package/dist/packages/playground/browser/chunk-W7F2YCZ3.js +2 -0
- package/dist/packages/playground/browser/chunk-_46Kkn0W.js +2 -0
- package/dist/packages/playground/browser/chunk-gcokgbu8.js +2 -0
- package/dist/packages/playground/browser/chunk-kRrEPa7L.js +1 -0
- package/dist/packages/playground/browser/chunk-tvAnzeAI.js +1 -0
- package/dist/packages/playground/browser/chunk-zpnfat_1.js +2 -0
- package/dist/packages/playground/browser/favicon.ico +0 -0
- package/dist/packages/playground/browser/index.html +13 -0
- package/dist/packages/playground/browser/main-QW47GU6W.css +1 -0
- package/dist/packages/playground/browser/main-YL46L42N.js +711 -0
- package/dist/packages/playground/browser/media/codicon-37A3DWZT.ttf +0 -0
- package/dist/packages/playground/browser/styles-WT2FEGU3.css +1 -0
- package/dist/packages/playground/browser/worker-DK2HODYL.js +46 -0
- package/dist/packages/playground/browser/worker-HDML6OSX.js +14 -0
- package/dist/packages/playground/prerendered-routes.json +3 -0
- package/nx.json +1 -1
- package/package.json +4 -1
- package/packages/angular-renderer/CHANGELOG.md +8 -0
- package/packages/angular-renderer/package.json +3 -3
- package/packages/cli/CHANGELOG.md +14 -0
- package/packages/cli/package.json +4 -4
- package/packages/core/CHANGELOG.md +8 -0
- package/packages/core/package.json +1 -1
- package/packages/design-tokens/CHANGELOG.md +8 -0
- package/packages/design-tokens/package.json +1 -1
- package/packages/playground/CHANGELOG.md +8 -0
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/_metadata.json +8 -0
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/package.json +3 -0
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/playground/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InteractionContract } from '@origo/core';
|
|
2
|
+
import { OrigoAdapter } from '../../../adapters/web/adapter';
|
|
3
|
+
export interface TextInputProps {
|
|
4
|
+
value?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
readonly?: boolean;
|
|
8
|
+
'aria-label'?: string;
|
|
9
|
+
'aria-describedby'?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class TextInputComponent implements OrigoAdapter<TextInputProps> {
|
|
12
|
+
static readonly contractSchema: {
|
|
13
|
+
value: string;
|
|
14
|
+
placeholder: string;
|
|
15
|
+
disabled: string;
|
|
16
|
+
readonly: string;
|
|
17
|
+
};
|
|
18
|
+
static readonly strictContract = false;
|
|
19
|
+
contract: import("@angular/core").InputSignal<InteractionContract<TextInputProps>>;
|
|
20
|
+
value: import("@angular/core").ModelSignal<string>;
|
|
21
|
+
computedPlaceholder: import("@angular/core").Signal<string>;
|
|
22
|
+
computedDisabled: import("@angular/core").Signal<boolean>;
|
|
23
|
+
computedReadonly: import("@angular/core").Signal<boolean>;
|
|
24
|
+
computedAriaLabel: import("@angular/core").Signal<string | undefined>;
|
|
25
|
+
computedAriaDescribedBy: import("@angular/core").Signal<string | undefined>;
|
|
26
|
+
private experienceAdapter;
|
|
27
|
+
private sanitizer;
|
|
28
|
+
constructor();
|
|
29
|
+
onInput(event: Event): void;
|
|
30
|
+
}
|
package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextInputComponent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@angular/core");
|
|
6
|
+
const platform_browser_1 = require("@angular/platform-browser");
|
|
7
|
+
const experience_adapter_service_1 = require("../../../adapters/web/experience-adapter.service");
|
|
8
|
+
let TextInputComponent = (() => {
|
|
9
|
+
let _classDecorators = [(0, core_1.Component)({
|
|
10
|
+
selector: 'origo-text-input',
|
|
11
|
+
standalone: true,
|
|
12
|
+
templateUrl: './text-input.component.html',
|
|
13
|
+
styleUrls: ['./text-input.component.scss'],
|
|
14
|
+
changeDetection: core_1.ChangeDetectionStrategy.OnPush,
|
|
15
|
+
encapsulation: core_1.ViewEncapsulation.ShadowDom,
|
|
16
|
+
host: {
|
|
17
|
+
'[class.origo-text-input]': 'true',
|
|
18
|
+
},
|
|
19
|
+
})];
|
|
20
|
+
let _classDescriptor;
|
|
21
|
+
let _classExtraInitializers = [];
|
|
22
|
+
let _classThis;
|
|
23
|
+
var TextInputComponent = class {
|
|
24
|
+
static { _classThis = this; }
|
|
25
|
+
static {
|
|
26
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
27
|
+
tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
28
|
+
TextInputComponent = _classThis = _classDescriptor.value;
|
|
29
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
30
|
+
}
|
|
31
|
+
static contractSchema = {
|
|
32
|
+
value: 'string',
|
|
33
|
+
placeholder: 'string',
|
|
34
|
+
disabled: 'boolean',
|
|
35
|
+
readonly: 'boolean',
|
|
36
|
+
};
|
|
37
|
+
static strictContract = false;
|
|
38
|
+
contract = core_1.input.required();
|
|
39
|
+
value = (0, core_1.model)('');
|
|
40
|
+
computedPlaceholder = (0, core_1.computed)(() => this.contract().props?.placeholder ?? '');
|
|
41
|
+
computedDisabled = (0, core_1.computed)(() => !!this.contract().props?.disabled);
|
|
42
|
+
computedReadonly = (0, core_1.computed)(() => !!this.contract().props?.readonly);
|
|
43
|
+
computedAriaLabel = (0, core_1.computed)(() => this.contract().props?.['aria-label']);
|
|
44
|
+
computedAriaDescribedBy = (0, core_1.computed)(() => this.contract().props?.['aria-describedby']);
|
|
45
|
+
experienceAdapter = (0, core_1.inject)(experience_adapter_service_1.WebExperienceAdapterService);
|
|
46
|
+
sanitizer = (0, core_1.inject)(platform_browser_1.DomSanitizer);
|
|
47
|
+
constructor() {
|
|
48
|
+
(0, core_1.effect)(() => {
|
|
49
|
+
const contractVal = this.contract().props?.value;
|
|
50
|
+
(0, core_1.untracked)(() => this.value.set(contractVal !== undefined && contractVal !== null ? String(contractVal) : ''));
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
onInput(event) {
|
|
54
|
+
const target = event.target;
|
|
55
|
+
if (!target)
|
|
56
|
+
return;
|
|
57
|
+
const rawValue = target.value;
|
|
58
|
+
const sanitizedValue = this.sanitizer.sanitize(core_1.SecurityContext.HTML, rawValue) || '';
|
|
59
|
+
if (target.value !== sanitizedValue) {
|
|
60
|
+
target.value = sanitizedValue;
|
|
61
|
+
}
|
|
62
|
+
this.value.set(sanitizedValue);
|
|
63
|
+
this.experienceAdapter.updateState(this.contract().id, 'value', sanitizedValue);
|
|
64
|
+
}
|
|
65
|
+
static {
|
|
66
|
+
tslib_1.__runInitializers(_classThis, _classExtraInitializers);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return TextInputComponent = _classThis;
|
|
70
|
+
})();
|
|
71
|
+
exports.TextInputComponent = TextInputComponent;
|
|
72
|
+
//# sourceMappingURL=text-input.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-input.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/text-input/text-input.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { InteractionContract } from '@origo/core';
|
|
3
|
+
import { OrigoAdapter, ContainerComponent } from '../../../adapters/web/adapter';
|
|
4
|
+
export interface VBoxProps {
|
|
5
|
+
gap?: number | string;
|
|
6
|
+
alignment?: 'start' | 'center' | 'end' | 'stretch';
|
|
7
|
+
padding?: number | string;
|
|
8
|
+
}
|
|
9
|
+
export declare class VBoxComponent implements OrigoAdapter<VBoxProps>, ContainerComponent {
|
|
10
|
+
static readonly contractSchema: {
|
|
11
|
+
gap: string;
|
|
12
|
+
alignment: string;
|
|
13
|
+
padding: string;
|
|
14
|
+
};
|
|
15
|
+
static readonly strictContract = false;
|
|
16
|
+
contract: import("@angular/core").InputSignal<InteractionContract<VBoxProps>>;
|
|
17
|
+
vc: import("@angular/core").Signal<ViewContainerRef>;
|
|
18
|
+
computedGap: import("@angular/core").Signal<string | undefined>;
|
|
19
|
+
computedAlignment: import("@angular/core").Signal<"center" | "stretch" | "flex-start" | "flex-end">;
|
|
20
|
+
computedPadding: import("@angular/core").Signal<string | undefined>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VBoxComponent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@angular/core");
|
|
6
|
+
let VBoxComponent = (() => {
|
|
7
|
+
let _classDecorators = [(0, core_1.Component)({
|
|
8
|
+
selector: 'origo-vbox',
|
|
9
|
+
standalone: true,
|
|
10
|
+
templateUrl: './vbox.component.html',
|
|
11
|
+
styleUrls: ['./vbox.component.scss'],
|
|
12
|
+
changeDetection: core_1.ChangeDetectionStrategy.OnPush,
|
|
13
|
+
encapsulation: core_1.ViewEncapsulation.ShadowDom,
|
|
14
|
+
host: {
|
|
15
|
+
'[class.origo-vbox]': 'true',
|
|
16
|
+
'[style.gap]': 'computedGap()',
|
|
17
|
+
'[style.align-items]': 'computedAlignment()',
|
|
18
|
+
'[style.padding]': 'computedPadding()',
|
|
19
|
+
},
|
|
20
|
+
})];
|
|
21
|
+
let _classDescriptor;
|
|
22
|
+
let _classExtraInitializers = [];
|
|
23
|
+
let _classThis;
|
|
24
|
+
var VBoxComponent = class {
|
|
25
|
+
static { _classThis = this; }
|
|
26
|
+
static {
|
|
27
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
28
|
+
tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
29
|
+
VBoxComponent = _classThis = _classDescriptor.value;
|
|
30
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
31
|
+
}
|
|
32
|
+
static contractSchema = {
|
|
33
|
+
gap: 'string',
|
|
34
|
+
alignment: 'string',
|
|
35
|
+
padding: 'string',
|
|
36
|
+
};
|
|
37
|
+
static strictContract = false;
|
|
38
|
+
contract = core_1.input.required();
|
|
39
|
+
vc = core_1.viewChild.required('vc', { read: core_1.ViewContainerRef });
|
|
40
|
+
computedGap = (0, core_1.computed)(() => {
|
|
41
|
+
const gap = this.contract().props?.gap;
|
|
42
|
+
if (gap === undefined || gap === null || gap === '')
|
|
43
|
+
return undefined;
|
|
44
|
+
const num = Number(gap);
|
|
45
|
+
return !isNaN(num) ? `${num}px` : String(gap);
|
|
46
|
+
});
|
|
47
|
+
computedAlignment = (0, core_1.computed)(() => {
|
|
48
|
+
const align = this.contract().props?.alignment;
|
|
49
|
+
switch (align) {
|
|
50
|
+
case 'start':
|
|
51
|
+
return 'flex-start';
|
|
52
|
+
case 'end':
|
|
53
|
+
return 'flex-end';
|
|
54
|
+
case 'center':
|
|
55
|
+
return 'center';
|
|
56
|
+
case 'stretch':
|
|
57
|
+
return 'stretch';
|
|
58
|
+
default:
|
|
59
|
+
return 'stretch';
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
computedPadding = (0, core_1.computed)(() => {
|
|
63
|
+
const padding = this.contract().props?.padding;
|
|
64
|
+
if (padding === undefined || padding === null || padding === '')
|
|
65
|
+
return undefined;
|
|
66
|
+
const num = Number(padding);
|
|
67
|
+
return !isNaN(num) ? `${num}px` : String(padding);
|
|
68
|
+
});
|
|
69
|
+
static {
|
|
70
|
+
tslib_1.__runInitializers(_classThis, _classExtraInitializers);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
return VBoxComponent = _classThis;
|
|
74
|
+
})();
|
|
75
|
+
exports.VBoxComponent = VBoxComponent;
|
|
76
|
+
//# sourceMappingURL=vbox.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vbox.component.js","sourceRoot":"","sources":["../../../../../../../packages/angular-renderer/src/components/primitives/vbox/vbox.component.ts"],"names":[],"mappings":";;;;AAAA,wCAQuB;IAwBV,aAAa;4BAdzB,IAAA,gBAAS,EAAC;YACT,QAAQ,EAAE,YAAY;YACtB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,uBAAuB;YACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;YACpC,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,aAAa,EAAE,wBAAiB,CAAC,SAAS;YAC1C,IAAI,EAAE;gBACJ,oBAAoB,EAAE,MAAM;gBAC5B,aAAa,EAAE,eAAe;gBAC9B,qBAAqB,EAAE,qBAAqB;gBAC5C,iBAAiB,EAAE,mBAAmB;aACvC;SACF,CAAC;;;;;;;;YACF,qLAyCC;;;;QAxCC,MAAM,CAAU,cAAc,GAAG;YAC/B,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,QAAQ;SAClB,CAAC;QACF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;QAEvC,QAAQ,GAAG,YAAK,CAAC,QAAQ,EAAkC,CAAC;QAE5D,EAAE,GAAG,gBAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAgB,EAAE,CAAC,CAAC;QAE1D,WAAW,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;YACvC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YACtE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,iBAAiB,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;YAC/C,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,OAAO;oBACV,OAAO,YAAY,CAAC;gBACtB,KAAK,KAAK;oBACR,OAAO,UAAU,CAAC;gBACpB,KAAK,QAAQ;oBACX,OAAO,QAAQ,CAAC;gBAClB,KAAK,SAAS;oBACZ,OAAO,SAAS,CAAC;gBACnB;oBACE,OAAO,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,eAAe,GAAG,IAAA,eAAQ,EAAC,GAAG,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;YAC/C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,SAAS,CAAC;YAClF,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;;YAxCQ,+DAAa;;;;;AAAb,sCAAa"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './lib/theme.provider';
|
|
2
|
+
export * from './lib/renderer.component';
|
|
3
|
+
export * from './lib/renderer.tokens';
|
|
4
|
+
export * from './adapters/web/adapter';
|
|
5
|
+
export * from './components/primitives/vbox/vbox.component';
|
|
6
|
+
export * from './components/primitives/text-input/text-input.component';
|
|
7
|
+
export * from './components/primitives/button/button.component';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./lib/theme.provider"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./lib/renderer.component"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./lib/renderer.tokens"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./adapters/web/adapter"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./components/primitives/vbox/vbox.component"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./components/primitives/text-input/text-input.component"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./components/primitives/button/button.component"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/angular-renderer/src/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,mEAAyC;AACzC,gEAAsC;AACtC,iEAAuC;AACvC,sFAA4D;AAC5D,kGAAwE;AACxE,0FAAgE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ASTNode } from '@origo/core';
|
|
2
|
+
export declare class OrigoRendererComponent {
|
|
3
|
+
node: import("@angular/core").InputSignal<ASTNode>;
|
|
4
|
+
private registry;
|
|
5
|
+
private vc;
|
|
6
|
+
private destroyRef;
|
|
7
|
+
private adapter;
|
|
8
|
+
private renderId;
|
|
9
|
+
private isDestroyed;
|
|
10
|
+
constructor();
|
|
11
|
+
private renderTree;
|
|
12
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrigoRendererComponent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const core_1 = require("@angular/core");
|
|
6
|
+
const renderer_tokens_1 = require("./renderer.tokens");
|
|
7
|
+
const adapter_1 = require("../adapters/web/adapter");
|
|
8
|
+
let OrigoRendererComponent = (() => {
|
|
9
|
+
let _classDecorators = [(0, core_1.Component)({
|
|
10
|
+
selector: 'origo-renderer',
|
|
11
|
+
standalone: true,
|
|
12
|
+
template: `<ng-container #vc></ng-container>`,
|
|
13
|
+
})];
|
|
14
|
+
let _classDescriptor;
|
|
15
|
+
let _classExtraInitializers = [];
|
|
16
|
+
let _classThis;
|
|
17
|
+
var OrigoRendererComponent = class {
|
|
18
|
+
static { _classThis = this; }
|
|
19
|
+
static {
|
|
20
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
21
|
+
tslib_1.__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
22
|
+
OrigoRendererComponent = _classThis = _classDescriptor.value;
|
|
23
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
24
|
+
tslib_1.__runInitializers(_classThis, _classExtraInitializers);
|
|
25
|
+
}
|
|
26
|
+
node = core_1.input.required();
|
|
27
|
+
registry = (0, core_1.inject)(renderer_tokens_1.RENDERER_REGISTRY, { optional: true }) ?? new Map();
|
|
28
|
+
vc = core_1.viewChild.required('vc', { read: core_1.ViewContainerRef });
|
|
29
|
+
destroyRef = (0, core_1.inject)(core_1.DestroyRef);
|
|
30
|
+
adapter = (0, core_1.inject)(adapter_1.AdapterPipelineService);
|
|
31
|
+
renderId = 0;
|
|
32
|
+
isDestroyed = false;
|
|
33
|
+
constructor() {
|
|
34
|
+
this.destroyRef.onDestroy(() => (this.isDestroyed = true));
|
|
35
|
+
(0, core_1.effect)(() => {
|
|
36
|
+
const n = this.node();
|
|
37
|
+
const container = this.vc();
|
|
38
|
+
const currentId = ++this.renderId;
|
|
39
|
+
container.clear();
|
|
40
|
+
if (n) {
|
|
41
|
+
this.renderTree(n, container, currentId);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async renderTree(rootNode, rootVc, traversalId) {
|
|
46
|
+
const queue = [{ node: rootNode, vc: rootVc }];
|
|
47
|
+
const CHUNK_SIZE = 50;
|
|
48
|
+
const visited = new Set();
|
|
49
|
+
while (queue.length > 0) {
|
|
50
|
+
if (this.isDestroyed || traversalId !== this.renderId)
|
|
51
|
+
return;
|
|
52
|
+
let processed = 0;
|
|
53
|
+
while (queue.length > 0 && processed < CHUNK_SIZE) {
|
|
54
|
+
const item = queue.shift();
|
|
55
|
+
if (!item)
|
|
56
|
+
continue;
|
|
57
|
+
processed++;
|
|
58
|
+
const { node, vc } = item;
|
|
59
|
+
if (visited.has(node.id))
|
|
60
|
+
continue;
|
|
61
|
+
visited.add(node.id);
|
|
62
|
+
const componentType = this.registry.get(node.type);
|
|
63
|
+
if (!componentType) {
|
|
64
|
+
console.warn(`No primitive found for node type: ${node.type}`);
|
|
65
|
+
if (node.children && node.children.length > 0) {
|
|
66
|
+
for (const child of node.children) {
|
|
67
|
+
if (child)
|
|
68
|
+
queue.push({ node: child, vc });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const componentRef = vc.createComponent(componentType);
|
|
74
|
+
// Extract optional schema/strict mode if defined on the component class
|
|
75
|
+
const schema = componentType['contractSchema'];
|
|
76
|
+
const strict = componentType['strictContract'] === true;
|
|
77
|
+
const preparedNode = this.adapter.prepareNode(node, schema, strict);
|
|
78
|
+
if ('contract' in componentRef.instance) {
|
|
79
|
+
componentRef.setInput('contract', preparedNode);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.warn(`Component for ${node.type} does not implement OrigoAdapter (missing 'contract' input).`);
|
|
83
|
+
}
|
|
84
|
+
if (node.children && node.children.length > 0) {
|
|
85
|
+
componentRef.changeDetectorRef.detectChanges();
|
|
86
|
+
const instance = componentRef.instance;
|
|
87
|
+
let childVc = instance.vc || instance.viewContainerRef;
|
|
88
|
+
if (typeof childVc === 'function') {
|
|
89
|
+
childVc = childVc();
|
|
90
|
+
}
|
|
91
|
+
if (childVc) {
|
|
92
|
+
for (const child of node.children) {
|
|
93
|
+
if (child)
|
|
94
|
+
queue.push({ node: child, vc: childVc });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.warn(`Component for ${node.type} has children but does not expose a ViewContainerRef as 'vc'`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
componentRef.changeDetectorRef.markForCheck();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (queue.length > 0) {
|
|
106
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
return OrigoRendererComponent = _classThis;
|
|
112
|
+
})();
|
|
113
|
+
exports.OrigoRendererComponent = OrigoRendererComponent;
|
|
114
|
+
//# sourceMappingURL=renderer.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.component.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/renderer.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RENDERER_REGISTRY = void 0;
|
|
4
|
+
const core_1 = require("@angular/core");
|
|
5
|
+
exports.RENDERER_REGISTRY = new core_1.InjectionToken('RENDERER_REGISTRY', {
|
|
6
|
+
providedIn: 'root',
|
|
7
|
+
factory: () => new Map(),
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=renderer.tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.tokens.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/renderer.tokens.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AAExC,QAAA,iBAAiB,GAAG,IAAI,qBAAc,CACjD,mBAAmB,EACnB;IACE,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;CACzB,CACF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Provider } from '@angular/core';
|
|
2
|
+
export interface OrigoThemeOptions {
|
|
3
|
+
url?: string;
|
|
4
|
+
theme?: Record<string, unknown>;
|
|
5
|
+
targetElement?: HTMLElement | string;
|
|
6
|
+
}
|
|
7
|
+
export declare function themeInitializerFactory(optionsOrUrl: string | OrigoThemeOptions, platformId: object, document: Document | null): () => Promise<(() => void) | (() => void)> | Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Provides the Origo Design theme initialization for the Angular Web Adapter.
|
|
10
|
+
*
|
|
11
|
+
* @param optionsOrUrl URL string to the theme.json file, or an options object configuring the theme.
|
|
12
|
+
*/
|
|
13
|
+
export declare function provideOrigoTheme(optionsOrUrl: string | OrigoThemeOptions): Provider[];
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.themeInitializerFactory = themeInitializerFactory;
|
|
4
|
+
exports.provideOrigoTheme = provideOrigoTheme;
|
|
5
|
+
const core_1 = require("@angular/core");
|
|
6
|
+
const common_1 = require("@angular/common");
|
|
7
|
+
const runtime_1 = require("@origo/design-tokens/runtime");
|
|
8
|
+
function themeInitializerFactory(optionsOrUrl, platformId, document) {
|
|
9
|
+
return () => {
|
|
10
|
+
if ((0, common_1.isPlatformBrowser)(platformId)) {
|
|
11
|
+
const isString = typeof optionsOrUrl === 'string';
|
|
12
|
+
const url = isString ? optionsOrUrl : optionsOrUrl.url;
|
|
13
|
+
const theme = isString ? undefined : optionsOrUrl.theme;
|
|
14
|
+
// Resolve target element
|
|
15
|
+
let target;
|
|
16
|
+
if (!isString && typeof optionsOrUrl.targetElement === 'string') {
|
|
17
|
+
target = document?.querySelector(optionsOrUrl.targetElement);
|
|
18
|
+
if (!target) {
|
|
19
|
+
console.warn(`[origo-design] targetElement selector '${optionsOrUrl.targetElement}' matched nothing. Falling back to documentElement.`);
|
|
20
|
+
target = document ? document.documentElement : undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
else if (!isString && optionsOrUrl.targetElement instanceof HTMLElement) {
|
|
24
|
+
target = optionsOrUrl.targetElement;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
target = document ? document.documentElement : undefined;
|
|
28
|
+
}
|
|
29
|
+
if (theme && url) {
|
|
30
|
+
const staticTeardown = (0, runtime_1.injectTheme)(theme, target);
|
|
31
|
+
return (0, runtime_1.loadAndInjectTheme)(url, target)
|
|
32
|
+
.then(fetchTeardown => {
|
|
33
|
+
return () => {
|
|
34
|
+
if (typeof staticTeardown === 'function')
|
|
35
|
+
staticTeardown();
|
|
36
|
+
fetchTeardown();
|
|
37
|
+
};
|
|
38
|
+
})
|
|
39
|
+
.catch(e => {
|
|
40
|
+
console.error('[origo-design] theme init failed', e);
|
|
41
|
+
return typeof staticTeardown === 'function' ? staticTeardown : () => undefined;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else if (theme) {
|
|
45
|
+
const teardown = (0, runtime_1.injectTheme)(theme, target);
|
|
46
|
+
return Promise.resolve(typeof teardown === 'function' ? teardown : () => undefined);
|
|
47
|
+
}
|
|
48
|
+
else if (url) {
|
|
49
|
+
return (0, runtime_1.loadAndInjectTheme)(url, target).catch(e => {
|
|
50
|
+
console.error('[origo-design] theme init failed', e);
|
|
51
|
+
return () => undefined;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.warn('[origo-design] options provided with neither theme nor url');
|
|
56
|
+
return Promise.resolve(() => undefined);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return Promise.resolve();
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Provides the Origo Design theme initialization for the Angular Web Adapter.
|
|
64
|
+
*
|
|
65
|
+
* @param optionsOrUrl URL string to the theme.json file, or an options object configuring the theme.
|
|
66
|
+
*/
|
|
67
|
+
function provideOrigoTheme(optionsOrUrl) {
|
|
68
|
+
return [
|
|
69
|
+
{
|
|
70
|
+
provide: core_1.APP_INITIALIZER,
|
|
71
|
+
useFactory: (platformId, document) => themeInitializerFactory(optionsOrUrl, platformId, document),
|
|
72
|
+
deps: [core_1.PLATFORM_ID, [new core_1.Optional(), common_1.DOCUMENT]],
|
|
73
|
+
multi: true,
|
|
74
|
+
},
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=theme.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.provider.js","sourceRoot":"","sources":["../../../../../packages/angular-renderer/src/lib/theme.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 0.0.24 (2026-09-07)
|
|
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.23 (2026-09-07)
|
|
6
|
+
|
|
7
|
+
### 🚀 Features
|
|
8
|
+
|
|
9
|
+
- add CLI package and configure automated Nx release pipeline ([6ec80c7](https://github.com/OrigoStudio/origo-design/commit/6ec80c7))
|
|
10
|
+
|
|
11
|
+
### ❤️ Thank You
|
|
12
|
+
|
|
13
|
+
- Hardik Patel @hardikpatelse
|
|
14
|
+
|
|
1
15
|
## 0.0.22 (2026-09-04)
|
|
2
16
|
|
|
3
17
|
### 🚀 Features
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"private":
|
|
2
|
+
"name": "@origostudio/cli",
|
|
3
|
+
"version": "0.0.24",
|
|
4
|
+
"private": false,
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./src/index.js",
|
|
7
7
|
"types": "./src/index.d.ts",
|
|
@@ -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.24",
|
|
13
13
|
"commander": "^15.0.0",
|
|
14
14
|
"tslib": "^2.3.0"
|
|
15
15
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"private":
|
|
2
|
+
"name": "@origostudio/cli",
|
|
3
|
+
"version": "0.0.24",
|
|
4
|
+
"private": false,
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./src/index.js",
|
|
7
7
|
"types": "./src/index.d.ts",
|
|
@@ -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.24",
|
|
13
13
|
"commander": "^15.0.0",
|
|
14
14
|
"tslib": "^2.3.0"
|
|
15
15
|
}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.0.24 (2026-09-07)
|
|
2
|
+
|
|
3
|
+
This was a version bump only for core to align it with other projects, there were no code changes.
|
|
4
|
+
|
|
5
|
+
## 0.0.23 (2026-09-07)
|
|
6
|
+
|
|
7
|
+
This was a version bump only for core to align it with other projects, there were no code changes.
|
|
8
|
+
|
|
1
9
|
## 0.0.22 (2026-09-04)
|
|
2
10
|
|
|
3
11
|
### 🚀 Features
|