@egose/shadcn-theme-ng-tw 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +107 -2
- package/alert/fesm2022/alert.mjs +19 -19
- package/alert/fesm2022/alert.mjs.map +1 -1
- package/badge/fesm2022/badge.mjs +4 -4
- package/badge/fesm2022/badge.mjs.map +1 -1
- package/basic-alert/fesm2022/basic-alert.mjs +4 -4
- package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
- package/button/fesm2022/button.mjs +8 -8
- package/button/fesm2022/button.mjs.map +1 -1
- package/calendar/fesm2022/calendar.mjs +16 -16
- package/calendar/fesm2022/calendar.mjs.map +1 -1
- package/date-picker/fesm2022/date-picker.mjs +19 -19
- package/date-picker/fesm2022/date-picker.mjs.map +1 -1
- package/form-date-picker/fesm2022/form-date-picker.mjs +4 -4
- package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -1
- package/form-field/fesm2022/form-field.mjs +16 -16
- package/form-field/fesm2022/form-field.mjs.map +1 -1
- package/form-field-simple/fesm2022/form-field-simple.mjs +4 -4
- package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -1
- package/form-select/fesm2022/form-select.mjs +5 -5
- package/form-select/fesm2022/form-select.mjs.map +1 -1
- package/form-text-input/fesm2022/form-text-input.mjs +8 -8
- package/form-text-input/fesm2022/form-text-input.mjs.map +1 -1
- package/form-textarea/fesm2022/form-textarea.mjs +4 -4
- package/form-textarea/fesm2022/form-textarea.mjs.map +1 -1
- package/icon/fesm2022/icon.mjs +8 -8
- package/icon/fesm2022/icon.mjs.map +1 -1
- package/input/fesm2022/input.mjs +8 -8
- package/input/fesm2022/input.mjs.map +1 -1
- package/label/fesm2022/label.mjs +8 -8
- package/label/fesm2022/label.mjs.map +1 -1
- package/package.json +7 -57
- package/popover/fesm2022/popover.mjs +12 -12
- package/popover/fesm2022/popover.mjs.map +1 -1
- package/select/fesm2022/select.mjs +40 -40
- package/select/fesm2022/select.mjs.map +1 -1
- package/separator/fesm2022/separator.mjs +8 -8
- package/separator/fesm2022/separator.mjs.map +1 -1
- package/sheet/fesm2022/sheet.mjs +36 -37
- package/sheet/fesm2022/sheet.mjs.map +1 -1
- package/sonner/fesm2022/sonner.mjs +8 -8
- package/sonner/fesm2022/sonner.mjs.map +1 -1
- package/spinner/fesm2022/spinner.mjs +8 -8
- package/spinner/fesm2022/spinner.mjs.map +1 -1
- package/switch/fesm2022/switch.mjs +12 -12
- package/switch/fesm2022/switch.mjs.map +1 -1
- package/accordion/README.md +0 -64
- package/accordion/fesm2022/accordion.mjs +0 -155
- package/accordion/fesm2022/accordion.mjs.map +0 -1
- package/accordion/index.d.ts +0 -49
- package/autocomplete/README.md +0 -64
- package/autocomplete/fesm2022/autocomplete.mjs +0 -543
- package/autocomplete/fesm2022/autocomplete.mjs.map +0 -1
- package/autocomplete/index.d.ts +0 -162
- package/checkbox/README.md +0 -64
- package/checkbox/fesm2022/checkbox.mjs +0 -146
- package/checkbox/fesm2022/checkbox.mjs.map +0 -1
- package/checkbox/index.d.ts +0 -55
- package/confirmation-dialog/README.md +0 -64
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +0 -93
- package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +0 -1
- package/confirmation-dialog/index.d.ts +0 -24
- package/dialog/README.md +0 -64
- package/dialog/fesm2022/dialog.mjs +0 -278
- package/dialog/fesm2022/dialog.mjs.map +0 -1
- package/dialog/index.d.ts +0 -89
- package/exports.json +0 -1
- package/form-checkbox/README.md +0 -64
- package/form-checkbox/fesm2022/form-checkbox.mjs +0 -137
- package/form-checkbox/fesm2022/form-checkbox.mjs.map +0 -1
- package/form-checkbox/index.d.ts +0 -27
- package/form-searchable-multiselect/README.md +0 -64
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +0 -139
- package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +0 -1
- package/form-searchable-multiselect/index.d.ts +0 -30
- package/layout-simple/README.md +0 -64
- package/layout-simple/fesm2022/layout-simple.mjs +0 -606
- package/layout-simple/fesm2022/layout-simple.mjs.map +0 -1
- package/layout-simple/index.d.ts +0 -142
- package/menu/README.md +0 -64
- package/menu/fesm2022/menu.mjs +0 -449
- package/menu/fesm2022/menu.mjs.map +0 -1
- package/menu/index.d.ts +0 -137
- package/radio-group/README.md +0 -64
- package/radio-group/fesm2022/radio-group.mjs +0 -170
- package/radio-group/fesm2022/radio-group.mjs.map +0 -1
- package/radio-group/index.d.ts +0 -63
- package/searchable-multiselect/README.md +0 -64
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +0 -221
- package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +0 -1
- package/searchable-multiselect/index.d.ts +0 -50
- package/tabs/README.md +0 -64
- package/tabs/fesm2022/tabs.mjs +0 -258
- package/tabs/fesm2022/tabs.mjs.map +0 -1
- package/tabs/index.d.ts +0 -71
- package/tooltip/README.md +0 -64
- package/tooltip/fesm2022/tooltip.mjs +0 -93
- package/tooltip/fesm2022/tooltip.mjs.map +0 -1
- package/tooltip/index.d.ts +0 -21
|
@@ -188,8 +188,8 @@ class HlmButton {
|
|
|
188
188
|
};
|
|
189
189
|
return colors[variant];
|
|
190
190
|
}
|
|
191
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
192
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmButton, isStandalone: true, selector: "button[hlmButton], a[hlmButton]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, spinnerUserClass: { classPropertyName: "spinnerUserClass", publicName: "spinnerUserClass", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()", "attr.aria-busy": "loading() || null", "attr.disabled": "(loading() || disabled()) ? true : null", "attr.type": "type()" } }, hostDirectives: [{ directive: i1.BrnButton, inputs: ["disabled", "disabled"] }], ngImport: i0, template: `
|
|
193
193
|
<ng-template #projected>
|
|
194
194
|
<ng-content></ng-content>
|
|
195
195
|
</ng-template>
|
|
@@ -216,7 +216,7 @@ class HlmButton {
|
|
|
216
216
|
}
|
|
217
217
|
`, isInline: true, dependencies: [{ kind: "component", type: HlmSpinner, selector: "hlm-spinner", inputs: ["size", "show", "class", "spinnerClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
218
218
|
}
|
|
219
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButton, decorators: [{
|
|
220
220
|
type: Component,
|
|
221
221
|
args: [{
|
|
222
222
|
selector: 'button[hlmButton], a[hlmButton]',
|
|
@@ -256,18 +256,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
256
256
|
}
|
|
257
257
|
`,
|
|
258
258
|
}]
|
|
259
|
-
}] });
|
|
259
|
+
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPosition", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], spinnerUserClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "spinnerUserClass", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });
|
|
260
260
|
|
|
261
261
|
/*
|
|
262
262
|
* Public API Surface of button
|
|
263
263
|
*/
|
|
264
264
|
const HlmButtonImports = [HlmButton];
|
|
265
265
|
class HlmButtonModule {
|
|
266
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
267
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
268
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
266
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
267
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, imports: [HlmButton], exports: [HlmButton] });
|
|
268
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, imports: [HlmButtonImports] });
|
|
269
269
|
}
|
|
270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmButtonModule, decorators: [{
|
|
271
271
|
type: NgModule,
|
|
272
272
|
args: [{
|
|
273
273
|
imports: [...HlmButtonImports],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.mjs","sources":["../../../projects/button/src/lib/button.ts","../../../projects/button/src/public-api.ts","../../../projects/button/src/button.ts"],"sourcesContent":["import { Component, computed, signal, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BrnButton } from '@spartan-ng/brain/button';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { type ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\nexport const buttonVariants = cva(\n [\n 'tw:cursor-pointer',\n 'tw:active:translate-y-[0.5px]',\n 'tw:disabled:pointer-events-none',\n 'tw:disabled:opacity-50',\n 'tw:focus-visible:outline-none',\n 'tw:focus-visible:ring-1',\n 'tw:focus-visible:ring-ring',\n 'tw:font-medium',\n 'tw:gap-2',\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:rounded-sm',\n 'tw:text-sm',\n 'tw:transform',\n 'tw:transition',\n 'tw:transition-colors',\n 'tw:whitespace-nowrap',\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:size-4',\n 'tw:no-underline',\n ],\n {\n variants: {\n variant: {\n primary:\n 'tw:border tw:border-primary tw:bg-primary tw:text-primary-foreground tw:shadow-sm tw:hover:bg-primary/90',\n secondary:\n 'tw:border tw:border-secondary tw:bg-secondary tw:text-secondary-foreground tw:shadow-sm tw:hover:bg-secondary/90',\n success:\n 'tw:border tw:border-success tw:bg-success tw:text-success-foreground tw:shadow-sm tw:hover:bg-success/90',\n warning:\n 'tw:border tw:border-warning tw:bg-warning tw:text-warning-foreground tw:shadow-sm tw:hover:bg-warning/90',\n danger: 'tw:border tw:border-danger tw:bg-danger tw:text-danger-foreground tw:shadow-sm tw:hover:bg-danger/90',\n info: 'tw:border tw:border-info tw:bg-info tw:text-info-foreground tw:shadow-sm tw:hover:bg-info/90',\n light: 'tw:border tw:border-light tw:bg-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/90',\n dark: 'tw:border tw:border-dark tw:bg-dark tw:text-dark-foreground tw:shadow-sm tw:hover:bg-dark/90',\n accent: 'tw:border tw:border-accent tw:bg-accent tw:text-accent-foreground tw:shadow-sm tw:hover:bg-accent/90',\n destructive:\n 'tw:border tw:border-destructive tw:bg-destructive tw:text-destructive-foreground tw:shadow-sm tw:hover:bg-destructive/90',\n muted: 'tw:border tw:border-muted tw:bg-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/90',\n link: 'tw:text-primary tw:underline-offset-4 tw:hover:underline',\n ghost: 'tw:hover:bg-light tw:hover:text-light-foreground',\n },\n size: {\n xs: 'tw:h-7 tw:rounded-xs tw:px-2 tw:text-xs',\n sm: 'tw:h-8 tw:rounded-sm tw:px-3',\n default: 'tw:h-9 tw:px-4 tw:py-2',\n lg: 'tw:h-10 tw:rounded-sm tw:px-7 tw:text-base',\n icon: 'tw:h-9 tw:w-9',\n 'compact-xs': 'tw:h-6 tw:px-2 tw:py-1 tw:text-xs',\n 'compact-sm': 'tw:h-7 tw:px-2 tw:py-1',\n 'compact-default': 'tw:h-8 tw:px-2 tw:py-1',\n 'compact-lg': 'tw:h-9 tw:px-2 tw:py-1 tw:text-base',\n 'compact-icon': 'tw:h-8 tw:w-8',\n },\n appearance: {\n solid: '',\n outline: 'tw:bg-white tw:border',\n 'outline-filled': 'tw:bg-white tw:border',\n },\n loading: {\n true: 'tw:pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\nexport type VariantType = NonNullable<ButtonVariants['variant']>;\nexport type SizeType = NonNullable<ButtonVariants['size']>;\nexport type AppearanceType = NonNullable<ButtonVariants['appearance']>;\n\n@Component({\n selector: 'button[hlmButton], a[hlmButton]',\n standalone: true,\n imports: [BrnButton, HlmSpinner, NgTemplateOutlet],\n hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],\n host: {\n '[class]': '_computedClass()',\n '[attr.aria-busy]': 'loading() || null',\n '[attr.disabled]': '(loading() || disabled()) ? true : null',\n '[attr.type]': 'type()',\n },\n template: `\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n\n @if (loading()) {\n <div class=\"tw:relative tw:inline-flex tw:items-center\">\n <span class=\"tw:invisible\">\n <ng-container *ngTemplateOutlet=\"projected\" />\n </span>\n <span class=\"tw:absolute tw:inset-0 tw:flex tw:items-center tw:justify-center\">\n <hlm-spinner [spinnerClass]=\"spinnerClass()\" />\n </span>\n </div>\n } @else {\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n @if (icon() && iconPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n <ng-container *ngTemplateOutlet=\"projected\" />\n @if (icon() && iconPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n </div>\n }\n `,\n})\nexport class HlmButton {\n /** Props as signal-based inputs */\n public readonly variant = input<VariantType>('primary');\n public readonly size = input<SizeType>('default');\n public readonly appearance = input<AppearanceType>('solid');\n public readonly loading = input<boolean>(false);\n public readonly icon = input<any | undefined>(undefined);\n public readonly iconPosition = input<'left' | 'right'>('left');\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n public readonly spinnerUserClass = input<ClassValue>('');\n public readonly disabled = input<boolean>(false);\n public readonly type = input<'button' | 'submit' | 'reset'>('button');\n private readonly _additionalClasses = signal<ClassValue>('');\n\n /** Computed button class merging */\n protected readonly _computedClass = computed(() => {\n const outlineClasses =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? [this.getOutlineClasses(this.variant())]\n : [];\n\n if (this.appearance() === 'outline-filled') {\n outlineClasses.push(this.getOutlineFilledClasses(this.variant()));\n }\n\n return hlm(\n buttonVariants({\n variant: this.variant(),\n size: this.size(),\n appearance: this.appearance(),\n loading: this.loading(),\n className: this.userClass(),\n }),\n outlineClasses,\n this.loading() ? 'tw:pointer-events-none' : '',\n this._additionalClasses(),\n );\n });\n\n /** Computed spinner classes */\n protected readonly spinnerClass = computed(() => {\n const base =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? this.getOutlineSpinnerClasses(this.variant())\n : this.getSpinnerClasses(this.variant());\n\n return hlm(base, this.spinnerUserClass());\n });\n\n setClass(classes: string): void {\n this._additionalClasses.set(classes);\n }\n\n /** Helper functions */\n private getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:border-primary tw:text-primary tw:shadow-sm tw:hover:bg-primary/10',\n secondary: 'tw:border-secondary tw:text-secondary tw:shadow-sm tw:hover:bg-secondary/10',\n success: 'tw:border-success tw:text-success tw:shadow-sm tw:hover:bg-success/10',\n warning: 'tw:border-warning tw:text-warning tw:shadow-sm tw:hover:bg-warning/10',\n danger: 'tw:border-danger tw:text-danger tw:shadow-sm tw:hover:bg-danger/10',\n info: 'tw:border-info tw:text-info tw:shadow-sm tw:hover:bg-info/10',\n light: 'tw:border-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/10',\n dark: 'tw:border-dark tw:text-dark tw:shadow-sm tw:hover:bg-dark/10',\n accent: 'tw:border-accent tw:text-accent tw:shadow-sm tw:hover:bg-accent/10',\n destructive: 'tw:border-destructive tw:text-destructive tw:shadow-sm tw:hover:bg-destructive/10',\n muted: 'tw:border-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/10',\n link: 'tw:text-primary',\n ghost: 'tw:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:hover:bg-primary tw:hover:text-primary-foreground',\n secondary: 'tw:hover:bg-secondary tw:hover:text-secondary-foreground',\n success: 'tw:hover:bg-success tw:hover:text-success-foreground',\n warning: 'tw:hover:bg-warning tw:hover:text-warning-foreground',\n danger: 'tw:hover:bg-danger tw:hover:text-danger-foreground',\n info: 'tw:hover:bg-info tw:hover:text-info-foreground',\n light: 'tw:hover:bg-light tw:hover:text-light-foreground',\n dark: 'tw:hover:bg-dark tw:hover:text-dark-foreground',\n accent: 'tw:hover:bg-accent tw:hover:text-accent-foreground',\n destructive: 'tw:hover:bg-destructive tw:hover:text-destructive-foreground',\n muted: 'tw:hover:bg-muted tw:hover:text-muted-foreground',\n link: 'tw:hover:underline',\n ghost: 'tw:hover:bg-light',\n };\n return colors[variant];\n }\n\n private getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary-foreground',\n secondary: 'tw:[&>svg]:text-secondary-foreground',\n success: 'tw:[&>svg]:text-success-foreground',\n warning: 'tw:[&>svg]:text-warning-foreground',\n danger: 'tw:[&>svg]:text-danger-foreground',\n info: 'tw:[&>svg]:text-info-foreground',\n light: 'tw:[&>svg]:text-light-foreground',\n dark: 'tw:[&>svg]:text-dark-foreground',\n accent: 'tw:[&>svg]:text-accent-foreground',\n destructive: 'tw:[&>svg]:text-destructive-foreground',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary',\n secondary: 'tw:[&>svg]:text-secondary',\n success: 'tw:[&>svg]:text-success',\n warning: 'tw:[&>svg]:text-warning',\n danger: 'tw:[&>svg]:text-danger',\n info: 'tw:[&>svg]:text-info',\n light: 'tw:[&>svg]:text-light',\n dark: 'tw:[&>svg]:text-dark',\n accent: 'tw:[&>svg]:text-accent',\n destructive: 'tw:[&>svg]:text-destructive',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n}\n","/*\n * Public API Surface of button\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmButton } from './lib/button';\nexport * from './lib/button';\n\nexport const HlmButtonImports = [HlmButton] as const;\n\n@NgModule({\n imports: [...HlmButtonImports],\n exports: [...HlmButtonImports],\n})\nexport class HlmButtonModule {}\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":"button.mjs","sources":["../../../projects/button/src/lib/button.ts","../../../projects/button/src/public-api.ts","../../../projects/button/src/button.ts"],"sourcesContent":["import { Component, computed, signal, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BrnButton } from '@spartan-ng/brain/button';\nimport { HlmSpinner } from '@egose/shadcn-theme-ng/spinner';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { type ClassValue } from 'clsx';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\n\nexport const buttonVariants = cva(\n [\n 'tw:cursor-pointer',\n 'tw:active:translate-y-[0.5px]',\n 'tw:disabled:pointer-events-none',\n 'tw:disabled:opacity-50',\n 'tw:focus-visible:outline-none',\n 'tw:focus-visible:ring-1',\n 'tw:focus-visible:ring-ring',\n 'tw:font-medium',\n 'tw:gap-2',\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:rounded-sm',\n 'tw:text-sm',\n 'tw:transform',\n 'tw:transition',\n 'tw:transition-colors',\n 'tw:whitespace-nowrap',\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:size-4',\n 'tw:no-underline',\n ],\n {\n variants: {\n variant: {\n primary:\n 'tw:border tw:border-primary tw:bg-primary tw:text-primary-foreground tw:shadow-sm tw:hover:bg-primary/90',\n secondary:\n 'tw:border tw:border-secondary tw:bg-secondary tw:text-secondary-foreground tw:shadow-sm tw:hover:bg-secondary/90',\n success:\n 'tw:border tw:border-success tw:bg-success tw:text-success-foreground tw:shadow-sm tw:hover:bg-success/90',\n warning:\n 'tw:border tw:border-warning tw:bg-warning tw:text-warning-foreground tw:shadow-sm tw:hover:bg-warning/90',\n danger: 'tw:border tw:border-danger tw:bg-danger tw:text-danger-foreground tw:shadow-sm tw:hover:bg-danger/90',\n info: 'tw:border tw:border-info tw:bg-info tw:text-info-foreground tw:shadow-sm tw:hover:bg-info/90',\n light: 'tw:border tw:border-light tw:bg-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/90',\n dark: 'tw:border tw:border-dark tw:bg-dark tw:text-dark-foreground tw:shadow-sm tw:hover:bg-dark/90',\n accent: 'tw:border tw:border-accent tw:bg-accent tw:text-accent-foreground tw:shadow-sm tw:hover:bg-accent/90',\n destructive:\n 'tw:border tw:border-destructive tw:bg-destructive tw:text-destructive-foreground tw:shadow-sm tw:hover:bg-destructive/90',\n muted: 'tw:border tw:border-muted tw:bg-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/90',\n link: 'tw:text-primary tw:underline-offset-4 tw:hover:underline',\n ghost: 'tw:hover:bg-light tw:hover:text-light-foreground',\n },\n size: {\n xs: 'tw:h-7 tw:rounded-xs tw:px-2 tw:text-xs',\n sm: 'tw:h-8 tw:rounded-sm tw:px-3',\n default: 'tw:h-9 tw:px-4 tw:py-2',\n lg: 'tw:h-10 tw:rounded-sm tw:px-7 tw:text-base',\n icon: 'tw:h-9 tw:w-9',\n 'compact-xs': 'tw:h-6 tw:px-2 tw:py-1 tw:text-xs',\n 'compact-sm': 'tw:h-7 tw:px-2 tw:py-1',\n 'compact-default': 'tw:h-8 tw:px-2 tw:py-1',\n 'compact-lg': 'tw:h-9 tw:px-2 tw:py-1 tw:text-base',\n 'compact-icon': 'tw:h-8 tw:w-8',\n },\n appearance: {\n solid: '',\n outline: 'tw:bg-white tw:border',\n 'outline-filled': 'tw:bg-white tw:border',\n },\n loading: {\n true: 'tw:pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\nexport type VariantType = NonNullable<ButtonVariants['variant']>;\nexport type SizeType = NonNullable<ButtonVariants['size']>;\nexport type AppearanceType = NonNullable<ButtonVariants['appearance']>;\n\n@Component({\n selector: 'button[hlmButton], a[hlmButton]',\n standalone: true,\n imports: [BrnButton, HlmSpinner, NgTemplateOutlet],\n hostDirectives: [{ directive: BrnButton, inputs: ['disabled'] }],\n host: {\n '[class]': '_computedClass()',\n '[attr.aria-busy]': 'loading() || null',\n '[attr.disabled]': '(loading() || disabled()) ? true : null',\n '[attr.type]': 'type()',\n },\n template: `\n <ng-template #projected>\n <ng-content></ng-content>\n </ng-template>\n\n @if (loading()) {\n <div class=\"tw:relative tw:inline-flex tw:items-center\">\n <span class=\"tw:invisible\">\n <ng-container *ngTemplateOutlet=\"projected\" />\n </span>\n <span class=\"tw:absolute tw:inset-0 tw:flex tw:items-center tw:justify-center\">\n <hlm-spinner [spinnerClass]=\"spinnerClass()\" />\n </span>\n </div>\n } @else {\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n @if (icon() && iconPosition() === 'left') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n <ng-container *ngTemplateOutlet=\"projected\" />\n @if (icon() && iconPosition() === 'right') {\n <ng-container *ngTemplateOutlet=\"icon()\" />\n }\n </div>\n }\n `,\n})\nexport class HlmButton {\n /** Props as signal-based inputs */\n public readonly variant = input<VariantType>('primary');\n public readonly size = input<SizeType>('default');\n public readonly appearance = input<AppearanceType>('solid');\n public readonly loading = input<boolean>(false);\n public readonly icon = input<any | undefined>(undefined);\n public readonly iconPosition = input<'left' | 'right'>('left');\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n public readonly spinnerUserClass = input<ClassValue>('');\n public readonly disabled = input<boolean>(false);\n public readonly type = input<'button' | 'submit' | 'reset'>('button');\n private readonly _additionalClasses = signal<ClassValue>('');\n\n /** Computed button class merging */\n protected readonly _computedClass = computed(() => {\n const outlineClasses =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? [this.getOutlineClasses(this.variant())]\n : [];\n\n if (this.appearance() === 'outline-filled') {\n outlineClasses.push(this.getOutlineFilledClasses(this.variant()));\n }\n\n return hlm(\n buttonVariants({\n variant: this.variant(),\n size: this.size(),\n appearance: this.appearance(),\n loading: this.loading(),\n className: this.userClass(),\n }),\n outlineClasses,\n this.loading() ? 'tw:pointer-events-none' : '',\n this._additionalClasses(),\n );\n });\n\n /** Computed spinner classes */\n protected readonly spinnerClass = computed(() => {\n const base =\n this.appearance() === 'outline' || this.appearance() === 'outline-filled'\n ? this.getOutlineSpinnerClasses(this.variant())\n : this.getSpinnerClasses(this.variant());\n\n return hlm(base, this.spinnerUserClass());\n });\n\n setClass(classes: string): void {\n this._additionalClasses.set(classes);\n }\n\n /** Helper functions */\n private getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:border-primary tw:text-primary tw:shadow-sm tw:hover:bg-primary/10',\n secondary: 'tw:border-secondary tw:text-secondary tw:shadow-sm tw:hover:bg-secondary/10',\n success: 'tw:border-success tw:text-success tw:shadow-sm tw:hover:bg-success/10',\n warning: 'tw:border-warning tw:text-warning tw:shadow-sm tw:hover:bg-warning/10',\n danger: 'tw:border-danger tw:text-danger tw:shadow-sm tw:hover:bg-danger/10',\n info: 'tw:border-info tw:text-info tw:shadow-sm tw:hover:bg-info/10',\n light: 'tw:border-light tw:text-light-foreground tw:shadow-sm tw:hover:bg-light/10',\n dark: 'tw:border-dark tw:text-dark tw:shadow-sm tw:hover:bg-dark/10',\n accent: 'tw:border-accent tw:text-accent tw:shadow-sm tw:hover:bg-accent/10',\n destructive: 'tw:border-destructive tw:text-destructive tw:shadow-sm tw:hover:bg-destructive/10',\n muted: 'tw:border-muted tw:text-muted-foreground tw:shadow-sm tw:hover:bg-muted/10',\n link: 'tw:text-primary',\n ghost: 'tw:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:hover:bg-primary tw:hover:text-primary-foreground',\n secondary: 'tw:hover:bg-secondary tw:hover:text-secondary-foreground',\n success: 'tw:hover:bg-success tw:hover:text-success-foreground',\n warning: 'tw:hover:bg-warning tw:hover:text-warning-foreground',\n danger: 'tw:hover:bg-danger tw:hover:text-danger-foreground',\n info: 'tw:hover:bg-info tw:hover:text-info-foreground',\n light: 'tw:hover:bg-light tw:hover:text-light-foreground',\n dark: 'tw:hover:bg-dark tw:hover:text-dark-foreground',\n accent: 'tw:hover:bg-accent tw:hover:text-accent-foreground',\n destructive: 'tw:hover:bg-destructive tw:hover:text-destructive-foreground',\n muted: 'tw:hover:bg-muted tw:hover:text-muted-foreground',\n link: 'tw:hover:underline',\n ghost: 'tw:hover:bg-light',\n };\n return colors[variant];\n }\n\n private getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary-foreground',\n secondary: 'tw:[&>svg]:text-secondary-foreground',\n success: 'tw:[&>svg]:text-success-foreground',\n warning: 'tw:[&>svg]:text-warning-foreground',\n danger: 'tw:[&>svg]:text-danger-foreground',\n info: 'tw:[&>svg]:text-info-foreground',\n light: 'tw:[&>svg]:text-light-foreground',\n dark: 'tw:[&>svg]:text-dark-foreground',\n accent: 'tw:[&>svg]:text-accent-foreground',\n destructive: 'tw:[&>svg]:text-destructive-foreground',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n\n private getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'tw:[&>svg]:text-primary',\n secondary: 'tw:[&>svg]:text-secondary',\n success: 'tw:[&>svg]:text-success',\n warning: 'tw:[&>svg]:text-warning',\n danger: 'tw:[&>svg]:text-danger',\n info: 'tw:[&>svg]:text-info',\n light: 'tw:[&>svg]:text-light',\n dark: 'tw:[&>svg]:text-dark',\n accent: 'tw:[&>svg]:text-accent',\n destructive: 'tw:[&>svg]:text-destructive',\n muted: 'tw:[&>svg]:text-muted-foreground',\n link: 'tw:[&>svg]:text-primary',\n ghost: 'tw:[&>svg]:text-light-foreground',\n };\n return colors[variant];\n }\n}\n","/*\n * Public API Surface of button\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmButton } from './lib/button';\nexport * from './lib/button';\n\nexport const HlmButtonImports = [HlmButton] as const;\n\n@NgModule({\n imports: [...HlmButtonImports],\n exports: [...HlmButtonImports],\n})\nexport class HlmButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,8 @@ class HlmCalendar {
|
|
|
40
40
|
.config()
|
|
41
41
|
.formatHeader(this._dateAdapter.getMonth(this._calendar().focusedDate()), this._dateAdapter.getYear(this._calendar().focusedDate())), ...(ngDevMode ? [{ debugName: "_heading" }] : []));
|
|
42
42
|
_btnClass = hlm(buttonVariants({ variant: 'ghost' }), 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100', 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-secondary/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30', 'tw:data-[today]:bg-secondary tw:data-[today]:text-secondary-foreground', 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground', 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50');
|
|
43
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
44
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
43
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmCalendar, isStandalone: true, selector: "hlm-calendar", inputs: { calendarClass: { classPropertyName: "calendarClass", publicName: "calendarClass", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange" }, viewQueries: [{ propertyName: "_calendar", first: true, predicate: BrnCalendar, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
45
45
|
<div
|
|
46
46
|
brnCalendar
|
|
47
47
|
[min]="min()"
|
|
@@ -112,7 +112,7 @@ class HlmCalendar {
|
|
|
112
112
|
</div>
|
|
113
113
|
`, isInline: true, dependencies: [{ kind: "directive", type: BrnCalendar, selector: "[brnCalendar]", inputs: ["min", "max", "disabled", "date", "dateDisabled", "weekStartsOn", "defaultFocusedDate"], outputs: ["dateChange"] }, { kind: "directive", type: BrnCalendarHeader, selector: "[brnCalendarHeader]", inputs: ["id"] }, { kind: "directive", type: BrnCalendarNextButton, selector: "[brnCalendarNextButton]" }, { kind: "directive", type: BrnCalendarPreviousButton, selector: "[brnCalendarPreviousButton]" }, { kind: "directive", type: BrnCalendarWeekday, selector: "[brnCalendarWeekday]" }, { kind: "directive", type: BrnCalendarWeek, selector: "[brnCalendarWeek]" }, { kind: "directive", type: BrnCalendarCellButton, selector: "button[brnCalendarCellButton]", inputs: ["date"] }, { kind: "directive", type: BrnCalendarCell, selector: "[brnCalendarCell]" }, { kind: "directive", type: BrnCalendarGrid, selector: "[brnCalendarGrid]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
114
114
|
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendar, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
117
|
args: [{
|
|
118
118
|
selector: 'hlm-calendar',
|
|
@@ -202,7 +202,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
202
202
|
`,
|
|
203
203
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
204
204
|
}]
|
|
205
|
-
}] });
|
|
205
|
+
}], propDecorators: { calendarClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarClass", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }, { type: i0.Output, args: ["dateChange"] }], dateDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateDisabled", required: false }] }], weekStartsOn: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekStartsOn", required: false }] }], defaultFocusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultFocusedDate", required: false }] }], _calendar: [{ type: i0.ViewChild, args: [i0.forwardRef(() => BrnCalendar), { isSignal: true }] }] } });
|
|
206
206
|
|
|
207
207
|
class HlmCalendarMulti {
|
|
208
208
|
calendarClass = input('', ...(ngDevMode ? [{ debugName: "calendarClass" }] : []));
|
|
@@ -244,8 +244,8 @@ class HlmCalendarMulti {
|
|
|
244
244
|
.config()
|
|
245
245
|
.formatHeader(this._dateAdapter.getMonth(this._calendar().focusedDate()), this._dateAdapter.getYear(this._calendar().focusedDate())), ...(ngDevMode ? [{ debugName: "_heading" }] : []));
|
|
246
246
|
_btnClass = hlm(buttonVariants({ variant: 'ghost' }), 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100', 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-accent/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30', 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground', 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:hover:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground', 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50');
|
|
247
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
248
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
247
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarMulti, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
248
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmCalendarMulti, isStandalone: true, selector: "hlm-calendar-multi", inputs: { calendarClass: { classPropertyName: "calendarClass", publicName: "calendarClass", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minSelection: { classPropertyName: "minSelection", publicName: "minSelection", isSignal: true, isRequired: false, transformFunction: null }, maxSelection: { classPropertyName: "maxSelection", publicName: "maxSelection", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { date: "dateChange" }, viewQueries: [{ propertyName: "_calendar", first: true, predicate: BrnCalendarMulti, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
249
249
|
<div
|
|
250
250
|
brnCalendarMulti
|
|
251
251
|
[min]="min()"
|
|
@@ -318,7 +318,7 @@ class HlmCalendarMulti {
|
|
|
318
318
|
</div>
|
|
319
319
|
`, isInline: true, dependencies: [{ kind: "directive", type: BrnCalendarMulti, selector: "[brnCalendarMulti]", inputs: ["min", "max", "minSelection", "maxSelection", "disabled", "date", "dateDisabled", "weekStartsOn", "defaultFocusedDate"], outputs: ["dateChange"] }, { kind: "directive", type: BrnCalendarHeader, selector: "[brnCalendarHeader]", inputs: ["id"] }, { kind: "directive", type: BrnCalendarNextButton, selector: "[brnCalendarNextButton]" }, { kind: "directive", type: BrnCalendarPreviousButton, selector: "[brnCalendarPreviousButton]" }, { kind: "directive", type: BrnCalendarWeekday, selector: "[brnCalendarWeekday]" }, { kind: "directive", type: BrnCalendarWeek, selector: "[brnCalendarWeek]" }, { kind: "directive", type: BrnCalendarCellButton, selector: "button[brnCalendarCellButton]", inputs: ["date"] }, { kind: "directive", type: BrnCalendarCell, selector: "[brnCalendarCell]" }, { kind: "directive", type: BrnCalendarGrid, selector: "[brnCalendarGrid]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }], viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
320
320
|
}
|
|
321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarMulti, decorators: [{
|
|
322
322
|
type: Component,
|
|
323
323
|
args: [{
|
|
324
324
|
selector: 'hlm-calendar-multi',
|
|
@@ -410,7 +410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
410
410
|
`,
|
|
411
411
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
412
412
|
}]
|
|
413
|
-
}] });
|
|
413
|
+
}], propDecorators: { calendarClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarClass", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], minSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "minSelection", required: false }] }], maxSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSelection", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }, { type: i0.Output, args: ["dateChange"] }], dateDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateDisabled", required: false }] }], weekStartsOn: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekStartsOn", required: false }] }], defaultFocusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultFocusedDate", required: false }] }], _calendar: [{ type: i0.ViewChild, args: [i0.forwardRef(() => BrnCalendarMulti), { isSignal: true }] }] } });
|
|
414
414
|
|
|
415
415
|
class HlmCalendarRange {
|
|
416
416
|
calendarClass = input('', ...(ngDevMode ? [{ debugName: "calendarClass" }] : []));
|
|
@@ -446,8 +446,8 @@ class HlmCalendarRange {
|
|
|
446
446
|
.config()
|
|
447
447
|
.formatHeader(this._dateAdapter.getMonth(this._calendar().focusedDate()), this._dateAdapter.getYear(this._calendar().focusedDate())), ...(ngDevMode ? [{ debugName: "_heading" }] : []));
|
|
448
448
|
_btnClass = hlm(buttonVariants({ variant: 'ghost' }), 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100', 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:text-muted-foreground', 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground', 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground', 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50', 'tw:data-[range-start]:rounded-l-md', 'tw:data-[range-end]:rounded-r-md', 'tw:data-[range-between]:bg-accent tw:data-[range-between]:text-accent-foreground tw:data-[range-between]:rounded-none');
|
|
449
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
450
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
449
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarRange, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
450
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: HlmCalendarRange, isStandalone: true, selector: "hlm-calendar-range", inputs: { calendarClass: { classPropertyName: "calendarClass", publicName: "calendarClass", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, dateDisabled: { classPropertyName: "dateDisabled", publicName: "dateDisabled", isSignal: true, isRequired: false, transformFunction: null }, weekStartsOn: { classPropertyName: "weekStartsOn", publicName: "weekStartsOn", isSignal: true, isRequired: false, transformFunction: null }, defaultFocusedDate: { classPropertyName: "defaultFocusedDate", publicName: "defaultFocusedDate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { startDate: "startDateChange", endDate: "endDateChange" }, viewQueries: [{ propertyName: "_calendar", first: true, predicate: BrnCalendarRange, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
451
451
|
<div
|
|
452
452
|
brnCalendarRange
|
|
453
453
|
[min]="min()"
|
|
@@ -519,7 +519,7 @@ class HlmCalendarRange {
|
|
|
519
519
|
</div>
|
|
520
520
|
`, isInline: true, dependencies: [{ kind: "directive", type: BrnCalendarHeader, selector: "[brnCalendarHeader]", inputs: ["id"] }, { kind: "directive", type: BrnCalendarNextButton, selector: "[brnCalendarNextButton]" }, { kind: "directive", type: BrnCalendarPreviousButton, selector: "[brnCalendarPreviousButton]" }, { kind: "directive", type: BrnCalendarWeekday, selector: "[brnCalendarWeekday]" }, { kind: "directive", type: BrnCalendarWeek, selector: "[brnCalendarWeek]" }, { kind: "directive", type: BrnCalendarCellButton, selector: "button[brnCalendarCellButton]", inputs: ["date"] }, { kind: "directive", type: BrnCalendarCell, selector: "[brnCalendarCell]" }, { kind: "directive", type: BrnCalendarGrid, selector: "[brnCalendarGrid]" }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: HlmIcon, selector: "ng-icon[hlm]", inputs: ["size"] }, { kind: "directive", type: BrnCalendarRange, selector: "[brnCalendarRange]", inputs: ["min", "max", "disabled", "dateDisabled", "weekStartsOn", "defaultFocusedDate", "startDate", "endDate"], outputs: ["startDateChange", "endDateChange"] }], viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
521
521
|
}
|
|
522
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarRange, decorators: [{
|
|
523
523
|
type: Component,
|
|
524
524
|
args: [{
|
|
525
525
|
selector: 'hlm-calendar-range',
|
|
@@ -610,18 +610,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
|
|
|
610
610
|
`,
|
|
611
611
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
612
612
|
}]
|
|
613
|
-
}] });
|
|
613
|
+
}], propDecorators: { calendarClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarClass", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], startDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDate", required: false }] }, { type: i0.Output, args: ["startDateChange"] }], endDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "endDate", required: false }] }, { type: i0.Output, args: ["endDateChange"] }], dateDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateDisabled", required: false }] }], weekStartsOn: [{ type: i0.Input, args: [{ isSignal: true, alias: "weekStartsOn", required: false }] }], defaultFocusedDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultFocusedDate", required: false }] }], _calendar: [{ type: i0.ViewChild, args: [i0.forwardRef(() => BrnCalendarRange), { isSignal: true }] }] } });
|
|
614
614
|
|
|
615
615
|
/*
|
|
616
616
|
* Public API Surface of calendar
|
|
617
617
|
*/
|
|
618
618
|
const HlmCalendarImports = [HlmCalendar, HlmCalendarMulti, HlmCalendarRange];
|
|
619
619
|
class HlmCalendarModule {
|
|
620
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
621
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
622
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
620
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
621
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarModule, imports: [HlmCalendar, HlmCalendarMulti, HlmCalendarRange], exports: [HlmCalendar, HlmCalendarMulti, HlmCalendarRange] });
|
|
622
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarModule, imports: [HlmCalendarImports] });
|
|
623
623
|
}
|
|
624
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
624
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HlmCalendarModule, decorators: [{
|
|
625
625
|
type: NgModule,
|
|
626
626
|
args: [{
|
|
627
627
|
imports: [...HlmCalendarImports],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.mjs","sources":["../../../projects/calendar/src/lib/calendar.ts","../../../projects/calendar/src/lib/calendar-multi.ts","../../../projects/calendar/src/lib/calendar-range.ts","../../../projects/calendar/src/public-api.ts","../../../projects/calendar/src/calendar.ts"],"sourcesContent":["import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendar,\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar',\n imports: [\n BrnCalendar,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendar\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"disabled()\"\n [(date)]=\"date\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col tw:space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center tw:pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex tw:items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:focus-visible:ring-ring tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:text-popover-foreground tw:absolute tw:left-1 tw:inline-flex tw:size-8 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:focus-visible:ring-ring tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:text-popover-foreground tw:absolute tw:right-1 tw:inline-flex tw:size-8 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex tw:w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-secondary/50 tw:data-[selected]:bg-secondary tw:relative tw:size-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendar<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() =>\n hlm('tw:rounded-md tw:border tw:p-3', this.calendarClass()),\n );\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = model<T>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendar);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-secondary/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30',\n 'tw:data-[today]:bg-secondary tw:data-[today]:text-secondary-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n );\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarMulti,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar-multi',\n imports: [\n BrnCalendarMulti,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendarMulti\n [min]=\"min()\"\n [max]=\"max()\"\n [minSelection]=\"minSelection()\"\n [maxSelection]=\"maxSelection()\"\n [disabled]=\"disabled()\"\n [(date)]=\"date\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:left-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:right-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-accent/50 tw:data-[selected]:bg-accent tw:relative tw:h-8 tw:w-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendarMulti<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() => hlm('tw:rounded-md tw:border p-3', this.calendarClass()));\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** The minimum selectable dates. */\n public readonly minSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** The maximum selectable dates. */\n public readonly maxSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = model<T[]>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendarMulti);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-accent/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30',\n 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:hover:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n );\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarRange,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar-range',\n imports: [\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n BrnCalendarRange,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendarRange\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"disabled()\"\n [(startDate)]=\"startDate\"\n [(endDate)]=\"endDate\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col tw:space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center tw:pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex tw:items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:left-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:right-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-accent/50 tw:data-[selected]:bg-accent tw:relative tw:h-8 tw:w-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendarRange<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() => hlm('tw:rounded-md tw:border p-3', this.calendarClass()));\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The start date of the range. */\n public readonly startDate = model<T>();\n\n /** The end date of the range. */\n public readonly endDate = model<T>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendarRange);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:text-muted-foreground',\n 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n 'tw:data-[range-start]:rounded-l-md',\n 'tw:data-[range-end]:rounded-r-md',\n 'tw:data-[range-between]:bg-accent tw:data-[range-between]:text-accent-foreground tw:data-[range-between]:rounded-none',\n );\n}\n","/*\n * Public API Surface of calendar\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmCalendar } from './lib/calendar';\nimport { HlmCalendarMulti } from './lib/calendar-multi';\nimport { HlmCalendarRange } from './lib/calendar-range';\n\nexport * from './lib/calendar';\nexport * from './lib/calendar-multi';\nexport * from './lib/calendar-range';\n\nexport const HlmCalendarImports = [HlmCalendar, HlmCalendarMulti, HlmCalendarRange] as const;\n\n@NgModule({\n imports: [...HlmCalendarImports],\n exports: [...HlmCalendarImports],\n})\nexport class HlmCalendarModule {}\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":"calendar.mjs","sources":["../../../projects/calendar/src/lib/calendar.ts","../../../projects/calendar/src/lib/calendar-multi.ts","../../../projects/calendar/src/lib/calendar-range.ts","../../../projects/calendar/src/public-api.ts","../../../projects/calendar/src/calendar.ts"],"sourcesContent":["import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendar,\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar',\n imports: [\n BrnCalendar,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendar\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"disabled()\"\n [(date)]=\"date\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col tw:space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center tw:pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex tw:items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:focus-visible:ring-ring tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:text-popover-foreground tw:absolute tw:left-1 tw:inline-flex tw:size-8 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:focus-visible:ring-ring tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:text-popover-foreground tw:absolute tw:right-1 tw:inline-flex tw:size-8 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex tw:w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-secondary/50 tw:data-[selected]:bg-secondary tw:relative tw:size-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendar<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() =>\n hlm('tw:rounded-md tw:border tw:p-3', this.calendarClass()),\n );\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = model<T>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendar);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-secondary/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30',\n 'tw:data-[today]:bg-secondary tw:data-[today]:text-secondary-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n );\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarMulti,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar-multi',\n imports: [\n BrnCalendarMulti,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendarMulti\n [min]=\"min()\"\n [max]=\"max()\"\n [minSelection]=\"minSelection()\"\n [maxSelection]=\"maxSelection()\"\n [disabled]=\"disabled()\"\n [(date)]=\"date\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:left-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:right-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-accent/50 tw:data-[selected]:bg-accent tw:relative tw:h-8 tw:w-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendarMulti<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() => hlm('tw:rounded-md tw:border p-3', this.calendarClass()));\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** The minimum selectable dates. */\n public readonly minSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** The maximum selectable dates. */\n public readonly maxSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = model<T[]>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendarMulti);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-accent/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30',\n 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:hover:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n );\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarRange,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar-range',\n imports: [\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n BrnCalendarRange,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendarRange\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"disabled()\"\n [(startDate)]=\"startDate\"\n [(endDate)]=\"endDate\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col tw:space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center tw:pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex tw:items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:left-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:right-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-accent/50 tw:data-[selected]:bg-accent tw:relative tw:h-8 tw:w-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendarRange<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() => hlm('tw:rounded-md tw:border p-3', this.calendarClass()));\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The start date of the range. */\n public readonly startDate = model<T>();\n\n /** The end date of the range. */\n public readonly endDate = model<T>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendarRange);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:text-muted-foreground',\n 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n 'tw:data-[range-start]:rounded-l-md',\n 'tw:data-[range-end]:rounded-r-md',\n 'tw:data-[range-between]:bg-accent tw:data-[range-between]:text-accent-foreground tw:data-[range-between]:rounded-none',\n );\n}\n","/*\n * Public API Surface of calendar\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmCalendar } from './lib/calendar';\nimport { HlmCalendarMulti } from './lib/calendar-multi';\nimport { HlmCalendarRange } from './lib/calendar-range';\n\nexport * from './lib/calendar';\nexport * from './lib/calendar-multi';\nexport * from './lib/calendar-range';\n\nexport const HlmCalendarImports = [HlmCalendar, HlmCalendarMulti, HlmCalendarRange] as const;\n\n@NgModule({\n imports: [...HlmCalendarImports],\n exports: [...HlmCalendarImports],\n})\nexport class HlmCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|