@primer/components 0.0.0-2021109221452 → 0.0.0-2021109223232

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 +5 -3
  2. package/dist/browser.esm.js +178 -178
  3. package/dist/browser.esm.js.map +1 -1
  4. package/dist/browser.umd.js +179 -179
  5. package/dist/browser.umd.js.map +1 -1
  6. package/lib/ActionList/index.js +23 -12
  7. package/lib/AnchoredOverlay/index.js +12 -4
  8. package/lib/Autocomplete/index.js +14 -7
  9. package/lib/Button/index.js +70 -21
  10. package/lib/DropdownMenu/index.js +20 -6
  11. package/lib/DropdownStyles.js +26 -18
  12. package/lib/FilteredActionList/index.js +12 -4
  13. package/lib/Overlay.js +3 -1
  14. package/lib/Pagination/index.js +12 -6
  15. package/lib/Portal/Portal.js +3 -2
  16. package/lib/Portal/index.js +16 -5
  17. package/lib/SelectMenu/hooks/useKeyboardNav.js +96 -80
  18. package/lib/SelectMenu/index.js +14 -7
  19. package/lib/SelectPanel/index.js +12 -4
  20. package/lib/Token/index.js +30 -11
  21. package/lib/behaviors/anchoredPosition.js +234 -205
  22. package/lib/behaviors/focusTrap.js +157 -121
  23. package/lib/behaviors/focusZone.js +509 -434
  24. package/lib/behaviors/scrollIntoViewingArea.js +35 -18
  25. package/lib/constants.js +43 -39
  26. package/lib/hooks/index.js +60 -16
  27. package/lib/hooks/useAnchoredPosition.js +40 -31
  28. package/lib/hooks/useCombinedRefs.d.ts +2 -2
  29. package/lib/hooks/useCombinedRefs.js +35 -46
  30. package/lib/hooks/useDialog.js +96 -72
  31. package/lib/hooks/useFocusTrap.js +60 -43
  32. package/lib/hooks/useFocusZone.js +50 -54
  33. package/lib/hooks/useOnEscapePress.js +36 -25
  34. package/lib/hooks/useOpenAndCloseFocus.js +34 -22
  35. package/lib/hooks/useProvidedRefOrCreate.js +14 -10
  36. package/lib/hooks/useProvidedStateOrCreate.js +16 -13
  37. package/lib/hooks/useRenderForcingRef.js +17 -13
  38. package/lib/hooks/useResizeObserver.js +18 -15
  39. package/lib/hooks/useSafeTimeout.js +30 -22
  40. package/lib/hooks/useScrollFlash.js +23 -16
  41. package/lib/index.js +636 -161
  42. package/lib/polyfills/eventListenerSignal.js +45 -37
  43. package/lib/sx.js +14 -7
  44. package/lib/theme-preval.js +2945 -64
  45. package/lib/theme.js +12 -3
  46. package/lib/utils/iterateFocusableElements.js +85 -63
  47. package/lib/utils/theme.js +47 -33
  48. package/lib/utils/types/AriaRole.js +1 -2
  49. package/lib/utils/types/ComponentProps.js +1 -2
  50. package/lib/utils/types/Flatten.js +1 -2
  51. package/lib/utils/types/KeyPaths.js +1 -2
  52. package/lib/utils/types/MandateProps.js +1 -16
  53. package/lib/utils/types/Merge.js +1 -2
  54. package/lib/utils/types/index.js +69 -16
  55. package/lib/utils/uniqueId.js +8 -5
  56. package/lib/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  57. package/lib/utils/useIsomorphicLayoutEffect.js +12 -0
  58. package/lib/utils/userAgent.js +12 -8
  59. package/lib-esm/Overlay.js +2 -1
  60. package/lib-esm/Portal/Portal.js +2 -1
  61. package/lib-esm/hooks/useAnchoredPosition.js +2 -1
  62. package/lib-esm/hooks/useCombinedRefs.d.ts +2 -2
  63. package/lib-esm/hooks/useCombinedRefs.js +3 -2
  64. package/lib-esm/hooks/useResizeObserver.js +2 -2
  65. package/lib-esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
  66. package/lib-esm/utils/useIsomorphicLayoutEffect.js +3 -0
  67. package/package.json +2 -3
  68. package/lib/ActionList/Divider.jsx +0 -29
  69. package/lib/ActionList/Group.jsx +0 -23
  70. package/lib/ActionList/Header.jsx +0 -66
  71. package/lib/ActionList/Item.jsx +0 -301
  72. package/lib/ActionList/List.jsx +0 -138
  73. package/lib/ActionMenu.jsx +0 -73
  74. package/lib/AnchoredOverlay/AnchoredOverlay.jsx +0 -100
  75. package/lib/Autocomplete/Autocomplete.jsx +0 -100
  76. package/lib/Autocomplete/AutocompleteContext.jsx +0 -5
  77. package/lib/Autocomplete/AutocompleteInput.jsx +0 -113
  78. package/lib/Autocomplete/AutocompleteMenu.jsx +0 -190
  79. package/lib/Autocomplete/AutocompleteOverlay.jsx +0 -55
  80. package/lib/Avatar.jsx +0 -34
  81. package/lib/AvatarPair.jsx +0 -29
  82. package/lib/AvatarStack.jsx +0 -151
  83. package/lib/BaseStyles.jsx +0 -65
  84. package/lib/BorderBox.jsx +0 -18
  85. package/lib/Box.jsx +0 -10
  86. package/lib/BranchName.jsx +0 -20
  87. package/lib/Breadcrumbs.jsx +0 -74
  88. package/lib/Button/Button.jsx +0 -60
  89. package/lib/Button/ButtonBase.jsx +0 -36
  90. package/lib/Button/ButtonClose.jsx +0 -55
  91. package/lib/Button/ButtonDanger.jsx +0 -63
  92. package/lib/Button/ButtonGroup.jsx +0 -55
  93. package/lib/Button/ButtonInvisible.jsx +0 -52
  94. package/lib/Button/ButtonOutline.jsx +0 -63
  95. package/lib/Button/ButtonPrimary.jsx +0 -62
  96. package/lib/Button/ButtonStyles.jsx +0 -37
  97. package/lib/Button/ButtonTableList.jsx +0 -49
  98. package/lib/Caret.jsx +0 -93
  99. package/lib/CircleBadge.jsx +0 -43
  100. package/lib/CircleOcticon.jsx +0 -21
  101. package/lib/CounterLabel.jsx +0 -44
  102. package/lib/Details.jsx +0 -21
  103. package/lib/Dialog/ConfirmationDialog.jsx +0 -146
  104. package/lib/Dialog/Dialog.jsx +0 -273
  105. package/lib/Dialog.jsx +0 -131
  106. package/lib/Dropdown.jsx +0 -134
  107. package/lib/DropdownMenu/DropdownButton.jsx +0 -14
  108. package/lib/DropdownMenu/DropdownMenu.jsx +0 -70
  109. package/lib/FilterList.jsx +0 -63
  110. package/lib/FilteredActionList/FilteredActionList.jsx +0 -100
  111. package/lib/FilteredSearch.jsx +0 -29
  112. package/lib/Flash.jsx +0 -70
  113. package/lib/Flex.jsx +0 -15
  114. package/lib/FormGroup.jsx +0 -25
  115. package/lib/Grid.jsx +0 -15
  116. package/lib/Header.jsx +0 -90
  117. package/lib/Heading.jsx +0 -21
  118. package/lib/Label.jsx +0 -84
  119. package/lib/LabelGroup.jsx +0 -19
  120. package/lib/Link.jsx +0 -38
  121. package/lib/Overlay.jsx +0 -155
  122. package/lib/Pagehead.jsx +0 -18
  123. package/lib/Pagination/Pagination.jsx +0 -163
  124. package/lib/Pagination/model.jsx +0 -174
  125. package/lib/PointerBox.jsx +0 -25
  126. package/lib/Popover.jsx +0 -210
  127. package/lib/Portal/Portal.jsx +0 -78
  128. package/lib/Position.jsx +0 -46
  129. package/lib/ProgressBar.jsx +0 -39
  130. package/lib/SelectMenu/SelectMenu.jsx +0 -114
  131. package/lib/SelectMenu/SelectMenuContext.jsx +0 -5
  132. package/lib/SelectMenu/SelectMenuDivider.jsx +0 -43
  133. package/lib/SelectMenu/SelectMenuFilter.jsx +0 -59
  134. package/lib/SelectMenu/SelectMenuFooter.jsx +0 -46
  135. package/lib/SelectMenu/SelectMenuHeader.jsx +0 -44
  136. package/lib/SelectMenu/SelectMenuItem.jsx +0 -143
  137. package/lib/SelectMenu/SelectMenuList.jsx +0 -60
  138. package/lib/SelectMenu/SelectMenuLoadingAnimation.jsx +0 -21
  139. package/lib/SelectMenu/SelectMenuModal.jsx +0 -119
  140. package/lib/SelectMenu/SelectMenuTab.jsx +0 -93
  141. package/lib/SelectMenu/SelectMenuTabPanel.jsx +0 -43
  142. package/lib/SelectMenu/SelectMenuTabs.jsx +0 -58
  143. package/lib/SelectPanel/SelectPanel.jsx +0 -105
  144. package/lib/SideNav.jsx +0 -177
  145. package/lib/Spinner.jsx +0 -35
  146. package/lib/StateLabel.jsx +0 -89
  147. package/lib/StyledOcticon.jsx +0 -20
  148. package/lib/SubNav.jsx +0 -104
  149. package/lib/TabNav.jsx +0 -60
  150. package/lib/Text.jsx +0 -14
  151. package/lib/TextInput.jsx +0 -23
  152. package/lib/TextInputWithTokens.jsx +0 -218
  153. package/lib/ThemeProvider.jsx +0 -130
  154. package/lib/Timeline.jsx +0 -124
  155. package/lib/Token/AvatarToken.jsx +0 -54
  156. package/lib/Token/IssueLabelToken.jsx +0 -125
  157. package/lib/Token/Token.jsx +0 -103
  158. package/lib/Token/TokenBase.jsx +0 -88
  159. package/lib/Token/_RemoveTokenButton.jsx +0 -108
  160. package/lib/Token/_TokenTextContainer.jsx +0 -49
  161. package/lib/Tooltip.jsx +0 -246
  162. package/lib/Truncate.jsx +0 -27
  163. package/lib/UnderlineNav.jsx +0 -90
  164. package/lib/_TextInputWrapper.jsx +0 -114
  165. package/lib/_UnstyledTextInput.jsx +0 -22
  166. package/lib/hooks/useDetails.jsx +0 -39
  167. package/lib/hooks/useOnOutsideClick.jsx +0 -61
  168. package/lib/hooks/useOverlay.jsx +0 -15
  169. package/lib/utils/deprecate.jsx +0 -59
  170. package/lib/utils/isNumeric.jsx +0 -7
  171. package/lib/utils/ssr.jsx +0 -6
  172. package/lib/utils/test-deprecations.jsx +0 -20
  173. package/lib/utils/test-helpers.jsx +0 -8
  174. package/lib/utils/test-matchers.jsx +0 -100
  175. package/lib/utils/testing.jsx +0 -206
@@ -1,18 +1,29 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.ActionList = void 0;
4
- const List_1 = require("./List");
5
- const Group_1 = require("./Group");
6
- const Item_1 = require("./Item");
7
- const Divider_1 = require("./Divider");
7
+
8
+ var _List = require("./List");
9
+
10
+ var _Group = require("./Group");
11
+
12
+ var _Item = require("./Item");
13
+
14
+ var _Divider = require("./Divider");
15
+
8
16
  /**
9
17
  * Collection of list-related components.
10
18
  */
11
- exports.ActionList = Object.assign(List_1.List, {
12
- /** Collects related `Items` in an `ActionList`. */
13
- Group: Group_1.Group,
14
- /** An actionable or selectable `Item` with an optional icon and description. */
15
- Item: Item_1.Item,
16
- /** Visually separates `Item`s or `Group`s in an `ActionList`. */
17
- Divider: Divider_1.Divider
19
+ const ActionList = Object.assign(_List.List, {
20
+ /** Collects related `Items` in an `ActionList`. */
21
+ Group: _Group.Group,
22
+
23
+ /** An actionable or selectable `Item` with an optional icon and description. */
24
+ Item: _Item.Item,
25
+
26
+ /** Visually separates `Item`s or `Group`s in an `ActionList`. */
27
+ Divider: _Divider.Divider
18
28
  });
29
+ exports.ActionList = ActionList;
@@ -1,5 +1,13 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AnchoredOverlay = void 0;
4
- var AnchoredOverlay_1 = require("./AnchoredOverlay");
5
- Object.defineProperty(exports, "AnchoredOverlay", { enumerable: true, get: function () { return AnchoredOverlay_1.AnchoredOverlay; } });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AnchoredOverlay", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AnchoredOverlay.AnchoredOverlay;
10
+ }
11
+ });
12
+
13
+ var _AnchoredOverlay = require("./AnchoredOverlay");
@@ -1,8 +1,15 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = void 0;
7
- var Autocomplete_1 = require("./Autocomplete");
8
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Autocomplete_1).default; } });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Autocomplete.default;
10
+ }
11
+ });
12
+
13
+ var _Autocomplete = _interopRequireDefault(require("./Autocomplete"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,22 +1,71 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ButtonClose = exports.ButtonTableList = exports.ButtonInvisible = exports.ButtonPrimary = exports.ButtonOutline = exports.ButtonGroup = exports.ButtonDanger = exports.default = void 0;
7
- var Button_1 = require("./Button");
8
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Button_1).default; } });
9
- var ButtonDanger_1 = require("./ButtonDanger");
10
- Object.defineProperty(exports, "ButtonDanger", { enumerable: true, get: function () { return __importDefault(ButtonDanger_1).default; } });
11
- var ButtonGroup_1 = require("./ButtonGroup");
12
- Object.defineProperty(exports, "ButtonGroup", { enumerable: true, get: function () { return __importDefault(ButtonGroup_1).default; } });
13
- var ButtonOutline_1 = require("./ButtonOutline");
14
- Object.defineProperty(exports, "ButtonOutline", { enumerable: true, get: function () { return __importDefault(ButtonOutline_1).default; } });
15
- var ButtonPrimary_1 = require("./ButtonPrimary");
16
- Object.defineProperty(exports, "ButtonPrimary", { enumerable: true, get: function () { return __importDefault(ButtonPrimary_1).default; } });
17
- var ButtonInvisible_1 = require("./ButtonInvisible");
18
- Object.defineProperty(exports, "ButtonInvisible", { enumerable: true, get: function () { return __importDefault(ButtonInvisible_1).default; } });
19
- var ButtonTableList_1 = require("./ButtonTableList");
20
- Object.defineProperty(exports, "ButtonTableList", { enumerable: true, get: function () { return __importDefault(ButtonTableList_1).default; } });
21
- var ButtonClose_1 = require("./ButtonClose");
22
- Object.defineProperty(exports, "ButtonClose", { enumerable: true, get: function () { return __importDefault(ButtonClose_1).default; } });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Button.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ButtonDanger", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ButtonDanger.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ButtonGroup", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _ButtonGroup.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "ButtonOutline", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _ButtonOutline.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "ButtonPrimary", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _ButtonPrimary.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "ButtonInvisible", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _ButtonInvisible.default;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "ButtonTableList", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _ButtonTableList.default;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "ButtonClose", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _ButtonClose.default;
52
+ }
53
+ });
54
+
55
+ var _Button = _interopRequireDefault(require("./Button"));
56
+
57
+ var _ButtonDanger = _interopRequireDefault(require("./ButtonDanger"));
58
+
59
+ var _ButtonGroup = _interopRequireDefault(require("./ButtonGroup"));
60
+
61
+ var _ButtonOutline = _interopRequireDefault(require("./ButtonOutline"));
62
+
63
+ var _ButtonPrimary = _interopRequireDefault(require("./ButtonPrimary"));
64
+
65
+ var _ButtonInvisible = _interopRequireDefault(require("./ButtonInvisible"));
66
+
67
+ var _ButtonTableList = _interopRequireDefault(require("./ButtonTableList"));
68
+
69
+ var _ButtonClose = _interopRequireDefault(require("./ButtonClose"));
70
+
71
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,7 +1,21 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DropdownButton = exports.DropdownMenu = void 0;
4
- var DropdownMenu_1 = require("./DropdownMenu");
5
- Object.defineProperty(exports, "DropdownMenu", { enumerable: true, get: function () { return DropdownMenu_1.DropdownMenu; } });
6
- var DropdownButton_1 = require("./DropdownButton");
7
- Object.defineProperty(exports, "DropdownButton", { enumerable: true, get: function () { return DropdownButton_1.DropdownButton; } });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DropdownMenu", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DropdownMenu.DropdownMenu;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "DropdownButton", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _DropdownButton.DropdownButton;
16
+ }
17
+ });
18
+
19
+ var _DropdownMenu = require("./DropdownMenu");
20
+
21
+ var _DropdownButton = require("./DropdownButton");
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const constants_1 = require("./constants");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _constants = require("./constants");
9
+
4
10
  const getDirectionStyles = (theme, direction) => {
5
- const map = {
6
- w: `
11
+ const map = {
12
+ w: `
7
13
  top: 0;
8
14
  right: 100%;
9
15
  left: auto;
@@ -16,7 +22,7 @@ const getDirectionStyles = (theme, direction) => {
16
22
  right: -16px;
17
23
  left: auto;
18
24
  border-color: transparent;
19
- border-left-color: ${constants_1.get('colors.border.default')(theme)};
25
+ border-left-color: ${(0, _constants.get)('colors.border.default')(theme)};
20
26
  }
21
27
 
22
28
  &::after {
@@ -24,10 +30,10 @@ const getDirectionStyles = (theme, direction) => {
24
30
  right: -14px;
25
31
  left: auto;
26
32
  border-color: transparent;
27
- border-left-color: ${constants_1.get('colors.border.default')(theme)};
33
+ border-left-color: ${(0, _constants.get)('colors.border.default')(theme)};
28
34
  }
29
35
  `,
30
- e: `
36
+ e: `
31
37
  top: 0;
32
38
  left: 100%;
33
39
  width: auto;
@@ -38,17 +44,17 @@ const getDirectionStyles = (theme, direction) => {
38
44
  top: 10px;
39
45
  left: -16px;
40
46
  border-color: transparent;
41
- border-right-color: ${constants_1.get('colors.border.default')(theme)};
47
+ border-right-color: ${(0, _constants.get)('colors.border.default')(theme)};
42
48
  }
43
49
 
44
50
  &::after {
45
51
  top: 11px;
46
52
  left: -14px;
47
53
  border-color: transparent;
48
- border-right-color: ${constants_1.get('colors.border.default')(theme)};
54
+ border-right-color: ${(0, _constants.get)('colors.border.default')(theme)};
49
55
  }
50
56
  `,
51
- ne: `
57
+ ne: `
52
58
  top: auto;
53
59
  bottom: 100%;
54
60
  left: 0;
@@ -63,7 +69,7 @@ const getDirectionStyles = (theme, direction) => {
63
69
  &::before {
64
70
  bottom: -8px;
65
71
  left: 9px;
66
- border-top: 8px solid ${constants_1.get('colors.border.default')(theme)};
72
+ border-top: 8px solid ${(0, _constants.get)('colors.border.default')(theme)};
67
73
  border-bottom: 0;
68
74
  border-left: 8px solid transparent;
69
75
  }
@@ -71,13 +77,13 @@ const getDirectionStyles = (theme, direction) => {
71
77
  &::after {
72
78
  bottom: -7px;
73
79
  left: 10px;
74
- border-top: 7px solid ${constants_1.get('colors.border.default')(theme)};
80
+ border-top: 7px solid ${(0, _constants.get)('colors.border.default')(theme)};
75
81
  border-right: 7px solid transparent;
76
82
  border-bottom: 0;
77
83
  border-left: 7px solid transparent;
78
84
  }
79
85
  `,
80
- s: `
86
+ s: `
81
87
  right: 50%;
82
88
  left: auto;
83
89
  transform: translateX(50%);
@@ -94,7 +100,7 @@ const getDirectionStyles = (theme, direction) => {
94
100
  transform: translateX(50%);
95
101
  }
96
102
  `,
97
- sw: `
103
+ sw: `
98
104
  right: 0;
99
105
  left: auto;
100
106
 
@@ -110,7 +116,7 @@ const getDirectionStyles = (theme, direction) => {
110
116
  left: auto;
111
117
  }
112
118
  `,
113
- se: `
119
+ se: `
114
120
  &::before {
115
121
  top: -16px;
116
122
  left: 9px;
@@ -121,7 +127,9 @@ const getDirectionStyles = (theme, direction) => {
121
127
  left: 10px;
122
128
  }
123
129
  `
124
- };
125
- return map[direction];
130
+ };
131
+ return map[direction];
126
132
  };
127
- exports.default = getDirectionStyles;
133
+
134
+ var _default = getDirectionStyles;
135
+ exports.default = _default;
@@ -1,5 +1,13 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilteredActionList = void 0;
4
- var FilteredActionList_1 = require("./FilteredActionList");
5
- Object.defineProperty(exports, "FilteredActionList", { enumerable: true, get: function () { return FilteredActionList_1.FilteredActionList; } });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FilteredActionList", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _FilteredActionList.FilteredActionList;
10
+ }
11
+ });
12
+
13
+ var _FilteredActionList = require("./FilteredActionList");
package/lib/Overlay.js CHANGED
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _constants = require("./constants");
13
13
 
14
+ var _useIsomorphicLayoutEffect = _interopRequireDefault(require("./utils/useIsomorphicLayoutEffect"));
15
+
14
16
  var _hooks = require("./hooks");
15
17
 
16
18
  var _Portal = _interopRequireDefault(require("./Portal"));
@@ -139,7 +141,7 @@ const Overlay = /*#__PURE__*/_react.default.forwardRef(({
139
141
  combinedRef.current.style.height = `${combinedRef.current.clientHeight}px`;
140
142
  }
141
143
  }, [height, combinedRef]);
142
- (0, _react.useLayoutEffect)(() => {
144
+ (0, _useIsomorphicLayoutEffect.default)(() => {
143
145
  var _overlayRef$current;
144
146
 
145
147
  const {
@@ -1,7 +1,13 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const Pagination_1 = __importDefault(require("./Pagination"));
7
- exports.default = Pagination_1.default;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Pagination = _interopRequireDefault(require("./Pagination"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = _Pagination.default;
13
+ exports.default = _default;
@@ -10,6 +10,8 @@ var _react = _interopRequireDefault(require("react"));
10
10
 
11
11
  var _reactDom = require("react-dom");
12
12
 
13
+ var _useIsomorphicLayoutEffect = _interopRequireDefault(require("../utils/useIsomorphicLayoutEffect"));
14
+
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
 
15
17
  const PRIMER_PORTAL_ROOT_ID = '__primerPortalRoot__';
@@ -72,7 +74,7 @@ const Portal = ({
72
74
 
73
75
  const elementRef = _react.default.useRef(hostElement);
74
76
 
75
- _react.default.useLayoutEffect(() => {
77
+ (0, _useIsomorphicLayoutEffect.default)(() => {
76
78
  let containerName = _containerName;
77
79
 
78
80
  if (containerName === undefined) {
@@ -93,7 +95,6 @@ const Portal = ({
93
95
  parentElement.removeChild(element);
94
96
  }; // eslint-disable-next-line react-hooks/exhaustive-deps
95
97
  }, [elementRef]);
96
-
97
98
  return /*#__PURE__*/(0, _reactDom.createPortal)(children, elementRef.current);
98
99
  };
99
100
 
@@ -1,6 +1,17 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerPortalRoot = void 0;
4
- const Portal_1 = require("./Portal");
5
- Object.defineProperty(exports, "registerPortalRoot", { enumerable: true, get: function () { return Portal_1.registerPortalRoot; } });
6
- exports.default = Portal_1.Portal;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "registerPortalRoot", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Portal.registerPortalRoot;
10
+ }
11
+ });
12
+ exports.default = void 0;
13
+
14
+ var _Portal = require("./Portal");
15
+
16
+ var _default = _Portal.Portal;
17
+ exports.default = _default;
@@ -1,85 +1,101 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const react_1 = require("react");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
4
10
  // adapted from details-menu web component https://github.com/github/details-menu-element
5
11
  function useKeyboardNav(details, open, setOpen) {
6
- const handleKeyDown = react_1.useCallback(event => {
7
- const closeDetails = () => {
8
- setOpen(false);
9
- const summary = details.current.querySelector('summary');
10
- if (summary)
11
- summary.focus();
12
- };
13
- const openDetails = () => {
14
- setOpen(true);
15
- };
16
- const focusItem = next => {
17
- const options = Array.from(details.current.querySelectorAll('[role^="menuitem"]:not([hidden]):not([disabled]):not([aria-disabled="true"])'));
18
- const selected = document.activeElement;
19
- const index = options.indexOf(selected);
20
- const found = next ? options[index + 1] : options[index - 1];
21
- const def = next ? options[0] : options[options.length - 1];
22
- return found || def;
23
- };
24
- const isMenuItem = el => {
25
- const role = el.getAttribute('role');
26
- return role === 'menuitem' || role === 'menuitemcheckbox' || role === 'menuitemradio';
27
- };
28
- if (!(event instanceof KeyboardEvent))
29
- return;
30
- const isSummaryFocused = event.target instanceof Element && event.target.tagName === 'SUMMARY';
31
- switch (event.key) {
32
- case 'Escape':
33
- if (open) {
34
- closeDetails(details);
35
- event.preventDefault();
36
- event.stopPropagation();
37
- }
38
- break;
39
- case 'ArrowDown':
40
- {
41
- if (isSummaryFocused && !open) {
42
- openDetails(details);
43
- }
44
- const target = focusItem(true);
45
- if (target)
46
- target.focus();
47
- event.preventDefault();
48
- }
49
- break;
50
- case 'ArrowUp':
51
- {
52
- if (isSummaryFocused && !open) {
53
- openDetails();
54
- }
55
- const target = focusItem(false);
56
- if (target)
57
- target.focus();
58
- event.preventDefault();
59
- }
60
- break;
61
- case ' ':
62
- case 'Enter':
63
- {
64
- const selected = document.activeElement;
65
- if (selected && isMenuItem(selected) && selected.closest('details') === details) {
66
- event.preventDefault();
67
- event.stopPropagation();
68
- selected.click();
69
- }
70
- }
71
- break;
72
- default:
12
+ const handleKeyDown = (0, _react.useCallback)(event => {
13
+ const closeDetails = () => {
14
+ setOpen(false);
15
+ const summary = details.current.querySelector('summary');
16
+ if (summary) summary.focus();
17
+ };
18
+
19
+ const openDetails = () => {
20
+ setOpen(true);
21
+ };
22
+
23
+ const focusItem = next => {
24
+ const options = Array.from(details.current.querySelectorAll('[role^="menuitem"]:not([hidden]):not([disabled]):not([aria-disabled="true"])'));
25
+ const selected = document.activeElement;
26
+ const index = options.indexOf(selected);
27
+ const found = next ? options[index + 1] : options[index - 1];
28
+ const def = next ? options[0] : options[options.length - 1];
29
+ return found || def;
30
+ };
31
+
32
+ const isMenuItem = el => {
33
+ const role = el.getAttribute('role');
34
+ return role === 'menuitem' || role === 'menuitemcheckbox' || role === 'menuitemradio';
35
+ };
36
+
37
+ if (!(event instanceof KeyboardEvent)) return;
38
+ const isSummaryFocused = event.target instanceof Element && event.target.tagName === 'SUMMARY';
39
+
40
+ switch (event.key) {
41
+ case 'Escape':
42
+ if (open) {
43
+ closeDetails(details);
44
+ event.preventDefault();
45
+ event.stopPropagation();
73
46
  }
74
- }, [details, open, setOpen]);
75
- react_1.useEffect(() => {
76
- const current = details.current;
77
- if (!current)
78
- return;
79
- current.addEventListener('keydown', handleKeyDown);
80
- return () => {
81
- current.removeEventListener('keydown', handleKeyDown);
82
- };
83
- }, [details, handleKeyDown]);
47
+
48
+ break;
49
+
50
+ case 'ArrowDown':
51
+ {
52
+ if (isSummaryFocused && !open) {
53
+ openDetails(details);
54
+ }
55
+
56
+ const target = focusItem(true);
57
+ if (target) target.focus();
58
+ event.preventDefault();
59
+ }
60
+ break;
61
+
62
+ case 'ArrowUp':
63
+ {
64
+ if (isSummaryFocused && !open) {
65
+ openDetails();
66
+ }
67
+
68
+ const target = focusItem(false);
69
+ if (target) target.focus();
70
+ event.preventDefault();
71
+ }
72
+ break;
73
+
74
+ case ' ':
75
+ case 'Enter':
76
+ {
77
+ const selected = document.activeElement;
78
+
79
+ if (selected && isMenuItem(selected) && selected.closest('details') === details) {
80
+ event.preventDefault();
81
+ event.stopPropagation();
82
+ selected.click();
83
+ }
84
+ }
85
+ break;
86
+
87
+ default:
88
+ }
89
+ }, [details, open, setOpen]);
90
+ (0, _react.useEffect)(() => {
91
+ const current = details.current;
92
+ if (!current) return;
93
+ current.addEventListener('keydown', handleKeyDown);
94
+ return () => {
95
+ current.removeEventListener('keydown', handleKeyDown);
96
+ };
97
+ }, [details, handleKeyDown]);
84
98
  }
85
- exports.default = useKeyboardNav;
99
+
100
+ var _default = useKeyboardNav;
101
+ exports.default = _default;
@@ -1,8 +1,15 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = void 0;
7
- var SelectMenu_1 = require("./SelectMenu");
8
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(SelectMenu_1).default; } });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SelectMenu.default;
10
+ }
11
+ });
12
+
13
+ var _SelectMenu = _interopRequireDefault(require("./SelectMenu"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1,5 +1,13 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SelectPanel = void 0;
4
- var SelectPanel_1 = require("./SelectPanel");
5
- Object.defineProperty(exports, "SelectPanel", { enumerable: true, get: function () { return SelectPanel_1.SelectPanel; } });
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "SelectPanel", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SelectPanel.SelectPanel;
10
+ }
11
+ });
12
+
13
+ var _SelectPanel = require("./SelectPanel");