@zohodesk/components 1.0.0-temp-49 → 1.0.0-temp-52

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 (306) hide show
  1. package/README.md +4 -0
  2. package/{assets → es}/Appearance/dark/mode/darkMode.module.css +2 -4
  3. package/es/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +34 -0
  4. package/es/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +42 -0
  5. package/{assets → es}/Appearance/dark/themes/green/greenDarkCTATheme.module.css +10 -10
  6. package/es/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +42 -0
  7. package/{assets → es}/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +10 -10
  8. package/es/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +42 -0
  9. package/{assets → es}/Appearance/dark/themes/red/redDarkCTATheme.module.css +10 -10
  10. package/es/Appearance/dark/themes/red/redDarkComponentTheme.module.css +42 -0
  11. package/{assets → es}/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +10 -10
  12. package/es/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +42 -0
  13. package/{assets → es}/Appearance/default/mode/defaultMode.module.css +2 -4
  14. package/{assets → es}/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +0 -0
  15. package/{assets → es}/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +7 -7
  16. package/{assets → es}/Appearance/default/themes/green/greenDefaultCTATheme.module.css +2 -2
  17. package/{assets → es}/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +4 -4
  18. package/{assets → es}/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +0 -0
  19. package/{assets → es}/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -3
  20. package/{assets → es}/Appearance/default/themes/red/redDefaultCTATheme.module.css +7 -7
  21. package/{assets → es}/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -3
  22. package/{assets → es}/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +0 -0
  23. package/{assets → es}/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -3
  24. package/es/Avatar/Avatar.js +1 -1
  25. package/es/Avatar/Avatar.module.css +9 -11
  26. package/es/AvatarTeam/AvatarTeam.module.css +7 -21
  27. package/es/Button/Button.js +5 -10
  28. package/es/Button/Button.module.css +24 -97
  29. package/es/Buttongroup/Buttongroup.module.css +8 -37
  30. package/es/CheckBox/CheckBox.module.css +11 -17
  31. package/es/DateTime/DateTime.module.css +12 -39
  32. package/es/DateTime/DateWidget.module.css +5 -9
  33. package/es/DateTime/YearView.module.css +6 -16
  34. package/es/DropBox/DropBox.module.css +11 -47
  35. package/es/DropDown/DropDownHeading.module.css +3 -7
  36. package/es/DropDown/DropDownItem.module.css +6 -32
  37. package/es/ListItem/ListItem.module.css +24 -56
  38. package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -1
  39. package/es/MultiSelect/AdvancedMultiSelect.js +1 -1
  40. package/es/MultiSelect/AdvancedMultiSelect.module.css +8 -22
  41. package/es/MultiSelect/MultiSelect.js +4 -5
  42. package/es/MultiSelect/MultiSelect.module.css +10 -27
  43. package/es/MultiSelect/MultiSelectWithAvatar.js +1 -1
  44. package/es/MultiSelect/SelectedOptions.module.css +2 -8
  45. package/es/PopOver/PopOver.module.css +1 -1
  46. package/es/Radio/Radio.module.css +4 -10
  47. package/es/Ribbon/Ribbon.module.css +28 -93
  48. package/es/RippleEffect/RippleEffect.module.css +44 -15
  49. package/es/Select/GroupSelect.js +1 -1
  50. package/es/Select/Select.js +4 -5
  51. package/es/Select/Select.module.css +2 -12
  52. package/es/Select/SelectWithAvatar.js +1 -1
  53. package/es/Select/SelectWithIcon.js +1 -1
  54. package/es/Stencils/Stencils.module.css +3 -21
  55. package/es/Switch/Switch.module.css +7 -6
  56. package/es/Tab/Tab.module.css +7 -16
  57. package/es/Tab/Tabs.module.css +8 -41
  58. package/es/Tag/Tag.module.css +14 -36
  59. package/es/TextBox/TextBox.module.css +11 -7
  60. package/es/TextBoxIcon/TextBoxIcon.js +1 -1
  61. package/es/TextBoxIcon/TextBoxIcon.module.css +5 -12
  62. package/es/Textarea/Textarea.module.css +7 -6
  63. package/es/Tooltip/Tooltip.module.css +8 -9
  64. package/es/beta/FocusRing/FocusRing.module.css +26 -51
  65. package/es/common/animation.module.css +21 -219
  66. package/es/common/basicReset.module.css +12 -2
  67. package/es/common/common.module.css +18 -62
  68. package/es/common/customscroll.module.css +21 -17
  69. package/es/common/docStyle.module.css +31 -78
  70. package/es/common/transition.module.css +10 -50
  71. package/es/deprecated/Theme/darkTheme.module.css +393 -0
  72. package/es/deprecated/Theme/defaultTheme.module.css +393 -0
  73. package/es/deprecated/Theme/palette/darkCTAPalette.module.css +116 -0
  74. package/es/deprecated/Theme/palette/darkPalette.module.css +155 -0
  75. package/es/deprecated/Theme/palette/defaultCTAPalette.module.css +116 -0
  76. package/es/deprecated/Theme/palette/defaultPalette.module.css +155 -0
  77. package/es/deprecated/customscroll_Old.module.css +46 -0
  78. package/es/semantic/Button/semanticButton.module.css +3 -3
  79. package/package.json +1 -1
  80. package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +0 -34
  81. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +0 -42
  82. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +0 -42
  83. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +0 -42
  84. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +0 -42
  85. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +0 -42
  86. package/lib/Accordion/Accordion.js +0 -146
  87. package/lib/Accordion/AccordionItem.js +0 -124
  88. package/lib/Accordion/__tests__/Accordion.spec.js +0 -85
  89. package/lib/Accordion/index.js +0 -23
  90. package/lib/Animation/Animation.js +0 -206
  91. package/lib/Animation/__tests__/Animation.spec.js +0 -23
  92. package/lib/AppContainer/AppContainer.js +0 -205
  93. package/lib/AppContainer/AppContainer.module.css +0 -18
  94. package/lib/Avatar/Avatar.js +0 -280
  95. package/lib/Avatar/Avatar.module.css +0 -117
  96. package/lib/Avatar/__tests__/Avatar.spec.js +0 -208
  97. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +0 -288
  98. package/lib/AvatarTeam/AvatarTeam.js +0 -157
  99. package/lib/AvatarTeam/AvatarTeam.module.css +0 -161
  100. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -92
  101. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +0 -226
  102. package/lib/Button/Button.js +0 -163
  103. package/lib/Button/Button.module.css +0 -522
  104. package/lib/Button/__tests__/Button.spec.js +0 -233
  105. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  106. package/lib/Buttongroup/Buttongroup.js +0 -101
  107. package/lib/Buttongroup/Buttongroup.module.css +0 -89
  108. package/lib/Buttongroup/__test__/Buttongroup.spec.js +0 -86
  109. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +0 -146
  110. package/lib/Card/Card.js +0 -409
  111. package/lib/Card/Card.module.css +0 -20
  112. package/lib/Card/__tests__/Card.spec.js +0 -56
  113. package/lib/Card/index.js +0 -37
  114. package/lib/CheckBox/CheckBox.js +0 -265
  115. package/lib/CheckBox/CheckBox.module.css +0 -153
  116. package/lib/CheckBox/__tests__/CheckBox.spec.js +0 -18
  117. package/lib/DateTime/CalendarView.js +0 -285
  118. package/lib/DateTime/DateTime.js +0 -889
  119. package/lib/DateTime/DateTime.module.css +0 -188
  120. package/lib/DateTime/DateTimePopupFooter.js +0 -90
  121. package/lib/DateTime/DateTimePopupHeader.js +0 -149
  122. package/lib/DateTime/DateWidget.js +0 -1189
  123. package/lib/DateTime/DateWidget.module.css +0 -42
  124. package/lib/DateTime/DaysRow.js +0 -76
  125. package/lib/DateTime/Time.js +0 -248
  126. package/lib/DateTime/YearView.js +0 -324
  127. package/lib/DateTime/YearView.module.css +0 -80
  128. package/lib/DateTime/__tests__/CalendarView.spec.js +0 -45
  129. package/lib/DateTime/__tests__/DateTime.spec.js +0 -127
  130. package/lib/DateTime/__tests__/DateWidget.spec.js +0 -81
  131. package/lib/DateTime/common.js +0 -36
  132. package/lib/DateTime/constants.js +0 -77
  133. package/lib/DateTime/dateFormatUtils/dateFormat.js +0 -613
  134. package/lib/DateTime/dateFormatUtils/dayChange.js +0 -81
  135. package/lib/DateTime/dateFormatUtils/index.js +0 -274
  136. package/lib/DateTime/dateFormatUtils/monthChange.js +0 -94
  137. package/lib/DateTime/dateFormatUtils/timeChange.js +0 -240
  138. package/lib/DateTime/dateFormatUtils/yearChange.js +0 -119
  139. package/lib/DateTime/index.js +0 -15
  140. package/lib/DateTime/objectUtils.js +0 -76
  141. package/lib/DateTime/typeChecker.js +0 -26
  142. package/lib/DateTime/validator.js +0 -353
  143. package/lib/DropBox/DropBox.js +0 -393
  144. package/lib/DropBox/DropBox.module.css +0 -406
  145. package/lib/DropBox/DropBoxPositionMapping.json +0 -145
  146. package/lib/DropBox/__tests__/DropBox.spec.js +0 -87
  147. package/lib/DropDown/DropDown.js +0 -203
  148. package/lib/DropDown/DropDown.module.css +0 -5
  149. package/lib/DropDown/DropDownHeading.js +0 -102
  150. package/lib/DropDown/DropDownHeading.module.css +0 -53
  151. package/lib/DropDown/DropDownItem.js +0 -139
  152. package/lib/DropDown/DropDownItem.module.css +0 -94
  153. package/lib/DropDown/DropDownSearch.js +0 -132
  154. package/lib/DropDown/DropDownSearch.module.css +0 -14
  155. package/lib/DropDown/DropDownSeparator.js +0 -66
  156. package/lib/DropDown/DropDownSeparator.module.css +0 -7
  157. package/lib/DropDown/__tests__/DropDown.spec.js +0 -50
  158. package/lib/DropDown/__tests__/DropDownItem.spec.js +0 -51
  159. package/lib/DropDown/__tests__/DropDownSearch.spec.js +0 -17
  160. package/lib/Label/Label.js +0 -109
  161. package/lib/Label/Label.module.css +0 -52
  162. package/lib/Label/LabelColors.module.css +0 -21
  163. package/lib/Label/__tests__/Label.spec.js +0 -137
  164. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +0 -101
  165. package/lib/Layout/Box.js +0 -138
  166. package/lib/Layout/Container.js +0 -152
  167. package/lib/Layout/Layout.module.css +0 -324
  168. package/lib/Layout/__tests__/Box.spec.js +0 -121
  169. package/lib/Layout/__tests__/Container.spec.js +0 -127
  170. package/lib/Layout/index.js +0 -34
  171. package/lib/Layout/utils.js +0 -55
  172. package/lib/LightNightMode/Colors.json +0 -398
  173. package/lib/ListItem/ListContainer.js +0 -127
  174. package/lib/ListItem/ListItem.js +0 -227
  175. package/lib/ListItem/ListItem.module.css +0 -200
  176. package/lib/ListItem/ListItemWithAvatar.js +0 -237
  177. package/lib/ListItem/ListItemWithCheckBox.js +0 -205
  178. package/lib/ListItem/ListItemWithIcon.js +0 -229
  179. package/lib/ListItem/ListItemWithRadio.js +0 -208
  180. package/lib/Modal/Modal.js +0 -218
  181. package/lib/Modal/__docs__/Modal__default.docs.js +0 -88
  182. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +0 -1218
  183. package/lib/MultiSelect/AdvancedMultiSelect.js +0 -696
  184. package/lib/MultiSelect/AdvancedMultiSelect.module.css +0 -127
  185. package/lib/MultiSelect/EmptyState.js +0 -132
  186. package/lib/MultiSelect/MultiSelect.js +0 -1235
  187. package/lib/MultiSelect/MultiSelect.module.css +0 -193
  188. package/lib/MultiSelect/MultiSelectHeader.js +0 -86
  189. package/lib/MultiSelect/MultiSelectWithAvatar.js +0 -410
  190. package/lib/MultiSelect/SelectedOptions.js +0 -140
  191. package/lib/MultiSelect/SelectedOptions.module.css +0 -15
  192. package/lib/MultiSelect/Suggestions.js +0 -219
  193. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +0 -170
  194. package/lib/PopOver/PopOver.js +0 -365
  195. package/lib/PopOver/PopOver.module.css +0 -8
  196. package/lib/PopOver/__tests__/PopOver.spec.js +0 -20
  197. package/lib/Popup/Popup.js +0 -719
  198. package/lib/Popup/PositionMapping.json +0 -74
  199. package/lib/Popup/__tests__/Popup.spec.js +0 -192
  200. package/lib/Popup/viewPort.js +0 -368
  201. package/lib/Provider/AvatarSize.js +0 -23
  202. package/lib/Provider/Config.js +0 -25
  203. package/lib/Provider/CssProvider.js +0 -27
  204. package/lib/Provider/IdProvider.js +0 -82
  205. package/lib/Provider/LibraryContext.js +0 -76
  206. package/lib/Provider/LibraryContextInit.js +0 -15
  207. package/lib/Provider/NumberGenerator/NumberGenerator.js +0 -174
  208. package/lib/Provider/ZindexProvider.js +0 -69
  209. package/lib/Provider.js +0 -241
  210. package/lib/Radio/Radio.js +0 -214
  211. package/lib/Radio/Radio.module.css +0 -110
  212. package/lib/Radio/__tests__/Radiospec.js +0 -29
  213. package/lib/Responsive/CustomResponsive.js +0 -246
  214. package/lib/Responsive/RefWrapper.js +0 -55
  215. package/lib/Responsive/ResizeComponent.js +0 -268
  216. package/lib/Responsive/ResizeObserver.js +0 -168
  217. package/lib/Responsive/Responsive.js +0 -281
  218. package/lib/Responsive/index.js +0 -30
  219. package/lib/Responsive/sizeObservers.js +0 -207
  220. package/lib/Responsive/utils/index.js +0 -70
  221. package/lib/Responsive/utils/shallowCompare.js +0 -38
  222. package/lib/Responsive/windowResizeObserver.js +0 -63
  223. package/lib/Ribbon/Ribbon.js +0 -115
  224. package/lib/Ribbon/Ribbon.module.css +0 -377
  225. package/lib/Ribbon/__tests__/Ribbon.spec.js +0 -193
  226. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +0 -163
  227. package/lib/RippleEffect/RippleEffect.js +0 -61
  228. package/lib/RippleEffect/RippleEffect.module.css +0 -70
  229. package/lib/Select/GroupSelect.js +0 -944
  230. package/lib/Select/Select.js +0 -1078
  231. package/lib/Select/Select.module.css +0 -100
  232. package/lib/Select/SelectWithAvatar.js +0 -433
  233. package/lib/Select/SelectWithIcon.js +0 -556
  234. package/lib/Select/__tests__/Select.spec.js +0 -383
  235. package/lib/Stencils/Stencils.js +0 -93
  236. package/lib/Stencils/Stencils.module.css +0 -96
  237. package/lib/Stencils/__tests__/Stencils.spec.js +0 -84
  238. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +0 -49
  239. package/lib/Switch/Switch.js +0 -183
  240. package/lib/Switch/Switch.module.css +0 -110
  241. package/lib/Tab/Tab.js +0 -158
  242. package/lib/Tab/Tab.module.css +0 -101
  243. package/lib/Tab/TabContent.js +0 -45
  244. package/lib/Tab/TabContent.module.css +0 -4
  245. package/lib/Tab/TabContentWrapper.js +0 -47
  246. package/lib/Tab/TabWrapper.js +0 -109
  247. package/lib/Tab/Tabs.js +0 -696
  248. package/lib/Tab/Tabs.module.css +0 -140
  249. package/lib/Tab/__tests__/Tab.spec.js +0 -130
  250. package/lib/Tab/__tests__/TabContent.spec.js +0 -22
  251. package/lib/Tab/__tests__/TabContentWrapper.spec.js +0 -59
  252. package/lib/Tab/__tests__/TabWrapper.spec.js +0 -100
  253. package/lib/Tab/__tests__/Tabs.spec.js +0 -123
  254. package/lib/Tab/index.js +0 -47
  255. package/lib/Tag/Tag.js +0 -252
  256. package/lib/Tag/Tag.module.css +0 -251
  257. package/lib/Tag/__tests__/Tag.spec.js +0 -35
  258. package/lib/TextBox/TextBox.js +0 -289
  259. package/lib/TextBox/TextBox.module.css +0 -157
  260. package/lib/TextBox/__tests__/TextBox.spec.js +0 -205
  261. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +0 -127
  262. package/lib/TextBoxIcon/TextBoxIcon.js +0 -284
  263. package/lib/TextBoxIcon/TextBoxIcon.module.css +0 -78
  264. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +0 -228
  265. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +0 -334
  266. package/lib/Textarea/Textarea.js +0 -202
  267. package/lib/Textarea/Textarea.module.css +0 -139
  268. package/lib/Textarea/__tests__/Textarea.spec.js +0 -186
  269. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +0 -97
  270. package/lib/Tooltip/Tooltip.js +0 -538
  271. package/lib/Tooltip/Tooltip.module.css +0 -104
  272. package/lib/Tooltip/__tests__/Tooltip.spec.js +0 -98
  273. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -146
  274. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +0 -190
  275. package/lib/a11y/FocusScope/FocusScope.js +0 -443
  276. package/lib/beta/FocusRing/FocusRing.js +0 -338
  277. package/lib/beta/FocusRing/FocusRing.module.css +0 -152
  278. package/lib/common/animation.module.css +0 -624
  279. package/lib/common/avatarsizes.module.css +0 -45
  280. package/lib/common/basic.module.css +0 -33
  281. package/lib/common/basicReset.module.css +0 -40
  282. package/lib/common/common.module.css +0 -502
  283. package/lib/common/customscroll.module.css +0 -89
  284. package/lib/common/docStyle.module.css +0 -762
  285. package/lib/common/reset.module.css +0 -12
  286. package/lib/common/transition.module.css +0 -146
  287. package/lib/css.js +0 -83
  288. package/lib/deprecated/PortalLayer/PortalLayer.js +0 -165
  289. package/lib/index.js +0 -1412
  290. package/lib/semantic/Button/Button.js +0 -138
  291. package/lib/semantic/Button/semanticButton.module.css +0 -9
  292. package/lib/utils/Common.js +0 -457
  293. package/lib/utils/ContextOptimizer.js +0 -49
  294. package/lib/utils/__tests__/constructFullName.spec.js +0 -12
  295. package/lib/utils/__tests__/debounce.spec.js +0 -40
  296. package/lib/utils/__tests__/getInitial.spec.js +0 -26
  297. package/lib/utils/constant.js +0 -10
  298. package/lib/utils/constructFullName.js +0 -34
  299. package/lib/utils/datetime/common.js +0 -233
  300. package/lib/utils/debounce.js +0 -30
  301. package/lib/utils/dropDownUtils.js +0 -608
  302. package/lib/utils/dummyFunction.js +0 -10
  303. package/lib/utils/getHTMLFontSize.js +0 -11
  304. package/lib/utils/getInitial.js +0 -33
  305. package/lib/utils/scrollTo.js +0 -22
  306. package/lib/utils/shallowEqual.js +0 -41
@@ -1,443 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = FocusScope;
9
- exports.getFocusableTreeWalker = getFocusableTreeWalker;
10
- exports.useFocusManager = useFocusManager;
11
- exports.useLayoutEffect = void 0;
12
-
13
- var _react = _interopRequireWildcard(require("react"));
14
-
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
-
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
-
19
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
20
-
21
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
-
23
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
24
-
25
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
26
-
27
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
28
-
29
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
30
-
31
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
32
-
33
- var scopes = new Set();
34
- var activeScope = null;
35
-
36
- var FocusContext = /*#__PURE__*/_react["default"].createContext(null); // interface FocusManager {
37
- // /** Moves focus to the next focusable or tabbable element in the focus scope. */
38
- // focusNext(opts?: FocusManagerOptions): HTMLElement,
39
- // /** Moves focus to the previous focusable or tabbable element in the focus scope. */
40
- // focusPrevious(opts?: FocusManagerOptions): HTMLElement
41
- // }
42
-
43
-
44
- var useLayoutEffect = window !== 'undefined' ? _react["default"].useLayoutEffect : function () {};
45
- exports.useLayoutEffect = useLayoutEffect;
46
-
47
- function FocusScope(props) {
48
- var children = props.children,
49
- _props$contain = props.contain,
50
- contain = _props$contain === void 0 ? true : _props$contain,
51
- _props$restoreFocus = props.restoreFocus,
52
- restoreFocus = _props$restoreFocus === void 0 ? true : _props$restoreFocus,
53
- _props$autoFocus = props.autoFocus,
54
- autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus;
55
- var startRef = (0, _react.useRef)();
56
- var endRef = (0, _react.useRef)();
57
- var scopeRef = (0, _react.useRef)([]);
58
- useLayoutEffect(function () {
59
- // Find all rendered nodes between the sentinels and add them to the scope.
60
- var node = startRef.current.nextSibling;
61
- var nodes = [];
62
-
63
- while (node && node !== endRef.current) {
64
- nodes.push(node);
65
- node = node.nextSibling;
66
- }
67
-
68
- scopeRef.current = nodes;
69
- scopes.add(scopeRef);
70
- return function () {
71
- scopes["delete"](scopeRef);
72
- };
73
- }, [children]);
74
- useFocusContainment(scopeRef, contain);
75
- useRestoreFocus(scopeRef, restoreFocus, contain);
76
- useAutoFocus(scopeRef, autoFocus);
77
- var focusManager = createFocusManager(scopeRef);
78
- return /*#__PURE__*/_react["default"].createElement(FocusContext.Provider, {
79
- value: focusManager
80
- }, /*#__PURE__*/_react["default"].createElement("span", {
81
- hidden: true,
82
- ref: startRef
83
- }), children, /*#__PURE__*/_react["default"].createElement("span", {
84
- hidden: true,
85
- ref: endRef
86
- }));
87
- }
88
-
89
- function useFocusManager() {
90
- return (0, _react.useContext)(FocusContext);
91
- }
92
-
93
- function createFocusManager(scopeRef) {
94
- return {
95
- focusNext: function focusNext(opts) {
96
- var node = opts.from || document.activeElement;
97
- var focusable = getFocusableElementsInScope(scopeRef.current, opts);
98
- var nextNode = focusable.find(function (n) {
99
- return !!(node.compareDocumentPosition(n) & (Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_CONTAINED_BY));
100
- });
101
-
102
- if (!nextNode && opts.wrap) {
103
- nextNode = focusable[0];
104
- }
105
-
106
- if (nextNode) {
107
- nextNode.focus();
108
- }
109
-
110
- return nextNode;
111
- },
112
- focusPrevious: function focusPrevious(opts) {
113
- var node = opts.from || document.activeElement;
114
- var focusable = getFocusableElementsInScope(scopeRef.current, opts).reverse();
115
- var previousNode = focusable.find(function (n) {
116
- return !!(node.compareDocumentPosition(n) & (Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_CONTAINED_BY));
117
- });
118
-
119
- if (!previousNode && opts.wrap) {
120
- previousNode = focusable[0];
121
- }
122
-
123
- if (previousNode) {
124
- previousNode.focus();
125
- }
126
-
127
- return previousNode;
128
- }
129
- };
130
- }
131
-
132
- var focusableElements = ['input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'a[href]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details', 'area[href]', 'summary', 'iframe', 'object', 'embed'];
133
- var FOCUSABLE_ELEMENT_SELECTOR = focusableElements.join(',') + ',[tabindex]';
134
- focusableElements.push('[tabindex]:not([tabindex="-1"])');
135
- var TABBABLE_ELEMENT_SELECTOR = focusableElements.join(':not([tabindex="-1"]),');
136
-
137
- function useAutoFocus(scopeRef, autoFocus) {
138
- (0, _react.useEffect)(function () {
139
- if (autoFocus) {
140
- activeScope = scopeRef;
141
-
142
- if (!isElementInScope(document.activeElement, activeScope.current)) {
143
- focusFirstInScope(scopeRef.current);
144
- }
145
- }
146
- }, [scopeRef, autoFocus]);
147
- }
148
-
149
- function getFocusableElementsInScope(scope, opts) {
150
- var res = [],
151
- response = [];
152
- var selector = opts.tabbable ? TABBABLE_ELEMENT_SELECTOR : FOCUSABLE_ELEMENT_SELECTOR;
153
-
154
- var _iterator = _createForOfIteratorHelper(scope),
155
- _step;
156
-
157
- try {
158
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
159
- var node = _step.value;
160
-
161
- if (node.matches(selector)) {
162
- res.push(node);
163
- }
164
-
165
- response.push.apply(response, _toConsumableArray(Array.from(node.querySelectorAll(selector))));
166
- res = response.filter(function (element) {
167
- return !(window.getComputedStyle(element).display === 'none');
168
- });
169
- }
170
- } catch (err) {
171
- _iterator.e(err);
172
- } finally {
173
- _iterator.f();
174
- }
175
-
176
- ;
177
- return res;
178
- }
179
-
180
- function useFocusContainment(scopeRef, contain) {
181
- var focusedNode = (0, _react.useRef)();
182
- var raf = (0, _react.useRef)(null);
183
- (0, _react.useEffect)(function () {
184
- var scope = scopeRef.current;
185
-
186
- if (!contain) {
187
- return;
188
- } // Handle the Tab key to contain focus within the scope
189
-
190
-
191
- var onKeyDown = function onKeyDown(e) {
192
- if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey) {
193
- return;
194
- }
195
-
196
- var elements = getFocusableElementsInScope(scope, {
197
- tabbable: true
198
- });
199
- var focusedElement = document.activeElement;
200
-
201
- if (!isElementInScope(focusedElement, scope)) {
202
- return;
203
- }
204
-
205
- var position = elements.indexOf(focusedElement);
206
- var lastPosition = elements.length - 1;
207
- var nextElement = null;
208
-
209
- if (e.shiftKey) {
210
- if (position <= 0) {
211
- nextElement = elements[lastPosition];
212
- } else {
213
- nextElement = elements[position - 1];
214
- }
215
- } else {
216
- if (position === lastPosition) {
217
- nextElement = elements[0];
218
- } else {
219
- nextElement = elements[position + 1];
220
- }
221
- }
222
-
223
- e.preventDefault();
224
-
225
- if (nextElement) {
226
- focusElement(nextElement, true);
227
- }
228
- };
229
-
230
- var onFocus = function onFocus(e) {
231
- // If a focus event occurs outside the active scope (e.g. user tabs from browser location bar),
232
- // restore focus to the previously focused node or the first tabbable element in the active scope.
233
- var isInAnyScope = isElementInAnyScope(e.target, scopes);
234
-
235
- if (!isInAnyScope) {
236
- if (focusedNode.current) {
237
- focusedNode.current.focus();
238
- } else if (activeScope) {
239
- focusFirstInScope(activeScope.current);
240
- }
241
- } else {
242
- activeScope = scopeRef;
243
- focusedNode.current = e.target;
244
- }
245
- };
246
-
247
- var onBlur = function onBlur(e) {
248
- // Firefox doesn't shift focus back to the Dialog properly without this
249
- raf.current = requestAnimationFrame(function () {
250
- // Use document.activeElement instead of e.relatedTarget so we can tell if user clicked into iframe
251
- var isInAnyScope = isElementInAnyScope(document.activeElement, scopes);
252
-
253
- if (!isInAnyScope) {
254
- activeScope = scopeRef;
255
- focusedNode.current = e.target;
256
- focusedNode.current.focus();
257
- }
258
- });
259
- };
260
-
261
- document.addEventListener('keydown', onKeyDown, false);
262
- document.addEventListener('focusin', onFocus, false);
263
- scope.forEach(function (element) {
264
- return element.addEventListener('focusin', onFocus, false);
265
- });
266
- scope.forEach(function (element) {
267
- return element.addEventListener('focusout', onBlur, false);
268
- });
269
- return function () {
270
- document.removeEventListener('keydown', onKeyDown, false);
271
- document.removeEventListener('focusin', onFocus, false);
272
- scope.forEach(function (element) {
273
- return element.removeEventListener('focusin', onFocus, false);
274
- });
275
- scope.forEach(function (element) {
276
- return element.removeEventListener('focusout', onBlur, false);
277
- });
278
- };
279
- }, [scopeRef, contain]); // eslint-disable-next-line arrow-body-style
280
-
281
- (0, _react.useEffect)(function () {
282
- return function () {
283
- return cancelAnimationFrame(raf.current);
284
- };
285
- }, [raf]);
286
- }
287
-
288
- function isElementInAnyScope(element) {
289
- var scopes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
290
-
291
- var _iterator2 = _createForOfIteratorHelper(scopes.values()),
292
- _step2;
293
-
294
- try {
295
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
296
- var scope = _step2.value;
297
-
298
- if (isElementInScope(element, scope.current)) {
299
- return true;
300
- }
301
- }
302
- } catch (err) {
303
- _iterator2.e(err);
304
- } finally {
305
- _iterator2.f();
306
- }
307
-
308
- return false;
309
- }
310
-
311
- function isElementInScope(element) {
312
- var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
313
- return scope.some(function (node) {
314
- return node.contains(element);
315
- });
316
- }
317
-
318
- function focusElement() {
319
- var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
320
-
321
- if (element != null) {
322
- element.focus();
323
- }
324
- }
325
-
326
- function findElement(elements) {
327
- var ele = [];
328
-
329
- for (var element = 0; element < elements.length; element++) {
330
- var elem = elements[element];
331
-
332
- if (elem.getAttribute('data-auto-focus')) {
333
- ele.push(elem);
334
- }
335
- }
336
-
337
- return ele.length ? ele[0] : null;
338
- }
339
-
340
- function focusFirstInScope() {
341
- var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
342
- var elements = getFocusableElementsInScope(scope, {
343
- tabbable: true
344
- });
345
- var element = findElement(elements);
346
- focusElement(element ? element : elements[0]);
347
- }
348
-
349
- function useRestoreFocus(scopeRef, restoreFocus, contain) {
350
- // useLayoutEffect instead of useEffect so the active element is saved synchronously instead of asynchronously.
351
- useLayoutEffect(function () {
352
- var scope = scopeRef.current;
353
- var nodeToRestore = document.activeElement; // Handle the Tab key so that tabbing out of the scope goes to the next element
354
- // after the node that had focus when the scope mounted. This is important when
355
- // using portals for overlays, so that focus goes to the expected element when
356
- // tabbing out of the overlay.
357
-
358
- var onKeyDown = function onKeyDown(e) {
359
- if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey) {
360
- return;
361
- }
362
-
363
- var focusedElement = document.activeElement;
364
-
365
- if (!isElementInScope(focusedElement, scope)) {
366
- return;
367
- } // Create a DOM tree walker that matches all tabbable elements
368
-
369
-
370
- var walker = getFocusableTreeWalker(document.body, {
371
- tabbable: true
372
- }); // Find the next tabbable element after the currently focused element
373
-
374
- walker.currentNode = focusedElement;
375
- var nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode(); // If there is no next element, or it is outside the current scope, move focus to the
376
- // next element after the node to restore to instead.
377
-
378
- if ((!nextElement || !isElementInScope(nextElement, scope)) && nodeToRestore) {
379
- walker.currentNode = nodeToRestore; // Skip over elements within the scope, in case the scope immediately follows the node to restore.
380
-
381
- do {
382
- nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
383
- } while (isElementInScope(nextElement, scope));
384
-
385
- e.preventDefault();
386
- e.stopPropagation();
387
-
388
- if (nextElement) {
389
- nextElement.focus();
390
- } else {
391
- // If there is no next element, blur the focused element to move focus to the body.
392
- focusedElement.blur();
393
- }
394
- }
395
- };
396
-
397
- if (!contain) {
398
- document.addEventListener('keydown', onKeyDown, true);
399
- }
400
-
401
- return function () {
402
- if (!contain) {
403
- document.removeEventListener('keydown', onKeyDown, true);
404
- }
405
-
406
- if (restoreFocus && nodeToRestore && isElementInScope(document.activeElement, scope)) {
407
- requestAnimationFrame(function () {
408
- if (document.body.contains(nodeToRestore)) {
409
- focusElement(nodeToRestore);
410
- }
411
- });
412
- }
413
- };
414
- }, [scopeRef, restoreFocus, contain]);
415
- }
416
-
417
- function getFocusableTreeWalker(root, opts) {
418
- var selector = opts && opts.tabbable ? TABBABLE_ELEMENT_SELECTOR : FOCUSABLE_ELEMENT_SELECTOR;
419
- var walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
420
- acceptNode: function acceptNode(node) {
421
- // Skip nodes inside the starting node.
422
- if (opts && opts.from && opts.from.contains(node)) {
423
- return NodeFilter.FILTER_REJECT;
424
- }
425
-
426
- if (node.matches(selector)) {
427
- return NodeFilter.FILTER_ACCEPT;
428
- }
429
-
430
- return NodeFilter.FILTER_SKIP;
431
- }
432
- }, false);
433
-
434
- if (opts && opts.from) {
435
- walker.currentNode = opts.from;
436
- }
437
-
438
- return walker;
439
- }
440
-
441
- FocusScope.docs = {
442
- componentGroup: 'Atom'
443
- };