playbook_ui 12.15.0 → 12.16.0.pre.alpha.lightboxcurrentphotoprop531

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_background/_background.tsx +1 -1
  3. data/app/pb_kits/playbook/pb_background/background.rb +1 -1
  4. data/app/pb_kits/playbook/pb_badge/_badge.scss +1 -0
  5. data/app/pb_kits/playbook/pb_badge/_badge.tsx +1 -1
  6. data/app/pb_kits/playbook/pb_badge/badge.rb +5 -1
  7. data/app/pb_kits/playbook/pb_badge/badge.test.js +16 -1
  8. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +3 -3
  9. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +2 -2
  10. data/app/pb_kits/playbook/pb_enhanced_element/index.ts +1 -1
  11. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.tsx +5 -5
  12. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -1
  13. data/app/pb_kits/playbook/pb_lightbox/Carousel/index.tsx +0 -1
  14. data/app/pb_kits/playbook/pb_lightbox/_lightbox.tsx +7 -4
  15. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_compound_component.jsx +1 -5
  16. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_current_photo.jsx +121 -0
  17. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_current_photo.md +1 -0
  18. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_custom_header.jsx +1 -5
  19. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.jsx +1 -5
  20. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.md +1 -1
  21. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_multiple.jsx +1 -5
  22. data/app/pb_kits/playbook/pb_lightbox/docs/example.yml +1 -0
  23. data/app/pb_kits/playbook/pb_lightbox/docs/index.js +1 -0
  24. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -5
  25. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +0 -5
  26. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -4
  27. data/app/pb_kits/playbook/pb_table/{_table.jsx → _table.tsx} +9 -11
  28. data/app/pb_kits/playbook/pb_table/{_table_row.jsx → _table_row.tsx} +7 -8
  29. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.html.erb +41 -0
  30. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.jsx +62 -0
  31. data/app/pb_kits/playbook/pb_table/docs/example.yml +2 -0
  32. data/app/pb_kits/playbook/pb_table/docs/index.js +1 -0
  33. data/app/pb_kits/playbook/pb_table/{index.js → index.ts} +4 -4
  34. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +129 -0
  35. data/app/pb_kits/playbook/pb_textarea/{index.js → index.tsx} +2 -0
  36. data/app/pb_kits/playbook/pb_textarea/textarea.test.js +213 -0
  37. data/app/pb_kits/playbook/tokens/_colors.scss +16 -1
  38. data/lib/playbook/version.rb +2 -2
  39. metadata +17 -13
  40. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +0 -41
  41. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +0 -135
@@ -1,41 +0,0 @@
1
- /* @flow */
2
- import React from 'react'
3
- import classnames from 'classnames'
4
- import { buildCss } from '../utilities/props'
5
- import { globalProps } from '../utilities/globalProps'
6
- type FlexItemPropTypes = {
7
- children: array<React.ReactNode> | React.ReactNode,
8
- fixedSize: string,
9
- grow: boolean,
10
- shrink: boolean,
11
- flex: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'none',
12
- className: string,
13
- overflow?: "auto" | "hidden" | "initial" | "inherit" | "scroll" | "visible",
14
- order?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 'first' | 'none',
15
- alignSelf?: "start" | "end" | "center" | "stretch",
16
- displayFlex: boolean
17
- }
18
-
19
- const FlexItem = (props: FlexItemPropTypes) => {
20
- const { children, className, fixedSize, grow, overflow = null, shrink, flex = 'none', order = 'none', alignSelf = null, displayFlex } = props
21
- const growClass = grow === true ? 'grow' : ''
22
- const displayFlexClass = displayFlex === true ? `display_flex_${displayFlex}` : ''
23
- const flexClass = flex !== 'none' ? `flex_${flex}` : ''
24
- const overflowClass = overflow ? `overflow_${overflow}` : ''
25
- const shrinkClass = shrink === true ? 'shrink' : ''
26
- const alignSelfClass = alignSelf ? `align_self_${alignSelf}` : ''
27
- const fixedStyle =
28
- fixedSize !== undefined ? { flexBasis: `${fixedSize}` } : null
29
- const orderClass = order !== 'none' ? `order_${order}` : null
30
-
31
- return (
32
- <div
33
- className={classnames(buildCss('pb_flex_item_kit', growClass, shrinkClass, flexClass, displayFlexClass), overflowClass, orderClass, alignSelfClass, globalProps(props), className)}
34
- style={fixedStyle}
35
- >
36
- {children}
37
- </div>
38
- )
39
- }
40
-
41
- export default FlexItem
@@ -1,135 +0,0 @@
1
- /* @flow */
2
- /* eslint-disable react-hooks/rules-of-hooks */
3
-
4
- import React, { forwardRef, useEffect, useRef } from 'react'
5
- import classnames from 'classnames'
6
-
7
- import PbTextarea from './'
8
- import type { InputCallback } from '../types.js'
9
-
10
- import { globalProps } from '../utilities/globalProps'
11
-
12
- import Body from '../pb_body/_body'
13
- import Caption from '../pb_caption/_caption'
14
- import Flex from '../pb_flex/_flex'
15
- import FlexItem from '../pb_flex/_flex_item'
16
-
17
- type TextareaProps = {
18
- characterCount?: string,
19
- className?: string,
20
- children?: array<React.ReactChild>,
21
- disabled?: boolean,
22
- error?: string,
23
- id?: string,
24
- inline?: boolean,
25
- object?: string,
26
- method?: string,
27
- label?: string,
28
- maxCharacters?: string,
29
- placeholder?: string,
30
- value?: string,
31
- name?: string,
32
- required?: boolean,
33
- rows?: number,
34
- resize: 'none' | 'both' | 'horizontal' | 'vertical' | 'auto',
35
- onChange?: InputCallback<HTMLTextAreaElement>,
36
- }
37
-
38
- const Textarea = ({
39
- characterCount,
40
- className,
41
- children,
42
- disabled,
43
- inline = false,
44
- resize = 'none',
45
- error,
46
- label,
47
- maxCharacters,
48
- name,
49
- onChange = () => {},
50
- placeholder,
51
- required,
52
- rows = 4,
53
- value,
54
- ...props
55
- }: TextareaProps, ref: React.ElementRef<"textarea">) => {
56
- ref = ref || useRef(false)
57
- useEffect(() => {
58
- if (ref.current && resize === 'auto') {
59
- PbTextarea.addMatch(ref.current)
60
- }
61
- })
62
-
63
- const errorClass = error ? 'error' : null
64
- const inlineClass = inline ? 'inline' : ''
65
- const resizeClass = `resize_${resize}`
66
- const classes = classnames('pb_textarea_kit', errorClass, inlineClass, resizeClass, globalProps(props), className)
67
-
68
- const characterCounter = () => {
69
- return maxCharacters && characterCount ? `${checkIfZero(characterCount)} / ${maxCharacters}` : checkIfZero(characterCount)
70
- }
71
-
72
- const checkIfZero = (characterCount) => {
73
- return characterCount == 0 ? characterCount.toString() : characterCount
74
- }
75
-
76
- return (
77
- <div className={classes}>
78
- <Caption
79
- text={label}
80
- />
81
- <If condition={children}>
82
- {children}
83
- <Else />
84
- <textarea
85
- className="pb_textarea_kit"
86
- disabled={disabled}
87
- name={name}
88
- onChange={onChange}
89
- placeholder={placeholder}
90
- ref={ref}
91
- required={required}
92
- rows={rows}
93
- value={value}
94
- {...props}
95
- />
96
- <If condition={error}>
97
- <If condition={characterCount}>
98
- <Flex
99
- spacing="between"
100
- vertical="center"
101
- >
102
- <FlexItem>
103
- <Body
104
- margin="none"
105
- status="negative"
106
- text={error}
107
- />
108
- </FlexItem>
109
- <FlexItem>
110
- <Caption
111
- margin="none"
112
- size="xs"
113
- text={characterCounter()}
114
- />
115
- </FlexItem>
116
- </Flex>
117
- <Else />
118
- <Body
119
- status="negative"
120
- text={error}
121
- />
122
- </If>
123
- <Else />
124
- <Caption
125
- margin="none"
126
- size="xs"
127
- text={characterCounter()}
128
- />
129
- </If>
130
- </If>
131
- </div>
132
- )
133
- }
134
-
135
- export default forwardRef(Textarea)