@hawiyah/styles 0.2.0 → 0.2.1

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.
Files changed (42) hide show
  1. package/dist/assets/icons/add-01.svg +4 -0
  2. package/dist/assets/icons/alert-02.svg +5 -0
  3. package/dist/assets/icons/arrow-data-transfer-vertical.svg +4 -0
  4. package/dist/assets/icons/arrow-down-02.svg +4 -0
  5. package/dist/assets/icons/arrow-left-02.svg +4 -0
  6. package/dist/assets/icons/arrow-right-02.svg +4 -0
  7. package/dist/assets/icons/arrow-up-01.svg +3 -0
  8. package/dist/assets/icons/arrow-up-02.svg +4 -0
  9. package/dist/assets/icons/arrow-up-right-01.svg +3 -0
  10. package/dist/assets/icons/cancel-circle.svg +4 -0
  11. package/dist/assets/icons/exclamation-mark.svg +4 -0
  12. package/dist/assets/icons/information-circle.svg +5 -0
  13. package/dist/assets/icons/link-square-02.svg +4 -0
  14. package/dist/assets/icons/minus-sign-circle.svg +4 -0
  15. package/dist/assets/icons/minus-sign.svg +3 -0
  16. package/dist/assets/icons/provenance.json +277 -76
  17. package/dist/assets/icons/star.svg +3 -0
  18. package/dist/assets/icons/tick-02.svg +3 -0
  19. package/dist/assets/select-down.svg +3 -3
  20. package/dist/assets/select-up.svg +3 -3
  21. package/dist/components.css +4 -4
  22. package/dist/date-picker.css +2 -2
  23. package/dist/dga.css +11 -11
  24. package/dist/direction.css +5 -5
  25. package/dist/extended.css +2 -2
  26. package/dist/icons.css +28 -3
  27. package/dist/navigation-drawer.css +1 -0
  28. package/dist/nic-accordion.css +5 -4
  29. package/dist/nic-carousel.css +3 -3
  30. package/dist/nic-choices.css +2 -2
  31. package/dist/nic-foundations.css +64 -64
  32. package/dist/nic-links.css +2 -2
  33. package/dist/nic-notification-dialog.css +25 -24
  34. package/dist/nic-notifications.css +37 -35
  35. package/dist/nic-pagination.css +2 -2
  36. package/dist/nic-select.css +7 -7
  37. package/dist/nic-tables.css +3 -3
  38. package/dist/nic-tabs.css +1 -1
  39. package/dist/site-verification.css +1 -1
  40. package/dist/stepper.css +2 -2
  41. package/dist/tooltip-placement.css +7 -7
  42. package/package.json +2 -2
package/dist/dga.css CHANGED
@@ -109,10 +109,10 @@
109
109
  padding-inline: var(--hw-profile-field-padding-start, var(--hw-space-3)) var(--hw-profile-field-padding-end, var(--hw-space-3));
110
110
  border-radius: var(--hw-profile-control-radius, var(--hw-radius-md));
111
111
  background-color: var(--hw-color-field-background, var(--hw-color-surface));
112
- background-image: linear-gradient(var(--hw-color-field-active), var(--hw-color-field-active)) var(--_nq-select-image,);
112
+ background-image: linear-gradient(var(--hw-color-field-active), var(--hw-color-field-active)) var(--_hw-select-image,);
113
113
  background-repeat: no-repeat;
114
- background-position: center bottom var(--_nq-select-position,);
115
- background-size: 0% 2px var(--_nq-select-size,);
114
+ background-position: center bottom var(--_hw-select-position,);
115
+ background-size: 0% 2px var(--_hw-select-size,);
116
116
  line-height: var(--hw-profile-field-leading, var(--hw-leading-normal));
117
117
  transition: var(--hw-dga-on, border-color var(--hw-duration-input) var(--hw-ease-input), background-color var(--hw-duration-input) var(--hw-ease-input), background-size var(--hw-duration-input) var(--hw-ease-input), box-shadow var(--hw-duration-input) var(--hw-ease-input)) var(--hw-dga-off, background-size var(--hw-duration-input, 500ms) var(--hw-ease-input, ease));
118
118
  }
@@ -120,11 +120,11 @@
120
120
  :is(.hw-input, .hw-textarea, .hw-select):hover:not(:disabled, [readonly]) { border-color: var(--hw-color-field-hover, var(--hw-color-primary)); }
121
121
  :is(.hw-input, .hw-textarea, .hw-select):focus:not(:disabled, [readonly]) {
122
122
  border-color: var(--hw-dga-on, var(--hw-color-primary)) var(--hw-dga-off, var(--hw-color-field-active));
123
- background-size: var(--hw-profile-field-focus-line, 0% 2px) var(--_nq-select-size,);
123
+ background-size: var(--hw-profile-field-focus-line, 0% 2px) var(--_hw-select-size,);
124
124
  box-shadow: var(--hw-profile-field-shadow, none);
125
125
  }
126
126
  :is(.hw-input, .hw-textarea, .hw-select):active:not(:disabled, [readonly]) {
127
- background-size: var(--hw-profile-field-pressed-line, 0% 2px) var(--_nq-select-size,);
127
+ background-size: var(--hw-profile-field-pressed-line, 0% 2px) var(--_hw-select-size,);
128
128
  background-color: var(--hw-color-field-background);
129
129
  }
130
130
  :is(.hw-input, .hw-textarea, .hw-select)[data-size='sm'] { padding-block: var(--hw-profile-button-padding-block, var(--hw-space-1)); }
@@ -141,25 +141,25 @@
141
141
  :is(.hw-input, .hw-textarea)[readonly]:focus-visible {
142
142
  outline: 2px solid var(--hw-color-focus);
143
143
  }
144
- :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled'] { background-color: var(--hw-color-surface-muted); background-image: linear-gradient(var(--hw-color-field-active), var(--hw-color-field-active)) var(--_nq-select-image,); background-repeat: no-repeat; background-position: center bottom var(--_nq-select-position,); background-size: 0% 2px var(--_nq-select-size,); }
145
- :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:focus:not(:disabled, [readonly]) { background-size: var(--hw-profile-field-focus-line, 0% 2px) var(--_nq-select-size,); }
146
- :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:active:not(:disabled, [readonly]) { background-size: var(--hw-profile-field-pressed-line, 0% 2px) var(--_nq-select-size,); background-color: var(--hw-dga-on, var(--hw-color-field-background)) var(--hw-dga-off, var(--hw-color-surface-muted)); }
144
+ :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled'] { background-color: var(--hw-color-surface-muted); background-image: linear-gradient(var(--hw-color-field-active), var(--hw-color-field-active)) var(--_hw-select-image,); background-repeat: no-repeat; background-position: center bottom var(--_hw-select-position,); background-size: 0% 2px var(--_hw-select-size,); }
145
+ :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:focus:not(:disabled, [readonly]) { background-size: var(--hw-profile-field-focus-line, 0% 2px) var(--_hw-select-size,); }
146
+ :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:active:not(:disabled, [readonly]) { background-size: var(--hw-profile-field-pressed-line, 0% 2px) var(--_hw-select-size,); background-color: var(--hw-dga-on, var(--hw-color-field-background)) var(--hw-dga-off, var(--hw-color-surface-muted)); }
147
147
  :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:focus-visible { border-color: var(--hw-dga-on, var(--hw-color-border-strong)) var(--hw-dga-off, var(--hw-color-field-active)); }
148
148
  /* Presence is adapter-owned; validity stays native. Empty optional fields must
149
149
  not imply success. Explicit application errors take precedence below. */
150
150
  :is(.hw-input, .hw-textarea, .hw-select):where([data-hw-filled='true']):valid,
151
151
  :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:where([data-hw-filled='true']):valid {
152
- background-image: linear-gradient(var(--hw-color-primary-text, var(--hw-color-primary)), var(--hw-color-primary-text, var(--hw-color-primary))) var(--_nq-select-image,);
152
+ background-image: linear-gradient(var(--hw-color-primary-text, var(--hw-color-primary)), var(--hw-color-primary-text, var(--hw-color-primary))) var(--_hw-select-image,);
153
153
  }
154
154
  :is(.hw-input, .hw-textarea, .hw-select)[aria-invalid='true'],
155
155
  :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled'][aria-invalid='true'] {
156
156
  border-color: var(--hw-color-danger);
157
- background-image: linear-gradient(var(--hw-color-danger), var(--hw-color-danger)) var(--_nq-select-image,);
157
+ background-image: linear-gradient(var(--hw-color-danger), var(--hw-color-danger)) var(--_hw-select-image,);
158
158
  }
159
159
  :is(.hw-input, .hw-textarea, .hw-select)[aria-invalid='true']:is(:hover, :focus, :active) { border-color: var(--hw-color-danger); }
160
160
  @supports selector(:user-invalid) {
161
161
  :is(.hw-input, .hw-textarea, .hw-select):user-invalid,
162
- :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:user-invalid { border-color: var(--hw-color-danger); background-image: linear-gradient(var(--hw-color-danger), var(--hw-color-danger)) var(--_nq-select-image,); }
162
+ :is(.hw-input, .hw-textarea, .hw-select)[data-variant='filled']:user-invalid { border-color: var(--hw-color-danger); background-image: linear-gradient(var(--hw-color-danger), var(--hw-color-danger)) var(--_hw-select-image,); }
163
163
  :is(.hw-input, .hw-textarea, .hw-select):user-invalid:is(:hover, :focus, :active) { border-color: var(--hw-color-danger); }
164
164
  }
165
165
  :is(.hw-input, .hw-textarea, .hw-select):disabled,
@@ -1,14 +1,14 @@
1
1
  /* Resolve reading direction at the closest HTML boundary, independent of language.
2
2
  The empty RTL marker enables component-specific values through var() fallbacks. */
3
3
  :where([dir='ltr'], [dir='auto']) {
4
- --_nq-inline-sign: 1;
5
- --_nq-rtl-only: initial;
4
+ --_hw-inline-sign: 1;
5
+ --_hw-rtl-only: initial;
6
6
  }
7
7
  :where([dir='rtl']) {
8
- --_nq-inline-sign: -1;
9
- --_nq-rtl-only: ;
8
+ --_hw-inline-sign: -1;
9
+ --_hw-rtl-only: ;
10
10
  }
11
11
  /* Scope roots retain the browser's first-strong-text test when CSS is minified. */
12
12
  @scope ([dir='auto']:dir(rtl)) {
13
- :scope { --_nq-inline-sign: -1; --_nq-rtl-only: ; }
13
+ :scope { --_hw-inline-sign: -1; --_hw-rtl-only: ; }
14
14
  }
package/dist/extended.css CHANGED
@@ -98,7 +98,7 @@ input.hw-pin-input, .hw-pin-input input:not([type='hidden']) { inline-size: min(
98
98
  .hw-calendar :is(.hw-calendar-prev, .hw-calendar-next)::before { content: ''; display: block; inline-size: 1.5rem; block-size: 1.5rem; background-color: currentColor; -webkit-mask: var(--hw-calendar-arrow) center / contain no-repeat; mask: var(--hw-calendar-arrow) center / contain no-repeat; }
99
99
  .hw-calendar-prev { --hw-calendar-arrow: url('./assets/icons/arrow-left-01.svg'); }
100
100
  .hw-calendar-next { --hw-calendar-arrow: url('./assets/icons/arrow-right-01.svg'); }
101
- .hw-calendar :is(.hw-calendar-prev, .hw-calendar-next)::before { --_nq-mirror: var(--_nq-rtl-only) scaleX(-1); transform: var(--_nq-mirror, none); }
101
+ .hw-calendar :is(.hw-calendar-prev, .hw-calendar-next)::before { --_hw-mirror: var(--_hw-rtl-only) scaleX(-1); transform: var(--_hw-mirror, none); }
102
102
  @media (forced-colors: active) {
103
103
  .hw-calendar :is(.hw-calendar-prev, .hw-calendar-next)::before { forced-color-adjust: none; background-color: ButtonText; }
104
104
  .hw-calendar :is(.hw-calendar-prev, .hw-calendar-next):disabled::before { background-color: GrayText; }
@@ -174,7 +174,7 @@ input.hw-pin-input, .hw-pin-input input:not([type='hidden']) { inline-size: min(
174
174
  .hw-collapsible { border: 1px solid var(--hw-color-border); border-radius: var(--hw-radius-md); background: var(--hw-color-surface); }
175
175
  .hw-collapsible > :is(summary, .hw-collapsible-trigger, [data-hw-trigger]) { display: flex; align-items: center; justify-content: space-between; gap: var(--hw-space-3); inline-size: 100%; min-block-size: var(--hw-control-height); padding: var(--hw-space-3) var(--hw-space-4); border: 0; border-radius: var(--hw-radius-md); background: transparent; color: var(--hw-color-text); font: inherit; font-weight: var(--hw-weight-medium); text-align: start; list-style: none; cursor: pointer; }
176
176
  .hw-collapsible > summary::-webkit-details-marker { display: none; }
177
- .hw-collapsible > summary::after { content: '+'; color: var(--hw-color-text-muted); }.hw-collapsible[open] > summary::after { content: '−'; }
177
+ .hw-collapsible > summary::after { content: ''; display: inline-block; flex: none; inline-size: 1.25rem; block-size: 1.25rem; color: var(--hw-color-text-muted); background: currentColor; mask: url('./assets/icons/add-01.svg') center / contain no-repeat; }.hw-collapsible[open] > summary::after { mask-image: url('./assets/icons/minus-sign.svg'); }
178
178
  .hw-collapsible-content, .hw-collapsible > :is([data-hw-panel], div, p, section) { padding: var(--hw-space-4); border-block-start: 1px solid var(--hw-color-border); }
179
179
  .hw-tree-view, .hw-tree-view [role='group'] { margin: 0; padding: 0; list-style: none; }
180
180
  .hw-tree-view { padding: var(--hw-space-2); border: 1px solid var(--hw-color-border); border-radius: var(--hw-radius-md); background: var(--hw-color-surface); }
package/dist/icons.css CHANGED
@@ -24,9 +24,9 @@
24
24
  .hw-icon[data-icon='thumbs-down'] { --hw-icon-image: url('./assets/icons/thumbs-down.svg'); }
25
25
 
26
26
  /* Opt in only for semantic forward/back; physical directions retain their meaning. */
27
- .hw-icon:is([data-icon='arrow-left-01'], [data-icon='arrow-right-01'])[data-directional='true'] {
28
- --_nq-mirror: var(--_nq-rtl-only) scaleX(-1);
29
- transform: var(--_nq-mirror, none);
27
+ .hw-icon:is([data-icon='arrow-left-01'], [data-icon='arrow-right-01'], [data-icon='arrow-left-02'], [data-icon='arrow-right-02'])[data-directional='true'] {
28
+ --_hw-mirror: var(--_hw-rtl-only) scaleX(-1);
29
+ transform: var(--_hw-mirror, none);
30
30
  }
31
31
  @media (forced-colors: active) {
32
32
  .hw-icon {
@@ -40,3 +40,28 @@
40
40
  .hw-icon[data-icon="link-04"] { --hw-icon-image: url("./assets/icons/link-04.svg"); }
41
41
 
42
42
  .hw-icon[data-icon="lock-password"] { --hw-icon-image: url("./assets/icons/lock-password.svg"); }
43
+
44
+ .hw-icon[data-icon="arrow-up-01"] { --hw-icon-image: url("./assets/icons/arrow-up-01.svg"); }
45
+
46
+ .hw-icon[data-icon="arrow-up-right-01"] { --hw-icon-image: url("./assets/icons/arrow-up-right-01.svg"); }
47
+
48
+ .hw-icon[data-icon="link-square-02"] { --hw-icon-image: url("./assets/icons/link-square-02.svg"); }
49
+
50
+ .hw-icon[data-icon="information-circle"] { --hw-icon-image: url("./assets/icons/information-circle.svg"); }
51
+
52
+ .hw-icon[data-icon="alert-02"] { --hw-icon-image: url("./assets/icons/alert-02.svg"); }
53
+
54
+ .hw-icon[data-icon="cancel-circle"] { --hw-icon-image: url("./assets/icons/cancel-circle.svg"); }
55
+
56
+ .hw-icon[data-icon="minus-sign-circle"] { --hw-icon-image: url("./assets/icons/minus-sign-circle.svg"); }
57
+
58
+ .hw-icon[data-icon="add-01"] { --hw-icon-image: url("./assets/icons/add-01.svg"); }
59
+ .hw-icon[data-icon="minus-sign"] { --hw-icon-image: url("./assets/icons/minus-sign.svg"); }
60
+ .hw-icon[data-icon="tick-02"] { --hw-icon-image: url("./assets/icons/tick-02.svg"); }
61
+ .hw-icon[data-icon="exclamation-mark"] { --hw-icon-image: url("./assets/icons/exclamation-mark.svg"); }
62
+ .hw-icon[data-icon="arrow-up-02"] { --hw-icon-image: url("./assets/icons/arrow-up-02.svg"); }
63
+ .hw-icon[data-icon="arrow-down-02"] { --hw-icon-image: url("./assets/icons/arrow-down-02.svg"); }
64
+ .hw-icon[data-icon="arrow-left-02"] { --hw-icon-image: url("./assets/icons/arrow-left-02.svg"); }
65
+ .hw-icon[data-icon="arrow-right-02"] { --hw-icon-image: url("./assets/icons/arrow-right-02.svg"); }
66
+ .hw-icon[data-icon="arrow-data-transfer-vertical"] { --hw-icon-image: url("./assets/icons/arrow-data-transfer-vertical.svg"); }
67
+ .hw-icon[data-icon="star"] { --hw-icon-image: url("./assets/icons/star.svg"); }
@@ -101,3 +101,4 @@ summary.hw-navigation-drawer-row::after {
101
101
  summary.hw-navigation-drawer-row::after,
102
102
  :is(.hw-navigation-drawer, .hw-navigation-drawer-host > hw-drawer > .hw-drawer) > .hw-dialog-header > button::after { background: ButtonText; forced-color-adjust: none; }
103
103
  }
104
+ :is(.hw-navigation-drawer, .hw-navigation-drawer-host > hw-drawer > .hw-drawer) > .hw-dialog-header > button:has(.hw-icon)::after { content: none; }
@@ -66,15 +66,16 @@
66
66
  .hw-accordion-trigger::after {
67
67
  position: relative;
68
68
  top: var(--hw-profile-accordion-icon-offset, 0px);
69
- content: var(--hw-profile-accordion-icon-content, '+');
69
+ content: var(--hw-profile-accordion-icon-content, '');
70
70
  inline-size: var(--hw-profile-accordion-icon-size, 1.5rem);
71
71
  block-size: var(--hw-profile-accordion-icon-size, 1.5rem);
72
- background: var(--hw-profile-accordion-icon-background, transparent);
73
- mask: var(--hw-profile-accordion-icon-mask, none);
72
+ background: var(--hw-profile-accordion-icon-background, currentColor);
73
+ mask: var(--hw-profile-accordion-icon-mask, url('./assets/icons/add-01.svg') center / contain no-repeat);
74
74
  transition: transform var(--hw-duration-accordion-indicator, 0ms) var(--hw-ease-accordion, ease-in-out);
75
75
  }
76
76
  .hw-accordion-item[open] > .hw-accordion-trigger::after {
77
- content: var(--hw-profile-accordion-icon-content, '−');
77
+ content: var(--hw-profile-accordion-icon-content, '');
78
+ mask: var(--hw-profile-accordion-icon-mask, url('./assets/icons/minus-sign.svg') center / contain no-repeat);
78
79
  transform: var(--hw-profile-accordion-icon-expanded, none);
79
80
  }
80
81
  .hw-accordion-item[data-hw-expanded] > .hw-accordion-trigger::after {
@@ -12,7 +12,7 @@
12
12
  .hw-carousel-viewport { overflow: hidden; padding-block: .5rem; }
13
13
  .hw-carousel-track {
14
14
  display: flex; gap: var(--hw-carousel-gap, 1rem); inline-size: 100%;
15
- transform: translateX(calc(-1 * var(--_nq-inline-sign, 1) * var(--hw-carousel-index, 0) * (100% + var(--hw-carousel-gap, 1rem))));
15
+ transform: translateX(calc(-1 * var(--_hw-inline-sign, 1) * var(--hw-carousel-index, 0) * (100% + var(--hw-carousel-gap, 1rem))));
16
16
  transition: transform var(--hw-duration-carousel) var(--hw-ease-carousel);
17
17
  }
18
18
  .hw-carousel-track > .hw-carousel-slide { box-sizing: border-box; flex: 0 0 100%; inline-size: 100%; visibility: visible; transition: visibility 0s; }
@@ -40,8 +40,8 @@
40
40
  .hw-button.hw-carousel-arrow:hover:not(:disabled) { background: var(--hw-color-primary-hover); }
41
41
  .hw-button.hw-carousel-arrow:active:not(:disabled) { background: var(--hw-color-primary-active); }
42
42
  .hw-button.hw-carousel-arrow:disabled { opacity: .3; cursor: not-allowed; }
43
- .hw-carousel-arrow::before { --_nq-rtl-arrow: var(--_nq-rtl-only) '←'; content: var(--_nq-rtl-arrow, '→'); font-family: sans-serif; font-size: 20px; line-height: 1; }
44
- .hw-carousel-arrow[data-hw-previous]::before { --_nq-rtl-arrow: var(--_nq-rtl-only) '→'; content: var(--_nq-rtl-arrow, '←'); }
43
+ .hw-carousel-arrow::before { content: ''; inline-size: 20px; block-size: 20px; background: currentColor; mask: url('./assets/icons/arrow-right-02.svg') center / contain no-repeat; transform: scaleX(var(--_hw-inline-sign, 1)); }
44
+ .hw-carousel-arrow[data-hw-previous]::before { mask-image: url('./assets/icons/arrow-left-02.svg'); }
45
45
  .hw-carousel-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: .1rem; }
46
46
  /* 12px source dots sit inside 24px targets; the 1px boundary keeps unselected
47
47
  controls recognizable against the surface without changing their fill. */
@@ -40,8 +40,8 @@ label:has(> :is(.hw-checkbox, .hw-radio)) { position: relative; isolation: isola
40
40
  content: var(--hw-dga-on, none) var(--hw-dga-off, '');
41
41
  visibility: hidden;
42
42
  }
43
- .hw-checkbox::before { inline-size: 5px; block-size: 10px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }
44
- .hw-checkbox:indeterminate::before { inline-size: 10px; block-size: 0; border-width: 0 0 2px; transform: none; }
43
+ .hw-checkbox::before { inline-size: 14px; block-size: 14px; background: currentColor; mask: url('./assets/icons/tick-02.svg') center / contain no-repeat; }
44
+ .hw-checkbox:indeterminate::before { mask-image: url('./assets/icons/minus-sign.svg'); }
45
45
  .hw-radio::before { inline-size: 12px; block-size: 12px; border-radius: 50%; background: var(--hw-choice-mark); }
46
46
  :is(.hw-checkbox, .hw-radio):is(:checked, :indeterminate)::before { visibility: visible; }
47
47
  :is(.hw-checkbox, .hw-radio):active:not(:disabled, [readonly], [aria-disabled='true']) { border-color: var(--hw-dga-on, revert) var(--hw-dga-off, var(--hw-color-choice-active)); --hw-choice-mark: var(--hw-color-choice-active); }
@@ -1,94 +1,94 @@
1
1
  /* NIC global.css 427–606. Visual scale is independent of heading semantics. */
2
2
  .hw-type {
3
3
  font-family: var(--hw-font-sans);
4
- font-size: var(--_nq-type-size, var(--hw-text-md));
5
- line-height: var(--_nq-type-leading, 1.5);
6
- font-weight: var(--hw-type-weight, var(--_nq-type-weight, var(--hw-weight-regular)));
7
- margin-block: 0 var(--hw-type-spacing, var(--_nq-type-spacing, 0));
4
+ font-size: var(--_hw-type-size, var(--hw-text-md));
5
+ line-height: var(--_hw-type-leading, 1.5);
6
+ font-weight: var(--hw-type-weight, var(--_hw-type-weight, var(--hw-weight-regular)));
7
+ margin-block: 0 var(--hw-type-spacing, var(--_hw-type-spacing, 0));
8
8
  }
9
9
  .hw-type[data-scale='display-2xl'] {
10
- --_nq-type-size: var(--hw-text-7xl);
11
- --_nq-type-leading: calc(90 / 72);
12
- --_nq-type-weight: var(--hw-weight-bold);
13
- --_nq-type-spacing: 2.375rem;
10
+ --_hw-type-size: var(--hw-text-7xl);
11
+ --_hw-type-leading: calc(90 / 72);
12
+ --_hw-type-weight: var(--hw-weight-bold);
13
+ --_hw-type-spacing: 2.375rem;
14
14
  }
15
15
  .hw-type[data-scale='display-xl'] {
16
- --_nq-type-size: var(--hw-text-6xl);
17
- --_nq-type-leading: calc(72 / 60);
18
- --_nq-type-weight: var(--hw-weight-bold);
19
- --_nq-type-spacing: 1.5rem;
16
+ --_hw-type-size: var(--hw-text-6xl);
17
+ --_hw-type-leading: calc(72 / 60);
18
+ --_hw-type-weight: var(--hw-weight-bold);
19
+ --_hw-type-spacing: 1.5rem;
20
20
  }
21
21
  .hw-type[data-scale='display-lg'] {
22
- --_nq-type-size: var(--hw-text-5xl);
23
- --_nq-type-leading: calc(60 / 48);
24
- --_nq-type-weight: var(--hw-weight-bold);
25
- --_nq-type-spacing: 0.625rem;
22
+ --_hw-type-size: var(--hw-text-5xl);
23
+ --_hw-type-leading: calc(60 / 48);
24
+ --_hw-type-weight: var(--hw-weight-bold);
25
+ --_hw-type-spacing: 0.625rem;
26
26
  }
27
27
  .hw-type[data-scale='display-md'] {
28
- --_nq-type-size: var(--hw-text-4xl);
29
- --_nq-type-leading: calc(44 / 36);
30
- --_nq-type-weight: var(--hw-weight-semibold);
31
- --_nq-type-spacing: 0.625rem;
28
+ --_hw-type-size: var(--hw-text-4xl);
29
+ --_hw-type-leading: calc(44 / 36);
30
+ --_hw-type-weight: var(--hw-weight-semibold);
31
+ --_hw-type-spacing: 0.625rem;
32
32
  }
33
33
  .hw-type[data-scale='display-sm'] {
34
- --_nq-type-size: var(--hw-text-3xl);
35
- --_nq-type-leading: calc(38 / 30);
36
- --_nq-type-weight: var(--hw-weight-bold);
37
- --_nq-type-spacing: 0.625rem;
34
+ --_hw-type-size: var(--hw-text-3xl);
35
+ --_hw-type-leading: calc(38 / 30);
36
+ --_hw-type-weight: var(--hw-weight-bold);
37
+ --_hw-type-spacing: 0.625rem;
38
38
  }
39
39
  .hw-type[data-scale='display-xs'] {
40
- --_nq-type-size: var(--hw-text-2xl);
41
- --_nq-type-leading: calc(32 / 24);
42
- --_nq-type-weight: var(--hw-weight-bold);
43
- --_nq-type-spacing: 0.625rem;
40
+ --_hw-type-size: var(--hw-text-2xl);
41
+ --_hw-type-leading: calc(32 / 24);
42
+ --_hw-type-weight: var(--hw-weight-bold);
43
+ --_hw-type-spacing: 0.625rem;
44
44
  }
45
45
  .hw-type[data-scale='heading-lg'] {
46
- --_nq-type-size: var(--hw-text-xl);
47
- --_nq-type-leading: calc(30 / 20);
48
- --_nq-type-weight: var(--hw-weight-semibold);
49
- --_nq-type-spacing: 0.625rem;
46
+ --_hw-type-size: var(--hw-text-xl);
47
+ --_hw-type-leading: calc(30 / 20);
48
+ --_hw-type-weight: var(--hw-weight-semibold);
49
+ --_hw-type-spacing: 0.625rem;
50
50
  }
51
51
  .hw-type[data-scale='heading-md'] {
52
- --_nq-type-size: var(--hw-text-lg);
53
- --_nq-type-leading: calc(28 / 18);
54
- --_nq-type-weight: var(--hw-weight-semibold);
55
- --_nq-type-spacing: 0.625rem;
52
+ --_hw-type-size: var(--hw-text-lg);
53
+ --_hw-type-leading: calc(28 / 18);
54
+ --_hw-type-weight: var(--hw-weight-semibold);
55
+ --_hw-type-spacing: 0.625rem;
56
56
  }
57
57
  .hw-type[data-scale='heading-sm'] {
58
- --_nq-type-size: var(--hw-text-md);
59
- --_nq-type-leading: calc(24 / 16);
60
- --_nq-type-weight: var(--hw-weight-semibold);
61
- --_nq-type-spacing: 0.625rem;
58
+ --_hw-type-size: var(--hw-text-md);
59
+ --_hw-type-leading: calc(24 / 16);
60
+ --_hw-type-weight: var(--hw-weight-semibold);
61
+ --_hw-type-spacing: 0.625rem;
62
62
  }
63
63
  .hw-type[data-scale='body-xl'] {
64
- --_nq-type-size: var(--hw-text-xl);
65
- --_nq-type-leading: calc(30 / 20);
66
- --_nq-type-weight: var(--hw-weight-regular);
67
- --_nq-type-spacing: 0rem;
64
+ --_hw-type-size: var(--hw-text-xl);
65
+ --_hw-type-leading: calc(30 / 20);
66
+ --_hw-type-weight: var(--hw-weight-regular);
67
+ --_hw-type-spacing: 0rem;
68
68
  }
69
69
  .hw-type[data-scale='body-lg'] {
70
- --_nq-type-size: var(--hw-text-lg);
71
- --_nq-type-leading: calc(28 / 18);
72
- --_nq-type-weight: var(--hw-weight-regular);
73
- --_nq-type-spacing: 0rem;
70
+ --_hw-type-size: var(--hw-text-lg);
71
+ --_hw-type-leading: calc(28 / 18);
72
+ --_hw-type-weight: var(--hw-weight-regular);
73
+ --_hw-type-spacing: 0rem;
74
74
  }
75
75
  .hw-type[data-scale='body-md'] {
76
- --_nq-type-size: var(--hw-text-md);
77
- --_nq-type-leading: calc(24 / 16);
78
- --_nq-type-weight: var(--hw-weight-regular);
79
- --_nq-type-spacing: 0rem;
76
+ --_hw-type-size: var(--hw-text-md);
77
+ --_hw-type-leading: calc(24 / 16);
78
+ --_hw-type-weight: var(--hw-weight-regular);
79
+ --_hw-type-spacing: 0rem;
80
80
  }
81
81
  .hw-type[data-scale='body-sm'] {
82
- --_nq-type-size: var(--hw-text-sm);
83
- --_nq-type-leading: calc(20 / 14);
84
- --_nq-type-weight: var(--hw-weight-regular);
85
- --_nq-type-spacing: 0rem;
82
+ --_hw-type-size: var(--hw-text-sm);
83
+ --_hw-type-leading: calc(20 / 14);
84
+ --_hw-type-weight: var(--hw-weight-regular);
85
+ --_hw-type-spacing: 0rem;
86
86
  }
87
87
  .hw-type[data-scale='body-xs'] {
88
- --_nq-type-size: var(--hw-text-xs);
89
- --_nq-type-leading: calc(14 / 12);
90
- --_nq-type-weight: var(--hw-weight-regular);
91
- --_nq-type-spacing: 0rem;
88
+ --_hw-type-size: var(--hw-text-xs);
89
+ --_hw-type-leading: calc(14 / 12);
90
+ --_hw-type-weight: var(--hw-weight-regular);
91
+ --_hw-type-spacing: 0rem;
92
92
  }
93
93
 
94
94
  .hw-line-clamp {
@@ -103,10 +103,10 @@
103
103
  .hw-line-clamp[data-lines='4'] { --hw-clamp-lines: 4; }
104
104
  .hw-line-clamp[data-lines='10'] { --hw-clamp-lines: 10; }
105
105
 
106
- .hw-divider[data-tone='primary'] { --_nq-divider-color: var(--hw-color-primary); }
107
- .hw-divider[data-tone='gold'] { --_nq-divider-color: var(--hw-color-divider-gold); }
108
- .hw-divider[data-tone='tertiary'] { --_nq-divider-color: var(--hw-color-divider-tertiary); }
109
- .hw-divider[data-tone] { border-color: var(--_nq-divider-color, var(--hw-color-border)); }
106
+ .hw-divider[data-tone='primary'] { --_hw-divider-color: var(--hw-color-primary); }
107
+ .hw-divider[data-tone='gold'] { --_hw-divider-color: var(--hw-color-divider-gold); }
108
+ .hw-divider[data-tone='tertiary'] { --_hw-divider-color: var(--hw-color-divider-tertiary); }
109
+ .hw-divider[data-tone] { border-color: var(--_hw-divider-color, var(--hw-color-border)); }
110
110
  @media (forced-colors: active) {
111
111
  .hw-divider[data-tone] { border-color: CanvasText; }
112
112
  }
@@ -27,7 +27,7 @@
27
27
  :is(.hw-link, .hw-portal-header a)[target='_blank']:not([data-hw-external-icon='none']):not(:has([data-hw-external-icon], .hw-portal-footer-external))::after {
28
28
  content: ''; display: inline-block; flex: none; inline-size: 1em; block-size: 1em;
29
29
  margin-inline-start: .25em; vertical-align: -.125em;
30
- background: currentColor; mask: url('./assets/external-link.svg') center / contain no-repeat;
30
+ background: currentColor; mask: url('./assets/icons/link-square-02.svg') center / contain no-repeat;
31
31
  }
32
32
  .hw-link:is([data-variant='subtle'], [data-variant='neutral']) { --hw-link-rest: var(--hw-color-link-neutral); --hw-link-hover: var(--hw-color-link-neutral-hover); --hw-link-active: var(--hw-color-link-neutral-active); --hw-link-visited: var(--hw-color-link-neutral); color: var(--hw-link-rest); text-decoration: none; }
33
33
  .hw-link:visited { color: var(--hw-link-visited); }
@@ -47,7 +47,7 @@
47
47
  .hw-breadcrumb [aria-disabled='true'] { color: var(--hw-color-on-disabled); cursor: not-allowed; }
48
48
  /* Empty generated geometry is decorative; no private icon-font glyph is read
49
49
  as content. A logical chevron follows direction independently of language. */
50
- .hw-breadcrumb li + li::before { content: var(--hw-profile-breadcrumb-separator, '/'); flex: none; inline-size: var(--hw-profile-breadcrumb-size, auto); block-size: var(--hw-profile-breadcrumb-size, auto); margin-inline: var(--hw-profile-breadcrumb-margin, 0px); border-block-start: var(--hw-profile-breadcrumb-border, 0px) solid currentColor; border-inline-end: var(--hw-profile-breadcrumb-border, 0px) solid currentColor; transform: rotate(calc(var(--_nq-inline-sign, 1) * var(--hw-profile-breadcrumb-angle, 0deg))); color: var(--hw-color-text-subtle); }
50
+ .hw-breadcrumb li + li::before { content: var(--hw-profile-breadcrumb-separator, '/'); flex: none; inline-size: var(--hw-profile-breadcrumb-size, auto); block-size: var(--hw-profile-breadcrumb-size, auto); margin-inline: var(--hw-profile-breadcrumb-margin, 0px); border-block-start: var(--hw-profile-breadcrumb-border, 0px) solid currentColor; border-inline-end: var(--hw-profile-breadcrumb-border, 0px) solid currentColor; transform: rotate(calc(var(--_hw-inline-sign, 1) * var(--hw-profile-breadcrumb-angle, 0deg))); color: var(--hw-color-text-subtle); }
51
51
  @media (prefers-reduced-motion: reduce) { .hw-breadcrumb a { transition: none; } }
52
52
  @media (forced-colors: active) {
53
53
  :is(.hw-link, .hw-portal-header a)[target='_blank']::after { background: LinkText; forced-color-adjust: none; }
@@ -1,33 +1,33 @@
1
1
  /* NIC global.css 3883–3957 and master.js 441–520. The Angular host carries the variant. */
2
2
  :where(dialog, hw-dialog)[data-variant='notification'] {
3
- --_nq-notice-ink: var(--hw-color-info);
4
- --_nq-notice-surface: var(--hw-color-info-subtle);
5
- --_nq-notice-border: var(--hw-color-notice-info-border);
6
- --_nq-notice-symbol: url('./assets/notifications/info-outline.svg');
3
+ --_hw-notice-ink: var(--hw-color-info);
4
+ --_hw-notice-surface: var(--hw-color-info-subtle);
5
+ --_hw-notice-border: var(--hw-color-notice-info-border);
6
+ --_hw-notice-symbol: url('./assets/icons/information-circle.svg');
7
7
  }
8
8
  :where(dialog, hw-dialog)[data-variant='notification'][data-tone='success'] {
9
- --_nq-notice-ink: var(--hw-color-success);
10
- --_nq-notice-surface: var(--hw-color-success-subtle);
11
- --_nq-notice-border: var(--hw-color-notice-success-border);
12
- --_nq-notice-symbol: url('./assets/notifications/success-outline.svg');
9
+ --_hw-notice-ink: var(--hw-color-success);
10
+ --_hw-notice-surface: var(--hw-color-success-subtle);
11
+ --_hw-notice-border: var(--hw-color-notice-success-border);
12
+ --_hw-notice-symbol: url('./assets/icons/checkmark-circle-02.svg');
13
13
  }
14
14
  :where(dialog, hw-dialog)[data-variant='notification'][data-tone='warning'] {
15
- --_nq-notice-ink: var(--hw-color-notice-warning-text);
16
- --_nq-notice-surface: var(--hw-color-warning-subtle);
17
- --_nq-notice-border: var(--hw-color-notice-warning-border);
18
- --_nq-notice-symbol: url('./assets/notifications/warning-outline.svg');
15
+ --_hw-notice-ink: var(--hw-color-notice-warning-text);
16
+ --_hw-notice-surface: var(--hw-color-warning-subtle);
17
+ --_hw-notice-border: var(--hw-color-notice-warning-border);
18
+ --_hw-notice-symbol: url('./assets/icons/alert-02.svg');
19
19
  }
20
20
  :where(dialog, hw-dialog)[data-variant='notification'][data-tone='danger'] {
21
- --_nq-notice-ink: var(--hw-color-danger);
22
- --_nq-notice-surface: var(--hw-color-danger-subtle);
23
- --_nq-notice-border: var(--hw-color-notice-danger-border);
24
- --_nq-notice-symbol: url('./assets/notifications/danger-outline.svg');
21
+ --_hw-notice-ink: var(--hw-color-danger);
22
+ --_hw-notice-surface: var(--hw-color-danger-subtle);
23
+ --_hw-notice-border: var(--hw-color-notice-danger-border);
24
+ --_hw-notice-symbol: url('./assets/icons/cancel-circle.svg');
25
25
  }
26
26
  :where(dialog, hw-dialog)[data-variant='notification'][data-tone='neutral'] {
27
- --_nq-notice-ink: var(--hw-color-notice-neutral-text);
28
- --_nq-notice-surface: var(--hw-color-badge-neutral-background);
29
- --_nq-notice-border: var(--hw-color-notice-neutral-text);
30
- --_nq-notice-symbol: url('./assets/notifications/neutral-outline.svg');
27
+ --_hw-notice-ink: var(--hw-color-notice-neutral-text);
28
+ --_hw-notice-surface: var(--hw-color-badge-neutral-background);
29
+ --_hw-notice-border: var(--hw-color-notice-neutral-text);
30
+ --_hw-notice-symbol: url('./assets/icons/minus-sign-circle.svg');
31
31
  }
32
32
 
33
33
  :is(dialog.hw-dialog[data-variant='notification'], hw-dialog[data-variant='notification'] > dialog.hw-dialog) {
@@ -38,7 +38,7 @@
38
38
  padding: 24px;
39
39
  overflow: auto;
40
40
  border: 0;
41
- border-inline-start: 4px solid var(--_nq-notice-border);
41
+ border-inline-start: 4px solid var(--_hw-notice-border);
42
42
  border-radius: 12px;
43
43
  background: var(--hw-color-surface);
44
44
  color: var(--hw-color-text);
@@ -61,12 +61,12 @@
61
61
  justify-self: center;
62
62
  pointer-events: none;
63
63
  }
64
- & > .hw-dialog-header::before { inline-size: 48px; block-size: 48px; border-radius: 50%; background: var(--_nq-notice-surface); }
64
+ & > .hw-dialog-header::before { inline-size: 48px; block-size: 48px; border-radius: 50%; background: var(--_hw-notice-surface); }
65
65
  & > .hw-dialog-header::after {
66
66
  margin-block-start: 12px;
67
67
  inline-size: 24px; block-size: 24px;
68
- background-color: var(--_nq-notice-ink);
69
- mask: var(--_nq-notice-symbol) center / contain no-repeat;
68
+ background-color: var(--_hw-notice-ink);
69
+ mask: var(--_hw-notice-symbol) center / contain no-repeat;
70
70
  }
71
71
  & > .hw-dialog-header > :is(h1, h2, h3) { grid-column: 2; grid-row: 1; align-self: start; margin: 0; font-size: 1.125rem; font-weight: 600; overflow-wrap: anywhere; }
72
72
  & > .hw-dialog-header > button {
@@ -74,6 +74,7 @@
74
74
  display: grid; place-items: center; gap: 0; inline-size: 40px; min-inline-size: 40px;
75
75
  padding: 0; font-size: 0; color: var(--hw-color-text-muted);
76
76
  }
77
+ & > .hw-dialog-header > button:has(.hw-icon)::before { content: none; }
77
78
  & > .hw-dialog-header > button::before {
78
79
  content: ''; inline-size: 24px; block-size: 24px; background-color: currentColor;
79
80
  mask: url('./assets/icons/cancel-01.svg') center / contain no-repeat;
@@ -1,22 +1,22 @@
1
1
  /* NIC global.css 3797–3876 and master.js 318–412. */
2
2
  .hw-toast-region[data-variant='banner'] {
3
- --_nq-toast-gutter: 20px;
4
- --_nq-toast-top: var(--hw-toast-header-offset, 80px);
3
+ --_hw-toast-gutter: 20px;
4
+ --_hw-toast-top: var(--hw-toast-header-offset, 80px);
5
5
  box-sizing: border-box;
6
- inset-block: var(--_nq-toast-top) auto;
7
- inset-inline: auto var(--_nq-toast-gutter);
8
- inline-size: min(450px, calc(100% - 2 * var(--_nq-toast-gutter)));
9
- max-block-size: calc(100dvh - var(--_nq-toast-top) - var(--_nq-toast-gutter));
6
+ inset-block: var(--_hw-toast-top) auto;
7
+ inset-inline: auto var(--_hw-toast-gutter);
8
+ inline-size: min(450px, calc(100% - 2 * var(--_hw-toast-gutter)));
9
+ max-block-size: calc(100dvh - var(--_hw-toast-top) - var(--_hw-toast-gutter));
10
10
  padding: 0;
11
11
  overscroll-behavior: contain;
12
12
  /* The viewport edge bounds a fixed stack; notices may be taller when text wraps. */
13
13
  }
14
14
  .hw-toast-region[data-variant='banner']:is([data-position='top-start'], [data-position='bottom-start']) {
15
- inset-inline: var(--_nq-toast-gutter) auto;
15
+ inset-inline: var(--_hw-toast-gutter) auto;
16
16
  }
17
17
  .hw-toast-region[data-variant='banner']:is([data-position='bottom-start'], [data-position='bottom-end']) {
18
- inset-block: auto var(--_nq-toast-gutter);
19
- max-block-size: calc(100dvh - 2 * var(--_nq-toast-gutter));
18
+ inset-block: auto var(--_hw-toast-gutter);
19
+ max-block-size: calc(100dvh - 2 * var(--_hw-toast-gutter));
20
20
  }
21
21
  .hw-toast-region[data-position='inline'] {
22
22
  position: static;
@@ -25,10 +25,10 @@
25
25
  overflow: visible;
26
26
  }
27
27
  .hw-toast-region[data-variant='banner'] .hw-toast {
28
- --_nq-toast-accent: var(--hw-color-notice-info-border);
29
- --_nq-toast-icon: url('./assets/notifications/info.svg');
30
- --_nq-toast-text: var(--hw-color-info);
31
- --_nq-toast-bg: var(--hw-color-info-subtle);
28
+ --_hw-toast-accent: var(--hw-color-notice-info-border);
29
+ --_hw-toast-icon: url('./assets/icons/information-circle.svg');
30
+ --_hw-toast-text: var(--hw-color-info);
31
+ --_hw-toast-bg: var(--hw-color-info-subtle);
32
32
  display: grid;
33
33
  grid-template-columns: auto minmax(0, 1fr) auto;
34
34
  gap: 12px;
@@ -36,10 +36,10 @@
36
36
  box-sizing: border-box;
37
37
  padding: 16px 24px;
38
38
  border: 0;
39
- border-block-end: 2px solid var(--_nq-toast-accent);
39
+ border-block-end: 2px solid var(--_hw-toast-accent);
40
40
  border-radius: 0;
41
- color: var(--_nq-toast-text);
42
- background-color: var(--_nq-toast-bg);
41
+ color: var(--_hw-toast-text);
42
+ background-color: var(--_hw-toast-bg);
43
43
  box-shadow: var(--hw-toast-banner-shadow, 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -1px rgb(0 0 0 / .06));
44
44
  font-size: .875rem;
45
45
  line-height: 1.5;
@@ -47,40 +47,40 @@
47
47
  animation: hw-toast-banner-in 300ms ease-out;
48
48
  }
49
49
  .hw-toast-region[data-variant='banner'] .hw-toast[data-tone='neutral'] {
50
- --_nq-toast-icon: url('./assets/notifications/neutral.svg');
51
- --_nq-toast-text: var(--hw-color-notice-neutral-text);
52
- --_nq-toast-accent: var(--_nq-toast-text);
53
- --_nq-toast-bg: var(--hw-color-badge-neutral-background);
50
+ --_hw-toast-icon: url('./assets/icons/minus-sign-circle.svg');
51
+ --_hw-toast-text: var(--hw-color-notice-neutral-text);
52
+ --_hw-toast-accent: var(--_hw-toast-text);
53
+ --_hw-toast-bg: var(--hw-color-badge-neutral-background);
54
54
  }
55
55
  .hw-toast-region[data-variant='banner'] .hw-toast[data-tone='success'] {
56
- --_nq-toast-icon: url('./assets/notifications/success.svg');
57
- --_nq-toast-text: var(--hw-color-success);
58
- --_nq-toast-accent: var(--hw-color-notice-success-border);
59
- --_nq-toast-bg: var(--hw-color-success-subtle);
56
+ --_hw-toast-icon: url('./assets/icons/checkmark-circle-02.svg');
57
+ --_hw-toast-text: var(--hw-color-success);
58
+ --_hw-toast-accent: var(--hw-color-notice-success-border);
59
+ --_hw-toast-bg: var(--hw-color-success-subtle);
60
60
  }
61
61
  .hw-toast-region[data-variant='banner'] .hw-toast[data-tone='warning'] {
62
- --_nq-toast-icon: url('./assets/notifications/warning.svg');
63
- --_nq-toast-text: var(--hw-color-notice-warning-text);
64
- --_nq-toast-accent: var(--hw-color-notice-warning-border);
65
- --_nq-toast-bg: var(--hw-color-warning-subtle);
62
+ --_hw-toast-icon: url('./assets/icons/alert-02.svg');
63
+ --_hw-toast-text: var(--hw-color-notice-warning-text);
64
+ --_hw-toast-accent: var(--hw-color-notice-warning-border);
65
+ --_hw-toast-bg: var(--hw-color-warning-subtle);
66
66
  }
67
67
  .hw-toast-region[data-variant='banner'] .hw-toast[data-tone='danger'] {
68
- --_nq-toast-icon: url('./assets/notifications/danger.svg');
69
- --_nq-toast-text: var(--hw-color-danger);
70
- --_nq-toast-accent: var(--hw-color-notice-danger-border);
71
- --_nq-toast-bg: var(--hw-color-danger-subtle);
68
+ --_hw-toast-icon: url('./assets/icons/cancel-circle.svg');
69
+ --_hw-toast-text: var(--hw-color-danger);
70
+ --_hw-toast-accent: var(--hw-color-notice-danger-border);
71
+ --_hw-toast-bg: var(--hw-color-danger-subtle);
72
72
  }
73
73
  .hw-toast-region[data-variant='banner'] .hw-toast-icon {
74
74
  grid-column: 1; inline-size: 20px; block-size: 20px;
75
75
  background-color: currentColor;
76
- mask: var(--_nq-toast-icon) center / contain no-repeat;
76
+ mask: var(--_hw-toast-icon) center / contain no-repeat;
77
77
  }
78
78
  .hw-toast-region[data-variant='banner'] .hw-toast-content { grid-column: 2; min-inline-size: 0; }
79
79
  .hw-toast-region[data-variant='banner'] .hw-toast-content p { color: inherit; }
80
80
  .hw-toast-region[data-variant='banner'] .hw-toast-dismiss { grid-column: 3; grid-row: 1; align-self: center; color: inherit; }
81
- @keyframes hw-toast-banner-in { from { opacity: 0; transform: translateX(calc(100% * var(--_nq-inline-sign, 1))); } }
81
+ @keyframes hw-toast-banner-in { from { opacity: 0; transform: translateX(calc(100% * var(--_hw-inline-sign, 1))); } }
82
82
  @media (max-width: 576px) {
83
- .hw-toast-region[data-variant='banner'] { --_nq-toast-gutter: 10px; --_nq-toast-top: var(--hw-toast-header-offset, 70px); }
83
+ .hw-toast-region[data-variant='banner'] { --_hw-toast-gutter: 10px; --_hw-toast-top: var(--hw-toast-header-offset, 70px); }
84
84
  }
85
85
  @media (prefers-reduced-motion: reduce) {
86
86
  .hw-toast-region[data-variant='banner'] .hw-toast { animation: none; }
@@ -122,3 +122,5 @@
122
122
  background-color: ButtonText;
123
123
  }
124
124
  }
125
+ /* A dismiss button that carries its own DGA icon element does not need the drawn one. */
126
+ .hw-toast-region[data-variant='banner'] .hw-toast-dismiss:has(.hw-icon)::before { content: none; }