playbook_ui 14.2.1.pre.alpha.20240828cikubedbump3702 → 14.3.0.pre.alpha.revert3654PBNTR479removeextraspacingfromradiochildren3734

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +3 -3
  3. data/app/pb_kits/playbook/pb_badge/_badge.scss +2 -2
  4. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +1 -1
  5. data/app/pb_kits/playbook/pb_button/_button.scss +1 -1
  6. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +2 -2
  7. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +1 -1
  8. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleIcon.tsx +30 -24
  9. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +11 -7
  10. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +2 -0
  11. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_no_icon.html.erb +10 -0
  12. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_no_icon.jsx +21 -0
  13. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +2 -0
  14. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +2 -1
  15. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +1 -1
  16. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_overrides.scss +2 -2
  17. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +4 -4
  18. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +4 -4
  19. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +4 -1
  20. data/app/pb_kits/playbook/pb_dialog/dialog.rb +3 -0
  21. data/app/pb_kits/playbook/pb_dialog/dialogHelper.js +21 -0
  22. data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +4 -2
  23. data/app/pb_kits/playbook/pb_dialog/dialog_footer.rb +10 -1
  24. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +13 -0
  25. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.md +3 -0
  26. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +1 -0
  27. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  28. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +2 -2
  29. data/app/pb_kits/playbook/pb_hashtag/_hashtag.tsx +16 -2
  30. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_link.html.erb +1 -1
  31. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_link.jsx +1 -1
  32. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_link.md +1 -1
  33. data/app/pb_kits/playbook/pb_hashtag/hashtag.html.erb +1 -1
  34. data/app/pb_kits/playbook/pb_hashtag/hashtag.rb +9 -2
  35. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +16 -0
  36. data/app/pb_kits/playbook/pb_home_address_street/city_emphasis.html.erb +1 -0
  37. data/app/pb_kits/playbook/pb_home_address_street/city_emphasis.rb +11 -0
  38. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_link.html.erb +1 -1
  39. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_link.jsx +1 -1
  40. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_link.md +1 -1
  41. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +13 -0
  42. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  43. data/app/pb_kits/playbook/pb_home_address_street/street_emphasis.html.erb +2 -1
  44. data/app/pb_kits/playbook/pb_home_address_street/street_emphasis.rb +11 -0
  45. data/app/pb_kits/playbook/pb_icon/icon.rb +8 -0
  46. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +1 -1
  47. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +1 -1
  48. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +1 -1
  49. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +1 -1
  50. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_no_icon.html.erb +24 -0
  51. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_no_icon.jsx +88 -0
  52. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_no_icon_rails.md +1 -0
  53. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_no_icon_react.md +1 -0
  54. data/app/pb_kits/playbook/pb_nav/docs/example.yml +2 -0
  55. data/app/pb_kits/playbook/pb_nav/docs/index.js +4 -3
  56. data/app/pb_kits/playbook/pb_pagination/_pagination.scss +3 -1
  57. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +3 -3
  58. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +2 -2
  59. data/app/pb_kits/playbook/pb_phone_number_input/intlTelInput.scss +1290 -0
  60. data/app/pb_kits/playbook/pb_pill/_pill.scss +2 -2
  61. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +2 -2
  62. data/app/pb_kits/playbook/pb_radio/_radio.tsx +100 -50
  63. data/app/pb_kits/playbook/pb_radio/docs/_radio_children.jsx +56 -0
  64. data/app/pb_kits/playbook/pb_radio/docs/example.yml +1 -0
  65. data/app/pb_kits/playbook/pb_radio/docs/index.js +1 -0
  66. data/app/pb_kits/playbook/pb_rich_text_editor/_previewer_mixin.scss +49 -13
  67. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +2 -14
  68. data/app/pb_kits/playbook/pb_rich_text_editor/_tiptap_styles.scss +23 -23
  69. data/app/pb_kits/playbook/pb_rich_text_editor/_trix_styles.scss +19 -27
  70. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +21 -11
  71. data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
  72. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +3 -3
  73. data/app/pb_kits/playbook/pb_star_rating/docs/_star_rating_default_value.html.erb +1 -0
  74. data/app/pb_kits/playbook/pb_star_rating/docs/example.yml +1 -0
  75. data/app/pb_kits/playbook/pb_star_rating/index.js +11 -1
  76. data/app/pb_kits/playbook/pb_star_rating/star_rating.rb +3 -1
  77. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +1 -1
  78. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +1 -1
  79. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +4 -4
  80. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +2 -2
  81. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb +2 -2
  82. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +46 -2
  83. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +3 -3
  84. data/dist/chunks/{_typeahead-KAYMhDNO.js → _typeahead-BWUFVlae.js} +3 -3
  85. data/dist/chunks/{_weekday_stacked-CTvE8Bet.js → _weekday_stacked-DpRkKl3_.js} +2 -2
  86. data/dist/chunks/{lib-DErGXNy3.js → lib-D9uVVKnh.js} +1 -1
  87. data/dist/chunks/{pb_form_validation-BC6kh7Hu.js → pb_form_validation-u2wnZ3oe.js} +1 -1
  88. data/dist/chunks/vendor.js +1 -1
  89. data/dist/playbook-doc.js +1 -1
  90. data/dist/playbook-rails-react-bindings.js +1 -1
  91. data/dist/playbook-rails.js +1 -1
  92. data/dist/playbook.css +1 -1
  93. data/lib/playbook/version.rb +2 -2
  94. metadata +17 -6
@@ -10,9 +10,20 @@ module Playbook
10
10
  prop :home_url
11
11
  prop :new_window, type: Playbook::Props::Boolean,
12
12
  default: false
13
+ prop :target
13
14
  prop :territory
14
15
  prop :zip
15
16
  prop :dark, type: Playbook::Props::Boolean, default: false
17
+
18
+ def target_option
19
+ if target && home_url
20
+ target
21
+ elsif new_window
22
+ "_blank"
23
+ else
24
+ "_self"
25
+ end
26
+ end
16
27
  end
17
28
  end
18
29
  end
@@ -5,7 +5,7 @@
5
5
  home_id: 8250263,
6
6
  home_url: "https://powerhrg.com/",
7
7
  house_style: "Colonial",
8
- new_window: true,
8
+ target: "_blank",
9
9
  state: "PA",
10
10
  zipcode: "19382",
11
11
  territory: "PHL",
@@ -11,8 +11,8 @@ const HomeAddressStreetLink= (props) => {
11
11
  homeId={8250263}
12
12
  homeUrl="https://powerhrg.com/"
13
13
  houseStyle="Colonial"
14
- newWindow
15
14
  state="PA"
15
+ target="_blank"
16
16
  territory="PHL"
17
17
  zipcode="19382"
18
18
  {...props}
@@ -1 +1 @@
1
- Use the `newWindow` / `new_window` prop to control whether the link opens on the same page or a new tab (same page is the default behavior)
1
+ Use the `target` prop to control whether the link opens on the same or a new tab (same page is the default behavior). You can use any [web/standard](https://www.w3schools.com/tags/att_a_target.asp) values or a custom string to specify your link target.
@@ -14,6 +14,7 @@ module Playbook
14
14
  prop :house_style
15
15
  prop :new_window, type: Playbook::Props::Boolean,
16
16
  default: false
17
+ prop :target
17
18
  prop :state
18
19
  prop :zipcode
19
20
  prop :territory
@@ -55,6 +56,7 @@ module Playbook
55
56
  dark: dark,
56
57
  home_id: home_id,
57
58
  home_url: home_url,
59
+ target: target_option,
58
60
  new_window: new_window,
59
61
  territory: territory,
60
62
  zip: zip,
@@ -69,11 +71,22 @@ module Playbook
69
71
  dark: dark,
70
72
  home_id: home_id,
71
73
  home_url: home_url,
74
+ target: target_option,
72
75
  new_window: new_window,
73
76
  territory: territory,
74
77
  }
75
78
  end
76
79
 
80
+ def target_option
81
+ if target && home_url
82
+ target
83
+ elsif new_window
84
+ "_blank"
85
+ else
86
+ "_self"
87
+ end
88
+ end
89
+
77
90
  private
78
91
 
79
92
  def dark_class
@@ -23,10 +23,10 @@ function HomeAdressStreetTest(props) {
23
23
  territory="PHL"
24
24
  zipcode="19382"
25
25
  {...props}
26
- />
26
+ />
27
27
  );
28
28
  }
29
-
29
+
30
30
  test("renders the component", () => {
31
31
  render(<HomeAdressStreetTest />);
32
32
  const kit = screen.getByTestId("primary-test");
@@ -23,7 +23,8 @@
23
23
  type: "home",
24
24
  dark: object.dark,
25
25
  classname: "home-hashtag",
26
- new_window: object.new_window}) %>
26
+ new_window: object.new_window,
27
+ target: object.target_option}) %>
27
28
  <% end %>
28
29
 
29
30
  <%= pb_rails "body", props: { color: "light", tag: "span", dark: object.dark } do %>
@@ -10,9 +10,20 @@ module Playbook
10
10
  prop :home_url
11
11
  prop :new_window, type: Playbook::Props::Boolean,
12
12
  default: false
13
+ prop :target
13
14
  prop :territory
14
15
  prop :dark, type: Playbook::Props::Boolean,
15
16
  default: false
17
+
18
+ def target_option
19
+ if target && home_url
20
+ target
21
+ elsif new_window
22
+ "_blank"
23
+ else
24
+ "_self"
25
+ end
26
+ end
16
27
  end
17
28
  end
18
29
  end
@@ -102,6 +102,11 @@ module Playbook
102
102
  def render_svg
103
103
  doc = Nokogiri::XML(URI.open(asset_path || icon || custom_icon)) # rubocop:disable Security/Open
104
104
  svg = doc.at_css "svg"
105
+
106
+ unless svg
107
+ return "" # Return an empty string if SVG element is not found
108
+ end
109
+
105
110
  svg["class"] = %w[pb_custom_icon svg-inline--fa].concat([object.custom_icon_classname]).join(" ")
106
111
  svg["id"] = object.id
107
112
  svg["data"] = object.data
@@ -112,6 +117,9 @@ module Playbook
112
117
  fill_color = object.color || "currentColor"
113
118
  doc.at_css("path")["fill"] = fill_color
114
119
  raw doc
120
+ rescue OpenURI::HTTPError, StandardError
121
+ # Handle any exceptions and return an empty string
122
+ ""
115
123
  end
116
124
 
117
125
  def is_svg?
@@ -54,7 +54,7 @@ $pb_icon_circle_sizes: (
54
54
  &[class*=_size_#{$name}] {
55
55
  width: $size;
56
56
  height: $size;
57
- border-radius: calc($size/2);
57
+ border-radius: $size/2;
58
58
  background: $silver;
59
59
  color: $text_lt_light;
60
60
  font-size: $size * 0.38;
@@ -2,6 +2,6 @@
2
2
 
3
3
  [class^=pb_label_value_kit] {
4
4
  [class^=pb_caption_kit] {
5
- margin-bottom: calc($space-xs/1.5);
5
+ margin-bottom: $space-xs/1.5;
6
6
  }
7
7
  }
@@ -17,7 +17,7 @@
17
17
  }
18
18
 
19
19
  .message_text {
20
- margin: 0 0 calc($space-xs/2);
20
+ margin: 0 0 $space-xs/2;
21
21
  }
22
22
 
23
23
  .message_title {
@@ -18,7 +18,7 @@ $pb_multiple_users_size_xxs: map-get($avatar-sizes, "xxs");
18
18
  justify-content: center;
19
19
  width: $pb_multiple_users_size;
20
20
  height: $pb_multiple_users_size;
21
- border-radius: calc($pb_multiple_users_size/2) + 2;
21
+ border-radius: $pb_multiple_users_size / 2 + 2;
22
22
  background: tint($primary, 90%);
23
23
  border: $pb_multiple_users_border_size solid $white;
24
24
  color: $primary;
@@ -0,0 +1,24 @@
1
+ <%= pb_rails("nav", props: { variant: "bold" }) do %>
2
+ <%= pb_rails("nav/item", props: { text: "Overview", link: "#", collapsible: true, icon_left:"city", collapsed: false, icon_right: "none" }) do %>
3
+ <%= pb_rails("nav", props: { variant: "bold" }) do %>
4
+ <%= pb_rails("nav/item", props: { text: "City", link: "#" }) %>
5
+ <%= pb_rails("nav/item", props: { text: "People", link: "#" }) %>
6
+ <%= pb_rails("nav/item", props: { text: "Business", link: "#" }) %>
7
+ <% end %>
8
+ <% end %>
9
+ <%= pb_rails("nav/item", props: { text: "Albums", link: "#", active: true, collapsible: true, icon_left: "theater-masks", icon_right: "none" }) do %>
10
+ <%= pb_rails("nav", props: { variant: "bold" }) do %>
11
+ <%= pb_rails("nav/item", props: { text: "Entertainment", link: "#" }) %>
12
+ <%= pb_rails("nav/item", props: { text: "Food", link: "#" }) %>
13
+ <%= pb_rails("nav/item", props: { text: "Style", link: "#" }) %>
14
+ <% end %>
15
+ <% end %>
16
+ <%= pb_rails("nav/item", props: { text: "Similar Artists", link: "#", collapsible: true, icon_left: "city", icon_right: "none" }) do %>
17
+ <%= pb_rails("nav", props: { variant: "bold" }) do %>
18
+ <%= pb_rails("nav/item", props: { text: "City", link: "#" }) %>
19
+ <%= pb_rails("nav/item", props: { text: "People", link: "#" }) %>
20
+ <%= pb_rails("nav/item", props: { text: "Business", link: "#" }) %>
21
+ <% end %>
22
+ <% end %>
23
+ <% end %>
24
+
@@ -0,0 +1,88 @@
1
+ import React from "react";
2
+ import { Nav, NavItem } from 'playbook-ui'
3
+
4
+ const CollapsibleNavNoIcon = (props) => {
5
+ return (
6
+ <Nav
7
+ variant="bold"
8
+ {...props}
9
+ >
10
+ <NavItem
11
+ active
12
+ collapsed={false}
13
+ collapsible
14
+ iconLeft="city"
15
+ iconRight="none"
16
+ link="#"
17
+ text="Overview"
18
+ {...props}
19
+ >
20
+ <NavItem
21
+ link="#"
22
+ text="City"
23
+ {...props}
24
+ />
25
+ <NavItem
26
+ link="#"
27
+ text="People"
28
+ {...props}
29
+ />
30
+ <NavItem
31
+ link="#"
32
+ text="Business"
33
+ {...props}
34
+ />
35
+ </NavItem>
36
+ <NavItem
37
+ collapsible
38
+ iconLeft="theater-masks"
39
+ iconRight="none"
40
+ link="#"
41
+ text="Albums"
42
+ {...props}
43
+ >
44
+ <NavItem
45
+ link="#"
46
+ text="Entertainment"
47
+ {...props}
48
+ />
49
+ <NavItem
50
+ link="#"
51
+ text="Food"
52
+ {...props}
53
+ />
54
+ <NavItem
55
+ link="#"
56
+ text="Style"
57
+ {...props}
58
+ />
59
+ </NavItem>
60
+ <NavItem
61
+ collapsible
62
+ iconLeft="city"
63
+ iconRight="none"
64
+ link="#"
65
+ text="Similar Artists"
66
+ {...props}
67
+ >
68
+ <NavItem
69
+ link="#"
70
+ text="City"
71
+ {...props}
72
+ />
73
+ <NavItem
74
+ link="#"
75
+ text="People"
76
+ {...props}
77
+ />
78
+ <NavItem
79
+ link="#"
80
+ text="Business"
81
+ {...props}
82
+ />
83
+ </NavItem>
84
+ </Nav>
85
+ );
86
+ };
87
+
88
+ export default CollapsibleNavNoIcon
@@ -0,0 +1 @@
1
+ Optionally remove the expand/collapse icon(s) from any collapsible nav item by passing "none" to the `icon_right` prop on that nav item.
@@ -0,0 +1 @@
1
+ Optionally remove the expand/collapse icon(s) from any collapsible nav item by passing "none" to the `iconRight` prop on that nav item.
@@ -13,6 +13,7 @@ examples:
13
13
  - nav_with_font_control: Nav With Font Control
14
14
  - collapsible_nav: Collapsible Nav
15
15
  - collapsible_nav_with_all_options: Collapsible Nav With Options
16
+ - collapsible_nav_no_icon: Collapsible Nav No Icon
16
17
  - horizontal_nav: Horizontal Nav
17
18
  - subtle_horizontal_nav: Subtle Horizontal Nav
18
19
  - bold_horizontal_nav: Bold Horizontal Nav
@@ -37,6 +38,7 @@ examples:
37
38
  - collapsible_nav_with_all_options: Collapsible Nav With Options
38
39
  - collapsible_nav_item_spacing: Collapsible Nav With ItemSpacing
39
40
  - collapsible_nav_custom: Collapsible Nav With Custom Toggling
41
+ - collapsible_nav_no_icon: Collapsible Nav No Icon
40
42
  - horizontal_nav: Horizontal Nav
41
43
  - subtle_horizontal_nav: Subtle Horizontal Nav
42
44
  - bold_horizontal_nav: Bold Horizontal Nav
@@ -15,7 +15,8 @@ export { default as BoldHorizontalNav } from './_bold_horizontal_nav.jsx'
15
15
  export { default as BoldVerticalNav } from './_bold_vertical_nav.jsx'
16
16
  export { default as CollapsibleNav } from './_collapsible_nav.jsx'
17
17
  export { default as CollapsibleNavCustom } from './_collapsible_nav_custom.jsx'
18
- export {default as CollapsibleNavWithAllOptions} from "./_collapsible_nav_with_all_options.jsx"
18
+ export { default as CollapsibleNavWithAllOptions} from "./_collapsible_nav_with_all_options.jsx"
19
19
  export { default as NavWithFontControl } from "./_nav_with_font_control.jsx"
20
- export {default as NavWithSpacingControl } from "./_nav_with_spacing_control.jsx"
21
- export {default as CollapsibleNavItemSpacing } from "./_collapsible_nav_item_spacing.jsx"
20
+ export { default as NavWithSpacingControl } from "./_nav_with_spacing_control.jsx"
21
+ export { default as CollapsibleNavItemSpacing } from "./_collapsible_nav_item_spacing.jsx"
22
+ export { default as CollapsibleNavNoIcon } from "./_collapsible_nav_no_icon.jsx"
@@ -33,6 +33,7 @@ $top_bottom_radius: 0px;
33
33
  border-top-right-radius: $top_bottom_radius;
34
34
  border-bottom-right-radius: $top_bottom_radius;
35
35
  cursor: pointer;
36
+ transition: background-color $transition_default ease-out, color $transition_default ease-out;
36
37
  }
37
38
  li:last-child > a, li:last-child > span, .pagination-number, .pagination-right {
38
39
  padding: $pagination_padding;
@@ -40,13 +41,14 @@ $top_bottom_radius: 0px;
40
41
  z-index: 2;
41
42
  border-top-left-radius: $top_bottom_radius;
42
43
  border-bottom-left-radius: $top_bottom_radius;
44
+ transition: background-color $transition_default ease-out, color $transition_default ease-out;
43
45
  }
44
46
  a, .pagination-number {
45
47
  color: $text_lt_default;
46
48
  font-size: $text_small;
47
49
  font-weight: $regular;
48
50
  border: none;
49
- transition: all $transition_default ease-out;
51
+ transition: background-color $transition_default ease-out, color $transition_default ease-out, border-color $transition_default ease-out;
50
52
 
51
53
  &:hover {
52
54
  @include hover-state;
@@ -21,14 +21,14 @@
21
21
  }
22
22
 
23
23
  .passphrase-label {
24
- margin-right: calc($space_xs/2);
24
+ margin-right: $space_xs / 2;
25
25
  }
26
26
 
27
27
  .passphrase-text-input-wrapper {
28
28
  position: relative;
29
29
 
30
30
  .pb_text_input_kit_label {
31
- margin-bottom: calc($space_xs/2);
31
+ margin-bottom: $space_xs / 2;
32
32
  }
33
33
 
34
34
  .passphrase-text-input input {
@@ -57,7 +57,7 @@
57
57
  }
58
58
 
59
59
  .pb_progress_simple_wrapper, .pb_progress_simple_wrapper_dark {
60
- margin-bottom: calc($space_xs/2);
60
+ margin-bottom: $space_xs/2;
61
61
 
62
62
  &.progress-empty-input {
63
63
  visibility: hidden;
@@ -1,4 +1,4 @@
1
- @import "intl-tel-input/build/css/intlTelInput.css";
1
+ @import "./intlTelInput";
2
2
  @import "../tokens/colors";
3
3
 
4
4
  $transform-rotate-deg: 135deg;
@@ -101,7 +101,7 @@ $flag-min-resolution: 192dpi;
101
101
  }
102
102
 
103
103
  .iti__arrow.iti__arrow--up::before {
104
- transform: rotate(-(calc($transform-rotate-deg/3)));
104
+ transform: rotate(-($transform-rotate-deg/3));
105
105
  top: $space_xs + 4px;
106
106
  color: $primary_action;
107
107
  }