playbook_ui 12.1.0 → 12.3.0.pre.alpha.patchtest1

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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +3 -0
  3. data/app/pb_kits/playbook/data/menu.yml +1 -0
  4. data/app/pb_kits/playbook/index.js +3 -2
  5. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +10 -10
  6. data/app/pb_kits/playbook/pb_button/_button.scss +0 -5
  7. data/app/pb_kits/playbook/pb_button/_button.tsx +4 -0
  8. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +39 -4
  9. data/app/pb_kits/playbook/pb_button/button.rb +2 -0
  10. data/app/pb_kits/playbook/pb_button/docs/_button_accessibility.jsx +1 -0
  11. data/app/pb_kits/playbook/pb_button/docs/_button_block_content.jsx +1 -0
  12. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +4 -0
  13. data/app/pb_kits/playbook/pb_button/docs/_button_form.jsx +1 -0
  14. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.jsx +1 -0
  15. data/app/pb_kits/playbook/pb_button/docs/_button_icon_options.html.erb +2 -2
  16. data/app/pb_kits/playbook/pb_button/docs/_button_icon_options.jsx +4 -0
  17. data/app/pb_kits/playbook/pb_button/docs/_button_link.html.erb +3 -3
  18. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +6 -0
  19. data/app/pb_kits/playbook/pb_button/docs/_button_loading.html.erb +3 -3
  20. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +6 -0
  21. data/app/pb_kits/playbook/pb_button/docs/_button_options.jsx +1 -0
  22. data/app/pb_kits/playbook/pb_button/docs/_button_size.html.erb +3 -3
  23. data/app/pb_kits/playbook/pb_button/docs/_button_size.jsx +6 -0
  24. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +26 -19
  25. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +24 -0
  26. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +2 -0
  27. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +10 -2
  28. data/app/pb_kits/playbook/pb_map/_map.scss +8 -0
  29. data/app/pb_kits/playbook/pb_map/_map.tsx +40 -0
  30. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +52 -0
  31. data/app/pb_kits/playbook/pb_map/docs/_map_default.md +13 -0
  32. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +64 -0
  33. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.md +8 -0
  34. data/app/pb_kits/playbook/pb_map/docs/example.yml +7 -0
  35. data/app/pb_kits/playbook/pb_map/docs/index.js +2 -0
  36. data/app/pb_kits/playbook/pb_map/map.test.jsx +17 -0
  37. data/app/pb_kits/playbook/pb_progress_simple/{_progress_simple.jsx → _progress_simple.tsx} +7 -5
  38. data/app/pb_kits/playbook/pb_progress_simple/progress_simple.test.js +120 -0
  39. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +4 -9
  40. data/app/pb_kits/playbook/pb_stat_change/_stat_change.tsx +66 -0
  41. data/app/pb_kits/playbook/pb_stat_change/stat_change.test.js +41 -0
  42. data/app/pb_kits/playbook/pb_stat_value/{_stat_value.jsx → _stat_value.tsx} +4 -6
  43. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_unit.jsx +1 -1
  44. data/app/pb_kits/playbook/pb_stat_value/stat_value.test.js +27 -0
  45. data/app/pb_kits/playbook/pb_time_stacked/{_time_stacked.jsx → _time_stacked.tsx} +3 -5
  46. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx +1 -1
  47. data/app/pb_kits/playbook/pb_time_stacked/docs/index.js +1 -1
  48. data/app/pb_kits/playbook/pb_timestamp/{_timestamp.jsx → _timestamp.tsx} +5 -7
  49. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +1 -1
  50. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +1 -1
  51. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +1 -1
  52. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +1 -1
  53. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +1 -1
  54. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +36 -28
  55. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default_react.jsx +1 -0
  56. data/app/pb_kits/playbook/pb_tooltip/tooltip.test.jsx +14 -0
  57. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +11 -2
  58. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +0 -2
  59. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +95 -0
  60. data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx +1 -1
  61. data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +1 -0
  62. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb +19 -0
  63. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.jsx +39 -0
  64. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.md +1 -0
  65. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -0
  66. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
  67. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -0
  68. data/app/pb_kits/playbook/playbook-doc.js +2 -0
  69. data/app/pb_kits/playbook/tokens/_colors.scss +6 -2
  70. data/app/pb_kits/playbook/utilities/_focus.scss +12 -0
  71. data/lib/playbook/version.rb +2 -2
  72. metadata +26 -9
  73. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +0 -63
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Timestamp from '../_timestamp.jsx'
2
+ import Timestamp from '../_timestamp'
3
3
 
4
4
  const todaysDate = new Date()
5
5
  const futureYear = new Date().getFullYear() + 4
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Timestamp from '../_timestamp.jsx'
2
+ import Timestamp from '../_timestamp'
3
3
 
4
4
  const todaysDate = new Date()
5
5
  const year = new Date().getFullYear()
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Timestamp from '../_timestamp.jsx'
2
+ import Timestamp from '../_timestamp'
3
3
 
4
4
  const todaysDate = new Date()
5
5
  const futureYear = new Date().getFullYear() + 4
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import Timestamp from '../_timestamp.jsx'
2
+ import Timestamp from '../_timestamp'
3
3
 
4
4
  const todaysDate = new Date()
5
5
 
@@ -17,6 +17,7 @@ import Flex from "../pb_flex/_flex"
17
17
 
18
18
  type TooltipProps = {
19
19
  aria?: { [key: string]: string },
20
+ className?: string | string[],
20
21
  data?: { [key: string]: string },
21
22
  text: string,
22
23
  icon?: string,
@@ -26,9 +27,10 @@ type TooltipProps = {
26
27
  zIndex?: Pick<GlobalProps, "ZIndex">,
27
28
  } & GlobalProps
28
29
 
29
- const Tooltip = (props: TooltipProps) => {
30
+ const Tooltip = (props: TooltipProps): React.ReactElement => {
30
31
  const {
31
32
  aria = {},
33
+ className,
32
34
  children,
33
35
  data = {},
34
36
  icon = null,
@@ -42,7 +44,10 @@ const Tooltip = (props: TooltipProps) => {
42
44
  const dataProps: { [key: string]: any } = buildDataProps(data)
43
45
  const ariaProps: { [key: string]: any } = buildAriaProps(aria)
44
46
 
45
- const css = classnames(globalProps({...rest}))
47
+ const css = classnames(
48
+ globalProps({...rest}),
49
+ className
50
+ )
46
51
  const [open, setOpen] = useState(false)
47
52
  const arrowRef = useRef(null)
48
53
  const {
@@ -92,44 +97,47 @@ const Tooltip = (props: TooltipProps) => {
92
97
  return (
93
98
  <>
94
99
  <div
95
- ref={reference}
96
- className={`pb_tooltip_kit ${css}`}
97
- style={{ display: "inline-flex" }}
98
- role="tooltip_trigger"
99
- {...ariaProps}
100
- {...dataProps}
100
+ className={`pb_tooltip_kit ${css}`}
101
+ ref={reference}
102
+ role="tooltip_trigger"
103
+ style={{ display: "inline-flex" }}
104
+ {...ariaProps}
105
+ {...dataProps}
101
106
  >
102
107
  {children}
103
108
  </div>
104
109
  {open && (
105
110
  <div
106
- {...getFloatingProps({
107
- role: "tooltip",
108
- ref: floating,
109
- className: `tooltip_tooltip ${placement} visible`,
110
- style: {
111
- position: strategy,
112
- top: y ?? 0,
113
- left: x ?? 0,
114
- zIndex: zIndex ?? 0,
115
- },
116
- })}
111
+ {...getFloatingProps({
112
+ role: "tooltip",
113
+ ref: floating,
114
+ className: `tooltip_tooltip ${placement} visible`,
115
+ style: {
116
+ position: strategy,
117
+ top: y ?? 0,
118
+ left: x ?? 0,
119
+ zIndex: zIndex ?? 0,
120
+ },
121
+ })}
117
122
  >
118
- <Flex gap="xs" align="center">
123
+ <Flex
124
+ align="center"
125
+ gap="xs"
126
+ >
119
127
  {icon && (
120
128
  <i className={`pb_icon_kit far fa-${icon} fa-fw`} />
121
129
  )}
122
130
  {text}
123
131
  </Flex>
124
132
  <div
125
- ref={arrowRef}
126
- className="arrow_bg"
127
- style={{
128
- position: strategy,
129
- left: arrowX != null ? `${arrowX}px` : "",
130
- top: arrowY != null ? `${arrowY}px` : "",
131
- [staticSide]: "-5px",
132
- }}
133
+ className="arrow_bg"
134
+ ref={arrowRef}
135
+ style={{
136
+ position: strategy,
137
+ left: arrowX != null ? `${arrowX}px` : "",
138
+ top: arrowY != null ? `${arrowY}px` : "",
139
+ [staticSide]: "-5px",
140
+ }}
133
141
  />
134
142
  </div>
135
143
  )}
@@ -14,6 +14,7 @@ const TooltipDefaultReact = (props) => {
14
14
  >
15
15
  <FlexItem>
16
16
  <Tooltip
17
+ className={"customClassNameHere"}
17
18
  placement='top'
18
19
  text="Whoa. I'm a Tooltip"
19
20
  zIndex={10}
@@ -51,3 +51,17 @@ test("closes on mouseleave", async () => {
51
51
  cleanup();
52
52
  })
53
53
  });
54
+
55
+ test("closes on mouseleave", async () => {
56
+ render(
57
+ <Tooltip
58
+ className={"Hello World"}
59
+ data={{ testid: "className-test" }}
60
+ />
61
+ );
62
+
63
+ const kit = screen.getByTestId("className-test");
64
+ expect(kit).toHaveClass("Hello World");
65
+
66
+ cleanup();
67
+ });
@@ -18,7 +18,7 @@ import Option from './components/Option'
18
18
  import Placeholder from './components/Placeholder'
19
19
  import ValueContainer from './components/ValueContainer'
20
20
 
21
- import { noop } from '../utilities/props'
21
+ import { noop, buildDataProps } from '../utilities/props'
22
22
 
23
23
  /**
24
24
  * @typedef {object} Props
@@ -32,6 +32,8 @@ type TypeaheadProps = {
32
32
  components?: object,
33
33
  createable?: boolean,
34
34
  dark?: boolean,
35
+ data?: object,
36
+ error?: string,
35
37
  id?: string,
36
38
  label?: string,
37
39
  loadOptions?: string,
@@ -49,6 +51,8 @@ const Typeahead = ({
49
51
  async,
50
52
  components = {},
51
53
  createable,
54
+ error = "",
55
+ data = {},
52
56
  getOptionLabel,
53
57
  getOptionValue,
54
58
  id,
@@ -106,13 +110,18 @@ const Typeahead = ({
106
110
  }
107
111
  }
108
112
 
113
+ const dataProps = buildDataProps(data)
114
+
109
115
  const classes = `pb_typeahead_kit react-select ${globalProps(props)}`
110
116
  const inlineClass = selectProps.inline ? 'inline' : null
111
117
 
112
118
  return (
113
- <div className={classnames(classes, inlineClass)}>
119
+ <div {...dataProps}
120
+ className={classnames(classes, inlineClass)}
121
+ >
114
122
  <Tag
115
123
  classNamePrefix="typeahead-kit-select"
124
+ error={error}
116
125
  onChange={handleOnChange}
117
126
  {...selectProps}
118
127
  />
@@ -181,8 +181,6 @@
181
181
  }
182
182
  }
183
183
  }
184
-
185
-
186
184
 
187
185
  .typeahead-kit-select__menu {
188
186
  .typeahead-kit-select__option {
@@ -0,0 +1,95 @@
1
+ import React from 'react'
2
+ import { render, screen } from '../utilities/test-utils'
3
+ import Typeahead from './_typeahead'
4
+
5
+ const options = [
6
+ { label: 'Orange', value: '#FFA500' },
7
+ { label: 'Red', value: '#FF0000' },
8
+ { label: 'Green', value: '#00FF00' },
9
+ { label: 'Blue', value: '#0000FF' },
10
+ ]
11
+
12
+ test('typeahead classname + label renders as expected', () => {
13
+ render(
14
+ <Typeahead
15
+ data={{ testid: 'typeahead-test' }}
16
+ defaultValue={[options[0]]}
17
+ label="Colors"
18
+ options={options}
19
+ />
20
+ )
21
+
22
+ const kit = screen.getByTestId('typeahead-test')
23
+ const label = kit.querySelector(".pb_caption_kit_md.pb_text_input_kit_label")
24
+ expect(kit).toHaveClass("pb_typeahead_kit")
25
+ expect(label).toHaveTextContent("Colors")
26
+ })
27
+
28
+ test('to be error variant', () => {
29
+ render(
30
+ <Typeahead
31
+ data={{ testid: 'error-test' }}
32
+ error='Please make a valid selection'
33
+ options={options}
34
+ />
35
+ )
36
+
37
+ const kit = screen.getByTestId("error-test")
38
+ const error = kit.querySelector(".pb_body_kit_negative")
39
+ expect(error).toBeInTheDocument()
40
+ })
41
+
42
+ test('should be inline variant', () => {
43
+ render(
44
+ <Typeahead
45
+ data={{ testid: 'inline-test' }}
46
+ inline
47
+ options={options}
48
+ />
49
+ )
50
+
51
+ const kit = screen.getByTestId('inline-test')
52
+ expect(kit).toHaveClass("inline")
53
+ })
54
+
55
+ test('typeahead with pills', () => {
56
+ render(
57
+ <Typeahead
58
+ data={{ testid: 'pills-test' }}
59
+ defaultValue={[options[0]]}
60
+ isMulti
61
+ options={options}
62
+ />
63
+ )
64
+
65
+ const kit = screen.getByTestId('pills-test')
66
+ const pill = kit.querySelector(".pb_form_pill_kit_primary")
67
+ expect(pill).toBeInTheDocument()
68
+ })
69
+
70
+ test('typeahead multi select with badges and small pills', () => {
71
+ render(
72
+ <>
73
+ <Typeahead
74
+ data={{ testid: 'badge-test' }}
75
+ defaultValue={[options[0]]}
76
+ isMulti
77
+ multiKit="badge"
78
+ options={options}
79
+ />
80
+
81
+ <Typeahead
82
+ data={{ testid: 'small-pill-test' }}
83
+ defaultValue={[options[0]]}
84
+ isMulti
85
+ multiKit="smallPill"
86
+ options={options}
87
+ />
88
+ </>
89
+ )
90
+
91
+ const kit = screen.getByTestId('small-pill-test')
92
+ const badge = kit.querySelector(".pb_form_pill_kit_primary.mr_xs.small")
93
+ expect(badge).toBeInTheDocument()
94
+ })
95
+
@@ -7,7 +7,7 @@ const ClearContainer = (props: any) => {
7
7
  const { selectProps, clearValue } = props
8
8
  useEffect(() => {
9
9
  document.addEventListener(`pb-typeahead-kit-${selectProps.id}:clear`, clearValue)
10
- }, true)
10
+ }, [true])
11
11
 
12
12
  return (
13
13
  <components.ClearIndicator
@@ -14,6 +14,7 @@ const TypeaheadControl = (props: Props) => (
14
14
  <div className="pb_typeahead_wrapper">
15
15
  <TextInput
16
16
  dark={props.selectProps.dark}
17
+ error={props.selectProps.error}
17
18
  label={props.selectProps.label}
18
19
  >
19
20
  <Flex>
@@ -0,0 +1,19 @@
1
+ <%
2
+ options = [
3
+ { label: 'Windows', value: '#FFA500' },
4
+ { label: 'Siding', value: '#FF0000' },
5
+ { label: 'Doors', value: '#00FF00' },
6
+ { label: 'Roofs', value: '#0000FF' },
7
+ ]
8
+
9
+ %>
10
+
11
+ <%= pb_rails("typeahead", props: { id: "typeahead-error-example", options: options, error: "Please make a valid selection", label: "Products", name: :foo, is_multi: false }) %>
12
+
13
+ <!-- This section is an example of the available JavaScript event hooks -->
14
+ <%= javascript_tag defer: "defer" do %>
15
+ document.addEventListener("pb-typeahead-kit-typeahead-error-example-result-option-select", function(event) {
16
+ console.log('Option selected')
17
+ console.dir(event.detail)
18
+ })
19
+ <% end %>
@@ -0,0 +1,39 @@
1
+ // @flow
2
+
3
+ import React, { useState, useEffect } from 'react'
4
+
5
+ import Typeahead from '../_typeahead'
6
+
7
+ const options = [
8
+ { label: 'Orange', value: '#FFA500' },
9
+ { label: 'Red', value: '#FF0000' },
10
+ { label: 'Green', value: '#00FF00' },
11
+ { label: 'Blue', value: '#0000FF' },
12
+ ]
13
+
14
+ const TypeaheadErrorState = (props) => {
15
+ const [errorState, setErrorState] = useState("Please make a valid selection");
16
+ const [searchValue, setSearchValue] = useState(null);
17
+
18
+ const handleOnChange = (value) => setSearchValue(value)
19
+
20
+ useEffect(() => {
21
+ if(searchValue) {
22
+ setErrorState("")
23
+ } else {
24
+ setErrorState("Please make a valid selection")
25
+ }
26
+ }, [searchValue])
27
+
28
+ return (
29
+ <Typeahead
30
+ error={errorState}
31
+ label="Colors"
32
+ onChange={handleOnChange}
33
+ options={options}
34
+ {...props}
35
+ />
36
+ )
37
+ }
38
+
39
+ export default TypeaheadErrorState
@@ -0,0 +1 @@
1
+ Typeahead w/ Error shows that an option must be selected or the selected option is invalid (i.e., when used in a form it signals a user to fix an error).
@@ -8,6 +8,7 @@ examples:
8
8
  - typeahead_with_pills_async_users: With Pills (Async Data w/ Users)
9
9
  - typeahead_inline: Inline
10
10
  - typeahead_multi_kit: Multi Kit Options
11
+ - typeahead_error_state: Error State
11
12
 
12
13
  react:
13
14
  - typeahead_default: Default
@@ -20,3 +21,4 @@ examples:
20
21
  - typeahead_multi_kit: Multi Kit Options
21
22
  - typeahead_createable: Createable
22
23
  - typeahead_async_createable: Createable (+ Async Data)
24
+ - typeahead_error_state: Error State
@@ -8,3 +8,4 @@ export { default as TypeaheadInline } from './_typeahead_inline.jsx'
8
8
  export { default as TypeaheadMultiKit } from './_typeahead_multi_kit.jsx'
9
9
  export { default as TypeaheadCreateable } from './_typeahead_createable.jsx'
10
10
  export { default as TypeaheadAsyncCreateable } from './_typeahead_async_createable.jsx'
11
+ export { default as TypeaheadErrorState } from './_typeahead_error_state.jsx'
@@ -5,6 +5,8 @@ module Playbook
5
5
  class Typeahead < Playbook::KitBase
6
6
  prop :async, type: Playbook::Props::Boolean, default: false
7
7
  prop :default_options, type: Playbook::Props::HashArray, default: []
8
+ prop :error, type: Playbook::Props::String,
9
+ default: ""
8
10
  prop :get_option_label
9
11
  prop :get_option_value
10
12
  prop :id
@@ -57,6 +59,7 @@ module Playbook
57
59
  base_options = {
58
60
  dark: dark,
59
61
  defaultValue: default_options,
62
+ error: error,
60
63
  id: id,
61
64
  inline: inline,
62
65
  isMulti: is_multi,
@@ -55,6 +55,7 @@ import * as Lightbox from 'pb_lightbox/docs'
55
55
  import * as LineGraphDocs from 'pb_line_graph/docs'
56
56
  import * as List from 'pb_list/docs'
57
57
  import * as LoadingInline from 'pb_loading_inline/docs'
58
+ import * as Map from 'pb_map/docs'
58
59
  import * as Message from 'pb_message/docs'
59
60
  import * as MultipleUsers from 'pb_multiple_users/docs'
60
61
  import * as MultipleUsersStacked from 'pb_multiple_users_stacked/docs'
@@ -152,6 +153,7 @@ WebpackerReact.setup({
152
153
  ...LineGraphDocs,
153
154
  ...List,
154
155
  ...LoadingInline,
156
+ ...Map,
155
157
  ...Message,
156
158
  ...MultipleUsers,
157
159
  ...MultipleUsersStacked,
@@ -59,9 +59,11 @@ $main_colors: (
59
59
  Background colors ------------------*/
60
60
  $bg_light: $silver !default;
61
61
  $bg_dark: #0a0527 !default;
62
+ $bg_dark_card: #231E3D;
62
63
  $background_colors: (
63
64
  bg_light: $bg_light,
64
- bg_dark: $bg_dark
65
+ bg_dark: $bg_dark,
66
+ bg_dark_card: $bg_dark_card
65
67
  );
66
68
 
67
69
  /* Card colors ------------------*/
@@ -94,11 +96,13 @@ $hover_colors: (
94
96
  );
95
97
 
96
98
  /* Focus colors -----------------------*/
99
+ $focus_color: $primary;
97
100
  $focus_input_light: rgba($active_light, $opacity_5);
98
101
  $focus_input_dark: rgba(#144075, $opacity_5);
99
102
  $focus_input_colors: (
100
103
  focus_input_light: $focus_input_light,
101
- focus_input_dark: $focus_input_dark
104
+ focus_input_dark: $focus_input_dark,
105
+ focus_color: $focus_color
102
106
  );
103
107
 
104
108
  /* Border colors ----------------------*/
@@ -0,0 +1,12 @@
1
+ @mixin focus {
2
+ &:focus-visible {
3
+ outline: none;
4
+ box-shadow: 0px 0px 0 2px white, 0px 0px 0 4px $primary_action;
5
+ }
6
+ }
7
+ @mixin focus-dark {
8
+ &:focus-visible {
9
+ outline: none;
10
+ box-shadow: 0px 0px 0 2px $bg_dark_card, 0px 0px 0 4px $primary_action;
11
+ }
12
+ }
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- PREVIOUS_VERSION = "12.0.0"
5
- VERSION = "12.1.0"
4
+ PREVIOUS_VERSION = "12.3.0"
5
+ VERSION = "12.3.0.pre.alpha.patchtest1"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.1.0
4
+ version: 12.3.0.pre.alpha.patchtest1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-02-02 00:00:00.000000000 Z
12
+ date: 2023-02-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -1389,6 +1389,15 @@ files:
1389
1389
  - app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb
1390
1390
  - app/pb_kits/playbook/pb_loading_inline/loading_inline.rb
1391
1391
  - app/pb_kits/playbook/pb_logistic/_logistic.jsx
1392
+ - app/pb_kits/playbook/pb_map/_map.scss
1393
+ - app/pb_kits/playbook/pb_map/_map.tsx
1394
+ - app/pb_kits/playbook/pb_map/docs/_map_default.jsx
1395
+ - app/pb_kits/playbook/pb_map/docs/_map_default.md
1396
+ - app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx
1397
+ - app/pb_kits/playbook/pb_map/docs/_map_with_plugin.md
1398
+ - app/pb_kits/playbook/pb_map/docs/example.yml
1399
+ - app/pb_kits/playbook/pb_map/docs/index.js
1400
+ - app/pb_kits/playbook/pb_map/map.test.jsx
1392
1401
  - app/pb_kits/playbook/pb_message/_message.jsx
1393
1402
  - app/pb_kits/playbook/pb_message/_message.scss
1394
1403
  - app/pb_kits/playbook/pb_message/_message_mixins.scss
@@ -1588,8 +1597,8 @@ files:
1588
1597
  - app/pb_kits/playbook/pb_progress_pills/docs/index.js
1589
1598
  - app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb
1590
1599
  - app/pb_kits/playbook/pb_progress_pills/progress_pills.rb
1591
- - app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx
1592
1600
  - app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss
1601
+ - app/pb_kits/playbook/pb_progress_simple/_progress_simple.tsx
1593
1602
  - app/pb_kits/playbook/pb_progress_simple/docs/_description.md
1594
1603
  - app/pb_kits/playbook/pb_progress_simple/docs/_footer.md
1595
1604
  - app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_align.html.erb
@@ -1609,6 +1618,7 @@ files:
1609
1618
  - app/pb_kits/playbook/pb_progress_simple/docs/index.js
1610
1619
  - app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb
1611
1620
  - app/pb_kits/playbook/pb_progress_simple/progress_simple.rb
1621
+ - app/pb_kits/playbook/pb_progress_simple/progress_simple.test.js
1612
1622
  - app/pb_kits/playbook/pb_progress_step/_progress_step.jsx
1613
1623
  - app/pb_kits/playbook/pb_progress_step/_progress_step.scss
1614
1624
  - app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx
@@ -1812,8 +1822,8 @@ files:
1812
1822
  - app/pb_kits/playbook/pb_star_rating/docs/index.js
1813
1823
  - app/pb_kits/playbook/pb_star_rating/star_rating.html.erb
1814
1824
  - app/pb_kits/playbook/pb_star_rating/star_rating.rb
1815
- - app/pb_kits/playbook/pb_stat_change/_stat_change.jsx
1816
1825
  - app/pb_kits/playbook/pb_stat_change/_stat_change.scss
1826
+ - app/pb_kits/playbook/pb_stat_change/_stat_change.tsx
1817
1827
  - app/pb_kits/playbook/pb_stat_change/docs/_description.md
1818
1828
  - app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.html.erb
1819
1829
  - app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.jsx
@@ -1826,8 +1836,9 @@ files:
1826
1836
  - app/pb_kits/playbook/pb_stat_change/docs/index.js
1827
1837
  - app/pb_kits/playbook/pb_stat_change/stat_change.html.erb
1828
1838
  - app/pb_kits/playbook/pb_stat_change/stat_change.rb
1829
- - app/pb_kits/playbook/pb_stat_value/_stat_value.jsx
1839
+ - app/pb_kits/playbook/pb_stat_change/stat_change.test.js
1830
1840
  - app/pb_kits/playbook/pb_stat_value/_stat_value.scss
1841
+ - app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
1831
1842
  - app/pb_kits/playbook/pb_stat_value/docs/_description.md
1832
1843
  - app/pb_kits/playbook/pb_stat_value/docs/_footer.md
1833
1844
  - app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.html.erb
@@ -1841,6 +1852,7 @@ files:
1841
1852
  - app/pb_kits/playbook/pb_stat_value/docs/index.js
1842
1853
  - app/pb_kits/playbook/pb_stat_value/stat_value.html.erb
1843
1854
  - app/pb_kits/playbook/pb_stat_value/stat_value.rb
1855
+ - app/pb_kits/playbook/pb_stat_value/stat_value.test.js
1844
1856
  - app/pb_kits/playbook/pb_table/_table.jsx
1845
1857
  - app/pb_kits/playbook/pb_table/_table.scss
1846
1858
  - app/pb_kits/playbook/pb_table/_table_row.jsx
@@ -1998,8 +2010,8 @@ files:
1998
2010
  - app/pb_kits/playbook/pb_time_range_inline/docs/index.js
1999
2011
  - app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb
2000
2012
  - app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
2001
- - app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx
2002
2013
  - app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss
2014
+ - app/pb_kits/playbook/pb_time_stacked/_time_stacked.tsx
2003
2015
  - app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.html.erb
2004
2016
  - app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx
2005
2017
  - app/pb_kits/playbook/pb_time_stacked/docs/example.yml
@@ -2025,8 +2037,8 @@ files:
2025
2037
  - app/pb_kits/playbook/pb_timeline/timeline.html.erb
2026
2038
  - app/pb_kits/playbook/pb_timeline/timeline.rb
2027
2039
  - app/pb_kits/playbook/pb_timestamp/_timestamp-mixins.scss
2028
- - app/pb_kits/playbook/pb_timestamp/_timestamp.jsx
2029
2040
  - app/pb_kits/playbook/pb_timestamp/_timestamp.scss
2041
+ - app/pb_kits/playbook/pb_timestamp/_timestamp.tsx
2030
2042
  - app/pb_kits/playbook/pb_timestamp/docs/_description.md
2031
2043
  - app/pb_kits/playbook/pb_timestamp/docs/_footer.md
2032
2044
  - app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md
@@ -2149,6 +2161,7 @@ files:
2149
2161
  - app/pb_kits/playbook/pb_treemap_chart/treemap_chart.rb
2150
2162
  - app/pb_kits/playbook/pb_typeahead/_typeahead.jsx
2151
2163
  - app/pb_kits/playbook/pb_typeahead/_typeahead.scss
2164
+ - app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx
2152
2165
  - app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx
2153
2166
  - app/pb_kits/playbook/pb_typeahead/components/Control.jsx
2154
2167
  - app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.jsx
@@ -2163,6 +2176,9 @@ files:
2163
2176
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.jsx
2164
2177
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb
2165
2178
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx
2179
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb
2180
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.jsx
2181
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.md
2166
2182
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.html.erb
2167
2183
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.jsx
2168
2184
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.html.erb
@@ -2283,6 +2299,7 @@ files:
2283
2299
  - app/pb_kits/playbook/utilities/_cursor.scss
2284
2300
  - app/pb_kits/playbook/utilities/_display.scss
2285
2301
  - app/pb_kits/playbook/utilities/_flexbox.scss
2302
+ - app/pb_kits/playbook/utilities/_focus.scss
2286
2303
  - app/pb_kits/playbook/utilities/_line_height.scss
2287
2304
  - app/pb_kits/playbook/utilities/_max_width.scss
2288
2305
  - app/pb_kits/playbook/utilities/_mixins.scss
@@ -2389,9 +2406,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
2389
2406
  version: '0'
2390
2407
  required_rubygems_version: !ruby/object:Gem::Requirement
2391
2408
  requirements:
2392
- - - ">="
2409
+ - - ">"
2393
2410
  - !ruby/object:Gem::Version
2394
- version: '0'
2411
+ version: 1.3.1
2395
2412
  requirements: []
2396
2413
  rubygems_version: 3.3.7
2397
2414
  signing_key: