@gravionlabs/helix-shell 22.1.15 → 22.1.17
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.
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, InjectionToken, PLATFORM_ID, ViewEncapsulation, computed, effect, forwardRef, inject, input, output, signal, untracked } from "@angular/core";
|
|
3
|
-
import * as i1
|
|
4
|
-
import { CommonModule, NgClass, SlicePipe, isPlatformBrowser } from "@angular/common";
|
|
5
|
-
import * as i1$
|
|
2
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, InjectionToken, PLATFORM_ID, ViewEncapsulation, afterNextRender, booleanAttribute, computed, effect, forwardRef, inject, input, output, signal, untracked } from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import { CommonModule, DOCUMENT, NgClass, SlicePipe, isPlatformBrowser } from "@angular/common";
|
|
5
|
+
import * as i1$1 from "@angular/forms";
|
|
6
6
|
import { FormsModule, NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
7
7
|
import * as i2 from "@angular/router";
|
|
8
8
|
import { ActivatedRoute, NavigationEnd, Router, RouterModule } from "@angular/router";
|
|
9
9
|
import { patchState, signalStore, withComputed, withHooks, withMethods, withState } from "@ngrx/signals";
|
|
10
10
|
import { DomSanitizer } from "@angular/platform-browser";
|
|
11
11
|
import { Subject, filter, takeUntil } from "rxjs";
|
|
12
|
-
import * as i3 from "@gravionlabs/helix-core/ripple";
|
|
13
|
-
import { RippleModule } from "@gravionlabs/helix-core/ripple";
|
|
14
12
|
import { HxBreadcrumb, HxButton, HxCheckbox, HxDivider, HxInput, HxPassword, HxSelectButton, HxTooltip } from "@gravionlabs/helix-ui";
|
|
15
|
-
import * as i1 from "@gravionlabs/helix-core/styleclass";
|
|
16
|
-
import { StyleClassModule } from "@gravionlabs/helix-core/styleclass";
|
|
17
13
|
import { HelixConfig } from "@gravionlabs/helix-core/config";
|
|
18
14
|
import { $t, updatePreset, updateSurfacePalette } from "@gravionlabs/helix-core/themes";
|
|
19
15
|
import { auraPreset } from "@gravionlabs/helix-core/themes/aura";
|
|
@@ -289,13 +285,13 @@ var HelixSelect = class HelixSelect {
|
|
|
289
285
|
},
|
|
290
286
|
{
|
|
291
287
|
kind: "directive",
|
|
292
|
-
type: i1$
|
|
288
|
+
type: i1$1.NgSelectOption,
|
|
293
289
|
selector: "option",
|
|
294
290
|
inputs: ["ngValue", "value"]
|
|
295
291
|
},
|
|
296
292
|
{
|
|
297
293
|
kind: "directive",
|
|
298
|
-
type: i1$
|
|
294
|
+
type: i1$1.ɵNgSelectMultipleOption,
|
|
299
295
|
selector: "option",
|
|
300
296
|
inputs: ["ngValue", "value"]
|
|
301
297
|
}
|
|
@@ -737,7 +733,7 @@ var HelixNavRailItem = class HelixNavRailItem {
|
|
|
737
733
|
}
|
|
738
734
|
},
|
|
739
735
|
ngImport: i0,
|
|
740
|
-
template: "@if (hasChildren()) {\n <a\n class=\"helix-nav-rail-link\"\n [attr.title]=\"isCollapsed() ? null : $safeNavigationMigration(item()?.label)\"\n [attr.aria-expanded]=\"isCollapsed() ? flyoutOpen() : isExpanded()\"\n [attr.aria-haspopup]=\"isCollapsed() ? 'true' : null\"\n role=\"button\"\n (click)=\"itemClick($event)\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"0\"\n
|
|
736
|
+
template: "@if (hasChildren()) {\n <a\n class=\"helix-nav-rail-link\"\n [attr.title]=\"isCollapsed() ? null : $safeNavigationMigration(item()?.label)\"\n [attr.aria-expanded]=\"isCollapsed() ? flyoutOpen() : isExpanded()\"\n [attr.aria-haspopup]=\"isCollapsed() ? 'true' : null\"\n role=\"button\"\n (click)=\"itemClick($event)\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"0\"\n >\n @if (item()?.icon) {\n <i [ngClass]=\"$safeNavigationMigration(item()?.icon)\" class=\"helix-nav-rail-icon\"></i>\n }\n @if (!isCollapsed()) {\n <span class=\"helix-nav-rail-label\">{{ item()?.label }}</span>\n <i\n class=\"pi pi-chevron-right helix-nav-rail-chevron\"\n [class.helix-nav-rail-chevron-open]=\"isExpanded()\"\n ></i>\n }\n </a>\n @if (isCollapsed() && flyoutOpen()) {\n <div class=\"helix-nav-rail-flyout\" [style.top.px]=\"flyoutTop()\" [style.left.px]=\"flyoutLeft()\">\n <div class=\"helix-nav-rail-flyout-title\">{{ item()?.label }}</div>\n <ul class=\"helix-nav-rail-flyout-list\">\n @for (child of item()?.items; track child.label) {\n <li\n helix-nav-rail-item\n [item]=\"child\"\n [parentPath]=\"fullPath()\"\n [depth]=\"0\"\n [flyout]=\"true\"\n ></li>\n }\n </ul>\n </div>\n }\n @if (isExpanded() && !isCollapsed()) {\n <ul\n class=\"helix-nav-rail-sublist\"\n [animate.enter]=\"initialized() ? 'helix-nav-rail-submenu-enter' : null\"\n [animate.leave]=\"'helix-nav-rail-submenu-leave'\"\n >\n @for (child of item()?.items; track child.label) {\n <li helix-nav-rail-item [item]=\"child\" [parentPath]=\"fullPath()\" [depth]=\"depth() + 1\"></li>\n }\n </ul>\n }\n} @else {\n <a\n class=\"helix-nav-rail-link\"\n [class.active]=\"isActive()\"\n [attr.aria-current]=\"isActive() ? 'page' : null\"\n [attr.title]=\"isCollapsed() ? null : $safeNavigationMigration(item()?.label)\"\n [hx-tooltip]=\"$safeNavigationMigration(item()?.label)\"\n [hxTooltipDisabled]=\"!isCollapsed()\"\n hxTooltipPosition=\"right\"\n [routerLink]=\"$safeNavigationMigration(item()?.routerLink)\"\n (click)=\"itemClick($event)\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"0\"\n >\n @if (isActive() && !isCollapsed()) {\n <span class=\"helix-nav-rail-accent\"></span>\n }\n @if (item()?.icon) {\n <i [ngClass]=\"$safeNavigationMigration(item()?.icon)\" class=\"helix-nav-rail-icon\"></i>\n }\n @if (!isCollapsed()) {\n <span class=\"helix-nav-rail-label\">{{ item()?.label }}</span>\n }\n </a>\n}\n",
|
|
741
737
|
styles: ["@keyframes helix-nav-rail-submenu-enter{0%{max-height:0;overflow:hidden}to{max-height:1000px;overflow:visible}}@keyframes helix-nav-rail-submenu-leave{0%{max-height:1000px;overflow:hidden}to{max-height:0;overflow:hidden}}.helix-nav-rail-submenu-enter{animation:helix-nav-rail-submenu-enter .45s cubic-bezier(.86,0,.07,1) forwards}.helix-nav-rail-submenu-leave{animation:helix-nav-rail-submenu-leave .45s cubic-bezier(.86,0,.07,1) forwards}.helix-nav-rail-link{position:relative;display:flex;align-items:center;gap:.85rem;padding:.625rem .75rem;margin:1px .65rem;border-radius:var(--content-border-radius);cursor:pointer;text-decoration:none;font-size:.95rem;font-weight:500;white-space:nowrap;outline:0 none;color:var(--helix-nav-text);transition:background-color var(--element-transition-duration),color var(--element-transition-duration)}.helix-nav-rail-link:hover{background-color:var(--helix-nav-hover-bg)}.helix-nav-rail-link.active{color:var(--helix-nav-active-text);background-color:var(--helix-nav-active-bg)}.helix-nav-rail-link.active .helix-nav-rail-icon{color:var(--helix-nav-accent)}.helix-nav-rail-link:focus{outline-offset:-1px;box-shadow:inset var(--focus-ring-shadow)}.helix-nav-rail-accent{position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);width:3px;height:24px;border-radius:3px;background:var(--helix-nav-accent)}.helix-nav-rail-icon{flex:0 0 auto;font-size:1.15rem;transition:color var(--element-transition-duration)}.helix-nav-rail-label{overflow:hidden;text-overflow:ellipsis}.helix-nav-rail-chevron{margin-left:auto;font-size:.7rem;transition:transform var(--element-transition-duration)}.helix-nav-rail-chevron.helix-nav-rail-chevron-open{transform:rotate(90deg)}.helix-nav-rail-sublist{margin:0;padding:0;list-style-type:none;overflow:hidden;margin-left:1.5rem;border-left:1px solid var(--helix-nav-border)}.helix-nav-rail-sublist .helix-nav-rail-link{margin-left:.4rem;padding-block:.45rem;font-size:.9rem}:host(.helix-nav-rail-item-collapsed)>.helix-nav-rail-link{justify-content:center}.helix-nav-rail-flyout{position:fixed;z-index:1000;min-width:13rem;max-width:18rem;max-height:calc(100vh - 1rem);overflow-y:auto;padding:.35rem 0;border:1px solid var(--helix-nav-border);border-radius:var(--content-border-radius);background:var(--helix-surface-overlay, var(--helix-surface-chrome));box-shadow:0 8px 24px #00000029}.helix-nav-rail-flyout-title{padding:.5rem 1.15rem .3rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--helix-nav-text-muted)}.helix-nav-rail-flyout-list{margin:0;padding:0;list-style-type:none}\n"],
|
|
742
738
|
dependencies: [
|
|
743
739
|
{
|
|
@@ -757,7 +753,7 @@ var HelixNavRailItem = class HelixNavRailItem {
|
|
|
757
753
|
},
|
|
758
754
|
{
|
|
759
755
|
kind: "directive",
|
|
760
|
-
type: i1
|
|
756
|
+
type: i1.NgClass,
|
|
761
757
|
selector: "[ngClass]",
|
|
762
758
|
inputs: ["class", "ngClass"]
|
|
763
759
|
},
|
|
@@ -784,15 +780,6 @@ var HelixNavRailItem = class HelixNavRailItem {
|
|
|
784
780
|
"routerLink"
|
|
785
781
|
]
|
|
786
782
|
},
|
|
787
|
-
{
|
|
788
|
-
kind: "ngmodule",
|
|
789
|
-
type: RippleModule
|
|
790
|
-
},
|
|
791
|
-
{
|
|
792
|
-
kind: "directive",
|
|
793
|
-
type: i3.Ripple,
|
|
794
|
-
selector: "[hRipple]"
|
|
795
|
-
},
|
|
796
783
|
{
|
|
797
784
|
kind: "directive",
|
|
798
785
|
type: HxTooltip,
|
|
@@ -822,7 +809,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
822
809
|
imports: [
|
|
823
810
|
CommonModule,
|
|
824
811
|
RouterModule,
|
|
825
|
-
RippleModule,
|
|
826
812
|
HxTooltip
|
|
827
813
|
],
|
|
828
814
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
@@ -835,7 +821,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
835
821
|
"(focusout)": "onFocusOut($event)",
|
|
836
822
|
"(keydown.escape)": "closeFlyout(true)"
|
|
837
823
|
},
|
|
838
|
-
template: "@if (hasChildren()) {\n <a\n class=\"helix-nav-rail-link\"\n [attr.title]=\"isCollapsed() ? null : $safeNavigationMigration(item()?.label)\"\n [attr.aria-expanded]=\"isCollapsed() ? flyoutOpen() : isExpanded()\"\n [attr.aria-haspopup]=\"isCollapsed() ? 'true' : null\"\n role=\"button\"\n (click)=\"itemClick($event)\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"0\"\n
|
|
824
|
+
template: "@if (hasChildren()) {\n <a\n class=\"helix-nav-rail-link\"\n [attr.title]=\"isCollapsed() ? null : $safeNavigationMigration(item()?.label)\"\n [attr.aria-expanded]=\"isCollapsed() ? flyoutOpen() : isExpanded()\"\n [attr.aria-haspopup]=\"isCollapsed() ? 'true' : null\"\n role=\"button\"\n (click)=\"itemClick($event)\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"0\"\n >\n @if (item()?.icon) {\n <i [ngClass]=\"$safeNavigationMigration(item()?.icon)\" class=\"helix-nav-rail-icon\"></i>\n }\n @if (!isCollapsed()) {\n <span class=\"helix-nav-rail-label\">{{ item()?.label }}</span>\n <i\n class=\"pi pi-chevron-right helix-nav-rail-chevron\"\n [class.helix-nav-rail-chevron-open]=\"isExpanded()\"\n ></i>\n }\n </a>\n @if (isCollapsed() && flyoutOpen()) {\n <div class=\"helix-nav-rail-flyout\" [style.top.px]=\"flyoutTop()\" [style.left.px]=\"flyoutLeft()\">\n <div class=\"helix-nav-rail-flyout-title\">{{ item()?.label }}</div>\n <ul class=\"helix-nav-rail-flyout-list\">\n @for (child of item()?.items; track child.label) {\n <li\n helix-nav-rail-item\n [item]=\"child\"\n [parentPath]=\"fullPath()\"\n [depth]=\"0\"\n [flyout]=\"true\"\n ></li>\n }\n </ul>\n </div>\n }\n @if (isExpanded() && !isCollapsed()) {\n <ul\n class=\"helix-nav-rail-sublist\"\n [animate.enter]=\"initialized() ? 'helix-nav-rail-submenu-enter' : null\"\n [animate.leave]=\"'helix-nav-rail-submenu-leave'\"\n >\n @for (child of item()?.items; track child.label) {\n <li helix-nav-rail-item [item]=\"child\" [parentPath]=\"fullPath()\" [depth]=\"depth() + 1\"></li>\n }\n </ul>\n }\n} @else {\n <a\n class=\"helix-nav-rail-link\"\n [class.active]=\"isActive()\"\n [attr.aria-current]=\"isActive() ? 'page' : null\"\n [attr.title]=\"isCollapsed() ? null : $safeNavigationMigration(item()?.label)\"\n [hx-tooltip]=\"$safeNavigationMigration(item()?.label)\"\n [hxTooltipDisabled]=\"!isCollapsed()\"\n hxTooltipPosition=\"right\"\n [routerLink]=\"$safeNavigationMigration(item()?.routerLink)\"\n (click)=\"itemClick($event)\"\n (keydown)=\"onKeydown($event)\"\n tabindex=\"0\"\n >\n @if (isActive() && !isCollapsed()) {\n <span class=\"helix-nav-rail-accent\"></span>\n }\n @if (item()?.icon) {\n <i [ngClass]=\"$safeNavigationMigration(item()?.icon)\" class=\"helix-nav-rail-icon\"></i>\n }\n @if (!isCollapsed()) {\n <span class=\"helix-nav-rail-label\">{{ item()?.label }}</span>\n }\n </a>\n}\n",
|
|
839
825
|
styles: ["@keyframes helix-nav-rail-submenu-enter{0%{max-height:0;overflow:hidden}to{max-height:1000px;overflow:visible}}@keyframes helix-nav-rail-submenu-leave{0%{max-height:1000px;overflow:hidden}to{max-height:0;overflow:hidden}}.helix-nav-rail-submenu-enter{animation:helix-nav-rail-submenu-enter .45s cubic-bezier(.86,0,.07,1) forwards}.helix-nav-rail-submenu-leave{animation:helix-nav-rail-submenu-leave .45s cubic-bezier(.86,0,.07,1) forwards}.helix-nav-rail-link{position:relative;display:flex;align-items:center;gap:.85rem;padding:.625rem .75rem;margin:1px .65rem;border-radius:var(--content-border-radius);cursor:pointer;text-decoration:none;font-size:.95rem;font-weight:500;white-space:nowrap;outline:0 none;color:var(--helix-nav-text);transition:background-color var(--element-transition-duration),color var(--element-transition-duration)}.helix-nav-rail-link:hover{background-color:var(--helix-nav-hover-bg)}.helix-nav-rail-link.active{color:var(--helix-nav-active-text);background-color:var(--helix-nav-active-bg)}.helix-nav-rail-link.active .helix-nav-rail-icon{color:var(--helix-nav-accent)}.helix-nav-rail-link:focus{outline-offset:-1px;box-shadow:inset var(--focus-ring-shadow)}.helix-nav-rail-accent{position:absolute;left:-.5rem;top:50%;transform:translateY(-50%);width:3px;height:24px;border-radius:3px;background:var(--helix-nav-accent)}.helix-nav-rail-icon{flex:0 0 auto;font-size:1.15rem;transition:color var(--element-transition-duration)}.helix-nav-rail-label{overflow:hidden;text-overflow:ellipsis}.helix-nav-rail-chevron{margin-left:auto;font-size:.7rem;transition:transform var(--element-transition-duration)}.helix-nav-rail-chevron.helix-nav-rail-chevron-open{transform:rotate(90deg)}.helix-nav-rail-sublist{margin:0;padding:0;list-style-type:none;overflow:hidden;margin-left:1.5rem;border-left:1px solid var(--helix-nav-border)}.helix-nav-rail-sublist .helix-nav-rail-link{margin-left:.4rem;padding-block:.45rem;font-size:.9rem}:host(.helix-nav-rail-item-collapsed)>.helix-nav-rail-link{justify-content:center}.helix-nav-rail-flyout{position:fixed;z-index:1000;min-width:13rem;max-width:18rem;max-height:calc(100vh - 1rem);overflow-y:auto;padding:.35rem 0;border:1px solid var(--helix-nav-border);border-radius:var(--content-border-radius);background:var(--helix-surface-overlay, var(--helix-surface-chrome));box-shadow:0 8px 24px #00000029}.helix-nav-rail-flyout-title{padding:.5rem 1.15rem .3rem;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--helix-nav-text-muted)}.helix-nav-rail-flyout-list{margin:0;padding:0;list-style-type:none}\n"]
|
|
840
826
|
}]
|
|
841
827
|
}],
|
|
@@ -982,7 +968,7 @@ var HelixNavRail = class HelixNavRail {
|
|
|
982
968
|
},
|
|
983
969
|
{
|
|
984
970
|
kind: "directive",
|
|
985
|
-
type: i1
|
|
971
|
+
type: i1.NgClass,
|
|
986
972
|
selector: "[ngClass]",
|
|
987
973
|
inputs: ["class", "ngClass"]
|
|
988
974
|
},
|
|
@@ -1494,6 +1480,136 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
1494
1480
|
}]
|
|
1495
1481
|
}
|
|
1496
1482
|
});
|
|
1483
|
+
let nextId = 0;
|
|
1484
|
+
const HIDDEN = "hidden";
|
|
1485
|
+
var HelixDisclosure = class HelixDisclosure {
|
|
1486
|
+
animate = input(false, {
|
|
1487
|
+
...ngDevMode ? { debugName: "animate" } : /* istanbul ignore next */ {},
|
|
1488
|
+
alias: "helixDisclosureAnimate",
|
|
1489
|
+
transform: booleanAttribute
|
|
1490
|
+
});
|
|
1491
|
+
#trigger = inject(ElementRef).nativeElement;
|
|
1492
|
+
#doc = inject(DOCUMENT);
|
|
1493
|
+
expanded = signal(false, ...ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []);
|
|
1494
|
+
#stopOutside = null;
|
|
1495
|
+
#fallback;
|
|
1496
|
+
constructor() {
|
|
1497
|
+
afterNextRender(() => this.expanded.set(this.#isOpen()));
|
|
1498
|
+
inject(DestroyRef).onDestroy(() => {
|
|
1499
|
+
clearTimeout(this.#fallback);
|
|
1500
|
+
this.#stopOutside?.();
|
|
1501
|
+
});
|
|
1502
|
+
}
|
|
1503
|
+
get #panel() {
|
|
1504
|
+
return this.#trigger.nextElementSibling;
|
|
1505
|
+
}
|
|
1506
|
+
#isOpen() {
|
|
1507
|
+
const panel = this.#panel;
|
|
1508
|
+
return !!panel && !panel.classList.contains(HIDDEN);
|
|
1509
|
+
}
|
|
1510
|
+
#motion() {
|
|
1511
|
+
return this.animate() && !this.#doc.defaultView?.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
|
|
1512
|
+
}
|
|
1513
|
+
toggle() {
|
|
1514
|
+
if (this.#isOpen()) this.close();
|
|
1515
|
+
else this.open();
|
|
1516
|
+
}
|
|
1517
|
+
open() {
|
|
1518
|
+
const panel = this.#panel;
|
|
1519
|
+
if (!panel || this.#isOpen()) return;
|
|
1520
|
+
clearTimeout(this.#fallback);
|
|
1521
|
+
if (!panel.id) panel.id = `helix-disclosure-${nextId++}`;
|
|
1522
|
+
this.#trigger.setAttribute("aria-controls", panel.id);
|
|
1523
|
+
panel.classList.remove("animate-fadeout");
|
|
1524
|
+
panel.classList.remove(HIDDEN);
|
|
1525
|
+
if (this.#motion()) {
|
|
1526
|
+
panel.classList.add("animate-scalein");
|
|
1527
|
+
panel.addEventListener("animationend", () => panel.classList.remove("animate-scalein"), { once: true });
|
|
1528
|
+
}
|
|
1529
|
+
this.expanded.set(true);
|
|
1530
|
+
const onClick = (event) => {
|
|
1531
|
+
const target = event.target;
|
|
1532
|
+
if (!this.#trigger.contains(target) && !panel.contains(target)) this.close();
|
|
1533
|
+
};
|
|
1534
|
+
setTimeout(() => this.#doc.addEventListener("click", onClick));
|
|
1535
|
+
this.#stopOutside = () => this.#doc.removeEventListener("click", onClick);
|
|
1536
|
+
}
|
|
1537
|
+
close(refocus = false) {
|
|
1538
|
+
const panel = this.#panel;
|
|
1539
|
+
this.#stopOutside?.();
|
|
1540
|
+
this.#stopOutside = null;
|
|
1541
|
+
if (!panel || !this.#isOpen()) return;
|
|
1542
|
+
const hide = () => {
|
|
1543
|
+
clearTimeout(this.#fallback);
|
|
1544
|
+
panel.classList.remove("animate-scalein", "animate-fadeout");
|
|
1545
|
+
panel.classList.add(HIDDEN);
|
|
1546
|
+
};
|
|
1547
|
+
if (this.#motion()) {
|
|
1548
|
+
panel.classList.remove("animate-scalein");
|
|
1549
|
+
panel.classList.add("animate-fadeout");
|
|
1550
|
+
panel.addEventListener("animationend", hide, { once: true });
|
|
1551
|
+
this.#fallback = setTimeout(hide, 400);
|
|
1552
|
+
} else hide();
|
|
1553
|
+
this.expanded.set(false);
|
|
1554
|
+
if (refocus) this.#trigger.focus();
|
|
1555
|
+
}
|
|
1556
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
1557
|
+
minVersion: "12.0.0",
|
|
1558
|
+
version: "22.2.1",
|
|
1559
|
+
ngImport: i0,
|
|
1560
|
+
type: HelixDisclosure,
|
|
1561
|
+
deps: [],
|
|
1562
|
+
target: i0.ɵɵFactoryTarget.Directive
|
|
1563
|
+
});
|
|
1564
|
+
static ɵdir = i0.ɵɵngDeclareDirective({
|
|
1565
|
+
minVersion: "17.1.0",
|
|
1566
|
+
version: "22.2.1",
|
|
1567
|
+
type: HelixDisclosure,
|
|
1568
|
+
isStandalone: true,
|
|
1569
|
+
selector: "[helixDisclosure]",
|
|
1570
|
+
inputs: { animate: {
|
|
1571
|
+
classPropertyName: "animate",
|
|
1572
|
+
publicName: "helixDisclosureAnimate",
|
|
1573
|
+
isSignal: true,
|
|
1574
|
+
isRequired: false,
|
|
1575
|
+
transformFunction: null
|
|
1576
|
+
} },
|
|
1577
|
+
host: {
|
|
1578
|
+
listeners: {
|
|
1579
|
+
"click": "toggle()",
|
|
1580
|
+
"keydown.escape": "close(true)"
|
|
1581
|
+
},
|
|
1582
|
+
properties: { "attr.aria-expanded": "expanded()" }
|
|
1583
|
+
},
|
|
1584
|
+
ngImport: i0
|
|
1585
|
+
});
|
|
1586
|
+
};
|
|
1587
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
1588
|
+
minVersion: "12.0.0",
|
|
1589
|
+
version: "22.2.1",
|
|
1590
|
+
ngImport: i0,
|
|
1591
|
+
type: HelixDisclosure,
|
|
1592
|
+
decorators: [{
|
|
1593
|
+
type: Directive,
|
|
1594
|
+
args: [{
|
|
1595
|
+
selector: "[helixDisclosure]",
|
|
1596
|
+
host: {
|
|
1597
|
+
"[attr.aria-expanded]": "expanded()",
|
|
1598
|
+
"(click)": "toggle()",
|
|
1599
|
+
"(keydown.escape)": "close(true)"
|
|
1600
|
+
}
|
|
1601
|
+
}]
|
|
1602
|
+
}],
|
|
1603
|
+
ctorParameters: () => [],
|
|
1604
|
+
propDecorators: { animate: [{
|
|
1605
|
+
type: i0.Input,
|
|
1606
|
+
args: [{
|
|
1607
|
+
isSignal: true,
|
|
1608
|
+
alias: "helixDisclosureAnimate",
|
|
1609
|
+
required: false
|
|
1610
|
+
}]
|
|
1611
|
+
}] }
|
|
1612
|
+
});
|
|
1497
1613
|
var HelixAlertAction = class HelixAlertAction {
|
|
1498
1614
|
count = input.required(...ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []);
|
|
1499
1615
|
alerts = input(...ngDevMode ? [void 0, { debugName: "alerts" }] : /* istanbul ignore next */ []);
|
|
@@ -1982,7 +2098,7 @@ var HelixConfigurator = class HelixConfigurator {
|
|
|
1982
2098
|
},
|
|
1983
2099
|
{
|
|
1984
2100
|
kind: "directive",
|
|
1985
|
-
type: i1
|
|
2101
|
+
type: i1.NgClass,
|
|
1986
2102
|
selector: "[ngClass]",
|
|
1987
2103
|
inputs: ["class", "ngClass"]
|
|
1988
2104
|
},
|
|
@@ -1992,12 +2108,12 @@ var HelixConfigurator = class HelixConfigurator {
|
|
|
1992
2108
|
},
|
|
1993
2109
|
{
|
|
1994
2110
|
kind: "directive",
|
|
1995
|
-
type: i1$
|
|
2111
|
+
type: i1$1.NgControlStatus,
|
|
1996
2112
|
selector: "[formControlName],[ngModel],[formControl]"
|
|
1997
2113
|
},
|
|
1998
2114
|
{
|
|
1999
2115
|
kind: "directive",
|
|
2000
|
-
type: i1$
|
|
2116
|
+
type: i1$1.NgModel,
|
|
2001
2117
|
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
2002
2118
|
inputs: [
|
|
2003
2119
|
"name",
|
|
@@ -2055,6 +2171,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2055
2171
|
}]
|
|
2056
2172
|
});
|
|
2057
2173
|
var HelixConfiguratorAction = class HelixConfiguratorAction {
|
|
2174
|
+
label = input("Configure theme", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
2058
2175
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
2059
2176
|
minVersion: "12.0.0",
|
|
2060
2177
|
version: "22.2.1",
|
|
@@ -2064,11 +2181,18 @@ var HelixConfiguratorAction = class HelixConfiguratorAction {
|
|
|
2064
2181
|
target: i0.ɵɵFactoryTarget.Component
|
|
2065
2182
|
});
|
|
2066
2183
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
2067
|
-
minVersion: "
|
|
2184
|
+
minVersion: "17.1.0",
|
|
2068
2185
|
version: "22.2.1",
|
|
2069
2186
|
type: HelixConfiguratorAction,
|
|
2070
2187
|
isStandalone: true,
|
|
2071
2188
|
selector: "helix-configurator-action",
|
|
2189
|
+
inputs: { label: {
|
|
2190
|
+
classPropertyName: "label",
|
|
2191
|
+
publicName: "label",
|
|
2192
|
+
isSignal: true,
|
|
2193
|
+
isRequired: false,
|
|
2194
|
+
transformFunction: null
|
|
2195
|
+
} },
|
|
2072
2196
|
ngImport: i0,
|
|
2073
2197
|
template: `
|
|
2074
2198
|
<div
|
|
@@ -2076,13 +2200,11 @@ var HelixConfiguratorAction = class HelixConfiguratorAction {
|
|
|
2076
2200
|
style="display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem;"
|
|
2077
2201
|
>
|
|
2078
2202
|
<button
|
|
2203
|
+
type="button"
|
|
2079
2204
|
class="layout-topbar-action layout-topbar-action-highlight"
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
leaveToClass="hidden"
|
|
2084
|
-
leaveActiveClass="animate-fadeout"
|
|
2085
|
-
[hideOnOutsideClick]="true"
|
|
2205
|
+
[attr.aria-label]="label()"
|
|
2206
|
+
helixDisclosure
|
|
2207
|
+
helixDisclosureAnimate
|
|
2086
2208
|
>
|
|
2087
2209
|
<i class="pi pi-palette" style="font-size: 1.4rem;"></i>
|
|
2088
2210
|
</button>
|
|
@@ -2091,36 +2213,16 @@ var HelixConfiguratorAction = class HelixConfiguratorAction {
|
|
|
2091
2213
|
`,
|
|
2092
2214
|
isInline: true,
|
|
2093
2215
|
styles: [":host{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;transition:background-color var(--element-transition-duration)}:host(:hover){background-color:var(--surface-hover)}.relative,button{cursor:pointer}button i{cursor:inherit}\n"],
|
|
2094
|
-
dependencies: [
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
"hStyleClass",
|
|
2105
|
-
"enterFromClass",
|
|
2106
|
-
"enterActiveClass",
|
|
2107
|
-
"enterToClass",
|
|
2108
|
-
"leaveFromClass",
|
|
2109
|
-
"leaveActiveClass",
|
|
2110
|
-
"leaveToClass",
|
|
2111
|
-
"hideOnOutsideClick",
|
|
2112
|
-
"toggleClass",
|
|
2113
|
-
"hideOnEscape",
|
|
2114
|
-
"hideOnResize",
|
|
2115
|
-
"resizeSelector"
|
|
2116
|
-
]
|
|
2117
|
-
},
|
|
2118
|
-
{
|
|
2119
|
-
kind: "component",
|
|
2120
|
-
type: HelixConfigurator,
|
|
2121
|
-
selector: "helix-configurator"
|
|
2122
|
-
}
|
|
2123
|
-
],
|
|
2216
|
+
dependencies: [{
|
|
2217
|
+
kind: "directive",
|
|
2218
|
+
type: HelixDisclosure,
|
|
2219
|
+
selector: "[helixDisclosure]",
|
|
2220
|
+
inputs: ["helixDisclosureAnimate"]
|
|
2221
|
+
}, {
|
|
2222
|
+
kind: "component",
|
|
2223
|
+
type: HelixConfigurator,
|
|
2224
|
+
selector: "helix-configurator"
|
|
2225
|
+
}],
|
|
2124
2226
|
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
2125
2227
|
});
|
|
2126
2228
|
};
|
|
@@ -2134,20 +2236,18 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2134
2236
|
args: [{
|
|
2135
2237
|
selector: "helix-configurator-action",
|
|
2136
2238
|
standalone: true,
|
|
2137
|
-
imports: [
|
|
2239
|
+
imports: [HelixDisclosure, HelixConfigurator],
|
|
2138
2240
|
template: `
|
|
2139
2241
|
<div
|
|
2140
2242
|
class="relative"
|
|
2141
2243
|
style="display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem;"
|
|
2142
2244
|
>
|
|
2143
2245
|
<button
|
|
2246
|
+
type="button"
|
|
2144
2247
|
class="layout-topbar-action layout-topbar-action-highlight"
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
leaveToClass="hidden"
|
|
2149
|
-
leaveActiveClass="animate-fadeout"
|
|
2150
|
-
[hideOnOutsideClick]="true"
|
|
2248
|
+
[attr.aria-label]="label()"
|
|
2249
|
+
helixDisclosure
|
|
2250
|
+
helixDisclosureAnimate
|
|
2151
2251
|
>
|
|
2152
2252
|
<i class="pi pi-palette" style="font-size: 1.4rem;"></i>
|
|
2153
2253
|
</button>
|
|
@@ -2157,7 +2257,15 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2157
2257
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
2158
2258
|
styles: [":host{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;transition:background-color var(--element-transition-duration)}:host(:hover){background-color:var(--surface-hover)}.relative,button{cursor:pointer}button i{cursor:inherit}\n"]
|
|
2159
2259
|
}]
|
|
2160
|
-
}]
|
|
2260
|
+
}],
|
|
2261
|
+
propDecorators: { label: [{
|
|
2262
|
+
type: i0.Input,
|
|
2263
|
+
args: [{
|
|
2264
|
+
isSignal: true,
|
|
2265
|
+
alias: "label",
|
|
2266
|
+
required: false
|
|
2267
|
+
}]
|
|
2268
|
+
}] }
|
|
2161
2269
|
});
|
|
2162
2270
|
var HelixDarkModeAction = class HelixDarkModeAction {
|
|
2163
2271
|
store = inject(LayoutStore);
|
|
@@ -2196,7 +2304,7 @@ var HelixDarkModeAction = class HelixDarkModeAction {
|
|
|
2196
2304
|
type: CommonModule
|
|
2197
2305
|
}, {
|
|
2198
2306
|
kind: "directive",
|
|
2199
|
-
type: i1
|
|
2307
|
+
type: i1.NgClass,
|
|
2200
2308
|
selector: "[ngClass]",
|
|
2201
2309
|
inputs: ["class", "ngClass"]
|
|
2202
2310
|
}],
|
|
@@ -2255,6 +2363,7 @@ var HelixTopbar = class HelixTopbar {
|
|
|
2255
2363
|
appTitle = input("Helix", ...ngDevMode ? [{ debugName: "appTitle" }] : /* istanbul ignore next */ []);
|
|
2256
2364
|
topbarActions = input(DEFAULT_ACTIONS, ...ngDevMode ? [{ debugName: "topbarActions" }] : /* istanbul ignore next */ []);
|
|
2257
2365
|
breadcrumbs = input(void 0, ...ngDevMode ? [{ debugName: "breadcrumbs" }] : /* istanbul ignore next */ []);
|
|
2366
|
+
menuLabel = input("More actions", ...ngDevMode ? [{ debugName: "menuLabel" }] : /* istanbul ignore next */ []);
|
|
2258
2367
|
items = input(DEFAULT_ITEMS, ...ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []);
|
|
2259
2368
|
store = inject(LayoutStore);
|
|
2260
2369
|
router = inject(Router);
|
|
@@ -2311,6 +2420,13 @@ var HelixTopbar = class HelixTopbar {
|
|
|
2311
2420
|
isRequired: false,
|
|
2312
2421
|
transformFunction: null
|
|
2313
2422
|
},
|
|
2423
|
+
menuLabel: {
|
|
2424
|
+
classPropertyName: "menuLabel",
|
|
2425
|
+
publicName: "menuLabel",
|
|
2426
|
+
isSignal: true,
|
|
2427
|
+
isRequired: false,
|
|
2428
|
+
transformFunction: null
|
|
2429
|
+
},
|
|
2314
2430
|
items: {
|
|
2315
2431
|
classPropertyName: "items",
|
|
2316
2432
|
publicName: "items",
|
|
@@ -2320,7 +2436,7 @@ var HelixTopbar = class HelixTopbar {
|
|
|
2320
2436
|
}
|
|
2321
2437
|
},
|
|
2322
2438
|
ngImport: i0,
|
|
2323
|
-
template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-start\">\n <button\n type=\"button\"\n class=\"layout-menu-button layout-topbar-action\"\n [class.layout-menu-button-mobile-only]=\"store.isStatic()\"\n aria-label=\"Toggle navigation\"\n (click)=\"store.onMenuToggle()\"\n >\n <i class=\"pi pi-bars\"></i>\n </button>\n @if (showBreadcrumbs()) {\n <hx-breadcrumb [model]=\"effectiveBreadcrumbs()\" [home]=\"{ icon: 'pi pi-home', routerLink: '/' }\" />\n }\n </div>\n\n <div class=\"layout-topbar-end\">\n <div class=\"layout-config-menu\">\n @for (item of items(); track $index) {\n @switch (item.type) {\n @case ('darkmode') {\n <helix-dark-mode-action />\n }\n @case ('configurator') {\n <helix-configurator-action />\n }\n @case ('alert') {\n <helix-alert-action [count]=\"item.badgeCount ?? 0\" [alerts]=\"item.alerts\" />\n }\n @case ('action') {\n <button type=\"button\" class=\"layout-topbar-action\" (click)=\"item.command?.()\">\n <i [class]=\"item.icon ?? ''\"></i>\n </button>\n }\n }\n }\n </div>\n\n <button\n class=\"layout-topbar-menu-button layout-topbar-action\"\n
|
|
2439
|
+
template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-start\">\n <button\n type=\"button\"\n class=\"layout-menu-button layout-topbar-action\"\n [class.layout-menu-button-mobile-only]=\"store.isStatic()\"\n aria-label=\"Toggle navigation\"\n (click)=\"store.onMenuToggle()\"\n >\n <i class=\"pi pi-bars\"></i>\n </button>\n @if (showBreadcrumbs()) {\n <hx-breadcrumb [model]=\"effectiveBreadcrumbs()\" [home]=\"{ icon: 'pi pi-home', routerLink: '/' }\" />\n }\n </div>\n\n <div class=\"layout-topbar-end\">\n <div class=\"layout-config-menu\">\n @for (item of items(); track $index) {\n @switch (item.type) {\n @case ('darkmode') {\n <helix-dark-mode-action />\n }\n @case ('configurator') {\n <helix-configurator-action />\n }\n @case ('alert') {\n <helix-alert-action [count]=\"item.badgeCount ?? 0\" [alerts]=\"item.alerts\" />\n }\n @case ('action') {\n <button type=\"button\" class=\"layout-topbar-action\" (click)=\"item.command?.()\">\n <i [class]=\"item.icon ?? ''\"></i>\n </button>\n }\n }\n }\n </div>\n\n <button\n type=\"button\"\n class=\"layout-topbar-menu-button layout-topbar-action\"\n [attr.aria-label]=\"menuLabel()\"\n helixDisclosure\n helixDisclosureAnimate\n >\n <i class=\"pi pi-ellipsis-v\"></i>\n </button>\n\n <div class=\"layout-topbar-menu hidden lg:block\">\n <div class=\"layout-topbar-menu-content\">\n @for (action of topbarActions(); track action.icon) {\n <button type=\"button\" class=\"layout-topbar-action\" (click)=\"action.command?.()\">\n <i [class]=\"action.icon\"></i>\n <span>{{ action.label }}</span>\n </button>\n }\n <ng-content select=\"[helixTopbarEnd]\" />\n </div>\n </div>\n </div>\n</div>\n",
|
|
2324
2440
|
styles: [".layout-topbar{position:fixed;height:var(--helix-topbar-height, 4rem);z-index:997;left:0;top:0;width:100%;padding:0 2rem;background-color:var(--helix-surface-chrome);border-bottom:1px solid var(--helix-border);transition:left var(--layout-section-transition-duration),width var(--layout-section-transition-duration);display:flex;align-items:center;gap:.75rem}.layout-topbar .layout-topbar-start{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.layout-topbar .layout-topbar-end{display:flex;align-items:center;gap:1rem;flex-shrink:0}.layout-topbar ::ng-deep .h-breadcrumb{background:inherit;color:inherit}.layout-topbar .layout-topbar-action{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;width:2.5rem;height:2.5rem;color:var(--text-color);transition:background-color var(--element-transition-duration);cursor:pointer}.layout-topbar .layout-topbar-action:hover{background-color:var(--helix-surface-hover)}.layout-topbar .layout-topbar-action:focus-visible{outline-width:var(--focus-ring-width);outline-style:var(--focus-ring-style);outline-color:var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring-shadow);transition:box-shadow var(--transition-duration),outline-color var(--transition-duration)}.layout-topbar .layout-topbar-action i{font-size:1.25rem}.layout-topbar .layout-topbar-action span{font-size:1rem;display:none}.layout-topbar .layout-topbar-action.layout-topbar-action-highlight{background-color:var(--primary-color);color:var(--primary-contrast-color)}.layout-topbar .layout-menu-button{flex-shrink:0;margin-left:-.5rem}@media(min-width:992px){.layout-topbar .layout-menu-button-mobile-only{display:none}}.layout-topbar .layout-topbar-menu-button{display:none}.layout-topbar .layout-topbar-menu-content,.layout-topbar .layout-config-menu{display:flex;gap:1rem}@media(max-width:991px){.layout-topbar{padding:0 1rem}.layout-topbar .layout-menu-button{margin-left:0}.layout-topbar .layout-topbar-menu-button{display:inline-flex}.layout-topbar .layout-topbar-menu{position:absolute;background-color:var(--helix-surface-overlay);transform-origin:top;box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014;border-radius:var(--content-border-radius);padding:1rem;right:1rem;top:var(--helix-topbar-height, 4rem);min-width:15rem;border:1px solid var(--helix-border)}.layout-topbar .layout-topbar-menu .layout-topbar-menu-content{gap:.5rem}.layout-topbar .layout-topbar-menu .layout-topbar-action{display:flex;width:100%;height:auto;justify-content:flex-start;border-radius:var(--content-border-radius);padding:.5rem 1rem}.layout-topbar .layout-topbar-menu .layout-topbar-action i{font-size:1rem;margin-right:.5rem}.layout-topbar .layout-topbar-menu .layout-topbar-action span{font-weight:medium;display:block}.layout-topbar .layout-topbar-menu-content{flex-direction:column}}.config-panel .config-panel-label{font-size:.875rem;color:var(--text-secondary-color);font-weight:600;line-height:1}.config-panel .config-panel-colors>div{padding-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.config-panel .config-panel-colors>div button{border:none;width:1.25rem;height:1.25rem;border-radius:50%;padding:0;cursor:pointer;outline-color:transparent;outline-width:2px;outline-style:solid;outline-offset:1px}.config-panel .config-panel-colors>div button.active-color{outline-color:var(--primary-color)}.config-panel .config-panel-settings{display:flex;flex-direction:column;gap:.5rem}\n"],
|
|
2325
2441
|
dependencies: [
|
|
2326
2442
|
{
|
|
@@ -2331,29 +2447,6 @@ var HelixTopbar = class HelixTopbar {
|
|
|
2331
2447
|
kind: "ngmodule",
|
|
2332
2448
|
type: CommonModule
|
|
2333
2449
|
},
|
|
2334
|
-
{
|
|
2335
|
-
kind: "ngmodule",
|
|
2336
|
-
type: StyleClassModule
|
|
2337
|
-
},
|
|
2338
|
-
{
|
|
2339
|
-
kind: "directive",
|
|
2340
|
-
type: i1.StyleClass,
|
|
2341
|
-
selector: "[hStyleClass]",
|
|
2342
|
-
inputs: [
|
|
2343
|
-
"hStyleClass",
|
|
2344
|
-
"enterFromClass",
|
|
2345
|
-
"enterActiveClass",
|
|
2346
|
-
"enterToClass",
|
|
2347
|
-
"leaveFromClass",
|
|
2348
|
-
"leaveActiveClass",
|
|
2349
|
-
"leaveToClass",
|
|
2350
|
-
"hideOnOutsideClick",
|
|
2351
|
-
"toggleClass",
|
|
2352
|
-
"hideOnEscape",
|
|
2353
|
-
"hideOnResize",
|
|
2354
|
-
"resizeSelector"
|
|
2355
|
-
]
|
|
2356
|
-
},
|
|
2357
2450
|
{
|
|
2358
2451
|
kind: "component",
|
|
2359
2452
|
type: HelixAlertAction,
|
|
@@ -2363,13 +2456,20 @@ var HelixTopbar = class HelixTopbar {
|
|
|
2363
2456
|
{
|
|
2364
2457
|
kind: "component",
|
|
2365
2458
|
type: HelixConfiguratorAction,
|
|
2366
|
-
selector: "helix-configurator-action"
|
|
2459
|
+
selector: "helix-configurator-action",
|
|
2460
|
+
inputs: ["label"]
|
|
2367
2461
|
},
|
|
2368
2462
|
{
|
|
2369
2463
|
kind: "component",
|
|
2370
2464
|
type: HelixDarkModeAction,
|
|
2371
2465
|
selector: "helix-dark-mode-action"
|
|
2372
2466
|
},
|
|
2467
|
+
{
|
|
2468
|
+
kind: "directive",
|
|
2469
|
+
type: HelixDisclosure,
|
|
2470
|
+
selector: "[helixDisclosure]",
|
|
2471
|
+
inputs: ["helixDisclosureAnimate"]
|
|
2472
|
+
},
|
|
2373
2473
|
{
|
|
2374
2474
|
kind: "component",
|
|
2375
2475
|
type: HxBreadcrumb,
|
|
@@ -2397,14 +2497,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2397
2497
|
imports: [
|
|
2398
2498
|
RouterModule,
|
|
2399
2499
|
CommonModule,
|
|
2400
|
-
StyleClassModule,
|
|
2401
2500
|
HelixAlertAction,
|
|
2402
2501
|
HelixConfiguratorAction,
|
|
2403
2502
|
HelixDarkModeAction,
|
|
2503
|
+
HelixDisclosure,
|
|
2404
2504
|
HxBreadcrumb
|
|
2405
2505
|
],
|
|
2406
2506
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
2407
|
-
template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-start\">\n <button\n type=\"button\"\n class=\"layout-menu-button layout-topbar-action\"\n [class.layout-menu-button-mobile-only]=\"store.isStatic()\"\n aria-label=\"Toggle navigation\"\n (click)=\"store.onMenuToggle()\"\n >\n <i class=\"pi pi-bars\"></i>\n </button>\n @if (showBreadcrumbs()) {\n <hx-breadcrumb [model]=\"effectiveBreadcrumbs()\" [home]=\"{ icon: 'pi pi-home', routerLink: '/' }\" />\n }\n </div>\n\n <div class=\"layout-topbar-end\">\n <div class=\"layout-config-menu\">\n @for (item of items(); track $index) {\n @switch (item.type) {\n @case ('darkmode') {\n <helix-dark-mode-action />\n }\n @case ('configurator') {\n <helix-configurator-action />\n }\n @case ('alert') {\n <helix-alert-action [count]=\"item.badgeCount ?? 0\" [alerts]=\"item.alerts\" />\n }\n @case ('action') {\n <button type=\"button\" class=\"layout-topbar-action\" (click)=\"item.command?.()\">\n <i [class]=\"item.icon ?? ''\"></i>\n </button>\n }\n }\n }\n </div>\n\n <button\n class=\"layout-topbar-menu-button layout-topbar-action\"\n
|
|
2507
|
+
template: "<div class=\"layout-topbar\">\n <div class=\"layout-topbar-start\">\n <button\n type=\"button\"\n class=\"layout-menu-button layout-topbar-action\"\n [class.layout-menu-button-mobile-only]=\"store.isStatic()\"\n aria-label=\"Toggle navigation\"\n (click)=\"store.onMenuToggle()\"\n >\n <i class=\"pi pi-bars\"></i>\n </button>\n @if (showBreadcrumbs()) {\n <hx-breadcrumb [model]=\"effectiveBreadcrumbs()\" [home]=\"{ icon: 'pi pi-home', routerLink: '/' }\" />\n }\n </div>\n\n <div class=\"layout-topbar-end\">\n <div class=\"layout-config-menu\">\n @for (item of items(); track $index) {\n @switch (item.type) {\n @case ('darkmode') {\n <helix-dark-mode-action />\n }\n @case ('configurator') {\n <helix-configurator-action />\n }\n @case ('alert') {\n <helix-alert-action [count]=\"item.badgeCount ?? 0\" [alerts]=\"item.alerts\" />\n }\n @case ('action') {\n <button type=\"button\" class=\"layout-topbar-action\" (click)=\"item.command?.()\">\n <i [class]=\"item.icon ?? ''\"></i>\n </button>\n }\n }\n }\n </div>\n\n <button\n type=\"button\"\n class=\"layout-topbar-menu-button layout-topbar-action\"\n [attr.aria-label]=\"menuLabel()\"\n helixDisclosure\n helixDisclosureAnimate\n >\n <i class=\"pi pi-ellipsis-v\"></i>\n </button>\n\n <div class=\"layout-topbar-menu hidden lg:block\">\n <div class=\"layout-topbar-menu-content\">\n @for (action of topbarActions(); track action.icon) {\n <button type=\"button\" class=\"layout-topbar-action\" (click)=\"action.command?.()\">\n <i [class]=\"action.icon\"></i>\n <span>{{ action.label }}</span>\n </button>\n }\n <ng-content select=\"[helixTopbarEnd]\" />\n </div>\n </div>\n </div>\n</div>\n",
|
|
2408
2508
|
styles: [".layout-topbar{position:fixed;height:var(--helix-topbar-height, 4rem);z-index:997;left:0;top:0;width:100%;padding:0 2rem;background-color:var(--helix-surface-chrome);border-bottom:1px solid var(--helix-border);transition:left var(--layout-section-transition-duration),width var(--layout-section-transition-duration);display:flex;align-items:center;gap:.75rem}.layout-topbar .layout-topbar-start{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.layout-topbar .layout-topbar-end{display:flex;align-items:center;gap:1rem;flex-shrink:0}.layout-topbar ::ng-deep .h-breadcrumb{background:inherit;color:inherit}.layout-topbar .layout-topbar-action{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;width:2.5rem;height:2.5rem;color:var(--text-color);transition:background-color var(--element-transition-duration);cursor:pointer}.layout-topbar .layout-topbar-action:hover{background-color:var(--helix-surface-hover)}.layout-topbar .layout-topbar-action:focus-visible{outline-width:var(--focus-ring-width);outline-style:var(--focus-ring-style);outline-color:var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:var(--focus-ring-shadow);transition:box-shadow var(--transition-duration),outline-color var(--transition-duration)}.layout-topbar .layout-topbar-action i{font-size:1.25rem}.layout-topbar .layout-topbar-action span{font-size:1rem;display:none}.layout-topbar .layout-topbar-action.layout-topbar-action-highlight{background-color:var(--primary-color);color:var(--primary-contrast-color)}.layout-topbar .layout-menu-button{flex-shrink:0;margin-left:-.5rem}@media(min-width:992px){.layout-topbar .layout-menu-button-mobile-only{display:none}}.layout-topbar .layout-topbar-menu-button{display:none}.layout-topbar .layout-topbar-menu-content,.layout-topbar .layout-config-menu{display:flex;gap:1rem}@media(max-width:991px){.layout-topbar{padding:0 1rem}.layout-topbar .layout-menu-button{margin-left:0}.layout-topbar .layout-topbar-menu-button{display:inline-flex}.layout-topbar .layout-topbar-menu{position:absolute;background-color:var(--helix-surface-overlay);transform-origin:top;box-shadow:0 3px 5px #00000005,0 0 2px #0000000d,0 1px 4px #00000014;border-radius:var(--content-border-radius);padding:1rem;right:1rem;top:var(--helix-topbar-height, 4rem);min-width:15rem;border:1px solid var(--helix-border)}.layout-topbar .layout-topbar-menu .layout-topbar-menu-content{gap:.5rem}.layout-topbar .layout-topbar-menu .layout-topbar-action{display:flex;width:100%;height:auto;justify-content:flex-start;border-radius:var(--content-border-radius);padding:.5rem 1rem}.layout-topbar .layout-topbar-menu .layout-topbar-action i{font-size:1rem;margin-right:.5rem}.layout-topbar .layout-topbar-menu .layout-topbar-action span{font-weight:medium;display:block}.layout-topbar .layout-topbar-menu-content{flex-direction:column}}.config-panel .config-panel-label{font-size:.875rem;color:var(--text-secondary-color);font-weight:600;line-height:1}.config-panel .config-panel-colors>div{padding-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.config-panel .config-panel-colors>div button{border:none;width:1.25rem;height:1.25rem;border-radius:50%;padding:0;cursor:pointer;outline-color:transparent;outline-width:2px;outline-style:solid;outline-offset:1px}.config-panel .config-panel-colors>div button.active-color{outline-color:var(--primary-color)}.config-panel .config-panel-settings{display:flex;flex-direction:column;gap:.5rem}\n"]
|
|
2409
2509
|
}]
|
|
2410
2510
|
}],
|
|
@@ -2433,6 +2533,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2433
2533
|
required: false
|
|
2434
2534
|
}]
|
|
2435
2535
|
}],
|
|
2536
|
+
menuLabel: [{
|
|
2537
|
+
type: i0.Input,
|
|
2538
|
+
args: [{
|
|
2539
|
+
isSignal: true,
|
|
2540
|
+
alias: "menuLabel",
|
|
2541
|
+
required: false
|
|
2542
|
+
}]
|
|
2543
|
+
}],
|
|
2436
2544
|
items: [{
|
|
2437
2545
|
type: i0.Input,
|
|
2438
2546
|
args: [{
|
|
@@ -2625,7 +2733,7 @@ var HelixAppLayout = class HelixAppLayout {
|
|
|
2625
2733
|
},
|
|
2626
2734
|
{
|
|
2627
2735
|
kind: "directive",
|
|
2628
|
-
type: i1
|
|
2736
|
+
type: i1.NgClass,
|
|
2629
2737
|
selector: "[ngClass]",
|
|
2630
2738
|
inputs: ["class", "ngClass"]
|
|
2631
2739
|
},
|
|
@@ -2637,6 +2745,7 @@ var HelixAppLayout = class HelixAppLayout {
|
|
|
2637
2745
|
"appTitle",
|
|
2638
2746
|
"topbarActions",
|
|
2639
2747
|
"breadcrumbs",
|
|
2748
|
+
"menuLabel",
|
|
2640
2749
|
"items"
|
|
2641
2750
|
]
|
|
2642
2751
|
},
|
|
@@ -2863,7 +2972,7 @@ var HelixFloatingConfigurator = class HelixFloatingConfigurator {
|
|
|
2863
2972
|
}
|
|
2864
2973
|
},
|
|
2865
2974
|
ngImport: i0,
|
|
2866
|
-
template: "<div class=\"flex gap-4 top-8 right-8\" [ngClass]=\"{ fixed: float() }\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n severity=\"secondary\"\n [attr.aria-label]=\"darkModeLabel()\"\n (click)=\"toggleDarkMode()\"\n >\n <span [class]=\"isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'\" aria-hidden=\"true\"></span>\n </button>\n <div class=\"relative\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n [attr.aria-label]=\"configuratorLabel()\"\n
|
|
2975
|
+
template: "<div class=\"flex gap-4 top-8 right-8\" [ngClass]=\"{ fixed: float() }\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n severity=\"secondary\"\n [attr.aria-label]=\"darkModeLabel()\"\n (click)=\"toggleDarkMode()\"\n >\n <span [class]=\"isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'\" aria-hidden=\"true\"></span>\n </button>\n <div class=\"relative\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n [attr.aria-label]=\"configuratorLabel()\"\n helixDisclosure\n helixDisclosureAnimate\n >\n <span class=\"pi pi-palette\" aria-hidden=\"true\"></span>\n </button>\n <helix-configurator />\n </div>\n</div>\n",
|
|
2867
2976
|
styles: [""],
|
|
2868
2977
|
dependencies: [
|
|
2869
2978
|
{
|
|
@@ -2872,7 +2981,7 @@ var HelixFloatingConfigurator = class HelixFloatingConfigurator {
|
|
|
2872
2981
|
},
|
|
2873
2982
|
{
|
|
2874
2983
|
kind: "directive",
|
|
2875
|
-
type: i1
|
|
2984
|
+
type: i1.NgClass,
|
|
2876
2985
|
selector: "[ngClass]",
|
|
2877
2986
|
inputs: ["class", "ngClass"]
|
|
2878
2987
|
},
|
|
@@ -2892,28 +3001,11 @@ var HelixFloatingConfigurator = class HelixFloatingConfigurator {
|
|
|
2892
3001
|
],
|
|
2893
3002
|
exportAs: ["hx-button"]
|
|
2894
3003
|
},
|
|
2895
|
-
{
|
|
2896
|
-
kind: "ngmodule",
|
|
2897
|
-
type: StyleClassModule
|
|
2898
|
-
},
|
|
2899
3004
|
{
|
|
2900
3005
|
kind: "directive",
|
|
2901
|
-
type:
|
|
2902
|
-
selector: "[
|
|
2903
|
-
inputs: [
|
|
2904
|
-
"hStyleClass",
|
|
2905
|
-
"enterFromClass",
|
|
2906
|
-
"enterActiveClass",
|
|
2907
|
-
"enterToClass",
|
|
2908
|
-
"leaveFromClass",
|
|
2909
|
-
"leaveActiveClass",
|
|
2910
|
-
"leaveToClass",
|
|
2911
|
-
"hideOnOutsideClick",
|
|
2912
|
-
"toggleClass",
|
|
2913
|
-
"hideOnEscape",
|
|
2914
|
-
"hideOnResize",
|
|
2915
|
-
"resizeSelector"
|
|
2916
|
-
]
|
|
3006
|
+
type: HelixDisclosure,
|
|
3007
|
+
selector: "[helixDisclosure]",
|
|
3008
|
+
inputs: ["helixDisclosureAnimate"]
|
|
2917
3009
|
},
|
|
2918
3010
|
{
|
|
2919
3011
|
kind: "component",
|
|
@@ -2937,11 +3029,11 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
2937
3029
|
imports: [
|
|
2938
3030
|
CommonModule,
|
|
2939
3031
|
HxButton,
|
|
2940
|
-
|
|
3032
|
+
HelixDisclosure,
|
|
2941
3033
|
HelixConfigurator
|
|
2942
3034
|
],
|
|
2943
3035
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
2944
|
-
template: "<div class=\"flex gap-4 top-8 right-8\" [ngClass]=\"{ fixed: float() }\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n severity=\"secondary\"\n [attr.aria-label]=\"darkModeLabel()\"\n (click)=\"toggleDarkMode()\"\n >\n <span [class]=\"isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'\" aria-hidden=\"true\"></span>\n </button>\n <div class=\"relative\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n [attr.aria-label]=\"configuratorLabel()\"\n
|
|
3036
|
+
template: "<div class=\"flex gap-4 top-8 right-8\" [ngClass]=\"{ fixed: float() }\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n severity=\"secondary\"\n [attr.aria-label]=\"darkModeLabel()\"\n (click)=\"toggleDarkMode()\"\n >\n <span [class]=\"isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'\" aria-hidden=\"true\"></span>\n </button>\n <div class=\"relative\">\n <button\n hx-button\n type=\"button\"\n iconOnly\n rounded\n [attr.aria-label]=\"configuratorLabel()\"\n helixDisclosure\n helixDisclosureAnimate\n >\n <span class=\"pi pi-palette\" aria-hidden=\"true\"></span>\n </button>\n <helix-configurator />\n </div>\n</div>\n"
|
|
2945
3037
|
}]
|
|
2946
3038
|
}],
|
|
2947
3039
|
propDecorators: {
|
|
@@ -3092,6 +3184,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3092
3184
|
}
|
|
3093
3185
|
});
|
|
3094
3186
|
var HelixMobileMenuAction = class HelixMobileMenuAction {
|
|
3187
|
+
label = input("More actions", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
3095
3188
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
3096
3189
|
minVersion: "12.0.0",
|
|
3097
3190
|
version: "22.2.1",
|
|
@@ -3101,47 +3194,36 @@ var HelixMobileMenuAction = class HelixMobileMenuAction {
|
|
|
3101
3194
|
target: i0.ɵɵFactoryTarget.Component
|
|
3102
3195
|
});
|
|
3103
3196
|
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
3104
|
-
minVersion: "
|
|
3197
|
+
minVersion: "17.1.0",
|
|
3105
3198
|
version: "22.2.1",
|
|
3106
3199
|
type: HelixMobileMenuAction,
|
|
3107
3200
|
isStandalone: true,
|
|
3108
3201
|
selector: "helix-mobile-menu-action",
|
|
3202
|
+
inputs: { label: {
|
|
3203
|
+
classPropertyName: "label",
|
|
3204
|
+
publicName: "label",
|
|
3205
|
+
isSignal: true,
|
|
3206
|
+
isRequired: false,
|
|
3207
|
+
transformFunction: null
|
|
3208
|
+
} },
|
|
3109
3209
|
ngImport: i0,
|
|
3110
3210
|
template: `
|
|
3111
3211
|
<button
|
|
3212
|
+
type="button"
|
|
3112
3213
|
class="layout-topbar-menu-button layout-topbar-action"
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
leaveToClass="hidden"
|
|
3117
|
-
leaveActiveClass="animate-fadeout"
|
|
3118
|
-
[hideOnOutsideClick]="true"
|
|
3214
|
+
[attr.aria-label]="label()"
|
|
3215
|
+
helixDisclosure
|
|
3216
|
+
helixDisclosureAnimate
|
|
3119
3217
|
>
|
|
3120
3218
|
<i class="pi pi-ellipsis-v"></i>
|
|
3121
3219
|
</button>
|
|
3122
3220
|
`,
|
|
3123
3221
|
isInline: true,
|
|
3124
3222
|
dependencies: [{
|
|
3125
|
-
kind: "ngmodule",
|
|
3126
|
-
type: StyleClassModule
|
|
3127
|
-
}, {
|
|
3128
3223
|
kind: "directive",
|
|
3129
|
-
type:
|
|
3130
|
-
selector: "[
|
|
3131
|
-
inputs: [
|
|
3132
|
-
"hStyleClass",
|
|
3133
|
-
"enterFromClass",
|
|
3134
|
-
"enterActiveClass",
|
|
3135
|
-
"enterToClass",
|
|
3136
|
-
"leaveFromClass",
|
|
3137
|
-
"leaveActiveClass",
|
|
3138
|
-
"leaveToClass",
|
|
3139
|
-
"hideOnOutsideClick",
|
|
3140
|
-
"toggleClass",
|
|
3141
|
-
"hideOnEscape",
|
|
3142
|
-
"hideOnResize",
|
|
3143
|
-
"resizeSelector"
|
|
3144
|
-
]
|
|
3224
|
+
type: HelixDisclosure,
|
|
3225
|
+
selector: "[helixDisclosure]",
|
|
3226
|
+
inputs: ["helixDisclosureAnimate"]
|
|
3145
3227
|
}],
|
|
3146
3228
|
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
3147
3229
|
});
|
|
@@ -3156,23 +3238,29 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3156
3238
|
args: [{
|
|
3157
3239
|
selector: "helix-mobile-menu-action",
|
|
3158
3240
|
standalone: true,
|
|
3159
|
-
imports: [
|
|
3241
|
+
imports: [HelixDisclosure],
|
|
3160
3242
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
3161
3243
|
template: `
|
|
3162
3244
|
<button
|
|
3245
|
+
type="button"
|
|
3163
3246
|
class="layout-topbar-menu-button layout-topbar-action"
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
leaveToClass="hidden"
|
|
3168
|
-
leaveActiveClass="animate-fadeout"
|
|
3169
|
-
[hideOnOutsideClick]="true"
|
|
3247
|
+
[attr.aria-label]="label()"
|
|
3248
|
+
helixDisclosure
|
|
3249
|
+
helixDisclosureAnimate
|
|
3170
3250
|
>
|
|
3171
3251
|
<i class="pi pi-ellipsis-v"></i>
|
|
3172
3252
|
</button>
|
|
3173
3253
|
`
|
|
3174
3254
|
}]
|
|
3175
|
-
}]
|
|
3255
|
+
}],
|
|
3256
|
+
propDecorators: { label: [{
|
|
3257
|
+
type: i0.Input,
|
|
3258
|
+
args: [{
|
|
3259
|
+
isSignal: true,
|
|
3260
|
+
alias: "label",
|
|
3261
|
+
required: false
|
|
3262
|
+
}]
|
|
3263
|
+
}] }
|
|
3176
3264
|
});
|
|
3177
3265
|
function helixMenuLinksFrom(items, basePath) {
|
|
3178
3266
|
return items.map((item) => {
|
|
@@ -3306,10 +3394,6 @@ var HelixAccess = class HelixAccess {
|
|
|
3306
3394
|
"routerLink"
|
|
3307
3395
|
]
|
|
3308
3396
|
},
|
|
3309
|
-
{
|
|
3310
|
-
kind: "ngmodule",
|
|
3311
|
-
type: RippleModule
|
|
3312
|
-
},
|
|
3313
3397
|
{
|
|
3314
3398
|
kind: "component",
|
|
3315
3399
|
type: HelixFloatingConfigurator,
|
|
@@ -3337,7 +3421,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3337
3421
|
imports: [
|
|
3338
3422
|
HxButton,
|
|
3339
3423
|
RouterModule,
|
|
3340
|
-
RippleModule,
|
|
3341
3424
|
HelixFloatingConfigurator
|
|
3342
3425
|
],
|
|
3343
3426
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
@@ -3448,10 +3531,6 @@ var HelixError = class HelixError {
|
|
|
3448
3531
|
],
|
|
3449
3532
|
exportAs: ["hx-button"]
|
|
3450
3533
|
},
|
|
3451
|
-
{
|
|
3452
|
-
kind: "ngmodule",
|
|
3453
|
-
type: RippleModule
|
|
3454
|
-
},
|
|
3455
3534
|
{
|
|
3456
3535
|
kind: "ngmodule",
|
|
3457
3536
|
type: RouterModule
|
|
@@ -3501,7 +3580,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3501
3580
|
standalone: true,
|
|
3502
3581
|
imports: [
|
|
3503
3582
|
HxButton,
|
|
3504
|
-
RippleModule,
|
|
3505
3583
|
RouterModule,
|
|
3506
3584
|
HelixFloatingConfigurator
|
|
3507
3585
|
],
|
|
@@ -3678,22 +3756,22 @@ var HelixLogin = class HelixLogin {
|
|
|
3678
3756
|
},
|
|
3679
3757
|
{
|
|
3680
3758
|
kind: "directive",
|
|
3681
|
-
type: i1$
|
|
3759
|
+
type: i1$1.DefaultValueAccessor,
|
|
3682
3760
|
selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]"
|
|
3683
3761
|
},
|
|
3684
3762
|
{
|
|
3685
3763
|
kind: "directive",
|
|
3686
|
-
type: i1$
|
|
3764
|
+
type: i1$1.CheckboxControlValueAccessor,
|
|
3687
3765
|
selector: "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]"
|
|
3688
3766
|
},
|
|
3689
3767
|
{
|
|
3690
3768
|
kind: "directive",
|
|
3691
|
-
type: i1$
|
|
3769
|
+
type: i1$1.NgControlStatus,
|
|
3692
3770
|
selector: "[formControlName],[ngModel],[formControl]"
|
|
3693
3771
|
},
|
|
3694
3772
|
{
|
|
3695
3773
|
kind: "directive",
|
|
3696
|
-
type: i1$
|
|
3774
|
+
type: i1$1.NgModel,
|
|
3697
3775
|
selector: "[ngModel]:not([formControlName]):not([formControl])",
|
|
3698
3776
|
inputs: [
|
|
3699
3777
|
"name",
|
|
@@ -3708,10 +3786,6 @@ var HelixLogin = class HelixLogin {
|
|
|
3708
3786
|
kind: "ngmodule",
|
|
3709
3787
|
type: RouterModule
|
|
3710
3788
|
},
|
|
3711
|
-
{
|
|
3712
|
-
kind: "ngmodule",
|
|
3713
|
-
type: RippleModule
|
|
3714
|
-
},
|
|
3715
3789
|
{
|
|
3716
3790
|
kind: "component",
|
|
3717
3791
|
type: HelixFloatingConfigurator,
|
|
@@ -3743,7 +3817,6 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
3743
3817
|
HxPassword,
|
|
3744
3818
|
FormsModule,
|
|
3745
3819
|
RouterModule,
|
|
3746
|
-
RippleModule,
|
|
3747
3820
|
HelixFloatingConfigurator
|
|
3748
3821
|
],
|
|
3749
3822
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
@@ -4017,7 +4090,7 @@ var HelixFeaturesWidget = class HelixFeaturesWidget {
|
|
|
4017
4090
|
type: CommonModule
|
|
4018
4091
|
}, {
|
|
4019
4092
|
kind: "directive",
|
|
4020
|
-
type: i1
|
|
4093
|
+
type: i1.NgClass,
|
|
4021
4094
|
selector: "[ngClass]",
|
|
4022
4095
|
inputs: ["class", "ngClass"]
|
|
4023
4096
|
}],
|
|
@@ -4290,35 +4363,24 @@ var HelixHeroWidget = class HelixHeroWidget {
|
|
|
4290
4363
|
},
|
|
4291
4364
|
outputs: { buttonClick: "buttonClick" },
|
|
4292
4365
|
ngImport: i0,
|
|
4293
|
-
template: "<div\n id=\"hero\"\n class=\"flex flex-col pt-6 px-6 lg:px-20 overflow-hidden\"\n style=\"\n background:\n linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),\n radial-gradient(\n 77.36% 256.97% at 77.36% 57.52%,\n rgb(238, 239, 175) 0%,\n rgb(195, 227, 250) 100%\n );\n clip-path: ellipse(150% 87% at 93% 13%);\n \"\n>\n <div class=\"mx-6 md:mx-20 mt-0 md:mt-6\">\n <h1 class=\"text-6xl font-bold text-gray-900 leading-tight dark:!text-gray-700\">\n <span class=\"font-light block\">{{ headlineLight() }}</span\n >{{ headline() }}\n </h1>\n <p class=\"font-normal text-2xl leading-normal md:mt-4 text-gray-700 dark:text-gray-700\">\n {{ description() }}\n </p>\n <button\n hx-button\n
|
|
4366
|
+
template: "<div\n id=\"hero\"\n class=\"flex flex-col pt-6 px-6 lg:px-20 overflow-hidden\"\n style=\"\n background:\n linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),\n radial-gradient(\n 77.36% 256.97% at 77.36% 57.52%,\n rgb(238, 239, 175) 0%,\n rgb(195, 227, 250) 100%\n );\n clip-path: ellipse(150% 87% at 93% 13%);\n \"\n>\n <div class=\"mx-6 md:mx-20 mt-0 md:mt-6\">\n <h1 class=\"text-6xl font-bold text-gray-900 leading-tight dark:!text-gray-700\">\n <span class=\"font-light block\">{{ headlineLight() }}</span\n >{{ headline() }}\n </h1>\n <p class=\"font-normal text-2xl leading-normal md:mt-4 text-gray-700 dark:text-gray-700\">\n {{ description() }}\n </p>\n <button\n hx-button\n rounded\n type=\"button\"\n class=\"text-xl! mt-8 px-4!\"\n (click)=\"buttonClick.emit()\"\n >\n {{ buttonLabel() }}\n </button>\n </div>\n <div class=\"flex justify-center md:justify-end\">\n <img [src]=\"imageUrl()\" [alt]=\"imageAlt()\" class=\"w-9/12 md:w-auto\" />\n </div>\n</div>\n",
|
|
4294
4367
|
styles: [""],
|
|
4295
|
-
dependencies: [
|
|
4296
|
-
|
|
4297
|
-
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
},
|
|
4312
|
-
{
|
|
4313
|
-
kind: "ngmodule",
|
|
4314
|
-
type: RippleModule
|
|
4315
|
-
},
|
|
4316
|
-
{
|
|
4317
|
-
kind: "directive",
|
|
4318
|
-
type: i3.Ripple,
|
|
4319
|
-
selector: "[hRipple]"
|
|
4320
|
-
}
|
|
4321
|
-
],
|
|
4368
|
+
dependencies: [{
|
|
4369
|
+
kind: "directive",
|
|
4370
|
+
type: HxButton,
|
|
4371
|
+
selector: "button[hx-button], a[hx-button]",
|
|
4372
|
+
inputs: [
|
|
4373
|
+
"variant",
|
|
4374
|
+
"severity",
|
|
4375
|
+
"size",
|
|
4376
|
+
"rounded",
|
|
4377
|
+
"raised",
|
|
4378
|
+
"fluid",
|
|
4379
|
+
"iconOnly",
|
|
4380
|
+
"loading"
|
|
4381
|
+
],
|
|
4382
|
+
exportAs: ["hx-button"]
|
|
4383
|
+
}],
|
|
4322
4384
|
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
4323
4385
|
});
|
|
4324
4386
|
};
|
|
@@ -4332,9 +4394,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4332
4394
|
args: [{
|
|
4333
4395
|
selector: "helix-hero-widget",
|
|
4334
4396
|
standalone: true,
|
|
4335
|
-
imports: [HxButton
|
|
4397
|
+
imports: [HxButton],
|
|
4336
4398
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
4337
|
-
template: "<div\n id=\"hero\"\n class=\"flex flex-col pt-6 px-6 lg:px-20 overflow-hidden\"\n style=\"\n background:\n linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),\n radial-gradient(\n 77.36% 256.97% at 77.36% 57.52%,\n rgb(238, 239, 175) 0%,\n rgb(195, 227, 250) 100%\n );\n clip-path: ellipse(150% 87% at 93% 13%);\n \"\n>\n <div class=\"mx-6 md:mx-20 mt-0 md:mt-6\">\n <h1 class=\"text-6xl font-bold text-gray-900 leading-tight dark:!text-gray-700\">\n <span class=\"font-light block\">{{ headlineLight() }}</span\n >{{ headline() }}\n </h1>\n <p class=\"font-normal text-2xl leading-normal md:mt-4 text-gray-700 dark:text-gray-700\">\n {{ description() }}\n </p>\n <button\n hx-button\n
|
|
4399
|
+
template: "<div\n id=\"hero\"\n class=\"flex flex-col pt-6 px-6 lg:px-20 overflow-hidden\"\n style=\"\n background:\n linear-gradient(0deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),\n radial-gradient(\n 77.36% 256.97% at 77.36% 57.52%,\n rgb(238, 239, 175) 0%,\n rgb(195, 227, 250) 100%\n );\n clip-path: ellipse(150% 87% at 93% 13%);\n \"\n>\n <div class=\"mx-6 md:mx-20 mt-0 md:mt-6\">\n <h1 class=\"text-6xl font-bold text-gray-900 leading-tight dark:!text-gray-700\">\n <span class=\"font-light block\">{{ headlineLight() }}</span\n >{{ headline() }}\n </h1>\n <p class=\"font-normal text-2xl leading-normal md:mt-4 text-gray-700 dark:text-gray-700\">\n {{ description() }}\n </p>\n <button\n hx-button\n rounded\n type=\"button\"\n class=\"text-xl! mt-8 px-4!\"\n (click)=\"buttonClick.emit()\"\n >\n {{ buttonLabel() }}\n </button>\n </div>\n <div class=\"flex justify-center md:justify-end\">\n <img [src]=\"imageUrl()\" [alt]=\"imageAlt()\" class=\"w-9/12 md:w-auto\" />\n </div>\n</div>\n"
|
|
4338
4400
|
}]
|
|
4339
4401
|
}],
|
|
4340
4402
|
propDecorators: {
|
|
@@ -4596,45 +4658,33 @@ var HelixPricingWidget = class HelixPricingWidget {
|
|
|
4596
4658
|
},
|
|
4597
4659
|
outputs: { planSelect: "planSelect" },
|
|
4598
4660
|
ngImport: i0,
|
|
4599
|
-
template: "<div id=\"pricing\" class=\"py-6 px-6 lg:px-20 my-2 md:my-6\">\n <div class=\"text-center mb-6\">\n <div class=\"text-surface-900 dark:text-surface-0 font-normal mb-2 text-4xl\">\n {{ sectionTitle() }}\n </div>\n <span class=\"text-muted-color text-2xl\">{{ sectionSubtitle() }}</span>\n </div>\n\n <div class=\"grid grid-cols-12 gap-4 justify-between mt-20 md:mt-0\">\n @for (plan of plans(); track plan.title) {\n <div class=\"col-span-12 lg:col-span-4 p-0 md:p-4 mt-6 md:mt-0\">\n <div\n class=\"p-4 flex flex-col border-surface-200 dark:border-surface-600 pricing-card cursor-pointer border-2 hover:border-primary duration-300 transition-all\"\n style=\"border-radius: 10px\"\n (click)=\"planSelect.emit(plan)\"\n >\n <div class=\"text-surface-900 dark:text-surface-0 text-center my-8 text-3xl\">\n {{ plan.title }}\n </div>\n <img [src]=\"plan.imageUrl\" class=\"w-10/12 mx-auto\" [alt]=\"plan.imageAlt\" />\n <div class=\"my-8 flex flex-col items-center gap-4\">\n <div class=\"flex items-center\">\n <span class=\"text-5xl font-bold mr-2 text-surface-900 dark:text-surface-0\">{{\n plan.price\n }}</span>\n <span class=\"text-surface-600 dark:text-surface-200\">{{ plan.pricePeriod }}</span>\n </div>\n <button\n hx-button\n
|
|
4661
|
+
template: "<div id=\"pricing\" class=\"py-6 px-6 lg:px-20 my-2 md:my-6\">\n <div class=\"text-center mb-6\">\n <div class=\"text-surface-900 dark:text-surface-0 font-normal mb-2 text-4xl\">\n {{ sectionTitle() }}\n </div>\n <span class=\"text-muted-color text-2xl\">{{ sectionSubtitle() }}</span>\n </div>\n\n <div class=\"grid grid-cols-12 gap-4 justify-between mt-20 md:mt-0\">\n @for (plan of plans(); track plan.title) {\n <div class=\"col-span-12 lg:col-span-4 p-0 md:p-4 mt-6 md:mt-0\">\n <div\n class=\"p-4 flex flex-col border-surface-200 dark:border-surface-600 pricing-card cursor-pointer border-2 hover:border-primary duration-300 transition-all\"\n style=\"border-radius: 10px\"\n (click)=\"planSelect.emit(plan)\"\n >\n <div class=\"text-surface-900 dark:text-surface-0 text-center my-8 text-3xl\">\n {{ plan.title }}\n </div>\n <img [src]=\"plan.imageUrl\" class=\"w-10/12 mx-auto\" [alt]=\"plan.imageAlt\" />\n <div class=\"my-8 flex flex-col items-center gap-4\">\n <div class=\"flex items-center\">\n <span class=\"text-5xl font-bold mr-2 text-surface-900 dark:text-surface-0\">{{\n plan.price\n }}</span>\n <span class=\"text-surface-600 dark:text-surface-200\">{{ plan.pricePeriod }}</span>\n </div>\n <button\n hx-button\n rounded\n type=\"button\"\n class=\"border-0 ml-4 font-light leading-tight bg-blue-500 text-white\"\n (click)=\"planSelect.emit(plan); $event.stopPropagation()\"\n >\n {{ plan.buttonLabel }}\n </button>\n </div>\n <hx-divider class=\"w-full\" />\n <ul class=\"my-8 list-none p-0 flex text-surface-900 dark:text-surface-0 flex-col px-8\">\n @for (feature of plan.features; track feature) {\n <li class=\"py-2\">\n <i class=\"pi pi-fw pi-check text-xl text-cyan-500 mr-2\"></i>\n <span class=\"text-xl leading-normal\">{{ feature }}</span>\n </li>\n }\n </ul>\n </div>\n </div>\n }\n </div>\n</div>\n",
|
|
4600
4662
|
styles: [""],
|
|
4601
|
-
dependencies: [
|
|
4602
|
-
|
|
4603
|
-
|
|
4604
|
-
|
|
4605
|
-
|
|
4606
|
-
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
|
|
4610
|
-
|
|
4611
|
-
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
|
|
4617
|
-
|
|
4618
|
-
|
|
4619
|
-
|
|
4620
|
-
|
|
4621
|
-
|
|
4622
|
-
|
|
4623
|
-
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
exportAs: ["hx-button"]
|
|
4627
|
-
},
|
|
4628
|
-
{
|
|
4629
|
-
kind: "ngmodule",
|
|
4630
|
-
type: RippleModule
|
|
4631
|
-
},
|
|
4632
|
-
{
|
|
4633
|
-
kind: "directive",
|
|
4634
|
-
type: i3.Ripple,
|
|
4635
|
-
selector: "[hRipple]"
|
|
4636
|
-
}
|
|
4637
|
-
],
|
|
4663
|
+
dependencies: [{
|
|
4664
|
+
kind: "component",
|
|
4665
|
+
type: HxDivider,
|
|
4666
|
+
selector: "hx-divider",
|
|
4667
|
+
inputs: [
|
|
4668
|
+
"layout",
|
|
4669
|
+
"type",
|
|
4670
|
+
"align"
|
|
4671
|
+
]
|
|
4672
|
+
}, {
|
|
4673
|
+
kind: "directive",
|
|
4674
|
+
type: HxButton,
|
|
4675
|
+
selector: "button[hx-button], a[hx-button]",
|
|
4676
|
+
inputs: [
|
|
4677
|
+
"variant",
|
|
4678
|
+
"severity",
|
|
4679
|
+
"size",
|
|
4680
|
+
"rounded",
|
|
4681
|
+
"raised",
|
|
4682
|
+
"fluid",
|
|
4683
|
+
"iconOnly",
|
|
4684
|
+
"loading"
|
|
4685
|
+
],
|
|
4686
|
+
exportAs: ["hx-button"]
|
|
4687
|
+
}],
|
|
4638
4688
|
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
4639
4689
|
});
|
|
4640
4690
|
};
|
|
@@ -4648,13 +4698,9 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4648
4698
|
args: [{
|
|
4649
4699
|
selector: "helix-pricing-widget",
|
|
4650
4700
|
standalone: true,
|
|
4651
|
-
imports: [
|
|
4652
|
-
HxDivider,
|
|
4653
|
-
HxButton,
|
|
4654
|
-
RippleModule
|
|
4655
|
-
],
|
|
4701
|
+
imports: [HxDivider, HxButton],
|
|
4656
4702
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
4657
|
-
template: "<div id=\"pricing\" class=\"py-6 px-6 lg:px-20 my-2 md:my-6\">\n <div class=\"text-center mb-6\">\n <div class=\"text-surface-900 dark:text-surface-0 font-normal mb-2 text-4xl\">\n {{ sectionTitle() }}\n </div>\n <span class=\"text-muted-color text-2xl\">{{ sectionSubtitle() }}</span>\n </div>\n\n <div class=\"grid grid-cols-12 gap-4 justify-between mt-20 md:mt-0\">\n @for (plan of plans(); track plan.title) {\n <div class=\"col-span-12 lg:col-span-4 p-0 md:p-4 mt-6 md:mt-0\">\n <div\n class=\"p-4 flex flex-col border-surface-200 dark:border-surface-600 pricing-card cursor-pointer border-2 hover:border-primary duration-300 transition-all\"\n style=\"border-radius: 10px\"\n (click)=\"planSelect.emit(plan)\"\n >\n <div class=\"text-surface-900 dark:text-surface-0 text-center my-8 text-3xl\">\n {{ plan.title }}\n </div>\n <img [src]=\"plan.imageUrl\" class=\"w-10/12 mx-auto\" [alt]=\"plan.imageAlt\" />\n <div class=\"my-8 flex flex-col items-center gap-4\">\n <div class=\"flex items-center\">\n <span class=\"text-5xl font-bold mr-2 text-surface-900 dark:text-surface-0\">{{\n plan.price\n }}</span>\n <span class=\"text-surface-600 dark:text-surface-200\">{{ plan.pricePeriod }}</span>\n </div>\n <button\n hx-button\n
|
|
4703
|
+
template: "<div id=\"pricing\" class=\"py-6 px-6 lg:px-20 my-2 md:my-6\">\n <div class=\"text-center mb-6\">\n <div class=\"text-surface-900 dark:text-surface-0 font-normal mb-2 text-4xl\">\n {{ sectionTitle() }}\n </div>\n <span class=\"text-muted-color text-2xl\">{{ sectionSubtitle() }}</span>\n </div>\n\n <div class=\"grid grid-cols-12 gap-4 justify-between mt-20 md:mt-0\">\n @for (plan of plans(); track plan.title) {\n <div class=\"col-span-12 lg:col-span-4 p-0 md:p-4 mt-6 md:mt-0\">\n <div\n class=\"p-4 flex flex-col border-surface-200 dark:border-surface-600 pricing-card cursor-pointer border-2 hover:border-primary duration-300 transition-all\"\n style=\"border-radius: 10px\"\n (click)=\"planSelect.emit(plan)\"\n >\n <div class=\"text-surface-900 dark:text-surface-0 text-center my-8 text-3xl\">\n {{ plan.title }}\n </div>\n <img [src]=\"plan.imageUrl\" class=\"w-10/12 mx-auto\" [alt]=\"plan.imageAlt\" />\n <div class=\"my-8 flex flex-col items-center gap-4\">\n <div class=\"flex items-center\">\n <span class=\"text-5xl font-bold mr-2 text-surface-900 dark:text-surface-0\">{{\n plan.price\n }}</span>\n <span class=\"text-surface-600 dark:text-surface-200\">{{ plan.pricePeriod }}</span>\n </div>\n <button\n hx-button\n rounded\n type=\"button\"\n class=\"border-0 ml-4 font-light leading-tight bg-blue-500 text-white\"\n (click)=\"planSelect.emit(plan); $event.stopPropagation()\"\n >\n {{ plan.buttonLabel }}\n </button>\n </div>\n <hx-divider class=\"w-full\" />\n <ul class=\"my-8 list-none p-0 flex text-surface-900 dark:text-surface-0 flex-col px-8\">\n @for (feature of plan.features; track feature) {\n <li class=\"py-2\">\n <i class=\"pi pi-fw pi-check text-xl text-cyan-500 mr-2\"></i>\n <span class=\"text-xl leading-normal\">{{ feature }}</span>\n </li>\n }\n </ul>\n </div>\n </div>\n }\n </div>\n</div>\n"
|
|
4658
4704
|
}]
|
|
4659
4705
|
}],
|
|
4660
4706
|
propDecorators: {
|
|
@@ -4780,7 +4826,7 @@ var HelixTopbarWidget = class HelixTopbarWidget {
|
|
|
4780
4826
|
}
|
|
4781
4827
|
},
|
|
4782
4828
|
ngImport: i0,
|
|
4783
|
-
template: "<a class=\"flex items-center\" href=\"#\">\n <svg viewBox=\"0 0 54 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-12 mr-2\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M17.1637 19.2467C17.1566 19.4033 17.1529 19.561 17.1529 19.7194C17.1529 25.3503 21.7203 29.915 27.3546 29.915C32.9887 29.915 37.5561 25.3503 37.5561 19.7194C37.5561 19.5572 37.5524 19.3959 37.5449 19.2355C38.5617 19.0801 39.5759 18.9013 40.5867 18.6994L40.6926 18.6782C40.7191 19.0218 40.7326 19.369 40.7326 19.7194C40.7326 27.1036 34.743 33.0896 27.3546 33.0896C19.966 33.0896 13.9765 27.1036 13.9765 19.7194C13.9765 19.374 13.9896 19.0316 14.0154 18.6927L14.0486 18.6994C15.0837 18.9062 16.1223 19.0886 17.1637 19.2467ZM33.3284 11.4538C31.6493 10.2396 29.5855 9.52381 27.3546 9.52381C25.1195 9.52381 23.0524 10.2421 21.3717 11.4603C20.0078 11.3232 18.6475 11.1387 17.2933 10.907C19.7453 8.11308 23.3438 6.34921 27.3546 6.34921C31.36 6.34921 34.9543 8.10844 37.4061 10.896C36.0521 11.1292 34.692 11.3152 33.3284 11.4538ZM43.826 18.0518C43.881 18.6003 43.9091 19.1566 43.9091 19.7194C43.9091 28.8568 36.4973 36.2642 27.3546 36.2642C18.2117 36.2642 10.8 28.8568 10.8 19.7194C10.8 19.1615 10.8276 18.61 10.8816 18.0663L7.75383 17.4411C7.66775 18.1886 7.62354 18.9488 7.62354 19.7194C7.62354 30.6102 16.4574 39.4388 27.3546 39.4388C38.2517 39.4388 47.0855 30.6102 47.0855 19.7194C47.0855 18.9439 47.0407 18.1789 46.9536 17.4267L43.826 18.0518ZM44.2613 9.54743L40.9084 10.2176C37.9134 5.95821 32.9593 3.1746 27.3546 3.1746C21.7442 3.1746 16.7856 5.96385 13.7915 10.2305L10.4399 9.56057C13.892 3.83178 20.1756 0 27.3546 0C34.5281 0 40.8075 3.82591 44.2613 9.54743Z\"\n fill=\"var(--primary-color)\"\n />\n <mask\n id=\"mask0_topbar\"\n style=\"mask-type: alpha\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"8\"\n width=\"54\"\n height=\"11\"\n >\n <path\n d=\"M27 18.3652C10.5114 19.1944 0 8.88892 0 8.88892C0 8.88892 16.5176 14.5866 27 14.5866C37.4824 14.5866 54 8.88892 54 8.88892C54 8.88892 43.4886 17.5361 27 18.3652Z\"\n fill=\"var(--primary-color)\"\n />\n </mask>\n <g mask=\"url(#mask0_topbar)\">\n <path\n d=\"M-4.673e-05 8.88887L3.73084 -1.91434L-8.00806 17.0473L-4.673e-05 8.88887ZM27 18.3652L26.4253 6.95109L27 18.3652ZM54 8.88887L61.2673 17.7127L50.2691 -1.91434L54 8.88887Z\"\n fill=\"var(--primary-color)\"\n />\n </g>\n </svg>\n <span class=\"text-surface-900 dark:text-surface-0 font-medium text-2xl leading-normal mr-20\"\n >SAKAI</span\n >\n</a>\n\n<
|
|
4829
|
+
template: "<a class=\"flex items-center\" href=\"#\">\n <svg viewBox=\"0 0 54 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-12 mr-2\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M17.1637 19.2467C17.1566 19.4033 17.1529 19.561 17.1529 19.7194C17.1529 25.3503 21.7203 29.915 27.3546 29.915C32.9887 29.915 37.5561 25.3503 37.5561 19.7194C37.5561 19.5572 37.5524 19.3959 37.5449 19.2355C38.5617 19.0801 39.5759 18.9013 40.5867 18.6994L40.6926 18.6782C40.7191 19.0218 40.7326 19.369 40.7326 19.7194C40.7326 27.1036 34.743 33.0896 27.3546 33.0896C19.966 33.0896 13.9765 27.1036 13.9765 19.7194C13.9765 19.374 13.9896 19.0316 14.0154 18.6927L14.0486 18.6994C15.0837 18.9062 16.1223 19.0886 17.1637 19.2467ZM33.3284 11.4538C31.6493 10.2396 29.5855 9.52381 27.3546 9.52381C25.1195 9.52381 23.0524 10.2421 21.3717 11.4603C20.0078 11.3232 18.6475 11.1387 17.2933 10.907C19.7453 8.11308 23.3438 6.34921 27.3546 6.34921C31.36 6.34921 34.9543 8.10844 37.4061 10.896C36.0521 11.1292 34.692 11.3152 33.3284 11.4538ZM43.826 18.0518C43.881 18.6003 43.9091 19.1566 43.9091 19.7194C43.9091 28.8568 36.4973 36.2642 27.3546 36.2642C18.2117 36.2642 10.8 28.8568 10.8 19.7194C10.8 19.1615 10.8276 18.61 10.8816 18.0663L7.75383 17.4411C7.66775 18.1886 7.62354 18.9488 7.62354 19.7194C7.62354 30.6102 16.4574 39.4388 27.3546 39.4388C38.2517 39.4388 47.0855 30.6102 47.0855 19.7194C47.0855 18.9439 47.0407 18.1789 46.9536 17.4267L43.826 18.0518ZM44.2613 9.54743L40.9084 10.2176C37.9134 5.95821 32.9593 3.1746 27.3546 3.1746C21.7442 3.1746 16.7856 5.96385 13.7915 10.2305L10.4399 9.56057C13.892 3.83178 20.1756 0 27.3546 0C34.5281 0 40.8075 3.82591 44.2613 9.54743Z\"\n fill=\"var(--primary-color)\"\n />\n <mask\n id=\"mask0_topbar\"\n style=\"mask-type: alpha\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"8\"\n width=\"54\"\n height=\"11\"\n >\n <path\n d=\"M27 18.3652C10.5114 19.1944 0 8.88892 0 8.88892C0 8.88892 16.5176 14.5866 27 14.5866C37.4824 14.5866 54 8.88892 54 8.88892C54 8.88892 43.4886 17.5361 27 18.3652Z\"\n fill=\"var(--primary-color)\"\n />\n </mask>\n <g mask=\"url(#mask0_topbar)\">\n <path\n d=\"M-4.673e-05 8.88887L3.73084 -1.91434L-8.00806 17.0473L-4.673e-05 8.88887ZM27 18.3652L26.4253 6.95109L27 18.3652ZM54 8.88887L61.2673 17.7127L50.2691 -1.91434L54 8.88887Z\"\n fill=\"var(--primary-color)\"\n />\n </g>\n </svg>\n <span class=\"text-surface-900 dark:text-surface-0 font-medium text-2xl leading-normal mr-20\"\n >SAKAI</span\n >\n</a>\n\n<button\n type=\"button\"\n hx-button\n variant=\"text\"\n severity=\"secondary\"\n rounded\n iconOnly\n [attr.aria-label]=\"menuLabel()\"\n class=\"lg:hidden!\"\n helixDisclosure\n>\n <i class=\"pi pi-bars text-2xl!\" aria-hidden=\"true\"></i>\n</button>\n\n<div\n class=\"items-center bg-surface-0 dark:bg-surface-900 grow justify-between hidden lg:flex absolute lg:static w-full left-0 top-full px-12 lg:px-0 z-20 rounded-border\"\n>\n <ul\n class=\"list-none p-0 m-0 flex lg:items-center select-none flex-col lg:flex-row cursor-pointer gap-8\"\n >\n @for (link of navLinks(); track link.label) {\n <li>\n <a\n (click)=\"router.navigate([link.route], { fragment: link.fragment })\"\n class=\"px-0 py-4 text-surface-900 dark:text-surface-0 font-medium text-xl\"\n >\n <span>{{ link.label }}</span>\n </a>\n </li>\n }\n </ul>\n <div class=\"flex border-t lg:border-t-0 border-surface py-4 lg:py-0 mt-4 lg:mt-0 gap-2\">\n <a hx-button [routerLink]=\"loginRoute()\" rounded variant=\"text\">{{ loginLabel() }}</a>\n <a hx-button [routerLink]=\"registerRoute()\" rounded>{{ registerLabel() }}</a>\n <helix-floating-configurator [float]=\"false\" />\n </div>\n</div>\n",
|
|
4784
4830
|
styles: [""],
|
|
4785
4831
|
dependencies: [
|
|
4786
4832
|
{
|
|
@@ -4806,29 +4852,6 @@ var HelixTopbarWidget = class HelixTopbarWidget {
|
|
|
4806
4852
|
"routerLink"
|
|
4807
4853
|
]
|
|
4808
4854
|
},
|
|
4809
|
-
{
|
|
4810
|
-
kind: "ngmodule",
|
|
4811
|
-
type: StyleClassModule
|
|
4812
|
-
},
|
|
4813
|
-
{
|
|
4814
|
-
kind: "directive",
|
|
4815
|
-
type: i1.StyleClass,
|
|
4816
|
-
selector: "[hStyleClass]",
|
|
4817
|
-
inputs: [
|
|
4818
|
-
"hStyleClass",
|
|
4819
|
-
"enterFromClass",
|
|
4820
|
-
"enterActiveClass",
|
|
4821
|
-
"enterToClass",
|
|
4822
|
-
"leaveFromClass",
|
|
4823
|
-
"leaveActiveClass",
|
|
4824
|
-
"leaveToClass",
|
|
4825
|
-
"hideOnOutsideClick",
|
|
4826
|
-
"toggleClass",
|
|
4827
|
-
"hideOnEscape",
|
|
4828
|
-
"hideOnResize",
|
|
4829
|
-
"resizeSelector"
|
|
4830
|
-
]
|
|
4831
|
-
},
|
|
4832
4855
|
{
|
|
4833
4856
|
kind: "directive",
|
|
4834
4857
|
type: HxButton,
|
|
@@ -4845,14 +4868,11 @@ var HelixTopbarWidget = class HelixTopbarWidget {
|
|
|
4845
4868
|
],
|
|
4846
4869
|
exportAs: ["hx-button"]
|
|
4847
4870
|
},
|
|
4848
|
-
{
|
|
4849
|
-
kind: "ngmodule",
|
|
4850
|
-
type: RippleModule
|
|
4851
|
-
},
|
|
4852
4871
|
{
|
|
4853
4872
|
kind: "directive",
|
|
4854
|
-
type:
|
|
4855
|
-
selector: "[
|
|
4873
|
+
type: HelixDisclosure,
|
|
4874
|
+
selector: "[helixDisclosure]",
|
|
4875
|
+
inputs: ["helixDisclosureAnimate"]
|
|
4856
4876
|
},
|
|
4857
4877
|
{
|
|
4858
4878
|
kind: "component",
|
|
@@ -4880,13 +4900,12 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
4880
4900
|
standalone: true,
|
|
4881
4901
|
imports: [
|
|
4882
4902
|
RouterModule,
|
|
4883
|
-
StyleClassModule,
|
|
4884
4903
|
HxButton,
|
|
4885
|
-
|
|
4904
|
+
HelixDisclosure,
|
|
4886
4905
|
HelixFloatingConfigurator
|
|
4887
4906
|
],
|
|
4888
4907
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
4889
|
-
template: "<a class=\"flex items-center\" href=\"#\">\n <svg viewBox=\"0 0 54 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-12 mr-2\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M17.1637 19.2467C17.1566 19.4033 17.1529 19.561 17.1529 19.7194C17.1529 25.3503 21.7203 29.915 27.3546 29.915C32.9887 29.915 37.5561 25.3503 37.5561 19.7194C37.5561 19.5572 37.5524 19.3959 37.5449 19.2355C38.5617 19.0801 39.5759 18.9013 40.5867 18.6994L40.6926 18.6782C40.7191 19.0218 40.7326 19.369 40.7326 19.7194C40.7326 27.1036 34.743 33.0896 27.3546 33.0896C19.966 33.0896 13.9765 27.1036 13.9765 19.7194C13.9765 19.374 13.9896 19.0316 14.0154 18.6927L14.0486 18.6994C15.0837 18.9062 16.1223 19.0886 17.1637 19.2467ZM33.3284 11.4538C31.6493 10.2396 29.5855 9.52381 27.3546 9.52381C25.1195 9.52381 23.0524 10.2421 21.3717 11.4603C20.0078 11.3232 18.6475 11.1387 17.2933 10.907C19.7453 8.11308 23.3438 6.34921 27.3546 6.34921C31.36 6.34921 34.9543 8.10844 37.4061 10.896C36.0521 11.1292 34.692 11.3152 33.3284 11.4538ZM43.826 18.0518C43.881 18.6003 43.9091 19.1566 43.9091 19.7194C43.9091 28.8568 36.4973 36.2642 27.3546 36.2642C18.2117 36.2642 10.8 28.8568 10.8 19.7194C10.8 19.1615 10.8276 18.61 10.8816 18.0663L7.75383 17.4411C7.66775 18.1886 7.62354 18.9488 7.62354 19.7194C7.62354 30.6102 16.4574 39.4388 27.3546 39.4388C38.2517 39.4388 47.0855 30.6102 47.0855 19.7194C47.0855 18.9439 47.0407 18.1789 46.9536 17.4267L43.826 18.0518ZM44.2613 9.54743L40.9084 10.2176C37.9134 5.95821 32.9593 3.1746 27.3546 3.1746C21.7442 3.1746 16.7856 5.96385 13.7915 10.2305L10.4399 9.56057C13.892 3.83178 20.1756 0 27.3546 0C34.5281 0 40.8075 3.82591 44.2613 9.54743Z\"\n fill=\"var(--primary-color)\"\n />\n <mask\n id=\"mask0_topbar\"\n style=\"mask-type: alpha\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"8\"\n width=\"54\"\n height=\"11\"\n >\n <path\n d=\"M27 18.3652C10.5114 19.1944 0 8.88892 0 8.88892C0 8.88892 16.5176 14.5866 27 14.5866C37.4824 14.5866 54 8.88892 54 8.88892C54 8.88892 43.4886 17.5361 27 18.3652Z\"\n fill=\"var(--primary-color)\"\n />\n </mask>\n <g mask=\"url(#mask0_topbar)\">\n <path\n d=\"M-4.673e-05 8.88887L3.73084 -1.91434L-8.00806 17.0473L-4.673e-05 8.88887ZM27 18.3652L26.4253 6.95109L27 18.3652ZM54 8.88887L61.2673 17.7127L50.2691 -1.91434L54 8.88887Z\"\n fill=\"var(--primary-color)\"\n />\n </g>\n </svg>\n <span class=\"text-surface-900 dark:text-surface-0 font-medium text-2xl leading-normal mr-20\"\n >SAKAI</span\n >\n</a>\n\n<
|
|
4908
|
+
template: "<a class=\"flex items-center\" href=\"#\">\n <svg viewBox=\"0 0 54 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"h-12 mr-2\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M17.1637 19.2467C17.1566 19.4033 17.1529 19.561 17.1529 19.7194C17.1529 25.3503 21.7203 29.915 27.3546 29.915C32.9887 29.915 37.5561 25.3503 37.5561 19.7194C37.5561 19.5572 37.5524 19.3959 37.5449 19.2355C38.5617 19.0801 39.5759 18.9013 40.5867 18.6994L40.6926 18.6782C40.7191 19.0218 40.7326 19.369 40.7326 19.7194C40.7326 27.1036 34.743 33.0896 27.3546 33.0896C19.966 33.0896 13.9765 27.1036 13.9765 19.7194C13.9765 19.374 13.9896 19.0316 14.0154 18.6927L14.0486 18.6994C15.0837 18.9062 16.1223 19.0886 17.1637 19.2467ZM33.3284 11.4538C31.6493 10.2396 29.5855 9.52381 27.3546 9.52381C25.1195 9.52381 23.0524 10.2421 21.3717 11.4603C20.0078 11.3232 18.6475 11.1387 17.2933 10.907C19.7453 8.11308 23.3438 6.34921 27.3546 6.34921C31.36 6.34921 34.9543 8.10844 37.4061 10.896C36.0521 11.1292 34.692 11.3152 33.3284 11.4538ZM43.826 18.0518C43.881 18.6003 43.9091 19.1566 43.9091 19.7194C43.9091 28.8568 36.4973 36.2642 27.3546 36.2642C18.2117 36.2642 10.8 28.8568 10.8 19.7194C10.8 19.1615 10.8276 18.61 10.8816 18.0663L7.75383 17.4411C7.66775 18.1886 7.62354 18.9488 7.62354 19.7194C7.62354 30.6102 16.4574 39.4388 27.3546 39.4388C38.2517 39.4388 47.0855 30.6102 47.0855 19.7194C47.0855 18.9439 47.0407 18.1789 46.9536 17.4267L43.826 18.0518ZM44.2613 9.54743L40.9084 10.2176C37.9134 5.95821 32.9593 3.1746 27.3546 3.1746C21.7442 3.1746 16.7856 5.96385 13.7915 10.2305L10.4399 9.56057C13.892 3.83178 20.1756 0 27.3546 0C34.5281 0 40.8075 3.82591 44.2613 9.54743Z\"\n fill=\"var(--primary-color)\"\n />\n <mask\n id=\"mask0_topbar\"\n style=\"mask-type: alpha\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"8\"\n width=\"54\"\n height=\"11\"\n >\n <path\n d=\"M27 18.3652C10.5114 19.1944 0 8.88892 0 8.88892C0 8.88892 16.5176 14.5866 27 14.5866C37.4824 14.5866 54 8.88892 54 8.88892C54 8.88892 43.4886 17.5361 27 18.3652Z\"\n fill=\"var(--primary-color)\"\n />\n </mask>\n <g mask=\"url(#mask0_topbar)\">\n <path\n d=\"M-4.673e-05 8.88887L3.73084 -1.91434L-8.00806 17.0473L-4.673e-05 8.88887ZM27 18.3652L26.4253 6.95109L27 18.3652ZM54 8.88887L61.2673 17.7127L50.2691 -1.91434L54 8.88887Z\"\n fill=\"var(--primary-color)\"\n />\n </g>\n </svg>\n <span class=\"text-surface-900 dark:text-surface-0 font-medium text-2xl leading-normal mr-20\"\n >SAKAI</span\n >\n</a>\n\n<button\n type=\"button\"\n hx-button\n variant=\"text\"\n severity=\"secondary\"\n rounded\n iconOnly\n [attr.aria-label]=\"menuLabel()\"\n class=\"lg:hidden!\"\n helixDisclosure\n>\n <i class=\"pi pi-bars text-2xl!\" aria-hidden=\"true\"></i>\n</button>\n\n<div\n class=\"items-center bg-surface-0 dark:bg-surface-900 grow justify-between hidden lg:flex absolute lg:static w-full left-0 top-full px-12 lg:px-0 z-20 rounded-border\"\n>\n <ul\n class=\"list-none p-0 m-0 flex lg:items-center select-none flex-col lg:flex-row cursor-pointer gap-8\"\n >\n @for (link of navLinks(); track link.label) {\n <li>\n <a\n (click)=\"router.navigate([link.route], { fragment: link.fragment })\"\n class=\"px-0 py-4 text-surface-900 dark:text-surface-0 font-medium text-xl\"\n >\n <span>{{ link.label }}</span>\n </a>\n </li>\n }\n </ul>\n <div class=\"flex border-t lg:border-t-0 border-surface py-4 lg:py-0 mt-4 lg:mt-0 gap-2\">\n <a hx-button [routerLink]=\"loginRoute()\" rounded variant=\"text\">{{ loginLabel() }}</a>\n <a hx-button [routerLink]=\"registerRoute()\" rounded>{{ registerLabel() }}</a>\n <helix-floating-configurator [float]=\"false\" />\n </div>\n</div>\n"
|
|
4890
4909
|
}]
|
|
4891
4910
|
}],
|
|
4892
4911
|
ctorParameters: () => [{ type: i2.Router }],
|
|
@@ -5032,14 +5051,6 @@ var HelixLanding = class HelixLanding {
|
|
|
5032
5051
|
"homeRoute",
|
|
5033
5052
|
"brandName"
|
|
5034
5053
|
]
|
|
5035
|
-
},
|
|
5036
|
-
{
|
|
5037
|
-
kind: "ngmodule",
|
|
5038
|
-
type: RippleModule
|
|
5039
|
-
},
|
|
5040
|
-
{
|
|
5041
|
-
kind: "ngmodule",
|
|
5042
|
-
type: StyleClassModule
|
|
5043
5054
|
}
|
|
5044
5055
|
],
|
|
5045
5056
|
changeDetection: i0.ChangeDetectionStrategy.Eager
|
|
@@ -5062,9 +5073,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
5062
5073
|
HelixFeaturesWidget,
|
|
5063
5074
|
HelixHighlightsWidget,
|
|
5064
5075
|
HelixPricingWidget,
|
|
5065
|
-
HelixFooterWidget
|
|
5066
|
-
RippleModule,
|
|
5067
|
-
StyleClassModule
|
|
5076
|
+
HelixFooterWidget
|
|
5068
5077
|
],
|
|
5069
5078
|
changeDetection: ChangeDetectionStrategy.Eager,
|
|
5070
5079
|
template: "<div class=\"bg-surface-0 dark:bg-surface-900\">\n <div id=\"home\" class=\"landing-wrapper overflow-hidden\">\n <helix-topbar-widget\n class=\"py-6 px-6 mx-0 md:mx-12 lg:mx-20 lg:px-20 flex items-center justify-between relative lg:static\"\n />\n <helix-hero-widget />\n <helix-features-widget />\n <helix-highlights-widget />\n <helix-pricing-widget />\n <helix-footer-widget />\n </div>\n</div>\n"
|