@bloomreach/react-banana-ui 1.1.0-next.1
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/README.md +310 -0
- package/dist/bloomreach-react-banana-ui.es.js +7683 -0
- package/dist/bloomreach-react-banana-ui.es.js.map +1 -0
- package/dist/bloomreach-react-banana-ui.umd.js +52 -0
- package/dist/bloomreach-react-banana-ui.umd.js.map +1 -0
- package/dist/components/buttons/button/button.d.ts +71 -0
- package/dist/components/buttons/button/button.qa.stories.d.ts +8 -0
- package/dist/components/buttons/button/button.stories.d.ts +16 -0
- package/dist/components/buttons/button/index.d.ts +1 -0
- package/dist/components/buttons/button-group/button-group.d.ts +41 -0
- package/dist/components/buttons/button-group/button-group.stories.d.ts +9 -0
- package/dist/components/buttons/button-group/index.d.ts +2 -0
- package/dist/components/buttons/index.d.ts +4 -0
- package/dist/components/buttons/toggle-button/index.d.ts +2 -0
- package/dist/components/buttons/toggle-button/toggle-button.d.ts +75 -0
- package/dist/components/buttons/toggle-button/toggle-button.stories.d.ts +7 -0
- package/dist/components/buttons/toggle-button-group/index.d.ts +2 -0
- package/dist/components/buttons/toggle-button-group/toggle-button-group.d.ts +94 -0
- package/dist/components/buttons/toggle-button-group/toggle-button-group.stories.d.ts +8 -0
- package/dist/components/containers/dropdown/dropdown.d.ts +131 -0
- package/dist/components/containers/scroll-region/scroll-region.d.ts +106 -0
- package/dist/components/containers/scroll-view/scroll-view.d.ts +115 -0
- package/dist/components/feedback/alert/alert-title.d.ts +13 -0
- package/dist/components/feedback/alert/alert.d.ts +41 -0
- package/dist/components/feedback/alert/alert.stories.d.ts +11 -0
- package/dist/components/feedback/alert/index.d.ts +2 -0
- package/dist/components/feedback/index.d.ts +1 -0
- package/dist/components/foundations/icon/icon.d.ts +41 -0
- package/dist/components/foundations/icon/icon.qa.stories.d.ts +6 -0
- package/dist/components/foundations/icon/icon.stories.d.ts +16 -0
- package/dist/components/foundations/icon/icons/AbTestIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/AggregateIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/AnalyticsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/AndroidIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/AnonymizeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/AppleIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArchiveAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArchiveIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowCollapseIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowDownIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowExpandIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowKeyboardNextIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowKeyboardPreviousIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowKeyboardUpIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowLeftIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowRightIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ArrowUpIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/AxisIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/AxisLimtIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/BarChartIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/BooleanIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/BracketsCancelIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/BracketsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/BrowserIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/BrowserPushIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CalendarAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CalendarIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CatalogIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChatAddIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChatIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChatsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CheckCircleIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CheckFilledIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CheckIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CheckSmallIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronDownFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronDownIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronLeftFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronLeftIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronRightFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronRightIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronUpFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ChevronUpIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ClearFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ClearIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ClipboardAddIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ClockCircleIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CloneIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CloseIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CloseSmallIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CloudCheckIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CloudDownloadIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CodeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ColorPickerAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ColorPickerIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ColumnsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ConditionAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ConditionIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ConsoleIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ConstantAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ConstantIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ContextualPersonalizationIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CopyIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CopyToDashboardIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CsvIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CustomRowIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CustomerIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CustomersFilterIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/CustomersSegmentationIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DateTimeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DescriptionIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DesktopIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DisabledIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DivideIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DocumentationIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DownloadIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DragHorizontalIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/DragVericalIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EditIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EducationHubIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EllipsisVerticalIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EllipsissHorizontalIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EmailIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EmojiPickerIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ErrorFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EventIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EventsSegmentationIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ExperimentIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ExposeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ExpressionIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ExternalLinkIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EyeCrossedIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/EyeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FastForwardIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FileIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FilterIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FireIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FolderEmptyIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FolderFullIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FormulaExpressionIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FormulaIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FromStartAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/FullscreenIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/GiftIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/GoToIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/GraphStatsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/GridAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/GridIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/HelpIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/HistoryIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/HomeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/HtmlIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ImagesIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/InfoFilledIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/InfoIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/InfoSmallIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/InternetIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/KeyIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/LayoutIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/LikeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/LineChartIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/LinkIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ListIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/LoaderIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/LockIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MapIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MetricAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MinusIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MobileAppInboxIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MobileImageMessageIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MobilePhoneLandscapeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MobilePhonePortraitIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MobilePushIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MobileSmsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MobileTextMessageIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/MoveIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/NegationIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/NotificationIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/NumberIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/OfflineFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/OfflineIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PaintIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ParagraphCenterAlignIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ParagraphLeftAlignIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ParagraphRightAlignIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PercentageIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PersAlt1Icon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PersAlt2Icon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PersAlt3Icon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PersAlt4Icon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PictureAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PictureIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PinIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PlugPlayIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PlusCircleFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PlusCircleIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PlusIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/PoverButtonIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RefreshIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ReleaseNotesIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RenameAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RenameIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ReorderIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ReportIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RetentionIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RewertLeftIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RewertRightIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RibbonIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RoadmapIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RobotIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/RunningAggregateIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SaveIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ScenarioIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SearchIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SecurityShieldIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SendIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SettingsAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SettingsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ShareIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ShopIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/ShrinkIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SortIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SplitFlowIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SqlIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StarFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StarIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StartFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StartIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StatusDotIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StopIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StopwatchIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StringComponentIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/StringIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SuggestionIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SurveyIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/SwapIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TabletLangscapeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TabletPortraitIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TagAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TagIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TemplateIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TextBoldIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TextItalicIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TextStyleIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TragetIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TransferIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TrashIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/TrendIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UnExposeIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UnarchiveAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UndoIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UnlinkIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UnlockIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UntilNowAltIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UploadIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UsagesIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/UsersIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/VisualIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/VoucherIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/WaitIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/WalkthroughsIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/WarningFillIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/WebhookIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/WeblayerIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/WrenchIcon.d.ts +4 -0
- package/dist/components/foundations/icon/icons/index.d.ts +225 -0
- package/dist/components/foundations/icon/index.d.ts +3 -0
- package/dist/components/foundations/index.d.ts +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/inputs/base-field/base-field.d.ts +48 -0
- package/dist/components/inputs/base-field/generate-field-id.d.ts +4 -0
- package/dist/components/inputs/base-field/index.d.ts +2 -0
- package/dist/components/inputs/base-input/base-input.d.ts +104 -0
- package/dist/components/inputs/base-input/index.d.ts +2 -0
- package/dist/components/inputs/index.d.ts +2 -0
- package/dist/components/inputs/input-field/index.d.ts +2 -0
- package/dist/components/inputs/input-field/input-field.d.ts +119 -0
- package/dist/components/inputs/input-field/input-field.qa.stories.d.ts +13 -0
- package/dist/components/inputs/input-field/input-field.stories.d.ts +23 -0
- package/dist/components/inputs/internal.d.ts +2 -0
- package/dist/components/inputs/selection/selection.d.ts +233 -0
- package/dist/components/inputs/text-field/index.d.ts +2 -0
- package/dist/components/inputs/text-field/text-field.d.ts +138 -0
- package/dist/components/inputs/text-field/text-field.qa.stories.d.ts +14 -0
- package/dist/components/inputs/text-field/text-field.stories.d.ts +25 -0
- package/dist/components/internal.d.ts +1 -0
- package/dist/components/lists/list-view/list-view.d.ts +149 -0
- package/dist/components/loaders/loader/loader.d.ts +24 -0
- package/dist/components/navigation/index.d.ts +1 -0
- package/dist/components/navigation/pagination/index.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination-config.d.ts +4 -0
- package/dist/components/navigation/pagination/pagination-context.d.ts +5 -0
- package/dist/components/navigation/pagination/pagination-items-per-page-selector.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination-navigation-helpers.d.ts +11 -0
- package/dist/components/navigation/pagination/pagination-navigation-item.d.ts +6 -0
- package/dist/components/navigation/pagination/pagination-navigation.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination-summary.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination-types.d.ts +38 -0
- package/dist/components/navigation/pagination/pagination.d.ts +21 -0
- package/dist/components/navigation/pagination/pagination.qa.stories.d.ts +8 -0
- package/dist/components/navigation/pagination/pagination.stories.d.ts +20 -0
- package/dist/components/popovers/index.d.ts +2 -0
- package/dist/components/popovers/modal/index.d.ts +8 -0
- package/dist/components/popovers/modal/modal-body.d.ts +8 -0
- package/dist/components/popovers/modal/modal-close-button.d.ts +13 -0
- package/dist/components/popovers/modal/modal-context.d.ts +5 -0
- package/dist/components/popovers/modal/modal-footer-actions.d.ts +8 -0
- package/dist/components/popovers/modal/modal-footer.d.ts +10 -0
- package/dist/components/popovers/modal/modal-header-title.d.ts +7 -0
- package/dist/components/popovers/modal/modal-header.d.ts +9 -0
- package/dist/components/popovers/modal/modal-types.d.ts +94 -0
- package/dist/components/popovers/modal/modal.d.ts +37 -0
- package/dist/components/popovers/modal/modal.qa.stories.d.ts +10 -0
- package/dist/components/popovers/modal/modal.stories.d.ts +14 -0
- package/dist/components/popovers/tooltip/index.d.ts +2 -0
- package/dist/components/popovers/tooltip/tooltip-config.d.ts +2 -0
- package/dist/components/popovers/tooltip/tooltip.d.ts +50 -0
- package/dist/components/popovers/tooltip/tooltip.qa.stories.d.ts +8 -0
- package/dist/components/popovers/tooltip/tooltip.stories.d.ts +25 -0
- package/dist/components/types.d.ts +19 -0
- package/dist/index.d.ts +1 -0
- package/dist/style.css +1 -0
- package/dist/utils/add-font.d.ts +29 -0
- package/dist/utils/after-render.d.ts +5 -0
- package/dist/utils/async-dom-render.d.ts +6 -0
- package/dist/utils/chalk.d.ts +44 -0
- package/dist/utils/chunk.d.ts +4 -0
- package/dist/utils/classnames.d.ts +6 -0
- package/dist/utils/clone-client-rect.d.ts +26 -0
- package/dist/utils/compare-client-rect.d.ts +5 -0
- package/dist/utils/compare-sets.d.ts +5 -0
- package/dist/utils/compose-refs.d.ts +5 -0
- package/dist/utils/cookie-parser.d.ts +8 -0
- package/dist/utils/copy-text-to-clipboard.d.ts +7 -0
- package/dist/utils/debounce.d.ts +4 -0
- package/dist/utils/deep-clone.d.ts +5 -0
- package/dist/utils/deep-equal.d.ts +4 -0
- package/dist/utils/ensure-modal-root.d.ts +4 -0
- package/dist/utils/event-element-position.d.ts +4 -0
- package/dist/utils/filter-react-children.d.ts +6 -0
- package/dist/utils/find-react-children.d.ts +10 -0
- package/dist/utils/flatten-array.d.ts +5 -0
- package/dist/utils/fuzzy-groups.d.ts +51 -0
- package/dist/utils/get-decimal.d.ts +8 -0
- package/dist/utils/get-error-message.d.ts +6 -0
- package/dist/utils/get-first-with-class.d.ts +5 -0
- package/dist/utils/get-index.d.ts +5 -0
- package/dist/utils/get-selected-text.d.ts +4 -0
- package/dist/utils/get-type-name.d.ts +14 -0
- package/dist/utils/group-react-children.d.ts +8 -0
- package/dist/utils/has-child.d.ts +4 -0
- package/dist/utils/hooks/index.d.ts +1 -0
- package/dist/utils/hooks/use-hover.d.ts +10 -0
- package/dist/utils/index.d.ts +43 -0
- package/dist/utils/local-storage.d.ts +42 -0
- package/dist/utils/make-buffer.d.ts +28 -0
- package/dist/utils/map-lookup-values.d.ts +65 -0
- package/dist/utils/no-op.d.ts +4 -0
- package/dist/utils/normalize-wheel/ExecutionEnvironment.d.ts +38 -0
- package/dist/utils/normalize-wheel/UserAgent_DEPRECATED.d.ts +116 -0
- package/dist/utils/normalize-wheel/index.d.ts +2 -0
- package/dist/utils/normalize-wheel/isEventSupported.d.ts +46 -0
- package/dist/utils/normalize-wheel/normalizeWheel.d.ts +139 -0
- package/dist/utils/promise-resolver.d.ts +36 -0
- package/dist/utils/relative-client-rect.d.ts +5 -0
- package/dist/utils/rush.d.ts +4 -0
- package/dist/utils/state-controls.d.ts +28 -0
- package/dist/utils/stop-all-propagation.d.ts +8 -0
- package/dist/utils/template.d.ts +49 -0
- package/dist/utils/to-digits.d.ts +4 -0
- package/dist/utils/to-query-params.d.ts +14 -0
- package/dist/utils/types.d.ts +69 -0
- package/dist/utils/url-join.d.ts +24 -0
- package/dist/utils/wait.d.ts +1 -0
- package/dist/utils/when.d.ts +2 -0
- package/package.json +117 -0
package/README.md
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# React Banana UI
|
|
2
|
+
|
|
3
|
+
This is a component library of all basic and common components across all
|
|
4
|
+
bloomreach project apps. This will be primarily primitive components and
|
|
5
|
+
possibly some specialized items as well.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Viewing Available Components
|
|
9
|
+
|
|
10
|
+
Visit the library [storybook](https://design.corp.bloomreach.com/storybooks/react-banana-ui/master/) to view the latest available components.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Using library in a project
|
|
14
|
+
|
|
15
|
+
Install the following libraries to the project dependencies
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npm i --save --save-exact @bloomreach/react-banana-ui @bloomreach/banana-theme
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Note:**
|
|
22
|
+
|
|
23
|
+
The library `@bloomreach/banana-theme` is required only to bring fonts used by default in the global design system which is going to be used across all Bloomreach applications.
|
|
24
|
+
Using it as a separate dependency in the end application is a temporary solution and will be changed in the near future by hiding inside `@bloomreach/react-banana-ui` library.
|
|
25
|
+
|
|
26
|
+
### Components
|
|
27
|
+
|
|
28
|
+
In case project settings are properly established, use the components in the application like so
|
|
29
|
+
|
|
30
|
+
```javascript
|
|
31
|
+
import { <ComponentName> } from "@bloomreach/react-banana-ui";
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Styles & Fonts
|
|
35
|
+
|
|
36
|
+
Do the following steps to make styles and fonts available
|
|
37
|
+
|
|
38
|
+
* Import the library styles along with fonts by adding the following lines in the main application style file
|
|
39
|
+
|
|
40
|
+
```css
|
|
41
|
+
// main.scss
|
|
42
|
+
|
|
43
|
+
@import '@bloomreach/banana-theme/css/fonts.css';
|
|
44
|
+
@import '@bloomreach/react-banana-ui/style.css';
|
|
45
|
+
|
|
46
|
+
...
|
|
47
|
+
```
|
|
48
|
+
* Additionally, set the `font-family` property to the root element using CSS custom properties available from the library
|
|
49
|
+
|
|
50
|
+
```css
|
|
51
|
+
// main.scss
|
|
52
|
+
|
|
53
|
+
...
|
|
54
|
+
|
|
55
|
+
html, body {
|
|
56
|
+
font-family: var(--broccoli-font-family-primary);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
...
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
The full list of available CSS custom properties will be available soon. Now just use the browser dev tools to see all available CSS custom properties. Filter them with the `--broccoli-` prefix to reduce the amount.
|
|
63
|
+
|
|
64
|
+
**ATTENTION:**
|
|
65
|
+
|
|
66
|
+
Please, avoid using `--banana-...` CSS custom properties as they are intended to be used inside the library itself.
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
## Development
|
|
70
|
+
|
|
71
|
+
### Prerequisites
|
|
72
|
+
- Node.js 18.X
|
|
73
|
+
- NPM 9.x
|
|
74
|
+
|
|
75
|
+
Install all dependencies
|
|
76
|
+
```sh
|
|
77
|
+
npm ci
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Run the storybook
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
npm run start
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
After that, any changes in the source code will automatically be reflected in the storybook.
|
|
87
|
+
|
|
88
|
+
## Branching types
|
|
89
|
+
|
|
90
|
+
To manage and automate complex release workflow based on multiple Git branches and distribution channels used the `semantic-release` library. Check the [documentation](https://semantic-release.gitbook.io/semantic-release/) for more details. The current setup is reduced and simplified as much as possible, however, it is flexible and might be extended in the future if needed.
|
|
91
|
+
|
|
92
|
+
The current branch types are explained below.
|
|
93
|
+
|
|
94
|
+
* The `master` branch - is a permanent branch, where releases happen for the latest versions. All versions from that branch will be published to the npm registry with a `latest` dist-tag;
|
|
95
|
+
* The `next` branch should be used when we want to develop an important feature, which is a breaking change. Considering the scope of this feature we want to make it available, at first, only to a limited amount of users in order to get feedback or run tests. Once we get that feedback we can make improvements and ultimately make the new feature available to all users by merging changes into the `master` branch; Releases from the `next` branch will be published to the npm registry with a `next` dist-tag;
|
|
96
|
+
* The maintenance branches (i.e. `2.x` to maintain release `v2`). The maintenance branch is a type of branch that allows publishing releases with a [semantic version](https://semver.org/) on top of the codebase of an old release. This is useful when you need to provide fixes or features to users who cannot upgrade to the last version of the package;
|
|
97
|
+
* Feature branches (like `feature/BR-XX-my-awesome-feature`, `fix/BR-XX-that-is-life`) or any other kind of branch to commit small units of work that do not produce releases (until merged into one of the branches above). These branches are ignored from now on as they don’t have to trigger releases;
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
The following changes should be done to change or extend the current setup:
|
|
101
|
+
|
|
102
|
+
* Add a new release/maintenance/pre-release branch to the `semantic-release` configuration in `./.releaserc`, check the [documentation](https://semantic-release.gitbook.io/semantic-release/usage/configuration#branches) for more details;
|
|
103
|
+
* Update the Gitlab pipeline `release` job to allow running it with the new branch, check `./.gitlab-ci.yml`;
|
|
104
|
+
* Verify that the new branch is marked as `protected` in the repository settings.
|
|
105
|
+
|
|
106
|
+
Find more examples of possible release workflows in the official `semantic-release` [documentation](https://semantic-release.gitbook.io/semantic-release/recipes/release-workflow).
|
|
107
|
+
|
|
108
|
+
## Commit Message Format
|
|
109
|
+
|
|
110
|
+
To have an automated release process the git commit messages must follow the following format.
|
|
111
|
+
This specification following [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). It provides an easy set of rules for creating an explicit commit history. This convention dovetails with [semantic version](http://semver.org/), by describing the features, fixes, and breaking changes made in commit messages.
|
|
112
|
+
|
|
113
|
+
Each commit message consists of a **header**, a **body**, and a **footer**.
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
<header>
|
|
117
|
+
<BLANK LINE>
|
|
118
|
+
<body>
|
|
119
|
+
<BLANK LINE>
|
|
120
|
+
<footer>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The `header` is mandatory and must conform to the [Commit Message Header](#commit-message-header) format.
|
|
124
|
+
|
|
125
|
+
The `body` is optional. When the body is present it must be at least 20 characters long and must conform to the [Commit Message Body](#commit-message-body) format.
|
|
126
|
+
|
|
127
|
+
The `footer` is optional. The [Commit Message Footer](#commit-message-footer) format describes what the footer is used for and the structure it must have.
|
|
128
|
+
|
|
129
|
+
### The commit contains the following structural elements:
|
|
130
|
+
|
|
131
|
+
* `fix`: a commit of the type fix patches a bug in your codebase (this correlates with `PATCH` in Semantic Versioning).
|
|
132
|
+
* `feat`: a commit of the type feat introduces a new feature to the codebase (this correlates with `MINOR` in Semantic Versioning).
|
|
133
|
+
* `BREAKING CHANGE`: a commit that has a footer BREAKING CHANGE:, or appends a `!` after the `type/scope`, introduces a breaking API change (correlating with `MAJOR` in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type.
|
|
134
|
+
* types other than `fix`: and `feat`: are allowed, see [types](#type).
|
|
135
|
+
* footers other than BREAKING CHANGE: <description> may be provided and follow a convention similar to git trailer format.
|
|
136
|
+
|
|
137
|
+
Additional types are not mandated by the Conventional Commits specification, and have no implicit effect in Semantic Versioning (unless they include a **BREAKING CHANGE**).
|
|
138
|
+
|
|
139
|
+
### Commit Message Header
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
<type>(<scope>): <short summary>
|
|
143
|
+
│ │ │
|
|
144
|
+
│ │ └─⫸ Summary in present tense. Not capitalized. No period at the end.
|
|
145
|
+
│ │
|
|
146
|
+
│ └─⫸ Commit Scope: Right now not used but will be expanded in the near future.
|
|
147
|
+
│
|
|
148
|
+
└─⫸ Commit Type: build|chore|ci|docs|feat|feature|fix|perf|refactor|style|test.
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The `<type>` and `<summary>` fields are mandatory, the `(<scope>)` field is optional and not used now.
|
|
152
|
+
|
|
153
|
+
#### Type
|
|
154
|
+
|
|
155
|
+
Must be one of the following:
|
|
156
|
+
|
|
157
|
+
* `build` - changes that affect the build system or external dependencies; Hidden from the release notes;
|
|
158
|
+
* `chore` - changes which are not fit to the rest of the types. Hidden from the release notes;
|
|
159
|
+
* `ci` - changes to our CI configuration files and scripts. Hidden from the release notes;
|
|
160
|
+
* `docs` - documentation only changes. Hidden from the release notes;
|
|
161
|
+
* `feat` - a new feature. Appeared in the release notes under section `Features`;
|
|
162
|
+
* `feature` - the alias for the type`feat`;
|
|
163
|
+
* `fix` - a bug fix. Appeared in the release notes under section `Bug Fixes`;
|
|
164
|
+
* `perf` - a code change that improves performance. Appeared in the release notes under section `Performance Improvements`;
|
|
165
|
+
* `refactor` - a code change that neither fixes a bug nor adds a feature. Hidden from the release notes;
|
|
166
|
+
* `revert` - revert of the previous changes. Appeared in the release notes under section `Reverts`;
|
|
167
|
+
* `style` - changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc). Hidden from the release notes;
|
|
168
|
+
* `test` - adding missing tests or correcting existing tests. Hidden from the release notes.
|
|
169
|
+
|
|
170
|
+
If the prefix is `feat`, `fix`, `perf` or `revert`, it will appear in the release notes. However if there is any **BREAKING CHANGE**, the commit will always appear in the changelog.
|
|
171
|
+
|
|
172
|
+
Other prefixes are up to your discretion. Suggested prefixes are `build`, `ci`, `docs` ,`style`, `refactor`, `style`, `test` and `chore` for non-changelog related tasks.
|
|
173
|
+
|
|
174
|
+
#### Scope
|
|
175
|
+
|
|
176
|
+
Not used currently.
|
|
177
|
+
|
|
178
|
+
#### Summary
|
|
179
|
+
Use the summary field to provide a succinct description of the change:
|
|
180
|
+
|
|
181
|
+
* use the imperative, present tense: "change" not "changed" nor "changes"
|
|
182
|
+
* don't capitalize the first letter
|
|
183
|
+
* no dot (.) at the end
|
|
184
|
+
|
|
185
|
+
### Commit Message Body
|
|
186
|
+
|
|
187
|
+
Just as in the summary, use the imperative, present tense: "fix" not "fixed" nor "fixes".
|
|
188
|
+
|
|
189
|
+
Explain the motivation for the change in the commit message body. This commit message should explain why you are making the change. You can include a comparison of the previous behavior with the new behavior in order to illustrate the impact of the change.
|
|
190
|
+
|
|
191
|
+
### Commit Message Footer
|
|
192
|
+
|
|
193
|
+
The footer can contain information about breaking changes and is also the place to reference Jira tickets, and other MRs that this commit closes or is related to.
|
|
194
|
+
|
|
195
|
+
For example:
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
BREAKING CHANGE: <breaking change summary>
|
|
199
|
+
<BLANK LINE>
|
|
200
|
+
<breaking change description + migration instructions>
|
|
201
|
+
<BLANK LINE>
|
|
202
|
+
<BLANK LINE>
|
|
203
|
+
<Closes|Fixes> BR-<issue number>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Breaking Change section should start with the phrase **BREAKING CHANGE:** followed by a summary of the breaking change, a blank line, and a detailed description of the breaking change that also includes migration instructions.
|
|
207
|
+
|
|
208
|
+
Similarly, a Deprecation section should start with **DEPRECATED:** followed by a short description of what is deprecated, a blank line, and a detailed description of the deprecation that also mentions the recommended update path.
|
|
209
|
+
|
|
210
|
+
### Revert commits
|
|
211
|
+
|
|
212
|
+
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit.
|
|
213
|
+
|
|
214
|
+
The content of the commit message body should contain:
|
|
215
|
+
|
|
216
|
+
* information about the SHA of the commit being reverted in the following format: `This reverts commit <SHA>`,
|
|
217
|
+
* a clear description of the reason for reverting the commit message.
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
## Creating a new component
|
|
221
|
+
|
|
222
|
+
To create a new component, run the following command
|
|
223
|
+
|
|
224
|
+
```sh
|
|
225
|
+
npm run generate
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
and then follow the instructions to create the all required sets of files for the new component. It will create the following files:
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
component-name.tsx // Main component file
|
|
232
|
+
component-name.scss // Component styles
|
|
233
|
+
component-name.spec.tsx // Unit tests
|
|
234
|
+
component-name.stories.tsx // Storybook stories
|
|
235
|
+
component-name.qa.stories.tsx // E2E tests stories
|
|
236
|
+
component-name.test.tsx // E2E tests
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Note**: The script doesn't create the `index.ts` file inside `./src/components/<group>` folder. It should be created manually or updated already existing `index.ts` file.
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
## Storybook
|
|
243
|
+
|
|
244
|
+
The [Storybook](https://design.corp.bloomreach.com/storybooks/react-banana-ui/master/) is used to develop and view components in isolation. The storybook files should end with `*.stories.tsx` and be placed close to the component or module which is going to be documented for all new or rewritten components. The `./stories` folder should locate only generic information about the library itself and additionally, complex stories involving multiple components.
|
|
245
|
+
|
|
246
|
+
The old components stories are located in the `./stories` folder. They are going to be removed soon. In case the new implementation is ready but the old one is still available to prevent breaking changes, please, mark the old stories as **DEPRECATED** to group them, see for example: `./stories/components/buttons`.
|
|
247
|
+
|
|
248
|
+
## Autogen
|
|
249
|
+
|
|
250
|
+
### Icons
|
|
251
|
+
|
|
252
|
+
The icon files and exports are auto-generated using the script at `scripts/gen-icons`. If new icons are added in the banana-theme project, run `npm run generate:icons` to regenerate the icon exports
|
|
253
|
+
|
|
254
|
+
## Testing
|
|
255
|
+
|
|
256
|
+
When adding changes for any component part of the library it is mandatory to have them covered by tests. These tests need to be meaningful and developed with extensive coverage in mind. By their nature components will be used in a wide variety of scenarios and so extensive coverage is crucial in order to avoid unpredictable results.
|
|
257
|
+
The library is developed with a two-level testing approach in mind like unit tests and E2E tests. Each component should have unit tests and E2E tests. The unit tests should cover the component logic and the E2E tests should cover the component behavior in the real browser environment together with visual regression testing.
|
|
258
|
+
|
|
259
|
+
### Unit tests
|
|
260
|
+
|
|
261
|
+
The [Vitest](https://vitest.dev/) unit test framework is used for the unit testing. The unit test files should end with `*.spec.ts(x)` and place close to the component or module which is going to be tested.
|
|
262
|
+
|
|
263
|
+
### End-to-end tests
|
|
264
|
+
|
|
265
|
+
The [Playwright](https://playwright.dev/) test framework is used for end-to-end testing. All tests are located in the component or module folder and should end with `*.test.ts(x)`. The e2e tests run against special storybook stories which contain different scenarios for the test component.
|
|
266
|
+
The stories for the e2e test should be located in the same place as tests and component stories and end with `*.qa.stories.ts(x)`. The title of test stories should contain `QA` at the end and look something like this: `<Component Group>/<Component Name>/QA`. The e2e stories should be used only for e2e tests and not for documentation purposes. The e2e stories should reuse the component stories metadata and base stories as much as possible but at the same time, they should give flexibility to test different scenarios.
|
|
267
|
+
|
|
268
|
+
The purpose of using the e2e tests is to eliminate any manual QA work and provide high-quality components to the end-users. In that case, each component should be covered with e2e tests and visual regression tests and have comprehensive coverage based on the different scenarios and component states. The downside of this comprehensive approach is that the e2e tests are slow and take time to run and increasing the number of tests will increase the time to run them. So, please, be aware of that and try to find a balance between the number of tests and the time to run them but always keep in mind that **the quality of the components is the most important thing** and CI tome always might be improved, optimized etc.
|
|
269
|
+
|
|
270
|
+
#### Run e2e tests
|
|
271
|
+
|
|
272
|
+
- Use the command `npm run e2e` to start end-to-end tests inside the Docker container (the `docker` and `docker compose` should be installed on your machine).
|
|
273
|
+
- When tests are done check the Playwright output in the console if some of the tests failed use the following command to open the Playwright report: `npm run e2e:report`
|
|
274
|
+
|
|
275
|
+
#### Update failed visual regression tests
|
|
276
|
+
|
|
277
|
+
- If the failure appeared in the visual regression tests and those changes are correct, please update the existing reference images with the following command: `npm run e2e:update`. The Playwright will generate new correct reference images which should be committed to the repository
|
|
278
|
+
|
|
279
|
+
### The e2e tests configuration for CI and local development
|
|
280
|
+
|
|
281
|
+
All e2e tests run locally in Docker container based on the official image, see Playwright [documentation](https://playwright.dev/docs/docker) for more details. Tests run inside the Docker container to keep a predictable environment for each developers and CI.
|
|
282
|
+
CI setup its own job based on the same Docker image and almost repeat the same commands as it done in `docker-compose.yml` file.
|
|
283
|
+
|
|
284
|
+
#### IMPORTANT
|
|
285
|
+
|
|
286
|
+
Please, be aware that in case of any changes in the CI setup for the `e2e tests` job, see `.gitlab-ci.yml` they should be applied to the local setup in the `docker-compose.yml` and vice-versa.
|
|
287
|
+
|
|
288
|
+
## Releasing
|
|
289
|
+
|
|
290
|
+
The release of the new version is going to be done automatically when the changes reach one of the [release branches](#branching-types) and commit messages contain one of the [structural elements](#the-commit-contains-the-following-structural-elements).
|
|
291
|
+
|
|
292
|
+
To preview the possible release version and release notes based on already existing commits run the following command
|
|
293
|
+
|
|
294
|
+
```sh
|
|
295
|
+
npm run release:dry-run
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
The Gitlab pipeline runs all the checks and if the library is in good order:
|
|
299
|
+
|
|
300
|
+
* The [release notes](./RELEASE_NOTES.md) will be updated according commit messages history;
|
|
301
|
+
* The library version will be bumped;
|
|
302
|
+
* The new commit will be created with a version and changed release notes;
|
|
303
|
+
* The new git tag will be created in the repository;
|
|
304
|
+
* The new version of the library will be published to npm;
|
|
305
|
+
|
|
306
|
+
Only a few manual steps should be done after all:
|
|
307
|
+
|
|
308
|
+
* Announce in the slack channel [#react-banana-ui-component-library](https://bloomreach.slack.com/archives/C05E4672ZLZ) about new release :tada:;
|
|
309
|
+
* Mark the new version as `released` in the [releases section in Jira](https://bloomreach.atlassian.net/projects/BU?selectedItem=com.atlassian.jira.jira-projects-plugin%3Arelease-page) once the ticket is merged and closed;
|
|
310
|
+
* Take a break and then pick up the next challenge :muscle:!
|