@zohodesk/components 1.0.0-temp-51 → 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 (297) hide show
  1. package/{assets → es}/Appearance/dark/mode/darkMode.module.css +2 -4
  2. package/es/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +34 -0
  3. package/es/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +42 -0
  4. package/{assets → es}/Appearance/dark/themes/green/greenDarkCTATheme.module.css +10 -10
  5. package/es/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +42 -0
  6. package/{assets → es}/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +10 -10
  7. package/es/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +42 -0
  8. package/{assets → es}/Appearance/dark/themes/red/redDarkCTATheme.module.css +10 -10
  9. package/es/Appearance/dark/themes/red/redDarkComponentTheme.module.css +42 -0
  10. package/{assets → es}/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +10 -10
  11. package/es/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +42 -0
  12. package/{assets → es}/Appearance/default/mode/defaultMode.module.css +2 -4
  13. package/{assets → es}/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +0 -0
  14. package/{assets → es}/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +7 -7
  15. package/{assets → es}/Appearance/default/themes/green/greenDefaultCTATheme.module.css +2 -2
  16. package/{assets → es}/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +4 -4
  17. package/{assets → es}/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +0 -0
  18. package/{assets → es}/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -3
  19. package/{assets → es}/Appearance/default/themes/red/redDefaultCTATheme.module.css +7 -7
  20. package/{assets → es}/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -3
  21. package/{assets → es}/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +0 -0
  22. package/{assets → es}/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -3
  23. package/es/Avatar/Avatar.module.css +9 -11
  24. package/es/AvatarTeam/AvatarTeam.module.css +7 -21
  25. package/es/Button/Button.module.css +24 -97
  26. package/es/Buttongroup/Buttongroup.module.css +8 -37
  27. package/es/CheckBox/CheckBox.module.css +11 -17
  28. package/es/DateTime/DateTime.module.css +12 -39
  29. package/es/DateTime/DateWidget.module.css +5 -9
  30. package/es/DateTime/YearView.module.css +6 -16
  31. package/es/DropBox/DropBox.module.css +11 -47
  32. package/es/DropDown/DropDownHeading.module.css +3 -7
  33. package/es/DropDown/DropDownItem.module.css +6 -32
  34. package/es/ListItem/ListItem.module.css +25 -56
  35. package/es/MultiSelect/AdvancedMultiSelect.module.css +8 -22
  36. package/es/MultiSelect/MultiSelect.js +3 -4
  37. package/es/MultiSelect/MultiSelect.module.css +10 -27
  38. package/es/MultiSelect/SelectedOptions.module.css +2 -8
  39. package/es/PopOver/PopOver.module.css +1 -1
  40. package/es/Radio/Radio.module.css +4 -10
  41. package/es/Responsive/sizeObservers.js +1 -8
  42. package/es/Ribbon/Ribbon.module.css +28 -93
  43. package/es/RippleEffect/RippleEffect.module.css +44 -15
  44. package/es/Select/Select.js +3 -4
  45. package/es/Select/Select.module.css +2 -12
  46. package/es/Stencils/Stencils.module.css +3 -21
  47. package/es/Switch/Switch.module.css +7 -6
  48. package/es/Tab/Tab.module.css +7 -16
  49. package/es/Tab/Tabs.module.css +8 -41
  50. package/es/Tag/Tag.module.css +14 -36
  51. package/es/TextBox/TextBox.module.css +11 -7
  52. package/es/TextBoxIcon/TextBoxIcon.module.css +5 -12
  53. package/es/Textarea/Textarea.module.css +7 -6
  54. package/es/Tooltip/Tooltip.module.css +8 -9
  55. package/es/beta/FocusRing/FocusRing.module.css +26 -51
  56. package/es/common/animation.module.css +21 -219
  57. package/es/common/basicReset.module.css +12 -2
  58. package/es/common/common.module.css +18 -62
  59. package/es/common/customscroll.module.css +21 -17
  60. package/es/common/docStyle.module.css +31 -78
  61. package/es/common/transition.module.css +10 -50
  62. package/es/deprecated/Theme/darkTheme.module.css +393 -0
  63. package/es/deprecated/Theme/defaultTheme.module.css +393 -0
  64. package/es/deprecated/Theme/palette/darkCTAPalette.module.css +116 -0
  65. package/es/deprecated/Theme/palette/darkPalette.module.css +155 -0
  66. package/es/deprecated/Theme/palette/defaultCTAPalette.module.css +116 -0
  67. package/es/deprecated/Theme/palette/defaultPalette.module.css +155 -0
  68. package/es/deprecated/customscroll_Old.module.css +46 -0
  69. package/es/semantic/Button/semanticButton.module.css +3 -3
  70. package/package.json +1 -1
  71. package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +0 -34
  72. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +0 -42
  73. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +0 -42
  74. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +0 -42
  75. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +0 -42
  76. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +0 -42
  77. package/lib/Accordion/Accordion.js +0 -146
  78. package/lib/Accordion/AccordionItem.js +0 -124
  79. package/lib/Accordion/__tests__/Accordion.spec.js +0 -85
  80. package/lib/Accordion/index.js +0 -23
  81. package/lib/Animation/Animation.js +0 -206
  82. package/lib/Animation/__tests__/Animation.spec.js +0 -23
  83. package/lib/AppContainer/AppContainer.js +0 -205
  84. package/lib/AppContainer/AppContainer.module.css +0 -18
  85. package/lib/Avatar/Avatar.js +0 -280
  86. package/lib/Avatar/Avatar.module.css +0 -117
  87. package/lib/Avatar/__tests__/Avatar.spec.js +0 -208
  88. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +0 -288
  89. package/lib/AvatarTeam/AvatarTeam.js +0 -157
  90. package/lib/AvatarTeam/AvatarTeam.module.css +0 -161
  91. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -92
  92. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +0 -226
  93. package/lib/Button/Button.js +0 -158
  94. package/lib/Button/Button.module.css +0 -522
  95. package/lib/Button/__tests__/Button.spec.js +0 -233
  96. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  97. package/lib/Buttongroup/Buttongroup.js +0 -101
  98. package/lib/Buttongroup/Buttongroup.module.css +0 -89
  99. package/lib/Buttongroup/__test__/Buttongroup.spec.js +0 -86
  100. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +0 -146
  101. package/lib/Card/Card.js +0 -409
  102. package/lib/Card/Card.module.css +0 -20
  103. package/lib/Card/__tests__/Card.spec.js +0 -56
  104. package/lib/Card/index.js +0 -37
  105. package/lib/CheckBox/CheckBox.js +0 -265
  106. package/lib/CheckBox/CheckBox.module.css +0 -153
  107. package/lib/CheckBox/__tests__/CheckBox.spec.js +0 -18
  108. package/lib/DateTime/CalendarView.js +0 -285
  109. package/lib/DateTime/DateTime.js +0 -889
  110. package/lib/DateTime/DateTime.module.css +0 -188
  111. package/lib/DateTime/DateTimePopupFooter.js +0 -90
  112. package/lib/DateTime/DateTimePopupHeader.js +0 -149
  113. package/lib/DateTime/DateWidget.js +0 -1189
  114. package/lib/DateTime/DateWidget.module.css +0 -42
  115. package/lib/DateTime/DaysRow.js +0 -76
  116. package/lib/DateTime/Time.js +0 -248
  117. package/lib/DateTime/YearView.js +0 -324
  118. package/lib/DateTime/YearView.module.css +0 -80
  119. package/lib/DateTime/__tests__/CalendarView.spec.js +0 -45
  120. package/lib/DateTime/__tests__/DateTime.spec.js +0 -127
  121. package/lib/DateTime/__tests__/DateWidget.spec.js +0 -81
  122. package/lib/DateTime/common.js +0 -36
  123. package/lib/DateTime/constants.js +0 -77
  124. package/lib/DateTime/dateFormatUtils/dateFormat.js +0 -613
  125. package/lib/DateTime/dateFormatUtils/dayChange.js +0 -81
  126. package/lib/DateTime/dateFormatUtils/index.js +0 -274
  127. package/lib/DateTime/dateFormatUtils/monthChange.js +0 -94
  128. package/lib/DateTime/dateFormatUtils/timeChange.js +0 -240
  129. package/lib/DateTime/dateFormatUtils/yearChange.js +0 -119
  130. package/lib/DateTime/index.js +0 -15
  131. package/lib/DateTime/objectUtils.js +0 -76
  132. package/lib/DateTime/typeChecker.js +0 -26
  133. package/lib/DateTime/validator.js +0 -353
  134. package/lib/DropBox/DropBox.js +0 -393
  135. package/lib/DropBox/DropBox.module.css +0 -406
  136. package/lib/DropBox/DropBoxPositionMapping.json +0 -145
  137. package/lib/DropBox/__tests__/DropBox.spec.js +0 -87
  138. package/lib/DropDown/DropDown.js +0 -203
  139. package/lib/DropDown/DropDown.module.css +0 -5
  140. package/lib/DropDown/DropDownHeading.js +0 -102
  141. package/lib/DropDown/DropDownHeading.module.css +0 -53
  142. package/lib/DropDown/DropDownItem.js +0 -139
  143. package/lib/DropDown/DropDownItem.module.css +0 -94
  144. package/lib/DropDown/DropDownSearch.js +0 -132
  145. package/lib/DropDown/DropDownSearch.module.css +0 -14
  146. package/lib/DropDown/DropDownSeparator.js +0 -66
  147. package/lib/DropDown/DropDownSeparator.module.css +0 -7
  148. package/lib/DropDown/__tests__/DropDown.spec.js +0 -50
  149. package/lib/DropDown/__tests__/DropDownItem.spec.js +0 -51
  150. package/lib/DropDown/__tests__/DropDownSearch.spec.js +0 -17
  151. package/lib/Label/Label.js +0 -109
  152. package/lib/Label/Label.module.css +0 -52
  153. package/lib/Label/LabelColors.module.css +0 -21
  154. package/lib/Label/__tests__/Label.spec.js +0 -137
  155. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +0 -101
  156. package/lib/Layout/Box.js +0 -138
  157. package/lib/Layout/Container.js +0 -152
  158. package/lib/Layout/Layout.module.css +0 -324
  159. package/lib/Layout/__tests__/Box.spec.js +0 -121
  160. package/lib/Layout/__tests__/Container.spec.js +0 -127
  161. package/lib/Layout/index.js +0 -34
  162. package/lib/Layout/utils.js +0 -55
  163. package/lib/LightNightMode/Colors.json +0 -398
  164. package/lib/ListItem/ListContainer.js +0 -127
  165. package/lib/ListItem/ListItem.js +0 -227
  166. package/lib/ListItem/ListItem.module.css +0 -199
  167. package/lib/ListItem/ListItemWithAvatar.js +0 -237
  168. package/lib/ListItem/ListItemWithCheckBox.js +0 -205
  169. package/lib/ListItem/ListItemWithIcon.js +0 -229
  170. package/lib/ListItem/ListItemWithRadio.js +0 -208
  171. package/lib/Modal/Modal.js +0 -218
  172. package/lib/Modal/__docs__/Modal__default.docs.js +0 -88
  173. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +0 -1218
  174. package/lib/MultiSelect/AdvancedMultiSelect.js +0 -696
  175. package/lib/MultiSelect/AdvancedMultiSelect.module.css +0 -127
  176. package/lib/MultiSelect/EmptyState.js +0 -132
  177. package/lib/MultiSelect/MultiSelect.js +0 -1235
  178. package/lib/MultiSelect/MultiSelect.module.css +0 -193
  179. package/lib/MultiSelect/MultiSelectHeader.js +0 -86
  180. package/lib/MultiSelect/MultiSelectWithAvatar.js +0 -410
  181. package/lib/MultiSelect/SelectedOptions.js +0 -140
  182. package/lib/MultiSelect/SelectedOptions.module.css +0 -15
  183. package/lib/MultiSelect/Suggestions.js +0 -219
  184. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +0 -170
  185. package/lib/PopOver/PopOver.js +0 -365
  186. package/lib/PopOver/PopOver.module.css +0 -8
  187. package/lib/PopOver/__tests__/PopOver.spec.js +0 -20
  188. package/lib/Popup/Popup.js +0 -719
  189. package/lib/Popup/PositionMapping.json +0 -74
  190. package/lib/Popup/__tests__/Popup.spec.js +0 -192
  191. package/lib/Popup/viewPort.js +0 -368
  192. package/lib/Provider/AvatarSize.js +0 -23
  193. package/lib/Provider/Config.js +0 -25
  194. package/lib/Provider/CssProvider.js +0 -27
  195. package/lib/Provider/IdProvider.js +0 -82
  196. package/lib/Provider/LibraryContext.js +0 -76
  197. package/lib/Provider/LibraryContextInit.js +0 -15
  198. package/lib/Provider/NumberGenerator/NumberGenerator.js +0 -174
  199. package/lib/Provider/ZindexProvider.js +0 -69
  200. package/lib/Provider.js +0 -241
  201. package/lib/Radio/Radio.js +0 -214
  202. package/lib/Radio/Radio.module.css +0 -110
  203. package/lib/Radio/__tests__/Radiospec.js +0 -29
  204. package/lib/Responsive/CustomResponsive.js +0 -246
  205. package/lib/Responsive/RefWrapper.js +0 -55
  206. package/lib/Responsive/ResizeComponent.js +0 -268
  207. package/lib/Responsive/ResizeObserver.js +0 -168
  208. package/lib/Responsive/Responsive.js +0 -281
  209. package/lib/Responsive/index.js +0 -30
  210. package/lib/Responsive/sizeObservers.js +0 -214
  211. package/lib/Responsive/utils/index.js +0 -70
  212. package/lib/Responsive/utils/shallowCompare.js +0 -38
  213. package/lib/Responsive/windowResizeObserver.js +0 -63
  214. package/lib/Ribbon/Ribbon.js +0 -115
  215. package/lib/Ribbon/Ribbon.module.css +0 -377
  216. package/lib/Ribbon/__tests__/Ribbon.spec.js +0 -193
  217. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +0 -163
  218. package/lib/RippleEffect/RippleEffect.js +0 -61
  219. package/lib/RippleEffect/RippleEffect.module.css +0 -70
  220. package/lib/Select/GroupSelect.js +0 -944
  221. package/lib/Select/Select.js +0 -1078
  222. package/lib/Select/Select.module.css +0 -100
  223. package/lib/Select/SelectWithAvatar.js +0 -433
  224. package/lib/Select/SelectWithIcon.js +0 -556
  225. package/lib/Select/__tests__/Select.spec.js +0 -383
  226. package/lib/Stencils/Stencils.js +0 -93
  227. package/lib/Stencils/Stencils.module.css +0 -96
  228. package/lib/Stencils/__tests__/Stencils.spec.js +0 -84
  229. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +0 -49
  230. package/lib/Switch/Switch.js +0 -183
  231. package/lib/Switch/Switch.module.css +0 -110
  232. package/lib/Tab/Tab.js +0 -158
  233. package/lib/Tab/Tab.module.css +0 -101
  234. package/lib/Tab/TabContent.js +0 -45
  235. package/lib/Tab/TabContent.module.css +0 -4
  236. package/lib/Tab/TabContentWrapper.js +0 -47
  237. package/lib/Tab/TabWrapper.js +0 -109
  238. package/lib/Tab/Tabs.js +0 -696
  239. package/lib/Tab/Tabs.module.css +0 -140
  240. package/lib/Tab/__tests__/Tab.spec.js +0 -130
  241. package/lib/Tab/__tests__/TabContent.spec.js +0 -22
  242. package/lib/Tab/__tests__/TabContentWrapper.spec.js +0 -59
  243. package/lib/Tab/__tests__/TabWrapper.spec.js +0 -100
  244. package/lib/Tab/__tests__/Tabs.spec.js +0 -123
  245. package/lib/Tab/index.js +0 -47
  246. package/lib/Tag/Tag.js +0 -252
  247. package/lib/Tag/Tag.module.css +0 -251
  248. package/lib/Tag/__tests__/Tag.spec.js +0 -35
  249. package/lib/TextBox/TextBox.js +0 -289
  250. package/lib/TextBox/TextBox.module.css +0 -157
  251. package/lib/TextBox/__tests__/TextBox.spec.js +0 -205
  252. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +0 -127
  253. package/lib/TextBoxIcon/TextBoxIcon.js +0 -284
  254. package/lib/TextBoxIcon/TextBoxIcon.module.css +0 -78
  255. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +0 -228
  256. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +0 -334
  257. package/lib/Textarea/Textarea.js +0 -202
  258. package/lib/Textarea/Textarea.module.css +0 -139
  259. package/lib/Textarea/__tests__/Textarea.spec.js +0 -186
  260. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +0 -97
  261. package/lib/Tooltip/Tooltip.js +0 -538
  262. package/lib/Tooltip/Tooltip.module.css +0 -104
  263. package/lib/Tooltip/__tests__/Tooltip.spec.js +0 -98
  264. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -146
  265. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +0 -190
  266. package/lib/a11y/FocusScope/FocusScope.js +0 -443
  267. package/lib/beta/FocusRing/FocusRing.js +0 -338
  268. package/lib/beta/FocusRing/FocusRing.module.css +0 -152
  269. package/lib/common/animation.module.css +0 -624
  270. package/lib/common/avatarsizes.module.css +0 -45
  271. package/lib/common/basic.module.css +0 -33
  272. package/lib/common/basicReset.module.css +0 -40
  273. package/lib/common/common.module.css +0 -502
  274. package/lib/common/customscroll.module.css +0 -89
  275. package/lib/common/docStyle.module.css +0 -762
  276. package/lib/common/reset.module.css +0 -12
  277. package/lib/common/transition.module.css +0 -146
  278. package/lib/css.js +0 -83
  279. package/lib/deprecated/PortalLayer/PortalLayer.js +0 -165
  280. package/lib/index.js +0 -1412
  281. package/lib/semantic/Button/Button.js +0 -138
  282. package/lib/semantic/Button/semanticButton.module.css +0 -9
  283. package/lib/utils/Common.js +0 -457
  284. package/lib/utils/ContextOptimizer.js +0 -49
  285. package/lib/utils/__tests__/constructFullName.spec.js +0 -12
  286. package/lib/utils/__tests__/debounce.spec.js +0 -40
  287. package/lib/utils/__tests__/getInitial.spec.js +0 -26
  288. package/lib/utils/constant.js +0 -10
  289. package/lib/utils/constructFullName.js +0 -34
  290. package/lib/utils/datetime/common.js +0 -233
  291. package/lib/utils/debounce.js +0 -30
  292. package/lib/utils/dropDownUtils.js +0 -608
  293. package/lib/utils/dummyFunction.js +0 -10
  294. package/lib/utils/getHTMLFontSize.js +0 -11
  295. package/lib/utils/getInitial.js +0 -33
  296. package/lib/utils/scrollTo.js +0 -22
  297. 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
- };