@unipin/angular-applet 21.1.2 → 21.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/common/assets/styles/theme.css +8 -0
- package/fesm2022/unipin-angular-applet-accordion.mjs +23 -23
- package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs +31 -11
- package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-alert.mjs +13 -13
- package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-approval.mjs +10 -10
- package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs +280 -0
- package/fesm2022/unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs.map +1 -0
- package/fesm2022/unipin-angular-applet-audit.mjs +220 -0
- package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -0
- package/fesm2022/unipin-angular-applet-auth.mjs +23 -23
- package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-avatar.mjs +26 -9
- package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-badge.mjs +5 -5
- package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-buttons.mjs +10 -10
- package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-calendar.mjs +37 -23
- package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-collapsible.mjs +14 -14
- package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-common.mjs +25 -25
- package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-containers.mjs +20 -20
- package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-dialog.mjs +62 -58
- package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-forms.mjs +1113 -294
- package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-froala.mjs +9 -9
- package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-grids.mjs +17 -1
- package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +5 -5
- package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-json-viewer.mjs +7 -7
- package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-kbd.mjs +4 -4
- package/fesm2022/unipin-angular-applet-kbd.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs +8 -8
- package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-markdown.mjs +18 -18
- package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-popover.mjs +21 -21
- package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-progress-bar.mjs +7 -7
- package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-skeleton.mjs +4 -4
- package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-spinner.mjs +5 -5
- package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-stepper.mjs +288 -0
- package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -0
- package/fesm2022/unipin-angular-applet-swipeable.mjs +24 -24
- package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-tabs.mjs +19 -19
- package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -1
- package/fesm2022/unipin-angular-applet-tooltip.mjs +5 -5
- package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
- package/package.json +9 -1
- package/types/unipin-angular-applet-alert-dialog.d.ts +12 -1
- package/types/unipin-angular-applet-audit.d.ts +49 -0
- package/types/unipin-angular-applet-avatar.d.ts +3 -2
- package/types/unipin-angular-applet-containers.d.ts +1 -1
- package/types/unipin-angular-applet-dialog.d.ts +11 -8
- package/types/unipin-angular-applet-forms.d.ts +168 -45
- package/types/unipin-angular-applet-grids.d.ts +17 -1
- package/types/unipin-angular-applet-popover.d.ts +2 -2
- package/types/unipin-angular-applet-stepper.d.ts +43 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unipin-angular-applet-swipeable.mjs","sources":["../../../projects/unipin-angular/swipeable/directives/swipeable-content.directive.ts","../../../projects/unipin-angular/swipeable/directives/swipeable-buttons.directive.ts","../../../projects/unipin-angular/swipeable/directives/swipeable.directive.ts","../../../projects/unipin-angular/swipeable/directives/swipeable-button.directive.ts","../../../projects/unipin-angular/swipeable/unipin-angular-applet-swipeable.ts"],"sourcesContent":["import { computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeableContent',\n selector: '[upSwipeableContent]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpSwipeableContentDirective {\n \n public readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n `\n relative flex flex-shrink-0 items-center justify-start\n bg-white z-10\n transition-transform duration-200 ease-out\n will-change-transform\n select-none\n w-fit h-fit\n `,\n this.inlineClass()\n );\n }\n );\n\n public translateX(x: number): void{\n this.element.style.transform = `translateX(${ x }px)`;\n }\n}\n","import { computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeableButtons',\n selector: '[upSwipeableButtons]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpSwipeableButtonsDirective {\n \n public readonly side = input.required<'left' | 'right'>();\n public readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'absolute top-px bottom-px h-auto w-2/5 flex items-stretch z-0',\n this.side() === 'left'? 'left-px flex-row' : 'right-px flex-row-reverse'\n );\n }\n );\n}\n","import { Directive, HostListener, input, output, signal, computed, contentChild, contentChildren, effect } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpSwipeableContentDirective } from './swipeable-content.directive';\nimport { UpSwipeableButtonsDirective } from './swipeable-buttons.directive';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeable',\n selector: '[upSwipeable]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpSwipeableDirective {\n\n public readonly threshold = input<number>(20);\n public readonly overSwipeThreshold = input<number>(75);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly clicked = output<void>();\n public readonly leftSwiped = output<void>();\n public readonly rightSwiped = output<void>();\n\n public readonly content = contentChild(UpSwipeableContentDirective);\n public readonly buttonContainers = contentChildren(UpSwipeableButtonsDirective);\n \n protected readonly containerWidth = signal(0);\n protected readonly buttonWidth = signal({ left: 0, right: 0 });\n protected readonly openSide = signal<'left' | 'right' | null>(null);\n \n protected readonly _computedClass = computed(\n () => {\n return up(\n 'relative w-fit overflow-hidden rounded-md touch-pan-y isolate',\n this.inlineClass()\n );\n }\n );\n\n protected startX = 0;\n protected currentX = 0;\n protected isTouch = false;\n protected isDragging = false;\n protected hasOverswiped = false;\n \n constructor() {\n effect(\n () => {\n const content = this.content()?.element;\n \n if (!content) {\n return;\n }\n requestAnimationFrame(() => this.containerWidth.set(content.scrollWidth));\n }\n );\n \n effect(\n () => {\n const leftContainer = this.buttonContainers().find(c => c.side() === 'left');\n const rightContainer = this.buttonContainers().find(c => c.side() === 'right');\n\n requestAnimationFrame(\n () => {\n this.buttonWidth.set(\n {\n left: leftContainer?.element.offsetWidth ?? 0,\n right: rightContainer?.element.offsetWidth ?? 0,\n }\n );\n }\n );\n }\n );\n }\n\n @HostListener('mousedown', ['$event'])\n public onMouseDown(event: MouseEvent) {\n this.isTouch = false;\n this.startDrag(event.clientX); \n }\n\n @HostListener('document:mousemove', ['$event'])\n public onMouseMove(event: MouseEvent) {\n if (\n this.isDragging && \n !this.isTouch\n ) {\n this.handleDrag(event.clientX);\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n public onMouseUp(event: MouseEvent) {\n if (\n this.isDragging && \n !this.isTouch\n ) {\n this.dragEnd(event)\n };\n }\n\n @HostListener('touchstart', ['$event'])\n public onTouchStart(event: TouchEvent) {\n this.isTouch = true;\n this.startDrag(event.touches[0].clientX);\n }\n\n @HostListener('touchmove', ['$event'])\n public onTouchMove(event: TouchEvent) {\n if (this.isDragging) {\n this.handleDrag(event.touches[0].clientX);\n }\n }\n\n @HostListener('touchend', ['$event'])\n public onTouchEnd(event: TouchEvent): void{\n if (!this.openSide()) {\n event.preventDefault();\n }\n this.dragEnd(event);\n }\n\n protected startDrag(x: number) {\n this.startX = x;\n this.currentX = x;\n this.isDragging = true;\n this.hasOverswiped = false;\n }\n\n protected handleDrag(x: number) {\n if (this.hasOverswiped) return;\n\n this.currentX = x;\n const delta = this.currentX - this.startX;\n const overSwipeThreshold = this.overSwipeThreshold();\n\n if (overSwipeThreshold !== null) {\n const container = this.containerWidth();\n const overswipeDistance = (overSwipeThreshold / 100) * container;\n \n if (delta > overswipeDistance) {\n return this.triggerOverswipe('right');\n }\n \n if (delta < -overswipeDistance) {\n return this.triggerOverswipe('left');\n }\n }\n this.content()?.translateX(delta);\n }\n \n protected dragEnd(event?: MouseEvent | TouchEvent): void{\n if (!this.isDragging) {\n return;\n }\n this.isDragging = false;\n\n if (this.hasOverswiped) {\n this.closeContent();\n return;\n }\n\n const delta = this.currentX - this.startX;\n const { left, right } = this.buttonWidth();\n const container = this.containerWidth();\n const openDistance = (this.threshold() / 100) * container;\n\n const target = event?.target as HTMLElement | null;\n if (target?.closest('[upSwipeableBtn]')) {\n return;\n }\n\n if (\n this.openSide() === null && \n Math.abs(delta) < 5\n ) {\n this.clicked.emit();\n this.closeContent();\n return;\n }\n\n if (delta > openDistance && left > 0) {\n return this.openContent('left');\n }\n \n if (delta < -openDistance && right > 0) {\n return this.openContent('right');\n }\n this.closeContent();\n }\n\n protected openContent(side: 'left' | 'right'): void{\n const { left, right } = this.buttonWidth();\n const offset = side === 'left'? left : -right;\n \n this.content()?.translateX(offset);\n this.openSide.set(side);\n }\n\n protected closeContent(): void{\n this.content()?.translateX(0);\n this.openSide.set(null);\n }\n\n protected triggerOverswipe(side: 'left' | 'right'): void{\n this.closeContent();\n this.hasOverswiped = true;\n \n if (side === 'left') {\n this.leftSwiped.emit();\n return;\n }\n this.rightSwiped.emit();\n }\n}\n","import { computed, Directive } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\nimport { buttonVariants, UpButtonDirective, } from '@unipin/angular-applet/buttons';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeableBtn',\n selector: '[upSwipeableBtn]',\n host: {\n '[class]': '_computedClass()',\n },\n})\nexport class UpSwipeableButtonDirective extends UpButtonDirective {\n \n protected override readonly _computedClass = computed(\n () => {\n return up(\n buttonVariants(\n {\n size: this.size(),\n variant: this.variant(),\n }\n ),\n this.inlineClass(),\n 'h-full rounded-none flex-1',\n );\n }\n );\n}\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":"unipin-angular-applet-swipeable.mjs","sources":["../../../projects/unipin-angular/swipeable/directives/swipeable-content.directive.ts","../../../projects/unipin-angular/swipeable/directives/swipeable-buttons.directive.ts","../../../projects/unipin-angular/swipeable/directives/swipeable.directive.ts","../../../projects/unipin-angular/swipeable/directives/swipeable-button.directive.ts","../../../projects/unipin-angular/swipeable/unipin-angular-applet-swipeable.ts"],"sourcesContent":["import { computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeableContent',\n selector: '[upSwipeableContent]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpSwipeableContentDirective {\n \n public readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n `\n relative flex flex-shrink-0 items-center justify-start\n bg-white z-10\n transition-transform duration-200 ease-out\n will-change-transform\n select-none\n w-fit h-fit\n `,\n this.inlineClass()\n );\n }\n );\n\n public translateX(x: number): void{\n this.element.style.transform = `translateX(${ x }px)`;\n }\n}\n","import { computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeableButtons',\n selector: '[upSwipeableButtons]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpSwipeableButtonsDirective {\n \n public readonly side = input.required<'left' | 'right'>();\n public readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'absolute top-px bottom-px h-auto w-2/5 flex items-stretch z-0',\n this.side() === 'left'? 'left-px flex-row' : 'right-px flex-row-reverse'\n );\n }\n );\n}\n","import { Directive, HostListener, input, output, signal, computed, contentChild, contentChildren, effect } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpSwipeableContentDirective } from './swipeable-content.directive';\nimport { UpSwipeableButtonsDirective } from './swipeable-buttons.directive';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeable',\n selector: '[upSwipeable]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpSwipeableDirective {\n\n public readonly threshold = input<number>(20);\n public readonly overSwipeThreshold = input<number>(75);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly clicked = output<void>();\n public readonly leftSwiped = output<void>();\n public readonly rightSwiped = output<void>();\n\n public readonly content = contentChild(UpSwipeableContentDirective);\n public readonly buttonContainers = contentChildren(UpSwipeableButtonsDirective);\n \n protected readonly containerWidth = signal(0);\n protected readonly buttonWidth = signal({ left: 0, right: 0 });\n protected readonly openSide = signal<'left' | 'right' | null>(null);\n \n protected readonly _computedClass = computed(\n () => {\n return up(\n 'relative w-fit overflow-hidden rounded-md touch-pan-y isolate',\n this.inlineClass()\n );\n }\n );\n\n protected startX = 0;\n protected currentX = 0;\n protected isTouch = false;\n protected isDragging = false;\n protected hasOverswiped = false;\n \n constructor() {\n effect(\n () => {\n const content = this.content()?.element;\n \n if (!content) {\n return;\n }\n requestAnimationFrame(() => this.containerWidth.set(content.scrollWidth));\n }\n );\n \n effect(\n () => {\n const leftContainer = this.buttonContainers().find(c => c.side() === 'left');\n const rightContainer = this.buttonContainers().find(c => c.side() === 'right');\n\n requestAnimationFrame(\n () => {\n this.buttonWidth.set(\n {\n left: leftContainer?.element.offsetWidth ?? 0,\n right: rightContainer?.element.offsetWidth ?? 0,\n }\n );\n }\n );\n }\n );\n }\n\n @HostListener('mousedown', ['$event'])\n public onMouseDown(event: MouseEvent) {\n this.isTouch = false;\n this.startDrag(event.clientX); \n }\n\n @HostListener('document:mousemove', ['$event'])\n public onMouseMove(event: MouseEvent) {\n if (\n this.isDragging && \n !this.isTouch\n ) {\n this.handleDrag(event.clientX);\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n public onMouseUp(event: MouseEvent) {\n if (\n this.isDragging && \n !this.isTouch\n ) {\n this.dragEnd(event)\n };\n }\n\n @HostListener('touchstart', ['$event'])\n public onTouchStart(event: TouchEvent) {\n this.isTouch = true;\n this.startDrag(event.touches[0].clientX);\n }\n\n @HostListener('touchmove', ['$event'])\n public onTouchMove(event: TouchEvent) {\n if (this.isDragging) {\n this.handleDrag(event.touches[0].clientX);\n }\n }\n\n @HostListener('touchend', ['$event'])\n public onTouchEnd(event: TouchEvent): void{\n if (!this.openSide()) {\n event.preventDefault();\n }\n this.dragEnd(event);\n }\n\n protected startDrag(x: number) {\n this.startX = x;\n this.currentX = x;\n this.isDragging = true;\n this.hasOverswiped = false;\n }\n\n protected handleDrag(x: number) {\n if (this.hasOverswiped) return;\n\n this.currentX = x;\n const delta = this.currentX - this.startX;\n const overSwipeThreshold = this.overSwipeThreshold();\n\n if (overSwipeThreshold !== null) {\n const container = this.containerWidth();\n const overswipeDistance = (overSwipeThreshold / 100) * container;\n \n if (delta > overswipeDistance) {\n return this.triggerOverswipe('right');\n }\n \n if (delta < -overswipeDistance) {\n return this.triggerOverswipe('left');\n }\n }\n this.content()?.translateX(delta);\n }\n \n protected dragEnd(event?: MouseEvent | TouchEvent): void{\n if (!this.isDragging) {\n return;\n }\n this.isDragging = false;\n\n if (this.hasOverswiped) {\n this.closeContent();\n return;\n }\n\n const delta = this.currentX - this.startX;\n const { left, right } = this.buttonWidth();\n const container = this.containerWidth();\n const openDistance = (this.threshold() / 100) * container;\n\n const target = event?.target as HTMLElement | null;\n if (target?.closest('[upSwipeableBtn]')) {\n return;\n }\n\n if (\n this.openSide() === null && \n Math.abs(delta) < 5\n ) {\n this.clicked.emit();\n this.closeContent();\n return;\n }\n\n if (delta > openDistance && left > 0) {\n return this.openContent('left');\n }\n \n if (delta < -openDistance && right > 0) {\n return this.openContent('right');\n }\n this.closeContent();\n }\n\n protected openContent(side: 'left' | 'right'): void{\n const { left, right } = this.buttonWidth();\n const offset = side === 'left'? left : -right;\n \n this.content()?.translateX(offset);\n this.openSide.set(side);\n }\n\n protected closeContent(): void{\n this.content()?.translateX(0);\n this.openSide.set(null);\n }\n\n protected triggerOverswipe(side: 'left' | 'right'): void{\n this.closeContent();\n this.hasOverswiped = true;\n \n if (side === 'left') {\n this.leftSwiped.emit();\n return;\n }\n this.rightSwiped.emit();\n }\n}\n","import { computed, Directive } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\nimport { buttonVariants, UpButtonDirective, } from '@unipin/angular-applet/buttons';\n\n@Directive({\n standalone: true,\n exportAs: 'upSwipeableBtn',\n selector: '[upSwipeableBtn]',\n host: {\n '[class]': '_computedClass()',\n },\n})\nexport class UpSwipeableButtonDirective extends UpButtonDirective {\n \n protected override readonly _computedClass = computed(\n () => {\n return up(\n buttonVariants(\n {\n size: this.size(),\n variant: this.variant(),\n }\n ),\n this.inlineClass(),\n 'h-full rounded-none flex-1',\n );\n }\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,16 +26,16 @@ const tabsVariants = cva(`
|
|
|
26
26
|
|
|
27
27
|
class UpTabsComponent {
|
|
28
28
|
constructor() {
|
|
29
|
-
this.size = input('md',
|
|
30
|
-
this.variant = input('default',
|
|
29
|
+
this.size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
30
|
+
this.variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
|
|
31
31
|
this.inlineStyle = input('', { ...(ngDevMode ? { debugName: "inlineStyle" } : {}), alias: 'class' });
|
|
32
32
|
this.defaultActiveTab = input(null, { ...(ngDevMode ? { debugName: "defaultActiveTab" } : {}), alias: 'default' });
|
|
33
|
-
this.activeTab = signal(null,
|
|
33
|
+
this.activeTab = signal(null, ...(ngDevMode ? [{ debugName: "activeTab" }] : []));
|
|
34
34
|
this.tabsClass = computed(() => {
|
|
35
35
|
return up(tabsVariants({
|
|
36
36
|
variant: this.variant()
|
|
37
37
|
}), this.inlineStyle());
|
|
38
|
-
},
|
|
38
|
+
}, ...(ngDevMode ? [{ debugName: "tabsClass" }] : []));
|
|
39
39
|
effect(() => {
|
|
40
40
|
if (this.activeTab() === null &&
|
|
41
41
|
this.defaultActiveTab()) {
|
|
@@ -46,8 +46,8 @@ class UpTabsComponent {
|
|
|
46
46
|
setActive(tab) {
|
|
47
47
|
this.activeTab.set(tab);
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: UpTabsComponent, isStandalone: true, selector: "up-tabs", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, inlineStyle: { classPropertyName: "inlineStyle", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, defaultActiveTab: { classPropertyName: "defaultActiveTab", publicName: "default", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
51
51
|
<div [class]="tabsClass()">
|
|
52
52
|
<ng-content select="[upTabsTrigger]" />
|
|
53
53
|
</div>
|
|
@@ -55,7 +55,7 @@ class UpTabsComponent {
|
|
|
55
55
|
<ng-content select="[upTabsContent]" />
|
|
56
56
|
`, isInline: true }); }
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTabsComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{
|
|
61
61
|
standalone: true,
|
|
@@ -73,12 +73,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
|
|
|
73
73
|
class UpTabsContentDirective {
|
|
74
74
|
constructor(parent) {
|
|
75
75
|
this.parent = parent;
|
|
76
|
-
this.value = input.required(
|
|
76
|
+
this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
77
77
|
this.inlineStyle = input('', { ...(ngDevMode ? { debugName: "inlineStyle" } : {}), alias: 'class' });
|
|
78
|
-
this.isActive = signal(false,
|
|
78
|
+
this.isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
|
|
79
79
|
this.tabsContentClass = computed(() => {
|
|
80
80
|
return up('block', this.inlineStyle());
|
|
81
|
-
},
|
|
81
|
+
}, ...(ngDevMode ? [{ debugName: "tabsContentClass" }] : []));
|
|
82
82
|
effect(() => {
|
|
83
83
|
if (!this.parent) {
|
|
84
84
|
return;
|
|
@@ -86,10 +86,10 @@ class UpTabsContentDirective {
|
|
|
86
86
|
this.isActive.set(this.parent.activeTab() === this.value());
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
90
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTabsContentDirective, deps: [{ token: UpTabsComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
90
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: UpTabsContentDirective, isStandalone: true, selector: "[upTabsContent]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, inlineStyle: { classPropertyName: "inlineStyle", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "hidden": "!isActive()", "class": "tabsContentClass()" } }, exportAs: ["upTabsContent"], ngImport: i0 }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTabsContentDirective, decorators: [{
|
|
93
93
|
type: Directive,
|
|
94
94
|
args: [{
|
|
95
95
|
standalone: true,
|
|
@@ -105,9 +105,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.2", ngImpor
|
|
|
105
105
|
class UpTabsTriggerDirective {
|
|
106
106
|
constructor(parent) {
|
|
107
107
|
this.parent = parent;
|
|
108
|
-
this.value = input.required(
|
|
109
|
-
this.isActive = signal(false,
|
|
110
|
-
this.tabsTriggerClass = computed(() => up('tabs-trigger'),
|
|
108
|
+
this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
109
|
+
this.isActive = signal(false, ...(ngDevMode ? [{ debugName: "isActive" }] : []));
|
|
110
|
+
this.tabsTriggerClass = computed(() => up('tabs-trigger font-medium'), ...(ngDevMode ? [{ debugName: "tabsTriggerClass" }] : []));
|
|
111
111
|
effect(() => {
|
|
112
112
|
if (!this.parent)
|
|
113
113
|
return;
|
|
@@ -117,10 +117,10 @@ class UpTabsTriggerDirective {
|
|
|
117
117
|
activate() {
|
|
118
118
|
this.parent?.setActive(this.value());
|
|
119
119
|
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
121
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTabsTriggerDirective, deps: [{ token: UpTabsComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
121
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: UpTabsTriggerDirective, isStandalone: true, selector: "[upTabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "click": "activate()" }, properties: { "class": "tabsTriggerClass()", "attr.data-state": "isActive()? 'active' : 'inactive'" } }, exportAs: ["upTabsTrigger"], ngImport: i0 }); }
|
|
122
122
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTabsTriggerDirective, decorators: [{
|
|
124
124
|
type: Directive,
|
|
125
125
|
args: [{
|
|
126
126
|
standalone: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unipin-angular-applet-tabs.mjs","sources":["../../../projects/unipin-angular/tabs/variants/tabs.variant.ts","../../../projects/unipin-angular/tabs/components/tabs.component.ts","../../../projects/unipin-angular/tabs/directives/tabs-content.directive.ts","../../../projects/unipin-angular/tabs/directives/tabs-trigger.directive.ts","../../../projects/unipin-angular/tabs/unipin-angular-applet-tabs.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const tabsVariants = cva(\n `\n flex mb-2 w-max p-1 rounded-lg\n [&>.tabs-trigger]:px-2.5 [&>.tabs-trigger]:py-1.5 [&>.tabs-trigger]:text-sm [&>.tabs-trigger]:transition-colors [&>.tabs-trigger]:cursor-pointer\n `,\n {\n variants: {\n variant: {\n default: `\n bg-gray-100 \n [&>.tabs-trigger]:data-[state=active]:bg-white [&>.tabs-trigger]:data-[state=active]:shadow-lg [&>.tabs-trigger]:data-[state=active]:rounded-lg [&>.tabs-trigger]:hover:opacity-[60%]\n `,\n underline: `\n bg-none \n [&>.tabs-trigger]:border-b-2 [&>.tabs-trigger]:border-transparent [&>.tabs-trigger]:hover:text-primary [&>.tabs-trigger]:text-gray-500 [&>.tabs-trigger]:data-[state=active]:border-primary [&>.tabs-trigger]:data-[state=active]:text-primary\n `,\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type TabsVariants = VariantProps<typeof tabsVariants>;\n","import { Component, computed, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { tabsVariants } from '../variants/tabs.variant';\n\n@Component({\n standalone: true,\n selector: 'up-tabs',\n template: `\n <div [class]=\"tabsClass()\">\n <ng-content select=\"[upTabsTrigger]\" />\n </div>\n\n <ng-content select=\"[upTabsContent]\" />\n `,\n})\nexport class UpTabsComponent {\n\n public readonly size: InputSignal<'sm' | 'md' | 'lg'> = input<'sm' | 'md' | 'lg'>('md');\n public readonly variant: InputSignal<'underline' | 'default'> = input<'underline' | 'default'>('default');\n\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n public readonly defaultActiveTab: InputSignal<string | null> = input<string | null>(null, { alias: 'default' });\n\n public readonly activeTab: WritableSignal<string | null> = signal<string | null>(null);\n public readonly tabsClass = computed(\n () => {\n return up(\n tabsVariants(\n {\n variant: this.variant()\n }\n ),\n this.inlineStyle()\n );\n }\n );\n\n constructor() {\n effect(\n () => {\n if (\n this.activeTab() === null && \n this.defaultActiveTab()\n ) {\n this.activeTab.set(this.defaultActiveTab());\n }\n }\n );\n }\n\n public setActive(tab: string): void{\n this.activeTab.set(tab);\n }\n}\n","import { computed, Directive, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n@Directive({\n standalone: true,\n exportAs: 'upTabsContent',\n selector: '[upTabsContent]',\n host: {\n '[hidden]': '!isActive()',\n '[class]': 'tabsContentClass()',\n }\n})\nexport class UpTabsContentDirective {\n\n public readonly value: InputSignal<string> = input.required<string>();\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n\n public readonly isActive: WritableSignal<boolean> = signal(false);\n public readonly tabsContentClass = computed(\n () => {\n return up('block', this.inlineStyle());\n }\n );\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) {\n return;\n }\n \n this.isActive.set(\n this.parent.activeTab() === this.value()\n );\n }\n );\n }\n}\n","import { computed, Directive, effect, input, signal } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n@Directive({\n standalone: true,\n exportAs: 'upTabsTrigger',\n selector: '[upTabsTrigger]',\n host: {\n '(click)': 'activate()',\n '[class]': 'tabsTriggerClass()',\n '[attr.data-state]': `isActive()? 'active' : 'inactive'`,\n }\n})\nexport class UpTabsTriggerDirective {\n \n public readonly value = input.required<string>();\n \n public readonly isActive = signal(false);\n public readonly tabsTriggerClass = computed(() => up('tabs-trigger'));\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) return;\n this.isActive.set(this.parent.activeTab() === this.value());\n }\n );\n }\n\n public activate(): void{\n this.parent?.setActive(this.value());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpTabsComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unipin-angular-applet-tabs.mjs","sources":["../../../projects/unipin-angular/tabs/variants/tabs.variant.ts","../../../projects/unipin-angular/tabs/components/tabs.component.ts","../../../projects/unipin-angular/tabs/directives/tabs-content.directive.ts","../../../projects/unipin-angular/tabs/directives/tabs-trigger.directive.ts","../../../projects/unipin-angular/tabs/unipin-angular-applet-tabs.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const tabsVariants = cva(\n `\n flex mb-2 w-max p-1 rounded-lg\n [&>.tabs-trigger]:px-2.5 [&>.tabs-trigger]:py-1.5 [&>.tabs-trigger]:text-sm [&>.tabs-trigger]:transition-colors [&>.tabs-trigger]:cursor-pointer\n `,\n {\n variants: {\n variant: {\n default: `\n bg-gray-100 \n [&>.tabs-trigger]:data-[state=active]:bg-white [&>.tabs-trigger]:data-[state=active]:shadow-lg [&>.tabs-trigger]:data-[state=active]:rounded-lg [&>.tabs-trigger]:hover:opacity-[60%]\n `,\n underline: `\n bg-none \n [&>.tabs-trigger]:border-b-2 [&>.tabs-trigger]:border-transparent [&>.tabs-trigger]:hover:text-primary [&>.tabs-trigger]:text-gray-500 [&>.tabs-trigger]:data-[state=active]:border-primary [&>.tabs-trigger]:data-[state=active]:text-primary\n `,\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type TabsVariants = VariantProps<typeof tabsVariants>;\n","import { Component, computed, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { tabsVariants } from '../variants/tabs.variant';\n\n@Component({\n standalone: true,\n selector: 'up-tabs',\n template: `\n <div [class]=\"tabsClass()\">\n <ng-content select=\"[upTabsTrigger]\" />\n </div>\n\n <ng-content select=\"[upTabsContent]\" />\n `,\n})\nexport class UpTabsComponent {\n\n public readonly size: InputSignal<'sm' | 'md' | 'lg'> = input<'sm' | 'md' | 'lg'>('md');\n public readonly variant: InputSignal<'underline' | 'default'> = input<'underline' | 'default'>('default');\n\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n public readonly defaultActiveTab: InputSignal<string | null> = input<string | null>(null, { alias: 'default' });\n\n public readonly activeTab: WritableSignal<string | null> = signal<string | null>(null);\n public readonly tabsClass = computed(\n () => {\n return up(\n tabsVariants(\n {\n variant: this.variant()\n }\n ),\n this.inlineStyle()\n );\n }\n );\n\n constructor() {\n effect(\n () => {\n if (\n this.activeTab() === null && \n this.defaultActiveTab()\n ) {\n this.activeTab.set(this.defaultActiveTab());\n }\n }\n );\n }\n\n public setActive(tab: string): void{\n this.activeTab.set(tab);\n }\n}\n","import { computed, Directive, effect, input, InputSignal, signal, WritableSignal } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n@Directive({\n standalone: true,\n exportAs: 'upTabsContent',\n selector: '[upTabsContent]',\n host: {\n '[hidden]': '!isActive()',\n '[class]': 'tabsContentClass()',\n }\n})\nexport class UpTabsContentDirective {\n\n public readonly value: InputSignal<string> = input.required<string>();\n public readonly inlineStyle: InputSignal<ClassValue> = input<ClassValue>('', { alias: 'class' });\n\n public readonly isActive: WritableSignal<boolean> = signal(false);\n public readonly tabsContentClass = computed(\n () => {\n return up('block', this.inlineStyle());\n }\n );\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) {\n return;\n }\n \n this.isActive.set(\n this.parent.activeTab() === this.value()\n );\n }\n );\n }\n}\n","import { computed, Directive, effect, input, signal } from '@angular/core';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpTabsComponent } from '../components/tabs.component';\n\n@Directive({\n standalone: true,\n exportAs: 'upTabsTrigger',\n selector: '[upTabsTrigger]',\n host: {\n '(click)': 'activate()',\n '[class]': 'tabsTriggerClass()',\n '[attr.data-state]': `isActive()? 'active' : 'inactive'`,\n }\n})\nexport class UpTabsTriggerDirective {\n \n public readonly value = input.required<string>();\n \n public readonly isActive = signal(false);\n public readonly tabsTriggerClass = computed(() => up('tabs-trigger font-medium'));\n\n constructor(\n protected readonly parent: UpTabsComponent\n ) {\n effect(\n () => {\n if (!this.parent) return;\n this.isActive.set(this.parent.activeTab() === this.value());\n }\n );\n }\n\n public activate(): void{\n this.parent?.setActive(this.value());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpTabsComponent"],"mappings":"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"}
|
|
@@ -12,13 +12,13 @@ class UpTooltipDirective {
|
|
|
12
12
|
* @type {InputSignal<string>}
|
|
13
13
|
* @default ''
|
|
14
14
|
*/
|
|
15
|
-
this.toolTipText = input.required(
|
|
15
|
+
this.toolTipText = input.required(...(ngDevMode ? [{ debugName: "toolTipText" }] : []));
|
|
16
16
|
/**
|
|
17
17
|
* Input variable specifying the position of the tooltip relative to the host element.
|
|
18
18
|
* @type {InputSignal<string>}
|
|
19
19
|
* @default 'top'
|
|
20
20
|
*/
|
|
21
|
-
this.position = input('top',
|
|
21
|
+
this.position = input('top', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
22
22
|
this._winListener = [];
|
|
23
23
|
this._hostListener = [];
|
|
24
24
|
this._tooltipElement = null;
|
|
@@ -95,10 +95,10 @@ class UpTooltipDirective {
|
|
|
95
95
|
this.renderer.setStyle(tooltipEl, 'top', `${Math.round(top)}px`);
|
|
96
96
|
this.renderer.setStyle(tooltipEl, 'left', `${Math.round(left)}px`);
|
|
97
97
|
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
99
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTooltipDirective, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
99
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: UpTooltipDirective, isStandalone: true, selector: "[upTooltip]", inputs: { toolTipText: { classPropertyName: "toolTipText", publicName: "toolTipText", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["upTooltip"], ngImport: i0 }); }
|
|
100
100
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpTooltipDirective, decorators: [{
|
|
102
102
|
type: Directive,
|
|
103
103
|
args: [{
|
|
104
104
|
standalone: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unipin-angular-applet-tooltip.mjs","sources":["../../../projects/unipin-angular/tooltip/tooltip.directive.ts","../../../projects/unipin-angular/tooltip/unipin-angular-applet-tooltip.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, OnInit, OnDestroy, input, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n standalone: true,\n exportAs: 'upTooltip',\n selector: '[upTooltip]',\n})\nexport class UpTooltipDirective implements OnInit, OnDestroy {\n\n /**\n * Input variable specifying the text displayed in the tooltip helper, which provides a hint to the user about the purpose of the element.\n * @type {InputSignal<string>}\n * @default ''\n */\n public readonly toolTipText = input.required<string>();\n \n /**\n * Input variable specifying the position of the tooltip relative to the host element.\n * @type {InputSignal<string>}\n * @default 'top'\n */\n public readonly position = input<'top' | 'right' | 'bottom' | 'left'>('top');\n \n protected _winListener: Array<() => void> = [];\n protected _hostListener: Array<() => void> = [];\n protected _tooltipElement: HTMLElement | null = null;\n\n constructor(\n @Inject(DOCUMENT) protected readonly doc: Document,\n protected readonly renderer: Renderer2,\n protected readonly el: ElementRef<HTMLElement>,\n ) {}\n\n public ngOnInit(): void{\n this._hostListener.push(\n this.renderer.listen(\n this.el.nativeElement, \n 'mouseenter', \n () => {\n if (this._tooltipElement) {\n this.renderer.removeClass(this._tooltipElement, 'invisible');\n return;\n }\n this._tooltipElement = this.renderer.createElement('span');\n \n this.renderer.setAttribute(\n this._tooltipElement, \n 'class', \n 'fixed z-[10000] text-white max-w-xs text-xs w-max whitespace-normal bg-[#2D3336] rounded-lg px-2 py-1 break-words pointer-events-none'\n );\n\n this.renderer.appendChild(\n this._tooltipElement, \n this.renderer.createText(\n this.toolTipText()\n )\n );\n this.renderer.appendChild(this.doc.body, this._tooltipElement);\n \n this.positionTooltip(); \n this._winListener.push(\n this.renderer.listen('window', 'scroll', () => this.positionTooltip()),\n this.renderer.listen('window', 'resize', () => this.positionTooltip())\n );\n }\n ),\n \n this.renderer.listen(\n this.el.nativeElement, \n 'mouseleave', \n () => {\n this.hideTooltip();\n }\n )\n );\n }\n\n public ngOnDestroy(): void{\n this.hideTooltip();\n\n for (const off of this._hostListener) {\n try { \n off(); \n } catch {}\n }\n this._hostListener.length = 0;\n\n for (const off of this._winListener) {\n try { \n off(); \n } catch {}\n }\n this._winListener.length = 0;\n }\n\n protected hideTooltip(): void{\n if (this._tooltipElement) {\n this.renderer.addClass(this._tooltipElement, 'invisible');\n }\n }\n\n protected positionTooltip(): void{\n if (!this._tooltipElement) {\n return;\n }\n\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n const tooltipEl = this._tooltipElement as HTMLElement;\n const tooltipRect = tooltipEl.getBoundingClientRect();\n\n const gap = 8;\n let top = 0;\n let left = 0;\n\n switch (this.position()) {\n case 'top':\n top = hostRect.top - tooltipRect.height - gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n\n case 'left':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.left - tooltipRect.width - gap;\n break;\n\n case 'right':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.right + gap;\n break;\n\n default:\n top = hostRect.bottom + gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n }\n\n const margin = 4;\n left = Math.max(\n margin, \n Math.min(\n left, \n this.doc.defaultView?.innerWidth?? 0 - tooltipRect.width - margin\n )\n );\n \n top = Math.max(\n margin, \n Math.min(\n top, \n this.doc.defaultView?.innerHeight?? 0 - tooltipRect.height - margin\n )\n );\n this.renderer.setStyle(tooltipEl, 'top', `${ Math.round(top) }px`);\n this.renderer.setStyle(tooltipEl, 'left', `${ Math.round(left) }px`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAQa,kBAAkB,CAAA;AAoB7B,IAAA,WAAA,CACuC,GAAa,EAC/B,QAAmB,EACnB,EAA2B,EAAA;QAFT,IAAA,CAAA,GAAG,GAAH,GAAG;QACrB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,EAAE,GAAF,EAAE;AArBvB;;;;AAIG;AACa,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"unipin-angular-applet-tooltip.mjs","sources":["../../../projects/unipin-angular/tooltip/tooltip.directive.ts","../../../projects/unipin-angular/tooltip/unipin-angular-applet-tooltip.ts"],"sourcesContent":["import { Directive, ElementRef, Renderer2, OnInit, OnDestroy, input, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Directive({\n standalone: true,\n exportAs: 'upTooltip',\n selector: '[upTooltip]',\n})\nexport class UpTooltipDirective implements OnInit, OnDestroy {\n\n /**\n * Input variable specifying the text displayed in the tooltip helper, which provides a hint to the user about the purpose of the element.\n * @type {InputSignal<string>}\n * @default ''\n */\n public readonly toolTipText = input.required<string>();\n \n /**\n * Input variable specifying the position of the tooltip relative to the host element.\n * @type {InputSignal<string>}\n * @default 'top'\n */\n public readonly position = input<'top' | 'right' | 'bottom' | 'left'>('top');\n \n protected _winListener: Array<() => void> = [];\n protected _hostListener: Array<() => void> = [];\n protected _tooltipElement: HTMLElement | null = null;\n\n constructor(\n @Inject(DOCUMENT) protected readonly doc: Document,\n protected readonly renderer: Renderer2,\n protected readonly el: ElementRef<HTMLElement>,\n ) {}\n\n public ngOnInit(): void{\n this._hostListener.push(\n this.renderer.listen(\n this.el.nativeElement, \n 'mouseenter', \n () => {\n if (this._tooltipElement) {\n this.renderer.removeClass(this._tooltipElement, 'invisible');\n return;\n }\n this._tooltipElement = this.renderer.createElement('span');\n \n this.renderer.setAttribute(\n this._tooltipElement, \n 'class', \n 'fixed z-[10000] text-white max-w-xs text-xs w-max whitespace-normal bg-[#2D3336] rounded-lg px-2 py-1 break-words pointer-events-none'\n );\n\n this.renderer.appendChild(\n this._tooltipElement, \n this.renderer.createText(\n this.toolTipText()\n )\n );\n this.renderer.appendChild(this.doc.body, this._tooltipElement);\n \n this.positionTooltip(); \n this._winListener.push(\n this.renderer.listen('window', 'scroll', () => this.positionTooltip()),\n this.renderer.listen('window', 'resize', () => this.positionTooltip())\n );\n }\n ),\n \n this.renderer.listen(\n this.el.nativeElement, \n 'mouseleave', \n () => {\n this.hideTooltip();\n }\n )\n );\n }\n\n public ngOnDestroy(): void{\n this.hideTooltip();\n\n for (const off of this._hostListener) {\n try { \n off(); \n } catch {}\n }\n this._hostListener.length = 0;\n\n for (const off of this._winListener) {\n try { \n off(); \n } catch {}\n }\n this._winListener.length = 0;\n }\n\n protected hideTooltip(): void{\n if (this._tooltipElement) {\n this.renderer.addClass(this._tooltipElement, 'invisible');\n }\n }\n\n protected positionTooltip(): void{\n if (!this._tooltipElement) {\n return;\n }\n\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n const tooltipEl = this._tooltipElement as HTMLElement;\n const tooltipRect = tooltipEl.getBoundingClientRect();\n\n const gap = 8;\n let top = 0;\n let left = 0;\n\n switch (this.position()) {\n case 'top':\n top = hostRect.top - tooltipRect.height - gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n\n case 'left':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.left - tooltipRect.width - gap;\n break;\n\n case 'right':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.right + gap;\n break;\n\n default:\n top = hostRect.bottom + gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n }\n\n const margin = 4;\n left = Math.max(\n margin, \n Math.min(\n left, \n this.doc.defaultView?.innerWidth?? 0 - tooltipRect.width - margin\n )\n );\n \n top = Math.max(\n margin, \n Math.min(\n top, \n this.doc.defaultView?.innerHeight?? 0 - tooltipRect.height - margin\n )\n );\n this.renderer.setStyle(tooltipEl, 'top', `${ Math.round(top) }px`);\n this.renderer.setStyle(tooltipEl, 'left', `${ Math.round(left) }px`);\n }\n}\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": "@unipin/angular-applet",
|
|
3
|
-
"version": "21.
|
|
3
|
+
"version": "21.3.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "21.x.x",
|
|
6
6
|
"@angular/common": "21.x.x",
|
|
@@ -50,6 +50,10 @@
|
|
|
50
50
|
"types": "./types/unipin-angular-applet-approval.d.ts",
|
|
51
51
|
"default": "./fesm2022/unipin-angular-applet-approval.mjs"
|
|
52
52
|
},
|
|
53
|
+
"./audit": {
|
|
54
|
+
"types": "./types/unipin-angular-applet-audit.d.ts",
|
|
55
|
+
"default": "./fesm2022/unipin-angular-applet-audit.mjs"
|
|
56
|
+
},
|
|
53
57
|
"./auth": {
|
|
54
58
|
"types": "./types/unipin-angular-applet-auth.d.ts",
|
|
55
59
|
"default": "./fesm2022/unipin-angular-applet-auth.mjs"
|
|
@@ -138,6 +142,10 @@
|
|
|
138
142
|
"types": "./types/unipin-angular-applet-spinner.d.ts",
|
|
139
143
|
"default": "./fesm2022/unipin-angular-applet-spinner.mjs"
|
|
140
144
|
},
|
|
145
|
+
"./stepper": {
|
|
146
|
+
"types": "./types/unipin-angular-applet-stepper.d.ts",
|
|
147
|
+
"default": "./fesm2022/unipin-angular-applet-stepper.mjs"
|
|
148
|
+
},
|
|
141
149
|
"./swipeable": {
|
|
142
150
|
"types": "./types/unipin-angular-applet-swipeable.d.ts",
|
|
143
151
|
"default": "./fesm2022/unipin-angular-applet-swipeable.mjs"
|
|
@@ -15,12 +15,23 @@ type AlertButton = {
|
|
|
15
15
|
handler?: (form?: Record<string, any>) => void;
|
|
16
16
|
};
|
|
17
17
|
type AlertFormField = {
|
|
18
|
+
type: 'text' | 'number' | 'checkbox' | 'password';
|
|
19
|
+
name: string;
|
|
20
|
+
label: string;
|
|
21
|
+
value?: unknown;
|
|
22
|
+
required?: boolean;
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
} | {
|
|
25
|
+
type: 'select';
|
|
18
26
|
name: string;
|
|
19
27
|
label: string;
|
|
20
|
-
type: 'text' | 'number' | 'checkbox' | 'password';
|
|
21
28
|
value?: unknown;
|
|
22
29
|
required?: boolean;
|
|
23
30
|
placeholder?: string;
|
|
31
|
+
items: {
|
|
32
|
+
label: string;
|
|
33
|
+
value: string;
|
|
34
|
+
}[];
|
|
24
35
|
};
|
|
25
36
|
|
|
26
37
|
declare class UpAlertController {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Observable, Subscription } from 'rxjs';
|
|
2
|
+
import { GqlParser, QueryResult } from '@unipin/angular-gql';
|
|
3
|
+
import { AuditTrailCriteria, AuditTrail } from '@unipin/graphql-schema';
|
|
4
|
+
import * as _angular_core from '@angular/core';
|
|
5
|
+
import { OnDestroy } from '@angular/core';
|
|
6
|
+
|
|
7
|
+
declare class AuditService {
|
|
8
|
+
protected readonly gql: GqlParser;
|
|
9
|
+
constructor(gql: GqlParser);
|
|
10
|
+
query(input: AuditTrailCriteria): Observable<QueryResult<{
|
|
11
|
+
auditMsAuditTrail: AuditTrail[];
|
|
12
|
+
}>>;
|
|
13
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AuditService, never>;
|
|
14
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AuditService>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type AuditTrailData = AuditTrail & {
|
|
18
|
+
icon: string;
|
|
19
|
+
changedData?: Array<{
|
|
20
|
+
field: string;
|
|
21
|
+
oldValue: any;
|
|
22
|
+
newValue: any;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
25
|
+
declare class UpAuditListComponent implements OnDestroy {
|
|
26
|
+
protected readonly service: AuditService;
|
|
27
|
+
readonly tagValues: _angular_core.InputSignal<string[] | undefined>;
|
|
28
|
+
readonly relatedEntities: _angular_core.InputSignal<string[] | undefined>;
|
|
29
|
+
readonly hasMore: _angular_core.WritableSignal<boolean>;
|
|
30
|
+
readonly isLoading: _angular_core.WritableSignal<boolean>;
|
|
31
|
+
readonly auditTrails: _angular_core.WritableSignal<AuditTrailData[]>;
|
|
32
|
+
readonly selectedTrail: _angular_core.WritableSignal<AuditTrailData | null>;
|
|
33
|
+
protected sub?: Subscription;
|
|
34
|
+
protected readonly criteria: AuditTrailCriteria;
|
|
35
|
+
constructor(service: AuditService);
|
|
36
|
+
ngOnDestroy(): void;
|
|
37
|
+
loadData(): void;
|
|
38
|
+
protected getAuditIcon(audit: AuditTrail): string;
|
|
39
|
+
protected getChangedData(data: any): Array<{
|
|
40
|
+
field: string;
|
|
41
|
+
oldValue: any;
|
|
42
|
+
newValue: any;
|
|
43
|
+
}>;
|
|
44
|
+
protected formatValue(value: any): string;
|
|
45
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpAuditListComponent, never>;
|
|
46
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpAuditListComponent, "up-audit-list", never, { "tagValues": { "alias": "tagValues"; "required": false; "isSignal": true; }; "relatedEntities": { "alias": "relatedEntities"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { AuditService, UpAuditListComponent };
|
|
@@ -3,12 +3,13 @@ import { ElementRef, Renderer2 } from '@angular/core';
|
|
|
3
3
|
import { ClassValue } from 'clsx';
|
|
4
4
|
|
|
5
5
|
declare class UpAvatarDirective {
|
|
6
|
-
protected readonly el: ElementRef
|
|
6
|
+
protected readonly el: ElementRef<HTMLElement>;
|
|
7
7
|
protected readonly renderer: Renderer2;
|
|
8
8
|
readonly initialText: _angular_core.InputSignal<string>;
|
|
9
9
|
readonly inlineClass: _angular_core.InputSignal<ClassValue>;
|
|
10
10
|
protected readonly _computedClass: _angular_core.Signal<string>;
|
|
11
|
-
constructor(el: ElementRef
|
|
11
|
+
constructor(el: ElementRef<HTMLElement>, renderer: Renderer2);
|
|
12
|
+
setFallback(): void;
|
|
12
13
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpAvatarDirective, never>;
|
|
13
14
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<UpAvatarDirective, "[upAvatar]", ["upAvatar"], { "initialText": { "alias": "initial"; "required": false; "isSignal": true; }; "inlineClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
14
15
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnInit, ViewContainerRef, DestroyRef, ComponentRef, ComponentMirror,
|
|
2
|
+
import { OnInit, ViewContainerRef, DestroyRef, ComponentRef, ComponentMirror, InjectionToken, Provider } from '@angular/core';
|
|
3
3
|
import { Router, ActivatedRoute, Route, RedirectFunction } from '@angular/router';
|
|
4
4
|
import { PermissionService } from '@unipin/angular-applet/auth';
|
|
5
5
|
|
|
@@ -4,17 +4,19 @@ import * as _angular_cdk_dialog from '@angular/cdk/dialog';
|
|
|
4
4
|
import { AutoFocusTarget, DialogRef, Dialog } from '@angular/cdk/dialog';
|
|
5
5
|
import * as _angular_cdk_overlay from '@angular/cdk/overlay';
|
|
6
6
|
import { PositionStrategy, ScrollStrategy, ConnectedPosition, FlexibleConnectedPositionStrategyOrigin, OverlayPositionBuilder, ScrollStrategyOptions, ComponentType } from '@angular/cdk/overlay';
|
|
7
|
-
import
|
|
7
|
+
import * as clsx from 'clsx';
|
|
8
8
|
import { ClassValue } from 'clsx';
|
|
9
|
+
import { Observable } from 'rxjs';
|
|
9
10
|
|
|
10
11
|
type UpDialogOptions = {
|
|
11
12
|
id?: string;
|
|
12
13
|
hasBackdrop: boolean;
|
|
13
14
|
disableClose: boolean;
|
|
15
|
+
panelClass: ClassValue;
|
|
14
16
|
role: 'dialog' | 'alertdialog';
|
|
15
17
|
providers?: StaticProvider[] | (() => StaticProvider[]);
|
|
16
18
|
restoreFocus: boolean | string | ElementRef;
|
|
17
|
-
autoFocus?: AutoFocusTarget | (Record<never, never> & string);
|
|
19
|
+
autoFocus?: AutoFocusTarget | (Record<never, never> & string) | boolean;
|
|
18
20
|
closeDelay: number;
|
|
19
21
|
closeOnBackdropClick: boolean;
|
|
20
22
|
closeOnOutsidePointerEvents: boolean;
|
|
@@ -86,7 +88,7 @@ declare class UpDialog {
|
|
|
86
88
|
readonly defaultOptions: UpDialogOptions;
|
|
87
89
|
readonly attachTo: _angular_core.InputSignal<_angular_cdk_overlay.FlexibleConnectedPositionStrategyOrigin | null | undefined>;
|
|
88
90
|
readonly role: _angular_core.InputSignal<"dialog" | "alertdialog">;
|
|
89
|
-
readonly autoFocus: _angular_core.InputSignal<_angular_cdk_dialog.AutoFocusTarget | (Record<never, never> & string) | undefined>;
|
|
91
|
+
readonly autoFocus: _angular_core.InputSignal<boolean | _angular_cdk_dialog.AutoFocusTarget | (Record<never, never> & string) | undefined>;
|
|
90
92
|
readonly restoreFocus: _angular_core.InputSignal<string | boolean | _angular_core.ElementRef<any>>;
|
|
91
93
|
readonly scrollStrategy: _angular_core.InputSignal<ScrollStrategy | "close" | "reposition" | null>;
|
|
92
94
|
readonly attachPositions: _angular_core.InputSignal<_angular_cdk_overlay.ConnectedPosition[]>;
|
|
@@ -97,12 +99,13 @@ declare class UpDialog {
|
|
|
97
99
|
readonly closeOnOutsidePointerEvents: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
98
100
|
readonly closed: _angular_core.OutputEmitterRef<any>;
|
|
99
101
|
readonly stateChanged: _angular_core.OutputEmitterRef<"open" | "closed">;
|
|
100
|
-
readonly state: WritableSignal<boolean>;
|
|
101
|
-
readonly
|
|
102
|
+
readonly state: _angular_core.WritableSignal<boolean>;
|
|
103
|
+
readonly panelClass: _angular_core.WritableSignal<clsx.ClassValue>;
|
|
104
|
+
readonly mutableAttachTo: _angular_core.Signal<_angular_core.WritableSignal<_angular_cdk_overlay.FlexibleConnectedPositionStrategyOrigin | null | undefined>>;
|
|
102
105
|
readonly stateComputed: _angular_core.Signal<"open" | "closed">;
|
|
103
|
-
readonly mutableAttachPositions: _angular_core.Signal<WritableSignal<_angular_cdk_overlay.ConnectedPosition[]>>;
|
|
104
|
-
readonly mutablePositionStrategy: _angular_core.Signal<WritableSignal<_angular_cdk_overlay.PositionStrategy | null | undefined>>;
|
|
105
|
-
readonly mutableCloseOnOutsidePointerEvents: _angular_core.Signal<WritableSignal<boolean>>;
|
|
106
|
+
readonly mutableAttachPositions: _angular_core.Signal<_angular_core.WritableSignal<_angular_cdk_overlay.ConnectedPosition[]>>;
|
|
107
|
+
readonly mutablePositionStrategy: _angular_core.Signal<_angular_core.WritableSignal<_angular_cdk_overlay.PositionStrategy | null | undefined>>;
|
|
108
|
+
readonly mutableCloseOnOutsidePointerEvents: _angular_core.Signal<_angular_core.WritableSignal<boolean>>;
|
|
106
109
|
dialogRef: UpDialogRef | undefined;
|
|
107
110
|
protected readonly attachToState: _angular_core.Signal<_angular_cdk_overlay.FlexibleConnectedPositionStrategyOrigin | null | undefined>;
|
|
108
111
|
protected readonly positionStrategyState: _angular_core.Signal<_angular_cdk_overlay.PositionStrategy | null | undefined>;
|