ng-blatui 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3348,6 +3348,271 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
3348
3348
  }]
3349
3349
  }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3350
3350
 
3351
+ const ITEM_BASE = 'group/item flex flex-wrap items-center rounded-md border border-transparent text-sm outline-none transition-colors duration-100 [a&]:transition-colors [a&]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]';
3352
+ const ITEM_VARIANTS = {
3353
+ default: 'bg-transparent',
3354
+ outline: 'border-border',
3355
+ muted: 'bg-muted/50',
3356
+ };
3357
+ const ITEM_SIZES = {
3358
+ default: 'gap-4 p-4',
3359
+ sm: 'gap-2.5 px-4 py-3',
3360
+ };
3361
+ /** A list/row item; use on a `<div>` or an `<a>`. */
3362
+ class BuiItem {
3363
+ variant = input('default', /* @ts-ignore */
3364
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
3365
+ size = input('default', /* @ts-ignore */
3366
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
3367
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3368
+ computedClass = computed(() => cn(ITEM_BASE, ITEM_VARIANTS[this.variant()], ITEM_SIZES[this.size()], this.userClass()), /* @ts-ignore */
3369
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3370
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3371
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiItem, isStandalone: true, selector: "[buiItem]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item" }, properties: { "attr.data-variant": "variant()", "attr.data-size": "size()", "class": "computedClass()" } }, ngImport: i0 });
3372
+ }
3373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItem, decorators: [{
3374
+ type: Directive,
3375
+ args: [{
3376
+ selector: '[buiItem]',
3377
+ host: {
3378
+ 'data-slot': 'item',
3379
+ '[attr.data-variant]': 'variant()',
3380
+ '[attr.data-size]': 'size()',
3381
+ '[class]': 'computedClass()',
3382
+ },
3383
+ }]
3384
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3385
+ const MEDIA_VARIANTS = {
3386
+ default: 'bg-transparent',
3387
+ icon: "bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4",
3388
+ image: 'size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover',
3389
+ };
3390
+ class BuiItemMedia {
3391
+ variant = input('default', /* @ts-ignore */
3392
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
3393
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3394
+ computedClass = computed(() => cn('flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none', MEDIA_VARIANTS[this.variant()], this.userClass()), /* @ts-ignore */
3395
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3396
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemMedia, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3397
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiItemMedia, isStandalone: true, selector: "[buiItemMedia]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item-media" }, properties: { "attr.data-variant": "variant()", "class": "computedClass()" } }, ngImport: i0 });
3398
+ }
3399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemMedia, decorators: [{
3400
+ type: Directive,
3401
+ args: [{
3402
+ selector: '[buiItemMedia]',
3403
+ host: {
3404
+ 'data-slot': 'item-media',
3405
+ '[attr.data-variant]': 'variant()',
3406
+ '[class]': 'computedClass()',
3407
+ },
3408
+ }]
3409
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3410
+ class BuiItemContent {
3411
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3412
+ computedClass = computed(() => cn('flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none', this.userClass()), /* @ts-ignore */
3413
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3414
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3415
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiItemContent, isStandalone: true, selector: "[buiItemContent]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item-content" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3416
+ }
3417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemContent, decorators: [{
3418
+ type: Directive,
3419
+ args: [{
3420
+ selector: '[buiItemContent]',
3421
+ host: { 'data-slot': 'item-content', '[class]': 'computedClass()' },
3422
+ }]
3423
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3424
+ class BuiItemTitle {
3425
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3426
+ computedClass = computed(() => cn('flex w-fit items-center gap-2 text-sm leading-snug font-medium', this.userClass()), /* @ts-ignore */
3427
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3428
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3429
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiItemTitle, isStandalone: true, selector: "[buiItemTitle]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item-title" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3430
+ }
3431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemTitle, decorators: [{
3432
+ type: Directive,
3433
+ args: [{
3434
+ selector: '[buiItemTitle]',
3435
+ host: { 'data-slot': 'item-title', '[class]': 'computedClass()' },
3436
+ }]
3437
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3438
+ class BuiItemDescription {
3439
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3440
+ computedClass = computed(() => cn('line-clamp-2 text-sm leading-normal font-normal text-balance text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary', this.userClass()), /* @ts-ignore */
3441
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3442
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3443
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiItemDescription, isStandalone: true, selector: "p[buiItemDescription]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item-description" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3444
+ }
3445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemDescription, decorators: [{
3446
+ type: Directive,
3447
+ args: [{
3448
+ selector: 'p[buiItemDescription]',
3449
+ host: { 'data-slot': 'item-description', '[class]': 'computedClass()' },
3450
+ }]
3451
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3452
+ class BuiItemActions {
3453
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3454
+ computedClass = computed(() => cn('flex items-center gap-2', this.userClass()), /* @ts-ignore */
3455
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemActions, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3457
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiItemActions, isStandalone: true, selector: "[buiItemActions]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item-actions" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3458
+ }
3459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemActions, decorators: [{
3460
+ type: Directive,
3461
+ args: [{
3462
+ selector: '[buiItemActions]',
3463
+ host: { 'data-slot': 'item-actions', '[class]': 'computedClass()' },
3464
+ }]
3465
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3466
+ class BuiItemGroup {
3467
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3468
+ computedClass = computed(() => cn('group/item-group flex flex-col', this.userClass()), /* @ts-ignore */
3469
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3470
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3471
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiItemGroup, isStandalone: true, selector: "[buiItemGroup]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item-group" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3472
+ }
3473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiItemGroup, decorators: [{
3474
+ type: Directive,
3475
+ args: [{
3476
+ selector: '[buiItemGroup]',
3477
+ host: { 'data-slot': 'item-group', '[class]': 'computedClass()' },
3478
+ }]
3479
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3480
+
3481
+ /** A scrollable region with a thin, themed scrollbar and a focusable viewport. */
3482
+ class BuiScrollArea {
3483
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3484
+ computedClass = computed(() => cn('relative block', this.userClass()), /* @ts-ignore */
3485
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3486
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiScrollArea, deps: [], target: i0.ɵɵFactoryTarget.Component });
3487
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.2", type: BuiScrollArea, isStandalone: true, selector: "bui-scroll-area", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "scroll-area" }, properties: { "class": "computedClass()" } }, ngImport: i0, template: `
3488
+ <div
3489
+ data-slot="scroll-area-viewport"
3490
+ tabindex="0"
3491
+ role="region"
3492
+ class="size-full [scrollbar-width:thin] [scrollbar-color:var(--border)_transparent] overflow-auto rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1"
3493
+ >
3494
+ <ng-content />
3495
+ </div>
3496
+ `, isInline: true });
3497
+ }
3498
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiScrollArea, decorators: [{
3499
+ type: Component,
3500
+ args: [{
3501
+ selector: 'bui-scroll-area',
3502
+ host: { 'data-slot': 'scroll-area', '[class]': 'computedClass()' },
3503
+ template: `
3504
+ <div
3505
+ data-slot="scroll-area-viewport"
3506
+ tabindex="0"
3507
+ role="region"
3508
+ class="size-full [scrollbar-width:thin] [scrollbar-color:var(--border)_transparent] overflow-auto rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1"
3509
+ >
3510
+ <ng-content />
3511
+ </div>
3512
+ `,
3513
+ }]
3514
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3515
+
3516
+ /** A bordered group that composes inputs with addons (icons, text, buttons). */
3517
+ class BuiInputGroup {
3518
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3519
+ computedClass = computed(() => cn('group/input-group relative flex h-9 w-full min-w-0 items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[>textarea]:h-auto dark:bg-input/30', this.userClass()), /* @ts-ignore */
3520
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3521
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3522
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiInputGroup, isStandalone: true, selector: "[buiInputGroup]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "input-group", "role": "group" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3523
+ }
3524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroup, decorators: [{
3525
+ type: Directive,
3526
+ args: [{
3527
+ selector: '[buiInputGroup]',
3528
+ host: { 'data-slot': 'input-group', role: 'group', '[class]': 'computedClass()' },
3529
+ }]
3530
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3531
+ const ADDON_ALIGN = {
3532
+ 'inline-start': 'order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]',
3533
+ 'inline-end': 'order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]',
3534
+ 'block-start': 'order-first w-full justify-start px-3 pt-3',
3535
+ 'block-end': 'order-last w-full justify-start px-3 pb-3',
3536
+ };
3537
+ class BuiInputGroupAddon {
3538
+ align = input('inline-start', /* @ts-ignore */
3539
+ ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
3540
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3541
+ computedClass = computed(() => cn("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4", ADDON_ALIGN[this.align()], this.userClass()), /* @ts-ignore */
3542
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3543
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupAddon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3544
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiInputGroupAddon, isStandalone: true, selector: "[buiInputGroupAddon]", inputs: { align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "input-group-addon" }, properties: { "attr.data-align": "align()", "class": "computedClass()" } }, ngImport: i0 });
3545
+ }
3546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupAddon, decorators: [{
3547
+ type: Directive,
3548
+ args: [{
3549
+ selector: '[buiInputGroupAddon]',
3550
+ host: {
3551
+ 'data-slot': 'input-group-addon',
3552
+ '[attr.data-align]': 'align()',
3553
+ '[class]': 'computedClass()',
3554
+ },
3555
+ }]
3556
+ }], propDecorators: { align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3557
+ class BuiInputGroupInput {
3558
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3559
+ computedClass = computed(() => cn('w-full min-w-0 flex-1 rounded-none border-0 bg-transparent px-3 py-1 text-base shadow-none outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 md:text-sm', this.userClass()), /* @ts-ignore */
3560
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3562
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiInputGroupInput, isStandalone: true, selector: "input[buiInputGroupInput], textarea[buiInputGroupInput]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "input-group-control" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3563
+ }
3564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupInput, decorators: [{
3565
+ type: Directive,
3566
+ args: [{
3567
+ selector: 'input[buiInputGroupInput], textarea[buiInputGroupInput]',
3568
+ host: { 'data-slot': 'input-group-control', '[class]': 'computedClass()' },
3569
+ }]
3570
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3571
+ class BuiInputGroupText {
3572
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3573
+ computedClass = computed(() => cn("flex items-center gap-2 text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4", this.userClass()), /* @ts-ignore */
3574
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3575
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupText, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3576
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiInputGroupText, isStandalone: true, selector: "[buiInputGroupText]", inputs: { userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "input-group-text" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3577
+ }
3578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupText, decorators: [{
3579
+ type: Directive,
3580
+ args: [{
3581
+ selector: '[buiInputGroupText]',
3582
+ host: { 'data-slot': 'input-group-text', '[class]': 'computedClass()' },
3583
+ }]
3584
+ }], propDecorators: { userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3585
+ const IG_BUTTON_BASE = "inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-ring/50 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
3586
+ const IG_BUTTON_VARIANTS = {
3587
+ ghost: 'hover:bg-accent hover:text-accent-foreground',
3588
+ outline: 'bg-background hover:bg-accent hover:text-accent-foreground border shadow-xs',
3589
+ default: 'bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs',
3590
+ };
3591
+ const IG_BUTTON_SIZES = {
3592
+ xs: 'h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 text-xs',
3593
+ sm: 'h-8 gap-1.5 px-2.5',
3594
+ 'icon-xs': 'size-6 rounded-[calc(var(--radius)-5px)] p-0',
3595
+ 'icon-sm': 'size-8 p-0',
3596
+ };
3597
+ class BuiInputGroupButton {
3598
+ variant = input('ghost', /* @ts-ignore */
3599
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
3600
+ size = input('xs', /* @ts-ignore */
3601
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
3602
+ userClass = input('', { ...(ngDevMode ? { debugName: "userClass" } : /* istanbul ignore next */ {}), alias: 'class' });
3603
+ computedClass = computed(() => cn(IG_BUTTON_BASE, IG_BUTTON_VARIANTS[this.variant()], IG_BUTTON_SIZES[this.size()], this.userClass()), /* @ts-ignore */
3604
+ ...(ngDevMode ? [{ debugName: "computedClass" }] : /* istanbul ignore next */ []));
3605
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupButton, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3606
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.2", type: BuiInputGroupButton, isStandalone: true, selector: "button[buiInputGroupButton]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "data-slot": "input-group-button" }, properties: { "class": "computedClass()" } }, ngImport: i0 });
3607
+ }
3608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: BuiInputGroupButton, decorators: [{
3609
+ type: Directive,
3610
+ args: [{
3611
+ selector: 'button[buiInputGroupButton]',
3612
+ host: { type: 'button', 'data-slot': 'input-group-button', '[class]': 'computedClass()' },
3613
+ }]
3614
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
3615
+
3351
3616
  /*
3352
3617
  * Public API Surface of ng-blatui
3353
3618
  */
@@ -3356,5 +3621,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
3356
3621
  * Generated bundle index. Do not edit.
3357
3622
  */
3358
3623
 
3359
- export { BuiAccordion, BuiAccordionContent, BuiAccordionItem, BuiAccordionTrigger, BuiAlert, BuiAlertDescription, BuiAlertTitle, BuiAspectRatio, BuiAvatar, BuiAvatarGroup, BuiBadge, BuiBanner, BuiBreadcrumb, BuiBreadcrumbEllipsis, BuiBreadcrumbItem, BuiBreadcrumbLink, BuiBreadcrumbList, BuiBreadcrumbPage, BuiBreadcrumbSeparator, BuiButton, BuiButtonGroup, BuiButtonGroupText, BuiCard, BuiCardAction, BuiCardContent, BuiCardDescription, BuiCardFooter, BuiCardHeader, BuiCardTitle, BuiCheckbox, BuiCollapsible, BuiCollapsibleContent, BuiCollapsibleTrigger, BuiContainer, BuiCopyButton, BuiDialogContent, BuiDialogDescription, BuiDialogFooter, BuiDialogHeader, BuiDialogTitle, BuiEmpty, BuiEmptyContent, BuiEmptyDescription, BuiEmptyHeader, BuiEmptyMedia, BuiEmptyTitle, BuiField, BuiFieldContent, BuiFieldDescription, BuiFieldError, BuiFieldGroup, BuiFieldLabel, BuiFieldLegend, BuiFieldSeparator, BuiFieldSet, BuiFieldTitle, BuiInput, BuiKbd, BuiLabel, BuiPagination, BuiPaginationContent, BuiPaginationEllipsis, BuiPaginationItem, BuiPaginationLink, BuiPopover, BuiPopoverContent, BuiProgress, BuiRadioGroup, BuiRadioGroupItem, BuiSeparator, BuiSkeleton, BuiSpinner, BuiSwitch, BuiTabList, BuiTabPanel, BuiTabTrigger, BuiTable, BuiTableBody, BuiTableCaption, BuiTableCell, BuiTableContainer, BuiTableFooter, BuiTableHead, BuiTableHeader, BuiTableRow, BuiTabs, BuiTextarea, BuiThemeCustomizer, BuiToggle, BuiTooltip, BuiTooltipContent, THEME_TOKENS, ThemeStore, buttonVariants, cn, toggleVariants };
3624
+ export { BuiAccordion, BuiAccordionContent, BuiAccordionItem, BuiAccordionTrigger, BuiAlert, BuiAlertDescription, BuiAlertTitle, BuiAspectRatio, BuiAvatar, BuiAvatarGroup, BuiBadge, BuiBanner, BuiBreadcrumb, BuiBreadcrumbEllipsis, BuiBreadcrumbItem, BuiBreadcrumbLink, BuiBreadcrumbList, BuiBreadcrumbPage, BuiBreadcrumbSeparator, BuiButton, BuiButtonGroup, BuiButtonGroupText, BuiCard, BuiCardAction, BuiCardContent, BuiCardDescription, BuiCardFooter, BuiCardHeader, BuiCardTitle, BuiCheckbox, BuiCollapsible, BuiCollapsibleContent, BuiCollapsibleTrigger, BuiContainer, BuiCopyButton, BuiDialogContent, BuiDialogDescription, BuiDialogFooter, BuiDialogHeader, BuiDialogTitle, BuiEmpty, BuiEmptyContent, BuiEmptyDescription, BuiEmptyHeader, BuiEmptyMedia, BuiEmptyTitle, BuiField, BuiFieldContent, BuiFieldDescription, BuiFieldError, BuiFieldGroup, BuiFieldLabel, BuiFieldLegend, BuiFieldSeparator, BuiFieldSet, BuiFieldTitle, BuiInput, BuiInputGroup, BuiInputGroupAddon, BuiInputGroupButton, BuiInputGroupInput, BuiInputGroupText, BuiItem, BuiItemActions, BuiItemContent, BuiItemDescription, BuiItemGroup, BuiItemMedia, BuiItemTitle, BuiKbd, BuiLabel, BuiPagination, BuiPaginationContent, BuiPaginationEllipsis, BuiPaginationItem, BuiPaginationLink, BuiPopover, BuiPopoverContent, BuiProgress, BuiRadioGroup, BuiRadioGroupItem, BuiScrollArea, BuiSeparator, BuiSkeleton, BuiSpinner, BuiSwitch, BuiTabList, BuiTabPanel, BuiTabTrigger, BuiTable, BuiTableBody, BuiTableCaption, BuiTableCell, BuiTableContainer, BuiTableFooter, BuiTableHead, BuiTableHeader, BuiTableRow, BuiTabs, BuiTextarea, BuiThemeCustomizer, BuiToggle, BuiTooltip, BuiTooltipContent, THEME_TOKENS, ThemeStore, buttonVariants, cn, toggleVariants };
3360
3625
  //# sourceMappingURL=ng-blatui.mjs.map