@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
|
@@ -6,17 +6,19 @@ export const requiredVsOptionalMarking = () => {
|
|
|
6
6
|
<div>
|
|
7
7
|
<div className="d-flex">
|
|
8
8
|
<div>
|
|
9
|
-
<Label withInput={true} required={true}>
|
|
9
|
+
<Label htmlFor="email" withInput={true} required={true}>
|
|
10
10
|
Email
|
|
11
11
|
</Label>
|
|
12
|
-
<Input
|
|
12
|
+
<Input id="email" required placeholder="e.g lawsonjoy@gmail.com" />
|
|
13
13
|
<div className="d-flex align-items-center justify-content-center mt-5">
|
|
14
14
|
<Text weight="medium">Required Field</Text>
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
<div className="ml-9">
|
|
18
|
-
<Label withInput={true}>
|
|
19
|
-
|
|
18
|
+
<Label htmlFor="email2" withInput={true}>
|
|
19
|
+
Email
|
|
20
|
+
</Label>
|
|
21
|
+
<Input id="email2" placeholder="e.g lawsonjoy@gmail.com" />
|
|
20
22
|
<div className="d-flex align-items-center justify-content-center mt-5">
|
|
21
23
|
<Text weight="medium">Optional Field</Text>
|
|
22
24
|
</div>
|
|
@@ -24,17 +26,19 @@ export const requiredVsOptionalMarking = () => {
|
|
|
24
26
|
</div>
|
|
25
27
|
<div className="d-flex mt-9">
|
|
26
28
|
<div>
|
|
27
|
-
<Label withInput={true}>
|
|
28
|
-
|
|
29
|
+
<Label htmlFor="email3" withInput={true}>
|
|
30
|
+
Email
|
|
31
|
+
</Label>
|
|
32
|
+
<Input id="email3" placeholder="e.g lawsonjoy@gmail.com" />
|
|
29
33
|
<div className="d-flex align-items-center justify-content-center mt-5">
|
|
30
34
|
<Text weight="medium">Required Field</Text>
|
|
31
35
|
</div>
|
|
32
36
|
</div>
|
|
33
37
|
<div className="ml-9">
|
|
34
|
-
<Label withInput={true} optional={true}>
|
|
38
|
+
<Label htmlFor="email4" withInput={true} optional={true}>
|
|
35
39
|
Email
|
|
36
40
|
</Label>
|
|
37
|
-
<Input
|
|
41
|
+
<Input id="email4" placeholder="e.g lawsonjoy@gmail.com" />
|
|
38
42
|
<div className="d-flex align-items-center justify-content-center mt-5">
|
|
39
43
|
<Text weight="medium">Optional Field</Text>
|
|
40
44
|
</div>
|
|
@@ -44,6 +44,51 @@ export const controlledInput = () => {
|
|
|
44
44
|
</div>
|
|
45
45
|
);
|
|
46
46
|
};
|
|
47
|
+
|
|
48
|
+
const customCode = `() => {
|
|
49
|
+
const [visibility, setVisibility] = React.useState(false);
|
|
50
|
+
const [value, setValue] = React.useState('Value');
|
|
51
|
+
const handleParentChange = (event) => {
|
|
52
|
+
const updatedValue = event.target.value;
|
|
53
|
+
setValue(updatedValue);
|
|
54
|
+
};
|
|
55
|
+
const [value1, setValue1] = React.useState('Value');
|
|
56
|
+
const onChangeHandler = (event) => {
|
|
57
|
+
const updatedValue = event.target.value;
|
|
58
|
+
setValue1(updatedValue);
|
|
59
|
+
};
|
|
60
|
+
const onClearHandler = () => {
|
|
61
|
+
const updatedValue = '';
|
|
62
|
+
setValue1(updatedValue);
|
|
63
|
+
};
|
|
64
|
+
return (
|
|
65
|
+
<div className="d-flex">
|
|
66
|
+
<Input
|
|
67
|
+
name="input"
|
|
68
|
+
value={value}
|
|
69
|
+
type={visibility ? 'text' : 'password'}
|
|
70
|
+
placeholder="Placeholder"
|
|
71
|
+
actionIcon={
|
|
72
|
+
<Icon
|
|
73
|
+
onClick={() => setVisibility((x) => !x)}
|
|
74
|
+
name={visibility ? 'visibility_on' : 'visibility_off'}
|
|
75
|
+
aria-label={visibility ? 'Show Password' : 'Hide Password'}
|
|
76
|
+
className="cursor-pointer"
|
|
77
|
+
/>
|
|
78
|
+
}
|
|
79
|
+
onChange={handleParentChange}
|
|
80
|
+
/>
|
|
81
|
+
<Input
|
|
82
|
+
name="input"
|
|
83
|
+
value={value1}
|
|
84
|
+
type="text"
|
|
85
|
+
placeholder="PlaceHolder"
|
|
86
|
+
onChange={onChangeHandler}
|
|
87
|
+
onClear={onClearHandler}
|
|
88
|
+
/>
|
|
89
|
+
</div>
|
|
90
|
+
);
|
|
91
|
+
};`;
|
|
47
92
|
export default {
|
|
48
93
|
title: 'Components/Input/Variants/Controlled Input',
|
|
49
94
|
component: Input,
|
|
@@ -51,6 +96,7 @@ export default {
|
|
|
51
96
|
docs: {
|
|
52
97
|
docPage: {
|
|
53
98
|
title: 'Input',
|
|
99
|
+
customCode,
|
|
54
100
|
props: {
|
|
55
101
|
exclude: ['autocomplete'],
|
|
56
102
|
},
|
|
@@ -7,7 +7,7 @@ export const basic = () => {
|
|
|
7
7
|
return (
|
|
8
8
|
<div className="Row">
|
|
9
9
|
<div className="mr-9 mb-8 w-25">
|
|
10
|
-
<Input name="input"
|
|
10
|
+
<Input name="input" onChange={action('on-change')} onClear={action('on-clear')} />
|
|
11
11
|
<br />
|
|
12
12
|
<Text weight="strong">Default</Text>
|
|
13
13
|
</div>
|
|
@@ -24,7 +24,7 @@ export const basic = () => {
|
|
|
24
24
|
<Text weight="strong">Placeholder</Text>
|
|
25
25
|
</div>
|
|
26
26
|
<div className="mr-9 mb-8 w-25">
|
|
27
|
-
<Input name="input"
|
|
27
|
+
<Input name="input" onChange={action('on-change')} onClear={action('on-clear')} error={true} />
|
|
28
28
|
<br />
|
|
29
29
|
<Text weight="strong">Error</Text>
|
|
30
30
|
</div>
|
|
@@ -8,14 +8,13 @@ export const iconLeft = () => {
|
|
|
8
8
|
return (
|
|
9
9
|
<div className="Row">
|
|
10
10
|
<div className="mr-9 mb-8 w-25">
|
|
11
|
-
<Input name="input"
|
|
11
|
+
<Input name="input" onChange={action('on-change')} onClear={action('on-clear')} icon={icon} />
|
|
12
12
|
<br />
|
|
13
13
|
<Text weight="strong">Default</Text>
|
|
14
14
|
</div>
|
|
15
15
|
<div className="mr-9 mb-8 w-25">
|
|
16
16
|
<Input
|
|
17
17
|
name="input"
|
|
18
|
-
value=""
|
|
19
18
|
placeholder="Placeholder"
|
|
20
19
|
onChange={action('on-change')}
|
|
21
20
|
onClear={action('on-clear')}
|
|
@@ -26,14 +25,7 @@ export const iconLeft = () => {
|
|
|
26
25
|
<Text weight="strong">Placeholder</Text>
|
|
27
26
|
</div>
|
|
28
27
|
<div className="mr-9 mb-8 w-25">
|
|
29
|
-
<Input
|
|
30
|
-
name="input"
|
|
31
|
-
value="Value"
|
|
32
|
-
onChange={action('on-change')}
|
|
33
|
-
onClear={action('on-clear')}
|
|
34
|
-
error={true}
|
|
35
|
-
icon={icon}
|
|
36
|
-
/>
|
|
28
|
+
<Input name="input" onChange={action('on-change')} onClear={action('on-clear')} error={true} icon={icon} />
|
|
37
29
|
<br />
|
|
38
30
|
<Text weight="strong">Error</Text>
|
|
39
31
|
</div>
|
|
@@ -11,13 +11,7 @@ export const withLabel = () => {
|
|
|
11
11
|
<Label withInput={true} required={true}>
|
|
12
12
|
Full Name
|
|
13
13
|
</Label>
|
|
14
|
-
<Input
|
|
15
|
-
name="input"
|
|
16
|
-
value="Value"
|
|
17
|
-
onChange={action('on-change')}
|
|
18
|
-
onClear={action('on-clear')}
|
|
19
|
-
required={true}
|
|
20
|
-
/>
|
|
14
|
+
<Input name="input" onChange={action('on-change')} onClear={action('on-clear')} required={true} />
|
|
21
15
|
</div>
|
|
22
16
|
<br />
|
|
23
17
|
<Text weight="strong">No Caption</Text>
|
|
@@ -28,7 +22,6 @@ export const withLabel = () => {
|
|
|
28
22
|
</Label>
|
|
29
23
|
<Input
|
|
30
24
|
name="input"
|
|
31
|
-
value="Value"
|
|
32
25
|
type="password"
|
|
33
26
|
onChange={action('on-change')}
|
|
34
27
|
onClear={action('on-clear')}
|
|
@@ -44,7 +37,6 @@ export const withLabel = () => {
|
|
|
44
37
|
</Label>
|
|
45
38
|
<Input
|
|
46
39
|
name="input"
|
|
47
|
-
value="Value"
|
|
48
40
|
type="password"
|
|
49
41
|
onChange={action('on-change')}
|
|
50
42
|
onClear={action('on-clear')}
|
|
@@ -8,6 +8,7 @@ exports[`Input component
|
|
|
8
8
|
<div
|
|
9
9
|
class="Input Input--regular"
|
|
10
10
|
data-test="DesignSystem-InputWrapper"
|
|
11
|
+
role="presentation"
|
|
11
12
|
style="min-width: 256px;"
|
|
12
13
|
>
|
|
13
14
|
<input
|
|
@@ -31,6 +32,7 @@ exports[`Input component
|
|
|
31
32
|
<div
|
|
32
33
|
class="Input Input--regular"
|
|
33
34
|
data-test="DesignSystem-InputWrapper"
|
|
35
|
+
role="presentation"
|
|
34
36
|
style="min-width: 256px;"
|
|
35
37
|
>
|
|
36
38
|
<div
|
|
@@ -64,6 +66,7 @@ exports[`Input component
|
|
|
64
66
|
<div
|
|
65
67
|
class="Input Input--regular"
|
|
66
68
|
data-test="DesignSystem-InputWrapper"
|
|
69
|
+
role="presentation"
|
|
67
70
|
style="min-width: 256px;"
|
|
68
71
|
>
|
|
69
72
|
<input
|
|
@@ -87,6 +90,7 @@ exports[`Input component
|
|
|
87
90
|
<div
|
|
88
91
|
class="Input Input--regular"
|
|
89
92
|
data-test="DesignSystem-InputWrapper"
|
|
93
|
+
role="presentation"
|
|
90
94
|
style="min-width: 256px;"
|
|
91
95
|
>
|
|
92
96
|
<div
|
|
@@ -120,6 +124,7 @@ exports[`Input component
|
|
|
120
124
|
<div
|
|
121
125
|
class="Input Input--large"
|
|
122
126
|
data-test="DesignSystem-InputWrapper"
|
|
127
|
+
role="presentation"
|
|
123
128
|
style="min-width: 256px;"
|
|
124
129
|
>
|
|
125
130
|
<input
|
|
@@ -142,6 +147,7 @@ exports[`Input component
|
|
|
142
147
|
<div
|
|
143
148
|
class="Input Input--large"
|
|
144
149
|
data-test="DesignSystem-InputWrapper"
|
|
150
|
+
role="presentation"
|
|
145
151
|
>
|
|
146
152
|
<div
|
|
147
153
|
class="Input-inlineLabel"
|
|
@@ -173,6 +179,7 @@ exports[`Input component
|
|
|
173
179
|
<div
|
|
174
180
|
class="Input Input--regular"
|
|
175
181
|
data-test="DesignSystem-InputWrapper"
|
|
182
|
+
role="presentation"
|
|
176
183
|
style="min-width: 256px;"
|
|
177
184
|
>
|
|
178
185
|
<input
|
|
@@ -195,6 +202,7 @@ exports[`Input component
|
|
|
195
202
|
<div
|
|
196
203
|
class="Input Input--regular"
|
|
197
204
|
data-test="DesignSystem-InputWrapper"
|
|
205
|
+
role="presentation"
|
|
198
206
|
>
|
|
199
207
|
<div
|
|
200
208
|
class="Input-inlineLabel"
|
|
@@ -226,6 +234,7 @@ exports[`Input component
|
|
|
226
234
|
<div
|
|
227
235
|
class="Input Input--tiny"
|
|
228
236
|
data-test="DesignSystem-InputWrapper"
|
|
237
|
+
role="presentation"
|
|
229
238
|
style="min-width: 256px;"
|
|
230
239
|
>
|
|
231
240
|
<input
|
|
@@ -248,6 +257,7 @@ exports[`Input component
|
|
|
248
257
|
<div
|
|
249
258
|
class="Input Input--tiny"
|
|
250
259
|
data-test="DesignSystem-InputWrapper"
|
|
260
|
+
role="presentation"
|
|
251
261
|
>
|
|
252
262
|
<div
|
|
253
263
|
class="Input-inlineLabel"
|
|
@@ -279,6 +289,7 @@ exports[`Input component
|
|
|
279
289
|
<div
|
|
280
290
|
class="Input Input--regular"
|
|
281
291
|
data-test="DesignSystem-InputWrapper"
|
|
292
|
+
role="presentation"
|
|
282
293
|
>
|
|
283
294
|
<input
|
|
284
295
|
class="Input-input Input-input--regular"
|
|
@@ -300,6 +311,7 @@ exports[`Input component
|
|
|
300
311
|
<div
|
|
301
312
|
class="Input Input--regular"
|
|
302
313
|
data-test="DesignSystem-InputWrapper"
|
|
314
|
+
role="presentation"
|
|
303
315
|
style="min-width: 256px;"
|
|
304
316
|
>
|
|
305
317
|
<input
|
|
@@ -322,6 +334,7 @@ exports[`Input component
|
|
|
322
334
|
<div
|
|
323
335
|
class="Input Input--regular"
|
|
324
336
|
data-test="DesignSystem-InputWrapper"
|
|
337
|
+
role="presentation"
|
|
325
338
|
style="min-width: 256px;"
|
|
326
339
|
>
|
|
327
340
|
<input
|
|
@@ -344,6 +357,7 @@ exports[`Input component
|
|
|
344
357
|
<div
|
|
345
358
|
class="Input Input--regular Input--disabled"
|
|
346
359
|
data-test="DesignSystem-InputWrapper"
|
|
360
|
+
role="presentation"
|
|
347
361
|
style="min-width: 256px;"
|
|
348
362
|
>
|
|
349
363
|
<input
|
|
@@ -368,6 +382,7 @@ exports[`Input component
|
|
|
368
382
|
<div
|
|
369
383
|
class="Input Input--regular Input--disabled"
|
|
370
384
|
data-test="DesignSystem-InputWrapper"
|
|
385
|
+
role="presentation"
|
|
371
386
|
style="min-width: 256px;"
|
|
372
387
|
>
|
|
373
388
|
<div
|
|
@@ -402,6 +417,7 @@ exports[`Input component
|
|
|
402
417
|
<div
|
|
403
418
|
class="Input Input--regular Input--disabled"
|
|
404
419
|
data-test="DesignSystem-InputWrapper"
|
|
420
|
+
role="presentation"
|
|
405
421
|
style="min-width: 256px;"
|
|
406
422
|
>
|
|
407
423
|
<input
|
|
@@ -426,6 +442,7 @@ exports[`Input component
|
|
|
426
442
|
<div
|
|
427
443
|
class="Input Input--regular Input--disabled"
|
|
428
444
|
data-test="DesignSystem-InputWrapper"
|
|
445
|
+
role="presentation"
|
|
429
446
|
style="min-width: 256px;"
|
|
430
447
|
>
|
|
431
448
|
<div
|
|
@@ -460,6 +477,7 @@ exports[`Input component
|
|
|
460
477
|
<div
|
|
461
478
|
class="Input Input--regular Input--error"
|
|
462
479
|
data-test="DesignSystem-InputWrapper"
|
|
480
|
+
role="presentation"
|
|
463
481
|
style="min-width: 256px;"
|
|
464
482
|
>
|
|
465
483
|
<input
|
|
@@ -482,6 +500,7 @@ exports[`Input component
|
|
|
482
500
|
<div
|
|
483
501
|
class="Input Input--regular Input--error"
|
|
484
502
|
data-test="DesignSystem-InputWrapper"
|
|
503
|
+
role="presentation"
|
|
485
504
|
style="min-width: 256px;"
|
|
486
505
|
>
|
|
487
506
|
<div
|
|
@@ -50,7 +50,7 @@ export const Label = (props: LabelProps) => {
|
|
|
50
50
|
'Label--disabled': disabled,
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
const renderInfo = (isRequired
|
|
53
|
+
const renderInfo = (isRequired = false, isOptional?: boolean) => {
|
|
54
54
|
if (isRequired) {
|
|
55
55
|
return <span className="Label-requiredIndicator" data-test="DesignSystem-Label--RequiredIndicator" />;
|
|
56
56
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import Text, {
|
|
2
|
+
import Text, { TextAppearance } from '@/components/atoms/text';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
4
|
import { BaseProps, extractBaseProps } from '@/utils/types';
|
|
5
5
|
|
|
@@ -15,7 +15,7 @@ export interface LegendProps extends BaseProps {
|
|
|
15
15
|
/**
|
|
16
16
|
* Color of label
|
|
17
17
|
*/
|
|
18
|
-
labelAppearance?:
|
|
18
|
+
labelAppearance?: TextAppearance;
|
|
19
19
|
/**
|
|
20
20
|
* Size of Icon
|
|
21
21
|
*/
|
|
@@ -66,6 +66,8 @@ export const Legend = (props: LegendProps) => {
|
|
|
66
66
|
width: `${iconSize}px`,
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
+
// TODO(a11y): fix accessibility
|
|
70
|
+
/* eslint-disable */
|
|
69
71
|
return (
|
|
70
72
|
<div
|
|
71
73
|
{...baseProps}
|
|
@@ -74,6 +76,7 @@ export const Legend = (props: LegendProps) => {
|
|
|
74
76
|
onMouseEnter={(e) => onMouseEnter && onMouseEnter(e)}
|
|
75
77
|
onMouseLeave={(e) => onMouseLeave && onMouseLeave(e)}
|
|
76
78
|
>
|
|
79
|
+
{/* eslint-enable */}
|
|
77
80
|
<span className="Legend-icon" style={styles} />
|
|
78
81
|
<Text appearance={labelAppearance} weight={labelWeight}>
|
|
79
82
|
{children}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { TextAppearance as LabelApperance } from '@/components/atoms/text';
|
|
3
3
|
import Legend from '../../Legend';
|
|
4
4
|
|
|
5
5
|
// CSF format story
|
|
6
6
|
export const labelAppearance = () => {
|
|
7
|
-
const appearances:
|
|
7
|
+
const appearances: LabelApperance[] = ['default', 'white', 'destructive', 'subtle', 'disabled'];
|
|
8
8
|
return (
|
|
9
9
|
<div>
|
|
10
10
|
{appearances.map((appearance, i) => {
|
|
@@ -4,8 +4,8 @@ import classNames from 'classnames';
|
|
|
4
4
|
import { BaseProps, OmitNativeProps } from '@/utils/types';
|
|
5
5
|
|
|
6
6
|
type LinkTarget = '_blank' | '_self' | '_parent' | '_top';
|
|
7
|
-
type
|
|
8
|
-
type
|
|
7
|
+
type LinkAppearance = 'default' | 'subtle';
|
|
8
|
+
type LinkSize = 'regular' | 'tiny';
|
|
9
9
|
|
|
10
10
|
export interface LinkProps extends BaseProps, OmitNativeProps<HTMLLinkElement, 'onClick'> {
|
|
11
11
|
/**
|
|
@@ -15,11 +15,11 @@ export interface LinkProps extends BaseProps, OmitNativeProps<HTMLLinkElement, '
|
|
|
15
15
|
/**
|
|
16
16
|
* Color of `Link`
|
|
17
17
|
*/
|
|
18
|
-
appearance:
|
|
18
|
+
appearance: LinkAppearance;
|
|
19
19
|
/**
|
|
20
20
|
* Size of `Link`
|
|
21
21
|
*/
|
|
22
|
-
size:
|
|
22
|
+
size: LinkSize;
|
|
23
23
|
/**
|
|
24
24
|
* Disables the `Link`, making it unable to be clicked
|
|
25
25
|
*/
|
|
@@ -2,8 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { Icon, Heading, Text } from '@/index';
|
|
4
4
|
import { BaseProps, extractBaseProps } from '@/utils/types';
|
|
5
|
+
import { MessageAppearance } from '@/common.type';
|
|
5
6
|
|
|
6
|
-
export type Appearance = 'default' | 'alert' | 'info' | 'success' | 'warning';
|
|
7
7
|
const IconMapping = {
|
|
8
8
|
success: 'check_circle',
|
|
9
9
|
info: 'info',
|
|
@@ -15,7 +15,7 @@ export interface MessageProps extends BaseProps {
|
|
|
15
15
|
/**
|
|
16
16
|
* Color of `Message`
|
|
17
17
|
*/
|
|
18
|
-
appearance:
|
|
18
|
+
appearance: MessageAppearance;
|
|
19
19
|
/**
|
|
20
20
|
* Title of the `Message`
|
|
21
21
|
*/
|
|
@@ -38,7 +38,9 @@ export interface MessageProps extends BaseProps {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export const Message = (props: MessageProps) => {
|
|
41
|
-
const {
|
|
41
|
+
const { actions, title, className } = props;
|
|
42
|
+
let { appearance } = props;
|
|
43
|
+
appearance = appearance === 'default' ? 'info' : appearance;
|
|
42
44
|
|
|
43
45
|
const baseProps = extractBaseProps(props);
|
|
44
46
|
|
|
@@ -88,14 +90,12 @@ export const Message = (props: MessageProps) => {
|
|
|
88
90
|
|
|
89
91
|
return (
|
|
90
92
|
<div data-test="DesignSystem-Message" {...baseProps} className={MessageClass}>
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
/>
|
|
98
|
-
)}
|
|
93
|
+
<Icon
|
|
94
|
+
data-test="DesignSystem-Message--Icon"
|
|
95
|
+
name={IconMapping[appearance]}
|
|
96
|
+
appearance={appearance}
|
|
97
|
+
className={IconClass}
|
|
98
|
+
/>
|
|
99
99
|
<div>
|
|
100
100
|
{title && (
|
|
101
101
|
<Heading data-test="DesignSystem-Message--Title" size="s" className={TitleClass}>
|
|
@@ -115,7 +115,7 @@ export const Message = (props: MessageProps) => {
|
|
|
115
115
|
|
|
116
116
|
Message.displayName = 'Message';
|
|
117
117
|
Message.defaultProps = {
|
|
118
|
-
appearance: '
|
|
118
|
+
appearance: 'info',
|
|
119
119
|
description: '',
|
|
120
120
|
};
|
|
121
121
|
|
|
@@ -4,7 +4,7 @@ import { Message, Text } from '@/index';
|
|
|
4
4
|
|
|
5
5
|
// CSF format story
|
|
6
6
|
export const all = () => {
|
|
7
|
-
const appearance = select('appearance', ['
|
|
7
|
+
const appearance = select('appearance', ['alert', 'info', 'success', 'warning'], undefined);
|
|
8
8
|
|
|
9
9
|
const title = text('title', 'Design System');
|
|
10
10
|
|
|
@@ -4,7 +4,7 @@ import { MessageProps } from '@/index.type';
|
|
|
4
4
|
|
|
5
5
|
// CSF format story
|
|
6
6
|
export const appearanceWithoutTitle = () => {
|
|
7
|
-
const appearances: MessageProps['appearance'][] = ['
|
|
7
|
+
const appearances: MessageProps['appearance'][] = ['alert', 'info', 'success', 'warning'];
|
|
8
8
|
const innerStyle = {
|
|
9
9
|
display: 'flex',
|
|
10
10
|
'align-items': 'center',
|
|
@@ -5,7 +5,7 @@ import { MessageProps } from '@/index.type';
|
|
|
5
5
|
|
|
6
6
|
// CSF format story
|
|
7
7
|
export const appearanceWithTitle = () => {
|
|
8
|
-
const appearances: MessageProps['appearance'][] = ['
|
|
8
|
+
const appearances: MessageProps['appearance'][] = ['alert', 'info', 'success', 'warning'];
|
|
9
9
|
const innerStyle = {
|
|
10
10
|
display: 'flex',
|
|
11
11
|
'align-items': 'center',
|
|
@@ -4,7 +4,7 @@ import { Message, Text } from '@/index';
|
|
|
4
4
|
import { MessageProps as Props } from '@/index.type';
|
|
5
5
|
import { testHelper, filterUndefined, valueHelper, testMessageHelper } from '@/utils/testHelper';
|
|
6
6
|
|
|
7
|
-
const appearances: Props['appearance'][] = ['
|
|
7
|
+
const appearances: Props['appearance'][] = ['alert', 'info', 'warning', 'success'];
|
|
8
8
|
const title = 'Title goes here';
|
|
9
9
|
const description = 'Description goes here';
|
|
10
10
|
const actions = (
|
|
@@ -73,11 +73,6 @@ describe('Message component with prop:appearance', () => {
|
|
|
73
73
|
expect(getByTestId('DesignSystem-Message')).toHaveClass(`Message--${appearance}`);
|
|
74
74
|
});
|
|
75
75
|
});
|
|
76
|
-
|
|
77
|
-
it('should not render icon if appearance is default', () => {
|
|
78
|
-
const { queryByTestId } = render(<Message appearance="default" description={description} />);
|
|
79
|
-
expect(queryByTestId('DesignSystem-Message--Icon')).not.toBeInTheDocument();
|
|
80
|
-
});
|
|
81
76
|
});
|
|
82
77
|
|
|
83
78
|
describe('Message component with prop: actions', () => {
|
|
@@ -52,51 +52,6 @@ exports[`Message component
|
|
|
52
52
|
</body>
|
|
53
53
|
`;
|
|
54
54
|
|
|
55
|
-
exports[`Message component
|
|
56
|
-
appearance: "default", title: "Title goes here", description: "Description goes here", actions: "[ReactNode]"
|
|
57
|
-
1`] = `
|
|
58
|
-
<body>
|
|
59
|
-
<div>
|
|
60
|
-
<div
|
|
61
|
-
class="Message Message--default"
|
|
62
|
-
data-test="DesignSystem-Message"
|
|
63
|
-
>
|
|
64
|
-
<div>
|
|
65
|
-
<h5
|
|
66
|
-
class="Heading Heading--s Heading--default Message-heading Message-heading--default"
|
|
67
|
-
data-test="DesignSystem-Message--Title"
|
|
68
|
-
>
|
|
69
|
-
Title goes here
|
|
70
|
-
</h5>
|
|
71
|
-
<span
|
|
72
|
-
class="Text Text--default Text--regular Message-text Message-text--default"
|
|
73
|
-
data-test="DesignSystem-Message--Description"
|
|
74
|
-
>
|
|
75
|
-
Description goes here
|
|
76
|
-
</span>
|
|
77
|
-
<div
|
|
78
|
-
class="Message-actions"
|
|
79
|
-
data-test="DesignSystem-Message--actions"
|
|
80
|
-
>
|
|
81
|
-
<span
|
|
82
|
-
class="Text Text--link Text--regular mr-5 cursor-pointer"
|
|
83
|
-
data-test="DesignSystem-Text"
|
|
84
|
-
>
|
|
85
|
-
Action 1
|
|
86
|
-
</span>
|
|
87
|
-
<span
|
|
88
|
-
class="Text Text--link Text--regular cursor-pointer"
|
|
89
|
-
data-test="DesignSystem-Text"
|
|
90
|
-
>
|
|
91
|
-
Action 2
|
|
92
|
-
</span>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
</body>
|
|
98
|
-
`;
|
|
99
|
-
|
|
100
55
|
exports[`Message component
|
|
101
56
|
appearance: "info", title: "Title goes here", description: "Description goes here", actions: "[ReactNode]"
|
|
102
57
|
1`] = `
|
|
@@ -3,8 +3,8 @@ import { render } from '@testing-library/react';
|
|
|
3
3
|
import { testHelper, filterUndefined, valueHelper, testMessageHelper } from '@/utils/testHelper';
|
|
4
4
|
import { MetaList } from '@/index';
|
|
5
5
|
import { MetaListProps as Props } from '@/index.type';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { IconAppearance } from '../../icon';
|
|
7
|
+
import { TextAppearance } from '../../text';
|
|
8
8
|
|
|
9
9
|
const appearance: IconAppearance[] = [
|
|
10
10
|
'primary',
|
|
@@ -2,9 +2,9 @@ import * as React from 'react';
|
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { Icon, Text } from '@/index';
|
|
4
4
|
import { BaseHtmlProps, BaseProps, extractBaseProps } from '@/utils/types';
|
|
5
|
+
import { AutoComplete } from '@/common.type';
|
|
5
6
|
|
|
6
|
-
export type
|
|
7
|
-
export type Size = 'regular' | 'large';
|
|
7
|
+
export type MetricInputSize = 'regular' | 'large';
|
|
8
8
|
|
|
9
9
|
export interface MetricInputProps extends BaseProps, BaseHtmlProps<HTMLInputElement> {
|
|
10
10
|
/**
|
|
@@ -27,7 +27,7 @@ export interface MetricInputProps extends BaseProps, BaseHtmlProps<HTMLInputElem
|
|
|
27
27
|
* Size of the `MetricInput`
|
|
28
28
|
* @default "regular"
|
|
29
29
|
*/
|
|
30
|
-
size?:
|
|
30
|
+
size?: MetricInputSize;
|
|
31
31
|
/**
|
|
32
32
|
* Material icon name
|
|
33
33
|
*/
|
|
@@ -92,10 +92,10 @@ const sizeMapping = {
|
|
|
92
92
|
large: 20,
|
|
93
93
|
};
|
|
94
94
|
|
|
95
|
-
const capMin = (min
|
|
95
|
+
const capMin = (min = -Infinity, value: number) =>
|
|
96
96
|
isNaN(min) || (!min && min !== 0) || isNaN(value) || (!value && value !== 0) ? value : Math.max(min, value);
|
|
97
97
|
|
|
98
|
-
const capMax = (max
|
|
98
|
+
const capMax = (max = +Infinity, value: number) =>
|
|
99
99
|
isNaN(max) || (!max && max !== 0) || isNaN(value) || (!value && value !== 0) ? value : Math.min(max, value);
|
|
100
100
|
|
|
101
101
|
/**
|
|
@@ -229,7 +229,14 @@ export const MetricInput = React.forwardRef<HTMLInputElement, MetricInputProps>(
|
|
|
229
229
|
const iconSize = size === 'regular' ? 12 : 16;
|
|
230
230
|
|
|
231
231
|
return (
|
|
232
|
-
<div
|
|
232
|
+
<div
|
|
233
|
+
data-test="DesignSystem-MetricInputWrapper"
|
|
234
|
+
className={classes}
|
|
235
|
+
onClick={() => ref.current?.focus()}
|
|
236
|
+
onFocus={() => ref.current?.focus()}
|
|
237
|
+
onKeyDown={() => {}}
|
|
238
|
+
role="presentation"
|
|
239
|
+
>
|
|
233
240
|
{icon && (
|
|
234
241
|
<Icon
|
|
235
242
|
data-test="DesignSystem-MetricInput--icon"
|
|
@@ -278,8 +285,10 @@ export const MetricInput = React.forwardRef<HTMLInputElement, MetricInputProps>(
|
|
|
278
285
|
{suffix}
|
|
279
286
|
</Text>
|
|
280
287
|
)}
|
|
281
|
-
|
|
288
|
+
|
|
289
|
+
<div className="MetricInput-arrowIcons">
|
|
282
290
|
<Icon
|
|
291
|
+
tabIndex={-1}
|
|
283
292
|
className={getArrowClass('up')}
|
|
284
293
|
size={iconSize}
|
|
285
294
|
name="keyboard_arrow_up"
|
|
@@ -287,6 +296,7 @@ export const MetricInput = React.forwardRef<HTMLInputElement, MetricInputProps>(
|
|
|
287
296
|
data-test="DesignSystem-MetricInput--upIcon"
|
|
288
297
|
/>
|
|
289
298
|
<Icon
|
|
299
|
+
tabIndex={-1}
|
|
290
300
|
className={getArrowClass('down')}
|
|
291
301
|
size={iconSize}
|
|
292
302
|
name="keyboard_arrow_down"
|