playbook_ui 14.25.0.pre.alpha.testingcss9751 → 14.25.0.pre.alpha.testingcss9796
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/pb_card/_card.scss +99 -73
- data/app/pb_kits/playbook/pb_card/_card.tsx +26 -11
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +3 -3
- data/app/pb_kits/playbook/pb_card/card.rb +8 -7
- data/app/pb_kits/playbook/pb_card/card_header.rb +6 -2
- data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +19 -19
- data/app/pb_kits/playbook/pb_currency/_currency.scss +2 -2
- data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +2 -2
- data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
- data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
- data/app/pb_kits/playbook/pb_flex/flex.rb +12 -52
- data/app/pb_kits/playbook/pb_flex/flex_item.rb +1 -46
- data/app/pb_kits/playbook/pb_image/_image.scss +2 -2
- data/app/pb_kits/playbook/pb_layout/_layout.scss +14 -8
- data/app/pb_kits/playbook/pb_layout/body.rb +1 -1
- data/app/pb_kits/playbook/pb_layout/footer.rb +1 -1
- data/app/pb_kits/playbook/pb_layout/header.rb +1 -1
- data/app/pb_kits/playbook/pb_layout/item.rb +1 -1
- data/app/pb_kits/playbook/pb_layout/layout.rb +6 -6
- data/app/pb_kits/playbook/pb_layout/sidebar.rb +1 -1
- data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +1 -1
- data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +2 -2
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +24 -24
- data/app/pb_kits/playbook/pb_source/_source.scss +2 -2
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +44 -23
- data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +16 -10
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -4
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
- data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
- data/app/pb_kits/playbook/pb_title/_title.scss +2 -0
- data/app/pb_kits/playbook/pb_toggle/_toggle.scss +4 -1
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -4
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
- data/app/pb_kits/playbook/pb_user/_user.scss +83 -33
- data/dist/chunks/{_line_graph-Dv_ODxW3.js → _line_graph-CApw7aQD.js} +1 -1
- data/dist/chunks/_typeahead-J1_avqdO.js +6 -0
- data/dist/chunks/{_weekday_stacked-Bv6tOPKC.js → _weekday_stacked-C3QAjEFv.js} +2 -2
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +5 -5
- data/dist/chunks/_typeahead-CD5RAaaP.js +0 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2bedb56f538523718e8f5b7f585a2670de123f7beb3f2fc42224751cc4ce5638
         | 
| 4 | 
            +
              data.tar.gz: 8228f719bffa4de746fc494c2a38c5e2dbdbe676c7696f3b7566013997c2dd93
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ad617882ed8a3ce22a8a824a3ec1b86f8c526bbd57a903d9e116e894bce32833ffc57813fc54f23ddaf3e0a9a6e2be264f9d288d1eacd34aec365126419970b1
         | 
| 7 | 
            +
              data.tar.gz: a69a24578b65fa9ca6a9c5255e6d9340073acfc7215b2d82fd3ed55c965cd45d7c27fcf4628d4f8bb0ad043d5c9c2752be3debe7378e843dadc5ae05d874fd8e
         | 
| @@ -1,55 +1,40 @@ | |
| 1 1 | 
             
            @import "card_mixin";
         | 
| 2 2 | 
             
            @import "../utilities/colors";
         | 
| 3 | 
            +
            @import "../tokens/border_radius";
         | 
| 3 4 |  | 
| 4 | 
            -
             | 
| 5 | 
            -
            [class^="pb_card_kit"] {
         | 
| 5 | 
            +
            .pb_card_kit {
         | 
| 6 6 | 
             
              @include pb_card;
         | 
| 7 7 | 
             
              padding: $space_md;
         | 
| 8 8 |  | 
| 9 | 
            -
               | 
| 10 | 
            -
             | 
| 11 | 
            -
                 | 
| 12 | 
            -
              }
         | 
| 13 | 
            -
             | 
| 14 | 
            -
              // Dark theme
         | 
| 15 | 
            -
              &.dark {
         | 
| 16 | 
            -
                @include pb_card_dark;
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                &[class*="_selected"] {
         | 
| 19 | 
            -
                  @include pb_card_selected_dark;
         | 
| 20 | 
            -
                }
         | 
| 21 | 
            -
              }
         | 
| 22 | 
            -
             | 
| 23 | 
            -
              // Border none variants
         | 
| 24 | 
            -
              &[class*="_border_none"] {
         | 
| 25 | 
            -
                border-width: 0px;
         | 
| 9 | 
            +
              .card_draggable_handle {
         | 
| 10 | 
            +
                align-self: center;
         | 
| 11 | 
            +
                color: $text_lt_light;
         | 
| 26 12 | 
             
              }
         | 
| 13 | 
            +
            }
         | 
| 27 14 |  | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 15 | 
            +
            // Selected state
         | 
| 16 | 
            +
            .pb_card_kit_selected {
         | 
| 17 | 
            +
              @include pb_card_selected;
         | 
| 18 | 
            +
            }
         | 
| 32 19 |  | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
                 | 
| 20 | 
            +
            // Dark mode
         | 
| 21 | 
            +
            .pb_card_kit.dark {
         | 
| 22 | 
            +
              @include pb_card_dark;
         | 
| 23 | 
            +
              
         | 
| 24 | 
            +
              &.pb_card_kit_selected {
         | 
| 25 | 
            +
                @include pb_card_selected_dark;
         | 
| 39 26 | 
             
              }
         | 
| 27 | 
            +
            }
         | 
| 40 28 |  | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
                  }
         | 
| 46 | 
            -
                }
         | 
| 47 | 
            -
              }
         | 
| 29 | 
            +
            // Border styles
         | 
| 30 | 
            +
            .pb_card_kit_border_none {
         | 
| 31 | 
            +
              border-width: 0px;
         | 
| 32 | 
            +
            }
         | 
| 48 33 |  | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
               | 
| 34 | 
            +
            // Highlight styles
         | 
| 35 | 
            +
            .pb_card_kit_highlight_top,
         | 
| 36 | 
            +
            .pb_card_kit_highlight_side {
         | 
| 37 | 
            +
              overflow: hidden;
         | 
| 53 38 | 
             
            }
         | 
| 54 39 |  | 
| 55 40 | 
             
            @function ends-with($string, $suffix) {
         | 
| @@ -60,8 +45,22 @@ | |
| 60 45 | 
             
              @return str-slice($string, -$suffix-length) == $suffix;
         | 
| 61 46 | 
             
            }
         | 
| 62 47 |  | 
| 63 | 
            -
            //  | 
| 64 | 
            -
             | 
| 48 | 
            +
            // Highlight top variants
         | 
| 49 | 
            +
            @each $color_name, $color_value in $pb_card_highlight_colors {
         | 
| 50 | 
            +
              .pb_card_kit_highlight_top.pb_card_kit_highlight_#{$color_name}::before {
         | 
| 51 | 
            +
                @include pb_card_highlight(100%, $pb_card_highlight_size, $color_value);
         | 
| 52 | 
            +
              }
         | 
| 53 | 
            +
            }
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            // Highlight side variants  
         | 
| 56 | 
            +
            @each $color_name, $color_value in $pb_card_highlight_colors {
         | 
| 57 | 
            +
              .pb_card_kit_highlight_side.pb_card_kit_highlight_#{$color_name}::before {
         | 
| 58 | 
            +
                @include pb_card_highlight($pb_card_highlight_size, 100%, $color_value);
         | 
| 59 | 
            +
              }
         | 
| 60 | 
            +
            }
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            // Card Header
         | 
| 63 | 
            +
            .pb_card_header_kit {
         | 
| 65 64 | 
             
              flex-grow: 0;
         | 
| 66 65 | 
             
              flex-shrink: 0;
         | 
| 67 66 | 
             
              flex-basis: auto;
         | 
| @@ -70,45 +69,72 @@ | |
| 70 69 | 
             
              border: 0;
         | 
| 71 70 | 
             
              border-radius: $pb_card_header_border_radius $pb_card_header_border_radius 0px 0px;
         | 
| 72 71 |  | 
| 73 | 
            -
               | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
                    @include pb_card_header_color($color_value);
         | 
| 77 | 
            -
                    color: lightenText($color_value);
         | 
| 78 | 
            -
                  }
         | 
| 79 | 
            -
                }
         | 
| 72 | 
            +
              // Inherit border radius from parent card
         | 
| 73 | 
            +
              .pb_card_kit_border_radius_xs & {
         | 
| 74 | 
            +
                border-radius: $border_radius_xs $border_radius_xs 0px 0px;
         | 
| 80 75 | 
             
              }
         | 
| 81 | 
            -
              
         | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 76 | 
            +
              .pb_card_kit_border_radius_sm & {
         | 
| 77 | 
            +
                border-radius: $border_radius_sm $border_radius_sm 0px 0px;
         | 
| 78 | 
            +
              }
         | 
| 79 | 
            +
              .pb_card_kit_border_radius_md & {
         | 
| 80 | 
            +
                border-radius: $border_radius_md $border_radius_md 0px 0px;
         | 
| 81 | 
            +
              }
         | 
| 82 | 
            +
              .pb_card_kit_border_radius_lg & {
         | 
| 83 | 
            +
                border-radius: $border_radius_lg $border_radius_lg 0px 0px;
         | 
| 84 | 
            +
              }
         | 
| 85 | 
            +
              .pb_card_kit_border_radius_xl & {
         | 
| 86 | 
            +
                border-radius: $border_radius_xl $border_radius_xl 0px 0px;
         | 
| 87 | 
            +
              }
         | 
| 88 | 
            +
              .pb_card_kit_border_radius_rounded & {
         | 
| 89 | 
            +
                border-radius: $border_radius_rounded $border_radius_rounded 0px 0px;
         | 
| 90 | 
            +
              }
         | 
| 91 | 
            +
              .pb_card_kit_border_radius_none & {
         | 
| 92 | 
            +
                border-radius: 0px;
         | 
| 93 | 
            +
              }
         | 
| 94 | 
            +
            }
         | 
| 95 | 
            +
             | 
| 96 | 
            +
            // Header colors (non-subtle)
         | 
| 97 | 
            +
            @each $color_name, $color_value in $pb_card_header_colors {
         | 
| 98 | 
            +
              @if not ends-with($color_name, '_subtle') {
         | 
| 99 | 
            +
                .pb_card_header_kit_#{$color_name} {
         | 
| 100 | 
            +
                  @include pb_card_header_color($color_value);
         | 
| 101 | 
            +
                  color: lightenText($color_value);
         | 
| 88 102 | 
             
                }
         | 
| 89 103 | 
             
              }
         | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 98 | 
            -
                      lighten( $color_value, 5% ) 10px,
         | 
| 99 | 
            -
                      lighten( $color_value, 5% ) 20px
         | 
| 100 | 
            -
                    );
         | 
| 101 | 
            -
                  }
         | 
| 104 | 
            +
            }
         | 
| 105 | 
            +
             | 
| 106 | 
            +
            // Header colors (subtle)
         | 
| 107 | 
            +
            @each $color_name, $color_value in $pb_card_header_colors {
         | 
| 108 | 
            +
              @if ends-with($color_name, '_subtle') {
         | 
| 109 | 
            +
                .pb_card_header_kit_#{$color_name} {
         | 
| 110 | 
            +
                  @include pb_card_header_color($color_value);
         | 
| 111 | 
            +
                  color: lightenText($color_value);
         | 
| 102 112 | 
             
                }
         | 
| 103 113 | 
             
              }
         | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 114 | 
            +
            }
         | 
| 115 | 
            +
             | 
| 116 | 
            +
            // Header striped patterns
         | 
| 117 | 
            +
            @each $color_name, $color_value in $pb_card_header_colors {
         | 
| 118 | 
            +
              .pb_card_header_kit_#{$color_name}_striped {
         | 
| 119 | 
            +
                @if ((type-of($color_value) == color)) {
         | 
| 120 | 
            +
                  background: repeating-linear-gradient(
         | 
| 121 | 
            +
                    45deg,
         | 
| 122 | 
            +
                    $color_value,
         | 
| 123 | 
            +
                    $color_value 10px,
         | 
| 124 | 
            +
                    lighten( $color_value, 5% ) 10px,
         | 
| 125 | 
            +
                    lighten( $color_value, 5% ) 20px
         | 
| 126 | 
            +
                  );
         | 
| 127 | 
            +
                }
         | 
| 107 128 | 
             
              }
         | 
| 108 129 | 
             
            }
         | 
| 109 130 |  | 
| 110 | 
            -
            //  | 
| 111 | 
            -
             | 
| 131 | 
            +
            // White header special case
         | 
| 132 | 
            +
            .pb_card_header_kit_white {
         | 
| 133 | 
            +
              border-bottom: 1px solid $border_light;
         | 
| 134 | 
            +
            }
         | 
| 135 | 
            +
             | 
| 136 | 
            +
            // Card Body
         | 
| 137 | 
            +
            .pb_card_body_kit {
         | 
| 112 138 | 
             
              flex-grow: 0;
         | 
| 113 139 | 
             
              flex-shrink: 0;
         | 
| 114 140 | 
             
              flex-basis: auto;
         | 
| @@ -5,7 +5,7 @@ import { get } from '../utilities/object' | |
| 5 5 |  | 
| 6 6 | 
             
            import classnames from 'classnames'
         | 
| 7 7 |  | 
| 8 | 
            -
            import { buildAriaProps,  | 
| 8 | 
            +
            import { buildAriaProps, buildDataProps, buildHtmlProps } from '../utilities/props'
         | 
| 9 9 | 
             
            import { GlobalProps, globalProps, globalInlineProps } from '../utilities/globalProps'
         | 
| 10 10 | 
             
            import type { ProductColors, CategoryColors, BackgroundColors, StatusColors } from '../types/colors'
         | 
| 11 11 |  | 
| @@ -54,7 +54,14 @@ type CardBodyProps = { | |
| 54 54 | 
             
            // Header component
         | 
| 55 55 | 
             
            const Header = (props: CardHeaderProps) => {
         | 
| 56 56 | 
             
              const { children, className, headerColor = 'category_1', headerColorStriped = false } = props
         | 
| 57 | 
            -
              const  | 
| 57 | 
            +
              const headerColorCSS = `pb_card_header_kit_${headerColor}`
         | 
| 58 | 
            +
              const headerStripedCSS = headerColorStriped ? `pb_card_header_kit_${headerColor}_striped` : ''
         | 
| 59 | 
            +
              
         | 
| 60 | 
            +
              const headerCSS = classnames(
         | 
| 61 | 
            +
                'pb_card_header_kit',
         | 
| 62 | 
            +
                headerColorCSS,
         | 
| 63 | 
            +
                headerStripedCSS
         | 
| 64 | 
            +
              )
         | 
| 58 65 |  | 
| 59 66 | 
             
              const headerSpacing = globalProps(props)
         | 
| 60 67 |  | 
| @@ -69,11 +76,10 @@ const Header = (props: CardHeaderProps) => { | |
| 69 76 | 
             
            // Body component
         | 
| 70 77 | 
             
            const Body = (props: CardBodyProps) => {
         | 
| 71 78 | 
             
              const { children, className } = props
         | 
| 72 | 
            -
              const bodyCSS = buildCss('pb_card_body_kit')
         | 
| 73 79 | 
             
              const bodySpacing = globalProps(props)
         | 
| 74 80 |  | 
| 75 81 | 
             
              return (
         | 
| 76 | 
            -
                <div className={classnames( | 
| 82 | 
            +
                <div className={classnames('pb_card_body_kit', bodySpacing, className)}>
         | 
| 77 83 | 
             
                  {children}
         | 
| 78 84 | 
             
                </div>
         | 
| 79 85 | 
             
              )
         | 
| @@ -96,13 +102,22 @@ const Card = (props: CardPropTypes): React.ReactElement => { | |
| 96 102 | 
             
                selected = false,
         | 
| 97 103 | 
             
                tag = 'div',
         | 
| 98 104 | 
             
              } = props
         | 
| 99 | 
            -
              const borderCSS = borderNone == true ? ' | 
| 100 | 
            -
              const selectedCSS = selected == true ? ' | 
| 101 | 
            -
              const backgroundCSS = background == 'none' ? '' : ` | 
| 102 | 
            -
              const  | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
               | 
| 105 | 
            +
              const borderCSS = borderNone == true ? 'pb_card_kit_border_none' : ''
         | 
| 106 | 
            +
              const selectedCSS = selected == true ? 'pb_card_kit_selected' : ''
         | 
| 107 | 
            +
              const backgroundCSS = background == 'none' ? '' : `pb_card_kit_background_${background}`
         | 
| 108 | 
            +
              const borderRadiusCSS = borderRadius !== 'md' ? `pb_card_kit_border_radius_${borderRadius}` : ''
         | 
| 109 | 
            +
              const highlightPositionCSS = highlight.position ? `pb_card_kit_highlight_${highlight.position}` : ''
         | 
| 110 | 
            +
              const highlightColorCSS = highlight.color ? `pb_card_kit_highlight_${highlight.color}` : ''
         | 
| 111 | 
            +
              
         | 
| 112 | 
            +
              const cardCss = classnames(
         | 
| 113 | 
            +
                'pb_card_kit', // Base class
         | 
| 114 | 
            +
                selectedCSS,
         | 
| 115 | 
            +
                borderCSS,
         | 
| 116 | 
            +
                borderRadiusCSS,
         | 
| 117 | 
            +
                backgroundCSS,
         | 
| 118 | 
            +
                highlightPositionCSS,
         | 
| 119 | 
            +
                highlightColorCSS
         | 
| 120 | 
            +
              )
         | 
| 106 121 | 
             
              const ariaProps: {[key: string]: string} = buildAriaProps(aria)
         | 
| 107 122 | 
             
              const dataProps: {[key: string]: string} = buildDataProps(data)
         | 
| 108 123 | 
             
              const htmlProps = buildHtmlProps(htmlOptions);
         | 
| @@ -52,19 +52,19 @@ $pb_card_header_colors: map-merge(map-merge(map-merge($product_colors, $addition | |
| 52 52 | 
             
              background-color: $white;
         | 
| 53 53 |  | 
| 54 54 | 
             
              @each $name, $color in $background_colors {
         | 
| 55 | 
            -
                &[class*= | 
| 55 | 
            +
                &[class*=background_#{$name}] {
         | 
| 56 56 | 
             
                  background-color: $color;
         | 
| 57 57 | 
             
                }
         | 
| 58 58 | 
             
              };
         | 
| 59 59 |  | 
| 60 60 | 
             
              @each $name, $shadow in $box_shadows {
         | 
| 61 | 
            -
                &[class | 
| 61 | 
            +
                &[class^=_#{$name}] {
         | 
| 62 62 | 
             
                  box-shadow: $shadow;
         | 
| 63 63 | 
             
                }
         | 
| 64 64 | 
             
              }
         | 
| 65 65 |  | 
| 66 66 | 
             
              @each $name, $radius in $border_radius {
         | 
| 67 | 
            -
                &[class*= | 
| 67 | 
            +
                &[class*=_#{$name}] {
         | 
| 68 68 | 
             
                  border-radius: $radius;
         | 
| 69 69 | 
             
                }
         | 
| 70 70 | 
             
              }
         | 
| @@ -29,13 +29,14 @@ module Playbook | |
| 29 29 | 
             
                                              default: nil
         | 
| 30 30 |  | 
| 31 31 | 
             
                  def classname
         | 
| 32 | 
            -
                     | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 32 | 
            +
                    classes = ["pb_card_kit"]
         | 
| 33 | 
            +
                    classes << "pb_card_kit_selected" if selected
         | 
| 34 | 
            +
                    classes << "pb_card_kit_border_none" if border_none
         | 
| 35 | 
            +
                    classes << "pb_card_kit_border_radius_#{border_radius}" if border_radius != "md"
         | 
| 36 | 
            +
                    classes << "pb_card_kit_background_#{background}" if background != "none"
         | 
| 37 | 
            +
                    classes << "pb_card_kit_highlight_#{highlight[:position]}" if highlight[:position].present?
         | 
| 38 | 
            +
                    classes << "pb_card_kit_highlight_#{highlight[:color]}" if highlight[:color].present?
         | 
| 39 | 
            +
                    generate_classname(classes.compact.join(" "))
         | 
| 39 40 | 
             
                  end
         | 
| 40 41 |  | 
| 41 42 | 
             
                private
         | 
| @@ -9,13 +9,17 @@ module Playbook | |
| 9 9 | 
             
                                              default: false
         | 
| 10 10 |  | 
| 11 11 | 
             
                  def classname
         | 
| 12 | 
            -
                    generate_classname("pb_card_header_kit",  | 
| 12 | 
            +
                    generate_classname("pb_card_header_kit", header_color_classname, color_striped_classname, separator: " ")
         | 
| 13 13 | 
             
                  end
         | 
| 14 14 |  | 
| 15 15 | 
             
                private
         | 
| 16 16 |  | 
| 17 17 | 
             
                  def color_striped_classname
         | 
| 18 | 
            -
                    header_color_striped ? " | 
| 18 | 
            +
                    header_color_striped ? "pb_card_header_kit_#{header_color}_striped" : nil
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  def header_color_classname
         | 
| 22 | 
            +
                    header_color ? "pb_card_header_kit_#{header_color}" : nil
         | 
| 19 23 | 
             
                  end
         | 
| 20 24 | 
             
                end
         | 
| 21 25 | 
             
              end
         | 
| @@ -50,7 +50,7 @@ | |
| 50 50 | 
             
            <% end %>
         | 
| 51 51 |  | 
| 52 52 | 
             
            <%= pb_rails("card", props: { padding: "none", header: true, margin_bottom: "sm"}) do %>
         | 
| 53 | 
            -
              <%= pb_rails("card/card_header", props: { padding: "sm", header_color: " | 
| 53 | 
            +
              <%= pb_rails("card/card_header", props: { padding: "sm", header_color: "dark" }) do %>
         | 
| 54 54 | 
             
                <%= pb_rails("body", props: { text: "Dark", dark: true }) %>
         | 
| 55 55 | 
             
              <% end %>
         | 
| 56 56 | 
             
              <%= pb_rails("card/card_body", props: { padding: "md" }) do %>
         | 
| @@ -38,27 +38,27 @@ it('copies the value to clipboard and pastes it into an input', async () => { | |
| 38 38 | 
             
            })
         | 
| 39 39 |  | 
| 40 40 | 
             
            test('passes text and tooltip props to button', () => {
         | 
| 41 | 
            -
               | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
               | 
| 41 | 
            +
              render(
         | 
| 42 | 
            +
                  <CopyButton
         | 
| 43 | 
            +
                      data={{ testid: 'text-test' }}
         | 
| 44 | 
            +
                      text={"text"}
         | 
| 45 | 
            +
                      tooltipPlacement="right"
         | 
| 46 | 
            +
                      tooltipText="Text copied!"
         | 
| 47 | 
            +
                      value="copy"
         | 
| 48 | 
            +
                  />
         | 
| 49 | 
            +
              )
         | 
| 50 50 |  | 
| 51 | 
            -
               | 
| 52 | 
            -
               | 
| 51 | 
            +
              const content = screen.getByText("text")
         | 
| 52 | 
            +
              expect(content).toHaveTextContent("text")
         | 
| 53 53 |  | 
| 54 | 
            -
               | 
| 55 | 
            -
               | 
| 56 | 
            -
               | 
| 54 | 
            +
              const kit = screen.getByTestId('text-test')
         | 
| 55 | 
            +
              const button = kit.querySelector('.pb_button_kit.pb_button_primary.pb_button_inline.pb_button_enabled')
         | 
| 56 | 
            +
              expect(button).toBeInTheDocument()
         | 
| 57 57 |  | 
| 58 | 
            -
               | 
| 59 | 
            -
               | 
| 60 | 
            -
               | 
| 58 | 
            +
              fireEvent.click(button)
         | 
| 59 | 
            +
              const tooltipContent = screen.getByText("Text copied!")
         | 
| 60 | 
            +
              expect(tooltipContent).toHaveTextContent("Text copied!")
         | 
| 61 61 |  | 
| 62 | 
            -
               | 
| 63 | 
            -
               | 
| 62 | 
            +
              const tooltip = kit.querySelector('.pb_tooltip_kit')
         | 
| 63 | 
            +
              expect(tooltip).toBeInTheDocument()
         | 
| 64 64 | 
             
            })
         | 
| @@ -14,7 +14,7 @@ | |
| 14 14 | 
             
              &.pb_currency_kit_center_md,
         | 
| 15 15 | 
             
              &.pb_currency_kit_center_lg {
         | 
| 16 16 | 
             
                text-align: center;
         | 
| 17 | 
            -
                & > .pb_caption_kit,
         | 
| 17 | 
            +
                & > .pb_caption_kit,font-weight
         | 
| 18 18 | 
             
                & > .pb_title_kit,
         | 
| 19 19 | 
             
                & > .pb_body_kit {
         | 
| 20 20 | 
             
                  text-align: center;
         | 
| @@ -82,7 +82,7 @@ | |
| 82 82 |  | 
| 83 83 | 
             
                &.pb_currency_wrapper_bold {
         | 
| 84 84 | 
             
                  .pb_body_kit,
         | 
| 85 | 
            -
                  . | 
| 85 | 
            +
                  .pb_body_kit_light {
         | 
| 86 86 | 
             
                    color: $text_lt_default;
         | 
| 87 87 | 
             
                    font-weight: $bolder;
         | 
| 88 88 | 
             
                  }
         | 
| @@ -12,7 +12,7 @@ | |
| 12 12 | 
             
            .pb_date_stacked_kit_center_sm_dark_reverse,
         | 
| 13 13 | 
             
            .pb_date_stacked_kit_center_md_dark_reverse {
         | 
| 14 14 | 
             
              & > * .pb_title_kit,
         | 
| 15 | 
            -
              & > * . | 
| 15 | 
            +
              & > * .pb_caption_kit_md,
         | 
| 16 16 | 
             
              & > .pb_date_stacked_year_kit {
         | 
| 17 17 | 
             
                text-align: center;
         | 
| 18 18 | 
             
              }
         | 
| @@ -28,7 +28,7 @@ | |
| 28 28 | 
             
            .pb_date_stacked_kit_right_sm_dark_reverse,
         | 
| 29 29 | 
             
            .pb_date_stacked_kit_right_md_dark_reverse {
         | 
| 30 30 | 
             
              & > * .pb_title_kit,
         | 
| 31 | 
            -
              & > * . | 
| 31 | 
            +
              & > * .pb_caption_kit_md,
         | 
| 32 32 | 
             
              & > .pb_date_stacked_year {
         | 
| 33 33 | 
             
                text-align: right;
         | 
| 34 34 | 
             
              }
         | 
| @@ -235,7 +235,7 @@ test("generated dragHandle with Card", () => { | |
| 235 235 | 
             
              render(<DraggableKitWithCard />);
         | 
| 236 236 | 
             
              const kit = screen.getByTestId(testId);
         | 
| 237 237 |  | 
| 238 | 
            -
              const card = kit.querySelector(". | 
| 238 | 
            +
              const card = kit.querySelector(".pb_card_kit");
         | 
| 239 239 | 
             
              expect(card).toBeInTheDocument();
         | 
| 240 240 | 
             
              const dragHandle = card.querySelector(".pb_custom_icon");
         | 
| 241 241 | 
             
              expect(dragHandle).toBeInTheDocument();
         | 
| @@ -507,14 +507,14 @@ export default class PbDropdown extends PbEnhancedElement { | |
| 507 507 | 
             
                  // Create a form pill for each selected option
         | 
| 508 508 | 
             
                  const pill = document.createElement("div");
         | 
| 509 509 | 
             
                  const color = this.formPillProps.color || "primary";
         | 
| 510 | 
            -
                  pill.classList.add(` | 
| 510 | 
            +
                  pill.classList.add("pb_form_pill_kit", `pb_form_pill_${color}`, "pb_form_pill_none", "mr_xs");
         | 
| 511 511 | 
             
                  if (this.formPillProps.size === "small") {
         | 
| 512 | 
            -
                    pill.classList.add(" | 
| 512 | 
            +
                    pill.classList.add("pb_form_pill_small");
         | 
| 513 513 | 
             
                  }
         | 
| 514 514 | 
             
                  pill.tabIndex = 0;
         | 
| 515 515 | 
             
                  pill.dataset.pillId = JSON.parse(option).id;
         | 
| 516 516 | 
             
                  const innerDiv = document.createElement("h3");
         | 
| 517 | 
            -
                  innerDiv.className = " | 
| 517 | 
            +
                  innerDiv.className = "pb_title_kit pb_title_4 pb_form_pill_text";
         | 
| 518 518 | 
             
                  innerDiv.textContent = JSON.parse(option).label;
         | 
| 519 519 | 
             
                  pill.appendChild(innerDiv);
         | 
| 520 520 |  | 
| @@ -50,58 +50,18 @@ module Playbook | |
| 50 50 | 
             
                              default: false
         | 
| 51 51 |  | 
| 52 52 | 
             
                  def classname
         | 
| 53 | 
            -
                     | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
                      align_self_class,
         | 
| 66 | 
            -
                      prop(:classname),
         | 
| 67 | 
            -
                      spacing_props,
         | 
| 68 | 
            -
                      dark_props,
         | 
| 69 | 
            -
                      width_props,
         | 
| 70 | 
            -
                      min_width_props,
         | 
| 71 | 
            -
                      max_width_props,
         | 
| 72 | 
            -
                      gap_props,
         | 
| 73 | 
            -
                      z_index_props,
         | 
| 74 | 
            -
                      number_spacing_props,
         | 
| 75 | 
            -
                      shadow_props,
         | 
| 76 | 
            -
                      line_height_props,
         | 
| 77 | 
            -
                      display_props,
         | 
| 78 | 
            -
                      cursor_props,
         | 
| 79 | 
            -
                      flex_direction_props,
         | 
| 80 | 
            -
                      flex_wrap_props,
         | 
| 81 | 
            -
                      justify_content_props,
         | 
| 82 | 
            -
                      justify_self_props,
         | 
| 83 | 
            -
                      align_items_props,
         | 
| 84 | 
            -
                      align_content_props,
         | 
| 85 | 
            -
                      align_self_props,
         | 
| 86 | 
            -
                      flex_props,
         | 
| 87 | 
            -
                      flex_grow_props,
         | 
| 88 | 
            -
                      flex_shrink_props,
         | 
| 89 | 
            -
                      order_props,
         | 
| 90 | 
            -
                      position_props,
         | 
| 91 | 
            -
                      hover_props,
         | 
| 92 | 
            -
                      border_radius_props,
         | 
| 93 | 
            -
                      text_align_props,
         | 
| 94 | 
            -
                      overflow_props,
         | 
| 95 | 
            -
                      truncate_props,
         | 
| 96 | 
            -
                      left_props,
         | 
| 97 | 
            -
                      top_props,
         | 
| 98 | 
            -
                      right_props,
         | 
| 99 | 
            -
                      bottom_props,
         | 
| 100 | 
            -
                      vertical_align_props,
         | 
| 101 | 
            -
                      height_props,
         | 
| 102 | 
            -
                      min_height_props,
         | 
| 103 | 
            -
                      max_height_props,
         | 
| 104 | 
            -
                    ].compact.flatten.join(" ")
         | 
| 53 | 
            +
                    generate_classname("pb_flex_kit",
         | 
| 54 | 
            +
                                       orientation_class,
         | 
| 55 | 
            +
                                       justify_class,
         | 
| 56 | 
            +
                                       align_class,
         | 
| 57 | 
            +
                                       inline_class,
         | 
| 58 | 
            +
                                       reverse_class,
         | 
| 59 | 
            +
                                       wrap_class,
         | 
| 60 | 
            +
                                       spacing_class,
         | 
| 61 | 
            +
                                       gap_class,
         | 
| 62 | 
            +
                                       row_gap_class,
         | 
| 63 | 
            +
                                       column_gap_class,
         | 
| 64 | 
            +
                                       align_self_class, separator: " ")
         | 
| 105 65 | 
             
                  end
         | 
| 106 66 |  | 
| 107 67 | 
             
                private
         | 
| @@ -17,52 +17,7 @@ module Playbook | |
| 17 17 | 
             
                                      default: false
         | 
| 18 18 |  | 
| 19 19 | 
             
                  def classname
         | 
| 20 | 
            -
                     | 
| 21 | 
            -
                      "pb_flex_item_kit",
         | 
| 22 | 
            -
                      fixed_size_class,
         | 
| 23 | 
            -
                      grow_class,
         | 
| 24 | 
            -
                      shrink_class,
         | 
| 25 | 
            -
                      display_flex_class,
         | 
| 26 | 
            -
                      align_self_class,
         | 
| 27 | 
            -
                      prop(:classname),
         | 
| 28 | 
            -
                      spacing_props,
         | 
| 29 | 
            -
                      dark_props,
         | 
| 30 | 
            -
                      width_props,
         | 
| 31 | 
            -
                      min_width_props,
         | 
| 32 | 
            -
                      max_width_props,
         | 
| 33 | 
            -
                      gap_props,
         | 
| 34 | 
            -
                      z_index_props,
         | 
| 35 | 
            -
                      number_spacing_props,
         | 
| 36 | 
            -
                      shadow_props,
         | 
| 37 | 
            -
                      line_height_props,
         | 
| 38 | 
            -
                      display_props,
         | 
| 39 | 
            -
                      cursor_props,
         | 
| 40 | 
            -
                      flex_direction_props,
         | 
| 41 | 
            -
                      flex_wrap_props,
         | 
| 42 | 
            -
                      justify_content_props,
         | 
| 43 | 
            -
                      justify_self_props,
         | 
| 44 | 
            -
                      align_items_props,
         | 
| 45 | 
            -
                      align_content_props,
         | 
| 46 | 
            -
                      align_self_props,
         | 
| 47 | 
            -
                      flex_props,
         | 
| 48 | 
            -
                      flex_grow_props,
         | 
| 49 | 
            -
                      flex_shrink_props,
         | 
| 50 | 
            -
                      order_props,
         | 
| 51 | 
            -
                      position_props,
         | 
| 52 | 
            -
                      hover_props,
         | 
| 53 | 
            -
                      border_radius_props,
         | 
| 54 | 
            -
                      text_align_props,
         | 
| 55 | 
            -
                      overflow_props,
         | 
| 56 | 
            -
                      truncate_props,
         | 
| 57 | 
            -
                      left_props,
         | 
| 58 | 
            -
                      top_props,
         | 
| 59 | 
            -
                      right_props,
         | 
| 60 | 
            -
                      bottom_props,
         | 
| 61 | 
            -
                      vertical_align_props,
         | 
| 62 | 
            -
                      height_props,
         | 
| 63 | 
            -
                      min_height_props,
         | 
| 64 | 
            -
                      max_height_props,
         | 
| 65 | 
            -
                    ].compact.flatten.join(" ")
         | 
| 20 | 
            +
                    generate_classname("pb_flex_item_kit", fixed_size_class, grow_class, shrink_class, display_flex_class, align_self_class, separator: " ")
         | 
| 66 21 | 
             
                  end
         | 
| 67 22 |  | 
| 68 23 | 
             
                  def inline_styles
         | 
| @@ -81,14 +81,20 @@ $bracket-border-width: 4px; | |
| 81 81 |  | 
| 82 82 | 
             
            // Collection detail layout
         | 
| 83 83 | 
             
            .pb_layout_kit_collection_detail {
         | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
             | 
| 90 | 
            -
             | 
| 91 | 
            -
               | 
| 84 | 
            +
                display: grid;
         | 
| 85 | 
            +
                width: 100%;
         | 
| 86 | 
            +
                height: 100%;
         | 
| 87 | 
            +
                padding: $space_lg;
         | 
| 88 | 
            +
                grid-template-areas: "side-bar collection";
         | 
| 89 | 
            +
                grid-template-columns: .25fr 1fr;
         | 
| 90 | 
            +
                grid-column-gap: $space_sm;
         | 
| 91 | 
            +
              .layout_body {
         | 
| 92 | 
            +
                display: grid;
         | 
| 93 | 
            +
                grid-auto-rows: max-content;
         | 
| 94 | 
            +
                grid-column-gap: $space_sm;
         | 
| 95 | 
            +
                grid-row-gap: $space_sm;
         | 
| 96 | 
            +
                grid-template-columns: repeat(4, 1fr);
         | 
| 97 | 
            +
              }
         | 
| 92 98 |  | 
| 93 99 | 
             
              div.layout_body {
         | 
| 94 100 | 
             
                @media screen and (min-width: $screen-md-min) {
         |