playbook_ui 11.7.0.pre.alpha.pre.guagechart1 → 11.7.0.pre.alpha.table1

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/index.js +1 -1
  3. data/app/pb_kits/playbook/pb_date_picker/{_date_picker.jsx → _date_picker.tsx} +58 -66
  4. data/app/pb_kits/playbook/pb_date_picker/{date_picker_helper.js → date_picker_helper.ts} +37 -16
  5. data/app/pb_kits/playbook/pb_date_picker/plugins/timeSelect.ts +171 -0
  6. data/app/pb_kits/playbook/pb_date_range_stacked/{_date_range_stacked.jsx → _date_range_stacked.tsx} +5 -6
  7. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +127 -0
  8. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.tsx +90 -0
  9. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +151 -0
  10. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_align.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold.jsx +1 -1
  12. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_default.jsx +1 -1
  13. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_not_current_year.jsx +1 -1
  14. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_reverse.jsx +1 -1
  15. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_sizes.jsx +1 -1
  16. data/app/pb_kits/playbook/pb_dialog/{_close_icon.jsx → _close_icon.tsx} +1 -3
  17. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +217 -0
  18. data/app/pb_kits/playbook/pb_dialog/_dialog_context.tsx +3 -0
  19. data/app/pb_kits/playbook/pb_dialog/child_kits/{_dialog_body.jsx → _dialog_body.tsx} +6 -2
  20. data/app/pb_kits/playbook/pb_dialog/child_kits/{_dialog_footer.jsx → _dialog_footer.tsx} +8 -11
  21. data/app/pb_kits/playbook/pb_dialog/child_kits/{_dialog_header.jsx → _dialog_header.tsx} +12 -15
  22. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slides.tsx +33 -0
  23. data/app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnails.tsx +1 -3
  24. data/app/pb_kits/playbook/pb_lightbox/Carousel/index.tsx +3 -1
  25. data/app/pb_kits/playbook/pb_lightbox/{_lightbox_header.tsx → Header/_lightbox_header.tsx} +8 -8
  26. data/app/pb_kits/playbook/pb_lightbox/{_lightbox_header_icon.tsx → Header/_lightbox_header_icon.tsx} +2 -2
  27. data/app/pb_kits/playbook/pb_lightbox/_lightbox.tsx +2 -1
  28. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +8 -60
  29. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +5 -5
  30. data/app/pb_kits/playbook/pb_table/_table.jsx +5 -3
  31. data/app/pb_kits/playbook/pb_title/_title.tsx +1 -1
  32. data/app/pb_kits/playbook/playbook-rails.js +1 -1
  33. data/app/pb_kits/playbook/tokens/_spacing.scss +2 -0
  34. data/app/pb_kits/playbook/utilities/_spacing.scss +1 -0
  35. data/lib/playbook/spacing.rb +1 -1
  36. data/lib/playbook/version.rb +2 -2
  37. metadata +17 -15
  38. data/app/pb_kits/playbook/pb_date_picker/plugins/timeSelect.js +0 -137
  39. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +0 -103
  40. data/app/pb_kits/playbook/pb_dialog/_dialog.jsx +0 -223
  41. data/app/pb_kits/playbook/pb_dialog/_dialog_context.jsx +0 -3
@@ -1,103 +0,0 @@
1
- /* @flow */
2
-
3
- import React from 'react'
4
-
5
- import classnames from 'classnames'
6
-
7
- import DateTime from '../pb_kit/dateTime'
8
- import { buildCss } from '../utilities/props'
9
- import { globalProps } from '../utilities/globalProps'
10
-
11
- import Caption from '../pb_caption/_caption'
12
- import Title from '../pb_title/_title'
13
-
14
- type DateStackedProps = {
15
- align?: "left" | "center" | "right",
16
- bold?: boolean,
17
- className?: string | array<string>,
18
- dark?: boolean,
19
- data?: string,
20
- date: string,
21
- size?: "sm" | "md",
22
- id?: string,
23
- reverse?: boolean,
24
- }
25
-
26
- const sizes = {
27
- sm: 4,
28
- md: 3,
29
- }
30
-
31
- const DateStacked = (props: DateStackedProps) => {
32
- const {
33
- align = 'left',
34
- bold = false,
35
- reverse = false,
36
- className,
37
- dark = false,
38
- date,
39
- size = 'sm',
40
- } = props
41
- const classes = classnames(
42
- buildCss('pb_date_stacked_kit', align, size, {
43
- dark: dark,
44
- reverse: reverse,
45
- }),
46
- globalProps(props),
47
- className
48
- )
49
-
50
- const currentYear = new Date().getFullYear().toString()
51
- const dateTimestamp = new DateTime({ value: date })
52
- const inputYear = dateTimestamp.toYear().toString()
53
-
54
- return (
55
-
56
- <div>
57
- <If condition={bold == false}>
58
-
59
- <div className={classes}>
60
- <div className="pb_date_stacked_day_month">
61
- <Caption text={dateTimestamp.toMonth().toUpperCase()} />
62
- <Title
63
- dark={dark}
64
- size={sizes[size]}
65
- text={dateTimestamp.toDay()}
66
- />
67
- </div>
68
- <If condition={currentYear != inputYear}>
69
- <Caption size="xs">{inputYear}</Caption>
70
- </If>
71
- </div>
72
- <Else />
73
- <>
74
- <div className={classes}>
75
- <div className="pb_date_stacked_day_month">
76
-
77
- <Title
78
- bold
79
- dark={dark}
80
- size="4"
81
- text={dateTimestamp.toMonth()}
82
- />
83
- <Title
84
- bold
85
- dark={dark}
86
- size="4"
87
- text={dateTimestamp.toDay()}
88
- />
89
- <If condition={currentYear != inputYear}>
90
- <Title size="4">{inputYear}</Title>
91
- </If>
92
- </div>
93
-
94
- </div>
95
-
96
- </>
97
- </If>
98
- </div>
99
-
100
- )
101
- }
102
-
103
- export default DateStacked
@@ -1,223 +0,0 @@
1
- /* eslint-disable react/jsx-handler-names */
2
- /* eslint-disable react/no-multi-comp */
3
- /* @flow */
4
-
5
- import React, { useState } from 'react'
6
- import classnames from 'classnames'
7
- import Modal from 'react-modal'
8
-
9
- import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
10
- import { globalProps } from '../utilities/globalProps'
11
-
12
- import Body from '../pb_body/_body'
13
- import Button from '../pb_button/_button'
14
- import DialogHeader from './child_kits/_dialog_header'
15
- import DialogFooter from './child_kits/_dialog_footer'
16
- import DialogBody from './child_kits/_dialog_body'
17
- import Flex from '../pb_flex/_flex'
18
- import IconCircle from '../pb_icon_circle/_icon_circle'
19
- import Title from '../pb_title/_title'
20
- import { DialogContext } from './_dialog_context'
21
-
22
- type DialogProps = {
23
- alertStyle?: "link" | "single" | "stacked" | "default",
24
- aria?: object,
25
- cancelButton?: string,
26
- children: array<React.ReactNode> | React.ReactNode | string,
27
- className?: string,
28
- closeable: boolean,
29
- confirmButton?: string,
30
- data?: object,
31
- id?: string,
32
- loading?: boolean,
33
- onCancel?: () => void,
34
- onChange?: () => void,
35
- onClose?: () => void,
36
- onConfirm?: () => void,
37
- opened: boolean,
38
- portalClassName?: string,
39
- shouldCloseOnOverlayClick: boolean,
40
- size?: "sm" | "md" | "lg" | "status_size" | "content",
41
- status?: "info" | "caution" | "delete" | "error" | "success",
42
- text?: string,
43
- title?: string,
44
- trigger?: string
45
- }
46
-
47
- const Dialog = (props: DialogProps) => {
48
- const {
49
- alertStyle = "default",
50
- aria = {},
51
- cancelButton,
52
- confirmButton,
53
- className,
54
- data = {},
55
- id,
56
- size = "md",
57
- children,
58
- loading = false,
59
- opened,
60
- onCancel = () => {},
61
- onConfirm = () => {},
62
- onClose = () => {},
63
- portalClassName,
64
- shouldCloseOnOverlayClick = true,
65
- status,
66
- text,
67
- title,
68
- trigger,
69
- } = props
70
- const ariaProps = buildAriaProps(aria)
71
- const dataProps = buildDataProps(data)
72
- const dialogClassNames = {
73
- base: classnames('pb_dialog', buildCss('pb_dialog', size)),
74
- afterOpen: 'pb_dialog_after_open',
75
- beforeClose: 'pb_dialog_before_close',
76
- }
77
-
78
- const overlayClassNames = {
79
- base: 'pb_dialog_overlay',
80
- afterOpen: 'pb_dialog_overlay_after_open',
81
- beforeClose: 'pb_dialog_overlay_before_close',
82
- }
83
-
84
- const classes = classnames(
85
- buildCss('pb_dialog_wrapper'),
86
- globalProps(props),
87
- className
88
- )
89
-
90
- const [triggerOpened, setTriggerOpened] = useState(false),
91
- modalIsOpened = trigger ? triggerOpened : opened
92
-
93
- const api = {
94
- onClose: trigger ? function(){
95
- setTriggerOpened(false)
96
- } : onClose,
97
- }
98
-
99
- if (trigger) {
100
- const modalTrigger = document.querySelector(trigger)
101
- modalTrigger.addEventListener('click', () => {
102
- setTriggerOpened(true)
103
- document.querySelector('#cancel-button').addEventListener('click', () => {
104
- setTriggerOpened(false)
105
- })
106
- }, { once: true })
107
- }
108
-
109
- const sweetAlertStatus = {
110
- default: {
111
- icon: "exclamation-circle",
112
- variant: "default",
113
- size: "lg"
114
- },
115
- info: {
116
- icon: "info-circle",
117
- variant: "default",
118
- size: "lg"
119
- },
120
- caution: {
121
- icon: "exclamation-triangle",
122
- variant: "yellow",
123
- size: "lg"
124
- },
125
- delete: {
126
- icon: "trash-alt",
127
- variant: "red",
128
- size: "lg"
129
- },
130
- error: {
131
- icon: "times-circle",
132
- variant: "red",
133
- size: "lg"
134
- },
135
- success: {
136
- icon: "check-circle",
137
- variant: "green",
138
- size: "lg"
139
- },
140
- }
141
-
142
- return (
143
- <DialogContext.Provider value={api}>
144
- <div
145
- {...ariaProps}
146
- {...dataProps}
147
- className={classes}
148
- >
149
- <Modal
150
- alertStyle={alertStyle}
151
- ariaHideApp={false}
152
- className={dialogClassNames}
153
- closeTimeoutMS={200}
154
- contentLabel="Minimal Modal Example"
155
- id={id}
156
- isOpen={modalIsOpened}
157
- onRequestClose={onClose}
158
- overlayClassName={overlayClassNames}
159
- portalClassName={portalClassName}
160
- shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}
161
- status={status}
162
- >
163
- <If condition={title && !status}>
164
- <Dialog.Header>{title}</Dialog.Header>
165
- </If>
166
- <If condition={!status && text}>
167
- <Dialog.Body>
168
- {text}
169
- </Dialog.Body>
170
- </If>
171
- <If condition={status}>
172
- <Dialog.Body
173
- padding="md"
174
- >
175
- <Flex
176
- align="center"
177
- orientation="column"
178
- >
179
- <IconCircle
180
- icon={sweetAlertStatus[status].icon}
181
- size={sweetAlertStatus[status].size}
182
- variant={sweetAlertStatus[status].variant}
183
- />
184
- <Title
185
- marginTop="sm"
186
- size={3}
187
- >
188
- {title}
189
- </Title>
190
- <Body
191
- marginTop="xs"
192
- text={text}
193
- />
194
- </Flex>
195
- </Dialog.Body>
196
- </If>
197
- <If condition={cancelButton && confirmButton}>
198
- <Dialog.Footer>
199
- <Button
200
- loading={loading}
201
- onClick={onConfirm}
202
- >
203
- {confirmButton}
204
- </Button>
205
- <Button id="cancel-button"
206
- onClick={onCancel}
207
- variant="link"
208
- >
209
- {cancelButton}
210
- </Button>
211
- </Dialog.Footer>
212
- </If>
213
- {children}
214
- </Modal>
215
- </div>
216
- </DialogContext.Provider>
217
- )
218
- }
219
- Dialog.Header = DialogHeader
220
- Dialog.Body = DialogBody
221
- Dialog.Footer = DialogFooter
222
-
223
- export default Dialog
@@ -1,3 +0,0 @@
1
- import React from 'react'
2
-
3
- export const DialogContext = React.createContext()