@servicetitan/design-system 13.4.0 → 14.0.0
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/dist/components/ActionMenu/ActionMenu.css +29 -21
- package/dist/components/ActionMenu/ActionMenu.css.map +1 -1
- package/dist/components/ActionMenu/ActionMenu.d.ts +8 -2
- package/dist/components/ActionMenu/ActionMenu.js +46 -3
- package/dist/components/ActionMenu/ActionMenu.js.map +1 -1
- package/dist/components/ActionMenu/ActionMenu.stories.d.ts +39 -0
- package/dist/components/ActionMenu/ActionMenu.stories.js +249 -0
- package/dist/components/ActionMenu/ActionMenu.stories.js.map +1 -0
- package/dist/components/ActionMenu/ActionMenu.test.js.map +1 -1
- package/dist/components/ActionMenu/ActionMenuGroup.js.map +1 -1
- package/dist/components/ActionMenu/ActionMenuItem.js +2 -5
- package/dist/components/ActionMenu/ActionMenuItem.js.map +1 -1
- package/dist/components/ActionMenu/index.css +29 -21
- package/dist/components/ActionMenu/index.css.map +1 -1
- package/dist/components/ActionMenu/index.js.map +1 -1
- package/dist/components/ActionMenu/useLatestEvent.d.ts +2 -0
- package/dist/components/ActionMenu/useLatestEvent.js +20 -0
- package/dist/components/ActionMenu/useLatestEvent.js.map +1 -0
- package/dist/components/Announcement/Announcement.js.map +1 -1
- package/dist/components/Announcement/Announcement.test.js.map +1 -1
- package/dist/components/Announcement/index.js.map +1 -1
- package/dist/components/AnvilSelect/AnvilSelect.d.ts +2 -1
- package/dist/components/AnvilSelect/AnvilSelect.js +17 -41
- package/dist/components/AnvilSelect/AnvilSelect.js.map +1 -1
- package/dist/components/AnvilSelect/AnvilSelect.test.js.map +1 -1
- package/dist/components/AnvilSelect/components/DrillIn.js.map +1 -1
- package/dist/components/AnvilSelect/components/FocusProvider.d.ts +2 -1
- package/dist/components/AnvilSelect/components/FocusProvider.js.map +1 -1
- package/dist/components/AnvilSelect/components/SelectFooter.js +6 -6
- package/dist/components/AnvilSelect/components/SelectFooter.js.map +1 -1
- package/dist/components/AnvilSelect/components/SelectHeader.js.map +1 -1
- package/dist/components/AnvilSelect/components/SelectOptions.js.map +1 -1
- package/dist/components/AnvilSelect/components/Tree.js.map +1 -1
- package/dist/components/AnvilSelect/components/Trigger.js +2 -0
- package/dist/components/AnvilSelect/components/Trigger.js.map +1 -1
- package/dist/components/AnvilSelect/components/index.js.map +1 -1
- package/dist/components/AnvilSelect/index.js.map +1 -1
- package/dist/components/AnvilSelect/utils/FocusActionType.js.map +1 -1
- package/dist/components/AnvilSelect/utils/FocusContext.js.map +1 -1
- package/dist/components/AnvilSelect/utils/FooterAction.js.map +1 -1
- package/dist/components/AnvilSelect/utils/focus-utils.d.ts +0 -3
- package/dist/components/AnvilSelect/utils/focus-utils.js +1 -19
- package/dist/components/AnvilSelect/utils/focus-utils.js.map +1 -1
- package/dist/components/AnvilSelect/utils/index.js.map +1 -1
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/Avatar.test.js.map +1 -1
- package/dist/components/Avatar/index.js.map +1 -1
- package/dist/components/BackLink/BackLink.js.map +1 -1
- package/dist/components/BackLink/BackLink.test.js.map +1 -1
- package/dist/components/BackLink/index.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.js.map +1 -1
- package/dist/components/Backdrop/Backdrop.test.js.map +1 -1
- package/dist/components/Backdrop/index.js.map +1 -1
- package/dist/components/Banner/Banner.js.map +1 -1
- package/dist/components/Banner/Banner.test.js.map +1 -1
- package/dist/components/Banner/index.js.map +1 -1
- package/dist/components/BodyText/BodyText.js +2 -2
- package/dist/components/BodyText/BodyText.js.map +1 -1
- package/dist/components/BodyText/BodyText.test.js.map +1 -1
- package/dist/components/BodyText/index.js.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink.js.map +1 -1
- package/dist/components/Breadcrumb/BreadcrumbLink.test.js.map +1 -1
- package/dist/components/Breadcrumb/index.js.map +1 -1
- package/dist/components/BreakPoint/BreakPoint.d.ts +2 -1
- package/dist/components/BreakPoint/BreakPoint.js.map +1 -1
- package/dist/components/BreakPoint/BreakPoint.test.js.map +1 -1
- package/dist/components/BreakPoint/index.js.map +1 -1
- package/dist/components/Button/Button.js +2 -10
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Button/Button.test.js.map +1 -1
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroup.test.js.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroupItem.js.map +1 -1
- package/dist/components/ButtonGroup/index.js.map +1 -1
- package/dist/components/ButtonToggle/ButtonToggle.d.ts +1 -1
- package/dist/components/ButtonToggle/ButtonToggle.js +11 -1
- package/dist/components/ButtonToggle/ButtonToggle.js.map +1 -1
- package/dist/components/ButtonToggle/ButtonToggle.test.js.map +1 -1
- package/dist/components/ButtonToggle/ButtonToggleItem.js +1 -1
- package/dist/components/ButtonToggle/ButtonToggleItem.js.map +1 -1
- package/dist/components/ButtonToggle/index.js.map +1 -1
- package/dist/components/Card/Card.js.map +1 -1
- package/dist/components/Card/Card.test.js.map +1 -1
- package/dist/components/Card/CardSection.js.map +1 -1
- package/dist/components/Card/index.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.test.js.map +1 -1
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.js +1 -1
- package/dist/components/Collapsible/Collapsible.js.map +1 -1
- package/dist/components/Collapsible/Collapsible.test.js.map +1 -1
- package/dist/components/Collapsible/index.js.map +1 -1
- package/dist/components/ColorPicker/ColorPicker.css +6 -4
- package/dist/components/ColorPicker/ColorPicker.css.map +1 -1
- package/dist/components/ColorPicker/ColorPicker.d.ts +1 -7
- package/dist/components/ColorPicker/ColorPicker.js +14 -27
- package/dist/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/components/ColorPicker/ColorPicker.test.js.map +1 -1
- package/dist/components/ColorPicker/index.css +6 -4
- package/dist/components/ColorPicker/index.css.map +1 -1
- package/dist/components/ColorPicker/index.js.map +1 -1
- package/dist/components/Container/Container.js.map +1 -1
- package/dist/components/Container/index.js.map +1 -1
- package/dist/components/DataList/DataList.js +3 -3
- package/dist/components/DataList/DataList.js.map +1 -1
- package/dist/components/DataList/DataList.test.js.map +1 -1
- package/dist/components/DataList/DataListCell.d.ts +6 -4
- package/dist/components/DataList/DataListCell.js +2 -3
- package/dist/components/DataList/DataListCell.js.map +1 -1
- package/dist/components/DataList/DataListHeaderCell.d.ts +4 -2
- package/dist/components/DataList/DataListHeaderCell.js +2 -3
- package/dist/components/DataList/DataListHeaderCell.js.map +1 -1
- package/dist/components/DataList/DataListHeaderRow.js.map +1 -1
- package/dist/components/DataList/DataListRow.js.map +1 -1
- package/dist/components/DataList/index.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +1 -1
- package/dist/components/DatePicker/DatePicker.js +9 -6
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.test.js.map +1 -1
- package/dist/components/DatePicker/InputDateMask.js +2 -2
- package/dist/components/DatePicker/InputDateMask.js.map +1 -1
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/DatePicker/utils/expandMaskUtils.js.map +1 -1
- package/dist/components/DatePicker/utils/expandMaskUtils.test.js.map +1 -1
- package/dist/components/DatePicker/utils/maskUtils.js.map +1 -1
- package/dist/components/DatePicker/utils/utils.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +7 -2
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.test.js.map +1 -1
- package/dist/components/DateRangePicker/components/DateRangeInput.js +1 -1
- package/dist/components/DateRangePicker/components/DateRangeInput.js.map +1 -1
- package/dist/components/DateRangePicker/components/DateRangeOptionList.js.map +1 -1
- package/dist/components/DateRangePicker/components/DateRangeTrigger.js.map +1 -1
- package/dist/components/DateRangePicker/components/index.js.map +1 -1
- package/dist/components/DateRangePicker/index.js.map +1 -1
- package/dist/components/DateRangePicker/utils/checkScope.js.map +1 -1
- package/dist/components/DateRangePicker/utils/index.js.map +1 -1
- package/dist/components/Dialog/Dialog.d.ts +1 -0
- package/dist/components/Dialog/Dialog.js.map +1 -1
- package/dist/components/Dialog/Dialog.test.js.map +1 -1
- package/dist/components/Dialog/index.js.map +1 -1
- package/dist/components/Divider/Divider.js.map +1 -1
- package/dist/components/Divider/Divider.test.js.map +1 -1
- package/dist/components/Divider/index.js.map +1 -1
- package/dist/components/Drawer/Drawer.d.ts +1 -0
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/Drawer.test.js.map +1 -1
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts +2 -1
- package/dist/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/Dropdown/DropdownIcon.js.map +1 -1
- package/dist/components/Dropdown/index.js.map +1 -1
- package/dist/components/Eyebrow/Eyebrow.js.map +1 -1
- package/dist/components/Eyebrow/Eyebrow.test.js.map +1 -1
- package/dist/components/Eyebrow/index.js.map +1 -1
- package/dist/components/FilePicker/FilePicker.js.map +1 -1
- package/dist/components/FilePicker/FilePicker.test.js.map +1 -1
- package/dist/components/FilePicker/index.js.map +1 -1
- package/dist/components/FilterButton/FilterButton.js.map +1 -1
- package/dist/components/FilterButton/FilterButton.test.js.map +1 -1
- package/dist/components/FilterButton/index.js.map +1 -1
- package/dist/components/FlowCard/FlowCard.d.ts +2 -1
- package/dist/components/FlowCard/FlowCard.js.map +1 -1
- package/dist/components/FlowCard/FlowCard.test.js.map +1 -1
- package/dist/components/FlowCard/FlowCardStep.js.map +1 -1
- package/dist/components/FlowCard/index.js.map +1 -1
- package/dist/components/Form/Form.js.map +1 -1
- package/dist/components/Form/Form.test.js.map +1 -1
- package/dist/components/Form/index.js.map +1 -1
- package/dist/components/FormControls/FormAnvilSelect.js.map +1 -1
- package/dist/components/FormControls/FormButton.js.map +1 -1
- package/dist/components/FormControls/FormButtonToggle.js.map +1 -1
- package/dist/components/FormControls/FormCheckbox.js.map +1 -1
- package/dist/components/FormControls/FormColorPicker.js.map +1 -1
- package/dist/components/FormControls/FormDatePicker.js.map +1 -1
- package/dist/components/FormControls/FormDateRangePicker.js.map +1 -1
- package/dist/components/FormControls/FormDropdown.js.map +1 -1
- package/dist/components/FormControls/FormInput.d.ts +1 -1
- package/dist/components/FormControls/FormInput.js.map +1 -1
- package/dist/components/FormControls/FormRadio.js.map +1 -1
- package/dist/components/FormControls/FormSelect.js.map +1 -1
- package/dist/components/FormControls/FormTextArea.js.map +1 -1
- package/dist/components/FormControls/FormTimePicker.js.map +1 -1
- package/dist/components/FormControls/FormToggleSwitch.js.map +1 -1
- package/dist/components/FormControls/FormTogglebox.js.map +1 -1
- package/dist/components/FormControls/index.js.map +1 -1
- package/dist/components/FormField/FormField.js +8 -6
- package/dist/components/FormField/FormField.js.map +1 -1
- package/dist/components/FormField/FormField.test.js.map +1 -1
- package/dist/components/FormField/FormFieldContext.js.map +1 -1
- package/dist/components/FormField/index.js.map +1 -1
- package/dist/components/FormGroup/FormGroup.js.map +1 -1
- package/dist/components/FormGroup/FormGroup.test.js.map +1 -1
- package/dist/components/FormGroup/index.js.map +1 -1
- package/dist/components/Frame/Frame.js.map +1 -1
- package/dist/components/Frame/Frame.test.js.map +1 -1
- package/dist/components/Frame/index.js.map +1 -1
- package/dist/components/Grid/Grid.js.map +1 -1
- package/dist/components/Grid/Grid.test.js.map +1 -1
- package/dist/components/Grid/GridColumn.js.map +1 -1
- package/dist/components/Grid/GridRow.js.map +1 -1
- package/dist/components/Grid/index.js.map +1 -1
- package/dist/components/Headline/Headline.js.map +1 -1
- package/dist/components/Headline/Headline.test.js.map +1 -1
- package/dist/components/Headline/index.js.map +1 -1
- package/dist/components/Icon/Icon.js.map +1 -1
- package/dist/components/Icon/Icon.test.js.map +1 -1
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/InlineEdit/InlineEdit.js.map +1 -1
- package/dist/components/InlineEdit/InlineEdit.test.js.map +1 -1
- package/dist/components/InlineEdit/index.js.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -0
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/Input/Input.test.js.map +1 -1
- package/dist/components/Input/InputAddon.js.map +1 -1
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/Input/inputProps.js.map +1 -1
- package/dist/components/KeyPressListener/KeyPressListener.js.map +1 -1
- package/dist/components/KeyPressListener/index.js.map +1 -1
- package/dist/components/Label/Label.js.map +1 -1
- package/dist/components/Label/index.js.map +1 -1
- package/dist/components/Layout/Layout.js.map +1 -1
- package/dist/components/Layout/Layout.test.js.map +1 -1
- package/dist/components/Layout/LayoutSection.js.map +1 -1
- package/dist/components/Layout/index.js.map +1 -1
- package/dist/components/Link/Link.js.map +1 -1
- package/dist/components/Link/Link.test.js.map +1 -1
- package/dist/components/Link/index.js.map +1 -1
- package/dist/components/Mask/Mask.js.map +1 -1
- package/dist/components/Mask/Mask.test.js.map +1 -1
- package/dist/components/Mask/index.js.map +1 -1
- package/dist/components/Modal/Modal.js +4 -5
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/Modal.test.js.map +1 -1
- package/dist/components/Modal/components.d.ts +1 -0
- package/dist/components/Modal/components.js.map +1 -1
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/MoreDetails/MoreDetails.js.map +1 -1
- package/dist/components/MoreDetails/MoreDetails.test.js.map +1 -1
- package/dist/components/MoreDetails/index.js.map +1 -1
- package/dist/components/OptionList/Option.js.map +1 -1
- package/dist/components/OptionList/OptionList.d.ts +2 -0
- package/dist/components/OptionList/OptionList.js +6 -2
- package/dist/components/OptionList/OptionList.js.map +1 -1
- package/dist/components/OptionList/OptionList.test.js.map +1 -1
- package/dist/components/OptionList/index.js.map +1 -1
- package/dist/components/OptionList/useOnExpand.js.map +1 -1
- package/dist/components/Page/Page.js.map +1 -1
- package/dist/components/Page/Page.test.js.map +1 -1
- package/dist/components/Page/components/ActionToolbar.js.map +1 -1
- package/dist/components/Page/components/Panel.js.map +1 -1
- package/dist/components/Page/components/index.js.map +1 -1
- package/dist/components/Page/index.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +2 -1
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/Popover.test.js.map +1 -1
- package/dist/components/Popover/components.d.ts +2 -0
- package/dist/components/Popover/components.js.map +1 -1
- package/dist/components/Popover/index.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/ProgressBar/ProgressBar.test.js.map +1 -1
- package/dist/components/ProgressBar/index.js.map +1 -1
- package/dist/components/ProgressCircle/ProgressCircle.js.map +1 -1
- package/dist/components/ProgressCircle/ProgressCircle.test.js.map +1 -1
- package/dist/components/ProgressCircle/index.js.map +1 -1
- package/dist/components/ProgressTracker/ProgressTracker.js.map +1 -1
- package/dist/components/ProgressTracker/ProgressTracker.test.js.map +1 -1
- package/dist/components/ProgressTracker/ProgressTrackerDivider.js +3 -3
- package/dist/components/ProgressTracker/ProgressTrackerDivider.js.map +1 -1
- package/dist/components/ProgressTracker/ProgressTrackerStep.js.map +1 -1
- package/dist/components/ProgressTracker/index.js.map +1 -1
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Radio/Radio.test.js.map +1 -1
- package/dist/components/Radio/index.js.map +1 -1
- package/dist/components/Scroll/Scroll.js.map +1 -1
- package/dist/components/Scroll/Scroll.test.js.map +1 -1
- package/dist/components/Scroll/index.js.map +1 -1
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Select/Select.test.js.map +1 -1
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/SideNav/SideNav.d.ts +1 -0
- package/dist/components/SideNav/SideNav.js +20 -5
- package/dist/components/SideNav/SideNav.js.map +1 -1
- package/dist/components/SideNav/SideNav.test.js.map +1 -1
- package/dist/components/SideNav/SideNavGroup.js.map +1 -1
- package/dist/components/SideNav/SideNavItem.css +4 -2
- package/dist/components/SideNav/SideNavItem.css.map +1 -1
- package/dist/components/SideNav/SideNavItem.d.ts +1 -0
- package/dist/components/SideNav/SideNavItem.js +13 -51
- package/dist/components/SideNav/SideNavItem.js.map +1 -1
- package/dist/components/SideNav/index.css +4 -2
- package/dist/components/SideNav/index.css.map +1 -1
- package/dist/components/SideNav/index.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.test.js.map +1 -1
- package/dist/components/Sidebar/SidebarSection.js.map +1 -1
- package/dist/components/Sidebar/index.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +1 -0
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.test.js.map +1 -1
- package/dist/components/Snackbar/index.js.map +1 -1
- package/dist/components/Spinner/Spinner.js.map +1 -1
- package/dist/components/Spinner/Spinner.test.js.map +1 -1
- package/dist/components/Spinner/index.js.map +1 -1
- package/dist/components/Stack/Stack.js.map +1 -1
- package/dist/components/Stack/Stack.test.js.map +1 -1
- package/dist/components/Stack/StackItem.js.map +1 -1
- package/dist/components/Stack/index.js.map +1 -1
- package/dist/components/StatusLight/StatusLight.js.map +1 -1
- package/dist/components/StatusLight/StatusLight.test.js.map +1 -1
- package/dist/components/StatusLight/index.js.map +1 -1
- package/dist/components/Tab/Tab.js +1 -1
- package/dist/components/Tab/Tab.js.map +1 -1
- package/dist/components/Tab/Tab.test.js.map +1 -1
- package/dist/components/Tab/index.js.map +1 -1
- package/dist/components/TabGroup/TabGroup.js +8 -1
- package/dist/components/TabGroup/TabGroup.js.map +1 -1
- package/dist/components/TabGroup/TabGroup.test.js.map +1 -1
- package/dist/components/TabGroup/TabGroupItem.js.map +1 -1
- package/dist/components/TabGroup/components.d.ts +4 -2
- package/dist/components/TabGroup/components.js.map +1 -1
- package/dist/components/TabGroup/index.js.map +1 -1
- package/dist/components/Table/GridMod.js.map +1 -1
- package/dist/components/Table/Table.css +11 -1
- package/dist/components/Table/Table.css.map +1 -1
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/Table.test.js.map +1 -1
- package/dist/components/Table/TableLoadingPanel.js.map +1 -1
- package/dist/components/Table/components.js.map +1 -1
- package/dist/components/Table/index.css +11 -1
- package/dist/components/Table/index.css.map +1 -1
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Table/useTableMinWidth.js.map +1 -1
- package/dist/components/Tag/Tag.js.map +1 -1
- package/dist/components/Tag/Tag.test.js.map +1 -1
- package/dist/components/Tag/index.js.map +1 -1
- package/dist/components/TagGroup/TagGroup.js.map +1 -1
- package/dist/components/TagGroup/TagGroup.test.js.map +1 -1
- package/dist/components/TagGroup/TagGroupItem.js.map +1 -1
- package/dist/components/TagGroup/index.js.map +1 -1
- package/dist/components/Takeover/Takeover.js.map +1 -1
- package/dist/components/Takeover/Takeover.test.js.map +1 -1
- package/dist/components/Takeover/TakeoverFooter.js.map +1 -1
- package/dist/components/Takeover/TakeoverHeader.js.map +1 -1
- package/dist/components/Takeover/TakeoverSection.js.map +1 -1
- package/dist/components/Takeover/index.js.map +1 -1
- package/dist/components/Text/Text.js.map +1 -1
- package/dist/components/Text/Text.test.js.map +1 -1
- package/dist/components/Text/index.js.map +1 -1
- package/dist/components/TextArea/TextArea.d.ts +2 -1
- package/dist/components/TextArea/TextArea.js +1 -1
- package/dist/components/TextArea/TextArea.js.map +1 -1
- package/dist/components/TextArea/TextArea.test.js.map +1 -1
- package/dist/components/TextArea/index.js.map +1 -1
- package/dist/components/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/components/Thumbnail/Thumbnail.test.js.map +1 -1
- package/dist/components/Thumbnail/index.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.js +10 -8
- package/dist/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.test.js +13 -4
- package/dist/components/TimePicker/TimePicker.test.js.map +1 -1
- package/dist/components/TimePicker/components/TimePickerOptionList.d.ts +1 -1
- package/dist/components/TimePicker/components/TimePickerOptionList.js +21 -25
- package/dist/components/TimePicker/components/TimePickerOptionList.js.map +1 -1
- package/dist/components/TimePicker/components/index.js.map +1 -1
- package/dist/components/TimePicker/index.js.map +1 -1
- package/dist/components/TimePicker/utils/TimePickerUtils.test.js.map +1 -1
- package/dist/components/TimePicker/utils/checkMinMax.js.map +1 -1
- package/dist/components/TimePicker/utils/filterOptions.js +7 -5
- package/dist/components/TimePicker/utils/filterOptions.js.map +1 -1
- package/dist/components/TimePicker/utils/generateOptions.js.map +1 -1
- package/dist/components/TimePicker/utils/getClosestOption.js.map +1 -1
- package/dist/components/TimePicker/utils/getOptionByText.js.map +1 -1
- package/dist/components/TimePicker/utils/highlightOption.js.map +1 -1
- package/dist/components/TimePicker/utils/index.js.map +1 -1
- package/dist/components/TimePicker/utils/injectOption.js.map +1 -1
- package/dist/components/TimePicker/utils/stringToDate.js.map +1 -1
- package/dist/components/TimePicker/utils/timezoneUtils.js.map +1 -1
- package/dist/components/TimePicker/utils/toTimeFormat.js.map +1 -1
- package/dist/components/TimePicker/utils/utils.js +10 -12
- package/dist/components/TimePicker/utils/utils.js.map +1 -1
- package/dist/components/Toast/Toast.d.ts +2 -1
- package/dist/components/Toast/Toast.js.map +1 -1
- package/dist/components/Toast/Toast.test.js.map +1 -1
- package/dist/components/Toast/ToastGroup.d.ts +1 -1
- package/dist/components/Toast/ToastGroup.js.map +1 -1
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.js +8 -7
- package/dist/components/ToggleSwitch/ToggleSwitch.js.map +1 -1
- package/dist/components/ToggleSwitch/ToggleSwitch.test.js.map +1 -1
- package/dist/components/ToggleSwitch/index.js.map +1 -1
- package/dist/components/Togglebox/Togglebox.js.map +1 -1
- package/dist/components/Togglebox/Togglebox.test.js.map +1 -1
- package/dist/components/Togglebox/index.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +3 -4
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.test.js.map +1 -1
- package/dist/components/Tooltip/index.js.map +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +2 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/components/VisuallyHidden/index.js.map +1 -1
- package/dist/components/index.css +50 -28
- package/dist/components/index.css.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/global/index.css +1 -1
- package/dist/global/version.css +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useArrowNav/index.d.ts +1 -0
- package/dist/hooks/useArrowNav/index.js +2 -0
- package/dist/hooks/useArrowNav/index.js.map +1 -0
- package/dist/hooks/useArrowNav/useArrowNav.d.ts +27 -0
- package/dist/hooks/useArrowNav/useArrowNav.js +65 -0
- package/dist/hooks/useArrowNav/useArrowNav.js.map +1 -0
- package/dist/hooks/useArrowNav/utils/index.d.ts +3 -0
- package/dist/hooks/useArrowNav/utils/index.js +4 -0
- package/dist/hooks/useArrowNav/utils/index.js.map +1 -0
- package/dist/hooks/useArrowNav/utils/keys.d.ts +3 -0
- package/dist/hooks/useArrowNav/utils/keys.js +12 -0
- package/dist/hooks/useArrowNav/utils/keys.js.map +1 -0
- package/dist/hooks/useArrowNav/utils/tabIndex.d.ts +2 -0
- package/dist/hooks/useArrowNav/utils/tabIndex.js +53 -0
- package/dist/hooks/useArrowNav/utils/tabIndex.js.map +1 -0
- package/dist/hooks/useArrowNav/utils/utils.d.ts +14 -0
- package/dist/hooks/useArrowNav/utils/utils.js +111 -0
- package/dist/hooks/useArrowNav/utils/utils.js.map +1 -0
- package/dist/hooks/useFocusTrap/index.js.map +1 -1
- package/dist/hooks/useFocusTrap/internal/index.js.map +1 -1
- package/dist/hooks/useFocusTrap/internal/useAutoFocus.js +12 -13
- package/dist/hooks/useFocusTrap/internal/useAutoFocus.js.map +1 -1
- package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js.map +1 -1
- package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js +5 -5
- package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js.map +1 -1
- package/dist/hooks/useFocusTrap/internal/useFocusLock.js +4 -5
- package/dist/hooks/useFocusTrap/internal/useFocusLock.js.map +1 -1
- package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js +4 -1
- package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js.map +1 -1
- package/dist/hooks/useFocusTrap/internal/utils.d.ts +6 -2
- package/dist/hooks/useFocusTrap/internal/utils.js +27 -12
- package/dist/hooks/useFocusTrap/internal/utils.js.map +1 -1
- package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
- package/dist/hooks/useFocusVisible.js +9 -11
- package/dist/hooks/useFocusVisible.js.map +1 -1
- package/dist/hooks/useFocusVisible.test.js.map +1 -1
- package/dist/hooks/useMergedRef.js.map +1 -1
- package/dist/hooks/useScreenSize.js.map +1 -1
- package/dist/hooks/useScrollPosition.js.map +1 -1
- package/dist/hooks/useVisuallyHidden.js.map +1 -1
- package/dist/internal/CollapsibleList/CollapsibleContext.js.map +1 -1
- package/dist/internal/CollapsibleList/CollapsibleList.d.ts +2 -1
- package/dist/internal/CollapsibleList/CollapsibleList.js.map +1 -1
- package/dist/internal/CollapsibleList/CollapsibleListItem.d.ts +2 -1
- package/dist/internal/CollapsibleList/CollapsibleListItem.js +20 -2
- package/dist/internal/CollapsibleList/CollapsibleListItem.js.map +1 -1
- package/dist/internal/CollapsibleList/index.js.map +1 -1
- package/dist/internal/Overlay/Overlay.d.ts +2 -1
- package/dist/internal/Overlay/Overlay.js.map +1 -1
- package/dist/internal/Overlay/index.js.map +1 -1
- package/dist/internal/Popper/Popper.css +4 -2
- package/dist/internal/Popper/Popper.css.map +1 -1
- package/dist/internal/Popper/Popper.d.ts +1 -1
- package/dist/internal/Popper/Popper.js +3 -3
- package/dist/internal/Popper/Popper.js.map +1 -1
- package/dist/internal/Popper/index.css +4 -2
- package/dist/internal/Popper/index.css.map +1 -1
- package/dist/internal/Popper/index.js.map +1 -1
- package/dist/internal/Portal/Portal.d.ts +2 -1
- package/dist/internal/Portal/Portal.js.map +1 -1
- package/dist/internal/Portal/index.js.map +1 -1
- package/dist/internal/index.css +4 -2
- package/dist/internal/index.css.map +1 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/system-light.css +5 -9
- package/dist/system-light.css.map +1 -1
- package/dist/system-light.min.css +1 -1
- package/dist/system.css +86 -97
- package/dist/system.css.map +1 -1
- package/dist/system.js.map +1 -1
- package/dist/system.min.css +2 -2
- package/dist/utilities/AnvilProvider.js.map +1 -1
- package/dist/utilities/ConditionalWrapper.js.map +1 -1
- package/dist/utilities/DefaultPortalContext.js.map +1 -1
- package/dist/utilities/KeyboardAccessTests/KeyboardAccess.test.js +143 -32
- package/dist/utilities/KeyboardAccessTests/KeyboardAccess.test.js.map +1 -1
- package/dist/utilities/KeyboardAccessTests/components/KeyboardTester.js.map +1 -1
- package/dist/utilities/KeyboardAccessTests/components/components.d.ts +1 -0
- package/dist/utilities/KeyboardAccessTests/components/components.js +78 -39
- package/dist/utilities/KeyboardAccessTests/components/components.js.map +1 -1
- package/dist/utilities/KeyboardAccessTests/components/index.js.map +1 -1
- package/dist/utilities/KeyboardAccessTests/utils/index.js.map +1 -1
- package/dist/utilities/KeyboardAccessTests/utils/jestUtils.d.ts +1 -0
- package/dist/utilities/KeyboardAccessTests/utils/jestUtils.js +18 -0
- package/dist/utilities/KeyboardAccessTests/utils/jestUtils.js.map +1 -1
- package/dist/utilities/KeyboardAccessTests/utils/utils.d.ts +0 -1
- package/dist/utilities/KeyboardAccessTests/utils/utils.js +0 -16
- package/dist/utilities/KeyboardAccessTests/utils/utils.js.map +1 -1
- package/dist/utilities/OverlayContext.js.map +1 -1
- package/dist/utilities/SemanticUtils/index.js.map +1 -1
- package/dist/utilities/SemanticUtils/refUtils.js.map +1 -1
- package/dist/utilities/SemanticUtils/widths.js.map +1 -1
- package/dist/utilities/ThemeProvider.js.map +1 -1
- package/dist/utilities/TimezoneProvider/TimezoneProvider.js.map +1 -1
- package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js.map +1 -1
- package/dist/utilities/TimezoneProvider/index.js.map +1 -1
- package/dist/utilities/color-utils.js.map +1 -1
- package/dist/utilities/dateFormat.js.map +1 -1
- package/dist/utilities/debounce.js.map +1 -1
- package/dist/utilities/getContent.js.map +1 -1
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/isElementOfType.js.map +1 -1
- package/dist/utilities/justify-props.js.map +1 -1
- package/dist/utilities/keyCodes.js.map +1 -1
- package/dist/utilities/usePrefersColorScheme.js.map +1 -1
- package/dist/utilities/useStorybookFigmaAddon.js.map +1 -1
- package/dist/utilities/wrapChildren.js.map +1 -1
- package/dist/utilities/wrapWithComponent.d.ts +1 -1
- package/dist/utilities/wrapWithComponent.js.map +1 -1
- package/package.json +29 -35
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnvilProvider.js","sourceRoot":"","sources":["../../src/utilities/AnvilProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5E,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAiB,CAAC;AAChE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"AnvilProvider.js","sourceRoot":"","sources":["../../src/utilities/AnvilProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAC5E,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAAiB,CAAC;AAChE,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport { ThemeProvider, themeProviderProps } from './ThemeProvider';\n\nexport const AnvilProvider: FC<themeProviderProps> = ({ children, theme }) => {\n\treturn <ThemeProvider theme={theme}>{children}</ThemeProvider>;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalWrapper.js","sourceRoot":"","sources":["../../src/utilities/ConditionalWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAOlC,MAAM,CAAC,MAAM,kBAAkB,GAAgC,CAAC,EAC/D,SAAS,EACT,OAAO,EACP,QAAQ,GACR,EAAE,EAAE;IACJ,MAAM,SAAS,GAAG,oBAAC,KAAK,CAAC,QAAQ,QAAE,QAAQ,CAAkB,CAAC;IAE9D,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ConditionalWrapper.js","sourceRoot":"","sources":["../../src/utilities/ConditionalWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAOlC,MAAM,CAAC,MAAM,kBAAkB,GAAgC,CAAC,EAC/D,SAAS,EACT,OAAO,EACP,QAAQ,GACR,EAAE,EAAE;IACJ,MAAM,SAAS,GAAG,oBAAC,KAAK,CAAC,QAAQ,QAAE,QAAQ,CAAkB,CAAC;IAE9D,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\ninterface ConditionalWrapperProps {\n\tcondition: boolean;\n\twrapper: (child: React.ReactElement) => React.ReactElement;\n\tchildren: React.ReactElement | React.ReactElement[];\n}\n\nexport const ConditionalWrapper: FC<ConditionalWrapperProps> = ({\n\tcondition,\n\twrapper,\n\tchildren,\n}) => {\n\tconst container = <React.Fragment>{children}</React.Fragment>;\n\n\treturn condition ? wrapper(container) : container;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultPortalContext.js","sourceRoot":"","sources":["../../src/utilities/DefaultPortalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAE/C,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"DefaultPortalContext.js","sourceRoot":"","sources":["../../src/utilities/DefaultPortalContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAE/C,IAAI,CAAC,CAAC","sourcesContent":["import { createContext } from 'react';\n\n/*\n * Provides default element for the portal property\n */\nexport const DefaultPortalContext = createContext<\n\tHTMLElement | ShadowRoot | null\n>(null);\n"]}
|
|
@@ -10,9 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import React from 'react';
|
|
11
11
|
import { render, screen } from '@testing-library/react';
|
|
12
12
|
import userEvent from '@testing-library/user-event';
|
|
13
|
-
import { mockResizeObserver, expectLog, keypressLegacy } from './utils';
|
|
13
|
+
import { mockResizeObserver, mockElementOffset, expectLog, keypressLegacy, } from './utils';
|
|
14
14
|
import { KeyboardTester, DatePickerWithValue, DateRangePickerWithValue, TimePickerWithValue, SelectWithValue, FocusTrapTest, ModalTest, DrawerTest, DialogTest, PopoverTest, TakeoverTest, ActionMenuTest, SideNavTest, TabTest, ButtonToggleTest, } from './components';
|
|
15
15
|
mockResizeObserver();
|
|
16
|
+
mockElementOffset();
|
|
16
17
|
window.HTMLElement.prototype.scrollIntoView = () => { };
|
|
17
18
|
describe('DatePicker', () => {
|
|
18
19
|
beforeEach(() => jest.spyOn(console, 'error'));
|
|
@@ -20,8 +21,7 @@ describe('DatePicker', () => {
|
|
|
20
21
|
const user = userEvent.setup();
|
|
21
22
|
render(React.createElement(KeyboardTester, null,
|
|
22
23
|
React.createElement(DatePickerWithValue, null)));
|
|
23
|
-
const cal = () => screen.
|
|
24
|
-
// focus on icon → enter → arrow keys → enter to select value → tab to exit
|
|
24
|
+
const cal = () => screen.getAllByRole('grid')[0] || global.document;
|
|
25
25
|
yield expectLog({ text: 'first focusable' });
|
|
26
26
|
yield user.tab();
|
|
27
27
|
yield expectLog({ text: 'toggle calendar' });
|
|
@@ -46,10 +46,7 @@ describe('DatePicker', () => {
|
|
|
46
46
|
const user = userEvent.setup();
|
|
47
47
|
render(React.createElement(KeyboardTester, null,
|
|
48
48
|
React.createElement(DatePickerWithValue, null)));
|
|
49
|
-
const cal = () => screen.
|
|
50
|
-
/*
|
|
51
|
-
* focus input → arrow keys → enter to select value → tab to exit
|
|
52
|
-
*/
|
|
49
|
+
const cal = () => screen.getAllByRole('grid')[0] || global.document;
|
|
53
50
|
yield expectLog({ text: 'first focusable' });
|
|
54
51
|
yield user.tab();
|
|
55
52
|
yield expectLog({ text: 'toggle calendar' }); // Icon focused
|
|
@@ -72,10 +69,9 @@ describe('DatePicker', () => {
|
|
|
72
69
|
describe('DateRangePicker', () => {
|
|
73
70
|
const user = userEvent.setup();
|
|
74
71
|
beforeEach(() => jest.spyOn(console, 'error'));
|
|
75
|
-
it('keyboard nav:
|
|
72
|
+
it('keyboard nav: {enter} or {arrowDown} on mask to open picker, autofocus on start, tab to end date, tab to navigation over calendar', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
76
73
|
render(React.createElement(KeyboardTester, null,
|
|
77
74
|
React.createElement(DateRangePickerWithValue, null)));
|
|
78
|
-
// focus on icon → enter → arrow keys → enter to select value → tab to exit
|
|
79
75
|
yield expectLog({ text: 'first focusable' });
|
|
80
76
|
yield user.tab();
|
|
81
77
|
yield expectLog({ text: 'Nov 7, 2022 - Nov 15, 2022' });
|
|
@@ -92,7 +88,6 @@ describe('TimePicker', () => {
|
|
|
92
88
|
const user = userEvent.setup();
|
|
93
89
|
render(React.createElement(KeyboardTester, null,
|
|
94
90
|
React.createElement(TimePickerWithValue, null)));
|
|
95
|
-
// focus on input → arrow down → enter to select value → tab to exit
|
|
96
91
|
yield expectLog({ text: 'first focusable' });
|
|
97
92
|
yield user.tab();
|
|
98
93
|
yield expectLog({ text: '08:00 AM' });
|
|
@@ -166,7 +161,7 @@ describe('AnvilSelect', () => {
|
|
|
166
161
|
});
|
|
167
162
|
describe('ActionMenu', () => {
|
|
168
163
|
beforeEach(() => jest.spyOn(console, 'error'));
|
|
169
|
-
it('keyboard nav:
|
|
164
|
+
it('keyboard nav: arrow keys moves focus, {Enter}, {ArrowRight} opens submenu, {ArrowLeft} closes, {Escape} closes all menus', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
170
165
|
const user = userEvent.setup();
|
|
171
166
|
render(React.createElement(KeyboardTester, null,
|
|
172
167
|
React.createElement(ActionMenuTest, null)));
|
|
@@ -174,25 +169,94 @@ describe('ActionMenu', () => {
|
|
|
174
169
|
yield user.tab();
|
|
175
170
|
yield expectLog({ text: 'Open' });
|
|
176
171
|
yield user.keyboard('{Enter}'); // Render ActionMenu
|
|
177
|
-
|
|
178
|
-
yield user.
|
|
179
|
-
yield expectLog({ text: '
|
|
172
|
+
yield expectLog({ text: 'Item 1' }); // Focus is inside
|
|
173
|
+
yield user.keyboard('{ArrowDown}');
|
|
174
|
+
yield expectLog({ text: 'Item 2 (cascading)' }); // Focus is moving
|
|
175
|
+
yield user.keyboard('{ArrowRight}');
|
|
176
|
+
yield expectLog({ text: 'Item 21' }); // Submenu opened
|
|
177
|
+
yield user.keyboard('{ArrowDown}{ArrowDown}{ArrowDown}');
|
|
178
|
+
yield expectLog({ text: 'Item 24' }); // Last item focused
|
|
179
|
+
yield user.keyboard('{ArrowDown}');
|
|
180
|
+
yield expectLog({ text: 'Item 21' }); // Looping
|
|
181
|
+
yield user.keyboard('{ArrowLeft}');
|
|
182
|
+
yield expectLog({ text: 'Item 2 (cascading)' }); // Submenu closed
|
|
183
|
+
yield user.keyboard('{ }'); // Submenu opened on Space keypress
|
|
184
|
+
yield expectLog({ text: 'Item 21' });
|
|
185
|
+
yield user.keyboard('{ArrowLeft}');
|
|
186
|
+
yield expectLog({ text: 'Item 2 (cascading)' }); // Submenu closed
|
|
187
|
+
yield user.keyboard('{ArrowDown}');
|
|
188
|
+
yield expectLog({ text: 'Item 3' }); // Focus is moving
|
|
189
|
+
yield user.keyboard('{ArrowDown}');
|
|
190
|
+
yield expectLog({ text: 'Item 4' });
|
|
191
|
+
yield user.keyboard('{ArrowDown}');
|
|
192
|
+
yield expectLog({ text: 'Item 1' }); // Looping
|
|
193
|
+
yield user.keyboard('{Escape}');
|
|
194
|
+
yield expectLog({ text: 'Open' }); // Menu closed
|
|
195
|
+
yield user.keyboard('{Enter}{ArrowDown}{ArrowRight}{ArrowDown}');
|
|
196
|
+
yield expectLog({ text: 'Item 22 (cascading)' });
|
|
197
|
+
yield user.keyboard('{Escape}');
|
|
198
|
+
yield expectLog({ text: 'Open' }); // Escape to close all the menus
|
|
199
|
+
yield user.keyboard('{Enter}');
|
|
200
|
+
yield user.tab({ shift: true });
|
|
201
|
+
yield expectLog({ text: 'Open' }); // Focus not locked, shift+tab sends focus back to the trigger
|
|
202
|
+
yield user.keyboard('{ }');
|
|
203
|
+
yield expectLog({ text: 'Item 1' }); // Space to open the menu and focus first item
|
|
204
|
+
yield user.keyboard('{ArrowDown}');
|
|
205
|
+
yield expectLog({ text: 'Item 2 (cascading)' });
|
|
206
|
+
yield user.keyboard('{ArrowDown}');
|
|
207
|
+
yield expectLog({ text: 'Item 3' });
|
|
180
208
|
}));
|
|
181
209
|
});
|
|
182
210
|
describe('SideNav', () => {
|
|
183
211
|
beforeEach(() => jest.spyOn(console, 'error'));
|
|
184
|
-
it('keyboard nav:
|
|
212
|
+
it('keyboard nav: {Enter}, {Space} should make selection', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
185
213
|
const user = userEvent.setup();
|
|
186
214
|
render(React.createElement(KeyboardTester, null,
|
|
187
215
|
React.createElement(SideNavTest, null)));
|
|
188
216
|
yield expectLog({ text: 'first focusable' });
|
|
189
217
|
yield user.tab();
|
|
190
218
|
yield user.tab();
|
|
191
|
-
yield expectLog({ text: 'Item
|
|
219
|
+
yield expectLog({ text: 'Item 21' }); // Focus on selected item
|
|
192
220
|
yield user.keyboard('{ArrowDown}');
|
|
193
|
-
yield expectLog({ text: 'Item
|
|
221
|
+
yield expectLog({ text: 'Item 22' });
|
|
222
|
+
yield user.keyboard('{Enter}'); // Makes selection
|
|
223
|
+
yield expectLog({ text: 'Item 22' });
|
|
194
224
|
yield user.keyboard('{ArrowDown}');
|
|
195
|
-
yield expectLog({ text: 'Item
|
|
225
|
+
yield expectLog({ text: 'Item 23' });
|
|
226
|
+
yield user.tab();
|
|
227
|
+
yield expectLog({ text: 'last focusable' });
|
|
228
|
+
yield user.tab({ shift: true });
|
|
229
|
+
yield expectLog({ text: 'Item 22' }); // Focus back on selected
|
|
230
|
+
yield user.tab({ shift: true });
|
|
231
|
+
yield user.tab({ shift: true });
|
|
232
|
+
yield expectLog({ text: 'first focusable' });
|
|
233
|
+
yield user.tab();
|
|
234
|
+
yield user.tab();
|
|
235
|
+
yield expectLog({ text: 'Item 22' }); // Focus back on selected
|
|
236
|
+
yield user.keyboard('{ArrowDown}');
|
|
237
|
+
yield user.keyboard('{ }'); // {Space} make selection
|
|
238
|
+
yield user.tab();
|
|
239
|
+
yield user.tab({ shift: true });
|
|
240
|
+
yield expectLog({ text: 'Item 23' }); // Focus back on selected
|
|
241
|
+
}));
|
|
242
|
+
it('keyboard nav: arrow keys should navigate over SideNav, {Enter}, {ArrowLeft}, {ArrowRight} should toggle submenu', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
243
|
+
const user = userEvent.setup();
|
|
244
|
+
render(React.createElement(KeyboardTester, null,
|
|
245
|
+
React.createElement(SideNavTest, null)));
|
|
246
|
+
yield expectLog({ text: 'first focusable' });
|
|
247
|
+
yield user.tab();
|
|
248
|
+
yield user.tab();
|
|
249
|
+
yield expectLog({ text: 'Item 21' }); // Focus on selected item
|
|
250
|
+
yield user.keyboard('{ArrowDown}');
|
|
251
|
+
yield expectLog({ text: 'Item 22' });
|
|
252
|
+
yield user.keyboard('{ArrowLeft}');
|
|
253
|
+
yield expectLog({ text: 'Item 2' }); // Left should move focus on collapsible parent
|
|
254
|
+
yield user.keyboard('{ArrowLeft}');
|
|
255
|
+
yield expectLog({ text: 'Item 2' }); // Closes collapsible
|
|
256
|
+
yield user.keyboard('{ArrowLeft}');
|
|
257
|
+
yield expectLog({ text: 'Item 2' }); // Should do nothing
|
|
258
|
+
yield user.keyboard('{ArrowDown}');
|
|
259
|
+
yield expectLog({ text: 'Item 3' }); // Collapsible is really closed
|
|
196
260
|
yield user.keyboard('{ArrowUp}');
|
|
197
261
|
yield user.keyboard('{Enter}'); // Opens collapsible
|
|
198
262
|
yield user.keyboard('{ArrowDown}');
|
|
@@ -201,46 +265,93 @@ describe('SideNav', () => {
|
|
|
201
265
|
yield expectLog({ text: 'Item 3' });
|
|
202
266
|
yield user.keyboard('{ArrowDown}');
|
|
203
267
|
yield expectLog({ text: 'Item 4' });
|
|
204
|
-
yield user.keyboard('{ArrowDown}');
|
|
205
|
-
yield expectLog({ text: 'Item 4' });
|
|
268
|
+
yield user.keyboard('{ArrowDown}');
|
|
269
|
+
yield expectLog({ text: 'Item 4' }); // Looping is disabled
|
|
270
|
+
yield user.keyboard('{Home}');
|
|
271
|
+
yield expectLog({ text: 'Item 1' }); // Home works
|
|
272
|
+
yield user.keyboard('{End}');
|
|
273
|
+
yield expectLog({ text: 'Item 4' }); // End works
|
|
274
|
+
yield user.keyboard('{Home}');
|
|
275
|
+
yield user.keyboard('{ArrowDown}');
|
|
276
|
+
yield user.keyboard('{Enter}'); // Closes collapsible
|
|
277
|
+
yield user.keyboard('{ArrowRight}'); // Opens collapsible
|
|
278
|
+
yield expectLog({ text: 'Item 2' }); // Collapsible is opened
|
|
279
|
+
yield user.keyboard('{ArrowRight}');
|
|
280
|
+
yield expectLog({ text: 'Item 21' });
|
|
281
|
+
yield user.keyboard('{ArrowDown}');
|
|
282
|
+
yield expectLog({ text: 'Item 22' });
|
|
206
283
|
yield user.tab();
|
|
207
284
|
yield expectLog({ text: 'last focusable' });
|
|
208
285
|
}));
|
|
209
286
|
});
|
|
210
287
|
describe('Tab', () => {
|
|
211
288
|
beforeEach(() => jest.spyOn(console, 'error'));
|
|
212
|
-
it('keyboard nav:
|
|
289
|
+
it('keyboard nav: arrow keys should move focus, {Enter} or {Space} should activate Tab', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
213
290
|
const user = userEvent.setup();
|
|
214
291
|
render(React.createElement(KeyboardTester, null,
|
|
215
292
|
React.createElement(TabTest, null)));
|
|
216
293
|
yield expectLog({ text: 'first focusable' });
|
|
217
294
|
yield user.tab();
|
|
218
|
-
yield expectLog({ text: 'Tab
|
|
219
|
-
|
|
220
|
-
yield
|
|
295
|
+
yield expectLog({ text: 'Tab 2' }); // Focus on selected item
|
|
296
|
+
yield user.keyboard('{ArrowRight}');
|
|
297
|
+
yield expectLog({ text: 'Tab 3' });
|
|
298
|
+
yield user.keyboard('{ArrowRight}');
|
|
299
|
+
yield expectLog({ text: 'Tab 1' }); // Looping works
|
|
300
|
+
yield user.keyboard('{ArrowLeft}');
|
|
301
|
+
yield expectLog({ text: 'Tab 3' });
|
|
302
|
+
yield user.keyboard('{ArrowRight}{ArrowRight}');
|
|
221
303
|
yield expectLog({ text: 'Tab 2' });
|
|
222
304
|
yield user.tab();
|
|
223
|
-
yield expectLog({ text: '
|
|
305
|
+
yield expectLog({ text: 'Action' });
|
|
224
306
|
yield user.tab();
|
|
225
307
|
yield expectLog({ text: 'last focusable' });
|
|
308
|
+
yield user.tab({ shift: true });
|
|
309
|
+
yield expectLog({ text: 'Action' });
|
|
310
|
+
yield user.tab({ shift: true });
|
|
311
|
+
yield expectLog({ text: 'Tab 2' }); // Focus back on selected
|
|
312
|
+
yield user.keyboard('{ArrowRight}');
|
|
313
|
+
yield expectLog({ text: 'Tab 3' });
|
|
314
|
+
yield user.keyboard('{ }'); // {Space} make selection
|
|
315
|
+
yield expectLog({ text: 'Tab 3' });
|
|
316
|
+
yield user.tab({ shift: true });
|
|
317
|
+
yield expectLog({ text: 'first focusable' });
|
|
318
|
+
yield user.tab();
|
|
319
|
+
yield expectLog({ text: 'Tab 3' }); // Focus back
|
|
320
|
+
yield user.keyboard('{ArrowUp}');
|
|
321
|
+
yield expectLog({ text: 'Tab 3' }); // Do nothing
|
|
322
|
+
yield user.keyboard('{ArrowDown}');
|
|
323
|
+
yield expectLog({ text: 'Tab 3' }); // Do nothing
|
|
226
324
|
}));
|
|
227
325
|
});
|
|
228
326
|
describe('ButtonToggle', () => {
|
|
229
327
|
beforeEach(() => jest.spyOn(console, 'error'));
|
|
230
|
-
it('keyboard nav:
|
|
328
|
+
it('keyboard nav: arrow left and right keys should move selection', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
231
329
|
const user = userEvent.setup();
|
|
232
330
|
render(React.createElement(KeyboardTester, null,
|
|
233
331
|
React.createElement(ButtonToggleTest, null)));
|
|
234
332
|
yield expectLog({ text: 'first focusable' });
|
|
235
333
|
yield user.tab();
|
|
334
|
+
yield expectLog({ text: 'Item 2' }); // Focus on selected item
|
|
335
|
+
yield user.keyboard('{ArrowRight}');
|
|
336
|
+
yield expectLog({ text: 'Item 3' });
|
|
337
|
+
yield user.keyboard('{ArrowRight}');
|
|
338
|
+
yield expectLog({ text: 'Item 1' }); // Loop from 3 to 1, skipping disabled (4)
|
|
339
|
+
yield user.keyboard('{ArrowRight}');
|
|
340
|
+
yield expectLog({ text: 'Item 2' });
|
|
341
|
+
yield user.keyboard('{ArrowLeft}');
|
|
236
342
|
yield expectLog({ text: 'Item 1' });
|
|
237
|
-
|
|
343
|
+
yield user.keyboard('{ArrowDown}');
|
|
344
|
+
yield expectLog({ text: 'Item 1' }); // Nothing happens
|
|
238
345
|
yield user.tab();
|
|
346
|
+
yield expectLog({ text: 'last focusable' });
|
|
347
|
+
yield user.tab({ shift: true });
|
|
348
|
+
yield expectLog({ text: 'Item 1' }); // Focus back
|
|
349
|
+
yield user.keyboard('{ArrowRight}');
|
|
239
350
|
yield expectLog({ text: 'Item 2' });
|
|
351
|
+
yield user.tab({ shift: true });
|
|
352
|
+
yield expectLog({ text: 'first focusable' });
|
|
240
353
|
yield user.tab();
|
|
241
|
-
yield expectLog({ text: 'Item
|
|
242
|
-
yield user.tab();
|
|
243
|
-
yield expectLog({ text: 'last focusable' });
|
|
354
|
+
yield expectLog({ text: 'Item 2' }); // Focus back
|
|
244
355
|
}));
|
|
245
356
|
});
|
|
246
357
|
describe('useFocusTrap', () => {
|
|
@@ -257,7 +368,7 @@ describe('useFocusTrap', () => {
|
|
|
257
368
|
yield user.tab();
|
|
258
369
|
yield expectLog({ text: 'Inside 3 (shard)' });
|
|
259
370
|
yield user.tab();
|
|
260
|
-
yield expectLog({ text: 'Inside 1' });
|
|
371
|
+
yield expectLog({ text: 'Inside 1' }); // Focus is trapped
|
|
261
372
|
// Reversed tabbing
|
|
262
373
|
yield user.tab({ shift: true });
|
|
263
374
|
yield expectLog({ text: 'Inside 3 (shard)' });
|
|
@@ -266,7 +377,7 @@ describe('useFocusTrap', () => {
|
|
|
266
377
|
yield user.tab({ shift: true });
|
|
267
378
|
yield expectLog({ text: 'Inside 1' });
|
|
268
379
|
yield user.tab({ shift: true });
|
|
269
|
-
yield expectLog({ text: 'Inside 3 (shard)' });
|
|
380
|
+
yield expectLog({ text: 'Inside 3 (shard)' }); // Focus is trapped
|
|
270
381
|
}));
|
|
271
382
|
it('Modal: focus trap, auto focus and restore focus should work inside Modal', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
272
383
|
const user = userEvent.setup();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardAccess.test.js","sourceRoot":"","sources":["../../../src/utilities/KeyboardAccessTests/KeyboardAccess.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KeyboardAccess.test.js","sourceRoot":"","sources":["../../../src/utilities/KeyboardAccessTests/KeyboardAccess.test.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AAEpD,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,cAAc,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,OAAO,EACP,gBAAgB,GAChB,MAAM,cAAc,CAAC;AAEtB,kBAAkB,EAAE,CAAC;AACrB,iBAAiB,EAAE,CAAC;AACpB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEvD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,wEAAwE,EAAE,GAAS,EAAE;QACvF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,mBAAmB,OAAG,CACP,CACjB,CAAC;QAEF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC;QAEpE,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB;QACjD,cAAc,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,sEAAsE;QAC1G,cAAc,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACnC,cAAc,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,cAAc,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;QAC/C,MAAM,SAAS,CAAC;YACf,IAAI,EAAE,YAAY;YAClB,cAAc,EAAE,YAAY,EAAE,mBAAmB;SACjD,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAS,EAAE;QAC3F,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,mBAAmB,OAAG,CACP,CACjB,CAAC;QAEF,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC;QAEpE,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,eAAe;QAC7D,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,gBAAgB;QACzD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB;QACrD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,cAAc,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,sEAAsE;QAC1G,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,cAAc,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,cAAc,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe;QAC/C,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,mIAAmI,EAAE,GAAS,EAAE;QAClJ,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,wBAAwB,OAAG,CACZ,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACxD,yDAAyD;QACzD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gGAAgG,EAAE,GAAS,EAAE;QAC/G,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,mBAAmB,OAAG,CACP,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC;YACf,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,YAAY;SAC5B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACvC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,+GAA+G,EAAE,GAAS,EAAE;QAC9H,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,mBAAmB,OAAG,CACP,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,4BAA4B;QAC7D,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,yBAAyB;IACjE,CAAC,CAAA,CAAC,CAAC;IACH,EAAE,CAAC,yHAAyH,EAAE,GAAS,EAAE;QACxI,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,mBAAmB,OAAG,CACP,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,gEAAgE;QAChG,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,wBAAwB;IAChE,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,sGAAsG,EAAE,GAAS,EAAE;QACrH,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,eAAe,OAAG,CACH,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC;YACf,IAAI,EAAE,iBAAiB;YACvB,cAAc,EAAE,UAAU;SAC1B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC;YACf,IAAI,EAAE,iBAAiB;YACvB,cAAc,EAAE,aAAa;SAC7B,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,0HAA0H,EAAE,GAAS,EAAE;QACzI,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,cAAc,OAAG,CACF,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;QACpD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,iBAAiB;QACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QACzD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,oBAAoB;QAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,UAAU;QAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,iBAAiB;QAClE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,mCAAmC;QAC/D,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,iBAAiB;QAClE,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,cAAc;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC;QACjE,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,gCAAgC;QACnE,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,8DAA8D;QACjG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,8CAA8C;QACnF,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACxB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,sDAAsD,EAAE,GAAS,EAAE;QACrE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,WAAW,OAAG,CACC,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC/D,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB;QAClD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC/D,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB;QACrD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,yBAAyB;IAChE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,iHAAiH,EAAE,GAAS,EAAE;QAChI,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,WAAW,OAAG,CACC,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC/D,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,+CAA+C;QACpF,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,qBAAqB;QAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,oBAAoB;QACzD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,+BAA+B;QACpE,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QACzD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAC3D,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa;QAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,YAAY;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB;QACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAoB;QACzD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAC7D,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACpB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,oFAAoF,EAAE,GAAS,EAAE;QACnG,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,OAAO,OAAG,CACK,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC7D,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,gBAAgB;QACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC7D,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB;QACrD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,aAAa;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,aAAa;QACjD,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,aAAa;IAClD,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,+DAA+D,EAAE,GAAS,EAAE;QAC9E,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,gBAAgB,OAAG,CACJ,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAC9D,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,0CAA0C;QAC/E,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB;QACvD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa;QAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa;IACnD,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,iFAAiF,EAAE,GAAS,EAAE;QAChG,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,aAAa,OAAG,CACD,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAE1D,mBAAmB;QACnB,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,mBAAmB;IACnE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAS,EAAE;QACzF,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,SAAS,OAAG,CACG,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,kCAAkC;QACtE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAC7D,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB;QACvD,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAS,EAAE;QAC3F,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,UAAU,OAAG,CACE,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,mCAAmC;QACxE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAC9D,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB;QACvD,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAS,EAAE;QAC5F,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,UAAU,OAAG,CACE,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,mCAAmC;QAC7E,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAC1D,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB;QACvD,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAS,EAAE;QAC7F,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,WAAW,OAAG,CACC,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAC1D,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB;QACvD,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAS,EAAE;QAC/F,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CACL,oBAAC,cAAc;YACd,oBAAC,YAAY,OAAG,CACA,CACjB,CAAC;QAEF,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,qCAAqC;QAC5E,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB;QACvD,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render, screen } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\n\nimport {\n\tmockResizeObserver,\n\tmockElementOffset,\n\texpectLog,\n\tkeypressLegacy,\n} from './utils';\nimport {\n\tKeyboardTester,\n\tDatePickerWithValue,\n\tDateRangePickerWithValue,\n\tTimePickerWithValue,\n\tSelectWithValue,\n\tFocusTrapTest,\n\tModalTest,\n\tDrawerTest,\n\tDialogTest,\n\tPopoverTest,\n\tTakeoverTest,\n\tActionMenuTest,\n\tSideNavTest,\n\tTabTest,\n\tButtonToggleTest,\n} from './components';\n\nmockResizeObserver();\nmockElementOffset();\nwindow.HTMLElement.prototype.scrollIntoView = () => {};\n\ndescribe('DatePicker', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: {enter} on icon to open picker, navigation over calendar', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<DatePickerWithValue />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tconst cal = () => screen.getAllByRole('grid')[0] || global.document;\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'toggle calendar' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'toggle calendar' });\n\t\tawait user.keyboard('{enter}'); // Opens calendar\n\t\tkeypressLegacy(cal(), 'ArrowDown'); // Kendo relied on event.code, which is unsupported by user-events@v14\n\t\tkeypressLegacy(cal(), 'ArrowDown');\n\t\tkeypressLegacy(cal(), 'ArrowLeft');\n\t\tawait expectLog({ text: '24' });\n\t\tkeypressLegacy(cal(), 'Enter'); // Select value\n\t\tawait expectLog({\n\t\t\ttext: '11/24/2022',\n\t\t\tanvilComponent: 'DatePicker', // Just for example\n\t\t});\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t});\n\n\tit('keyboard nav: {arrowDown} on mask to open picker, navigation over calendar', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<DatePickerWithValue />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tconst cal = () => screen.getAllByRole('grid')[0] || global.document;\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'toggle calendar' }); // Icon focused\n\t\tawait user.tab();\n\t\tawait expectLog({ text: '11/11/2022' }); // Input focused\n\t\tawait user.keyboard('{ArrowDown}'); // Opens calendar\n\t\tawait expectLog({ text: '11/11/2022' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: '11' });\n\t\tkeypressLegacy(cal(), 'ArrowDown'); // Kendo relied on event.code, which is unsupported by user-events@v14\n\t\tawait expectLog({ text: '18' });\n\t\tkeypressLegacy(cal(), 'ArrowRight');\n\t\tawait expectLog({ text: '19' });\n\t\tkeypressLegacy(cal(), 'Enter'); // Select value\n\t\tawait expectLog({ text: '11/19/2022' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t});\n});\n\ndescribe('DateRangePicker', () => {\n\tconst user = userEvent.setup();\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: {enter} or {arrowDown} on mask to open picker, autofocus on start, tab to end date, tab to navigation over calendar', async () => {\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<DateRangePickerWithValue />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Nov 7, 2022 - Nov 15, 2022' });\n\t\t// TBD, write test here, as keyboard is not yet supported\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'clear selection' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t});\n});\n\ndescribe('TimePicker', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: focus to open picker, {arrowDown} to navigate over picker, enter to select value', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<TimePickerWithValue />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: '08:00 AM' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: '08:00 AM' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: '08:30 AM' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: '09:00 AM' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({\n\t\t\ttext: '09:00 AM', // new value selected\n\t\t\tanvilComponent: 'TimePicker',\n\t\t});\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: '09:00 AM' });\n\t});\n\n\tit('keyboard access: typing \"123\" should inject \"01:23 AM\" option (between stepped options), tab should select it', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<TimePickerWithValue />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: '08:00 AM' });\n\t\tawait user.keyboard('123{Tab}'); // Selects \"01:23 AM\" option\n\t\tawait expectLog({ text: 'last focusable' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: '01:23 AM' }); // \"01:23 AM\" is selected\n\t});\n\tit('keyboard access: typing \"22\" should return no option as \"10:00 PM\" is restricted by max prop, tab should select nothing', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<TimePickerWithValue />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: '08:00 AM' });\n\t\tawait user.keyboard('22{Tab}'); // Should propose no option to select due to min-max restriction\n\t\tawait expectLog({ text: 'last focusable' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'HH:MM AM' }); // No value was selected\n\t});\n});\n\ndescribe('AnvilSelect', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: {arrowDown} to open picker, {arrowDown} to navigate over picker, enter to select value', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<SelectWithValue />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Select a technician' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Bob Ross' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({\n\t\t\ttext: 'Jackie Robinson',\n\t\t\tanvilComponent: 'Checkbox',\n\t\t});\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({\n\t\t\ttext: 'Jackie Robinson', // new value selected\n\t\t\tanvilComponent: 'AnvilSelect',\n\t\t});\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'clear selection' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t});\n});\n\ndescribe('ActionMenu', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: arrow keys moves focus, {Enter}, {ArrowRight} opens submenu, {ArrowLeft} closes, {Escape} closes all menus', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<ActionMenuTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Open' });\n\t\tawait user.keyboard('{Enter}'); // Render ActionMenu\n\t\tawait expectLog({ text: 'Item 1' }); // Focus is inside\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 2 (cascading)' }); // Focus is moving\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Item 21' }); // Submenu opened\n\t\tawait user.keyboard('{ArrowDown}{ArrowDown}{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 24' }); // Last item focused\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 21' }); // Looping\n\t\tawait user.keyboard('{ArrowLeft}');\n\t\tawait expectLog({ text: 'Item 2 (cascading)' }); // Submenu closed\n\t\tawait user.keyboard('{ }'); // Submenu opened on Space keypress\n\t\tawait expectLog({ text: 'Item 21' });\n\t\tawait user.keyboard('{ArrowLeft}');\n\t\tawait expectLog({ text: 'Item 2 (cascading)' }); // Submenu closed\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 3' }); // Focus is moving\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 4' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 1' }); // Looping\n\t\tawait user.keyboard('{Escape}');\n\t\tawait expectLog({ text: 'Open' }); // Menu closed\n\t\tawait user.keyboard('{Enter}{ArrowDown}{ArrowRight}{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 22 (cascading)' });\n\t\tawait user.keyboard('{Escape}');\n\t\tawait expectLog({ text: 'Open' }); // Escape to close all the menus\n\t\tawait user.keyboard('{Enter}');\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Open' }); // Focus not locked, shift+tab sends focus back to the trigger\n\t\tawait user.keyboard('{ }');\n\t\tawait expectLog({ text: 'Item 1' }); // Space to open the menu and focus first item\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 2 (cascading)' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 3' });\n\t});\n});\n\ndescribe('SideNav', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: {Enter}, {Space} should make selection', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<SideNavTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Item 21' }); // Focus on selected item\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 22' });\n\t\tawait user.keyboard('{Enter}'); // Makes selection\n\t\tawait expectLog({ text: 'Item 22' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 23' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Item 22' }); // Focus back on selected\n\t\tawait user.tab({ shift: true });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Item 22' }); // Focus back on selected\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait user.keyboard('{ }'); // {Space} make selection\n\t\tawait user.tab();\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Item 23' }); // Focus back on selected\n\t});\n\n\tit('keyboard nav: arrow keys should navigate over SideNav, {Enter}, {ArrowLeft}, {ArrowRight} should toggle submenu', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<SideNavTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Item 21' }); // Focus on selected item\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 22' });\n\t\tawait user.keyboard('{ArrowLeft}');\n\t\tawait expectLog({ text: 'Item 2' }); // Left should move focus on collapsible parent\n\t\tawait user.keyboard('{ArrowLeft}');\n\t\tawait expectLog({ text: 'Item 2' }); // Closes collapsible\n\t\tawait user.keyboard('{ArrowLeft}');\n\t\tawait expectLog({ text: 'Item 2' }); // Should do nothing\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 3' }); // Collapsible is really closed\n\t\tawait user.keyboard('{ArrowUp}');\n\t\tawait user.keyboard('{Enter}'); // Opens collapsible\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 21' }); // Nested\n\t\tawait user.keyboard('{ArrowDown}{ArrowDown}{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 3' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 4' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 4' }); // Looping is disabled\n\t\tawait user.keyboard('{Home}');\n\t\tawait expectLog({ text: 'Item 1' }); // Home works\n\t\tawait user.keyboard('{End}');\n\t\tawait expectLog({ text: 'Item 4' }); // End works\n\t\tawait user.keyboard('{Home}');\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait user.keyboard('{Enter}'); // Closes collapsible\n\t\tawait user.keyboard('{ArrowRight}'); // Opens collapsible\n\t\tawait expectLog({ text: 'Item 2' }); // Collapsible is opened\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Item 21' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 22' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t});\n});\n\ndescribe('Tab', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: arrow keys should move focus, {Enter} or {Space} should activate Tab', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<TabTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Tab 2' }); // Focus on selected item\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Tab 3' });\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Tab 1' }); // Looping works\n\t\tawait user.keyboard('{ArrowLeft}');\n\t\tawait expectLog({ text: 'Tab 3' });\n\t\tawait user.keyboard('{ArrowRight}{ArrowRight}');\n\t\tawait expectLog({ text: 'Tab 2' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Action' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Action' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Tab 2' }); // Focus back on selected\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Tab 3' });\n\t\tawait user.keyboard('{ }'); // {Space} make selection\n\t\tawait expectLog({ text: 'Tab 3' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Tab 3' }); // Focus back\n\t\tawait user.keyboard('{ArrowUp}');\n\t\tawait expectLog({ text: 'Tab 3' }); // Do nothing\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Tab 3' }); // Do nothing\n\t});\n});\n\ndescribe('ButtonToggle', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('keyboard nav: arrow left and right keys should move selection', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<ButtonToggleTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Item 2' }); // Focus on selected item\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Item 3' });\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Item 1' }); // Loop from 3 to 1, skipping disabled (4)\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Item 2' });\n\t\tawait user.keyboard('{ArrowLeft}');\n\t\tawait expectLog({ text: 'Item 1' });\n\t\tawait user.keyboard('{ArrowDown}');\n\t\tawait expectLog({ text: 'Item 1' }); // Nothing happens\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'last focusable' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Item 1' }); // Focus back\n\t\tawait user.keyboard('{ArrowRight}');\n\t\tawait expectLog({ text: 'Item 2' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Item 2' }); // Focus back\n\t});\n});\n\ndescribe('useFocusTrap', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('useFocusTrap: on any sequence of {tab} or {shift}{tab} focus should stay inside', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<FocusTrapTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 2' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 3 (shard)' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' }); // Focus is trapped\n\n\t\t// Reversed tabbing\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Inside 3 (shard)' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Inside 2' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Inside 1' });\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Inside 3 (shard)' }); // Focus is trapped\n\t});\n\n\tit('Modal: focus trap, auto focus and restore focus should work inside Modal', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<ModalTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Open' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Modal' }); // Auto focus on Modal's container\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'close modal' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 2' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'close modal' }); // Focus is trapped\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Open' }); // Focus is restored\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t});\n\n\tit('Drawer: focus trap, auto focus and restore focus should work inside Drawer', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<DrawerTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Open' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Drawer' }); // Auto focus on Drawer's container\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'close drawer' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 2' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'close drawer' }); // Focus is trapped\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Open' }); // Focus is restored\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t});\n\n\tit('Dialog: focus trap, auto focus and restore focus: should work inside Dialog', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<DialogTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Open' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'DialogClose' }); // Auto focus on Dialog's container\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 2' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Close' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' }); // Focus is trapped\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Close' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Open' }); // Focus is restored\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t});\n\n\tit('Popover: focus trap, auto focus and restore focus should work inside Popover', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<PopoverTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Open' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Inside 1' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 2' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Close' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' }); // Focus is trapped\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'Close' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Open' }); // Focus is restored\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t});\n\n\tit('Takeover: focus trap, auto focus and restore focus should work inside Takeover', async () => {\n\t\tconst user = userEvent.setup();\n\t\trender(\n\t\t\t<KeyboardTester>\n\t\t\t\t<TakeoverTest />\n\t\t\t</KeyboardTester>\n\t\t);\n\n\t\tawait expectLog({ text: 'first focusable' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Open' });\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Takeover' }); // Auto focus on Takeover's container\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'close takeover' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 1' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'Inside 2' });\n\t\tawait user.tab();\n\t\tawait expectLog({ text: 'close takeover' }); // Focus is trapped\n\t\tawait user.keyboard('{Enter}');\n\t\tawait expectLog({ text: 'Open' }); // Focus is restored\n\t\tawait user.tab({ shift: true });\n\t\tawait expectLog({ text: 'first focusable' });\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardTester.js","sourceRoot":"","sources":["../../../../src/utilities/KeyboardAccessTests/components/KeyboardTester.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAEhF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACpB,MAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAS,0CAAE,KAAK,EAAE,CAAC,CAAC,YAAY;QAEvE,IAAI,KAAK,CAAC,UAAU,EAAE;YACrB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO,GAAG,EAAE;gBACX,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC3C,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC,CAAC;SACF;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvB,OAAO,CACN,6BAAK,SAAS,EAAC,qBAAqB;QACnC,2BAAG,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC,aAAa,sBAEjD;QACJ,iCAAM,KAAK,CAAC,QAAQ,CAAO;QAC3B,2BAAG,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC,aAAa,qBAEjD,CACC,CACN,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"KeyboardTester.js","sourceRoot":"","sources":["../../../../src/utilities/KeyboardAccessTests/components/KeyboardTester.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;IAC5C,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAEhF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACpB,MAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAS,0CAAE,KAAK,EAAE,CAAC,CAAC,YAAY;QAEvE,IAAI,KAAK,CAAC,UAAU,EAAE;YACrB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO,GAAG,EAAE;gBACX,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC3C,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC,CAAC;SACF;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvB,OAAO,CACN,6BAAK,SAAS,EAAC,qBAAqB;QACnC,2BAAG,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC,aAAa,sBAEjD;QACJ,iCAAM,KAAK,CAAC,QAAQ,CAAO;QAC3B,2BAAG,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC,aAAa,qBAEjD,CACC,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { logActiveElement } from '../utils';\n\nexport const KeyboardTester = (props: any) => {\n\tconst log = (e: any) => setTimeout(() => logActiveElement(e)); // Delayed log fn\n\n\tReact.useEffect(() => {\n\t\t(document.querySelector('a.focusable-1') as any)?.focus(); // Autofocus\n\n\t\tif (props.logOnEvent) {\n\t\t\tdocument.addEventListener('click', log);\n\t\t\tdocument.addEventListener('keydown', log);\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener('click', log);\n\t\t\t\tdocument.removeEventListener('keydown', log);\n\t\t\t};\n\t\t}\n\t}, [props.logOnEvent]);\n\n\treturn (\n\t\t<div className=\"KeyboardTestWrapper\">\n\t\t\t<a role=\"button\" tabIndex={0} className=\"focusable-1\">\n\t\t\t\tfirst focusable\n\t\t\t</a>\n\t\t\t<div>{props.children}</div>\n\t\t\t<a role=\"button\" tabIndex={0} className=\"focusable-2\">\n\t\t\t\tlast focusable\n\t\t\t</a>\n\t\t</div>\n\t);\n};\n"]}
|
|
@@ -13,3 +13,4 @@ export declare const ActionMenuTest: () => JSX.Element;
|
|
|
13
13
|
export declare const SideNavTest: () => JSX.Element;
|
|
14
14
|
export declare const TabTest: () => JSX.Element;
|
|
15
15
|
export declare const ButtonToggleTest: () => JSX.Element;
|
|
16
|
+
export declare const ColorPickerTest: () => JSX.Element;
|