@unipin/angular-applet 21.3.2 → 21.6.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.
Files changed (70) hide show
  1. package/README.md +4 -2
  2. package/fesm2022/unipin-angular-applet-accordion.mjs +39 -37
  3. package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
  4. package/fesm2022/unipin-angular-applet-alert-dialog.mjs +9 -9
  5. package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
  6. package/fesm2022/unipin-angular-applet-alert.mjs +16 -19
  7. package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -1
  8. package/fesm2022/unipin-angular-applet-approval.mjs +124 -15
  9. package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -1
  10. package/fesm2022/{unipin-angular-applet-audit-audit-modal.component-wPoNvU2r.mjs → unipin-angular-applet-audit-audit-modal.component-DNlMbUda.mjs} +6 -7
  11. package/fesm2022/unipin-angular-applet-audit-audit-modal.component-DNlMbUda.mjs.map +1 -0
  12. package/fesm2022/unipin-angular-applet-audit.mjs +14 -14
  13. package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -1
  14. package/fesm2022/unipin-angular-applet-auth.mjs +23 -26
  15. package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
  16. package/fesm2022/unipin-angular-applet-avatar.mjs +6 -7
  17. package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
  18. package/fesm2022/unipin-angular-applet-badge.mjs +6 -7
  19. package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
  20. package/fesm2022/unipin-angular-applet-buttons.mjs +13 -15
  21. package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -1
  22. package/fesm2022/unipin-angular-applet-calendar.mjs +23 -27
  23. package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
  24. package/fesm2022/unipin-angular-applet-collapsible.mjs +17 -20
  25. package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -1
  26. package/fesm2022/unipin-angular-applet-common.mjs +25 -30
  27. package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
  28. package/fesm2022/unipin-angular-applet-containers.mjs +23 -26
  29. package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
  30. package/fesm2022/unipin-angular-applet-dialog.mjs +64 -70
  31. package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
  32. package/fesm2022/unipin-angular-applet-forms.mjs +328 -277
  33. package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
  34. package/fesm2022/unipin-angular-applet-froala.mjs +10 -11
  35. package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
  36. package/fesm2022/unipin-angular-applet-grids.mjs +408 -5
  37. package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
  38. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +5 -6
  39. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -1
  40. package/fesm2022/unipin-angular-applet-json-viewer.mjs +8 -9
  41. package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -1
  42. package/fesm2022/unipin-angular-applet-kbd.mjs +5 -6
  43. package/fesm2022/unipin-angular-applet-kbd.mjs.map +1 -1
  44. package/fesm2022/unipin-angular-applet-loading-dialog.mjs +8 -9
  45. package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -1
  46. package/fesm2022/unipin-angular-applet-markdown.mjs +24 -22
  47. package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
  48. package/fesm2022/unipin-angular-applet-popover.mjs +26 -30
  49. package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
  50. package/fesm2022/unipin-angular-applet-progress-bar.mjs +8 -9
  51. package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
  52. package/fesm2022/unipin-angular-applet-skeleton.mjs +5 -6
  53. package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -1
  54. package/fesm2022/unipin-angular-applet-spinner.mjs +7 -7
  55. package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
  56. package/fesm2022/unipin-angular-applet-stepper.mjs +17 -19
  57. package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -1
  58. package/fesm2022/unipin-angular-applet-swipeable.mjs +26 -30
  59. package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
  60. package/fesm2022/unipin-angular-applet-tabs.mjs +22 -25
  61. package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -1
  62. package/fesm2022/unipin-angular-applet-tooltip.mjs +5 -6
  63. package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
  64. package/package.json +5 -2
  65. package/types/unipin-angular-applet-accordion.d.ts +4 -2
  66. package/types/unipin-angular-applet-approval.d.ts +42 -11
  67. package/types/unipin-angular-applet-forms.d.ts +29 -5
  68. package/types/unipin-angular-applet-grids.d.ts +101 -14
  69. package/types/unipin-angular-applet-popover.d.ts +3 -3
  70. package/fesm2022/unipin-angular-applet-audit-audit-modal.component-wPoNvU2r.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-buttons.mjs","sources":["../../../projects/unipin-angular/buttons/button/button-variant.type.ts","../../../projects/unipin-angular/buttons/button/button.directive.ts","../../../projects/unipin-angular/buttons/split-button/split-button.component.ts","../../../projects/unipin-angular/buttons/unipin-angular-applet-buttons.ts"],"sourcesContent":["import { type VariantProps, cva } from 'class-variance-authority';\n\nexport const buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_ng-icon]:pointer-events-none shrink-0 [&_ng-icon]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer disabled:cursor-not-allowed',\n {\n variants: {\n size: {\n default: 'h-9 px-4 py-2 has-[>ng-icon]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>ng-icon]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>ng-icon]:px-4',\n icon: 'size-9',\n },\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive: 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline: 'border border-border hover:border-primary bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n }\n },\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n }\n);\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n","import { Directive, computed, input } from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { buttonVariants, ButtonVariants } from './button-variant.type';\n\n@Directive({\n standalone: true,\n exportAs: 'upButton',\n selector: '[upButton]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpButtonDirective {\n\n public readonly size = input<ButtonVariants['size']>('default');\n public readonly variant = input<ButtonVariants['variant']>('default');\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n buttonVariants(\n {\n size: this.size(),\n variant: this.variant(),\n }\n ),\n this.inlineClass(),\n );\n }\n );\n}\n","import { Component, ChangeDetectionStrategy, contentChildren, ElementRef, ModelSignal, model, effect } from '@angular/core';\nimport { provideIcons, NgIcon } from '@ng-icons/core';\nimport { matCheckRound, matArrowDropDownRound } from '@ng-icons/material-icons/round';\nimport { UpPopoverCloseDirective, UpPopoverTriggerDirective, UpPopoverContentDirective, UpPopoverContentRefDirective, UpPopoverComponent } from '@unipin/angular-applet/popover';\nimport { ButtonVariants } from '../button/button-variant.type';\nimport { UpButtonDirective } from '../button/button.directive';\n\n@Component({\n standalone: true,\n selector: 'up-split-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex'\n },\n providers: [\n provideIcons(\n { \n matCheckRound, \n matArrowDropDownRound \n }\n )\n ],\n imports: [\n NgIcon,\n UpButtonDirective,\n UpPopoverComponent,\n UpPopoverCloseDirective,\n UpPopoverTriggerDirective,\n UpPopoverContentDirective,\n UpPopoverContentRefDirective,\n ],\n template: `\n <ng-content />\n\n @if (_buttons().length > 1) {\n <up-popover \n alignment=\"end\" \n placementOffset=\"2\"\n >\n <button\n upButton\n upPopoverTrigger\n size=\"icon\"\n class=\"border-l border-border rounded-tl-none rounded-bl-none\" \n [variant]=\"splitBtnItems.variant[activeIndex()]\"\n >\n <ng-icon \n size=\"24\" \n name=\"matArrowDropDownRound\"\n />\n </button>\n\n <div\n upPopoverContent\n class=\"p-1 w-63\"\n *upPopoverContentRef\n >\n @for (label of splitBtnItems.labels; track $index) {\n <button \n upPopoverClose \n class=\"\n relative flex w-full items-start gap-2 rounded-sm px-2 py-1.5\n text-sm text-popover-foreground cursor-pointer select-none\n hover:bg-accent hover:text-accent-foreground appearance-none focus:outline-none \n after:absolute after:bottom-0 after:left-7 after:right-2 after:h-px after:bg-border last:after:hidden\n \"\n (click)=\"activeIndex.set($index)\"\n >\n @if ($index !== activeIndex()) {\n <span class=\"w-4 shrink-0\"></span>\n } \n @else {\n <ng-icon \n size=\"16\" \n class=\"shrink-0 mt-0.5\"\n name=\"matCheckRound\" \n />\n }\n \n <div class=\"flex-1 text-left\">\n <div class=\"font-medium truncate\">{{ label }}</div>\n\n @if (splitBtnItems.descriptions[$index]) {\n <div class=\"text-xs text-muted-foreground mt-0.5\">{{ splitBtnItems.descriptions[$index] }}</div>\n } \n </div>\n </button>\n }\n </div>\n </up-popover>\n }\n `\n})\nexport class UpSplitButtonComponent {\n\n public readonly _buttons = contentChildren(\n 'upSplitBtnItem', \n { \n read: ElementRef \n }\n );\n public readonly _descriptions = contentChildren(\n 'upSplitBtnDescription', \n {\n read: ElementRef\n }\n );\n \n public readonly activeIndex: ModelSignal<number> = model(0);\n \n public splitBtnItems = {\n labels: [] as string[],\n descriptions: [] as string[],\n variant: [] as ButtonVariants['variant'][],\n };\n\n constructor() {\n effect(\n () => {\n this.splitBtnItems.labels = [];\n this.splitBtnItems.variant = [];\n\n this._buttons().forEach(\n (btn) => {\n this.splitBtnItems.labels.push(btn.nativeElement.textContent?.trim()?? '');\n \n this.splitBtnItems.variant.push(\n (btn.nativeElement.getAttribute('variant')?? 'default') as ButtonVariants['variant']\n );\n }\n );\n \n this.splitBtnItems.descriptions = this._descriptions().map(\n (desc) => desc.nativeElement.textContent?.trim()?? ''\n );\n \n if (this._buttons().length > 1) {\n this._buttons().forEach(\n (btn) => {\n btn.nativeElement.classList.add('rounded-tr-none', 'rounded-br-none');\n }\n );\n }\n \n if (this._descriptions().length > 0) {\n this._descriptions().forEach(\n (desc) => {\n desc.nativeElement.style.display = 'none';\n }\n );\n }\n }\n );\n\n effect(\n () => {\n this._buttons().forEach(\n (btn, index) => {\n btn.nativeElement.style.display = index === this.activeIndex()? 'inline-block' : 'none';\n }\n );\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-buttons.mjs","sources":["../../../projects/unipin-angular/buttons/button/button-variant.type.ts","../../../projects/unipin-angular/buttons/button/button.directive.ts","../../../projects/unipin-angular/buttons/split-button/split-button.component.ts","../../../projects/unipin-angular/buttons/unipin-angular-applet-buttons.ts"],"sourcesContent":["import { type VariantProps, cva } from 'class-variance-authority';\n\nexport const buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_ng-icon]:pointer-events-none shrink-0 [&_ng-icon]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer disabled:cursor-not-allowed',\n {\n variants: {\n size: {\n default: 'h-9 px-4 py-2 has-[>ng-icon]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>ng-icon]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>ng-icon]:px-4',\n icon: 'size-9',\n },\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive: 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline: 'border border-border hover:border-primary bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n }\n },\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n }\n);\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n","import { Directive, computed, input } from '@angular/core';\nimport type { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { buttonVariants, ButtonVariants } from './button-variant.type';\n\n\n@Directive({\n exportAs: 'upButton',\n selector: '[upButton]',\n host: {\n '[class]': '_computedClass()',\n }\n})\nexport class UpButtonDirective {\n\n public readonly size = input<ButtonVariants['size']>('default');\n public readonly variant = input<ButtonVariants['variant']>('default');\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n buttonVariants(\n {\n size: this.size(),\n variant: this.variant(),\n }\n ),\n this.inlineClass(),\n );\n }\n );\n}\n","import { Component, ChangeDetectionStrategy, contentChildren, ElementRef, ModelSignal, model, effect } from '@angular/core';\nimport { provideIcons, NgIcon } from '@ng-icons/core';\nimport { matCheckRound, matArrowDropDownRound } from '@ng-icons/material-icons/round';\nimport { UpPopoverCloseDirective, UpPopoverTriggerDirective, UpPopoverContentDirective, UpPopoverContentRefDirective, UpPopoverComponent } from '@unipin/angular-applet/popover';\nimport { ButtonVariants } from '../button/button-variant.type';\nimport { UpButtonDirective } from '../button/button.directive';\n\n\n@Component({\n selector: 'up-split-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'flex'\n },\n providers: [\n provideIcons(\n { \n matCheckRound, \n matArrowDropDownRound \n }\n )\n ],\n imports: [\n NgIcon,\n UpButtonDirective,\n UpPopoverComponent,\n UpPopoverCloseDirective,\n UpPopoverTriggerDirective,\n UpPopoverContentDirective,\n UpPopoverContentRefDirective,\n ],\n template: `\n <ng-content />\n\n @if (_buttons().length > 1) {\n <up-popover \n alignment=\"end\" \n placementOffset=\"2\"\n >\n <button\n upButton\n upPopoverTrigger\n size=\"icon\"\n class=\"border-l border-border rounded-tl-none rounded-bl-none\" \n [variant]=\"splitBtnItems.variant[activeIndex()]\"\n >\n <ng-icon \n size=\"24\" \n name=\"matArrowDropDownRound\"\n />\n </button>\n\n <div\n upPopoverContent\n class=\"p-1 w-63\"\n *upPopoverContentRef\n >\n @for (label of splitBtnItems.labels; track $index) {\n <button \n upPopoverClose \n class=\"\n relative flex w-full items-start gap-2 rounded-sm px-2 py-1.5\n text-sm text-popover-foreground cursor-pointer select-none\n hover:bg-accent hover:text-accent-foreground appearance-none focus:outline-none \n after:absolute after:bottom-0 after:left-7 after:right-2 after:h-px after:bg-border last:after:hidden\n \"\n (click)=\"activeIndex.set($index)\"\n >\n @if ($index !== activeIndex()) {\n <span class=\"w-4 shrink-0\"></span>\n } \n @else {\n <ng-icon \n size=\"16\" \n class=\"shrink-0 mt-0.5\"\n name=\"matCheckRound\" \n />\n }\n \n <div class=\"flex-1 text-left\">\n <div class=\"font-medium truncate\">{{ label }}</div>\n\n @if (splitBtnItems.descriptions[$index]) {\n <div class=\"text-xs text-muted-foreground mt-0.5\">{{ splitBtnItems.descriptions[$index] }}</div>\n } \n </div>\n </button>\n }\n </div>\n </up-popover>\n }\n `\n})\nexport class UpSplitButtonComponent {\n\n public readonly _buttons = contentChildren(\n 'upSplitBtnItem', \n { \n read: ElementRef \n }\n );\n public readonly _descriptions = contentChildren(\n 'upSplitBtnDescription', \n {\n read: ElementRef\n }\n );\n \n public readonly activeIndex: ModelSignal<number> = model(0);\n \n public splitBtnItems = {\n labels: [] as string[],\n descriptions: [] as string[],\n variant: [] as ButtonVariants['variant'][],\n };\n\n constructor() {\n effect(\n () => {\n this.splitBtnItems.labels = [];\n this.splitBtnItems.variant = [];\n\n this._buttons().forEach(\n (btn) => {\n this.splitBtnItems.labels.push(btn.nativeElement.textContent?.trim()?? '');\n \n this.splitBtnItems.variant.push(\n (btn.nativeElement.getAttribute('variant')?? 'default') as ButtonVariants['variant']\n );\n }\n );\n \n this.splitBtnItems.descriptions = this._descriptions().map(\n (desc) => desc.nativeElement.textContent?.trim()?? ''\n );\n \n if (this._buttons().length > 1) {\n this._buttons().forEach(\n (btn) => {\n btn.nativeElement.classList.add('rounded-tr-none', 'rounded-br-none');\n }\n );\n }\n \n if (this._descriptions().length > 0) {\n this._descriptions().forEach(\n (desc) => {\n desc.nativeElement.style.display = 'none';\n }\n );\n }\n }\n );\n\n effect(\n () => {\n this._buttons().forEach(\n (btn, index) => {\n btn.nativeElement.style.display = index === this.activeIndex()? 'inline-block' : 'none';\n }\n );\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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"}
@@ -13,14 +13,13 @@ class UpDateIsInRangePipe {
13
13
  }
14
14
  return date >= startOfDay(from) && date <= endOfDay(to);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsInRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsInRangePipe, isStandalone: true, name: "upDateIsInRange" }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsInRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsInRangePipe, isStandalone: true, name: "upDateIsInRange" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsInRangePipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsInRangePipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{
22
22
  pure: true,
23
- standalone: true,
24
23
  name: 'upDateIsInRange',
25
24
  }]
26
25
  }] });
@@ -37,14 +36,13 @@ class UpDateIsWeekEdgePipe {
37
36
  return 'right';
38
37
  return null;
39
38
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsWeekEdgePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
41
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsWeekEdgePipe, isStandalone: true, name: "upDateIsWeekEdge" }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsWeekEdgePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
40
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsWeekEdgePipe, isStandalone: true, name: "upDateIsWeekEdge" }); }
42
41
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsWeekEdgePipe, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsWeekEdgePipe, decorators: [{
44
43
  type: Pipe,
45
44
  args: [{
46
45
  pure: true,
47
- standalone: true,
48
46
  name: 'upDateIsWeekEdge',
49
47
  }]
50
48
  }] });
@@ -59,40 +57,39 @@ class UpDateIsSelectablePipe {
59
57
  return false;
60
58
  return true;
61
59
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsSelectablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
63
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsSelectablePipe, isStandalone: true, name: "upDateIsSelectable" }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsSelectablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
61
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsSelectablePipe, isStandalone: true, name: "upDateIsSelectable" }); }
64
62
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpDateIsSelectablePipe, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpDateIsSelectablePipe, decorators: [{
66
64
  type: Pipe,
67
65
  args: [{
68
66
  pure: true,
69
- standalone: true,
70
67
  name: 'upDateIsSelectable',
71
68
  }]
72
69
  }] });
73
70
 
74
71
  class UpCalendarComponent {
75
72
  constructor() {
76
- this.minDate = input(null, ...(ngDevMode ? [{ debugName: "minDate" }] : []));
77
- this.maxDate = input(null, ...(ngDevMode ? [{ debugName: "maxDate" }] : []));
78
- this.variant = input('single', ...(ngDevMode ? [{ debugName: "variant" }] : []));
73
+ this.minDate = input(null, ...(ngDevMode ? [{ debugName: "minDate" }] : /* istanbul ignore next */ []));
74
+ this.maxDate = input(null, ...(ngDevMode ? [{ debugName: "maxDate" }] : /* istanbul ignore next */ []));
75
+ this.variant = input('single', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
79
76
  this.selected = output();
80
77
  this.rangeSelected = output();
81
78
  this.today = new Date();
82
- this.activeDay = model(this.today, ...(ngDevMode ? [{ debugName: "activeDay" }] : []));
83
- this.activeRangeDay = model({ from: null, to: null }, ...(ngDevMode ? [{ debugName: "activeRangeDay" }] : []));
84
- this.rangeTo = signal(null, ...(ngDevMode ? [{ debugName: "rangeTo" }] : []));
85
- this.rangeFrom = signal(null, ...(ngDevMode ? [{ debugName: "rangeFrom" }] : []));
86
- this.selectedYear = signal(getYear(this.today), ...(ngDevMode ? [{ debugName: "selectedYear" }] : []));
87
- this.selectedMonth = signal(getMonth(this.today), ...(ngDevMode ? [{ debugName: "selectedMonth" }] : []));
79
+ this.activeDay = model(this.today, ...(ngDevMode ? [{ debugName: "activeDay" }] : /* istanbul ignore next */ []));
80
+ this.activeRangeDay = model({ from: null, to: null }, ...(ngDevMode ? [{ debugName: "activeRangeDay" }] : /* istanbul ignore next */ []));
81
+ this.rangeTo = signal(null, ...(ngDevMode ? [{ debugName: "rangeTo" }] : /* istanbul ignore next */ []));
82
+ this.rangeFrom = signal(null, ...(ngDevMode ? [{ debugName: "rangeFrom" }] : /* istanbul ignore next */ []));
83
+ this.selectedYear = signal(getYear(this.today), ...(ngDevMode ? [{ debugName: "selectedYear" }] : /* istanbul ignore next */ []));
84
+ this.selectedMonth = signal(getMonth(this.today), ...(ngDevMode ? [{ debugName: "selectedMonth" }] : /* istanbul ignore next */ []));
88
85
  this.firstDayOfActiveMonth = computed(() => {
89
86
  return startOfMonth(new Date(this.selectedYear(), this.selectedMonth(), 1));
90
- }, ...(ngDevMode ? [{ debugName: "firstDayOfActiveMonth" }] : []));
87
+ }, ...(ngDevMode ? [{ debugName: "firstDayOfActiveMonth" }] : /* istanbul ignore next */ []));
91
88
  this.daysOfMonth = computed(() => {
92
89
  const start = startOfWeek(this.firstDayOfActiveMonth(), { weekStartsOn: 1 });
93
90
  const end = endOfWeek(endOfMonth(this.firstDayOfActiveMonth()), { weekStartsOn: 1 });
94
91
  return eachDayOfInterval({ start, end });
95
- }, ...(ngDevMode ? [{ debugName: "daysOfMonth" }] : []));
92
+ }, ...(ngDevMode ? [{ debugName: "daysOfMonth" }] : /* istanbul ignore next */ []));
96
93
  this.weekDays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
97
94
  this.months = Array.from({ length: 12 }, (_, i) => format(new Date(2000, i), 'MMM'));
98
95
  this.years = Array.from({
@@ -186,8 +183,8 @@ class UpCalendarComponent {
186
183
  this.rangeFrom.set(from);
187
184
  this.rangeSelected.emit({ from, to });
188
185
  }
189
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
190
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: UpCalendarComponent, isStandalone: true, selector: "up-calendar", inputs: { minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, activeDay: { classPropertyName: "activeDay", publicName: "activeDay", isSignal: true, isRequired: false, transformFunction: null }, activeRangeDay: { classPropertyName: "activeRangeDay", publicName: "activeRangeDay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", rangeSelected: "rangeSelected", activeDay: "activeDayChange", activeRangeDay: "activeRangeDayChange" }, providers: [
186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
187
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: UpCalendarComponent, isStandalone: true, selector: "up-calendar", inputs: { minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, activeDay: { classPropertyName: "activeDay", publicName: "activeDay", isSignal: true, isRequired: false, transformFunction: null }, activeRangeDay: { classPropertyName: "activeRangeDay", publicName: "activeRangeDay", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", rangeSelected: "rangeSelected", activeDay: "activeDayChange", activeRangeDay: "activeRangeDayChange" }, providers: [
191
188
  provideIcons({
192
189
  matArrowBackIosRound,
193
190
  matArrowForwardIosRound
@@ -334,10 +331,9 @@ class UpCalendarComponent {
334
331
  </div>
335
332
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: UpButtonDirective, selector: "[upButton]", inputs: ["size", "variant", "class"], exportAs: ["upButton"] }, { kind: "pipe", type: UpDateIsInRangePipe, name: "upDateIsInRange" }, { kind: "pipe", type: UpDateIsWeekEdgePipe, name: "upDateIsWeekEdge" }, { kind: "pipe", type: UpDateIsSelectablePipe, name: "upDateIsSelectable" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
336
333
  }
337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCalendarComponent, decorators: [{
334
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCalendarComponent, decorators: [{
338
335
  type: Component,
339
336
  args: [{
340
- standalone: true,
341
337
  selector: 'up-calendar',
342
338
  changeDetection: ChangeDetectionStrategy.OnPush,
343
339
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-calendar.mjs","sources":["../../../projects/unipin-angular/calendar/pipes/date-is-in-range.pipe.ts","../../../projects/unipin-angular/calendar/pipes/date-is-week-edge.pipe.ts","../../../projects/unipin-angular/calendar/pipes/date-is-selectable.pipe.ts","../../../projects/unipin-angular/calendar/components/calendar.component.ts","../../../projects/unipin-angular/calendar/unipin-angular-applet-calendar.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { startOfDay, endOfDay } from 'date-fns';\n\n@Pipe({\n pure: true,\n standalone: true,\n name: 'upDateIsInRange',\n})\nexport class UpDateIsInRangePipe implements PipeTransform {\n \n public transform(date: Date, from?: Date | null, to?: Date | null): boolean{\n if (!date || !from || !to) {\n return false;\n }\n return date >= startOfDay(from) && date <= endOfDay(to);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { getDay } from 'date-fns';\n\n@Pipe({\n pure: true,\n standalone: true,\n name: 'upDateIsWeekEdge',\n})\nexport class UpDateIsWeekEdgePipe implements PipeTransform {\n\n public transform(date: Date | null): 'left' | 'right' | null{\n if (!date) {\n return null;\n }\n const day = getDay(date);\n\n if (day === 1) return 'left';\n if (day === 0) return 'right';\n return null;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { startOfDay, endOfDay } from 'date-fns';\n\n@Pipe({\n pure: true,\n standalone: true,\n name: 'upDateIsSelectable',\n})\nexport class UpDateIsSelectablePipe implements PipeTransform {\n \n public transform(date: Date, minDate?: Date | null, maxDate?: Date | null): boolean{\n if (!date) return false;\n \n if (minDate && date < startOfDay(minDate)) return false;\n if (maxDate && date > endOfDay(maxDate)) return false;\n return true;\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, input, model, output, signal } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matArrowBackIosRound, matArrowForwardIosRound } from '@ng-icons/material-icons/round';\nimport { addMonths, eachDayOfInterval, endOfMonth, endOfWeek, format, getMonth, getYear, startOfMonth, startOfWeek, subMonths } from 'date-fns';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { SingleDate, RangeDate } from '../types/calendar-date.type';\nimport { UpDateIsInRangePipe } from '../pipes/date-is-in-range.pipe';\nimport { UpDateIsWeekEdgePipe } from '../pipes/date-is-week-edge.pipe';\nimport { UpDateIsSelectablePipe } from '../pipes/date-is-selectable.pipe';\n\n\n@Component({\n standalone: true,\n selector: 'up-calendar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n provideIcons(\n { \n matArrowBackIosRound, \n matArrowForwardIosRound \n }\n )\n ],\n imports: [\n NgClass,\n NgIcon,\n UpButtonDirective,\n UpDateIsInRangePipe,\n UpDateIsWeekEdgePipe,\n UpDateIsSelectablePipe,\n ],\n template: `\n <div class=\"w-fit rounded-xl border border-border bg-white p-3 shadow-lg [--cell-size:2rem]\">\n <div class=\"flex items-center justify-between mb-4 gap-1\">\n <button\n upButton\n type=\"icon\"\n variant=\"ghost\"\n (click)=\"previousMonth()\"\n class=\"h-[--cell-size] w-[--cell-size]\"\n >\n <ng-icon name=\"matArrowBackIosRound\" size=\"14\" />\n </button>\n\n <div class=\"flex items-center justify-center h-[--cell-size] gap-1.5\">\n <div\n class=\"\n relative border border-input rounded-md shadow-xs \n has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px]\n \"\n >\n <select\n class=\"\n h-8 bg-background px-2 pr-6 text-sm font-medium text-foreground \n appearance-none cursor-pointer focus:outline-none relative z-10 opacity-0\n \"\n (change)=\"changeMonth($event)\"\n >\n @for (month of months; track $index) {\n <option \n [value]=\"$index\" \n [selected]=\"$index === selectedMonth()\"\n >\n {{ month }}\n </option>\n }\n </select>\n \n <div class=\"absolute inset-0 flex items-center px-2\">\n <span class=\"text-sm font-medium flex-1 truncate\">\n {{ months[selectedMonth()] }}\n </span>\n \n <ng-icon\n size=\"10\"\n name=\"matArrowForwardIosRound\"\n class=\"text-muted-foreground rotate-90 absolute right-2 pointer-events-none\"\n />\n </div>\n </div>\n\n <div\n class=\"\n relative border border-input rounded-md shadow-xs \n has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px]\n \"\n >\n <select\n class=\"\n h-8 bg-background px-2 pr-6 text-sm font-medium text-foreground \n appearance-none cursor-pointer focus:outline-none relative z-10 opacity-0\n \"\n (change)=\"changeYear($event)\"\n >\n @for (year of years; track $index) {\n <option \n [value]=\"year\" \n [selected]=\"year === selectedYear()\"\n >\n {{ year }}\n </option>\n }\n </select>\n \n <div class=\"absolute inset-0 flex items-center px-2\">\n <span class=\"text-sm font-medium flex-1 truncate\">\n {{ selectedYear() }}\n </span>\n \n <ng-icon\n size=\"10\"\n name=\"matArrowForwardIosRound\"\n class=\"text-muted-foreground rotate-90 absolute right-2 pointer-events-none\"\n />\n </div>\n </div>\n </div>\n\n <button\n upButton\n type=\"icon\"\n variant=\"ghost\"\n (click)=\"nextMonth()\"\n class=\"h-[--cell-size] w-[--cell-size]\"\n >\n <ng-icon name=\"matArrowForwardIosRound\" size=\"14\" />\n </button>\n </div>\n\n <div class=\"grid grid-cols-7 text-center text-[0.8rem] font-normal text-muted-foreground\">\n @for (day of weekDays; track $index) {\n <div class=\"select-none py-1\">\n {{ day }}\n </div>\n }\n </div>\n\n <div class=\"grid grid-cols-7 text-sm mt-2\">\n @for (day of daysOfMonth(); track $index) {\n <div \n class=\"relative aspect-square select-none mt-2 outline-none\"\n [ngClass]=\"{\n 'bg-primary/20': variant() === 'range' && (day | upDateIsInRange:rangeFrom():rangeTo()),\n 'rounded-l-md': day.toDateString() === rangeFrom()?.toDateString() || ((day | upDateIsInRange:rangeFrom():rangeTo()) && (day | upDateIsWeekEdge) === 'left'),\n 'rounded-r-md': day.toDateString() === rangeTo()?.toDateString() || ((day | upDateIsInRange:rangeFrom():rangeTo()) && (day | upDateIsWeekEdge) === 'right')\n }\"\n >\n <button\n class=\"flex aspect-square w-full min-w-[--cell-size] items-center justify-center rounded-md font-normal leading-none transition-colors duration-150 not-disabled:cursor-pointer outline-none\"\n [disabled]=\"!(day | upDateIsSelectable:minDate():maxDate())\"\n [ngClass]=\"{\n 'bg-accent text-accent-foreground': day.toDateString() === today.toDateString(),\n 'opacity-40 pointer-events-none': !(day | upDateIsSelectable:minDate():maxDate()),\n 'text-foreground hover:bg-accent hover:text-accent-foreground': day.getMonth() === firstDayOfActiveMonth().getMonth(),\n 'text-muted-foreground/40 hover:text-muted-foreground/60 hover:bg-accent/30': day.getMonth() !== firstDayOfActiveMonth().getMonth(),\n \n 'bg-primary text-primary-foreground':\n (variant() === 'single' && activeDay()?.toDateString() === day.toDateString()) ||\n (variant() === 'range' && (\n day.toDateString() === rangeFrom()?.toDateString() ||\n day.toDateString() === rangeTo()?.toDateString()\n )),\n }\"\n (click)=\"selectDate(day)\"\n >\n {{ day.getDate() }}\n </button>\n </div>\n }\n </div>\n </div>\n `,\n})\nexport class UpCalendarComponent {\n \n public readonly minDate = input<SingleDate>(null);\n public readonly maxDate = input<SingleDate>(null);\n public readonly variant = input<'single' | 'range'>('single');\n \n public readonly selected = output<SingleDate>();\n public readonly rangeSelected = output<RangeDate>();\n\n public readonly today = new Date();\n public readonly activeDay = model<SingleDate>(this.today);\n public readonly activeRangeDay = model<RangeDate>({from: null, to: null});\n\n public readonly rangeTo = signal<SingleDate>(null);\n public readonly rangeFrom = signal<SingleDate>(null);\n\n public readonly selectedYear = signal(getYear(this.today));\n public readonly selectedMonth = signal(getMonth(this.today));\n\n public readonly firstDayOfActiveMonth = computed(\n () => {\n return startOfMonth(new Date(this.selectedYear(), this.selectedMonth(), 1));\n }\n );\n \n public readonly daysOfMonth = computed(\n () => {\n const start = startOfWeek(this.firstDayOfActiveMonth(), { weekStartsOn: 1 });\n const end = endOfWeek(endOfMonth(this.firstDayOfActiveMonth()), { weekStartsOn: 1 });\n \n return eachDayOfInterval({ start, end });\n }\n );\n\n public readonly weekDays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];\n public readonly months = Array.from(\n { length: 12 }, \n (_, i) => format(new Date(2000, i), 'MMM')\n );\n public readonly years = Array.from(\n { \n length: (new Date().getFullYear() + 2) - 1970 + 1\n },\n (_, i) => 1970 + i\n );\n\n constructor() {\n effect(\n () => {\n if (this.variant() !== 'range') {\n return;\n }\n const range = this.activeRangeDay();\n\n if (!range.from && !range.to) {\n this.rangeTo.set(null);\n this.rangeFrom.set(null);\n \n return;\n }\n \n if (range.from && range.to) {\n this.rangeTo.set(range.to);\n this.rangeFrom.set(range.from);\n \n return;\n }\n const singleDate = range.from || range.to;\n \n this.rangeTo.set(singleDate);\n this.rangeFrom.set(singleDate);\n }\n );\n\n effect(\n () => {\n const active = this.activeDay();\n if (!active) return;\n \n this.selectedYear.set(active.getFullYear());\n this.selectedMonth.set(active.getMonth());\n }\n );\n\n effect(\n () => {\n const active = this.activeRangeDay();\n if (!active.from) return;\n \n this.selectedYear.set(active.from.getFullYear());\n this.selectedMonth.set(active.from.getMonth());\n }\n );\n }\n\n public changeMonth(event: Event): void{\n this.selectedMonth.set(\n +(event.target as HTMLSelectElement).value\n );\n }\n \n public changeYear(event: Event): void{\n this.selectedYear.set(\n +(event.target as HTMLSelectElement).value\n );\n }\n\n public previousMonth(): void{\n const prev = subMonths(this.firstDayOfActiveMonth(), 1);\n \n this.selectedYear.set(getYear(prev));\n this.selectedMonth.set(getMonth(prev));\n }\n \n public nextMonth(): void{\n const next = addMonths(this.firstDayOfActiveMonth(), 1);\n \n this.selectedYear.set(getYear(next));\n this.selectedMonth.set(getMonth(next));\n }\n\n public selectDate(day: Date): void{\n if (this.variant() === 'single') {\n const active = this.activeDay();\n const value = active && active.toDateString() === day.toDateString() ? null : day;\n \n this.activeDay.set(value);\n this.selected.emit(value);\n \n return;\n }\n this.handleRangeSelection(day);\n }\n\n protected handleRangeSelection(day: Date): void{\n const from = this.rangeFrom();\n const to = this.rangeTo();\n \n const time = day.getTime();\n if (!from && !to) {\n return this.setRange(day, day);\n }\n \n if (\n from?.getTime() === to?.getTime() && \n from?.getTime() === time\n ) {\n return this.setRange(null, null);\n }\n \n if (from && to) {\n const fromTime = from.getTime();\n const toTime = to.getTime();\n \n if (time === fromTime) return this.setRange(from, day);\n if (time === toTime) return this.setRange(day, to);\n if (time < fromTime) return this.setRange(day, to);\n \n return this.setRange(from, day);\n }\n }\n \n protected setRange(from: SingleDate, to: SingleDate): void{\n this.rangeTo.set(to);\n this.rangeFrom.set(from);\n \n this.rangeSelected.emit({ from, to });\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-calendar.mjs","sources":["../../../projects/unipin-angular/calendar/pipes/date-is-in-range.pipe.ts","../../../projects/unipin-angular/calendar/pipes/date-is-week-edge.pipe.ts","../../../projects/unipin-angular/calendar/pipes/date-is-selectable.pipe.ts","../../../projects/unipin-angular/calendar/components/calendar.component.ts","../../../projects/unipin-angular/calendar/unipin-angular-applet-calendar.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { startOfDay, endOfDay } from 'date-fns';\n\n\n@Pipe({\n pure: true,\n name: 'upDateIsInRange',\n})\nexport class UpDateIsInRangePipe implements PipeTransform {\n \n public transform(date: Date, from?: Date | null, to?: Date | null): boolean{\n if (!date || !from || !to) {\n return false;\n }\n return date >= startOfDay(from) && date <= endOfDay(to);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { getDay } from 'date-fns';\n\n\n@Pipe({\n pure: true,\n name: 'upDateIsWeekEdge',\n})\nexport class UpDateIsWeekEdgePipe implements PipeTransform {\n\n public transform(date: Date | null): 'left' | 'right' | null{\n if (!date) {\n return null;\n }\n const day = getDay(date);\n\n if (day === 1) return 'left';\n if (day === 0) return 'right';\n return null;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { startOfDay, endOfDay } from 'date-fns';\n\n\n@Pipe({\n pure: true,\n name: 'upDateIsSelectable',\n})\nexport class UpDateIsSelectablePipe implements PipeTransform {\n \n public transform(date: Date, minDate?: Date | null, maxDate?: Date | null): boolean{\n if (!date) return false;\n \n if (minDate && date < startOfDay(minDate)) return false;\n if (maxDate && date > endOfDay(maxDate)) return false;\n return true;\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, input, model, output, signal } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { matArrowBackIosRound, matArrowForwardIosRound } from '@ng-icons/material-icons/round';\nimport { addMonths, eachDayOfInterval, endOfMonth, endOfWeek, format, getMonth, getYear, startOfMonth, startOfWeek, subMonths } from 'date-fns';\nimport { UpButtonDirective } from '@unipin/angular-applet/buttons';\nimport { SingleDate, RangeDate } from '../types/calendar-date.type';\nimport { UpDateIsInRangePipe } from '../pipes/date-is-in-range.pipe';\nimport { UpDateIsWeekEdgePipe } from '../pipes/date-is-week-edge.pipe';\nimport { UpDateIsSelectablePipe } from '../pipes/date-is-selectable.pipe';\n\n\n@Component({\n selector: 'up-calendar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n provideIcons(\n { \n matArrowBackIosRound, \n matArrowForwardIosRound \n }\n )\n ],\n imports: [\n NgClass,\n NgIcon,\n UpButtonDirective,\n UpDateIsInRangePipe,\n UpDateIsWeekEdgePipe,\n UpDateIsSelectablePipe,\n ],\n template: `\n <div class=\"w-fit rounded-xl border border-border bg-white p-3 shadow-lg [--cell-size:2rem]\">\n <div class=\"flex items-center justify-between mb-4 gap-1\">\n <button\n upButton\n type=\"icon\"\n variant=\"ghost\"\n (click)=\"previousMonth()\"\n class=\"h-[--cell-size] w-[--cell-size]\"\n >\n <ng-icon name=\"matArrowBackIosRound\" size=\"14\" />\n </button>\n\n <div class=\"flex items-center justify-center h-[--cell-size] gap-1.5\">\n <div\n class=\"\n relative border border-input rounded-md shadow-xs \n has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px]\n \"\n >\n <select\n class=\"\n h-8 bg-background px-2 pr-6 text-sm font-medium text-foreground \n appearance-none cursor-pointer focus:outline-none relative z-10 opacity-0\n \"\n (change)=\"changeMonth($event)\"\n >\n @for (month of months; track $index) {\n <option \n [value]=\"$index\" \n [selected]=\"$index === selectedMonth()\"\n >\n {{ month }}\n </option>\n }\n </select>\n \n <div class=\"absolute inset-0 flex items-center px-2\">\n <span class=\"text-sm font-medium flex-1 truncate\">\n {{ months[selectedMonth()] }}\n </span>\n \n <ng-icon\n size=\"10\"\n name=\"matArrowForwardIosRound\"\n class=\"text-muted-foreground rotate-90 absolute right-2 pointer-events-none\"\n />\n </div>\n </div>\n\n <div\n class=\"\n relative border border-input rounded-md shadow-xs \n has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px]\n \"\n >\n <select\n class=\"\n h-8 bg-background px-2 pr-6 text-sm font-medium text-foreground \n appearance-none cursor-pointer focus:outline-none relative z-10 opacity-0\n \"\n (change)=\"changeYear($event)\"\n >\n @for (year of years; track $index) {\n <option \n [value]=\"year\" \n [selected]=\"year === selectedYear()\"\n >\n {{ year }}\n </option>\n }\n </select>\n \n <div class=\"absolute inset-0 flex items-center px-2\">\n <span class=\"text-sm font-medium flex-1 truncate\">\n {{ selectedYear() }}\n </span>\n \n <ng-icon\n size=\"10\"\n name=\"matArrowForwardIosRound\"\n class=\"text-muted-foreground rotate-90 absolute right-2 pointer-events-none\"\n />\n </div>\n </div>\n </div>\n\n <button\n upButton\n type=\"icon\"\n variant=\"ghost\"\n (click)=\"nextMonth()\"\n class=\"h-[--cell-size] w-[--cell-size]\"\n >\n <ng-icon name=\"matArrowForwardIosRound\" size=\"14\" />\n </button>\n </div>\n\n <div class=\"grid grid-cols-7 text-center text-[0.8rem] font-normal text-muted-foreground\">\n @for (day of weekDays; track $index) {\n <div class=\"select-none py-1\">\n {{ day }}\n </div>\n }\n </div>\n\n <div class=\"grid grid-cols-7 text-sm mt-2\">\n @for (day of daysOfMonth(); track $index) {\n <div \n class=\"relative aspect-square select-none mt-2 outline-none\"\n [ngClass]=\"{\n 'bg-primary/20': variant() === 'range' && (day | upDateIsInRange:rangeFrom():rangeTo()),\n 'rounded-l-md': day.toDateString() === rangeFrom()?.toDateString() || ((day | upDateIsInRange:rangeFrom():rangeTo()) && (day | upDateIsWeekEdge) === 'left'),\n 'rounded-r-md': day.toDateString() === rangeTo()?.toDateString() || ((day | upDateIsInRange:rangeFrom():rangeTo()) && (day | upDateIsWeekEdge) === 'right')\n }\"\n >\n <button\n class=\"flex aspect-square w-full min-w-[--cell-size] items-center justify-center rounded-md font-normal leading-none transition-colors duration-150 not-disabled:cursor-pointer outline-none\"\n [disabled]=\"!(day | upDateIsSelectable:minDate():maxDate())\"\n [ngClass]=\"{\n 'bg-accent text-accent-foreground': day.toDateString() === today.toDateString(),\n 'opacity-40 pointer-events-none': !(day | upDateIsSelectable:minDate():maxDate()),\n 'text-foreground hover:bg-accent hover:text-accent-foreground': day.getMonth() === firstDayOfActiveMonth().getMonth(),\n 'text-muted-foreground/40 hover:text-muted-foreground/60 hover:bg-accent/30': day.getMonth() !== firstDayOfActiveMonth().getMonth(),\n \n 'bg-primary text-primary-foreground':\n (variant() === 'single' && activeDay()?.toDateString() === day.toDateString()) ||\n (variant() === 'range' && (\n day.toDateString() === rangeFrom()?.toDateString() ||\n day.toDateString() === rangeTo()?.toDateString()\n )),\n }\"\n (click)=\"selectDate(day)\"\n >\n {{ day.getDate() }}\n </button>\n </div>\n }\n </div>\n </div>\n `,\n})\nexport class UpCalendarComponent {\n \n public readonly minDate = input<SingleDate>(null);\n public readonly maxDate = input<SingleDate>(null);\n public readonly variant = input<'single' | 'range'>('single');\n \n public readonly selected = output<SingleDate>();\n public readonly rangeSelected = output<RangeDate>();\n\n public readonly today = new Date();\n public readonly activeDay = model<SingleDate>(this.today);\n public readonly activeRangeDay = model<RangeDate>({from: null, to: null});\n\n public readonly rangeTo = signal<SingleDate>(null);\n public readonly rangeFrom = signal<SingleDate>(null);\n\n public readonly selectedYear = signal(getYear(this.today));\n public readonly selectedMonth = signal(getMonth(this.today));\n\n public readonly firstDayOfActiveMonth = computed(\n () => {\n return startOfMonth(new Date(this.selectedYear(), this.selectedMonth(), 1));\n }\n );\n \n public readonly daysOfMonth = computed(\n () => {\n const start = startOfWeek(this.firstDayOfActiveMonth(), { weekStartsOn: 1 });\n const end = endOfWeek(endOfMonth(this.firstDayOfActiveMonth()), { weekStartsOn: 1 });\n \n return eachDayOfInterval({ start, end });\n }\n );\n\n public readonly weekDays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];\n public readonly months = Array.from(\n { length: 12 }, \n (_, i) => format(new Date(2000, i), 'MMM')\n );\n public readonly years = Array.from(\n { \n length: (new Date().getFullYear() + 2) - 1970 + 1\n },\n (_, i) => 1970 + i\n );\n\n constructor() {\n effect(\n () => {\n if (this.variant() !== 'range') {\n return;\n }\n const range = this.activeRangeDay();\n\n if (!range.from && !range.to) {\n this.rangeTo.set(null);\n this.rangeFrom.set(null);\n \n return;\n }\n \n if (range.from && range.to) {\n this.rangeTo.set(range.to);\n this.rangeFrom.set(range.from);\n \n return;\n }\n const singleDate = range.from || range.to;\n \n this.rangeTo.set(singleDate);\n this.rangeFrom.set(singleDate);\n }\n );\n\n effect(\n () => {\n const active = this.activeDay();\n if (!active) return;\n \n this.selectedYear.set(active.getFullYear());\n this.selectedMonth.set(active.getMonth());\n }\n );\n\n effect(\n () => {\n const active = this.activeRangeDay();\n if (!active.from) return;\n \n this.selectedYear.set(active.from.getFullYear());\n this.selectedMonth.set(active.from.getMonth());\n }\n );\n }\n\n public changeMonth(event: Event): void{\n this.selectedMonth.set(\n +(event.target as HTMLSelectElement).value\n );\n }\n \n public changeYear(event: Event): void{\n this.selectedYear.set(\n +(event.target as HTMLSelectElement).value\n );\n }\n\n public previousMonth(): void{\n const prev = subMonths(this.firstDayOfActiveMonth(), 1);\n \n this.selectedYear.set(getYear(prev));\n this.selectedMonth.set(getMonth(prev));\n }\n \n public nextMonth(): void{\n const next = addMonths(this.firstDayOfActiveMonth(), 1);\n \n this.selectedYear.set(getYear(next));\n this.selectedMonth.set(getMonth(next));\n }\n\n public selectDate(day: Date): void{\n if (this.variant() === 'single') {\n const active = this.activeDay();\n const value = active && active.toDateString() === day.toDateString() ? null : day;\n \n this.activeDay.set(value);\n this.selected.emit(value);\n \n return;\n }\n this.handleRangeSelection(day);\n }\n\n protected handleRangeSelection(day: Date): void{\n const from = this.rangeFrom();\n const to = this.rangeTo();\n \n const time = day.getTime();\n if (!from && !to) {\n return this.setRange(day, day);\n }\n \n if (\n from?.getTime() === to?.getTime() && \n from?.getTime() === time\n ) {\n return this.setRange(null, null);\n }\n \n if (from && to) {\n const fromTime = from.getTime();\n const toTime = to.getTime();\n \n if (time === fromTime) return this.setRange(from, day);\n if (time === toTime) return this.setRange(day, to);\n if (time < fromTime) return this.setRange(day, to);\n \n return this.setRange(from, day);\n }\n }\n \n protected setRange(from: SingleDate, to: SingleDate): void{\n this.rangeTo.set(to);\n this.rangeFrom.set(from);\n \n this.rangeSelected.emit({ from, to });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -4,22 +4,21 @@ import { up } from '@unipin/angular-applet/common';
4
4
 
5
5
  class UpCollapsibleDirective {
6
6
  constructor() {
7
- this.isOpened = model(false, ...(ngDevMode ? [{ debugName: "isOpened" }] : []));
8
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
9
- this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : {}), alias: 'class' });
7
+ this.isOpened = model(false, ...(ngDevMode ? [{ debugName: "isOpened" }] : /* istanbul ignore next */ []));
8
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
9
+ this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : /* istanbul ignore next */ {}), alias: 'class' });
10
10
  }
11
11
  setOpen(value) {
12
12
  if (!this.disabled()) {
13
13
  this.isOpened.set(value);
14
14
  }
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCollapsibleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: UpCollapsibleDirective, isStandalone: true, selector: "[upCollapsible]", inputs: { isOpened: { classPropertyName: "isOpened", publicName: "isOpened", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpened: "isOpenedChange" }, host: { properties: { "class": "inlineClass()", "attr.data-state": "isOpened()? 'open' : 'closed'" } }, exportAs: ["upCollapsible"], ngImport: i0 }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCollapsibleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: UpCollapsibleDirective, isStandalone: true, selector: "[upCollapsible]", inputs: { isOpened: { classPropertyName: "isOpened", publicName: "isOpened", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpened: "isOpenedChange" }, host: { properties: { "class": "inlineClass()", "attr.data-state": "isOpened()? 'open' : 'closed'" } }, exportAs: ["upCollapsible"], ngImport: i0 }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCollapsibleDirective, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCollapsibleDirective, decorators: [{
20
20
  type: Directive,
21
21
  args: [{
22
- standalone: true,
23
22
  exportAs: 'upCollapsible',
24
23
  selector: '[upCollapsible]',
25
24
  host: {
@@ -32,21 +31,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
32
31
  class UpCollapsibleTriggerDirective {
33
32
  constructor(parent) {
34
33
  this.parent = parent;
35
- this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : {}), alias: 'class' });
34
+ this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : /* istanbul ignore next */ {}), alias: 'class' });
36
35
  this._computedClass = computed(() => {
37
36
  return up('cursor-pointer', this.inlineClass());
38
- }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
37
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
39
38
  }
40
39
  toggleState() {
41
40
  this.parent.setOpen(!this.parent.isOpened());
42
41
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCollapsibleTriggerDirective, deps: [{ token: UpCollapsibleDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: UpCollapsibleTriggerDirective, isStandalone: true, selector: "[upCollapsibleTrigger]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleState()" }, properties: { "class": "_computedClass()", "attr.disabled": "parent.disabled() || null", "attr.data-state": "parent.isOpened()? 'open' : 'closed'" } }, exportAs: ["upCollapsibleTrigger"], ngImport: i0 }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCollapsibleTriggerDirective, deps: [{ token: UpCollapsibleDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: UpCollapsibleTriggerDirective, isStandalone: true, selector: "[upCollapsibleTrigger]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleState()" }, properties: { "class": "_computedClass()", "attr.disabled": "parent.disabled() || null", "attr.data-state": "parent.isOpened()? 'open' : 'closed'" } }, exportAs: ["upCollapsibleTrigger"], ngImport: i0 }); }
45
44
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCollapsibleTriggerDirective, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCollapsibleTriggerDirective, decorators: [{
47
46
  type: Directive,
48
47
  args: [{
49
- standalone: true,
50
48
  exportAs: 'upCollapsibleTrigger',
51
49
  selector: '[upCollapsibleTrigger]',
52
50
  host: {
@@ -62,22 +60,21 @@ class UpCollapsibleContentDirective {
62
60
  constructor(elementRef, parent) {
63
61
  this.elementRef = elementRef;
64
62
  this.parent = parent;
65
- this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : {}), alias: 'class' });
63
+ this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : /* istanbul ignore next */ {}), alias: 'class' });
66
64
  this._contentHeight = computed(() => {
67
65
  const element = this.elementRef.nativeElement;
68
66
  return element ? `${element.scrollHeight}px` : '0px';
69
- }, ...(ngDevMode ? [{ debugName: "_contentHeight" }] : []));
67
+ }, ...(ngDevMode ? [{ debugName: "_contentHeight" }] : /* istanbul ignore next */ []));
70
68
  this._computedClass = computed(() => {
71
69
  return up('overflow-hidden transition-all duration-300 ease-in-out', 'h-0 data-[state="open"]:h-[var(--up-collapsible-content-height)]', 'invisible data-[state="open"]:visible', this.inlineClass());
72
- }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
70
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : /* istanbul ignore next */ []));
73
71
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCollapsibleContentDirective, deps: [{ token: i0.ElementRef }, { token: UpCollapsibleDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: UpCollapsibleContentDirective, isStandalone: true, selector: "[upCollapsibleContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-disabled": "parent.disabled() || null", "attr.data-state": "parent.isOpened()? 'open' : 'closed'", "style.--up-collapsible-content-height": "_contentHeight()" } }, exportAs: ["upCollapsibleContent"], ngImport: i0 }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCollapsibleContentDirective, deps: [{ token: i0.ElementRef }, { token: UpCollapsibleDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: UpCollapsibleContentDirective, isStandalone: true, selector: "[upCollapsibleContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.data-disabled": "parent.disabled() || null", "attr.data-state": "parent.isOpened()? 'open' : 'closed'", "style.--up-collapsible-content-height": "_contentHeight()" } }, exportAs: ["upCollapsibleContent"], ngImport: i0 }); }
76
74
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCollapsibleContentDirective, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCollapsibleContentDirective, decorators: [{
78
76
  type: Directive,
79
77
  args: [{
80
- standalone: true,
81
78
  exportAs: 'upCollapsibleContent',
82
79
  selector: '[upCollapsibleContent]',
83
80
  host: {
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-collapsible.mjs","sources":["../../../projects/unipin-angular/collapsible/directives/collapsible.directive.ts","../../../projects/unipin-angular/collapsible/directives/collapsible-trigger.directive.ts","../../../projects/unipin-angular/collapsible/directives/collapsible-content.directive.ts","../../../projects/unipin-angular/collapsible/unipin-angular-applet-collapsible.ts"],"sourcesContent":["import { Directive, input, model } from '@angular/core';\nimport { ClassValue } from 'clsx';\n\n@Directive({\n standalone: true,\n exportAs: 'upCollapsible',\n selector: '[upCollapsible]',\n host: {\n '[class]': 'inlineClass()',\n '[attr.data-state]': `isOpened()? 'open' : 'closed'`,\n }\n})\nexport class UpCollapsibleDirective {\n \n public readonly isOpened= model<boolean>(false);\n public readonly disabled = input<boolean>(false);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public setOpen(value: boolean): void{\n if (!this.disabled()) {\n this.isOpened.set(value);\n }\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpCollapsibleDirective } from './collapsible.directive';\n\n@Directive({\n standalone: true,\n exportAs: 'upCollapsibleTrigger',\n selector: '[upCollapsibleTrigger]',\n host: {\n '[class]': '_computedClass()',\n '[attr.disabled]': 'parent.disabled() || null',\n '[attr.data-state]': `parent.isOpened()? 'open' : 'closed'`,\n '(click)': 'toggleState()'\n }\n})\nexport class UpCollapsibleTriggerDirective {\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'cursor-pointer',\n this.inlineClass(),\n );\n }\n );\n\n constructor(\n protected readonly parent: UpCollapsibleDirective\n ) { }\n\n public toggleState(): void{\n this.parent.setOpen(\n !this.parent.isOpened()\n );\n }\n}\n","import { computed, Directive, ElementRef, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpCollapsibleDirective } from './collapsible.directive';\n\n@Directive({\n standalone: true,\n exportAs: 'upCollapsibleContent',\n selector: '[upCollapsibleContent]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-disabled]': 'parent.disabled() || null',\n '[attr.data-state]': `parent.isOpened()? 'open' : 'closed'`,\n '[style.--up-collapsible-content-height]': '_contentHeight()',\n }\n})\nexport class UpCollapsibleContentDirective {\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _contentHeight = computed(\n () => {\n const element = this.elementRef.nativeElement as HTMLElement;\n return element? `${ element.scrollHeight }px` : '0px';\n }\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'overflow-hidden transition-all duration-300 ease-in-out',\n 'h-0 data-[state=\"open\"]:h-[var(--up-collapsible-content-height)]',\n 'invisible data-[state=\"open\"]:visible',\n this.inlineClass(),\n );\n }\n );\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly parent: UpCollapsibleDirective,\n ) { }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpCollapsibleDirective"],"mappings":"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"}
1
+ {"version":3,"file":"unipin-angular-applet-collapsible.mjs","sources":["../../../projects/unipin-angular/collapsible/directives/collapsible.directive.ts","../../../projects/unipin-angular/collapsible/directives/collapsible-trigger.directive.ts","../../../projects/unipin-angular/collapsible/directives/collapsible-content.directive.ts","../../../projects/unipin-angular/collapsible/unipin-angular-applet-collapsible.ts"],"sourcesContent":["import { Directive, input, model } from '@angular/core';\nimport { ClassValue } from 'clsx';\n\n\n@Directive({\n exportAs: 'upCollapsible',\n selector: '[upCollapsible]',\n host: {\n '[class]': 'inlineClass()',\n '[attr.data-state]': `isOpened()? 'open' : 'closed'`,\n }\n})\nexport class UpCollapsibleDirective {\n \n public readonly isOpened= model<boolean>(false);\n public readonly disabled = input<boolean>(false);\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public setOpen(value: boolean): void{\n if (!this.disabled()) {\n this.isOpened.set(value);\n }\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpCollapsibleDirective } from './collapsible.directive';\n\n\n@Directive({\n exportAs: 'upCollapsibleTrigger',\n selector: '[upCollapsibleTrigger]',\n host: {\n '[class]': '_computedClass()',\n '[attr.disabled]': 'parent.disabled() || null',\n '[attr.data-state]': `parent.isOpened()? 'open' : 'closed'`,\n '(click)': 'toggleState()'\n }\n})\nexport class UpCollapsibleTriggerDirective {\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'cursor-pointer',\n this.inlineClass(),\n );\n }\n );\n\n constructor(\n protected readonly parent: UpCollapsibleDirective\n ) { }\n\n public toggleState(): void{\n this.parent.setOpen(\n !this.parent.isOpened()\n );\n }\n}\n","import { computed, Directive, ElementRef, input } from '@angular/core';\nimport { ClassValue } from 'clsx';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpCollapsibleDirective } from './collapsible.directive';\n\n\n@Directive({\n exportAs: 'upCollapsibleContent',\n selector: '[upCollapsibleContent]',\n host: {\n '[class]': '_computedClass()',\n '[attr.data-disabled]': 'parent.disabled() || null',\n '[attr.data-state]': `parent.isOpened()? 'open' : 'closed'`,\n '[style.--up-collapsible-content-height]': '_contentHeight()',\n }\n})\nexport class UpCollapsibleContentDirective {\n\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly _contentHeight = computed(\n () => {\n const element = this.elementRef.nativeElement as HTMLElement;\n return element? `${ element.scrollHeight }px` : '0px';\n }\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'overflow-hidden transition-all duration-300 ease-in-out',\n 'h-0 data-[state=\"open\"]:h-[var(--up-collapsible-content-height)]',\n 'invisible data-[state=\"open\"]:visible',\n this.inlineClass(),\n );\n }\n );\n\n constructor(\n protected readonly elementRef: ElementRef,\n protected readonly parent: UpCollapsibleDirective,\n ) { }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UpCollapsibleDirective"],"mappings":";;;;MAYa,sBAAsB,CAAA;AARnC,IAAA,WAAA,GAAA;AAUkB,QAAA,IAAA,CAAA,QAAQ,GAAE,KAAK,CAAU,KAAK,+EAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,+EAAC;QAChC,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAOxE,IAAA;AALQ,IAAA,OAAO,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QAC1B;IACF;+GAVW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,+BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,mBAAmB,EAAE,CAAA,6BAAA,CAA+B;AACrD;AACF,iBAAA;;;MCKY,6BAA6B,CAAA;AAaxC,IAAA,WAAA,CACqB,MAA8B,EAAA;QAA9B,IAAA,CAAA,MAAM,GAAN,MAAM;QAZX,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAEpD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;YACH,OAAO,EAAE,CACP,gBAAgB,EAChB,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,qFACF;IAIG;IAEG,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CACxB;IACH;+GArBW,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,iBAAiB,EAAE,2BAA2B;AAC9C,wBAAA,mBAAmB,EAAE,CAAA,oCAAA,CAAsC;AAC3D,wBAAA,SAAS,EAAE;AACZ;AACF,iBAAA;;;MCCY,6BAA6B,CAAA;IAsBxC,WAAA,CACqB,UAAsB,EACtB,MAA8B,EAAA;QAD9B,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,MAAM,GAAN,MAAM;QAtBX,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,mFAAI,KAAK,EAAE,OAAO,EAAA,CAAG;AAEpD,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;AACH,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAA4B;AAC5D,YAAA,OAAO,OAAO,GAAE,CAAA,EAAI,OAAO,CAAC,YAAa,CAAA,EAAA,CAAI,GAAG,KAAK;AACvD,QAAA,CAAC,qFACF;AAEkB,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;AACH,YAAA,OAAO,EAAE,CACP,yDAAyD,EACzD,kEAAkE,EAClE,uCAAuC,EACvC,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,qFACF;IAKG;+GAzBO,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,sCAAA,EAAA,uCAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC7B,wBAAA,sBAAsB,EAAE,2BAA2B;AACnD,wBAAA,mBAAmB,EAAE,CAAA,oCAAA,CAAsC;AAC3D,wBAAA,yCAAyC,EAAE,kBAAkB;AAC9D;AACF,iBAAA;;;ACfD;;AAEG;;;;"}
@@ -64,14 +64,13 @@ class UpPricePipe {
64
64
  transform(value, magnifyValue = 1, format = 'number') {
65
65
  return formatPrice(+value, +magnifyValue, format);
66
66
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
68
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: UpPricePipe, isStandalone: true, name: "upPrice" }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
68
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: UpPricePipe, isStandalone: true, name: "upPrice" }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpPricePipe, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpPricePipe, decorators: [{
71
71
  type: Pipe,
72
72
  args: [{
73
73
  pure: true,
74
- standalone: true,
75
74
  name: 'upPrice'
76
75
  }]
77
76
  }] });
@@ -95,14 +94,13 @@ class UpInitialPipe {
95
94
  transform(value) {
96
95
  return formatInitial(value);
97
96
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpInitialPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
99
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: UpInitialPipe, isStandalone: true, name: "upInitial" }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpInitialPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
98
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: UpInitialPipe, isStandalone: true, name: "upInitial" }); }
100
99
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpInitialPipe, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpInitialPipe, decorators: [{
102
101
  type: Pipe,
103
102
  args: [{
104
103
  pure: true,
105
- standalone: true,
106
104
  name: 'upInitial'
107
105
  }]
108
106
  }] });
@@ -123,14 +121,13 @@ class UpLinkifyPipe {
123
121
  transform(value) {
124
122
  return formatLinkify(value, this.sanitizer);
125
123
  }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpLinkifyPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
127
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: UpLinkifyPipe, isStandalone: true, name: "upLinkify" }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpLinkifyPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
125
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: UpLinkifyPipe, isStandalone: true, name: "upLinkify" }); }
128
126
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpLinkifyPipe, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpLinkifyPipe, decorators: [{
130
128
  type: Pipe,
131
129
  args: [{
132
130
  pure: true,
133
- standalone: true,
134
131
  name: 'upLinkify'
135
132
  }]
136
133
  }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
@@ -147,14 +144,13 @@ class UpCapitalizaPipe {
147
144
  transform(value, onlyFirstWord = true) {
148
145
  return formatCapitalize(value, onlyFirstWord);
149
146
  }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCapitalizaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
151
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: UpCapitalizaPipe, isStandalone: true, name: "upCapitalize" }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCapitalizaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
148
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: UpCapitalizaPipe, isStandalone: true, name: "upCapitalize" }); }
152
149
  }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpCapitalizaPipe, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpCapitalizaPipe, decorators: [{
154
151
  type: Pipe,
155
152
  args: [{
156
153
  pure: true,
157
- standalone: true,
158
154
  name: 'upCapitalize',
159
155
  }]
160
156
  }] });
@@ -225,10 +221,10 @@ class CountryService {
225
221
  });
226
222
  }));
227
223
  }
228
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CountryService, deps: [{ token: i1$1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
229
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CountryService, providedIn: 'root' }); }
224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CountryService, deps: [{ token: i1$1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
225
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CountryService, providedIn: 'root' }); }
230
226
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CountryService, decorators: [{
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CountryService, decorators: [{
232
228
  type: Injectable,
233
229
  args: [{
234
230
  providedIn: 'root'
@@ -275,10 +271,10 @@ class CurrencyService {
275
271
  });
276
272
  }));
277
273
  }
278
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CurrencyService, deps: [{ token: i1$1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
279
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
274
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CurrencyService, deps: [{ token: i1$1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
275
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
280
276
  }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CurrencyService, decorators: [{
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CurrencyService, decorators: [{
282
278
  type: Injectable,
283
279
  args: [{
284
280
  providedIn: 'root'
@@ -312,10 +308,10 @@ class RateGroupCodeService {
312
308
  });
313
309
  }));
314
310
  }
315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RateGroupCodeService, deps: [{ token: i1$1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
316
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RateGroupCodeService, providedIn: 'root' }); }
311
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RateGroupCodeService, deps: [{ token: i1$1.GqlParser }], target: i0.ɵɵFactoryTarget.Injectable }); }
312
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RateGroupCodeService, providedIn: 'root' }); }
317
313
  }
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: RateGroupCodeService, decorators: [{
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: RateGroupCodeService, decorators: [{
319
315
  type: Injectable,
320
316
  args: [{
321
317
  providedIn: 'root'
@@ -325,7 +321,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
325
321
  class UpFileDragNDropDirective {
326
322
  constructor(el) {
327
323
  this.el = el;
328
- this.draggedClass = input('', ...(ngDevMode ? [{ debugName: "draggedClass" }] : []));
324
+ this.draggedClass = input('', ...(ngDevMode ? [{ debugName: "draggedClass" }] : /* istanbul ignore next */ []));
329
325
  this.fileDropped = output();
330
326
  }
331
327
  ngOnInit() {
@@ -350,13 +346,12 @@ class UpFileDragNDropDirective {
350
346
  this.fileDropped.emit(files);
351
347
  }
352
348
  }
353
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpFileDragNDropDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
354
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: UpFileDragNDropDirective, isStandalone: true, selector: "[upFileDragNDrop]", inputs: { draggedClass: { classPropertyName: "draggedClass", publicName: "draggedClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "dragOver($event)", "dragleave": "leave($event)", "drop": "drop($event)" } }, exportAs: ["upFileDragNDrop"], ngImport: i0 }); }
349
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpFileDragNDropDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
350
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: UpFileDragNDropDirective, isStandalone: true, selector: "[upFileDragNDrop]", inputs: { draggedClass: { classPropertyName: "draggedClass", publicName: "draggedClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "dragOver($event)", "dragleave": "leave($event)", "drop": "drop($event)" } }, exportAs: ["upFileDragNDrop"], ngImport: i0 }); }
355
351
  }
356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: UpFileDragNDropDirective, decorators: [{
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: UpFileDragNDropDirective, decorators: [{
357
353
  type: Directive,
358
354
  args: [{
359
- standalone: true,
360
355
  exportAs: 'upFileDragNDrop',
361
356
  selector: '[upFileDragNDrop]'
362
357
  }]