@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.
- package/README.md +4 -0
- package/{assets → es}/Appearance/dark/mode/darkMode.module.css +2 -4
- package/es/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +34 -0
- package/es/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +42 -0
- package/{assets → es}/Appearance/dark/themes/green/greenDarkCTATheme.module.css +10 -10
- package/es/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +42 -0
- package/{assets → es}/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +10 -10
- package/es/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +42 -0
- package/{assets → es}/Appearance/dark/themes/red/redDarkCTATheme.module.css +10 -10
- package/es/Appearance/dark/themes/red/redDarkComponentTheme.module.css +42 -0
- package/{assets → es}/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +10 -10
- package/es/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +42 -0
- package/{assets → es}/Appearance/default/mode/defaultMode.module.css +2 -4
- package/{assets → es}/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +0 -0
- package/{assets → es}/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +7 -7
- package/{assets → es}/Appearance/default/themes/green/greenDefaultCTATheme.module.css +2 -2
- package/{assets → es}/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +4 -4
- package/{assets → es}/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +0 -0
- package/{assets → es}/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -3
- package/{assets → es}/Appearance/default/themes/red/redDefaultCTATheme.module.css +7 -7
- package/{assets → es}/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -3
- package/{assets → es}/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +0 -0
- package/{assets → es}/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -3
- package/es/Avatar/Avatar.js +1 -1
- package/es/Avatar/Avatar.module.css +9 -11
- package/es/AvatarTeam/AvatarTeam.module.css +7 -21
- package/es/Button/Button.js +5 -10
- package/es/Button/Button.module.css +24 -97
- package/es/Buttongroup/Buttongroup.module.css +8 -37
- package/es/CheckBox/CheckBox.module.css +11 -17
- package/es/DateTime/DateTime.module.css +12 -39
- package/es/DateTime/DateWidget.module.css +5 -9
- package/es/DateTime/YearView.module.css +6 -16
- package/es/DropBox/DropBox.module.css +11 -47
- package/es/DropDown/DropDownHeading.module.css +3 -7
- package/es/DropDown/DropDownItem.module.css +6 -32
- package/es/ListItem/ListItem.module.css +24 -56
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +1 -1
- package/es/MultiSelect/AdvancedMultiSelect.js +1 -1
- package/es/MultiSelect/AdvancedMultiSelect.module.css +8 -22
- package/es/MultiSelect/MultiSelect.js +4 -5
- package/es/MultiSelect/MultiSelect.module.css +10 -27
- package/es/MultiSelect/MultiSelectWithAvatar.js +1 -1
- package/es/MultiSelect/SelectedOptions.module.css +2 -8
- package/es/PopOver/PopOver.module.css +1 -1
- package/es/Radio/Radio.module.css +4 -10
- package/es/Ribbon/Ribbon.module.css +28 -93
- package/es/RippleEffect/RippleEffect.module.css +44 -15
- package/es/Select/GroupSelect.js +1 -1
- package/es/Select/Select.js +4 -5
- package/es/Select/Select.module.css +2 -12
- package/es/Select/SelectWithAvatar.js +1 -1
- package/es/Select/SelectWithIcon.js +1 -1
- package/es/Stencils/Stencils.module.css +3 -21
- package/es/Switch/Switch.module.css +7 -6
- package/es/Tab/Tab.module.css +7 -16
- package/es/Tab/Tabs.module.css +8 -41
- package/es/Tag/Tag.module.css +14 -36
- package/es/TextBox/TextBox.module.css +11 -7
- package/es/TextBoxIcon/TextBoxIcon.js +1 -1
- package/es/TextBoxIcon/TextBoxIcon.module.css +5 -12
- package/es/Textarea/Textarea.module.css +7 -6
- package/es/Tooltip/Tooltip.module.css +8 -9
- package/es/beta/FocusRing/FocusRing.module.css +26 -51
- package/es/common/animation.module.css +21 -219
- package/es/common/basicReset.module.css +12 -2
- package/es/common/common.module.css +18 -62
- package/es/common/customscroll.module.css +21 -17
- package/es/common/docStyle.module.css +31 -78
- package/es/common/transition.module.css +10 -50
- package/es/deprecated/Theme/darkTheme.module.css +393 -0
- package/es/deprecated/Theme/defaultTheme.module.css +393 -0
- package/es/deprecated/Theme/palette/darkCTAPalette.module.css +116 -0
- package/es/deprecated/Theme/palette/darkPalette.module.css +155 -0
- package/es/deprecated/Theme/palette/defaultCTAPalette.module.css +116 -0
- package/es/deprecated/Theme/palette/defaultPalette.module.css +155 -0
- package/es/deprecated/customscroll_Old.module.css +46 -0
- package/es/semantic/Button/semanticButton.module.css +3 -3
- package/package.json +1 -1
- package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +0 -34
- package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +0 -42
- package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +0 -42
- package/lib/Accordion/Accordion.js +0 -146
- package/lib/Accordion/AccordionItem.js +0 -124
- package/lib/Accordion/__tests__/Accordion.spec.js +0 -85
- package/lib/Accordion/index.js +0 -23
- package/lib/Animation/Animation.js +0 -206
- package/lib/Animation/__tests__/Animation.spec.js +0 -23
- package/lib/AppContainer/AppContainer.js +0 -205
- package/lib/AppContainer/AppContainer.module.css +0 -18
- package/lib/Avatar/Avatar.js +0 -280
- package/lib/Avatar/Avatar.module.css +0 -117
- package/lib/Avatar/__tests__/Avatar.spec.js +0 -208
- package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +0 -288
- package/lib/AvatarTeam/AvatarTeam.js +0 -157
- package/lib/AvatarTeam/AvatarTeam.module.css +0 -161
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -92
- package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +0 -226
- package/lib/Button/Button.js +0 -163
- package/lib/Button/Button.module.css +0 -522
- package/lib/Button/__tests__/Button.spec.js +0 -233
- package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
- package/lib/Buttongroup/Buttongroup.js +0 -101
- package/lib/Buttongroup/Buttongroup.module.css +0 -89
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +0 -86
- package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +0 -146
- package/lib/Card/Card.js +0 -409
- package/lib/Card/Card.module.css +0 -20
- package/lib/Card/__tests__/Card.spec.js +0 -56
- package/lib/Card/index.js +0 -37
- package/lib/CheckBox/CheckBox.js +0 -265
- package/lib/CheckBox/CheckBox.module.css +0 -153
- package/lib/CheckBox/__tests__/CheckBox.spec.js +0 -18
- package/lib/DateTime/CalendarView.js +0 -285
- package/lib/DateTime/DateTime.js +0 -889
- package/lib/DateTime/DateTime.module.css +0 -188
- package/lib/DateTime/DateTimePopupFooter.js +0 -90
- package/lib/DateTime/DateTimePopupHeader.js +0 -149
- package/lib/DateTime/DateWidget.js +0 -1189
- package/lib/DateTime/DateWidget.module.css +0 -42
- package/lib/DateTime/DaysRow.js +0 -76
- package/lib/DateTime/Time.js +0 -248
- package/lib/DateTime/YearView.js +0 -324
- package/lib/DateTime/YearView.module.css +0 -80
- package/lib/DateTime/__tests__/CalendarView.spec.js +0 -45
- package/lib/DateTime/__tests__/DateTime.spec.js +0 -127
- package/lib/DateTime/__tests__/DateWidget.spec.js +0 -81
- package/lib/DateTime/common.js +0 -36
- package/lib/DateTime/constants.js +0 -77
- package/lib/DateTime/dateFormatUtils/dateFormat.js +0 -613
- package/lib/DateTime/dateFormatUtils/dayChange.js +0 -81
- package/lib/DateTime/dateFormatUtils/index.js +0 -274
- package/lib/DateTime/dateFormatUtils/monthChange.js +0 -94
- package/lib/DateTime/dateFormatUtils/timeChange.js +0 -240
- package/lib/DateTime/dateFormatUtils/yearChange.js +0 -119
- package/lib/DateTime/index.js +0 -15
- package/lib/DateTime/objectUtils.js +0 -76
- package/lib/DateTime/typeChecker.js +0 -26
- package/lib/DateTime/validator.js +0 -353
- package/lib/DropBox/DropBox.js +0 -393
- package/lib/DropBox/DropBox.module.css +0 -406
- package/lib/DropBox/DropBoxPositionMapping.json +0 -145
- package/lib/DropBox/__tests__/DropBox.spec.js +0 -87
- package/lib/DropDown/DropDown.js +0 -203
- package/lib/DropDown/DropDown.module.css +0 -5
- package/lib/DropDown/DropDownHeading.js +0 -102
- package/lib/DropDown/DropDownHeading.module.css +0 -53
- package/lib/DropDown/DropDownItem.js +0 -139
- package/lib/DropDown/DropDownItem.module.css +0 -94
- package/lib/DropDown/DropDownSearch.js +0 -132
- package/lib/DropDown/DropDownSearch.module.css +0 -14
- package/lib/DropDown/DropDownSeparator.js +0 -66
- package/lib/DropDown/DropDownSeparator.module.css +0 -7
- package/lib/DropDown/__tests__/DropDown.spec.js +0 -50
- package/lib/DropDown/__tests__/DropDownItem.spec.js +0 -51
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +0 -17
- package/lib/Label/Label.js +0 -109
- package/lib/Label/Label.module.css +0 -52
- package/lib/Label/LabelColors.module.css +0 -21
- package/lib/Label/__tests__/Label.spec.js +0 -137
- package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +0 -101
- package/lib/Layout/Box.js +0 -138
- package/lib/Layout/Container.js +0 -152
- package/lib/Layout/Layout.module.css +0 -324
- package/lib/Layout/__tests__/Box.spec.js +0 -121
- package/lib/Layout/__tests__/Container.spec.js +0 -127
- package/lib/Layout/index.js +0 -34
- package/lib/Layout/utils.js +0 -55
- package/lib/LightNightMode/Colors.json +0 -398
- package/lib/ListItem/ListContainer.js +0 -127
- package/lib/ListItem/ListItem.js +0 -227
- package/lib/ListItem/ListItem.module.css +0 -200
- package/lib/ListItem/ListItemWithAvatar.js +0 -237
- package/lib/ListItem/ListItemWithCheckBox.js +0 -205
- package/lib/ListItem/ListItemWithIcon.js +0 -229
- package/lib/ListItem/ListItemWithRadio.js +0 -208
- package/lib/Modal/Modal.js +0 -218
- package/lib/Modal/__docs__/Modal__default.docs.js +0 -88
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +0 -1218
- package/lib/MultiSelect/AdvancedMultiSelect.js +0 -696
- package/lib/MultiSelect/AdvancedMultiSelect.module.css +0 -127
- package/lib/MultiSelect/EmptyState.js +0 -132
- package/lib/MultiSelect/MultiSelect.js +0 -1235
- package/lib/MultiSelect/MultiSelect.module.css +0 -193
- package/lib/MultiSelect/MultiSelectHeader.js +0 -86
- package/lib/MultiSelect/MultiSelectWithAvatar.js +0 -410
- package/lib/MultiSelect/SelectedOptions.js +0 -140
- package/lib/MultiSelect/SelectedOptions.module.css +0 -15
- package/lib/MultiSelect/Suggestions.js +0 -219
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +0 -170
- package/lib/PopOver/PopOver.js +0 -365
- package/lib/PopOver/PopOver.module.css +0 -8
- package/lib/PopOver/__tests__/PopOver.spec.js +0 -20
- package/lib/Popup/Popup.js +0 -719
- package/lib/Popup/PositionMapping.json +0 -74
- package/lib/Popup/__tests__/Popup.spec.js +0 -192
- package/lib/Popup/viewPort.js +0 -368
- package/lib/Provider/AvatarSize.js +0 -23
- package/lib/Provider/Config.js +0 -25
- package/lib/Provider/CssProvider.js +0 -27
- package/lib/Provider/IdProvider.js +0 -82
- package/lib/Provider/LibraryContext.js +0 -76
- package/lib/Provider/LibraryContextInit.js +0 -15
- package/lib/Provider/NumberGenerator/NumberGenerator.js +0 -174
- package/lib/Provider/ZindexProvider.js +0 -69
- package/lib/Provider.js +0 -241
- package/lib/Radio/Radio.js +0 -214
- package/lib/Radio/Radio.module.css +0 -110
- package/lib/Radio/__tests__/Radiospec.js +0 -29
- package/lib/Responsive/CustomResponsive.js +0 -246
- package/lib/Responsive/RefWrapper.js +0 -55
- package/lib/Responsive/ResizeComponent.js +0 -268
- package/lib/Responsive/ResizeObserver.js +0 -168
- package/lib/Responsive/Responsive.js +0 -281
- package/lib/Responsive/index.js +0 -30
- package/lib/Responsive/sizeObservers.js +0 -207
- package/lib/Responsive/utils/index.js +0 -70
- package/lib/Responsive/utils/shallowCompare.js +0 -38
- package/lib/Responsive/windowResizeObserver.js +0 -63
- package/lib/Ribbon/Ribbon.js +0 -115
- package/lib/Ribbon/Ribbon.module.css +0 -377
- package/lib/Ribbon/__tests__/Ribbon.spec.js +0 -193
- package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +0 -163
- package/lib/RippleEffect/RippleEffect.js +0 -61
- package/lib/RippleEffect/RippleEffect.module.css +0 -70
- package/lib/Select/GroupSelect.js +0 -944
- package/lib/Select/Select.js +0 -1078
- package/lib/Select/Select.module.css +0 -100
- package/lib/Select/SelectWithAvatar.js +0 -433
- package/lib/Select/SelectWithIcon.js +0 -556
- package/lib/Select/__tests__/Select.spec.js +0 -383
- package/lib/Stencils/Stencils.js +0 -93
- package/lib/Stencils/Stencils.module.css +0 -96
- package/lib/Stencils/__tests__/Stencils.spec.js +0 -84
- package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +0 -49
- package/lib/Switch/Switch.js +0 -183
- package/lib/Switch/Switch.module.css +0 -110
- package/lib/Tab/Tab.js +0 -158
- package/lib/Tab/Tab.module.css +0 -101
- package/lib/Tab/TabContent.js +0 -45
- package/lib/Tab/TabContent.module.css +0 -4
- package/lib/Tab/TabContentWrapper.js +0 -47
- package/lib/Tab/TabWrapper.js +0 -109
- package/lib/Tab/Tabs.js +0 -696
- package/lib/Tab/Tabs.module.css +0 -140
- package/lib/Tab/__tests__/Tab.spec.js +0 -130
- package/lib/Tab/__tests__/TabContent.spec.js +0 -22
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +0 -59
- package/lib/Tab/__tests__/TabWrapper.spec.js +0 -100
- package/lib/Tab/__tests__/Tabs.spec.js +0 -123
- package/lib/Tab/index.js +0 -47
- package/lib/Tag/Tag.js +0 -252
- package/lib/Tag/Tag.module.css +0 -251
- package/lib/Tag/__tests__/Tag.spec.js +0 -35
- package/lib/TextBox/TextBox.js +0 -289
- package/lib/TextBox/TextBox.module.css +0 -157
- package/lib/TextBox/__tests__/TextBox.spec.js +0 -205
- package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +0 -127
- package/lib/TextBoxIcon/TextBoxIcon.js +0 -284
- package/lib/TextBoxIcon/TextBoxIcon.module.css +0 -78
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +0 -228
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +0 -334
- package/lib/Textarea/Textarea.js +0 -202
- package/lib/Textarea/Textarea.module.css +0 -139
- package/lib/Textarea/__tests__/Textarea.spec.js +0 -186
- package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +0 -97
- package/lib/Tooltip/Tooltip.js +0 -538
- package/lib/Tooltip/Tooltip.module.css +0 -104
- package/lib/Tooltip/__tests__/Tooltip.spec.js +0 -98
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -146
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +0 -190
- package/lib/a11y/FocusScope/FocusScope.js +0 -443
- package/lib/beta/FocusRing/FocusRing.js +0 -338
- package/lib/beta/FocusRing/FocusRing.module.css +0 -152
- package/lib/common/animation.module.css +0 -624
- package/lib/common/avatarsizes.module.css +0 -45
- package/lib/common/basic.module.css +0 -33
- package/lib/common/basicReset.module.css +0 -40
- package/lib/common/common.module.css +0 -502
- package/lib/common/customscroll.module.css +0 -89
- package/lib/common/docStyle.module.css +0 -762
- package/lib/common/reset.module.css +0 -12
- package/lib/common/transition.module.css +0 -146
- package/lib/css.js +0 -83
- package/lib/deprecated/PortalLayer/PortalLayer.js +0 -165
- package/lib/index.js +0 -1412
- package/lib/semantic/Button/Button.js +0 -138
- package/lib/semantic/Button/semanticButton.module.css +0 -9
- package/lib/utils/Common.js +0 -457
- package/lib/utils/ContextOptimizer.js +0 -49
- package/lib/utils/__tests__/constructFullName.spec.js +0 -12
- package/lib/utils/__tests__/debounce.spec.js +0 -40
- package/lib/utils/__tests__/getInitial.spec.js +0 -26
- package/lib/utils/constant.js +0 -10
- package/lib/utils/constructFullName.js +0 -34
- package/lib/utils/datetime/common.js +0 -233
- package/lib/utils/debounce.js +0 -30
- package/lib/utils/dropDownUtils.js +0 -608
- package/lib/utils/dummyFunction.js +0 -10
- package/lib/utils/getHTMLFontSize.js +0 -11
- package/lib/utils/getInitial.js +0 -33
- package/lib/utils/scrollTo.js +0 -22
- 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
|
-
};
|