@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":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { Icon, IconPropsStrict } from '../Icon';\nimport { getContent } from '../../utilities/getContent';\nimport { useFocusVisible } from '../../hooks/useFocusVisible';\n\n/**\n * Button properties\n */\nexport interface ButtonPropsStrict {\n\t/** Button Color */\n\tcolor?: 'primary' | 'blue' | 'default' | 'grey' | 'negative' | 'red';\n\n\t/** Additional classes */\n\tclassName?: string;\n\n\t/** Disabled button, unclickable */\n\tdisabled?: boolean;\n\n\t/** Set the component HTML element. Warning: Using non-standard markup can produce accessibility issues. */\n\tel?: 'button' | 'a' | 'span';\n\n\t/** Button Type. 'none' is deprecated, use 'subtle' instead. */\n\tfill?: 'solid' | 'outline' | 'none' | 'subtle';\n\n\t/** Shortcut for `width=\"full\"` */\n\tfull?: boolean;\n\n\t/** URL for Button. Turns into `<a>` tag. */\n\thref?: string;\n\n\t/** Custom Icon element. Use `iconName` to use default element. */\n\ticon?: React.ReactElement;\n\n\t/** Name of Icon to be inside Button. Use `icon` to pass a custom element. */\n\ticonName?: IconPropsStrict['name'];\n\n\t/** Position the icon */\n\ticonPosition?: 'left' | 'right';\n\n\t/** Unclicable button */\n\tinactive?: boolean;\n\n\t/** Shortcut for `size=\"large\"` */\n\tlarge?: boolean;\n\n\t/** Button with loading indicator */\n\tloading?: boolean;\n\n\t/** Shortcut for `color=\"negative\"` */\n\tnegative?: boolean;\n\n\t/** Shortcut for `fill=\"outline\"` */\n\toutline?: boolean;\n\n\t/** Shortcut for `color=\"primary\"` */\n\tprimary?: boolean;\n\n\t/** Selected State */\n\tselected?: boolean;\n\n\t/** Button Size */\n\tsize?: 'xsmall' | 'small' | 'medium' | 'large';\n\n\t/** Shortcut for `size=\"small\"` */\n\tsmall?: boolean;\n\n\t/** Deprecated. Shortcut for `fill=\"subtle\"` */\n\ttext?: boolean;\n\n\t/** Button Width */\n\twidth?: string | number | 'auto' | 'full';\n\n\t/** Shortcut for `size=\"small\"` */\n\txsmall?: boolean;\n}\n\nexport interface ButtonProps extends ButtonPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nconst defaultProps = {\n\tel: 'button',\n};\n\n/**\n * **Buttons** provide a possible user actions\n */\nexport const Button: FC<ButtonProps> = React.forwardRef(\n\t(\n\t\t{\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tcolor = 'default',\n\t\t\tcontent,\n\t\t\tel: Element = defaultProps.el,\n\t\t\tfill = 'solid',\n\t\t\tfull,\n\t\t\thref,\n\t\t\ticon,\n\t\t\ticonName,\n\t\t\ticonPosition = 'left',\n\t\t\tinactive,\n\t\t\tlarge,\n\t\t\tloading,\n\t\t\tnegative,\n\t\t\toutline,\n\t\t\tprimary,\n\t\t\tselected,\n\t\t\tsize = 'medium',\n\t\t\tsmall,\n\t\t\ttext,\n\t\t\ttype,\n\t\t\twidth = 'auto',\n\t\t\txsmall,\n\t\t\tonFocus,\n\t\t\tonBlur,\n\t\t\t...props\n\t\t},\n\t\tref: React.RefObject<HTMLElement>\n\t) => {\n\t\tconst newRef = React.useRef(null);\n\t\tconst itemRef = ref ? ref : newRef;\n\n\t\tconst { isFocusVisible, focusFunction, blurFunction } = useFocusVisible(\n\t\t\titemRef,\n\t\t\tonBlur,\n\t\t\tonFocus\n\t\t);\n\n\t\tconst getTagName = () => {\n\t\t\t// If `el` is passed in and isn't default, it is always used\n\t\t\tif (Element !== defaultProps.el) return Element;\n\n\t\t\t// If `href` is passed in, the element becomes an anchor\n\t\t\tif (href) return 'a';\n\n\t\t\t// Is default, use it\n\t\t\treturn Element;\n\t\t};\n\n\t\tconst getTabIndex = () => {\n\t\t\tif (props.tabIndex) return props.tabIndex;\n\t\t\tif (getTagName() !== 'button') 0;\n\t\t\treturn null;\n\t\t};\n\n\t\tconst getColorClass = () => {\n\t\t\tlet realColor = color;\n\n\t\t\t// Override string props with boolean values\n\t\t\tif (primary) realColor = 'primary';\n\t\t\tif (negative) realColor = 'negative';\n\n\t\t\tconst ButtonColorClasses: any = {\n\t\t\t\tprimary: 'Button--blue',\n\t\t\t\tblue: 'Button--blue',\n\t\t\t\tdefault: 'Button--grey',\n\t\t\t\tgrey: 'Button--grey',\n\t\t\t\tnegative: 'Button--red',\n\t\t\t\tred: 'Button--red',\n\t\t\t};\n\n\t\t\treturn ButtonColorClasses[realColor];\n\t\t};\n\n\t\tconst getFillClass = () => {\n\t\t\tlet realFill = fill;\n\t\t\tif (outline) realFill = 'outline';\n\t\t\tif (text || fill === 'subtle' || fill === 'none')\n\t\t\t\trealFill = 'subtle';\n\n\t\t\tif (realFill === 'solid') return 'Button--solid';\n\t\t\tif (realFill === 'outline') return 'Button--outline';\n\t\t\tif (realFill === 'subtle') return 'Button--subtle';\n\t\t};\n\n\t\tconst getSizeClass = () => {\n\t\t\tlet realSize = size;\n\t\t\tif (xsmall) realSize = 'xsmall';\n\t\t\tif (small) realSize = 'small';\n\t\t\tif (large) realSize = 'large';\n\n\t\t\tif (realSize === 'xsmall') return 'Button--xsmall';\n\t\t\tif (realSize === 'small') return 'Button--small';\n\t\t\tif (realSize === 'large') return 'Button--large';\n\t\t};\n\n\t\tconst getWidth = () => {\n\t\t\tif (full) return 'full';\n\t\t\treturn width;\n\t\t};\n\n\t\tconst getWidthValue = () => {\n\t\t\tconst width = getWidth();\n\t\t\treturn width !== 'auto' && width !== 'full' ? width : false;\n\t\t};\n\n\t\tconst getWidthClass = () => {\n\t\t\treturn getWidth() === 'full' ? 'Button--full' : null;\n\t\t};\n\n\t\tconst getTypeAttribute = () => {\n\t\t\tif (type) return { type };\n\t\t\tif (getTagName() === 'button') return { type: 'button' };\n\t\t};\n\n\t\tReact.useEffect(() => {\n\t\t\tif (text)\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"@servicetitan/design-system: The `text` prop of the Button component has been deprecated. Please use `fill='subtle'` instead.\"\n\t\t\t\t);\n\n\t\t\tif (fill === 'none')\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"@servicetitan/design-system: The `fill='none'` prop of the Button component has been deprecated. Please use `fill='subtle'` instead.\"\n\t\t\t\t);\n\n\t\t\tif (getTagName() !== 'button' && !!getTypeAttribute())\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'@servicetitan/design-system: The Button component is using incompatible props. Only button elements can have type attributes.'\n\t\t\t\t);\n\n\t\t\tif (getTagName() !== 'a' && href)\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'@servicetitan/design-system: The Button component is using incompatible props. Only anchor elements can have href attributes.'\n\t\t\t\t);\n\t\t});\n\n\t\tconst hasContent = () => {\n\t\t\tif (children != null) return true;\n\t\t\tif (content != null) return true;\n\t\t\treturn false;\n\t\t};\n\n\t\tconst hasIcon = () => {\n\t\t\tif (iconName || icon) return true;\n\t\t\treturn false;\n\t\t};\n\n\t\tconst renderIcon = () => {\n\t\t\tif (!hasIcon()) return;\n\n\t\t\tlet ButtonIcon = null;\n\t\t\tif (iconName)\n\t\t\t\tButtonIcon = (\n\t\t\t\t\t<Icon className=\"Button__icon-svg\" name={iconName} />\n\t\t\t\t);\n\t\t\tif (icon) ButtonIcon = icon;\n\n\t\t\tconst ButtonIconClasses = classnames('Button__icon', {\n\t\t\t\t'Button__icon--left': hasContent() && iconPosition === 'left',\n\t\t\t\t'Button__icon--right': hasContent() && iconPosition === 'right',\n\t\t\t});\n\n\t\t\treturn <span className={ButtonIconClasses}>{ButtonIcon}</span>;\n\t\t};\n\n\t\tconst preventClicks = props.disabled || inactive || loading;\n\n\t\tconst ButtonClasses = classnames(\n\t\t\t'Button',\n\t\t\tclassName,\n\t\t\tgetColorClass(),\n\t\t\tgetFillClass(),\n\t\t\tgetSizeClass(),\n\t\t\tgetWidthClass(),\n\t\t\t{\n\t\t\t\t'Button--disabled': props.disabled,\n\t\t\t\t'Button--inactive': preventClicks,\n\t\t\t\t'Button--loading': loading,\n\t\t\t\t'Button--icon-only': !hasContent(),\n\t\t\t\t'Button--focus-visible': isFocusVisible,\n\t\t\t\t'Button--selected': selected,\n\t\t\t}\n\t\t);\n\n\t\tconst ButtonElement: any = getTagName();\n\n\t\t!hasContent() &&\n\t\t\t!props['aria-label'] &&\n\t\t\tconsole.warn(\n\t\t\t\t`Accessibility warning:\n\t\t\t\t\\naria-label attribute does not exist or is empty for button that does not have inner text that is visible to screen readers`\n\t\t\t);\n\n\t\treturn (\n\t\t\t<ButtonElement\n\t\t\t\tclassName={ButtonClasses}\n\t\t\t\tdisabled={preventClicks}\n\t\t\t\thref={href}\n\t\t\t\trole={getTagName() !== 'button' ? 'button' : null}\n\t\t\t\tstyle={{ width: getWidthValue() }}\n\t\t\t\ttabIndex={getTabIndex()}\n\t\t\t\tonFocus={focusFunction}\n\t\t\t\tonBlur={blurFunction}\n\t\t\t\tref={itemRef}\n\t\t\t\tdata-anvil-component=\"Button\"\n\t\t\t\t{...getTypeAttribute()}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<span className=\"Button__content\">\n\t\t\t\t\t{iconPosition === 'left' && renderIcon()}\n\t\t\t\t\t{getContent({ children, content })}\n\t\t\t\t\t{iconPosition === 'right' && renderIcon()}\n\t\t\t\t</span>\n\t\t\t</ButtonElement>\n\t\t);\n\t}\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.test.js","sourceRoot":"","sources":["../../../src/components/Button/Button.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,iDAAiD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,MAAM,gBAAe,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,IAAC,IAAI,EAAC,gCAAgC,YAAe,CAC5D,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,MAAM,IAAC,EAAE,EAAC,MAAM,YAAe,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE;YACX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,+DAA+D;YAC1F,MAAM,CACL,oBAAC,MAAM,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,YAEtB,CACT,CAAC;QACH,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE;YACX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,+DAA+D;YAC1F,MAAM,CACL,oBAAC,MAAM,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,gCAAgC,YAE9C,CACT,CAAC;QACH,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,qBAAe,qBAAqB,YAAe,CAC1D,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":"Button.test.js","sourceRoot":"","sources":["../../../src/components/Button/Button.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,iDAAiD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,MAAM,gBAAe,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,IAAC,IAAI,EAAC,gCAAgC,YAAe,CAC5D,CAAC;QAEF,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,MAAM,IAAC,EAAE,EAAC,MAAM,YAAe,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE;YACX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,+DAA+D;YAC1F,MAAM,CACL,oBAAC,MAAM,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,QAAQ,YAEtB,CACT,CAAC;QACH,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,EAAE;YACX,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,+DAA+D;YAC1F,MAAM,CACL,oBAAC,MAAM,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,gCAAgC,YAE9C,CACT,CAAC;QACH,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,MAAM,qBAAe,qBAAqB,YAAe,CAC1D,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 { Button } from './Button';\n\ndescribe('Button', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should be a button element with type by default', () => {\n\t\tconst { getByRole } = render(<Button>Label</Button>);\n\n\t\tconst button = getByRole('button');\n\n\t\texpect(button).toHaveAttribute('type', 'button');\n\t\texpect(button.tagName).toBe('BUTTON');\n\t});\n\n\tit('should be an anchor element if href attribute exists', () => {\n\t\tconst { getByRole } = render(\n\t\t\t<Button href=\"https://anvil.servicetitan.com\">Label</Button>\n\t\t);\n\n\t\tconst button = getByRole('button');\n\n\t\texpect(button).not.toHaveAttribute('type');\n\t\texpect(button.tagName).toBe('A');\n\t});\n\n\tit('should be a span element if el prop was set', () => {\n\t\tconst { getByRole } = render(<Button el=\"span\">Label</Button>);\n\n\t\tconst button = getByRole('button');\n\n\t\texpect(button).not.toHaveAttribute('type');\n\t\texpect(button.tagName).toBe('SPAN');\n\t});\n\n\tit('should throw error if attributes and props are mismatched', () => {\n\t\texpect(() => {\n\t\t\tconsole.error = jest.fn(); // Prevent actual console.error from showing up in command line\n\t\t\trender(\n\t\t\t\t<Button el=\"span\" type=\"button\">\n\t\t\t\t\tLabel\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}).toThrowError();\n\t});\n\n\tit('should throw error if attributes and props are mismatched', () => {\n\t\texpect(() => {\n\t\t\tconsole.error = jest.fn(); // Prevent actual console.error from showing up in command line\n\t\t\trender(\n\t\t\t\t<Button el=\"span\" href=\"https://anvil.servicetitan.com\">\n\t\t\t\t\tLabel\n\t\t\t\t</Button>\n\t\t\t);\n\t\t}).toThrowError();\n\t});\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Button data-auto-sel=\"automation-selector\">Label</Button>\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/Button/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC","sourcesContent":["export * from './Button';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAoC5D,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAQjD,EAAE,EAAE;QAR6C,EACjD,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,EAAE,EAAE,kBAAkB,GAAG,KAAK,EAC9B,SAAS,EACT,UAAU,OAEV,EADG,KAAK,cAPyC,sEAQjD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;QAC/D,wBAAwB,EAAE,SAAS;QACnC,yBAAyB,EAAE,SAAS,IAAI,UAAU;QAClD,uBAAuB,EAAE,QAAQ;KACjC,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,kBAAkB,kBAClB,SAAS,EAAE,kBAAkB,0BACR,aAAa,IAC9B,KAAK;QAET,oBAAC,kBAAkB,IAAC,SAAS,EAAC,8BAA8B,IAC1D,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CACpB,CACD,CACrB,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ButtonGroup.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAoC5D,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAQjD,EAAE,EAAE;QAR6C,EACjD,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,EAAE,EAAE,kBAAkB,GAAG,KAAK,EAC9B,SAAS,EACT,UAAU,OAEV,EADG,KAAK,cAPyC,sEAQjD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;QAC/D,wBAAwB,EAAE,SAAS;QACnC,yBAAyB,EAAE,SAAS,IAAI,UAAU;QAClD,uBAAuB,EAAE,QAAQ;KACjC,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,kBAAkB,kBAClB,SAAS,EAAE,kBAAkB,0BACR,aAAa,IAC9B,KAAK;QAET,oBAAC,kBAAkB,IAAC,SAAS,EAAC,8BAA8B,IAC1D,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CACpB,CACD,CACrB,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { ButtonGroupItem } from './ButtonGroupItem';\nimport { ButtonProps } from '../Button';\nimport { wrapChildren } from '../../utilities/wrapChildren';\n\ntype ButtonGroupChildType =\n\t| React.ReactElement<ButtonProps>\n\t| boolean\n\t| null\n\t| undefined;\n\n/**\n * ButtonGroup properties\n */\nexport interface ButtonGroupPropsStrict {\n\t/** Join buttons together as a group */\n\tattached?: boolean;\n\n\t/** Button Elements */\n\tchildren: ButtonGroupChildType | ButtonGroupChildType[];\n\n\t/** String of class names to add to component */\n\tclassName?: string;\n\n\t/** When used in combination with `fullWidth`, this makes buttons take up equal amount of space */\n\tequalWidth?: boolean;\n\n\t/** Make buttons fill all available space */\n\tfullWidth?: boolean;\n\n\t/** Element to use for base component */\n\tel?: any;\n}\n\nexport interface ButtonGroupProps extends ButtonGroupPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport const ButtonGroup: FC<ButtonGroupProps> = ({\n\tattached,\n\tchildren,\n\tclassName,\n\tel: ButtonGroupElement = 'div',\n\tfullWidth,\n\tequalWidth,\n\t...props\n}) => {\n\tconst ButtonGroupClasses = classnames('ButtonGroup', className, {\n\t\t'ButtonGroup--fullWidth': fullWidth,\n\t\t'ButtonGroup--equalWidth': fullWidth && equalWidth,\n\t\t'ButtonGroup--attached': attached,\n\t});\n\n\treturn (\n\t\t<ButtonGroupElement\n\t\t\tclassName={ButtonGroupClasses}\n\t\t\tdata-anvil-component=\"ButtonGroup\"\n\t\t\t{...props}\n\t\t>\n\t\t\t<ButtonGroupElement className=\"ButtonGroup__InternalWrapper\">\n\t\t\t\t{wrapChildren(children, ButtonGroupItem)}\n\t\t\t</ButtonGroupElement>\n\t\t</ButtonGroupElement>\n\t);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.test.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroup.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,qBAAe,qBAAqB;YAC/C,oBAAC,MAAM,IAAC,OAAO,mBAAgB;YAC/B,oBAAC,MAAM,uBAAsB;YAC7B,oBAAC,MAAM,2BAA0B;YACjC,oBAAC,MAAM,IAAC,QAAQ,EAAC,KAAK,GAAG,CACZ,CACd,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":"ButtonGroup.test.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroup.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,qBAAe,qBAAqB;YAC/C,oBAAC,MAAM,IAAC,OAAO,mBAAgB;YAC/B,oBAAC,MAAM,uBAAsB;YAC7B,oBAAC,MAAM,2BAA0B;YACjC,oBAAC,MAAM,IAAC,QAAQ,EAAC,KAAK,GAAG,CACZ,CACd,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 { ButtonGroup } from './ButtonGroup';\nimport { Button } from '../Button';\n\ndescribe('ButtonGroup', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<ButtonGroup data-auto-sel=\"automation-selector\">\n\t\t\t\t<Button primary>Action</Button>\n\t\t\t\t<Button>Small Action</Button>\n\t\t\t\t<Button>Secondary Action</Button>\n\t\t\t\t<Button iconName=\"add\" />\n\t\t\t</ButtonGroup>\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":"ButtonGroupItem.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroupItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAOlC,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC1E,6BAAK,SAAS,EAAC,mBAAmB,IAAE,QAAQ,CAAO,CACnD,CAAC;AAEF,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ButtonGroupItem.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroupItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAOlC,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC1E,6BAAK,SAAS,EAAC,mBAAmB,IAAE,QAAQ,CAAO,CACnD,CAAC;AAEF,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport { ButtonProps } from '../Button';\n\nexport interface ButtonGroupItemProps {\n\tchildren: React.ReactElement<ButtonProps>;\n}\n\nexport const ButtonGroupItem: FC<ButtonGroupItemProps> = ({ children }) => (\n\t<div className=\"ButtonGroup__Item\">{children}</div>\n);\n\nButtonGroupItem.displayName = 'ButtonGroupItem';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ButtonGroup/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './ButtonGroup';\nexport * from './ButtonGroupItem';\n"]}
|
|
@@ -27,7 +27,7 @@ export interface OptionProps<T> {
|
|
|
27
27
|
export interface ButtonTogglePropsStrict<T> {
|
|
28
28
|
/** String of class names to add to component */
|
|
29
29
|
className?: string;
|
|
30
|
-
/**
|
|
30
|
+
/** Switch on unselected state */
|
|
31
31
|
clearable?: boolean;
|
|
32
32
|
/** Selected button background color.<br /> Possible values: <i>'primary'</i>, <i>'blue'</i>, <i>'negative'</i>, <i>'red'</i> */
|
|
33
33
|
color?: ButtonToggleItemProps<T>['color'];
|
|
@@ -12,12 +12,22 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import classnames from 'classnames';
|
|
14
14
|
import { ButtonToggleItem } from './ButtonToggleItem';
|
|
15
|
+
import { useArrowNav } from '../../hooks/useArrowNav';
|
|
16
|
+
import { useMergedRef } from '../../hooks';
|
|
15
17
|
export const ButtonToggle = React.forwardRef(function (_a, ref) {
|
|
16
18
|
var { color = 'primary', primary, negative, className, disabled, el: ButtonToggleElement = 'div', clearable, options = [], large, small, xsmall, name, size = 'medium', value, onChange } = _a, props = __rest(_a, ["color", "primary", "negative", "className", "disabled", "el", "clearable", "options", "large", "small", "xsmall", "name", "size", "value", "onChange"]);
|
|
17
19
|
const [selected, setSelected] = React.useState(value);
|
|
18
20
|
React.useEffect(() => {
|
|
19
21
|
setSelected(value);
|
|
20
22
|
}, [value]);
|
|
23
|
+
const arrowNavRef = React.useRef(null);
|
|
24
|
+
const mergedRef = useMergedRef(ref, arrowNavRef);
|
|
25
|
+
useArrowNav({
|
|
26
|
+
scope: arrowNavRef,
|
|
27
|
+
handleY: false,
|
|
28
|
+
focusableSelector: { selector: 'button:not([disabled])' },
|
|
29
|
+
onKeyDown: (e, data) => { var _a; return (_a = data.next) === null || _a === void 0 ? void 0 : _a.click(); }, // Auto-selection
|
|
30
|
+
});
|
|
21
31
|
const handleClick = (select) => {
|
|
22
32
|
const realSelected = select !== selected || !clearable ? select : undefined;
|
|
23
33
|
if (onChange)
|
|
@@ -114,6 +124,6 @@ export const ButtonToggle = React.forwardRef(function (_a, ref) {
|
|
|
114
124
|
'ButtonToggle--disabled': disabled,
|
|
115
125
|
[`ButtonToggle--${realColor}`]: realColor,
|
|
116
126
|
});
|
|
117
|
-
return (React.createElement(ButtonToggleElement, Object.assign({ className: ButtonToggleClasses,
|
|
127
|
+
return (React.createElement(ButtonToggleElement, Object.assign({ className: ButtonToggleClasses, "data-anvil-component": "ButtonToggle", ref: mergedRef, role: clearable ? null : 'radiogroup' }, props), contents));
|
|
118
128
|
});
|
|
119
129
|
//# sourceMappingURL=ButtonToggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonToggle.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/ButtonToggle.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ButtonToggle.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/ButtonToggle.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\n\nimport { ButtonToggleItem, ButtonToggleItemProps } from './ButtonToggleItem';\nimport { useArrowNav } from '../../hooks/useArrowNav';\nimport { useMergedRef } from '../../hooks';\n\n/**\n * Option properties\n */\nexport interface OptionProps<T> {\n\t/** Content of the element, i.e. the displayed text */\n\ttext?: ButtonToggleItemProps<T>['text'];\n\n\t/** Value of the option */\n\tvalue: ButtonToggleItemProps<T>['value'];\n\n\t/** Returns value of option for the click event */\n\tonClick?: ButtonToggleItemProps<T>['onClick'];\n\n\t/** Indicates whether the element is disabled or not. It makes the option unselectable */\n\tdisabled?: ButtonToggleItemProps<T>['disabled'];\n\n\t/** Sets the option's selected state */\n\tselected?: ButtonToggleItemProps<T>['selected'];\n\n\t/** Hide the option (not commonly used) */\n\thidden?: ButtonToggleItemProps<T>['hidden'];\n\n\t/** React element to be rendered as an icon */\n\ticon?: ButtonToggleItemProps<T>['icon'];\n\n\t/** Name of icon to render inside of button */\n\ticonName?: ButtonToggleItemProps<T>['iconName'];\n}\n\n/**\n * ButtonToggle properties\n */\nexport interface ButtonTogglePropsStrict<T> {\n\t/** String of class names to add to component */\n\tclassName?: string;\n\n\t/** Switch on unselected state */\n\tclearable?: boolean;\n\n\t/** Selected button background color.<br /> Possible values: <i>'primary'</i>, <i>'blue'</i>, <i>'negative'</i>, <i>'red'</i> */\n\tcolor?: ButtonToggleItemProps<T>['color']; // 'default', 'grey' are colors of not selected buttons\n\n\t/** Sets all the option's unselectable */\n\tdisabled?: ButtonToggleItemProps<T>['disabled'];\n\n\t/** Element to use for base component */\n\tel?: any;\n\n\t/** Shortcut for large-sized buttons */\n\tlarge?: boolean;\n\n\t/** Specifies the name of the ButtonToggle element */\n\tname?: string;\n\n\t/** Negative styling (red) */\n\tnegative?: boolean;\n\n\t/** Called when the user changes the value */\n\tonChange?: (value: T | undefined) => void;\n\n\t/** List of options */\n\toptions?: OptionProps<T>[];\n\n\t/** Primary button */\n\tprimary?: boolean;\n\n\t/** Sets size of the buttons.<br /> Possible values: <i>'large'</i>, <i>'small'</i> */\n\tsize?: ButtonToggleItemProps<T>['size'];\n\n\t/** Shortcut for small-sized buttons */\n\tsmall?: boolean;\n\n\t/** Value of the ButtonToggle element. Sets corresponding option selected */\n\tvalue?: ButtonToggleItemProps<T>['value'];\n\n\t/** Shortcut for x-small-sized buttons */\n\txsmall?: boolean;\n}\n\nexport interface ButtonToggleProps<T> extends ButtonTogglePropsStrict<T> {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\ninterface ButtonToggleState<T> {\n\tselected: ButtonToggleItemProps<T>['value'];\n}\n\nexport const ButtonToggle: <T>(\n\tprops: React.PropsWithoutRef<ButtonToggleProps<T>> &\n\t\tReact.RefAttributes<HTMLElement>\n) => React.ReactElement | null = React.forwardRef(function <T>(\n\t{\n\t\tcolor = 'primary',\n\t\tprimary,\n\t\tnegative,\n\t\tclassName,\n\t\tdisabled,\n\t\tel: ButtonToggleElement = 'div',\n\t\tclearable,\n\t\toptions = [],\n\t\tlarge,\n\t\tsmall,\n\t\txsmall,\n\t\tname,\n\t\tsize = 'medium',\n\t\tvalue,\n\t\tonChange,\n\t\t...props\n\t}: ButtonToggleProps<T>,\n\tref: React.RefObject<HTMLElement>\n) {\n\tconst [selected, setSelected] =\n\t\tReact.useState<ButtonToggleState<T>['selected']>(value);\n\n\tReact.useEffect(() => {\n\t\tsetSelected(value);\n\t}, [value]);\n\n\tconst arrowNavRef = React.useRef(null);\n\tconst mergedRef = useMergedRef(ref, arrowNavRef);\n\n\tuseArrowNav({\n\t\tscope: arrowNavRef,\n\t\thandleY: false,\n\t\tfocusableSelector: { selector: 'button:not([disabled])' },\n\t\tonKeyDown: (e: KeyboardEvent, data: any) => data.next?.click(), // Auto-selection\n\t});\n\n\tconst handleClick = (select: ButtonToggleItemProps<T>['value']) => {\n\t\tconst realSelected =\n\t\t\tselect !== selected || !clearable ? select : undefined;\n\n\t\tif (onChange) onChange(realSelected);\n\t\tsetSelected(realSelected);\n\t};\n\n\tconst copyOptions = (options: OptionProps<T>[]): OptionProps<T>[] => {\n\t\tconst copiedOptions = options.map((option) => {\n\t\t\treturn {\n\t\t\t\ttext: option.text,\n\t\t\t\tvalue: option.value,\n\t\t\t\tonClick: option.onClick,\n\t\t\t\tdisabled: option.disabled,\n\t\t\t\tselected: option.selected,\n\t\t\t\thidden: option.hidden,\n\t\t\t\ticon: option.icon,\n\t\t\t\ticonName: option.iconName,\n\t\t\t};\n\t\t});\n\n\t\treturn copiedOptions;\n\t};\n\n\tconst getOnlySelected = (options: OptionProps<T>[]): OptionProps<T>[] => {\n\t\tlet isSelected = false;\n\n\t\tconst onlyOneSelectedOptions = options.map((option) => {\n\t\t\tif (option.selected && !isSelected) {\n\t\t\t\tisSelected = true;\n\t\t\t} else {\n\t\t\t\toption.selected = false;\n\t\t\t}\n\t\t\treturn option;\n\t\t});\n\n\t\treturn onlyOneSelectedOptions;\n\t};\n\n\tconst getNormalized = (options: OptionProps<T>[]): OptionProps<T>[] => {\n\t\tconst realOptions = options.map((option) => {\n\t\t\tif (disabled) option.disabled = disabled;\n\t\t\tif (option.text === undefined) option.text = null;\n\t\t\tif (selected !== undefined || clearable)\n\t\t\t\toption.selected = selected === option.value;\n\n\t\t\treturn option;\n\t\t});\n\n\t\treturn realOptions;\n\t};\n\n\tconst getRealColor = () => {\n\t\tlet realColor: ButtonToggleItemProps<T>['color'] = color;\n\n\t\tif (primary) realColor = 'primary';\n\t\tif (negative) realColor = 'negative';\n\n\t\treturn realColor;\n\t};\n\n\tconst getButtonToggleItemProps = (\n\t\toptions: OptionProps<T>[]\n\t): ButtonToggleItemProps<T>[] => {\n\t\tlet realSize: ButtonToggleItemProps<T>['size'] = size;\n\n\t\t// Override string props with boolean values\n\t\tif (xsmall) realSize = 'xsmall';\n\t\tif (small) realSize = 'small';\n\t\tif (large) realSize = 'large';\n\n\t\tconst buttonToggleItemProps = options.map((option) => {\n\t\t\treturn {\n\t\t\t\tname,\n\t\t\t\ttext: option.text,\n\t\t\t\tvalue: option.value,\n\t\t\t\tdisabled: option.disabled,\n\t\t\t\tselected: option.selected,\n\t\t\t\tcolor: getRealColor(),\n\t\t\t\tsize: realSize,\n\t\t\t\thidden: option.hidden,\n\t\t\t\tonClick: (value: ButtonToggleItemProps<T>['value']) => {\n\t\t\t\t\tif (option.onClick) option.onClick(value);\n\t\t\t\t\thandleClick(value);\n\t\t\t\t},\n\t\t\t\ticon: option.icon,\n\t\t\t\ticonName: option.iconName,\n\t\t\t};\n\t\t});\n\n\t\treturn buttonToggleItemProps;\n\t};\n\n\tconst copiedOptions = copyOptions(options);\n\n\tconst onlySelectedOptions = getOnlySelected(copiedOptions);\n\n\tconst normalizedOptions = getNormalized(onlySelectedOptions);\n\n\tconst buttonToggleItemProps = getButtonToggleItemProps(normalizedOptions);\n\n\tconst contents = buttonToggleItemProps.map((buttonProp, index) => {\n\t\treturn <ButtonToggleItem<T> key={index} {...buttonProp} />;\n\t});\n\n\tconst realColor = getRealColor();\n\n\tconst ButtonToggleClasses = classnames('ButtonToggle', className, {\n\t\t'ButtonToggle--disabled': disabled,\n\t\t[`ButtonToggle--${realColor}`]: realColor,\n\t});\n\n\treturn (\n\t\t<ButtonToggleElement\n\t\t\tclassName={ButtonToggleClasses}\n\t\t\tdata-anvil-component=\"ButtonToggle\"\n\t\t\tref={mergedRef}\n\t\t\trole={clearable ? null : 'radiogroup'}\n\t\t\t{...props}\n\t\t>\n\t\t\t{contents}\n\t\t</ButtonToggleElement>\n\t);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonToggle.test.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/ButtonToggle.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,YAAY,IACZ,KAAK,EAAE,CAAC,EACR,KAAK,QACL,OAAO,EAAE;gBACR,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;aACvB,mBACa,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":"ButtonToggle.test.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/ButtonToggle.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,YAAY,IACZ,KAAK,EAAE,CAAC,EACR,KAAK,QACL,OAAO,EAAE;gBACR,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;gBACvB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE;aACvB,mBACa,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 { ButtonToggle } from './ButtonToggle';\n\ndescribe('ButtonToggle', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<ButtonToggle\n\t\t\t\tvalue={2}\n\t\t\t\tsmall\n\t\t\t\toptions={[\n\t\t\t\t\t{ text: '1', value: 1 },\n\t\t\t\t\t{ text: '2', value: 2 },\n\t\t\t\t]}\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"]}
|
|
@@ -13,6 +13,6 @@ export const ButtonToggleItem = React.forwardRef(function ({ color, disabled, hi
|
|
|
13
13
|
});
|
|
14
14
|
return (React.createElement("div", { className: ButtonToggleItemClasses, ref: ref },
|
|
15
15
|
React.createElement("input", { name: name, type: "radio", defaultChecked: selected, className: "ButtonToggle__radio", tabIndex: -1 }),
|
|
16
|
-
React.createElement(Button, { color: realColor, disabled: disabled, fill: "solid", full: true, icon: icon, iconName: iconName, onClick: onClick.bind(null, value), size: size }, text)));
|
|
16
|
+
React.createElement(Button, { color: realColor, disabled: disabled, fill: "solid", full: true, icon: icon, iconName: iconName, onClick: onClick.bind(null, value), size: size, "aria-pressed": selected ? true : null }, text)));
|
|
17
17
|
});
|
|
18
18
|
//# sourceMappingURL=ButtonToggleItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonToggleItem.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/ButtonToggleItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAwChD,MAAM,CAAC,MAAM,gBAAgB,GAGI,KAAK,CAAC,UAAU,CAAC,UACjD,EACC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,KAAK,GACqB,EAC3B,GAAoC;IAEpC,IAAI,SAAS,GAAsC,SAAS,CAAC;IAE7D,IAAI,QAAQ;QAAE,SAAS,GAAG,KAAK,CAAC;IAEhC,MAAM,uBAAuB,GAAG,UAAU,CAAC,oBAAoB,EAAE;QAChE,4BAA4B,EAAE,MAAM;QACpC,8BAA8B,EAAE,QAAQ;QACxC,kCAAkC,EAAE,CAAC,QAAQ;QAC7C,8BAA8B,EAAE,QAAQ;KACxC,CAAC,CAAC;IAEH,OAAO,CACN,6BAAK,SAAS,EAAE,uBAAuB,EAAE,GAAG,EAAE,GAAG;QAChD,+BACC,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,OAAO,EACZ,cAAc,EAAE,QAAQ,EACxB,SAAS,EAAC,qBAAqB,EAC/B,QAAQ,EAAE,CAAC,CAAC,GACX;QACF,oBAAC,MAAM,IACN,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,IAAI,QACJ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAClC,IAAI,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"ButtonToggleItem.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/ButtonToggleItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAwChD,MAAM,CAAC,MAAM,gBAAgB,GAGI,KAAK,CAAC,UAAU,CAAC,UACjD,EACC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,KAAK,GACqB,EAC3B,GAAoC;IAEpC,IAAI,SAAS,GAAsC,SAAS,CAAC;IAE7D,IAAI,QAAQ;QAAE,SAAS,GAAG,KAAK,CAAC;IAEhC,MAAM,uBAAuB,GAAG,UAAU,CAAC,oBAAoB,EAAE;QAChE,4BAA4B,EAAE,MAAM;QACpC,8BAA8B,EAAE,QAAQ;QACxC,kCAAkC,EAAE,CAAC,QAAQ;QAC7C,8BAA8B,EAAE,QAAQ;KACxC,CAAC,CAAC;IAEH,OAAO,CACN,6BAAK,SAAS,EAAE,uBAAuB,EAAE,GAAG,EAAE,GAAG;QAChD,+BACC,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,OAAO,EACZ,cAAc,EAAE,QAAQ,EACxB,SAAS,EAAC,qBAAqB,EAC/B,QAAQ,EAAE,CAAC,CAAC,GACX;QACF,oBAAC,MAAM,IACN,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,IAAI,QACJ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAClC,IAAI,EAAE,IAAI,kBACI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAEnC,IAAI,CACG,CACJ,CACN,CAAC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { Button, ButtonProps } from '../Button';\n\n/**\n * ButtonToggleItem properties\n */\nexport interface ButtonToggleItemProps<T> {\n\t/** Content of the Button, i.e. the displayed text */\n\ttext: React.ReactNode;\n\n\t/** Value of the Button */\n\tvalue: T;\n\n\t/** Returns value of option for the click event */\n\tonClick?: (value: T) => void;\n\n\t/** Indicates whether the Button is disabled or not. It makes the Button unselectable */\n\tdisabled?: ButtonProps['disabled'];\n\n\t/** Sets the option's selected state */\n\tselected?: boolean;\n\n\t/** Selected button background color.<br /> Possible values: <i>'primary'</i>, <i>'blue'</i>, <i>'negative'</i>, <i>'red'</i> */\n\tcolor?: ButtonProps['color'];\n\n\t/** Sets size of the button.<br /> Possible values: <i>'large'</i>, <i>'small'</i> */\n\tsize?: ButtonProps['size'];\n\n\t/** Specifies the name of the Button */\n\tname: string;\n\n\t/** Hide the option (not commonly used) */\n\thidden?: boolean;\n\n\t/** React element to be rendered as an icon */\n\ticon?: ButtonProps['icon'];\n\n\t/** Name of icon to render inside of button */\n\ticonName?: ButtonProps['iconName'];\n}\n\nexport const ButtonToggleItem: <T>(\n\tprops: React.PropsWithoutRef<ButtonToggleItemProps<T>> &\n\t\tReact.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null = React.forwardRef(function <T>(\n\t{\n\t\tcolor,\n\t\tdisabled,\n\t\thidden,\n\t\ticon,\n\t\ticonName,\n\t\tname,\n\t\tonClick,\n\t\tselected,\n\t\tsize,\n\t\ttext,\n\t\tvalue,\n\t}: ButtonToggleItemProps<T>,\n\tref: React.RefObject<HTMLDivElement>\n) {\n\tlet realColor: ButtonToggleItemProps<T>['color'] = 'default';\n\n\tif (selected) realColor = color;\n\n\tconst ButtonToggleItemClasses = classnames('ButtonToggle__Item', {\n\t\t'ButtonToggle__Item--hidden': hidden,\n\t\t'ButtonToggle__Item--selected': selected,\n\t\t'ButtonToggle__Item--not-selected': !selected,\n\t\t'ButtonToggle__Item--disabled': disabled,\n\t});\n\n\treturn (\n\t\t<div className={ButtonToggleItemClasses} ref={ref}>\n\t\t\t<input\n\t\t\t\tname={name}\n\t\t\t\ttype=\"radio\"\n\t\t\t\tdefaultChecked={selected}\n\t\t\t\tclassName=\"ButtonToggle__radio\"\n\t\t\t\ttabIndex={-1} // Prevent focusing on invisible input\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tcolor={realColor}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tfill=\"solid\"\n\t\t\t\tfull\n\t\t\t\ticon={icon}\n\t\t\t\ticonName={iconName}\n\t\t\t\tonClick={onClick.bind(null, value)}\n\t\t\t\tsize={size}\n\t\t\t\taria-pressed={selected ? true : null}\n\t\t\t>\n\t\t\t\t{text}\n\t\t\t</Button>\n\t\t</div>\n\t);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ButtonToggle/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC","sourcesContent":["export * from './ButtonToggle';\nexport * from './ButtonToggleItem';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmE5C,MAAM,CAAC,MAAM,IAAI,GAAS,CAAC,EAoB1B,EAAE,EAAE;QApBsB,EAC1B,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,EAAE,GAAG,KAAK,EACV,SAAS,GAAG,MAAM,EAClB,KAAK,EACL,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,WAAW,EACX,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,OAEN,EADG,IAAI,cAnBmB,wLAoB1B,CADO;IAEP,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QACxB,IAAI,MAAM;YAAE,OAAO,QAAQ,CAAC;QAC5B,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QACxB,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC;QAC1B,IAAI,MAAM;YAAE,OAAO,QAAQ,CAAC;QAC5B,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;QACjD,YAAY,EAAE,YAAY,EAAE,KAAK,MAAM;QACvC,cAAc,EAAE,YAAY,EAAE,KAAK,QAAQ;QAC3C,YAAY,EAAE,UAAU,EAAE,KAAK,MAAM;QACrC,kBAAkB,EAAE,UAAU,EAAE,KAAK,MAAM;QAC3C,cAAc,EAAE,SAAS,EAAE,KAAK,QAAQ;QACxC,aAAa,EAAE,SAAS,EAAE,KAAK,OAAO;QACtC,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO;QAClE,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,WAAW;QAChC,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,OAAO,CACN,oBAAC,WAAW,kBACX,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,IAAI,0BACW,MAAM,IACvB,IAAI,GAEP,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC5B,CACd,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card/Card.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAmE5C,MAAM,CAAC,MAAM,IAAI,GAAS,CAAC,EAoB1B,EAAE,EAAE;QApBsB,EAC1B,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,EAAE,GAAG,KAAK,EACV,SAAS,GAAG,MAAM,EAClB,KAAK,EACL,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,WAAW,EACX,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,OAEN,EADG,IAAI,cAnBmB,wLAoB1B,CADO;IAEP,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QACxB,IAAI,MAAM;YAAE,OAAO,QAAQ,CAAC;QAC5B,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QACxB,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC;QAC1B,IAAI,MAAM;YAAE,OAAO,QAAQ,CAAC;QAC5B,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE;QACjD,YAAY,EAAE,YAAY,EAAE,KAAK,MAAM;QACvC,cAAc,EAAE,YAAY,EAAE,KAAK,QAAQ;QAC3C,YAAY,EAAE,UAAU,EAAE,KAAK,MAAM;QACrC,kBAAkB,EAAE,UAAU,EAAE,KAAK,MAAM;QAC3C,cAAc,EAAE,SAAS,EAAE,KAAK,QAAQ;QACxC,aAAa,EAAE,SAAS,EAAE,KAAK,OAAO;QACtC,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO;QAClE,gBAAgB,EAAE,QAAQ;QAC1B,mBAAmB,EAAE,WAAW;QAChC,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,KAAK;KACpB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpC,OAAO,CACN,oBAAC,WAAW,kBACX,SAAS,EAAE,WAAW,EACtB,IAAI,EAAE,IAAI,0BACW,MAAM,IACvB,IAAI,GAEP,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC5B,CACd,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { wrapWithComponent } from '../../utilities/wrapWithComponent';\n\nimport { CardSection } from './CardSection';\n\n/**\n * Card properties\n */\nexport interface CardPropsStrict {\n\t/** Shorthand for status=\"active\" */\n\tactive?: boolean;\n\n\t/** Shorthand for elevation=\"base\" */\n\tbase?: boolean;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Dark background, light text */\n\tdark?: boolean;\n\n\t/** Disabled state. Card looks unclickable with fading about 60% */\n\tdisabled?: boolean;\n\n\t/** Set the wrapping element's tagname */\n\tel?: any;\n\n\t/** Shorthand for status=\"error\" */\n\terror?: boolean;\n\n\t/** Set elevation of the card */\n\televation?: 'base' | 'flat' | 'raised';\n\n\t/** If passed a href string, <Card> gets a hover state and turns into an <a> tag */\n\thref?: string;\n\n\t/** Adds visual effect on mouse over */\n\thoverable?: boolean;\n\n\t/** Light-gray background */\n\tlight?: boolean;\n\n\t/** Shorthand for elevation=\"raised\" */\n\traised?: boolean;\n\n\t/** Makes corners less rounded */\n\tsharp?: boolean;\n\n\t/** Shorthand for padding=\"thin\" */\n\tthin?: boolean;\n\n\t/** Padding options for card */\n\tpadding?: 'none' | 'thin' | 'default';\n\n\t/** Makes dashed border and light-blue background on mouse over */\n\tplaceholder?: boolean;\n\n\t/** Status of Card */\n\tstatus?: 'default' | 'active' | 'error';\n}\n\nexport interface CardProps extends CardPropsStrict {\n\t[propName: string]: any;\n}\n\nexport interface Card extends FC<CardProps> {\n\t/** Subcomponents */\n\tSection: typeof CardSection;\n}\n\nexport const Card: Card = ({\n\tactive,\n\tbase,\n\tchildren,\n\tclassName,\n\tdark,\n\tdisabled,\n\thref,\n\thoverable,\n\tel = 'div',\n\televation = 'flat',\n\terror,\n\tlight,\n\tpadding = 'default',\n\tplaceholder,\n\traised,\n\tthin,\n\tsharp,\n\tstatus,\n\t...rest\n}) => {\n\tconst getElevation = () => {\n\t\tif (base) return 'base';\n\t\tif (raised) return 'raised';\n\t\treturn elevation;\n\t};\n\n\tconst getPadding = () => {\n\t\tif (thin) return 'thin';\n\t\treturn padding;\n\t};\n\n\tconst getStatus = () => {\n\t\tif (error) return 'error';\n\t\tif (active) return 'active';\n\t\treturn status;\n\t};\n\n\tconst CardClasses = classnames('Card', className, {\n\t\t'Card--base': getElevation() === 'base',\n\t\t'Card--raised': getElevation() === 'raised',\n\t\t'Card--thin': getPadding() === 'thin',\n\t\t'Card--no-padding': getPadding() === 'none',\n\t\t'Card--active': getStatus() === 'active',\n\t\t'Card--error': getStatus() === 'error',\n\t\t'Card--sharp': sharp,\n\t\t'Card--hoverable': hoverable || href || el === 'a' || rest.onClick,\n\t\t'Card--disabled': disabled,\n\t\t'Card--placeholder': placeholder,\n\t\t'Card--dark': dark,\n\t\t'Card--light': light,\n\t});\n\n\tconst CardElement = href ? 'a' : el;\n\n\treturn (\n\t\t<CardElement\n\t\t\tclassName={CardClasses}\n\t\t\thref={href}\n\t\t\tdata-anvil-component=\"Card\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t{wrapWithComponent(children, CardSection)}\n\t\t</CardElement>\n\t);\n};\n\nCard.Section = CardSection;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.test.js","sourceRoot":"","sources":["../../../src/components/Card/Card.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACrB,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,IAAI,qBAAe,qBAAqB;YACxC,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,kBAA4B;YAChD,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B;YACnD,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B,CAC7C,CACP,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,IAAI;YACJ,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,mBAAgB,qBAAqB,kBAE1C;YACf,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B;YACnD,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B,CAC7C,CACP,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":"Card.test.js","sourceRoot":"","sources":["../../../src/components/Card/Card.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACrB,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,IAAI,qBAAe,qBAAqB;YACxC,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,kBAA4B;YAChD,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B;YACnD,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B,CAC7C,CACP,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,IAAI;YACJ,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,mBAAgB,qBAAqB,kBAE1C;YACf,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B;YACnD,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,qBAA+B,CAC7C,CACP,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 { Card } from './Card';\n\ndescribe('Card', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Card data-auto-sel=\"automation-selector\">\n\t\t\t\t<Card.Section key={1}>Top Content</Card.Section>\n\t\t\t\t<Card.Section key={2}>Middle Content</Card.Section>\n\t\t\t\t<Card.Section key={3}>Bottom Content</Card.Section>\n\t\t\t</Card>\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<Card>\n\t\t\t\t<Card.Section key={1} data-auto-sel=\"automation-selector\">\n\t\t\t\t\tTop Content\n\t\t\t\t</Card.Section>\n\t\t\t\t<Card.Section key={2}>Middle Content</Card.Section>\n\t\t\t\t<Card.Section key={3}>Bottom Content</Card.Section>\n\t\t\t</Card>\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":"CardSection.js","sourceRoot":"","sources":["../../../src/components/Card/CardSection.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAyCpC,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAWjD,EAAE,EAAE;QAX6C,EACjD,IAAI,EACJ,SAAS,EACT,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAM,EACN,GAAG,OAEH,EADG,KAAK,cAVyC,sFAWjD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;QAC/D,mBAAmB,EAAE,IAAI,IAAI,KAAK,KAAK,MAAM;QAC7C,mBAAmB,EAAE,IAAI,IAAI,KAAK,KAAK,MAAM;QAC7C,oBAAoB,EAAE,KAAK,IAAI,KAAK,KAAK,OAAO;QAChD,oBAAoB,EAAE,KAAK,IAAI,KAAK,KAAK,OAAO;QAChD,qBAAqB,EAAE,MAAM,IAAI,KAAK,KAAK,QAAQ;QACnD,kBAAkB,EAAE,GAAG,IAAI,KAAK,KAAK,KAAK;QAC1C,wBAAwB,EAAE,SAAS,IAAI,KAAK,KAAK,WAAW;KAC5D,CAAC,CAAC;IAEH,OAAO,CACN,2CACC,SAAS,EAAE,kBAAkB,0BACR,aAAa,IAC9B,KAAK,EACR,CACF,CAAC;AACH,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"CardSection.js","sourceRoot":"","sources":["../../../src/components/Card/CardSection.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAyCpC,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAWjD,EAAE,EAAE;QAX6C,EACjD,IAAI,EACJ,SAAS,EACT,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAM,EACN,GAAG,OAEH,EADG,KAAK,cAVyC,sFAWjD,CADQ;IAER,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;QAC/D,mBAAmB,EAAE,IAAI,IAAI,KAAK,KAAK,MAAM;QAC7C,mBAAmB,EAAE,IAAI,IAAI,KAAK,KAAK,MAAM;QAC7C,oBAAoB,EAAE,KAAK,IAAI,KAAK,KAAK,OAAO;QAChD,oBAAoB,EAAE,KAAK,IAAI,KAAK,KAAK,OAAO;QAChD,qBAAqB,EAAE,MAAM,IAAI,KAAK,KAAK,QAAQ;QACnD,kBAAkB,EAAE,GAAG,IAAI,KAAK,KAAK,KAAK;QAC1C,wBAAwB,EAAE,SAAS,IAAI,KAAK,KAAK,WAAW;KAC5D,CAAC,CAAC;IAEH,OAAO,CACN,2CACC,SAAS,EAAE,kBAAkB,0BACR,aAAa,IAC9B,KAAK,EACR,CACF,CAAC;AACH,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\n\n/**\n * CardSection properties\n */\nexport interface CardSectionProps {\n\t/** Blue background */\n\tblue?: boolean;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Set background color */\n\tcolor?:\n\t\t| 'blue'\n\t\t| 'dark'\n\t\t| 'green'\n\t\t| 'light'\n\t\t| 'purple'\n\t\t| 'red'\n\t\t| 'lightblue';\n\n\t/** Dark background */\n\tdark?: boolean;\n\n\t/** Green background */\n\tgreen?: boolean;\n\n\t/** Light-gray background */\n\tlight?: boolean;\n\n\t/** Purple background */\n\tpurple?: boolean;\n\n\t/** Red background */\n\tred?: boolean;\n\n\t/** Unstrict props */\n\t[propName: string]: any;\n}\n\nexport const CardSection: FC<CardSectionProps> = ({\n\tblue,\n\tclassName,\n\tcolor,\n\tdark,\n\tgreen,\n\tlight,\n\tlightblue,\n\tpurple,\n\tred,\n\t...props\n}) => {\n\tconst CardSectionClasses = classnames('CardSection', className, {\n\t\t'CardSection--blue': blue || color === 'blue',\n\t\t'CardSection--dark': dark || color === 'dark',\n\t\t'CardSection--green': green || color === 'green',\n\t\t'CardSection--light': light || color === 'light',\n\t\t'CardSection--purple': purple || color === 'purple',\n\t\t'CardSection--red': red || color === 'red',\n\t\t'CardSection--lightblue': lightblue || color === 'lightblue',\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tclassName={CardSectionClasses}\n\t\t\tdata-anvil-component=\"CardSection\"\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nCardSection.displayName = 'CardSection';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC","sourcesContent":["export * from './Card';\nexport * from './CardSection';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.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 CheckboxProps<T>\n\textends Omit<\n\t\tReact.HTMLAttributes<HTMLInputElement>,\n\t\t'onChange' | 'onClick'\n\t> {\n\t/** Whether or not the checkbox is checked */\n\tchecked?: boolean;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Whether the checkbox is in a disabled state */\n\tdisabled?: boolean;\n\n\t/** Visual error state for the checkbox */\n\terror?: boolean;\n\n\t/** Whether or not the checkbox is focused */\n\tfocus?: boolean;\n\n\t/** ID for the form */\n\tid?: string;\n\n\t/** Indeterminate visual for a checkbox */\n\tindeterminate?: boolean;\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 checkbox changes in value */\n\tonChange?: (\n\t\tvalue: T,\n\t\tchecked: boolean,\n\t\tevent: React.SyntheticEvent<HTMLInputElement>\n\t) => void;\n\n\t/** Calls when the checkbox is clicked */\n\tonClick?: (\n\t\tevent: React.MouseEvent<HTMLInputElement>,\n\t\tdata: CheckboxProps<T>\n\t) => void;\n\n\t/** HTML Checkbox 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 checkboxes */\n\tsize?: 'small' | 'medium' | 'large';\n\n\t/** HTML Checkbox value */\n\tvalue?: T;\n}\n\nexport const Checkbox: <T>(\n\tprops: React.PropsWithoutRef<CheckboxProps<T>> &\n\t\tReact.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null = React.forwardRef(function <T>(\n\tprops: CheckboxProps<T>,\n\tref: React.RefObject<HTMLDivElement>\n) {\n\tconst {\n\t\tchecked,\n\t\tclassName,\n\t\tdisabled,\n\t\terror,\n\t\tfocus,\n\t\tid,\n\t\tindeterminate,\n\t\tlabel,\n\t\tlabelProps,\n\t\tname,\n\t\treadonly,\n\t\tsize = 'medium',\n\t\tvalue,\n\t\tonChange,\n\t\tonClick,\n\t\ttabIndex,\n\t\t...rest\n\t} = props;\n\n\tconst inputRef = React.useRef(null);\n\n\tconst newRef = React.useRef(null);\n\tconst itemRef = ref ? ref : newRef;\n\n\tconst { isFocusVisible } = useFocusVisible(itemRef);\n\n\tReact.useEffect(() => {\n\t\tif (focus) inputRef.current?.focus();\n\t}, [focus]);\n\n\tconst onChangeHandler = (e: React.SyntheticEvent<HTMLInputElement>) => {\n\t\tif (onChange) {\n\t\t\tonChange(value, e.currentTarget.checked, 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 ?? null;\n\n\t\tconst LabelClasses = classnames(labelClassName, 'Checkbox__label');\n\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 CheckboxClasses = classnames('a-Checkbox', className, {\n\t\t'Checkbox--indeterminate': indeterminate,\n\t\t'Checkbox--disabled': disabled || readonly,\n\t\t'Checkbox--checked': checked,\n\t\t'Checkbox--error': error,\n\t\t'Checkbox--small': size === 'small',\n\t\t'Checkbox--large': size === 'large',\n\t\t'Checkbox--fitted': label === undefined || label === '',\n\t\t'Checkbox--focus-visible': isFocusVisible,\n\t});\n\n\tconst indeterminateAttributes = indeterminate\n\t\t? { 'indeterminate': 'true', 'aria-checked': 'mixed' as const }\n\t\t: { 'aria-checked': checked };\n\n\treturn (\n\t\t<div\n\t\t\tclassName={CheckboxClasses}\n\t\t\tonClick={handleClickEvent}\n\t\t\tref={itemRef}\n\t\t\tdata-anvil-component=\"Checkbox\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<label className=\"Checkbox__html-label\">\n\t\t\t\t<input\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\tchecked={checked}\n\t\t\t\t\tclassName=\"Checkbox__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\tref={inputRef}\n\t\t\t\t\trole=\"checkbox\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t{...indeterminateAttributes}\n\t\t\t\t/>\n\t\t\t\t<span className=\"Checkbox__box\" />\n\t\t\t\t{getLabel()}\n\t\t\t</label>\n\t\t</div>\n\t);\n});\n\n(Checkbox as any).displayName = 'Checkbox';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.test.js","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.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,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACzB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IAE/B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,GAAG,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAE7D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,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,QAAQ,IAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAG,CAC/D,CAAC;QACF,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAE7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,mBAAe,qBAAqB,GAAG,CAC9D,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":"Checkbox.test.js","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.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,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACzB,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IAE/B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC3C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,GAAG,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAE7D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,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,QAAQ,IAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAG,CAC/D,CAAC;QACF,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAqB,CAAC;QAE7D,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,QAAQ,IAAC,KAAK,EAAC,OAAO,mBAAe,qBAAqB,GAAG,CAC9D,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 { Checkbox } from './Checkbox';\n\ndescribe('Checkbox', () => {\n\tconst user = userEvent.setup();\n\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should be checked on click', async () => {\n\t\tconst { getByLabelText } = render(<Checkbox label=\"Label\" />);\n\t\tconst checkbox = getByLabelText('Label') as HTMLInputElement;\n\n\t\texpect(checkbox.checked).toEqual(false);\n\t\tawait user.click(checkbox);\n\t\texpect(checkbox.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<Checkbox onChange={onChangeTest} value=\"test\" label=\"Label\" />\n\t\t);\n\t\tconst checkbox = getByLabelText('Label') as HTMLInputElement;\n\n\t\tawait user.click(checkbox);\n\t\texpect(onChangeTest).toBeCalledWith('test', true, expect.any(Object));\n\t});\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Checkbox 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/Checkbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Checkbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC","sourcesContent":["export * from './Checkbox';\n"]}
|
|
@@ -23,7 +23,7 @@ export const Collapsible = React.forwardRef((_a, ref) => {
|
|
|
23
23
|
animateOpacity: true,
|
|
24
24
|
duration: parseInt(tokens.durationSlow, 10),
|
|
25
25
|
easing,
|
|
26
|
-
height: open ? 'auto' : 0,
|
|
26
|
+
height: (open ? 'auto' : 0),
|
|
27
27
|
};
|
|
28
28
|
return (React.createElement(CollapsibleElement, Object.assign({ className: CollapsibleClasses, "data-anvil-component": "Collapsible", ref: ref }, props), animate ? (React.createElement(AnimateHeight, Object.assign({}, animateHeightProps), children)) : (children)));
|
|
29
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapsible.js","sourceRoot":"","sources":["../../../src/components/Collapsible/Collapsible.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AA6BnD,MAAM,CAAC,MAAM,WAAW,GAAyB,KAAK,CAAC,UAAU,CAChE,CACC,EAQC,EACD,GAAG,EACF,EAAE;QAVH,EACC,OAAO,EACP,QAAQ,EACR,SAAS,EACT,EAAE,EAAE,kBAAkB,GAAG,KAAK,EAC9B,MAAM,GAAG,MAAM,CAAC,cAAc,EAC9B,IAAI,GAAG,KAAK,OAEZ,EADG,KAAK,cAPT,4DAQC,CADQ;IAIT,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;QAC/D,qBAAqB,EAAE,CAAC,IAAI;QAC5B,uBAAuB,EAAE,OAAO;KAChC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG;QAC1B,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3C,MAAM;QACN,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Collapsible.js","sourceRoot":"","sources":["../../../src/components/Collapsible/Collapsible.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AA6BnD,MAAM,CAAC,MAAM,WAAW,GAAyB,KAAK,CAAC,UAAU,CAChE,CACC,EAQC,EACD,GAAG,EACF,EAAE;QAVH,EACC,OAAO,EACP,QAAQ,EACR,SAAS,EACT,EAAE,EAAE,kBAAkB,GAAG,KAAK,EAC9B,MAAM,GAAG,MAAM,CAAC,cAAc,EAC9B,IAAI,GAAG,KAAK,OAEZ,EADG,KAAK,cAPT,4DAQC,CADQ;IAIT,MAAM,kBAAkB,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;QAC/D,qBAAqB,EAAE,CAAC,IAAI;QAC5B,uBAAuB,EAAE,OAAO;KAChC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG;QAC1B,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3C,MAAM;QACN,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAQ;KAClC,CAAC;IAEF,OAAO,CACN,oBAAC,kBAAkB,kBAClB,SAAS,EAAE,kBAAkB,0BACR,aAAa,EAClC,GAAG,EAAE,GAAG,IACJ,KAAK,GAER,OAAO,CAAC,CAAC,CAAC,CACV,oBAAC,aAAa,oBAAK,kBAAkB,GACnC,QAAQ,CACM,CAChB,CAAC,CAAC,CAAC,CACH,QAAQ,CACR,CACmB,CACrB,CAAC;AACH,CAAC,CACD,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport AnimateHeight from 'react-animate-height';\nimport { tokens } from '@servicetitan/tokens/core';\n\n/**\n * Collapsible properties\n */\nexport interface CollapsiblePropsStrict {\n\t/** Show animation if true */\n\tanimate?: boolean;\n\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Set the wrapping element's tagname */\n\tel?: any;\n\n\t/**\n\t * *Warning* Only works when animate={true}\n\t * CSS easing function to be applied to the animation\n\t */\n\teasing?: string;\n\n\t/** Whether the Collapsible is expanded or not */\n\topen?: boolean;\n}\n\nexport interface CollapsibleProps extends CollapsiblePropsStrict {\n\t[propName: string]: any;\n}\n\nexport const Collapsible: FC<CollapsibleProps> = React.forwardRef(\n\t(\n\t\t{\n\t\t\tanimate,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tel: CollapsibleElement = 'div',\n\t\t\teasing = tokens.easingStandard,\n\t\t\topen = false,\n\t\t\t...props\n\t\t},\n\t\tref\n\t) => {\n\t\tconst CollapsibleClasses = classnames('Collapsible', className, {\n\t\t\t'Collapsible--hidden': !open,\n\t\t\t'Collapsible--animated': animate,\n\t\t});\n\n\t\tconst animateHeightProps = {\n\t\t\tanimateOpacity: true,\n\t\t\tduration: parseInt(tokens.durationSlow, 10),\n\t\t\teasing,\n\t\t\theight: (open ? 'auto' : 0) as any,\n\t\t};\n\n\t\treturn (\n\t\t\t<CollapsibleElement\n\t\t\t\tclassName={CollapsibleClasses}\n\t\t\t\tdata-anvil-component=\"Collapsible\"\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{animate ? (\n\t\t\t\t\t<AnimateHeight {...animateHeightProps}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</AnimateHeight>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</CollapsibleElement>\n\t\t);\n\t}\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapsible.test.js","sourceRoot":"","sources":["../../../src/components/Collapsible/Collapsible.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,qBAAe,qBAAqB;YAC/C,oBAAC,IAAI,qCAAkC,CAC1B,CACd,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":"Collapsible.test.js","sourceRoot":"","sources":["../../../src/components/Collapsible/Collapsible.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,qBAAe,qBAAqB;YAC/C,oBAAC,IAAI,qCAAkC,CAC1B,CACd,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 { Collapsible } from './Collapsible';\nimport { Card } from '../Card';\n\ndescribe('Collapsible', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<Collapsible data-auto-sel=\"automation-selector\">\n\t\t\t\t<Card>Lorem ipsum dolor sit amet</Card>\n\t\t\t</Collapsible>\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/Collapsible/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Collapsible/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './Collapsible';\n"]}
|
|
@@ -27,6 +27,12 @@
|
|
|
27
27
|
border-color: var(--colorsSurfaceDefault, white);
|
|
28
28
|
cursor: default;
|
|
29
29
|
}
|
|
30
|
+
.ColorPicker__Item:focus, .ColorPicker__Item:focus-visible {
|
|
31
|
+
outline: none;
|
|
32
|
+
}
|
|
33
|
+
.ColorPicker:not(.ColorPicker--disabled) .ColorPicker__Item:focus {
|
|
34
|
+
box-shadow: 0 0 0 2px var(--colorsBorderPrimary, #0265dc), 0 0 0 5px var(--colorsFocusRingPrimary, #a9d1ff);
|
|
35
|
+
}
|
|
30
36
|
@media (pointer: coarse) {
|
|
31
37
|
.ColorPicker__Item {
|
|
32
38
|
width: 32px;
|
|
@@ -50,10 +56,6 @@
|
|
|
50
56
|
.ColorPicker__CardWrapper--focus .ColorPicker {
|
|
51
57
|
outline: none;
|
|
52
58
|
}
|
|
53
|
-
.ColorPicker__CardWrapper--focus .ColorPicker__CardSection {
|
|
54
|
-
border-color: var(--colorsBorderPrimary, #0265dc);
|
|
55
|
-
box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #a9d1ff);
|
|
56
|
-
}
|
|
57
59
|
.ColorPicker__CardWrapper--disabled .ColorPicker--disabled {
|
|
58
60
|
opacity: initial;
|
|
59
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/ColorPicker/ColorPicker.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AAAA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/ColorPicker/ColorPicker.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AAAA;ACSA;ACNC;EACA;AAEA;EACA;EDKA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA,OE2GW;EF1GX,QE0GW;EFzGX;EACA,QEsGW;EFrGX;EACA,eELiB;EFMjB;AAeA;;AAbA;EACC;EACA,cAzBa;EA0Bb;;AAGD;EACkB;;AAElB;EACC;;AAID;EAxBD;IAyBE,OEqFU;IFpFV,QEoFU;;;;AFhFZ;EACC,SEgEkB;;AF9DlB;EACC;;AAEA;EACC;;;AAMF;EACC;;AAIA;EACC;;AAKD;EACC","file":"ColorPicker.css"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC } from 'react';
|
|
2
2
|
export interface ColorPickerPropsStrict {
|
|
3
3
|
/** Adds one or more classnames for an element */
|
|
4
4
|
className?: string;
|
|
@@ -12,12 +12,6 @@ export interface ColorPickerPropsStrict {
|
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
/** Not able to make changes, but not visually disabled */
|
|
14
14
|
readonly?: boolean;
|
|
15
|
-
/** HTML tabIndex property. If not passed will default to 0. Use tabIndex={null} to disable */
|
|
16
|
-
tabIndex?: number;
|
|
17
|
-
/** Optional handler for onFocus event */
|
|
18
|
-
onFocus?: React.FocusEventHandler<HTMLDivElement>;
|
|
19
|
-
/** Optional handler for onBlur event */
|
|
20
|
-
onBlur?: React.FocusEventHandler<HTMLDivElement>;
|
|
21
15
|
}
|
|
22
16
|
export interface ColorPickerProps extends ColorPickerPropsStrict {
|
|
23
17
|
/** Unstrict Props */
|
|
@@ -11,41 +11,28 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import classnames from 'classnames';
|
|
14
|
+
import { useArrowNav } from '../../hooks/useArrowNav';
|
|
15
|
+
import { useMergedRef } from '../../hooks';
|
|
14
16
|
export const ColorPicker = React.forwardRef((_a, ref) => {
|
|
15
|
-
var { className, colors, value, disabled = false, readonly = false,
|
|
17
|
+
var { className, colors, value, disabled = false, readonly = false, onChange } = _a, rest = __rest(_a, ["className", "colors", "value", "disabled", "readonly", "onChange"]);
|
|
16
18
|
const handleItemClick = (color) => () => {
|
|
17
19
|
if (!disabled && !readonly && color !== value && onChange) {
|
|
18
20
|
onChange(color);
|
|
19
21
|
}
|
|
20
22
|
};
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
onChange(colors[colors.length - 1]); // in case we haven't found current value, or it was leftmost, pick the rightmost one as next
|
|
34
|
-
}
|
|
35
|
-
if (keyCode === 'ArrowRight') {
|
|
36
|
-
for (let i = colors.length - 2; i >= 0; i = i - 1) {
|
|
37
|
-
if (colors[i] === value) {
|
|
38
|
-
onChange(colors[i + 1]);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
onChange(colors[0]); // in case we haven't found current value, or it was rightmost, pick the leftmost one as next
|
|
43
|
-
}
|
|
44
|
-
};
|
|
23
|
+
const arrowNavRef = React.useRef(null);
|
|
24
|
+
const mergedRef = useMergedRef(ref, arrowNavRef);
|
|
25
|
+
useArrowNav({
|
|
26
|
+
disabled: disabled || readonly,
|
|
27
|
+
scope: arrowNavRef,
|
|
28
|
+
handleY: false,
|
|
29
|
+
focusableSelector: { selector: 'button' },
|
|
30
|
+
onKeyDown: (e, data) => { var _a; return (_a = data.next) === null || _a === void 0 ? void 0 : _a.click(); },
|
|
31
|
+
});
|
|
45
32
|
return (React.createElement("div", Object.assign({}, rest, { className: classnames('ColorPicker', className, {
|
|
46
33
|
'ColorPicker--disabled': disabled,
|
|
47
|
-
}),
|
|
34
|
+
}), ref: mergedRef, role: "radiogroup", "data-anvil-component": "ColorPicker" }), colors.map((color, index) => (React.createElement("button", { key: index, className: classnames('ColorPicker__Item', {
|
|
48
35
|
'ColorPicker__Item--active': color === value,
|
|
49
|
-
}), style: { backgroundColor: color }, onClick: handleItemClick(color), "aria-label": color })))));
|
|
36
|
+
}), style: { backgroundColor: color }, onClick: handleItemClick(color), role: "radio", "aria-label": color, "aria-checked": color === value, tabIndex: disabled || readonly ? -1 : null })))));
|
|
50
37
|
});
|
|
51
38
|
//# sourceMappingURL=ColorPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA2B3C,MAAM,CAAC,MAAM,WAAW,GAAyB,KAAK,CAAC,UAAU,CAChE,CACC,EAQC,EACD,GAAoC,EACnC,EAAE;QAVH,EACC,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,QAAQ,OAER,EADG,IAAI,cAPR,oEAQC,CADO;IAIR,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,EAAE;QAC/C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,KAAK,IAAI,QAAQ,EAAE;YAC1D,QAAQ,CAAC,KAAK,CAAC,CAAC;SAChB;IACF,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEjD,WAAW,CAAC;QACX,QAAQ,EAAE,QAAQ,IAAI,QAAQ;QAC9B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,KAAK;QACd,iBAAiB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACzC,SAAS,EAAE,CAAC,CAAgB,EAAE,IAAS,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,EAAA;KAC9D,CAAC,CAAC;IAEH,OAAO,CACN,6CACK,IAAI,IACR,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,EAAE;YAC/C,uBAAuB,EAAE,QAAQ;SACjC,CAAC,EACF,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,YAAY,0BACI,aAAa,KAEjC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,gCACC,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE;YAC1C,2BAA2B,EAAE,KAAK,KAAK,KAAK;SAC5C,CAAC,EACF,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,EACjC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,EAC/B,IAAI,EAAC,OAAO,gBACA,KAAK,kBACH,KAAK,KAAK,KAAK,EAC7B,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GACzC,CACF,CAAC,CACG,CACN,CAAC;AACH,CAAC,CACD,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\n\nimport { useArrowNav } from '../../hooks/useArrowNav';\nimport { useMergedRef } from '../../hooks';\n\nexport interface ColorPickerPropsStrict {\n\t/** Adds one or more classnames for an element */\n\tclassName?: string;\n\n\t/** Array of available colors (for example, ['#8772e5', '#01f346'])*/\n\tcolors: string[];\n\n\t/** Currently selected color value */\n\tvalue: string | undefined;\n\n\t/** Called when the user changes the value */\n\tonChange?: (value: string) => void;\n\n\t/** Indicates whether selection cannot be changed. */\n\tdisabled?: boolean;\n\n\t/** Not able to make changes, but not visually disabled */\n\treadonly?: boolean;\n}\n\nexport interface ColorPickerProps extends ColorPickerPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport const ColorPicker: FC<ColorPickerProps> = React.forwardRef(\n\t(\n\t\t{\n\t\t\tclassName,\n\t\t\tcolors,\n\t\t\tvalue,\n\t\t\tdisabled = false,\n\t\t\treadonly = false,\n\t\t\tonChange,\n\t\t\t...rest\n\t\t},\n\t\tref: React.RefObject<HTMLDivElement>\n\t) => {\n\t\tconst handleItemClick = (color: string) => () => {\n\t\t\tif (!disabled && !readonly && color !== value && onChange) {\n\t\t\t\tonChange(color);\n\t\t\t}\n\t\t};\n\n\t\tconst arrowNavRef = React.useRef(null);\n\t\tconst mergedRef = useMergedRef(ref, arrowNavRef);\n\n\t\tuseArrowNav({\n\t\t\tdisabled: disabled || readonly,\n\t\t\tscope: arrowNavRef,\n\t\t\thandleY: false,\n\t\t\tfocusableSelector: { selector: 'button' },\n\t\t\tonKeyDown: (e: KeyboardEvent, data: any) => data.next?.click(),\n\t\t});\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\t{...rest}\n\t\t\t\tclassName={classnames('ColorPicker', className, {\n\t\t\t\t\t'ColorPicker--disabled': disabled,\n\t\t\t\t})}\n\t\t\t\tref={mergedRef}\n\t\t\t\trole=\"radiogroup\"\n\t\t\t\tdata-anvil-component=\"ColorPicker\"\n\t\t\t>\n\t\t\t\t{colors.map((color, index) => (\n\t\t\t\t\t<button\n\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\tclassName={classnames('ColorPicker__Item', {\n\t\t\t\t\t\t\t'ColorPicker__Item--active': color === value,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tstyle={{ backgroundColor: color }}\n\t\t\t\t\t\tonClick={handleItemClick(color)}\n\t\t\t\t\t\trole=\"radio\"\n\t\t\t\t\t\taria-label={color}\n\t\t\t\t\t\taria-checked={color === value}\n\t\t\t\t\t\ttabIndex={disabled || readonly ? -1 : null}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t);\n\t}\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.test.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,IACX,MAAM,EAAE;gBACP,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,kBAAkB;gBAClB,oBAAoB;aACpB,EACD,KAAK,EAAC,SAAS,mBACD,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":"ColorPicker.test.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,WAAW,IACX,MAAM,EAAE;gBACP,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,kBAAkB;gBAClB,oBAAoB;aACpB,EACD,KAAK,EAAC,SAAS,mBACD,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 { ColorPicker } from './ColorPicker';\n\ndescribe('ColorPicker', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<ColorPicker\n\t\t\t\tcolors={[\n\t\t\t\t\t'#1fbc70',\n\t\t\t\t\t'#ff745f',\n\t\t\t\t\t'#faafe2',\n\t\t\t\t\t'#8772e5',\n\t\t\t\t\t'#01f346',\n\t\t\t\t\t'#90efc0',\n\t\t\t\t\t'#ffcc80',\n\t\t\t\t\t'rgb(8, 191, 223)',\n\t\t\t\t\t'rgb(204, 157, 127)',\n\t\t\t\t]}\n\t\t\t\tvalue=\"#ff745f\"\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"]}
|
|
@@ -27,6 +27,12 @@
|
|
|
27
27
|
border-color: var(--colorsSurfaceDefault, white);
|
|
28
28
|
cursor: default;
|
|
29
29
|
}
|
|
30
|
+
.ColorPicker__Item:focus, .ColorPicker__Item:focus-visible {
|
|
31
|
+
outline: none;
|
|
32
|
+
}
|
|
33
|
+
.ColorPicker:not(.ColorPicker--disabled) .ColorPicker__Item:focus {
|
|
34
|
+
box-shadow: 0 0 0 2px var(--colorsBorderPrimary, #0265dc), 0 0 0 5px var(--colorsFocusRingPrimary, #a9d1ff);
|
|
35
|
+
}
|
|
30
36
|
@media (pointer: coarse) {
|
|
31
37
|
.ColorPicker__Item {
|
|
32
38
|
width: 32px;
|
|
@@ -50,10 +56,6 @@
|
|
|
50
56
|
.ColorPicker__CardWrapper--focus .ColorPicker {
|
|
51
57
|
outline: none;
|
|
52
58
|
}
|
|
53
|
-
.ColorPicker__CardWrapper--focus .ColorPicker__CardSection {
|
|
54
|
-
border-color: var(--colorsBorderPrimary, #0265dc);
|
|
55
|
-
box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #a9d1ff);
|
|
56
|
-
}
|
|
57
59
|
.ColorPicker__CardWrapper--disabled .ColorPicker--disabled {
|
|
58
60
|
opacity: initial;
|
|
59
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/ColorPicker/ColorPicker.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AAAA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/ColorPicker/ColorPicker.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss"],"names":[],"mappings":"AAAA;ACSA;ACNC;EACA;AAEA;EACA;EDKA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA,OE2GW;EF1GX,QE0GW;EFzGX;EACA,QEsGW;EFrGX;EACA,eELiB;EFMjB;AAeA;;AAbA;EACC;EACA,cAzBa;EA0Bb;;AAGD;EACkB;;AAElB;EACC;;AAID;EAxBD;IAyBE,OEqFU;IFpFV,QEoFU;;;;AFhFZ;EACC,SEgEkB;;AF9DlB;EACC;;AAEA;EACC;;;AAMF;EACC;;AAIA;EACC;;AAKD;EACC","file":"index.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC","sourcesContent":["export * from './ColorPicker';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../src/components/Container/Container.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AA6BpC,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAS7C,EAAE,EAAE;QATyC,EAC7C,QAAQ,EACR,SAAS,EACT,OAAO,EACP,EAAE,EAAE,gBAAgB,GAAG,KAAK,EAC5B,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,MAAM,OAElB,EADG,KAAK,cARqC,wEAS7C,CADQ;IAER,MAAM,OAAO,GAAG,UAAU,CAAC,gCAAgC,EAAE,SAAS,EAAE;QACvE,kBAAkB,EAAE,KAAK;QACzB,iBAAiB,EAAE,IAAI;QACvB,CAAC,MAAM,SAAS,EAAE,CAAC,EAAE,SAAS;KAC9B,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,gBAAgB,kBAChB,SAAS,EAAE,OAAO,0BACG,WAAW,IAC5B,KAAK,GAER,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CACtC,CACnB,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../src/components/Container/Container.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AA6BpC,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAS7C,EAAE,EAAE;QATyC,EAC7C,QAAQ,EACR,SAAS,EACT,OAAO,EACP,EAAE,EAAE,gBAAgB,GAAG,KAAK,EAC5B,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,MAAM,OAElB,EADG,KAAK,cARqC,wEAS7C,CADQ;IAER,MAAM,OAAO,GAAG,UAAU,CAAC,gCAAgC,EAAE,SAAS,EAAE;QACvE,kBAAkB,EAAE,KAAK;QACzB,iBAAiB,EAAE,IAAI;QACvB,CAAC,MAAM,SAAS,EAAE,CAAC,EAAE,SAAS;KAC9B,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,gBAAgB,kBAChB,SAAS,EAAE,OAAO,0BACG,WAAW,IAC5B,KAAK,GAER,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CACtC,CACnB,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\n\n/**\n * Container properties\n */\nexport interface ContainerPropsStrict {\n\t/** Adds one or more classnames to an element */\n\tclassName?: string;\n\n\t/** Shorthand for primary content */\n\tcontent?: React.ReactNode;\n\n\t/** Set the wrapping element's tagname */\n\tel?: any;\n\n\t/** Container has no maximum width */\n\tfluid?: boolean;\n\n\t/** Reduce maximum width to more naturally accommodate text */\n\ttext?: boolean;\n\n\t/** Align container's text */\n\ttextAlign?: 'left' | 'right' | 'center' | 'justify';\n}\n\nexport interface ContainerProps extends ContainerPropsStrict {\n\t[propName: string]: any;\n}\n\nexport const Container: FC<ContainerProps> = ({\n\tchildren,\n\tclassName,\n\tcontent,\n\tel: ContainerElement = 'div',\n\tfluid,\n\ttext,\n\ttextAlign = 'left',\n\t...props\n}) => {\n\tconst classes = classnames('semantic-anvil-theme Container', className, {\n\t\t'Container--fluid': fluid,\n\t\t'Container--text': text,\n\t\t[`ta-${textAlign}`]: textAlign,\n\t});\n\n\treturn (\n\t\t<ContainerElement\n\t\t\tclassName={classes}\n\t\t\tdata-anvil-component=\"Container\"\n\t\t\t{...props}\n\t\t>\n\t\t\t{React.Children.count(children) > 0 ? children : content}\n\t\t</ContainerElement>\n\t);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Container/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Container/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC","sourcesContent":["export * from './Container';\n"]}
|