@unipin/angular-applet 21.1.0 → 21.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +334 -37
  2. package/fesm2022/unipin-angular-applet-accordion.mjs +23 -23
  3. package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -1
  4. package/fesm2022/unipin-angular-applet-alert-dialog.mjs +93 -79
  5. package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
  6. package/fesm2022/unipin-angular-applet-alert.mjs +13 -13
  7. package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -1
  8. package/fesm2022/unipin-angular-applet-approval.mjs +129 -0
  9. package/fesm2022/unipin-angular-applet-approval.mjs.map +1 -0
  10. package/fesm2022/unipin-angular-applet-auth.mjs +44 -25
  11. package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -1
  12. package/fesm2022/unipin-angular-applet-avatar.mjs +4 -4
  13. package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
  14. package/fesm2022/unipin-angular-applet-badge.mjs +5 -5
  15. package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -1
  16. package/fesm2022/unipin-angular-applet-buttons.mjs +10 -10
  17. package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -1
  18. package/fesm2022/unipin-angular-applet-calendar.mjs +25 -25
  19. package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
  20. package/fesm2022/unipin-angular-applet-collapsible.mjs +14 -14
  21. package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -1
  22. package/fesm2022/unipin-angular-applet-common.mjs +60 -23
  23. package/fesm2022/unipin-angular-applet-common.mjs.map +1 -1
  24. package/fesm2022/unipin-angular-applet-containers.mjs +20 -20
  25. package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -1
  26. package/fesm2022/unipin-angular-applet-dialog.mjs +74 -56
  27. package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
  28. package/fesm2022/unipin-angular-applet-forms.mjs +571 -256
  29. package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
  30. package/fesm2022/unipin-angular-applet-froala.mjs +8 -8
  31. package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
  32. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +5 -5
  33. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -1
  34. package/fesm2022/unipin-angular-applet-json-viewer.mjs +7 -7
  35. package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -1
  36. package/fesm2022/unipin-angular-applet-kbd.mjs +4 -4
  37. package/fesm2022/unipin-angular-applet-kbd.mjs.map +1 -1
  38. package/fesm2022/unipin-angular-applet-loading-dialog.mjs +8 -8
  39. package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -1
  40. package/fesm2022/unipin-angular-applet-markdown.mjs +17 -17
  41. package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
  42. package/fesm2022/unipin-angular-applet-popover.mjs +18 -18
  43. package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
  44. package/fesm2022/unipin-angular-applet-progress-bar.mjs +7 -7
  45. package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -1
  46. package/fesm2022/unipin-angular-applet-skeleton.mjs +4 -4
  47. package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -1
  48. package/fesm2022/unipin-angular-applet-spinner.mjs +5 -5
  49. package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -1
  50. package/fesm2022/unipin-angular-applet-stepper.mjs +288 -0
  51. package/fesm2022/unipin-angular-applet-stepper.mjs.map +1 -0
  52. package/fesm2022/unipin-angular-applet-swipeable.mjs +24 -24
  53. package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -1
  54. package/fesm2022/unipin-angular-applet-tabs.mjs +19 -19
  55. package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -1
  56. package/fesm2022/unipin-angular-applet-tooltip.mjs +5 -5
  57. package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -1
  58. package/package.json +9 -1
  59. package/types/unipin-angular-applet-alert-dialog.d.ts +12 -1
  60. package/types/unipin-angular-applet-approval.d.ts +55 -0
  61. package/types/unipin-angular-applet-common.d.ts +12 -2
  62. package/types/unipin-angular-applet-dialog.d.ts +6 -4
  63. package/types/unipin-angular-applet-forms.d.ts +118 -39
  64. package/types/unipin-angular-applet-stepper.d.ts +43 -0
@@ -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@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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"}
@@ -13,10 +13,10 @@ 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.0.1", ngImport: i0, type: UpDateIsInRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsInRangePipe, isStandalone: true, name: "upDateIsInRange" }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsInRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsInRangePipe, isStandalone: true, name: "upDateIsInRange" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsInRangePipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsInRangePipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{
22
22
  pure: true,
@@ -37,10 +37,10 @@ class UpDateIsWeekEdgePipe {
37
37
  return 'right';
38
38
  return null;
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsWeekEdgePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
41
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsWeekEdgePipe, isStandalone: true, name: "upDateIsWeekEdge" }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsWeekEdgePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
41
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsWeekEdgePipe, isStandalone: true, name: "upDateIsWeekEdge" }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsWeekEdgePipe, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsWeekEdgePipe, decorators: [{
44
44
  type: Pipe,
45
45
  args: [{
46
46
  pure: true,
@@ -59,10 +59,10 @@ class UpDateIsSelectablePipe {
59
59
  return false;
60
60
  return true;
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsSelectablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
63
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsSelectablePipe, isStandalone: true, name: "upDateIsSelectable" }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsSelectablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
63
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsSelectablePipe, isStandalone: true, name: "upDateIsSelectable" }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpDateIsSelectablePipe, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpDateIsSelectablePipe, decorators: [{
66
66
  type: Pipe,
67
67
  args: [{
68
68
  pure: true,
@@ -73,26 +73,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
73
73
 
74
74
  class UpCalendarComponent {
75
75
  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" } : {}) });
76
+ this.minDate = input(null, ...(ngDevMode ? [{ debugName: "minDate" }] : []));
77
+ this.maxDate = input(null, ...(ngDevMode ? [{ debugName: "maxDate" }] : []));
78
+ this.variant = input('single', ...(ngDevMode ? [{ debugName: "variant" }] : []));
79
79
  this.selected = output();
80
80
  this.rangeSelected = output();
81
81
  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" } : {}) });
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" }] : []));
88
88
  this.firstDayOfActiveMonth = computed(() => {
89
89
  return startOfMonth(new Date(this.selectedYear(), this.selectedMonth(), 1));
90
- }, { ...(ngDevMode ? { debugName: "firstDayOfActiveMonth" } : {}) });
90
+ }, ...(ngDevMode ? [{ debugName: "firstDayOfActiveMonth" }] : []));
91
91
  this.daysOfMonth = computed(() => {
92
92
  const start = startOfWeek(this.firstDayOfActiveMonth(), { weekStartsOn: 1 });
93
93
  const end = endOfWeek(endOfMonth(this.firstDayOfActiveMonth()), { weekStartsOn: 1 });
94
94
  return eachDayOfInterval({ start, end });
95
- }, { ...(ngDevMode ? { debugName: "daysOfMonth" } : {}) });
95
+ }, ...(ngDevMode ? [{ debugName: "daysOfMonth" }] : []));
96
96
  this.weekDays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
97
97
  this.months = Array.from({ length: 12 }, (_, i) => format(new Date(2000, i), 'MMM'));
98
98
  this.years = Array.from({
@@ -172,14 +172,14 @@ class UpCalendarComponent {
172
172
  this.rangeFrom.set(from);
173
173
  this.rangeSelected.emit({ from, to });
174
174
  }
175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
176
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", 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: [
175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
176
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", 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: [
177
177
  provideIcons({
178
178
  matArrowBackIosRound,
179
179
  matArrowForwardIosRound
180
180
  })
181
181
  ], ngImport: i0, template: `
182
- <div class="w-fit rounded-xl border border-border bg-card p-3 shadow-lg [--cell-size:2rem]">
182
+ <div class="w-fit rounded-xl border border-border bg-white p-3 shadow-lg [--cell-size:2rem]">
183
183
  <div class="flex items-center justify-between mb-4 gap-1">
184
184
  <button
185
185
  upButton
@@ -320,7 +320,7 @@ class UpCalendarComponent {
320
320
  </div>
321
321
  `, 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 }); }
322
322
  }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCalendarComponent, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCalendarComponent, decorators: [{
324
324
  type: Component,
325
325
  args: [{
326
326
  standalone: true,
@@ -341,7 +341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
341
341
  UpDateIsSelectablePipe,
342
342
  ],
343
343
  template: `
344
- <div class="w-fit rounded-xl border border-border bg-card p-3 shadow-lg [--cell-size:2rem]">
344
+ <div class="w-fit rounded-xl border border-border bg-white p-3 shadow-lg [--cell-size:2rem]">
345
345
  <div class="flex items-center justify-between mb-4 gap-1">
346
346
  <button
347
347
  upButton
@@ -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-card 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\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@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\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,8 +4,8 @@ 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" } : {}) });
7
+ this.isOpened = model(false, ...(ngDevMode ? [{ debugName: "isOpened" }] : []));
8
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
9
9
  this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : {}), alias: 'class' });
10
10
  }
11
11
  setOpen(value) {
@@ -13,10 +13,10 @@ class UpCollapsibleDirective {
13
13
  this.isOpened.set(value);
14
14
  }
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCollapsibleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", 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.0.6", ngImport: i0, type: UpCollapsibleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", 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.0.1", ngImport: i0, type: UpCollapsibleDirective, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCollapsibleDirective, decorators: [{
20
20
  type: Directive,
21
21
  args: [{
22
22
  standalone: true,
@@ -35,15 +35,15 @@ class UpCollapsibleTriggerDirective {
35
35
  this.inlineClass = input('', { ...(ngDevMode ? { debugName: "inlineClass" } : {}), alias: 'class' });
36
36
  this._computedClass = computed(() => {
37
37
  return up('cursor-pointer', this.inlineClass());
38
- }, { ...(ngDevMode ? { debugName: "_computedClass" } : {}) });
38
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
39
39
  }
40
40
  toggleState() {
41
41
  this.parent.setOpen(!this.parent.isOpened());
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCollapsibleTriggerDirective, deps: [{ token: UpCollapsibleDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
44
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", 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 }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCollapsibleTriggerDirective, deps: [{ token: UpCollapsibleDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", 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
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCollapsibleTriggerDirective, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCollapsibleTriggerDirective, decorators: [{
47
47
  type: Directive,
48
48
  args: [{
49
49
  standalone: true,
@@ -66,15 +66,15 @@ class UpCollapsibleContentDirective {
66
66
  this._contentHeight = computed(() => {
67
67
  const element = this.elementRef.nativeElement;
68
68
  return element ? `${element.scrollHeight}px` : '0px';
69
- }, { ...(ngDevMode ? { debugName: "_contentHeight" } : {}) });
69
+ }, ...(ngDevMode ? [{ debugName: "_contentHeight" }] : []));
70
70
  this._computedClass = computed(() => {
71
71
  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" } : {}) });
72
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", 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.0.1", 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 }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", 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.0.6", 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
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCollapsibleContentDirective, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCollapsibleContentDirective, decorators: [{
78
78
  type: Directive,
79
79
  args: [{
80
80
  standalone: true,
@@ -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@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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"}
@@ -64,10 +64,10 @@ 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.0.1", ngImport: i0, type: UpPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
68
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: UpPricePipe, isStandalone: true, name: "upPrice" }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpPricePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
68
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: UpPricePipe, isStandalone: true, name: "upPrice" }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpPricePipe, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpPricePipe, decorators: [{
71
71
  type: Pipe,
72
72
  args: [{
73
73
  pure: true,
@@ -95,10 +95,10 @@ class UpInitialPipe {
95
95
  transform(value) {
96
96
  return formatInitial(value);
97
97
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpInitialPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
99
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: UpInitialPipe, isStandalone: true, name: "upInitial" }); }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpInitialPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
99
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: UpInitialPipe, isStandalone: true, name: "upInitial" }); }
100
100
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpInitialPipe, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpInitialPipe, decorators: [{
102
102
  type: Pipe,
103
103
  args: [{
104
104
  pure: true,
@@ -123,10 +123,10 @@ class UpLinkifyPipe {
123
123
  transform(value) {
124
124
  return formatLinkify(value, this.sanitizer);
125
125
  }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpLinkifyPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
127
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: UpLinkifyPipe, isStandalone: true, name: "upLinkify" }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpLinkifyPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
127
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: UpLinkifyPipe, isStandalone: true, name: "upLinkify" }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpLinkifyPipe, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpLinkifyPipe, decorators: [{
130
130
  type: Pipe,
131
131
  args: [{
132
132
  pure: true,
@@ -147,10 +147,10 @@ class UpCapitalizaPipe {
147
147
  transform(value, onlyFirstWord = true) {
148
148
  return formatCapitalize(value, onlyFirstWord);
149
149
  }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCapitalizaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
151
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.1", ngImport: i0, type: UpCapitalizaPipe, isStandalone: true, name: "upCapitalize" }); }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCapitalizaPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
151
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: UpCapitalizaPipe, isStandalone: true, name: "upCapitalize" }); }
152
152
  }
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpCapitalizaPipe, decorators: [{
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpCapitalizaPipe, decorators: [{
154
154
  type: Pipe,
155
155
  args: [{
156
156
  pure: true,
@@ -225,10 +225,10 @@ class CountryService {
225
225
  });
226
226
  }));
227
227
  }
228
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", 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.0.1", ngImport: i0, type: CountryService, providedIn: 'root' }); }
228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", 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.0.6", ngImport: i0, type: CountryService, providedIn: 'root' }); }
230
230
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CountryService, decorators: [{
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: CountryService, decorators: [{
232
232
  type: Injectable,
233
233
  args: [{
234
234
  providedIn: 'root'
@@ -275,10 +275,47 @@ class CurrencyService {
275
275
  });
276
276
  }));
277
277
  }
278
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", 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.0.1", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
278
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", 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.0.6", ngImport: i0, type: CurrencyService, providedIn: 'root' }); }
280
280
  }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: CurrencyService, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: CurrencyService, decorators: [{
282
+ type: Injectable,
283
+ args: [{
284
+ providedIn: 'root'
285
+ }]
286
+ }], ctorParameters: () => [{ type: i1$1.GqlParser }] });
287
+
288
+ class RateGroupCodeService {
289
+ constructor(gql) {
290
+ this.gql = gql;
291
+ }
292
+ query(input = { key: '', page: 0, pageSize: 100 }) {
293
+ return this.gql.query({
294
+ operationName: 'QueryRateGroupCode',
295
+ variables: {
296
+ input
297
+ },
298
+ query: `
299
+ query QueryRateGroupCode($input: RateGroupCodeCriteria) {
300
+ productMsSearchRateGroupCodes(input: $input) {
301
+ data
302
+ }
303
+ }
304
+ `,
305
+ }).pipe(map((res) => ({
306
+ data: res.data ?? null,
307
+ errors: res.errors ?? []
308
+ })), catchError((err) => {
309
+ return of({
310
+ data: null,
311
+ errors: Array.isArray(err) ? err : [err]
312
+ });
313
+ }));
314
+ }
315
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", 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.0.6", ngImport: i0, type: RateGroupCodeService, providedIn: 'root' }); }
317
+ }
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: RateGroupCodeService, decorators: [{
282
319
  type: Injectable,
283
320
  args: [{
284
321
  providedIn: 'root'
@@ -288,7 +325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
288
325
  class UpFileDragNDropDirective {
289
326
  constructor(el) {
290
327
  this.el = el;
291
- this.draggedClass = input('', { ...(ngDevMode ? { debugName: "draggedClass" } : {}) });
328
+ this.draggedClass = input('', ...(ngDevMode ? [{ debugName: "draggedClass" }] : []));
292
329
  this.fileDropped = output();
293
330
  }
294
331
  ngOnInit() {
@@ -313,10 +350,10 @@ class UpFileDragNDropDirective {
313
350
  this.fileDropped.emit(files);
314
351
  }
315
352
  }
316
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpFileDragNDropDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
317
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", 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 }); }
353
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpFileDragNDropDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
354
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", 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 }); }
318
355
  }
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: UpFileDragNDropDirective, decorators: [{
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpFileDragNDropDirective, decorators: [{
320
357
  type: Directive,
321
358
  args: [{
322
359
  standalone: true,
@@ -338,5 +375,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
338
375
  * Generated bundle index. Do not edit.
339
376
  */
340
377
 
341
- export { CountryService, CurrencyService, UpCapitalizaPipe, UpFileDragNDropDirective, UpInitialPipe, UpLinkifyPipe, UpPricePipe, compressImage, formatCapitalize, formatInitial, formatLinkify, formatPrice, generateContrastColor, up };
378
+ export { CountryService, CurrencyService, RateGroupCodeService, UpCapitalizaPipe, UpFileDragNDropDirective, UpInitialPipe, UpLinkifyPipe, UpPricePipe, compressImage, formatCapitalize, formatInitial, formatLinkify, formatPrice, generateContrastColor, up };
342
379
  //# sourceMappingURL=unipin-angular-applet-common.mjs.map