@innovaccer/design-system 2.5.0 → 2.7.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/.eslintrc.json +54 -0
- package/.github/workflows/chromatic.yml +5 -0
- package/.github/workflows/main.yml +2 -2
- package/.github/workflows/pull_request.yml +2 -2
- package/.github/workflows/test.yml +1 -1
- package/.husky/commit-msg +4 -0
- package/.prettierrc +2 -2
- package/.storybook/main.js +4 -0
- package/.vscode/settings.json +11 -0
- package/CHANGELOG.md +78 -0
- package/CONTRIBUTING.md +180 -98
- package/commitlint.config.js +1 -0
- package/core/accessibility/utils/index.ts +5 -0
- package/core/accessibility/utils/isEnterKey.ts +5 -0
- package/core/accessibility/utils/isSpaceKey.ts +5 -0
- package/core/accessibility/utils/useAccessibilityProps.ts +33 -0
- package/core/common.type.tsx +22 -0
- package/core/components/atoms/_chip/__tests__/__snapshots__/_chip.test.tsx.snap +17 -9
- package/core/components/atoms/_chip/index.tsx +19 -3
- package/core/components/atoms/avatar/Avatar.tsx +4 -14
- package/core/components/atoms/avatar/__stories__/variants/Appearance.story.tsx +3 -2
- package/core/components/atoms/avatar/__tests__/Avatar.test.tsx +14 -9
- package/core/components/atoms/avatarGroup/AvatarGroup.tsx +3 -5
- package/core/components/atoms/badge/Badge.tsx +2 -12
- package/core/components/atoms/badge/__tests__/Badge.test.tsx +22 -7
- package/core/components/atoms/badge/_stories_/variants/Appearance.story.tsx +3 -2
- package/core/components/atoms/badge/_stories_/variants/Subtle.story.tsx +3 -2
- package/core/components/atoms/button/Button.tsx +10 -7
- package/core/components/atoms/button/__stories__/Alert.story.tsx +8 -1
- package/core/components/atoms/button/__stories__/Cancel.story.tsx +4 -1
- package/core/components/atoms/button/__stories__/IconButtonGroup.story.tsx +12 -3
- package/core/components/atoms/button/__stories__/IconButtonSecondary.story.tsx +6 -1
- package/core/components/atoms/button/__stories__/IconLeftSecondary.story.tsx +4 -1
- package/core/components/atoms/button/__stories__/IconRightSecondary.story.tsx +4 -1
- package/core/components/atoms/button/__stories__/IconTransparent.story.tsx +4 -1
- package/core/components/atoms/button/__stories__/LabelButtonGroup.story.tsx +14 -3
- package/core/components/atoms/button/__stories__/LargeIconExpanded.story.tsx +4 -1
- package/core/components/atoms/button/__stories__/LoadingPrimary.story.tsx +4 -1
- package/core/components/atoms/button/__stories__/Primary.story.tsx +5 -2
- package/core/components/atoms/button/__stories__/SplitButton.story.tsx +6 -1
- package/core/components/atoms/button/__stories__/Transparent.story.tsx +8 -1
- package/core/components/atoms/button/__stories__/index.story.tsx +12 -2
- package/core/components/atoms/button/__stories__/variants/Appearance.story.tsx +6 -2
- package/core/components/atoms/button/__stories__/variants/Expanded.story.tsx +6 -2
- package/core/components/atoms/button/__stories__/variants/Size.story.tsx +4 -0
- package/core/components/atoms/button/__stories__/variants/icon/Icon.story.tsx +15 -0
- package/core/components/atoms/button/__stories__/variants/icon/IconLeft.story.tsx +6 -2
- package/core/components/atoms/button/__stories__/variants/icon/IconRight.story.tsx +6 -2
- package/core/components/atoms/button/__stories__/variants/state/Alert.story.tsx +7 -17
- package/core/components/atoms/button/__stories__/variants/state/Basic.story.tsx +9 -17
- package/core/components/atoms/button/__stories__/variants/state/Primary.story.tsx +7 -17
- package/core/components/atoms/button/__stories__/variants/state/Transparent.story.tsx +13 -17
- package/core/components/atoms/button/__tests__/Button.test.tsx +1 -1
- package/core/components/atoms/button/__tests__/__snapshots__/Button.test.tsx.snap +0 -137
- package/core/components/atoms/card/__stories__/empty.story.tsx +1 -1
- package/core/components/atoms/card/__stories__/nested.story.tsx +1 -1
- package/core/components/atoms/card/__stories__/scroll.story.tsx +1 -1
- package/core/components/atoms/checkbox/Checkbox.tsx +8 -9
- package/core/components/atoms/checkbox/__stories__/variants/Size.story.tsx +2 -2
- package/core/components/atoms/chip/Chip.tsx +3 -2
- package/core/components/atoms/chip/__stories__/variants/Selection.story.tsx +17 -0
- package/core/components/atoms/chip/__stories__/variants/Type.story.tsx +2 -2
- package/core/components/atoms/chip/__tests__/Chip.test.tsx +7 -0
- package/core/components/atoms/chipGroup/__tests__/__snapshots__/chipGroup.test.tsx.snap +11 -5
- package/core/components/atoms/chipGroup/__tests__/chipGroup.test.tsx +2 -2
- package/core/components/atoms/chipGroup/_stories_/index.story.tsx +2 -2
- package/core/components/atoms/collapsible/__tests__/__snapshots__/Collapsible.test.tsx.snap +8 -0
- package/core/components/atoms/divider/Divider.tsx +44 -0
- package/core/components/atoms/divider/__stories__/BasicDividerInCard.story.tsx +74 -0
- package/core/components/atoms/divider/__stories__/HeaderDividerInCard.story.tsx +35 -0
- package/core/components/atoms/divider/__stories__/IndentedDivider.story.tsx +49 -0
- package/core/components/atoms/divider/__stories__/Vertical.story.tsx +51 -0
- package/core/components/atoms/divider/__stories__/index.story.tsx +91 -0
- package/core/components/atoms/divider/__stories__/variants/HorizontalDivider.story.tsx +27 -0
- package/core/components/atoms/divider/__tests__/Divider.test.tsx +50 -0
- package/core/components/atoms/divider/__tests__/__snapshots__/Divider.test.tsx.snap +53 -0
- package/core/components/atoms/divider/index.tsx +2 -0
- package/core/components/atoms/dropdown/Dropdown.tsx +18 -17
- package/core/components/atoms/dropdown/DropdownButton.tsx +2 -2
- package/core/components/atoms/dropdown/DropdownList.tsx +18 -7
- package/core/components/atoms/dropdown/Loading.tsx +1 -1
- package/core/components/atoms/dropdown/__stories__/CustomSearchPlaceholder.story.tsx +45 -0
- package/core/components/atoms/dropdown/__stories__/_common_/types.tsx +3 -0
- package/core/components/atoms/dropdown/__stories__/variants/Size.story.tsx +2 -2
- package/core/components/atoms/dropdown/__stories__/variants/controlledDropdown/MultiSelect.story.tsx +28 -18
- package/core/components/atoms/dropdown/__tests__/Dropdown.test.tsx +12 -1
- package/core/components/atoms/dropdown/__tests__/Loading.test.tsx +0 -1
- package/core/components/atoms/dropdown/option/DefaultOption.tsx +3 -0
- package/core/components/atoms/dropdown/option/IconOption.tsx +3 -0
- package/core/components/atoms/dropdown/option/IconWithMetaOption.tsx +3 -0
- package/core/components/atoms/dropdown/option/MetaOption.tsx +3 -0
- package/core/components/atoms/dropdown/option/index.tsx +1 -1
- package/core/components/atoms/editable/Editable.tsx +3 -0
- package/core/components/atoms/heading/Heading.tsx +4 -4
- package/core/components/atoms/heading/__stories__/variants/Appearance.story.tsx +3 -2
- package/core/components/atoms/heading/__tests__/Heading.test.tsx +4 -3
- package/core/components/atoms/icon/Icon.tsx +16 -5
- package/core/components/atoms/icon/__stories__/variants/Image.story.tsx +6 -1
- package/core/components/atoms/icon/__tests__/__snapshots__/Icon.test.tsx.snap +74 -0
- package/core/components/atoms/input/Input.tsx +17 -7
- package/core/components/atoms/input/__stories__/BasicInput.story.tsx +2 -1
- package/core/components/atoms/input/__stories__/InputWithCaption.story.tsx +91 -9
- package/core/components/atoms/input/__stories__/InputWithLabel.story.tsx +11 -3
- package/core/components/atoms/input/__stories__/LabelPosition.story.tsx +46 -4
- package/core/components/atoms/input/__stories__/RequiredVsOptional.story.tsx +12 -8
- package/core/components/atoms/input/__stories__/variants/controlledInput.story.tsx +46 -0
- package/core/components/atoms/input/__stories__/variants/types/BasicInput.story.tsx +2 -2
- package/core/components/atoms/input/__stories__/variants/types/IconLeft.story.tsx +2 -10
- package/core/components/atoms/input/__stories__/variants/types/WithLabel.story.tsx +1 -9
- package/core/components/atoms/input/__tests__/__snapshots__/Input.test.tsx.snap +19 -0
- package/core/components/atoms/label/Label.tsx +1 -1
- package/core/components/atoms/legend/Legend.tsx +5 -2
- package/core/components/atoms/legend/__stories__/variants/labelAppearance.story.tsx +2 -2
- package/core/components/atoms/link/Link.tsx +4 -4
- package/core/components/atoms/message/Message.tsx +12 -12
- package/core/components/atoms/message/__stories__/index.story.tsx +1 -1
- package/core/components/atoms/message/__stories__/variants/Appearance.story.tsx +1 -1
- package/core/components/atoms/message/__stories__/variants/AppearanceTitle.story.tsx +1 -1
- package/core/components/atoms/message/__tests__/Message.test.tsx +1 -6
- package/core/components/atoms/message/__tests__/__snapshots__/Message.test.tsx.snap +0 -45
- package/core/components/atoms/metaList/__tests__/MetaList.test.tsx +2 -2
- package/core/components/atoms/metricInput/MetricInput.tsx +17 -7
- package/core/components/atoms/metricInput/__stories__/DefaultMetric.story.tsx +8 -2
- package/core/components/atoms/metricInput/__stories__/WithPrefix.story.tsx +6 -2
- package/core/components/atoms/metricInput/__stories__/index.story.tsx +1 -0
- package/core/components/atoms/metricInput/__stories__/variants/Controlled.story.tsx +2 -0
- package/core/components/atoms/metricInput/__stories__/variants/Size.story.tsx +2 -2
- package/core/components/atoms/metricInput/__stories__/withSuffix.story.tsx +6 -2
- package/core/components/atoms/metricInput/__tests__/__snapshots__/MetricInput.test.tsx.snap +20 -4
- package/core/components/atoms/multiSlider/Handle.tsx +3 -0
- package/core/components/atoms/multiSlider/SliderUtils.tsx +1 -4
- package/core/components/atoms/multiSlider/index.tsx +9 -4
- package/core/components/atoms/outsideClick/OutsideClick.tsx +1 -2
- package/core/components/atoms/paragraph/Paragraph.tsx +2 -2
- package/core/components/atoms/paragraph/__stories__/variants/Appearance.story.tsx +2 -2
- package/core/components/atoms/paragraph/__tests__/Paragraph.test.tsx +2 -2
- package/core/components/atoms/pills/Pills.tsx +2 -12
- package/core/components/atoms/pills/__stories__/variants/Appearance.story.tsx +3 -2
- package/core/components/atoms/pills/__stories__/variants/Subtle.story.tsx +3 -2
- package/core/components/atoms/pills/__tests__/Pills.test.tsx +3 -2
- package/core/components/atoms/placeholderImage/PlaceholderImage.tsx +2 -2
- package/core/components/atoms/placeholderImage/__stories__/variants/Size.story.tsx +2 -2
- package/core/components/atoms/placeholderParagraph/PlaceholderParagraph.tsx +2 -2
- package/core/components/atoms/placeholderParagraph/__stories__/variants/Size.story.tsx +2 -2
- package/core/components/atoms/popperWrapper/PopperWrapper.tsx +2 -6
- package/core/components/atoms/progressRing/ProgressRing.tsx +2 -2
- package/core/components/atoms/progressRing/__stories__/variants/Size.story.tsx +1 -1
- package/core/components/atoms/radio/Radio.tsx +4 -5
- package/core/components/atoms/rangeSlider/RangeSlider.tsx +1 -2
- package/core/components/atoms/rangeSlider/__stories__/index.story.tsx +1 -2
- package/core/components/atoms/rangeSlider/__stories__/variants/Controlled.story.tsx +1 -2
- package/core/components/atoms/rangeSlider/__stories__/variants/CustomLabels.story.tsx +1 -2
- package/core/components/atoms/spinner/Spinner.tsx +4 -4
- package/core/components/atoms/spinner/__stories__/variants/Appearance.story.tsx +2 -2
- package/core/components/atoms/spinner/__stories__/variants/Size.story.tsx +1 -1
- package/core/components/atoms/statusHint/StatusHint.tsx +5 -3
- package/core/components/atoms/statusHint/__stories__/variants/Appearance.story.tsx +3 -2
- package/core/components/atoms/statusHint/__tests__/StatusHint.test.tsx +3 -2
- package/core/components/atoms/subheading/Subheading.tsx +2 -2
- package/core/components/atoms/subheading/__stories__/variants/Appearance.story.tsx +3 -2
- package/core/components/atoms/subheading/__tests__/Subheading.test.tsx +3 -2
- package/core/components/atoms/switchInput/Switch.tsx +14 -9
- package/core/components/atoms/switchInput/__stories__/DefaultSwitch.story.tsx +4 -1
- package/core/components/atoms/switchInput/__stories__/OffState.story.tsx +4 -1
- package/core/components/atoms/switchInput/__stories__/index.story.tsx +26 -3
- package/core/components/atoms/switchInput/__stories__/variants/Size.story.tsx +10 -1
- package/core/components/atoms/switchInput/__stories__/variants/State.story.tsx +9 -2
- package/core/components/atoms/text/Text.tsx +4 -4
- package/core/components/atoms/text/__stories__/variants/Appearance.story.tsx +2 -2
- package/core/components/atoms/text/__tests__/Text.test.tsx +2 -3
- package/core/components/atoms/textarea/__stories__/TextareaWithCaption.story.tsx +9 -3
- package/core/components/atoms/textarea/__stories__/defaultTextarea.story.tsx +10 -2
- package/core/components/atoms/textarea/__stories__/index.story.tsx +1 -0
- package/core/components/atoms/textarea/__stories__/variants/Disable.story.tsx +1 -0
- package/core/components/atoms/toast/ActionButton.tsx +2 -2
- package/core/components/atoms/toast/Toast.tsx +11 -6
- package/core/components/atoms/toast/__stories__/index.story.tsx +2 -6
- package/core/components/atoms/toast/__stories__/variants/Appearance.story.tsx +3 -2
- package/core/components/atoms/toast/__stories__/variants/ToastMessage.story.tsx +3 -2
- package/core/components/atoms/toast/__stories__/variants/ToastWithAction.story.tsx +3 -2
- package/core/components/atoms/toast/__tests__/Toast.test.tsx +1 -1
- package/core/components/atoms/toast/__tests__/__snapshots__/Toast.test.tsx.snap +24 -125
- package/core/components/css-utilities/Schema.tsx +1 -1
- package/core/components/css-utilities/Spacing/Schema.tsx +1 -1
- package/core/components/molecules/chatMessage/Box.tsx +3 -0
- package/core/components/molecules/chipInput/ChipInput.tsx +3 -0
- package/core/components/molecules/chipInput/__tests__/__snapshots__/ChipInput.test.tsx.snap +14 -2
- package/core/components/molecules/dropzone/Dropzone.tsx +6 -3
- package/core/components/molecules/dropzone/DropzoneBase.tsx +22 -38
- package/core/components/molecules/dropzone/FileSelectorUtils.tsx +1 -1
- package/core/components/molecules/dropzone/__stories__/index.story.tsx +151 -41
- package/core/components/molecules/dropzone/__tests__/Dropzone.test.tsx +2 -2
- package/core/components/molecules/dropzone/utils.tsx +6 -4
- package/core/components/molecules/editableChipInput/EditableChipInput.tsx +9 -5
- package/core/components/molecules/editableChipInput/__stories__/Uncontrolled.story.tsx +1 -1
- package/core/components/molecules/editableChipInput/__tests__/__snapshots__/EditableChipInput.test.tsx.snap +12 -4
- package/core/components/molecules/editableDropdown/EditableDropdown.tsx +2 -2
- package/core/components/molecules/editableInput/EditableInput.tsx +13 -4
- package/core/components/molecules/emptyState/EmptyState.tsx +9 -5
- package/core/components/molecules/emptyState/__stories__/pageNotLoadedWithSVG.story.tsx +26 -26
- package/core/components/molecules/fileList/FileListItem.tsx +3 -2
- package/core/components/molecules/fileUploader/FileUploaderItem.tsx +3 -2
- package/core/components/molecules/fileUploader/FileUploaderStatus.tsx +1 -1
- package/core/components/molecules/fileUploader/__stories__/_common_/types.tsx +3 -0
- package/core/components/molecules/fileUploader/__stories__/index.story.tsx +3 -222
- package/core/components/molecules/fullscreenModal/FullscreenModal.tsx +5 -7
- package/core/components/molecules/inputMask/InputMask.tsx +212 -146
- package/core/components/molecules/inputMask/__stories__/index.story.tsx +24 -0
- package/core/components/molecules/inputMask/__tests__/__snapshots__/InputMask.test.tsx.snap +1 -0
- package/core/components/molecules/modal/Modal.tsx +4 -6
- package/core/components/molecules/modal/__stories__/Confirmation.story.tsx +1 -1
- package/core/components/molecules/pagination/__tests__/__snapshots__/Pagination.test.tsx.snap +5 -1
- package/core/components/molecules/placeholder/Placeholder.tsx +2 -2
- package/core/components/molecules/popover/Popover.tsx +2 -9
- package/core/components/molecules/sidesheet/Sidesheet.tsx +5 -7
- package/core/components/molecules/sidesheet/__stories__/variants/CustomHeader.story.tsx +172 -0
- package/core/components/molecules/stepper/Step.tsx +2 -0
- package/core/components/molecules/tabs/Tabs.tsx +2 -0
- package/core/components/molecules/tabs/TabsWrapper.tsx +2 -0
- package/core/components/molecules/tabs/__stories__/CustomLabels.story.tsx +1 -1
- package/core/components/molecules/tooltip/Tooltip.tsx +4 -4
- package/core/components/molecules/verificationCodeInput/VerificationCodeInput.tsx +8 -4
- package/core/components/molecules/verificationCodeInput/__stories__/index.story.tsx +3 -1
- package/core/components/molecules/verificationCodeInput/__tests__/__snapshots__/VerificationCodeInput.test.tsx.snap +1 -0
- package/core/components/organisms/calendar/Calendar.tsx +130 -8
- package/core/components/organisms/calendar/__stories__/variants/firstDayOfWeek.story.tsx +2 -2
- package/core/components/organisms/calendar/__tests__/Calendar.test.tsx +27 -0
- package/core/components/organisms/calendar/utility.ts +3 -3
- package/core/components/organisms/choiceList/ChoiceList.tsx +12 -12
- package/core/components/organisms/datePicker/DatePicker.tsx +31 -16
- package/core/components/organisms/datePicker/Trigger.tsx +1 -5
- package/core/components/organisms/datePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +4518 -4479
- package/core/components/organisms/dateRangePicker/DateRangePicker.tsx +9 -10
- package/core/components/organisms/dateRangePicker/SingleInputTrigger.tsx +0 -1
- package/core/components/organisms/dateRangePicker/Trigger.tsx +2 -2
- package/core/components/organisms/dateRangePicker/__stories__/variants/monthsInView.story.tsx +2 -2
- package/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +112 -40
- package/core/components/organisms/grid/Cell.tsx +23 -19
- package/core/components/organisms/grid/Grid.tsx +3 -4
- package/core/components/organisms/grid/GridBody.tsx +0 -1
- package/core/components/organisms/grid/GridContext.ts +1 -1
- package/core/components/organisms/grid/GridRow.tsx +4 -0
- package/core/components/organisms/grid/__stories__/_common_/editableSchema.tsx +1 -3
- package/core/components/organisms/grid/__stories__/_common_/fetchData.ts +3 -3
- package/core/components/organisms/grid/__stories__/_common_/loaderSchema.ts +0 -2
- package/core/components/organisms/grid/__stories__/_common_/schema.tsx +1 -3
- package/core/components/organisms/grid/__stories__/_common_/simpleLoaderSchema.ts +0 -2
- package/core/components/organisms/grid/__stories__/_common_/statusSchema.ts +0 -2
- package/core/components/organisms/horizontalNav/HorizontalNav.tsx +2 -0
- package/core/components/organisms/inlineMessage/InlineMessage.tsx +5 -7
- package/core/components/organisms/inlineMessage/__tests__/InlineMessage.test.tsx +3 -2
- package/core/components/organisms/inlineMessage/__tests__/__snapshots__/InlineMessage.test.tsx.snap +30 -40
- package/core/components/organisms/list/__stories__/_common_/types.tsx +3 -0
- package/core/components/organisms/list/__stories__/index.story.tsx +0 -16
- package/core/components/organisms/navigation/VerticalNavigation.tsx +4 -0
- package/core/components/organisms/table/Table.tsx +3 -2
- package/core/components/organisms/table/__stories__/CompressedTable.story.tsx +1 -1
- package/core/components/organisms/table/__stories__/DataTable.story.tsx +1 -1
- package/core/components/organisms/table/__stories__/NestedTableWithNestedCard.story.tsx +1 -1
- package/core/components/organisms/table/__stories__/PinnedColumn.story.tsx +1 -1
- package/core/components/organisms/table/__stories__/ResourceTable.story.tsx +4 -3
- package/core/components/organisms/table/__stories__/Selection.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/StandardTable.story.tsx +1 -1
- package/core/components/organisms/table/__stories__/TableAsDescriptionList.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/TableAsOptionList.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/TightStory.story.tsx +1 -1
- package/core/components/organisms/table/__stories__/_common_/types.tsx +3 -0
- package/core/components/organisms/table/__stories__/syncTable.story.tsx +14 -6
- package/core/components/organisms/table/__stories__/variants/showHead.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/variants/showMenu.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/variants/size.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/variants/type.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/variants/withCheckbox.story.tsx +2 -2
- package/core/components/organisms/table/__stories__/variants/withHeader.story.tsx +0 -2
- package/core/components/organisms/table/__stories__/variants/withPagination.story.tsx +2 -2
- package/core/components/organisms/timePicker/TimePicker.tsx +4 -8
- package/core/components/organisms/timePicker/__tests__/__snapshots__/TimePicker.test.tsx.snap +14 -2
- package/core/components/organisms/verticalNav/MenuItem.tsx +2 -0
- package/core/components/organisms/verticalNav/__stories__/schema.tsx +0 -2
- package/core/components/organisms/verticalNav/__tests__/VerticalNav.test.tsx +1 -2
- package/core/components/patterns/datePicker/datePickerWithPresets.story.tsx +126 -0
- package/core/components/patterns/dateRangePicker/withCustomPopover.story.tsx +8 -8
- package/core/components/patterns/forms/CreatePassword.story.tsx +1 -1
- package/core/components/patterns/forms/VerificationCodeInput.story.tsx +2 -2
- package/core/components/patterns/table/Table with Header/tableWithHeader.story.jsx +7 -7
- package/core/global.d.ts +9 -0
- package/core/index.tsx +2 -1
- package/core/index.type.tsx +1 -0
- package/core/utils/Keys.ts +4 -0
- package/core/utils/__tests__/__snapshots__/TS.test.tsx.snap +562 -541
- package/core/utils/docPage/generateImports.tsx +2 -3
- package/core/utils/docPage/index.tsx +52 -37
- package/core/utils/docPage/sandbox.tsx +14 -7
- package/core/utils/overlayHelper.ts +7 -3
- package/core/utils/testHelper.ts +2 -2
- package/core/utils/types.tsx +1 -1
- package/core/utils/validators.ts +37 -34
- package/css/dist/index.css +1550 -1415
- package/css/dist/index.css.map +1 -1
- package/css/src/components/Legend.css +7 -7
- package/css/src/components/ProgressBar.css +1 -1
- package/css/src/components/avatarGroup.css +1 -1
- package/css/src/components/backdrop.css +12 -6
- package/css/src/components/badge.css +52 -52
- package/css/src/components/button.css +95 -94
- package/css/src/components/calendar.css +137 -126
- package/css/src/components/card.css +0 -1
- package/css/src/components/cardSubdued.css +3 -5
- package/css/src/components/chat.css +1 -1
- package/css/src/components/checkbox.css +71 -70
- package/css/src/components/chip.css +20 -17
- package/css/src/components/chipGroup.css +5 -5
- package/css/src/components/chipInput.css +1 -1
- package/css/src/components/choiceList.css +4 -4
- package/css/src/components/dateRangePicker.css +13 -13
- package/css/src/components/divider.css +20 -0
- package/css/src/components/dropdown.css +61 -61
- package/css/src/components/dropdownButton.css +36 -36
- package/css/src/components/dropzone.css +16 -20
- package/css/src/components/editableChipInput.css +10 -9
- package/css/src/components/editableDropdown.css +1 -1
- package/css/src/components/editableInput.css +1 -1
- package/css/src/components/emptyState.css +15 -15
- package/css/src/components/fileList.css +44 -45
- package/css/src/components/fullscreenModal.css +4 -3
- package/css/src/components/grid.css +217 -199
- package/css/src/components/horizontalNav.css +0 -1
- package/css/src/components/icon.css +1 -7
- package/css/src/components/inlineMessage.css +2 -1
- package/css/src/components/input.css +62 -62
- package/css/src/components/link.css +1 -1
- package/css/src/components/list.css +10 -10
- package/css/src/components/message.css +64 -70
- package/css/src/components/metaList.css +26 -26
- package/css/src/components/metricInput.css +3 -4
- package/css/src/components/modal.css +1 -1
- package/css/src/components/navigation.css +3 -3
- package/css/src/components/pageHeader.css +1 -2
- package/css/src/components/pagination.css +36 -36
- package/css/src/components/pills.css +19 -19
- package/css/src/components/placeholder.css +10 -5
- package/css/src/components/popover.css +2 -2
- package/css/src/components/progressRing.css +1 -1
- package/css/src/components/radio.css +74 -74
- package/css/src/components/slider.css +5 -5
- package/css/src/components/statusHints.css +15 -15
- package/css/src/components/switch.css +66 -41
- package/css/src/components/table.css +15 -15
- package/css/src/components/tabs.css +53 -53
- package/css/src/components/textarea.css +1 -1
- package/css/src/components/toast.css +51 -56
- package/css/src/components/verificationCodeInput.css +5 -6
- package/css/src/components/verticalNav.css +1 -2
- package/css/src/core/base.css +3 -0
- package/css/src/core/typography.css +1 -1
- package/css/src/core/utilities.css +1 -1
- package/css/src/tokens/index.css +63 -63
- package/css/src/utils/align.css +1 -1
- package/css/src/utils/background.css +1 -1
- package/css/src/utils/cursor.css +1 -1
- package/css/src/utils/display.css +1 -1
- package/css/src/utils/flex.css +1 -1
- package/css/src/utils/grid.css +1 -1
- package/css/src/utils/overflow.css +1 -1
- package/css/src/utils/position.css +1 -1
- package/css/src/utils/spacing.css +1 -1
- package/css/src/utils/utility.css +13 -13
- package/css/src/variables/index.css +6 -3
- package/dist/core/accessibility/utils/index.d.ts +4 -0
- package/dist/core/accessibility/utils/isEnterKey.d.ts +3 -0
- package/dist/core/accessibility/utils/isSpaceKey.d.ts +3 -0
- package/dist/core/accessibility/utils/useAccessibilityProps.d.ts +18 -0
- package/dist/core/common.type.d.ts +12 -0
- package/dist/core/components/atoms/avatar/Avatar.d.ts +4 -4
- package/dist/core/components/atoms/avatarGroup/AvatarGroup.d.ts +2 -3
- package/dist/core/components/atoms/badge/Badge.d.ts +2 -2
- package/dist/core/components/atoms/button/Button.d.ts +6 -6
- package/dist/core/components/atoms/checkbox/Checkbox.d.ts +3 -3
- package/dist/core/components/atoms/chip/Chip.d.ts +2 -2
- package/dist/core/components/atoms/divider/Divider.d.ts +15 -0
- package/dist/core/components/atoms/divider/index.d.ts +2 -0
- package/dist/core/components/atoms/dropdown/Dropdown.d.ts +18 -17
- package/dist/core/components/atoms/dropdown/DropdownButton.d.ts +2 -2
- package/dist/core/components/atoms/dropdown/DropdownList.d.ts +4 -3
- package/dist/core/components/atoms/dropdown/option/index.d.ts +1 -1
- package/dist/core/components/atoms/heading/Heading.d.ts +4 -4
- package/dist/core/components/atoms/icon/Icon.d.ts +5 -3
- package/dist/core/components/atoms/input/Input.d.ts +4 -4
- package/dist/core/components/atoms/legend/Legend.d.ts +2 -2
- package/dist/core/components/atoms/link/Link.d.ts +4 -4
- package/dist/core/components/atoms/message/Message.d.ts +2 -2
- package/dist/core/components/atoms/metricInput/MetricInput.d.ts +3 -3
- package/dist/core/components/atoms/multiSlider/SliderUtils.d.ts +1 -1
- package/dist/core/components/atoms/multiSlider/index.d.ts +3 -3
- package/dist/core/components/atoms/paragraph/Paragraph.d.ts +2 -2
- package/dist/core/components/atoms/pills/Pills.d.ts +2 -2
- package/dist/core/components/atoms/placeholderImage/PlaceholderImage.d.ts +2 -2
- package/dist/core/components/atoms/placeholderParagraph/PlaceholderParagraph.d.ts +2 -2
- package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +51 -51
- package/dist/core/components/atoms/progressRing/ProgressRing.d.ts +2 -2
- package/dist/core/components/atoms/radio/Radio.d.ts +4 -4
- package/dist/core/components/atoms/rangeSlider/RangeSlider.d.ts +1 -1
- package/dist/core/components/atoms/spinner/Spinner.d.ts +4 -4
- package/dist/core/components/atoms/statusHint/StatusHint.d.ts +2 -2
- package/dist/core/components/atoms/subheading/Subheading.d.ts +2 -2
- package/dist/core/components/atoms/switchInput/Switch.d.ts +7 -6
- package/dist/core/components/atoms/text/Text.d.ts +4 -4
- package/dist/core/components/atoms/toast/ActionButton.d.ts +2 -2
- package/dist/core/components/atoms/toast/Toast.d.ts +2 -2
- package/dist/core/components/molecules/dropzone/Dropzone.d.ts +3 -3
- package/dist/core/components/molecules/dropzone/DropzoneBase.d.ts +1 -1
- package/dist/core/components/molecules/dropzone/utils.d.ts +5 -3
- package/dist/core/components/molecules/emptyState/EmptyState.d.ts +4 -4
- package/dist/core/components/molecules/fileList/FileListItem.d.ts +1 -1
- package/dist/core/components/molecules/fileUploader/FileUploaderItem.d.ts +1 -1
- package/dist/core/components/molecules/fileUploader/FileUploaderStatus.d.ts +1 -1
- package/dist/core/components/molecules/fullscreenModal/FullscreenModal.d.ts +4 -7
- package/dist/core/components/molecules/inputMask/InputMask.d.ts +10 -2
- package/dist/core/components/molecules/modal/Modal.d.ts +3 -6
- package/dist/core/components/molecules/placeholder/Placeholder.d.ts +2 -2
- package/dist/core/components/molecules/popover/Popover.d.ts +0 -1
- package/dist/core/components/molecules/sidesheet/Sidesheet.d.ts +3 -6
- package/dist/core/components/molecules/tooltip/Tooltip.d.ts +3 -3
- package/dist/core/components/organisms/calendar/Calendar.d.ts +31 -0
- package/dist/core/components/organisms/choiceList/ChoiceList.d.ts +5 -6
- package/dist/core/components/organisms/datePicker/DatePicker.d.ts +2 -0
- package/dist/core/components/organisms/dateRangePicker/DateRangePicker.d.ts +24 -0
- package/dist/core/components/organisms/grid/Cell.d.ts +1 -1
- package/dist/core/components/organisms/grid/Grid.d.ts +3 -3
- package/dist/core/components/organisms/grid/GridContext.d.ts +1 -1
- package/dist/core/components/organisms/inlineMessage/InlineMessage.d.ts +2 -2
- package/dist/core/components/organisms/table/Table.d.ts +2 -2
- package/dist/core/components/patterns/datePicker/datePickerWithPresets.story.d.ts +15 -0
- package/dist/core/components/patterns/dateRangePicker/withCustomPopover.story.d.ts +5 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.type.d.ts +1 -0
- package/dist/core/utils/docPage/generateImports.d.ts +1 -1
- package/dist/core/utils/overlayHelper.d.ts +1 -1
- package/dist/core/utils/types.d.ts +1 -1
- package/dist/index.esm.js +1039 -729
- package/dist/index.js +532 -371
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.br +0 -0
- package/dist/index.umd.js.gz +0 -0
- package/dts.config.js +11 -2
- package/package.json +32 -27
- package/tsconfig.json +3 -16
- package/tsconfig.type.json +2 -1
- package/types/index.d.ts +2217 -0
- package/types/{innovaccer-design-system/tsconfig.json → tsconfig.json} +1 -1
- package/types/{innovaccer-design-system/tslint.json → tslint.json} +0 -0
- package/types/types-tests.tsx +936 -0
- package/.husky/prepare-commit-msg +0 -6
- package/core/components/atoms/button/__stories__/variants/state/Success.story.tsx +0 -99
- package/core/components/atoms/message/__stories__/default.story.tsx +0 -16
- package/core/components/atoms/toast/__stories__/DefaultToast.story.tsx +0 -16
- package/core/components/molecules/dropzone/__stories__/variants/DropzoneWithFileList.story.tsx +0 -176
- package/core/components/molecules/fileUploader/__stories__/variants/FileUploaderList.story.tsx +0 -80
- package/tslint.json +0 -30
- package/types/innovaccer-design-system/index.d.ts +0 -39
- package/types/innovaccer-design-system/innovaccer-design-system-tests.ts +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import Dropdown from '../../Dropdown';
|
|
3
|
-
import {
|
|
3
|
+
import { DropDownButtonSize } from '../../DropdownButton';
|
|
4
4
|
import Text from '@/components/atoms/text';
|
|
5
5
|
import { storyOptions } from '../Options';
|
|
6
6
|
import { Uncontrolled, Controlled } from '../_common_/types';
|
|
7
7
|
|
|
8
8
|
// CSF format story
|
|
9
9
|
export const size = () => {
|
|
10
|
-
const sizes:
|
|
10
|
+
const sizes: DropDownButtonSize[] = ['tiny', 'regular'];
|
|
11
11
|
|
|
12
12
|
return (
|
|
13
13
|
<div className="d-flex">
|
package/core/components/atoms/dropdown/__stories__/variants/controlledDropdown/MultiSelect.story.tsx
CHANGED
|
@@ -34,7 +34,7 @@ export const multiSelect = () => {
|
|
|
34
34
|
|
|
35
35
|
const onSelectLessThan50 = (type: EventType, option?: any) => {
|
|
36
36
|
switch (type) {
|
|
37
|
-
case 'select-all':
|
|
37
|
+
case 'select-all': {
|
|
38
38
|
const selectedDisabledArray = selectedLessThan50.filter((item) => item.disabled);
|
|
39
39
|
const selectedOptions = [
|
|
40
40
|
...dropdownOptions.slice(0, 50).filter((item) => !item.disabled),
|
|
@@ -42,45 +42,55 @@ export const multiSelect = () => {
|
|
|
42
42
|
];
|
|
43
43
|
|
|
44
44
|
setSelectedLessThan50(selectedOptions);
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
case 'deselect-all': {
|
|
47
48
|
const selectedArr = selectedLessThan50.filter((item) => item.disabled);
|
|
48
49
|
setSelectedLessThan50(selectedArr);
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case 'select-option': {
|
|
51
53
|
setSelectedLessThan50(selectedLessThan50.concat(option));
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case 'deselect-option': {
|
|
54
57
|
const selectedArray = selectedLessThan50.slice();
|
|
55
58
|
const index = selectedArray.findIndex((item) => item.value === option.value);
|
|
56
59
|
selectedArray.splice(index, 1);
|
|
57
60
|
setSelectedLessThan50(selectedArray);
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
default: {
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
60
66
|
}
|
|
61
67
|
};
|
|
62
68
|
|
|
63
69
|
const onSelectMoreThan50 = (type: EventType, option?: any) => {
|
|
64
70
|
switch (type) {
|
|
65
|
-
case 'select-option':
|
|
71
|
+
case 'select-option': {
|
|
66
72
|
setSelectedMoreThan50(selectedMoreThan50.concat(option));
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
case 'deselect-option': {
|
|
69
76
|
const selectedArray = selectedMoreThan50.slice();
|
|
70
77
|
const index = selectedArray.findIndex((item) => item.value === option.value);
|
|
71
78
|
selectedArray.splice(index, 1);
|
|
72
79
|
setSelectedMoreThan50(selectedArray);
|
|
73
|
-
|
|
74
|
-
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
case 'clear-all': {
|
|
75
83
|
const selectedArr = selectedMoreThan50.filter((item) => item.disabled);
|
|
76
84
|
setSelectedMoreThan50(selectedArr);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
default: {
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
80
90
|
}
|
|
81
91
|
};
|
|
82
92
|
|
|
83
|
-
const onClose = (options: any[]
|
|
93
|
+
const onClose = (options: any[]) => {
|
|
84
94
|
return action(`dropdown closed with selected values: ${options}`)();
|
|
85
95
|
};
|
|
86
96
|
|
|
@@ -352,7 +352,7 @@ describe('Dropdown component', () => {
|
|
|
352
352
|
|
|
353
353
|
describe('renders dropdown component onKeyDown Handler', () => {
|
|
354
354
|
const dropdownListId = 'DesignSystem-DropdownList-Wrapper';
|
|
355
|
-
keyDownEvents.forEach((action
|
|
355
|
+
keyDownEvents.forEach((action) => {
|
|
356
356
|
it(`checks for keyDown ${action} event with dropdownOpen set as true `, () => {
|
|
357
357
|
const { getByTestId } = render(
|
|
358
358
|
<Dropdown
|
|
@@ -458,3 +458,14 @@ describe('Dropdown component action buttons', () => {
|
|
|
458
458
|
expect(screen.queryByText('DesignSystem-Popover')).not.toBeInTheDocument();
|
|
459
459
|
});
|
|
460
460
|
});
|
|
461
|
+
|
|
462
|
+
describe('Dropdown component with search', () => {
|
|
463
|
+
it('check:prop searchPlaceholder', () => {
|
|
464
|
+
const { getByTestId } = render(
|
|
465
|
+
<Dropdown options={dropdownOptions} withSearch={true} searchPlaceholder="Custom search text" />
|
|
466
|
+
);
|
|
467
|
+
const dropdownTrigger = getByTestId(trigger);
|
|
468
|
+
fireEvent.click(dropdownTrigger);
|
|
469
|
+
expect(screen.getByPlaceholderText('Custom search text')).toBeInTheDocument();
|
|
470
|
+
});
|
|
471
|
+
});
|
|
@@ -4,7 +4,6 @@ import { Dropdown } from '@/index';
|
|
|
4
4
|
|
|
5
5
|
import { storyOptions, iconOptions, subInfoOptions, iconWithSubinfoOptions } from '../__stories__/Options';
|
|
6
6
|
|
|
7
|
-
const FunctionValue = jest.fn();
|
|
8
7
|
const trigger = 'DesignSystem-DropdownTrigger';
|
|
9
8
|
|
|
10
9
|
describe('renders loading states', () => {
|
|
@@ -8,6 +8,8 @@ const DefaultOption = (props: OptionTypeProps) => {
|
|
|
8
8
|
const { label, disabled } = optionData;
|
|
9
9
|
|
|
10
10
|
return (
|
|
11
|
+
// TODO(a11y): fix accessibility
|
|
12
|
+
/* eslint-disable */
|
|
11
13
|
<div
|
|
12
14
|
className={className}
|
|
13
15
|
onClick={onClickHandler}
|
|
@@ -15,6 +17,7 @@ const DefaultOption = (props: OptionTypeProps) => {
|
|
|
15
17
|
data-test={dataTest}
|
|
16
18
|
data-disabled={disabled}
|
|
17
19
|
>
|
|
20
|
+
{/* eslint-enable */}
|
|
18
21
|
<div className={'Option-label'}>
|
|
19
22
|
<Text className={textClassName} appearance={appearance}>
|
|
20
23
|
{label}
|
|
@@ -14,6 +14,8 @@ const IconOption = (props: OptionTypeProps) => {
|
|
|
14
14
|
});
|
|
15
15
|
|
|
16
16
|
return (
|
|
17
|
+
// TODO(a11y): fix accessibility
|
|
18
|
+
/* eslint-disable */
|
|
17
19
|
<div
|
|
18
20
|
className={OptionClass}
|
|
19
21
|
onClick={onClickHandler}
|
|
@@ -21,6 +23,7 @@ const IconOption = (props: OptionTypeProps) => {
|
|
|
21
23
|
data-test={dataTest}
|
|
22
24
|
data-disabled={disabled}
|
|
23
25
|
>
|
|
26
|
+
{/* eslint-enable */}
|
|
24
27
|
{icon && (
|
|
25
28
|
<Icon className="Option-icon mr-4" data-test={`${dataTest}--Icon`} name={icon} appearance={appearance} />
|
|
26
29
|
)}
|
|
@@ -23,6 +23,8 @@ const IconWithMetaOption = (props: OptionTypeProps) => {
|
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
return (
|
|
26
|
+
// TODO(a11y): fix accessibility
|
|
27
|
+
/* eslint-disable */
|
|
26
28
|
<div
|
|
27
29
|
className={OptionClass}
|
|
28
30
|
onClick={onClickHandler}
|
|
@@ -30,6 +32,7 @@ const IconWithMetaOption = (props: OptionTypeProps) => {
|
|
|
30
32
|
data-test={dataTest}
|
|
31
33
|
data-disabled={disabled}
|
|
32
34
|
>
|
|
35
|
+
{/* eslint-enable */}
|
|
33
36
|
{icon && (
|
|
34
37
|
<Icon data-test={`${dataTest}--Icon`} className="Option-icon mr-4" name={icon} appearance={appearance} />
|
|
35
38
|
)}
|
|
@@ -17,6 +17,8 @@ const MetaOption = (props: OptionTypeProps) => {
|
|
|
17
17
|
const { subInfo, label, disabled } = optionData;
|
|
18
18
|
|
|
19
19
|
return (
|
|
20
|
+
// TODO(a11y): fix accessibility
|
|
21
|
+
/* eslint-disable */
|
|
20
22
|
<div
|
|
21
23
|
className={className}
|
|
22
24
|
onClick={onClickHandler}
|
|
@@ -24,6 +26,7 @@ const MetaOption = (props: OptionTypeProps) => {
|
|
|
24
26
|
data-test={dataTest}
|
|
25
27
|
data-disabled={disabled}
|
|
26
28
|
>
|
|
29
|
+
{/* eslint-enable */}
|
|
27
30
|
<div className={'Option-label'}>
|
|
28
31
|
<Text className={textClassName} appearance={appearance}>
|
|
29
32
|
{label}
|
|
@@ -8,8 +8,8 @@ import IconWithMetaOption from './IconWithMetaOption';
|
|
|
8
8
|
import { MetaList, Text } from '@/index';
|
|
9
9
|
import { MetaListProps, IconProps, TextProps } from '@/index.type';
|
|
10
10
|
import { OptionType } from '../DropdownList';
|
|
11
|
+
import { ChangeEvent } from '@/common.type';
|
|
11
12
|
|
|
12
|
-
export type ChangeEvent = React.ChangeEvent<HTMLInputElement>;
|
|
13
13
|
export type ClickEvent = React.MouseEvent<HTMLDivElement>;
|
|
14
14
|
|
|
15
15
|
export interface OptionRendererProps {
|
|
@@ -22,12 +22,15 @@ export const Editable = (props: EditableProps) => {
|
|
|
22
22
|
|
|
23
23
|
return (
|
|
24
24
|
<div data-test="DesignSystem-Editable" {...baseProps} className={EditableClass}>
|
|
25
|
+
{/* TODO(a11y): fix accessibility */}
|
|
26
|
+
{/* eslint-disable */}
|
|
25
27
|
<div
|
|
26
28
|
data-test="DesignSystem-EditableWrapper"
|
|
27
29
|
onClick={() => onChange('edit')}
|
|
28
30
|
onMouseEnter={() => !editing && onChange('hover')}
|
|
29
31
|
onMouseLeave={() => !editing && onChange('default')}
|
|
30
32
|
>
|
|
33
|
+
{/* eslint-enable */}
|
|
31
34
|
{children}
|
|
32
35
|
</div>
|
|
33
36
|
</div>
|
|
@@ -2,9 +2,9 @@ import * as React from 'react';
|
|
|
2
2
|
import GenericText from '../_text';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { BaseHtmlProps, BaseProps } from '@/utils/types';
|
|
5
|
+
import { HeadingAppearance } from '@/common.type';
|
|
5
6
|
|
|
6
|
-
export type
|
|
7
|
-
export type Appearance = 'default' | 'subtle' | 'disabled' | 'white';
|
|
7
|
+
export type HeadingSize = 's' | 'm' | 'l' | 'xl' | 'xxl';
|
|
8
8
|
|
|
9
9
|
export interface HeadingProps extends BaseProps, BaseHtmlProps<HTMLHeadingElement> {
|
|
10
10
|
/**
|
|
@@ -14,11 +14,11 @@ export interface HeadingProps extends BaseProps, BaseHtmlProps<HTMLHeadingElemen
|
|
|
14
14
|
/**
|
|
15
15
|
* Color of `Heading`
|
|
16
16
|
*/
|
|
17
|
-
appearance:
|
|
17
|
+
appearance: HeadingAppearance;
|
|
18
18
|
/**
|
|
19
19
|
* size of `Heading`
|
|
20
20
|
*/
|
|
21
|
-
size:
|
|
21
|
+
size: HeadingSize;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
const sizeMap = {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import Heading
|
|
2
|
+
import Heading from '../../index';
|
|
3
3
|
import Text from '@/components/atoms/text';
|
|
4
|
+
import { HeadingAppearance } from '@/common.type';
|
|
4
5
|
|
|
5
6
|
// CSF format story
|
|
6
7
|
export const appearance = () => {
|
|
7
|
-
const appearances:
|
|
8
|
+
const appearances: HeadingAppearance[] = ['default', 'subtle', 'disabled', 'white'];
|
|
8
9
|
return (
|
|
9
10
|
<div className="Row">
|
|
10
11
|
{appearances.map((appear, ind) => {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { render } from '@testing-library/react';
|
|
3
|
-
import Heading, { HeadingProps as Props,
|
|
3
|
+
import Heading, { HeadingProps as Props, HeadingSize } from '../Heading';
|
|
4
4
|
import { testHelper, filterUndefined, valueHelper, testMessageHelper } from '@/utils/testHelper';
|
|
5
|
+
import { HeadingAppearance } from '@/common.type';
|
|
5
6
|
|
|
6
|
-
const appearance:
|
|
7
|
-
const sizes:
|
|
7
|
+
const appearance: HeadingAppearance[] = ['default', 'subtle', 'disabled', 'white'];
|
|
8
|
+
const sizes: HeadingSize[] = ['s', 'm', 'l', 'xl', 'xxl'];
|
|
8
9
|
|
|
9
10
|
describe('Heading component', () => {
|
|
10
11
|
const mapper = {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { BaseProps, extractBaseProps } from '@/utils/types';
|
|
4
|
+
import { useAccessibilityProps } from '@/accessibility/utils';
|
|
4
5
|
|
|
5
|
-
export type
|
|
6
|
+
export type IconAppearance =
|
|
6
7
|
| 'default'
|
|
7
8
|
| 'destructive'
|
|
8
9
|
| 'white'
|
|
@@ -54,19 +55,29 @@ export interface IconProps extends BaseProps {
|
|
|
54
55
|
/**
|
|
55
56
|
* Color of `Icon` // 'info' appearance will be deprecated soon.
|
|
56
57
|
*/
|
|
57
|
-
appearance?:
|
|
58
|
+
appearance?: IconAppearance;
|
|
58
59
|
/**
|
|
59
60
|
* Handler to be called when icon is clicked
|
|
60
61
|
*/
|
|
61
|
-
onClick?: (e: React.MouseEvent<HTMLElement
|
|
62
|
+
onClick?: (e: React.MouseEvent<HTMLElement>) => void;
|
|
63
|
+
/**
|
|
64
|
+
* Handler to be called when key is pressed on icon
|
|
65
|
+
*/
|
|
66
|
+
onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
|
|
62
67
|
/**
|
|
63
68
|
* DOM node to be passed as child to the component
|
|
64
69
|
*/
|
|
65
70
|
children?: React.ReactNode;
|
|
71
|
+
/**
|
|
72
|
+
* The tabindex global attribute indicates that its element can be focused, and
|
|
73
|
+
* where it participates in sequential keyboard navigation.
|
|
74
|
+
*/
|
|
75
|
+
tabIndex?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>['tabIndex'];
|
|
66
76
|
}
|
|
67
77
|
|
|
68
78
|
export const Icon = (props: IconProps) => {
|
|
69
|
-
const { appearance, className, name, size,
|
|
79
|
+
const { appearance, className, name, size, children } = props;
|
|
80
|
+
const accessibilityProps = useAccessibilityProps(props);
|
|
70
81
|
|
|
71
82
|
const baseProps = extractBaseProps(props);
|
|
72
83
|
|
|
@@ -107,7 +118,7 @@ export const Icon = (props: IconProps) => {
|
|
|
107
118
|
);
|
|
108
119
|
}
|
|
109
120
|
return (
|
|
110
|
-
<i {...baseProps} className={iconClass} style={styles}
|
|
121
|
+
<i {...baseProps} className={iconClass} style={styles} {...accessibilityProps}>
|
|
111
122
|
{type ? `${name}_${type}` : name}
|
|
112
123
|
</i>
|
|
113
124
|
);
|
|
@@ -4,7 +4,12 @@ import { Icon } from '@/index';
|
|
|
4
4
|
export const image = () => {
|
|
5
5
|
return (
|
|
6
6
|
<Icon size={50}>
|
|
7
|
-
<img
|
|
7
|
+
<img
|
|
8
|
+
alt="Innovaccer logo"
|
|
9
|
+
src="https://innovaccer.com/static/image/site-logo/innovaccer-logo-black.svg"
|
|
10
|
+
width="150"
|
|
11
|
+
height="150"
|
|
12
|
+
/>
|
|
8
13
|
</Icon>
|
|
9
14
|
);
|
|
10
15
|
};
|