playbook_ui 14.7.0.pre.alpha.spacingquickchange4482 → 14.7.0.pre.rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +2 -3
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +1 -8
  4. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +28 -21
  5. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -37
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_cell.jsx +2 -13
  7. data/app/pb_kits/playbook/pb_card/_card.tsx +5 -8
  8. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +2 -1
  9. data/app/pb_kits/playbook/pb_card/docs/_card_light.md +1 -1
  10. data/app/pb_kits/playbook/pb_currency/_currency.tsx +6 -16
  11. data/app/pb_kits/playbook/pb_currency/currency.rb +11 -38
  12. data/app/pb_kits/playbook/pb_currency/currency.test.js +0 -35
  13. data/app/pb_kits/playbook/pb_currency/docs/example.yml +1 -3
  14. data/app/pb_kits/playbook/pb_currency/docs/index.js +0 -1
  15. data/app/pb_kits/playbook/pb_date/_date.scss +0 -3
  16. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +0 -6
  17. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +4 -4
  18. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +10 -9
  19. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +2 -2
  20. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +1 -1
  21. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +2 -6
  22. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +26 -30
  23. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +1 -24
  24. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +2 -25
  25. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.md +1 -0
  26. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +8 -46
  27. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -67
  28. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.tsx +0 -1
  29. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +1 -1
  30. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +1 -5
  31. data/app/pb_kits/playbook/pb_timeline/_item.tsx +23 -59
  32. data/app/pb_kits/playbook/pb_timeline/_timeline.tsx +0 -8
  33. data/app/pb_kits/playbook/pb_timeline/docs/example.yml +1 -2
  34. data/app/pb_kits/playbook/pb_timeline/docs/index.js +0 -1
  35. data/app/pb_kits/playbook/pb_timeline/item.html.erb +21 -17
  36. data/app/pb_kits/playbook/pb_timeline/item.rb +0 -4
  37. data/app/pb_kits/playbook/pb_timeline/timeline.test.js +0 -84
  38. data/app/pb_kits/playbook/tokens/_typography.scss +0 -35
  39. data/app/pb_kits/playbook/utilities/_hover.scss +43 -46
  40. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +0 -1
  41. data/app/pb_kits/playbook/utilities/globalProps.ts +0 -5
  42. data/dist/chunks/_typeahead-BhHnXJjy.js +22 -0
  43. data/dist/chunks/_weekday_stacked-C_QAqbqJ.js +45 -0
  44. data/dist/chunks/vendor.js +1 -1
  45. data/dist/menu.yml +2 -8
  46. data/dist/playbook-doc.js +1 -1
  47. data/dist/playbook-rails-react-bindings.js +1 -1
  48. data/dist/playbook-rails.js +1 -1
  49. data/dist/playbook.css +1 -1
  50. data/lib/playbook/hover.rb +1 -4
  51. data/lib/playbook/kit_base.rb +15 -33
  52. data/lib/playbook/version.rb +2 -2
  53. metadata +5 -69
  54. data/app/pb_kits/playbook/pb_currency/docs/_currency_comma_separator.html.erb +0 -7
  55. data/app/pb_kits/playbook/pb_currency/docs/_currency_comma_separator.jsx +0 -18
  56. data/app/pb_kits/playbook/pb_currency/docs/_currency_comma_separator.md +0 -3
  57. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default_rails.html.erb +0 -26
  58. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default_rails.md +0 -7
  59. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.html.erb +0 -38
  60. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.md +0 -0
  61. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list_rails.html.erb +0 -19
  62. data/app/pb_kits/playbook/pb_draggable/draggable.html.erb +0 -3
  63. data/app/pb_kits/playbook/pb_draggable/draggable.rb +0 -18
  64. data/app/pb_kits/playbook/pb_draggable/draggable_container.html.erb +0 -3
  65. data/app/pb_kits/playbook/pb_draggable/draggable_container.rb +0 -15
  66. data/app/pb_kits/playbook/pb_draggable/draggable_item.html.erb +0 -7
  67. data/app/pb_kits/playbook/pb_draggable/draggable_item.rb +0 -18
  68. data/app/pb_kits/playbook/pb_draggable/index.js +0 -125
  69. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_rails.md +0 -3
  70. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_react.md +0 -1
  71. data/app/pb_kits/playbook/pb_link/_link.scss +0 -66
  72. data/app/pb_kits/playbook/pb_link/_link.tsx +0 -107
  73. data/app/pb_kits/playbook/pb_link/docs/_link_color.html.erb +0 -30
  74. data/app/pb_kits/playbook/pb_link/docs/_link_color.jsx +0 -40
  75. data/app/pb_kits/playbook/pb_link/docs/_link_disabled.html.erb +0 -5
  76. data/app/pb_kits/playbook/pb_link/docs/_link_disabled.jsx +0 -15
  77. data/app/pb_kits/playbook/pb_link/docs/_link_icon.html.erb +0 -15
  78. data/app/pb_kits/playbook/pb_link/docs/_link_icon.jsx +0 -25
  79. data/app/pb_kits/playbook/pb_link/docs/_link_tag.html.erb +0 -35
  80. data/app/pb_kits/playbook/pb_link/docs/_link_tag.jsx +0 -45
  81. data/app/pb_kits/playbook/pb_link/docs/_link_underline.html.erb +0 -5
  82. data/app/pb_kits/playbook/pb_link/docs/_link_underline.jsx +0 -15
  83. data/app/pb_kits/playbook/pb_link/docs/example.yml +0 -16
  84. data/app/pb_kits/playbook/pb_link/docs/index.js +0 -5
  85. data/app/pb_kits/playbook/pb_link/link.html.erb +0 -21
  86. data/app/pb_kits/playbook/pb_link/link.rb +0 -44
  87. data/app/pb_kits/playbook/pb_link/link.test.jsx +0 -92
  88. data/app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading.scss +0 -37
  89. data/app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading.tsx +0 -67
  90. data/app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading_mixins.scss +0 -40
  91. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.jsx +0 -51
  92. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.md +0 -1
  93. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.jsx +0 -26
  94. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.md +0 -1
  95. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.html.erb +0 -1
  96. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.jsx +0 -11
  97. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.jsx +0 -59
  98. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.md +0 -3
  99. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.jsx +0 -20
  100. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.md +0 -3
  101. data/app/pb_kits/playbook/pb_skeleton_loading/docs/example.yml +0 -13
  102. data/app/pb_kits/playbook/pb_skeleton_loading/docs/index.js +0 -5
  103. data/app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.html.erb +0 -12
  104. data/app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.rb +0 -8
  105. data/app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.test.jsx +0 -81
  106. data/app/pb_kits/playbook/pb_timeline/detail.html.erb +0 -3
  107. data/app/pb_kits/playbook/pb_timeline/detail.rb +0 -11
  108. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.html.erb +0 -43
  109. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.jsx +0 -68
  110. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.md +0 -2
  111. data/app/pb_kits/playbook/pb_timeline/label.html.erb +0 -12
  112. data/app/pb_kits/playbook/pb_timeline/label.rb +0 -13
  113. data/app/pb_kits/playbook/pb_timeline/step.html.erb +0 -14
  114. data/app/pb_kits/playbook/pb_timeline/step.rb +0 -16
  115. data/app/pb_kits/playbook/pb_timeline/subcomponents/Detail.tsx +0 -29
  116. data/app/pb_kits/playbook/pb_timeline/subcomponents/Label.tsx +0 -38
  117. data/app/pb_kits/playbook/pb_timeline/subcomponents/Step.tsx +0 -42
  118. data/app/pb_kits/playbook/pb_timeline/subcomponents/index.tsx +0 -3
  119. data/dist/chunks/_typeahead-DhLic2Fe.js +0 -22
  120. data/dist/chunks/_weekday_stacked-Mx8TYP5I.js +0 -45
@@ -1,67 +0,0 @@
1
-
2
- import React from 'react'
3
- import classnames from 'classnames'
4
- import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
5
- import { globalProps, GlobalProps } from '../utilities/globalProps'
6
- import { Sizes } from '../types'
7
-
8
-
9
- type SkeletonLoadingProps = {
10
- aria?: { [key: string]: string },
11
- className?: string,
12
- data?: { [key: string]: string },
13
- id?: string,
14
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
15
- height?: string,
16
- width?: string,
17
- borderRadius?: string,
18
- gap?: Sizes | "none",
19
- stack?: number,
20
- color?: "default" | "white",
21
- dark?: boolean,
22
- } & GlobalProps
23
-
24
- const SkeletonLoading = (props: SkeletonLoadingProps): React.ReactElement => {
25
- const {
26
- aria = {},
27
- className,
28
- data = {},
29
- id,
30
- htmlOptions = {},
31
- height = "16px",
32
- width = "100%",
33
- borderRadius = "sm",
34
- gap = "xxs",
35
- stack = 1,
36
- color = "default",
37
- dark = false,
38
- } = props
39
-
40
- const ariaProps = buildAriaProps(aria)
41
- const dataProps = buildDataProps(data)
42
- const htmlProps = buildHtmlProps(htmlOptions)
43
- const skeletonContainerCss = classnames(buildCss('pb_skeleton_loading'), globalProps(props), className)
44
- const gapClass = gap !== 'none' ? `gap_${gap}` : ''
45
- const innerSkeletonCss = classnames(`border_radius_${borderRadius}`,`color_${color}`, dark && 'dark', )
46
- const innerSizeStyle = { height, width }
47
-
48
- return (
49
- <div
50
- {...ariaProps}
51
- {...dataProps}
52
- {...htmlProps}
53
- className={skeletonContainerCss}
54
- id={id}
55
- >
56
- {Array.from({ length: Number(stack) }).map((_, index) => (
57
- <div
58
- className={classnames(buildCss('pb_skeleton_loading_item'), innerSkeletonCss, index > 0 && gapClass)}
59
- key={index}
60
- style={innerSizeStyle}
61
- />
62
- ))}
63
- </div>
64
- )
65
- }
66
-
67
- export default SkeletonLoading
@@ -1,40 +0,0 @@
1
- // Animation
2
- @keyframes wave {
3
- 0% {
4
- background-position: -468px 0;
5
- }
6
- 100% {
7
- background-position: 468px 0;
8
- }
9
- }
10
-
11
- // Shimmer animation and gradient mixin based on color
12
- @mixin skeleton-shimmer($color) {
13
- background: $color;
14
- background-color: $color;
15
- background-image: linear-gradient(
16
- to left,
17
- $color 0%,
18
- lighten($color, 1%) 50%,
19
- lighten($color, 1%) 60%,
20
- $color 80%,
21
- $color 100%
22
- );
23
- background-repeat: no-repeat;
24
- animation: wave 1.5s linear infinite forwards;
25
- }
26
-
27
- @mixin skeleton-shimmer-light($color) {
28
- background: $color;
29
- background-color: $color;
30
- background-image: linear-gradient(
31
- to left,
32
- $color 0%,
33
- darken($color, 1%) 50%,
34
- darken($color, 1%) 60%,
35
- $color 80%,
36
- $color 100%
37
- );
38
- background-repeat: no-repeat;
39
- animation: wave 1.5s linear infinite forwards;
40
- }
@@ -1,51 +0,0 @@
1
- import React from 'react'
2
- import { Flex, SkeletonLoading } from "playbook-ui"
3
-
4
-
5
- const SkeletonLoadingBorderRadius = (props) => (
6
- <Flex justify="evenly">
7
- <SkeletonLoading
8
- borderRadius="rounded"
9
- height="50px"
10
- width="100px"
11
- {...props}
12
- />
13
- <SkeletonLoading
14
- borderRadius="xl"
15
- height="50px"
16
- width="100px"
17
- {...props}
18
- />
19
- <SkeletonLoading
20
- borderRadius="lg"
21
- height="50px"
22
- width="100px"
23
- {...props}
24
- />
25
- <SkeletonLoading
26
- borderRadius="md"
27
- height="50px"
28
- width="100px"
29
- {...props}
30
- />
31
- <SkeletonLoading
32
- height="50px"
33
- width="100px"
34
- {...props}
35
- />
36
- <SkeletonLoading
37
- borderRadius="xs"
38
- height="50px"
39
- width="100px"
40
- {...props}
41
- />
42
- <SkeletonLoading
43
- borderRadius="none"
44
- height="50px"
45
- width="100px"
46
- {...props}
47
- />
48
- </Flex>
49
- )
50
-
51
- export default SkeletonLoadingBorderRadius
@@ -1 +0,0 @@
1
- The `borderRadius` prop accepts all of our [BorderRadius](https://playbook.powerapp.cloud/visual_guidelines/border_radius) tokens, with `sm` as default.
@@ -1,26 +0,0 @@
1
- import React from 'react'
2
- import { Card, SkeletonLoading } from "playbook-ui"
3
-
4
-
5
- const SkeletonLoadingColor = (props) => (
6
- <div>
7
- <Card
8
- borderNone
9
- {...props}
10
- >
11
- <SkeletonLoading {...props}/>
12
- </Card>
13
- <Card
14
- background="light"
15
- borderNone
16
- {...props}
17
- >
18
- <SkeletonLoading
19
- color="white"
20
- {...props}
21
- />
22
- </Card>
23
- </div>
24
- )
25
-
26
- export default SkeletonLoadingColor
@@ -1 +0,0 @@
1
- The SkeletonLoading component has a default and a white `color` variant.
@@ -1 +0,0 @@
1
- <%= pb_rails("skeleton_loading") %>
@@ -1,11 +0,0 @@
1
- import React from 'react'
2
- import { SkeletonLoading } from "playbook-ui"
3
-
4
-
5
- const SkeletonLoadingDefault = (props) => (
6
- <div>
7
- <SkeletonLoading {...props} />
8
- </div>
9
- )
10
-
11
- export default SkeletonLoadingDefault
@@ -1,59 +0,0 @@
1
- import React from 'react'
2
- import { Card, SkeletonLoading } from "playbook-ui"
3
-
4
-
5
- const SkeletonLoadingHeightWidth = (props) => (
6
- <div>
7
- <SkeletonLoading
8
- height="100px"
9
- width="50%"
10
- {...props}
11
- />
12
- <SkeletonLoading
13
- gap="md"
14
- height="20px"
15
- marginY="md"
16
- stack="3"
17
- width="50px"
18
- {...props}
19
- />
20
- <Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
21
- marginBottom="md"
22
- padding="none"
23
- >
24
- <SkeletonLoading
25
- borderRadius="md"
26
- gap="xl"
27
- height="50%"
28
- width="300px"
29
- {...props}
30
- />
31
- </Card>
32
- <Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
33
- padding="none"
34
- >
35
- <SkeletonLoading
36
- borderRadius="md"
37
- gap="xl"
38
- height="30%"
39
- stack="2"
40
- width="70%"
41
- {...props}
42
- />
43
- </Card>
44
- <SkeletonLoading
45
- height="150px"
46
- marginY="md"
47
- width="150px"
48
- {...props}
49
- />
50
- <SkeletonLoading
51
- borderRadius="rounded"
52
- height="150px"
53
- width="150px"
54
- {...props}
55
- />
56
- </div>
57
- )
58
-
59
- export default SkeletonLoadingHeightWidth
@@ -1,3 +0,0 @@
1
- The `height` and `width` props accept pixel and percentage values. If using a percentage for `height`, the parent container must have a set height.
2
-
3
- Set the `height` and `width` props to the same value to make a square. A `rounded` borderRadius will make a square a circle. If using percentages to make a square, your parent container must also be a square.
@@ -1,20 +0,0 @@
1
- import React from 'react'
2
- import { SkeletonLoading } from "playbook-ui"
3
-
4
-
5
- const SkeletonLoadingLayout = (props) => (
6
- <div>
7
- <SkeletonLoading
8
- stack="5"
9
- {...props}
10
- />
11
- <SkeletonLoading
12
- gap="md"
13
- paddingTop="xl"
14
- stack="3"
15
- {...props}
16
- />
17
- </div>
18
- )
19
-
20
- export default SkeletonLoadingLayout
@@ -1,3 +0,0 @@
1
- Use the `stack` and `gap` props in conjunction to layer multiple Skeleton loading bars on top of each other.
2
-
3
- `stack` accepts a number that correlates to the number of rows (1 is default), and `gap` accepts a portion of our [spacing props](https://playbook.powerapp.cloud/visual_guidelines/spacing) (`xxs` as default, `xs`, `sm`, `md`, `lg`, `xl`, `xxl`) to set the pixel distance between each row. `gap` will not do anything if there is no corresponding `stack` prop set.
@@ -1,13 +0,0 @@
1
- examples:
2
-
3
- rails:
4
- # - skeleton_loading_default: Default
5
-
6
-
7
- react:
8
- - skeleton_loading_default: Default
9
- - skeleton_loading_color: Color
10
- - skeleton_loading_layout: Layout
11
- - skeleton_loading_border_radius: Border Radius
12
- - skeleton_loading_height_width: Height & Width
13
-
@@ -1,5 +0,0 @@
1
- export { default as SkeletonLoadingDefault } from './_skeleton_loading_default.jsx'
2
- export { default as SkeletonLoadingColor } from './_skeleton_loading_color.jsx'
3
- export { default as SkeletonLoadingLayout } from './_skeleton_loading_layout.jsx'
4
- export { default as SkeletonLoadingBorderRadius } from './_skeleton_loading_border_radius.jsx'
5
- export { default as SkeletonLoadingHeightWidth } from './_skeleton_loading_height_width.jsx'
@@ -1,12 +0,0 @@
1
- <!-- Go to pb_content_tag definition in kit_base.rb for usage information. Commented out options are default (showing the default shape), and each can be deleted if not customizing that param. -->
2
- <!-- If using nonstandard params please un-comment out and replace with your custom params. -->
3
- <%= pb_content_tag(
4
- # :div,
5
- # aria: object.aria,
6
- # class: object.classname,
7
- # data: object.data,
8
- # id: object.id,
9
- # **combined_html_options
10
- ) do %>
11
- <span>SKELETON_LOADING CONTENT</span>
12
- <% end %>
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbSkeletonLoading
5
- class SkeletonLoading < ::Playbook::KitBase
6
- end
7
- end
8
- end
@@ -1,81 +0,0 @@
1
- import React from 'react'
2
- import { render, screen } from '@testing-library/react'
3
- import { ensureAccessible } from '../utilities/test-utils'
4
- import { SkeletonLoading } from 'playbook-ui'
5
-
6
- /* See these resources for more testing info:
7
- - https://github.com/testing-library/jest-dom#usage for useage and examples
8
- - https://jestjs.io/docs/en/using-matchers
9
- */
10
-
11
- describe('SkeletonLoading', () => {
12
- const defaultProps = {
13
- data: { testid: 'skeleton-loading' }
14
- }
15
-
16
- it('should be accessible', async () => {
17
- ensureAccessible(SkeletonLoading, defaultProps)
18
- })
19
-
20
- it('renders with default props', () => {
21
- const { container } = render(<SkeletonLoading {...defaultProps} />)
22
- const skeleton = screen.getByTestId('skeleton-loading')
23
-
24
- expect(skeleton).toBeInTheDocument()
25
- expect(skeleton).toHaveClass('pb_skeleton_loading')
26
- expect(container.querySelectorAll('div[class*="border_radius_"]')).toHaveLength(1)
27
- })
28
-
29
- it('renders multiple skeleton items based on stack prop', () => {
30
- const props = {
31
- ...defaultProps,
32
- stack: 3
33
- }
34
- const { container } = render(<SkeletonLoading {...props} />)
35
-
36
- expect(container.querySelectorAll('div[class*="border_radius_"]')).toHaveLength(3)
37
- })
38
-
39
- it('applies custom styles correctly', () => {
40
- const props = {
41
- ...defaultProps,
42
- height: '24px',
43
- width: '50%',
44
- borderRadius: 'lg',
45
- color: 'light',
46
- dark: true
47
- }
48
- const { container } = render(<SkeletonLoading {...props} />)
49
- const skeletonItem = container.querySelector('div[class*="border_radius_"]')
50
-
51
- expect(skeletonItem).toHaveClass('border_radius_lg')
52
- expect(skeletonItem).toHaveClass('dark')
53
- })
54
-
55
- it('applies gap class to items after first one', () => {
56
- const props = {
57
- ...defaultProps,
58
- stack: 3,
59
- gap: 'md'
60
- }
61
- const { container } = render(<SkeletonLoading {...props} />)
62
- const skeletonItems = container.querySelectorAll('div[class*="border_radius_"]')
63
-
64
- expect(skeletonItems[0]).not.toHaveClass('gap_md')
65
- expect(skeletonItems[1]).toHaveClass('gap_md')
66
- expect(skeletonItems[2]).toHaveClass('gap_md')
67
- })
68
-
69
- it('handles no gap properly', () => {
70
- const props = {
71
- ...defaultProps,
72
- stack: 2,
73
- gap: 'none'
74
- }
75
- const { container } = render(<SkeletonLoading {...props} />)
76
- const skeletonItems = container.querySelectorAll('div[class*="border_radius_"]')
77
-
78
- expect(skeletonItems[0]).not.toHaveClass('gap_none')
79
- expect(skeletonItems[1]).not.toHaveClass('gap_none')
80
- })
81
- })
@@ -1,3 +0,0 @@
1
- <%= pb_content_tag do %>
2
- <%= content.presence %>
3
- <% end %>
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbTimeline
5
- class Detail < Playbook::KitBase
6
- def classname
7
- generate_classname("pb_timeline_item_right_block")
8
- end
9
- end
10
- end
11
- end
@@ -1,43 +0,0 @@
1
- <%= pb_rails("timeline", props: {orientation: "horizontal", show_date: true}) do %>
2
- <%= pb_rails("timeline/item", props: { line_style: "solid"}) do |item| %>
3
-
4
- <% item.label do %>
5
- <%= pb_rails("timeline/label") do %>
6
- <%= pb_rails("title", props: { text: "Any Kit Here", size: 2 }) %>
7
- <% end %>
8
- <% end %>
9
-
10
- <% item.step do %>
11
- <%= pb_rails("timeline/step", props: { icon: 'check', icon_color: 'teal' }) %>
12
- <% end %>
13
-
14
- <% item.detail do %>
15
- <%= pb_rails("title_detail", props: {
16
- title: "Jackson Heights",
17
- detail: "37-27 74th Street"
18
- }) %>
19
- <% end %>
20
- <% end %>
21
- <%= pb_rails("timeline/item", props: { line_style: "dotted"}) do |item| %>
22
-
23
- <% item.step do %>
24
- <%= pb_rails("timeline/step") do %>
25
- <%= pb_rails("pill", props: { text: "Any Kit" , variant: "success" }) %>
26
- <% end %>
27
- <% end %>
28
-
29
- <% item.detail do %>
30
- <%= pb_rails("title_detail", props: {
31
- title: "Greenpoint",
32
- detail: "81 Gate St Brooklyn"
33
- }) %>
34
- <% end %>
35
- <% end %>
36
-
37
- <%= pb_rails("timeline/item", props: {icon: "map-marker-alt", icon_color: "purple", date: Date.today+1 }) do |item| %>
38
- <%= pb_rails("title_detail", props: {
39
- title: "Society Hill",
40
- detail: "72 E St Astoria"
41
- }) %>
42
- <% end %>
43
- <% end %>
@@ -1,68 +0,0 @@
1
- import React from 'react'
2
-
3
- import Timeline from '../_timeline'
4
- import Title from '../../pb_title/_title'
5
- import Pill from '../../pb_pill/_pill'
6
-
7
- import TitleDetail from '../../pb_title_detail/_title_detail'
8
-
9
- const TimelineWithChildren = (props) => (
10
- <div>
11
- <Timeline orientation="horizontal"
12
- showDate
13
- {...props}
14
- >
15
- <Timeline.Item lineStyle="solid"
16
- {...props}
17
- >
18
- <Timeline.Label>
19
- <Title size={2}
20
- text='Any Kit Here'
21
- />
22
- </Timeline.Label>
23
- <Timeline.Step icon="user"
24
- iconColor="royal"
25
- />
26
- <Timeline.Detail>
27
- <TitleDetail detail="37-27 74th Street"
28
- title="Jackson Heights"
29
- {...props}
30
- />
31
- </Timeline.Detail>
32
- </Timeline.Item>
33
-
34
- <Timeline.Item lineStyle="dotted"
35
- {...props}
36
- >
37
- <Timeline.Step>
38
- <Pill text="Any Kit"
39
- variant="success"
40
- />
41
- </Timeline.Step>
42
- <Timeline.Detail>
43
- <TitleDetail detail="81 Gate St Brooklyn"
44
- title="Greenpoint"
45
- {...props}
46
- />
47
- </Timeline.Detail>
48
- </Timeline.Item>
49
-
50
- <Timeline.Item lineStyle="solid"
51
- {...props}
52
- >
53
- <Timeline.Label date={new Date(new Date().setDate(new Date().getDate() + 1))} />
54
- <Timeline.Step icon="map-marker-alt"
55
- iconColor="purple"
56
- />
57
- <Timeline.Detail>
58
- <TitleDetail detail="72 E St Astoria"
59
- title="Society Hill"
60
- {...props}
61
- />
62
- </Timeline.Detail>
63
- </Timeline.Item>
64
- </Timeline>
65
- </div>
66
- )
67
-
68
- export default TimelineWithChildren
@@ -1,2 +0,0 @@
1
- Any kit can be used inside of our compound components of label, step, or detail. Expand the code snippet below to see how to use these children elements.
2
-
@@ -1,12 +0,0 @@
1
- <%= pb_content_tag do %>
2
- <% if object.date.present? %>
3
- <%= pb_rails("date_stacked", props: {
4
- date: object.date,
5
- size: "sm",
6
- align: "center"
7
- }) %>
8
- <% else %>
9
- <%= content.presence %>
10
- <% end %>
11
- <% end %>
12
-
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbTimeline
5
- class Label < Playbook::KitBase
6
- prop :date
7
-
8
- def classname
9
- generate_classname("pb_timeline_item_left_block")
10
- end
11
- end
12
- end
13
- end
@@ -1,14 +0,0 @@
1
- <%= pb_content_tag do %>
2
- <% if object.icon.present? %>
3
- <%= pb_rails("icon_circle", props: {
4
- icon: object.icon,
5
- variant: object.icon_color,
6
- size: "xs"
7
- }) %>
8
- <% else %>
9
- <%= content.presence %>
10
- <% end %>
11
- <div class="pb_timeline_item_connector"></div>
12
- <% end %>
13
-
14
-
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbTimeline
5
- class Step < Playbook::KitBase
6
- prop :icon, type: Playbook::Props::String
7
- prop :icon_color, type: Playbook::Props::Enum,
8
- values: %w[default royal blue purple teal red yellow green],
9
- default: "default"
10
-
11
- def classname
12
- generate_classname("pb_timeline_item_step")
13
- end
14
- end
15
- end
16
- end
@@ -1,29 +0,0 @@
1
- import React from 'react'
2
- import classnames from 'classnames'
3
- import { buildHtmlProps } from '../../utilities/props'
4
- import { globalProps, GlobalProps } from "../../utilities/globalProps"
5
-
6
- type TimelineDetailProps = {
7
- children?: React.ReactNode,
8
- className?: string,
9
- htmlOptions?: { [key: string]: any },
10
- } & GlobalProps
11
-
12
- const TimelineDetail: React.FC<TimelineDetailProps> = ({
13
- children,
14
- className,
15
- htmlOptions = {},
16
- ...props
17
- }) => {
18
- const htmlProps = buildHtmlProps(htmlOptions)
19
- return (
20
- <div
21
- {...htmlProps}
22
- className={classnames('pb_timeline_item_right_block', globalProps(props), className)}
23
- >
24
- {children}
25
- </div>
26
- )
27
- }
28
-
29
- export default TimelineDetail