@primer/components 0.0.0-202192231947 → 0.0.0-20219254849

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 (175) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/codemods/deprecateUtilityComponents.js +1 -1
  3. package/dist/browser.esm.js +880 -770
  4. package/dist/browser.esm.js.map +1 -1
  5. package/dist/browser.umd.js +883 -773
  6. package/dist/browser.umd.js.map +1 -1
  7. package/lib/ActionList/Item.js +4 -4
  8. package/lib/ActionList/List.d.ts +2 -1
  9. package/lib/AnchoredOverlay/AnchoredOverlay.d.ts +6 -3
  10. package/lib/AnchoredOverlay/AnchoredOverlay.js +11 -3
  11. package/lib/Autocomplete/Autocomplete.d.ts +306 -0
  12. package/lib/Autocomplete/Autocomplete.js +145 -0
  13. package/lib/Autocomplete/AutocompleteContext.d.ts +17 -0
  14. package/lib/Autocomplete/AutocompleteContext.js +11 -0
  15. package/lib/Autocomplete/AutocompleteInput.d.ts +294 -0
  16. package/lib/Autocomplete/AutocompleteInput.js +157 -0
  17. package/lib/Autocomplete/AutocompleteMenu.d.ts +72 -0
  18. package/lib/Autocomplete/AutocompleteMenu.js +224 -0
  19. package/lib/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  20. package/lib/Autocomplete/AutocompleteOverlay.js +80 -0
  21. package/lib/Autocomplete/index.d.ts +2 -0
  22. package/lib/Autocomplete/index.js +15 -0
  23. package/lib/BaseStyles.js +1 -1
  24. package/lib/BorderBox.js +1 -1
  25. package/lib/Button/Button.js +1 -1
  26. package/lib/Button/ButtonInvisible.js +1 -1
  27. package/lib/Button/ButtonTableList.js +1 -1
  28. package/lib/Caret.js +2 -2
  29. package/lib/DatePicker/DatePicker.js +10 -6
  30. package/lib/DatePicker/DatePickerAnchor.js +7 -2
  31. package/lib/DatePicker/DatePickerOverlay.d.ts +3 -0
  32. package/lib/DatePicker/DatePickerOverlay.js +39 -0
  33. package/lib/DatePicker/DatePickerPanel.js +92 -9
  34. package/lib/DatePicker/Day.js +2 -1
  35. package/lib/DatePicker/useDatePicker.d.ts +17 -2
  36. package/lib/DatePicker/useDatePicker.js +153 -50
  37. package/lib/Dialog.js +1 -1
  38. package/lib/FilteredActionList/FilteredActionList.js +5 -31
  39. package/lib/Flash.js +16 -16
  40. package/lib/Label.js +1 -1
  41. package/lib/Overlay.d.ts +1 -0
  42. package/lib/Overlay.js +3 -1
  43. package/lib/Pagination/Pagination.js +1 -1
  44. package/lib/ProgressBar.js +1 -1
  45. package/lib/SelectMenu/SelectMenu.d.ts +12 -10
  46. package/lib/StateLabel.js +13 -19
  47. package/lib/TextInput.d.ts +5 -13
  48. package/lib/TextInput.js +4 -46
  49. package/lib/TextInputWithTokens.d.ts +325 -0
  50. package/lib/TextInputWithTokens.js +245 -0
  51. package/lib/Token/AvatarToken.d.ts +7 -0
  52. package/lib/Token/AvatarToken.js +64 -0
  53. package/lib/Token/IssueLabelToken.d.ts +14 -0
  54. package/lib/Token/IssueLabelToken.js +144 -0
  55. package/lib/Token/Token.d.ts +15 -0
  56. package/lib/Token/Token.js +94 -0
  57. package/lib/Token/TokenBase.d.ts +31 -0
  58. package/lib/Token/TokenBase.js +108 -0
  59. package/lib/Token/_RemoveTokenButton.d.ts +12 -0
  60. package/lib/Token/_RemoveTokenButton.js +77 -0
  61. package/lib/Token/_TokenTextContainer.d.ts +3 -0
  62. package/lib/Token/_TokenTextContainer.js +17 -0
  63. package/lib/Token/index.d.ts +3 -0
  64. package/lib/Token/index.js +31 -0
  65. package/lib/_TextInputWrapper.d.ts +10 -0
  66. package/lib/_TextInputWrapper.js +51 -0
  67. package/lib/_UnstyledTextInput.d.ts +2 -0
  68. package/lib/_UnstyledTextInput.js +20 -0
  69. package/lib/behaviors/scrollIntoViewingArea.d.ts +1 -0
  70. package/lib/behaviors/scrollIntoViewingArea.js +39 -0
  71. package/lib/hooks/useOpenAndCloseFocus.d.ts +2 -1
  72. package/lib/hooks/useOpenAndCloseFocus.js +7 -2
  73. package/lib/hooks/useOverlay.d.ts +2 -1
  74. package/lib/hooks/useOverlay.js +4 -2
  75. package/lib/index.d.ts +5 -0
  76. package/lib/index.js +36 -0
  77. package/lib/theme-preval.js +372 -3102
  78. package/lib/utils/testing.d.ts +51 -494
  79. package/lib/utils/{types.d.ts → types/AriaRole.d.ts} +0 -13
  80. package/lib/utils/{types.js → types/AriaRole.js} +0 -0
  81. package/lib/utils/types/ComponentProps.d.ts +9 -0
  82. package/lib/utils/types/ComponentProps.js +1 -0
  83. package/lib/utils/types/Flatten.d.ts +4 -0
  84. package/lib/utils/types/Flatten.js +1 -0
  85. package/lib/utils/types/MandateProps.d.ts +3 -0
  86. package/lib/utils/types/MandateProps.js +1 -0
  87. package/lib/utils/types/Merge.d.ts +19 -0
  88. package/lib/utils/types/Merge.js +1 -0
  89. package/lib/utils/types/index.d.ts +5 -0
  90. package/lib/utils/types/index.js +70 -0
  91. package/lib-esm/ActionList/Item.js +4 -4
  92. package/lib-esm/ActionList/List.d.ts +2 -1
  93. package/lib-esm/AnchoredOverlay/AnchoredOverlay.d.ts +6 -3
  94. package/lib-esm/AnchoredOverlay/AnchoredOverlay.js +11 -3
  95. package/lib-esm/Autocomplete/Autocomplete.d.ts +306 -0
  96. package/lib-esm/Autocomplete/Autocomplete.js +123 -0
  97. package/lib-esm/Autocomplete/AutocompleteContext.d.ts +17 -0
  98. package/lib-esm/Autocomplete/AutocompleteContext.js +2 -0
  99. package/lib-esm/Autocomplete/AutocompleteInput.d.ts +294 -0
  100. package/lib-esm/Autocomplete/AutocompleteInput.js +138 -0
  101. package/lib-esm/Autocomplete/AutocompleteMenu.d.ts +72 -0
  102. package/lib-esm/Autocomplete/AutocompleteMenu.js +205 -0
  103. package/lib-esm/Autocomplete/AutocompleteOverlay.d.ts +20 -0
  104. package/lib-esm/Autocomplete/AutocompleteOverlay.js +62 -0
  105. package/lib-esm/Autocomplete/index.d.ts +2 -0
  106. package/lib-esm/Autocomplete/index.js +1 -0
  107. package/lib-esm/BaseStyles.js +1 -1
  108. package/lib-esm/BorderBox.js +1 -1
  109. package/lib-esm/Button/Button.js +1 -1
  110. package/lib-esm/Button/ButtonInvisible.js +1 -1
  111. package/lib-esm/Button/ButtonTableList.js +1 -1
  112. package/lib-esm/Caret.js +2 -2
  113. package/lib-esm/DatePicker/DatePicker.js +9 -4
  114. package/lib-esm/DatePicker/DatePickerAnchor.js +7 -2
  115. package/lib-esm/DatePicker/DatePickerOverlay.d.ts +3 -0
  116. package/lib-esm/DatePicker/DatePickerOverlay.js +24 -0
  117. package/lib-esm/DatePicker/DatePickerPanel.js +86 -10
  118. package/lib-esm/DatePicker/Day.js +2 -1
  119. package/lib-esm/DatePicker/useDatePicker.d.ts +17 -2
  120. package/lib-esm/DatePicker/useDatePicker.js +154 -51
  121. package/lib-esm/Dialog.js +1 -1
  122. package/lib-esm/FilteredActionList/FilteredActionList.js +3 -31
  123. package/lib-esm/Flash.js +16 -16
  124. package/lib-esm/Label.js +1 -1
  125. package/lib-esm/Overlay.d.ts +1 -0
  126. package/lib-esm/Overlay.js +3 -1
  127. package/lib-esm/Pagination/Pagination.js +1 -1
  128. package/lib-esm/ProgressBar.js +1 -1
  129. package/lib-esm/SelectMenu/SelectMenu.d.ts +12 -10
  130. package/lib-esm/StateLabel.js +13 -19
  131. package/lib-esm/TextInput.d.ts +5 -13
  132. package/lib-esm/TextInput.js +4 -37
  133. package/lib-esm/TextInputWithTokens.d.ts +325 -0
  134. package/lib-esm/TextInputWithTokens.js +220 -0
  135. package/lib-esm/Token/AvatarToken.d.ts +7 -0
  136. package/lib-esm/Token/AvatarToken.js +43 -0
  137. package/lib-esm/Token/IssueLabelToken.d.ts +14 -0
  138. package/lib-esm/Token/IssueLabelToken.js +124 -0
  139. package/lib-esm/Token/Token.d.ts +15 -0
  140. package/lib-esm/Token/Token.js +73 -0
  141. package/lib-esm/Token/TokenBase.d.ts +31 -0
  142. package/lib-esm/Token/TokenBase.js +87 -0
  143. package/lib-esm/Token/_RemoveTokenButton.d.ts +12 -0
  144. package/lib-esm/Token/_RemoveTokenButton.js +60 -0
  145. package/lib-esm/Token/_TokenTextContainer.d.ts +3 -0
  146. package/lib-esm/Token/_TokenTextContainer.js +6 -0
  147. package/lib-esm/Token/index.d.ts +3 -0
  148. package/lib-esm/Token/index.js +3 -0
  149. package/lib-esm/_TextInputWrapper.d.ts +10 -0
  150. package/lib-esm/_TextInputWrapper.js +31 -0
  151. package/lib-esm/_UnstyledTextInput.d.ts +2 -0
  152. package/lib-esm/_UnstyledTextInput.js +7 -0
  153. package/lib-esm/behaviors/scrollIntoViewingArea.d.ts +1 -0
  154. package/lib-esm/behaviors/scrollIntoViewingArea.js +30 -0
  155. package/lib-esm/hooks/useOpenAndCloseFocus.d.ts +2 -1
  156. package/lib-esm/hooks/useOpenAndCloseFocus.js +7 -2
  157. package/lib-esm/hooks/useOverlay.d.ts +2 -1
  158. package/lib-esm/hooks/useOverlay.js +4 -2
  159. package/lib-esm/index.d.ts +5 -0
  160. package/lib-esm/index.js +3 -0
  161. package/lib-esm/theme-preval.js +372 -3102
  162. package/lib-esm/utils/testing.d.ts +51 -494
  163. package/lib-esm/utils/{types.d.ts → types/AriaRole.d.ts} +0 -13
  164. package/lib-esm/utils/{types.js → types/AriaRole.js} +0 -0
  165. package/lib-esm/utils/types/ComponentProps.d.ts +9 -0
  166. package/lib-esm/utils/types/ComponentProps.js +1 -0
  167. package/lib-esm/utils/types/Flatten.d.ts +4 -0
  168. package/lib-esm/utils/types/Flatten.js +1 -0
  169. package/lib-esm/utils/types/MandateProps.d.ts +3 -0
  170. package/lib-esm/utils/types/MandateProps.js +1 -0
  171. package/lib-esm/utils/types/Merge.d.ts +19 -0
  172. package/lib-esm/utils/types/Merge.js +1 -0
  173. package/lib-esm/utils/types/index.d.ts +5 -0
  174. package/lib-esm/utils/types/index.js +5 -0
  175. package/package.json +10 -9
@@ -3,9 +3,14 @@ import { iterateFocusableElements } from '../utils/iterateFocusableElements';
3
3
  export function useOpenAndCloseFocus({
4
4
  initialFocusRef,
5
5
  returnFocusRef,
6
- containerRef
6
+ containerRef,
7
+ preventFocusOnOpen
7
8
  }) {
8
9
  useEffect(() => {
10
+ if (preventFocusOnOpen) {
11
+ return;
12
+ }
13
+
9
14
  const returnRef = returnFocusRef.current;
10
15
 
11
16
  if (initialFocusRef && initialFocusRef.current) {
@@ -18,5 +23,5 @@ export function useOpenAndCloseFocus({
18
23
  return function () {
19
24
  returnRef === null || returnRef === void 0 ? void 0 : returnRef.focus();
20
25
  };
21
- }, [initialFocusRef, returnFocusRef, containerRef]);
26
+ }, [initialFocusRef, returnFocusRef, containerRef, preventFocusOnOpen]);
22
27
  }
@@ -7,8 +7,9 @@ export declare type UseOverlaySettings = {
7
7
  onEscape: (e: KeyboardEvent) => void;
8
8
  onClickOutside: (e: TouchOrMouseEvent) => void;
9
9
  overlayRef?: React.RefObject<HTMLDivElement>;
10
+ preventFocusOnOpen?: boolean;
10
11
  };
11
12
  export declare type OverlayReturnProps = {
12
13
  ref: React.RefObject<HTMLDivElement>;
13
14
  };
14
- export declare const useOverlay: ({ overlayRef: _overlayRef, returnFocusRef, initialFocusRef, onEscape, ignoreClickRefs, onClickOutside }: UseOverlaySettings) => OverlayReturnProps;
15
+ export declare const useOverlay: ({ overlayRef: _overlayRef, returnFocusRef, initialFocusRef, onEscape, ignoreClickRefs, onClickOutside, preventFocusOnOpen }: UseOverlaySettings) => OverlayReturnProps;
@@ -8,13 +8,15 @@ export const useOverlay = ({
8
8
  initialFocusRef,
9
9
  onEscape,
10
10
  ignoreClickRefs,
11
- onClickOutside
11
+ onClickOutside,
12
+ preventFocusOnOpen
12
13
  }) => {
13
14
  const overlayRef = useProvidedRefOrCreate(_overlayRef);
14
15
  useOpenAndCloseFocus({
15
16
  containerRef: overlayRef,
16
17
  returnFocusRef,
17
- initialFocusRef
18
+ initialFocusRef,
19
+ preventFocusOnOpen
18
20
  });
19
21
  useOnOutsideClick({
20
22
  containerRef: overlayRef,
@@ -24,6 +24,8 @@ export { useConfirm } from './Dialog/ConfirmationDialog';
24
24
  export { ActionList } from './ActionList';
25
25
  export { ActionMenu } from './ActionMenu';
26
26
  export type { ActionMenuProps } from './ActionMenu';
27
+ export { default as Autocomplete } from './Autocomplete';
28
+ export type { AutocompleteMenuProps, AutocompleteInputProps, AutocompleteOverlayProps } from './Autocomplete';
27
29
  export { default as Avatar } from './Avatar';
28
30
  export type { AvatarProps } from './Avatar';
29
31
  export { default as AvatarPair } from './AvatarPair';
@@ -98,10 +100,13 @@ export { default as TabNav } from './TabNav';
98
100
  export type { TabNavProps, TabNavLinkProps } from './TabNav';
99
101
  export { default as TextInput } from './TextInput';
100
102
  export type { TextInputProps } from './TextInput';
103
+ export { default as TextInputWithTokens } from './TextInputWithTokens';
104
+ export type { TextInputWithTokensProps } from './TextInputWithTokens';
101
105
  export { default as Text } from './Text';
102
106
  export type { TextProps } from './Text';
103
107
  export { default as Timeline } from './Timeline';
104
108
  export type { TimelineProps, TimelineBadgeProps, TimelineBodyProps, TimelineBreakProps, TimelineItemsProps } from './Timeline';
109
+ export { default as Token, IssueLabelToken, AvatarToken } from './Token';
105
110
  export { default as Tooltip } from './Tooltip';
106
111
  export type { TooltipProps } from './Tooltip';
107
112
  export { default as Truncate } from './Truncate';
package/lib-esm/index.js CHANGED
@@ -19,6 +19,7 @@ export { useConfirm } from './Dialog/ConfirmationDialog'; // Components
19
19
 
20
20
  export { ActionList } from './ActionList';
21
21
  export { ActionMenu } from './ActionMenu';
22
+ export { default as Autocomplete } from './Autocomplete';
22
23
  export { default as Avatar } from './Avatar';
23
24
  export { default as AvatarPair } from './AvatarPair';
24
25
  export { default as AvatarStack } from './AvatarStack';
@@ -61,8 +62,10 @@ export { default as StyledOcticon } from './StyledOcticon';
61
62
  export { default as SubNav } from './SubNav';
62
63
  export { default as TabNav } from './TabNav';
63
64
  export { default as TextInput } from './TextInput';
65
+ export { default as TextInputWithTokens } from './TextInputWithTokens';
64
66
  export { default as Text } from './Text';
65
67
  export { default as Timeline } from './Timeline';
68
+ export { default as Token, IssueLabelToken, AvatarToken } from './Token';
66
69
  export { default as Tooltip } from './Tooltip';
67
70
  export { default as Truncate } from './Truncate';
68
71
  export { default as UnderlineNav } from './UnderlineNav';