@ndwnu/design-system 14.2.1 → 14.3.0

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 (56) hide show
  1. package/CLAUDE.md +1539 -1525
  2. package/README.md +4 -4
  3. package/assets/icons.ts +83 -83
  4. package/fesm2022/ndwnu-design-system.mjs +260 -220
  5. package/fesm2022/ndwnu-design-system.mjs.map +1 -1
  6. package/package.json +1 -1
  7. package/styles/FONTS.md +46 -46
  8. package/styles/base/_colors.scss +246 -246
  9. package/styles/base/_fonts.scss +13 -13
  10. package/styles/base/_material.scss +17 -17
  11. package/styles/base/_typography.scss +133 -133
  12. package/styles/base/_variables.scss +92 -92
  13. package/styles/base/colors.stories.model.ts +85 -85
  14. package/styles/base/colors.stories.ts +24 -24
  15. package/styles/base/index.scss +5 -5
  16. package/styles/base/typography.stories.ts +111 -111
  17. package/styles/components/_button.scss +133 -133
  18. package/styles/components/_card.scss +3 -3
  19. package/styles/components/_datepicker.scss +134 -134
  20. package/styles/components/_divider.scss +10 -10
  21. package/styles/components/_dropdown.scss +8 -8
  22. package/styles/components/_edit-bar.scss +97 -97
  23. package/styles/components/_filter-button.scss +39 -39
  24. package/styles/components/_guided-tour.scss +70 -70
  25. package/styles/components/_input.scss +253 -253
  26. package/styles/components/_label.scss +23 -23
  27. package/styles/components/_link.scss +36 -36
  28. package/styles/components/_list-item.scss +7 -7
  29. package/styles/components/_map.scss +144 -114
  30. package/styles/components/_menu-button.scss +37 -37
  31. package/styles/components/_popover.scss +19 -19
  32. package/styles/components/_summary-card.scss +205 -183
  33. package/styles/components/_table.scss +8 -8
  34. package/styles/components/divider.stories.ts +80 -80
  35. package/styles/components/index.scss +17 -17
  36. package/styles/components/link.stories.ts +154 -154
  37. package/styles/index.scss +4 -4
  38. package/styles/layout/_grid.scss +165 -165
  39. package/styles/layout/_overlay.scss +7 -7
  40. package/styles/layout/grid.stories.ts +168 -168
  41. package/styles/layout/index.scss +2 -2
  42. package/styles/storybook/_core.scss +60 -60
  43. package/styles/storybook/_reset.scss +21 -21
  44. package/styles/storybook/index.scss +17 -17
  45. package/styles/storybook/overrides/_buttons.scss +95 -95
  46. package/styles/storybook/overrides/_code-previews.scss +97 -97
  47. package/styles/storybook/overrides/_content.scss +24 -24
  48. package/styles/storybook/overrides/_headers.scss +31 -31
  49. package/styles/storybook/overrides/_layout.scss +44 -44
  50. package/styles/storybook/overrides/_table.scss +112 -112
  51. package/styles/storybook/overrides/index.scss +6 -6
  52. package/styles/storybook/overrides.css +355 -355
  53. package/styles/utils/_screenreader.scss +13 -13
  54. package/styles/utils/classes.stories.ts +157 -157
  55. package/styles/utils/index.scss +1 -1
  56. package/types/ndwnu-design-system.d.ts +46 -48
@@ -1,134 +1,134 @@
1
- @use '@angular/material' as mat;
2
-
3
- :root {
4
- @include mat.datepicker-overrides(
5
- (
6
- toggle-icon-color: var(--ndw-color-primary),
7
- calendar-container-background-color: var(--ndw-color-grey-100),
8
- calendar-container-elevation-shadow: var(--ndw-elevation-content),
9
- calendar-container-shape: var(--ndw-border-radius-md),
10
- calendar-text-font: var(--ndw-font-family-body),
11
- calendar-text-size: var(--ndw-font-size-sm),
12
- calendar-header-text-size: var(--ndw-font-size-sm),
13
- calendar-body-label-text-size: var(--ndw-font-size-sm),
14
- calendar-period-button-text-size: var(--ndw-font-size-sm),
15
- calendar-date-text-color: var(--ndw-color-text),
16
- calendar-date-today-outline-color: var(--ndw-color-secondary-200),
17
- calendar-date-selected-state-background-color: var(--ndw-color-secondary-400),
18
- calendar-date-today-selected-state-outline-color: var(--ndw-color-secondary-400),
19
- calendar-date-preview-state-outline-color: var(--ndw-color-secondary-300),
20
- calendar-date-hover-state-background-color: var(--ndw-color-secondary-300),
21
- calendar-date-focus-state-background-color: var(--ndw-color-secondary-300),
22
- )
23
- );
24
-
25
- mat-calendar {
26
- --range-preview-border: var(--ndw-border-size-sm) dashed var(--ndw-color-secondary-300);
27
-
28
- .mat-calendar-body-label {
29
- visibility: hidden;
30
- }
31
-
32
- tr:has(.mat-calendar-body-label):not(:has(.mat-calendar-body-cell)) {
33
- display: none;
34
- }
35
-
36
- .ndw-date-selected > :first-child {
37
- background-color: var(--ndw-color-secondary-400) !important;
38
- color: var(--ndw-color-white) !important;
39
- }
40
-
41
- .ndw-date-range-start {
42
- background-color: var(--ndw-color-secondary-200);
43
- border-top-left-radius: 50%;
44
- border-bottom-left-radius: 50%;
45
- }
46
-
47
- .ndw-date-range-end {
48
- background-color: var(--ndw-color-secondary-200);
49
- border-top-right-radius: 50%;
50
- border-bottom-right-radius: 50%;
51
- }
52
-
53
- .ndw-date-in-range {
54
- background-color: var(--ndw-color-secondary-200);
55
- }
56
-
57
- .ndw-date-range-start-preview {
58
- background-color: var(--ndw-color-secondary-100);
59
- border-top-left-radius: 50%;
60
- border-bottom-left-radius: 50%;
61
- }
62
-
63
- .ndw-date-range-end-preview {
64
- background-color: var(--ndw-color-secondary-100);
65
- border-top-right-radius: 50%;
66
- border-bottom-right-radius: 50%;
67
- }
68
-
69
- .ndw-date-in-range-preview {
70
- background-color: var(--ndw-color-secondary-100);
71
- }
72
-
73
- // Add a dot below dates with the ndw-date-indicator class
74
- .ndw-date-indicator > :first-child {
75
- &::after {
76
- content: '';
77
- background: var(--ndw-color-primary);
78
- position: absolute;
79
- bottom: 2px;
80
- left: calc(50% - 4px);
81
- width: 8px;
82
- height: 8px;
83
- box-sizing: border-box;
84
- border-radius: 4px;
85
- }
86
- }
87
-
88
- // Disable the month view when in 'month' mode
89
- &.month-picker {
90
- .mat-calendar-period-button {
91
- pointer-events: none;
92
- }
93
-
94
- .mat-calendar-arrow {
95
- display: none;
96
- }
97
- }
98
- }
99
- }
100
-
101
- ndw-calendar.show-week-numbers {
102
- --week-number-size: 16px;
103
-
104
- padding-left: 1rem;
105
-
106
- .mat-calendar-body {
107
- min-height: calc(6 * var(--mat-datepicker-calendar-date-state-layer-height, 42px));
108
- vertical-align: top;
109
- }
110
-
111
- thead {
112
- tr::before {
113
- content: '';
114
- width: var(--week-number-size);
115
- }
116
- }
117
-
118
- tbody {
119
- tr[data-week-number] {
120
- position: relative;
121
- }
122
-
123
- // Display week numbers in the calendar
124
- tr[data-week-number]::before {
125
- content: attr(data-week-number);
126
- position: absolute;
127
- top: calc(50% - 9px);
128
- left: calc(-1 * var(--week-number-size));
129
- height: 8px;
130
- font-size: var(--ndw-font-size-sm);
131
- color: var(--ndw-color-grey-400);
132
- }
133
- }
134
- }
1
+ @use '@angular/material' as mat;
2
+
3
+ :root {
4
+ @include mat.datepicker-overrides(
5
+ (
6
+ toggle-icon-color: var(--ndw-color-primary),
7
+ calendar-container-background-color: var(--ndw-color-grey-100),
8
+ calendar-container-elevation-shadow: var(--ndw-elevation-content),
9
+ calendar-container-shape: var(--ndw-border-radius-md),
10
+ calendar-text-font: var(--ndw-font-family-body),
11
+ calendar-text-size: var(--ndw-font-size-sm),
12
+ calendar-header-text-size: var(--ndw-font-size-sm),
13
+ calendar-body-label-text-size: var(--ndw-font-size-sm),
14
+ calendar-period-button-text-size: var(--ndw-font-size-sm),
15
+ calendar-date-text-color: var(--ndw-color-text),
16
+ calendar-date-today-outline-color: var(--ndw-color-secondary-200),
17
+ calendar-date-selected-state-background-color: var(--ndw-color-secondary-400),
18
+ calendar-date-today-selected-state-outline-color: var(--ndw-color-secondary-400),
19
+ calendar-date-preview-state-outline-color: var(--ndw-color-secondary-300),
20
+ calendar-date-hover-state-background-color: var(--ndw-color-secondary-300),
21
+ calendar-date-focus-state-background-color: var(--ndw-color-secondary-300),
22
+ )
23
+ );
24
+
25
+ mat-calendar {
26
+ --range-preview-border: var(--ndw-border-size-sm) dashed var(--ndw-color-secondary-300);
27
+
28
+ .mat-calendar-body-label {
29
+ visibility: hidden;
30
+ }
31
+
32
+ tr:has(.mat-calendar-body-label):not(:has(.mat-calendar-body-cell)) {
33
+ display: none;
34
+ }
35
+
36
+ .ndw-date-selected > :first-child {
37
+ background-color: var(--ndw-color-secondary-400) !important;
38
+ color: var(--ndw-color-white) !important;
39
+ }
40
+
41
+ .ndw-date-range-start {
42
+ background-color: var(--ndw-color-secondary-200);
43
+ border-top-left-radius: 50%;
44
+ border-bottom-left-radius: 50%;
45
+ }
46
+
47
+ .ndw-date-range-end {
48
+ background-color: var(--ndw-color-secondary-200);
49
+ border-top-right-radius: 50%;
50
+ border-bottom-right-radius: 50%;
51
+ }
52
+
53
+ .ndw-date-in-range {
54
+ background-color: var(--ndw-color-secondary-200);
55
+ }
56
+
57
+ .ndw-date-range-start-preview {
58
+ background-color: var(--ndw-color-secondary-100);
59
+ border-top-left-radius: 50%;
60
+ border-bottom-left-radius: 50%;
61
+ }
62
+
63
+ .ndw-date-range-end-preview {
64
+ background-color: var(--ndw-color-secondary-100);
65
+ border-top-right-radius: 50%;
66
+ border-bottom-right-radius: 50%;
67
+ }
68
+
69
+ .ndw-date-in-range-preview {
70
+ background-color: var(--ndw-color-secondary-100);
71
+ }
72
+
73
+ // Add a dot below dates with the ndw-date-indicator class
74
+ .ndw-date-indicator > :first-child {
75
+ &::after {
76
+ content: '';
77
+ background: var(--ndw-color-primary);
78
+ position: absolute;
79
+ bottom: 2px;
80
+ left: calc(50% - 4px);
81
+ width: 8px;
82
+ height: 8px;
83
+ box-sizing: border-box;
84
+ border-radius: 4px;
85
+ }
86
+ }
87
+
88
+ // Disable the month view when in 'month' mode
89
+ &.month-picker {
90
+ .mat-calendar-period-button {
91
+ pointer-events: none;
92
+ }
93
+
94
+ .mat-calendar-arrow {
95
+ display: none;
96
+ }
97
+ }
98
+ }
99
+ }
100
+
101
+ ndw-calendar.show-week-numbers {
102
+ --week-number-size: 16px;
103
+
104
+ padding-left: 1rem;
105
+
106
+ .mat-calendar-body {
107
+ min-height: calc(6 * var(--mat-datepicker-calendar-date-state-layer-height, 42px));
108
+ vertical-align: top;
109
+ }
110
+
111
+ thead {
112
+ tr::before {
113
+ content: '';
114
+ width: var(--week-number-size);
115
+ }
116
+ }
117
+
118
+ tbody {
119
+ tr[data-week-number] {
120
+ position: relative;
121
+ }
122
+
123
+ // Display week numbers in the calendar
124
+ tr[data-week-number]::before {
125
+ content: attr(data-week-number);
126
+ position: absolute;
127
+ top: calc(50% - 9px);
128
+ left: calc(-1 * var(--week-number-size));
129
+ height: 8px;
130
+ font-size: var(--ndw-font-size-sm);
131
+ color: var(--ndw-color-grey-400);
132
+ }
133
+ }
134
+ }
@@ -1,10 +1,10 @@
1
- hr[ndwDivider] {
2
- background-color: var(--ndw-color-grey-200);
3
- border: none;
4
- height: var(--ndw-border-size-sm);
5
- margin: var(--ndw-spacing-xs) 0;
6
-
7
- &[noMargin] {
8
- margin-block: 0;
9
- }
10
- }
1
+ hr[ndwDivider] {
2
+ background-color: var(--ndw-color-grey-200);
3
+ border: none;
4
+ height: var(--ndw-border-size-sm);
5
+ margin: var(--ndw-spacing-xs) 0;
6
+
7
+ &[noMargin] {
8
+ margin-block: 0;
9
+ }
10
+ }
@@ -1,8 +1,8 @@
1
- @keyframes show {
2
- from {
3
- opacity: 0;
4
- }
5
- to {
6
- opacity: 1;
7
- }
8
- }
1
+ @keyframes show {
2
+ from {
3
+ opacity: 0;
4
+ }
5
+ to {
6
+ opacity: 1;
7
+ }
8
+ }
@@ -1,97 +1,97 @@
1
- @use '../../styles/base/variables';
2
-
3
- $min-width-sm: variables.$ndw-screen-sm + 0.1;
4
-
5
- .ndw-edit-bar {
6
- --left-position: 0;
7
-
8
- display: block;
9
- z-index: 2;
10
- left: 0;
11
- right: 0;
12
- bottom: 0;
13
-
14
- padding: var(--ndw-spacing-md);
15
- border-block-start: 1px solid var(--ndw-color-grey-300);
16
-
17
- background-color: var(--ndw-color-white);
18
-
19
- &.ndw-edit-bar--fixed {
20
- position: fixed;
21
- left: var(--left-position);
22
-
23
- @media screen and (min-width: $min-width-sm) {
24
- [data-main-navigation-expanded='true'] & {
25
- --left-position: calc(var(--main-navigation-expanded-width) + var(--ndw-border-size-sm));
26
- }
27
-
28
- [data-main-navigation-expanded='false'] & {
29
- --left-position: var(--main-navigation-collapse-width);
30
- }
31
- }
32
- }
33
-
34
- &.ndw-edit-bar--full-width {
35
- left: 0;
36
- right: 0;
37
- }
38
-
39
- &.ndw-edit-bar--layout-width {
40
- right: 0;
41
- }
42
-
43
- &.ndw-edit-bar--sticky {
44
- position: sticky;
45
- }
46
-
47
- &.ndw-edit-bar--static {
48
- position: static;
49
- }
50
-
51
- &.ndw-edit-bar--absolute {
52
- position: absolute;
53
- }
54
-
55
- &.ndw-edit-bar--grid {
56
- padding-inline: 0;
57
- }
58
-
59
- &__inner {
60
- gap: var(--ndw-spacing-xs);
61
- display: flex;
62
- justify-content: space-between;
63
- align-items: center;
64
- flex-wrap: wrap;
65
- }
66
-
67
- .ndw-grid {
68
- box-sizing: border-box;
69
- }
70
- }
71
-
72
- .ndw-edit-bar-actions {
73
- display: flex;
74
- flex-wrap: wrap;
75
- gap: var(--ndw-spacing-xs);
76
- width: 100%;
77
-
78
- > * {
79
- flex: 1;
80
- white-space: nowrap;
81
- }
82
-
83
- @media screen and (min-width: variables.$ndw-screen-xs) {
84
- width: max-content;
85
- margin-left: auto;
86
-
87
- > * {
88
- flex: unset;
89
- }
90
- }
91
- }
92
-
93
- .ndw-edit-bar-message {
94
- display: block;
95
- font-size: var(--ndw-font-size-sm);
96
- color: var(--ndw-color-grey-700);
97
- }
1
+ @use '../../styles/base/variables';
2
+
3
+ $min-width-sm: variables.$ndw-screen-sm + 0.1;
4
+
5
+ .ndw-edit-bar {
6
+ --left-position: 0;
7
+
8
+ display: block;
9
+ z-index: 2;
10
+ left: 0;
11
+ right: 0;
12
+ bottom: 0;
13
+
14
+ padding: var(--ndw-spacing-md);
15
+ border-block-start: 1px solid var(--ndw-color-grey-300);
16
+
17
+ background-color: var(--ndw-color-white);
18
+
19
+ &.ndw-edit-bar--fixed {
20
+ position: fixed;
21
+ left: var(--left-position);
22
+
23
+ @media screen and (min-width: $min-width-sm) {
24
+ [data-main-navigation-expanded='true'] & {
25
+ --left-position: calc(var(--main-navigation-expanded-width) + var(--ndw-border-size-sm));
26
+ }
27
+
28
+ [data-main-navigation-expanded='false'] & {
29
+ --left-position: var(--main-navigation-collapse-width);
30
+ }
31
+ }
32
+ }
33
+
34
+ &.ndw-edit-bar--full-width {
35
+ left: 0;
36
+ right: 0;
37
+ }
38
+
39
+ &.ndw-edit-bar--layout-width {
40
+ right: 0;
41
+ }
42
+
43
+ &.ndw-edit-bar--sticky {
44
+ position: sticky;
45
+ }
46
+
47
+ &.ndw-edit-bar--static {
48
+ position: static;
49
+ }
50
+
51
+ &.ndw-edit-bar--absolute {
52
+ position: absolute;
53
+ }
54
+
55
+ &.ndw-edit-bar--grid {
56
+ padding-inline: 0;
57
+ }
58
+
59
+ &__inner {
60
+ gap: var(--ndw-spacing-xs);
61
+ display: flex;
62
+ justify-content: space-between;
63
+ align-items: center;
64
+ flex-wrap: wrap;
65
+ }
66
+
67
+ .ndw-grid {
68
+ box-sizing: border-box;
69
+ }
70
+ }
71
+
72
+ .ndw-edit-bar-actions {
73
+ display: flex;
74
+ flex-wrap: wrap;
75
+ gap: var(--ndw-spacing-xs);
76
+ width: 100%;
77
+
78
+ > * {
79
+ flex: 1;
80
+ white-space: nowrap;
81
+ }
82
+
83
+ @media screen and (min-width: variables.$ndw-screen-xs) {
84
+ width: max-content;
85
+ margin-left: auto;
86
+
87
+ > * {
88
+ flex: unset;
89
+ }
90
+ }
91
+ }
92
+
93
+ .ndw-edit-bar-message {
94
+ display: block;
95
+ font-size: var(--ndw-font-size-sm);
96
+ color: var(--ndw-color-grey-700);
97
+ }
@@ -1,39 +1,39 @@
1
- [ndwButton] {
2
- &[filter] {
3
- background-color: var(--ndw-color-white);
4
- border-color: var(--ndw-color-grey-300);
5
- color: var(--ndw-color-grey-700);
6
- height: var(--ndw-spacing-2xl);
7
-
8
- ndw-icon.button-icon {
9
- color: var(--ndw-color-primary);
10
- }
11
-
12
- ndw-icon.prefix-icon {
13
- color: var(--ndw-color-grey-300);
14
- }
15
-
16
- &:hover {
17
- border-color: var(--ndw-color-primary);
18
- }
19
-
20
- &:active,
21
- &:focus,
22
- &:focus-visible {
23
- border-color: var(--ndw-color-info-500);
24
- box-shadow: var(--ndw-elevation-info);
25
- outline-color: var(--ndw-color-info-500);
26
- }
27
-
28
- &[disabled] {
29
- background-color: var(--ndw-color-grey-100);
30
- color: var(--ndw-color-grey-500);
31
- pointer-events: none;
32
- user-select: none;
33
-
34
- ndw-icon {
35
- color: var(--ndw-color-grey-500);
36
- }
37
- }
38
- }
39
- }
1
+ [ndwButton] {
2
+ &[filter] {
3
+ background-color: var(--ndw-color-white);
4
+ border-color: var(--ndw-color-grey-300);
5
+ color: var(--ndw-color-grey-700);
6
+ height: var(--ndw-spacing-2xl);
7
+
8
+ ndw-icon.button-icon {
9
+ color: var(--ndw-color-primary);
10
+ }
11
+
12
+ ndw-icon.prefix-icon {
13
+ color: var(--ndw-color-grey-300);
14
+ }
15
+
16
+ &:hover {
17
+ border-color: var(--ndw-color-primary);
18
+ }
19
+
20
+ &:active,
21
+ &:focus,
22
+ &:focus-visible {
23
+ border-color: var(--ndw-color-info-500);
24
+ box-shadow: var(--ndw-elevation-info);
25
+ outline-color: var(--ndw-color-info-500);
26
+ }
27
+
28
+ &[disabled] {
29
+ background-color: var(--ndw-color-grey-100);
30
+ color: var(--ndw-color-grey-500);
31
+ pointer-events: none;
32
+ user-select: none;
33
+
34
+ ndw-icon {
35
+ color: var(--ndw-color-grey-500);
36
+ }
37
+ }
38
+ }
39
+ }