@edvisor/product-language 0.10.2 → 0.10.4
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/index.d.ts +2 -0
- package/index.js +11339 -0
- package/lib/components/alert-banner/alert-banner.d.ts +15 -0
- package/lib/components/alert-banner/alert-level-flags.d.ts +18 -0
- package/lib/components/alert-banner/index.d.ts +1 -0
- package/lib/components/badge/badge-type-flags.d.ts +18 -0
- package/lib/components/badge/badge.d.ts +5 -0
- package/lib/components/badge/index.d.ts +1 -0
- package/{src/lib/components/card/atoms/card-frame.tsx → lib/components/card/atoms/card-frame.d.ts} +7 -16
- package/lib/components/card/atoms/index.d.ts +1 -0
- package/lib/components/card/card.d.ts +14 -0
- package/lib/components/card/components/card-alert-banner-slot.d.ts +6 -0
- package/lib/components/card/components/card-controls-slot.d.ts +5 -0
- package/lib/components/card/components/card-section-slot.d.ts +11 -0
- package/lib/components/card/components/index.d.ts +3 -0
- package/lib/components/card/index.d.ts +3 -0
- package/lib/components/card/molecules/index.d.ts +1 -0
- package/lib/components/card/molecules/left-right-card.d.ts +16 -0
- package/lib/components/checkbox/checkbox.d.ts +11 -0
- package/lib/components/checkbox/helpers.d.ts +12 -0
- package/lib/components/checkbox/index.d.ts +1 -0
- package/lib/components/date-picker/components/custom-calendar.d.ts +6 -0
- package/lib/components/date-picker/components/index.d.ts +1 -0
- package/lib/components/date-picker/date-picker.d.ts +4 -0
- package/lib/components/date-picker/helpers/date-picker-factory.d.ts +34 -0
- package/lib/components/date-picker/index.d.ts +1 -0
- package/lib/components/divider/divider-type-flags.d.ts +9 -0
- package/lib/components/divider/divider.d.ts +7 -0
- package/lib/components/divider/index.d.ts +1 -0
- package/lib/components/flag/flag-size-flags.d.ts +12 -0
- package/lib/components/flag/flag.d.ts +9 -0
- package/lib/components/flag/flag.list.d.ts +782 -0
- package/lib/components/flag/index.d.ts +1 -0
- package/lib/components/icon/icon-list.d.ts +132 -0
- package/lib/components/icon/icon.d.ts +131 -0
- package/lib/components/icon/index.d.ts +1 -0
- package/lib/components/index.d.ts +25 -0
- package/lib/components/input-field/components/index.d.ts +2 -0
- package/lib/components/input-field/components/labeled-input.d.ts +10 -0
- package/lib/components/input-field/components/stepper.d.ts +7 -0
- package/lib/components/input-field/index.d.ts +3 -0
- package/lib/components/input-field/input-field.d.ts +26 -0
- package/lib/components/input-field/input-number.d.ts +18 -0
- package/lib/components/input-field/input-text.d.ts +14 -0
- package/lib/components/layout/flex.d.ts +16 -0
- package/lib/components/layout/grid-layout.d.ts +11 -0
- package/lib/components/layout/index.d.ts +3 -0
- package/lib/components/layout/left-right-layout.d.ts +34 -0
- package/lib/components/link/index.d.ts +1 -0
- package/lib/components/link/link.d.ts +14 -0
- package/lib/components/modal/index.d.ts +3 -0
- package/lib/components/modal/modal-base.d.ts +28 -0
- package/lib/components/modal/modal-destructive.d.ts +11 -0
- package/lib/components/modal/modal.d.ts +13 -0
- package/lib/components/molecules/avatar/avatar-size-flags.d.ts +12 -0
- package/lib/components/molecules/avatar/avatar.d.ts +12 -0
- package/lib/components/molecules/avatar/index.d.ts +1 -0
- package/lib/components/molecules/button/button-flags.d.ts +44 -0
- package/lib/components/molecules/button/button.d.ts +12 -0
- package/lib/components/molecules/button/index.d.ts +1 -0
- package/lib/components/molecules/index.d.ts +3 -0
- package/lib/components/molecules/input-checkbox/index.d.ts +1 -0
- package/lib/components/molecules/input-checkbox/input-checkbox.d.ts +8 -0
- package/lib/components/organisms/choice-list/choice-list.d.ts +9 -0
- package/lib/components/organisms/choice-list/index.d.ts +1 -0
- package/lib/components/organisms/index.d.ts +2 -0
- package/lib/components/organisms/multi-choice-list/index.d.ts +1 -0
- package/lib/components/organisms/multi-choice-list/multi-choice-list.d.ts +11 -0
- package/lib/components/progress-bar/index.d.ts +1 -0
- package/lib/components/progress-bar/progress-bar-size-flags.d.ts +10 -0
- package/lib/components/progress-bar/progress-bar.d.ts +8 -0
- package/lib/components/radio-button/index.d.ts +1 -0
- package/lib/components/radio-button/radio-button.d.ts +10 -0
- package/lib/components/range-slider/components/bar-chart.d.ts +8 -0
- package/lib/components/range-slider/components/handle.d.ts +12 -0
- package/lib/components/range-slider/components/rail.d.ts +9 -0
- package/lib/components/range-slider/components/slider-component.d.ts +12 -0
- package/lib/components/range-slider/components/slider-inputs.d.ts +14 -0
- package/lib/components/range-slider/components/tick.d.ts +10 -0
- package/lib/components/range-slider/components/track.d.ts +11 -0
- package/lib/components/range-slider/index.d.ts +2 -0
- package/lib/components/range-slider/range-slider.d.ts +15 -0
- package/lib/components/range-slider/slider.d.ts +11 -0
- package/lib/components/range-slider/types.d.ts +11 -0
- package/lib/components/select/components/helpers.d.ts +17 -0
- package/lib/components/select/components/menu-container.d.ts +3 -0
- package/lib/components/select/components/menu-list.d.ts +3 -0
- package/lib/components/select/components/menu-row.d.ts +9 -0
- package/lib/components/select/components/menu.d.ts +3 -0
- package/lib/components/select/components/option.d.ts +3 -0
- package/lib/components/select/components/select-label.d.ts +1 -0
- package/lib/components/select/components/value-component-multi.d.ts +4 -0
- package/lib/components/select/components/value-component-single.d.ts +4 -0
- package/lib/components/select/components/value.d.ts +4 -0
- package/lib/components/select/index.d.ts +3 -0
- package/lib/components/select/select.d.ts +10 -0
- package/lib/components/select/types.d.ts +133 -0
- package/lib/components/select/utils.d.ts +15 -0
- package/{src/lib/components/radio-button/index.tsx → lib/components/spinner/index.d.ts} +1 -1
- package/lib/components/spinner/spinner-size-flags.d.ts +10 -0
- package/lib/components/spinner/spinner.d.ts +9 -0
- package/lib/components/tabs/components/index.d.ts +1 -0
- package/lib/components/tabs/components/tab.d.ts +8 -0
- package/lib/components/tabs/index.d.ts +1 -0
- package/lib/components/tabs/tabs.d.ts +16 -0
- package/lib/components/tag/components/close-button.d.ts +8 -0
- package/lib/components/tag/components/index.d.ts +2 -0
- package/lib/components/tag/components/tag-label.d.ts +8 -0
- package/lib/components/tag/index.d.ts +1 -0
- package/lib/components/tag/tag.d.ts +10 -0
- package/lib/components/thumbnail/index.d.ts +1 -0
- package/lib/components/thumbnail/thumbnail-size-flags.d.ts +10 -0
- package/lib/components/thumbnail/thumbnail.d.ts +10 -0
- package/lib/components/tooltip/index.d.ts +1 -0
- package/lib/components/tooltip/tooltip.d.ts +26 -0
- package/lib/components/tree-view/components/tree-node.d.ts +3 -0
- package/lib/components/tree-view/helper.d.ts +12 -0
- package/lib/components/tree-view/index.d.ts +2 -0
- package/lib/components/tree-view/tree-view.d.ts +3 -0
- package/lib/components/tree-view/types.d.ts +63 -0
- package/lib/components/typography/index.d.ts +1 -0
- package/lib/components/typography/typography.d.ts +24 -0
- package/lib/foundations/color-system/base-palette/base-palette.d.ts +76 -0
- package/lib/foundations/color-system/base-palette/index.d.ts +1 -0
- package/lib/foundations/color-system/color-guidelines/color-guidelines.d.ts +133 -0
- package/lib/foundations/color-system/color-guidelines/index.d.ts +1 -0
- package/lib/foundations/color-system/components/color-sample.d.ts +17 -0
- package/lib/foundations/color-system/components/index.d.ts +1 -0
- package/lib/foundations/color-system/index.d.ts +1 -0
- package/lib/foundations/index.d.ts +4 -0
- package/lib/foundations/shadows/components.d.ts +8 -0
- package/lib/foundations/shadows/index.d.ts +1 -0
- package/lib/foundations/shadows/shadows.d.ts +8 -0
- package/lib/foundations/spacing/index.d.ts +1 -0
- package/lib/foundations/spacing/spacing-guidelines.d.ts +33 -0
- package/lib/foundations/spacing/spacing.d.ts +18 -0
- package/lib/foundations/typography/constants.d.ts +22 -0
- package/lib/foundations/typography/fonts.d.ts +1 -0
- package/lib/foundations/typography/index.d.ts +1 -0
- package/lib/foundations/typography/text-aspect-flags.d.ts +19 -0
- package/lib/foundations/typography/typography.d.ts +24 -0
- package/lib/helpers/generic-types.d.ts +21 -0
- package/lib/helpers/index.d.ts +8 -0
- package/lib/helpers/isReactElementOfType.d.ts +8 -0
- package/lib/helpers/nothing.d.ts +10 -0
- package/{src/lib/helpers/numbers.ts → lib/helpers/numbers.d.ts} +50 -67
- package/lib/helpers/safe-navigation.d.ts +17 -0
- package/lib/helpers/slots.d.ts +17 -0
- package/lib/helpers/strings.d.ts +1 -0
- package/lib/helpers/useInputElementState.d.ts +30 -0
- package/lib/helpers/useKeyDown.d.ts +1 -0
- package/package.json +27 -2
- package/.babelrc +0 -12
- package/.eslintrc.json +0 -147
- package/.release-it.json +0 -17
- package/.storybook/main.js +0 -57
- package/.storybook/manager.js +0 -7
- package/.storybook/preview.js +0 -15
- package/.storybook/tsconfig.json +0 -30
- package/jest.config.ts +0 -15
- package/jest.setup.ts +0 -2
- package/project.json +0 -98
- package/src/README.md +0 -61
- package/src/assets/svg/example_icon.svg +0 -3
- package/src/assets/svg/example_icon_white.svg +0 -3
- package/src/assets/svg/spinner.svg +0 -3
- package/src/assets/svg/spinner_white.svg +0 -3
- package/src/helpers/index.ts +0 -4
- package/src/helpers/playground.ts +0 -26
- package/src/helpers/talesOf.tsx +0 -42
- package/src/index.ts +0 -2
- package/src/lib/components/README.md +0 -49
- package/src/lib/components/alert-banner/alert-banner.test.tsx +0 -93
- package/src/lib/components/alert-banner/alert-banner.tsx +0 -117
- package/src/lib/components/alert-banner/alert-level-flags.ts +0 -101
- package/src/lib/components/alert-banner/index.ts +0 -1
- package/src/lib/components/alert-banner/storybook/alert-banner.stories.mdx +0 -67
- package/src/lib/components/alert-banner/storybook/components.tsx +0 -124
- package/src/lib/components/badge/badge-type-flags.ts +0 -72
- package/src/lib/components/badge/badge.test.tsx +0 -29
- package/src/lib/components/badge/badge.tsx +0 -22
- package/src/lib/components/badge/index.ts +0 -1
- package/src/lib/components/badge/stories/badge.stories.mdx +0 -44
- package/src/lib/components/badge/stories/components.tsx +0 -49
- package/src/lib/components/card/atoms/index.ts +0 -1
- package/src/lib/components/card/card.test.tsx +0 -162
- package/src/lib/components/card/card.tsx +0 -78
- package/src/lib/components/card/components/card-alert-banner-slot.tsx +0 -16
- package/src/lib/components/card/components/card-controls-slot.tsx +0 -19
- package/src/lib/components/card/components/card-section-slot.tsx +0 -51
- package/src/lib/components/card/components/index.ts +0 -3
- package/src/lib/components/card/index.ts +0 -3
- package/src/lib/components/card/molecules/index.ts +0 -1
- package/src/lib/components/card/molecules/left-right-card.test.tsx +0 -89
- package/src/lib/components/card/molecules/left-right-card.tsx +0 -63
- package/src/lib/components/card/storybook/card.stories.mdx +0 -100
- package/src/lib/components/card/storybook/components.tsx +0 -227
- package/src/lib/components/checkbox/checkbox.test.tsx +0 -39
- package/src/lib/components/checkbox/checkbox.tsx +0 -70
- package/src/lib/components/checkbox/helpers.tsx +0 -98
- package/src/lib/components/checkbox/index.tsx +0 -1
- package/src/lib/components/checkbox/stories/checkbox.stories.mdx +0 -57
- package/src/lib/components/checkbox/stories/components.tsx +0 -84
- package/src/lib/components/date-picker/components/custom-calendar.tsx +0 -193
- package/src/lib/components/date-picker/components/index.ts +0 -1
- package/src/lib/components/date-picker/data-picker.test.tsx +0 -220
- package/src/lib/components/date-picker/date-picker.tsx +0 -10
- package/src/lib/components/date-picker/helpers/date-picker-factory.tsx +0 -210
- package/src/lib/components/date-picker/index.ts +0 -1
- package/src/lib/components/date-picker/storybook/components.tsx +0 -259
- package/src/lib/components/date-picker/storybook/date-picker.stories.mdx +0 -133
- package/src/lib/components/divider/divider-type-flags.tsx +0 -37
- package/src/lib/components/divider/divider.test.tsx +0 -34
- package/src/lib/components/divider/divider.tsx +0 -37
- package/src/lib/components/divider/index.tsx +0 -1
- package/src/lib/components/divider/stories/components.tsx +0 -13
- package/src/lib/components/divider/stories/divider.stories.mdx +0 -44
- package/src/lib/components/flag/flag-size-flags.tsx +0 -55
- package/src/lib/components/flag/flag.list.tsx +0 -788
- package/src/lib/components/flag/flag.test.tsx +0 -65
- package/src/lib/components/flag/flag.tsx +0 -97
- package/src/lib/components/flag/index.tsx +0 -1
- package/src/lib/components/flag/stories/components.tsx +0 -403
- package/src/lib/components/flag/stories/flag.stories.mdx +0 -48
- package/src/lib/components/flag/stories/playGround-select.tsx +0 -145
- package/src/lib/components/icon/icon-list.tsx +0 -135
- package/src/lib/components/icon/icon.test.tsx +0 -47
- package/src/lib/components/icon/icon.tsx +0 -181
- package/src/lib/components/icon/index.tsx +0 -1
- package/src/lib/components/icon/stories/components.tsx +0 -282
- package/src/lib/components/icon/stories/icon.stories.mdx +0 -65
- package/src/lib/components/index.ts +0 -26
- package/src/lib/components/input-field/components/index.ts +0 -2
- package/src/lib/components/input-field/components/labeled-input.tsx +0 -57
- package/src/lib/components/input-field/components/stepper.tsx +0 -64
- package/src/lib/components/input-field/index.ts +0 -6
- package/src/lib/components/input-field/input-field.test.tsx +0 -107
- package/src/lib/components/input-field/input-field.tsx +0 -154
- package/src/lib/components/input-field/input-number.tsx +0 -41
- package/src/lib/components/input-field/input-text.tsx +0 -30
- package/src/lib/components/input-field/storybook/components.tsx +0 -367
- package/src/lib/components/input-field/storybook/input-field.stories.mdx +0 -120
- package/src/lib/components/layout/flex.tsx +0 -22
- package/src/lib/components/layout/grid-layout.tsx +0 -40
- package/src/lib/components/layout/index.ts +0 -3
- package/src/lib/components/layout/left-right-layout.tsx +0 -67
- package/src/lib/components/link/index.ts +0 -1
- package/src/lib/components/link/link.test.tsx +0 -29
- package/src/lib/components/link/link.tsx +0 -56
- package/src/lib/components/link/storybook/link.stories.mdx +0 -52
- package/src/lib/components/modal/index.ts +0 -3
- package/src/lib/components/modal/modal-base.tsx +0 -129
- package/src/lib/components/modal/modal-destructive.tsx +0 -70
- package/src/lib/components/modal/modal.test.tsx +0 -138
- package/src/lib/components/modal/modal.tsx +0 -114
- package/src/lib/components/modal/storybook/components.tsx +0 -105
- package/src/lib/components/modal/storybook/modal-destructive.stories.mdx +0 -31
- package/src/lib/components/modal/storybook/modal.stories.mdx +0 -50
- package/src/lib/components/molecules/avatar/avatar-size-flags.tsx +0 -55
- package/src/lib/components/molecules/avatar/avatar.test.tsx +0 -114
- package/src/lib/components/molecules/avatar/avatar.tsx +0 -80
- package/src/lib/components/molecules/avatar/index.tsx +0 -1
- package/src/lib/components/molecules/avatar/stories/avatar.stories.mdx +0 -52
- package/src/lib/components/molecules/avatar/stories/components.tsx +0 -36
- package/src/lib/components/molecules/button/button-flags.tsx +0 -340
- package/src/lib/components/molecules/button/button.test.tsx +0 -77
- package/src/lib/components/molecules/button/button.tsx +0 -212
- package/src/lib/components/molecules/button/index.tsx +0 -1
- package/src/lib/components/molecules/button/stories/button.stories.mdx +0 -105
- package/src/lib/components/molecules/button/stories/components.tsx +0 -90
- package/src/lib/components/molecules/index.ts +0 -3
- package/src/lib/components/molecules/input-checkbox/index.tsx +0 -1
- package/src/lib/components/molecules/input-checkbox/input-checkbox.test.tsx +0 -34
- package/src/lib/components/molecules/input-checkbox/input-checkbox.tsx +0 -50
- package/src/lib/components/molecules/input-checkbox/stories/components.tsx +0 -53
- package/src/lib/components/molecules/input-checkbox/stories/input-checkbox.stories.mdx +0 -49
- package/src/lib/components/organisms/choice-list/choice-list.test.tsx +0 -36
- package/src/lib/components/organisms/choice-list/choice-list.tsx +0 -72
- package/src/lib/components/organisms/choice-list/index.tsx +0 -1
- package/src/lib/components/organisms/choice-list/stories/choice-list.stories.mdx +0 -57
- package/src/lib/components/organisms/choice-list/stories/components.tsx +0 -45
- package/src/lib/components/organisms/index.ts +0 -2
- package/src/lib/components/organisms/multi-choice-list/index.tsx +0 -1
- package/src/lib/components/organisms/multi-choice-list/multi-choice-list.test.tsx +0 -33
- package/src/lib/components/organisms/multi-choice-list/multi-choice-list.tsx +0 -53
- package/src/lib/components/organisms/multi-choice-list/stories/components.tsx +0 -124
- package/src/lib/components/organisms/multi-choice-list/stories/multi-choice-list.stories.mdx +0 -99
- package/src/lib/components/progress-bar/index.ts +0 -1
- package/src/lib/components/progress-bar/progress-bar-size-flags.tsx +0 -37
- package/src/lib/components/progress-bar/progress-bar.test.tsx +0 -66
- package/src/lib/components/progress-bar/progress-bar.tsx +0 -42
- package/src/lib/components/progress-bar/storybook/components.tsx +0 -62
- package/src/lib/components/progress-bar/storybook/progress-bar.stories.mdx +0 -43
- package/src/lib/components/radio-button/radio-button.tsx +0 -135
- package/src/lib/components/radio-button/radio.test.tsx +0 -59
- package/src/lib/components/radio-button/stories/components.tsx +0 -36
- package/src/lib/components/radio-button/stories/radio-button.stories.mdx +0 -44
- package/src/lib/components/range-slider/components/bar-chart.tsx +0 -50
- package/src/lib/components/range-slider/components/handle.tsx +0 -58
- package/src/lib/components/range-slider/components/rail.tsx +0 -44
- package/src/lib/components/range-slider/components/slider-component.tsx +0 -98
- package/src/lib/components/range-slider/components/slider-inputs.tsx +0 -150
- package/src/lib/components/range-slider/components/tick.tsx +0 -51
- package/src/lib/components/range-slider/components/track.tsx +0 -67
- package/src/lib/components/range-slider/index.tsx +0 -2
- package/src/lib/components/range-slider/range-slider.test.tsx +0 -185
- package/src/lib/components/range-slider/range-slider.tsx +0 -132
- package/src/lib/components/range-slider/slider.test.tsx +0 -89
- package/src/lib/components/range-slider/slider.tsx +0 -80
- package/src/lib/components/range-slider/stories/components.tsx +0 -179
- package/src/lib/components/range-slider/stories/range-slider.stories.mdx +0 -84
- package/src/lib/components/range-slider/types.ts +0 -18
- package/src/lib/components/select/components/menu-container.tsx +0 -69
- package/src/lib/components/select/components/menu-list.tsx +0 -195
- package/src/lib/components/select/components/menu-row.tsx +0 -43
- package/src/lib/components/select/components/menu.tsx +0 -151
- package/src/lib/components/select/components/option.tsx +0 -91
- package/src/lib/components/select/components/select-label.tsx +0 -10
- package/src/lib/components/select/components/value-component-multi.tsx +0 -40
- package/src/lib/components/select/components/value-component-single.tsx +0 -27
- package/src/lib/components/select/components/value.tsx +0 -370
- package/src/lib/components/select/index.tsx +0 -3
- package/src/lib/components/select/select.test.tsx +0 -148
- package/src/lib/components/select/select.tsx +0 -337
- package/src/lib/components/select/storybook/components.tsx +0 -999
- package/src/lib/components/select/storybook/radio-group.tsx +0 -157
- package/src/lib/components/select/storybook/select.stories.mdx +0 -172
- package/src/lib/components/select/types.ts +0 -149
- package/src/lib/components/select/utils.ts +0 -101
- package/src/lib/components/spinner/index.tsx +0 -1
- package/src/lib/components/spinner/spinner-size-flags.tsx +0 -39
- package/src/lib/components/spinner/spinner.test.tsx +0 -31
- package/src/lib/components/spinner/spinner.tsx +0 -54
- package/src/lib/components/spinner/stories/components.tsx +0 -39
- package/src/lib/components/spinner/stories/spinner.stories.mdx +0 -35
- package/src/lib/components/tabs/components/index.ts +0 -1
- package/src/lib/components/tabs/components/tab.tsx +0 -85
- package/src/lib/components/tabs/index.tsx +0 -1
- package/src/lib/components/tabs/storybook/components.tsx +0 -317
- package/src/lib/components/tabs/storybook/tabs.stories.mdx +0 -105
- package/src/lib/components/tabs/tabs.test.tsx +0 -86
- package/src/lib/components/tabs/tabs.tsx +0 -115
- package/src/lib/components/tag/components/close-button.tsx +0 -85
- package/src/lib/components/tag/components/index.ts +0 -2
- package/src/lib/components/tag/components/tag-label.tsx +0 -45
- package/src/lib/components/tag/index.tsx +0 -1
- package/src/lib/components/tag/stories/components.tsx +0 -86
- package/src/lib/components/tag/stories/tag.stories.mdx +0 -42
- package/src/lib/components/tag/tag.test.tsx +0 -36
- package/src/lib/components/tag/tag.tsx +0 -33
- package/src/lib/components/thumbnail/index.tsx +0 -1
- package/src/lib/components/thumbnail/stories/thumbnail.stories.mdx +0 -44
- package/src/lib/components/thumbnail/thumbnail-size-flags.tsx +0 -41
- package/src/lib/components/thumbnail/thumbnail.test.tsx +0 -51
- package/src/lib/components/thumbnail/thumbnail.tsx +0 -44
- package/src/lib/components/tooltip/index.tsx +0 -1
- package/src/lib/components/tooltip/stories/components.tsx +0 -224
- package/src/lib/components/tooltip/stories/tooltip.stories.mdx +0 -63
- package/src/lib/components/tooltip/tooltip.test.tsx +0 -22
- package/src/lib/components/tooltip/tooltip.tsx +0 -179
- package/src/lib/components/tree-view/components/tree-node.tsx +0 -203
- package/src/lib/components/tree-view/helper.tsx +0 -171
- package/src/lib/components/tree-view/index.ts +0 -2
- package/src/lib/components/tree-view/stories/components.tsx +0 -640
- package/src/lib/components/tree-view/stories/tree-view.stories.mdx +0 -127
- package/src/lib/components/tree-view/tree-view.test.tsx +0 -146
- package/src/lib/components/tree-view/tree-view.tsx +0 -168
- package/src/lib/components/tree-view/types.tsx +0 -70
- package/src/lib/components/typography/index.ts +0 -1
- package/src/lib/components/typography/storybook/components.tsx +0 -288
- package/src/lib/components/typography/storybook/typography.stories.mdx +0 -90
- package/src/lib/components/typography/typography.test.tsx +0 -97
- package/src/lib/components/typography/typography.tsx +0 -99
- package/src/lib/foundations/color-system/base-palette/base-palette.stories.tsx +0 -123
- package/src/lib/foundations/color-system/base-palette/base-palette.ts +0 -93
- package/src/lib/foundations/color-system/base-palette/index.ts +0 -1
- package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.mdx +0 -85
- package/src/lib/foundations/color-system/color-guidelines/color-guidelines.stories.tsx +0 -231
- package/src/lib/foundations/color-system/color-guidelines/color-guidelines.ts +0 -160
- package/src/lib/foundations/color-system/color-guidelines/index.ts +0 -1
- package/src/lib/foundations/color-system/components/color-sample.tsx +0 -99
- package/src/lib/foundations/color-system/components/index.ts +0 -1
- package/src/lib/foundations/color-system/index.ts +0 -1
- package/src/lib/foundations/index.ts +0 -4
- package/src/lib/foundations/shadows/components.tsx +0 -59
- package/src/lib/foundations/shadows/index.ts +0 -1
- package/src/lib/foundations/shadows/shadows.stories.mdx +0 -71
- package/src/lib/foundations/shadows/shadows.tsx +0 -47
- package/src/lib/foundations/spacing/index.ts +0 -1
- package/src/lib/foundations/spacing/spacing-guidelines.ts +0 -37
- package/src/lib/foundations/spacing/spacing.stories.mdx +0 -51
- package/src/lib/foundations/spacing/spacing.ts +0 -18
- package/src/lib/foundations/typography/constants.ts +0 -25
- package/src/lib/foundations/typography/fonts.ts +0 -205
- package/src/lib/foundations/typography/index.tsx +0 -1
- package/src/lib/foundations/typography/text-aspect-flags.ts +0 -61
- package/src/lib/foundations/typography/typography.tsx +0 -102
- package/src/lib/helpers/generic-types.ts +0 -44
- package/src/lib/helpers/index.ts +0 -8
- package/src/lib/helpers/isReactElementOfType.test.tsx +0 -108
- package/src/lib/helpers/isReactElementOfType.ts +0 -42
- package/src/lib/helpers/nothing.tsx +0 -22
- package/src/lib/helpers/safe-navigation.ts +0 -57
- package/src/lib/helpers/slots.tsx +0 -126
- package/src/lib/helpers/strings.test.ts +0 -47
- package/src/lib/helpers/strings.ts +0 -16
- package/src/lib/helpers/useInputElementState.ts +0 -56
- package/src/lib/helpers/useKeyDown.ts +0 -17
- package/tsconfig.json +0 -35
- package/tsconfig.lib.json +0 -28
- package/tsconfig.spec.json +0 -21
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
|
|
2
|
-
import { Button } from '../index'
|
|
3
|
-
import { IconMinor } from 'components/icon'
|
|
4
|
-
import { PlainHTMLFormExample, DisabledLoadingExample } from './components'
|
|
5
|
-
|
|
6
|
-
<Meta
|
|
7
|
-
title="Components/Button"
|
|
8
|
-
component={Button}
|
|
9
|
-
/>
|
|
10
|
-
|
|
11
|
-
# Button
|
|
12
|
-
|
|
13
|
-
For more details, check out the component page on [Figma](https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=1008%3A1257)
|
|
14
|
-
|
|
15
|
-
## How to use
|
|
16
|
-
|
|
17
|
-
```javascript
|
|
18
|
-
// Import the component
|
|
19
|
-
import { Button } from './index'
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
// Render the component sending the required parameters
|
|
23
|
-
<Button primary label="SOME-label-HERE" />
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Properties
|
|
27
|
-
|
|
28
|
-
The Buttons accepts the same properties as a normal button and has some additional ones.
|
|
29
|
-
|
|
30
|
-
The available optional properties are as follows, try them out in the editable code sample below!
|
|
31
|
-
|
|
32
|
-
| Prop | Type | Description |
|
|
33
|
-
| ---------- | --------- | ------------------------------------------------------------------------ |
|
|
34
|
-
| `IconPrefix?` | `Icon` | It will add the given Icon before the text |
|
|
35
|
-
| `IconSuffix?` | `Icon` | It will add the given Icon after the text |
|
|
36
|
-
| `loading?` | `boolean` | Replaces the text for a loading icon |
|
|
37
|
-
| `size?` | `small / large` | Changes the size of the button. Leave it empty for the default size |
|
|
38
|
-
|
|
39
|
-
### Using as form controls
|
|
40
|
-
<PlainHTMLFormExample />
|
|
41
|
-
|
|
42
|
-
### Disabled until something is typed then loading until response
|
|
43
|
-
<DisabledLoadingExample />
|
|
44
|
-
|
|
45
|
-
## Examples
|
|
46
|
-
|
|
47
|
-
<Canvas>
|
|
48
|
-
<Button type="submit">Basic</Button>
|
|
49
|
-
<Button primary>Primary</Button>
|
|
50
|
-
<Button destructive>Destructive</Button>
|
|
51
|
-
<Button destructive primary>Destructive Primary</Button>
|
|
52
|
-
<Button outline>Outline</Button>
|
|
53
|
-
<Button plain>Plain</Button>
|
|
54
|
-
<Button plain subtle >Plain Subtle</Button>
|
|
55
|
-
</Canvas>
|
|
56
|
-
|
|
57
|
-
Disabled
|
|
58
|
-
<Canvas>
|
|
59
|
-
<Button disabled>Basic</Button>
|
|
60
|
-
<Button primary disabled>Primary</Button>
|
|
61
|
-
<Button destructive disabled>Destructive</Button>
|
|
62
|
-
<Button destructive primary disabled>Destructive Primary</Button>
|
|
63
|
-
<Button outline disabled>Outline</Button>
|
|
64
|
-
<Button plain disabled>Plain</Button>
|
|
65
|
-
<Button plain subtle disabled>Plain Subtle</Button>
|
|
66
|
-
</Canvas>
|
|
67
|
-
|
|
68
|
-
Loading
|
|
69
|
-
<Canvas>
|
|
70
|
-
<Button loading>Basic</Button>
|
|
71
|
-
<Button primary loading>Primary</Button>
|
|
72
|
-
<Button destructive loading>Destructive</Button>
|
|
73
|
-
<Button destructive primary loading>Destructive Primary</Button>
|
|
74
|
-
<Button outline loading>Outline</Button>
|
|
75
|
-
<Button plain loading>Plain</Button>
|
|
76
|
-
<Button plain subtle loading>Plain Subtle</Button>
|
|
77
|
-
</Canvas>
|
|
78
|
-
|
|
79
|
-
Icons
|
|
80
|
-
<Canvas>
|
|
81
|
-
<Button IconPrefix={IconMinor.Fire}>Basic</Button>
|
|
82
|
-
<Button primary IconPrefix={IconMinor.Fire}>Primary</Button>
|
|
83
|
-
<Button destructive IconPrefix={IconMinor.Fire}>Destructive</Button>
|
|
84
|
-
<Button destructive primary IconPrefix={IconMinor.Fire}>Destructive Primary</Button>
|
|
85
|
-
<Button outline IconPrefix={IconMinor.Fire}>Outline</Button>
|
|
86
|
-
<Button plain IconPrefix={IconMinor.Fire}>Plain</Button>
|
|
87
|
-
<Button plain subtle IconPrefix={IconMinor.Fire}>Plain Subtle</Button>
|
|
88
|
-
</Canvas>
|
|
89
|
-
|
|
90
|
-
<Canvas>
|
|
91
|
-
<Button IconSuffix={IconMinor.Fire}>Basic</Button>
|
|
92
|
-
<Button primary IconSuffix={IconMinor.Fire}>Primary</Button>
|
|
93
|
-
<Button destructive IconSuffix={IconMinor.Fire}>Destructive</Button>
|
|
94
|
-
<Button destructive primary IconSuffix={IconMinor.Fire}>Destructive Primary</Button>
|
|
95
|
-
<Button outline IconSuffix={IconMinor.Fire}>Outline</Button>
|
|
96
|
-
<Button plain IconSuffix={IconMinor.Fire}>Plain</Button>
|
|
97
|
-
<Button plain subtle IconSuffix={IconMinor.Fire}>Plain Subtle</Button>
|
|
98
|
-
</Canvas>
|
|
99
|
-
|
|
100
|
-
<Canvas>
|
|
101
|
-
<Button large>Large</Button>
|
|
102
|
-
<Button>Default</Button>
|
|
103
|
-
<Button small>Small</Button>
|
|
104
|
-
</Canvas>
|
|
105
|
-
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { Margin } from '@foundations'
|
|
3
|
-
import { Playground } from 'storybook-addon-jarle-monaco'
|
|
4
|
-
import styled from 'styled-components'
|
|
5
|
-
import { InputField as InputFieldBase } from '../../../input-field'
|
|
6
|
-
import { Button } from '../button'
|
|
7
|
-
|
|
8
|
-
const InputField = styled(InputFieldBase)`
|
|
9
|
-
margin-bottom: ${Margin.xxs}
|
|
10
|
-
`
|
|
11
|
-
|
|
12
|
-
export const PlainHTMLFormExample = () => (
|
|
13
|
-
<Playground
|
|
14
|
-
code={`
|
|
15
|
-
/* Edit this code sample! */
|
|
16
|
-
const [invalid, setInvalid] = useState(false);
|
|
17
|
-
|
|
18
|
-
<form onSubmit={(e) => e.preventDefault()}>
|
|
19
|
-
<label htmlFor="country_code">Country code:</label>
|
|
20
|
-
<InputField
|
|
21
|
-
type="text"
|
|
22
|
-
placeholder="Enter a country code..."
|
|
23
|
-
id="country_code"
|
|
24
|
-
name="country_code"
|
|
25
|
-
pattern="[A-Za-z]{3}"
|
|
26
|
-
onInvalid={setInvalid}
|
|
27
|
-
invalid={invalid}
|
|
28
|
-
onChange={() => setInvalid(false)}
|
|
29
|
-
title="Three letter country code"
|
|
30
|
-
required
|
|
31
|
-
/>
|
|
32
|
-
<div style={{display:'flex', gap:'8px'}}>
|
|
33
|
-
<Button type="reset">Clear</Button>
|
|
34
|
-
<Button primary type="submit">Send</Button>
|
|
35
|
-
</div>
|
|
36
|
-
</form>
|
|
37
|
-
`}
|
|
38
|
-
providerProps={{
|
|
39
|
-
renderAsComponent: true,
|
|
40
|
-
scope: {
|
|
41
|
-
InputField,
|
|
42
|
-
Button
|
|
43
|
-
},
|
|
44
|
-
}}
|
|
45
|
-
/>
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
export const DisabledLoadingExample = () => (
|
|
49
|
-
<Playground
|
|
50
|
-
code={`
|
|
51
|
-
/* Edit this code sample! */
|
|
52
|
-
const [invalid, setInvalid] = useState(false);
|
|
53
|
-
const [disabled, setDisabled] = useState(true);
|
|
54
|
-
const [loading, setLoading] = useState(false);
|
|
55
|
-
|
|
56
|
-
<form onSubmit={(e) => {
|
|
57
|
-
e.preventDefault();
|
|
58
|
-
setLoading(true)
|
|
59
|
-
setTimeout(() => setLoading(false), 2000)
|
|
60
|
-
}}>
|
|
61
|
-
<label htmlFor="country_code">Country code:</label>
|
|
62
|
-
<InputField
|
|
63
|
-
type="text"
|
|
64
|
-
placeholder="Enter a country code..."
|
|
65
|
-
id="country_code"
|
|
66
|
-
name="country_code"
|
|
67
|
-
pattern="[A-Za-z]{3}"
|
|
68
|
-
onInvalid={setInvalid}
|
|
69
|
-
invalid={invalid}
|
|
70
|
-
onChange={() => {
|
|
71
|
-
setInvalid(false);
|
|
72
|
-
setDisabled(false);
|
|
73
|
-
}}
|
|
74
|
-
title="Three letter country code"
|
|
75
|
-
required
|
|
76
|
-
/>
|
|
77
|
-
<div style={{display:'flex', gap:'8px'}}>
|
|
78
|
-
<Button primary type="submit" disabled={disabled} loading={loading}>Send</Button>
|
|
79
|
-
</div>
|
|
80
|
-
</form>
|
|
81
|
-
`}
|
|
82
|
-
providerProps={{
|
|
83
|
-
renderAsComponent: true,
|
|
84
|
-
scope: {
|
|
85
|
-
InputField,
|
|
86
|
-
Button
|
|
87
|
-
},
|
|
88
|
-
}}
|
|
89
|
-
/>
|
|
90
|
-
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './input-checkbox'
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {render, screen } from '@testing-library/react'
|
|
2
|
-
import userEvent from '@testing-library/user-event'
|
|
3
|
-
import { InputCheckbox } from './input-checkbox'
|
|
4
|
-
|
|
5
|
-
describe('InputCheckbox Tests', () => {
|
|
6
|
-
it('should render the component and handle event after click', async () => {
|
|
7
|
-
const spyOnChange = jest.fn()
|
|
8
|
-
render(
|
|
9
|
-
<InputCheckbox
|
|
10
|
-
label='My Checkbox'
|
|
11
|
-
onChange={spyOnChange}
|
|
12
|
-
/>
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
expect(spyOnChange).not.toHaveBeenCalled()
|
|
16
|
-
const myComponent = screen.getByRole('checkbox')
|
|
17
|
-
expect(screen.getByText('My Checkbox')).toBeInTheDocument()
|
|
18
|
-
expect(myComponent).toBeInTheDocument()
|
|
19
|
-
|
|
20
|
-
await userEvent.click(myComponent)
|
|
21
|
-
|
|
22
|
-
expect(spyOnChange).toHaveBeenCalled()
|
|
23
|
-
})
|
|
24
|
-
it('should not render the component if dont receive a label', async () => {
|
|
25
|
-
const { container } = render(
|
|
26
|
-
<InputCheckbox
|
|
27
|
-
label=''
|
|
28
|
-
/>
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
expect(container).toBeEmptyDOMElement()
|
|
33
|
-
})
|
|
34
|
-
})
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { InputHTMLAttributes } from 'react'
|
|
2
|
-
import styled from 'styled-components'
|
|
3
|
-
import { FC, isDefined, isEmpty, Nothing } from '@helpers'
|
|
4
|
-
import { Margin } from '@foundations'
|
|
5
|
-
import { Checkbox } from '../../checkbox'
|
|
6
|
-
import { Label } from 'components/typography'
|
|
7
|
-
|
|
8
|
-
const Text = styled(Label)`
|
|
9
|
-
margin-left: ${Margin.xs};
|
|
10
|
-
user-select: none;
|
|
11
|
-
flex: 1;
|
|
12
|
-
`
|
|
13
|
-
|
|
14
|
-
const Wrapper = styled.label`
|
|
15
|
-
display: flex;
|
|
16
|
-
width: 100%;
|
|
17
|
-
align-items: center;
|
|
18
|
-
`
|
|
19
|
-
|
|
20
|
-
export type IInputCheckboxProps = InputHTMLAttributes<HTMLInputElement> & {
|
|
21
|
-
label: string
|
|
22
|
-
error?: boolean
|
|
23
|
-
onChange?: (change: boolean) => void
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const InputCheckbox: FC<IInputCheckboxProps> = (props) => {
|
|
27
|
-
const {
|
|
28
|
-
label = '',
|
|
29
|
-
onChange,
|
|
30
|
-
} = props
|
|
31
|
-
|
|
32
|
-
if (isEmpty(label)) {
|
|
33
|
-
return <Nothing />
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return (
|
|
37
|
-
<Wrapper>
|
|
38
|
-
<Checkbox
|
|
39
|
-
{...props}
|
|
40
|
-
name={isDefined(props.name) ? props.name : label}
|
|
41
|
-
onChange={(e) => {
|
|
42
|
-
if (isDefined(onChange)) {
|
|
43
|
-
onChange(e.target.checked)
|
|
44
|
-
}
|
|
45
|
-
}}
|
|
46
|
-
/>
|
|
47
|
-
<Text>{label}</Text>
|
|
48
|
-
</Wrapper>
|
|
49
|
-
)
|
|
50
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Playground } from 'storybook-addon-jarle-monaco'
|
|
2
|
-
import styled from 'styled-components'
|
|
3
|
-
import { Margin } from '@foundations'
|
|
4
|
-
import { If } from '@helpers'
|
|
5
|
-
import { Button } from 'components/molecules/button'
|
|
6
|
-
import { Caption } from 'components/typography'
|
|
7
|
-
import { InputCheckbox } from '../input-checkbox'
|
|
8
|
-
|
|
9
|
-
const Fields = styled.div`
|
|
10
|
-
margin-bottom: ${Margin.s};
|
|
11
|
-
`
|
|
12
|
-
|
|
13
|
-
export const InputCheckboxExample = () => (
|
|
14
|
-
<Playground
|
|
15
|
-
code={`
|
|
16
|
-
/* Edit this code sample! */
|
|
17
|
-
const [withError, setWithError] = useState(false);
|
|
18
|
-
const [accepted, setAccepted] = useState(false);
|
|
19
|
-
|
|
20
|
-
<form onSubmit={(e) => {
|
|
21
|
-
e.preventDefault()
|
|
22
|
-
}}
|
|
23
|
-
>
|
|
24
|
-
<Fields>
|
|
25
|
-
<InputCheckbox
|
|
26
|
-
onInvalid={(e) => {
|
|
27
|
-
setWithError(true)
|
|
28
|
-
}}
|
|
29
|
-
error={withError}
|
|
30
|
-
onChange={(e) => {
|
|
31
|
-
setAccepted(!accepted)
|
|
32
|
-
setWithError(false)
|
|
33
|
-
}}
|
|
34
|
-
label="I accept the terms."
|
|
35
|
-
required />
|
|
36
|
-
<If is={accepted}><Caption subdued>You have accepted the terms.</Caption></If>
|
|
37
|
-
</Fields>
|
|
38
|
-
<Button primary type="submit">Submit</Button>
|
|
39
|
-
</form>
|
|
40
|
-
`}
|
|
41
|
-
providerProps={{
|
|
42
|
-
renderAsComponent: true,
|
|
43
|
-
scope: {
|
|
44
|
-
InputCheckbox,
|
|
45
|
-
Caption,
|
|
46
|
-
Button,
|
|
47
|
-
If,
|
|
48
|
-
Fields,
|
|
49
|
-
},
|
|
50
|
-
}}
|
|
51
|
-
/>
|
|
52
|
-
)
|
|
53
|
-
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Canvas, Meta, Story } from '@storybook/addon-docs';
|
|
2
|
-
import { InputCheckbox } from '../input-checkbox'
|
|
3
|
-
import { InputCheckboxExample } from './components'
|
|
4
|
-
|
|
5
|
-
<Meta
|
|
6
|
-
title="Components/InputCheckbox"
|
|
7
|
-
component={InputCheckbox}
|
|
8
|
-
/>
|
|
9
|
-
|
|
10
|
-
# InputCheckbox
|
|
11
|
-
|
|
12
|
-
This is a molecule, composed by the atoms checkbox input and typography as well.
|
|
13
|
-
|
|
14
|
-
For more details, check out the component page on [Figma](https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=1008%3A1257)
|
|
15
|
-
|
|
16
|
-
## How to use
|
|
17
|
-
|
|
18
|
-
```javascript
|
|
19
|
-
// Import the component
|
|
20
|
-
import { InputCheckbox } from './index'
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// Render the component sending the required parameters
|
|
24
|
-
<InputCheckbox label="MY-TEXT-HERE" />
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Examples
|
|
28
|
-
|
|
29
|
-
<Canvas>
|
|
30
|
-
<InputCheckbox label="Burger" />
|
|
31
|
-
<InputCheckbox label="Fries" disabled />
|
|
32
|
-
<InputCheckbox label="Drink" error />
|
|
33
|
-
</Canvas>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
## API
|
|
37
|
-
You can send all the possible values from Checkbox component.
|
|
38
|
-
Also, you can sen this parameters:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
| Name | Type | Description | Required (Y/N)|
|
|
42
|
-
| ---- | ----- | ------ | ------- |
|
|
43
|
-
| `label` | `string` | `The label from the checkbox` | `Y` |
|
|
44
|
-
| `onChange` | `event` | `You can listen the changes from the component` | `N` |
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
## Playground
|
|
48
|
-
|
|
49
|
-
<InputCheckboxExample />
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { render, screen } from '@testing-library/react'
|
|
2
|
-
import { ChoiceList } from './choice-list'
|
|
3
|
-
|
|
4
|
-
describe('ChoiceList Tests', () => {
|
|
5
|
-
it('should render the amount of radio buttons matching with the options size', async () => {
|
|
6
|
-
render(
|
|
7
|
-
<ChoiceList options={[
|
|
8
|
-
{
|
|
9
|
-
label: 'My Awesome label',
|
|
10
|
-
value: '1',
|
|
11
|
-
id: 'My radio 1',
|
|
12
|
-
checked: true,
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
label: 'My Awesome label',
|
|
16
|
-
value: '2',
|
|
17
|
-
id: 'My radio 2'
|
|
18
|
-
}]}
|
|
19
|
-
selected={undefined}
|
|
20
|
-
onChange={() => undefined}
|
|
21
|
-
/>
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
expect(screen.getAllByRole('radio').length).toBe(2)
|
|
25
|
-
})
|
|
26
|
-
it('should not render anything if dont send valid options', async () => {
|
|
27
|
-
render(
|
|
28
|
-
<ChoiceList
|
|
29
|
-
options={[]}
|
|
30
|
-
selected={undefined}
|
|
31
|
-
onChange={() => undefined}
|
|
32
|
-
/>
|
|
33
|
-
)
|
|
34
|
-
expect(screen.queryAllByRole('radio').length).toBe(0)
|
|
35
|
-
})
|
|
36
|
-
})
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Margin } from '@foundations'
|
|
2
|
-
import { defaultTo, FC } from '@helpers'
|
|
3
|
-
import { RadioButton as RadioButtonBase } from 'components/radio-button'
|
|
4
|
-
import { IOption } from 'components/select/types'
|
|
5
|
-
import styled from 'styled-components'
|
|
6
|
-
|
|
7
|
-
const Container = styled.div`
|
|
8
|
-
div:last-child {
|
|
9
|
-
margin-bottom: ${Margin.none};
|
|
10
|
-
}
|
|
11
|
-
`
|
|
12
|
-
|
|
13
|
-
const RadioButton = styled(RadioButtonBase)`
|
|
14
|
-
margin-bottom: ${Margin.xxs};
|
|
15
|
-
`
|
|
16
|
-
|
|
17
|
-
export interface IOptionGroup {
|
|
18
|
-
selected: unknown
|
|
19
|
-
options: IOption[]
|
|
20
|
-
onChange: (value: string) => void
|
|
21
|
-
name?: string
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
interface IRadioGroupProps {
|
|
25
|
-
options: IOption[]
|
|
26
|
-
selected: unknown
|
|
27
|
-
name?: string
|
|
28
|
-
handleChange: (event: React.ChangeEvent<HTMLInputElement>) => void
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const RadioGroup = (props: IRadioGroupProps) => {
|
|
32
|
-
return (
|
|
33
|
-
<>
|
|
34
|
-
{
|
|
35
|
-
props.options.map((option: IOption, index: number) => {
|
|
36
|
-
const shortenedOptionLabel = defaultTo(props.name, '').replace(/\s+/g, '')
|
|
37
|
-
const optionId = `radio-option-${index}-${shortenedOptionLabel}`
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
<RadioButton
|
|
41
|
-
value={option.value}
|
|
42
|
-
label={option.label}
|
|
43
|
-
key={optionId}
|
|
44
|
-
id={optionId}
|
|
45
|
-
name={props.name}
|
|
46
|
-
disabled={option.disabled}
|
|
47
|
-
checked={option.value === props.selected}
|
|
48
|
-
onChange={props.handleChange}
|
|
49
|
-
/>
|
|
50
|
-
)
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
</>
|
|
54
|
-
)
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export const ChoiceList: FC<IOptionGroup> = (props: IOptionGroup) => {
|
|
58
|
-
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
|
59
|
-
props.onChange(event.target.value)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return (
|
|
63
|
-
<Container>
|
|
64
|
-
<RadioGroup
|
|
65
|
-
options={props.options}
|
|
66
|
-
selected={props.selected}
|
|
67
|
-
name={props.name}
|
|
68
|
-
handleChange={handleChange}
|
|
69
|
-
/>
|
|
70
|
-
</Container>
|
|
71
|
-
)
|
|
72
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './choice-list'
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Canvas, Meta, Story } from '@storybook/addon-docs';
|
|
2
|
-
import { ChoiceList } from '../choice-list'
|
|
3
|
-
import {
|
|
4
|
-
PlainHTMLFormExample,
|
|
5
|
-
} from './components'
|
|
6
|
-
|
|
7
|
-
<Meta
|
|
8
|
-
title="Components/ChoiceList"
|
|
9
|
-
component={ChoiceList}
|
|
10
|
-
/>
|
|
11
|
-
|
|
12
|
-
# ChoiceList
|
|
13
|
-
|
|
14
|
-
This is a organism, composed by radio button molecule and some atoms.
|
|
15
|
-
|
|
16
|
-
For more details, check out the component page on [Figma](https://www.figma.com/file/ue1CurHfZ426o2T2l8Dk64/Edvisor-Product-Language?node-id=734%3A7377&t=pe4mhKIwje5ozRJp-0)
|
|
17
|
-
|
|
18
|
-
## How to use
|
|
19
|
-
|
|
20
|
-
```javascript
|
|
21
|
-
// Import the component
|
|
22
|
-
import { ChoiceList } from './index'
|
|
23
|
-
|
|
24
|
-
const [selected, setSelected] = useState('')
|
|
25
|
-
const handleChange = (value: string) => setSelected(value)
|
|
26
|
-
const options = [
|
|
27
|
-
{
|
|
28
|
-
label: 'My Awesome label',
|
|
29
|
-
value: '1'
|
|
30
|
-
id: '1',
|
|
31
|
-
}
|
|
32
|
-
]
|
|
33
|
-
|
|
34
|
-
// Render the component sending the required parameters
|
|
35
|
-
<ChoiceList
|
|
36
|
-
options={options}
|
|
37
|
-
onChange={handleChange}
|
|
38
|
-
selected={selectedState}
|
|
39
|
-
/>
|
|
40
|
-
```
|
|
41
|
-
## Examples
|
|
42
|
-
|
|
43
|
-
<PlainHTMLFormExample />
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
## API
|
|
47
|
-
This component receive a list (`options` parameter) from N amount of Radio Buttons if you'd like to render.
|
|
48
|
-
So all the possible values from Radio Buttons component can be passed here.
|
|
49
|
-
Also, you can sen this parameters:
|
|
50
|
-
|
|
51
|
-
| Name | Type | Description | Required (Y/N)|
|
|
52
|
-
| ---- | ----- | ------ | ----- |
|
|
53
|
-
| `options` | `IOption[]` | `The items that are going to be rendered inside the list` | `Y` |
|
|
54
|
-
| `onChange` | `function` | `Function that will return the value of the option that was chosen` | `Y` |
|
|
55
|
-
| `selected` | `string` | `Variable that contains the value of the selected item` | `Y` |
|
|
56
|
-
| `name` | `string` | `The name that will represent the group of radios, in order to render more instances and they not affect each other` | `N` |
|
|
57
|
-
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Playground } from 'storybook-addon-jarle-monaco'
|
|
2
|
-
import styled from 'styled-components'
|
|
3
|
-
import { ChoiceList as Base } from '../choice-list'
|
|
4
|
-
|
|
5
|
-
const ChoiceList = styled(Base)``
|
|
6
|
-
|
|
7
|
-
export const PlainHTMLFormExample = () => (
|
|
8
|
-
<Playground
|
|
9
|
-
code={`
|
|
10
|
-
const [ selected, setSelected ] = useState('')
|
|
11
|
-
const values = [
|
|
12
|
-
{
|
|
13
|
-
label: 'Item 1',
|
|
14
|
-
value: 'ITEM_1',
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
label: 'Item 2',
|
|
18
|
-
value: 'ITEM_2',
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
label: 'Item 3',
|
|
22
|
-
value: 'ITEM_3',
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
const handleChange = (value: string) => {
|
|
26
|
-
setSelected(value)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
<>
|
|
30
|
-
<ChoiceList
|
|
31
|
-
label="Select Type:"
|
|
32
|
-
options={values}
|
|
33
|
-
selected={selected}
|
|
34
|
-
onChange={handleChange}
|
|
35
|
-
/>
|
|
36
|
-
</>
|
|
37
|
-
`}
|
|
38
|
-
providerProps={{
|
|
39
|
-
renderAsComponent: true,
|
|
40
|
-
scope: {
|
|
41
|
-
ChoiceList,
|
|
42
|
-
},
|
|
43
|
-
}}
|
|
44
|
-
/>
|
|
45
|
-
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './multi-choice-list'
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { render, screen } from '@testing-library/react'
|
|
2
|
-
import { MultiChoiceList } from './multi-choice-list'
|
|
3
|
-
|
|
4
|
-
describe('MultiChoiceList Tests', () => {
|
|
5
|
-
it('should render the amount of checkbox matching with the options size', async () => {
|
|
6
|
-
render(
|
|
7
|
-
<MultiChoiceList options={[
|
|
8
|
-
{
|
|
9
|
-
label: 'My Awesome label',
|
|
10
|
-
id: 'My checkbox 1',
|
|
11
|
-
checked: true,
|
|
12
|
-
error: true,
|
|
13
|
-
helpfulMessage: 'Alternative text here',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
label: 'My Awesome label',
|
|
17
|
-
id: 'My checkbox 2'
|
|
18
|
-
},
|
|
19
|
-
]}
|
|
20
|
-
/>
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
expect(screen.getByText('Alternative text here')).toBeInTheDocument()
|
|
24
|
-
expect(screen.getAllByRole('checkbox').length).toBe(2)
|
|
25
|
-
})
|
|
26
|
-
it('should not render anything if dont send valid options', async () => {
|
|
27
|
-
render(
|
|
28
|
-
<MultiChoiceList options={[]}
|
|
29
|
-
/>
|
|
30
|
-
)
|
|
31
|
-
expect(screen.queryAllByRole('checkbox').length).toBe(0)
|
|
32
|
-
})
|
|
33
|
-
})
|