@area8975/ui 0.1.1-dev.18 → 0.1.1-dev.19

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.
@@ -13560,6 +13560,181 @@ i0.ɵɵngDeclareClassMetadata({
13560
13560
  }]
13561
13561
  }
13562
13562
  });
13563
+ var UiUserMenuComponent = class UiUserMenuComponent {
13564
+ dropdown = inject(UiDropdownComponent, { optional: true });
13565
+ name = input.required(...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
13566
+ detail = input("", ...ngDevMode ? [{ debugName: "detail" }] : /* istanbul ignore next */ []);
13567
+ src = input(null, ...ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []);
13568
+ items = input([], ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
13569
+ menuItems = computed(() => this.items().map((item) => {
13570
+ if ("divider" in item) return item;
13571
+ if ("children" in item) return {
13572
+ ...item,
13573
+ children: item.children.map((child) => this.closing(child))
13574
+ };
13575
+ return this.closing(item);
13576
+ }), ...ngDevMode ? [{ debugName: "menuItems" }] : /* istanbul ignore next */ []);
13577
+ isDivider(item) {
13578
+ return "divider" in item;
13579
+ }
13580
+ group(item) {
13581
+ return "children" in item ? item : null;
13582
+ }
13583
+ button(item) {
13584
+ return "onClick" in item ? item : null;
13585
+ }
13586
+ closing(item) {
13587
+ return {
13588
+ ...item,
13589
+ onClick: () => {
13590
+ this.dropdown?.close();
13591
+ item.onClick();
13592
+ }
13593
+ };
13594
+ }
13595
+ static ɵfac = i0.ɵɵngDeclareFactory({
13596
+ minVersion: "12.0.0",
13597
+ version: "22.2.1",
13598
+ ngImport: i0,
13599
+ type: UiUserMenuComponent,
13600
+ deps: [],
13601
+ target: i0.ɵɵFactoryTarget.Component
13602
+ });
13603
+ static ɵcmp = i0.ɵɵngDeclareComponent({
13604
+ minVersion: "17.0.0",
13605
+ version: "22.2.1",
13606
+ type: UiUserMenuComponent,
13607
+ isStandalone: true,
13608
+ selector: "ui-user-menu",
13609
+ inputs: {
13610
+ name: {
13611
+ classPropertyName: "name",
13612
+ publicName: "name",
13613
+ isSignal: true,
13614
+ isRequired: true,
13615
+ transformFunction: null
13616
+ },
13617
+ detail: {
13618
+ classPropertyName: "detail",
13619
+ publicName: "detail",
13620
+ isSignal: true,
13621
+ isRequired: false,
13622
+ transformFunction: null
13623
+ },
13624
+ src: {
13625
+ classPropertyName: "src",
13626
+ publicName: "src",
13627
+ isSignal: true,
13628
+ isRequired: false,
13629
+ transformFunction: null
13630
+ },
13631
+ items: {
13632
+ classPropertyName: "items",
13633
+ publicName: "items",
13634
+ isSignal: true,
13635
+ isRequired: false,
13636
+ transformFunction: null
13637
+ }
13638
+ },
13639
+ ngImport: i0,
13640
+ template: "<ui-card radius=\"xl\" class=\"ui-user-menu\">\n <div class=\"ui-user-menu-person\">\n <ui-avatar [name]=\"name()\" [src]=\"src()\" size=\"lg\" />\n\n <div class=\"ui-user-menu-text\">\n <span class=\"ui-text-body ui-user-menu-name\">{{ name() }}</span>\n @if (detail()) {\n <span class=\"ui-text-body-alt ui-user-menu-detail\">{{\n detail()\n }}</span>\n }\n </div>\n </div>\n\n <ng-content />\n\n @if (menuItems().length) {\n <div class=\"ui-user-menu-items\">\n @for (item of menuItems(); track $index) {\n @if (isDivider(item)) {\n <div class=\"ui-user-menu-divider\" role=\"separator\"></div>\n } @else if (group(item); as category) {\n <span\n class=\"ui-user-menu-group ui-text-caption ui-user-menu-heading\"\n >{{ category.label }}</span>\n @for (child of category.children; track child.label) {\n <ng-container\n *ngTemplateOutlet=\"entryTemplate; context: { $implicit: child }\"\n />\n }\n } @else if (button(item); as entry) {\n <ng-container\n *ngTemplateOutlet=\"entryTemplate; context: { $implicit: entry }\"\n />\n }\n }\n </div>\n }\n</ui-card>\n\n<ng-template #entryTemplate let-entry>\n <button\n type=\"button\"\n class=\"ui-text-body-alt ui-user-menu-item\"\n (click)=\"entry.onClick()\"\n >\n @if (entry.icon) {\n <ng-icon\n [name]=\"entry.icon\"\n size=\"18\"\n strokeWidth=\"1.75\"\n class=\"shrink-0\"\n />\n }\n {{ entry.label }}\n </button>\n</ng-template>\n",
13641
+ styles: ["@layer properties;.ui-user-menu{display:block;width:calc(var(--spacing, .25rem) * 72);overflow:hidden;--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-user-menu-person{display:flex;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.ui-user-menu-text{display:flex;min-width:0px;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5)}.ui-user-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--foreground)}.ui-user-menu-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground-1)}::ng-deep .ui-user-menu-section{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}::ng-deep .ui-user-menu-heading{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--muted-foreground-1)}.ui-user-menu-items{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding:calc(var(--spacing, .25rem) * 2)}.ui-user-menu-group{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2);padding-bottom:var(--spacing, .25rem)}.ui-user-menu-item{display:flex;height:calc(var(--spacing, .25rem) * 10);cursor:pointer;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);border-radius:var(--radius-lg, .5rem);padding-inline:calc(var(--spacing, .25rem) * 3);text-align:start;color:var(--dropdown-item-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}.ui-user-menu-item:hover{background-color:var(--dropdown-item-hover)}.ui-user-menu-item:focus-visible{background-color:var(--dropdown-item-focus)}.ui-user-menu-item:focus-visible{--tw-outline-style: none;outline-style:none}.ui-user-menu-divider{margin-inline:var(--spacing, .25rem);margin-block:calc(var(--spacing, .25rem) * 1.5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line)}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-font-weight: initial;--tw-border-style: solid;--tw-duration: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"],
13642
+ dependencies: [
13643
+ {
13644
+ kind: "directive",
13645
+ type: NgTemplateOutlet,
13646
+ selector: "[ngTemplateOutlet]",
13647
+ inputs: [
13648
+ "ngTemplateOutletContext",
13649
+ "ngTemplateOutlet",
13650
+ "ngTemplateOutletInjector"
13651
+ ]
13652
+ },
13653
+ {
13654
+ kind: "component",
13655
+ type: UiCardComponent,
13656
+ selector: "ui-card",
13657
+ inputs: ["radius"]
13658
+ },
13659
+ {
13660
+ kind: "component",
13661
+ type: UiAvatarComponent,
13662
+ selector: "ui-avatar",
13663
+ inputs: [
13664
+ "name",
13665
+ "src",
13666
+ "size"
13667
+ ]
13668
+ },
13669
+ {
13670
+ kind: "component",
13671
+ type: NgIcon,
13672
+ selector: "ng-icon",
13673
+ inputs: [
13674
+ "name",
13675
+ "svg",
13676
+ "size",
13677
+ "strokeWidth",
13678
+ "color"
13679
+ ]
13680
+ }
13681
+ ]
13682
+ });
13683
+ };
13684
+ i0.ɵɵngDeclareClassMetadata({
13685
+ minVersion: "12.0.0",
13686
+ version: "22.2.1",
13687
+ ngImport: i0,
13688
+ type: UiUserMenuComponent,
13689
+ decorators: [{
13690
+ type: Component,
13691
+ args: [{
13692
+ selector: "ui-user-menu",
13693
+ imports: [
13694
+ NgTemplateOutlet,
13695
+ UiCardComponent,
13696
+ UiAvatarComponent,
13697
+ NgIcon
13698
+ ],
13699
+ template: "<ui-card radius=\"xl\" class=\"ui-user-menu\">\n <div class=\"ui-user-menu-person\">\n <ui-avatar [name]=\"name()\" [src]=\"src()\" size=\"lg\" />\n\n <div class=\"ui-user-menu-text\">\n <span class=\"ui-text-body ui-user-menu-name\">{{ name() }}</span>\n @if (detail()) {\n <span class=\"ui-text-body-alt ui-user-menu-detail\">{{\n detail()\n }}</span>\n }\n </div>\n </div>\n\n <ng-content />\n\n @if (menuItems().length) {\n <div class=\"ui-user-menu-items\">\n @for (item of menuItems(); track $index) {\n @if (isDivider(item)) {\n <div class=\"ui-user-menu-divider\" role=\"separator\"></div>\n } @else if (group(item); as category) {\n <span\n class=\"ui-user-menu-group ui-text-caption ui-user-menu-heading\"\n >{{ category.label }}</span>\n @for (child of category.children; track child.label) {\n <ng-container\n *ngTemplateOutlet=\"entryTemplate; context: { $implicit: child }\"\n />\n }\n } @else if (button(item); as entry) {\n <ng-container\n *ngTemplateOutlet=\"entryTemplate; context: { $implicit: entry }\"\n />\n }\n }\n </div>\n }\n</ui-card>\n\n<ng-template #entryTemplate let-entry>\n <button\n type=\"button\"\n class=\"ui-text-body-alt ui-user-menu-item\"\n (click)=\"entry.onClick()\"\n >\n @if (entry.icon) {\n <ng-icon\n [name]=\"entry.icon\"\n size=\"18\"\n strokeWidth=\"1.75\"\n class=\"shrink-0\"\n />\n }\n {{ entry.label }}\n </button>\n</ng-template>\n",
13700
+ styles: ["@layer properties;.ui-user-menu{display:block;width:calc(var(--spacing, .25rem) * 72);overflow:hidden;--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-user-menu-person{display:flex;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.ui-user-menu-text{display:flex;min-width:0px;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5)}.ui-user-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--foreground)}.ui-user-menu-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground-1)}::ng-deep .ui-user-menu-section{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}::ng-deep .ui-user-menu-heading{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--muted-foreground-1)}.ui-user-menu-items{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding:calc(var(--spacing, .25rem) * 2)}.ui-user-menu-group{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2);padding-bottom:var(--spacing, .25rem)}.ui-user-menu-item{display:flex;height:calc(var(--spacing, .25rem) * 10);cursor:pointer;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);border-radius:var(--radius-lg, .5rem);padding-inline:calc(var(--spacing, .25rem) * 3);text-align:start;color:var(--dropdown-item-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}.ui-user-menu-item:hover{background-color:var(--dropdown-item-hover)}.ui-user-menu-item:focus-visible{background-color:var(--dropdown-item-focus)}.ui-user-menu-item:focus-visible{--tw-outline-style: none;outline-style:none}.ui-user-menu-divider{margin-inline:var(--spacing, .25rem);margin-block:calc(var(--spacing, .25rem) * 1.5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line)}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-font-weight: initial;--tw-border-style: solid;--tw-duration: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"]
13701
+ }]
13702
+ }],
13703
+ propDecorators: {
13704
+ name: [{
13705
+ type: i0.Input,
13706
+ args: [{
13707
+ isSignal: true,
13708
+ alias: "name",
13709
+ required: true
13710
+ }]
13711
+ }],
13712
+ detail: [{
13713
+ type: i0.Input,
13714
+ args: [{
13715
+ isSignal: true,
13716
+ alias: "detail",
13717
+ required: false
13718
+ }]
13719
+ }],
13720
+ src: [{
13721
+ type: i0.Input,
13722
+ args: [{
13723
+ isSignal: true,
13724
+ alias: "src",
13725
+ required: false
13726
+ }]
13727
+ }],
13728
+ items: [{
13729
+ type: i0.Input,
13730
+ args: [{
13731
+ isSignal: true,
13732
+ alias: "items",
13733
+ required: false
13734
+ }]
13735
+ }]
13736
+ }
13737
+ });
13563
13738
  const UI_THEME_CONFIG = new InjectionToken("UI_THEME_CONFIG", {
13564
13739
  providedIn: "root",
13565
13740
  factory: () => ({ storageKey: "ui-theme" })
@@ -13758,207 +13933,6 @@ i0.ɵɵngDeclareClassMetadata({
13758
13933
  }]
13759
13934
  }
13760
13935
  });
13761
- var UiUserMenuComponent = class UiUserMenuComponent {
13762
- dropdown = inject(UiDropdownComponent, { optional: true });
13763
- name = input.required(...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
13764
- detail = input("", ...ngDevMode ? [{ debugName: "detail" }] : /* istanbul ignore next */ []);
13765
- src = input(null, ...ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []);
13766
- items = input([], ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
13767
- themeSwitch = input(true, {
13768
- ...ngDevMode ? { debugName: "themeSwitch" } : /* istanbul ignore next */ {},
13769
- transform: booleanAttribute
13770
- });
13771
- menuItems = computed(() => this.items().map((item) => {
13772
- if ("divider" in item) return item;
13773
- if ("children" in item) return {
13774
- ...item,
13775
- children: item.children.map((child) => this.closing(child))
13776
- };
13777
- return this.closing(item);
13778
- }), ...ngDevMode ? [{ debugName: "menuItems" }] : /* istanbul ignore next */ []);
13779
- isDivider(item) {
13780
- return "divider" in item;
13781
- }
13782
- group(item) {
13783
- return "children" in item ? item : null;
13784
- }
13785
- button(item) {
13786
- return "onClick" in item ? item : null;
13787
- }
13788
- closing(item) {
13789
- return {
13790
- ...item,
13791
- onClick: () => {
13792
- this.dropdown?.close();
13793
- item.onClick();
13794
- }
13795
- };
13796
- }
13797
- static ɵfac = i0.ɵɵngDeclareFactory({
13798
- minVersion: "12.0.0",
13799
- version: "22.2.1",
13800
- ngImport: i0,
13801
- type: UiUserMenuComponent,
13802
- deps: [],
13803
- target: i0.ɵɵFactoryTarget.Component
13804
- });
13805
- static ɵcmp = i0.ɵɵngDeclareComponent({
13806
- minVersion: "17.0.0",
13807
- version: "22.2.1",
13808
- type: UiUserMenuComponent,
13809
- isStandalone: true,
13810
- selector: "ui-user-menu",
13811
- inputs: {
13812
- name: {
13813
- classPropertyName: "name",
13814
- publicName: "name",
13815
- isSignal: true,
13816
- isRequired: true,
13817
- transformFunction: null
13818
- },
13819
- detail: {
13820
- classPropertyName: "detail",
13821
- publicName: "detail",
13822
- isSignal: true,
13823
- isRequired: false,
13824
- transformFunction: null
13825
- },
13826
- src: {
13827
- classPropertyName: "src",
13828
- publicName: "src",
13829
- isSignal: true,
13830
- isRequired: false,
13831
- transformFunction: null
13832
- },
13833
- items: {
13834
- classPropertyName: "items",
13835
- publicName: "items",
13836
- isSignal: true,
13837
- isRequired: false,
13838
- transformFunction: null
13839
- },
13840
- themeSwitch: {
13841
- classPropertyName: "themeSwitch",
13842
- publicName: "themeSwitch",
13843
- isSignal: true,
13844
- isRequired: false,
13845
- transformFunction: null
13846
- }
13847
- },
13848
- ngImport: i0,
13849
- template: "<ui-card radius=\"xl\" class=\"ui-user-menu\">\n <div class=\"ui-user-menu-person\">\n <ui-avatar [name]=\"name()\" [src]=\"src()\" size=\"lg\" />\n\n <div class=\"ui-user-menu-text\">\n <span class=\"ui-user-menu-name ui-text-body\">{{ name() }}</span>\n @if (detail()) {\n <span class=\"ui-user-menu-detail ui-text-body-alt\">{{ detail() }}</span>\n }\n </div>\n </div>\n\n @if (themeSwitch()) {\n <div class=\"ui-user-menu-section\">\n <span class=\"ui-user-menu-heading ui-text-caption\">Theme</span>\n <ui-theme-switch fill />\n </div>\n }\n\n @if (menuItems().length) {\n <div class=\"ui-user-menu-items\">\n @for (item of menuItems(); track $index) {\n @if (isDivider(item)) {\n <div class=\"ui-user-menu-divider\" role=\"separator\"></div>\n } @else if (group(item); as category) {\n <span class=\"ui-user-menu-heading ui-user-menu-group ui-text-caption\">{{ category.label }}</span>\n @for (child of category.children; track child.label) {\n <ng-container *ngTemplateOutlet=\"entryTemplate; context: { $implicit: child }\" />\n }\n } @else if (button(item); as entry) {\n <ng-container *ngTemplateOutlet=\"entryTemplate; context: { $implicit: entry }\" />\n }\n }\n </div>\n }\n</ui-card>\n\n<ng-template #entryTemplate let-entry>\n <button type=\"button\" class=\"ui-user-menu-item ui-text-body-alt\" (click)=\"entry.onClick()\">\n @if (entry.icon) {\n <ng-icon [name]=\"entry.icon\" size=\"18\" strokeWidth=\"1.75\" class=\"shrink-0\" />\n }\n {{ entry.label }}\n </button>\n</ng-template>\n",
13850
- styles: ["@layer properties;.ui-user-menu{display:block;width:calc(var(--spacing, .25rem) * 72);overflow:hidden;--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-user-menu-person{display:flex;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.ui-user-menu-text{display:flex;min-width:0px;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5)}.ui-user-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--foreground)}.ui-user-menu-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground-1)}.ui-user-menu-section{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}.ui-user-menu-heading{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--muted-foreground-1)}.ui-user-menu-items{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding:calc(var(--spacing, .25rem) * 2)}.ui-user-menu-group{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2);padding-bottom:var(--spacing, .25rem)}.ui-user-menu-item{display:flex;height:calc(var(--spacing, .25rem) * 10);cursor:pointer;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);border-radius:var(--radius-lg, .5rem);padding-inline:calc(var(--spacing, .25rem) * 3);text-align:start;color:var(--dropdown-item-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}.ui-user-menu-item:hover{background-color:var(--dropdown-item-hover)}.ui-user-menu-item:focus-visible{background-color:var(--dropdown-item-focus)}.ui-user-menu-item:focus-visible{--tw-outline-style: none;outline-style:none}.ui-user-menu-divider{margin-inline:var(--spacing, .25rem);margin-block:calc(var(--spacing, .25rem) * 1.5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line)}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-font-weight: initial;--tw-border-style: solid;--tw-duration: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"],
13851
- dependencies: [
13852
- {
13853
- kind: "directive",
13854
- type: NgTemplateOutlet,
13855
- selector: "[ngTemplateOutlet]",
13856
- inputs: [
13857
- "ngTemplateOutletContext",
13858
- "ngTemplateOutlet",
13859
- "ngTemplateOutletInjector"
13860
- ]
13861
- },
13862
- {
13863
- kind: "component",
13864
- type: UiCardComponent,
13865
- selector: "ui-card",
13866
- inputs: ["radius"]
13867
- },
13868
- {
13869
- kind: "component",
13870
- type: UiAvatarComponent,
13871
- selector: "ui-avatar",
13872
- inputs: [
13873
- "name",
13874
- "src",
13875
- "size"
13876
- ]
13877
- },
13878
- {
13879
- kind: "component",
13880
- type: UiThemeSwitchComponent,
13881
- selector: "ui-theme-switch",
13882
- inputs: ["ariaLabel", "fill"]
13883
- },
13884
- {
13885
- kind: "component",
13886
- type: NgIcon,
13887
- selector: "ng-icon",
13888
- inputs: [
13889
- "name",
13890
- "svg",
13891
- "size",
13892
- "strokeWidth",
13893
- "color"
13894
- ]
13895
- }
13896
- ]
13897
- });
13898
- };
13899
- i0.ɵɵngDeclareClassMetadata({
13900
- minVersion: "12.0.0",
13901
- version: "22.2.1",
13902
- ngImport: i0,
13903
- type: UiUserMenuComponent,
13904
- decorators: [{
13905
- type: Component,
13906
- args: [{
13907
- selector: "ui-user-menu",
13908
- imports: [
13909
- NgTemplateOutlet,
13910
- UiCardComponent,
13911
- UiAvatarComponent,
13912
- UiThemeSwitchComponent,
13913
- NgIcon
13914
- ],
13915
- template: "<ui-card radius=\"xl\" class=\"ui-user-menu\">\n <div class=\"ui-user-menu-person\">\n <ui-avatar [name]=\"name()\" [src]=\"src()\" size=\"lg\" />\n\n <div class=\"ui-user-menu-text\">\n <span class=\"ui-user-menu-name ui-text-body\">{{ name() }}</span>\n @if (detail()) {\n <span class=\"ui-user-menu-detail ui-text-body-alt\">{{ detail() }}</span>\n }\n </div>\n </div>\n\n @if (themeSwitch()) {\n <div class=\"ui-user-menu-section\">\n <span class=\"ui-user-menu-heading ui-text-caption\">Theme</span>\n <ui-theme-switch fill />\n </div>\n }\n\n @if (menuItems().length) {\n <div class=\"ui-user-menu-items\">\n @for (item of menuItems(); track $index) {\n @if (isDivider(item)) {\n <div class=\"ui-user-menu-divider\" role=\"separator\"></div>\n } @else if (group(item); as category) {\n <span class=\"ui-user-menu-heading ui-user-menu-group ui-text-caption\">{{ category.label }}</span>\n @for (child of category.children; track child.label) {\n <ng-container *ngTemplateOutlet=\"entryTemplate; context: { $implicit: child }\" />\n }\n } @else if (button(item); as entry) {\n <ng-container *ngTemplateOutlet=\"entryTemplate; context: { $implicit: entry }\" />\n }\n }\n </div>\n }\n</ui-card>\n\n<ng-template #entryTemplate let-entry>\n <button type=\"button\" class=\"ui-user-menu-item ui-text-body-alt\" (click)=\"entry.onClick()\">\n @if (entry.icon) {\n <ng-icon [name]=\"entry.icon\" size=\"18\" strokeWidth=\"1.75\" class=\"shrink-0\" />\n }\n {{ entry.label }}\n </button>\n</ng-template>\n",
13916
- styles: ["@layer properties;.ui-user-menu{display:block;width:calc(var(--spacing, .25rem) * 72);overflow:hidden;--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ui-user-menu-person{display:flex;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);padding:calc(var(--spacing, .25rem) * 4)}.ui-user-menu-text{display:flex;min-width:0px;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5)}.ui-user-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--foreground)}.ui-user-menu-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground-1)}.ui-user-menu-section{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding-inline:calc(var(--spacing, .25rem) * 4);padding-top:calc(var(--spacing, .25rem) * 3);padding-bottom:calc(var(--spacing, .25rem) * 4)}.ui-user-menu-heading{--tw-font-weight: var(--font-weight-medium, 500);font-weight:var(--font-weight-medium, 500);color:var(--muted-foreground-1)}.ui-user-menu-items{display:flex;flex-direction:column;row-gap:calc(var(--spacing, .25rem) * .5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line);padding:calc(var(--spacing, .25rem) * 2)}.ui-user-menu-group{padding-inline:calc(var(--spacing, .25rem) * 3);padding-top:calc(var(--spacing, .25rem) * 2);padding-bottom:var(--spacing, .25rem)}.ui-user-menu-item{display:flex;height:calc(var(--spacing, .25rem) * 10);cursor:pointer;align-items:center;column-gap:calc(var(--spacing, .25rem) * 3);border-radius:var(--radius-lg, .5rem);padding-inline:calc(var(--spacing, .25rem) * 3);text-align:start;color:var(--dropdown-item-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration, var(--default-transition-duration, .15s));--tw-duration: .15s;transition-duration:.15s}.ui-user-menu-item:hover{background-color:var(--dropdown-item-hover)}.ui-user-menu-item:focus-visible{background-color:var(--dropdown-item-focus)}.ui-user-menu-item:focus-visible{--tw-outline-style: none;outline-style:none}.ui-user-menu-divider{margin-inline:var(--spacing, .25rem);margin-block:calc(var(--spacing, .25rem) * 1.5);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--card-line)}@property --tw-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: \"*\"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: \"<percentage>\"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: \"*\"; inherits: false;}@property --tw-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: \"*\"; inherits: false;}@property --tw-inset-ring-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: \"*\"; inherits: false;}@property --tw-ring-offset-width{syntax: \"<length>\"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: \"*\"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: \"*\"; inherits: false; initial-value: 0 0 #0000;}@property --tw-font-weight{syntax: \"*\"; inherits: false;}@property --tw-border-style{syntax: \"*\"; inherits: false; initial-value: solid;}@property --tw-duration{syntax: \"*\"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-font-weight: initial;--tw-border-style: solid;--tw-duration: initial}}}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"]
13917
- }]
13918
- }],
13919
- propDecorators: {
13920
- name: [{
13921
- type: i0.Input,
13922
- args: [{
13923
- isSignal: true,
13924
- alias: "name",
13925
- required: true
13926
- }]
13927
- }],
13928
- detail: [{
13929
- type: i0.Input,
13930
- args: [{
13931
- isSignal: true,
13932
- alias: "detail",
13933
- required: false
13934
- }]
13935
- }],
13936
- src: [{
13937
- type: i0.Input,
13938
- args: [{
13939
- isSignal: true,
13940
- alias: "src",
13941
- required: false
13942
- }]
13943
- }],
13944
- items: [{
13945
- type: i0.Input,
13946
- args: [{
13947
- isSignal: true,
13948
- alias: "items",
13949
- required: false
13950
- }]
13951
- }],
13952
- themeSwitch: [{
13953
- type: i0.Input,
13954
- args: [{
13955
- isSignal: true,
13956
- alias: "themeSwitch",
13957
- required: false
13958
- }]
13959
- }]
13960
- }
13961
- });
13962
13936
  export { AlertAppearances, AlertIntents, AvatarSizes, BadgeAppearances, BadgeIntents, BadgeSizes, BarChartOrientations, ButtonAppearances, ButtonIntents, ButtonSizes, ButtonTypes, CHART_INK, CHART_INK_DARK, CHART_MAX_LINE_SERIES, CHART_MAX_SERIES, CHART_PALETTE, CHART_PALETTE_DARK, CalendarModes, CardHeadingLevels, CardRadii, FileRejectionReasons, InputAriaAutocompletes, InputAriaHasPopups, InputModes, InputTypes, LineChartCurves, MoneySignDisplays, PieChartVariants, ProgressIntents, ProgressLabelPositions, ProgressOrientations, ProgressShapes, ProgressSizes, SelectLocalDataSource, SelectMultipleDisplays, SelectRemoteDataSource, SkeletonShapes, TableFiltersBreakpoints, TableLocalDataSource, TableRemoteDataSource, TextareaResizeOptions, ToastIntents, ToasterPositions, UI_FORMAT, UI_FORMAT_DEFAULTS, UI_LOADING_TYPES, UI_THEME_CONFIG, UiAlertComponent, UiAvatarComponent, UiBadgeComponent, UiBarChartComponent, UiButtonComponent, UiButtonGroupComponent, UiCalendarComponent, UiCardComponent, UiCardHeaderComponent, UiChartComponent, UiChartFrameComponent, UiChartLegendComponent, UiChartTableComponent, UiCheckboxComponent, UiColourComponent, UiContainerComponent, UiCounterComponent, UiDateRangePickerComponent, UiDatepickerComponent, UiDrawerComponent, UiDropdownButtonComponent, UiDropdownComponent, UiDropdownDirective, UiDropdownMenuComponent, UiDropzoneComponent, UiFieldComponent, UiFileInputComponent, UiInputAddonComponent, UiInputComponent, UiInputGroupComponent, UiKpiComponent, UiLayoutComponent, UiLineChartComponent, UiLoadingComponent, UiModalComponent, UiMoneyComponent, UiOverlayComponent, UiPaginationComponent, UiPieChartComponent, UiProgressComponent, UiRadioComponent, UiSearchComponent, UiSegmentedComponent, UiSelectComponent, UiSidebarComponent, UiSidebarGroupComponent, UiSidebarItemComponent, UiSkeletonComponent, UiStatComponent, UiSwitchComponent, UiTabComponent, UiTabDirective, UiTableComponent, UiTableFiltersComponent, UiTableRegistry, UiTextareaComponent, UiThemeService, UiThemeSwitchComponent, UiTimeSelectComponent, UiToastComponent, UiToastService, UiToasterComponent, UiTooltipComponent, UiUserMenuComponent, WeekStarts, chartColour, chartInk, chartSeriesStyle, defaultDateRangePresets, financialYearPreset, injectMoneyFormatter, lastDaysPreset, monthPreset, provideUiFormat, provideUiTheme, radiusClasses, thisWeekPreset, todayPreset, yearPreset };
13963
13937
 
13964
13938
  //# sourceMappingURL=area8975-ui.mjs.map