UNPKG

@betokyo/ui-components

Version:

As part of a school project, the BeTokyo UI components library allows us to reuse components in each of our web apps.

1 lines 30.8 kB
{"version":3,"file":"betokyo-ui-components.mjs","sources":["../../../projects/ui-components/src/ui/button/button.component.ts","../../../projects/ui-components/src/ui/button/button.component.html","../../../projects/ui-components/src/ui/navbar/navbar.component.ts","../../../projects/ui-components/src/ui/navbar/navbar.component.html","../../../projects/ui-components/src/ui/calendar/calendar.component.ts","../../../projects/ui-components/src/ui/calendar/calendar.component.html","../../../projects/ui-components/src/ui/turn-schedule/turn-schedule.component.ts","../../../projects/ui-components/src/ui/turn-schedule/turn-schedule.component.html","../../../projects/ui-components/src/ui/service-list/service-list.component.ts","../../../projects/ui-components/src/ui/service-list/service-list.component.html","../../../projects/ui-components/src/ui/booking-summary/booking-summary.component.ts","../../../projects/ui-components/src/ui/booking-summary/booking-summary.component.html","../../../projects/ui-components/src/ui/header/header.component.ts","../../../projects/ui-components/src/ui/header/header.component.html","../../../projects/ui-components/src/ui/be-tokyo.module.ts","../../../projects/ui-components/src/public-api.ts","../../../projects/ui-components/src/betokyo-ui-components.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ui-button',\n templateUrl: \"./button.component.html\",\n styleUrls: ['./button.component.css', '../assets/styles/theme.css'],\n})\nexport class ButtonComponent {\n @Input() type: 'primary' | 'secondary' | 'danger' | 'light' | 'dark' = 'primary';\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() label: string | undefined;\n @Output() clickHandler = new EventEmitter<Event>();\n\n onClickHandler(event: Event) {\n this.clickHandler.emit(event);\n }\n\n get cssStyle(): string {\n return [ \n `button--${this.type}`,\n `button--${this.size}`,\n ].join(' ');\n }\n}\n","<button\r\n type=\"button\"\r\n class=\"button {{cssStyle}}\"\r\n (click)=\"onClickHandler($event)\">\r\n {{ label }}\r\n</button> ","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ui-navbar',\n templateUrl: \"./navbar.component.html\",\n styleUrls: ['./navbar.component.css', '../assets/styles/theme.css']\n})\nexport class NavbarComponent {\n \n @Input() public logoPath: string | undefined;\n @Input() public logoTitle: string | undefined;\n @Input() public items!: NavbarItem[];\n @Output() public clickHandler = new EventEmitter<NavbarEvent>();\n\n onClickHandler(item: NavbarItem){\n this.items.forEach(item => item.active = false);\n item.active = true;\n this.clickHandler.emit({\n item: item\n })\n }\n}\n\nexport interface NavbarItem {\n icon: string;\n label: string; \n active: boolean | undefined;\n}\n\nexport interface NavbarEvent {\n item: NavbarItem\n}","<nav class=\"navbar\">\r\n <img class=\"navbar-logo\" src=\"{{logoPath}}\" title=\"{{logoTitle}}\" />\r\n <button type=\"button\" *ngFor=\"let item of items\" class=\"navbar-button {{item.active ? 'active' : ''}}\"\r\n title=\"{{item.label}}\" (click)=\"onClickHandler(item)\">\r\n <i *ngIf=\"item.icon\" class=\"icon {{ item.icon }}\"></i>\r\n <span>{{ item.label }}</span>\r\n </button>\r\n</nav>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nconst MONTHS: string[] = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nconst DAYS: string[] = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];\n\n@Component({\n selector: 'ui-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.css', '../assets/styles/theme.css']\n})\nexport class CalendarComponent implements OnInit {\n\n @Input() public months: string[] | undefined;\n @Input() public days: string[] | undefined;\n @Input() public schedule!: MonthSchedule;\n @Output() public clickHandler = new EventEmitter<DateSelectedEvent>();\n @Output() public changeHandler = new EventEmitter<ChangeMonthEvent>();\n\n ngOnInit(): void {\n if (this.months === undefined) {\n this.months = [...MONTHS];\n }\n if (this.days === undefined) {\n this.days = [...DAYS];\n }\n }\n\n onClickHandler(day: Day): void {\n if (day.month !== undefined) {\n this.clickHandler.emit(new DateSelectedEvent(this.schedule.year, day.month, day.date));\n }\n }\n\n onNextHandler(): void {\n if (this.schedule.month == 12) {\n this.changeHandler.emit({\n month: 1,\n year: this.schedule.year + 1\n })\n }\n else {\n this.changeHandler.emit({\n month: this.schedule.month + 1,\n year: this.schedule.year\n });\n }\n }\n\n onPrevHandler(): void {\n if (this.schedule.month == 1) {\n this.changeHandler.emit({\n month: 12,\n year: this.schedule.year - 1\n })\n }\n else {\n this.changeHandler.emit({\n month: this.schedule.month - 1,\n year: this.schedule.year\n });\n }\n }\n\n isPrevDisabled(): boolean {\n return this.schedule.month <= (new Date().getMonth() + 1)\n }\n\n month(): string {\n if (this.month !== undefined) {\n return this.months![this.schedule.month - 1];\n }\n throw new Error('Unknown month');\n }\n\n scheduleDays(): Day[] {\n return [\n ...this.getPrevDays(),\n ...this.getScheduleDays(),\n ...this.getNextDays()\n ]\n }\n\n private getScheduleDays(): Day[] {\n const today = new Date();\n const currentMonth = today.getMonth() + 1;\n\n if (currentMonth < this.schedule.month) {\n return this.schedule.days.map(day => {\n return {\n ...day,\n month: this.schedule.month\n }\n });\n }\n\n if (currentMonth > this.schedule.month) {\n return this.schedule.days.map(day => {\n return {\n ...day,\n available: false,\n month: this.schedule.month\n }\n })\n }\n\n const todayDate = today.getDate();\n return this.schedule.days.map(day => {\n return (day.date >= todayDate) ? {\n ...day,\n month: this.schedule.month\n } : {\n ...day,\n available: false,\n month: this.schedule.month\n };\n });\n }\n\n private getPrevDays(): Day[] {\n const current = new Date(`${this.schedule.year}-${this.schedule.month}-01`);\n const days: { date: number, available: boolean, month: number }[] = [];\n const lastDayOfMonth = new Date(current);\n lastDayOfMonth.setDate(current.getDate() - 1);\n const dayOfWeek = lastDayOfMonth.getDay();\n const month = lastDayOfMonth.getMonth() + 1;\n if (dayOfWeek < 6) {\n Array.from(Array(dayOfWeek + 1).keys()).forEach(() => {\n days.push({ date: lastDayOfMonth.getDate(), available: false, month: month })\n lastDayOfMonth.setDate(lastDayOfMonth.getDate() - 1)\n });\n }\n return [...days.reverse()];\n }\n\n private getNextDays(): Day[] {\n const current = new Date(`${this.schedule.year}-${this.schedule.month}-01`);\n const days: { date: number, month: number, available: boolean }[] = [];\n const firstDayOfMonth = new Date(current);\n firstDayOfMonth.setMonth(current.getMonth() + 1);\n const dayOfWeek = firstDayOfMonth.getDay();\n const month = firstDayOfMonth.getMonth() + 1;\n if (dayOfWeek > 0) {\n Array.from(Array(7 - dayOfWeek).keys()).forEach(x => {\n days.push({ date: x + 1, month: month, available: true })\n })\n }\n return [...days];\n }\n}\n\nexport interface MonthSchedule {\n year: number;\n month: number;\n days: Day[];\n}\n\nexport interface Day {\n date: number;\n month?: number;\n available: boolean;\n}\n\nexport interface ChangeMonthEvent {\n year: number;\n month: number;\n}\n\nexport class DateSelectedEvent {\n\n constructor(\n public year: number,\n public month: number,\n public date: number) { }\n\n toString(): string {\n return `${this.year}-${this.toTwoString(this.month)}-${this.toTwoString(this.date)}`;\n }\n\n private toTwoString(n: number): string {\n return n < 10 ? `0${n}` : `${n}`;\n }\n}","<div class=\"calendar\">\n <nav class=\"calendar-nav\">\n <button type=\"button\" class=\"calendar-nav-button\" (click)=\"onPrevHandler()\" [disabled]=\"isPrevDisabled()\">\n <\n </button>\n <span class=\"calendar-nav-title\">\n {{ month() }} {{schedule.year}}\n </span>\n <button type=\"button\" class=\"calendar-nav-button\" (click)=\"onNextHandler()\">\n >\n </button>\n </nav>\n <div class=\"calendar-header-row\">\n <span *ngFor=\"let dayName of days\" class=\"calendar-header-title\">\n {{dayName}}\n </span>\n </div>\n <div class=\"calendar-body-row\">\n <button type=\"button\" *ngFor=\"let day of scheduleDays()\" class=\"calendar-day-button\" [disabled]=\"!day.available\"\n (click)=\"onClickHandler(day)\">{{day.date}}</button>\n </div>\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'ui-turn-schedule',\n templateUrl: './turn-schedule.component.html',\n styleUrls: ['./turn-schedule.component.css', '../assets/styles/theme.css']\n})\nexport class TurnScheduleComponent implements OnInit {\n\n public resources: ResourceSummary[] | undefined;\n @Input() public title: string | undefined;\n @Input() public schedule!: TurnScheduleModel;\n @Output() public clickHandler = new EventEmitter<TurnSelectedEvent>();\n\n ngOnInit(): void {\n const temp: ResourceSummary[] = [];\n this.resources = this.schedule.turns.map(turn => {\n const length = turn.resources.length;\n return turn.resources.map(resource => new ResourceSummary(resource.id, resource.name, length))\n }).reduce(x => temp.concat(x));\n }\n\n onClickHandler(resource: ResourceDtoModel, time: string): void {\n this.clickHandler.emit(new TurnSelectedEvent(resource.id, new Date(`${this.schedule.date}T${time}:00`)));\n }\n\n isDisabled(resource: ResourceDtoModel) : boolean {\n return resource.status !== 'available';\n }\n\n getStyle(resources: ResourceSummary[] | undefined) {\n if (resources === undefined) {\n return `width:100%;`\n }\n return `width: ${(100/(resources.length)) - 2 }%;`\n }\n\n date() : string {\n return new Date(this.schedule.date).toLocaleDateString();\n }\n}\n\nclass ResourceSummary {\n constructor(\n public id: string,\n public name: string,\n private length: number) { }\n\n getStyle() {\n return `width: ${(100/ this.length) - 5}%`\n }\n}\n\nexport interface TurnScheduleModel {\n date: string;\n turns: TurnDtoModel[]\n}\n\nexport interface TurnDtoModel {\n time: string;\n state: string;\n resources: ResourceDtoModel[]\n}\n\nexport interface ResourceDtoModel {\n id: string;\n name: string;\n status: string;\n}\n\nexport class TurnSelectedEvent {\n constructor(\n public resourceId: string,\n public datetime: Date) { }\n}","<div class=\"turn-schedule\">\n <header class=\"turn-schedule-header\">\n <h3>{{title}}</h3>\n <h3>{{date()}}</h3>\n </header>\n <div class=\"turn-schedule-body\">\n <div class=\"turn-schedule-resources\">\n <span class=\"turn-schedule-title\"\n *ngFor=\"let resource of resources;\"\n [style]=\"resource.getStyle()\">\n {{resource.name}}\n </span>\n </div>\n <div class=\"turn-schedule-hours\" *ngFor=\"let turn of schedule.turns\">\n <button class=\"turn-schedule-button\"\n type=\"button\"\n *ngFor=\"let resource of turn.resources\"\n [disabled]=\"isDisabled(resource)\"\n [style]=\"getStyle(resources)\"\n (click)=\"onClickHandler(resource, turn.time)\">\n {{turn.time}}\n </button>\n </div>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'ui-service-list',\r\n templateUrl: './service-list.component.html',\r\n styleUrls: ['./service-list.component.css', '../assets/styles/theme.css']\r\n})\r\nexport class ServiceListComponent {\r\n\r\n @Input() public services!: ServiceDtoModel[];\r\n @Output() public clickHandler = new EventEmitter<ServiceSelectedEvent>();\r\n\r\n onClickHandler(id: string): void {\r\n this.clickHandler.emit(new ServiceSelectedEvent(id));\r\n }\r\n}\r\n\r\nexport interface ServiceDtoModel {\r\n id: string;\r\n name: string;\r\n description: string;\r\n price: number;\r\n available: boolean;\r\n}\r\n\r\nexport class ServiceSelectedEvent {\r\n constructor(public id: string) { }\r\n}","<div class=\"service-list\">\n <div *ngFor=\"let service of services\" class=\"service\" (click)=\"onClickHandler(service.id)\">\n <div class=\"service-details\">\n <h2>{{service.name}}</h2>\n <p>{{service.description}}</p>\n </div>\n <div class=\"service-price\">\n <strong>{{service.price}} &euro;</strong>\n </div>\n </div>\n</div>","import { DatePipe } from '@angular/common';\r\nimport { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'ui-booking-summary',\r\n templateUrl: './booking-summary.component.html',\r\n styleUrls: ['./booking-summary.component.css', '../assets/styles/theme.css'],\r\n providers: [DatePipe]\r\n})\r\nexport class BookingSummaryComponent {\r\n\r\n @Input() public booking!: BookingSummaryModel;\r\n\r\n constructor(private datePipe: DatePipe) {\r\n }\r\n\r\n date() {\r\n return this.datePipe.transform(this.booking.date, 'fullDate');\r\n }\r\n\r\n time() {\r\n return this.datePipe.transform(this.booking.date, 'shortTime');\r\n }\r\n}\r\n\r\nexport interface BookingSummaryModel {\r\n service: string;\r\n resource: string;\r\n status: string | undefined;\r\n price: number;\r\n date: Date\r\n}","<div class=\"booking-summary booking-{{booking.status}}\">\r\n <div class=\"booking-summary-row\">\r\n <div class=\"service\">\r\n {{booking.service}}\r\n </div>\r\n <div class=\"date\">\r\n {{date()}}\r\n </div>\r\n </div>\r\n <div class=\"booking-summary-row\">\r\n <div class=\"resource\">\r\n {{booking.resource}}\r\n </div>\r\n <div class=\"time\">\r\n {{time()}}\r\n </div>\r\n </div>\r\n <div class=\"booking-summary-row\">\r\n <div class=\"status\">\r\n {{booking.status}}\r\n </div>\r\n <div class=\"price\">\r\n {{booking.price}} &euro;\r\n </div>\r\n </div>\r\n</div>","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'ui-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css', '../assets/styles/theme.css']\r\n})\r\nexport class HeaderComponent {\r\n @Input() public logoPath: string | undefined;\r\n @Input() public logoTitle: string | undefined;\r\n @Input() public supplier!: string;\r\n}","<div class=\"header\">\r\n <div class=\"header-supplier-title\">\r\n <img src=\"{{logoPath}}\" title=\"{{logoTitle}}\" class=\"betokyo-logo\" />\r\n <span class=\"supplier\">{{supplier}}</span>\r\n </div>\r\n <div class=\"header-betokyo-title\">\r\n BeTokyo\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonComponent } from './button/button.component';\nimport { NavbarComponent } from './navbar/navbar.component';\nimport { CalendarComponent } from './calendar/calendar.component';\nimport { TurnScheduleComponent } from './turn-schedule/turn-schedule.component';\nimport { ServiceListComponent } from './service-list/service-list.component';\nimport { BookingSummaryComponent } from './booking-summary/booking-summary.component';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HeaderComponent } from './header/header.component';\n\n@NgModule({\n declarations: [\n ButtonComponent,\n NavbarComponent,\n CalendarComponent,\n TurnScheduleComponent,\n ServiceListComponent,\n BookingSummaryComponent,\n HeaderComponent\n ],\n imports: [\n CommonModule,\n BrowserModule\n ],\n exports: [\n ButtonComponent,\n NavbarComponent,\n CalendarComponent,\n TurnScheduleComponent,\n ServiceListComponent,\n BookingSummaryComponent,\n HeaderComponent\n ]\n})\nexport class BeTokyoModule { }\n","/*\n * Public API Surface of ui-components\n */\n\nexport * from './ui/button/button.component';\nexport * from './ui/navbar/navbar.component';\nexport * from './ui/calendar/calendar.component';\nexport * from './ui/turn-schedule/turn-schedule.component';\nexport * from './ui/service-list/service-list.component';\nexport * from './ui/booking-summary/booking-summary.component';\nexport * from './ui/header/header.component'\nexport * from './ui/be-tokyo.module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}