tikal-ui-components 0.9.0 → 0.9.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.
@@ -226,11 +226,11 @@ class PlayerSlotListComponent {
226
226
  isLoading = input(false, /* @ts-ignore */
227
227
  ...(ngDevMode ? [{ debugName: "isLoading" }] : /* istanbul ignore next */ []));
228
228
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: PlayerSlotListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
229
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: PlayerSlotListComponent, isStandalone: true, selector: "tikal-player-slot-list", inputs: { maxPlayers: { classPropertyName: "maxPlayers", publicName: "maxPlayers", isSignal: true, isRequired: true, transformFunction: null }, players: { classPropertyName: "players", publicName: "players", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'player-slot-list'\">\n <div class=\"header\">\n <span>{{ t('players') }}</span>\n <svg data-p-icon=\"user\"></svg>\n <span>{{ players().length }}/{{ maxPlayers() }}</span>\n </div>\n <div class=\"players\">\n @if (isLoading()) {\n @for (empty of [].constructor(maxPlayers()); track $index) {\n <tikal-empty-player-slot [isLoading]=\"true\" />\n }\n } @else {\n @for (player of players(); track $index) {\n <tikal-player-slot [colour]=\"player.colour\" [name]=\"player.name\" />\n }\n @for (empty of [].constructor(maxPlayers() - players().length); track $index) {\n <tikal-empty-player-slot />\n }\n }\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:20rem}.players{border:var(--p-content-border-color) solid 1px;border-radius:var(--p-content-border-radius);overflow:hidden}.players>*+*{border-top:var(--p-content-border-color) solid 1px}.header{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem .1rem}\n"], dependencies: [{ kind: "component", type: PlayerSlotComponent, selector: "tikal-player-slot", inputs: ["name", "colour"] }, { kind: "component", type: EmptyPlayerSlotComponent, selector: "tikal-empty-player-slot", inputs: ["isLoading"] }, { kind: "component", type: User, selector: "svg[data-p-icon=\"user\"]" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] });
229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.3", type: PlayerSlotListComponent, isStandalone: true, selector: "tikal-player-slot-list", inputs: { maxPlayers: { classPropertyName: "maxPlayers", publicName: "maxPlayers", isSignal: true, isRequired: true, transformFunction: null }, players: { classPropertyName: "players", publicName: "players", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'player-slot-list'\">\n <div class=\"header\">\n <span>{{ t('players') }}</span>\n <svg data-p-icon=\"user\"></svg>\n <span>{{ players().length }}/{{ maxPlayers() }}</span>\n </div>\n <div class=\"players\">\n @if (isLoading()) {\n @for (empty of [].constructor(maxPlayers()); track $index) {\n <tikal-empty-player-slot [isLoading]=\"true\" />\n }\n } @else {\n @for (player of players(); track $index) {\n <tikal-player-slot [colour]=\"player.selectedColour\" [name]=\"player.name\" />\n }\n @for (empty of [].constructor(maxPlayers() - players().length); track $index) {\n <tikal-empty-player-slot />\n }\n }\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:20rem}.players{border:var(--p-content-border-color) solid 1px;border-radius:var(--p-content-border-radius);overflow:hidden}.players>*+*{border-top:var(--p-content-border-color) solid 1px}.header{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem .1rem}\n"], dependencies: [{ kind: "component", type: PlayerSlotComponent, selector: "tikal-player-slot", inputs: ["name", "colour"] }, { kind: "component", type: EmptyPlayerSlotComponent, selector: "tikal-empty-player-slot", inputs: ["isLoading"] }, { kind: "component", type: User, selector: "svg[data-p-icon=\"user\"]" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] });
230
230
  }
231
231
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImport: i0, type: PlayerSlotListComponent, decorators: [{
232
232
  type: Component,
233
- args: [{ selector: 'tikal-player-slot-list', imports: [PlayerSlotComponent, EmptyPlayerSlotComponent, User, TranslocoDirective], template: "<ng-container *transloco=\"let t; prefix: 'player-slot-list'\">\n <div class=\"header\">\n <span>{{ t('players') }}</span>\n <svg data-p-icon=\"user\"></svg>\n <span>{{ players().length }}/{{ maxPlayers() }}</span>\n </div>\n <div class=\"players\">\n @if (isLoading()) {\n @for (empty of [].constructor(maxPlayers()); track $index) {\n <tikal-empty-player-slot [isLoading]=\"true\" />\n }\n } @else {\n @for (player of players(); track $index) {\n <tikal-player-slot [colour]=\"player.colour\" [name]=\"player.name\" />\n }\n @for (empty of [].constructor(maxPlayers() - players().length); track $index) {\n <tikal-empty-player-slot />\n }\n }\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:20rem}.players{border:var(--p-content-border-color) solid 1px;border-radius:var(--p-content-border-radius);overflow:hidden}.players>*+*{border-top:var(--p-content-border-color) solid 1px}.header{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem .1rem}\n"] }]
233
+ args: [{ selector: 'tikal-player-slot-list', imports: [PlayerSlotComponent, EmptyPlayerSlotComponent, User, TranslocoDirective], template: "<ng-container *transloco=\"let t; prefix: 'player-slot-list'\">\n <div class=\"header\">\n <span>{{ t('players') }}</span>\n <svg data-p-icon=\"user\"></svg>\n <span>{{ players().length }}/{{ maxPlayers() }}</span>\n </div>\n <div class=\"players\">\n @if (isLoading()) {\n @for (empty of [].constructor(maxPlayers()); track $index) {\n <tikal-empty-player-slot [isLoading]=\"true\" />\n }\n } @else {\n @for (player of players(); track $index) {\n <tikal-player-slot [colour]=\"player.selectedColour\" [name]=\"player.name\" />\n }\n @for (empty of [].constructor(maxPlayers() - players().length); track $index) {\n <tikal-empty-player-slot />\n }\n }\n </div>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column;width:20rem}.players{border:var(--p-content-border-color) solid 1px;border-radius:var(--p-content-border-radius);overflow:hidden}.players>*+*{border-top:var(--p-content-border-color) solid 1px}.header{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem .1rem}\n"] }]
234
234
  }], propDecorators: { maxPlayers: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxPlayers", required: true }] }], players: [{ type: i0.Input, args: [{ isSignal: true, alias: "players", required: true }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }] } });
235
235
 
236
236
  /*
@@ -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/lib/components/player-count/player-count.ts","../../../projects/tikal-ui-components/src/lib/components/player-count/player-count.html","../../../projects/tikal-ui-components/src/lib/components/chip/chip.ts","../../../projects/tikal-ui-components/src/lib/components/chip/chip.html","../../../projects/tikal-ui-components/src/lib/components/empty-player-slot/empty-player-slot.ts","../../../projects/tikal-ui-components/src/lib/components/empty-player-slot/empty-player-slot.html","../../../projects/tikal-ui-components/src/lib/components/player-slot/player-slot.ts","../../../projects/tikal-ui-components/src/lib/components/player-slot/player-slot.html","../../../projects/tikal-ui-components/src/lib/components/player-slot-list/player-slot-list.ts","../../../projects/tikal-ui-components/src/lib/components/player-slot-list/player-slot-list.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 /** What form should the button belong to? */\n readonly form = input<string>();\n}\n","<button\n pButton\n [attr.form]=\"form()\"\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 /** Should the input take the full widht? */\n readonly expand = input<boolean>(false);\n}\n","<input\n pInputText\n [ariaLabel]=\"label()\"\n [class.full-length]=\"expand()\"\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","import { Component, input } from '@angular/core';\nimport { ChipModule } from 'primeng/chip';\nimport { PIcon } from '@primeicons/angular';\n\n@Component({\n selector: 'tikal-chip',\n imports: [ChipModule, PIcon],\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n})\nexport class ChipComponent {\n /** What icon should the chip display? */\n readonly icon = input<string>('');\n\n /** What text should the chip display? */\n readonly label = input.required<string>();\n}\n","<p-chip [label]=\"label()\">\n @if (icon()) {\n <svg [pIcon]=\"icon()\"></svg>\n }\n</p-chip>\n","import { Component, input } from '@angular/core';\nimport { TranslocoDirective } from '@jsverse/transloco';\nimport { SkeletonComponent } from '../skeleton/skeleton';\n\n@Component({\n selector: 'tikal-empty-player-slot',\n imports: [TranslocoDirective, SkeletonComponent],\n templateUrl: './empty-player-slot.html',\n styleUrl: './empty-player-slot.scss',\n})\nexport class EmptyPlayerSlotComponent {\n /** Is the player currently loading? */\n readonly isLoading = input<boolean>(false);\n}\n","@if (isLoading()) {\n <tikal-skeleton />\n} @else {\n <ng-container *transloco=\"let t; prefix: 'empty-player-slot'\">\n <span class=\"dot\"></span>\n <p>{{ t('open-slot') }}</p>\n </ng-container>\n}\n","import { Component, input } from '@angular/core';\nimport { EnumMapPipe } from '../../../pipes/enum-map';\n\nexport type PlayerColour = 'red' | 'black' | 'green' | 'blue' | 'yellow';\n\n@Component({\n selector: 'tikal-player-slot',\n imports: [EnumMapPipe],\n templateUrl: './player-slot.html',\n styleUrl: './player-slot.scss',\n})\nexport class PlayerSlotComponent {\n /** What is the name of the player? */\n readonly name = input.required<string>();\n\n /** What is the colour of the player? */\n readonly colour = input.required<PlayerColour>();\n\n /** @ignore */\n readonly colourMap = {\n red: 'var(--p-red-500)',\n green: 'var(--p-green-500)',\n blue: 'var(--p-blue-500)',\n yellow: 'var(--p-yellow-500)',\n };\n}\n","<span class=\"dot\" [style.background-color]=\"colour() | enumMap: colourMap\"></span>\n<p>{{ name() }}</p>\n","import { Component, input } from '@angular/core';\nimport { PlayerColour, PlayerSlotComponent } from '../player-slot/player-slot';\nimport { EmptyPlayerSlotComponent } from '../empty-player-slot/empty-player-slot';\nimport { User } from '@primeicons/angular';\nimport { TranslocoDirective } from '@jsverse/transloco';\n\nexport type PlayerSlotData = {\n name: string;\n colour: PlayerColour;\n};\n\n@Component({\n selector: 'tikal-player-slot-list',\n imports: [PlayerSlotComponent, EmptyPlayerSlotComponent, User, TranslocoDirective],\n templateUrl: './player-slot-list.html',\n styleUrl: './player-slot-list.scss',\n})\nexport class PlayerSlotListComponent {\n /** How many players fit in the lobby? */\n readonly maxPlayers = input.required<number>();\n\n /** What players are currently in the lobby? */\n readonly players = input.required<PlayerSlotData[]>();\n\n /** Are the players currenlty loading? */\n readonly isLoading = input<boolean>(false);\n}\n","<ng-container *transloco=\"let t; prefix: 'player-slot-list'\">\n <div class=\"header\">\n <span>{{ t('players') }}</span>\n <svg data-p-icon=\"user\"></svg>\n <span>{{ players().length }}/{{ maxPlayers() }}</span>\n </div>\n <div class=\"players\">\n @if (isLoading()) {\n @for (empty of [].constructor(maxPlayers()); track $index) {\n <tikal-empty-player-slot [isLoading]=\"true\" />\n }\n } @else {\n @for (player of players(); track $index) {\n <tikal-player-slot [colour]=\"player.colour\" [name]=\"player.name\" />\n }\n @for (empty of [].constructor(maxPlayers() - players().length); track $index) {\n <tikal-empty-player-slot />\n }\n }\n </div>\n</ng-container>\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// Chip\nexport * from './lib/components/chip/chip';\n\n// Empty player slot\nexport * from './lib/components/empty-player-slot/empty-player-slot';\n\n// Player slot\nexport * from './lib/components/player-slot/player-slot';\n\n// Player slot list\nexport * from './lib/components/player-slot-list/player-slot-list';\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/lib/components/chip/chip.ts","../../../projects/tikal-ui-components/src/lib/components/chip/chip.html","../../../projects/tikal-ui-components/src/lib/components/empty-player-slot/empty-player-slot.ts","../../../projects/tikal-ui-components/src/lib/components/empty-player-slot/empty-player-slot.html","../../../projects/tikal-ui-components/src/lib/components/player-slot/player-slot.ts","../../../projects/tikal-ui-components/src/lib/components/player-slot/player-slot.html","../../../projects/tikal-ui-components/src/lib/components/player-slot-list/player-slot-list.ts","../../../projects/tikal-ui-components/src/lib/components/player-slot-list/player-slot-list.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 /** What form should the button belong to? */\n readonly form = input<string>();\n}\n","<button\n pButton\n [attr.form]=\"form()\"\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 /** Should the input take the full widht? */\n readonly expand = input<boolean>(false);\n}\n","<input\n pInputText\n [ariaLabel]=\"label()\"\n [class.full-length]=\"expand()\"\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","import { Component, input } from '@angular/core';\nimport { ChipModule } from 'primeng/chip';\nimport { PIcon } from '@primeicons/angular';\n\n@Component({\n selector: 'tikal-chip',\n imports: [ChipModule, PIcon],\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n})\nexport class ChipComponent {\n /** What icon should the chip display? */\n readonly icon = input<string>('');\n\n /** What text should the chip display? */\n readonly label = input.required<string>();\n}\n","<p-chip [label]=\"label()\">\n @if (icon()) {\n <svg [pIcon]=\"icon()\"></svg>\n }\n</p-chip>\n","import { Component, input } from '@angular/core';\nimport { TranslocoDirective } from '@jsverse/transloco';\nimport { SkeletonComponent } from '../skeleton/skeleton';\n\n@Component({\n selector: 'tikal-empty-player-slot',\n imports: [TranslocoDirective, SkeletonComponent],\n templateUrl: './empty-player-slot.html',\n styleUrl: './empty-player-slot.scss',\n})\nexport class EmptyPlayerSlotComponent {\n /** Is the player currently loading? */\n readonly isLoading = input<boolean>(false);\n}\n","@if (isLoading()) {\n <tikal-skeleton />\n} @else {\n <ng-container *transloco=\"let t; prefix: 'empty-player-slot'\">\n <span class=\"dot\"></span>\n <p>{{ t('open-slot') }}</p>\n </ng-container>\n}\n","import { Component, input } from '@angular/core';\nimport { EnumMapPipe } from '../../../pipes/enum-map';\n\nexport type PlayerColour = 'red' | 'black' | 'green' | 'blue' | 'yellow';\n\n@Component({\n selector: 'tikal-player-slot',\n imports: [EnumMapPipe],\n templateUrl: './player-slot.html',\n styleUrl: './player-slot.scss',\n})\nexport class PlayerSlotComponent {\n /** What is the name of the player? */\n readonly name = input.required<string>();\n\n /** What is the colour of the player? */\n readonly colour = input.required<PlayerColour>();\n\n /** @ignore */\n readonly colourMap = {\n red: 'var(--p-red-500)',\n green: 'var(--p-green-500)',\n blue: 'var(--p-blue-500)',\n yellow: 'var(--p-yellow-500)',\n };\n}\n","<span class=\"dot\" [style.background-color]=\"colour() | enumMap: colourMap\"></span>\n<p>{{ name() }}</p>\n","import { Component, input } from '@angular/core';\nimport { PlayerColour, PlayerSlotComponent } from '../player-slot/player-slot';\nimport { EmptyPlayerSlotComponent } from '../empty-player-slot/empty-player-slot';\nimport { User } from '@primeicons/angular';\nimport { TranslocoDirective } from '@jsverse/transloco';\n\nexport type PlayerSlotData = {\n name: string;\n selectedColour: PlayerColour;\n};\n\n@Component({\n selector: 'tikal-player-slot-list',\n imports: [PlayerSlotComponent, EmptyPlayerSlotComponent, User, TranslocoDirective],\n templateUrl: './player-slot-list.html',\n styleUrl: './player-slot-list.scss',\n})\nexport class PlayerSlotListComponent {\n /** How many players fit in the lobby? */\n readonly maxPlayers = input.required<number>();\n\n /** What players are currently in the lobby? */\n readonly players = input.required<PlayerSlotData[]>();\n\n /** Are the players currenlty loading? */\n readonly isLoading = input<boolean>(false);\n}\n","<ng-container *transloco=\"let t; prefix: 'player-slot-list'\">\n <div class=\"header\">\n <span>{{ t('players') }}</span>\n <svg data-p-icon=\"user\"></svg>\n <span>{{ players().length }}/{{ maxPlayers() }}</span>\n </div>\n <div class=\"players\">\n @if (isLoading()) {\n @for (empty of [].constructor(maxPlayers()); track $index) {\n <tikal-empty-player-slot [isLoading]=\"true\" />\n }\n } @else {\n @for (player of players(); track $index) {\n <tikal-player-slot [colour]=\"player.selectedColour\" [name]=\"player.name\" />\n }\n @for (empty of [].constructor(maxPlayers() - players().length); track $index) {\n <tikal-empty-player-slot />\n }\n }\n </div>\n</ng-container>\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// Chip\nexport * from './lib/components/chip/chip';\n\n// Empty player slot\nexport * from './lib/components/empty-player-slot/empty-player-slot';\n\n// Player slot\nexport * from './lib/components/player-slot/player-slot';\n\n// Player slot list\nexport * from './lib/components/player-slot-list/player-slot-list';\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.9.0",
3
+ "version": "0.9.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/Tikal-online/tikal-game.git"
@@ -126,7 +126,7 @@ declare class PlayerSlotComponent {
126
126
 
127
127
  type PlayerSlotData = {
128
128
  name: string;
129
- colour: PlayerColour;
129
+ selectedColour: PlayerColour;
130
130
  };
131
131
  declare class PlayerSlotListComponent {
132
132
  /** How many players fit in the lobby? */