tikal-ui-components 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -142,6 +142,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
142
142
  args: [{ selector: 'tikal-skeleton', imports: [SkeletonModule], template: "<p-skeleton />\n" }]
143
143
  }] });
144
144
 
145
+ class PlayerCountComponent {
146
+ /** How many players are currently in the lobby? */
147
+ currentPlayers = input.required(/* @ts-ignore */
148
+ ...(ngDevMode ? [{ debugName: "currentPlayers" }] : /* istanbul ignore next */ []));
149
+ /** How many players fit in the lobby? */
150
+ maxPlayers = input.required(/* @ts-ignore */
151
+ ...(ngDevMode ? [{ debugName: "maxPlayers" }] : /* istanbul ignore next */ []));
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: PlayerCountComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.3", type: PlayerCountComponent, isStandalone: true, selector: "tikal-player-count", inputs: { currentPlayers: { classPropertyName: "currentPlayers", publicName: "currentPlayers", isSignal: true, isRequired: true, transformFunction: null }, maxPlayers: { classPropertyName: "maxPlayers", publicName: "maxPlayers", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<p>{{ currentPlayers() }}/{{ maxPlayers() }}</p>\n<div class=\"bar\">\n <div\n class=\"bar-fill\"\n [class.full]=\"currentPlayers() >= maxPlayers()\"\n [style.width]=\"(currentPlayers() / maxPlayers()) * 100 + '%'\"\n ></div>\n</div>\n", styles: [":host{display:flex;flex-direction:row;gap:.5rem}p{margin:0}.bar{align-self:center;height:.45rem;width:4rem;border-radius:9999px;background-color:var(--p-surface-300)}.bar-fill{height:100%;border-radius:9999px;background-color:var(--p-green-600)}.full{background-color:var(--p-red-600)}\n"] });
154
+ }
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: PlayerCountComponent, decorators: [{
156
+ type: Component,
157
+ args: [{ selector: 'tikal-player-count', imports: [], template: "<p>{{ currentPlayers() }}/{{ maxPlayers() }}</p>\n<div class=\"bar\">\n <div\n class=\"bar-fill\"\n [class.full]=\"currentPlayers() >= maxPlayers()\"\n [style.width]=\"(currentPlayers() / maxPlayers()) * 100 + '%'\"\n ></div>\n</div>\n", styles: [":host{display:flex;flex-direction:row;gap:.5rem}p{margin:0}.bar{align-self:center;height:.45rem;width:4rem;border-radius:9999px;background-color:var(--p-surface-300)}.bar-fill{height:100%;border-radius:9999px;background-color:var(--p-green-600)}.full{background-color:var(--p-red-600)}\n"] }]
158
+ }], propDecorators: { currentPlayers: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentPlayers", required: true }] }], maxPlayers: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxPlayers", required: true }] }] } });
159
+
145
160
  /*
146
161
  * Public API Surface of tikal-ui-components
147
162
  */
@@ -151,5 +166,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
151
166
  * Generated bundle index. Do not edit.
152
167
  */
153
168
 
154
- export { ButtonComponent, ChatFormComponent, InputComponent, SkeletonComponent };
169
+ export { ButtonComponent, ChatFormComponent, InputComponent, PlayerCountComponent, SkeletonComponent };
155
170
  //# sourceMappingURL=tikal-ui-components.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tikal-ui-components.mjs","sources":["../../../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/lib/components/input/input.ts","../../../projects/tikal-ui-components/src/lib/components/input/input.html","../../../projects/tikal-ui-components/src/lib/components/chat-form/chat-form.ts","../../../projects/tikal-ui-components/src/lib/components/chat-form/chat-form.html","../../../projects/tikal-ui-components/src/lib/components/skeleton/skeleton.ts","../../../projects/tikal-ui-components/src/lib/components/skeleton/skeleton.html","../../../projects/tikal-ui-components/src/public-api.ts","../../../projects/tikal-ui-components/src/tikal-ui-components.ts"],"sourcesContent":["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 { EnumMapPipe } from '../../../pipes/enum-map';\n\nexport type ButtonColour = 'primary' | 'secondary';\n\nexport type ButtonSize = 'small' | 'normal' | 'large';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\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>('primary');\n\n /** What size should the button be? */\n readonly size = input<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 /** What type should the button be? */\n readonly type = input<ButtonType>('button');\n\n /** Should the button only appear as text? */\n readonly text = input<boolean>(false);\n\n /** @ignore */\n readonly clicked = output<void>();\n}\n","<button\n pButton\n [disabled]=\"isLoading()\"\n [iconOnly]=\"!label()\"\n [outlined]=\"outline()\"\n [severity]=\"colour()\"\n [size]=\"size() | enumMap: sizeMap\"\n [type]=\"type()\"\n [variant]=\"text() ? 'text' : undefined\"\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","import { Component, model, input } from '@angular/core';\nimport { FormValueControl } from '@angular/forms/signals';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'tikal-input',\n imports: [InputTextModule],\n templateUrl: './input.html',\n styleUrl: './input.scss',\n})\nexport class InputComponent implements FormValueControl<string> {\n /** What value should the input have */\n readonly value = model('');\n\n /** Should the input be disabled */\n readonly disabled = input<boolean>(false);\n\n /** Is the content of the input invalid? */\n readonly invalid = input<boolean>(false);\n\n /** Is the input required? */\n readonly required = input<boolean>(false);\n\n /** Was the input touched */\n readonly touched = input<boolean>(false);\n\n /** What is the max input length? */\n readonly maxLength = input<number>();\n\n /** What is the label of the input element? */\n readonly label = input<string>();\n\n /** What placeholder should the input display? */\n readonly placeholder = input<string>();\n}\n","<input\n pInputText\n [ariaLabel]=\"label()\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid() && touched()\"\n [maxLength]=\"maxLength()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [value]=\"value()\"\n (input)=\"value.set($event.target.value)\"\n/>\n","import { Component, input, signal } from '@angular/core';\nimport { disabled, form, required, FormRoot, FormField, maxLength } from '@angular/forms/signals';\nimport { InputComponent } from '../input/input';\nimport { ButtonComponent } from '../button/button';\n\ntype ChatFormData = {\n message: string;\n};\n\n@Component({\n selector: 'tikal-chat-form',\n imports: [FormRoot, FormField, InputComponent, ButtonComponent],\n templateUrl: './chat-form.html',\n styleUrl: './chat-form.scss',\n})\nexport class ChatFormComponent {\n /** @ignore */\n private readonly chatFormData = signal<ChatFormData>({ message: '' });\n\n /** What should happen when the form is submitted? */\n readonly onSubmission = input.required<(message: string) => Promise<void>>();\n\n /** What placeholder should be displayed on the input? */\n readonly placeholder = input<string>();\n\n /** What is the max input length? */\n readonly maxLength = input<number>(50);\n\n /** What is the label of the input element? */\n readonly label = input<string>();\n\n /** @ignore */\n readonly chatForm = form(\n this.chatFormData,\n (schemaPath) => {\n required(schemaPath.message);\n maxLength(schemaPath.message, () => this.maxLength());\n disabled(schemaPath, { when: () => this.chatForm().submitting() });\n },\n {\n submission: {\n action: async (field) => {\n const message = field().value().message;\n\n await this.onSubmission()(message);\n\n field.message().reset('');\n },\n },\n },\n );\n}\n","<form [formRoot]=\"chatForm\">\n <tikal-input [formField]=\"chatForm.message\" [label]=\"label()\" [placeholder]=\"placeholder()\" />\n <tikal-button icon=\"send\" type=\"submit\" [isLoading]=\"chatForm().submitting()\" />\n</form>\n","import { Component } from '@angular/core';\nimport { SkeletonModule } from 'primeng/skeleton';\n\n@Component({\n selector: 'tikal-skeleton',\n imports: [SkeletonModule],\n templateUrl: './skeleton.html',\n styleUrl: './skeleton.scss',\n})\nexport class SkeletonComponent {}\n","<p-skeleton />\n","/*\n * Public API Surface of tikal-ui-components\n */\n\n// Button\nexport * from './lib/components/button/button';\n\n// Input\nexport * from './lib/components/input/input';\n\n// Chat form\nexport * from './lib/components/chat-form/chat-form';\n\n// Skeleton\nexport * from './lib/components/skeleton/skeleton';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"tikal-ui-components.mjs","sources":["../../../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/lib/components/input/input.ts","../../../projects/tikal-ui-components/src/lib/components/input/input.html","../../../projects/tikal-ui-components/src/lib/components/chat-form/chat-form.ts","../../../projects/tikal-ui-components/src/lib/components/chat-form/chat-form.html","../../../projects/tikal-ui-components/src/lib/components/skeleton/skeleton.ts","../../../projects/tikal-ui-components/src/lib/components/skeleton/skeleton.html","../../../projects/tikal-ui-components/src/lib/components/player-count/player-count.ts","../../../projects/tikal-ui-components/src/lib/components/player-count/player-count.html","../../../projects/tikal-ui-components/src/public-api.ts","../../../projects/tikal-ui-components/src/tikal-ui-components.ts"],"sourcesContent":["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 { EnumMapPipe } from '../../../pipes/enum-map';\n\nexport type ButtonColour = 'primary' | 'secondary';\n\nexport type ButtonSize = 'small' | 'normal' | 'large';\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\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>('primary');\n\n /** What size should the button be? */\n readonly size = input<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 /** What type should the button be? */\n readonly type = input<ButtonType>('button');\n\n /** Should the button only appear as text? */\n readonly text = input<boolean>(false);\n\n /** @ignore */\n readonly clicked = output<void>();\n}\n","<button\n pButton\n [disabled]=\"isLoading()\"\n [iconOnly]=\"!label()\"\n [outlined]=\"outline()\"\n [severity]=\"colour()\"\n [size]=\"size() | enumMap: sizeMap\"\n [type]=\"type()\"\n [variant]=\"text() ? 'text' : undefined\"\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","import { Component, model, input } from '@angular/core';\nimport { FormValueControl } from '@angular/forms/signals';\nimport { InputTextModule } from 'primeng/inputtext';\n\n@Component({\n selector: 'tikal-input',\n imports: [InputTextModule],\n templateUrl: './input.html',\n styleUrl: './input.scss',\n})\nexport class InputComponent implements FormValueControl<string> {\n /** What value should the input have */\n readonly value = model('');\n\n /** Should the input be disabled */\n readonly disabled = input<boolean>(false);\n\n /** Is the content of the input invalid? */\n readonly invalid = input<boolean>(false);\n\n /** Is the input required? */\n readonly required = input<boolean>(false);\n\n /** Was the input touched */\n readonly touched = input<boolean>(false);\n\n /** What is the max input length? */\n readonly maxLength = input<number>();\n\n /** What is the label of the input element? */\n readonly label = input<string>();\n\n /** What placeholder should the input display? */\n readonly placeholder = input<string>();\n}\n","<input\n pInputText\n [ariaLabel]=\"label()\"\n [disabled]=\"disabled()\"\n [invalid]=\"invalid() && touched()\"\n [maxLength]=\"maxLength()\"\n [placeholder]=\"placeholder()\"\n [required]=\"required()\"\n [value]=\"value()\"\n (input)=\"value.set($event.target.value)\"\n/>\n","import { Component, input, signal } from '@angular/core';\nimport { disabled, form, required, FormRoot, FormField, maxLength } from '@angular/forms/signals';\nimport { InputComponent } from '../input/input';\nimport { ButtonComponent } from '../button/button';\n\ntype ChatFormData = {\n message: string;\n};\n\n@Component({\n selector: 'tikal-chat-form',\n imports: [FormRoot, FormField, InputComponent, ButtonComponent],\n templateUrl: './chat-form.html',\n styleUrl: './chat-form.scss',\n})\nexport class ChatFormComponent {\n /** @ignore */\n private readonly chatFormData = signal<ChatFormData>({ message: '' });\n\n /** What should happen when the form is submitted? */\n readonly onSubmission = input.required<(message: string) => Promise<void>>();\n\n /** What placeholder should be displayed on the input? */\n readonly placeholder = input<string>();\n\n /** What is the max input length? */\n readonly maxLength = input<number>(50);\n\n /** What is the label of the input element? */\n readonly label = input<string>();\n\n /** @ignore */\n readonly chatForm = form(\n this.chatFormData,\n (schemaPath) => {\n required(schemaPath.message);\n maxLength(schemaPath.message, () => this.maxLength());\n disabled(schemaPath, { when: () => this.chatForm().submitting() });\n },\n {\n submission: {\n action: async (field) => {\n const message = field().value().message;\n\n await this.onSubmission()(message);\n\n field.message().reset('');\n },\n },\n },\n );\n}\n","<form [formRoot]=\"chatForm\">\n <tikal-input [formField]=\"chatForm.message\" [label]=\"label()\" [placeholder]=\"placeholder()\" />\n <tikal-button icon=\"send\" type=\"submit\" [isLoading]=\"chatForm().submitting()\" />\n</form>\n","import { Component } from '@angular/core';\nimport { SkeletonModule } from 'primeng/skeleton';\n\n@Component({\n selector: 'tikal-skeleton',\n imports: [SkeletonModule],\n templateUrl: './skeleton.html',\n styleUrl: './skeleton.scss',\n})\nexport class SkeletonComponent {}\n","<p-skeleton />\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'tikal-player-count',\n imports: [],\n templateUrl: './player-count.html',\n styleUrl: './player-count.scss',\n})\nexport class PlayerCountComponent {\n /** How many players are currently in the lobby? */\n readonly currentPlayers = input.required<number>();\n\n /** How many players fit in the lobby? */\n readonly maxPlayers = input.required<number>();\n}\n","<p>{{ currentPlayers() }}/{{ maxPlayers() }}</p>\n<div class=\"bar\">\n <div\n class=\"bar-fill\"\n [class.full]=\"currentPlayers() >= maxPlayers()\"\n [style.width]=\"(currentPlayers() / maxPlayers()) * 100 + '%'\"\n ></div>\n</div>\n","/*\n * Public API Surface of tikal-ui-components\n */\n\n// Button\nexport * from './lib/components/button/button';\n\n// Input\nexport * from './lib/components/input/input';\n\n// Chat form\nexport * from './lib/components/chat-form/chat-form';\n\n// Skeleton\nexport * from './lib/components/skeleton/skeleton';\n\n// Player count\nexport * from './lib/components/player-count/player-count';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tikal-ui-components",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/Tikal-online/tikal-game.git"
@@ -78,5 +78,14 @@ declare class SkeletonComponent {
78
78
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonComponent, "tikal-skeleton", never, {}, {}, never, never, true, never>;
79
79
  }
80
80
 
81
- export { ButtonComponent, ChatFormComponent, InputComponent, SkeletonComponent };
81
+ declare class PlayerCountComponent {
82
+ /** How many players are currently in the lobby? */
83
+ readonly currentPlayers: _angular_core.InputSignal<number>;
84
+ /** How many players fit in the lobby? */
85
+ readonly maxPlayers: _angular_core.InputSignal<number>;
86
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PlayerCountComponent, never>;
87
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PlayerCountComponent, "tikal-player-count", never, { "currentPlayers": { "alias": "currentPlayers"; "required": true; "isSignal": true; }; "maxPlayers": { "alias": "maxPlayers"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
88
+ }
89
+
90
+ export { ButtonComponent, ChatFormComponent, InputComponent, PlayerCountComponent, SkeletonComponent };
82
91
  export type { ButtonColour, ButtonSize, ButtonType };