@goat-bravos/intern-hub-layout 1.0.1 → 1.0.3

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.
Files changed (100) hide show
  1. package/dist/intern-hub-layout/README.md +267 -0
  2. package/dist/intern-hub-layout/fesm2022/goat-bravos-intern-hub-layout.mjs +561 -0
  3. package/dist/intern-hub-layout/fesm2022/goat-bravos-intern-hub-layout.mjs.map +1 -0
  4. package/dist/intern-hub-layout/types/goat-bravos-intern-hub-layout.d.ts +189 -0
  5. package/package.json +46 -33
  6. package/.editorconfig +0 -17
  7. package/.vscode/extensions.json +0 -4
  8. package/.vscode/launch.json +0 -20
  9. package/.vscode/mcp.json +0 -9
  10. package/.vscode/tasks.json +0 -42
  11. package/angular.json +0 -131
  12. package/ng-package.json +0 -6
  13. package/projects/layout-templates/README.md +0 -63
  14. package/projects/layout-templates/ng-package.json +0 -7
  15. package/projects/layout-templates/package.json +0 -12
  16. package/projects/layout-templates/src/lib/layout-templates.spec.ts +0 -23
  17. package/projects/layout-templates/src/lib/layout-templates.ts +0 -15
  18. package/projects/layout-templates/src/public-api.ts +0 -5
  19. package/projects/layout-templates/tsconfig.lib.json +0 -17
  20. package/projects/layout-templates/tsconfig.lib.prod.json +0 -11
  21. package/projects/layout-templates/tsconfig.spec.json +0 -15
  22. package/projects/ui-components/README.md +0 -63
  23. package/projects/ui-components/ng-package.json +0 -7
  24. package/projects/ui-components/package.json +0 -12
  25. package/projects/ui-components/src/lib/ui-components.spec.ts +0 -23
  26. package/projects/ui-components/src/lib/ui-components.ts +0 -15
  27. package/projects/ui-components/src/public-api.ts +0 -5
  28. package/projects/ui-components/tsconfig.lib.json +0 -17
  29. package/projects/ui-components/tsconfig.lib.prod.json +0 -11
  30. package/projects/ui-components/tsconfig.spec.json +0 -15
  31. package/public/B/341/273/231 icon message (1).svg" +0 -87
  32. package/public/B/341/273/231 icon message (2).svg" +0 -104
  33. package/public/B/341/273/231 icon message.svg" +0 -98
  34. package/public/FPT-IS-Logo.png +0 -0
  35. package/public/FPT_IS_Logo.svg +0 -12
  36. package/public/favicon.ico +0 -0
  37. package/public/federation.manifest.json +0 -8
  38. package/src/app/app.config.ts +0 -22
  39. package/src/app/app.html +0 -1
  40. package/src/app/app.routes.ts +0 -24
  41. package/src/app/app.scss +0 -0
  42. package/src/app/app.spec.ts +0 -23
  43. package/src/app/app.ts +0 -19
  44. package/src/index.html +0 -15
  45. package/src/libs/layouts/header/header.component.html +0 -27
  46. package/src/libs/layouts/header/header.component.scss +0 -96
  47. package/src/libs/layouts/header/header.component.ts +0 -13
  48. package/src/libs/layouts/main-layout/main-layout.component.html +0 -15
  49. package/src/libs/layouts/main-layout/main-layout.component.scss +0 -35
  50. package/src/libs/layouts/main-layout/main-layout.component.ts +0 -17
  51. package/src/libs/layouts/main-layout-test/main-layout-test.component.html +0 -296
  52. package/src/libs/layouts/main-layout-test/main-layout-test.component.scss +0 -94
  53. package/src/libs/layouts/main-layout-test/main-layout-test.component.ts +0 -121
  54. package/src/libs/layouts/sidebar/sidebar.component.html +0 -7
  55. package/src/libs/layouts/sidebar/sidebar.component.scss +0 -38
  56. package/src/libs/layouts/sidebar/sidebar.component.ts +0 -19
  57. package/src/libs/shared/components/approval/approval-list/approval-list.component.html +0 -19
  58. package/src/libs/shared/components/approval/approval-list/approval-list.component.scss +0 -24
  59. package/src/libs/shared/components/approval/approval-list/approval-list.component.ts +0 -19
  60. package/src/libs/shared/components/approval/approval-list-item/approval-list-item.component.html +0 -21
  61. package/src/libs/shared/components/approval/approval-list-item/approval-list-item.component.scss +0 -28
  62. package/src/libs/shared/components/approval/approval-list-item/approval-list-item.component.ts +0 -20
  63. package/src/libs/shared/components/approval/approval-list-item/approval-list-item.model.ts +0 -8
  64. package/src/libs/shared/components/button/button-container/button-container.component.html +0 -20
  65. package/src/libs/shared/components/button/button-container/button-container.component.scss +0 -49
  66. package/src/libs/shared/components/button/button-container/button-container.component.ts +0 -38
  67. package/src/libs/shared/components/button/button-container/button-container.model.ts +0 -58
  68. package/src/libs/shared/components/button/label-button/label-button.component.html +0 -11
  69. package/src/libs/shared/components/button/label-button/label-button.component.scss +0 -13
  70. package/src/libs/shared/components/button/label-button/label-button.component.ts +0 -18
  71. package/src/libs/shared/components/functional-label/functional-label.component.html +0 -4
  72. package/src/libs/shared/components/functional-label/functional-label.component.scss +0 -58
  73. package/src/libs/shared/components/functional-label/functional-label.component.ts +0 -15
  74. package/src/libs/shared/components/input/input-calendar/input-calendar.component.html +0 -52
  75. package/src/libs/shared/components/input/input-calendar/input-calendar.component.scss +0 -98
  76. package/src/libs/shared/components/input/input-calendar/input-calendar.component.ts +0 -102
  77. package/src/libs/shared/components/input/input-label/input-label.component.html +0 -0
  78. package/src/libs/shared/components/input/input-label/input-label.component.scss +0 -0
  79. package/src/libs/shared/components/input/input-label/input-label.component.ts +0 -0
  80. package/src/libs/shared/components/input/input-stepper/input-stepper.component.html +0 -62
  81. package/src/libs/shared/components/input/input-stepper/input-stepper.component.scss +0 -211
  82. package/src/libs/shared/components/input/input-stepper/input-stepper.component.ts +0 -73
  83. package/src/libs/shared/components/input/input-text/input-text.component.html +0 -40
  84. package/src/libs/shared/components/input/input-text/input-text.component.scss +0 -143
  85. package/src/libs/shared/components/input/input-text/input-text.component.ts +0 -63
  86. package/src/libs/shared/components/pop-up/pop-up-confirm/pop-up-confirm.component.html +0 -15
  87. package/src/libs/shared/components/pop-up/pop-up-confirm/pop-up-confirm.component.scss +0 -70
  88. package/src/libs/shared/components/pop-up/pop-up-confirm/pop-up-confirm.component.ts +0 -29
  89. package/src/libs/shared/components/table/table-body/table-body.component.html +0 -18
  90. package/src/libs/shared/components/table/table-body/table-body.component.scss +0 -6
  91. package/src/libs/shared/components/table/table-body/table-body.component.ts +0 -17
  92. package/src/libs/shared/components/table/table-header/table-header.component.html +0 -27
  93. package/src/libs/shared/components/table/table-header/table-header.component.scss +0 -91
  94. package/src/libs/shared/components/table/table-header/table-header.component.ts +0 -25
  95. package/src/main.ts +0 -6
  96. package/src/public-api.ts +0 -22
  97. package/src/styles.scss +0 -27
  98. package/tsconfig.app.json +0 -15
  99. package/tsconfig.json +0 -53
  100. package/tsconfig.spec.json +0 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goat-bravos-intern-hub-layout.mjs","sources":["../../../src/libs/layouts/header/header.component.ts","../../../src/libs/layouts/header/header.component.html","../../../src/libs/shared/components/functional-label/functional-label.component.ts","../../../src/libs/shared/components/functional-label/functional-label.component.html","../../../src/libs/layouts/sidebar/sidebar.component.ts","../../../src/libs/layouts/sidebar/sidebar.component.html","../../../src/libs/layouts/main-layout/main-layout.component.ts","../../../src/libs/layouts/main-layout/main-layout.component.html","../../../src/libs/shared/components/button/button-container/button-container.model.ts","../../../src/libs/shared/components/button/button-container/button-container.component.ts","../../../src/libs/shared/components/button/button-container/button-container.component.html","../../../src/libs/shared/components/button/label-button/label-button.component.ts","../../../src/libs/shared/components/button/label-button/label-button.component.html","../../../src/libs/shared/components/input/input-text/input-text.component.ts","../../../src/libs/shared/components/input/input-text/input-text.component.html","../../../src/libs/shared/components/input/input-stepper/input-stepper.component.ts","../../../src/libs/shared/components/input/input-stepper/input-stepper.component.html","../../../src/libs/shared/components/input/input-calendar/input-calendar.component.ts","../../../src/libs/shared/components/input/input-calendar/input-calendar.component.html","../../../src/libs/shared/components/table/table-header/table-header.component.ts","../../../src/libs/shared/components/table/table-header/table-header.component.html","../../../src/libs/shared/components/table/table-body/table-body.component.ts","../../../src/libs/shared/components/table/table-body/table-body.component.html","../../../src/libs/shared/components/approval/approval-list-item/approval-list-item.component.ts","../../../src/libs/shared/components/approval/approval-list-item/approval-list-item.component.html","../../../src/libs/shared/components/approval/approval-list/approval-list.component.ts","../../../src/libs/shared/components/approval/approval-list/approval-list.component.html","../../../src/libs/shared/components/pop-up/pop-up-confirm/pop-up-confirm.component.ts","../../../src/libs/shared/components/pop-up/pop-up-confirm/pop-up-confirm.component.html","../../../src/public-api.ts","../../../src/goat-bravos-intern-hub-layout.ts"],"sourcesContent":["import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'app-header-component',\r\n standalone: true,\r\n\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent {\r\n \r\n\r\n}","<header class=\"app-header\">\r\n <div class=\"header-left\">\r\n <img class=\"logo\" src=\"FPT-IS-Logo.png\" alt=\"FPT IS Logo\" />\r\n </div>\r\n\r\n <div class=\"header-right\">\r\n <button class=\"header-btn\" aria-label=\"Help\">\r\n <span class=\"icon\">?</span>\r\n </button>\r\n\r\n <button class=\"header-btn notify-btn\" aria-label=\"Notifications\">\r\n <span class=\"icon\">🔔</span>\r\n </button>\r\n\r\n <button class=\"header-btn\" aria-label=\"Settings\">\r\n <span class=\"icon\">⚙️</span>\r\n </button>\r\n\r\n <div class=\"header-user\">\r\n <button class=\"user-btn\">\r\n <img class=\"avatar\" src=\"FPT-IS-Logo.png\" alt=\"User avatar\" />\r\n <span class=\"user-name\">User Name</span>\r\n <span class=\"caret\">▾</span>\r\n </button>\r\n </div>\r\n </div>\r\n</header>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-functional-label',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './functional-label.component.html',\r\n styleUrls: ['./functional-label.component.scss']\r\n})\r\nexport class FunctionalLabelComponent {\r\n @Input() icon?: string;\r\n @Input() content: string = '';\r\n\r\n}\r\n","<div class=\"functional-label\">\r\n <i class=\"{{ icon }}\"></i>\r\n <a href=\"/*\" class=\"color-text-neutral-700\">{{ content }}</a>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FunctionalLabelComponent } from '../../shared/components/functional-label/functional-label.component';\r\n\r\nexport interface SidebarItem {\r\n icon: string;\r\n content: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n standalone: true,\r\n imports: [CommonModule, FunctionalLabelComponent],\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n})\r\nexport class SidebarComponent {\r\n @Input() menuItems: SidebarItem[] = [];\r\n}\r\n","<div class=\"sidebar-wrapper\">\r\n <aside class=\"sidebar\">\r\n @for (item of menuItems; track $index) {\r\n <app-functional-label [icon]=\"item.icon\" [content]=\"item.content\"></app-functional-label>\r\n }\r\n </aside>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterOutlet } from '@angular/router';\r\n\r\nimport { HeaderComponent } from '../header/header.component';\r\nimport { SidebarComponent, SidebarItem } from '../sidebar/sidebar.component';\r\n\r\n@Component({\r\n selector: 'app-main-layout',\r\n standalone: true,\r\n imports: [CommonModule, RouterOutlet, HeaderComponent, SidebarComponent],\r\n templateUrl: './main-layout.component.html',\r\n styleUrls: ['./main-layout.component.scss'],\r\n})\r\nexport class MainLayoutComponent {\r\n @Input() sidebarItems: SidebarItem[] = [];\r\n}\r\n","<div class=\"web-container\">\r\n <div class=\"main-layout\">\r\n <app-header-component></app-header-component>\r\n\r\n <div class=\"layout-body\">\r\n <div class=\"layout-body-sidebar\">\r\n <app-sidebar [menuItems]=\"sidebarItems\"></app-sidebar>\r\n </div>\r\n\r\n <div class=\"layout-body-content\">\r\n <router-outlet />\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","export interface ButtonContainerInterface {\r\n size: ButtonSize;\r\n leftIcon?: string;\r\n rightIcon?: string;\r\n content: string;\r\n event?: string;\r\n fontSize?: string;\r\n color?: string;\r\n backgroundColor?: string;\r\n borderColor?: string;\r\n}\r\n\r\nexport type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';\r\n\r\nexport interface ButtonSizeConfig {\r\n minWidth: string;\r\n minHeight: string;\r\n fontSize: string;\r\n iconSize: string;\r\n contentWidth: string;\r\n contentHeight: string;\r\n}\r\n\r\nexport const BUTTON_SIZE_MAP: Record<ButtonSize, ButtonSizeConfig> = {\r\n xs: {\r\n minWidth: '47px',\r\n minHeight: '24px',\r\n fontSize: 'var(--font-xs)',\r\n iconSize: '14px',\r\n contentWidth: '32px',\r\n contentHeight: '16px',\r\n },\r\n sm: {\r\n minWidth: '96px',\r\n minHeight: '28px',\r\n fontSize: 'var(--font-sm)',\r\n iconSize: '16px',\r\n contentWidth: '44px',\r\n contentHeight: '20px',\r\n },\r\n md: {\r\n minWidth: '116px',\r\n minHeight: '36px',\r\n fontSize: 'var(--font-sm)',\r\n iconSize: '20px',\r\n contentWidth: '52px',\r\n contentHeight: '20px',\r\n },\r\n lg: {\r\n minWidth: '120px',\r\n minHeight: '44px',\r\n fontSize: 'var(--font-sm)',\r\n iconSize: '20px',\r\n contentWidth: '52px',\r\n contentHeight: '20px',\r\n },\r\n};\r\n\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n ButtonSize,\r\n BUTTON_SIZE_MAP\r\n} from './button-container.model';\r\n\r\n@Component({\r\n selector: 'app-button-container',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './button-container.component.html',\r\n styleUrls: ['./button-container.component.scss']\r\n})\r\nexport class ButtonContainerComponent {\r\n\r\n @Input() size: ButtonSize = 'md';\r\n @Input() content = '';\r\n\r\n @Input() fontSize?: string;\r\n\r\n @Input() leftIcon?: string;\r\n @Input() rightIcon?: string;\r\n\r\n @Input() color = 'var(--brand-100)';\r\n @Input() backgroundColor = 'var(--utility-900)';\r\n @Input() borderColor = 'var(--brand-100)';\r\n\r\n @Output() buttonClick = new EventEmitter<any>();\r\n\r\n get sizeStyle() {\r\n return BUTTON_SIZE_MAP[this.size];\r\n }\r\n\r\n handleClick(): void {\r\n this.buttonClick.emit();\r\n }\r\n}\r\n","<button class=\"button-container\" [style.minWidth]=\"sizeStyle.minWidth\" [style.minHeight]=\"sizeStyle.minHeight\" [style.color]=\"color\"\r\n [style.backgroundColor]=\"backgroundColor\" [style.borderColor]=\"borderColor\" (click)=\"handleClick()\">\r\n \r\n @if(leftIcon){\r\n <i class=\"button-icon\" [style.width]=\"sizeStyle.iconSize\" [style.height]=\"sizeStyle.iconSize\" [style.fontSize]=\"sizeStyle.iconSize\">\r\n {{leftIcon}}\r\n </i>\r\n }\r\n\r\n <span class=\"button-content\" [style.minWidth]=\"sizeStyle.contentWidth\" [style.minHeight]=\"sizeStyle.contentHeight\" \r\n [style.fontSize]=\"fontSize || sizeStyle.fontSize\" [style.color]=\"color\">\r\n {{ content }}\r\n </span>\r\n\r\n @if(rightIcon){\r\n <i class=\"button-icon\" [style.width]=\"sizeStyle.iconSize\" [style.height]=\"sizeStyle.iconSize\" [style.fontSize]=\"sizeStyle.iconSize\" [style.color]=\"color\">\r\n {{rightIcon}}\r\n </i>\r\n }\r\n</button>","import { Component, Input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'app-label-button',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './label-button.component.html',\n styleUrls: ['./label-button.component.scss'],\n})\nexport class LabelButtonComponent {\n @Input() label: string = '';\n @Input() bgColor: string = '';\n @Input() borderColor: string = '';\n @Input() width: string = '100%';\n @Input() height: string = '28px';\n @Input() textColor: string = 'var(--neutral-100)';\n}\n","<button\n [style.background-color]=\"bgColor\"\n [style.border-color]=\"borderColor\"\n [style.color]=\"textColor\"\n [style.width]=\"width\"\n [style.height]=\"height\"\n class=\"label-button\"\n type=\"button\"\n>\n {{ label }}\n</button>\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'app-input-text',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.scss'],\r\n})\r\nexport class InputTextComponent {\r\n @Input() headerInput: string = '';\r\n @Input() placeholder: string = '';\r\n @Input() readonly: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() width: string = '100%';\r\n @Input() maxLength: number = 0; // 0 = no limit\r\n @Input() showLimit: boolean = false;\r\n @Input() icon: string = '';\r\n @Input() typeInput: string = 'text';\r\n \r\n @Output() valueChange = new EventEmitter<string>();\r\n @Output() iconClick = new EventEmitter<void>();\r\n \r\n private _value: string = '';\r\n\r\n onIconClick(): void {\r\n this.iconClick.emit();\r\n }\r\n \r\n @Input()\r\n set value(val: string) {\r\n this._value = val || '';\r\n }\r\n \r\n get value(): string {\r\n return this._value;\r\n }\r\n \r\n get currentLength(): number {\r\n return this._value?.length || 0;\r\n }\r\n \r\n get limit(): string {\r\n if (!this.showLimit || this.maxLength <= 0) return '';\r\n return `${this.currentLength}/${this.maxLength}`;\r\n }\r\n \r\n onInput(event: Event): void {\r\n const input = event.target as HTMLInputElement;\r\n let newValue = input.value;\r\n \r\n // Enforce maxLength if set\r\n if (this.maxLength > 0 && newValue.length > this.maxLength) {\r\n newValue = newValue.substring(0, this.maxLength);\r\n input.value = newValue;\r\n }\r\n \r\n this._value = newValue;\r\n this.valueChange.emit(this._value);\r\n }\r\n}","<div class=\"input-form\">\r\n <div class=\"input-form-content\">\r\n <label class=\"input-form-label\">\r\n <span class=\"label-text\" [class.hidden]=\"!headerInput\">\r\n {{ headerInput }}\r\n @if (required) {\r\n <span class=\"required-mark\">*</span>\r\n }\r\n </span>\r\n <div class=\"input-field-wrapper\">\r\n <input\r\n [type]=\"typeInput\"\r\n class=\"input-form-field\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [required]=\"required\"\r\n [style.width]=\"width\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n [attr.maxlength]=\"maxLength > 0 ? maxLength : null\"\r\n />\r\n @if (icon) {\r\n <button\r\n type=\"button\"\r\n class=\"input-icon-button\"\r\n [class.clickable]=\"iconClick.observed\"\r\n (click)=\"onIconClick()\"\r\n [attr.aria-label]=\"icon\"\r\n [disabled]=\"!iconClick.observed\"\r\n >\r\n <i [class]=\"icon\" class=\"input-icon\"></i>\r\n </button>\r\n }\r\n </div>\r\n </label>\r\n </div>\r\n <div class=\"limit\" [class.hidden]=\"!(maxLength > 0 && showLimit)\">\r\n <span>{{ limit }}</span>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'app-input-stepper',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './input-stepper.component.html',\r\n styleUrls: ['./input-stepper.component.scss'],\r\n})\r\nexport class InputStepperComponent {\r\n protected readonly componentId = `input-stepper-${Math.random().toString(36).substring(2, 9)}`;\r\n @Input() headerInput: string = '';\r\n @Input() placeholder: string = '';\r\n @Input() readonly: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input() width: string = '100%';\r\n @Input() min: number = 0;\r\n @Input() max: number = 100;\r\n @Input() error: string = '';\r\n @Input() helperText: string = '';\r\n @Input() step: number = 1;\r\n @Input() state: 'default' | 'negative' | 'positive' = 'default';\r\n\r\n @Output() valueChange = new EventEmitter<number>();\r\n\r\n private _value: number = 0;\r\n\r\n @Input()\r\n set value(val: number) {\r\n this._value = val || 0;\r\n }\r\n\r\n get value(): number {\r\n return this._value;\r\n }\r\n\r\n increment(): void {\r\n if (this.readonly) return;\r\n const newValue = this._value + this.step;\r\n if (newValue <= this.max) {\r\n this._value = newValue;\r\n this.valueChange.emit(this._value);\r\n }\r\n }\r\n\r\n decrement(): void {\r\n if (this.readonly) return;\r\n const newValue = this._value - this.step;\r\n if (newValue >= this.min) {\r\n this._value = newValue;\r\n this.valueChange.emit(this._value);\r\n }\r\n }\r\n\r\n onInput(event: Event): void {\r\n const input = event.target as HTMLInputElement;\r\n let newValue = Number.parseInt(input.value, 10);\r\n\r\n if (Number.isNaN(newValue)) {\r\n newValue = this.min;\r\n }\r\n\r\n if (newValue < this.min) newValue = this.min;\r\n if (newValue > this.max) newValue = this.max;\r\n\r\n input.value = newValue.toString();\r\n this._value = newValue;\r\n this.valueChange.emit(this._value);\r\n }\r\n}","<div\r\n class=\"input-form\"\r\n [style.width]=\"width\"\r\n [class.disabled]=\"disabled\"\r\n [class.state-negative]=\"state === 'negative'\"\r\n [class.state-positive]=\"state === 'positive'\"\r\n>\r\n <div class=\"input-form-content\">\r\n <label class=\"input-form-label\" [for]=\"componentId\">\r\n <span class=\"label-text\">\r\n {{ headerInput }}\r\n @if (required) {\r\n <span class=\"required-mark\">*</span>\r\n }\r\n </span>\r\n </label>\r\n </div>\r\n\r\n <div class=\"input-stepper-content\">\r\n <button\r\n type=\"button\"\r\n class=\"input-stepper-button\"\r\n (click)=\"decrement()\"\r\n [disabled]=\"disabled\"\r\n aria-label=\"Giảm giá trị\"\r\n >\r\n <span class=\"stepper-icon\">−</span>\r\n </button>\r\n <input\r\n [id]=\"componentId\"\r\n type=\"text\"\r\n class=\"input-stepper-input\"\r\n placeholder=\"0\"\r\n [placeholder]=\"placeholder || '0'\"\r\n title=\"Giá trị\"\r\n [title]=\"headerInput || 'Giá trị'\"\r\n [readonly]=\"readonly\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [value]=\"value\"\r\n (input)=\"onInput($event)\"\r\n [attr.aria-label]=\"headerInput || 'Giá trị'\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"input-stepper-button\"\r\n (click)=\"increment()\"\r\n [disabled]=\"disabled\"\r\n aria-label=\"Tăng giá trị\"\r\n >\r\n <span class=\"stepper-icon\">+</span>\r\n </button>\r\n </div>\r\n\r\n <div class=\"input-stepper-footer\">\r\n @if (error) {\r\n <span class=\"input-stepper-error\">{{ error }}</span>\r\n } @else if (helperText) {\r\n <span class=\"input-stepper-helper\">{{ helperText }}</span>\r\n }\r\n </div>\r\n</div>\r\n","import { Component, Input, Output, EventEmitter, ElementRef, ViewChild } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-input-calendar',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule],\r\n templateUrl: './input-calendar.component.html',\r\n styleUrls: ['./input-calendar.component.scss'],\r\n})\r\nexport class InputCalendarComponent {\r\n @Input() headerInput: string = '';\r\n @Input() placeholder: string = 'dd/mm/yyyy';\r\n @Input() readonly: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() width: string = '100%';\r\n \r\n @Output() valueChange = new EventEmitter<string>();\r\n \r\n @ViewChild('hiddenDateInput') hiddenDateInput!: ElementRef<HTMLInputElement>;\r\n \r\n displayValue: string = '';\r\n private _value: string = '';\r\n \r\n @Input()\r\n set value(val: string) {\r\n this._value = val;\r\n this.displayValue = this.formatToDisplay(val);\r\n }\r\n \r\n get value(): string {\r\n return this._value;\r\n }\r\n \r\n // Convert ISO format (yyyy-mm-dd) to display format (dd/mm/yyyy)\r\n formatToDisplay(isoDate: string): string {\r\n if (!isoDate) return '';\r\n const parts = isoDate.split('-');\r\n if (parts.length === 3) {\r\n return `${parts[2]}/${parts[1]}/${parts[0]}`;\r\n }\r\n return isoDate;\r\n }\r\n \r\n // Convert display format (dd/mm/yyyy) to ISO format (yyyy-mm-dd)\r\n formatToISO(displayDate: string): string {\r\n if (!displayDate) return '';\r\n const parts = displayDate.split('/');\r\n if (parts.length === 3) {\r\n return `${parts[2]}-${parts[1]}-${parts[0]}`;\r\n }\r\n return displayDate;\r\n }\r\n \r\n // Handle text input with auto-formatting\r\n onDisplayInput(event: Event): void {\r\n const input = event.target as HTMLInputElement;\r\n let value = input.value.replaceAll(/[^\\d/]/g, '');\r\n \r\n // Auto-insert slashes at positions 2 and 5\r\n const parts = value.split('/');\r\n if (parts[0] && parts[0].length >= 2 && parts.length === 1) {\r\n value = parts[0].substring(0, 2) + '/' + parts[0].substring(2);\r\n }\r\n if (value.length >= 5 && value.split('/').length === 2 && !value.endsWith('/')) {\r\n const newParts = value.split('/');\r\n if (newParts[1] && newParts[1].length >= 2) {\r\n value = newParts[0] + '/' + newParts[1].substring(0, 2) + '/' + newParts[1].substring(2);\r\n }\r\n }\r\n \r\n // Limit to dd/mm/yyyy format\r\n if (value.length > 10) {\r\n value = value.substring(0, 10);\r\n }\r\n \r\n this.displayValue = value;\r\n \r\n // Only emit if complete date\r\n if (value.length === 10) {\r\n const isoValue = this.formatToISO(value);\r\n this._value = isoValue;\r\n this.valueChange.emit(isoValue);\r\n }\r\n }\r\n \r\n // Open native date picker\r\n openDatePicker(): void {\r\n if (!this.readonly && this.hiddenDateInput) {\r\n this.hiddenDateInput.nativeElement.showPicker();\r\n }\r\n }\r\n \r\n // Handle date picker selection\r\n onDatePickerChange(event: Event): void {\r\n const input = event.target as HTMLInputElement;\r\n this._value = input.value;\r\n this.displayValue = this.formatToDisplay(input.value);\r\n this.valueChange.emit(this._value);\r\n }\r\n}","<div class=\"input-form\" [style.width]=\"width\">\r\n <label class=\"input-form-label\">\r\n <div class=\"input-form-label-header\">\r\n <span>{{ headerInput }}</span>\r\n @if (required) {\r\n <span class=\"required-mark\">*</span>\r\n }\r\n </div>\r\n <div class=\"calendar-input-wrapper\">\r\n <input\r\n type=\"text\"\r\n class=\"input-form-field\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [required]=\"required\"\r\n [value]=\"displayValue\"\r\n (input)=\"onDisplayInput($event)\"\r\n maxlength=\"10\"\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"calendar-icon-btn\"\r\n (click)=\"openDatePicker()\"\r\n [disabled]=\"readonly\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n >\r\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\r\n <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line>\r\n <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line>\r\n <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>\r\n </svg>\r\n </button>\r\n <input\r\n #hiddenDateInput\r\n type=\"date\"\r\n class=\"hidden-date-input\"\r\n [value]=\"value\"\r\n (change)=\"onDatePickerChange($event)\"\r\n />\r\n </div>\r\n </label>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nexport interface ColumnConfig {\r\n header: string;\r\n key: string;\r\n width: string;\r\n}\r\n\r\n@Component({\r\n selector: 'tr[app-table-header]', // ✅ Attribute selector on tr\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './table-header.component.html',\r\n styleUrl: './table-header.component.scss',\r\n})\r\nexport class TableHeaderComponent {\r\n @Input() columns: ColumnConfig[] = [];\r\n @Input() backgroundColor?: string;\r\n @Input({ transform: (value: string | undefined) => value || '#ffffff' })\r\n textColor: string = '#ffffff';\r\n @Input() headerIconLeft?: string;\r\n @Input() headerIconRight?: string;\r\n @Input() fontSize: string = 'var(--font-xs)';\r\n}\r\n","@for (col of columns; track col.key) {\r\n <th\r\n scope=\"col\"\r\n [style.width]=\"col.width\"\r\n [style.backgroundColor]=\"backgroundColor\"\r\n [style.color]=\"textColor\"\r\n >\r\n <div class=\"header-container\">\r\n <div class=\"header-content\">\r\n @if (headerIconLeft) {\r\n <div class=\"icon-left\">\r\n <i [class]=\"headerIconLeft\"></i>\r\n </div>\r\n }\r\n <div class=\"header-text\" [style.font-size]=\"fontSize\">\r\n {{ col.header }}\r\n </div>\r\n @if (headerIconRight) {\r\n <div class=\"icon-right\">\r\n <i [class]=\"headerIconRight\"></i>\r\n </div>\r\n }\r\n </div>\r\n <p class=\"divider\">|</p>\r\n </div>\r\n </th>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, TemplateRef } from '@angular/core';\r\nimport { ColumnConfig } from '../table-header/table-header.component';\r\n\r\n@Component({\r\n selector: '[app-table-body]', // ✅ Attribute selector\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './table-body.component.html',\r\n styleUrl: './table-body.component.scss',\r\n})\r\nexport class TableBodyComponent {\r\n @Input() rows: any[] = [];\r\n @Input() columns: ColumnConfig[] = [];\r\n @Input() columnTemplates: { [key: string]: TemplateRef<any> } = {};\r\n @Input() fontSize: string = 'var(--font-sm)';\r\n}\r\n","@for (row of rows; track $index) {\r\n <tr>\r\n @for (col of columns; track col.key) {\r\n <td [style.width]=\"col.width\" [style.font-size]=\"fontSize\">\r\n @if (columnTemplates[col.key]) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n columnTemplates[col.key];\r\n context: { $implicit: row[col.key], row: row }\r\n \"\r\n ></ng-container>\r\n } @else {\r\n {{ row[col.key] }}\r\n }\r\n </td>\r\n }\r\n </tr>\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-approval-list-item',\r\n templateUrl: './approval-list-item.component.html',\r\n styleUrls: ['./approval-list-item.component.scss'],\r\n imports: [CommonModule],\r\n standalone: true\r\n})\r\nexport class ApprovalListItemComponent {\r\n @Input() name!: string;\r\n @Input() date!: Date;\r\n @Input() rightTemplate?: TemplateRef<any>;\r\n @Input() rightContext: any = {};\r\n\r\n get parsedDate(): Date {\r\n return new Date(this.date);\r\n }\r\n}\r\n","<div class=\"approval-item\">\r\n <!-- LEFT -->\r\n <div class=\"approval-item-left\">\r\n <span class=\"approval-item-left-name\">{{ name }}</span>\r\n <span class=\"approval-item-left-date\">\r\n <span class=\"approval-item-left-date-title\">Ngày tạo đơn:</span>\r\n {{ date | date: 'dd/MM/yyyy' }}\r\n </span>\r\n </div>\r\n\r\n <div class=\"approval-item-right\">\r\n <ng-container *ngIf=\"rightTemplate; else defaultRight\">\r\n <ng-container *ngTemplateOutlet=\"rightTemplate; context: rightContext\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-template #defaultRight>\r\n <span class=\"text-gray-400\">—</span>\r\n </ng-template>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ApprovalListItemInterface } from '../approval-list-item/approval-list-item.model';\r\nimport { ApprovalListItemComponent } from '../approval-list-item/approval-list-item.component';\r\n\r\n@Component({\r\n selector: 'app-approval-list',\r\n standalone: true,\r\n imports: [CommonModule, ApprovalListItemComponent],\r\n templateUrl: './approval-list.component.html',\r\n styleUrls: ['./approval-list.component.scss'],\r\n})\r\nexport class ApprovalListComponent {\r\n @Input() rows: ApprovalListItemInterface[] = [];\r\n\r\n @Input() headerContentRight!: string;\r\n @Input() headerContentLeft!: string;\r\n @Input() width!: string;\r\n}\r\n","<div class=\"approval-list\" [style.width]=\"width\">\r\n <div class=\"approval-list-header\">\r\n <span class=\"approval-list-header-left\">{{ headerContentRight }}</span>\r\n <div>\r\n <p>{{ headerContentLeft }}</p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"approval-list-content\" [style.width]=\"width\">\r\n <app-approval-list-item\r\n *ngFor=\"let row of rows\"\r\n [name]=\"row.name\"\r\n [date]=\"row.date\"\r\n [rightTemplate]=\"row.rightTemplate\"\r\n [rightContext]=\"row.rightContext\"\r\n >\r\n </app-approval-list-item>\r\n </div>\r\n</div>\r\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ButtonContainerComponent } from \"../../button/button-container/button-container.component\";\r\n\r\n@Component({\r\n selector: 'app-pop-up-confirm',\r\n standalone: true,\r\n imports: [CommonModule, ButtonContainerComponent],\r\n templateUrl: './pop-up-confirm.component.html',\r\n styleUrls: ['./pop-up-confirm.component.scss'],\r\n})\r\nexport class PopUpConfirmComponent {\r\n\r\n @Input() imgUrl: string = '';\r\n @Input() title: string = '';\r\n @Input() content: string = '';\r\n @Input() colorButton: string = 'var(--brand-600)';\r\n\r\n @Output() confirmClick = new EventEmitter<void>();\r\n @Output() cancelClick = new EventEmitter<void>();\r\n\r\n onConfirm(): void {\r\n this.confirmClick.emit();\r\n }\r\n\r\n onCancel(): void {\r\n this.cancelClick.emit();\r\n }\r\n}","<div class=\"pop-up-confirm-overlay\">\r\n <div class=\"pop-up-confirm\">\r\n <div class=\"pop-up-confirm-content\">\r\n <img *ngIf=\"imgUrl\" [src]=\"imgUrl\" alt=\"\">\r\n <div class=\"pop-up-confirm-text\">\r\n <p class=\"pop-up-title\">{{title}}</p>\r\n <p class=\"pop-up-content\">{{content}}</p>\r\n </div>\r\n </div>\r\n <div class=\"pop-up-confirm-actions\">\r\n <app-button-container size=\"md\" content=\"Quay Lại\" backgroundColor=\"var(--neutral-100)\" color=\"var(--neutral-800)\" (buttonClick)=\"onCancel()\"></app-button-container>\r\n <app-button-container size=\"md\" content=\"Đồng Ý\" [backgroundColor]=\"colorButton\" color=\"#fff\" (buttonClick)=\"onConfirm()\"></app-button-container>\r\n </div>\r\n </div>\r\n</div>","/*\r\n * Public API Surface of intern-hub-layout\r\n */\r\n\r\nexport * from './libs/layouts/main-layout/main-layout.component';\r\nexport * from './libs/layouts/header/header.component';\r\nexport * from './libs/layouts/sidebar/sidebar.component';\r\n\r\nexport * from './libs/shared/components/button/button-container/button-container.component';\r\nexport * from './libs/shared/components/button/label-button/label-button.component';\r\n\r\nexport * from './libs/shared/components/input/input-text/input-text.component';\r\nexport * from './libs/shared/components/input/input-stepper/input-stepper.component';\r\nexport * from './libs/shared/components/input/input-calendar/input-calendar.component';\r\n\r\nexport * from './libs/shared/components/table/table-header/table-header.component';\r\nexport * from './libs/shared/components/table/table-body/table-body.component';\r\n\r\nexport * from './libs/shared/components/approval/approval-list/approval-list.component';\r\nexport * from './libs/shared/components/approval/approval-list-item/approval-list-item.model';\r\n\r\nexport * from './libs/shared/components/pop-up/pop-up-confirm/pop-up-confirm.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MASa,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,gFCT5B,o4BA2BA,EAAA,MAAA,EAAA,CAAA,+kCAAA,CAAA,EAAA,CAAA;;2FDlBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cACpB,IAAI,EAAA,QAAA,EAAA,o4BAAA,EAAA,MAAA,EAAA,CAAA,+kCAAA,CAAA,EAAA;;;MEML,wBAAwB,CAAA;AAC1B,IAAA,IAAI;IACJ,OAAO,GAAW,EAAE;uGAFlB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrC,yJAIA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,UAAA,EACpB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,yJAAA,EAAA,MAAA,EAAA,CAAA,8vBAAA,CAAA,EAAA;;sBAKtB;;sBACA;;;MEIU,gBAAgB,CAAA;IAClB,SAAS,GAAkB,EAAE;uGAD3B,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB7B,4PAOA,EAAA,MAAA,EAAA,CAAA,8bAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKY,YAAY,+BAAE,wBAAwB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIrC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,cACX,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,wBAAwB,CAAC,EAAA,QAAA,EAAA,4PAAA,EAAA,MAAA,EAAA,CAAA,8bAAA,CAAA,EAAA;;sBAKhD;;;MEHU,mBAAmB,CAAA;IACrB,YAAY,GAAkB,EAAE;uGAD9B,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdhC,maAeA,EAAA,MAAA,EAAA,CAAA,2aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLY,YAAY,+BAAE,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAI5D,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;+BACE,iBAAiB,EAAA,UAAA,EACf,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,maAAA,EAAA,MAAA,EAAA,CAAA,2aAAA,CAAA,EAAA;;sBAKvE;;;AEQI,MAAM,eAAe,GAAyC;AACjE,IAAA,EAAE,EAAE;AACA,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,aAAa,EAAE,MAAM;AACxB,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,aAAa,EAAE,MAAM;AACxB,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,aAAa,EAAE,MAAM;AACxB,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,aAAa,EAAE,MAAM;AACxB,KAAA;CACJ;;MC1CY,wBAAwB,CAAA;IAExB,IAAI,GAAe,IAAI;IACvB,OAAO,GAAG,EAAE;AAEZ,IAAA,QAAQ;AAER,IAAA,QAAQ;AACR,IAAA,SAAS;IAET,KAAK,GAAG,kBAAkB;IAC1B,eAAe,GAAG,oBAAoB;IACtC,WAAW,GAAG,kBAAkB;AAE/B,IAAA,WAAW,GAAG,IAAI,YAAY,EAAO;AAE/C,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;IACrC;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;IAC3B;uGAtBS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdrC,s+BAmBS,EAAA,MAAA,EAAA,CAAA,mnBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDTK,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIb,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,UAAA,EACpB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,s+BAAA,EAAA,MAAA,EAAA,CAAA,mnBAAA,CAAA,EAAA;;sBAMtB;;sBACA;;sBAEA;;sBAEA;;sBACA;;sBAEA;;sBACA;;sBACA;;sBAEA;;;MElBQ,oBAAoB,CAAA;IACtB,KAAK,GAAW,EAAE;IAClB,OAAO,GAAW,EAAE;IACpB,WAAW,GAAW,EAAE;IACxB,KAAK,GAAW,MAAM;IACtB,MAAM,GAAW,MAAM;IACvB,SAAS,GAAW,oBAAoB;uGANtC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVjC,4PAWA,EAAA,MAAA,EAAA,CAAA,sSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,4PAAA,EAAA,MAAA,EAAA,CAAA,sSAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;;MELU,kBAAkB,CAAA;IACpB,WAAW,GAAW,EAAE;IACxB,WAAW,GAAW,EAAE;IACxB,QAAQ,GAAY,KAAK;IACzB,QAAQ,GAAY,KAAK;IACzB,KAAK,GAAW,MAAM;AACtB,IAAA,SAAS,GAAW,CAAC,CAAC;IACtB,SAAS,GAAY,KAAK;IAC1B,IAAI,GAAW,EAAE;IACjB,SAAS,GAAW,MAAM;AAEzB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAU;AACxC,IAAA,SAAS,GAAG,IAAI,YAAY,EAAQ;IAEtC,MAAM,GAAW,EAAE;IAE3B,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;IACvB;IAEA,IACI,KAAK,CAAC,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,EAAE;IACzB;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IACjC;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC;AAAE,YAAA,OAAO,EAAE;QACrD,OAAO,CAAA,EAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAA,CAAE;IAClD;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK;;AAG1B,QAAA,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YAC1D,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;AAChD,YAAA,KAAK,CAAC,KAAK,GAAG,QAAQ;QACxB;AAEA,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC;uGAlDW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX/B,g1CAwCA,EAAA,MAAA,EAAA,CAAA,g+DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjCY,YAAY,8BAAE,WAAW,EAAA,CAAA,EAAA,CAAA;;2FAIxB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,g1CAAA,EAAA,MAAA,EAAA,CAAA,g+DAAA,CAAA,EAAA;;sBAKnC;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBACA;;sBAQA;;;MEpBU,qBAAqB,CAAA;AACX,IAAA,WAAW,GAAG,CAAA,cAAA,EAAiB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IACrF,WAAW,GAAW,EAAE;IACxB,WAAW,GAAW,EAAE;IACxB,QAAQ,GAAY,KAAK;IACzB,QAAQ,GAAY,KAAK;IACzB,QAAQ,GAAY,KAAK;IACzB,KAAK,GAAW,MAAM;IACtB,GAAG,GAAW,CAAC;IACf,GAAG,GAAW,GAAG;IACjB,KAAK,GAAW,EAAE;IAClB,UAAU,GAAW,EAAE;IACvB,IAAI,GAAW,CAAC;IAChB,KAAK,GAAwC,SAAS;AAErD,IAAA,WAAW,GAAG,IAAI,YAAY,EAAU;IAE1C,MAAM,GAAW,CAAC;IAE1B,IACI,KAAK,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC;IAC1B;AAEA,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM;IACtB;IAEA,SAAS,GAAA;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI;AACxC,QAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC;IACJ;IAEA,SAAS,GAAA;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI;AACxC,QAAA,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE;AACtB,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC;IACJ;AAEA,IAAA,OAAO,CAAC,KAAY,EAAA;AAChB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;AAE/C,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACxB,YAAA,QAAQ,GAAG,IAAI,CAAC,GAAG;QACvB;AAEA,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG;AAAE,YAAA,QAAQ,GAAG,IAAI,CAAC,GAAG;AAC5C,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG;AAAE,YAAA,QAAQ,GAAG,IAAI,CAAC,GAAG;AAE5C,QAAA,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACtC;uGA5DS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXlC,62DA8DA,EAAA,MAAA,EAAA,CAAA,k6HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvDc,YAAY,8BAAE,WAAW,EAAA,CAAA,EAAA,CAAA;;2FAI1B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cACjB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,62DAAA,EAAA,MAAA,EAAA,CAAA,k6HAAA,CAAA,EAAA;;sBAMnC;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAIA;;;MEnBQ,sBAAsB,CAAA;IACxB,WAAW,GAAW,EAAE;IACxB,WAAW,GAAW,YAAY;IAClC,QAAQ,GAAY,KAAK;IACzB,QAAQ,GAAY,KAAK;IACzB,KAAK,GAAW,MAAM;AAErB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAU;AAEpB,IAAA,eAAe;IAE7C,YAAY,GAAW,EAAE;IACjB,MAAM,GAAW,EAAE;IAE3B,IACI,KAAK,CAAC,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;IAC/C;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;;AAGA,IAAA,eAAe,CAAC,OAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,EAAE;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAChC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QAC9C;AACA,QAAA,OAAO,OAAO;IAChB;;AAGA,IAAA,WAAW,CAAC,WAAmB,EAAA;AAC7B,QAAA,IAAI,CAAC,WAAW;AAAE,YAAA,OAAO,EAAE;QAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;AACpC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;QAC9C;AACA,QAAA,OAAO,WAAW;IACpB;;AAGA,IAAA,cAAc,CAAC,KAAY,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;;QAGjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QAC9B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE;QACA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9E,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AACjC,YAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;AAC1C,gBAAA,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1F;QACF;;AAGA,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE;YACrB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;QAChC;AAEA,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;;AAGzB,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjC;IACF;;IAGA,cAAc,GAAA;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1C,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE;QACjD;IACF;;AAGA,IAAA,kBAAkB,CAAC,KAAY,EAAA;AAC7B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B;AAC9C,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;QACrD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC;uGAzFW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXnC,4qDAoDA,EAAA,MAAA,EAAA,CAAA,m8CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED7CY,YAAY,8BAAE,WAAW,EAAA,CAAA,EAAA,CAAA;;2FAIxB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAClB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,4qDAAA,EAAA,MAAA,EAAA,CAAA,m8CAAA,CAAA,EAAA;;sBAKnC;;sBACA;;sBACA;;sBACA;;sBACA;;sBAEA;;sBAEA,SAAS;uBAAC,iBAAiB;;sBAK3B;;;METU,oBAAoB,CAAA;IACtB,OAAO,GAAmB,EAAE;AAC5B,IAAA,eAAe;IAExB,SAAS,GAAW,SAAS;AACpB,IAAA,cAAc;AACd,IAAA,eAAe;IACf,QAAQ,GAAW,gBAAgB;uGAPjC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAGX,CAAC,KAAyB,KAAK,KAAK,IAAI,SAAS,CAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBvE,6xBA2BA,EAAA,MAAA,EAAA,CAAA,s1CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfY,YAAY,EAAA,CAAA,EAAA,CAAA;;2FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,UAAA,EACpB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,6xBAAA,EAAA,MAAA,EAAA,CAAA,s1CAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA,KAAK;uBAAC,EAAE,SAAS,EAAE,CAAC,KAAyB,KAAK,KAAK,IAAI,SAAS,EAAE;;sBAEtE;;sBACA;;sBACA;;;MEZU,kBAAkB,CAAA;IACpB,IAAI,GAAU,EAAE;IAChB,OAAO,GAAmB,EAAE;IAC5B,eAAe,GAAwC,EAAE;IACzD,QAAQ,GAAW,gBAAgB;uGAJjC,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX/B,yhBAkBA,EAAA,MAAA,EAAA,CAAA,yFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIX,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,yhBAAA,EAAA,MAAA,EAAA,CAAA,yFAAA,CAAA,EAAA;;sBAKtB;;sBACA;;sBACA;;sBACA;;;MELU,yBAAyB,CAAA;AAC3B,IAAA,IAAI;AACJ,IAAA,IAAI;AACJ,IAAA,aAAa;IACb,YAAY,GAAQ,EAAE;AAE/B,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B;uGARW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVtC,wuBAoBM,EAAA,MAAA,EAAA,CAAA,oWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA;;2FAGX,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,OAAA,EAGzB,CAAC,YAAY,CAAC,cACX,IAAI,EAAA,QAAA,EAAA,wuBAAA,EAAA,MAAA,EAAA,CAAA,oWAAA,CAAA,EAAA;;sBAGf;;sBACA;;sBACA;;sBACA;;;MEFU,qBAAqB,CAAA;IACvB,IAAI,GAAgC,EAAE;AAEtC,IAAA,kBAAkB;AAClB,IAAA,iBAAiB;AACjB,IAAA,KAAK;uGALH,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZlC,qmBAmBA,EAAA,MAAA,EAAA,CAAA,mXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXY,YAAY,4JAAE,yBAAyB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,eAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAItC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cACjB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,yBAAyB,CAAC,EAAA,QAAA,EAAA,qmBAAA,EAAA,MAAA,EAAA,CAAA,mXAAA,CAAA,EAAA;;sBAKjD;;sBAEA;;sBACA;;sBACA;;;MENU,qBAAqB,CAAA;IAErB,MAAM,GAAW,EAAE;IACnB,KAAK,GAAW,EAAE;IAClB,OAAO,GAAW,EAAE;IACpB,WAAW,GAAW,kBAAkB;AAEvC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAQ;AACvC,IAAA,WAAW,GAAG,IAAI,YAAY,EAAQ;IAEhD,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC5B;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;IAC3B;uGAhBS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECXlC,+2BAcM,EAAA,MAAA,EAAA,CAAA,qhCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDPQ,YAAY,mIAAE,wBAAwB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIvC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAClB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,wBAAwB,CAAC,EAAA,QAAA,EAAA,+2BAAA,EAAA,MAAA,EAAA,CAAA,qhCAAA,CAAA,EAAA;;sBAMhD;;sBACA;;sBACA;;sBACA;;sBAEA;;sBACA;;;AEnBL;;AAEG;;ACFH;;AAEG;;;;"}
@@ -0,0 +1,189 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, ElementRef, TemplateRef } from '@angular/core';
3
+
4
+ interface SidebarItem {
5
+ icon: string;
6
+ content: string;
7
+ }
8
+ declare class SidebarComponent {
9
+ menuItems: SidebarItem[];
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidebarComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidebarComponent, "app-sidebar", never, { "menuItems": { "alias": "menuItems"; "required": false; }; }, {}, never, never, true, never>;
12
+ }
13
+
14
+ declare class MainLayoutComponent {
15
+ sidebarItems: SidebarItem[];
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<MainLayoutComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<MainLayoutComponent, "app-main-layout", never, { "sidebarItems": { "alias": "sidebarItems"; "required": false; }; }, {}, never, never, true, never>;
18
+ }
19
+
20
+ declare class HeaderComponent {
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "app-header-component", never, {}, {}, never, never, true, never>;
23
+ }
24
+
25
+ type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
26
+ interface ButtonSizeConfig {
27
+ minWidth: string;
28
+ minHeight: string;
29
+ fontSize: string;
30
+ iconSize: string;
31
+ contentWidth: string;
32
+ contentHeight: string;
33
+ }
34
+
35
+ declare class ButtonContainerComponent {
36
+ size: ButtonSize;
37
+ content: string;
38
+ fontSize?: string;
39
+ leftIcon?: string;
40
+ rightIcon?: string;
41
+ color: string;
42
+ backgroundColor: string;
43
+ borderColor: string;
44
+ buttonClick: EventEmitter<any>;
45
+ get sizeStyle(): ButtonSizeConfig;
46
+ handleClick(): void;
47
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonContainerComponent, never>;
48
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonContainerComponent, "app-button-container", never, { "size": { "alias": "size"; "required": false; }; "content": { "alias": "content"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "color": { "alias": "color"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, never, true, never>;
49
+ }
50
+
51
+ declare class LabelButtonComponent {
52
+ label: string;
53
+ bgColor: string;
54
+ borderColor: string;
55
+ width: string;
56
+ height: string;
57
+ textColor: string;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<LabelButtonComponent, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<LabelButtonComponent, "app-label-button", never, { "label": { "alias": "label"; "required": false; }; "bgColor": { "alias": "bgColor"; "required": false; }; "borderColor": { "alias": "borderColor"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; }, {}, never, never, true, never>;
60
+ }
61
+
62
+ declare class InputTextComponent {
63
+ headerInput: string;
64
+ placeholder: string;
65
+ readonly: boolean;
66
+ required: boolean;
67
+ width: string;
68
+ maxLength: number;
69
+ showLimit: boolean;
70
+ icon: string;
71
+ typeInput: string;
72
+ valueChange: EventEmitter<string>;
73
+ iconClick: EventEmitter<void>;
74
+ private _value;
75
+ onIconClick(): void;
76
+ set value(val: string);
77
+ get value(): string;
78
+ get currentLength(): number;
79
+ get limit(): string;
80
+ onInput(event: Event): void;
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputTextComponent, never>;
82
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputTextComponent, "app-input-text", never, { "headerInput": { "alias": "headerInput"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "showLimit": { "alias": "showLimit"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "typeInput": { "alias": "typeInput"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "iconClick": "iconClick"; }, never, never, true, never>;
83
+ }
84
+
85
+ declare class InputStepperComponent {
86
+ protected readonly componentId: string;
87
+ headerInput: string;
88
+ placeholder: string;
89
+ readonly: boolean;
90
+ required: boolean;
91
+ disabled: boolean;
92
+ width: string;
93
+ min: number;
94
+ max: number;
95
+ error: string;
96
+ helperText: string;
97
+ step: number;
98
+ state: 'default' | 'negative' | 'positive';
99
+ valueChange: EventEmitter<number>;
100
+ private _value;
101
+ set value(val: number);
102
+ get value(): number;
103
+ increment(): void;
104
+ decrement(): void;
105
+ onInput(event: Event): void;
106
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputStepperComponent, never>;
107
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputStepperComponent, "app-input-stepper", never, { "headerInput": { "alias": "headerInput"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "width": { "alias": "width"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "error": { "alias": "error"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "step": { "alias": "step"; "required": false; }; "state": { "alias": "state"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
108
+ }
109
+
110
+ declare class InputCalendarComponent {
111
+ headerInput: string;
112
+ placeholder: string;
113
+ readonly: boolean;
114
+ required: boolean;
115
+ width: string;
116
+ valueChange: EventEmitter<string>;
117
+ hiddenDateInput: ElementRef<HTMLInputElement>;
118
+ displayValue: string;
119
+ private _value;
120
+ set value(val: string);
121
+ get value(): string;
122
+ formatToDisplay(isoDate: string): string;
123
+ formatToISO(displayDate: string): string;
124
+ onDisplayInput(event: Event): void;
125
+ openDatePicker(): void;
126
+ onDatePickerChange(event: Event): void;
127
+ static ɵfac: i0.ɵɵFactoryDeclaration<InputCalendarComponent, never>;
128
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputCalendarComponent, "app-input-calendar", never, { "headerInput": { "alias": "headerInput"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "width": { "alias": "width"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
129
+ }
130
+
131
+ interface ColumnConfig {
132
+ header: string;
133
+ key: string;
134
+ width: string;
135
+ }
136
+ declare class TableHeaderComponent {
137
+ columns: ColumnConfig[];
138
+ backgroundColor?: string;
139
+ textColor: string;
140
+ headerIconLeft?: string;
141
+ headerIconRight?: string;
142
+ fontSize: string;
143
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableHeaderComponent, never>;
144
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableHeaderComponent, "tr[app-table-header]", never, { "columns": { "alias": "columns"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "headerIconLeft": { "alias": "headerIconLeft"; "required": false; }; "headerIconRight": { "alias": "headerIconRight"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; }, {}, never, never, true, never>;
145
+ static ngAcceptInputType_textColor: string | undefined;
146
+ }
147
+
148
+ declare class TableBodyComponent {
149
+ rows: any[];
150
+ columns: ColumnConfig[];
151
+ columnTemplates: {
152
+ [key: string]: TemplateRef<any>;
153
+ };
154
+ fontSize: string;
155
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableBodyComponent, never>;
156
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableBodyComponent, "[app-table-body]", never, { "rows": { "alias": "rows"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "columnTemplates": { "alias": "columnTemplates"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; }, {}, never, never, true, never>;
157
+ }
158
+
159
+ interface ApprovalListItemInterface {
160
+ name: string;
161
+ date: Date;
162
+ rightTemplate?: TemplateRef<any>;
163
+ rightContext?: any;
164
+ }
165
+
166
+ declare class ApprovalListComponent {
167
+ rows: ApprovalListItemInterface[];
168
+ headerContentRight: string;
169
+ headerContentLeft: string;
170
+ width: string;
171
+ static ɵfac: i0.ɵɵFactoryDeclaration<ApprovalListComponent, never>;
172
+ static ɵcmp: i0.ɵɵComponentDeclaration<ApprovalListComponent, "app-approval-list", never, { "rows": { "alias": "rows"; "required": false; }; "headerContentRight": { "alias": "headerContentRight"; "required": false; }; "headerContentLeft": { "alias": "headerContentLeft"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, never, never, true, never>;
173
+ }
174
+
175
+ declare class PopUpConfirmComponent {
176
+ imgUrl: string;
177
+ title: string;
178
+ content: string;
179
+ colorButton: string;
180
+ confirmClick: EventEmitter<void>;
181
+ cancelClick: EventEmitter<void>;
182
+ onConfirm(): void;
183
+ onCancel(): void;
184
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopUpConfirmComponent, never>;
185
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopUpConfirmComponent, "app-pop-up-confirm", never, { "imgUrl": { "alias": "imgUrl"; "required": false; }; "title": { "alias": "title"; "required": false; }; "content": { "alias": "content"; "required": false; }; "colorButton": { "alias": "colorButton"; "required": false; }; }, { "confirmClick": "confirmClick"; "cancelClick": "cancelClick"; }, never, never, true, never>;
186
+ }
187
+
188
+ export { ApprovalListComponent, ButtonContainerComponent, HeaderComponent, InputCalendarComponent, InputStepperComponent, InputTextComponent, LabelButtonComponent, MainLayoutComponent, PopUpConfirmComponent, SidebarComponent, TableBodyComponent, TableHeaderComponent };
189
+ export type { ApprovalListItemInterface, ColumnConfig, SidebarItem };
package/package.json CHANGED
@@ -1,46 +1,59 @@
1
1
  {
2
2
  "name": "@goat-bravos/intern-hub-layout",
3
- "version": "1.0.1",
4
- "scripts": {
5
- "ng": "ng",
6
- "start": "ng serve",
7
- "build": "ng build",
8
- "build:lib": "ng-packagr -p projects/layout-templates/ng-package.json",
9
- "watch": "ng build --watch --configuration development",
10
- "test": "ng test"
3
+ "version": "1.0.3",
4
+ "description": "Angular library for intern hub layout components",
5
+ "peerDependencies": {
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0",
8
+ "@angular/router": "^21.0.0",
9
+ "dynamic-ds": "^1.0.0"
10
+ },
11
+ "peerDependenciesMeta": {
12
+ "dynamic-ds": {
13
+ "optional": true
14
+ }
11
15
  },
12
- "prettier": {
13
- "printWidth": 100,
14
- "singleQuote": true,
15
- "overrides": [
16
- {
17
- "files": "*.html",
18
- "options": {
19
- "parser": "angular"
20
- }
21
- }
22
- ]
16
+ "licenses": [
17
+ {
18
+ "type": "MIT",
19
+ "url": "https://opensource.org/licenses/MIT"
20
+ }
21
+ ],
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "https://github.com/FPT-IS-Intern/Intern-Hub-FE-Layout"
25
+ },
26
+ "main": "dist/intern-hub-layout/fesm2022/goat-bravos-intern-hub-layout.mjs",
27
+ "types": "dist/intern-hub-layout/index.d.ts",
28
+ "files": [
29
+ "dist",
30
+ "README.md"
31
+ ],
32
+ "scripts": {
33
+ "build": "ng build --configuration production",
34
+ "prepublishOnly": "npm run build"
23
35
  },
24
- "private": false,
25
- "packageManager": "npm@10.9.2",
26
- "dependencies": {
36
+ "keywords": [
37
+ "angular",
38
+ "library",
39
+ "layout",
40
+ "components"
41
+ ],
42
+ "author": "intern-hub",
43
+ "license": "MIT",
44
+ "devDependencies": {
45
+ "@angular/build": "^21.1.1",
46
+ "@angular/cli": "^21.1.1",
27
47
  "@angular/common": "^21.1.0",
28
48
  "@angular/compiler": "^21.1.0",
49
+ "@angular/compiler-cli": "^21.1.0",
29
50
  "@angular/core": "^21.1.0",
30
- "@angular/forms": "^21.1.0",
31
51
  "@angular/platform-browser": "^21.1.0",
32
52
  "@angular/router": "^21.1.0",
33
53
  "dynamic-ds": "^1.0.2",
34
- "rxjs": "~7.8.0",
35
- "tslib": "^2.3.0"
36
- },
37
- "devDependencies": {
38
- "@angular/build": "^21.1.1",
39
- "@angular/cli": "^21.1.1",
40
- "@angular/compiler-cli": "^21.1.0",
41
54
  "ng-packagr": "^21.0.0",
42
- "jsdom": "^27.1.0",
43
- "typescript": "~5.9.2",
44
- "vitest": "^4.0.8"
55
+ "rxjs": "~7.8.0",
56
+ "tslib": "^2.3.0",
57
+ "typescript": "~5.9.2"
45
58
  }
46
59
  }
package/.editorconfig DELETED
@@ -1,17 +0,0 @@
1
- # Editor configuration, see https://editorconfig.org
2
- root = true
3
-
4
- [*]
5
- charset = utf-8
6
- indent_style = space
7
- indent_size = 2
8
- insert_final_newline = true
9
- trim_trailing_whitespace = true
10
-
11
- [*.ts]
12
- quote_type = single
13
- ij_typescript_use_double_quotes = false
14
-
15
- [*.md]
16
- max_line_length = off
17
- trim_trailing_whitespace = false
@@ -1,4 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3
- "recommendations": ["angular.ng-template"]
4
- }
@@ -1,20 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
3
- "version": "0.2.0",
4
- "configurations": [
5
- {
6
- "name": "ng serve",
7
- "type": "chrome",
8
- "request": "launch",
9
- "preLaunchTask": "npm: start",
10
- "url": "http://localhost:4200/"
11
- },
12
- {
13
- "name": "ng test",
14
- "type": "chrome",
15
- "request": "launch",
16
- "preLaunchTask": "npm: test",
17
- "url": "http://localhost:9876/debug.html"
18
- }
19
- ]
20
- }
package/.vscode/mcp.json DELETED
@@ -1,9 +0,0 @@
1
- {
2
- // For more information, visit: https://angular.dev/ai/mcp
3
- "servers": {
4
- "angular-cli": {
5
- "command": "npx",
6
- "args": ["-y", "@angular/cli", "mcp"]
7
- }
8
- }
9
- }
@@ -1,42 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
3
- "version": "2.0.0",
4
- "tasks": [
5
- {
6
- "type": "npm",
7
- "script": "start",
8
- "isBackground": true,
9
- "problemMatcher": {
10
- "owner": "typescript",
11
- "pattern": "$tsc",
12
- "background": {
13
- "activeOnStart": true,
14
- "beginsPattern": {
15
- "regexp": "Changes detected"
16
- },
17
- "endsPattern": {
18
- "regexp": "bundle generation (complete|failed)"
19
- }
20
- }
21
- }
22
- },
23
- {
24
- "type": "npm",
25
- "script": "test",
26
- "isBackground": true,
27
- "problemMatcher": {
28
- "owner": "typescript",
29
- "pattern": "$tsc",
30
- "background": {
31
- "activeOnStart": true,
32
- "beginsPattern": {
33
- "regexp": "Changes detected"
34
- },
35
- "endsPattern": {
36
- "regexp": "bundle generation (complete|failed)"
37
- }
38
- }
39
- }
40
- }
41
- ]
42
- }