ng-blatui 1.7.0 → 1.8.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,171 @@ 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
+
3351
3516
  /*
3352
3517
  * Public API Surface of ng-blatui
3353
3518
  */
@@ -3356,5 +3521,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImpor
3356
3521
  * Generated bundle index. Do not edit.
3357
3522
  */
3358
3523
 
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 };
3524
+ 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, 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
3525
  //# sourceMappingURL=ng-blatui.mjs.map