@hermes-ui/angular 0.1.5 → 0.1.7
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/README.md +52 -52
- package/button/_properties.buttons.scss +387 -387
- package/fesm2022/hermes-ui-angular-accordion.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-a11y.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +28 -28
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-dialog.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-menu.mjs +8 -8
- package/fesm2022/hermes-ui-angular-addons-menu.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-stepper.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-tabs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-testing.mjs +78 -78
- package/fesm2022/hermes-ui-angular-addons-testing.mjs.map +1 -1
- 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-addons-var.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-workflow.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-button.mjs +74 -74
- package/fesm2022/hermes-ui-angular-button.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-collapsible-panel.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs +926 -926
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs +114 -114
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs +12 -12
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-divider.mjs +46 -0
- package/fesm2022/hermes-ui-angular-divider.mjs.map +1 -0
- package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis-badge.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs +16 -16
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +50 -50
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs +126 -126
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs +46 -46
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +375 -375
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs +190 -190
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-input.mjs +52 -52
- package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs +38 -38
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs +80 -80
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-password.mjs +58 -58
- package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-radio.mjs +50 -50
- package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-range.mjs +44 -44
- package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-select.mjs +8 -8
- package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs +38 -38
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-main-container.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-nav.mjs +46 -46
- package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs +146 -146
- package/fesm2022/hermes-ui-angular-layout-tabs.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-layout.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-modal.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-popover-common.mjs +26 -3
- package/fesm2022/hermes-ui-angular-popover-common.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-dropdown.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs +66 -66
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-tooltip.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs +10 -10
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-progress-spinner.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-toast.mjs +4 -4
- package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-utils-conditional.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-wizard.mjs +56 -56
- package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular.mjs +16 -3
- package/fesm2022/hermes-ui-angular.mjs.map +1 -1
- package/hermes-ui.scss +7 -7
- 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/toast/README.md +65 -65
- package/toast/_properties.toast.scss +56 -56
- package/toast/_toast.clarity.scss +190 -190
- package/toast/_variables.toast.scss +33 -33
- 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-data-datagrid.d.ts.map +1 -1
- 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-popover-common.d.ts +4 -3
- package/types/hermes-ui-angular-popover-common.d.ts.map +1 -1
- package/types/hermes-ui-angular-wizard.d.ts.map +1 -1
- package/types/hermes-ui-angular.d.ts +23 -17
- package/types/hermes-ui-angular.d.ts.map +1 -1
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
3
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
-
* This software is released under MIT license.
|
|
5
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
@use '../styles/mixins';
|
|
9
|
-
@use '../styles/core/tokens/variables.tokens' as tokens;
|
|
10
|
-
@use '../styles/variables/variables.density' as density;
|
|
11
|
-
|
|
12
|
-
@include mixins.exports('toast.properties') {
|
|
13
|
-
@include mixins.root-or-host() {
|
|
14
|
-
// Layout - shadcn's Toast viewport is `w-auto max-w-sm` (384px) with a 0.75rem
|
|
15
|
-
// gap/peek between stacked cards and 1rem inset from the viewport edge.
|
|
16
|
-
--hermes-toast-viewport-inset: #{mixins.baselinePx(16)};
|
|
17
|
-
--hermes-toast-max-width: #{mixins.baselinePx(384)};
|
|
18
|
-
--hermes-toast-gap: #{mixins.baselinePx(12)};
|
|
19
|
-
--hermes-toast-peek: #{mixins.baselinePx(12)};
|
|
20
|
-
// Fallback height used before the item's own ResizeObserver reports its real,
|
|
21
|
-
// content-driven height (see toast-item.ts) - only visible for one frame on insert.
|
|
22
|
-
--hermes-toast-fallback-height: #{mixins.baselinePx(56)};
|
|
23
|
-
--hermes-toast-content-padding: #{mixins.baselinePx(16)};
|
|
24
|
-
--hermes-toast-content-gap: #{mixins.baselinePx(12)};
|
|
25
|
-
--hermes-toast-icon-size: #{mixins.baselinePx(16)};
|
|
26
|
-
|
|
27
|
-
&,
|
|
28
|
-
& [hermes-density] {
|
|
29
|
-
// shadcn's default --radius token (0.625rem @ Tailwind's 16px root = 10px)
|
|
30
|
-
--hermes-toast-border-radius: #{mixins.baselinePx(10)};
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
&,
|
|
34
|
-
& [hermes-theme] {
|
|
35
|
-
// shadcn's Toast is a neutral `bg-popover` surface - unlike hermes-alert, the
|
|
36
|
-
// status color lives only on the icon, not on the card background.
|
|
37
|
-
--hermes-toast-bg-color: #{tokens.$hermes-alias-object-overlay-background};
|
|
38
|
-
--hermes-toast-color: #{tokens.$hermes-alias-typography-color-400};
|
|
39
|
-
--hermes-toast-description-color: #{tokens.$hermes-alias-typography-color-300};
|
|
40
|
-
--hermes-toast-border-color: #{tokens.$hermes-alias-object-container-border-color};
|
|
41
|
-
--hermes-toast-border-width: #{tokens.$hermes-alias-object-border-width-100};
|
|
42
|
-
// one step below the modal's shadow-300: toasts sit above page content but
|
|
43
|
-
// below the modal/dialog surface when both happen to be visible together
|
|
44
|
-
--hermes-toast-box-shadow: #{tokens.$hermes-alias-object-shadow-200};
|
|
45
|
-
|
|
46
|
-
--hermes-toast-info-icon-color: #{tokens.$hermes-alias-status-info};
|
|
47
|
-
--hermes-toast-success-icon-color: #{tokens.$hermes-alias-status-success};
|
|
48
|
-
--hermes-toast-warning-icon-color: #{tokens.$hermes-alias-status-warning-dark};
|
|
49
|
-
--hermes-toast-danger-icon-color: #{tokens.$hermes-alias-status-danger};
|
|
50
|
-
|
|
51
|
-
--hermes-toast-action-color: #{tokens.$hermes-alias-typography-color-400};
|
|
52
|
-
--hermes-toast-close-color: var(--hermes-close-color);
|
|
53
|
-
--hermes-toast-close-color-hover: var(--hermes-close-color-hover);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
3
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
+
* This software is released under MIT license.
|
|
5
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@use '../styles/mixins';
|
|
9
|
+
@use '../styles/core/tokens/variables.tokens' as tokens;
|
|
10
|
+
@use '../styles/variables/variables.density' as density;
|
|
11
|
+
|
|
12
|
+
@include mixins.exports('toast.properties') {
|
|
13
|
+
@include mixins.root-or-host() {
|
|
14
|
+
// Layout - shadcn's Toast viewport is `w-auto max-w-sm` (384px) with a 0.75rem
|
|
15
|
+
// gap/peek between stacked cards and 1rem inset from the viewport edge.
|
|
16
|
+
--hermes-toast-viewport-inset: #{mixins.baselinePx(16)};
|
|
17
|
+
--hermes-toast-max-width: #{mixins.baselinePx(384)};
|
|
18
|
+
--hermes-toast-gap: #{mixins.baselinePx(12)};
|
|
19
|
+
--hermes-toast-peek: #{mixins.baselinePx(12)};
|
|
20
|
+
// Fallback height used before the item's own ResizeObserver reports its real,
|
|
21
|
+
// content-driven height (see toast-item.ts) - only visible for one frame on insert.
|
|
22
|
+
--hermes-toast-fallback-height: #{mixins.baselinePx(56)};
|
|
23
|
+
--hermes-toast-content-padding: #{mixins.baselinePx(16)};
|
|
24
|
+
--hermes-toast-content-gap: #{mixins.baselinePx(12)};
|
|
25
|
+
--hermes-toast-icon-size: #{mixins.baselinePx(16)};
|
|
26
|
+
|
|
27
|
+
&,
|
|
28
|
+
& [hermes-density] {
|
|
29
|
+
// shadcn's default --radius token (0.625rem @ Tailwind's 16px root = 10px)
|
|
30
|
+
--hermes-toast-border-radius: #{mixins.baselinePx(10)};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&,
|
|
34
|
+
& [hermes-theme] {
|
|
35
|
+
// shadcn's Toast is a neutral `bg-popover` surface - unlike hermes-alert, the
|
|
36
|
+
// status color lives only on the icon, not on the card background.
|
|
37
|
+
--hermes-toast-bg-color: #{tokens.$hermes-alias-object-overlay-background};
|
|
38
|
+
--hermes-toast-color: #{tokens.$hermes-alias-typography-color-400};
|
|
39
|
+
--hermes-toast-description-color: #{tokens.$hermes-alias-typography-color-300};
|
|
40
|
+
--hermes-toast-border-color: #{tokens.$hermes-alias-object-container-border-color};
|
|
41
|
+
--hermes-toast-border-width: #{tokens.$hermes-alias-object-border-width-100};
|
|
42
|
+
// one step below the modal's shadow-300: toasts sit above page content but
|
|
43
|
+
// below the modal/dialog surface when both happen to be visible together
|
|
44
|
+
--hermes-toast-box-shadow: #{tokens.$hermes-alias-object-shadow-200};
|
|
45
|
+
|
|
46
|
+
--hermes-toast-info-icon-color: #{tokens.$hermes-alias-status-info};
|
|
47
|
+
--hermes-toast-success-icon-color: #{tokens.$hermes-alias-status-success};
|
|
48
|
+
--hermes-toast-warning-icon-color: #{tokens.$hermes-alias-status-warning-dark};
|
|
49
|
+
--hermes-toast-danger-icon-color: #{tokens.$hermes-alias-status-danger};
|
|
50
|
+
|
|
51
|
+
--hermes-toast-action-color: #{tokens.$hermes-alias-typography-color-400};
|
|
52
|
+
--hermes-toast-close-color: var(--hermes-close-color);
|
|
53
|
+
--hermes-toast-close-color-hover: var(--hermes-close-color-hover);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,190 +1,190 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
3
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
-
* This software is released under MIT license.
|
|
5
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
@use 'sass:map';
|
|
9
|
-
@use 'sass:meta';
|
|
10
|
-
@use '../styles/mixins';
|
|
11
|
-
@use '../styles/variables/variables';
|
|
12
|
-
@use '../styles/variables/variables.density' as density;
|
|
13
|
-
@use '../styles/core/tokens/variables.tokens' as tokens;
|
|
14
|
-
@use 'variables.toast' as toast-variables;
|
|
15
|
-
|
|
16
|
-
@include meta.load-css('properties.toast');
|
|
17
|
-
@include mixins.exports('toast.clarity') {
|
|
18
|
-
// Mirrors shadcn's toast primitive: 500ms, ease-out-expo-ish curve. Kept as a raw
|
|
19
|
-
// value (not $hermes-global-animation-easing-secondary, which is a bouncier overshoot
|
|
20
|
-
// curve) so the slide feels identical to the shadcn reference. Also set in
|
|
21
|
-
// toaster.ts's Angular `animations: []` for the enter/leave transitions - keep both
|
|
22
|
-
// in sync if this ever changes.
|
|
23
|
-
$toast-transition-duration: tokens.$hermes-global-animation-duration-slow;
|
|
24
|
-
$toast-transition-easing: cubic-bezier(0.22, 1, 0.36, 1);
|
|
25
|
-
|
|
26
|
-
hermes-toaster {
|
|
27
|
-
position: fixed;
|
|
28
|
-
z-index: map.get(variables.$hermes-layers, toast);
|
|
29
|
-
inset-block-end: toast-variables.$hermes-toast-viewport-inset;
|
|
30
|
-
inset-inline-end: toast-variables.$hermes-toast-viewport-inset;
|
|
31
|
-
width: 100%;
|
|
32
|
-
max-width: toast-variables.$hermes-toast-max-width;
|
|
33
|
-
// The viewport itself never intercepts clicks; only the toasts inside it do, so
|
|
34
|
-
// page content underneath the empty parts of the stack stays fully interactive.
|
|
35
|
-
pointer-events: none;
|
|
36
|
-
|
|
37
|
-
// corners: shadcn's <Toaster/> defaults to bottom, `sm:right-4 sm:left-auto` -
|
|
38
|
-
// bottom-right below is the hermes default, the rest are opt-in via
|
|
39
|
-
// [hermesToasterPosition].
|
|
40
|
-
&[data-position='bottom-left'] {
|
|
41
|
-
inset-inline-end: auto;
|
|
42
|
-
inset-inline-start: toast-variables.$hermes-toast-viewport-inset;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
&[data-position='top-right'],
|
|
46
|
-
&[data-position='top-left'] {
|
|
47
|
-
inset-block-end: auto;
|
|
48
|
-
inset-block-start: toast-variables.$hermes-toast-viewport-inset;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
&[data-position='top-left'] {
|
|
52
|
-
inset-inline-end: auto;
|
|
53
|
-
inset-inline-start: toast-variables.$hermes-toast-viewport-inset;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@media screen and (max-width: map.get(variables.$hermes-grid-breakpoints, sm)) {
|
|
57
|
-
inset-inline: toast-variables.$hermes-toast-viewport-inset;
|
|
58
|
-
max-width: none;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
hermes-toast-item {
|
|
63
|
-
// Per-item stacking state. --hermes-toast-index (0 = frontmost/newest) is set by
|
|
64
|
-
// toast-item.ts; --hermes-toast-height is kept in sync with the item's real
|
|
65
|
-
// rendered height by a ResizeObserver in the same file, falling back to a fixed
|
|
66
|
-
// estimate for the single frame before that first measurement lands.
|
|
67
|
-
--index: var(--hermes-toast-index, 0);
|
|
68
|
-
--height: var(--hermes-toast-height, #{toast-variables.$hermes-toast-fallback-height});
|
|
69
|
-
// shadcn's stack: each toast behind the front one shrinks by 10% and only peeks
|
|
70
|
-
// out by --peek, until the group is expanded (hovered/focused).
|
|
71
|
-
--scale: max(0, calc(1 - (var(--index) * 0.1)));
|
|
72
|
-
--shrink: calc(1 - var(--scale));
|
|
73
|
-
|
|
74
|
-
position: absolute;
|
|
75
|
-
inset-inline: 0;
|
|
76
|
-
inset-block-end: 0;
|
|
77
|
-
display: block;
|
|
78
|
-
width: 100%;
|
|
79
|
-
transform-origin: bottom center;
|
|
80
|
-
transform: translateY(
|
|
81
|
-
calc((var(--index) * #{toast-variables.$hermes-toast-peek} * -1) - (var(--shrink) * var(--height)))
|
|
82
|
-
)
|
|
83
|
-
scale(var(--scale));
|
|
84
|
-
transition:
|
|
85
|
-
transform $toast-transition-duration $toast-transition-easing,
|
|
86
|
-
opacity tokens.$hermes-global-animation-duration-quick ease;
|
|
87
|
-
z-index: calc(1000 - var(--index));
|
|
88
|
-
pointer-events: auto;
|
|
89
|
-
|
|
90
|
-
&.limited {
|
|
91
|
-
opacity: 0;
|
|
92
|
-
pointer-events: none;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
hermes-toaster.expanded hermes-toast-item {
|
|
97
|
-
transform: translateY(calc(var(--index) * (var(--height) + #{toast-variables.$hermes-toast-gap}) * -1));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.toast {
|
|
101
|
-
display: flex;
|
|
102
|
-
align-items: center;
|
|
103
|
-
gap: toast-variables.$hermes-toast-content-gap;
|
|
104
|
-
width: 100%;
|
|
105
|
-
box-sizing: border-box;
|
|
106
|
-
padding: toast-variables.$hermes-toast-content-padding;
|
|
107
|
-
background-color: toast-variables.$hermes-toast-bg-color;
|
|
108
|
-
color: toast-variables.$hermes-toast-color;
|
|
109
|
-
border: toast-variables.$hermes-toast-border-width solid toast-variables.$hermes-toast-border-color;
|
|
110
|
-
border-radius: toast-variables.$hermes-toast-border-radius;
|
|
111
|
-
box-shadow: toast-variables.$hermes-toast-box-shadow;
|
|
112
|
-
|
|
113
|
-
@include mixins.generate-typography-token('BODY-14-RG-STD');
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.toast-icon {
|
|
117
|
-
flex: 0 0 auto;
|
|
118
|
-
|
|
119
|
-
@include mixins.equilateral(toast-variables.$hermes-toast-icon-size);
|
|
120
|
-
|
|
121
|
-
&.spinner {
|
|
122
|
-
@include mixins.min-equilateral(toast-variables.$hermes-toast-icon-size);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.toast-info .toast-icon {
|
|
127
|
-
fill: toast-variables.$hermes-toast-info-icon-color;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.toast-success .toast-icon {
|
|
131
|
-
fill: toast-variables.$hermes-toast-success-icon-color;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.toast-warning .toast-icon {
|
|
135
|
-
fill: toast-variables.$hermes-toast-warning-icon-color;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.toast-danger .toast-icon {
|
|
139
|
-
fill: toast-variables.$hermes-toast-danger-icon-color;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
.toast-content {
|
|
143
|
-
flex: 1 1 auto;
|
|
144
|
-
min-width: 0;
|
|
145
|
-
display: flex;
|
|
146
|
-
flex-direction: column;
|
|
147
|
-
gap: density.$hermes-base-gap-xs;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.toast-title {
|
|
151
|
-
@include mixins.generate-typography-token('BODY-14-MD-STD');
|
|
152
|
-
|
|
153
|
-
color: toast-variables.$hermes-toast-color;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
.toast-description {
|
|
157
|
-
@include mixins.generate-typography-token('BODY-14-RG-STD');
|
|
158
|
-
|
|
159
|
-
color: toast-variables.$hermes-toast-description-color;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
.toast-action {
|
|
163
|
-
flex: 0 0 auto;
|
|
164
|
-
color: toast-variables.$hermes-toast-action-color;
|
|
165
|
-
text-decoration: underline;
|
|
166
|
-
white-space: nowrap;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.toast-close {
|
|
170
|
-
flex: 0 0 auto;
|
|
171
|
-
float: none;
|
|
172
|
-
color: toast-variables.$hermes-toast-close-color;
|
|
173
|
-
|
|
174
|
-
@include mixins.equilateral(density.$hermes-base-icon-size-s);
|
|
175
|
-
|
|
176
|
-
hermes-icon,
|
|
177
|
-
hermes-icon {
|
|
178
|
-
fill: toast-variables.$hermes-toast-close-color;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
&:hover {
|
|
182
|
-
color: toast-variables.$hermes-toast-close-color-hover;
|
|
183
|
-
|
|
184
|
-
hermes-icon,
|
|
185
|
-
hermes-icon {
|
|
186
|
-
fill: toast-variables.$hermes-toast-close-color-hover;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
3
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
+
* This software is released under MIT license.
|
|
5
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
@use 'sass:map';
|
|
9
|
+
@use 'sass:meta';
|
|
10
|
+
@use '../styles/mixins';
|
|
11
|
+
@use '../styles/variables/variables';
|
|
12
|
+
@use '../styles/variables/variables.density' as density;
|
|
13
|
+
@use '../styles/core/tokens/variables.tokens' as tokens;
|
|
14
|
+
@use 'variables.toast' as toast-variables;
|
|
15
|
+
|
|
16
|
+
@include meta.load-css('properties.toast');
|
|
17
|
+
@include mixins.exports('toast.clarity') {
|
|
18
|
+
// Mirrors shadcn's toast primitive: 500ms, ease-out-expo-ish curve. Kept as a raw
|
|
19
|
+
// value (not $hermes-global-animation-easing-secondary, which is a bouncier overshoot
|
|
20
|
+
// curve) so the slide feels identical to the shadcn reference. Also set in
|
|
21
|
+
// toaster.ts's Angular `animations: []` for the enter/leave transitions - keep both
|
|
22
|
+
// in sync if this ever changes.
|
|
23
|
+
$toast-transition-duration: tokens.$hermes-global-animation-duration-slow;
|
|
24
|
+
$toast-transition-easing: cubic-bezier(0.22, 1, 0.36, 1);
|
|
25
|
+
|
|
26
|
+
hermes-toaster {
|
|
27
|
+
position: fixed;
|
|
28
|
+
z-index: map.get(variables.$hermes-layers, toast);
|
|
29
|
+
inset-block-end: toast-variables.$hermes-toast-viewport-inset;
|
|
30
|
+
inset-inline-end: toast-variables.$hermes-toast-viewport-inset;
|
|
31
|
+
width: 100%;
|
|
32
|
+
max-width: toast-variables.$hermes-toast-max-width;
|
|
33
|
+
// The viewport itself never intercepts clicks; only the toasts inside it do, so
|
|
34
|
+
// page content underneath the empty parts of the stack stays fully interactive.
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
|
|
37
|
+
// corners: shadcn's <Toaster/> defaults to bottom, `sm:right-4 sm:left-auto` -
|
|
38
|
+
// bottom-right below is the hermes default, the rest are opt-in via
|
|
39
|
+
// [hermesToasterPosition].
|
|
40
|
+
&[data-position='bottom-left'] {
|
|
41
|
+
inset-inline-end: auto;
|
|
42
|
+
inset-inline-start: toast-variables.$hermes-toast-viewport-inset;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&[data-position='top-right'],
|
|
46
|
+
&[data-position='top-left'] {
|
|
47
|
+
inset-block-end: auto;
|
|
48
|
+
inset-block-start: toast-variables.$hermes-toast-viewport-inset;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&[data-position='top-left'] {
|
|
52
|
+
inset-inline-end: auto;
|
|
53
|
+
inset-inline-start: toast-variables.$hermes-toast-viewport-inset;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@media screen and (max-width: map.get(variables.$hermes-grid-breakpoints, sm)) {
|
|
57
|
+
inset-inline: toast-variables.$hermes-toast-viewport-inset;
|
|
58
|
+
max-width: none;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
hermes-toast-item {
|
|
63
|
+
// Per-item stacking state. --hermes-toast-index (0 = frontmost/newest) is set by
|
|
64
|
+
// toast-item.ts; --hermes-toast-height is kept in sync with the item's real
|
|
65
|
+
// rendered height by a ResizeObserver in the same file, falling back to a fixed
|
|
66
|
+
// estimate for the single frame before that first measurement lands.
|
|
67
|
+
--index: var(--hermes-toast-index, 0);
|
|
68
|
+
--height: var(--hermes-toast-height, #{toast-variables.$hermes-toast-fallback-height});
|
|
69
|
+
// shadcn's stack: each toast behind the front one shrinks by 10% and only peeks
|
|
70
|
+
// out by --peek, until the group is expanded (hovered/focused).
|
|
71
|
+
--scale: max(0, calc(1 - (var(--index) * 0.1)));
|
|
72
|
+
--shrink: calc(1 - var(--scale));
|
|
73
|
+
|
|
74
|
+
position: absolute;
|
|
75
|
+
inset-inline: 0;
|
|
76
|
+
inset-block-end: 0;
|
|
77
|
+
display: block;
|
|
78
|
+
width: 100%;
|
|
79
|
+
transform-origin: bottom center;
|
|
80
|
+
transform: translateY(
|
|
81
|
+
calc((var(--index) * #{toast-variables.$hermes-toast-peek} * -1) - (var(--shrink) * var(--height)))
|
|
82
|
+
)
|
|
83
|
+
scale(var(--scale));
|
|
84
|
+
transition:
|
|
85
|
+
transform $toast-transition-duration $toast-transition-easing,
|
|
86
|
+
opacity tokens.$hermes-global-animation-duration-quick ease;
|
|
87
|
+
z-index: calc(1000 - var(--index));
|
|
88
|
+
pointer-events: auto;
|
|
89
|
+
|
|
90
|
+
&.limited {
|
|
91
|
+
opacity: 0;
|
|
92
|
+
pointer-events: none;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
hermes-toaster.expanded hermes-toast-item {
|
|
97
|
+
transform: translateY(calc(var(--index) * (var(--height) + #{toast-variables.$hermes-toast-gap}) * -1));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.toast {
|
|
101
|
+
display: flex;
|
|
102
|
+
align-items: center;
|
|
103
|
+
gap: toast-variables.$hermes-toast-content-gap;
|
|
104
|
+
width: 100%;
|
|
105
|
+
box-sizing: border-box;
|
|
106
|
+
padding: toast-variables.$hermes-toast-content-padding;
|
|
107
|
+
background-color: toast-variables.$hermes-toast-bg-color;
|
|
108
|
+
color: toast-variables.$hermes-toast-color;
|
|
109
|
+
border: toast-variables.$hermes-toast-border-width solid toast-variables.$hermes-toast-border-color;
|
|
110
|
+
border-radius: toast-variables.$hermes-toast-border-radius;
|
|
111
|
+
box-shadow: toast-variables.$hermes-toast-box-shadow;
|
|
112
|
+
|
|
113
|
+
@include mixins.generate-typography-token('BODY-14-RG-STD');
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.toast-icon {
|
|
117
|
+
flex: 0 0 auto;
|
|
118
|
+
|
|
119
|
+
@include mixins.equilateral(toast-variables.$hermes-toast-icon-size);
|
|
120
|
+
|
|
121
|
+
&.spinner {
|
|
122
|
+
@include mixins.min-equilateral(toast-variables.$hermes-toast-icon-size);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.toast-info .toast-icon {
|
|
127
|
+
fill: toast-variables.$hermes-toast-info-icon-color;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.toast-success .toast-icon {
|
|
131
|
+
fill: toast-variables.$hermes-toast-success-icon-color;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.toast-warning .toast-icon {
|
|
135
|
+
fill: toast-variables.$hermes-toast-warning-icon-color;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.toast-danger .toast-icon {
|
|
139
|
+
fill: toast-variables.$hermes-toast-danger-icon-color;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.toast-content {
|
|
143
|
+
flex: 1 1 auto;
|
|
144
|
+
min-width: 0;
|
|
145
|
+
display: flex;
|
|
146
|
+
flex-direction: column;
|
|
147
|
+
gap: density.$hermes-base-gap-xs;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.toast-title {
|
|
151
|
+
@include mixins.generate-typography-token('BODY-14-MD-STD');
|
|
152
|
+
|
|
153
|
+
color: toast-variables.$hermes-toast-color;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.toast-description {
|
|
157
|
+
@include mixins.generate-typography-token('BODY-14-RG-STD');
|
|
158
|
+
|
|
159
|
+
color: toast-variables.$hermes-toast-description-color;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.toast-action {
|
|
163
|
+
flex: 0 0 auto;
|
|
164
|
+
color: toast-variables.$hermes-toast-action-color;
|
|
165
|
+
text-decoration: underline;
|
|
166
|
+
white-space: nowrap;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.toast-close {
|
|
170
|
+
flex: 0 0 auto;
|
|
171
|
+
float: none;
|
|
172
|
+
color: toast-variables.$hermes-toast-close-color;
|
|
173
|
+
|
|
174
|
+
@include mixins.equilateral(density.$hermes-base-icon-size-s);
|
|
175
|
+
|
|
176
|
+
hermes-icon,
|
|
177
|
+
hermes-icon {
|
|
178
|
+
fill: toast-variables.$hermes-toast-close-color;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
&:hover {
|
|
182
|
+
color: toast-variables.$hermes-toast-close-color-hover;
|
|
183
|
+
|
|
184
|
+
hermes-icon,
|
|
185
|
+
hermes-icon {
|
|
186
|
+
fill: toast-variables.$hermes-toast-close-color-hover;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
3
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
-
* This software is released under MIT license.
|
|
5
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
// Usage: ./_toast.clarity.scss
|
|
9
|
-
$hermes-toast-viewport-inset: var(--hermes-toast-viewport-inset) !default;
|
|
10
|
-
$hermes-toast-max-width: var(--hermes-toast-max-width) !default;
|
|
11
|
-
$hermes-toast-gap: var(--hermes-toast-gap) !default;
|
|
12
|
-
$hermes-toast-peek: var(--hermes-toast-peek) !default;
|
|
13
|
-
$hermes-toast-fallback-height: var(--hermes-toast-fallback-height) !default;
|
|
14
|
-
$hermes-toast-content-padding: var(--hermes-toast-content-padding) !default;
|
|
15
|
-
$hermes-toast-content-gap: var(--hermes-toast-content-gap) !default;
|
|
16
|
-
$hermes-toast-icon-size: var(--hermes-toast-icon-size) !default;
|
|
17
|
-
$hermes-toast-border-radius: var(--hermes-toast-border-radius) !default;
|
|
18
|
-
|
|
19
|
-
$hermes-toast-bg-color: var(--hermes-toast-bg-color) !default;
|
|
20
|
-
$hermes-toast-color: var(--hermes-toast-color) !default;
|
|
21
|
-
$hermes-toast-description-color: var(--hermes-toast-description-color) !default;
|
|
22
|
-
$hermes-toast-border-color: var(--hermes-toast-border-color) !default;
|
|
23
|
-
$hermes-toast-border-width: var(--hermes-toast-border-width) !default;
|
|
24
|
-
$hermes-toast-box-shadow: var(--hermes-toast-box-shadow) !default;
|
|
25
|
-
|
|
26
|
-
$hermes-toast-info-icon-color: var(--hermes-toast-info-icon-color) !default;
|
|
27
|
-
$hermes-toast-success-icon-color: var(--hermes-toast-success-icon-color) !default;
|
|
28
|
-
$hermes-toast-warning-icon-color: var(--hermes-toast-warning-icon-color) !default;
|
|
29
|
-
$hermes-toast-danger-icon-color: var(--hermes-toast-danger-icon-color) !default;
|
|
30
|
-
|
|
31
|
-
$hermes-toast-action-color: var(--hermes-toast-action-color) !default;
|
|
32
|
-
$hermes-toast-close-color: var(--hermes-toast-close-color) !default;
|
|
33
|
-
$hermes-toast-close-color-hover: var(--hermes-toast-close-color-hover) !default;
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
3
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
4
|
+
* This software is released under MIT license.
|
|
5
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// Usage: ./_toast.clarity.scss
|
|
9
|
+
$hermes-toast-viewport-inset: var(--hermes-toast-viewport-inset) !default;
|
|
10
|
+
$hermes-toast-max-width: var(--hermes-toast-max-width) !default;
|
|
11
|
+
$hermes-toast-gap: var(--hermes-toast-gap) !default;
|
|
12
|
+
$hermes-toast-peek: var(--hermes-toast-peek) !default;
|
|
13
|
+
$hermes-toast-fallback-height: var(--hermes-toast-fallback-height) !default;
|
|
14
|
+
$hermes-toast-content-padding: var(--hermes-toast-content-padding) !default;
|
|
15
|
+
$hermes-toast-content-gap: var(--hermes-toast-content-gap) !default;
|
|
16
|
+
$hermes-toast-icon-size: var(--hermes-toast-icon-size) !default;
|
|
17
|
+
$hermes-toast-border-radius: var(--hermes-toast-border-radius) !default;
|
|
18
|
+
|
|
19
|
+
$hermes-toast-bg-color: var(--hermes-toast-bg-color) !default;
|
|
20
|
+
$hermes-toast-color: var(--hermes-toast-color) !default;
|
|
21
|
+
$hermes-toast-description-color: var(--hermes-toast-description-color) !default;
|
|
22
|
+
$hermes-toast-border-color: var(--hermes-toast-border-color) !default;
|
|
23
|
+
$hermes-toast-border-width: var(--hermes-toast-border-width) !default;
|
|
24
|
+
$hermes-toast-box-shadow: var(--hermes-toast-box-shadow) !default;
|
|
25
|
+
|
|
26
|
+
$hermes-toast-info-icon-color: var(--hermes-toast-info-icon-color) !default;
|
|
27
|
+
$hermes-toast-success-icon-color: var(--hermes-toast-success-icon-color) !default;
|
|
28
|
+
$hermes-toast-warning-icon-color: var(--hermes-toast-warning-icon-color) !default;
|
|
29
|
+
$hermes-toast-danger-icon-color: var(--hermes-toast-danger-icon-color) !default;
|
|
30
|
+
|
|
31
|
+
$hermes-toast-action-color: var(--hermes-toast-action-color) !default;
|
|
32
|
+
$hermes-toast-close-color: var(--hermes-toast-close-color) !default;
|
|
33
|
+
$hermes-toast-close-color-hover: var(--hermes-toast-close-color-hover) !default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A styled container for grouping related content. Compose the inside with
|
|
5
|
+
* `hermes-layout`, `hermes-text` and `hermes-divider` (with the
|
|
6
|
+
* `hermes-card-remove-margin` attribute to bleed a divider edge-to-edge).
|
|
7
|
+
*
|
|
8
|
+
* ```html
|
|
9
|
+
* <hermes-card aria-labelledby="my-card-title">
|
|
10
|
+
* <div hermes-layout="vertical gap:md">
|
|
11
|
+
* <h2 id="my-card-title" hermes-text="section">Card title</h2>
|
|
12
|
+
* <hermes-divider hermes-card-remove-margin></hermes-divider>
|
|
13
|
+
* <div hermes-text="body light">Card content</div>
|
|
14
|
+
* </div>
|
|
15
|
+
* </hermes-card>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
declare class HermesCard {
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HermesCard, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HermesCard, "hermes-card", never, {}, {}, never, ["*"], true, never>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { HermesCard };
|
|
24
|
+
//# sourceMappingURL=hermes-ui-angular-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-card.d.ts","sources":["../../../card/card.ts"],"mappings":";;AASA;;;;;;;;;;;;;;AAcG;AACH,cAUa,UAAU;yCAAV,UAAU;2CAAV,UAAU;AAAG;;","names":[]}
|