diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 13:00:54 +0300 |
commit | 3cccd102ba543e02725d247893729e5c73b38295 (patch) | |
tree | f36a04ec38517f5deaaacb5acc7d949688d1e187 /app/components/pajamas/alert_component.rb | |
parent | 205943281328046ef7b4528031b90fbda70c75ac (diff) |
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'app/components/pajamas/alert_component.rb')
-rw-r--r-- | app/components/pajamas/alert_component.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/app/components/pajamas/alert_component.rb b/app/components/pajamas/alert_component.rb new file mode 100644 index 00000000000..4bb6c41661b --- /dev/null +++ b/app/components/pajamas/alert_component.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +# Renders a GlAlert root element +module Pajamas + class AlertComponent < Pajamas::Component + # @param [String] title + # @param [Symbol] variant + # @param [Boolean] dismissible + # @param [String] alert_class + # @param [Hash] alert_data + # @param [String] close_button_class + # @param [Hash] close_button_data + def initialize( + title: nil, variant: :info, dismissible: true, + alert_class: nil, alert_data: {}, close_button_class: nil, close_button_data: {}) + @title = title + @variant = variant + @dismissible = dismissible + @alert_class = alert_class + @alert_data = alert_data + @close_button_class = close_button_class + @close_button_data = close_button_data + end + + private + + delegate :sprite_icon, to: :helpers + + ICONS = { + info: 'information-o', + warning: 'warning', + success: 'check-circle', + danger: 'error', + tip: 'bulb' + }.freeze + + def icon + ICONS[@variant] + end + + def icon_classes + "gl-alert-icon#{' gl-alert-icon-no-title' if @title.nil?}" + end + end +end |