@pexip/components 20.0.0 → 20.2.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 (150) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/api-docs/README.mdx +11 -2
  3. package/api-docs/enumerations/TestId.mdx +1 -0
  4. package/api-docs/functions/announce.mdx +1 -1
  5. package/api-docs/functions/onEnter.mdx +3 -3
  6. package/api-docs/functions/sizeToPadding.mdx +16 -6
  7. package/api-docs/functions/useBoundingRect.mdx +42 -0
  8. package/api-docs/functions/useBreakpointChange.mdx +1 -1
  9. package/api-docs/functions/useFocusFrom.mdx +2 -2
  10. package/api-docs/functions/useFocusFromOpened.mdx +1 -1
  11. package/api-docs/functions/useGroupedPagesNav.mdx +2 -2
  12. package/api-docs/functions/useInput.mdx +4 -2
  13. package/api-docs/functions/useModal.mdx +2 -2
  14. package/api-docs/functions/useModalHandle.mdx +1 -1
  15. package/api-docs/functions/useModalWithoutPreventScroll.mdx +2 -2
  16. package/api-docs/functions/useMultistepIndicator.mdx +24 -8
  17. package/api-docs/functions/useOutOfViewNavigation.mdx +4 -4
  18. package/api-docs/functions/useScrollIntoView.mdx +3 -3
  19. package/api-docs/functions/useTabs.mdx +1 -1
  20. package/api-docs/functions/withColorScheme.mdx +3 -3
  21. package/api-docs/functions/withTabName.mdx +2 -2
  22. package/api-docs/functions/withTransition.mdx +6 -4
  23. package/api-docs/interfaces/FullSizeWindowCommonProps.mdx +4 -4
  24. package/api-docs/interfaces/IconCollection.mdx +7 -0
  25. package/api-docs/interfaces/IconSource.mdx +3 -3
  26. package/api-docs/interfaces/LoadingBoxProps.mdx +5 -3
  27. package/api-docs/interfaces/ModalHandle.mdx +1 -1
  28. package/api-docs/interfaces/MultistepItem.mdx +1 -1
  29. package/api-docs/interfaces/StatCardRowData.mdx +5 -5
  30. package/api-docs/interfaces/ToastProps.mdx +3 -3
  31. package/api-docs/interfaces/VideoHandle.mdx +2 -2
  32. package/api-docs/interfaces/WithTransitionProps.mdx +1 -0
  33. package/api-docs/type-aliases/ActivityCardAction.mdx +1 -1
  34. package/api-docs/type-aliases/AriaMenuItem.mdx +9 -1
  35. package/api-docs/type-aliases/AriaMenuProps.mdx +5 -1
  36. package/api-docs/type-aliases/AriaSubMenu.mdx +27 -0
  37. package/api-docs/type-aliases/AriaSubMenuContentHelpers.mdx +13 -0
  38. package/api-docs/type-aliases/BreadcrumbItem.mdx +1 -1
  39. package/api-docs/type-aliases/ClickEventHandler.mdx +1 -1
  40. package/api-docs/type-aliases/MenuAction.mdx +1 -1
  41. package/api-docs/type-aliases/MenuItem.mdx +5 -4
  42. package/api-docs/type-aliases/MultiselectCoreProps.mdx +3 -0
  43. package/api-docs/type-aliases/MultiselectOption.mdx +1 -1
  44. package/api-docs/type-aliases/NotificationToastMessage.mdx +1 -1
  45. package/api-docs/type-aliases/NotificationTooltipPosition.mdx +3 -1
  46. package/api-docs/type-aliases/NotificationTooltipProps.mdx +3 -0
  47. package/api-docs/type-aliases/Option.mdx +1 -1
  48. package/api-docs/type-aliases/SelectProps.mdx +3 -3
  49. package/api-docs/type-aliases/TagItem.mdx +2 -2
  50. package/api-docs/variables/AriaMenu.mdx +3 -1
  51. package/api-docs/variables/Draggable.mdx +51 -0
  52. package/api-docs/variables/KEYBOARD_EVENT_KEY.mdx +16 -0
  53. package/api-docs/variables/MultiselectCore.mdx +27 -0
  54. package/api-docs/variables/MultistepIndicator.mdx +1 -0
  55. package/api-docs/variables/PreferenceInput.mdx +1 -0
  56. package/api-docs/variables/Select.mdx +2 -2
  57. package/api-docs/variables/Sheet.mdx +9 -1
  58. package/api-docs/variables/Toast.mdx +3 -1
  59. package/api-docs/variables/ToggleSwitchDisplay.mdx +16 -0
  60. package/api-docs/variables/buttonVariantsValues.mdx +3 -0
  61. package/design-tokens/mixins/_focus.scss +54 -10
  62. package/design-tokens/mixins/media-queries.scss +12 -0
  63. package/design-tokens/variables.legacy.scss +8 -0
  64. package/dist/components-no-global-styles.css +1 -1
  65. package/dist/components.cjs +2 -2
  66. package/dist/components.css +1 -1
  67. package/dist/components.js +6253 -8056
  68. package/dist/types/design-tokens/generated/Icons.d.ts +7 -0
  69. package/dist/types/design-tokens/generated/Icons.d.ts.map +1 -1
  70. package/dist/types/src/components/elements/ActionsRow/ActionsRow.d.ts +1 -0
  71. package/dist/types/src/components/elements/ActionsRow/ActionsRow.d.ts.map +1 -1
  72. package/dist/types/src/components/elements/Checkbox/Checkbox.d.ts.map +1 -1
  73. package/dist/types/src/components/elements/Draggable/Draggable.view.d.ts +43 -0
  74. package/dist/types/src/components/elements/Draggable/Draggable.view.d.ts.map +1 -1
  75. package/dist/types/src/components/elements/Input/Input.d.ts +1 -0
  76. package/dist/types/src/components/elements/Input/Input.d.ts.map +1 -1
  77. package/dist/types/src/components/elements/ListBoxLink/ListBoxLink.d.ts +2 -2
  78. package/dist/types/src/components/elements/ListBoxLink/ListBoxLink.d.ts.map +1 -1
  79. package/dist/types/src/components/elements/ListLink/ListLink.d.ts +8 -5
  80. package/dist/types/src/components/elements/ListLink/ListLink.d.ts.map +1 -1
  81. package/dist/types/src/components/elements/Panel/Panel.d.ts +1 -0
  82. package/dist/types/src/components/elements/Panel/Panel.d.ts.map +1 -1
  83. package/dist/types/src/components/elements/Scrollbars/Scrollbars.d.ts +0 -1
  84. package/dist/types/src/components/elements/Scrollbars/Scrollbars.d.ts.map +1 -1
  85. package/dist/types/src/components/elements/ToggleSwitch/ToggleSwitch.d.ts.map +1 -1
  86. package/dist/types/src/components/elements/ToggleSwitch/ToggleSwitchDisplay.d.ts +28 -0
  87. package/dist/types/src/components/elements/ToggleSwitch/ToggleSwitchDisplay.d.ts.map +1 -0
  88. package/dist/types/src/components/elements/Tooltip/NotificationTooltip.d.ts +1 -2
  89. package/dist/types/src/components/elements/Tooltip/NotificationTooltip.d.ts.map +1 -1
  90. package/dist/types/src/components/elements/Tooltip/Tooltip.d.ts.map +1 -1
  91. package/dist/types/src/components/modules/AriaMenu/AriaMenu.d.ts +3 -1
  92. package/dist/types/src/components/modules/AriaMenu/AriaMenu.d.ts.map +1 -1
  93. package/dist/types/src/components/modules/AriaMenu/AriaMenu.types.d.ts +121 -1
  94. package/dist/types/src/components/modules/AriaMenu/AriaMenu.types.d.ts.map +1 -1
  95. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenu.d.ts +32 -4
  96. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenu.d.ts.map +1 -1
  97. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenuButton.d.ts +3 -6
  98. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenuButton.d.ts.map +1 -1
  99. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenuItem.d.ts +3 -0
  100. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenuItem.d.ts.map +1 -1
  101. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenuNavigator.d.ts +22 -0
  102. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenuNavigator.d.ts.map +1 -0
  103. package/dist/types/src/components/modules/AriaMenu/InnerAriaMenuPopover.d.ts.map +1 -1
  104. package/dist/types/src/components/modules/Avatar/Avatar.utils.d.ts +2 -2
  105. package/dist/types/src/components/modules/Avatar/Avatar.utils.d.ts.map +1 -1
  106. package/dist/types/src/components/modules/Captions/Captions.view.d.ts +1 -0
  107. package/dist/types/src/components/modules/Captions/Captions.view.d.ts.map +1 -1
  108. package/dist/types/src/components/modules/CondensedTabs/CondensedTabs.view.d.ts +1 -0
  109. package/dist/types/src/components/modules/CondensedTabs/CondensedTabs.view.d.ts.map +1 -1
  110. package/dist/types/src/components/modules/ConfirmationModal/ConfirmationModal.d.ts +2 -0
  111. package/dist/types/src/components/modules/ConfirmationModal/ConfirmationModal.d.ts.map +1 -1
  112. package/dist/types/src/components/modules/DropContent/DropContent.d.ts.map +1 -1
  113. package/dist/types/src/components/modules/Menu/Menu.d.ts +3 -1
  114. package/dist/types/src/components/modules/Menu/Menu.d.ts.map +1 -1
  115. package/dist/types/src/components/modules/Menu/types.d.ts +4 -2
  116. package/dist/types/src/components/modules/Menu/types.d.ts.map +1 -1
  117. package/dist/types/src/components/modules/Modal/Modal.d.ts +2 -0
  118. package/dist/types/src/components/modules/Modal/Modal.d.ts.map +1 -1
  119. package/dist/types/src/components/modules/Multiselect/ConfirmableMultiselect.d.ts.map +1 -1
  120. package/dist/types/src/components/modules/Multiselect/Multiselect.d.ts +8 -0
  121. package/dist/types/src/components/modules/Multiselect/Multiselect.d.ts.map +1 -1
  122. package/dist/types/src/components/modules/Multiselect/MultiselectCore.d.ts.map +1 -1
  123. package/dist/types/src/components/modules/MultistepIndicator/MultistepIndicator.d.ts +1 -0
  124. package/dist/types/src/components/modules/MultistepIndicator/MultistepIndicator.d.ts.map +1 -1
  125. package/dist/types/src/components/modules/MultistepIndicator/MultistepIndicator.utils.d.ts +1 -2
  126. package/dist/types/src/components/modules/MultistepIndicator/MultistepIndicator.utils.d.ts.map +1 -1
  127. package/dist/types/src/components/modules/MultistepIndicator/OrdinalText.view.d.ts.map +1 -1
  128. package/dist/types/src/components/modules/PopOutWindow/PopOutWindow.d.ts.map +1 -1
  129. package/dist/types/src/components/modules/PopOutWindow/copyStyles.d.ts +23 -0
  130. package/dist/types/src/components/modules/PopOutWindow/copyStyles.d.ts.map +1 -0
  131. package/dist/types/src/components/modules/PreferenceInput/PreferenceInput.d.ts +2 -0
  132. package/dist/types/src/components/modules/PreferenceInput/PreferenceInput.d.ts.map +1 -1
  133. package/dist/types/src/components/modules/Sheet/Sheet.d.ts +12 -1
  134. package/dist/types/src/components/modules/Sheet/Sheet.d.ts.map +1 -1
  135. package/dist/types/src/components/modules/TransitionContainer/withTransition.d.ts +1 -0
  136. package/dist/types/src/components/modules/TransitionContainer/withTransition.d.ts.map +1 -1
  137. package/dist/types/src/constants/keyboard.d.ts +2 -0
  138. package/dist/types/src/constants/keyboard.d.ts.map +1 -1
  139. package/dist/types/src/exports.d.ts +8 -1
  140. package/dist/types/src/exports.d.ts.map +1 -1
  141. package/dist/types/src/hooks/useAriaTooltip.d.ts +9 -3
  142. package/dist/types/src/hooks/useAriaTooltip.d.ts.map +1 -1
  143. package/dist/types/src/hooks/useBoundingRect.d.ts +27 -0
  144. package/dist/types/src/hooks/useBoundingRect.d.ts.map +1 -0
  145. package/dist/types/src/types/sizes.d.ts +1 -1
  146. package/dist/types/src/types/sizes.d.ts.map +1 -1
  147. package/dist/types/src/utils/imageSrc.d.ts +1 -1
  148. package/dist/types/src/utils/testIds.d.ts +1 -0
  149. package/dist/types/src/utils/testIds.d.ts.map +1 -1
  150. package/package.json +15 -26
@@ -1,5 +1,6 @@
1
1
  @use 'sass:map';
2
2
  @import '../variables.scss';
3
+ @import './media-queries.scss';
3
4
 
4
5
  .light,
5
6
  :global(.light) {
@@ -25,28 +26,60 @@
25
26
  );
26
27
  }
27
28
 
28
- @mixin box-shadow-focus-style($is-inset: true, $color-scheme: 'dark') {
29
+ @mixin box-shadow-focus-style(
30
+ $is-inset: true,
31
+ $color-scheme: 'dark',
32
+ $border-width: 1px,
33
+ $shadow-width-inset: 3px,
34
+ $shadow-width: 4px
35
+ ) {
29
36
  @if $is-inset {
30
37
  box-shadow:
31
- 0 0 0 1px inset get-token(#{$color-scheme}-box-shadow-focus-border),
32
- 0 0 0 3px get-token(#{$color-scheme}-box-shadow-focus) !important;
38
+ 0
39
+ 0
40
+ 0
41
+ $border-width
42
+ inset
43
+ get-token(#{$color-scheme}-box-shadow-focus-border),
44
+ 0
45
+ 0
46
+ 0
47
+ $shadow-width-inset
48
+ get-token(#{$color-scheme}-box-shadow-focus) !important;
33
49
  } @else {
34
50
  box-shadow:
35
- 0 0 0 1px get-token(#{$color-scheme}-box-shadow-focus-border),
36
- 0 0 0 4px get-token(#{$color-scheme}-box-shadow-focus) !important;
51
+ 0
52
+ 0
53
+ 0
54
+ $border-width
55
+ get-token(#{$color-scheme}-box-shadow-focus-border),
56
+ 0
57
+ 0
58
+ 0
59
+ $shadow-width
60
+ get-token(#{$color-scheme}-box-shadow-focus) !important;
37
61
  }
38
62
  }
39
63
 
40
64
  @mixin box-shadow-focus($paramMap: ()) {
41
65
  $defaults: (
42
- color-scheme: 'dark',
43
- is-inset: true,
44
- additional-selector: null,
66
+ 'color-scheme': 'dark',
67
+ 'is-inset': true,
68
+ 'border-width': 1px,
69
+ 'shadow-width-inset': 3px,
70
+ 'shadow-width': 4px,
71
+ 'additional-selector': null,
72
+ 'suppress-on-hover': false,
45
73
  );
46
74
  $opts: map-merge($defaults, $paramMap);
47
75
  $color-scheme: map.get($opts, 'color-scheme');
48
76
  $is-inset: map.get($opts, 'is-inset');
77
+ $border-width: map.get($opts, 'border-width');
78
+ $shadow-width-inset: map.get($opts, 'shadow-width-inset');
79
+ $shadow-width: map.get($opts, 'shadow-width');
49
80
  $additional-selector: map.get($opts, 'additional-selector');
81
+ $suppress-on-hover: map.get($opts, 'suppress-on-hover');
82
+ $hover-guard: if($suppress-on-hover, ':not(:hover)', '');
50
83
 
51
84
  &,
52
85
  &:focus {
@@ -54,8 +87,19 @@
54
87
  outline: transparent;
55
88
  }
56
89
 
57
- &[data-focus-visible-added],
90
+ &[data-focus-visible-added]#{$hover-guard},
58
91
  #{$additional-selector} {
59
- @include box-shadow-focus-style($is-inset, $color-scheme);
92
+ @include box-shadow-focus-style(
93
+ $is-inset,
94
+ $color-scheme,
95
+ $border-width,
96
+ $shadow-width-inset,
97
+ $shadow-width
98
+ );
99
+
100
+ @include forced-colors {
101
+ outline: 2px solid Highlight;
102
+ outline-offset: 2px;
103
+ }
60
104
  }
61
105
  }
@@ -210,6 +210,18 @@
210
210
  }
211
211
  }
212
212
 
213
+ /**
214
+ * Used to detect forced colors mode, e.g. Windows Contrast Themes.
215
+ * In this mode the user agent strips author backgrounds, box-shadows and
216
+ * colors, so borders/outlines have to be restored with system color keywords
217
+ * (Canvas, CanvasText, ButtonText, Highlight, GrayText).
218
+ **/
219
+ @mixin forced-colors() {
220
+ @media (forced-colors: active) {
221
+ @content;
222
+ }
223
+ }
224
+
213
225
  @mixin mobile-portrait() {
214
226
  @include portrait {
215
227
  @include lg-down {
@@ -201,6 +201,14 @@
201
201
  @include create-token(icon-color-disabled, color('deep-blue-30'));
202
202
  @include create-token(button-color-active, color('deep-blue-40'));
203
203
 
204
+ /* DIVIDER */
205
+ @include create-token(divider-color-light, color('deep-blue-20'));
206
+ @include create-token(
207
+ divider-color-dark,
208
+ rgba(color-hex('white'), $alpha-10)
209
+ );
210
+ @include create-token(table-border-color, get-token(divider-color-light));
211
+
204
212
  /* FOCUS */
205
213
  .light {
206
214
  @include create-token(light-box-shadow-focus, color('green-40'));