playbook_ui 13.2.0 → 13.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +1 -0
- data/app/pb_kits/playbook/pb_body/_body.scss +5 -0
- data/app/pb_kits/playbook/pb_body/_body.tsx +4 -1
- data/app/pb_kits/playbook/pb_body/_body_mixins.scss +19 -0
- data/app/pb_kits/playbook/pb_body/body.rb +8 -1
- data/app/pb_kits/playbook/pb_button/button.html.erb +2 -2
- data/app/pb_kits/playbook/pb_button/button.rb +3 -0
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +5 -1
- data/app/pb_kits/playbook/pb_kit/dateTime.ts +54 -23
- data/app/pb_kits/playbook/pb_table/docs/_table_header.html.erb +54 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_header.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.jsx +3 -3
- data/app/pb_kits/playbook/pb_table/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_table/styles/_all.scss +1 -0
- data/app/pb_kits/playbook/pb_table/styles/_table_header.scss +31 -0
- data/app/pb_kits/playbook/pb_table/table_header.html.erb +64 -0
- data/app/pb_kits/playbook/pb_table/table_header.rb +53 -0
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +14 -7
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.html.erb +21 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx +36 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.md +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_timestamp/timestamp.html.erb +5 -1
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +3 -1
- data/app/pb_kits/playbook/pb_title/_title.scss +8 -4
- data/app/pb_kits/playbook/pb_title/_title.tsx +4 -1
- data/app/pb_kits/playbook/pb_title/_title_mixin.scss +19 -0
- data/app/pb_kits/playbook/pb_title/title.rb +9 -2
- data/app/pb_kits/playbook/tokens/_spacing.scss +1 -1
- data/app/pb_kits/playbook/tokens/_text_align.scss +18 -0
- data/app/pb_kits/playbook/utilities/_hover.scss +4 -0
- data/app/pb_kits/playbook/utilities/_max_width.scss +4 -0
- data/app/pb_kits/playbook/utilities/_spacing.scss +92 -49
- data/app/pb_kits/playbook/utilities/_text_align.scss +3 -0
- data/app/pb_kits/playbook/utilities/globalProps.ts +30 -2
- data/dist/playbook-rails.js +5 -5
- data/lib/playbook/classnames.rb +1 -0
- data/lib/playbook/hover.rb +6 -2
- data/lib/playbook/kit_base.rb +2 -0
- data/lib/playbook/spacing.rb +13 -4
- data/lib/playbook/text_align.rb +37 -0
- data/lib/playbook/version.rb +2 -2
- metadata +13 -2
| @@ -21,6 +21,8 @@ module Playbook | |
| 21 21 | 
             
                  prop :show_user, type: Playbook::Props::Boolean,
         | 
| 22 22 | 
             
                                   default: false
         | 
| 23 23 | 
             
                  prop :timezone, default: "America/New_York"
         | 
| 24 | 
            +
                  prop :unstyled, type: Playbook::Props::Boolean,
         | 
| 25 | 
            +
                                  default: false
         | 
| 24 26 | 
             
                  prop :variant, type: Playbook::Props::Enum,
         | 
| 25 27 | 
             
                                 values: %w[default elapsed updated],
         | 
| 26 28 | 
             
                                 default: "default"
         | 
| @@ -29,7 +31,7 @@ module Playbook | |
| 29 31 | 
             
                    generate_classname("pb_timestamp_kit", variant_class, align)
         | 
| 30 32 | 
             
                  end
         | 
| 31 33 |  | 
| 32 | 
            -
                  def  | 
| 34 | 
            +
                  def timestamp_text
         | 
| 33 35 | 
             
                    case variant
         | 
| 34 36 | 
             
                    when "updated"
         | 
| 35 37 | 
             
                      format_updated_string
         | 
| @@ -27,14 +27,14 @@ | |
| 27 27 | 
             
                @include title_colors;
         | 
| 28 28 | 
             
              }
         | 
| 29 29 |  | 
| 30 | 
            -
              &.dark {
         | 
| 31 | 
            -
                @include pb_title_dark;
         | 
| 32 | 
            -
              }
         | 
| 33 | 
            -
             | 
| 34 30 | 
             
              &[class*=_thin] {
         | 
| 35 31 | 
             
                @include pb_title_thin;
         | 
| 36 32 | 
             
              }
         | 
| 37 33 |  | 
| 34 | 
            +
              &[class*=_truncate] {
         | 
| 35 | 
            +
                @include title_truncate;
         | 
| 36 | 
            +
              }
         | 
| 37 | 
            +
             | 
| 38 38 | 
             
              @each $size, $size_value in $breakpoints_grid {
         | 
| 39 39 | 
             
                @each $title_size_value in [1, 2, 3, 4] {
         | 
| 40 40 | 
             
                    $min_size: map-get($size_value, "min");
         | 
| @@ -46,9 +46,13 @@ | |
| 46 46 | 
             
                        @else if $title_size_value == 3 { @include pb_title_3; }
         | 
| 47 47 | 
             
                        @else if $title_size_value == 4 { @include pb_title_4; }
         | 
| 48 48 | 
             
                        @include title_colors;
         | 
| 49 | 
            +
                        @include title_truncate;
         | 
| 49 50 | 
             
                        @if $title_size_value != 4 { @include pb_title_bold; }
         | 
| 50 51 | 
             
                      }
         | 
| 51 52 | 
             
                    }
         | 
| 52 53 | 
             
                }
         | 
| 53 54 | 
             
              }
         | 
| 55 | 
            +
              &.dark {
         | 
| 56 | 
            +
                @include pb_title_dark;
         | 
| 57 | 
            +
              }
         | 
| 54 58 | 
             
            }
         | 
| @@ -17,6 +17,7 @@ type TitleProps = { | |
| 17 17 | 
             
              size?: SizeType | SizeResponsiveType,
         | 
| 18 18 | 
             
              tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "span",
         | 
| 19 19 | 
             
              text?: string,
         | 
| 20 | 
            +
              truncate?: null | '1' | '2' | '3' | '4' | '5',
         | 
| 20 21 | 
             
              variant?: null | "link",
         | 
| 21 22 | 
             
            } & GlobalProps
         | 
| 22 23 |  | 
| @@ -33,12 +34,14 @@ const Title = (props: TitleProps): React.ReactElement => { | |
| 33 34 | 
             
                bold = true,
         | 
| 34 35 | 
             
                tag = 'h3',
         | 
| 35 36 | 
             
                text,
         | 
| 37 | 
            +
                truncate = null,
         | 
| 36 38 | 
             
                variant = null,
         | 
| 37 39 | 
             
              } = props
         | 
| 38 40 |  | 
| 39 41 | 
             
              const ariaProps: {[key: string]: string | number} = buildAriaProps(aria)
         | 
| 40 42 | 
             
              const dataProps: {[key: string]: string | number} = buildDataProps(data)
         | 
| 41 43 | 
             
              const getBold = bold ? '' : 'thin'
         | 
| 44 | 
            +
              const isTruncated = truncate ? `truncate_${truncate}` : null
         | 
| 42 45 | 
             
              const isSizeNumberOrString = typeof size === "number" || typeof size === "string"
         | 
| 43 46 |  | 
| 44 47 | 
             
              const buildResponsiveSizeCss = () => {
         | 
| @@ -54,7 +57,7 @@ const Title = (props: TitleProps): React.ReactElement => { | |
| 54 57 | 
             
              }
         | 
| 55 58 |  | 
| 56 59 | 
             
              const classes = classnames(
         | 
| 57 | 
            -
                buildCss('pb_title_kit', isSizeNumberOrString ? `size_${size}` : "", variant, color, getBold),
         | 
| 60 | 
            +
                buildCss('pb_title_kit', isSizeNumberOrString ? `size_${size}` : "", variant, color, getBold, isTruncated),
         | 
| 58 61 | 
             
                globalProps(props),
         | 
| 59 62 | 
             
                buildResponsiveSizeCss(),
         | 
| 60 63 | 
             
                className
         | 
| @@ -15,4 +15,23 @@ $pb_title_colors: ( | |
| 15 15 | 
             
                  color: $color
         | 
| 16 16 | 
             
                }
         | 
| 17 17 | 
             
              }
         | 
| 18 | 
            +
            }
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            $pb_title_truncate: (
         | 
| 21 | 
            +
              truncate_1: 1,
         | 
| 22 | 
            +
              truncate_2: 2,
         | 
| 23 | 
            +
              truncate_3: 3,
         | 
| 24 | 
            +
              truncate_4: 4,
         | 
| 25 | 
            +
              truncate_5: 5
         | 
| 26 | 
            +
            );
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            @mixin title_truncate {
         | 
| 29 | 
            +
              @each $name, $number in $pb_title_truncate {
         | 
| 30 | 
            +
                &[class*=_#{$name}] {
         | 
| 31 | 
            +
                  overflow: hidden;
         | 
| 32 | 
            +
                  display: -webkit-box;
         | 
| 33 | 
            +
                  -webkit-line-clamp: $number;
         | 
| 34 | 
            +
                  -webkit-box-orient: vertical; 
         | 
| 35 | 
            +
                }
         | 
| 36 | 
            +
              }
         | 
| 18 37 | 
             
            }
         | 
| @@ -16,12 +16,15 @@ module Playbook | |
| 16 16 | 
             
                                 default: nil,
         | 
| 17 17 | 
             
                                 deprecated: true
         | 
| 18 18 | 
             
                  prop :bold, type: Playbook::Props::Boolean, default: true
         | 
| 19 | 
            +
                  prop :truncate, type: Playbook::Props::Enum,
         | 
| 20 | 
            +
                                  values: [nil, "1", "2", "3", "4", "5"],
         | 
| 21 | 
            +
                                  default: nil
         | 
| 19 22 |  | 
| 20 23 | 
             
                  def classname
         | 
| 21 24 | 
             
                    if is_size_responsive
         | 
| 22 | 
            -
                      generate_classname("pb_title_kit", variant, color, is_bold) + generate_responsive_size_classname
         | 
| 25 | 
            +
                      generate_classname("pb_title_kit", variant, color, is_bold, is_truncated) + generate_responsive_size_classname
         | 
| 23 26 | 
             
                    else
         | 
| 24 | 
            -
                      generate_classname("pb_title_kit", size, variant, color, is_bold)
         | 
| 27 | 
            +
                      generate_classname("pb_title_kit", size, variant, color, is_bold, is_truncated)
         | 
| 25 28 | 
             
                    end
         | 
| 26 29 | 
             
                  end
         | 
| 27 30 |  | 
| @@ -29,6 +32,10 @@ module Playbook | |
| 29 32 | 
             
                    bold ? nil : "thin"
         | 
| 30 33 | 
             
                  end
         | 
| 31 34 |  | 
| 35 | 
            +
                  def is_truncated
         | 
| 36 | 
            +
                    truncate ? "truncate_#{truncate}" : nil
         | 
| 37 | 
            +
                  end
         | 
| 38 | 
            +
             | 
| 32 39 | 
             
                  def is_size_responsive
         | 
| 33 40 | 
             
                    try(:size).is_a?(::Hash)
         | 
| 34 41 | 
             
                  end
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            $text_align_start:          start !default;
         | 
| 2 | 
            +
            $text_align_end:            end !default;
         | 
| 3 | 
            +
            $text_align_left:           left !default;
         | 
| 4 | 
            +
            $text_align_right:          right !default;
         | 
| 5 | 
            +
            $text_align_center:         center !default;
         | 
| 6 | 
            +
            $text_align_justify:        justify !default;
         | 
| 7 | 
            +
            $text_align_justify_all:    justify-all !default;
         | 
| 8 | 
            +
            $text_align_match_parent:   match-parent !default;
         | 
| 9 | 
            +
            $text_align: (
         | 
| 10 | 
            +
              start:         $text_align_start,
         | 
| 11 | 
            +
              end:           $text_align_end,
         | 
| 12 | 
            +
              left:          $text_align_left,
         | 
| 13 | 
            +
              right:         $text_align_right,
         | 
| 14 | 
            +
              center:        $text_align_center,
         | 
| 15 | 
            +
              justify:       $text_align_justify,
         | 
| 16 | 
            +
              justify_all:   $text_align_justify_all,
         | 
| 17 | 
            +
              match_parent:  $text_align_match_parent
         | 
| 18 | 
            +
            );
         | 
| @@ -1,69 +1,112 @@ | |
| 1 1 | 
             
            @import "../tokens/spacing";
         | 
| 2 2 |  | 
| 3 3 | 
             
            $space_classes: (
         | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 4 | 
            +
              xxs: $space_xxs,
         | 
| 5 | 
            +
              xs: $space_xs,
         | 
| 6 | 
            +
              sm: $space_sm,
         | 
| 7 | 
            +
              md: $space_md,
         | 
| 8 | 
            +
              lg: $space_lg,
         | 
| 9 | 
            +
              xl: $space_xl,
         | 
| 10 | 
            +
              none: 0,
         | 
| 11 11 | 
             
              auto: auto,
         | 
| 12 12 | 
             
              initial: initial,
         | 
| 13 13 | 
             
              inherit: inherit
         | 
| 14 14 | 
             
            );
         | 
| 15 15 |  | 
| 16 16 | 
             
            $positions: (
         | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 17 | 
            +
              m: "margin",
         | 
| 18 | 
            +
              mr: "margin-right",
         | 
| 19 | 
            +
              ml: "margin-left",
         | 
| 20 | 
            +
              mt: "margin-top",
         | 
| 21 | 
            +
              mb: "margin-bottom",
         | 
| 22 | 
            +
              mx: ("margin-left", "margin-right"),
         | 
| 23 | 
            +
              my: ("margin-top", "margin-bottom"),
         | 
| 24 | 
            +
              p: "padding",
         | 
| 25 | 
            +
              pr: "padding-right",
         | 
| 26 | 
            +
              pl: "padding-left",
         | 
| 27 | 
            +
              pt: "padding-top",
         | 
| 28 | 
            +
              pb: "padding-bottom",
         | 
| 29 | 
            +
              px: ("padding-left", "padding-right"),
         | 
| 30 | 
            +
              py: ("padding-top", "padding-bottom")
         | 
| 31 31 | 
             
            );
         | 
| 32 32 |  | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 33 | 
            +
            $break_methods: (
         | 
| 34 | 
            +
              at: "break_at",
         | 
| 35 | 
            +
              on: "break_on",
         | 
| 36 | 
            +
            );
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            @each $position_name,
         | 
| 39 | 
            +
            $position in $positions {
         | 
| 40 | 
            +
             | 
| 41 | 
            +
              @each $space_name,
         | 
| 42 | 
            +
              $space in $space_classes {
         | 
| 43 | 
            +
                .#{$position_name}_#{$space_name} {
         | 
| 44 | 
            +
                  @if type-of($position)=="list" {
         | 
| 45 | 
            +
                    @each $coordinate in $position {
         | 
| 46 | 
            +
                      #{$coordinate}: #{$space} !important;
         | 
| 47 | 
            +
                    }
         | 
| 48 | 
            +
                  }
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                  @else {
         | 
| 51 | 
            +
                    #{$position}: #{$space} !important;
         | 
| 52 | 
            +
                  }
         | 
| 53 | 
            +
                }
         | 
| 54 | 
            +
              }
         | 
| 46 55 | 
             
            }
         | 
| 47 56 |  | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 57 | 
            +
            // Generate media queries
         | 
| 58 | 
            +
            @each $size,
         | 
| 59 | 
            +
            $size_value in $breakpoints_grid {
         | 
| 60 | 
            +
             | 
| 61 | 
            +
              @each $position_name,
         | 
| 62 | 
            +
              $position in $positions {
         | 
| 63 | 
            +
             | 
| 64 | 
            +
            		@each $break_method,
         | 
| 65 | 
            +
            		$method in $break_methods {
         | 
| 66 | 
            +
             | 
| 67 | 
            +
            			@each $space_name,
         | 
| 68 | 
            +
            			$space in $space_classes {
         | 
| 69 | 
            +
            				$min_size: map-get($size_value, "min");
         | 
| 70 | 
            +
            				$max_size: map-get($size_value, "max");
         | 
| 71 | 
            +
             | 
| 72 | 
            +
            				.break_#{$break_method}_#{$size}\:#{$position_name}_#{$space_name} {
         | 
| 73 | 
            +
                      @if type-of($position) == "list" {
         | 
| 74 | 
            +
                        @if $break_method == "on" {
         | 
| 75 | 
            +
                          @each $coordinate in $position {
         | 
| 76 | 
            +
                            @include break_on($min_size, $max_size) {
         | 
| 77 | 
            +
                              #{$coordinate}: #{$space} !important;
         | 
| 78 | 
            +
                            }
         | 
| 79 | 
            +
                          }
         | 
| 80 | 
            +
                        }
         | 
| 81 | 
            +
             | 
| 82 | 
            +
                        @else {
         | 
| 83 | 
            +
                          @each $coordinate in $position {
         | 
| 84 | 
            +
                            @if ($max_size != null) {
         | 
| 85 | 
            +
                              @include break_at($max_size) {
         | 
| 86 | 
            +
                                #{$coordinate}: #{$space} !important;
         | 
| 87 | 
            +
                              }
         | 
| 88 | 
            +
                            }
         | 
| 58 89 | 
             
                          }
         | 
| 59 90 | 
             
                        }
         | 
| 60 91 | 
             
                      }
         | 
| 92 | 
            +
             | 
| 61 93 | 
             
                      @else {
         | 
| 62 | 
            -
                        @ | 
| 63 | 
            -
                           | 
| 94 | 
            +
                        @if $break_method == "on" {
         | 
| 95 | 
            +
                          @include break_on($min_size, $max_size) {
         | 
| 96 | 
            +
                            #{$position}: #{$space} !important;
         | 
| 97 | 
            +
                          }
         | 
| 98 | 
            +
                        }
         | 
| 99 | 
            +
             | 
| 100 | 
            +
                        @else {
         | 
| 101 | 
            +
                          @if ($max_size != null) {
         | 
| 102 | 
            +
                            @include break_at($max_size) {
         | 
| 103 | 
            +
                              #{$position}: #{$space} !important;
         | 
| 104 | 
            +
                            }
         | 
| 105 | 
            +
                          }
         | 
| 64 106 | 
             
                        }
         | 
| 65 107 | 
             
                      }
         | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 108 | 
            +
            				}
         | 
| 109 | 
            +
            			}
         | 
| 110 | 
            +
            		}
         | 
| 111 | 
            +
            	}
         | 
| 69 112 | 
             
            }
         | 
| @@ -62,6 +62,7 @@ type FlexWrap = { | |
| 62 62 |  | 
| 63 63 | 
             
            type Hover = Shadow & {
         | 
| 64 64 | 
             
              background?: string,
         | 
| 65 | 
            +
              color?: string,
         | 
| 65 66 | 
             
              scale?: "sm" | "md" | "lg"
         | 
| 66 67 | 
             
            }
         | 
| 67 68 |  | 
| @@ -85,6 +86,8 @@ type Margin = { | |
| 85 86 | 
             
              marginX?: AllSizes,
         | 
| 86 87 | 
             
              marginY?: AllSizes,
         | 
| 87 88 | 
             
              margin?: AllSizes,
         | 
| 89 | 
            +
              break?: string,
         | 
| 90 | 
            +
              default?: string
         | 
| 88 91 | 
             
            }
         | 
| 89 92 |  | 
| 90 93 | 
             
            type MaxWidth = {
         | 
| @@ -107,6 +110,8 @@ type Padding = { | |
| 107 110 | 
             
              paddingX?: AllSizes,
         | 
| 108 111 | 
             
              paddingY?: AllSizes,
         | 
| 109 112 | 
             
              padding?: AllSizes,
         | 
| 113 | 
            +
              break?: string,
         | 
| 114 | 
            +
              default?: string
         | 
| 110 115 | 
             
            }
         | 
| 111 116 |  | 
| 112 117 | 
             
            type Position = {
         | 
| @@ -119,6 +124,10 @@ type Shadow = { | |
| 119 124 |  | 
| 120 125 | 
             
            type Space = "spaceBetween" | "spaceAround" | "spaceEvenly"
         | 
| 121 126 |  | 
| 127 | 
            +
            type TextAlign = {
         | 
| 128 | 
            +
              textAlign?: "start" | "end" | "left" | "right" | "center" | "justify" | "justifyAll" | "matchParent",
         | 
| 129 | 
            +
            }
         | 
| 130 | 
            +
             | 
| 122 131 | 
             
            type ZIndexType = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
         | 
| 123 132 | 
             
            type ZIndexResponsiveType = {[key: string]: ZIndexType}
         | 
| 124 133 | 
             
            type ZIndex = {
         | 
| @@ -130,7 +139,7 @@ export type GlobalProps = AlignContent & AlignItems & AlignSelf & | |
| 130 139 | 
             
              BorderRadius & Cursor & Dark & Display & DisplaySizes & Flex & FlexDirection &
         | 
| 131 140 | 
             
              FlexGrow & FlexShrink & FlexWrap & JustifyContent & JustifySelf &
         | 
| 132 141 | 
             
              LineHeight & Margin & MaxWidth & NumberSpacing & Order & Padding &
         | 
| 133 | 
            -
              Position & Shadow & ZIndex & { hover?: string };
         | 
| 142 | 
            +
              Position & Shadow & TextAlign & ZIndex & { hover?: string };
         | 
| 134 143 |  | 
| 135 144 | 
             
            const getResponsivePropClasses = (prop: {[key: string]: string}, classPrefix: string) => {
         | 
| 136 145 | 
             
              const keys: string[] = Object.keys(prop)
         | 
| @@ -149,6 +158,7 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} = | |
| 149 158 | 
             
                  css += hover.shadow ? `hover_shadow_${hover.shadow} ` : '';
         | 
| 150 159 | 
             
                  css += hover.background ? `hover_background_${hover.background } ` : '';
         | 
| 151 160 | 
             
                  css += hover.scale ? `hover_scale_${hover.scale} ` : '';
         | 
| 161 | 
            +
                  css += hover.color ? `hover_color_${hover.color } ` : '';
         | 
| 152 162 | 
             
                  return css;
         | 
| 153 163 | 
             
              },
         | 
| 154 164 |  | 
| @@ -186,13 +196,24 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} = | |
| 186 196 | 
             
                  padding,
         | 
| 187 197 | 
             
                };
         | 
| 188 198 |  | 
| 199 | 
            +
                const screenSizeValues = ["xs", "sm", "md", "lg", "xl"]
         | 
| 200 | 
            +
             | 
| 189 201 | 
             
                function handleObjectValue(properties: Margin | Padding, prefix: string) {
         | 
| 190 202 | 
             
                  let classResult = '';
         | 
| 191 203 |  | 
| 204 | 
            +
                  const breakValue = properties.break || "on";
         | 
| 205 | 
            +
                  const defaultValue = properties.default || null;
         | 
| 206 | 
            +
             | 
| 192 207 | 
             
                  Object.entries(properties).forEach(([key, value]) => {
         | 
| 193 | 
            -
                     | 
| 208 | 
            +
                    if (screenSizeValues.includes(key)) {
         | 
| 209 | 
            +
                      classResult += `break_${breakValue}_${key}:${prefix}_${value} `;
         | 
| 210 | 
            +
                    }
         | 
| 194 211 | 
             
                  });
         | 
| 195 212 |  | 
| 213 | 
            +
                  if (defaultValue) {
         | 
| 214 | 
            +
                    classResult += `${prefix}_${defaultValue} `;
         | 
| 215 | 
            +
                  }
         | 
| 216 | 
            +
             | 
| 196 217 | 
             
                  return classResult;
         | 
| 197 218 | 
             
                }
         | 
| 198 219 |  | 
| @@ -377,6 +398,13 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} = | |
| 377 398 | 
             
                css += position && position !== 'static' ? `position_${position}` : ''
         | 
| 378 399 | 
             
                return css
         | 
| 379 400 | 
             
              },
         | 
| 401 | 
            +
              textAlignProps: ({ textAlign }: TextAlign) => {
         | 
| 402 | 
            +
                if (typeof textAlign === 'object') {
         | 
| 403 | 
            +
                  return getResponsivePropClasses(textAlign, 'text_align')
         | 
| 404 | 
            +
                } else {
         | 
| 405 | 
            +
                  return textAlign ? `text_align_${textAlign} ` : ''
         | 
| 406 | 
            +
                }
         | 
| 407 | 
            +
              }
         | 
| 380 408 | 
             
            }
         | 
| 381 409 |  | 
| 382 410 | 
             
            type DefaultProps = {[key: string]: string} | Record<string, unknown>
         |