@eturnity/eturnity_reusable_components 9.31.2 → 9.31.4-EPDM-20023.4

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_reusable_components",
3
- "version": "9.31.2",
3
+ "version": "9.31.4-EPDM-20023.4",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -0,0 +1,7 @@
1
+ <svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g transform="translate(-3.96923,16.95769) scale(0.003846,-0.003846)" fill="#263238" stroke="none">
3
+ <path d="M1805 4190 c-198 -120 -373 -228 -390 -238 -16 -11 -73 -45 -125 -77 -52 -32 -100 -62 -106 -67 -8 -6 7 -26 49 -66 33 -31 80 -75 103 -97 46 -44 265 -251 330 -312 240 -225 348 -327 399 -375 33 -31 83 -79 111 -105 28 -26 111 -104 184 -173 166 -156 213 -200 221 -200 3 0 25 13 50 29 24 15 210 131 413 256 203 125 394 243 425 262 31 20 67 42 80 50 l24 15 -54 50 c-30 28 -119 112 -199 187 -157 149 -252 238 -315 296 -22 20 -76 72 -120 114 -44 42 -145 137 -224 211 -79 74 -189 178 -245 231 -204 193 -238 224 -244 226 -4 2 -169 -96 -367 -217z"/>
4
+ <path d="M3435 2916 c-99 -63 -315 -197 -480 -299 l-300 -185 0 -1091 c0 -600 1 -1091 2 -1091 3 0 453 274 659 401 82 50 163 99 179 109 17 9 54 32 83 49 l52 33 0 1094 c0 602 -3 1094 -7 1093 -5 0 -89 -51 -188 -113z"/>
5
+ <path d="M1690 899 c-179 -110 -400 -246 -492 -302 -92 -55 -166 -102 -165 -103 3 -4 174 -32 232 -39 28 -4 59 -9 70 -12 11 -3 31 -7 45 -8 25 -3 89 -12 125 -19 11 -2 52 -9 90 -15 39 -6 86 -13 105 -16 68 -11 155 -24 195 -30 22 -3 51 -8 65 -10 14 -3 39 -7 55 -9 17 -3 44 -7 60 -10 17 -3 48 -7 70 -11 23 -3 50 -7 60 -9 11 -2 56 -9 100 -16 44 -7 87 -14 97 -15 9 -2 38 -6 65 -10 26 -4 56 -9 65 -11 15 -5 16 24 15 378 l-2 382 -35 7 c-19 4 -55 10 -80 13 -43 5 -64 9 -140 22 -19 4 -44 8 -55 9 -22 3 -163 24 -198 30 -15 3 -127 -61 -347 -196z"/>
6
+ </g>
7
+ </svg>
@@ -1055,10 +1055,16 @@
1055
1055
  this.handleSetDropdownOffet()
1056
1056
  this.refreshOptionLength()
1057
1057
  if (!this.isFixedDropdownPosition) this.calculateSelectTopPosition()
1058
+ // Teleported menus live in <body>, so they aren't clipped by a
1059
+ // scrollable ancestor (e.g. the filter modal). Close on outside
1060
+ // scroll to avoid the menu floating free of its trigger.
1061
+ if (this.shouldUseTeleport)
1062
+ document.addEventListener('scroll', this.handleScrollClose, true)
1058
1063
  // Deferred dropdown slot content mounts after initial open in some hosts.
1059
1064
  this.$nextTick(() => this.refreshOptionLength())
1060
1065
  } else {
1061
1066
  this.$emit('on-dropdown-close')
1067
+ document.removeEventListener('scroll', this.handleScrollClose, true)
1062
1068
  this.dropdownPosition.left = null
1063
1069
  this.optionLengthCount = 0
1064
1070
  if (this.animationFrameId) {
@@ -1139,6 +1145,7 @@
1139
1145
  this.clickOutside,
1140
1146
  CLICK_OUTSIDE_CAPTURE
1141
1147
  )
1148
+ document.removeEventListener('scroll', this.handleScrollClose, true)
1142
1149
  },
1143
1150
  methods: {
1144
1151
  getDropdownTopScrollYOffset() {
@@ -1162,6 +1169,14 @@
1162
1169
  this.clearSearch()
1163
1170
  this.isDropdownOpen = false
1164
1171
  },
1172
+ handleScrollClose(e) {
1173
+ // Ignore scrolling within the menu itself (e.g. a long option list);
1174
+ // only close when a surrounding container scrolls. The menu is
1175
+ // teleported to <body>, so check the teleported dropdown element.
1176
+ const menuEl = this.$refs.dropdown?.$el
1177
+ if (menuEl && (menuEl === e.target || menuEl.contains(e.target))) return
1178
+ this.closeDropdown()
1179
+ },
1165
1180
  clearSearch() {
1166
1181
  this.textSearch = ''
1167
1182
  this.searchChange('')
@@ -292,6 +292,7 @@
292
292
  v-if="!isCollapsed"
293
293
  data-id="footer_documents_button"
294
294
  data-qa-id="footer_documents_button"
295
+ :is-disabled="footerButtonDisabled"
295
296
  :text="footerButtonText"
296
297
  @click="onFooterButtonClick()"
297
298
  />
@@ -299,6 +300,7 @@
299
300
  v-else
300
301
  data-id="footer_documents_button"
301
302
  data-qa-id="footer_documents_button"
303
+ :is-disabled="footerButtonDisabled"
302
304
  @click="onFooterButtonClick()"
303
305
  >
304
306
  <IconComponent color="white" name="documents" size="16px" />
@@ -560,15 +562,19 @@
560
562
  font-weight: 400;
561
563
  `
562
564
 
563
- const FooterButtonWrapper = styled.div`
565
+ const FooterButtonWrapperAttrs = { isDisabled: Boolean }
566
+ const FooterButtonWrapper = styled('div', FooterButtonWrapperAttrs)`
564
567
  display: flex;
565
568
  align-items: center;
566
569
  justify-content: center;
567
570
  width: 30px;
568
571
  height: 30px;
569
572
  border-radius: 4px;
570
- cursor: pointer;
571
- background-color: ${(p) => p.theme.semanticColors.purple[500]};
573
+ cursor: ${(p) => (p.isDisabled ? 'not-allowed' : 'pointer')};
574
+ background-color: ${(p) =>
575
+ p.isDisabled
576
+ ? p.theme.colors.disabled
577
+ : p.theme.semanticColors.purple[500]};
572
578
  `
573
579
 
574
580
  const ChevronCellAttrs = { isWrapperHovered: Boolean }
@@ -872,6 +878,10 @@
872
878
  type: String,
873
879
  default: '',
874
880
  },
881
+ footerButtonDisabled: {
882
+ type: Boolean,
883
+ default: false,
884
+ },
875
885
  },
876
886
  emits: [
877
887
  'item-click',