@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,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
const generateImports = (str = '', lib = {}, libName: string) => {
|
|
1
|
+
const generateImports = (str = '', lib: Record<string, unknown> = {}, libName: string) => {
|
|
3
2
|
const regexp = /<[A-Z]\w*/g;
|
|
4
|
-
const matchedArray =
|
|
3
|
+
const matchedArray = Array.from(str.matchAll(regexp));
|
|
5
4
|
|
|
6
5
|
const componentsMap = matchedArray
|
|
7
6
|
.flatMap((item) => item[0].replace('<', ''))
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
|
|
3
1
|
import * as React from 'react';
|
|
4
|
-
import { Title,
|
|
2
|
+
import { Title, Description, Canvas, ArgsTable } from '@storybook/addon-docs/blocks';
|
|
5
3
|
import { renderToStaticMarkup } from 'react-dom/server';
|
|
6
4
|
import reactElementToJSXString from 'react-element-to-jsx-string';
|
|
7
5
|
import { html as beautifyHTML } from 'js-beautify';
|
|
8
6
|
import SyntaxHighlighter from 'react-syntax-highlighter';
|
|
9
|
-
import {
|
|
10
|
-
import * as DS from '
|
|
7
|
+
import { vs2015 } from 'react-syntax-highlighter/dist/esm/styles/hljs';
|
|
8
|
+
import * as DS from '@';
|
|
11
9
|
import { Button, Card, TabsWrapper, Tab, Heading } from '@/index';
|
|
12
10
|
import vsDark from 'prism-react-renderer/themes/vsDark';
|
|
13
|
-
import { resetComponents, Story as PureStory } from '@storybook/components';
|
|
14
11
|
import { LiveProvider, LiveEditor, LiveError, LivePreview, withLive } from 'react-live';
|
|
15
12
|
import openSandbox from './sandbox';
|
|
16
13
|
import generateImports from './generateImports';
|
|
@@ -24,13 +21,6 @@ export interface Example {
|
|
|
24
21
|
component: React.ReactNode;
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
interface DocPageProps {
|
|
28
|
-
title?: string;
|
|
29
|
-
description?: React.ReactNode;
|
|
30
|
-
props?: PropsProps;
|
|
31
|
-
customCode?: string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
24
|
const beautifyHTMLOptions = {
|
|
35
25
|
indent_size: 2,
|
|
36
26
|
wrap_line_length: 0,
|
|
@@ -50,14 +40,16 @@ const beautifyJSXOptions = {
|
|
|
50
40
|
};
|
|
51
41
|
|
|
52
42
|
const JSXtoStringOptions = {
|
|
53
|
-
filterProps: (val: any
|
|
43
|
+
filterProps: (val: any) => {
|
|
54
44
|
if (!val) return false;
|
|
55
45
|
if (val && val.name === 'actionHandler') return false;
|
|
56
46
|
// if(val && typeof val === 'function') return false;
|
|
57
47
|
return true;
|
|
58
48
|
},
|
|
59
49
|
showFunctions: true,
|
|
60
|
-
functionValue: (
|
|
50
|
+
functionValue: () => () => {
|
|
51
|
+
return;
|
|
52
|
+
},
|
|
61
53
|
// maxInlineAttributesLineLength: 10,
|
|
62
54
|
showDefaultProps: false,
|
|
63
55
|
useBooleanShorthandSyntax: false,
|
|
@@ -65,7 +57,9 @@ const JSXtoStringOptions = {
|
|
|
65
57
|
|
|
66
58
|
const copyCode = (val: string) => navigator.clipboard.writeText(val);
|
|
67
59
|
|
|
68
|
-
|
|
60
|
+
type OnClickType = (e: React.MouseEvent) => void;
|
|
61
|
+
|
|
62
|
+
const CopyComp = (props: { onClick: OnClickType }) => {
|
|
69
63
|
const { onClick } = props;
|
|
70
64
|
return (
|
|
71
65
|
<div
|
|
@@ -94,7 +88,7 @@ const buttonStyles = {
|
|
|
94
88
|
background: 'white',
|
|
95
89
|
};
|
|
96
90
|
|
|
97
|
-
const ShowMoreLessButton = ({ onClick, text = 'More' }) => (
|
|
91
|
+
const ShowMoreLessButton = ({ onClick, text = 'More' }: { onClick: OnClickType; text: string }) => (
|
|
98
92
|
<div
|
|
99
93
|
style={{
|
|
100
94
|
display: 'grid',
|
|
@@ -138,7 +132,7 @@ const getStory = () => {
|
|
|
138
132
|
return { storyId, story };
|
|
139
133
|
};
|
|
140
134
|
|
|
141
|
-
const getRawPreviewCode = (customCode, comp) => {
|
|
135
|
+
const getRawPreviewCode = (customCode: string, comp: React.ReactNode) => {
|
|
142
136
|
if (customCode) {
|
|
143
137
|
return `${generateImports(customCode, componentLib, '@innovaccer/design-system')}
|
|
144
138
|
${customCode}
|
|
@@ -161,12 +155,17 @@ ${jsx
|
|
|
161
155
|
return code;
|
|
162
156
|
};
|
|
163
157
|
|
|
164
|
-
const StoryComp = (props
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
158
|
+
const StoryComp = (props: {
|
|
159
|
+
noHtml: boolean;
|
|
160
|
+
customCode: string;
|
|
161
|
+
noSandbox: boolean;
|
|
162
|
+
isEmbed: boolean;
|
|
163
|
+
imports: string[];
|
|
164
|
+
}) => {
|
|
165
|
+
const { customCode, noHtml, noSandbox, isEmbed } = props;
|
|
166
|
+
const { story } = getStory();
|
|
168
167
|
// const comp = sp.storySource.source;
|
|
169
|
-
const comp = story.
|
|
168
|
+
const comp = story.originalStoryFn();
|
|
170
169
|
const html = !noHtml ? beautifyHTML(renderToStaticMarkup(comp), beautifyHTMLOptions) : '';
|
|
171
170
|
|
|
172
171
|
const [activeTab, setActiveTab] = React.useState<number>(0);
|
|
@@ -175,7 +174,7 @@ const StoryComp = (props) => {
|
|
|
175
174
|
const [isExpanded, setIsExpanded] = React.useState(isEmbed);
|
|
176
175
|
const [showMore, setShowMore] = React.useState<boolean>(false);
|
|
177
176
|
const [shouldShowMore, setShouldShowMore] = React.useState<boolean>(false);
|
|
178
|
-
const codePanel = React.useRef(null);
|
|
177
|
+
const codePanel = React.useRef<HTMLDivElement>(null);
|
|
179
178
|
|
|
180
179
|
const importScope = props.imports;
|
|
181
180
|
|
|
@@ -186,20 +185,22 @@ const StoryComp = (props) => {
|
|
|
186
185
|
return <></>;
|
|
187
186
|
};
|
|
188
187
|
|
|
189
|
-
const TabsWrap = withLive(({ live,
|
|
188
|
+
const TabsWrap = withLive<{ live?: any; activeTab: number }>(({ live, activeTab }) => {
|
|
190
189
|
const { error, element: Element } = live;
|
|
191
190
|
|
|
192
191
|
React.useEffect(() => {
|
|
193
|
-
if (!error &&
|
|
192
|
+
if (!error && activeTab === 1) {
|
|
194
193
|
try {
|
|
195
194
|
const htmlValue = beautifyHTML(renderToStaticMarkup(<Element />), beautifyHTMLOptions);
|
|
196
195
|
setHtmlCode(htmlValue);
|
|
197
|
-
} catch (e) {
|
|
196
|
+
} catch (e) {
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
198
199
|
}
|
|
199
|
-
}, [
|
|
200
|
+
}, [activeTab]);
|
|
200
201
|
|
|
201
202
|
React.useEffect(() => {
|
|
202
|
-
if (codePanel.current?.clientHeight >
|
|
203
|
+
if (codePanel.current?.clientHeight && codePanel.current?.clientHeight > 250) {
|
|
203
204
|
setShouldShowMore(true);
|
|
204
205
|
}
|
|
205
206
|
}, [codePanel]);
|
|
@@ -214,7 +215,7 @@ const StoryComp = (props) => {
|
|
|
214
215
|
const actions = [
|
|
215
216
|
{
|
|
216
217
|
title: 'Edit in sandbox',
|
|
217
|
-
onClick: (ev) => {
|
|
218
|
+
onClick: (ev: React.MouseEvent) => {
|
|
218
219
|
ev.preventDefault();
|
|
219
220
|
openSandbox(jsxCode);
|
|
220
221
|
},
|
|
@@ -225,15 +226,16 @@ const StoryComp = (props) => {
|
|
|
225
226
|
if (!isEmbed) {
|
|
226
227
|
actions.push({
|
|
227
228
|
title: `${!isExpanded ? 'Show' : 'Hide'} code`,
|
|
228
|
-
onClick: (
|
|
229
|
+
onClick: () => {
|
|
229
230
|
setIsExpanded(!isExpanded);
|
|
230
231
|
},
|
|
232
|
+
disabled: false,
|
|
231
233
|
});
|
|
232
234
|
}
|
|
233
235
|
|
|
234
236
|
const imports = React.useMemo(() => ({ ...DS, ...importScope }), []);
|
|
235
237
|
|
|
236
|
-
const tabChangeHandler = (tab) => {
|
|
238
|
+
const tabChangeHandler = (tab: number) => {
|
|
237
239
|
setActiveTab(tab);
|
|
238
240
|
setShouldShowMore(false);
|
|
239
241
|
};
|
|
@@ -243,9 +245,9 @@ const StoryComp = (props) => {
|
|
|
243
245
|
<LiveProvider code={jsxCode} scope={imports}>
|
|
244
246
|
<Canvas
|
|
245
247
|
className="my-0"
|
|
246
|
-
withSource="none"
|
|
247
248
|
withToolbar={true}
|
|
248
249
|
isExpanded={isExpanded}
|
|
250
|
+
withSource={'none' as any}
|
|
249
251
|
additionalActions={actions}
|
|
250
252
|
>
|
|
251
253
|
<LivePreview />
|
|
@@ -265,11 +267,13 @@ const StoryComp = (props) => {
|
|
|
265
267
|
}}
|
|
266
268
|
className="DocPage-editorTabs"
|
|
267
269
|
>
|
|
268
|
-
<TabsWrapper
|
|
270
|
+
<TabsWrapper active={activeTab} onTabChange={tabChangeHandler}>
|
|
269
271
|
<Tab label={'React'}>
|
|
270
272
|
<CopyComp
|
|
271
273
|
onClick={() => {
|
|
272
|
-
const editor = document.querySelector(
|
|
274
|
+
const editor = document.querySelector(
|
|
275
|
+
'.npm__react-simple-code-editor__textarea'
|
|
276
|
+
) as HTMLTextAreaElement;
|
|
273
277
|
if (editor) copyCode(editor.value);
|
|
274
278
|
}}
|
|
275
279
|
/>
|
|
@@ -304,18 +308,20 @@ export const docPage = () => {
|
|
|
304
308
|
noProps = isEmbed,
|
|
305
309
|
noSandbox,
|
|
306
310
|
imports,
|
|
311
|
+
a11yProps,
|
|
307
312
|
} = sp.docs.docPage || {};
|
|
308
|
-
const { component: { displayName } = {} } =
|
|
313
|
+
const { component: { displayName = '' } = {} } = story;
|
|
309
314
|
const pageClassnames = classNames({
|
|
310
315
|
DocPage: true,
|
|
311
316
|
'pt-8 pb-8': !(isEmbed || isEmbedWithProp),
|
|
312
317
|
});
|
|
318
|
+
const docPageTitle: string = title || displayName;
|
|
313
319
|
|
|
314
320
|
return (
|
|
315
321
|
<div className={pageClassnames}>
|
|
316
322
|
{!isEmbed && !isEmbedWithProp && (
|
|
317
323
|
<>
|
|
318
|
-
<Title>
|
|
324
|
+
<Title>{docPageTitle}</Title>
|
|
319
325
|
<Description>{description}</Description>
|
|
320
326
|
</>
|
|
321
327
|
)}
|
|
@@ -331,6 +337,15 @@ export const docPage = () => {
|
|
|
331
337
|
/>
|
|
332
338
|
)}
|
|
333
339
|
|
|
340
|
+
{a11yProps && (
|
|
341
|
+
<>
|
|
342
|
+
<br />
|
|
343
|
+
<br />
|
|
344
|
+
<Heading appearance="subtle">Accessibility</Heading>
|
|
345
|
+
<Description>{a11yProps}</Description>
|
|
346
|
+
</>
|
|
347
|
+
)}
|
|
348
|
+
|
|
334
349
|
{!noProps && (
|
|
335
350
|
<>
|
|
336
351
|
<br />
|
|
@@ -24,14 +24,21 @@ const getParameters = (options: { files: IFiles }) => {
|
|
|
24
24
|
return compress(JSON.stringify(options));
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
+
const replaceAll = function (original: string, matchString: string, replaceString: string) {
|
|
28
|
+
// If a regex pattern
|
|
29
|
+
if (Object.prototype.toString.call(matchString).toLowerCase() === '[object regexp]') {
|
|
30
|
+
return original.replace(matchString, replaceString);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// If a string
|
|
34
|
+
return original.replace(new RegExp(matchString, 'g'), replaceString);
|
|
35
|
+
};
|
|
36
|
+
|
|
27
37
|
export default (jsxStoryCode: string) => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
.replace('() => {', 'const App = () => {')
|
|
33
|
-
.replaceAll('<>', '<React.Fragment>')
|
|
34
|
-
.replaceAll('</>', '</React.Fragment>');
|
|
38
|
+
let structuredCode = replaceAll(jsxStoryCode.trim(), '// import', 'import').replace('() => {', 'const App = () => {');
|
|
39
|
+
structuredCode = replaceAll(structuredCode, '<>', '<React.Fragment>');
|
|
40
|
+
structuredCode = replaceAll(structuredCode, '</>', '</React.Fragment>');
|
|
41
|
+
|
|
35
42
|
const code = `
|
|
36
43
|
import ReactDOM from "react-dom";
|
|
37
44
|
import React from "react";
|
|
@@ -33,12 +33,16 @@ export const getUpdatedZIndex = (ele: elementData): number | undefined => {
|
|
|
33
33
|
return zIndex > 0 ? zIndex : undefined;
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
// keyboard event, boolean?, (event: Event) => void
|
|
37
|
+
export const closeOnEscapeKeypress = (
|
|
38
|
+
event: KeyboardEvent,
|
|
39
|
+
isTopOverlay: boolean | undefined,
|
|
40
|
+
onClose: (event: Event) => void
|
|
41
|
+
) => {
|
|
38
42
|
if (event.key === 'Escape' && isTopOverlay) {
|
|
39
43
|
onClose(event);
|
|
40
44
|
|
|
41
45
|
// prevent browser-specific escape key behavior (Safari exits fullscreen)
|
|
42
46
|
event.preventDefault();
|
|
43
47
|
}
|
|
44
|
-
}
|
|
48
|
+
};
|
package/core/utils/testHelper.ts
CHANGED
|
@@ -30,7 +30,7 @@ const iterateComb = (
|
|
|
30
30
|
requiredComb.forEach((reqProps) => {
|
|
31
31
|
optionalComb.forEach((optProps) => {
|
|
32
32
|
const allProps = { ...reqProps, ...optProps };
|
|
33
|
-
if (
|
|
33
|
+
if (testFunc) testFunc(allProps);
|
|
34
34
|
else combinations.push(allProps);
|
|
35
35
|
});
|
|
36
36
|
});
|
|
@@ -42,7 +42,7 @@ const getCombinations = (Props: Record<string, any>): Record<string, any>[] => {
|
|
|
42
42
|
const combinations: Record<string, any>[] = [];
|
|
43
43
|
const propNames = Object.keys(Props);
|
|
44
44
|
|
|
45
|
-
const iterateProps = (curr: Record<string, any> = {}, propIndex
|
|
45
|
+
const iterateProps = (curr: Record<string, any> = {}, propIndex = 0): void => {
|
|
46
46
|
const iterateValues = (propValues: any[]) => {
|
|
47
47
|
for (const propValue of propValues) {
|
|
48
48
|
if (isMapper(propValue)) {
|
package/core/utils/types.tsx
CHANGED
|
@@ -2,7 +2,7 @@ export type SingleOrArray<T> = T | T[];
|
|
|
2
2
|
|
|
3
3
|
export type MakeRequired<T> = Exclude<T, null | undefined>;
|
|
4
4
|
|
|
5
|
-
export type MakeOptional<T extends
|
|
5
|
+
export type MakeOptional<T extends object, K extends keyof any> = Omit<T, K> & {
|
|
6
6
|
[OK in keyof T & K]?: T[OK];
|
|
7
7
|
};
|
|
8
8
|
|
package/core/utils/validators.ts
CHANGED
|
@@ -9,7 +9,7 @@ export const isValid = (validators: Validators, ...value: any[]) => {
|
|
|
9
9
|
|
|
10
10
|
export const date = (val: string, format: string): boolean => {
|
|
11
11
|
const validate = (date: number, month: number, year: number): boolean => {
|
|
12
|
-
|
|
12
|
+
const monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
13
13
|
|
|
14
14
|
// Adjust for leap years
|
|
15
15
|
if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) monthLength[1] = 29;
|
|
@@ -19,48 +19,51 @@ export const date = (val: string, format: string): boolean => {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
switch (format) {
|
|
22
|
-
case 'dd/mm/yyyy':
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
case 'dd/mm/yyyy': {
|
|
23
|
+
const p = val.split('/');
|
|
24
|
+
const date = +p[0] || 1;
|
|
25
|
+
const month = +p[1] || 1;
|
|
26
|
+
const year = +p[2] || 1900;
|
|
27
27
|
return validate(date, month, year);
|
|
28
|
-
|
|
29
|
-
case 'mm/dd/yyyy':
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
}
|
|
29
|
+
case 'mm/dd/yyyy': {
|
|
30
|
+
const p = val.split('/');
|
|
31
|
+
const date = +p[1] || 1;
|
|
32
|
+
const month = +p[0] || 1;
|
|
33
|
+
const year = +p[2] || 1900;
|
|
34
34
|
return validate(date, month, year);
|
|
35
|
+
}
|
|
35
36
|
|
|
36
|
-
case 'yyyy/mm/dd':
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
case 'yyyy/mm/dd': {
|
|
38
|
+
const p = val.split('/');
|
|
39
|
+
const date = +p[2] || 1;
|
|
40
|
+
const month = +p[1] || 1;
|
|
41
|
+
const year = +p[0] || 1900;
|
|
41
42
|
return validate(date, month, year);
|
|
42
|
-
|
|
43
|
-
case 'dd-mm-yyyy':
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
}
|
|
44
|
+
case 'dd-mm-yyyy': {
|
|
45
|
+
const p = val.split('-');
|
|
46
|
+
const date = +p[0] || 1;
|
|
47
|
+
const month = +p[1] || 1;
|
|
48
|
+
const year = +p[2] || 1900;
|
|
48
49
|
return validate(date, month, year);
|
|
50
|
+
}
|
|
49
51
|
|
|
50
|
-
case 'mm-dd-yyyy':
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
case 'mm-dd-yyyy': {
|
|
53
|
+
const p = val.split('-');
|
|
54
|
+
const date = +p[1] || 1;
|
|
55
|
+
const month = +p[0] || 1;
|
|
56
|
+
const year = +p[2] || 1900;
|
|
55
57
|
return validate(date, month, year);
|
|
58
|
+
}
|
|
56
59
|
|
|
57
|
-
case 'yyyy-mm-dd':
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
case 'yyyy-mm-dd': {
|
|
61
|
+
const p = val.split('-');
|
|
62
|
+
const date = +p[2] || 1;
|
|
63
|
+
const month = +p[1] || 1;
|
|
64
|
+
const year = +p[0] || 1900;
|
|
62
65
|
return validate(date, month, year);
|
|
63
|
-
|
|
66
|
+
}
|
|
64
67
|
default:
|
|
65
68
|
return false;
|
|
66
69
|
}
|