tikal-ui-components 0.0.1

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/README.md ADDED
@@ -0,0 +1,94 @@
1
+ # TikalUiComponents
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 22.1.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
+
9
+ ```bash
10
+ ng generate component component-name
11
+ ```
12
+
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
+
15
+ ```bash
16
+ ng generate --help
17
+ ```
18
+
19
+ ## Building
20
+
21
+ To build the library, run:
22
+
23
+ ```bash
24
+ ng build tikal-ui-components
25
+ ```
26
+
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
+
29
+ ### Publishing the Library
30
+
31
+ Once the project is built, you can publish your library by following these steps:
32
+
33
+ 1. Navigate to the `dist` directory:
34
+
35
+ ```bash
36
+ cd dist/tikal-ui-components
37
+ ```
38
+
39
+ 2. Run the `npm publish` command to publish your library to the npm registry:
40
+ ```bash
41
+ npm publish
42
+ ```
43
+
44
+ ### PrimeNG license
45
+
46
+ This package does not contain a PrimeNG license key. Configure PrimeNG in the
47
+ Angular application that consumes the package, using a key supplied through
48
+ that application's deployment configuration:
49
+
50
+ ```ts
51
+ // app.config.ts
52
+ import { ApplicationConfig } from '@angular/core';
53
+ import { providePrimeNG } from 'primeng/config';
54
+ import { environment } from './environments/environment';
55
+
56
+ export const appConfig: ApplicationConfig = {
57
+ providers: [
58
+ providePrimeNG({
59
+ license: environment.primengLicense,
60
+ }),
61
+ ],
62
+ };
63
+ ```
64
+
65
+ Keep the key out of this package's source, `package.json`, and published build
66
+ artifacts. Browser applications necessarily expose the key at runtime, so
67
+ environment configuration prevents accidental source-control and npm leaks;
68
+ it is not a mechanism for hiding the key from end users.
69
+
70
+ For local Storybook development, copy `.env.example` to `.env.local` and set
71
+ `STORYBOOK_PRIMENG_LICENSE`. CI can provide the same variable without storing
72
+ the key in the repository.
73
+
74
+ ## Running unit tests
75
+
76
+ To execute unit tests with the [Vitest](https://vitest.dev/) test runner, use the following command:
77
+
78
+ ```bash
79
+ ng test
80
+ ```
81
+
82
+ ## Running end-to-end tests
83
+
84
+ For end-to-end (e2e) testing, run:
85
+
86
+ ```bash
87
+ ng e2e
88
+ ```
89
+
90
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
91
+
92
+ ## Additional Resources
93
+
94
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,76 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Pipe, input, output, Component } from '@angular/core';
3
+ import { PIcon, Spinner } from '@primeicons/angular';
4
+ import * as i1 from 'primeng/button';
5
+ import { ButtonModule } from 'primeng/button';
6
+
7
+ var ButtonColour;
8
+ (function (ButtonColour) {
9
+ ButtonColour["Primary"] = "primary";
10
+ ButtonColour["Secondary"] = "secondary";
11
+ })(ButtonColour || (ButtonColour = {}));
12
+
13
+ var ButtonSize;
14
+ (function (ButtonSize) {
15
+ ButtonSize["Small"] = "small";
16
+ ButtonSize["Normal"] = "normal";
17
+ ButtonSize["Large"] = "large";
18
+ })(ButtonSize || (ButtonSize = {}));
19
+
20
+ class EnumMapPipe {
21
+ transform(value, enumMap, defaultValue) {
22
+ return enumMap[value] ?? defaultValue ?? value;
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EnumMapPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
25
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.3", ngImport: i0, type: EnumMapPipe, isStandalone: true, name: "enumMap" });
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: EnumMapPipe, decorators: [{
28
+ type: Pipe,
29
+ args: [{
30
+ name: 'enumMap',
31
+ }]
32
+ }] });
33
+
34
+ class ButtonComponent {
35
+ /** What icon should the button display? */
36
+ icon = input('', /* @ts-ignore */
37
+ ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
38
+ /** What colour should the button be? */
39
+ colour = input(ButtonColour.Primary, /* @ts-ignore */
40
+ ...(ngDevMode ? [{ debugName: "colour" }] : /* istanbul ignore next */ []));
41
+ /** What size should the button be? */
42
+ size = input(ButtonSize.Normal, /* @ts-ignore */
43
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
44
+ /** @ignore */
45
+ sizeMap = {
46
+ normal: undefined,
47
+ };
48
+ /** What text should the button display? */
49
+ label = input(/* @ts-ignore */
50
+ ...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
51
+ /** Is the action related to the button currently running? */
52
+ isLoading = input(false, /* @ts-ignore */
53
+ ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
54
+ /** Should the button have an outline? */
55
+ outline = input(false, /* @ts-ignore */
56
+ ...(ngDevMode ? [{ debugName: "outline" }] : /* istanbul ignore next */ []));
57
+ /** @ignore */
58
+ clicked = output();
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
60
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: ButtonComponent, isStandalone: true, selector: "tikal-button", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, colour: { classPropertyName: "colour", publicName: "colour", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, outline: { classPropertyName: "outline", publicName: "outline", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<button\n pButton\n type=\"button\"\n [disabled]=\"isLoading()\"\n [iconOnly]=\"!label()\"\n [outlined]=\"outline()\"\n [severity]=\"colour()\"\n [size]=\"size() | enumMap: sizeMap\"\n (click)=\"clicked.emit()\"\n>\n @if (isLoading()) {\n <svg data-p-icon=\"spinner\" [spin]=\"true\"></svg>\n } @else if (icon()) {\n <svg [pIcon]=\"icon()\"></svg>\n }\n {{ label() }}\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1.ButtonDirective, selector: "[pButton]", inputs: ["pButton", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "link", "rounded", "fluid", "variant", "iconOnly", "loading", "severity"] }, { kind: "component", type: PIcon, selector: "svg[pIcon]", inputs: ["pIcon"] }, { kind: "component", type: Spinner, selector: "svg[data-p-icon=\"spinner\"]" }, { kind: "pipe", type: EnumMapPipe, name: "enumMap" }] });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: ButtonComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'tikal-button', imports: [ButtonModule, PIcon, EnumMapPipe, Spinner], template: "<button\n pButton\n type=\"button\"\n [disabled]=\"isLoading()\"\n [iconOnly]=\"!label()\"\n [outlined]=\"outline()\"\n [severity]=\"colour()\"\n [size]=\"size() | enumMap: sizeMap\"\n (click)=\"clicked.emit()\"\n>\n @if (isLoading()) {\n <svg data-p-icon=\"spinner\" [spin]=\"true\"></svg>\n } @else if (icon()) {\n <svg [pIcon]=\"icon()\"></svg>\n }\n {{ label() }}\n</button>\n" }]
65
+ }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], colour: [{ type: i0.Input, args: [{ isSignal: true, alias: "colour", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], outline: [{ type: i0.Input, args: [{ isSignal: true, alias: "outline", required: false }] }], clicked: [{ type: i0.Output, args: ["clicked"] }] } });
66
+
67
+ /*
68
+ * Public API Surface of tikal-ui-components
69
+ */
70
+
71
+ /**
72
+ * Generated bundle index. Do not edit.
73
+ */
74
+
75
+ export { ButtonComponent };
76
+ //# sourceMappingURL=tikal-ui-components.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tikal-ui-components.mjs","sources":["../../../projects/tikal-ui-components/src/lib/enums/button-colour.ts","../../../projects/tikal-ui-components/src/lib/enums/button-size.ts","../../../projects/tikal-ui-components/src/pipes/enum-map.ts","../../../projects/tikal-ui-components/src/lib/components/button/button.ts","../../../projects/tikal-ui-components/src/lib/components/button/button.html","../../../projects/tikal-ui-components/src/public-api.ts","../../../projects/tikal-ui-components/src/tikal-ui-components.ts"],"sourcesContent":["export enum ButtonColour {\n Primary = 'primary',\n Secondary = 'secondary',\n}\n","export enum ButtonSize {\n Small = 'small',\n Normal = 'normal',\n Large = 'large',\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'enumMap',\n})\nexport class EnumMapPipe<T> implements PipeTransform {\n transform(value: unknown, enumMap: object, defaultValue?: T): T {\n return enumMap[value as keyof typeof enumMap] ?? defaultValue ?? value;\n }\n}\n","import { Component, input, output } from '@angular/core';\nimport { PIcon, Spinner } from '@primeicons/angular';\nimport { ButtonModule } from 'primeng/button';\nimport { ButtonColour } from '../../enums/button-colour';\nimport { ButtonSize } from '../../enums/button-size';\nimport { EnumMapPipe } from '../../../pipes/enum-map';\n\n@Component({\n selector: 'tikal-button',\n imports: [ButtonModule, PIcon, EnumMapPipe, Spinner],\n templateUrl: './button.html',\n styleUrl: './button.scss',\n})\nexport class ButtonComponent {\n /** What icon should the button display? */\n readonly icon = input<string>('');\n\n /** What colour should the button be? */\n readonly colour = input<ButtonColour>(ButtonColour.Primary);\n\n /** What size should the button be? */\n readonly size = input<ButtonSize>(ButtonSize.Normal);\n\n /** @ignore */\n readonly sizeMap = {\n normal: undefined,\n };\n\n /** What text should the button display? */\n readonly label = input<string>();\n\n /** Is the action related to the button currently running? */\n readonly isLoading = input<boolean>(false);\n\n /** Should the button have an outline? */\n readonly outline = input<boolean>(false);\n\n /** @ignore */\n readonly clicked = output<void>();\n}\n","<button\n pButton\n type=\"button\"\n [disabled]=\"isLoading()\"\n [iconOnly]=\"!label()\"\n [outlined]=\"outline()\"\n [severity]=\"colour()\"\n [size]=\"size() | enumMap: sizeMap\"\n (click)=\"clicked.emit()\"\n>\n @if (isLoading()) {\n <svg data-p-icon=\"spinner\" [spin]=\"true\"></svg>\n } @else if (icon()) {\n <svg [pIcon]=\"icon()\"></svg>\n }\n {{ label() }}\n</button>\n","/*\n * Public API Surface of tikal-ui-components\n */\nexport * from './lib/components/button/button';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;AAAA,IAAY,YAGX;AAHD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACzB,CAAC,EAHW,YAAY,KAAZ,YAAY,GAAA,EAAA,CAAA,CAAA;;ACAxB,IAAY,UAIX;AAJD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJW,UAAU,KAAV,UAAU,GAAA,EAAA,CAAA,CAAA;;MCKT,WAAW,CAAA;AACtB,IAAA,SAAS,CAAC,KAAc,EAAE,OAAe,EAAE,YAAgB,EAAA;QACzD,OAAO,OAAO,CAAC,KAA6B,CAAC,IAAI,YAAY,IAAI,KAAK;IACxE;uGAHW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA;qGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA;;;MCSY,eAAe,CAAA;;IAEjB,IAAI,GAAG,KAAK,CAAS,EAAE;6EAAC;;AAGxB,IAAA,MAAM,GAAG,KAAK,CAAe,YAAY,CAAC,OAAO;+EAAC;;AAGlD,IAAA,IAAI,GAAG,KAAK,CAAa,UAAU,CAAC,MAAM;6EAAC;;AAG3C,IAAA,OAAO,GAAG;AACjB,QAAA,MAAM,EAAE,SAAS;KAClB;;AAGQ,IAAA,KAAK,GAAG,KAAK;yFAAU;;IAGvB,SAAS,GAAG,KAAK,CAAU,KAAK;kFAAC;;IAGjC,OAAO,GAAG,KAAK,CAAU,KAAK;gFAAC;;IAG/B,OAAO,GAAG,MAAM,EAAQ;uGAzBtB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb5B,gZAiBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDRY,YAAY,iSAAE,KAAK,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAe,OAAO,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAApB,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,EAAA,CAAA;;2FAI/B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,cAAc,EAAA,OAAA,EACf,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAA,QAAA,EAAA,gZAAA,EAAA;;;AETtD;;AAEG;;ACFH;;AAEG;;;;"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "tikal-ui-components",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^22.1.0",
6
+ "@angular/core": "^22.1.0",
7
+ "@angular/forms": "^22.1.0",
8
+ "@angular/router": "^22.1.0",
9
+ "@primeuix/themes": "^3.0.0",
10
+ "@primeicons/angular": "^8.0.0",
11
+ "primeng": "^22.1.0"
12
+ },
13
+ "dependencies": {
14
+ "tslib": "^2.3.0"
15
+ },
16
+ "sideEffects": false,
17
+ "module": "fesm2022/tikal-ui-components.mjs",
18
+ "typings": "types/tikal-ui-components.d.ts",
19
+ "exports": {
20
+ "./package.json": {
21
+ "default": "./package.json"
22
+ },
23
+ ".": {
24
+ "types": "./types/tikal-ui-components.d.ts",
25
+ "default": "./fesm2022/tikal-ui-components.mjs"
26
+ }
27
+ },
28
+ "type": "module"
29
+ }
@@ -0,0 +1,37 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare enum ButtonColour {
4
+ Primary = "primary",
5
+ Secondary = "secondary"
6
+ }
7
+
8
+ declare enum ButtonSize {
9
+ Small = "small",
10
+ Normal = "normal",
11
+ Large = "large"
12
+ }
13
+
14
+ declare class ButtonComponent {
15
+ /** What icon should the button display? */
16
+ readonly icon: _angular_core.InputSignal<string>;
17
+ /** What colour should the button be? */
18
+ readonly colour: _angular_core.InputSignal<ButtonColour>;
19
+ /** What size should the button be? */
20
+ readonly size: _angular_core.InputSignal<ButtonSize>;
21
+ /** @ignore */
22
+ readonly sizeMap: {
23
+ normal: undefined;
24
+ };
25
+ /** What text should the button display? */
26
+ readonly label: _angular_core.InputSignal<string | undefined>;
27
+ /** Is the action related to the button currently running? */
28
+ readonly isLoading: _angular_core.InputSignal<boolean>;
29
+ /** Should the button have an outline? */
30
+ readonly outline: _angular_core.InputSignal<boolean>;
31
+ /** @ignore */
32
+ readonly clicked: _angular_core.OutputEmitterRef<void>;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "tikal-button", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "colour": { "alias": "colour"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "outline": { "alias": "outline"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
35
+ }
36
+
37
+ export { ButtonComponent };