playbook_ui 14.24.0.pre.rc.3 → 14.24.0.pre.rc.4

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.
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "14.23.0"
5
- VERSION = "14.24.0.pre.rc.3"
5
+ VERSION = "14.24.0.pre.rc.4"
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: 14.24.0.pre.rc.3
4
+ version: 14.24.0.pre.rc.4
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: 2025-07-23 00:00:00.000000000 Z
12
+ date: 2025-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -3516,17 +3516,6 @@ files:
3516
3516
  - app/pb_kits/playbook/pb_user_badge/user_badge.html.erb
3517
3517
  - app/pb_kits/playbook/pb_user_badge/user_badge.rb
3518
3518
  - app/pb_kits/playbook/pb_user_badge/user_badge.test.js
3519
- - app/pb_kits/playbook/pb_walkthrough/_walkthrough.scss
3520
- - app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx
3521
- - app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx
3522
- - app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx
3523
- - app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx
3524
- - app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx
3525
- - app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx
3526
- - app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx
3527
- - app/pb_kits/playbook/pb_walkthrough/docs/example.yml
3528
- - app/pb_kits/playbook/pb_walkthrough/docs/index.js
3529
- - app/pb_kits/playbook/pb_walkthrough/walkthrough.test.jsx
3530
3519
  - app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss
3531
3520
  - app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.tsx
3532
3521
  - app/pb_kits/playbook/pb_weekday_stacked/docs/_weekday_stacked_compact.html.erb
@@ -3636,7 +3625,7 @@ files:
3636
3625
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3637
3626
  - dist/chunks/_line_graph-BfCo79KE.js
3638
3627
  - dist/chunks/_typeahead-Db4YQA5c.js
3639
- - dist/chunks/_weekday_stacked-DknbEzxo.js
3628
+ - dist/chunks/_weekday_stacked-9aguRqOv.js
3640
3629
  - dist/chunks/lazysizes-B7xYodB-.js
3641
3630
  - dist/chunks/lib-DnQyMxO1.js
3642
3631
  - dist/chunks/pb_form_validation-kl-4Jv4t.js
@@ -1,202 +0,0 @@
1
- /* eslint-disable react/no-multi-comp */
2
-
3
- import React from 'react'
4
- import classnames from 'classnames'
5
- import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
6
- import { globalProps } from '../utilities/globalProps'
7
- import Joyride, { TooltipRenderProps } from 'react-joyride'
8
- import Button from '../pb_button/_button'
9
- import Flex from '../pb_flex/_flex'
10
- import SectionSeparator from '../pb_section_separator/_section_separator'
11
- import Title from '../pb_title/_title'
12
-
13
- type WalkthroughProps = {
14
- aria?: { [key: string]: string },
15
- callback?: () => void,
16
- className?: string,
17
- continuous?: boolean,
18
- data?: { [key: string]: string },
19
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
20
- id?: string,
21
- run?: boolean,
22
- steps?: [],
23
- stepIndex?: number,
24
- debug?: boolean,
25
- disableCloseOnEsc?: boolean,
26
- disableOverlay?: boolean,
27
- disableOverlayClose?: boolean,
28
- disableScrolling?: boolean,
29
- floaterProps?: Record<string, unknown>,
30
- hideBackButton?: boolean,
31
- hideCloseButton?: boolean,
32
- showProgress?: boolean,
33
- showSkipButton?: boolean,
34
- spotlightClicks?: boolean,
35
- spotlightPadding?: number,
36
- styles?: {
37
- options: {
38
- beaconSize?: number,
39
- arrowColor?: string,
40
- backgroundColor?: string,
41
- primaryColor?: string,
42
- overlayColor?: string,
43
- spotlightShadow?: string,
44
- width?: number,
45
- zIndex?: number,
46
- },
47
- },
48
- }
49
-
50
- type TooltipProps = {
51
- continuous?: boolean,
52
- className?: string,
53
- index?: number,
54
- isLastStep?: boolean,
55
- size?: number,
56
- step: {
57
- title?: string,
58
- content?: React.ReactNode[] | React.ReactNode | string,
59
- target: string,
60
- disableBeacon?: boolean,
61
- },
62
- skip?: boolean,
63
- backProps?: Record<string, unknown>,
64
- closeProps?: Record<string, unknown>,
65
- primaryProps?: Record<string, unknown>,
66
- skipProps?: Record<string, unknown>,
67
- tooltipProps?: Record<string, unknown>,
68
- }
69
-
70
- // eslint-disable-next-line react/display-name
71
- const Tooltip = React.forwardRef((props: TooltipProps) => (
72
- <div
73
- className="pb_card_kit_border_none p_none"
74
- {...props.tooltipProps}
75
- >
76
- {props.step.title && <div>
77
- <Flex
78
- align="center"
79
- justify="between"
80
- padding="xs"
81
- >
82
- <Title
83
- paddingLeft="xs"
84
- size={4}
85
- >
86
- {props.step.title}
87
- </Title>
88
- {props.skip && (
89
- <Button
90
- {...props.skipProps}
91
- id="skip"
92
- text="Skip Tour"
93
- variant="link"
94
- />
95
- )}
96
- <Button
97
- {...props.skipProps}
98
- id="skip"
99
- text="Skip Tour"
100
- variant="link"
101
- />
102
- </Flex>
103
- <SectionSeparator />
104
- </div>}
105
-
106
- <Flex padding="sm">{props.step.content}</Flex>
107
- <SectionSeparator />
108
- <Flex
109
- justify={props.index == 0 ? 'end' : 'between'}
110
- padding="xs"
111
- >
112
-
113
- {props.index > 0 && (
114
- <Button
115
- {...props.backProps}
116
- id="back"
117
- text="Back"
118
- />
119
- )}
120
-
121
- {props.continuous && !props.isLastStep &&
122
- <Button
123
- {...props.primaryProps}
124
- id="next"
125
- text="Next"
126
- />
127
- }
128
-
129
- {!props.continuous &&
130
- <Button
131
- {...props.closeProps}
132
- id="close"
133
- text="Close"
134
- />
135
- }
136
-
137
- {!((props.continuous && !props.isLastStep) || (!props.continuous)) &&
138
- <Button
139
- {...props.closeProps}
140
- id="close"
141
- text="Close"
142
- />
143
- }
144
- </Flex>
145
- </div>
146
- )) as unknown as React.ForwardRefRenderFunction<HTMLDivElement, TooltipRenderProps>
147
-
148
- const Walkthrough = (props: WalkthroughProps): React.ReactElement => {
149
- const {
150
- aria = {},
151
- callback,
152
- className,
153
- continuous = false,
154
- data = {},
155
- disableOverlay,
156
- floaterProps = {
157
- offset: 50,
158
- },
159
- htmlOptions = {},
160
- id,
161
- run = false,
162
- steps,
163
- styles = {
164
- options: {
165
- zIndex: 20000,
166
- },
167
- },
168
- showSkipButton,
169
- } = props
170
-
171
- const ariaProps = buildAriaProps(aria)
172
- const dataProps = buildDataProps(data)
173
- const htmlProps = buildHtmlProps(htmlOptions)
174
- const classes = classnames(buildCss('pb_walkthrough'), globalProps(props), className)
175
-
176
- return (
177
- <div
178
- {...ariaProps}
179
- {...dataProps}
180
- {...htmlProps}
181
- className={classes}
182
- id={id}
183
- >
184
- <Joyride
185
- callback={callback}
186
- continuous={continuous}
187
- disableOverlay={disableOverlay}
188
- disableScrolling
189
- floaterProps={floaterProps}
190
- run={run}
191
- showSkipButton={showSkipButton}
192
- steps={steps}
193
- styles={styles}
194
- tooltipComponent={Tooltip}
195
- {...props}
196
- />
197
- </div>
198
-
199
- )
200
- }
201
-
202
- export default Walkthrough
@@ -1,69 +0,0 @@
1
- import React, { useState } from 'react'
2
- import Button from '../../pb_button/_button'
3
- import Walkthrough from '../../pb_walkthrough/_walkthrough'
4
-
5
- const WalkthroughContinuous = (props) => {
6
- const [state, setState] = useState({
7
- run: false,
8
- steps: [
9
- {
10
- title: 'Example Title',
11
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
12
- target: '.examplePaused',
13
- },
14
- {
15
- title: 'Toggle',
16
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
17
- target: '.pb_toggle_control',
18
- },
19
- {
20
- title: 'Top Nav',
21
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
22
- target: '.pb--page--topNav',
23
- },
24
- ],
25
- })
26
-
27
- return (
28
- <div>
29
- <div
30
- className="examplePaused"
31
- style={{ 'display': 'inline' }}
32
- >
33
- {'Start the Tour. Then click the Beacon to demo the default behavior of the Walkthrough Kit'}
34
- </div>
35
- <br />
36
- <br />
37
- <Button
38
- onClick={() => {
39
- setState({ ...state,
40
- run: true,
41
- })
42
- }}
43
- >
44
- {'Start Tour'}
45
- </Button>
46
- <br />
47
- <br />
48
- <Button
49
- onClick={() => {
50
- setState({
51
- ...state,
52
- run: false,
53
- })
54
- }}
55
- >
56
- {'Reset/Stop Tour'}
57
- </Button>
58
-
59
- <Walkthrough
60
- run={state.run}
61
- steps={state.steps}
62
- {...props}
63
- continuous
64
- />
65
- </div>
66
- )
67
- }
68
-
69
- export default WalkthroughContinuous
@@ -1,71 +0,0 @@
1
- import React, { useState } from 'react'
2
- import Button from '../../pb_button/_button'
3
- import Walkthrough from '../../pb_walkthrough/_walkthrough'
4
-
5
- const WalkthroughDefault = (props) => {
6
- const [state, setState] = useState({
7
- run: false,
8
- steps: [
9
- {
10
- title: 'Example title',
11
- content:
12
- 'This was an example of a Beacon in the Walkthrough Kit it is used as a simple indicator to inform users about a particular thing',
13
- target: '.example',
14
- },
15
- {
16
- title: 'Toggle',
17
- content:
18
- 'By default the walkthrough kit will cycle through each step provided.',
19
- target: '.pb_toggle_control',
20
- },
21
- {
22
- title: 'Top Nav',
23
- content:
24
- 'By default the walkthrough kit will cycle through each step provided.',
25
- target: '.pb--page--topNav',
26
- },
27
- ],
28
- })
29
-
30
- return (
31
- <div>
32
- <div
33
- className="example"
34
- style={{ 'display': 'inline' }}
35
- >
36
- {'Start the Tour. Then click the Beacon to demo the default behavior of the Walkthrough Kit'}
37
- </div>
38
- <br />
39
- <br />
40
- <Button
41
- onClick={() => {
42
- setState({ ...state,
43
- run: true,
44
- })
45
- }}
46
- >
47
- {'Start Tour'}
48
- </Button>
49
- <br />
50
- <br />
51
- <Button
52
- onClick={() => {
53
- setState({
54
- ...state,
55
- run: false,
56
- })
57
- }}
58
- >
59
- {'Reset/Stop Tour'}
60
- </Button>
61
-
62
- <Walkthrough
63
- run={state.run}
64
- steps={state.steps}
65
- {...props}
66
- />
67
- </div>
68
- )
69
- }
70
-
71
- export default WalkthroughDefault
@@ -1,110 +0,0 @@
1
- import React, { useState } from 'react'
2
- import Button from '../../pb_button/_button'
3
- import Walkthrough from '../../pb_walkthrough/_walkthrough'
4
-
5
- const WalkthroughMultiBeacon = (props) => {
6
- const [stateA, setStateA] = useState({
7
- run: false,
8
- steps: [
9
- {
10
- title: 'Example title',
11
- content:
12
- 'This was an example of a Beacon in the Walkthrough Kit it is used as a simple indicator to inform users about a particular thing',
13
- target: '.exampleMulti',
14
- },
15
- ],
16
- })
17
-
18
- const [stateB, setStateB] = useState({
19
- run: false,
20
- steps: [
21
- {
22
- title: 'Toggle',
23
- content:
24
- 'By default the walkthrough kit will cycle through each step provided.',
25
- target: '.pb_toggle_control',
26
- },
27
- ],
28
- })
29
-
30
- const [stateC, setStateC] = useState({
31
- run: false,
32
- steps: [
33
- {
34
- title: 'Top Nav',
35
- content:
36
- 'By default the walkthrough kit will cycle through each step provided.',
37
- target: '.pb--page--topNav',
38
- },
39
- ],
40
- })
41
-
42
- return (
43
- <div>
44
- <div
45
- className="exampleMulti"
46
- style={{ 'display': 'inline' }}
47
- >
48
- {'Start the Tour. Then click the Beacon to demo the default behavior of the Walkthrough Kit'}
49
- </div>
50
- <br />
51
- <br />
52
- <Button
53
- onClick={() => {
54
- setStateA({
55
- ...stateA,
56
- run: true,
57
- })
58
- setStateB({
59
- ...stateB,
60
- run: true,
61
- })
62
- setStateC({
63
- ...stateC,
64
- run: true,
65
- })
66
- }}
67
- >
68
- {'Start Tour'}
69
- </Button>
70
- <br />
71
- <br />
72
- <Button
73
- onClick={() => {
74
- setStateA({
75
- ...stateA,
76
- run: false,
77
- })
78
- setStateB({
79
- ...stateB,
80
- run: false,
81
- })
82
- setStateC({
83
- ...stateC,
84
- run: false,
85
- })
86
- }}
87
- >
88
- {'Reset/Stop Tour'}
89
- </Button>
90
-
91
- <Walkthrough
92
- run={stateA.run}
93
- steps={stateA.steps}
94
- {...props}
95
- />
96
- <Walkthrough
97
- run={stateB.run}
98
- steps={stateB.steps}
99
- {...props}
100
- />
101
- <Walkthrough
102
- run={stateC.run}
103
- steps={stateC.steps}
104
- {...props}
105
- />
106
- </div>
107
- )
108
- }
109
-
110
- export default WalkthroughMultiBeacon
@@ -1,76 +0,0 @@
1
- import React, { useState } from 'react'
2
- import Button from '../../pb_button/_button'
3
- import Walkthrough from '../../pb_walkthrough/_walkthrough'
4
-
5
- const WalkthroughNoBeacon = (props) => {
6
- const [state, setState] = useState({
7
- callback: (data) => {
8
- if (data.action === 'close' && data.type === 'step:after') {
9
- // This explicitly stops the tour (otherwise it displays a "beacon" to resume the tour)
10
- setState({ ...state, run: false })
11
- }
12
- },
13
- run: false,
14
- steps: [
15
- {
16
- title: 'Example Title',
17
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
18
- target: '.exampleNoBeacon',
19
- disableBeacon: true,
20
- },
21
- {
22
- title: 'Toggle',
23
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
24
- target: '.pb_toggle_control',
25
- },
26
- {
27
- title: 'Top Nav',
28
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
29
- target: '.pb--page--topNav',
30
- },
31
- ],
32
- })
33
-
34
- return (
35
- <div>
36
- <div
37
- className="exampleNoBeacon"
38
- style={{ 'display': 'inline' }}
39
- >
40
- {'Start the Tour. Then click the Beacon to demo the default behavior of the Walkthrough Kit'}
41
- </div>
42
- <br />
43
- <br />
44
- <Button
45
- onClick={() => {
46
- setState({ ...state,
47
- run: true,
48
- })
49
- }}
50
- >
51
- {'Start Tour'}
52
- </Button>
53
- <br />
54
- <br />
55
- <Button
56
- onClick={() => {
57
- setState({
58
- ...state,
59
- run: false,
60
- })
61
- }}
62
- >
63
- {'Reset/Stop Tour'}
64
- </Button>
65
-
66
- <Walkthrough
67
- run={state.run}
68
- steps={state.steps}
69
- {...props}
70
- continuous
71
- />
72
- </div>
73
- )
74
- }
75
-
76
- export default WalkthroughNoBeacon
@@ -1,76 +0,0 @@
1
- import React, { useState } from 'react'
2
- import Button from '../../pb_button/_button'
3
- import Walkthrough from '../../pb_walkthrough/_walkthrough'
4
-
5
- const WalkthroughNoOverlay = (props) => {
6
- const [noOverlay, setNoOverlayState] = useState({
7
- callback: (data) => {
8
- if (data.action === 'close' && data.type === 'step:after') {
9
- // This explicitly stops the tour (otherwise it displays a "beacon" to resume the tour)
10
- setNoOverlayState({ ...noOverlay, run: false })
11
- }
12
- },
13
- disableOverlay: true,
14
- run: false,
15
- steps: [
16
- {
17
- title: 'Example Title',
18
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
19
- target: '.exampleNoOverlay',
20
- },
21
- {
22
- title: 'Toggle',
23
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
24
- target: '.pb_toggle_control',
25
- },
26
- {
27
- title: 'Top Nav',
28
- content: 'Setting the prop - continuous allows the next button to appear and lets the user move to the next step by pressing the next button instead of the beacon',
29
- target: '.pb--page--topNav',
30
- },
31
- ],
32
- })
33
-
34
- return (
35
- <div>
36
- <div
37
- className="exampleNoOverlay"
38
- style={{ 'display': 'inline' }}
39
- >
40
- {'Start the Tour. Then click the Beacon to demo the default behavior of the Walkthrough Kit'}
41
- </div>
42
- <br />
43
- <br />
44
- <Button
45
- onClick={() => {
46
- setNoOverlayState({ ...noOverlay,
47
- run: true,
48
- })
49
- }}
50
- >
51
- {'Start Tour'}
52
- </Button>
53
- <br />
54
- <br />
55
- <Button
56
- onClick={() => {
57
- setNoOverlayState({
58
- ...noOverlay,
59
- run: false,
60
- })
61
- }}
62
- >
63
- {'Reset/Stop Tour'}
64
- </Button>
65
-
66
- <Walkthrough
67
- disableOverlay
68
- run={noOverlay.run}
69
- steps={noOverlay.steps}
70
- {...props}
71
- />
72
- </div>
73
- )
74
- }
75
-
76
- export default WalkthroughNoOverlay