@hermes-ui/angular 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +1 -1
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-card.mjs +48 -0
- package/fesm2022/hermes-ui-angular-card.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-divider.mjs +46 -0
- package/fesm2022/hermes-ui-angular-divider.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +1 -1
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +31 -3
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-pagination.mjs +116 -0
- package/fesm2022/hermes-ui-angular-pagination.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular.mjs +16 -3
- package/fesm2022/hermes-ui-angular.mjs.map +1 -1
- package/layout/vertical-nav/_mixins.vertical-nav.scss +3 -7
- package/layout/vertical-nav/_properties.vertical-nav.scss +10 -5
- package/layout/vertical-nav/_variables.vertical-nav.scss +2 -0
- package/layout/vertical-nav/_vertical-nav.clarity.scss +14 -0
- package/package.json +13 -1
- package/popover/dropdown/_dropdown.clarity.scss +8 -7
- package/popover/dropdown/_menu-mixins.clarity.scss +22 -6
- package/popover/dropdown/_properties.dropdown.scss +20 -0
- package/popover/dropdown/_variables.dropdown.scss +7 -0
- package/types/hermes-ui-angular-card.d.ts +24 -0
- package/types/hermes-ui-angular-card.d.ts.map +1 -0
- package/types/hermes-ui-angular-divider.d.ts +20 -0
- package/types/hermes-ui-angular-divider.d.ts.map +1 -0
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts +11 -1
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -1
- package/types/hermes-ui-angular-pagination.d.ts +52 -0
- package/types/hermes-ui-angular-pagination.d.ts.map +1 -0
- package/types/hermes-ui-angular.d.ts +23 -17
- package/types/hermes-ui-angular.d.ts.map +1 -1
|
@@ -310,12 +310,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
|
|
|
310
310
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
311
311
|
*/
|
|
312
312
|
class HermesVerticalNav {
|
|
313
|
+
onPeekEnter() {
|
|
314
|
+
if (this.pinnable && this.collapsed) {
|
|
315
|
+
this.peeking = true;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
onPeekLeave() {
|
|
319
|
+
this.peeking = false;
|
|
320
|
+
}
|
|
313
321
|
constructor(_navService, _navIconService, _navGroupRegistrationService, commonStrings) {
|
|
314
322
|
this._navService = _navService;
|
|
315
323
|
this._navIconService = _navIconService;
|
|
316
324
|
this._navGroupRegistrationService = _navGroupRegistrationService;
|
|
317
325
|
this.commonStrings = commonStrings;
|
|
326
|
+
/** Quando true, o toggle vira semanticamente um "fixar aberta/fechada" (ícones
|
|
327
|
+
* pin/unpin em vez do chevron duplo genérico) e habilita o hover-peek: passar
|
|
328
|
+
* o mouse enquanto colapsada e não fixada expande temporariamente (ver
|
|
329
|
+
* onPeekEnter/onPeekLeave abaixo), sem persistir nem emitir o output. */
|
|
330
|
+
this.pinnable = false;
|
|
318
331
|
this.contentId = uniqueIdFactory();
|
|
332
|
+
/** true só enquanto o mouse está sobre uma nav colapsada e "pinnable" —
|
|
333
|
+
* não persiste, não afeta `collapsed`/o output, é puramente visual. */
|
|
334
|
+
this.peeking = false;
|
|
319
335
|
this._collapsedChanged = new EventEmitter(true);
|
|
320
336
|
this._sub = _navService.collapsedChanged.subscribe(value => {
|
|
321
337
|
this._collapsedChanged.emit(value);
|
|
@@ -352,19 +368,31 @@ class HermesVerticalNav {
|
|
|
352
368
|
this.collapsed = !this.collapsed;
|
|
353
369
|
}
|
|
354
370
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesVerticalNav, deps: [{ token: VerticalNavService }, { token: VerticalNavIconService }, { token: VerticalNavGroupRegistrationService }, { token: i1.HermesCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
355
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesVerticalNav, isStandalone: false, selector: "hermes-vertical-nav", inputs: { toggleLabel: ["hermesVerticalNavToggleLabel", "toggleLabel"], collapsible: ["hermesVerticalNavCollapsible", "collapsible"], collapsed: ["hermesVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "hermesVerticalNavCollapsedChange" }, host: { properties: { "class.is-collapsed": "collapsed", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons" }, classAttribute: "hermes-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "component", type: i5.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
|
|
371
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesVerticalNav, isStandalone: false, selector: "hermes-vertical-nav", inputs: { toggleLabel: ["hermesVerticalNavToggleLabel", "toggleLabel"], pinnable: ["hermesVerticalNavPinnable", "pinnable"], collapsible: ["hermesVerticalNavCollapsible", "collapsible"], collapsed: ["hermesVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "hermesVerticalNavCollapsedChange" }, host: { listeners: { "mouseenter": "onPeekEnter()", "mouseleave": "onPeekLeave()" }, properties: { "class.is-collapsed": "collapsed && !peeking", "class.is-peeking": "peeking", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons", "class.is-pinnable": "pinnable" }, classAttribute: "hermes-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n @if (pinnable) {\r\n <hermes-icon [shape]=\"collapsed ? 'pin' : 'unpin'\" class=\"nav-trigger-icon\"></hermes-icon>\r\n } @else {\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n }\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "component", type: i5.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
|
|
356
372
|
}
|
|
357
373
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesVerticalNav, decorators: [{
|
|
358
374
|
type: Component,
|
|
359
375
|
args: [{ selector: 'hermes-vertical-nav', providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], host: {
|
|
360
376
|
class: 'hermes-vertical-nav',
|
|
361
|
-
|
|
377
|
+
// Suprimido durante o peek: reaproveita 100% do CSS já existente pro
|
|
378
|
+
// estado expandido (inclusive empurrar o conteúdo ao lado, via flex
|
|
379
|
+
// normal) em vez de tentar "desfazer" as regras de .is-collapsed via
|
|
380
|
+
// :hover (o `collapsed` real, usado por toggleByButton()/ariaExpanded/
|
|
381
|
+
// o output, não muda — só a classe aplicada).
|
|
382
|
+
'[class.is-collapsed]': 'collapsed && !peeking',
|
|
383
|
+
'[class.is-peeking]': 'peeking',
|
|
362
384
|
'[class.has-nav-groups]': 'hasNavGroups',
|
|
363
385
|
'[class.has-icons]': 'hasIcons',
|
|
364
|
-
|
|
386
|
+
'[class.is-pinnable]': 'pinnable',
|
|
387
|
+
'(mouseenter)': 'onPeekEnter()',
|
|
388
|
+
'(mouseleave)': 'onPeekLeave()',
|
|
389
|
+
}, standalone: false, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n @if (pinnable) {\r\n <hermes-icon [shape]=\"collapsed ? 'pin' : 'unpin'\" class=\"nav-trigger-icon\"></hermes-icon>\r\n } @else {\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n }\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n" }]
|
|
365
390
|
}], ctorParameters: () => [{ type: VerticalNavService }, { type: VerticalNavIconService }, { type: VerticalNavGroupRegistrationService }, { type: i1.HermesCommonStringsService }], propDecorators: { toggleLabel: [{
|
|
366
391
|
type: Input,
|
|
367
392
|
args: ['hermesVerticalNavToggleLabel']
|
|
393
|
+
}], pinnable: [{
|
|
394
|
+
type: Input,
|
|
395
|
+
args: ['hermesVerticalNavPinnable']
|
|
368
396
|
}], _collapsedChanged: [{
|
|
369
397
|
type: Output,
|
|
370
398
|
args: ['hermesVerticalNavCollapsedChange']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-layout-vertical-nav.mjs","sources":["../../../layout/vertical-nav/vertical-nav-group-children.ts","../../../layout/vertical-nav/providers/vertical-nav-group.service.ts","../../../layout/vertical-nav/providers/vertical-nav-group-registration.service.ts","../../../layout/vertical-nav/providers/vertical-nav.service.ts","../../../layout/vertical-nav/vertical-nav-group.ts","../../../layout/vertical-nav/vertical-nav-group.html","../../../layout/vertical-nav/providers/vertical-nav-icon.service.ts","../../../layout/vertical-nav/vertical-nav.ts","../../../layout/vertical-nav/vertical-nav.html","../../../layout/vertical-nav/vertical-nav-link.ts","../../../layout/vertical-nav/vertical-nav-icon.ts","../../../layout/vertical-nav/vertical-nav.module.ts","../../../layout/vertical-nav/index.ts","../../../layout/vertical-nav/hermes-ui-angular-layout-vertical-nav.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-vertical-nav-group-children',\r\n template: `<ng-content></ng-content>`,\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavGroupChildren {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupService {\r\n private _expandChange = new Subject<boolean>();\r\n\r\n get expandChange(): Observable<boolean> {\r\n return this._expandChange.asObservable();\r\n }\r\n\r\n expand(): void {\r\n this._expandChange.next(true);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupRegistrationService {\r\n navGroupCount = 0;\r\n\r\n registerNavGroup() {\r\n this.navGroupCount++;\r\n }\r\n\r\n unregisterNavGroup(): void {\r\n this.navGroupCount--;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavService {\r\n private _animateOnCollapsed = new Subject<boolean>();\r\n private _collapsedChanged = new Subject<boolean>();\r\n private _collapsed = false;\r\n private _collapsible = false;\r\n\r\n get animateOnCollapsed(): Observable<boolean> {\r\n return this._animateOnCollapsed.asObservable();\r\n }\r\n\r\n get collapsedChanged(): Observable<boolean> {\r\n return this._collapsedChanged.asObservable();\r\n }\r\n\r\n get collapsed(): boolean {\r\n return this._collapsed;\r\n }\r\n set collapsed(value: boolean) {\r\n value = !!value;\r\n if (this.collapsible && this._collapsed !== value) {\r\n this.updateCollapseBehavior(value);\r\n }\r\n }\r\n\r\n get collapsible(): boolean {\r\n return this._collapsible;\r\n }\r\n set collapsible(value: boolean) {\r\n value = !!value;\r\n if (this._collapsible !== value) {\r\n if (!value && this.collapsed) {\r\n this.updateCollapseBehavior(false);\r\n }\r\n this._collapsible = value;\r\n }\r\n }\r\n\r\n private updateCollapseBehavior(value: boolean): void {\r\n this._animateOnCollapsed.next(value);\r\n this._collapsed = value;\r\n this._collapsedChanged.next(value);\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { AfterContentInit, Component, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\nimport { HermesCommonStringsService, IfExpandService } from '@hermes-ui/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\nconst EXPANDED_STATE = 'expanded';\nconst COLLAPSED_STATE = 'collapsed';\n\n@Component({\n selector: 'hermes-vertical-nav-group',\n templateUrl: './vertical-nav-group.html',\n providers: [IfExpandService, VerticalNavGroupService],\n animations: [\n trigger('hermesExpand', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: 0, visibility: 'hidden' })),\n transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n ]),\n ],\n host: { class: 'nav-group' },\n standalone: false,\n})\nexport class HermesVerticalNavGroup implements AfterContentInit, OnDestroy {\n @Output('hermesVerticalNavGroupExpandedChange') expandedChange = new EventEmitter<boolean>(true);\n\n private wasExpanded = false;\n private _subscriptions: Subscription[] = [];\n private _expandAnimationState: string = COLLAPSED_STATE;\n\n constructor(\n private _itemExpand: IfExpandService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n navGroupService: VerticalNavGroupService,\n private _navService: VerticalNavService,\n public commonStrings: HermesCommonStringsService\n ) {\n _navGroupRegistrationService.registerNavGroup();\n\n // FIXME: This subscription handles a corner case\n // Vertical Nav collapse requires the animation to run first and then\n // remove the nodes from the DOM. If the user directly sets the input\n // on the hermesIfExpanded directive, we have no chance to run the animation\n // and wait for it to complete. This subscription makes sure that the\n // animation states are correct for that edge case.\n this._subscriptions.push(\n _itemExpand.expandChange.subscribe(value => {\n if (value && this.expandAnimationState === COLLAPSED_STATE) {\n if (_navService.collapsed) {\n _navService.collapsed = false;\n }\n this.expandAnimationState = EXPANDED_STATE;\n } else if (!value && this.expandAnimationState === EXPANDED_STATE) {\n this.expandAnimationState = COLLAPSED_STATE;\n }\n })\n );\n\n // 1. If the nav is collapsing, close the open nav group + save its state\n // 2. If the nav is expanding, expand the nav group if the previous state was expanded\n this._subscriptions.push(\n _navService.animateOnCollapsed.subscribe((goingToCollapse: boolean) => {\n if (goingToCollapse && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n } else if (!goingToCollapse && this.wasExpanded) {\n this.expandGroup();\n this.wasExpanded = false;\n }\n })\n );\n\n // If a link is clicked, expand the nav group\n this._subscriptions.push(\n navGroupService.expandChange.subscribe((expand: boolean) => {\n if (expand && !this.expanded) {\n this.expandGroup();\n }\n })\n );\n }\n\n @HostBinding('class.is-expanded')\n get expanded(): boolean {\n return this._itemExpand.expanded;\n }\n set expanded(value: boolean) {\n if (this._itemExpand.expanded !== value) {\n this._itemExpand.expanded = value;\n this.expandedChange.emit(value);\n }\n }\n\n @Input('hermesVerticalNavGroupExpanded')\n set userExpandedInput(value: boolean | string) {\n value = !!value;\n if (this.expanded !== value) {\n // We have to call toggleExpand because some cases require animations to occur first\n // Directly setting the Expand service value skips the animation and can result in\n // nodes in the DOM but the nav group still being collapsed\n this.toggleExpand();\n }\n }\n\n get expandAnimationState(): string {\n return this._expandAnimationState;\n }\n set expandAnimationState(value: string) {\n if (value !== this._expandAnimationState) {\n this._expandAnimationState = value;\n }\n }\n\n ngAfterContentInit() {\n // This makes sure that if someone marks a nav group expanded in a collapsed nav\n // the expanded property is switched back to collapsed state.\n if (this._navService.collapsed && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n }\n }\n\n ngOnDestroy() {\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n this._navGroupRegistrationService.unregisterNavGroup();\n }\n\n expandGroup(): void {\n this.expanded = true;\n // Expanded animation occurs after Expand.expand is set to true\n this.expandAnimationState = EXPANDED_STATE;\n }\n\n collapseGroup(): void {\n // If a Vertical Nav Group toggle button is clicked while the Vertical Nav is in Collapsed state,\n // the Vertical Nav should be expanded first.\n this.expandAnimationState = COLLAPSED_STATE;\n }\n\n // closes a group after the collapse animation\n expandAnimationDone($event: AnimationEvent) {\n if ($event.toState === COLLAPSED_STATE) {\n this.expanded = false;\n }\n }\n\n toggleExpand(): void {\n if (this.expanded) {\n this.collapseGroup();\n } else {\n // If nav is collasped, first open the nav\n if (this._navService.collapsed) {\n this._navService.collapsed = false;\n }\n // then expand the nav group\n this.expandGroup();\n }\n }\n}\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<div class=\"nav-group-content\">\r\n <ng-content select=\"[hermesVerticalNavLink]\"></ng-content>\r\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <div class=\"nav-group-text\">\r\n <ng-content></ng-content>\r\n </div>\r\n <hermes-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></hermes-icon>\r\n </button>\r\n</div>\r\n<!--TODO: This animation needs to be added to the hermes-vertical-nav-group-children component-->\r\n<div class=\"nav-group-children\" [@hermesExpand]=\"expandAnimationState\" (@hermesExpand.done)=\"expandAnimationDone($event)\">\r\n <ng-content select=\"[hermesIfExpanded], hermes-vertical-nav-group-children\"></ng-content>\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavIconService {\r\n private _icons = 0;\r\n\r\n get hasIcons(): boolean {\r\n return this._icons > 0;\r\n }\r\n\r\n registerIcon(): void {\r\n this._icons++;\r\n }\r\n\r\n unregisterIcon(): void {\r\n this._icons--;\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { HermesCommonStringsService, uniqueIdFactory } from '@hermes-ui/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\n@Component({\n selector: 'hermes-vertical-nav',\n templateUrl: './vertical-nav.html',\n providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService],\n host: {\n class: 'hermes-vertical-nav',\n '[class.is-collapsed]': 'collapsed',\n '[class.has-nav-groups]': 'hasNavGroups',\n '[class.has-icons]': 'hasIcons',\n },\n standalone: false,\n})\nexport class HermesVerticalNav implements OnDestroy {\n @Input('hermesVerticalNavToggleLabel') toggleLabel: string;\n contentId = uniqueIdFactory();\n\n @Output('hermesVerticalNavCollapsedChange') private _collapsedChanged = new EventEmitter<boolean>(true);\n\n private _sub: Subscription;\n\n constructor(\n private _navService: VerticalNavService,\n private _navIconService: VerticalNavIconService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n public commonStrings: HermesCommonStringsService\n ) {\n this._sub = _navService.collapsedChanged.subscribe(value => {\n this._collapsedChanged.emit(value);\n });\n }\n\n @Input('hermesVerticalNavCollapsible')\n get collapsible(): boolean | string {\n return this._navService.collapsible;\n }\n set collapsible(value: boolean | string) {\n this._navService.collapsible = value as boolean;\n }\n\n @Input('hermesVerticalNavCollapsed')\n get collapsed(): boolean | string {\n return this._navService.collapsed;\n }\n set collapsed(value: boolean | string) {\n this._navService.collapsed = value as boolean;\n }\n\n get hasNavGroups(): boolean {\n return this._navGroupRegistrationService.navGroupCount > 0;\n }\n\n get hasIcons(): boolean {\n return this._navIconService.hasIcons;\n }\n\n get ariaExpanded(): string {\n if (!this.collapsible) {\n return null;\n }\n return !this.collapsed ? 'true' : 'false';\n }\n\n ngOnDestroy() {\n this._sub.unsubscribe();\n }\n\n toggleByButton() {\n this.collapsed = !this.collapsed;\n }\n}\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\r\n\r\n@Component({\r\n selector: '[hermesVerticalNavLink]',\r\n template: `\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <span class=\"nav-text\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n class: 'nav-link',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavLink implements OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(\r\n host: ElementRef<HTMLElement>,\r\n ref: ChangeDetectorRef,\r\n @Optional() @Inject(VerticalNavGroupService) navGroupService: VerticalNavGroupService | null\r\n ) {\r\n // Note: since the `VerticalNavGroupService` is an optional provider, we'll setup the event\r\n // listener only when the `[hermesVerticalLink]` is located within the `hermes-vertical-nav-group`.\r\n navGroupService &&\r\n fromEvent(host.nativeElement, 'click')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n navGroupService.expand();\r\n ref.markForCheck();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, OnDestroy } from '@angular/core';\r\n\r\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\r\n\r\n@Directive({\r\n selector: '[hermesVerticalNavIcon]',\r\n host: { class: 'nav-icon' },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavIcon implements OnDestroy {\r\n constructor(private _verticalNavIconService: VerticalNavIconService) {\r\n _verticalNavIconService.registerIcon();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._verticalNavIconService.unregisterIcon();\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { angleDoubleIcon, angleIcon, ClarityIcons, HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';\n\nimport { HermesVerticalNav } from './vertical-nav';\nimport { HermesVerticalNavGroup } from './vertical-nav-group';\nimport { HermesVerticalNavGroupChildren } from './vertical-nav-group-children';\nimport { HermesVerticalNavIcon } from './vertical-nav-icon';\nimport { HermesVerticalNavLink } from './vertical-nav-link';\n\nexport const HERMES_VERTICAL_NAV_DIRECTIVES: Type<any>[] = [\n HermesVerticalNav,\n HermesVerticalNavLink,\n HermesVerticalNavGroup,\n HermesVerticalNavGroupChildren,\n HermesVerticalNavIcon,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesConditionalModule, HermesFocusOnViewInitModule],\n declarations: [HERMES_VERTICAL_NAV_DIRECTIVES],\n exports: [HERMES_VERTICAL_NAV_DIRECTIVES, HermesConditionalModule, HermesIcon, HermesFocusOnViewInitModule],\n})\nexport class HermesVerticalNavModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon, angleDoubleIcon);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './vertical-nav-group-children';\r\nexport * from './vertical-nav-group';\r\nexport * from './vertical-nav';\r\nexport * from './vertical-nav-link';\r\nexport * from './vertical-nav-icon';\r\nexport * from './vertical-nav.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.VerticalNavGroupRegistrationService","i3.VerticalNavGroupService","i4.VerticalNavService","i1.VerticalNavService","i2.VerticalNavIconService","i3.VerticalNavGroupRegistrationService","i4","i1.VerticalNavIconService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-layout-vertical-nav.mjs","sources":["../../../layout/vertical-nav/vertical-nav-group-children.ts","../../../layout/vertical-nav/providers/vertical-nav-group.service.ts","../../../layout/vertical-nav/providers/vertical-nav-group-registration.service.ts","../../../layout/vertical-nav/providers/vertical-nav.service.ts","../../../layout/vertical-nav/vertical-nav-group.ts","../../../layout/vertical-nav/vertical-nav-group.html","../../../layout/vertical-nav/providers/vertical-nav-icon.service.ts","../../../layout/vertical-nav/vertical-nav.ts","../../../layout/vertical-nav/vertical-nav.html","../../../layout/vertical-nav/vertical-nav-link.ts","../../../layout/vertical-nav/vertical-nav-icon.ts","../../../layout/vertical-nav/vertical-nav.module.ts","../../../layout/vertical-nav/index.ts","../../../layout/vertical-nav/hermes-ui-angular-layout-vertical-nav.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-vertical-nav-group-children',\r\n template: `<ng-content></ng-content>`,\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavGroupChildren {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupService {\r\n private _expandChange = new Subject<boolean>();\r\n\r\n get expandChange(): Observable<boolean> {\r\n return this._expandChange.asObservable();\r\n }\r\n\r\n expand(): void {\r\n this._expandChange.next(true);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupRegistrationService {\r\n navGroupCount = 0;\r\n\r\n registerNavGroup() {\r\n this.navGroupCount++;\r\n }\r\n\r\n unregisterNavGroup(): void {\r\n this.navGroupCount--;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavService {\r\n private _animateOnCollapsed = new Subject<boolean>();\r\n private _collapsedChanged = new Subject<boolean>();\r\n private _collapsed = false;\r\n private _collapsible = false;\r\n\r\n get animateOnCollapsed(): Observable<boolean> {\r\n return this._animateOnCollapsed.asObservable();\r\n }\r\n\r\n get collapsedChanged(): Observable<boolean> {\r\n return this._collapsedChanged.asObservable();\r\n }\r\n\r\n get collapsed(): boolean {\r\n return this._collapsed;\r\n }\r\n set collapsed(value: boolean) {\r\n value = !!value;\r\n if (this.collapsible && this._collapsed !== value) {\r\n this.updateCollapseBehavior(value);\r\n }\r\n }\r\n\r\n get collapsible(): boolean {\r\n return this._collapsible;\r\n }\r\n set collapsible(value: boolean) {\r\n value = !!value;\r\n if (this._collapsible !== value) {\r\n if (!value && this.collapsed) {\r\n this.updateCollapseBehavior(false);\r\n }\r\n this._collapsible = value;\r\n }\r\n }\r\n\r\n private updateCollapseBehavior(value: boolean): void {\r\n this._animateOnCollapsed.next(value);\r\n this._collapsed = value;\r\n this._collapsedChanged.next(value);\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { AfterContentInit, Component, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\nimport { HermesCommonStringsService, IfExpandService } from '@hermes-ui/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\nconst EXPANDED_STATE = 'expanded';\nconst COLLAPSED_STATE = 'collapsed';\n\n@Component({\n selector: 'hermes-vertical-nav-group',\n templateUrl: './vertical-nav-group.html',\n providers: [IfExpandService, VerticalNavGroupService],\n animations: [\n trigger('hermesExpand', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: 0, visibility: 'hidden' })),\n transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n ]),\n ],\n host: { class: 'nav-group' },\n standalone: false,\n})\nexport class HermesVerticalNavGroup implements AfterContentInit, OnDestroy {\n @Output('hermesVerticalNavGroupExpandedChange') expandedChange = new EventEmitter<boolean>(true);\n\n private wasExpanded = false;\n private _subscriptions: Subscription[] = [];\n private _expandAnimationState: string = COLLAPSED_STATE;\n\n constructor(\n private _itemExpand: IfExpandService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n navGroupService: VerticalNavGroupService,\n private _navService: VerticalNavService,\n public commonStrings: HermesCommonStringsService\n ) {\n _navGroupRegistrationService.registerNavGroup();\n\n // FIXME: This subscription handles a corner case\n // Vertical Nav collapse requires the animation to run first and then\n // remove the nodes from the DOM. If the user directly sets the input\n // on the hermesIfExpanded directive, we have no chance to run the animation\n // and wait for it to complete. This subscription makes sure that the\n // animation states are correct for that edge case.\n this._subscriptions.push(\n _itemExpand.expandChange.subscribe(value => {\n if (value && this.expandAnimationState === COLLAPSED_STATE) {\n if (_navService.collapsed) {\n _navService.collapsed = false;\n }\n this.expandAnimationState = EXPANDED_STATE;\n } else if (!value && this.expandAnimationState === EXPANDED_STATE) {\n this.expandAnimationState = COLLAPSED_STATE;\n }\n })\n );\n\n // 1. If the nav is collapsing, close the open nav group + save its state\n // 2. If the nav is expanding, expand the nav group if the previous state was expanded\n this._subscriptions.push(\n _navService.animateOnCollapsed.subscribe((goingToCollapse: boolean) => {\n if (goingToCollapse && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n } else if (!goingToCollapse && this.wasExpanded) {\n this.expandGroup();\n this.wasExpanded = false;\n }\n })\n );\n\n // If a link is clicked, expand the nav group\n this._subscriptions.push(\n navGroupService.expandChange.subscribe((expand: boolean) => {\n if (expand && !this.expanded) {\n this.expandGroup();\n }\n })\n );\n }\n\n @HostBinding('class.is-expanded')\n get expanded(): boolean {\n return this._itemExpand.expanded;\n }\n set expanded(value: boolean) {\n if (this._itemExpand.expanded !== value) {\n this._itemExpand.expanded = value;\n this.expandedChange.emit(value);\n }\n }\n\n @Input('hermesVerticalNavGroupExpanded')\n set userExpandedInput(value: boolean | string) {\n value = !!value;\n if (this.expanded !== value) {\n // We have to call toggleExpand because some cases require animations to occur first\n // Directly setting the Expand service value skips the animation and can result in\n // nodes in the DOM but the nav group still being collapsed\n this.toggleExpand();\n }\n }\n\n get expandAnimationState(): string {\n return this._expandAnimationState;\n }\n set expandAnimationState(value: string) {\n if (value !== this._expandAnimationState) {\n this._expandAnimationState = value;\n }\n }\n\n ngAfterContentInit() {\n // This makes sure that if someone marks a nav group expanded in a collapsed nav\n // the expanded property is switched back to collapsed state.\n if (this._navService.collapsed && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n }\n }\n\n ngOnDestroy() {\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n this._navGroupRegistrationService.unregisterNavGroup();\n }\n\n expandGroup(): void {\n this.expanded = true;\n // Expanded animation occurs after Expand.expand is set to true\n this.expandAnimationState = EXPANDED_STATE;\n }\n\n collapseGroup(): void {\n // If a Vertical Nav Group toggle button is clicked while the Vertical Nav is in Collapsed state,\n // the Vertical Nav should be expanded first.\n this.expandAnimationState = COLLAPSED_STATE;\n }\n\n // closes a group after the collapse animation\n expandAnimationDone($event: AnimationEvent) {\n if ($event.toState === COLLAPSED_STATE) {\n this.expanded = false;\n }\n }\n\n toggleExpand(): void {\n if (this.expanded) {\n this.collapseGroup();\n } else {\n // If nav is collasped, first open the nav\n if (this._navService.collapsed) {\n this._navService.collapsed = false;\n }\n // then expand the nav group\n this.expandGroup();\n }\n }\n}\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<div class=\"nav-group-content\">\r\n <ng-content select=\"[hermesVerticalNavLink]\"></ng-content>\r\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <div class=\"nav-group-text\">\r\n <ng-content></ng-content>\r\n </div>\r\n <hermes-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></hermes-icon>\r\n </button>\r\n</div>\r\n<!--TODO: This animation needs to be added to the hermes-vertical-nav-group-children component-->\r\n<div class=\"nav-group-children\" [@hermesExpand]=\"expandAnimationState\" (@hermesExpand.done)=\"expandAnimationDone($event)\">\r\n <ng-content select=\"[hermesIfExpanded], hermes-vertical-nav-group-children\"></ng-content>\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavIconService {\r\n private _icons = 0;\r\n\r\n get hasIcons(): boolean {\r\n return this._icons > 0;\r\n }\r\n\r\n registerIcon(): void {\r\n this._icons++;\r\n }\r\n\r\n unregisterIcon(): void {\r\n this._icons--;\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { HermesCommonStringsService, uniqueIdFactory } from '@hermes-ui/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\n@Component({\n selector: 'hermes-vertical-nav',\n templateUrl: './vertical-nav.html',\n providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService],\n host: {\n class: 'hermes-vertical-nav',\n // Suprimido durante o peek: reaproveita 100% do CSS já existente pro\n // estado expandido (inclusive empurrar o conteúdo ao lado, via flex\n // normal) em vez de tentar \"desfazer\" as regras de .is-collapsed via\n // :hover (o `collapsed` real, usado por toggleByButton()/ariaExpanded/\n // o output, não muda — só a classe aplicada).\n '[class.is-collapsed]': 'collapsed && !peeking',\n '[class.is-peeking]': 'peeking',\n '[class.has-nav-groups]': 'hasNavGroups',\n '[class.has-icons]': 'hasIcons',\n '[class.is-pinnable]': 'pinnable',\n '(mouseenter)': 'onPeekEnter()',\n '(mouseleave)': 'onPeekLeave()',\n },\n standalone: false,\n})\nexport class HermesVerticalNav implements OnDestroy {\n @Input('hermesVerticalNavToggleLabel') toggleLabel: string;\n /** Quando true, o toggle vira semanticamente um \"fixar aberta/fechada\" (ícones\n * pin/unpin em vez do chevron duplo genérico) e habilita o hover-peek: passar\n * o mouse enquanto colapsada e não fixada expande temporariamente (ver\n * onPeekEnter/onPeekLeave abaixo), sem persistir nem emitir o output. */\n @Input('hermesVerticalNavPinnable') pinnable = false;\n contentId = uniqueIdFactory();\n\n /** true só enquanto o mouse está sobre uma nav colapsada e \"pinnable\" —\n * não persiste, não afeta `collapsed`/o output, é puramente visual. */\n peeking = false;\n\n onPeekEnter(): void {\n if (this.pinnable && this.collapsed) {\n this.peeking = true;\n }\n }\n\n onPeekLeave(): void {\n this.peeking = false;\n }\n\n @Output('hermesVerticalNavCollapsedChange') private _collapsedChanged = new EventEmitter<boolean>(true);\n\n private _sub: Subscription;\n\n constructor(\n private _navService: VerticalNavService,\n private _navIconService: VerticalNavIconService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n public commonStrings: HermesCommonStringsService\n ) {\n this._sub = _navService.collapsedChanged.subscribe(value => {\n this._collapsedChanged.emit(value);\n });\n }\n\n @Input('hermesVerticalNavCollapsible')\n get collapsible(): boolean | string {\n return this._navService.collapsible;\n }\n set collapsible(value: boolean | string) {\n this._navService.collapsible = value as boolean;\n }\n\n @Input('hermesVerticalNavCollapsed')\n get collapsed(): boolean | string {\n return this._navService.collapsed;\n }\n set collapsed(value: boolean | string) {\n this._navService.collapsed = value as boolean;\n }\n\n get hasNavGroups(): boolean {\n return this._navGroupRegistrationService.navGroupCount > 0;\n }\n\n get hasIcons(): boolean {\n return this._navIconService.hasIcons;\n }\n\n get ariaExpanded(): string {\n if (!this.collapsible) {\n return null;\n }\n return !this.collapsed ? 'true' : 'false';\n }\n\n ngOnDestroy() {\n this._sub.unsubscribe();\n }\n\n toggleByButton() {\n this.collapsed = !this.collapsed;\n }\n}\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n @if (pinnable) {\r\n <hermes-icon [shape]=\"collapsed ? 'pin' : 'unpin'\" class=\"nav-trigger-icon\"></hermes-icon>\r\n } @else {\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n }\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\r\n\r\n@Component({\r\n selector: '[hermesVerticalNavLink]',\r\n template: `\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <span class=\"nav-text\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n class: 'nav-link',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavLink implements OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(\r\n host: ElementRef<HTMLElement>,\r\n ref: ChangeDetectorRef,\r\n @Optional() @Inject(VerticalNavGroupService) navGroupService: VerticalNavGroupService | null\r\n ) {\r\n // Note: since the `VerticalNavGroupService` is an optional provider, we'll setup the event\r\n // listener only when the `[hermesVerticalLink]` is located within the `hermes-vertical-nav-group`.\r\n navGroupService &&\r\n fromEvent(host.nativeElement, 'click')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n navGroupService.expand();\r\n ref.markForCheck();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, OnDestroy } from '@angular/core';\r\n\r\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\r\n\r\n@Directive({\r\n selector: '[hermesVerticalNavIcon]',\r\n host: { class: 'nav-icon' },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavIcon implements OnDestroy {\r\n constructor(private _verticalNavIconService: VerticalNavIconService) {\r\n _verticalNavIconService.registerIcon();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._verticalNavIconService.unregisterIcon();\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { angleDoubleIcon, angleIcon, ClarityIcons, HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';\n\nimport { HermesVerticalNav } from './vertical-nav';\nimport { HermesVerticalNavGroup } from './vertical-nav-group';\nimport { HermesVerticalNavGroupChildren } from './vertical-nav-group-children';\nimport { HermesVerticalNavIcon } from './vertical-nav-icon';\nimport { HermesVerticalNavLink } from './vertical-nav-link';\n\nexport const HERMES_VERTICAL_NAV_DIRECTIVES: Type<any>[] = [\n HermesVerticalNav,\n HermesVerticalNavLink,\n HermesVerticalNavGroup,\n HermesVerticalNavGroupChildren,\n HermesVerticalNavIcon,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesConditionalModule, HermesFocusOnViewInitModule],\n declarations: [HERMES_VERTICAL_NAV_DIRECTIVES],\n exports: [HERMES_VERTICAL_NAV_DIRECTIVES, HermesConditionalModule, HermesIcon, HermesFocusOnViewInitModule],\n})\nexport class HermesVerticalNavModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon, angleDoubleIcon);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './vertical-nav-group-children';\r\nexport * from './vertical-nav-group';\r\nexport * from './vertical-nav';\r\nexport * from './vertical-nav-link';\r\nexport * from './vertical-nav-icon';\r\nexport * from './vertical-nav.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.VerticalNavGroupRegistrationService","i3.VerticalNavGroupService","i4.VerticalNavService","i1.VerticalNavService","i2.VerticalNavIconService","i3.VerticalNavGroupRegistrationService","i4","i1.VerticalNavIconService"],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, ViewEncapsulation, Component, Input, NgModule } from '@angular/core';
|
|
3
|
+
import { HermesIcon } from '@hermes-ui/angular/icon';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
7
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
8
|
+
* This software is released under MIT license.
|
|
9
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* @beta This mirrors the `@beta` status of `hermes-pagination` in `@hermes-ui/core` - the API may still change.
|
|
13
|
+
*
|
|
14
|
+
* Lays out pagination controls (`<hermes-pagination-button>`, a page indicator, an optional
|
|
15
|
+
* jump-to-page `hermesInput`) in a row. Always provide an `aria-label` describing what is being paginated.
|
|
16
|
+
*
|
|
17
|
+
* ```html
|
|
18
|
+
* <hermes-pagination aria-label="Pagination">
|
|
19
|
+
* <hermes-pagination-button action="first" ariaLabel="First page" [disabled]="page === 1"></hermes-pagination-button>
|
|
20
|
+
* <hermes-pagination-button action="prev" ariaLabel="Previous page" [disabled]="page === 1"></hermes-pagination-button>
|
|
21
|
+
* <span aria-label="current page">{{ page }} / {{ totalPages }}</span>
|
|
22
|
+
* <hermes-pagination-button action="next" ariaLabel="Next page" [disabled]="page === totalPages"></hermes-pagination-button>
|
|
23
|
+
* <hermes-pagination-button action="last" ariaLabel="Last page" [disabled]="page === totalPages"></hermes-pagination-button>
|
|
24
|
+
* </hermes-pagination>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
class HermesPagination {
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesPagination, isStandalone: true, selector: "hermes-pagination", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{--color: var(--hermes-global-typography-color-500, black);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--action-color: var(--color);display:flex;align-items:center;flex-wrap:nowrap;gap:var(--hermes-global-space-4);color:var(--color);font-size:var(--font-size)}::slotted(hermes-input[hermes-pagination-number]){--background: var(--hermes-alias-object-container-background);--border-radius: var(--hermes-alias-object-border-radius-100);--border: var(--hermes-alias-object-border-width-100) solid var(--hermes-alias-object-border-color);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--text-align: center}::slotted(span){display:block}::slotted(hermes-pagination-button:not([disabled])){--color: var(--action-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ExperimentalIsolatedShadowDom }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPagination, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'hermes-pagination', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--color: var(--hermes-global-typography-color-500, black);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--action-color: var(--color);display:flex;align-items:center;flex-wrap:nowrap;gap:var(--hermes-global-space-4);color:var(--color);font-size:var(--font-size)}::slotted(hermes-input[hermes-pagination-number]){--background: var(--hermes-alias-object-container-background);--border-radius: var(--hermes-alias-object-border-radius-100);--border: var(--hermes-alias-object-border-width-100) solid var(--hermes-alias-object-border-color);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--text-align: center}::slotted(span){display:block}::slotted(hermes-pagination-button:not([disabled])){--color: var(--action-color)}\n"] }]
|
|
34
|
+
}] });
|
|
35
|
+
|
|
36
|
+
/*
|
|
37
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
38
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
39
|
+
* This software is released under MIT license.
|
|
40
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
41
|
+
*/
|
|
42
|
+
// Mirrors getPaginationIconConfig() in @hermes-ui/core's pagination/utils.ts.
|
|
43
|
+
const ICON_CONFIG = {
|
|
44
|
+
first: { shape: 'step-forward-2', direction: 'down' },
|
|
45
|
+
prev: { shape: 'angle', direction: 'left' },
|
|
46
|
+
next: { shape: 'angle', direction: 'right' },
|
|
47
|
+
last: { shape: 'step-forward-2', direction: 'up' },
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* @beta Mirrors the `@beta` status of `hermes-pagination-button` in `@hermes-ui/core`.
|
|
51
|
+
*
|
|
52
|
+
* An icon-only action button meant to sit inside `<hermes-pagination>`. Always set `ariaLabel`
|
|
53
|
+
* (e.g. "First page", "Previous page") since the button carries no visible text.
|
|
54
|
+
*/
|
|
55
|
+
class HermesPaginationButton {
|
|
56
|
+
constructor() {
|
|
57
|
+
this.action = 'next';
|
|
58
|
+
this.disabled = false;
|
|
59
|
+
}
|
|
60
|
+
get icon() {
|
|
61
|
+
return ICON_CONFIG[this.action] ?? { shape: 'ellipsis-vertical', direction: 'up' };
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesPaginationButton, isStandalone: true, selector: "hermes-pagination-button", inputs: { action: "action", disabled: "disabled", ariaLabel: "ariaLabel" }, ngImport: i0, template: `
|
|
65
|
+
<button type="button" class="private-host" [disabled]="disabled" [attr.aria-label]="ariaLabel">
|
|
66
|
+
<hermes-icon [shape]="icon.shape" [direction]="icon.direction"></hermes-icon>
|
|
67
|
+
</button>
|
|
68
|
+
`, isInline: true, styles: [":host{--icon-size: var(--hermes-global-space-7);--color: var(--hermes-global-typography-color-300, hsl(198, 23%, 23%));--color-hover: var(--hermes-alias-object-interaction-color-hover);--color-active: var(--hermes-alias-object-interaction-color-active);--color-disabled: var(--hermes-alias-object-interaction-color-disabled);--outline: var(--hermes-alias-object-interaction-outline);--outline-offset: var(--hermes-alias-object-interaction-outline-offset);display:inline-block}.private-host{display:flex;align-items:center;justify-content:center;min-width:var(--icon-size);min-height:var(--icon-size);padding:0;border:none;background:transparent;color:var(--color);cursor:pointer}.private-host:hover:not(:disabled){color:var(--color-hover)}.private-host:active:not(:disabled){color:var(--color-active);transform:translateY(1px)}.private-host:disabled{color:var(--color-disabled);cursor:default}.private-host:focus-visible{outline:var(--outline);outline-offset:var(--outline-offset)}.private-host hermes-icon{width:var(--icon-size);height:var(--icon-size);pointer-events:none}\n"], dependencies: [{ kind: "component", type: HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ExperimentalIsolatedShadowDom }); }
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationButton, decorators: [{
|
|
71
|
+
type: Component,
|
|
72
|
+
args: [{ selector: 'hermes-pagination-button', template: `
|
|
73
|
+
<button type="button" class="private-host" [disabled]="disabled" [attr.aria-label]="ariaLabel">
|
|
74
|
+
<hermes-icon [shape]="icon.shape" [direction]="icon.direction"></hermes-icon>
|
|
75
|
+
</button>
|
|
76
|
+
`, encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom, changeDetection: ChangeDetectionStrategy.OnPush, imports: [HermesIcon], styles: [":host{--icon-size: var(--hermes-global-space-7);--color: var(--hermes-global-typography-color-300, hsl(198, 23%, 23%));--color-hover: var(--hermes-alias-object-interaction-color-hover);--color-active: var(--hermes-alias-object-interaction-color-active);--color-disabled: var(--hermes-alias-object-interaction-color-disabled);--outline: var(--hermes-alias-object-interaction-outline);--outline-offset: var(--hermes-alias-object-interaction-outline-offset);display:inline-block}.private-host{display:flex;align-items:center;justify-content:center;min-width:var(--icon-size);min-height:var(--icon-size);padding:0;border:none;background:transparent;color:var(--color);cursor:pointer}.private-host:hover:not(:disabled){color:var(--color-hover)}.private-host:active:not(:disabled){color:var(--color-active);transform:translateY(1px)}.private-host:disabled{color:var(--color-disabled);cursor:default}.private-host:focus-visible{outline:var(--outline);outline-offset:var(--outline-offset)}.private-host hermes-icon{width:var(--icon-size);height:var(--icon-size);pointer-events:none}\n"] }]
|
|
77
|
+
}], propDecorators: { action: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], disabled: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], ariaLabel: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}] } });
|
|
84
|
+
|
|
85
|
+
/*
|
|
86
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
87
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
88
|
+
* This software is released under MIT license.
|
|
89
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
90
|
+
*/
|
|
91
|
+
class HermesPaginationModule {
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
93
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, imports: [HermesPagination, HermesPaginationButton], exports: [HermesPagination, HermesPaginationButton] }); }
|
|
94
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, imports: [HermesPaginationButton] }); }
|
|
95
|
+
}
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, decorators: [{
|
|
97
|
+
type: NgModule,
|
|
98
|
+
args: [{
|
|
99
|
+
imports: [HermesPagination, HermesPaginationButton],
|
|
100
|
+
exports: [HermesPagination, HermesPaginationButton],
|
|
101
|
+
}]
|
|
102
|
+
}] });
|
|
103
|
+
|
|
104
|
+
/*
|
|
105
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
106
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
107
|
+
* This software is released under MIT license.
|
|
108
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Generated bundle index. Do not edit.
|
|
113
|
+
*/
|
|
114
|
+
|
|
115
|
+
export { HermesPagination, HermesPaginationButton, HermesPaginationModule };
|
|
116
|
+
//# sourceMappingURL=hermes-ui-angular-pagination.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-pagination.mjs","sources":["../../../pagination/pagination.ts","../../../pagination/pagination-button.ts","../../../pagination/pagination.module.ts","../../../pagination/index.ts","../../../pagination/hermes-ui-angular-pagination.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * @beta This mirrors the `@beta` status of `hermes-pagination` in `@hermes-ui/core` - the API may still change.\n *\n * Lays out pagination controls (`<hermes-pagination-button>`, a page indicator, an optional\n * jump-to-page `hermesInput`) in a row. Always provide an `aria-label` describing what is being paginated.\n *\n * ```html\n * <hermes-pagination aria-label=\"Pagination\">\n * <hermes-pagination-button action=\"first\" ariaLabel=\"First page\" [disabled]=\"page === 1\"></hermes-pagination-button>\n * <hermes-pagination-button action=\"prev\" ariaLabel=\"Previous page\" [disabled]=\"page === 1\"></hermes-pagination-button>\n * <span aria-label=\"current page\">{{ page }} / {{ totalPages }}</span>\n * <hermes-pagination-button action=\"next\" ariaLabel=\"Next page\" [disabled]=\"page === totalPages\"></hermes-pagination-button>\n * <hermes-pagination-button action=\"last\" ariaLabel=\"Last page\" [disabled]=\"page === totalPages\"></hermes-pagination-button>\n * </hermes-pagination>\n * ```\n */\n@Component({\n selector: 'hermes-pagination',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./pagination.component.scss'],\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HermesPagination {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { HermesIcon } from '@hermes-ui/angular/icon';\n\nexport type HermesPaginationAction = 'first' | 'prev' | 'next' | 'last';\n\ninterface PaginationIconConfig {\n shape: string;\n direction: 'up' | 'right' | 'down' | 'left';\n}\n\n// Mirrors getPaginationIconConfig() in @hermes-ui/core's pagination/utils.ts.\nconst ICON_CONFIG: Record<HermesPaginationAction, PaginationIconConfig> = {\n first: { shape: 'step-forward-2', direction: 'down' },\n prev: { shape: 'angle', direction: 'left' },\n next: { shape: 'angle', direction: 'right' },\n last: { shape: 'step-forward-2', direction: 'up' },\n};\n\n/**\n * @beta Mirrors the `@beta` status of `hermes-pagination-button` in `@hermes-ui/core`.\n *\n * An icon-only action button meant to sit inside `<hermes-pagination>`. Always set `ariaLabel`\n * (e.g. \"First page\", \"Previous page\") since the button carries no visible text.\n */\n@Component({\n selector: 'hermes-pagination-button',\n template: `\n <button type=\"button\" class=\"private-host\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\">\n <hermes-icon [shape]=\"icon.shape\" [direction]=\"icon.direction\"></hermes-icon>\n </button>\n `,\n styleUrls: ['./pagination-button.component.scss'],\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [HermesIcon],\n})\nexport class HermesPaginationButton {\n @Input() action: HermesPaginationAction = 'next';\n @Input() disabled = false;\n @Input() ariaLabel: string;\n\n get icon(): PaginationIconConfig {\n return ICON_CONFIG[this.action] ?? { shape: 'ellipsis-vertical', direction: 'up' };\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HermesPaginationButton } from './pagination-button';\nimport { HermesPagination } from './pagination';\n\n@NgModule({\n imports: [HermesPagination, HermesPaginationButton],\n exports: [HermesPagination, HermesPaginationButton],\n})\nexport class HermesPaginationModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './pagination';\nexport * from './pagination-button';\nexport * from './pagination.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,12 @@ import { HermesAccordionModule } from '@hermes-ui/angular/accordion';
|
|
|
4
4
|
export * from '@hermes-ui/angular/accordion';
|
|
5
5
|
import { HermesButtonModule } from '@hermes-ui/angular/button';
|
|
6
6
|
export * from '@hermes-ui/angular/button';
|
|
7
|
+
import { HermesCard } from '@hermes-ui/angular/card';
|
|
8
|
+
export * from '@hermes-ui/angular/card';
|
|
7
9
|
import { HermesDataModule } from '@hermes-ui/angular/data';
|
|
8
10
|
export * from '@hermes-ui/angular/data';
|
|
11
|
+
import { HermesDivider } from '@hermes-ui/angular/divider';
|
|
12
|
+
export * from '@hermes-ui/angular/divider';
|
|
9
13
|
import { HermesEmphasisModule } from '@hermes-ui/angular/emphasis';
|
|
10
14
|
export * from '@hermes-ui/angular/emphasis';
|
|
11
15
|
import { HermesFormsModule } from '@hermes-ui/angular/forms';
|
|
@@ -16,6 +20,8 @@ import { HermesLayoutModule } from '@hermes-ui/angular/layout';
|
|
|
16
20
|
export * from '@hermes-ui/angular/layout';
|
|
17
21
|
import { HermesModalModule, HermesSidePanelModule } from '@hermes-ui/angular/modal';
|
|
18
22
|
export * from '@hermes-ui/angular/modal';
|
|
23
|
+
import { HermesPaginationModule } from '@hermes-ui/angular/pagination';
|
|
24
|
+
export * from '@hermes-ui/angular/pagination';
|
|
19
25
|
import { HermesPopoverModule } from '@hermes-ui/angular/popover';
|
|
20
26
|
export * from '@hermes-ui/angular/popover';
|
|
21
27
|
import { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';
|
|
@@ -43,11 +49,14 @@ export * from '@hermes-ui/angular/collapsible-panel';
|
|
|
43
49
|
*/
|
|
44
50
|
class HermesModule {
|
|
45
51
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
46
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon], exports: [HermesEmphasisModule,
|
|
52
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon, HermesDivider, HermesCard], exports: [HermesEmphasisModule,
|
|
47
53
|
HermesDataModule,
|
|
54
|
+
HermesCard,
|
|
55
|
+
HermesDivider,
|
|
48
56
|
HermesIcon,
|
|
49
57
|
HermesIconModule,
|
|
50
58
|
HermesModalModule,
|
|
59
|
+
HermesPaginationModule,
|
|
51
60
|
HermesLoadingModule,
|
|
52
61
|
HermesConditionalModule,
|
|
53
62
|
HermesFocusOnViewInitModule,
|
|
@@ -64,10 +73,11 @@ class HermesModule {
|
|
|
64
73
|
HermesPopoverModuleNext,
|
|
65
74
|
HermesTimelineModule,
|
|
66
75
|
HermesToastModule] }); }
|
|
67
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon, HermesEmphasisModule,
|
|
76
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon, HermesDivider, HermesCard, HermesEmphasisModule,
|
|
68
77
|
HermesDataModule,
|
|
69
78
|
HermesIconModule,
|
|
70
79
|
HermesModalModule,
|
|
80
|
+
HermesPaginationModule,
|
|
71
81
|
HermesLoadingModule,
|
|
72
82
|
HermesConditionalModule,
|
|
73
83
|
HermesFocusOnViewInitModule,
|
|
@@ -88,13 +98,16 @@ class HermesModule {
|
|
|
88
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, decorators: [{
|
|
89
99
|
type: NgModule,
|
|
90
100
|
args: [{
|
|
91
|
-
imports: [HermesIcon],
|
|
101
|
+
imports: [HermesIcon, HermesDivider, HermesCard],
|
|
92
102
|
exports: [
|
|
93
103
|
HermesEmphasisModule,
|
|
94
104
|
HermesDataModule,
|
|
105
|
+
HermesCard,
|
|
106
|
+
HermesDivider,
|
|
95
107
|
HermesIcon,
|
|
96
108
|
HermesIconModule,
|
|
97
109
|
HermesModalModule,
|
|
110
|
+
HermesPaginationModule,
|
|
98
111
|
HermesLoadingModule,
|
|
99
112
|
HermesConditionalModule,
|
|
100
113
|
HermesFocusOnViewInitModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular.mjs","sources":["../../../hermes-angular.module.ts","../../../index.ts","../../../hermes-ui-angular.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { HermesAccordionModule } from '@hermes-ui/angular/accordion';\nimport { HermesButtonModule } from '@hermes-ui/angular/button';\nimport { HermesDataModule } from '@hermes-ui/angular/data';\nimport { HermesEmphasisModule } from '@hermes-ui/angular/emphasis';\nimport { HermesFormsModule } from '@hermes-ui/angular/forms';\nimport { HermesIcon, HermesIconModule } from '@hermes-ui/angular/icon';\nimport { HermesLayoutModule } from '@hermes-ui/angular/layout';\nimport { HermesModalModule, HermesSidePanelModule } from '@hermes-ui/angular/modal';\nimport { HermesPopoverModule } from '@hermes-ui/angular/popover';\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\nimport { HermesProgressBarModule } from '@hermes-ui/angular/progress/progress-bars';\nimport { HermesSpinnerModule } from '@hermes-ui/angular/progress/spinner';\nimport { HermesStepperModule } from '@hermes-ui/angular/stepper';\nimport { HermesTimelineModule } from '@hermes-ui/angular/timeline';\nimport { HermesToastModule } from '@hermes-ui/angular/toast';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule, HermesLoadingModule } from '@hermes-ui/angular/utils';\nimport { HermesWizardModule } from '@hermes-ui/angular/wizard';\n\n@NgModule({\n imports: [HermesIcon],\n exports: [\n HermesEmphasisModule,\n HermesDataModule,\n HermesIcon,\n HermesIconModule,\n HermesModalModule,\n HermesLoadingModule,\n HermesConditionalModule,\n HermesFocusOnViewInitModule,\n HermesButtonModule,\n HermesFormsModule,\n HermesLayoutModule,\n HermesPopoverModule,\n HermesWizardModule,\n HermesSidePanelModule,\n HermesAccordionModule,\n HermesStepperModule,\n HermesSpinnerModule,\n HermesProgressBarModule,\n HermesPopoverModuleNext,\n HermesTimelineModule,\n HermesToastModule,\n ],\n})\nexport class HermesModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './hermes-angular.module';\n\nexport * from '@hermes-ui/angular/button';\nexport * from '@hermes-ui/angular/data';\nexport * from '@hermes-ui/angular/emphasis';\nexport * from '@hermes-ui/angular/forms';\nexport * from '@hermes-ui/angular/icon';\nexport * from '@hermes-ui/angular/layout';\nexport * from '@hermes-ui/angular/modal';\nexport * from '@hermes-ui/angular/popover';\nexport * from '@hermes-ui/angular/utils';\nexport * from '@hermes-ui/angular/wizard';\nexport * from '@hermes-ui/angular/collapsible-panel';\nexport * from '@hermes-ui/angular/accordion';\nexport * from '@hermes-ui/angular/stepper';\nexport * from '@hermes-ui/angular/progress/spinner';\nexport * from '@hermes-ui/angular/progress/progress-bars';\nexport * from '@hermes-ui/angular/timeline';\nexport * from '@hermes-ui/angular/toast';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular.mjs","sources":["../../../hermes-angular.module.ts","../../../index.ts","../../../hermes-ui-angular.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { HermesAccordionModule } from '@hermes-ui/angular/accordion';\nimport { HermesButtonModule } from '@hermes-ui/angular/button';\nimport { HermesCard } from '@hermes-ui/angular/card';\nimport { HermesDataModule } from '@hermes-ui/angular/data';\nimport { HermesDivider } from '@hermes-ui/angular/divider';\nimport { HermesEmphasisModule } from '@hermes-ui/angular/emphasis';\nimport { HermesFormsModule } from '@hermes-ui/angular/forms';\nimport { HermesIcon, HermesIconModule } from '@hermes-ui/angular/icon';\nimport { HermesLayoutModule } from '@hermes-ui/angular/layout';\nimport { HermesModalModule, HermesSidePanelModule } from '@hermes-ui/angular/modal';\nimport { HermesPaginationModule } from '@hermes-ui/angular/pagination';\nimport { HermesPopoverModule } from '@hermes-ui/angular/popover';\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\nimport { HermesProgressBarModule } from '@hermes-ui/angular/progress/progress-bars';\nimport { HermesSpinnerModule } from '@hermes-ui/angular/progress/spinner';\nimport { HermesStepperModule } from '@hermes-ui/angular/stepper';\nimport { HermesTimelineModule } from '@hermes-ui/angular/timeline';\nimport { HermesToastModule } from '@hermes-ui/angular/toast';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule, HermesLoadingModule } from '@hermes-ui/angular/utils';\nimport { HermesWizardModule } from '@hermes-ui/angular/wizard';\n\n@NgModule({\n imports: [HermesIcon, HermesDivider, HermesCard],\n exports: [\n HermesEmphasisModule,\n HermesDataModule,\n HermesCard,\n HermesDivider,\n HermesIcon,\n HermesIconModule,\n HermesModalModule,\n HermesPaginationModule,\n HermesLoadingModule,\n HermesConditionalModule,\n HermesFocusOnViewInitModule,\n HermesButtonModule,\n HermesFormsModule,\n HermesLayoutModule,\n HermesPopoverModule,\n HermesWizardModule,\n HermesSidePanelModule,\n HermesAccordionModule,\n HermesStepperModule,\n HermesSpinnerModule,\n HermesProgressBarModule,\n HermesPopoverModuleNext,\n HermesTimelineModule,\n HermesToastModule,\n ],\n})\nexport class HermesModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './hermes-angular.module';\n\nexport * from '@hermes-ui/angular/button';\nexport * from '@hermes-ui/angular/card';\nexport * from '@hermes-ui/angular/data';\nexport * from '@hermes-ui/angular/divider';\nexport * from '@hermes-ui/angular/emphasis';\nexport * from '@hermes-ui/angular/forms';\nexport * from '@hermes-ui/angular/icon';\nexport * from '@hermes-ui/angular/layout';\nexport * from '@hermes-ui/angular/modal';\nexport * from '@hermes-ui/angular/pagination';\nexport * from '@hermes-ui/angular/popover';\nexport * from '@hermes-ui/angular/utils';\nexport * from '@hermes-ui/angular/wizard';\nexport * from '@hermes-ui/angular/collapsible-panel';\nexport * from '@hermes-ui/angular/accordion';\nexport * from '@hermes-ui/angular/stepper';\nexport * from '@hermes-ui/angular/progress/spinner';\nexport * from '@hermes-ui/angular/progress/progress-bars';\nexport * from '@hermes-ui/angular/timeline';\nexport * from '@hermes-ui/angular/toast';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;MAqDU,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YA5Bb,UAAU,EAAE,aAAa,EAAE,UAAU,aAE7C,oBAAoB;YACpB,gBAAgB;YAChB,UAAU;YACV,aAAa;YACb,UAAU;YACV,gBAAgB;YAChB,iBAAiB;YACjB,sBAAsB;YACtB,mBAAmB;YACnB,uBAAuB;YACvB,2BAA2B;YAC3B,kBAAkB;YAClB,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YA5Bb,UAAU,EAAE,aAAa,EAAE,UAAU,EAE7C,oBAAoB;YACpB,gBAAgB;YAIhB,gBAAgB;YAChB,iBAAiB;YACjB,sBAAsB;YACtB,mBAAmB;YACnB,uBAAuB;YACvB,2BAA2B;YAC3B,kBAAkB;YAClB,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;;4FAGR,YAAY,EAAA,UAAA,EAAA,CAAA;kBA7BxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC;AAChD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,gBAAgB;wBAChB,UAAU;wBACV,aAAa;wBACb,UAAU;wBACV,gBAAgB;wBAChB,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB,uBAAuB;wBACvB,2BAA2B;wBAC3B,kBAAkB;wBAClB,iBAAiB;wBACjB,kBAAkB;wBAClB,mBAAmB;wBACnB,kBAAkB;wBAClB,qBAAqB;wBACrB,qBAAqB;wBACrB,mBAAmB;wBACnB,mBAAmB;wBACnB,uBAAuB;wBACvB,uBAAuB;wBACvB,oBAAoB;wBACpB,iBAAiB;AAClB,qBAAA;AACF,iBAAA;;;ACzDD;;;;;AAKG;;ACLH;;AAEG;;"}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
@use '../../styles/core/tokens/variables.tokens' as tokens;
|
|
9
9
|
@use 'variables.vertical-nav' as vertical-nav-variables;
|
|
10
|
-
@use '../tabs/mixins.tabs' as tabs-mixins;
|
|
11
10
|
|
|
12
11
|
@mixin vertical-nav-divider($position: 'border-top') {
|
|
13
12
|
#{$position}: vertical-nav-variables.$hermes-vertical-nav-trigger-divider-border-width solid
|
|
@@ -15,17 +14,14 @@
|
|
|
15
14
|
}
|
|
16
15
|
@mixin vertical-nav-link-colors() {
|
|
17
16
|
color: vertical-nav-variables.$hermes-vertical-nav-item-color;
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
// shadcn sidebar: item ativo/hover é um "pill" de fundo arredondado, sem a
|
|
18
|
+
// barra de borda à esquerda que o Clarity usava (nav-link-border-appearance).
|
|
19
|
+
border-radius: vertical-nav-variables.$hermes-vertical-nav-item-border-radius;
|
|
20
20
|
|
|
21
21
|
&.active {
|
|
22
22
|
color: vertical-nav-variables.$hermes-vertical-nav-item-active-color;
|
|
23
23
|
background-color: vertical-nav-variables.$hermes-vertical-nav-selected-bg-color;
|
|
24
24
|
|
|
25
|
-
&::before {
|
|
26
|
-
border-color: tokens.$hermes-alias-object-interaction-background-highlight;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
25
|
.nav-icon {
|
|
30
26
|
fill: vertical-nav-variables.$hermes-vertical-nav-icon-active-color;
|
|
31
27
|
}
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
--hermes-vertical-nav-item-top-level-font-weight: #{tokens.$hermes-alias-typography-font-weight-semibold};
|
|
18
18
|
--hermes-vertical-nav-header-font-weight: #{tokens.$hermes-alias-typography-font-weight-semibold};
|
|
19
19
|
--hermes-vertical-nav-trigger-divider-border-width: #{tokens.$hermes-global-space-1};
|
|
20
|
+
// shadcn sidebar: item ativo/hover vira um pill arredondado (rounded-md),
|
|
21
|
+
// e a lista de itens ganha um respiro (inset) da borda do container em
|
|
22
|
+
// vez de ir de ponta a ponta.
|
|
23
|
+
--hermes-vertical-nav-item-border-radius: #{mixins.baselinePx(6)};
|
|
24
|
+
--hermes-vertical-nav-content-inset: #{mixins.baselinePx(8)};
|
|
20
25
|
|
|
21
26
|
&,
|
|
22
27
|
& [hermes-density] {
|
|
@@ -28,12 +33,12 @@
|
|
|
28
33
|
// Vertical Nav - Align
|
|
29
34
|
--hermes-vertical-nav-item-padding: #{density.$hermes-base-vertical-offset-m} #{density.$hermes-base-horizontal-offset-m}
|
|
30
35
|
#{density.$hermes-base-vertical-offset-m} #{density.$hermes-base-horizontal-offset-xl};
|
|
36
|
+
// Antes compensava a ausência de ícone com um padding-left gigante
|
|
37
|
+
// (calc com o tamanho do ícone) pra alinhar o texto. Agora quem faz
|
|
38
|
+
// esse trabalho é o indent + linha vertical de .nav-group-children
|
|
39
|
+
// (ver _vertical-nav.clarity.scss) — aqui só o padding normal do item.
|
|
31
40
|
--hermes-vertical-nav-item-child-padding: #{density.$hermes-base-vertical-offset-m}
|
|
32
|
-
#{density.$hermes-base-horizontal-offset-m}
|
|
33
|
-
calc(
|
|
34
|
-
#{vertical-nav-variables.$hermes-vertical-nav-icon-size} + #{density.$hermes-base-horizontal-offset-xl} +
|
|
35
|
-
#{density.$hermes-base-gap-xs}
|
|
36
|
-
);
|
|
41
|
+
#{density.$hermes-base-horizontal-offset-m};
|
|
37
42
|
--hermes-vertical-nav-item-height: #{density.$hermes-base-row-height-m};
|
|
38
43
|
--hermes-vertical-nav-min-width: #{density.$hermes-base-layout-space-3xl};
|
|
39
44
|
--hermes-vertical-nav-toggle-button-size: #{density.$hermes-base-row-height-m};
|
|
@@ -25,6 +25,8 @@ $hermes-vertical-nav-item-child-padding: var(--hermes-vertical-nav-item-child-pa
|
|
|
25
25
|
$hermes-vertical-nav-item-height: var(--hermes-vertical-nav-item-height) !default;
|
|
26
26
|
$hermes-vertical-nav-min-width: var(--hermes-vertical-nav-min-width) !default;
|
|
27
27
|
$hermes-vertical-nav-item-active-font-weight: var(--hermes-vertical-nav-item-active-font-weight) !default;
|
|
28
|
+
$hermes-vertical-nav-item-border-radius: var(--hermes-vertical-nav-item-border-radius) !default;
|
|
29
|
+
$hermes-vertical-nav-content-inset: var(--hermes-vertical-nav-content-inset) !default;
|
|
28
30
|
|
|
29
31
|
$hermes-vertical-nav-selected-bg-color: var(--hermes-vertical-nav-selected-bg-color) !default;
|
|
30
32
|
$hermes-vertical-nav-selected-hover-bg-color: var(
|
|
@@ -43,6 +43,13 @@
|
|
|
43
43
|
overflow: hidden auto;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
// shadcn sidebar: os itens ficam "flutuando" com um respiro da borda do
|
|
47
|
+
// container, não de ponta a ponta -- só quando expandida, pra não mexer
|
|
48
|
+
// no cálculo (já bem specific) dos ícones no modo colapsado/rail.
|
|
49
|
+
&:not(.is-collapsed) .nav-content {
|
|
50
|
+
padding: vertical-nav-variables.$hermes-vertical-nav-content-inset;
|
|
51
|
+
}
|
|
52
|
+
|
|
46
53
|
.nav-group {
|
|
47
54
|
//Display
|
|
48
55
|
display: block;
|
|
@@ -100,6 +107,13 @@
|
|
|
100
107
|
|
|
101
108
|
.nav-group-children {
|
|
102
109
|
overflow-y: hidden;
|
|
110
|
+
|
|
111
|
+
// shadcn sidebar: linha vertical marcando o subnível — os itens ficam
|
|
112
|
+
// indentados depois dela, e o pill de hover/active de cada um fica
|
|
113
|
+
// mais estreito (começa depois da linha), não do tamanho do item pai.
|
|
114
|
+
margin-left: #{mixins.baselinePx(20)};
|
|
115
|
+
padding-left: #{mixins.baselinePx(10)};
|
|
116
|
+
border-left: #{tokens.$hermes-alias-object-border-width-100} solid vertical-nav-variables.$hermes-vertical-nav-divider-color;
|
|
103
117
|
}
|
|
104
118
|
|
|
105
119
|
.nav-trigger,
|