playbook_ui 12.23.0 → 12.24.0.pre.alpha.alphatestforselfhostfak720

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f67ec70c0d6e7b36d12c63070302b19e05fb73a0ff350fb0231322450415ed3b
4
- data.tar.gz: 437239a1f1bc8fe1b59e9060bd619c7111b3ba70c9a74bcd4bd8535914488439
3
+ metadata.gz: b3b13169f586e341df32591e1f4eb45be130542c63cd46fe75eb5531c4bbf24f
4
+ data.tar.gz: 83c4990a0869cc25b21de2b66fc9a9e75c795c0c0059dc74b36c2ce4120610e7
5
5
  SHA512:
6
- metadata.gz: acd3344d113e1132c9ab0f9bb022cdf614ad90f7a71cd1d5b0cadfc8a2eb1e20bab49f34570c7c2574cac06977f542d12013213e1e92288d054d82b379a425c2
7
- data.tar.gz: 7b914c68ab0c769a8e75e63600eaf46027ff3afbe8b5ceede26a13f82c2b81ab920b06a12f2d66d7ba426f3194f0f60b206afed133f6817511043ff3016c16e2
6
+ metadata.gz: 60b9622512359115f3de5947c595579c1b017f2796602cbc2bf4fd70fc8f3289290edb4689db5fbdb41d9d00c9949824f75842f6815b4fefaaa3ad8e29b64e9b
7
+ data.tar.gz: 44815fdcd43a9648420d85d9bebee3a167f7b22841ced941637c4f989d7b6c0d18f06f1398ca8083e5f0e81093ee8d01342782b6d19e618a85818ab7fa2be71b
@@ -0,0 +1 @@
1
+ ![image for avatar](https://images.unsplash.com/photo-1684237276530-a562fa8338b1?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=580&q=80)
@@ -9,3 +9,5 @@ examples:
9
9
  - avatar_monogram: Monogram
10
10
  - avatar_no_image: "Bad Image Link"
11
11
  - avatar_status: Status
12
+ swift:
13
+ - avatar_swift: Default
@@ -54,6 +54,7 @@ const Header = (props: CardHeaderProps) => {
54
54
  )
55
55
  }
56
56
 
57
+
57
58
  // Body component
58
59
  const Body = (props: CardBodyProps) => {
59
60
  const { children, padding = 'md', className } = props
@@ -7,7 +7,12 @@
7
7
  <%= example %>
8
8
  <br>
9
9
  </div>
10
-
10
+
11
+ <% if (action_name == "kit_show_swift") %>
12
+ <div class="pb--kit-example-markdown pt_none <%= dark ? "dark" : "" %>">
13
+ <%= render_markdown(description) %>
14
+ </div>
15
+ <% end %>
11
16
  <% if show_code %>
12
17
  <div class="markdown pb--kit-example-markdown <%= dark ? "dark" : "" %>">
13
18
  <%= render_markdown(description) %>
@@ -11,7 +11,7 @@ module Playbook
11
11
  prop :example_title, type: Playbook::Props::String, required: true
12
12
  prop :example_key, type: Playbook::Props::String, required: true
13
13
  prop :show_code, type: Playbook::Props::Boolean, default: true
14
- prop :type, type: Playbook::Props::Enum, values: %w[rails react], default: "rails"
14
+ prop :type, type: Playbook::Props::Enum, values: %w[rails react swift], default: "rails"
15
15
  prop :dark, type: Playbook::Props::Boolean, default: false
16
16
 
17
17
  def example
@@ -19,6 +19,9 @@ module Playbook
19
19
  render inline: source
20
20
  elsif type == "react"
21
21
  react_component example_key.camelize, { dark: dark }
22
+ elsif type == "swift"
23
+ ## render the markdown file
24
+ render inline: source
22
25
  end
23
26
  end
24
27
 
@@ -32,7 +35,11 @@ module Playbook
32
35
 
33
36
  def source
34
37
  @source ||= begin
35
- extension = type == "react" ? "jsx" : "html.erb"
38
+ extension = if type == "rails"
39
+ "html.erb"
40
+ else
41
+ type == "swift" ? "swift" : "jsx"
42
+ end
36
43
  stringified_code = read_kit_file("docs", "_#{example_key}.#{extension}")
37
44
  sanitize_code(stringified_code)
38
45
  end
@@ -42,6 +49,10 @@ module Playbook
42
49
  read_kit_file("", "_#{example_key}.tsx")
43
50
  end
44
51
 
52
+ def swift_source
53
+ read_kit_file("", "_#{example_key}.swift")
54
+ end
55
+
45
56
  private
46
57
 
47
58
  def sanitize_code(stringified_code)
@@ -34,7 +34,7 @@ type IconProps = {
34
34
  pulse?: boolean,
35
35
  rotation?: 90 | 180 | 270,
36
36
  size?: IconSizes,
37
- fontStyle?: 'far' | 'fas' | 'fab',
37
+ fontStyle?: 'far' | 'fas' | 'fab' | 'fak',
38
38
  spin?: boolean,
39
39
  } & GlobalProps
40
40
 
@@ -33,7 +33,7 @@ module Playbook
33
33
  values: ["lg", "xs", "sm", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x", nil],
34
34
  default: nil
35
35
  prop :font_style, type: Playbook::Props::Enum,
36
- values: %w[far fas fab],
36
+ values: %w[far fas fab fak],
37
37
  default: "far"
38
38
  prop :spin, type: Playbook::Props::Boolean,
39
39
  default: false
@@ -12,6 +12,7 @@
12
12
  &[class*=_2] {
13
13
  @include pb_title_2;
14
14
  @include title_colors;
15
+ @include pb_title_bold;
15
16
  }
16
17
 
17
18
  &[class*=_3] {
@@ -1 +1,2 @@
1
1
  <%= pb_rails("title", props: { text: "Title 1", tag: "h1", size: 1, bold: false }) %>
2
+ <%= pb_rails("title", props: { text: "Title 2", tag: "h2", size: 2, bold: false }) %>
@@ -1,15 +1,20 @@
1
- import React from 'react'
1
+ import React from "react"
2
2
 
3
- import Title from '../_title'
3
+ import Title from "../_title"
4
4
 
5
5
  const TitleLightWeight = (props) => {
6
6
  return (
7
7
  <div>
8
- <Title
9
- bold={false}
8
+ <Title bold={false}
10
9
  size={1}
11
- tag="h1"
12
- text="Title 1"
10
+ tag='h1'
11
+ text='Title 1'
12
+ {...props}
13
+ />
14
+ <Title bold={false}
15
+ size={2}
16
+ tag='h2'
17
+ text='Title 2'
13
18
  {...props}
14
19
  />
15
20
  </div>
@@ -1,4 +1,4 @@
1
1
  ##### Prop
2
- Title `size 1` will use `font-weight: 700` by default, if you want a lighter font weight, use the `bold` prop set to `false`.
3
- Title `size 2` & `size 3` uses a light font weight by default and will not accept a bold font weight.
2
+ Title `size 1` & `size 2` will use `font-weight: 700` by default, if you want a lighter font weight, use the `bold` prop set to `false`.
3
+ Title `size 3` uses a light font weight by default and will not accept a bold font weight.
4
4
  Title `size 4` uses a heavy font weight by default and will not accept a lighter font weight.
@@ -38,6 +38,25 @@ $breakpoints_grid: (
38
38
  )
39
39
  );
40
40
 
41
+ $breakpoints_max_only: (
42
+ xl: (
43
+ max: $screen-xl-max
44
+ ),
45
+ lg: (
46
+ max: $screen-lg-max
47
+ ),
48
+ md: (
49
+ max: $screen-md-max
50
+ ),
51
+ sm: (
52
+ max: $screen-sm-max
53
+ ),
54
+ xs: (
55
+ max: $screen-xs-max,
56
+ )
57
+ );
58
+
59
+
41
60
  @function breakpoint($breakpoint_name) {
42
61
  @return map-get($breakpoints, $breakpoint_name);
43
62
  }
@@ -7,7 +7,10 @@ $space_classes: (
7
7
  md: $space_md,
8
8
  lg: $space_lg,
9
9
  xl: $space_xl,
10
- none: 0
10
+ none: 0,
11
+ auto: auto,
12
+ initial: initial,
13
+ inherit: inherit
11
14
  );
12
15
 
13
16
  $positions: (
@@ -41,3 +44,26 @@ $positions: (
41
44
  }
42
45
  }
43
46
  }
47
+
48
+ @each $size, $size_value in $breakpoints_max_only {
49
+ @each $position_name, $position in $positions {
50
+ @each $space_name, $space in $space_classes {
51
+ $min_size: map-get($size_value, "min");
52
+ $max_size: map-get($size_value, "max");
53
+ .#{$position_name}_#{$size}_#{$space_name} {
54
+ @if type-of($position)=="list" {
55
+ @each $coordinate in $position {
56
+ @include break_at( $max_size) {
57
+ #{$coordinate}: #{$space} !important;
58
+ }
59
+ }
60
+ }
61
+ @else {
62
+ @include break_at( $max_size) {
63
+ #{$position}: #{$space} !important;
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
@@ -22,7 +22,7 @@ type AlignItems = {
22
22
  type AlignSelf = {
23
23
  alignSelf?: Alignment & ("auto" | "stretch" | "baseline")
24
24
  }
25
- type AllSizes = None | Sizes
25
+ type AllSizes = None | Sizes | "auto" | "initial" | "inherit"
26
26
 
27
27
  type BorderRadius = {
28
28
  borderRadius?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "rounded",
@@ -153,22 +153,67 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
153
153
  padding,
154
154
  }: Margin & Padding) => {
155
155
  let css = ''
156
- css += marginRight ? `mr_${marginRight} ` : ''
157
- css += marginLeft ? `ml_${marginLeft} ` : ''
158
- css += marginTop ? `mt_${marginTop} ` : ''
159
- css += marginBottom ? `mb_${marginBottom} ` : ''
160
- css += marginX ? `mx_${marginX} ` : ''
161
- css += marginY ? `my_${marginY} ` : ''
162
- css += margin ? `m_${margin} ` : ''
163
- css += paddingRight ? `pr_${paddingRight} ` : ''
164
- css += paddingLeft ? `pl_${paddingLeft} ` : ''
165
- css += paddingTop ? `pt_${paddingTop} ` : ''
166
- css += paddingBottom ? `pb_${paddingBottom} ` : ''
167
- css += paddingX ? `px_${paddingX} ` : ''
168
- css += paddingY ? `py_${paddingY} ` : ''
169
- css += padding ? `p_${padding} ` : ''
170
- return css
156
+ const spacingProps = {
157
+ marginRight,
158
+ marginLeft,
159
+ marginTop,
160
+ marginBottom,
161
+ marginX,
162
+ marginY,
163
+ margin,
164
+ paddingRight,
165
+ paddingLeft,
166
+ paddingTop,
167
+ paddingBottom,
168
+ paddingX,
169
+ paddingY,
170
+ padding,
171
+ };
172
+
173
+ function handleObjectValue(properties: Margin | Padding, prefix: string) {
174
+ let classResult = '';
175
+
176
+ Object.entries(properties).forEach(([key, value]) => {
177
+ classResult += `${prefix}_${key}_${value} `;
178
+ });
179
+
180
+ return classResult;
181
+ }
182
+
183
+ function getPrefix(key: string) {
184
+ const prefixes: Record<string, string> = {
185
+ marginRight: 'mr',
186
+ marginLeft: 'ml',
187
+ marginTop: 'mt',
188
+ marginBottom: 'mb',
189
+ marginX: 'mx',
190
+ marginY: 'my',
191
+ margin: 'm',
192
+ paddingRight: 'pr',
193
+ paddingLeft: 'pl',
194
+ paddingTop: 'pt',
195
+ paddingBottom: 'pb',
196
+ paddingX: 'px',
197
+ paddingY: 'py',
198
+ padding: 'p',
199
+ };
200
+
201
+ return prefixes[key];
202
+ }
203
+
204
+ Object.entries(spacingProps).forEach(([key, value]) => {
205
+ if (value) {
206
+ if (typeof value === 'object') {
207
+ css += handleObjectValue(value, getPrefix(key));
208
+ } else {
209
+ const prefix = getPrefix(key);
210
+ css += `${prefix}_${value} `;
211
+ }
212
+ }
213
+ });
214
+ return css.trim();
171
215
  },
216
+
172
217
  darkProps: ({ dark }: Dark) => dark ? 'dark' : '',
173
218
  numberSpacingProps: ({ numberSpacing }: NumberSpacing) => {
174
219
  let css = ''
@@ -84,8 +84,11 @@ module Playbook
84
84
  def pb_doc_render_clickable_title(kit, type)
85
85
  url = "#"
86
86
  begin
87
- url = if type == "react"
87
+ url = case type
88
+ when "react"
88
89
  kit_show_reacts_path(kit)
90
+ when "swift"
91
+ kit_show_swift_path(kit)
89
92
  else
90
93
  kit_show_path(kit)
91
94
  end
@@ -50,17 +50,32 @@ module Playbook
50
50
  end
51
51
 
52
52
  def spacing_values
53
- %w[none xxs xs sm md lg xl]
53
+ %w[none xxs xs sm md lg xl auto initial inherit]
54
+ end
55
+
56
+ def screen_size_values
57
+ %w[xs sm md lg xl]
54
58
  end
55
59
 
56
60
  def spacing_props
57
61
  selected_props = spacing_options.keys.select { |sk| try(sk) }
58
62
  return nil unless selected_props.present?
59
63
 
60
- selected_props.map do |k|
61
- spacing_value = send(k)
62
- "#{spacing_options[k]}_#{spacing_value}" if spacing_values.include? spacing_value
63
- end.compact.join(" ")
64
+ responsive = selected_props.present? && try(selected_props.first).is_a?(::Hash)
65
+ css = ""
66
+ selected_props.each do |prop|
67
+ spacing_value = send(prop)
68
+ prefix = spacing_options[prop]
69
+ if responsive
70
+ spacing_value.each do |key, value|
71
+ css += "#{prefix}_#{key}_#{value} " if screen_size_values.include?(key.to_s) && spacing_values.include?(value.to_s)
72
+ end
73
+ elsif spacing_values.include?(spacing_value)
74
+ css += "#{prefix}_#{spacing_value} "
75
+ end
76
+ end
77
+
78
+ css.strip unless css.blank?
64
79
  end
65
80
 
66
81
  def max_width_props
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- PREVIOUS_VERSION = "12.22.0"
5
- VERSION = "12.23.0"
4
+ PREVIOUS_VERSION = "12.24.0"
5
+ VERSION = "12.24.0.pre.alpha.alphatestforselfhostfak720"
6
6
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.23.0
4
+ version: 12.24.0.pre.alpha.alphatestforselfhostfak720
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
8
8
  - Power Devs
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-05-23 00:00:00.000000000 Z
12
+ date: 2023-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -311,6 +311,7 @@ files:
311
311
  - app/pb_kits/playbook/pb_avatar/docs/_avatar_status.html.erb
312
312
  - app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx
313
313
  - app/pb_kits/playbook/pb_avatar/docs/_avatar_status.md
314
+ - app/pb_kits/playbook/pb_avatar/docs/_avatar_swift.md
314
315
  - app/pb_kits/playbook/pb_avatar/docs/_description.md
315
316
  - app/pb_kits/playbook/pb_avatar/docs/_footer.md
316
317
  - app/pb_kits/playbook/pb_avatar/docs/example.yml
@@ -2491,7 +2492,7 @@ homepage: http://playbook.powerapp.cloud
2491
2492
  licenses:
2492
2493
  - ISC
2493
2494
  metadata: {}
2494
- post_install_message:
2495
+ post_install_message:
2495
2496
  rdoc_options: []
2496
2497
  require_paths:
2497
2498
  - lib
@@ -2502,12 +2503,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
2502
2503
  version: '0'
2503
2504
  required_rubygems_version: !ruby/object:Gem::Requirement
2504
2505
  requirements:
2505
- - - ">="
2506
+ - - ">"
2506
2507
  - !ruby/object:Gem::Version
2507
- version: '0'
2508
+ version: 1.3.1
2508
2509
  requirements: []
2509
2510
  rubygems_version: 3.3.7
2510
- signing_key:
2511
+ signing_key:
2511
2512
  specification_version: 4
2512
2513
  summary: Playbook Design System
2513
2514
  test_files: []