@ndwnu/design-system 14.2.0 → 14.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 (55) hide show
  1. package/CLAUDE.md +1525 -1525
  2. package/README.md +4 -4
  3. package/assets/icons.ts +83 -83
  4. package/fesm2022/ndwnu-design-system.mjs +155 -155
  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 +114 -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 +183 -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
@@ -1,183 +1,183 @@
1
- .ndw-summary-card {
2
- position: relative;
3
- box-sizing: border-box;
4
-
5
- display: grid;
6
- gap: var(--ndw-spacing-md);
7
- padding: var(--ndw-spacing-lg);
8
- border: var(--ndw-border-size-sm) solid var(--ndw-color-white);
9
- border-radius: var(--ndw-border-radius-md);
10
-
11
- background-color: var(--ndw-color-white);
12
- box-shadow: 0 var(--ndw-border-radius-xs) var(--ndw-border-radius-xs) 0 rgba(64, 78, 84, 0.05);
13
- transition: var(--ndw-animation-speed-fast);
14
-
15
- &:has(.ndw-summary-card-header a:hover) {
16
- border: var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);
17
- box-shadow: 0 var(--ndw-border-radius-xs) var(--ndw-border-radius-md) 0 rgba(64, 78, 84, 0.2);
18
- }
19
-
20
- &__wrapper {
21
- display: grid;
22
- gap: var(--ndw-spacing-md);
23
- height: 100%;
24
- align-items: start;
25
- box-sizing: border-box;
26
-
27
- &:has(ndw-avatar) {
28
- grid-template-columns: max-content 1fr;
29
- }
30
-
31
- &:has(a:focus:not(:active)) {
32
- outline: var(--ndw-border-size-sm) solid var(--ndw-color-info-500);
33
- }
34
- }
35
-
36
- &__content {
37
- display: grid;
38
- gap: var(--ndw-spacing-xs);
39
- }
40
-
41
- .ndw-summary-card-tags {
42
- display: flex;
43
- flex-wrap: wrap;
44
- gap: var(--ndw-spacing-xs);
45
- }
46
-
47
- .ndw-summary-card-tag {
48
- display: flex;
49
- flex-wrap: nowrap;
50
- gap: var(--ndw-spacing-2xs);
51
- align-items: center;
52
-
53
- border: 1px solid var(--ndw-color-grey-100);
54
- border-radius: var(--ndw-border-radius-xs);
55
- padding: var(--ndw-spacing-2xs);
56
-
57
- color: var(--ndw-color-grey-500);
58
- font-size: var(--ndw-font-size-xs);
59
-
60
- ndw-icon {
61
- font-size: var(--ndw-font-size-sm);
62
- }
63
-
64
- img {
65
- display: block;
66
- height: var(--ndw-font-size-sm);
67
- }
68
- }
69
-
70
- .ndw-summary-card-subtitle {
71
- display: grid;
72
- grid-template-columns: max-content 1fr;
73
- align-items: center;
74
- gap: var(--ndw-spacing-3xs);
75
-
76
- color: var(--ndw-color-grey-500);
77
- font-size: var(--ndw-font-size-xs);
78
-
79
- ndw-icon {
80
- font-size: var(--ndw-font-size-sm);
81
- }
82
-
83
- &__text {
84
- overflow: hidden;
85
- text-overflow: ellipsis;
86
- white-space: nowrap;
87
- }
88
- }
89
-
90
- .ndw-summary-card-header {
91
- display: flex;
92
- gap: var(--ndw-spacing-xs);
93
-
94
- &__wrapper {
95
- display: grid;
96
- gap: var(--ndw-spacing-2xs);
97
- justify-items: left;
98
- }
99
-
100
- &__title {
101
- width: 100%;
102
- white-space: nowrap;
103
- overflow: hidden;
104
- text-overflow: ellipsis;
105
- margin: 0;
106
-
107
- font-size: var(--ndw-base-font-size);
108
- font-weight: var(--ndw-font-weight-bold);
109
- font-family: var(--ndw-font-family-heading);
110
-
111
- a {
112
- color: inherit;
113
- text-decoration: none;
114
- font-family: var(--ndw-font-family-heading);
115
-
116
- &:after {
117
- content: '';
118
- position: absolute;
119
- inset: 0;
120
- }
121
-
122
- &:focus {
123
- outline: 0;
124
- }
125
- }
126
- }
127
- }
128
-
129
- .ndw-summary-card-content {
130
- overflow: hidden;
131
- text-overflow: ellipsis;
132
- display: -webkit-box;
133
- -webkit-line-clamp: 2;
134
- -webkit-box-orient: vertical;
135
-
136
- font-family: var(--ndw-font-family-body);
137
- font-size: var(--ndw-font-size-sm);
138
- color: var(--ndw-color-grey-500);
139
- }
140
-
141
- .ndw-summary-card-actions {
142
- flex: 1;
143
- display: flex;
144
- justify-content: flex-end;
145
-
146
- ndw-favorite {
147
- margin-right: var(--ndw-spacing-sm);
148
- }
149
-
150
- &--auto {
151
- container-type: inline-size;
152
- }
153
-
154
- .actions {
155
- gap: var(--ndw-spacing-2xs);
156
-
157
- &--popover {
158
- display: grid;
159
- }
160
-
161
- &--visible,
162
- &--auto {
163
- display: flex;
164
- }
165
- }
166
-
167
- .popover-wrapper {
168
- display: block;
169
-
170
- @container (width > 140px) {
171
- display: none;
172
- }
173
- }
174
-
175
- .regular-wrapper {
176
- display: none;
177
-
178
- @container (width > 140px) {
179
- display: block;
180
- }
181
- }
182
- }
183
- }
1
+ .ndw-summary-card {
2
+ position: relative;
3
+ box-sizing: border-box;
4
+
5
+ display: grid;
6
+ gap: var(--ndw-spacing-md);
7
+ padding: var(--ndw-spacing-lg);
8
+ border: var(--ndw-border-size-sm) solid var(--ndw-color-white);
9
+ border-radius: var(--ndw-border-radius-md);
10
+
11
+ background-color: var(--ndw-color-white);
12
+ box-shadow: 0 var(--ndw-border-radius-xs) var(--ndw-border-radius-xs) 0 rgba(64, 78, 84, 0.05);
13
+ transition: var(--ndw-animation-speed-fast);
14
+
15
+ &:has(.ndw-summary-card-header a:hover) {
16
+ border: var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);
17
+ box-shadow: 0 var(--ndw-border-radius-xs) var(--ndw-border-radius-md) 0 rgba(64, 78, 84, 0.2);
18
+ }
19
+
20
+ &__wrapper {
21
+ display: grid;
22
+ gap: var(--ndw-spacing-md);
23
+ height: 100%;
24
+ align-items: start;
25
+ box-sizing: border-box;
26
+
27
+ &:has(ndw-avatar) {
28
+ grid-template-columns: max-content 1fr;
29
+ }
30
+
31
+ &:has(a:focus:not(:active)) {
32
+ outline: var(--ndw-border-size-sm) solid var(--ndw-color-info-500);
33
+ }
34
+ }
35
+
36
+ &__content {
37
+ display: grid;
38
+ gap: var(--ndw-spacing-xs);
39
+ }
40
+
41
+ .ndw-summary-card-tags {
42
+ display: flex;
43
+ flex-wrap: wrap;
44
+ gap: var(--ndw-spacing-xs);
45
+ }
46
+
47
+ .ndw-summary-card-tag {
48
+ display: flex;
49
+ flex-wrap: nowrap;
50
+ gap: var(--ndw-spacing-2xs);
51
+ align-items: center;
52
+
53
+ border: 1px solid var(--ndw-color-grey-100);
54
+ border-radius: var(--ndw-border-radius-xs);
55
+ padding: var(--ndw-spacing-2xs);
56
+
57
+ color: var(--ndw-color-grey-500);
58
+ font-size: var(--ndw-font-size-xs);
59
+
60
+ ndw-icon {
61
+ font-size: var(--ndw-font-size-sm);
62
+ }
63
+
64
+ img {
65
+ display: block;
66
+ height: var(--ndw-font-size-sm);
67
+ }
68
+ }
69
+
70
+ .ndw-summary-card-subtitle {
71
+ display: grid;
72
+ grid-template-columns: max-content 1fr;
73
+ align-items: center;
74
+ gap: var(--ndw-spacing-3xs);
75
+
76
+ color: var(--ndw-color-grey-500);
77
+ font-size: var(--ndw-font-size-xs);
78
+
79
+ ndw-icon {
80
+ font-size: var(--ndw-font-size-sm);
81
+ }
82
+
83
+ &__text {
84
+ overflow: hidden;
85
+ text-overflow: ellipsis;
86
+ white-space: nowrap;
87
+ }
88
+ }
89
+
90
+ .ndw-summary-card-header {
91
+ display: flex;
92
+ gap: var(--ndw-spacing-xs);
93
+
94
+ &__wrapper {
95
+ display: grid;
96
+ gap: var(--ndw-spacing-2xs);
97
+ justify-items: left;
98
+ }
99
+
100
+ &__title {
101
+ width: 100%;
102
+ white-space: nowrap;
103
+ overflow: hidden;
104
+ text-overflow: ellipsis;
105
+ margin: 0;
106
+
107
+ font-size: var(--ndw-base-font-size);
108
+ font-weight: var(--ndw-font-weight-bold);
109
+ font-family: var(--ndw-font-family-heading);
110
+
111
+ a {
112
+ color: inherit;
113
+ text-decoration: none;
114
+ font-family: var(--ndw-font-family-heading);
115
+
116
+ &:after {
117
+ content: '';
118
+ position: absolute;
119
+ inset: 0;
120
+ }
121
+
122
+ &:focus {
123
+ outline: 0;
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ .ndw-summary-card-content {
130
+ overflow: hidden;
131
+ text-overflow: ellipsis;
132
+ display: -webkit-box;
133
+ -webkit-line-clamp: 2;
134
+ -webkit-box-orient: vertical;
135
+
136
+ font-family: var(--ndw-font-family-body);
137
+ font-size: var(--ndw-font-size-sm);
138
+ color: var(--ndw-color-grey-500);
139
+ }
140
+
141
+ .ndw-summary-card-actions {
142
+ flex: 1;
143
+ display: flex;
144
+ justify-content: flex-end;
145
+
146
+ ndw-favorite {
147
+ margin-right: var(--ndw-spacing-sm);
148
+ }
149
+
150
+ &--auto {
151
+ container-type: inline-size;
152
+ }
153
+
154
+ .actions {
155
+ gap: var(--ndw-spacing-2xs);
156
+
157
+ &--popover {
158
+ display: grid;
159
+ }
160
+
161
+ &--visible,
162
+ &--auto {
163
+ display: flex;
164
+ }
165
+ }
166
+
167
+ .popover-wrapper {
168
+ display: block;
169
+
170
+ @container (width > 140px) {
171
+ display: none;
172
+ }
173
+ }
174
+
175
+ .regular-wrapper {
176
+ display: none;
177
+
178
+ @container (width > 140px) {
179
+ display: block;
180
+ }
181
+ }
182
+ }
183
+ }
@@ -1,8 +1,8 @@
1
- .ag-root-wrapper {
2
- padding: var(--ndw-spacing-md);
3
- box-shadow: var(--ndw-elevation-content);
4
-
5
- .ag-header-cell-text {
6
- text-transform: uppercase;
7
- }
8
- }
1
+ .ag-root-wrapper {
2
+ padding: var(--ndw-spacing-md);
3
+ box-shadow: var(--ndw-elevation-content);
4
+
5
+ .ag-header-cell-text {
6
+ text-transform: uppercase;
7
+ }
8
+ }
@@ -1,80 +1,80 @@
1
- import { type Meta, type StoryObj } from '@storybook/angular';
2
-
3
- interface StoryArgs {
4
- noMargin: boolean;
5
- }
6
-
7
- const args: StoryArgs = {
8
- noMargin: false,
9
- };
10
-
11
- /**
12
- * The divider is used to separate content.
13
- *
14
- * ## Usage
15
- *
16
- * Use the `<hr />` element with the `ndwDivider` attribute to add a horizontal line to separate content.
17
- *
18
- * ```html
19
- * [[ content ]]
20
- * <hr ndwDivider />
21
- * [[ content ]]
22
- * ```
23
- *
24
- * ### No margin
25
- *
26
- * To remove the default margin from the divider, use the `[noMargin]` attribute.
27
- *
28
- * ```html
29
- * [[ content ]]
30
- * <hr ndwDivider noMargin />
31
- * [[ content ]]
32
- * ```
33
- */
34
-
35
- const meta: Meta<StoryArgs> = {
36
- tags: ['autodocs', 'ndw', 'nwb'],
37
- title: 'Components/Divider',
38
- render: (props) => ({
39
- props,
40
- styles: [
41
- `
42
- .content {
43
- background-color: var(--ndw-color-grey-100);
44
- padding: var(--ndw-spacing-xs);
45
- }
46
- `,
47
- ],
48
- template: `
49
- <div class="content">
50
- Content
51
- </div>
52
- <hr ndwDivider ${props.noMargin ? 'noMargin' : ''} />
53
- <div class="content">
54
- Content
55
- </div>
56
- `,
57
- }),
58
- args,
59
- argTypes: {
60
- noMargin: {
61
- control: 'boolean',
62
- description: 'Remove the default margin from the divider.',
63
- name: '[noMargin]',
64
- table: {
65
- category: 'Inputs',
66
- defaultValue: { summary: 'false' },
67
- },
68
- },
69
- },
70
- };
71
- export default meta;
72
- type Story = StoryObj;
73
-
74
- export const Default: Story = {};
75
-
76
- export const NoMargin: Story = {
77
- args: {
78
- noMargin: true,
79
- },
80
- };
1
+ import { type Meta, type StoryObj } from '@storybook/angular';
2
+
3
+ interface StoryArgs {
4
+ noMargin: boolean;
5
+ }
6
+
7
+ const args: StoryArgs = {
8
+ noMargin: false,
9
+ };
10
+
11
+ /**
12
+ * The divider is used to separate content.
13
+ *
14
+ * ## Usage
15
+ *
16
+ * Use the `<hr />` element with the `ndwDivider` attribute to add a horizontal line to separate content.
17
+ *
18
+ * ```html
19
+ * [[ content ]]
20
+ * <hr ndwDivider />
21
+ * [[ content ]]
22
+ * ```
23
+ *
24
+ * ### No margin
25
+ *
26
+ * To remove the default margin from the divider, use the `[noMargin]` attribute.
27
+ *
28
+ * ```html
29
+ * [[ content ]]
30
+ * <hr ndwDivider noMargin />
31
+ * [[ content ]]
32
+ * ```
33
+ */
34
+
35
+ const meta: Meta<StoryArgs> = {
36
+ tags: ['autodocs', 'ndw', 'nwb'],
37
+ title: 'Components/Divider',
38
+ render: (props) => ({
39
+ props,
40
+ styles: [
41
+ `
42
+ .content {
43
+ background-color: var(--ndw-color-grey-100);
44
+ padding: var(--ndw-spacing-xs);
45
+ }
46
+ `,
47
+ ],
48
+ template: `
49
+ <div class="content">
50
+ Content
51
+ </div>
52
+ <hr ndwDivider ${props.noMargin ? 'noMargin' : ''} />
53
+ <div class="content">
54
+ Content
55
+ </div>
56
+ `,
57
+ }),
58
+ args,
59
+ argTypes: {
60
+ noMargin: {
61
+ control: 'boolean',
62
+ description: 'Remove the default margin from the divider.',
63
+ name: '[noMargin]',
64
+ table: {
65
+ category: 'Inputs',
66
+ defaultValue: { summary: 'false' },
67
+ },
68
+ },
69
+ },
70
+ };
71
+ export default meta;
72
+ type Story = StoryObj;
73
+
74
+ export const Default: Story = {};
75
+
76
+ export const NoMargin: Story = {
77
+ args: {
78
+ noMargin: true,
79
+ },
80
+ };
@@ -1,17 +1,17 @@
1
- @forward 'button';
2
- @forward 'card';
3
- @forward 'datepicker';
4
- @forward 'divider';
5
- @forward 'dropdown';
6
- @forward 'edit-bar';
7
- @forward 'filter-button';
8
- @forward 'guided-tour';
9
- @forward 'input';
10
- @forward 'label';
11
- @forward 'link';
12
- @forward 'list-item';
13
- @forward 'map';
14
- @forward 'menu-button';
15
- @forward 'popover';
16
- @forward 'summary-card';
17
- @forward 'table';
1
+ @forward 'button';
2
+ @forward 'card';
3
+ @forward 'datepicker';
4
+ @forward 'divider';
5
+ @forward 'dropdown';
6
+ @forward 'edit-bar';
7
+ @forward 'filter-button';
8
+ @forward 'guided-tour';
9
+ @forward 'input';
10
+ @forward 'label';
11
+ @forward 'link';
12
+ @forward 'list-item';
13
+ @forward 'map';
14
+ @forward 'menu-button';
15
+ @forward 'popover';
16
+ @forward 'summary-card';
17
+ @forward 'table';