@spartan-ng/cli 0.0.1-alpha.713 → 0.0.1-alpha.714

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spartan-ng/cli",
3
- "version": "0.0.1-alpha.713",
3
+ "version": "0.0.1-alpha.714",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/spartan-ng/spartan"
@@ -0,0 +1,34 @@
1
+ import { HlmDrawer } from './lib/hlm-drawer';
2
+ import { HlmDrawerClose } from './lib/hlm-drawer-close';
3
+ import { HlmDrawerContent } from './lib/hlm-drawer-content';
4
+ import { HlmDrawerDescription } from './lib/hlm-drawer-description';
5
+ import { HlmDrawerFooter } from './lib/hlm-drawer-footer';
6
+ import { HlmDrawerHeader } from './lib/hlm-drawer-header';
7
+ import { HlmDrawerOverlay } from './lib/hlm-drawer-overlay';
8
+ import { HlmDrawerPortal } from './lib/hlm-drawer-portal';
9
+ import { HlmDrawerTitle } from './lib/hlm-drawer-title';
10
+ import { HlmDrawerTrigger } from './lib/hlm-drawer-trigger';
11
+
12
+ export * from './lib/hlm-drawer';
13
+ export * from './lib/hlm-drawer-close';
14
+ export * from './lib/hlm-drawer-content';
15
+ export * from './lib/hlm-drawer-description';
16
+ export * from './lib/hlm-drawer-footer';
17
+ export * from './lib/hlm-drawer-header';
18
+ export * from './lib/hlm-drawer-overlay';
19
+ export * from './lib/hlm-drawer-portal';
20
+ export * from './lib/hlm-drawer-title';
21
+ export * from './lib/hlm-drawer-trigger';
22
+
23
+ export const HlmDrawerImports = [
24
+ HlmDrawer,
25
+ HlmDrawerClose,
26
+ HlmDrawerContent,
27
+ HlmDrawerDescription,
28
+ HlmDrawerFooter,
29
+ HlmDrawerHeader,
30
+ HlmDrawerOverlay,
31
+ HlmDrawerPortal,
32
+ HlmDrawerTitle,
33
+ HlmDrawerTrigger,
34
+ ] as const;
@@ -0,0 +1,9 @@
1
+ import { Directive } from '@angular/core';
2
+ import { BrnDrawerClose } from '@spartan-ng/brain/drawer';
3
+
4
+ @Directive({
5
+ selector: 'button[hlmDrawerClose]',
6
+ hostDirectives: [{ directive: BrnDrawerClose, inputs: ['delay'] }],
7
+ host: { 'data-slot': 'drawer-close' },
8
+ })
9
+ export class HlmDrawerClose {}
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
2
+ import { injectExposedSideProvider, injectExposesStateProvider } from '@spartan-ng/brain/core';
3
+ import { BrnDrawerHandle } from '@spartan-ng/brain/drawer';
4
+ import { classes } from '<%- importAlias %>/utils';
5
+
6
+ @Component({
7
+ selector: 'hlm-drawer-content',
8
+ changeDetection: ChangeDetectionStrategy.OnPush,
9
+ hostDirectives: [{ directive: BrnDrawerHandle, inputs: ['closeThreshold'] }],
10
+ host: {
11
+ 'data-slot': 'drawer-content',
12
+ '[attr.data-vaul-drawer-direction]': '_sideProvider.side()',
13
+ '[attr.data-state]': 'state()',
14
+ },
15
+ template: `
16
+ <div class="spartan-drawer-handle"></div>
17
+ <ng-content />
18
+ `,
19
+ })
20
+ export class HlmDrawerContent {
21
+ private readonly _stateProvider = injectExposesStateProvider({ host: true });
22
+ protected readonly _sideProvider = injectExposedSideProvider({ host: true });
23
+ public readonly state = this._stateProvider.state ?? signal('closed');
24
+
25
+ constructor() {
26
+ classes(() => [
27
+ 'spartan-drawer-content',
28
+ 'group/drawer-content',
29
+ 'data-open:animate-in data-closed:animate-out',
30
+ 'data-[vaul-drawer-direction=bottom]:data-closed:slide-out-to-bottom data-[vaul-drawer-direction=bottom]:data-open:slide-in-from-bottom',
31
+ 'data-[vaul-drawer-direction=top]:data-closed:slide-out-to-top data-[vaul-drawer-direction=top]:data-open:slide-in-from-top',
32
+ 'data-[vaul-drawer-direction=left]:data-closed:slide-out-to-left data-[vaul-drawer-direction=left]:data-open:slide-in-from-left',
33
+ 'data-[vaul-drawer-direction=right]:data-closed:slide-out-to-right data-[vaul-drawer-direction=right]:data-open:slide-in-from-right',
34
+ ]);
35
+ }
36
+ }
@@ -0,0 +1,14 @@
1
+ import { Directive } from '@angular/core';
2
+ import { BrnDrawerDescription } from '@spartan-ng/brain/drawer';
3
+ import { classes } from '<%- importAlias %>/utils';
4
+
5
+ @Directive({
6
+ selector: '[hlmDrawerDescription]',
7
+ hostDirectives: [BrnDrawerDescription],
8
+ host: { 'data-slot': 'drawer-description' },
9
+ })
10
+ export class HlmDrawerDescription {
11
+ constructor() {
12
+ classes(() => 'spartan-drawer-description');
13
+ }
14
+ }
@@ -0,0 +1,12 @@
1
+ import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+
4
+ @Directive({
5
+ selector: '[hlmDrawerFooter],hlm-drawer-footer',
6
+ host: { 'data-slot': 'drawer-footer' },
7
+ })
8
+ export class HlmDrawerFooter {
9
+ constructor() {
10
+ classes(() => 'spartan-drawer-footer mt-auto flex flex-col');
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ import { Directive } from '@angular/core';
2
+ import { classes } from '<%- importAlias %>/utils';
3
+
4
+ @Directive({
5
+ selector: '[hlmDrawerHeader],hlm-drawer-header',
6
+ host: { 'data-slot': 'drawer-header' },
7
+ })
8
+ export class HlmDrawerHeader {
9
+ constructor() {
10
+ classes(() => 'spartan-drawer-header flex flex-col');
11
+ }
12
+ }
@@ -0,0 +1,27 @@
1
+ import { Directive, computed, effect, input, untracked } from '@angular/core';
2
+ import { injectCustomClassSettable } from '@spartan-ng/brain/core';
3
+ import { BrnDrawerOverlay } from '@spartan-ng/brain/drawer';
4
+ import { hlm } from '<%- importAlias %>/utils';
5
+ import type { ClassValue } from 'clsx';
6
+
7
+ @Directive({
8
+ selector: '[hlmDrawerOverlay],hlm-drawer-overlay',
9
+ hostDirectives: [BrnDrawerOverlay],
10
+ })
11
+ export class HlmDrawerOverlay {
12
+ private readonly _classSettable = injectCustomClassSettable({ optional: true, host: true });
13
+ public readonly userClass = input<ClassValue>('', { alias: 'class' });
14
+ protected readonly _computedClass = computed(() =>
15
+ hlm(
16
+ 'spartan-drawer-overlay transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0',
17
+ this.userClass(),
18
+ ),
19
+ );
20
+
21
+ constructor() {
22
+ effect(() => {
23
+ const classValue = this._computedClass();
24
+ untracked(() => this._classSettable?.setClassToCustomElement(classValue));
25
+ });
26
+ }
27
+ }
@@ -0,0 +1,8 @@
1
+ import { Directive } from '@angular/core';
2
+ import { BrnDrawerContent } from '@spartan-ng/brain/drawer';
3
+
4
+ @Directive({
5
+ selector: '[hlmDrawerPortal]',
6
+ hostDirectives: [{ directive: BrnDrawerContent, inputs: ['context', 'class'] }],
7
+ })
8
+ export class HlmDrawerPortal {}
@@ -0,0 +1,14 @@
1
+ import { Directive } from '@angular/core';
2
+ import { BrnDrawerTitle } from '@spartan-ng/brain/drawer';
3
+ import { classes } from '<%- importAlias %>/utils';
4
+
5
+ @Directive({
6
+ selector: '[hlmDrawerTitle]',
7
+ hostDirectives: [BrnDrawerTitle],
8
+ host: { 'data-slot': 'drawer-title' },
9
+ })
10
+ export class HlmDrawerTitle {
11
+ constructor() {
12
+ classes(() => 'spartan-drawer-title');
13
+ }
14
+ }
@@ -0,0 +1,9 @@
1
+ import { Directive } from '@angular/core';
2
+ import { BrnDrawerTrigger } from '@spartan-ng/brain/drawer';
3
+
4
+ @Directive({
5
+ selector: 'button[hlmDrawerTrigger]',
6
+ hostDirectives: [{ directive: BrnDrawerTrigger, inputs: ['id', 'direction', 'type'] }],
7
+ host: { 'data-slot': 'drawer-trigger' },
8
+ })
9
+ export class HlmDrawerTrigger {}
@@ -0,0 +1,29 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';
2
+ import { BrnDialog, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';
3
+ import { BrnDrawer } from '@spartan-ng/brain/drawer';
4
+ import { HlmDrawerOverlay } from './hlm-drawer-overlay';
5
+
6
+ @Component({
7
+ selector: 'hlm-drawer',
8
+ exportAs: 'hlmDrawer',
9
+ imports: [HlmDrawerOverlay],
10
+ providers: [
11
+ {
12
+ provide: BrnDialog,
13
+ useExisting: forwardRef(() => HlmDrawer),
14
+ },
15
+ {
16
+ provide: BrnDrawer,
17
+ useExisting: forwardRef(() => HlmDrawer),
18
+ },
19
+ provideBrnDialogDefaultOptions({
20
+ // add custom options here
21
+ }),
22
+ ],
23
+ changeDetection: ChangeDetectionStrategy.OnPush,
24
+ template: `
25
+ <hlm-drawer-overlay />
26
+ <ng-content />
27
+ `,
28
+ })
29
+ export class HlmDrawer extends BrnDrawer {}
@@ -0,0 +1,3 @@
1
+ import type { Tree } from '@nx/devkit';
2
+ import type { HlmBaseGeneratorSchema } from '../../../base/schema';
3
+ export declare function generator(tree: Tree, options: HlmBaseGeneratorSchema): Promise<import("@nx/devkit").GeneratorCallback>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generator = generator;
4
+ const tslib_1 = require("tslib");
5
+ const generator_1 = tslib_1.__importDefault(require("../../../base/generator"));
6
+ async function generator(tree, options) {
7
+ return await (0, generator_1.default)(tree, { ...options, name: 'drawer' });
8
+ }
9
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/ui/libs/drawer/generator.ts"],"names":[],"mappings":";;AAIA,8BAEC;;AALD,gFAAuD;AAGhD,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAA+B;IAC1E,OAAO,MAAM,IAAA,mBAAgB,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrE,CAAC"}
@@ -753,7 +753,8 @@
753
753
  }
754
754
 
755
755
  .spartan-drawer-content {
756
- @apply before:bg-popover before:border-border relative flex h-auto flex-col bg-transparent p-4 text-sm before:absolute before:inset-2 before:-z-10 before:rounded-4xl before:border before:shadow-xl data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:start-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:end-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
756
+ @apply before:bg-popover before:border-border fixed z-50 flex h-auto flex-col bg-transparent p-4 text-sm before:absolute before:inset-2 before:-z-10 before:rounded-4xl before:border before:shadow-xl data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:start-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:end-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
757
+ touch-action: none;
757
758
  }
758
759
 
759
760
  .spartan-drawer-handle {
@@ -502,7 +502,8 @@
502
502
  }
503
503
 
504
504
  .spartan-drawer-content {
505
- @apply bg-background flex h-auto flex-col text-xs/relaxed data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-none data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-none data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-none data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-none data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
505
+ @apply bg-background fixed z-50 flex h-auto flex-col text-xs/relaxed data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-none data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-none data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-none data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-none data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
506
+ touch-action: none;
506
507
  }
507
508
 
508
509
  .spartan-drawer-handle {
@@ -524,7 +524,8 @@
524
524
  }
525
525
 
526
526
  .spartan-drawer-content {
527
- @apply before:bg-background before:border-border relative flex h-auto flex-col bg-transparent p-4 text-sm before:absolute before:inset-2 before:-z-10 before:rounded-4xl before:border data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
527
+ @apply before:bg-background before:border-border fixed z-50 flex h-auto flex-col bg-transparent p-4 text-sm before:absolute before:inset-2 before:-z-10 before:rounded-4xl before:border data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
528
+ touch-action: none;
528
529
  }
529
530
 
530
531
  .spartan-drawer-handle {
@@ -524,7 +524,8 @@
524
524
  }
525
525
 
526
526
  .spartan-drawer-content {
527
- @apply before:bg-background before:border-border relative flex h-auto flex-col bg-transparent p-2 text-xs/relaxed before:absolute before:inset-2 before:-z-10 before:rounded-xl before:border data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
527
+ @apply before:bg-background before:border-border fixed z-50 flex h-auto flex-col bg-transparent p-2 text-xs/relaxed before:absolute before:inset-2 before:-z-10 before:rounded-xl before:border data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
528
+ touch-action: none;
528
529
  }
529
530
 
530
531
  .spartan-drawer-handle {
@@ -524,7 +524,8 @@
524
524
  }
525
525
 
526
526
  .spartan-drawer-content {
527
- @apply bg-background flex h-auto flex-col text-sm data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
527
+ @apply bg-background fixed z-50 flex h-auto flex-col text-sm data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
528
+ touch-action: none;
528
529
  }
529
530
 
530
531
  .spartan-drawer-handle {
@@ -520,7 +520,8 @@
520
520
  }
521
521
 
522
522
  &.spartan-drawer-content {
523
- @apply bg-background flex h-auto flex-col text-sm data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
523
+ @apply bg-background fixed z-50 flex h-auto flex-col text-sm data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
524
+ touch-action: none;
524
525
  }
525
526
 
526
527
  &.spartan-drawer-handle {
@@ -3,7 +3,7 @@
3
3
  "name": "accordion",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=21.0.0 <23.0.0",
6
- "@spartan-ng/brain": "0.0.1-alpha.713",
6
+ "@spartan-ng/brain": "0.0.1-alpha.714",
7
7
  "@ng-icons/core": ">=32.0.0 <34.0.0",
8
8
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
9
9
  "clsx": "^2.1.1"
@@ -20,7 +20,7 @@
20
20
  "name": "alert-dialog",
21
21
  "peerDependencies": {
22
22
  "@angular/core": ">=21.0.0 <23.0.0",
23
- "@spartan-ng/brain": "0.0.1-alpha.713",
23
+ "@spartan-ng/brain": "0.0.1-alpha.714",
24
24
  "clsx": "^2.1.1"
25
25
  }
26
26
  },
@@ -36,7 +36,7 @@
36
36
  "peerDependencies": {
37
37
  "@angular/core": ">=21.0.0 <23.0.0",
38
38
  "@angular/forms": ">=21.0.0 <23.0.0",
39
- "@spartan-ng/brain": "0.0.1-alpha.713",
39
+ "@spartan-ng/brain": "0.0.1-alpha.714",
40
40
  "@angular/cdk": ">=21.0.0 <23.0.0",
41
41
  "@ng-icons/core": ">=32.0.0 <34.0.0",
42
42
  "@ng-icons/lucide": ">=32.0.0 <34.0.0"
@@ -46,7 +46,7 @@
46
46
  "name": "avatar",
47
47
  "peerDependencies": {
48
48
  "@angular/core": ">=21.0.0 <23.0.0",
49
- "@spartan-ng/brain": "0.0.1-alpha.713"
49
+ "@spartan-ng/brain": "0.0.1-alpha.714"
50
50
  }
51
51
  },
52
52
  "badge": {
@@ -70,7 +70,7 @@
70
70
  "name": "button",
71
71
  "peerDependencies": {
72
72
  "@angular/core": ">=21.0.0 <23.0.0",
73
- "@spartan-ng/brain": "0.0.1-alpha.713",
73
+ "@spartan-ng/brain": "0.0.1-alpha.714",
74
74
  "class-variance-authority": "^0.7.0",
75
75
  "clsx": "^2.1.1"
76
76
  }
@@ -79,7 +79,7 @@
79
79
  "name": "button-group",
80
80
  "peerDependencies": {
81
81
  "@angular/core": ">=21.0.0 <23.0.0",
82
- "@spartan-ng/brain": "0.0.1-alpha.713",
82
+ "@spartan-ng/brain": "0.0.1-alpha.714",
83
83
  "class-variance-authority": "^0.7.0"
84
84
  }
85
85
  },
@@ -91,7 +91,7 @@
91
91
  "@angular/core": ">=21.0.0 <23.0.0",
92
92
  "@ng-icons/core": ">=32.0.0 <34.0.0",
93
93
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
94
- "@spartan-ng/brain": "0.0.1-alpha.713",
94
+ "@spartan-ng/brain": "0.0.1-alpha.714",
95
95
  "clsx": "^2.1.1"
96
96
  }
97
97
  },
@@ -121,7 +121,7 @@
121
121
  "@angular/cdk": ">=21.0.0 <23.0.0",
122
122
  "@ng-icons/core": ">=32.0.0 <34.0.0",
123
123
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
124
- "@spartan-ng/brain": "0.0.1-alpha.713",
124
+ "@spartan-ng/brain": "0.0.1-alpha.714",
125
125
  "clsx": "^2.1.1"
126
126
  }
127
127
  },
@@ -129,7 +129,7 @@
129
129
  "name": "collapsible",
130
130
  "peerDependencies": {
131
131
  "@angular/core": ">=21.0.0 <23.0.0",
132
- "@spartan-ng/brain": "0.0.1-alpha.713"
132
+ "@spartan-ng/brain": "0.0.1-alpha.714"
133
133
  }
134
134
  },
135
135
  "combobox": {
@@ -137,7 +137,7 @@
137
137
  "peerDependencies": {
138
138
  "@angular/core": ">=21.0.0 <23.0.0",
139
139
  "@angular/forms": ">=21.0.0 <23.0.0",
140
- "@spartan-ng/brain": "0.0.1-alpha.713",
140
+ "@spartan-ng/brain": "0.0.1-alpha.714",
141
141
  "@angular/cdk": ">=21.0.0 <23.0.0",
142
142
  "@ng-icons/core": ">=32.0.0 <34.0.0",
143
143
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
@@ -149,7 +149,7 @@
149
149
  "peerDependencies": {
150
150
  "@angular/cdk": ">=21.0.0 <23.0.0",
151
151
  "@angular/core": ">=21.0.0 <23.0.0",
152
- "@spartan-ng/brain": "0.0.1-alpha.713",
152
+ "@spartan-ng/brain": "0.0.1-alpha.714",
153
153
  "clsx": "^2.1.1",
154
154
  "@ng-icons/core": ">=32.0.0 <34.0.0",
155
155
  "@ng-icons/lucide": ">=32.0.0 <34.0.0"
@@ -159,7 +159,7 @@
159
159
  "name": "context-menu",
160
160
  "peerDependencies": {
161
161
  "@angular/core": ">=21.0.0 <23.0.0",
162
- "@spartan-ng/brain": "0.0.1-alpha.713",
162
+ "@spartan-ng/brain": "0.0.1-alpha.714",
163
163
  "@angular/cdk": ">=21.0.0 <23.0.0",
164
164
  "rxjs": "^7.8.0"
165
165
  }
@@ -169,7 +169,7 @@
169
169
  "peerDependencies": {
170
170
  "@angular/core": ">=21.0.0 <23.0.0",
171
171
  "@angular/forms": ">=21.0.0 <23.0.0",
172
- "@spartan-ng/brain": "0.0.1-alpha.713",
172
+ "@spartan-ng/brain": "0.0.1-alpha.714",
173
173
  "@angular/cdk": ">=21.0.0 <23.0.0",
174
174
  "@ng-icons/core": ">=32.0.0 <34.0.0",
175
175
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
@@ -180,7 +180,7 @@
180
180
  "name": "dialog",
181
181
  "peerDependencies": {
182
182
  "@angular/core": ">=21.0.0 <23.0.0",
183
- "@spartan-ng/brain": "0.0.1-alpha.713",
183
+ "@spartan-ng/brain": "0.0.1-alpha.714",
184
184
  "@angular/cdk": ">=21.0.0 <23.0.0",
185
185
  "@angular/common": ">=21.0.0 <23.0.0",
186
186
  "@ng-icons/core": ">=32.0.0 <34.0.0",
@@ -188,6 +188,14 @@
188
188
  "clsx": "^2.1.1"
189
189
  }
190
190
  },
191
+ "drawer": {
192
+ "name": "drawer",
193
+ "peerDependencies": {
194
+ "@angular/core": ">=21.0.0 <23.0.0",
195
+ "@spartan-ng/brain": "0.0.1-alpha.714",
196
+ "clsx": "^2.1.1"
197
+ }
198
+ },
191
199
  "dropdown-menu": {
192
200
  "name": "dropdown-menu",
193
201
  "peerDependencies": {
@@ -196,7 +204,7 @@
196
204
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
197
205
  "@angular/cdk": ">=21.0.0 <23.0.0",
198
206
  "rxjs": "^7.8.0",
199
- "@spartan-ng/brain": "0.0.1-alpha.713"
207
+ "@spartan-ng/brain": "0.0.1-alpha.714"
200
208
  }
201
209
  },
202
210
  "empty": {
@@ -210,7 +218,7 @@
210
218
  "name": "field",
211
219
  "peerDependencies": {
212
220
  "@angular/core": ">=21.0.0 <23.0.0",
213
- "@spartan-ng/brain": "0.0.1-alpha.713",
221
+ "@spartan-ng/brain": "0.0.1-alpha.714",
214
222
  "@angular/cdk": ">=21.0.0 <23.0.0",
215
223
  "class-variance-authority": "^0.7.0"
216
224
  }
@@ -219,7 +227,7 @@
219
227
  "name": "hover-card",
220
228
  "peerDependencies": {
221
229
  "@angular/core": ">=21.0.0 <23.0.0",
222
- "@spartan-ng/brain": "0.0.1-alpha.713"
230
+ "@spartan-ng/brain": "0.0.1-alpha.714"
223
231
  }
224
232
  },
225
233
  "icon": {
@@ -235,7 +243,7 @@
235
243
  "peerDependencies": {
236
244
  "@angular/core": ">=21.0.0 <23.0.0",
237
245
  "@angular/forms": ">=21.0.0 <23.0.0",
238
- "@spartan-ng/brain": "0.0.1-alpha.713"
246
+ "@spartan-ng/brain": "0.0.1-alpha.714"
239
247
  }
240
248
  },
241
249
  "input-group": {
@@ -252,7 +260,7 @@
252
260
  "@ng-icons/core": ">=32.0.0 <34.0.0",
253
261
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
254
262
  "@angular/cdk": ">=21.0.0 <23.0.0",
255
- "@spartan-ng/brain": "0.0.1-alpha.713"
263
+ "@spartan-ng/brain": "0.0.1-alpha.714"
256
264
  }
257
265
  },
258
266
  "item": {
@@ -260,7 +268,7 @@
260
268
  "peerDependencies": {
261
269
  "@angular/core": ">=21.0.0 <23.0.0",
262
270
  "class-variance-authority": "^0.7.0",
263
- "@spartan-ng/brain": "0.0.1-alpha.713"
271
+ "@spartan-ng/brain": "0.0.1-alpha.714"
264
272
  }
265
273
  },
266
274
  "kbd": {
@@ -273,14 +281,14 @@
273
281
  "name": "label",
274
282
  "peerDependencies": {
275
283
  "@angular/core": ">=21.0.0 <23.0.0",
276
- "@spartan-ng/brain": "0.0.1-alpha.713"
284
+ "@spartan-ng/brain": "0.0.1-alpha.714"
277
285
  }
278
286
  },
279
287
  "menubar": {
280
288
  "name": "menubar",
281
289
  "peerDependencies": {
282
290
  "@angular/core": ">=21.0.0 <23.0.0",
283
- "@spartan-ng/brain": "0.0.1-alpha.713",
291
+ "@spartan-ng/brain": "0.0.1-alpha.714",
284
292
  "@angular/cdk": ">=21.0.0 <23.0.0",
285
293
  "rxjs": "^7.8.0"
286
294
  }
@@ -293,7 +301,7 @@
293
301
  "@angular/forms": ">=21.0.0 <23.0.0",
294
302
  "@ng-icons/core": ">=32.0.0 <34.0.0",
295
303
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
296
- "@spartan-ng/brain": "0.0.1-alpha.713",
304
+ "@spartan-ng/brain": "0.0.1-alpha.714",
297
305
  "clsx": "^2.1.1"
298
306
  }
299
307
  },
@@ -301,7 +309,7 @@
301
309
  "name": "navigation-menu",
302
310
  "peerDependencies": {
303
311
  "@angular/core": ">=21.0.0 <23.0.0",
304
- "@spartan-ng/brain": "0.0.1-alpha.713"
312
+ "@spartan-ng/brain": "0.0.1-alpha.714"
305
313
  }
306
314
  },
307
315
  "pagination": {
@@ -319,7 +327,7 @@
319
327
  "name": "popover",
320
328
  "peerDependencies": {
321
329
  "@angular/core": ">=21.0.0 <23.0.0",
322
- "@spartan-ng/brain": "0.0.1-alpha.713",
330
+ "@spartan-ng/brain": "0.0.1-alpha.714",
323
331
  "@angular/cdk": ">=21.0.0 <23.0.0"
324
332
  }
325
333
  },
@@ -328,7 +336,7 @@
328
336
  "peerDependencies": {
329
337
  "@angular/cdk": ">=21.0.0 <23.0.0",
330
338
  "@angular/core": ">=21.0.0 <23.0.0",
331
- "@spartan-ng/brain": "0.0.1-alpha.713"
339
+ "@spartan-ng/brain": "0.0.1-alpha.714"
332
340
  }
333
341
  },
334
342
  "radio-group": {
@@ -336,7 +344,7 @@
336
344
  "peerDependencies": {
337
345
  "@angular/core": ">=21.0.0 <23.0.0",
338
346
  "@angular/forms": ">=21.0.0 <23.0.0",
339
- "@spartan-ng/brain": "0.0.1-alpha.713",
347
+ "@spartan-ng/brain": "0.0.1-alpha.714",
340
348
  "clsx": "^2.1.1",
341
349
  "@angular/cdk": ">=21.0.0 <23.0.0",
342
350
  "@angular/common": ">=21.0.0 <23.0.0"
@@ -346,7 +354,7 @@
346
354
  "name": "resizable",
347
355
  "peerDependencies": {
348
356
  "@angular/core": ">=21.0.0 <23.0.0",
349
- "@spartan-ng/brain": "0.0.1-alpha.713"
357
+ "@spartan-ng/brain": "0.0.1-alpha.714"
350
358
  }
351
359
  },
352
360
  "scroll-area": {
@@ -362,7 +370,7 @@
362
370
  "@angular/core": ">=21.0.0 <23.0.0",
363
371
  "@angular/forms": ">=21.0.0 <23.0.0",
364
372
  "@angular/cdk": ">=21.0.0 <23.0.0",
365
- "@spartan-ng/brain": "0.0.1-alpha.713",
373
+ "@spartan-ng/brain": "0.0.1-alpha.714",
366
374
  "@ng-icons/core": ">=32.0.0 <34.0.0",
367
375
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
368
376
  "clsx": "^2.1.1"
@@ -372,14 +380,14 @@
372
380
  "name": "separator",
373
381
  "peerDependencies": {
374
382
  "@angular/core": ">=21.0.0 <23.0.0",
375
- "@spartan-ng/brain": "0.0.1-alpha.713"
383
+ "@spartan-ng/brain": "0.0.1-alpha.714"
376
384
  }
377
385
  },
378
386
  "sheet": {
379
387
  "name": "sheet",
380
388
  "peerDependencies": {
381
389
  "@angular/core": ">=21.0.0 <23.0.0",
382
- "@spartan-ng/brain": "0.0.1-alpha.713",
390
+ "@spartan-ng/brain": "0.0.1-alpha.714",
383
391
  "@angular/cdk": ">=21.0.0 <23.0.0",
384
392
  "@ng-icons/core": ">=32.0.0 <34.0.0",
385
393
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
@@ -391,7 +399,7 @@
391
399
  "peerDependencies": {
392
400
  "@angular/core": ">=21.0.0 <23.0.0",
393
401
  "@angular/cdk": ">=21.0.0 <23.0.0",
394
- "@spartan-ng/brain": "0.0.1-alpha.713",
402
+ "@spartan-ng/brain": "0.0.1-alpha.714",
395
403
  "class-variance-authority": "^0.7.0",
396
404
  "@ng-icons/core": ">=32.0.0 <34.0.0",
397
405
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
@@ -410,7 +418,7 @@
410
418
  "peerDependencies": {
411
419
  "@angular/core": ">=21.0.0 <23.0.0",
412
420
  "@angular/forms": ">=21.0.0 <23.0.0",
413
- "@spartan-ng/brain": "0.0.1-alpha.713"
421
+ "@spartan-ng/brain": "0.0.1-alpha.714"
414
422
  }
415
423
  },
416
424
  "sonner": {
@@ -420,7 +428,7 @@
420
428
  "@angular/core": ">=21.0.0 <23.0.0",
421
429
  "@ng-icons/core": ">=32.0.0 <34.0.0",
422
430
  "@ng-icons/lucide": ">=32.0.0 <34.0.0",
423
- "@spartan-ng/brain": "0.0.1-alpha.713",
431
+ "@spartan-ng/brain": "0.0.1-alpha.714",
424
432
  "clsx": "^2.1.1"
425
433
  }
426
434
  },
@@ -438,7 +446,7 @@
438
446
  "@angular/core": ">=21.0.0 <23.0.0",
439
447
  "@angular/cdk": ">=21.0.0 <23.0.0",
440
448
  "@angular/forms": ">=21.0.0 <23.0.0",
441
- "@spartan-ng/brain": "0.0.1-alpha.713",
449
+ "@spartan-ng/brain": "0.0.1-alpha.714",
442
450
  "clsx": "^2.1.1"
443
451
  }
444
452
  },
@@ -452,7 +460,7 @@
452
460
  "name": "tabs",
453
461
  "peerDependencies": {
454
462
  "@angular/core": ">=21.0.0 <23.0.0",
455
- "@spartan-ng/brain": "0.0.1-alpha.713",
463
+ "@spartan-ng/brain": "0.0.1-alpha.714",
456
464
  "class-variance-authority": "^0.7.0",
457
465
  "@angular/cdk": ">=21.0.0 <23.0.0",
458
466
  "@ng-icons/core": ">=32.0.0 <34.0.0",
@@ -466,14 +474,14 @@
466
474
  "peerDependencies": {
467
475
  "@angular/core": ">=21.0.0 <23.0.0",
468
476
  "@angular/forms": ">=21.0.0 <23.0.0",
469
- "@spartan-ng/brain": "0.0.1-alpha.713"
477
+ "@spartan-ng/brain": "0.0.1-alpha.714"
470
478
  }
471
479
  },
472
480
  "toggle": {
473
481
  "name": "toggle",
474
482
  "peerDependencies": {
475
483
  "@angular/core": ">=21.0.0 <23.0.0",
476
- "@spartan-ng/brain": "0.0.1-alpha.713",
484
+ "@spartan-ng/brain": "0.0.1-alpha.714",
477
485
  "class-variance-authority": "^0.7.0"
478
486
  }
479
487
  },
@@ -481,7 +489,7 @@
481
489
  "name": "toggle-group",
482
490
  "peerDependencies": {
483
491
  "@angular/core": ">=21.0.0 <23.0.0",
484
- "@spartan-ng/brain": "0.0.1-alpha.713",
492
+ "@spartan-ng/brain": "0.0.1-alpha.714",
485
493
  "@angular/cdk": ">=21.0.0 <23.0.0"
486
494
  }
487
495
  },
@@ -489,7 +497,7 @@
489
497
  "name": "tooltip",
490
498
  "peerDependencies": {
491
499
  "@angular/core": ">=21.0.0 <23.0.0",
492
- "@spartan-ng/brain": "0.0.1-alpha.713",
500
+ "@spartan-ng/brain": "0.0.1-alpha.714",
493
501
  "class-variance-authority": "^0.7.0"
494
502
  }
495
503
  },