apostrophe 4.3.3 → 4.4.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 (158) hide show
  1. package/.stylelintrc +1 -93
  2. package/CHANGELOG.md +57 -1
  3. package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposAdminBar.vue +7 -1
  4. package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposAdminBarLocale.vue +6 -3
  5. package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposAdminBarUser.vue +2 -1
  6. package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposContextModeAndSettings.vue +1 -0
  7. package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposContextTitle.vue +3 -2
  8. package/modules/@apostrophecms/admin-bar/ui/apos/components/TheAposSavingIndicator.vue +6 -2
  9. package/modules/@apostrophecms/any-page-type/index.js +2 -2
  10. package/modules/@apostrophecms/area/ui/apos/components/AposAreaContextualMenu.vue +13 -7
  11. package/modules/@apostrophecms/area/ui/apos/components/AposAreaEditor.vue +4 -4
  12. package/modules/@apostrophecms/area/ui/apos/components/AposAreaExpandedMenu.vue +17 -11
  13. package/modules/@apostrophecms/area/ui/apos/components/AposAreaMenu.vue +13 -7
  14. package/modules/@apostrophecms/area/ui/apos/components/AposAreaMenuItem.vue +3 -0
  15. package/modules/@apostrophecms/area/ui/apos/components/AposAreaWidget.vue +36 -20
  16. package/modules/@apostrophecms/area/ui/apos/components/AposWidgetControls.vue +18 -11
  17. package/modules/@apostrophecms/busy/ui/apos/components/TheAposBusy.vue +6 -8
  18. package/modules/@apostrophecms/command-menu/index.js +12 -7
  19. package/modules/@apostrophecms/command-menu/ui/apos/components/AposCommandMenuKey.vue +9 -7
  20. package/modules/@apostrophecms/command-menu/ui/apos/components/AposCommandMenuShortcut.vue +28 -15
  21. package/modules/@apostrophecms/command-menu/ui/apos/components/TheAposCommandMenu.vue +44 -42
  22. package/modules/@apostrophecms/doc-type/index.js +2 -1
  23. package/modules/@apostrophecms/doc-type/ui/apos/components/AposDocEditor.vue +4 -3
  24. package/modules/@apostrophecms/file-tag/index.js +1 -1
  25. package/modules/@apostrophecms/global/index.js +29 -0
  26. package/modules/@apostrophecms/i18n/i18n/de.json +20 -0
  27. package/modules/@apostrophecms/i18n/i18n/en.json +1 -0
  28. package/modules/@apostrophecms/i18n/i18n/es.json +1 -0
  29. package/modules/@apostrophecms/i18n/i18n/fr.json +1 -0
  30. package/modules/@apostrophecms/i18n/i18n/it.json +1 -0
  31. package/modules/@apostrophecms/i18n/i18n/pt-BR.json +1 -0
  32. package/modules/@apostrophecms/i18n/i18n/sk.json +1 -0
  33. package/modules/@apostrophecms/i18n/ui/apos/components/AposI18nLocalize.vue +25 -17
  34. package/modules/@apostrophecms/i18n/ui/apos/components/AposI18nLocalizeErrors.vue +5 -4
  35. package/modules/@apostrophecms/image/index.js +2 -1
  36. package/modules/@apostrophecms/image/ui/apos/components/AposImageCropper.vue +1 -1
  37. package/modules/@apostrophecms/image/ui/apos/components/AposImageRelationshipEditor.vue +9 -8
  38. package/modules/@apostrophecms/image/ui/apos/components/AposMediaManager.vue +13 -10
  39. package/modules/@apostrophecms/image/ui/apos/components/AposMediaManagerDisplay.vue +11 -7
  40. package/modules/@apostrophecms/image/ui/apos/components/AposMediaManagerEditor.vue +12 -2
  41. package/modules/@apostrophecms/image/ui/apos/components/AposMediaManagerSelections.vue +8 -5
  42. package/modules/@apostrophecms/image/ui/apos/components/AposMediaUploader.vue +17 -8
  43. package/modules/@apostrophecms/image-tag/index.js +1 -1
  44. package/modules/@apostrophecms/login/ui/apos/components/AposLoginForm.vue +1 -0
  45. package/modules/@apostrophecms/login/ui/apos/components/AposResetPasswordForm.vue +1 -0
  46. package/modules/@apostrophecms/login/ui/apos/components/TheAposLogin.vue +16 -14
  47. package/modules/@apostrophecms/login/ui/apos/components/TheAposLoginHeader.vue +9 -4
  48. package/modules/@apostrophecms/modal/ui/apos/apps/AposModals.js +11 -59
  49. package/modules/@apostrophecms/modal/ui/apos/components/AposDocsManagerToolbar.vue +1 -0
  50. package/modules/@apostrophecms/modal/ui/apos/components/AposModal.vue +59 -55
  51. package/modules/@apostrophecms/modal/ui/apos/components/AposModalBody.vue +1 -0
  52. package/modules/@apostrophecms/modal/ui/apos/components/AposModalBreadcrumbs.vue +5 -0
  53. package/modules/@apostrophecms/modal/ui/apos/components/AposModalConfirm.vue +6 -10
  54. package/modules/@apostrophecms/modal/ui/apos/components/AposModalShareDraft.vue +14 -16
  55. package/modules/@apostrophecms/modal/ui/apos/components/AposModalTabs.vue +68 -5
  56. package/modules/@apostrophecms/modal/ui/apos/components/AposWidgetModalTabs.vue +15 -9
  57. package/modules/@apostrophecms/modal/ui/apos/components/TheAposModals.vue +48 -122
  58. package/modules/@apostrophecms/modal/ui/apos/composables/AposFocus.js +9 -6
  59. package/modules/@apostrophecms/modal/ui/apos/mixins/AposDocsManagerMixin.js +38 -36
  60. package/modules/@apostrophecms/notification/ui/apos/components/AposNotification.vue +15 -9
  61. package/modules/@apostrophecms/notification/ui/apos/components/TheAposNotifications.vue +2 -2
  62. package/modules/@apostrophecms/page/index.js +9 -6
  63. package/modules/@apostrophecms/page/ui/apos/components/AposPagesManager.vue +3 -4
  64. package/modules/@apostrophecms/page/ui/apos/logic/AposPagesManager.js +5 -10
  65. package/modules/@apostrophecms/page/views/notFound.html +5 -5
  66. package/modules/@apostrophecms/permission/ui/apos/components/AposPermissionGrid.vue +6 -2
  67. package/modules/@apostrophecms/piece-page-type/index.js +1 -0
  68. package/modules/@apostrophecms/piece-type/ui/apos/components/AposDocsManager.vue +8 -12
  69. package/modules/@apostrophecms/piece-type/ui/apos/components/AposDocsManagerSelectBox.vue +2 -2
  70. package/modules/@apostrophecms/piece-type/ui/apos/components/AposRelationshipEditor.vue +1 -2
  71. package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposRichTextWidgetEditor.vue +59 -41
  72. package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapDivider.vue +1 -0
  73. package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapMarks.vue +3 -1
  74. package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapStyles.vue +3 -1
  75. package/modules/@apostrophecms/rich-text-widget/ui/apos/components/AposTiptapTable.vue +2 -0
  76. package/modules/@apostrophecms/rich-text-widget/ui/apos/tiptap-extensions/Classes.js +1 -7
  77. package/modules/@apostrophecms/rich-text-widget/ui/apos/tiptap-extensions/Heading.js +10 -0
  78. package/modules/@apostrophecms/schema/lib/addFieldTypes.js +8 -3
  79. package/modules/@apostrophecms/schema/ui/apos/components/AposArrayEditor.vue +4 -6
  80. package/modules/@apostrophecms/schema/ui/apos/components/AposInputArea.vue +1 -0
  81. package/modules/@apostrophecms/schema/ui/apos/components/AposInputBoolean.vue +5 -2
  82. package/modules/@apostrophecms/schema/ui/apos/components/AposInputColor.vue +1 -0
  83. package/modules/@apostrophecms/schema/ui/apos/components/AposInputDateAndTime.vue +1 -1
  84. package/modules/@apostrophecms/schema/ui/apos/components/AposInputObject.vue +2 -0
  85. package/modules/@apostrophecms/schema/ui/apos/components/AposInputRadio.vue +1 -0
  86. package/modules/@apostrophecms/schema/ui/apos/components/AposInputRange.vue +14 -8
  87. package/modules/@apostrophecms/schema/ui/apos/components/AposInputRelationship.vue +4 -2
  88. package/modules/@apostrophecms/schema/ui/apos/components/AposInputSlug.vue +7 -1
  89. package/modules/@apostrophecms/schema/ui/apos/components/AposInputString.vue +3 -1
  90. package/modules/@apostrophecms/schema/ui/apos/components/AposInputWrapper.vue +35 -5
  91. package/modules/@apostrophecms/schema/ui/apos/components/AposSchema.vue +6 -3
  92. package/modules/@apostrophecms/schema/ui/apos/components/AposSearchList.vue +50 -15
  93. package/modules/@apostrophecms/schema/ui/apos/components/AposSubform.vue +5 -10
  94. package/modules/@apostrophecms/schema/ui/apos/logic/AposArrayEditor.js +17 -17
  95. package/modules/@apostrophecms/schema/ui/apos/logic/AposInputRelationship.js +3 -0
  96. package/modules/@apostrophecms/schema/ui/apos/logic/AposInputString.js +9 -0
  97. package/modules/@apostrophecms/schema/ui/apos/logic/AposInputWrapper.js +7 -0
  98. package/modules/@apostrophecms/schema/ui/apos/logic/AposSchema.js +8 -3
  99. package/modules/@apostrophecms/schema/ui/apos/logic/AposSearchList.js +3 -0
  100. package/modules/@apostrophecms/schema/ui/apos/mixins/AposInputMixin.js +5 -0
  101. package/modules/@apostrophecms/schema/ui/apos/scss/AposInputArray.scss +42 -9
  102. package/modules/@apostrophecms/search/index.js +1 -0
  103. package/modules/@apostrophecms/settings/index.js +33 -0
  104. package/modules/@apostrophecms/settings/ui/apos/components/AposSettingsManager.vue +6 -7
  105. package/modules/@apostrophecms/settings/ui/apos/logic/AposSettingsManager.js +0 -1
  106. package/modules/@apostrophecms/submitted-draft/index.js +26 -0
  107. package/modules/@apostrophecms/submitted-draft/ui/apos/components/AposSubmittedDraftIcon.vue +4 -4
  108. package/modules/@apostrophecms/template/views/templateError.html +4 -4
  109. package/modules/@apostrophecms/translation/ui/apos/components/AposTranslationIndicator.vue +2 -1
  110. package/modules/@apostrophecms/ui/ui/apos/components/AposAvatar.vue +3 -2
  111. package/modules/@apostrophecms/ui/ui/apos/components/AposButton.vue +62 -15
  112. package/modules/@apostrophecms/ui/ui/apos/components/AposButtonGroup.vue +8 -0
  113. package/modules/@apostrophecms/ui/ui/apos/components/AposButtonSplit.vue +9 -3
  114. package/modules/@apostrophecms/ui/ui/apos/components/AposCellContextMenu.vue +2 -0
  115. package/modules/@apostrophecms/ui/ui/apos/components/AposCellLabels.vue +1 -0
  116. package/modules/@apostrophecms/ui/ui/apos/components/AposCloudUploadIcon.vue +5 -5
  117. package/modules/@apostrophecms/ui/ui/apos/components/AposCombo.vue +7 -5
  118. package/modules/@apostrophecms/ui/ui/apos/components/AposContextMenu.vue +8 -5
  119. package/modules/@apostrophecms/ui/ui/apos/components/AposContextMenuDialog.vue +5 -3
  120. package/modules/@apostrophecms/ui/ui/apos/components/AposContextMenuItem.vue +22 -2
  121. package/modules/@apostrophecms/ui/ui/apos/components/AposEmptyState.vue +3 -1
  122. package/modules/@apostrophecms/ui/ui/apos/components/AposFile.vue +5 -1
  123. package/modules/@apostrophecms/ui/ui/apos/components/AposFilterMenu.vue +2 -1
  124. package/modules/@apostrophecms/ui/ui/apos/components/AposLabel.vue +1 -0
  125. package/modules/@apostrophecms/ui/ui/apos/components/AposMinMaxCount.vue +1 -0
  126. package/modules/@apostrophecms/ui/ui/apos/components/AposPager.vue +1 -0
  127. package/modules/@apostrophecms/ui/ui/apos/components/AposPagerDots.vue +3 -1
  128. package/modules/@apostrophecms/ui/ui/apos/components/AposSlat.vue +15 -2
  129. package/modules/@apostrophecms/ui/ui/apos/components/AposSlatList.vue +3 -1
  130. package/modules/@apostrophecms/ui/ui/apos/components/AposSpinner.vue +33 -7
  131. package/modules/@apostrophecms/ui/ui/apos/components/AposSubformPreview.vue +3 -2
  132. package/modules/@apostrophecms/ui/ui/apos/components/AposTag.vue +5 -3
  133. package/modules/@apostrophecms/ui/ui/apos/components/AposTagApply.vue +5 -2
  134. package/modules/@apostrophecms/ui/ui/apos/components/AposTagList.vue +5 -1
  135. package/modules/@apostrophecms/ui/ui/apos/components/AposTagListItem.vue +9 -1
  136. package/modules/@apostrophecms/ui/ui/apos/components/AposToggle.vue +13 -13
  137. package/modules/@apostrophecms/ui/ui/apos/components/AposTree.vue +1 -0
  138. package/modules/@apostrophecms/ui/ui/apos/components/AposTreeRows.vue +17 -7
  139. package/modules/@apostrophecms/ui/ui/apos/lib/vue.js +4 -0
  140. package/modules/@apostrophecms/ui/ui/apos/scss/global/_admin.scss +1 -1
  141. package/modules/@apostrophecms/ui/ui/apos/scss/global/_inputs.scss +28 -5
  142. package/modules/@apostrophecms/ui/ui/apos/scss/global/_scrollbars.scss +16 -0
  143. package/modules/@apostrophecms/ui/ui/apos/scss/global/_tables.scss +8 -3
  144. package/modules/@apostrophecms/ui/ui/apos/scss/global/_theme.scss +9 -8
  145. package/modules/@apostrophecms/ui/ui/apos/scss/global/_tooltips.scss +13 -7
  146. package/modules/@apostrophecms/ui/ui/apos/scss/global/import-all.scss +1 -1
  147. package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_input_mixins.scss +5 -3
  148. package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_mixins.scss +1 -0
  149. package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_responsive.scss +4 -3
  150. package/modules/@apostrophecms/ui/ui/apos/scss/mixins/_theme_mixins.scss +6 -0
  151. package/modules/@apostrophecms/ui/ui/apos/scss/shared/_table-rows.scss +6 -3
  152. package/modules/@apostrophecms/ui/ui/apos/stores/modal.js +180 -0
  153. package/modules/@apostrophecms/widget-type/ui/apos/components/AposWidgetEditor.vue +2 -2
  154. package/package.json +4 -4
  155. package/test/modules/@apostrophecms/search/views/index.html +1 -0
  156. package/test/pages.js +227 -0
  157. package/test/schemas.js +184 -0
  158. package/test/search.js +49 -13
@@ -221,6 +221,7 @@ export default {
221
221
  <style lang="scss" scoped>
222
222
  .apos-button {
223
223
  @include type-base;
224
+
224
225
  position: relative;
225
226
  display: inline-block;
226
227
  overflow: hidden;
@@ -229,49 +230,53 @@ export default {
229
230
  color: var(--a-text-primary);
230
231
  border-radius: var(--a-border-radius);
231
232
  background-color: var(--a-base-9);
232
- transition: all 0.2s ease;
233
+ transition: all 200ms ease;
233
234
  text-decoration: none;
234
235
 
235
236
  &:hover {
236
237
  cursor: pointer;
237
238
  background-color: var(--a-base-8);
238
239
  }
240
+
239
241
  &:active,
240
242
  &.apos-is-active {
241
243
  background-color: var(--a-base-7);
242
244
  }
245
+
243
246
  &:focus {
244
247
  box-shadow: 0 0 0 1px var(--a-base-7), 0 0 0 3px var(--a-base-8);
245
248
  outline: none;
246
249
  border: 1px solid var(--a-base-3);
247
250
  }
251
+
248
252
  &:hover:not([disabled]),
249
253
  &:focus:not([disabled]) {
250
254
  transform: translateY(-1px);
251
255
  }
256
+
252
257
  &[disabled],
253
258
  &.apos-button--disabled {
254
259
  background-color: var(--a-base-9);
255
260
  border: 1px solid var(--a-base-8);
256
261
  color: var(--a-base-5);
262
+
257
263
  &:hover {
258
264
  cursor: not-allowed;
259
265
  }
260
266
  }
267
+
261
268
  &[disabled].apos-button--busy {
262
269
  border: 1px solid var(--a-base-1);
263
270
  }
271
+
264
272
  .apos-spinner {
265
273
  position: absolute;
266
- top: 0;
267
- right: 0;
268
- bottom: 0;
269
- left: 0;
274
+ inset: 0;
270
275
  margin: auto;
271
276
  }
272
277
 
273
278
  .apos-spinner.fade-enter-active, .fade-leave-active {
274
- transition: all 0.2s ease;
279
+ transition: all 200ms ease;
275
280
  }
276
281
 
277
282
  .apos-spinner.fade-enter, .fade-leave-to {
@@ -297,6 +302,7 @@ export default {
297
302
  width: 100%;
298
303
  height: 100%;
299
304
  }
305
+
300
306
  .apos-button__color-preview,
301
307
  .apos-button__color-preview__swatch,
302
308
  .apos-button__color-preview__checkerboard {
@@ -311,9 +317,11 @@ export default {
311
317
  width: 100%;
312
318
  height: 100%;
313
319
  }
320
+
314
321
  .apos-button__color-preview__swatch {
315
322
  z-index: $z-index-default;
316
323
  }
324
+
317
325
  .apos-button__color-preview__checkerboard {
318
326
  z-index: $z-index-base;
319
327
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMElEQVQ4T2N89uzZfwY8QFJSEp80A+OoAcMiDP7//483HTx//hx/Ohg1gIFx6IcBALl+VXknOCvFAAAAAElFTkSuQmCC');
@@ -329,6 +337,7 @@ export default {
329
337
  border: none;
330
338
  color: var(--a-primary);
331
339
  background-color: transparent;
340
+
332
341
  &:hover,
333
342
  &:active,
334
343
  &.apos-is-active,
@@ -337,20 +346,24 @@ export default {
337
346
  text-decoration: underline;
338
347
  color: var(--a-primary-dark-10);
339
348
  }
349
+
340
350
  &:focus {
341
351
  box-shadow: none;
342
352
  outline: none;
343
353
  border: none;
344
354
  }
355
+
345
356
  &[disabled] {
346
357
  background-color: transparent;
347
358
  border: none;
359
+
348
360
  &:hover {
349
361
  text-decoration: none;
350
362
  cursor: not-allowed;
351
363
  color: var(--a-base-5);
352
364
  }
353
365
  }
366
+
354
367
  .apos-button__label {
355
368
  line-height: var(--a-line-tall);
356
369
  }
@@ -359,6 +372,7 @@ export default {
359
372
  .apos-button--subtle {
360
373
  padding: 11px 10px; // extra pixel keeps them aligned with border'd buttons
361
374
  color: var(--a-text-primary);
375
+
362
376
  &:hover,
363
377
  &:focus,
364
378
  &:active {
@@ -370,7 +384,8 @@ export default {
370
384
 
371
385
  .apos-button--gradient-on-hover {
372
386
  z-index: $z-index-base;
373
- &:after {
387
+
388
+ &::after {
374
389
  z-index: $z-index-default;
375
390
  content: '';
376
391
  position: absolute;
@@ -388,12 +403,14 @@ export default {
388
403
  var(--a-brand-green) 100%
389
404
  );
390
405
  opacity: 0;
391
- transition: all 0.3s ease;
406
+ transition: all 300ms ease;
392
407
  }
393
- &:hover:after {
408
+
409
+ &:hover::after {
394
410
  opacity: 0.4;
395
411
  }
396
- &[disabled].apos-button--busy:after {
412
+
413
+ &[disabled].apos-button--busy::after {
397
414
  background-size: 400% 400%;
398
415
  opacity: 1;
399
416
  }
@@ -401,12 +418,15 @@ export default {
401
418
  &.apos-button[disabled].apos-button--busy {
402
419
  border: none;
403
420
  }
404
- &[disabled].apos-button--busy:after {
405
- animation: animateGradient 10s ease-in-out infinite;
421
+
422
+ &[disabled].apos-button--busy::after {
423
+ animation: animate-gradient 10000ms ease-in-out infinite;
406
424
  }
425
+
407
426
  .apos-button__label {
408
427
  position: relative;
409
428
  }
429
+
410
430
  .apos-button__label,
411
431
  .apos-spinner {
412
432
  z-index: calc(#{$z-index-default} + 1);
@@ -414,8 +434,8 @@ export default {
414
434
  }
415
435
 
416
436
  .apos-button--block {
417
- box-sizing: border-box;
418
437
  display: block;
438
+ box-sizing: border-box;
419
439
  width: 100%;
420
440
  }
421
441
 
@@ -423,6 +443,7 @@ export default {
423
443
  .apos-button__content {
424
444
  flex-direction: row-reverse;
425
445
  }
446
+
426
447
  .apos-button__icon {
427
448
  margin-right: 0;
428
449
  margin-left: 5px;
@@ -433,18 +454,22 @@ export default {
433
454
  &:hover {
434
455
  background-color: var(--a-base-9);
435
456
  }
457
+
436
458
  &:active,
437
459
  &.apos-is-active {
438
460
  background-color: var(--a-base-8);
439
461
  }
462
+
440
463
  &:focus {
441
464
  box-shadow: 0 0 3px var(--a-base-2);
442
465
  }
466
+
443
467
  &[disabled] {
444
468
  border: 1px solid $input-color-disabled;
445
469
  color: $input-color-disabled;
446
470
  background-color: transparent;
447
471
  }
472
+
448
473
  &.apos-button--busy {
449
474
  color: var(--a-base-5);
450
475
  }
@@ -454,23 +479,28 @@ export default {
454
479
  border: 1px solid var(--a-primary-dark-10);
455
480
  color: var(--a-white);
456
481
  background: var(--a-primary);
482
+
457
483
  &:hover {
458
484
  background-color: var(--a-primary-dark-10);
459
485
  }
486
+
460
487
  &:active,
461
488
  &.apos-is-active {
462
489
  background-color: var(--a-primary-dark-15);
463
490
  }
491
+
464
492
  &:focus {
465
493
  box-shadow: 0 0 0 1px var(--a-base-7),
466
494
  0 0 0 3px var(--a-primary-light-40);
467
495
  }
496
+
468
497
  &[disabled],
469
498
  &.apos-button--disabled {
470
499
  border: 1px solid var(--a-primary-light-40);
471
500
  color: var(--a-white);
472
501
  background-color: var(--a-primary-light-40);
473
502
  }
503
+
474
504
  &[disabled].apos-button--busy {
475
505
  border: 1px solid var(--a-primary-light-40);
476
506
  }
@@ -480,20 +510,25 @@ export default {
480
510
  background-color: var(--a-base-1);
481
511
  color: var(--a-base-10);
482
512
  border-color: var(--a-base-4);
513
+
483
514
  &:hover {
484
515
  background-color: var(--a-base-1);
485
516
  }
517
+
486
518
  &:active,
487
519
  &.apos-is-active {
488
520
  background-color: var(--a-base-1);
489
521
  }
522
+
490
523
  &:focus {
491
524
  box-shadow: 0 0 0 1px var(--a-base-7), 0 0 0 3px var(--a-base-1);
492
525
  }
526
+
493
527
  &[disabled] {
494
528
  background-color: var(--a-base-4);
495
529
  color: var(--a-base-7);
496
530
  }
531
+
497
532
  &[disabled].apos-button--busy {
498
533
  border: 1px solid var(--a-base-1);
499
534
  }
@@ -503,28 +538,35 @@ export default {
503
538
  border: 1px solid var(--a-danger);
504
539
  color: var(--a-white);
505
540
  background-color: var(--a-danger);
541
+
506
542
  &:hover {
507
543
  background-color: var(--a-danger-button-hover);
508
544
  }
545
+
509
546
  &:active,
510
547
  &.apos-is-active {
511
548
  background-color: var(--a-danger-button-active);
512
549
  }
550
+
513
551
  &:focus {
514
552
  box-shadow: 0 0 0 1px var(--a-base-7),
515
553
  0 0 0 3px var(--a-danger-button-disabled);
516
554
  }
555
+
517
556
  &[disabled] {
518
557
  border: 1px solid var(--a-danger-button-disabled);
519
558
  color: var(--a-white);
520
559
  background-color: var(--a-danger-button-disabled);
521
560
  }
561
+
522
562
  &[disabled].apos-button--busy {
523
563
  border: 1px solid var(--a-danger-button-disabled);
524
564
  }
565
+
525
566
  &.apos-button--inline {
526
567
  color: var(--a-danger-button-active);
527
568
  }
569
+
528
570
  .apos-spinner__svg {
529
571
  color: var(--a-danger);
530
572
  }
@@ -534,6 +576,7 @@ export default {
534
576
  .apos-button__content {
535
577
  opacity: 0;
536
578
  }
579
+
537
580
  .apos-spinner {
538
581
  opacity: 1;
539
582
  }
@@ -541,6 +584,7 @@ export default {
541
584
 
542
585
  .apos-button--icon-only {
543
586
  padding: 10px;
587
+
544
588
  .apos-button__icon {
545
589
  margin-right: 0;
546
590
  }
@@ -562,7 +606,7 @@ export default {
562
606
  display: flex;
563
607
  align-items: center;
564
608
  justify-content: center;
565
- transition: opacity 0.2s ease;
609
+ transition: opacity 200ms ease;
566
610
  }
567
611
 
568
612
  .apos-button__icon {
@@ -592,6 +636,7 @@ export default {
592
636
 
593
637
  .apos-button--inline {
594
638
  padding: 0;
639
+
595
640
  &, &[disabled], &:hover, &:active, &:focus {
596
641
  border: 0;
597
642
  background-color: transparent;
@@ -625,13 +670,15 @@ export default {
625
670
  display: block;
626
671
  }
627
672
 
628
- @keyframes animateGradient {
673
+ @keyframes animate-gradient {
629
674
  0% {
630
675
  background-position: 0% 50%;
631
676
  }
677
+
632
678
  50% {
633
679
  background-position: 100% 50%;
634
680
  }
681
+
635
682
  100% {
636
683
  background-position: 0% 50%;
637
684
  }
@@ -55,9 +55,11 @@ export default {
55
55
  .apos-button-group :deep(.apos-button) {
56
56
  background-color: var(--a-background-primary);
57
57
  border: none;
58
+
58
59
  &:hover {
59
60
  background-color: var(--a-base-9);
60
61
  }
62
+
61
63
  &:focus {
62
64
  background-color: var(--a-base-8);
63
65
  }
@@ -97,13 +99,16 @@ export default {
97
99
  background-color: var(--a-background-inverted);
98
100
  color: var(--a-text-inverted);
99
101
  }
102
+
100
103
  &:deep(.apos-button) {
101
104
  border: none;
102
105
  background-color: var(--a-background-inverted);
103
106
  color: var(--a-text-inverted);
107
+
104
108
  &:hover {
105
109
  background-color: var(--a-base-2);
106
110
  }
111
+
107
112
  &:focus {
108
113
  background-color: var(--a-base-3);
109
114
  }
@@ -116,12 +121,15 @@ export default {
116
121
  border: 1px solid var(--a-primary-dark-10);
117
122
  color: var(--a-primary-dark-10);
118
123
  }
124
+
119
125
  &:deep(.apos-button) {
120
126
  background-color: var(--a-background-primary);
121
127
  color: var(--a-primary-dark-10);
128
+
122
129
  &:hover {
123
130
  background-color: var(--a-base-8);
124
131
  }
132
+
125
133
  &:focus {
126
134
  background-color: var(--a-base-9);
127
135
  }
@@ -182,18 +182,22 @@ function menuClose() {
182
182
  .apos-button-split__menu__dialog-item {
183
183
  @include apos-button-reset();
184
184
  @include apos-transition();
185
+
185
186
  padding: $spacing-base + $spacing-half $spacing-double $spacing-base + $spacing-half $spacing-quadruple;
186
187
  border-bottom: 1px solid var(--a-base-9);
188
+
187
189
  &:hover,
188
190
  &:focus,
189
191
  &:active,
190
192
  &.apos-is-selected {
191
193
  background-color: var(--a-base-9);
192
194
  }
195
+
193
196
  &:focus,
194
197
  &:active {
195
198
  outline: 1px solid var(--a-primary);
196
199
  }
200
+
197
201
  &:last-child {
198
202
  margin-bottom: 0;
199
203
  border-bottom: 0;
@@ -207,6 +211,7 @@ function menuClose() {
207
211
 
208
212
  .apos-button-split__menu__dialog-label {
209
213
  @include type-large;
214
+
210
215
  margin-bottom: $spacing-half;
211
216
  }
212
217
 
@@ -217,9 +222,9 @@ function menuClose() {
217
222
  }
218
223
 
219
224
  .apos-button-split__button :deep(.apos-button) {
220
- padding-right: $spacing-quadruple + $spacing-base;
221
225
  margin-top: 0;
222
226
  margin-bottom: 0;
227
+ padding-right: $spacing-quadruple + $spacing-base;
223
228
  }
224
229
 
225
230
  .apos-button-split__menu {
@@ -233,12 +238,13 @@ function menuClose() {
233
238
  :deep(.apos-button__wrapper) {
234
239
  height: 100%;
235
240
  }
241
+
236
242
  :deep(.apos-button) {
237
243
  display: flex;
238
244
  box-sizing: border-box;
239
- height: 100%;
240
- justify-content: center;
241
245
  align-items: center;
246
+ justify-content: center;
247
+ height: 100%;
242
248
  margin: 0;
243
249
  padding-top: 0;
244
250
  padding-bottom: 0;
@@ -64,8 +64,10 @@ export default {
64
64
  <style lang="scss" scoped>
65
65
  .apos-table__cell-field--context-menu__content {
66
66
  @include apos-transition();
67
+
67
68
  display: inline-block;
68
69
  opacity: 0.3;
70
+
69
71
  &.apos-is-visible {
70
72
  opacity: 1;
71
73
  }
@@ -92,6 +92,7 @@ export default {
92
92
  justify-content: flex-end;
93
93
  padding-right: 10px;
94
94
  }
95
+
95
96
  .apos-table__cell-field__label {
96
97
  margin-left: 5px;
97
98
  }
@@ -15,11 +15,11 @@
15
15
  y2="20"
16
16
  gradientTransform="matrix(1.848483, 1.922034, -2.33985, 2.250314, 31.445274, -24.099256)"
17
17
  >
18
- <stop offset="0" style="stop-color: rgb(50, 197, 255);" />
19
- <stop offset="0.337" style="stop-color: rgb(182, 32, 224);" />
20
- <stop offset="0.501" style="stop-color: rgb(182, 32, 224);" />
21
- <stop offset="0.854" style="stop-color: rgb(247, 181, 0);" />
22
- <stop offset="1" style="stop-color: rgb(247, 181, 0);" />
18
+ <stop offset="0" style="stop-color: rgb(50 197 255);" />
19
+ <stop offset="0.337" style="stop-color: rgb(182 32 224);" />
20
+ <stop offset="0.501" style="stop-color: rgb(182 32 224);" />
21
+ <stop offset="0.854" style="stop-color: rgb(247 181 0);" />
22
+ <stop offset="1" style="stop-color: rgb(247 181 0);" />
23
23
  </linearGradient>
24
24
  </defs>
25
25
  <path d="M 37.334 28 L 37.334 38.666 L 26.666 38.666 L 26.666 28 L 18.666 28 L 32 14.666 L 45.334 28 M 51.599 20.079 C 49.787 10.907 41.706 4 32 4 C 24.293 4 17.6 8.374 14.267 14.747 C 6.24 15.626 0 22.4 0 30.666 C 0 39.503 7.164 46.666 16 46.666 L 50.666 46.666 C 58.03 46.666 64 40.697 64 33.334 C 64 26.294 58.533 20.586 51.599 20.079 Z" />
@@ -460,6 +460,7 @@ export default {
460
460
 
461
461
  .apos-combo__selected {
462
462
  @include type-base;
463
+
463
464
  display: flex;
464
465
  align-items: center;
465
466
  gap: 4px;
@@ -488,10 +489,10 @@ export default {
488
489
  left: 0;
489
490
  display: none;
490
491
  width: 100%;
492
+ margin: 0;
493
+ padding-left: 0;
491
494
  list-style: none;
492
495
  background-color: var(--a-white);
493
- padding-left: 0;
494
- margin: 0;
495
496
  max-height: 300px;
496
497
  overflow-y: auto;
497
498
  box-shadow: 0 0 3px var(--a-base-2);
@@ -503,8 +504,8 @@ export default {
503
504
  }
504
505
 
505
506
  &-typehead {
506
- box-sizing: border-box;
507
507
  display: flex;
508
+ box-sizing: border-box;
508
509
  align-items: center;
509
510
  }
510
511
  }
@@ -521,14 +522,15 @@ export default {
521
522
  }
522
523
 
523
524
  .apos-combo__typehead {
525
+ @include type-base;
526
+
527
+ box-sizing: border-box;
524
528
  flex-grow: 1;
525
529
  margin: 0;
526
530
  padding: 10px 10px 10px 20px;
527
531
  border: none;
528
- box-sizing: border-box;
529
532
  outline: none;
530
533
  background-color: transparent;
531
- @include type-base;
532
534
  }
533
535
 
534
536
  .apos-combo__spinner {
@@ -118,7 +118,8 @@ const dropdownContentStyle = ref({});
118
118
  const arrowEl = ref();
119
119
 
120
120
  defineExpose({
121
- hide
121
+ hide,
122
+ setDropdownPosition
122
123
  });
123
124
 
124
125
  const popoverClass = computed(() => {
@@ -206,7 +207,7 @@ async function setDropdownPosition() {
206
207
  } = await computePosition(dropdown.value, dropdownContent.value, {
207
208
  placement: props.menuPlacement,
208
209
  middleware: [
209
- offset(15),
210
+ offset(props.menuOffset),
210
211
  shift({ padding: 5 }),
211
212
  flip(),
212
213
  arrow({
@@ -259,7 +260,7 @@ async function setDropdownPosition() {
259
260
  .apos-context-menu__popup {
260
261
  display: inline-block;
261
262
  color: var(--a-text-primary);
262
- transition: scale 0.15s ease, translatey 0.15s ease;
263
+ transition: scale 200ms ease, translatey 200ms ease;
263
264
  }
264
265
 
265
266
  .apos-context-menu__inner {
@@ -271,11 +272,13 @@ async function setDropdownPosition() {
271
272
 
272
273
  .apos-context-menu__pane {
273
274
  @include type-base;
275
+
274
276
  padding: 20px;
275
277
  border: 1px solid var(--a-base-8);
276
278
  border-radius: var(--a-border-radius);
277
279
  box-shadow: var(--a-box-shadow);
278
280
  background-color: var(--a-background-primary);
281
+
279
282
  &:focus {
280
283
  outline: none;
281
284
  }
@@ -283,12 +286,12 @@ async function setDropdownPosition() {
283
286
 
284
287
  .apos-context-menu__items {
285
288
  @include apos-list-reset();
289
+
286
290
  display: inline-block;
287
291
  list-style-type: none;
288
292
  width: max-content;
289
293
  margin: none;
290
- margin-block-start: 0;
291
- margin-block-end: 0;
294
+ margin-block: 0 0;
292
295
  padding: 10px 0;
293
296
  }
294
297
  </style>
@@ -113,7 +113,7 @@ function emitSetArrow(arrowEl) {
113
113
  .apos-context-menu__dialog {
114
114
  display: inline-block;
115
115
  color: var(--a-text-primary);
116
- transition: scale 0.15s ease, translatey 0.15s ease;
116
+ transition: scale 200ms ease, translatey 200ms ease;
117
117
  }
118
118
 
119
119
  .apos-context-menu__inner {
@@ -125,6 +125,7 @@ function emitSetArrow(arrowEl) {
125
125
 
126
126
  .apos-context-menu__pane {
127
127
  @include type-base;
128
+
128
129
  padding: 20px;
129
130
  border: 1px solid var(--a-base-8);
130
131
  border-radius: var(--a-border-radius);
@@ -134,17 +135,18 @@ function emitSetArrow(arrowEl) {
134
135
 
135
136
  .apos-context-menu__items {
136
137
  @include apos-list-reset();
138
+
137
139
  display: inline-block;
138
140
  list-style-type: none;
139
141
  width: max-content;
140
142
  margin: none;
141
- margin-block-start: 0;
142
- margin-block-end: 0;
143
+ margin-block: 0 0;
143
144
  padding: 10px 0;
144
145
  }
145
146
 
146
147
  .apos-context-menu__dialog :deep(.apos-schema .apos-field) {
147
148
  margin-bottom: 20px;
149
+
148
150
  .apos-field__help {
149
151
  margin-top: 5px;
150
152
  }