vault-lib 0.0.7 → 0.0.8

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.
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, input, computed, output, ChangeDetectionStrategy, inject, ElementRef, Directive } from '@angular/core';
2
+ import { Component, input, computed, output, ChangeDetectionStrategy, signal, inject, ElementRef, Directive } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
4
+ import { CommonModule, DatePipe } from '@angular/common';
5
+ import { moveItemInArray, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';
5
6
 
6
7
  class VaultLib {
7
8
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: VaultLib, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -90,6 +91,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
90
91
  />`, styles: [".cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}@font-face{font-family:Space Mono,monospace;src:url(https://fonts.googleapis.com/css2?family=Noto+Sans+Display:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Share+Tech&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap)}*{padding:0;margin:0;font-family:Space Mono,monospace}:host{position:relative;display:block;width:fit-content}.hover-border-directive:after{position:absolute;content:\"\";width:calc(100% + 8px);height:calc(100% + 8px);top:-6px;left:-6px;border:2px solid #44FF57}.spinner{animation-iteration-count:infinite;animation-name:spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
91
92
  }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], timingFunction: [{ type: i0.Input, args: [{ isSignal: true, alias: "timingFunction", required: false }] }], duration: [{ type: i0.Input, args: [{ isSignal: true, alias: "duration", required: false }] }] } });
92
93
 
94
+ class Taskbar {
95
+ interval;
96
+ timestamp = signal(Date.now(), ...(ngDevMode ? [{ debugName: "timestamp" }] : []));
97
+ datePipe = inject(DatePipe);
98
+ time = computed(() => this.datePipe.transform(this.timestamp(), 'h:mm:ss'), ...(ngDevMode ? [{ debugName: "time" }] : []));
99
+ date = computed(() => this.datePipe.transform(this.timestamp(), 'M/d/y'), ...(ngDevMode ? [{ debugName: "date" }] : []));
100
+ items = input([], ...(ngDevMode ? [{ debugName: "items" }] : []));
101
+ localItems = signal([], ...(ngDevMode ? [{ debugName: "localItems" }] : []));
102
+ ngOnInit() {
103
+ this.interval = setInterval(() => this.timestamp.update(() => Date.now()), 1000);
104
+ this.localItems.set(this.items());
105
+ }
106
+ drop(event) {
107
+ const items = [...this.localItems()];
108
+ moveItemInArray(items, event.previousIndex, event.currentIndex);
109
+ this.localItems.set(items);
110
+ }
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: Taskbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: Taskbar, isStandalone: true, selector: "vault-taskbar", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DatePipe], ngImport: i0, template: "<div class=\"taskbar\">\n <vault-button type=\"secondary\">menu</vault-button>\n <div class=\"content\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\">\n @for(item of localItems(); track item){\n <div class=\"item\" cdkDrag [cdkDragData]=\"item\" cdkDragBoundary=\".content\">\n <p>{{item.name}}</p>\n </div>\n }\n </div>\n <div class=\"time\" cdkDrag>\n <div class=\"hours\">{{time()}}</div>\n <div class=\"hours\">{{date()}}</div>\n </div>\n</div>", styles: [".cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}@font-face{font-family:Space Mono,monospace;src:url(https://fonts.googleapis.com/css2?family=Noto+Sans+Display:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Share+Tech&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap)}*{padding:0;margin:0;font-family:Space Mono,monospace}:host{position:relative;display:block;width:fit-content}.hover-border-directive:after{position:absolute;content:\"\";width:calc(100% + 8px);height:calc(100% + 8px);top:-6px;left:-6px;border:2px solid #44FF57}.taskbar{display:flex;gap:1rem;padding:4px;width:100vw;align-items:center;background-color:#44ff57;justify-content:space-between}.taskbar .content{display:flex;gap:1rem;flex:1;height:36px}.taskbar .content .item{border:2px solid transparent;display:flex;align-items:center;min-width:20px;padding-inline:12px;box-sizing:border-box;cursor:move}.taskbar .content .item p{-webkit-user-select:none;user-select:none}.taskbar .content .item:hover{border:2px solid #060606}.taskbar .time{font-size:10pt;gap:2px;display:flex;flex-direction:column;align-items:flex-end}.cdk-drag-placeholder{opacity:0}.content.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:#44ff57;border:2px dashed #060606}\n"], dependencies: [{ kind: "component", type: Button, selector: "vault-button", inputs: ["type"], outputs: ["onClick"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: Taskbar, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'vault-taskbar', imports: [Button, CdkDropList, CdkDrag], providers: [DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"taskbar\">\n <vault-button type=\"secondary\">menu</vault-button>\n <div class=\"content\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\">\n @for(item of localItems(); track item){\n <div class=\"item\" cdkDrag [cdkDragData]=\"item\" cdkDragBoundary=\".content\">\n <p>{{item.name}}</p>\n </div>\n }\n </div>\n <div class=\"time\" cdkDrag>\n <div class=\"hours\">{{time()}}</div>\n <div class=\"hours\">{{date()}}</div>\n </div>\n</div>", styles: [".cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}@font-face{font-family:Space Mono,monospace;src:url(https://fonts.googleapis.com/css2?family=Noto+Sans+Display:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Share+Tech&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap)}*{padding:0;margin:0;font-family:Space Mono,monospace}:host{position:relative;display:block;width:fit-content}.hover-border-directive:after{position:absolute;content:\"\";width:calc(100% + 8px);height:calc(100% + 8px);top:-6px;left:-6px;border:2px solid #44FF57}.taskbar{display:flex;gap:1rem;padding:4px;width:100vw;align-items:center;background-color:#44ff57;justify-content:space-between}.taskbar .content{display:flex;gap:1rem;flex:1;height:36px}.taskbar .content .item{border:2px solid transparent;display:flex;align-items:center;min-width:20px;padding-inline:12px;box-sizing:border-box;cursor:move}.taskbar .content .item p{-webkit-user-select:none;user-select:none}.taskbar .content .item:hover{border:2px solid #060606}.taskbar .time{font-size:10pt;gap:2px;display:flex;flex-direction:column;align-items:flex-end}.cdk-drag-placeholder{opacity:0}.content.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:#44ff57;border:2px dashed #060606}\n"] }]
117
+ }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }] } });
118
+
119
+ class SystemIcon {
120
+ application = input.required(...(ngDevMode ? [{ debugName: "application" }] : []));
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SystemIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.4", type: SystemIcon, isStandalone: true, selector: "vault-system-icon", inputs: { application: { classPropertyName: "application", publicName: "application", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
123
+ <div class="system-icon" cdkDrag>
124
+ <div class="icon-wrapper">
125
+ @if (application().icon) {
126
+ <img [src]="application().icon" [alt]="application().name + ' application icon.'" />
127
+ }
128
+ </div>
129
+ <label>{{ application().name }}</label>
130
+ </div>
131
+ `, isInline: true, styles: [".cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}@font-face{font-family:Space Mono,monospace;src:url(https://fonts.googleapis.com/css2?family=Noto+Sans+Display:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Share+Tech&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap)}*{padding:0;margin:0;font-family:Space Mono,monospace}:host{position:relative;display:block;width:fit-content}.hover-border-directive:after{position:absolute;content:\"\";width:calc(100% + 8px);height:calc(100% + 8px);top:-6px;left:-6px;border:2px solid #44FF57}.system-icon{box-sizing:border-box;width:80px;min-height:80px;border:1px solid transparent;color:#44ff57;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;gap:4px;cursor:pointer}.system-icon:hover{border:1px solid #44FF57}.system-icon .icon-wrapper{height:60px;width:60px;background:#44ff57}.system-icon label{font-size:12px}.cdk-drag-placeholder{opacity:.5}.cdk-drag-preview{border:2px dashed #060606!important}\n"], dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: SystemIcon, decorators: [{
134
+ type: Component,
135
+ args: [{ selector: 'vault-system-icon', imports: [CdkDrag], template: `
136
+ <div class="system-icon" cdkDrag>
137
+ <div class="icon-wrapper">
138
+ @if (application().icon) {
139
+ <img [src]="application().icon" [alt]="application().name + ' application icon.'" />
140
+ }
141
+ </div>
142
+ <label>{{ application().name }}</label>
143
+ </div>
144
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}@font-face{font-family:Space Mono,monospace;src:url(https://fonts.googleapis.com/css2?family=Noto+Sans+Display:ital,wght@0,100..900;1,100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Share+Tech&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap)}*{padding:0;margin:0;font-family:Space Mono,monospace}:host{position:relative;display:block;width:fit-content}.hover-border-directive:after{position:absolute;content:\"\";width:calc(100% + 8px);height:calc(100% + 8px);top:-6px;left:-6px;border:2px solid #44FF57}.system-icon{box-sizing:border-box;width:80px;min-height:80px;border:1px solid transparent;color:#44ff57;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;gap:4px;cursor:pointer}.system-icon:hover{border:1px solid #44FF57}.system-icon .icon-wrapper{height:60px;width:60px;background:#44ff57}.system-icon label{font-size:12px}.cdk-drag-placeholder{opacity:.5}.cdk-drag-preview{border:2px dashed #060606!important}\n"] }]
145
+ }], propDecorators: { application: [{ type: i0.Input, args: [{ isSignal: true, alias: "application", required: true }] }] } });
146
+
93
147
  class HoverBorder {
94
148
  element = inject(ElementRef);
95
149
  borderDirectiveClassName = 'hover-border-directive';
@@ -116,6 +170,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
116
170
  }]
117
171
  }] });
118
172
 
173
+ class HoverInvert {
174
+ onMouseLeave() {
175
+ this.invertColors(this.element.nativeElement);
176
+ }
177
+ onMouseEnter() {
178
+ this.invertColors(this.element.nativeElement);
179
+ }
180
+ element = inject(ElementRef);
181
+ backgroundColor = '#060606';
182
+ primaryColor = '#44FF57';
183
+ invertColors(HTMLElement) {
184
+ console.log(HTMLElement.children);
185
+ if (HTMLElement.style.background === this.primaryColor) {
186
+ HTMLElement.style.background = this.backgroundColor;
187
+ }
188
+ else if (HTMLElement.style.background === this.backgroundColor) {
189
+ HTMLElement.style.background = this.primaryColor;
190
+ }
191
+ if (HTMLElement.style.color === this.primaryColor) {
192
+ HTMLElement.style.color = this.backgroundColor;
193
+ }
194
+ else if (HTMLElement.style.color === this.backgroundColor) {
195
+ HTMLElement.style.color = this.primaryColor;
196
+ }
197
+ for (let i = 0; i < HTMLElement.children.length; i++) {
198
+ const element = HTMLElement.children[i];
199
+ this.invertColors(element);
200
+ }
201
+ }
202
+ ngOnInit() {
203
+ if (!this.element)
204
+ throw new Error('Hover Invert element missing');
205
+ }
206
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HoverInvert, deps: [], target: i0.ɵɵFactoryTarget.Directive });
207
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.4", type: HoverInvert, isStandalone: true, selector: "[vaultHoverInvert]", host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
208
+ }
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImport: i0, type: HoverInvert, decorators: [{
210
+ type: Directive,
211
+ args: [{
212
+ selector: '[vaultHoverInvert]',
213
+ host: {
214
+ '(mouseenter)': 'onMouseEnter()',
215
+ '(mouseleave)': 'onMouseLeave()',
216
+ },
217
+ }]
218
+ }] });
219
+
119
220
  /*
120
221
  * Public API of vault-lib
121
222
  */
@@ -124,5 +225,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.4", ngImpor
124
225
  * Generated bundle index. Do not edit.
125
226
  */
126
227
 
127
- export { Button, Fieldset, HoverBorder, Spinner, VaultLib };
228
+ export { Button, Fieldset, HoverBorder, HoverInvert, Spinner, SystemIcon, Taskbar, VaultLib };
128
229
  //# sourceMappingURL=vault-lib.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"vault-lib.mjs","sources":["../../../projects/vault-lib/src/lib/vault-lib.ts","../../../projects/vault-lib/src/lib/components/button/button.ts","../../../projects/vault-lib/src/lib/components/fieldset/fieldset.ts","../../../projects/vault-lib/src/lib/components/spinner/spinner.ts","../../../projects/vault-lib/src/lib/directives/hover-border.ts","../../../projects/vault-lib/src/public-api.ts","../../../projects/vault-lib/src/vault-lib.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'vault-vault-lib',\n imports: [],\n template: `\n <p>\n vault-lib works!\n </p>\n `,\n styles: ``,\n})\nexport class VaultLib {\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n InputSignal,\n output,\n OutputEmitterRef,\n} from '@angular/core';\n\ntype ButtonType = 'primary' | 'secondary';\n\n@Component({\n selector: 'vault-button',\n standalone: true,\n imports: [],\n styleUrl: './button.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <button type=\"button\" (click)=\"onClick.emit($event)\" class=\"vault-button\">\n <ng-content>Button</ng-content>\n </button>`,\n host: {\n '[class.vault-button--primary]': 'isPrimary()',\n '[class.vault-button--secondary]': 'isSecondary()',\n },\n})\nexport class Button {\n type: InputSignal<ButtonType> = input<ButtonType>('primary');\n\n isPrimary = computed(() => {\n return this.type() === 'primary';\n });\n\n isSecondary = computed(() => {\n return this.type() === 'secondary';\n });\n\n onClick: OutputEmitterRef<MouseEvent> = output();\n}\n","import { Component, input, InputSignal } from '@angular/core';\n\n@Component({\n selector: 'vault-fieldset',\n imports: [],\n template: `<fieldset>\n @if (legend()) {\n <legend>{{ legend() }}</legend>\n }\n <ng-content></ng-content>\n </fieldset>`,\n styleUrl: './fieldset.scss',\n})\nexport class Fieldset {\n legend: InputSignal<string | undefined> = input<string | undefined>();\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, InputSignal } from '@angular/core';\n\nexport type SpinnerType = 'gear';\n\n@Component({\n selector: 'vault-spinner',\n imports: [CommonModule],\n template: `<img\n class=\"spinner\"\n [ngStyle]=\"{\n 'animation-duration': duration() + 'ms',\n 'animation-timing-function': timingFunction(),\n }\"\n [src]=\"type() + '.svg'\"\n />`,\n styleUrl: './spinner.scss',\n})\nexport class Spinner {\n type: InputSignal<SpinnerType> = input<SpinnerType>('gear');\n timingFunction: InputSignal<'linear' | 'ease-in-out'> = input<'linear' | 'ease-in-out'>('linear');\n duration: InputSignal<number> = input<number>(5000);\n}\n","import { Directive, ElementRef, inject, signal, WritableSignal } from '@angular/core';\n\n@Directive({\n selector: '[vaultHoverBorder]',\n standalone: true,\n host: {\n '(mouseenter)': 'onMouseEnter()',\n '(mouseleave)': 'onMouseLeave()',\n },\n})\nexport class HoverBorder {\n private element: ElementRef<HTMLElement> = inject(ElementRef);\n private readonly borderDirectiveClassName: string = 'hover-border-directive';\n\n onMouseEnter(): void {\n if (!this.element.nativeElement.classList.contains(this.borderDirectiveClassName))\n this.element.nativeElement.classList.add(this.borderDirectiveClassName);\n }\n\n onMouseLeave(): void {\n if (this.element.nativeElement.classList.contains(this.borderDirectiveClassName))\n this.element.nativeElement.classList.remove(this.borderDirectiveClassName);\n }\n}\n","/*\n * Public API of vault-lib\n */\n\nexport * from './lib/vault-lib';\n\nexport * from './lib/components/button/button';\nexport * from './lib/components/fieldset/fieldset';\nexport * from './lib/components/spinner/spinner';\n\nexport * from './lib/directives/hover-border';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault-lib.mjs","sources":["../../../projects/vault-lib/src/lib/vault-lib.ts","../../../projects/vault-lib/src/lib/components/button/button.ts","../../../projects/vault-lib/src/lib/components/fieldset/fieldset.ts","../../../projects/vault-lib/src/lib/components/spinner/spinner.ts","../../../projects/vault-lib/src/lib/components/taskbar/taskbar.ts","../../../projects/vault-lib/src/lib/components/taskbar/taskbar.html","../../../projects/vault-lib/src/lib/components/system-icon/system-icon.ts","../../../projects/vault-lib/src/lib/directives/hover-border.ts","../../../projects/vault-lib/src/lib/directives/hover-invert.ts","../../../projects/vault-lib/src/public-api.ts","../../../projects/vault-lib/src/vault-lib.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'vault-vault-lib',\n imports: [],\n template: `\n <p>\n vault-lib works!\n </p>\n `,\n styles: ``,\n})\nexport class VaultLib {\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n InputSignal,\n output,\n OutputEmitterRef,\n} from '@angular/core';\n\ntype ButtonType = 'primary' | 'secondary';\n\n@Component({\n selector: 'vault-button',\n standalone: true,\n imports: [],\n styleUrl: './button.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <button type=\"button\" (click)=\"onClick.emit($event)\" class=\"vault-button\">\n <ng-content>Button</ng-content>\n </button>`,\n host: {\n '[class.vault-button--primary]': 'isPrimary()',\n '[class.vault-button--secondary]': 'isSecondary()',\n },\n})\nexport class Button {\n type: InputSignal<ButtonType> = input<ButtonType>('primary');\n\n isPrimary = computed(() => {\n return this.type() === 'primary';\n });\n\n isSecondary = computed(() => {\n return this.type() === 'secondary';\n });\n\n onClick: OutputEmitterRef<MouseEvent> = output();\n}\n","import { Component, input, InputSignal } from '@angular/core';\n\n@Component({\n selector: 'vault-fieldset',\n imports: [],\n template: `<fieldset>\n @if (legend()) {\n <legend>{{ legend() }}</legend>\n }\n <ng-content></ng-content>\n </fieldset>`,\n styleUrl: './fieldset.scss',\n})\nexport class Fieldset {\n legend: InputSignal<string | undefined> = input<string | undefined>();\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, input, InputSignal } from '@angular/core';\n\nexport type SpinnerType = 'gear';\n\n@Component({\n selector: 'vault-spinner',\n imports: [CommonModule],\n template: `<img\n class=\"spinner\"\n [ngStyle]=\"{\n 'animation-duration': duration() + 'ms',\n 'animation-timing-function': timingFunction(),\n }\"\n [src]=\"type() + '.svg'\"\n />`,\n styleUrl: './spinner.scss',\n})\nexport class Spinner {\n type: InputSignal<SpinnerType> = input<SpinnerType>('gear');\n timingFunction: InputSignal<'linear' | 'ease-in-out'> = input<'linear' | 'ease-in-out'>('linear');\n duration: InputSignal<number> = input<number>(5000);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n InputSignal,\n signal,\n WritableSignal,\n effect,\n} from '@angular/core';\nimport { Button } from '../button/button';\nimport { DatePipe } from '@angular/common';\nimport { CdkDropList, CdkDrag, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\n\nexport type TaskbarItem = {\n name: string;\n};\n\n@Component({\n selector: 'vault-taskbar',\n imports: [Button, CdkDropList, CdkDrag],\n templateUrl: './taskbar.html',\n styleUrl: './taskbar.scss',\n providers: [DatePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Taskbar {\n interval?: any;\n timestamp = signal(Date.now());\n datePipe: DatePipe = inject(DatePipe);\n time = computed(() => this.datePipe.transform(this.timestamp(), 'h:mm:ss'));\n date = computed(() => this.datePipe.transform(this.timestamp(), 'M/d/y'));\n\n items: InputSignal<TaskbarItem[]> = input<TaskbarItem[]>([]);\n localItems: WritableSignal<TaskbarItem[]> = signal([]);\n\n ngOnInit(): void {\n this.interval = setInterval(() => this.timestamp.update(() => Date.now()), 1000);\n this.localItems.set(this.items());\n }\n\n drop(event: CdkDragDrop<TaskbarItem[]>) {\n const items = [...this.localItems()];\n moveItemInArray(items, event.previousIndex, event.currentIndex);\n this.localItems.set(items);\n }\n}\n","<div class=\"taskbar\">\n <vault-button type=\"secondary\">menu</vault-button>\n <div class=\"content\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\">\n @for(item of localItems(); track item){\n <div class=\"item\" cdkDrag [cdkDragData]=\"item\" cdkDragBoundary=\".content\">\n <p>{{item.name}}</p>\n </div>\n }\n </div>\n <div class=\"time\" cdkDrag>\n <div class=\"hours\">{{time()}}</div>\n <div class=\"hours\">{{date()}}</div>\n </div>\n</div>","import { ChangeDetectionStrategy, Component, input, InputSignal } from '@angular/core';\nimport { VaultApplication } from '../../models/application.type';\nimport { CdkDrag } from '@angular/cdk/drag-drop';\n\n@Component({\n selector: 'vault-system-icon',\n imports: [CdkDrag],\n template: `\n <div class=\"system-icon\" cdkDrag>\n <div class=\"icon-wrapper\">\n @if (application().icon) {\n <img [src]=\"application().icon\" [alt]=\"application().name + ' application icon.'\" />\n }\n </div>\n <label>{{ application().name }}</label>\n </div>\n `,\n styleUrl: './system-icon.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SystemIcon {\n application: InputSignal<VaultApplication> = input.required<VaultApplication>();\n}\n","import { Directive, ElementRef, inject, signal, WritableSignal } from '@angular/core';\n\n@Directive({\n selector: '[vaultHoverBorder]',\n standalone: true,\n host: {\n '(mouseenter)': 'onMouseEnter()',\n '(mouseleave)': 'onMouseLeave()',\n },\n})\nexport class HoverBorder {\n private element: ElementRef<HTMLElement> = inject(ElementRef);\n private readonly borderDirectiveClassName: string = 'hover-border-directive';\n\n onMouseEnter(): void {\n if (!this.element.nativeElement.classList.contains(this.borderDirectiveClassName))\n this.element.nativeElement.classList.add(this.borderDirectiveClassName);\n }\n\n onMouseLeave(): void {\n if (this.element.nativeElement.classList.contains(this.borderDirectiveClassName))\n this.element.nativeElement.classList.remove(this.borderDirectiveClassName);\n }\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n selector: '[vaultHoverInvert]',\n host: {\n '(mouseenter)': 'onMouseEnter()',\n '(mouseleave)': 'onMouseLeave()',\n },\n})\nexport class HoverInvert {\n onMouseLeave() {\n this.invertColors(this.element.nativeElement);\n }\n onMouseEnter() {\n this.invertColors(this.element.nativeElement);\n }\n\n private element: ElementRef<HTMLElement> = inject(ElementRef);\n private backgroundColor: string = '#060606';\n private primaryColor: string = '#44FF57';\n\n private invertColors(HTMLElement: HTMLElement): void {\n console.log(HTMLElement.children);\n if (HTMLElement.style.background === this.primaryColor) {\n HTMLElement.style.background = this.backgroundColor;\n } else if (HTMLElement.style.background === this.backgroundColor) {\n HTMLElement.style.background = this.primaryColor;\n }\n if (HTMLElement.style.color === this.primaryColor) {\n HTMLElement.style.color = this.backgroundColor;\n } else if (HTMLElement.style.color === this.backgroundColor) {\n HTMLElement.style.color = this.primaryColor;\n }\n\n for (let i = 0; i < HTMLElement.children.length; i++) {\n const element: HTMLElement = HTMLElement.children[i] as HTMLElement;\n this.invertColors(element);\n }\n }\n\n ngOnInit(): void {\n if (!this.element) throw new Error('Hover Invert element missing');\n }\n}\n","/*\n * Public API of vault-lib\n */\n\nexport * from './lib/vault-lib';\n\nexport * from './lib/components/button/button';\nexport * from './lib/components/fieldset/fieldset';\nexport * from './lib/components/spinner/spinner';\nexport * from './lib/components/taskbar/taskbar';\nexport * from './lib/components/system-icon/system-icon';\n\nexport * from './lib/directives/directive.index';\n\nexport * from './lib/models/model.index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vault-lib",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Angular UI component library",
5
5
  "author": "PGaillot",
6
6
  "license": "MIT",
@@ -1,5 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InputSignal, OutputEmitterRef } from '@angular/core';
2
+ import { InputSignal, OutputEmitterRef, WritableSignal } from '@angular/core';
3
+ import { DatePipe } from '@angular/common';
4
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
3
5
 
4
6
  declare class VaultLib {
5
7
  static ɵfac: i0.ɵɵFactoryDeclaration<VaultLib, never>;
@@ -31,6 +33,34 @@ declare class Spinner {
31
33
  static ɵcmp: i0.ɵɵComponentDeclaration<Spinner, "vault-spinner", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "timingFunction": { "alias": "timingFunction"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
32
34
  }
33
35
 
36
+ type TaskbarItem = {
37
+ name: string;
38
+ };
39
+ declare class Taskbar {
40
+ interval?: any;
41
+ timestamp: WritableSignal<number>;
42
+ datePipe: DatePipe;
43
+ time: i0.Signal<string | null>;
44
+ date: i0.Signal<string | null>;
45
+ items: InputSignal<TaskbarItem[]>;
46
+ localItems: WritableSignal<TaskbarItem[]>;
47
+ ngOnInit(): void;
48
+ drop(event: CdkDragDrop<TaskbarItem[]>): void;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<Taskbar, never>;
50
+ static ɵcmp: i0.ɵɵComponentDeclaration<Taskbar, "vault-taskbar", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
51
+ }
52
+
53
+ type VaultApplication = {
54
+ name: string;
55
+ icon?: string;
56
+ };
57
+
58
+ declare class SystemIcon {
59
+ application: InputSignal<VaultApplication>;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<SystemIcon, never>;
61
+ static ɵcmp: i0.ɵɵComponentDeclaration<SystemIcon, "vault-system-icon", never, { "application": { "alias": "application"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
62
+ }
63
+
34
64
  declare class HoverBorder {
35
65
  private element;
36
66
  private readonly borderDirectiveClassName;
@@ -40,5 +70,17 @@ declare class HoverBorder {
40
70
  static ɵdir: i0.ɵɵDirectiveDeclaration<HoverBorder, "[vaultHoverBorder]", never, {}, {}, never, never, true, never>;
41
71
  }
42
72
 
43
- export { Button, Fieldset, HoverBorder, Spinner, VaultLib };
44
- export type { SpinnerType };
73
+ declare class HoverInvert {
74
+ onMouseLeave(): void;
75
+ onMouseEnter(): void;
76
+ private element;
77
+ private backgroundColor;
78
+ private primaryColor;
79
+ private invertColors;
80
+ ngOnInit(): void;
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<HoverInvert, never>;
82
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HoverInvert, "[vaultHoverInvert]", never, {}, {}, never, never, true, never>;
83
+ }
84
+
85
+ export { Button, Fieldset, HoverBorder, HoverInvert, Spinner, SystemIcon, Taskbar, VaultLib };
86
+ export type { SpinnerType, TaskbarItem, VaultApplication };