@asd20/ui 3.2.466 → 3.2.467

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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "*.scss",
6
6
  "*.vue"
7
7
  ],
8
- "version": "3.2.466",
8
+ "version": "3.2.467",
9
9
  "private": false,
10
10
  "license": "MIT",
11
11
  "repository": {
@@ -2,10 +2,15 @@
2
2
  <section class="asd20-widgets-section">
3
3
  <slot name="before" />
4
4
 
5
- <asd20-department-contact-card v-if="group" :group="group" />
5
+ <asd20-department-contact-card
6
+ class="relatedDepartment"
7
+ v-if="group"
8
+ :group="group"
9
+ />
6
10
 
7
11
  <asd20-people-list
8
- v-if="people.length"
12
+ class="relatedPeople"
13
+ v-if="people.length && !noPeople"
9
14
  :people="people"
10
15
  v-bind="peopleFeedProps"
11
16
  :multi-column="full"
@@ -13,6 +18,7 @@
13
18
  />
14
19
 
15
20
  <asd20-link-list
21
+ class="relatedPages"
16
22
  v-if="relatedPages"
17
23
  :links="relatedPages"
18
24
  v-bind="relatedPagesProps"
@@ -27,6 +33,7 @@
27
33
  </intersect> -->
28
34
 
29
35
  <asd20-link-list
36
+ class="relatedLinks"
30
37
  :links="relatedLinks"
31
38
  v-bind="relatedLinksProps"
32
39
  :multi-column="full"
@@ -35,6 +42,8 @@
35
42
 
36
43
  <intersect v-if="filesFeedProps" @enter="$emit('files-in-view')">
37
44
  <asd20-file-list
45
+ v-if="files.length && !noFiles"
46
+ class="relatedFiles"
38
47
  v-bind="filesFeedProps"
39
48
  :files="files"
40
49
  :multi-column="full"
@@ -94,6 +103,8 @@ export default {
94
103
  videos: { type: Array, default: () => [] },
95
104
 
96
105
  full: { type: Boolean, default: false },
106
+ noFiles: { type: Boolean, default: false },
107
+ noPeople: { type: Boolean, default: false },
97
108
  },
98
109
  }
99
110
  </script>
@@ -143,5 +154,10 @@ export default {
143
154
  max-width: 50vw;
144
155
  }
145
156
  }
157
+ .relatedDepartment,
158
+ .relatedPeople,
159
+ .relatedPages {
160
+ max-width: 50vw;
161
+ }
146
162
  }
147
163
  </style>
@@ -216,6 +216,7 @@
216
216
  v-bind="{ ...widgetsSectionProps.footer, ...widgetsSectionProps.sidebar }"
217
217
  @events-in-view="$emit('events-in-view')"
218
218
  @files-in-view="$emit('files-in-view')"
219
+ @people-in-view="$emit('people-in-view')"
219
220
  full
220
221
  ><slot name="widgets"
221
222
  /></asd20-widgets-section>
@@ -441,12 +441,15 @@ export default {
441
441
  margin: 0 space(1);
442
442
  .asd20-card {
443
443
  margin-bottom: space(-0.5);
444
+ :hover {
445
+ background: rgb(240, 240, 240);
446
+ }
444
447
  }
445
448
  .asd20-search-field .asd20-icon {
446
449
  margin-left: 0;
447
450
  }
448
451
  .asd20-card__content {
449
- padding: space(1) space(0);
452
+ padding: space(1) space(1);
450
453
  }
451
454
 
452
455
  h2,
@@ -491,7 +494,7 @@ export default {
491
494
  flex-wrap: wrap;
492
495
  .asd20-widgets-section {
493
496
  flex-basis: 30%;
494
- padding: space(2) space(2) 0 0;
497
+ padding: 0 space(2) 0 0;
495
498
  background: none;
496
499
  }
497
500
  }
@@ -506,7 +509,7 @@ export default {
506
509
  }
507
510
  .article-list {
508
511
  flex-basis: 50%;
509
- margin: space(1) space(0) space(1) space(3);
512
+ margin: space(0) space(0) space(1) space(3);
510
513
  }
511
514
  .asd20-card {
512
515
  margin-bottom: space(1);
@@ -52,27 +52,43 @@
52
52
  <!-- <asd20-breadcrumb slot="top" :links="breadcrumbLinks"></asd20-breadcrumb> -->
53
53
  </asd20-page-header>
54
54
 
55
+ <!-- Inline-Notifications -->
56
+ <client-only>
57
+ <asd20-notification-group
58
+ :notifications="activeNotificationsByType.inline"
59
+ group-type="inline"
60
+ @dismiss="$emit('dismiss-notification', $event)"
61
+ @toggle-all="$emit('toggle-all')"
62
+ ></asd20-notification-group>
63
+ </client-only>
64
+
55
65
  <!-- Page Content -->
56
66
  <asd20-page-content
57
67
  :primary-messages="primaryMessages"
68
+ :secondary-messages="secondaryMessages"
58
69
  omit-detail-links
59
70
  omit-calls-to-action
60
71
  >
61
- <!-- Inline Notifications -->
62
- <client-only>
63
- <asd20-notification-group
64
- slot="before"
65
- class="asd20-notification-group--inline"
66
- :notifications="activeNotificationsByType.inline"
67
- group-type="inline"
68
- @dismiss="$emit('dismiss-notification', $event)"
69
- @toggle-all="$emit('toggle-all')"
70
- ></asd20-notification-group>
71
- </client-only>
72
-
73
- <slot></slot>
72
+ <!-- Sidebar Widgets -->
73
+ <asd20-widgets-section
74
+ v-if="widgetsSectionProps.sidebar"
75
+ v-bind="widgetsSectionProps.sidebar"
76
+ @events-in-view="$emit('events-in-view')"
77
+ @files-in-view="$emit('files-in-view')"
78
+ @people-in-view="$emit('people-in-view')"
79
+ ></asd20-widgets-section>
74
80
  </asd20-page-content>
75
81
 
82
+ <!-- File List -->
83
+ <asd20-file-list
84
+ class="fileList"
85
+ :files="files"
86
+ v-bind="filesFeedProps"
87
+ @files-in-view="$emit('files-in-view')"
88
+ :multi-column="true"
89
+ max-height="auto"
90
+ />
91
+
76
92
  <asd20-media-section
77
93
  v-if="combinedMessageImages.length > 1 || combinedMessageVideos.length"
78
94
  :images="this.combinedMessageImages || []"
@@ -83,15 +99,14 @@
83
99
  <!-- Bottom Widgets -->
84
100
  <asd20-widgets-section
85
101
  v-if="widgetsSectionProps.footer || $slots.widgets"
86
- v-bind="{ ...widgetsSectionProps.footer, ...widgetsSectionProps.sidebar }"
102
+ v-bind="widgetsSectionProps.footer"
87
103
  @events-in-view="$emit('events-in-view')"
88
104
  @files-in-view="$emit('files-in-view')"
89
105
  full
106
+ noFiles
90
107
  ><slot name="widgets"
91
108
  /></asd20-widgets-section>
92
109
 
93
- <slot name="widgets" />
94
-
95
110
  <slot name="before-footer" />
96
111
 
97
112
  <!-- Quick Links -->
@@ -120,6 +135,7 @@ import Asd20SiteNavigation from '../../../components/organisms/Asd20SiteNavigati
120
135
  import Asd20PageContent from '../../../components/organisms/Asd20PageContent'
121
136
  import Asd20MediaSection from '../../../components/organisms/Asd20MediaSection'
122
137
  import Asd20WidgetsSection from '../../../components/organisms/Asd20WidgetsSection'
138
+ import Asd20FileList from '../../../components/organisms/Asd20FileList'
123
139
 
124
140
  import Asd20PageFooter from '../../../components/organisms/Asd20PageFooter'
125
141
  import Asd20QuicklinksMenu from '../../../components/organisms/Asd20QuicklinksMenu'
@@ -141,6 +157,7 @@ export default {
141
157
  Asd20QuicklinksMenu,
142
158
  Asd20WidgetsSection,
143
159
  Asd20MediaSection,
160
+ Asd20FileList,
144
161
  },
145
162
  props: {
146
163
  // groupByOwner: { type: Boolean, default: false },
@@ -150,6 +167,15 @@ export default {
150
167
  // fileGroupTitle: { type: String, default: 'Related Files' },
151
168
  files: { type: Array, default: () => [] },
152
169
  },
170
+ mounted() {
171
+ this.$emit('files-in-view')
172
+ },
173
+
174
+ beforeRouteEnter(to, from, next) {
175
+ next(vm => {
176
+ vm.$emit('files-in-view')
177
+ })
178
+ },
153
179
  }
154
180
  </script>
155
181
 
@@ -188,19 +214,45 @@ export default {
188
214
  }
189
215
  }
190
216
  }
217
+ .fileList {
218
+ padding: space(1);
219
+ --minimum-column-width: 620px;
220
+ --gutter: #{space(0.5)};
221
+ display: block;
222
+ flex-direction: row;
223
+ flex-wrap: wrap;
224
+ // justify-content: space-between;
225
+ margin: 0 calc(var(--gutter) * -1);
226
+ height: min-content;
191
227
 
192
- .asd20-file-page-section {
193
- background-position-y: top;
194
- margin: 0 space(1);
195
- padding-bottom: space(2);
196
- }
197
- .asd20-widgets-section {
198
- padding: space(0) space(0);
228
+ &::v-deep > * {
229
+ flex: 1 1 var(--minimum-column-width);
230
+ margin: var(--gutter);
231
+ // max-width: space(25);
232
+ }
199
233
  }
200
234
  }
235
+ // @media (max-width: 1023px) {
236
+ // .asd20-template-file-list {
237
+ // .fileList {
238
+ // flex-direction: row;
239
+ // &::v-deep .asd20-list__header {
240
+ // padding: 0 space(0.75);
241
+ // }
242
+ // &::v-deep .asd20-list-category {
243
+ // padding-left: space(1);
244
+ // }
245
+ // &::v-deep .asd20-list-item {
246
+ // padding-left: space(1);
247
+ // padding-right: space(1);
248
+ // }
249
+ // }
250
+ // }
251
+ // }
201
252
 
202
253
  @media (min-width: 1024px) {
203
254
  .asd20-template-file-list {
255
+ @include template-desktop;
204
256
  margin-left: space(3);
205
257
  margin-top: 0;
206
258
  .asd20-notification-group--floating {
@@ -214,14 +266,36 @@ export default {
214
266
  // }
215
267
  // }
216
268
  }
269
+ .notification-group--inline {
270
+ margin: space(2) space(3) space(1) space(3);
271
+ flex-basis: 100%;
272
+ margin-bottom: 0 !important;
273
+ }
274
+
217
275
  .asd20-page-content {
218
- margin-top: space(1);
276
+ // margin-top: space(1);
277
+ display: flex;
278
+ justify-content: space-between;
279
+ align-items: stretch;
280
+ flex-wrap: wrap;
281
+ .asd20-widgets-section {
282
+ flex-basis: 30%;
283
+ padding: space(2) space(2) 0 0;
284
+ background: none;
285
+ }
219
286
  }
220
- .asd20-file-page-section {
221
- padding: 0 space(2);
287
+ .primary-messaging-section {
288
+ max-width: 50vw;
222
289
  }
223
- .asd20-widgets-section {
224
- padding: space(0) space(3);
290
+ .fileList {
291
+ padding: space(3.5);
292
+ display: flex;
293
+
294
+ --minimum-column-width: 450px;
295
+ --gutter: #{space(1)};
296
+ &::v-deep .asd20-person-list {
297
+ max-width: 50vw;
298
+ }
225
299
  }
226
300
  }
227
301
  }
@@ -4,7 +4,7 @@ import { withKnobs, boolean } from '@storybook/addon-knobs'
4
4
  import mockPageMixin from '../../../mixins/mockPageMixin'
5
5
 
6
6
  import Asd20PeopleFeatureTemplate from '.'
7
- import pageQueryResult from '../../../data/page-queries/landing-page-query-result.json'
7
+ import pageQueryResult from '../../../data/page-queries/sublanding-page-query-result.json'
8
8
  import notifications from '../../../data/messages/notifications'
9
9
 
10
10
  const info = {
@@ -50,7 +50,7 @@ stories.add(
50
50
  ...wrapper,
51
51
  template: `
52
52
  <Asd20PeopleFeatureTemplate
53
- v-bind="templatePropsNoMessages"
53
+ v-bind="templateProps"
54
54
  :menu-open.sync="menuOpen"
55
55
  :search-open.sync="searchOpen"
56
56
 
@@ -53,32 +53,40 @@
53
53
  <!-- <asd20-breadcrumb slot="top" :links="breadcrumbLinks"></asd20-breadcrumb> -->
54
54
  </asd20-page-header>
55
55
 
56
+ <!-- Inline-Notifications -->
57
+ <client-only>
58
+ <asd20-notification-group
59
+ :notifications="activeNotificationsByType.inline"
60
+ group-type="inline"
61
+ @dismiss="$emit('dismiss-notification', $event)"
62
+ @toggle-all="$emit('toggle-all')"
63
+ ></asd20-notification-group>
64
+ </client-only>
65
+
56
66
  <!-- Page Content -->
57
67
  <asd20-page-content
58
68
  :primary-messages="primaryMessages"
59
69
  :secondary-messages="secondaryMessages"
60
- grid
61
- forceDisplay
70
+ omit-detail-links
71
+ omit-calls-to-action
62
72
  >
63
- <!-- Inline-Notifications -->
64
- <template slot="before">
65
- <client-only>
66
- <asd20-notification-group
67
- :notifications="activeNotificationsByType.inline"
68
- group-type="inline"
69
- @dismiss="$emit('dismiss-notification', $event)"
70
- @toggle-all="$emit('toggle-all')"
71
- ></asd20-notification-group>
72
- </client-only>
73
- </template>
74
- <asd20-people-list
75
- :people="people"
76
- v-bind="peopleFeedProps"
73
+ <!-- Sidebar Widgets -->
74
+ <asd20-widgets-section
75
+ v-if="widgetsSectionProps.sidebar"
76
+ v-bind="widgetsSectionProps.sidebar"
77
+ @events-in-view="$emit('events-in-view')"
78
+ @files-in-view="$emit('files-in-view')"
77
79
  @people-in-view="$emit('people-in-view')"
78
- />
79
- <slot></slot>
80
+ ></asd20-widgets-section>
80
81
  </asd20-page-content>
81
82
 
83
+ <!-- People List -->
84
+ <asd20-people-list
85
+ :people="people"
86
+ v-bind="peopleFeedProps"
87
+ @people-in-view="$emit('people-in-view')"
88
+ />
89
+
82
90
  <asd20-feeds-section
83
91
  :announcements="announcements"
84
92
  :announcements-feed-props="announcementsFeedProps"
@@ -93,18 +101,12 @@
93
101
 
94
102
  <!-- Bottom Widgets -->
95
103
  <asd20-widgets-section
96
- v-if="
97
- widgetsSectionPropsNoPeople.footer ||
98
- widgetsSectionPropsNoPeople.sidebar ||
99
- $slots.widgets
100
- "
101
- v-bind="{
102
- ...widgetsSectionPropsNoPeople.footer,
103
- ...widgetsSectionPropsNoPeople.sidebar,
104
- }"
104
+ v-if="widgetsSectionProps.footer || $slots.widgets"
105
+ v-bind="widgetsSectionProps.footer"
105
106
  @events-in-view="$emit('events-in-view')"
106
107
  @files-in-view="$emit('files-in-view')"
107
108
  full
109
+ noPeople
108
110
  ><slot name="widgets"
109
111
  /></asd20-widgets-section>
110
112
 
@@ -176,21 +178,6 @@ export default {
176
178
  vm.$emit('people-in-view')
177
179
  })
178
180
  },
179
-
180
- computed: {
181
- widgetsSectionPropsNoPeople() {
182
- if (
183
- this.widgetsSectionProps &&
184
- this.widgetsSectionProps.footer &&
185
- this.widgetsSectionProps.footer.people
186
- ) {
187
- let removePeopleFromWidget = this.widgetsSectionProps
188
- delete removePeopleFromWidget.footer.people
189
- return removePeopleFromWidget
190
- }
191
- return this.widgetsSectionProps
192
- },
193
- },
194
181
  }
195
182
  </script>
196
183
 
@@ -211,8 +198,26 @@ export default {
211
198
  flex-shrink: 0;
212
199
  overflow: hidden;
213
200
  margin-top: space(2.25);
201
+ .asd20-notification-group--floating {
202
+ position: absolute;
203
+ top: space(2);
204
+ .bell {
205
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.125) !important;
206
+ svg {
207
+ fill: var(--color__accent) !important;
208
+ }
209
+ span {
210
+ background: var(--color__accent) !important;
211
+ top: inherit !important;
212
+ right: inherit !important;
213
+ width: 1.2rem !important;
214
+ height: 1.2rem !important;
215
+ font-size: 0.75rem !important;
216
+ }
217
+ }
218
+ }
214
219
  .asd20-person-list {
215
- padding: space(1);
220
+ padding: space(3);
216
221
  }
217
222
  }
218
223
 
@@ -221,8 +226,38 @@ export default {
221
226
  @include template-desktop;
222
227
  margin-left: space(3);
223
228
  margin-top: 0;
229
+ .asd20-notification-group--floating {
230
+ position: absolute;
231
+ top: space(1);
232
+ // .bell {
233
+ // span {
234
+ // background: var(--color__accent);
235
+ // top: -0.6em !important;
236
+ // right: -0.6em !important;
237
+ // }
238
+ // }
239
+ }
240
+ .notification-group--inline {
241
+ margin: space(2) space(3) space(1) space(3);
242
+ flex-basis: 100%;
243
+ margin-bottom: 0 !important;
244
+ }
245
+
224
246
  .asd20-page-content {
225
- margin-top: space(1);
247
+ // margin-top: space(1);
248
+ display: flex;
249
+ justify-content: space-between;
250
+ align-items: stretch;
251
+ flex-wrap: wrap;
252
+ .asd20-widgets-section {
253
+ flex-basis: 30%;
254
+ padding: space(2) space(2) 0 0;
255
+ background: none;
256
+ }
257
+ }
258
+
259
+ .primary-messaging-section {
260
+ max-width: 50vw;
226
261
  }
227
262
  }
228
263
  }
@@ -212,8 +212,10 @@ export default {
212
212
  */
213
213
 
214
214
  const useSidebar =
215
- this.firstMessage && this.firstMessage.bodyHtml && this.desktop
216
-
215
+ this.firstMessage &&
216
+ this.firstMessage.bodyHtml &&
217
+ this.desktop &&
218
+ this.primaryMessages.length < 3
217
219
  const relatedLinksContainImages =
218
220
  this.relatedLinks.length && !!this.relatedLinks.find(l => !!l.imageUrl)
219
221