@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":"ProgressTrackerStep.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerStep.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyC5C,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAYjE,EAAE,EAAE;QAZ6D,EACjE,MAAM,GAAG,KAAK,EACd,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,UAAU,EACV,UAAU,OAEV,EADG,KAAK,cAXyD,gHAYjE,CADQ;IAER,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,IAAI,IAAI,KAAK,QAAQ;YACpB,OAAO,CACN,6BAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,EAAE,CAAO,CAC7D,CAAC;QACH,OAAO,6BAAK,SAAS,EAAC,6BAA6B,GAAG,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO;QAC7B,IAAI,SAAS;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc,GAAG,CAAC;QACnD,IAAI,OAAO;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,CAAC;QACzC,OAAO,UAAU,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO;QAClE,OAAO,6BAAK,SAAS,EAAC,4BAA4B,IAAE,KAAK,CAAO,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC5B,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,UAAU,CAC5C,qBAAqB,EACrB,SAAS,EACT;QACC,6BAA6B,EAAE,MAAM;QACrC,+BAA+B,EAAE,SAAS;QAC1C,iCAAiC,EAChC,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAClC,gCAAgC,EAC/B,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;QACtC,+BAA+B,EAAE,QAAQ;QACzC,8BAA8B,EAAE,OAAO;QACvC,iCAAiC,EAAE,UAAU;QAC7C,CAAC,wBAAwB,IAAI,EAAE,CAAC,EAAE,IAAI;KACtC,CACD,CAAC;IAEF,OAAO,CACN,oBAAC,WAAW,kBACX,SAAS,EAAE,0BAA0B,EACrC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,0BACvB,qBAAqB,EAC1C,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,IACnB,KAAK;QAET,oBAAC,OAAO,IAAC,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,QAAC,SAAS,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,IAC7D,cAAc,EAAE,CACR;QACT,QAAQ,EAAE,CACE,CACd,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ProgressTrackerStep.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/ProgressTrackerStep.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAyC5C,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAYjE,EAAE,EAAE;QAZ6D,EACjE,MAAM,GAAG,KAAK,EACd,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,UAAU,EACV,UAAU,OAEV,EADG,KAAK,cAXyD,gHAYjE,CADQ;IAER,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,GAAG,EAAE;QAC3B,IAAI,IAAI,KAAK,QAAQ;YACpB,OAAO,CACN,6BAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,EAAE,CAAO,CAC7D,CAAC;QACH,OAAO,6BAAK,SAAS,EAAC,6BAA6B,GAAG,CAAC;IACxD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO;QAC7B,IAAI,SAAS;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc,GAAG,CAAC;QACnD,IAAI,OAAO;YAAE,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,CAAC;QACzC,OAAO,UAAU,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO;QAClE,OAAO,6BAAK,SAAS,EAAC,4BAA4B,IAAE,KAAK,CAAO,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC5B,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,0BAA0B,GAAG,UAAU,CAC5C,qBAAqB,EACrB,SAAS,EACT;QACC,6BAA6B,EAAE,MAAM;QACrC,+BAA+B,EAAE,SAAS;QAC1C,iCAAiC,EAChC,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAClC,gCAAgC,EAC/B,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;QACtC,+BAA+B,EAAE,QAAQ;QACzC,8BAA8B,EAAE,OAAO;QACvC,iCAAiC,EAAE,UAAU;QAC7C,CAAC,wBAAwB,IAAI,EAAE,CAAC,EAAE,IAAI;KACtC,CACD,CAAC;IAEF,OAAO,CACN,oBAAC,WAAW,kBACX,SAAS,EAAE,0BAA0B,EACrC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,0BACvB,qBAAqB,EAC1C,IAAI,EAAE,CAAC,QAAQ,IAAI,IAAI,IACnB,KAAK;QAET,oBAAC,OAAO,IAAC,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,QAAC,SAAS,EAAC,GAAG,EAAC,EAAE,EAAC,KAAK,IAC7D,cAAc,EAAE,CACR;QACT,QAAQ,EAAE,CACE,CACd,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { Icon } from '../Icon';\nimport { Tooltip } from '../Tooltip';\nimport { useScreenSize } from '../../hooks';\n\nexport interface ProgressTrackerStepPropsStrict {\n\t/** Active State */\n\tactive?: boolean;\n\n\t/** Adds one or more classnames to an element */\n\tclassName?: string;\n\n\t/** Completed State */\n\tcompleted?: boolean;\n\n\t/** Disabled State */\n\tdisabled?: boolean;\n\n\t/** Editting State (for previously completed flows) */\n\tediting?: boolean;\n\n\t/** If passed a href string, <ProgressTracker.Step> gets a hover state and turns into an <a> tag */\n\thref?: string;\n\n\t/** The label for the <ProgressTracker.Step> */\n\tlabel?: string;\n\n\t/** If passed an onClick function, <ProgressTracker.Step> gets a hover state */\n\tonClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** The step number. Automatically set when inside <ProgressTracker> */\n\tstepNumber?: number;\n\n\thideLabels?: boolean;\n\n\t/** Size of the Progress Tracker step. Defaults to medium. */\n\tsize?: 'small' | 'medium';\n}\n\nexport interface ProgressTrackerStepProps\n\textends ProgressTrackerStepPropsStrict {\n\t[propName: string]: any;\n}\n\nexport const ProgressTrackerStep: FC<ProgressTrackerStepProps> = ({\n\tactive = false,\n\tclassName,\n\tcompleted = false,\n\tdisabled,\n\tediting,\n\thref,\n\tlabel,\n\tsize = 'medium',\n\tstepNumber,\n\thideLabels,\n\t...props\n}) => {\n\tconst screensize = useScreenSize();\n\n\tconst getStepContent = () => {\n\t\tif (size === 'medium')\n\t\t\treturn (\n\t\t\t\t<div className=\"ProgressTrackerStep__icon\">{getBadge()}</div>\n\t\t\t);\n\t\treturn <div className=\"ProgressTrackerStep__simple\" />;\n\t};\n\n\tconst getBadge = () => {\n\t\tif (size === 'small') return;\n\t\tif (completed) return <Icon name=\"check_circle\" />;\n\t\tif (editing) return <Icon name=\"edit\" />;\n\t\treturn stepNumber;\n\t};\n\n\tconst StepElement = href && !disabled ? 'a' : 'div';\n\n\tconst getLabel = () => {\n\t\tif (!label || hideLabels || screensize.smallerThan.tablet) return;\n\t\treturn <div className=\"ProgressTrackerStep__label\">{label}</div>;\n\t};\n\n\tconst getTooltipLabel = () => {\n\t\tif (screensize.smallerThan.tablet || hideLabels) return label;\n\t};\n\n\tconst ProgressTrackerStepClasses = classnames(\n\t\t'ProgressTrackerStep',\n\t\tclassName,\n\t\t{\n\t\t\t'ProgressTrackerStep--active': active,\n\t\t\t'ProgressTrackerStep--complete': completed,\n\t\t\t'ProgressTrackerStep--incomplete':\n\t\t\t\t!active && !completed && !editing,\n\t\t\t'ProgressTrackerStep--clickable':\n\t\t\t\thref != null || props.onClick != null,\n\t\t\t'ProgressTrackerStep--disabled': disabled,\n\t\t\t'ProgressTrackerStep--editing': editing,\n\t\t\t'ProgressTrackerStep--hideLabels': hideLabels,\n\t\t\t[`ProgressTrackerStep--${size}`]: size,\n\t\t}\n\t);\n\n\treturn (\n\t\t<StepElement\n\t\t\tclassName={ProgressTrackerStepClasses}\n\t\t\ttabIndex={(props.href || props.onClick) && 0}\n\t\t\tdata-anvil-component=\"ProgressTrackerStep\"\n\t\t\thref={!disabled && href}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Tooltip text={getTooltipLabel()} portal direction=\"b\" el=\"div\">\n\t\t\t\t{getStepContent()}\n\t\t\t</Tooltip>\n\t\t\t{getLabel()}\n\t\t</StepElement>\n\t);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ProgressTracker/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './ProgressTracker';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/components/Radio/Radio.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { Label, LabelProps } from '../Label';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\n\nexport interface RadioProps<T>\n\textends Omit<\n\t\tReact.HTMLAttributes<HTMLInputElement>,\n\t\t'onChange' | 'onClick'\n\t> {\n\t/** Whether or not the radio is chekced */\n\tchecked?: boolean;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Whether the radio is in a disabled state */\n\tdisabled?: boolean;\n\n\t/** Visual error state for the radio */\n\terror?: boolean;\n\n\t/** ID for the form */\n\tid?: string;\n\n\t/** Text associatged with the label of a checkbox */\n\tlabel?: LabelProps['children'];\n\n\t/** Property options for the label */\n\tlabelProps?: LabelProps;\n\n\t/** Calls when the radio changes in value */\n\tonChange?: (\n\t\tvalue: T,\n\t\tevent: React.SyntheticEvent<HTMLInputElement>\n\t) => void;\n\n\t/** Calls when the radio is clicked */\n\tonClick?: (\n\t\tevent: React.MouseEvent<HTMLInputElement>,\n\t\tdata: RadioProps<T>\n\t) => void;\n\n\t/** HTML radio name value */\n\tname?: string;\n\n\t/** Same as disabled state. Legacy Semantic prop. */\n\treadonly?: boolean;\n\n\t/** Controls the size of the radioes */\n\tsize?: 'small' | 'medium' | 'large';\n\n\t/** HTML radio value */\n\tvalue?: T;\n}\n\nexport const Radio: <T>(\n\tprops: React.PropsWithoutRef<RadioProps<T>> &\n\t\tReact.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null = React.forwardRef(function <T>(\n\tprops: RadioProps<T>,\n\tref: React.RefObject<HTMLDivElement>\n) {\n\tconst {\n\t\tchecked,\n\t\tclassName,\n\t\tdisabled,\n\t\terror,\n\t\tid,\n\t\tlabel,\n\t\tlabelProps,\n\t\tname,\n\t\tonChange,\n\t\tonClick,\n\t\treadonly,\n\t\tsize,\n\t\tvalue,\n\t\tonBlur,\n\t\tonFocus,\n\t\t...rest\n\t} = props;\n\n\tconst newRef = React.useRef(null);\n\tconst itemRef = ref ? ref : newRef;\n\n\tconst { isFocusVisible } = useFocusVisible(itemRef);\n\n\tconst onChangeHandler = (e: React.SyntheticEvent<HTMLInputElement>) => {\n\t\tif (onChange) {\n\t\t\tonChange(value, e);\n\t\t}\n\t};\n\n\tconst onClickHandler = (e: React.MouseEvent<HTMLInputElement>) => {\n\t\tif (onClick) {\n\t\t\tonClick(e, props);\n\t\t}\n\t};\n\n\tconst handleClickEvent = (e: React.MouseEvent<HTMLElement>) => {\n\t\tconst target = e.target as HTMLElement;\n\t\tif (target.tagName !== 'INPUT') {\n\t\t\te.stopPropagation();\n\t\t}\n\t};\n\n\tconst getLabel = () => {\n\t\tif (label === undefined || label === '') return false;\n\n\t\tconst labelClassName = labelProps?.className\n\t\t\t? labelProps.className\n\t\t\t: null;\n\t\tconst LabelClasses = classnames(labelClassName, 'Radio__label');\n\t\treturn (\n\t\t\t<Label\n\t\t\t\terror={error}\n\t\t\t\tdisabled={disabled}\n\t\t\t\t{...labelProps}\n\t\t\t\tclassName={LabelClasses}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</Label>\n\t\t);\n\t};\n\n\tconst RadioClasses = classnames('a-Radio', className, {\n\t\t'Radio--disabled': disabled || readonly,\n\t\t'Radio--checked': checked,\n\t\t'Radio--error': error,\n\t\t'Radio--fitted': label === undefined || label === '',\n\t\t'Radio--small': size === 'small',\n\t\t'Radio--large': size === 'large',\n\t\t'Radio--focus-visible': isFocusVisible,\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName={RadioClasses}\n\t\t\tonClick={handleClickEvent}\n\t\t\tref={itemRef}\n\t\t\tdata-anvil-component=\"Radio\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<label className=\"Radio__html-label\">\n\t\t\t\t<input\n\t\t\t\t\tchecked={checked}\n\t\t\t\t\tclassName=\"Radio__input\"\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tid={id}\n\t\t\t\t\tname={name}\n\t\t\t\t\tonChange={onChangeHandler}\n\t\t\t\t\tonClick={onClickHandler}\n\t\t\t\t\trole=\"radio\"\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t/>\n\t\t\t\t<span className=\"Radio__box\" />\n\t\t\t\t{getLabel()}\n\t\t\t</label>\n\t\t</div>\n\t);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.test.js","sourceRoot":"","sources":["../../../src/components/Radio/Radio.test.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IAE/B,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,oBAAC,KAAK,IAAC,KAAK,EAAC,OAAO,GAAG,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAChC,oBAAC,KAAK,IAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAG,CAC5D,CAAC;QACF,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,KAAK,IAAC,KAAK,EAAC,OAAO,mBAAe,qBAAqB,GAAG,CAC3D,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Radio.test.js","sourceRoot":"","sources":["../../../src/components/Radio/Radio.test.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACtB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IAE/B,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,oBAAC,KAAK,IAAC,KAAK,EAAC,OAAO,GAAG,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAC1D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAChC,oBAAC,KAAK,IAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAG,CAC5D,CAAC;QACF,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,KAAK,IAAC,KAAK,EAAC,OAAO,mBAAe,qBAAqB,GAAG,CAC3D,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { Radio } from './Radio';\n\ndescribe('Radio', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tconst user = userEvent.setup();\n\n\tit('should be checked on click', async () => {\n\t\tconst { getByLabelText } = render(<Radio label=\"Label\" />);\n\t\tconst radio = getByLabelText('Label') as HTMLInputElement;\n\t\texpect(radio.checked).toEqual(false);\n\t\tawait user.click(radio);\n\t\texpect(radio.checked).toEqual(true);\n\t});\n\n\tit('should return object on change', async () => {\n\t\tconst onChangeTest = jest.fn();\n\t\tconst { getByLabelText } = render(\n\t\t\t<Radio onChange={onChangeTest} value=\"test\" label=\"Label\" />\n\t\t);\n\t\tconst radio = getByLabelText('Label') as HTMLInputElement;\n\t\tawait user.click(radio);\n\t\texpect(onChangeTest).toBeCalledWith('test', expect.any(Object));\n\t});\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Radio label=\"Label\" data-auto-sel=\"automation-selector\" />\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Radio/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Radio/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC","sourcesContent":["export * from './Radio';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scroll.js","sourceRoot":"","sources":["../../../src/components/Scroll/Scroll.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAmClE,MAAM,CAAC,MAAM,MAAM,GAAoB,CAAC,EAWvC,EAAE,EAAE;QAXmC,EACvC,EAAE,EAAE,aAAa,GAAG,KAAK,EACzB,QAAQ,EACR,SAAS,EACT,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,QAAQ,EACf,UAAU,GAAG,MAAM,EACnB,QAAQ,GAAG,MAAM,EACjB,eAAe,GAAG,KAAK,EACvB,SAAS,OAET,EADG,KAAK,cAV+B,4GAWvC,CADQ;IAER,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,YAAY,GACjB,GAAG;QACH,KAAK;QACL,MAAM;QACN,IAAI;QACJ,UAAU,KAAK,QAAQ;QACvB,QAAQ,KAAK,QAAQ,CAAC;IAEvB,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;QACrD,CAAC,gBAAgB,UAAU,EAAE,CAAC,EAAE,UAAU;QAC1C,CAAC,gBAAgB,QAAQ,EAAE,CAAC,EAAE,QAAQ;QACtC,wBAAwB,EAAE,GAAG;QAC7B,0BAA0B,EAAE,KAAK;QACjC,2BAA2B,EAAE,MAAM;QACnC,yBAAyB,EAAE,IAAI;QAC/B,0BAA0B,EAAE,SAAS,KAAK,QAAQ;QAClD,qBAAqB,EAAE,CAAC,SAAS;QACjC,oBAAoB,EAAE,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CACf,6BAAK,SAAS,EAAC,iBAAiB;QAC/B,6BAAK,SAAS,EAAC,aAAa,GAAG;QAC/B,6BAAK,SAAS,EAAC,eAAe,GAAG;QACjC,6BAAK,SAAS,EAAC,gBAAgB,GAAG;QAClC,6BAAK,SAAS,EAAC,cAAc,GAAG,CAC3B,CACN,CAAC;IAEF,MAAM,MAAM,GAAwB;QACnC,QAAQ;QACR,SAAS;KACT,CAAC;IAEF,OAAO,CACN,oBAAC,aAAa,IACb,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,MAAM,0BACQ,QAAQ;QAE5B,eAAe,IAAI,OAAO;QAC3B,2CACC,SAAS,EAAC,mBAAmB,EAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACnD,GAAG,EAAE,YAAY,IACb,KAAK,GAER,QAAQ,CACJ,CACS,CAChB,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Scroll.js","sourceRoot":"","sources":["../../../src/components/Scroll/Scroll.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAmClE,MAAM,CAAC,MAAM,MAAM,GAAoB,CAAC,EAWvC,EAAE,EAAE;QAXmC,EACvC,EAAE,EAAE,aAAa,GAAG,KAAK,EACzB,QAAQ,EACR,SAAS,EACT,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,QAAQ,EACf,UAAU,GAAG,MAAM,EACnB,QAAQ,GAAG,MAAM,EACjB,eAAe,GAAG,KAAK,EACvB,SAAS,OAET,EADG,KAAK,cAV+B,4GAWvC,CADQ;IAER,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,YAAY,GACjB,GAAG;QACH,KAAK;QACL,MAAM;QACN,IAAI;QACJ,UAAU,KAAK,QAAQ;QACvB,QAAQ,KAAK,QAAQ,CAAC;IAEvB,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;QACrD,CAAC,gBAAgB,UAAU,EAAE,CAAC,EAAE,UAAU;QAC1C,CAAC,gBAAgB,QAAQ,EAAE,CAAC,EAAE,QAAQ;QACtC,wBAAwB,EAAE,GAAG;QAC7B,0BAA0B,EAAE,KAAK;QACjC,2BAA2B,EAAE,MAAM;QACnC,yBAAyB,EAAE,IAAI;QAC/B,0BAA0B,EAAE,SAAS,KAAK,QAAQ;QAClD,qBAAqB,EAAE,CAAC,SAAS;QACjC,oBAAoB,EAAE,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CACf,6BAAK,SAAS,EAAC,iBAAiB;QAC/B,6BAAK,SAAS,EAAC,aAAa,GAAG;QAC/B,6BAAK,SAAS,EAAC,eAAe,GAAG;QACjC,6BAAK,SAAS,EAAC,gBAAgB,GAAG;QAClC,6BAAK,SAAS,EAAC,cAAc,GAAG,CAC3B,CACN,CAAC;IAEF,MAAM,MAAM,GAAwB;QACnC,QAAQ;QACR,SAAS;KACT,CAAC;IAEF,OAAO,CACN,oBAAC,aAAa,IACb,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,MAAM,0BACQ,QAAQ;QAE5B,eAAe,IAAI,OAAO;QAC3B,2CACC,SAAS,EAAC,mBAAmB,EAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACnD,GAAG,EAAE,YAAY,IACb,KAAK,GAER,QAAQ,CACJ,CACS,CAChB,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { useScrollPosition } from '../../hooks/useScrollPosition';\n\n/**\n * Scroll properties\n */\nexport interface ScrollPropsStrict {\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Set the component HTML element. */\n\tel?: 'div' | 'pre' | 'nav' | 'form' | 'blockquote' | 'table';\n\n\t/** Maximum height. If undefined, height to be set 100% and must be restricted by external container. */\n\theight?: string;\n\n\t/** Control overflow-x behavior */\n\thorizontal?: 'auto' | 'hidden' | 'scroll';\n\n\t/** Hide scrollbar keepeng content scrollable */\n\tscrollbar?: 'hidden';\n\n\t/** Show or hide scroll shadows */\n\tscrollIndicator?: boolean;\n\n\t/** Control overflow-y behavior */\n\tvertical?: 'auto' | 'hidden' | 'scroll';\n\n\t/** Maximum width. If undefined, width to be set 100% and must be restricted by external container. */\n\twidth?: string;\n}\n\nexport interface ScrollProps extends ScrollPropsStrict {\n\t[propName: string]: any;\n}\n\nexport const Scroll: FC<ScrollProps> = ({\n\tel: ScrollElement = 'div',\n\tchildren,\n\tclassName,\n\theight: maxHeight,\n\twidth: maxWidth,\n\thorizontal = 'auto',\n\tvertical = 'auto',\n\tscrollIndicator = false,\n\tscrollbar,\n\t...props\n}) => {\n\tconst scrollbarRef = React.useRef(null);\n\tconst { top, right, bottom, left } = useScrollPosition(scrollbarRef);\n\tconst isScrollable =\n\t\ttop ||\n\t\tright ||\n\t\tbottom ||\n\t\tleft ||\n\t\thorizontal === 'scroll' ||\n\t\tvertical === 'scroll';\n\n\tconst ScrollClasses = classnames('Scroll', className, {\n\t\t[`Scroll--of-x-${horizontal}`]: horizontal,\n\t\t[`Scroll--of-y-${vertical}`]: vertical,\n\t\t'Scroll--scrollable-top': top,\n\t\t'Scroll--scrollable-right': right,\n\t\t'Scroll--scrollable-bottom': bottom,\n\t\t'Scroll--scrollable-left': left,\n\t\t'Scroll--hidden-scrollbar': scrollbar === 'hidden', // Content is scrollable without visible scrollbar\n\t\t'Scroll--height-auto': !maxHeight,\n\t\t'Scroll--width-auto': !maxWidth,\n\t});\n\n\tconst shadows = (\n\t\t<div className=\"Scroll__Shadows\">\n\t\t\t<div className=\"Shadow--top\" />\n\t\t\t<div className=\"Shadow--right\" />\n\t\t\t<div className=\"Shadow--bottom\" />\n\t\t\t<div className=\"Shadow--left\" />\n\t\t</div>\n\t);\n\n\tconst styles: React.CSSProperties = {\n\t\tmaxWidth,\n\t\tmaxHeight,\n\t};\n\n\treturn (\n\t\t<ScrollElement\n\t\t\tclassName={ScrollClasses}\n\t\t\tstyle={styles}\n\t\t\tdata-anvil-component=\"Scroll\"\n\t\t>\n\t\t\t{scrollIndicator && shadows}\n\t\t\t<div\n\t\t\t\tclassName=\"Scroll__Scrollbar\"\n\t\t\t\ttabIndex={props.tabIndex || isScrollable ? 0 : null}\n\t\t\t\tref={scrollbarRef}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</ScrollElement>\n\t);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scroll.test.js","sourceRoot":"","sources":["../../../src/components/Scroll/Scroll.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,IACN,EAAE,EAAC,KAAK,EACR,MAAM,EAAC,SAAS,EAChB,KAAK,EAAC,KAAK,EACX,eAAe,yBACD,qBAAqB;YAEnC,oBAAC,QAAQ,qCAAsC;YAC/C,oBAAC,QAAQ,IAAC,SAAS,EAAC,OAAO,iCAEhB;YACX,oBAAC,QAAQ,IAAC,SAAS,EAAC,OAAO,iCAEhB,CACH,CACT,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Scroll.test.js","sourceRoot":"","sources":["../../../src/components/Scroll/Scroll.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,IACN,EAAE,EAAC,KAAK,EACR,MAAM,EAAC,SAAS,EAChB,KAAK,EAAC,KAAK,EACX,eAAe,yBACD,qBAAqB;YAEnC,oBAAC,QAAQ,qCAAsC;YAC/C,oBAAC,QAAQ,IAAC,SAAS,EAAC,OAAO,iCAEhB;YACX,oBAAC,QAAQ,IAAC,SAAS,EAAC,OAAO,iCAEhB,CACH,CACT,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Scroll } from './Scroll';\nimport { BodyText } from '../BodyText';\n\ndescribe('Scroll', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Scroll\n\t\t\t\tel=\"div\"\n\t\t\t\theight=\"148.5px\"\n\t\t\t\twidth=\"50%\"\n\t\t\t\tscrollIndicator\n\t\t\t\tdata-auto-sel=\"automation-selector\"\n\t\t\t>\n\t\t\t\t<BodyText>Lorem ipsum dolor sit amet</BodyText>\n\t\t\t\t<BodyText className=\"m-t-2\">\n\t\t\t\t\tLorem ipsum dolor sit amet\n\t\t\t\t</BodyText>\n\t\t\t\t<BodyText className=\"m-t-2\">\n\t\t\t\t\tLorem ipsum dolor sit amet\n\t\t\t\t</BodyText>\n\t\t\t</Scroll>\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Scroll/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Scroll/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC","sourcesContent":["export * from './Scroll';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC, Component } from 'react';\nimport classnames from 'classnames';\nimport memoizeOne from 'memoize-one';\nimport {\n\tDropdownItemProps,\n\tDropdownOnSearchChangeData,\n} from 'semantic-ui-react';\nimport { Dropdown, DropdownProps } from '../Dropdown';\n\ninterface GroupedSelectItemProps extends DropdownItemProps {\n\tgroup?: string;\n\tindex?: number;\n}\n\nconst GroupedSelectItem: FC<GroupedSelectItemProps> = (props) => {\n\tconst content = props.content !== undefined ? props.content : props.text;\n\treturn (\n\t\t<React.Fragment>\n\t\t\t{props.index === 0 && props.group && (\n\t\t\t\t<div className=\"group\">{props.group}</div>\n\t\t\t)}\n\n\t\t\t<span className=\"text\">{content}</span>\n\t\t</React.Fragment>\n\t);\n};\n\ninterface SelectState {\n\tsearchQuery?: SelectProps['searchQuery'];\n}\n\nexport interface SelectProps extends DropdownProps {\n\t/** Set size of the select.<br /> Possible values: <i>'large'</i>, <i>'small'</i> */\n\tsize?: 'small' | 'medium' | 'large';\n\n\t/** Shortcut for large-sized select */\n\tlarge?: boolean;\n\n\t/** Shortcut for small-sized select */\n\tsmall?: boolean;\n\n\t/** Array of items in Select */\n\toptions: DropdownItemProps[];\n\n\t/** Allow for grouping of Select options */\n\tgrouped?: boolean;\n}\n\nexport class Select extends Component<SelectProps, SelectState> {\n\tstatic defaultProps = {\n\t\tselection: true,\n\t\tsize: 'medium',\n\t};\n\n\tstatic displayName = 'Select';\n\n\tget searchQuery() {\n\t\treturn this.props.hasOwnProperty('searchQuery')\n\t\t\t? this.props.searchQuery\n\t\t\t: this.props.grouped\n\t\t\t? this.state.searchQuery\n\t\t\t: undefined;\n\t}\n\n\tget options() {\n\t\tif (!this.props.grouped) {\n\t\t\treturn this.props.options;\n\t\t}\n\n\t\treturn this.memoizedOptions(\n\t\t\tthis.props.options,\n\t\t\tthis.searchQuery,\n\t\t\tthis.props.value,\n\t\t\tthis.props.multiple\n\t\t);\n\t}\n\n\tmemoizedOptions = memoizeOne(\n\t\t(\n\t\t\toptions: DropdownItemProps[],\n\t\t\tsearchQuery?: SelectProps['searchQuery'],\n\t\t\tvalue?: SelectProps['value'],\n\t\t\tmultiple?: boolean\n\t\t) => {\n\t\t\tconst splitedOptions = this.splitOptions(\n\t\t\t\toptions,\n\t\t\t\tsearchQuery,\n\t\t\t\tvalue,\n\t\t\t\tmultiple\n\t\t\t);\n\n\t\t\treturn [\n\t\t\t\t...this.groupOptions(splitedOptions.available),\n\t\t\t\t...splitedOptions.selected,\n\t\t\t\t...splitedOptions.excluded,\n\t\t\t];\n\t\t}\n\t);\n\n\tconstructor(props: SelectProps) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tsearchQuery: '',\n\t\t};\n\t}\n\n\thandleChange = (\n\t\tevent: React.SyntheticEvent<HTMLElement>,\n\t\tdata: DropdownProps\n\t) => {\n\t\t/*\n\t\t * search query is cleared every time Select is closed,\n\t\t * so if this.props.multiple !== true search query will be an empty string anyway\n\t\t * because Select will be closed after an element is selected\n\t\t */\n\t\tif (this.searchQuery && this.props.multiple) {\n\t\t\tconst splittedOptions = this.splitOptions(\n\t\t\t\tthis.props.options,\n\t\t\t\tthis.searchQuery,\n\t\t\t\tdata.value,\n\t\t\t\tthis.props.multiple\n\t\t\t);\n\n\t\t\t// Semantic UI resets filter (without event firing) when selected last filtered element\n\t\t\tif (splittedOptions.available.length === 0) {\n\t\t\t\tconst searchData = { ...data, searchQuery: '' };\n\n\t\t\t\tthis.handleSearchChange(event, searchData);\n\t\t\t}\n\t\t}\n\n\t\tdata.value = data.value === '' ? undefined : data.value;\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, data);\n\t\t}\n\t};\n\n\thandleSearchChange = (\n\t\tevent: React.SyntheticEvent<HTMLElement>,\n\t\tdata: DropdownOnSearchChangeData\n\t) => {\n\t\tif (this.props.grouped && !this.props.hasOwnProperty('searchQuery')) {\n\t\t\tthis.setState({\n\t\t\t\tsearchQuery: data.searchQuery,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSearchChange) {\n\t\t\tthis.props.onSearchChange(event, data);\n\t\t}\n\t};\n\n\t// Semantic UI resets filter (without event firing) on select close\n\thandleClose = (\n\t\tevent: React.SyntheticEvent<HTMLElement>,\n\t\tdata: DropdownProps\n\t) => {\n\t\tconst searchData = { ...data, searchQuery: '' };\n\t\tthis.handleSearchChange(event, searchData);\n\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, data);\n\t\t}\n\t};\n\n\tisOptionSuitable(\n\t\toption: DropdownItemProps,\n\t\tsearchQuery: SelectProps['searchQuery']\n\t) {\n\t\tif (option.text == null) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn option.text\n\t\t\t.toString()\n\t\t\t.toLowerCase()\n\t\t\t.includes(searchQuery.toLowerCase());\n\t}\n\n\tsplitOptions = memoizeOne(\n\t\t(\n\t\t\toptions: DropdownItemProps[],\n\t\t\tsearchQuery?: SelectProps['searchQuery'],\n\t\t\tvalue?: SelectProps['value'],\n\t\t\tmultiple?: boolean\n\t\t) => {\n\t\t\tconst available: DropdownItemProps[] = [];\n\t\t\tconst selected: DropdownItemProps[] = [];\n\t\t\tconst excluded: DropdownItemProps[] = [];\n\n\t\t\tfor (const option of options) {\n\t\t\t\tif (multiple) {\n\t\t\t\t\tif (Array.isArray(value) && value.includes(option.value)) {\n\t\t\t\t\t\tselected.push(option);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!searchQuery ||\n\t\t\t\t\tthis.isOptionSuitable(option, searchQuery)\n\t\t\t\t) {\n\t\t\t\t\tavailable.push(option);\n\t\t\t\t} else {\n\t\t\t\t\texcluded.push(option);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tavailable,\n\t\t\t\tselected,\n\t\t\t\texcluded,\n\t\t\t} as Record<\n\t\t\t\t'available' | 'selected' | 'excluded',\n\t\t\t\tDropdownItemProps[]\n\t\t\t>;\n\t\t}\n\t);\n\n\tgroupOptions = (options: DropdownItemProps[]) => {\n\t\tconst groups = options.reduce((result, current) => {\n\t\t\tconst group: string = current.group || ('' as string);\n\n\t\t\tif (!result[group]) {\n\t\t\t\tresult[group] = [];\n\t\t\t}\n\n\t\t\tresult[group].push(current);\n\n\t\t\treturn result;\n\t\t}, {} as Record<string, DropdownItemProps[]>);\n\n\t\treturn [].concat(\n\t\t\t// building flat list of options\n\t\t\t...Object.keys(groups)\n\t\t\t\t.sort()\n\t\t\t\t.map(\n\t\t\t\t\t// sorting groups and converting them to the collection\n\t\t\t\t\t(group) =>\n\t\t\t\t\t\tgroups[group].map((option, index) => ({\n\t\t\t\t\t\t\t...option,\n\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\tclassName: classnames(\n\t\t\t\t\t\t\t\toption.className,\n\t\t\t\t\t\t\t\tindex === 0 && 'with-group'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t\t<GroupedSelectItem index={index} {...option} />\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}))\n\t\t\t\t)\n\t\t) as GroupedSelectItemProps[];\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tgrouped,\n\t\t\tlarge,\n\t\t\tonChange,\n\t\t\tonClose,\n\t\t\tonSearchChange,\n\t\t\toptions,\n\t\t\tsize,\n\t\t\tsmall,\n\t\t\tvalue,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\tlet realSize = size;\n\n\t\tif (small) realSize = 'small';\n\t\tif (large) realSize = 'large';\n\n\t\tconst SelectClasses = classnames('Select', className, {\n\t\t\t'Select--small': realSize === 'small',\n\t\t\t'Select--large': realSize === 'large',\n\t\t\t'Select--grouped': grouped,\n\t\t});\n\n\t\tconst realValue =\n\t\t\tvalue === undefined ? (this.props.multiple ? [] : '') : value;\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\t{...props}\n\t\t\t\toptions={this.options}\n\t\t\t\tvalue={realValue}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonSearchChange={this.handleSearchChange}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tclassName={SelectClasses}\n\t\t\t/>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.test.js","sourceRoot":"","sources":["../../../src/components/Select/Select.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,IACN,OAAO,EAAE;gBACR,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;aACtC,EACD,WAAW,EAAC,eAAe,mBACb,qBAAqB,GAClC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Select.test.js","sourceRoot":"","sources":["../../../src/components/Select/Select.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,IACN,OAAO,EAAE;gBACR,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;gBACtC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;aACtC,EACD,WAAW,EAAC,eAAe,mBACb,qBAAqB,GAClC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Select } from './Select';\n\ndescribe('Select', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Select\n\t\t\t\toptions={[\n\t\t\t\t\t{ key: 1, value: 1, text: 'Option 1' },\n\t\t\t\t\t{ key: 2, value: 2, text: 'Option 2' },\n\t\t\t\t\t{ key: 3, value: 3, text: 'Option 3' },\n\t\t\t\t\t{ key: 4, value: 4, text: 'Option 4' },\n\t\t\t\t\t{ key: 5, value: 5, text: 'Option 5' },\n\t\t\t\t\t{ key: 6, value: 6, text: 'Option 6' },\n\t\t\t\t\t{ key: 7, value: 7, text: 'Option 7' },\n\t\t\t\t\t{ key: 8, value: 8, text: 'Option 8' },\n\t\t\t\t\t{ key: 9, value: 9, text: 'Option 9' },\n\t\t\t\t]}\n\t\t\t\tplaceholder=\"Choose Option\"\n\t\t\t\tdata-auto-sel=\"automation-selector\"\n\t\t\t/>\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC","sourcesContent":["export * from './Select';\n"]}
|
|
@@ -7,6 +7,7 @@ import { SideNavGroup } from './SideNavGroup';
|
|
|
7
7
|
export interface SideNavPropsStrict {
|
|
8
8
|
/** Adds one or more classnames for an element */
|
|
9
9
|
className?: string;
|
|
10
|
+
children?: React.ReactNode;
|
|
10
11
|
/** Sets the Title for the Navigation List */
|
|
11
12
|
title?: React.ReactNode;
|
|
12
13
|
}
|
|
@@ -11,24 +11,39 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import classnames from 'classnames';
|
|
14
|
-
import { FocusScope } from '@react-aria/focus';
|
|
15
14
|
import { SideNavItem, SideNavItemContext } from './SideNavItem';
|
|
16
15
|
import { SideNavGroup } from './SideNavGroup';
|
|
17
16
|
import { Headline } from '../Headline';
|
|
18
17
|
import { CollapsibleList } from '../../internal/CollapsibleList';
|
|
18
|
+
import { useArrowNav } from '../../hooks/useArrowNav';
|
|
19
19
|
export const SideNav = (_a) => {
|
|
20
20
|
var { children, className, title, 'data-anvil-component': dataAnvilComponent } = _a, rest = __rest(_a, ["children", "className", "title", 'data-anvil-component']);
|
|
21
21
|
const sideNavItemContext = React.useContext(SideNavItemContext);
|
|
22
22
|
const SideNavClasses = classnames('SideNav', className);
|
|
23
|
+
const containerRef = useArrowNav({
|
|
24
|
+
loop: false,
|
|
25
|
+
onKeyDown: handleArrowKeys,
|
|
26
|
+
});
|
|
23
27
|
// Nested SideNav
|
|
24
28
|
if (sideNavItemContext)
|
|
25
29
|
return (React.createElement(CollapsibleList, Object.assign({ className: SideNavClasses, el: "div" }, rest),
|
|
26
30
|
React.createElement("menu", { className: "SideNav__list" }, children)));
|
|
27
|
-
return (React.createElement(
|
|
28
|
-
React.createElement("div",
|
|
29
|
-
|
|
30
|
-
React.createElement("menu", { className: "SideNav__list" }, children))));
|
|
31
|
+
return (React.createElement("div", Object.assign({ className: SideNavClasses, "data-anvil-component": "SideNav", ref: containerRef }, rest),
|
|
32
|
+
title !== undefined && (React.createElement(Headline, { el: "div", className: "SideNav__title", size: "small" }, title)),
|
|
33
|
+
React.createElement("menu", { className: "SideNav__list" }, children)));
|
|
31
34
|
};
|
|
32
35
|
SideNav.Item = SideNavItem;
|
|
33
36
|
SideNav.Group = SideNavGroup;
|
|
37
|
+
const handleArrowKeys = (e, data) => {
|
|
38
|
+
var _a, _b, _c, _d, _e, _f;
|
|
39
|
+
const itemClasses = (_b = (_a = data === null || data === void 0 ? void 0 : data.active) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.classList;
|
|
40
|
+
const isExpanded = itemClasses === null || itemClasses === void 0 ? void 0 : itemClasses.contains('CollapsibleListItem--expanded');
|
|
41
|
+
const expandedItem = (_f = (_e = (_d = (_c = data === null || data === void 0 ? void 0 : data.active) === null || _c === void 0 ? void 0 : _c.closest) === null || _d === void 0 ? void 0 : _d.call(_c, '.CollapsibleListItem--expanded')) === null || _e === void 0 ? void 0 : _e.querySelector) === null || _f === void 0 ? void 0 : _f.call(_e, '.SideNavItem__button--expanded');
|
|
42
|
+
if (e.key === 'ArrowLeft' || e.key === 'ArrowRight')
|
|
43
|
+
data.disableOnce(); // Prevent focus move on left-right
|
|
44
|
+
if (isExpanded && e.key === 'ArrowRight')
|
|
45
|
+
data.next.focus(); // Move focus to first focusable
|
|
46
|
+
if (expandedItem && e.key === 'ArrowLeft')
|
|
47
|
+
expandedItem === null || expandedItem === void 0 ? void 0 : expandedItem.focus(); // Move focus to closest expanded
|
|
48
|
+
};
|
|
34
49
|
//# sourceMappingURL=SideNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNav.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"SideNav.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNav.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA0BtD,MAAM,CAAC,MAAM,OAAO,GAAY,CAAC,EAMhC,EAAE,EAAE;QAN4B,EAChC,QAAQ,EACR,SAAS,EACT,KAAK,EACL,sBAAsB,EAAE,kBAAkB,OAE1C,EADG,IAAI,cALyB,0DAMhC,CADO;IAEP,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,eAAe;KAC1B,CAAC,CAAC;IAEH,iBAAiB;IACjB,IAAI,kBAAkB;QACrB,OAAO,CACN,oBAAC,eAAe,kBAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAC,KAAK,IAAK,IAAI;YAC5D,8BAAM,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAQ,CAChC,CAClB,CAAC;IAEH,OAAO,CACN,2CACC,SAAS,EAAE,cAAc,0BACJ,SAAS,EAC9B,GAAG,EAAE,YAAY,IACb,IAAI;QAEP,KAAK,KAAK,SAAS,IAAI,CACvB,oBAAC,QAAQ,IAAC,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,gBAAgB,EAAC,IAAI,EAAC,OAAO,IACxD,KAAK,CACI,CACX;QACD,8BAAM,SAAS,EAAC,eAAe,IAAE,QAAQ,CAAQ,CAC5C,CACN,CAAC;AACH,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;AAC3B,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;AAE7B,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAE,IAAS,EAAE,EAAE;;IACvD,MAAM,WAAW,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,aAAa,0CAAE,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAC9B,OAAO,mDAAG,gCAAgC,CAAC,0CAC3C,aAAa,mDAAG,gCAAgC,CAAC,CAAC;IAErD,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY;QAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,mCAAmC;IAC5G,IAAI,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY;QAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,gCAAgC;IAC7F,IAAI,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW;QAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,EAAE,CAAC,CAAC,iCAAiC;AACpG,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\n\nimport { SideNavItem, SideNavItemContext } from './SideNavItem';\nimport { SideNavGroup } from './SideNavGroup';\nimport { Headline } from '../Headline';\nimport { CollapsibleList } from '../../internal/CollapsibleList';\nimport { useArrowNav } from '../../hooks/useArrowNav';\n\n/**\n * SideNav properties\n */\nexport interface SideNavPropsStrict {\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\tchildren?: React.ReactNode;\n\n\t/** Sets the Title for the Navigation List */\n\ttitle?: React.ReactNode;\n}\n\nexport interface SideNavProps extends SideNavPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport interface SideNav extends FC<SideNavProps> {\n\t/** Subcomponents */\n\tItem: typeof SideNavItem;\n\tGroup: typeof SideNavGroup;\n}\n\nexport const SideNav: SideNav = ({\n\tchildren,\n\tclassName,\n\ttitle,\n\t'data-anvil-component': dataAnvilComponent,\n\t...rest\n}) => {\n\tconst sideNavItemContext = React.useContext(SideNavItemContext);\n\tconst SideNavClasses = classnames('SideNav', className);\n\tconst containerRef = useArrowNav({\n\t\tloop: false,\n\t\tonKeyDown: handleArrowKeys,\n\t});\n\n\t// Nested SideNav\n\tif (sideNavItemContext)\n\t\treturn (\n\t\t\t<CollapsibleList className={SideNavClasses} el=\"div\" {...rest}>\n\t\t\t\t<menu className=\"SideNav__list\">{children}</menu>\n\t\t\t</CollapsibleList>\n\t\t);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={SideNavClasses}\n\t\t\tdata-anvil-component=\"SideNav\"\n\t\t\tref={containerRef}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{title !== undefined && (\n\t\t\t\t<Headline el=\"div\" className=\"SideNav__title\" size=\"small\">\n\t\t\t\t\t{title}\n\t\t\t\t</Headline>\n\t\t\t)}\n\t\t\t<menu className=\"SideNav__list\">{children}</menu>\n\t\t</div>\n\t);\n};\n\nSideNav.Item = SideNavItem;\nSideNav.Group = SideNavGroup;\n\nconst handleArrowKeys = (e: KeyboardEvent, data: any) => {\n\tconst itemClasses = data?.active?.parentElement?.classList;\n\tconst isExpanded = itemClasses?.contains('CollapsibleListItem--expanded');\n\tconst expandedItem = data?.active\n\t\t?.closest?.('.CollapsibleListItem--expanded')\n\t\t?.querySelector?.('.SideNavItem__button--expanded');\n\n\tif (e.key === 'ArrowLeft' || e.key === 'ArrowRight') data.disableOnce(); // Prevent focus move on left-right\n\tif (isExpanded && e.key === 'ArrowRight') data.next.focus(); // Move focus to first focusable\n\tif (expandedItem && e.key === 'ArrowLeft') expandedItem?.focus(); // Move focus to closest expanded\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNav.test.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNav.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,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,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,OAAO,IAAC,KAAK,EAAC,WAAW,mBAAe,qBAAqB;YAC7D,oBAAC,OAAO,CAAC,IAAI,oBAAyB;YACtC,oBAAC,OAAO,CAAC,IAAI,oBAAyB;YACtC,oBAAC,OAAO,CAAC,IAAI,iBAAsB;YACnC,oBAAC,OAAO,CAAC,IAAI,oBAAyB,CAC7B,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,OAAO,IAAC,KAAK,EAAC,WAAW;YACzB,oBAAC,OAAO,CAAC,IAAI,qBAAe,qBAAqB,gBAElC;YACf,oBAAC,OAAO,CAAC,IAAI,oBAAyB;YACtC,oBAAC,OAAO,CAAC,IAAI,iBAAsB;YACnC,oBAAC,OAAO,CAAC,IAAI,oBAAyB,CAC7B,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"SideNav.test.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNav.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,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,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,OAAO,IAAC,KAAK,EAAC,WAAW,mBAAe,qBAAqB;YAC7D,oBAAC,OAAO,CAAC,IAAI,oBAAyB;YACtC,oBAAC,OAAO,CAAC,IAAI,oBAAyB;YACtC,oBAAC,OAAO,CAAC,IAAI,iBAAsB;YACnC,oBAAC,OAAO,CAAC,IAAI,oBAAyB,CAC7B,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,OAAO,IAAC,KAAK,EAAC,WAAW;YACzB,oBAAC,OAAO,CAAC,IAAI,qBAAe,qBAAqB,gBAElC;YACf,oBAAC,OAAO,CAAC,IAAI,oBAAyB;YACtC,oBAAC,OAAO,CAAC,IAAI,iBAAsB;YACnC,oBAAC,OAAO,CAAC,IAAI,oBAAyB,CAC7B,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { SideNav } from './SideNav';\n\ndescribe('SideNav', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<SideNav title=\"Marketing\" data-auto-sel=\"automation-selector\">\n\t\t\t\t<SideNav.Item>Dashboard</SideNav.Item>\n\t\t\t\t<SideNav.Item>Campaigns</SideNav.Item>\n\t\t\t\t<SideNav.Item>Emails</SideNav.Item>\n\t\t\t\t<SideNav.Item>Audiences</SideNav.Item>\n\t\t\t</SideNav>\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<SideNav title=\"Marketing\">\n\t\t\t\t<SideNav.Item data-auto-sel=\"automation-selector\">\n\t\t\t\t\tDashboard\n\t\t\t\t</SideNav.Item>\n\t\t\t\t<SideNav.Item>Campaigns</SideNav.Item>\n\t\t\t\t<SideNav.Item>Emails</SideNav.Item>\n\t\t\t\t<SideNav.Item>Audiences</SideNav.Item>\n\t\t\t</SideNav>\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavGroup.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkBrC,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAKnD,EAAE,EAAE;QAL+C,EACnD,QAAQ,EACR,SAAS,EACT,KAAK,OAEL,EADG,KAAK,cAJ2C,kCAKnD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEjE,OAAO,CACN,0CACC,SAAS,EAAE,kBAAkB,0BACR,cAAc,IAC/B,KAAK;QAER,KAAK,KAAK,SAAS,IAAI,CACvB,oBAAC,OAAO,IAAC,SAAS,EAAC,qBAAqB,EAAC,IAAI,EAAC,QAAQ,IACpD,KAAK,CACG,CACV;QACD,8BAAM,SAAS,EAAC,oBAAoB,IAAE,QAAQ,CAAQ,CAClD,CACL,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"SideNavGroup.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkBrC,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAKnD,EAAE,EAAE;QAL+C,EACnD,QAAQ,EACR,SAAS,EACT,KAAK,OAEL,EADG,KAAK,cAJ2C,kCAKnD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAEjE,OAAO,CACN,0CACC,SAAS,EAAE,kBAAkB,0BACR,cAAc,IAC/B,KAAK;QAER,KAAK,KAAK,SAAS,IAAI,CACvB,oBAAC,OAAO,IAAC,SAAS,EAAC,qBAAqB,EAAC,IAAI,EAAC,QAAQ,IACpD,KAAK,CACG,CACV;QACD,8BAAM,SAAS,EAAC,oBAAoB,IAAE,QAAQ,CAAQ,CAClD,CACL,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { Eyebrow } from '../Eyebrow';\n\n/**\n * SideNavItem properties\n */\nexport interface SideNavGroupPropsStrict {\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Add Title to group */\n\ttitle?: React.ReactNode;\n}\n\nexport interface SideNavGroupProps extends SideNavGroupPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport const SideNavGroup: FC<SideNavGroupProps> = ({\n\tchildren,\n\tclassName,\n\ttitle,\n\t...props\n}) => {\n\tconst SideNavItemClasses = classnames('SideNavGroup', className);\n\n\treturn (\n\t\t<li\n\t\t\tclassName={SideNavItemClasses}\n\t\t\tdata-anvil-component=\"SideNavGroup\"\n\t\t\t{...props}\n\t\t>\n\t\t\t{title !== undefined && (\n\t\t\t\t<Eyebrow className=\"SideNavGroup__title\" size=\"medium\">\n\t\t\t\t\t{title}\n\t\t\t\t</Eyebrow>\n\t\t\t)}\n\t\t\t<menu className=\"SideNavGroup__list\">{children}</menu>\n\t\t</li>\n\t);\n};\n"]}
|
|
@@ -57,8 +57,10 @@
|
|
|
57
57
|
.SideNavItem > .SideNavItem__button:active:not(:focus-within) {
|
|
58
58
|
background-color: var(--colorsActiveDefault, rgba(20, 20, 20, 0.2));
|
|
59
59
|
}
|
|
60
|
-
.SideNavItem > .SideNavItem__button.SideNavItem__button
|
|
60
|
+
.SideNavItem > .SideNavItem__button:focus, .SideNavItem > .SideNavItem__button:focus-visible {
|
|
61
61
|
outline: none;
|
|
62
|
+
}
|
|
63
|
+
.SideNavItem > .SideNavItem__button:focus-visible {
|
|
62
64
|
box-shadow: inset 0 0 0 2px var(--colorsFocusRingPrimary, #78bbfa);
|
|
63
65
|
}
|
|
64
66
|
.SideNavItem > .SideNavItem__button > .SideNavItem__button__prefix,
|
|
@@ -80,7 +82,7 @@
|
|
|
80
82
|
}
|
|
81
83
|
.SideNavItem.SideNavItem--disabled > .SideNavItem__button {
|
|
82
84
|
background-color: transparent !important;
|
|
83
|
-
opacity: 0.
|
|
85
|
+
opacity: 0.6;
|
|
84
86
|
pointer-events: none;
|
|
85
87
|
}
|
|
86
88
|
.SideNavItem.SideNavItem--active > .SideNavItem__button:not(.SideNavItem__button--expanded) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss","../../../src/components/SideNav/SideNavItem.scss"],"names":[],"mappings":"AAAA;ACUA;ACPC;EACA;AAEA;EACA;EDMA;EACA,OARc;EASd,SEgHW;;AF9GX;EAAI;;AAGJ;EAAW;;;AAGZ;EACC;EACA,eEsGW;EFrGX;EACA,OAnBoB;;AAqBpB;EACC,aEgGU;EF/FV;;;AAIF;EGlCC;EACA;EACA;EACA;EACA;;;ACaD;EACC;EACA;;AAEA;EACC,eFFgB;EEGhB,OJlBa;EImBb,aFmFoB;EElFpB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EAAU,YA5BO;;AA6BjB;EAA8B,kBA5BZ;;AA8BlB;EACC
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss","../../../src/components/SideNav/SideNavItem.scss"],"names":[],"mappings":"AAAA;ACUA;ACPC;EACA;AAEA;EACA;EDMA;EACA,OARc;EASd,SEgHW;;AF9GX;EAAI;;AAGJ;EAAW;;;AAGZ;EACC;EACA,eEsGW;EFrGX;EACA,OAnBoB;;AAqBpB;EACC,aEgGU;EF/FV;;;AAIF;EGlCC;EACA;EACA;EACA;EACA;;;ACaD;EACC;EACA;;AAEA;EACC,eFFgB;EEGhB,OJlBa;EImBb,aFmFoB;EElFpB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EAAU,YA5BO;;AA6BjB;EAA8B,kBA5BZ;;AA8BlB;EACkB;;AAElB;EACC,YA7Ba;;AAgCd;AAAA;AAAA;EAGC;EACA;EACA;;AAGD;EAAiC,cFyEvB;;AExEV;EAAiC,aFwEvB;;AEtEV;EACC;EACA;;AAKD;EACC;EACA,SFiDgB;EEhDhB;;AAKD;EACC,kBA/DmB;EAgEnB,OApEW;;AAsEX;EAAkC;;AAElC;EACC;EACA;;AAKH;EAAiE;;AAGjE;EACC;;AAKA;EAA+B;;;AAKjC;EACC;EACA;;AAEA;EAAmC;;;AAOlC;AAAA;EAAU;;AAGX;EAAe;;AAEf;EACC;EACA;;AAGD;EAA8B;;AAC9B;EAAW;;AAEX;EACC,aFGU;EEFV","file":"SideNavItem.css"}
|
|
@@ -6,6 +6,7 @@ export interface SideNavItemPropsStrict {
|
|
|
6
6
|
active?: boolean;
|
|
7
7
|
/** Adds one or more classnames for an element */
|
|
8
8
|
className?: string;
|
|
9
|
+
children?: React.ReactNode;
|
|
9
10
|
/**
|
|
10
11
|
* If provided, item to be rendered as collapsible menu (accordion).
|
|
11
12
|
* In this case one nested SideNav must be provided inside children.
|
|
@@ -11,11 +11,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import classnames from 'classnames';
|
|
14
|
-
import { useFocusManager } from '@react-aria/focus';
|
|
15
14
|
import { BodyText } from '../BodyText';
|
|
16
15
|
import { Icon } from '../Icon';
|
|
17
16
|
import { keys } from '../../utilities/keyCodes';
|
|
18
|
-
import { useFocusVisible } from '../../hooks/useFocusVisible';
|
|
19
17
|
import { CollapsibleContext, CollapsibleList, } from '../../internal';
|
|
20
18
|
export const SideNavItem = (_a) => {
|
|
21
19
|
var props = __rest(_a, []);
|
|
@@ -26,14 +24,14 @@ export const SideNavItem = (_a) => {
|
|
|
26
24
|
});
|
|
27
25
|
const sideNavItemContext = React.useContext(SideNavItemContext);
|
|
28
26
|
if (props.collapsible || sideNavItemContext) {
|
|
29
|
-
const
|
|
27
|
+
const realCollapsible = props.collapsible === true
|
|
30
28
|
? {
|
|
31
29
|
expanded: false,
|
|
32
30
|
animate: true,
|
|
33
31
|
extractCollapsibleList: true,
|
|
34
32
|
}
|
|
35
33
|
: Object.assign(Object.assign({}, props.collapsible), { extractCollapsibleList: true });
|
|
36
|
-
return (React.createElement(CollapsibleList.Item, { el: "li", collapsible: collapsible, className: SideNavItemClasses, "data-anvil-component": "SideNavItem" },
|
|
34
|
+
return (React.createElement(CollapsibleList.Item, { el: "li", collapsible: props.collapsible && realCollapsible, className: SideNavItemClasses, "data-anvil-component": "SideNavItem" },
|
|
37
35
|
React.createElement(SideNavItemButton, Object.assign({}, rest))));
|
|
38
36
|
}
|
|
39
37
|
return (React.createElement("li", { className: SideNavItemClasses, "data-anvil-component": "SideNavItem" },
|
|
@@ -43,55 +41,25 @@ export const SideNavItem = (_a) => {
|
|
|
43
41
|
* SideNav Item's Button
|
|
44
42
|
*/
|
|
45
43
|
const SideNavItemButton = (_a) => {
|
|
46
|
-
var { active
|
|
44
|
+
var { active, className, collapsible, children, disabled, href, icon, prefix, suffix } = _a, rest = __rest(_a, ["active", "className", "collapsible", "children", "disabled", "href", "icon", "prefix", "suffix"]);
|
|
47
45
|
const El = href ? 'a' : 'span';
|
|
48
46
|
const buttonRef = React.useRef(null);
|
|
49
47
|
const collapsibleContext = React.useContext(CollapsibleContext);
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
'SideNavItem__button--focus-visible': isFocusVisible,
|
|
54
|
-
'SideNavItem__button--expanded': collapsible && (collapsibleContext === null || collapsibleContext === void 0 ? void 0 : collapsibleContext.expanded),
|
|
48
|
+
const expanded = collapsible && (collapsibleContext === null || collapsibleContext === void 0 ? void 0 : collapsibleContext.expanded);
|
|
49
|
+
const SideNavItemButtonClasses = classnames('SideNavItem__button', {
|
|
50
|
+
'SideNavItem__button--expanded': expanded,
|
|
55
51
|
});
|
|
56
|
-
const
|
|
57
|
-
var _a
|
|
58
|
-
if (
|
|
59
|
-
return; // Exclude top-level handlers
|
|
60
|
-
if (href) {
|
|
61
|
-
(_b = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _b === void 0 ? void 0 : _b.click();
|
|
52
|
+
const handleKeyDown = (e) => {
|
|
53
|
+
var _a;
|
|
54
|
+
if (![keys.enter, keys.space].includes(e.key))
|
|
62
55
|
return;
|
|
63
|
-
}
|
|
64
|
-
if (onClick)
|
|
65
|
-
onClick(e);
|
|
66
|
-
};
|
|
67
|
-
const handleEnter = (e) => {
|
|
68
56
|
if (e.target !== buttonRef.current) {
|
|
69
|
-
e.stopPropagation(); // Disable
|
|
57
|
+
e.stopPropagation(); // Disable higher handlers (collapse-expand) for buttons placed inside Item's suffix
|
|
70
58
|
return;
|
|
71
59
|
}
|
|
72
60
|
if (e.key === keys.space)
|
|
73
|
-
e.preventDefault(); //
|
|
74
|
-
|
|
75
|
-
};
|
|
76
|
-
const handleKeyDown = (e) => {
|
|
77
|
-
switch (e.key) {
|
|
78
|
-
case keys.right:
|
|
79
|
-
case keys.down:
|
|
80
|
-
e.stopPropagation(); // Exclude multiple keydown handles
|
|
81
|
-
e.preventDefault(); // Disable scrolling on keypress
|
|
82
|
-
focusManager.focusNext({ tabbable: true }); // Exclude disabled items with tabbable option
|
|
83
|
-
break;
|
|
84
|
-
case keys.left:
|
|
85
|
-
case keys.up:
|
|
86
|
-
e.stopPropagation();
|
|
87
|
-
e.preventDefault();
|
|
88
|
-
focusManager.focusPrevious({ tabbable: true });
|
|
89
|
-
break;
|
|
90
|
-
case keys.enter:
|
|
91
|
-
case keys.space:
|
|
92
|
-
handleEnter(e);
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
61
|
+
e.preventDefault(); // Prevent scroll on space keypress
|
|
62
|
+
(_a = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
95
63
|
};
|
|
96
64
|
const renderPrefix = () => {
|
|
97
65
|
const i = renderIcon(icon);
|
|
@@ -109,14 +77,8 @@ const SideNavItemButton = (_a) => {
|
|
|
109
77
|
suffix,
|
|
110
78
|
arrow));
|
|
111
79
|
};
|
|
112
|
-
const buttonProps = {
|
|
113
|
-
className: SideNavItemButtonClasses,
|
|
114
|
-
href,
|
|
115
|
-
tabIndex: disabled ? -1 : 0,
|
|
116
|
-
target: href && rest.target,
|
|
117
|
-
};
|
|
118
80
|
return (React.createElement(SideNavItemContext.Provider, { value: { buttonRef } },
|
|
119
|
-
React.createElement(El, Object.assign({}, rest, {
|
|
81
|
+
React.createElement(El, Object.assign({}, rest, { className: SideNavItemButtonClasses, href: href, tabIndex: disabled ? -1 : 0, target: href && rest.target, ref: buttonRef, onKeyDown: handleKeyDown, "aria-current": active && !expanded ? 'page' : null, "aria-disabled": disabled ? true : null }),
|
|
120
82
|
renderPrefix(),
|
|
121
83
|
React.createElement(BodyText, { el: "span", size: "small", className: "SideNavItem__button__content" }, children),
|
|
122
84
|
renderSuffix())));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SideNavItem.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"SideNavItem.js","sourceRoot":"","sources":["../../../src/components/SideNav/SideNavItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\n\nimport { BodyText } from '../BodyText';\nimport { Icon, IconProps, IconPropsStrict } from '../Icon';\nimport { keys } from '../../utilities/keyCodes';\n\nimport {\n\tCollapsibleContext,\n\tCollapsibleList,\n\tCollapsibleListItemProps,\n} from '../../internal';\n\nexport interface SideNavItemPropsStrict {\n\t/** Controls if this is the currently active item in SideNav */\n\tactive?: boolean;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\tchildren?: React.ReactNode;\n\n\t/**\n\t * If provided, item to be rendered as collapsible menu (accordion).\n\t * In this case one nested SideNav must be provided inside children.\n\t */\n\tcollapsible?: CollapsibleListItemProps['collapsible'] | true;\n\n\t/** Indicates whether the SideNav.Item is disabled or not. */\n\tdisabled?: boolean;\n\n\t/** Add a href attribute so right click context menus work (open in new tab, etc) */\n\thref?: string;\n\n\t/** Name of icon to render on right side of SideNav.Item */\n\ticon?: IconPropsStrict['name'] | IconProps;\n\n\t/** Action for when SideNav.Item is clicked */\n\tonClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** To be rendered on the right side of SideNav.Item */\n\tprefix?: React.ReactElement;\n\n\t/** To be rendered on the left side of SideNav.Item */\n\tsuffix?: React.ReactElement;\n}\n\nexport interface SideNavItemProps extends SideNavItemPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport const SideNavItem: FC<SideNavItemProps> = ({ ...props }) => {\n\tconst { className, ...rest } = props;\n\tconst SideNavItemClasses = classnames('SideNavItem', className, {\n\t\t'SideNavItem--active': props.active,\n\t\t'SideNavItem--disabled': props.disabled,\n\t});\n\tconst sideNavItemContext = React.useContext(SideNavItemContext);\n\n\tif (props.collapsible || sideNavItemContext) {\n\t\tconst realCollapsible =\n\t\t\tprops.collapsible === true\n\t\t\t\t? {\n\t\t\t\t\t\texpanded: false,\n\t\t\t\t\t\tanimate: true,\n\t\t\t\t\t\textractCollapsibleList: true,\n\t\t\t\t }\n\t\t\t\t: { ...props.collapsible, extractCollapsibleList: true };\n\n\t\treturn (\n\t\t\t<CollapsibleList.Item\n\t\t\t\tel=\"li\"\n\t\t\t\tcollapsible={props.collapsible && realCollapsible}\n\t\t\t\tclassName={SideNavItemClasses}\n\t\t\t\tdata-anvil-component=\"SideNavItem\"\n\t\t\t>\n\t\t\t\t<SideNavItemButton {...rest} />\n\t\t\t</CollapsibleList.Item>\n\t\t);\n\t}\n\n\treturn (\n\t\t<li className={SideNavItemClasses} data-anvil-component=\"SideNavItem\">\n\t\t\t<SideNavItemButton {...rest} />\n\t\t</li>\n\t);\n};\n\n/**\n * SideNav Item's Button\n */\nconst SideNavItemButton: FC<SideNavItemProps> = ({\n\tactive,\n\tclassName,\n\tcollapsible,\n\tchildren,\n\tdisabled,\n\thref,\n\ticon,\n\tprefix,\n\tsuffix,\n\t...rest\n}) => {\n\tconst El = href ? 'a' : 'span';\n\tconst buttonRef = React.useRef(null);\n\tconst collapsibleContext = React.useContext(CollapsibleContext);\n\n\tconst expanded = collapsible && collapsibleContext?.expanded;\n\tconst SideNavItemButtonClasses = classnames('SideNavItem__button', {\n\t\t'SideNavItem__button--expanded': expanded,\n\t});\n\n\tconst handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n\t\tif (![keys.enter, keys.space].includes(e.key)) return;\n\n\t\tif (e.target !== buttonRef.current) {\n\t\t\te.stopPropagation(); // Disable higher handlers (collapse-expand) for buttons placed inside Item's suffix\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.key === keys.space) e.preventDefault(); // Prevent scroll on space keypress\n\n\t\tbuttonRef?.current?.click();\n\t};\n\n\tconst renderPrefix = () => {\n\t\tconst i = renderIcon(icon);\n\n\t\tif (!i && !prefix) return null;\n\n\t\treturn (\n\t\t\t<span className=\"SideNavItem__button__prefix\">\n\t\t\t\t{i}\n\t\t\t\t{prefix}\n\t\t\t</span>\n\t\t);\n\t};\n\n\tconst renderSuffix = () => {\n\t\tconst arrow = collapsible ? (\n\t\t\t<Icon\n\t\t\t\tclassName=\"SideNavItem__button__suffix__collapsible-icon\"\n\t\t\t\tname=\"keyboard_arrow_down\"\n\t\t\t\tsize={20}\n\t\t\t/>\n\t\t) : null;\n\t\tif (!suffix && !arrow) return null;\n\t\treturn (\n\t\t\t<span className=\"SideNavItem__button__suffix\">\n\t\t\t\t{suffix}\n\t\t\t\t{arrow}\n\t\t\t</span>\n\t\t);\n\t};\n\n\treturn (\n\t\t<SideNavItemContext.Provider value={{ buttonRef }}>\n\t\t\t<El\n\t\t\t\t{...rest}\n\t\t\t\tclassName={SideNavItemButtonClasses}\n\t\t\t\thref={href}\n\t\t\t\ttabIndex={disabled ? -1 : 0}\n\t\t\t\ttarget={href && rest.target}\n\t\t\t\tref={buttonRef}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\taria-current={active && !expanded ? 'page' : null}\n\t\t\t\taria-disabled={disabled ? true : null}\n\t\t\t>\n\t\t\t\t{renderPrefix()}\n\t\t\t\t<BodyText\n\t\t\t\t\tel=\"span\"\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tclassName=\"SideNavItem__button__content\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</BodyText>\n\t\t\t\t{renderSuffix()}\n\t\t\t</El>\n\t\t</SideNavItemContext.Provider>\n\t);\n};\n\nexport const SideNavItemContext = React.createContext(null);\n\nconst renderIcon = (icon: IconPropsStrict['name'] | IconProps) => {\n\t// Icon passed as Icon name\n\tif (typeof icon === 'string') {\n\t\treturn (\n\t\t\t<Icon className=\"SideNavItem__button__icon\" name={icon} size={20} />\n\t\t);\n\t}\n\n\t// Icon passed as an IconProps object\n\tif (icon != null && !React.isValidElement(icon)) {\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\tclassName={classnames(\n\t\t\t\t\t'SideNavItem__button__icon',\n\t\t\t\t\ticon.className\n\t\t\t\t)}\n\t\t\t\t{...icon}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n};\n"]}
|
|
@@ -57,8 +57,10 @@
|
|
|
57
57
|
.SideNavItem > .SideNavItem__button:active:not(:focus-within) {
|
|
58
58
|
background-color: var(--colorsActiveDefault, rgba(20, 20, 20, 0.2));
|
|
59
59
|
}
|
|
60
|
-
.SideNavItem > .SideNavItem__button.SideNavItem__button
|
|
60
|
+
.SideNavItem > .SideNavItem__button:focus, .SideNavItem > .SideNavItem__button:focus-visible {
|
|
61
61
|
outline: none;
|
|
62
|
+
}
|
|
63
|
+
.SideNavItem > .SideNavItem__button:focus-visible {
|
|
62
64
|
box-shadow: inset 0 0 0 2px var(--colorsFocusRingPrimary, #78bbfa);
|
|
63
65
|
}
|
|
64
66
|
.SideNavItem > .SideNavItem__button > .SideNavItem__button__prefix,
|
|
@@ -80,7 +82,7 @@
|
|
|
80
82
|
}
|
|
81
83
|
.SideNavItem.SideNavItem--disabled > .SideNavItem__button {
|
|
82
84
|
background-color: transparent !important;
|
|
83
|
-
opacity: 0.
|
|
85
|
+
opacity: 0.6;
|
|
84
86
|
pointer-events: none;
|
|
85
87
|
}
|
|
86
88
|
.SideNavItem.SideNavItem--active > .SideNavItem__button:not(.SideNavItem__button--expanded) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss","../../../src/components/SideNav/SideNavItem.scss","../../../src/components/SideNav/SideNavGroup.scss"],"names":[],"mappings":"AAAA;ACUA;ACPC;EACA;AAEA;EACA;EDMA;EACA,OARc;EASd,SEgHW;;AF9GX;EAAI;;AAGJ;EAAW;;;AAGZ;EACC;EACA,eEsGW;EFrGX;EACA,OAnBoB;;AAqBpB;EACC,aEgGU;EF/FV;;;AAIF;EGlCC;EACA;EACA;EACA;EACA;;;ACaD;EACC;EACA;;AAEA;EACC,eFFgB;EEGhB,OJlBa;EImBb,aFmFoB;EElFpB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EAAU,YA5BO;;AA6BjB;EAA8B,kBA5BZ;;AA8BlB;EACC
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/SideNav/SideNav.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/utilities/_list-unset.scss","../../../src/components/SideNav/SideNavItem.scss","../../../src/components/SideNav/SideNavGroup.scss"],"names":[],"mappings":"AAAA;ACUA;ACPC;EACA;AAEA;EACA;EDMA;EACA,OARc;EASd,SEgHW;;AF9GX;EAAI;;AAGJ;EAAW;;;AAGZ;EACC;EACA,eEsGW;EFrGX;EACA,OAnBoB;;AAqBpB;EACC,aEgGU;EF/FV;;;AAIF;EGlCC;EACA;EACA;EACA;EACA;;;ACaD;EACC;EACA;;AAEA;EACC,eFFgB;EEGhB,OJlBa;EImBb,aFmFoB;EElFpB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EAAU,YA5BO;;AA6BjB;EAA8B,kBA5BZ;;AA8BlB;EACkB;;AAElB;EACC,YA7Ba;;AAgCd;AAAA;AAAA;EAGC;EACA;EACA;;AAGD;EAAiC,cFyEvB;;AExEV;EAAiC,aFwEvB;;AEtEV;EACC;EACA;;AAKD;EACC;EACA,SFiDgB;EEhDhB;;AAKD;EACC,kBA/DmB;EAgEnB,OApEW;;AAsEX;EAAkC;;AAElC;EACC;EACA;;AAKH;EAAiE;;AAGjE;EACC;;AAKA;EAA+B;;;AAKjC;EACC;EACA;;AAEA;EAAmC;;;AAOlC;AAAA;EAAU;;AAGX;EAAe;;AAEf;EACC;EACA;;AAGD;EAA8B;;AAC9B;EAAW;;AAEX;EACC,aFGU;EEFV;;;ACzHF;EACC,YH4HW;;AG1HX;EAA+B,YHyHpB;;AGxHX;EAA8B,eHwHnB;;;AGrHZ;EACC,QHmHW;EGlHX;;;AAGD;EFdC;EACA;EACA;EACA;EACA","file":"index.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SideNav/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SideNav/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC","sourcesContent":["export * from './SideNav';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC, useState, useRef, useEffect } from 'react';\nimport classnames from 'classnames';\nimport { useScreenSize } from '../../hooks/useScreenSize';\nimport { Button } from '../Button';\nimport { Tooltip } from '../Tooltip';\nimport { SidebarSection } from './SidebarSection';\n\nexport interface SidebarPropsStrict {\n\t/** Adds one or more classnames to an element */\n\tclassName?: string;\n\n\t/** Must be unique to instance - key for preserving open state */\n\tlocalStorageKey: string;\n\n\t/** Set the wrapping element's tagname */\n\tel?: any;\n}\n\nexport interface SidebarProps extends SidebarPropsStrict {\n\t[propName: string]: any;\n}\n\ninterface Sidebar extends FC<SidebarProps> {\n\t/** Subcomponents */\n\tSection: typeof SidebarSection;\n}\n\nexport const Sidebar: Sidebar = ({\n\tel: Element = 'div',\n\tclassName,\n\tlocalStorageKey,\n\tchildren,\n\t...rest\n}) => {\n\tconst sidebarRef = useRef<HTMLDivElement>();\n\n\tconst getInitialOpen = () => {\n\t\tconst wasPreviouslyOpen =\n\t\t\ttypeof window !== 'undefined' &&\n\t\t\twindow.localStorage.getItem(localStorageKey);\n\t\treturn wasPreviouslyOpen ? JSON.parse(wasPreviouslyOpen) : true;\n\t};\n\n\tconst screensize = useScreenSize();\n\tconst isDisplaySmall = screensize.smallerThan.desktop;\n\tconst [isHover, setIsHover] = useState(false);\n\tconst [isTempOpen, setIsTempOpen] = useState<boolean>(false);\n\tconst [isOpen, setIsOpen] = useState<boolean>(getInitialOpen());\n\tconst hoverTimeout = useRef<ReturnType<typeof setTimeout>>();\n\n\tconst isTouchScreen =\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.matchMedia('(pointer:coarse)').matches;\n\n\tconst SidebarClasses = classnames('Sidebar', className, {\n\t\t'Sidebar--collapsed': !isOpen || isDisplaySmall,\n\t\t'Sidebar--temporary': isTempOpen,\n\t\t'Sidebar--touch': isTouchScreen,\n\t});\n\n\tconst toggleButtonClasses = classnames('Sidebar__toggle-button', {\n\t\t'Sidebar__toggle-button-visible':\n\t\t\tisTouchScreen || !isOpen || isDisplaySmall,\n\t});\n\n\tconst iconName =\n\t\tisDisplaySmall && isTempOpen\n\t\t\t? 'keyboard_arrow_left'\n\t\t\t: isDisplaySmall && !isTempOpen\n\t\t\t? 'keyboard_arrow_right'\n\t\t\t: isOpen\n\t\t\t? 'keyboard_arrow_left'\n\t\t\t: 'keyboard_arrow_right';\n\tconst size = isTouchScreen ? 'medium' : 'small';\n\tconst [tooltipText, setTooltipText] = useState<string>();\n\n\tuseEffect(() => {\n\t\tconst getTooltipText = () => {\n\t\t\tif (isTempOpen) {\n\t\t\t\tif (!isDisplaySmall) return 'Keep sidebar open';\n\t\t\t\tif (isDisplaySmall) return 'Close sidebar';\n\t\t\t}\n\t\t\tif (!isOpen || isDisplaySmall) return 'Open sidebar';\n\t\t\treturn 'Close sidebar';\n\t\t};\n\n\t\tsetTooltipText(getTooltipText());\n\t}, [isDisplaySmall, isHover, isOpen, isTempOpen]);\n\n\tconst handleHover = (state: boolean, delay = 300) => {\n\t\tclearTimeout(hoverTimeout.current);\n\t\tif (!isOpen || isDisplaySmall) {\n\t\t\tsetIsHover(state);\n\t\t\thoverTimeout.current = setTimeout(() => {\n\t\t\t\tsetIsTempOpen(state);\n\t\t\t}, delay);\n\t\t}\n\t};\n\n\tconst open = () => {\n\t\tif (!isDisplaySmall) {\n\t\t\thandleHover(false, 0);\n\t\t\tsetIsOpen(!isOpen);\n\t\t\treturn;\n\t\t}\n\t\tsetIsTempOpen(!isTempOpen);\n\t};\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(localStorageKey, JSON.stringify(isOpen));\n\t}, [localStorageKey, isOpen]);\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={SidebarClasses}\n\t\t\tref={sidebarRef}\n\t\t\tdata-anvil-component=\"Sidebar\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<div className=\"Sidebar__wrapper\">\n\t\t\t\t<Tooltip\n\t\t\t\t\thoverOnly\n\t\t\t\t\tclassName=\"Sidebar__toggle-button-wrapper\"\n\t\t\t\t\tdirection=\"r\"\n\t\t\t\t\ttext={tooltipText}\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName={toggleButtonClasses}\n\t\t\t\t\t\tonClick={open}\n\t\t\t\t\t\ticonName={iconName}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tonMouseOver={() => clearTimeout(hoverTimeout.current)}\n\t\t\t\t\t\tonMouseLeave={() => isTempOpen && handleHover(false)}\n\t\t\t\t\t\taria-label={`${isOpen ? 'collapse' : 'expand'} sidebar`}\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"Sidebar__content-wrapper\"\n\t\t\t\t\tonMouseOver={() => handleHover(true)}\n\t\t\t\t\tonMouseLeave={() => handleHover(false)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"Sidebar__content\">{children}</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Element>\n\t);\n};\n\nSidebar.Section = SidebarSection;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.test.js","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,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,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,OAAO,IACP,eAAe,EAAC,0BAA0B,mBAC5B,qBAAqB;YAEnC,oBAAC,QAAQ,kBAAmB,CACnB,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Sidebar.test.js","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,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,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,OAAO,IACP,eAAe,EAAC,0BAA0B,mBAC5B,qBAAqB;YAEnC,oBAAC,QAAQ,kBAAmB,CACnB,CACV,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { Sidebar } from './Sidebar';\nimport { BodyText } from '../BodyText';\n\ndescribe('Sidebar', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Sidebar\n\t\t\t\tlocalStorageKey=\"sidebar-stories__sidebar\"\n\t\t\t\tdata-auto-sel=\"automation-selector\"\n\t\t\t>\n\t\t\t\t<BodyText>Sidebar</BodyText>\n\t\t\t</Sidebar>\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarSection.js","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarSection.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAiBpC,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EAMvD,EAAE,EAAE;QANmD,EACvD,QAAQ,EACR,SAAS,EACT,EAAE,EAAE,OAAO,GAAG,KAAK,EACnB,OAAO,GAAG,IAAI,OAEd,EADG,KAAK,cAL+C,0CAMvD,CADQ;IAER,MAAM,qBAAqB,GAAG,UAAU,CAAC,gBAAgB,EAAE,SAAS,EAAE;QACrE,qBAAqB,EAAE,OAAO,KAAK,GAAG;QACtC,qBAAqB,EAAE,OAAO,KAAK,GAAG;QACtC,wBAAwB,EAAE,CAAC,OAAO;KAClC,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,OAAO,kBACP,SAAS,EAAE,qBAAqB,0BACX,gBAAgB,IACjC,KAAK,GAER,QAAQ,CACA,CACV,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"SidebarSection.js","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarSection.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAiBpC,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EAMvD,EAAE,EAAE;QANmD,EACvD,QAAQ,EACR,SAAS,EACT,EAAE,EAAE,OAAO,GAAG,KAAK,EACnB,OAAO,GAAG,IAAI,OAEd,EADG,KAAK,cAL+C,0CAMvD,CADQ;IAER,MAAM,qBAAqB,GAAG,UAAU,CAAC,gBAAgB,EAAE,SAAS,EAAE;QACrE,qBAAqB,EAAE,OAAO,KAAK,GAAG;QACtC,qBAAqB,EAAE,OAAO,KAAK,GAAG;QACtC,wBAAwB,EAAE,CAAC,OAAO;KAClC,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,OAAO,kBACP,SAAS,EAAE,qBAAqB,0BACX,gBAAgB,IACjC,KAAK,GAER,QAAQ,CACA,CACV,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\n\nexport interface SidebarSectionPropsStrict {\n\t/** Adds one or more classnames to an element */\n\tclassName?: string;\n\n\t/** Set the wrapping element's tagname */\n\tel?: any;\n\n\t/** Set which sides of Sidebar.Section have padding */\n\tpadding?: boolean | 'x' | 'y';\n}\n\nexport interface SidebarSectionProps extends SidebarSectionPropsStrict {\n\t[propName: string]: any;\n}\n\nexport const SidebarSection: FC<SidebarSectionProps> = ({\n\tchildren,\n\tclassName,\n\tel: Element = 'div',\n\tpadding = true,\n\t...props\n}) => {\n\tconst SidebarSectionClasses = classnames('SidebarSection', className, {\n\t\t'SidebarSection--p-x': padding === 'x',\n\t\t'SidebarSection--p-y': padding === 'y',\n\t\t'SidebarSection--p-none': !padding,\n\t});\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={SidebarSectionClasses}\n\t\t\tdata-anvil-component=\"SidebarSection\"\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Sidebar/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Sidebar/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './Sidebar';\nexport * from './SidebarSection';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../src/components/Snackbar/Snackbar.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../src/components/Snackbar/Snackbar.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAM,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAwC/C,MAAM,CAAC,MAAM,QAAQ,GAAsB,CAAC,EAS3C,EAAE,EAAE;QATuC,EAC3C,UAAU,EACV,SAAS,EACT,QAAQ,GAAG,IAAI,EACf,aAAa,EACb,OAAO,EACP,MAAM,GAAG,IAAI,EACb,KAAK,OAEL,EADG,IAAI,cARoC,sFAS3C,CADO;IAEP,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACpC,CAAC,CAAqC,EAAE,EAAE;QACzC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;QACb,YAAY,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,CAAC;IACpC,CAAC,EACD,CAAC,OAAO,CAAC,CACT,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO;QAChD,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChE,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE;QACzD,oBAAoB,EAAE,MAAM;KAC5B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,CAChB,2CACC,SAAS,EAAE,eAAe,0BACL,UAAU,IAC3B,IAAI;QAEP,KAAK,IAAI,6BAAK,SAAS,EAAC,iBAAiB,IAAE,KAAK,CAAO;QACvD,UAAU,IAAI,aAAa,IAAI,CAC/B,6BAAK,OAAO,EAAE,aAAa,EAAE,SAAS,EAAC,kBAAkB,IACvD,UAAU,CACN,CACN;QACA,OAAO,IAAI,CACX,oBAAC,MAAM,kBACK,gBAAgB,EAC3B,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,iBAAiB,EAC3B,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,GACnB,CACF,CACI,CACN,CAAC;IAEF,OAAO,oBAAC,MAAM,IAAC,WAAW,EAAE,MAAM,IAAG,QAAQ,CAAU,CAAC;AACzD,CAAC,CAAC","sourcesContent":["import React, { FC, useState, useEffect, useRef } from 'react';\nimport classnames from 'classnames';\nimport { Button } from '../Button';\nimport { Portal } from '../../internal/Portal';\n\n/**\n * Link properties\n */\nexport interface SnackbarPropsStrict {\n\t/** Name of the action shown to users */\n\tactionName?: string;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\tchildren?: React.ReactNode;\n\n\t/**\n\t * How long the Snackbar stays on screen.\n\t * Default is 5000.\n\t */\n\tduration?: number;\n\n\t/** Fired when the user clicks on the action */\n\tonActionClick?: (e: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/** Fired when the user clicks the close icon */\n\tonClose?: (e?: React.SyntheticEvent<HTMLElement>) => void;\n\n\t/**\n\t * Makes Snackbar open through ReactDOM.createPortal\n\t * Default is true.\n\t */\n\tportal?: boolean;\n\n\t/** The message displayed to the user */\n\ttitle: string;\n}\n\nexport interface SnackbarProps extends SnackbarPropsStrict {\n\t[propName: string]: any;\n}\n\nexport const Snackbar: FC<SnackbarProps> = ({\n\tactionName,\n\tclassName,\n\tduration = 5000,\n\tonActionClick,\n\tonClose,\n\tportal = true,\n\ttitle,\n\t...rest\n}) => {\n\tconst [visible, setVisible] = useState(true);\n\tconst snackbarRef = useRef(null);\n\n\tconst handleClose = React.useCallback(\n\t\t(e?: React.SyntheticEvent<HTMLElement>) => {\n\t\t\tsetVisible(false);\n\t\t\tonClose?.(e);\n\t\t\tclearTimeout(snackbarRef?.current);\n\t\t},\n\t\t[onClose]\n\t);\n\n\tuseEffect(() => {\n\t\tif (duration === null || duration === 0) return;\n\t\tsnackbarRef.current = setTimeout(() => handleClose(), duration);\n\t\treturn () => clearTimeout(snackbarRef.current);\n\t}, [duration, handleClose]);\n\n\tif (!visible) return null;\n\n\tconst SnackbarClasses = classnames('Snackbar', className, {\n\t\t'Snackbar--floating': portal,\n\t});\n\n\tconst snackbar = (\n\t\t<div\n\t\t\tclassName={SnackbarClasses}\n\t\t\tdata-anvil-component=\"Snackbar\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t{title && <div className=\"Snackbar__title\">{title}</div>}\n\t\t\t{actionName && onActionClick && (\n\t\t\t\t<div onClick={onActionClick} className=\"Snackbar__action\">\n\t\t\t\t\t{actionName}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{onClose && (\n\t\t\t\t<Button\n\t\t\t\t\taria-label=\"close snackbar\"\n\t\t\t\t\tfill=\"subtle\"\n\t\t\t\t\tclassName=\"Snackbar__close\"\n\t\t\t\t\ticonName=\"clear\"\n\t\t\t\t\tsize=\"xsmall\"\n\t\t\t\t\tonClick={handleClose}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</div>\n\t);\n\n\treturn <Portal conditional={portal}>{snackbar}</Portal>;\n};\n"]}
|