playbook_ui 8.1.0.pre.alpha1 → 8.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -9
  3. data/app/pb_kits/playbook/_playbook.scss +0 -2
  4. data/app/pb_kits/playbook/data/menu.yml +1 -2
  5. data/app/pb_kits/playbook/index.js +0 -2
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +2 -14
  7. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -1
  8. data/app/pb_kits/playbook/pb_avatar/avatar.rb +2 -5
  9. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +2 -5
  10. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.html.erb +0 -5
  11. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +0 -5
  12. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.html.erb +0 -4
  13. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +0 -4
  14. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +0 -6
  15. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +1 -2
  16. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +0 -2
  17. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +0 -4
  18. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +0 -4
  19. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +0 -2
  20. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +0 -2
  21. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +0 -2
  22. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +0 -2
  23. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +0 -8
  24. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +0 -8
  25. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +0 -2
  26. data/app/pb_kits/playbook/pb_badge/_badge.jsx +1 -26
  27. data/app/pb_kits/playbook/pb_button/_button.jsx +0 -6
  28. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +1 -0
  29. data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -3
  30. data/app/pb_kits/playbook/pb_caption/caption.rb +1 -1
  31. data/app/pb_kits/playbook/pb_card/_card.jsx +3 -18
  32. data/app/pb_kits/playbook/pb_card/card.html.erb +1 -1
  33. data/app/pb_kits/playbook/pb_card/card.rb +0 -3
  34. data/app/pb_kits/playbook/pb_card/docs/example.yml +0 -2
  35. data/app/pb_kits/playbook/pb_card/docs/index.js +0 -1
  36. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +2 -2
  37. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +2 -2
  38. data/app/pb_kits/playbook/pb_form/_form.scss +1 -5
  39. data/app/pb_kits/playbook/pb_form/form_builder.rb +2 -4
  40. data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +3 -0
  41. data/app/pb_kits/playbook/pb_form/form_builder/action_area.rb +7 -14
  42. data/app/pb_kits/playbook/pb_form/simple_form.html.erb +4 -2
  43. data/app/pb_kits/playbook/pb_form/simple_form.rb +0 -4
  44. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +0 -2
  45. data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -1
  46. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.jsx +3 -4
  47. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +0 -3
  48. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +0 -3
  49. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +1 -6
  50. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +2 -25
  51. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx +0 -1
  52. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +3 -7
  53. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +1 -1
  54. data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
  55. data/app/pb_kits/playbook/react_rails_kits.js +0 -4
  56. data/app/pb_kits/playbook/tokens/_border_radius.scss +10 -0
  57. data/app/pb_kits/playbook/tokens/_colors.scss +25 -0
  58. data/app/pb_kits/playbook/tokens/_line_height.scss +9 -0
  59. data/app/pb_kits/playbook/tokens/_opacity.scss +9 -0
  60. data/app/pb_kits/playbook/tokens/_positioning.scss +9 -0
  61. data/app/pb_kits/playbook/tokens/_screen_sizes.scss +9 -0
  62. data/app/pb_kits/playbook/tokens/_shadows.scss +9 -0
  63. data/app/pb_kits/playbook/tokens/_spacing.scss +10 -0
  64. data/app/pb_kits/playbook/tokens/_typography.scss +25 -0
  65. data/app/pb_kits/playbook/utilities/test-utils.js +0 -6
  66. data/lib/playbook/version.rb +1 -1
  67. metadata +13 -58
  68. data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +0 -31
  69. data/app/pb_kits/playbook/pb_button/button.test.js +0 -91
  70. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +0 -46
  71. data/app/pb_kits/playbook/pb_card/docs/_card_tag.html.erb +0 -25
  72. data/app/pb_kits/playbook/pb_card/docs/_card_tag.jsx +0 -59
  73. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +0 -17
  74. data/app/pb_kits/playbook/pb_dialog/_close_icon.jsx +0 -23
  75. data/app/pb_kits/playbook/pb_dialog/_dialog.html.erb +0 -10
  76. data/app/pb_kits/playbook/pb_dialog/_dialog.jsx +0 -142
  77. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +0 -133
  78. data/app/pb_kits/playbook/pb_dialog/_dialog_context.jsx +0 -3
  79. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_body.jsx +0 -21
  80. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.jsx +0 -36
  81. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.jsx +0 -68
  82. data/app/pb_kits/playbook/pb_dialog/dialog.rb +0 -47
  83. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +0 -23
  84. data/app/pb_kits/playbook/pb_dialog/dialog_header.rb +0 -31
  85. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +0 -53
  86. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.md +0 -2
  87. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +0 -27
  88. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +0 -27
  89. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.md +0 -2
  90. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.jsx +0 -119
  91. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.md +0 -2
  92. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.jsx +0 -28
  93. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.md +0 -2
  94. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_sizes.jsx +0 -93
  95. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +0 -10
  96. data/app/pb_kits/playbook/pb_dialog/docs/index.js +0 -6
  97. data/app/pb_kits/playbook/pb_inline/_inline.jsx +0 -83
  98. data/app/pb_kits/playbook/pb_inline/_inline.scss +0 -58
  99. data/app/pb_kits/playbook/pb_inline/docs/_inline_default.jsx +0 -36
  100. data/app/pb_kits/playbook/pb_inline/docs/_inline_input_options.jsx +0 -58
  101. data/app/pb_kits/playbook/pb_inline/docs/_inline_text_options.jsx +0 -99
  102. data/app/pb_kits/playbook/pb_inline/docs/example.yml +0 -5
  103. data/app/pb_kits/playbook/pb_inline/docs/index.js +0 -3
  104. data/app/pb_kits/playbook/pb_inline/inline.test.jsx +0 -21
  105. data/app/pb_kits/playbook/tokens/exports/_border_radius.scss +0 -10
  106. data/app/pb_kits/playbook/tokens/exports/_colors.scss +0 -26
  107. data/app/pb_kits/playbook/tokens/exports/_line_height.scss +0 -10
  108. data/app/pb_kits/playbook/tokens/exports/_opacity.scss +0 -10
  109. data/app/pb_kits/playbook/tokens/exports/_positioning.scss +0 -10
  110. data/app/pb_kits/playbook/tokens/exports/_screen_sizes.scss +0 -10
  111. data/app/pb_kits/playbook/tokens/exports/_shadows.scss +0 -10
  112. data/app/pb_kits/playbook/tokens/exports/_spacing.scss +0 -10
  113. data/app/pb_kits/playbook/tokens/exports/_typography.scss +0 -24
  114. data/dist/reset.css +0 -1
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbDialog
5
- class Dialog
6
- include Playbook::Props
7
-
8
- partial "pb_dialog/dialog"
9
-
10
- prop :ref
11
- prop :cancel_button
12
- prop :closeable, type: Playbook::Props::Boolean, default: true
13
- prop :confirm_button
14
- prop :oncancel
15
- prop :onchange
16
- prop :onclose
17
- prop :onconfirm
18
- prop :opened, type: Playbook::Props::Boolean, default: false
19
- prop :size, type: Playbook::Props::Enum,
20
- values: %w[sm md lg content],
21
- default: "md"
22
- prop :text
23
- prop :title
24
- prop :trigger
25
-
26
- def dialog_options
27
- {
28
- id: id,
29
- ref: ref,
30
- trigger: trigger,
31
- className: classname,
32
- cancelButton: cancel_button,
33
- closeable: closeable,
34
- confirmButton: confirm_button,
35
- onCancel: oncancel,
36
- onChange: onchange,
37
- onClose: onclose,
38
- onConfirm: onconfirm,
39
- opened: opened,
40
- size: size,
41
- text: text,
42
- title: title,
43
- }
44
- end
45
- end
46
- end
47
- end
@@ -1,23 +0,0 @@
1
- import React from 'react'
2
- import { render, screen } from '../utilities/test-utils'
3
- import { Dialog } from '../'
4
-
5
- /* eslint-disable jsx-control-statements/jsx-jcs-no-undef */
6
-
7
- /* See these resources for more testing info:
8
- - https://github.com/testing-library/jest-dom#usage for useage and examples
9
- - https://jestjs.io/docs/en/using-matchers
10
- */
11
-
12
- test('generated scaffold test - update me', () => {
13
- const testId = 'test1'
14
-
15
- render(
16
- <Dialog
17
- data={{ testid: testId }}
18
- />
19
- )
20
-
21
- const kit = screen.getByTestId(testId)
22
- expect(kit).toBeInTheDocument()
23
- })
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbDialog
5
- class DialogHeader
6
- include Playbook::Props
7
-
8
- partial "pb_dialog/child_kits/dialog_header"
9
-
10
- prop :closeable, type: Playbook::Props::Boolean, default: true
11
- prop :padding
12
- prop :separator, type: Playbook::Props::Boolean, default: true
13
- prop :spacing
14
- prop :text
15
- prop :title
16
-
17
- def dialog_header_options
18
- {
19
- id: id,
20
- closeable: closeable,
21
- padding: padding,
22
- separator: separator,
23
- spacing: spacing,
24
- text: text,
25
- title: title,
26
- }
27
- end
28
- end
29
- end
30
- end
31
-
@@ -1,53 +0,0 @@
1
- import React, { useState } from 'react'
2
- import {
3
- Body,
4
- Button,
5
- Caption,
6
- Dialog,
7
- RichTextEditor,
8
- Typeahead,
9
- } from '../../'
10
-
11
- const DialogCompound = () => {
12
- const [isOpen, setIsOpen] = useState(false)
13
- const close = () => setIsOpen(false)
14
- const open = () => setIsOpen(true)
15
-
16
- return (
17
- <>
18
- <Button onClick={open}>{'Open a Complex Dialog'}</Button>
19
- <Dialog
20
- onClose={close}
21
- opened={isOpen}
22
- size="lg"
23
- >
24
- <Dialog.Header>
25
- <Body>{'What do you need us to take care of?'}</Body>
26
- </Dialog.Header>
27
- <Dialog.Body>
28
- <Caption marginBottom="xs">{'Description'}</Caption>
29
- <RichTextEditor />
30
- <br />
31
- <Caption>
32
- {
33
- 'Type in a word or term too help find tickets later. ex. training,'
34
- }
35
- {'phone setup, hr'}
36
- </Caption>
37
- <Typeahead placeholder="Tags.." />
38
- </Dialog.Body>
39
- <Dialog.Footer>
40
- <Button onClick={close}>{'Send My Issue'}</Button>
41
- <Button
42
- onClick={close}
43
- variant="link"
44
- >
45
- {'Back'}
46
- </Button>
47
- </Dialog.Footer>
48
- </Dialog>
49
- </>
50
- )
51
- }
52
-
53
- export default DialogCompound
@@ -1,2 +0,0 @@
1
- The dialog kit also supports customizing your dialog with a [compound component](https://kentcdodds.com/blog/compound-components-with-react-hooks) structure.
2
- This allows for greater flexibility and more complex dialogs.
@@ -1,27 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { Button, Dialog } from '../../'
3
-
4
- const DialogDefault = () => {
5
- const [isOpen, setIsOpen] = useState(false)
6
- const close = () => setIsOpen(false)
7
- const open = () => setIsOpen(true)
8
-
9
- return (
10
- <>
11
- <Button onClick={open}>{'Open Dialog'}</Button>
12
- <Dialog
13
- cancelButton="Cancel"
14
- confirmButton="Okay"
15
- onCancel={close}
16
- onClose={close}
17
- onConfirm={close}
18
- opened={isOpen}
19
- size="sm"
20
- text="Hello Body Text, Nice to meet ya."
21
- title="Header Title is the Title Prop"
22
- />
23
- </>
24
- )
25
- }
26
-
27
- export default DialogDefault
@@ -1,27 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { Button, Dialog } from '../../'
3
-
4
- const DialogScrollable = () => {
5
- const [isOpen, setIsOpen] = useState(false)
6
- const close = () => setIsOpen(false)
7
- const open = () => setIsOpen(true)
8
-
9
- return (
10
- <>
11
- <Button onClick={open}>{'Open Dialog'}</Button>
12
- <Dialog
13
- cancelButton="Cancel"
14
- confirmButton="Okay"
15
- onCancel={close}
16
- onClose={close}
17
- onConfirm={close}
18
- opened={isOpen}
19
- size="md"
20
- text="At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat."
21
- title="Header Title is the Title Prop"
22
- />
23
- </>
24
- )
25
- }
26
-
27
- export default DialogScrollable
@@ -1,2 +0,0 @@
1
- The dialog will create a scroll container automatically when the text exceeds the height of the page.
2
- No prop or configuration is needed.
@@ -1,119 +0,0 @@
1
- /* @flow */
2
-
3
- import React, { useState } from 'react'
4
- import { Button, Dialog, Flex } from '../../'
5
-
6
- const useDialog = (visible = false) => {
7
- const [opened, setOpened] = useState(visible)
8
- const toggle = () => setOpened(!opened)
9
-
10
- return [opened, toggle]
11
- }
12
-
13
- const DialogSeparators = () => {
14
- const [headerSeparatorDialogOpened, toggleHeaderSeparatorDialog] = useDialog()
15
- const [footerSeparatorDialogOpened, toggleFooterSeparatorDialog] = useDialog()
16
- const [bothSeparatorsDialogOpened, toggleBothSeparatorsDialog] = useDialog()
17
- const [
18
- neitherSeparatorsDialogOpened,
19
- toggleNeitherSeparatorsDialog,
20
- ] = useDialog()
21
-
22
- /* eslint-disable react/jsx-handler-names */
23
-
24
- const dialogs = [
25
- {
26
- size: 'md',
27
- text: 'Header Separator',
28
- title: 'Header Separator ',
29
- toggle: toggleHeaderSeparatorDialog,
30
- visible: headerSeparatorDialogOpened,
31
- header: true,
32
- footer: false,
33
- },
34
- {
35
- size: 'md',
36
- text: 'Footer Separator',
37
- title: 'Footer Separator',
38
- toggle: toggleFooterSeparatorDialog,
39
- visible: footerSeparatorDialogOpened,
40
- header: false,
41
- footer: true,
42
- },
43
- {
44
- size: 'md',
45
- text: 'Both Separators',
46
- title: 'Both Separators',
47
- toggle: toggleBothSeparatorsDialog,
48
- visible: bothSeparatorsDialogOpened,
49
- header: true,
50
- footer: true,
51
- },
52
- {
53
- size: 'md',
54
- text: 'No Separators',
55
- title: 'No Separators',
56
- toggle: toggleNeitherSeparatorsDialog,
57
- visible: neitherSeparatorsDialogOpened,
58
- header: false,
59
- footer: false,
60
- },
61
- ]
62
-
63
- return (
64
- <div>
65
- <Flex>
66
- <Button
67
- id="sm"
68
- marginRight="xl"
69
- onClick={toggleHeaderSeparatorDialog}
70
- >
71
- {'Default'}
72
- </Button>
73
- <Button
74
- marginRight="xl"
75
- onClick={toggleFooterSeparatorDialog}
76
- >
77
- {'Footer Separator'}
78
- </Button>
79
- <Button
80
- marginRight="xl"
81
- onClick={toggleBothSeparatorsDialog}
82
- >
83
- {'Both Separators'}
84
- </Button>
85
- <Button
86
- marginRight="xl"
87
- onClick={toggleNeitherSeparatorsDialog}
88
- >
89
- {'No Separators'}
90
- </Button>
91
- </Flex>
92
- <Flex>
93
- {dialogs.map((dialog) => (
94
- <Dialog
95
- key={dialog.size}
96
- opened={dialog.visible}
97
- size={dialog.size}
98
- >
99
- <Dialog.Header separator={dialog.header}>
100
- {dialog.title}
101
- </Dialog.Header>
102
- <Dialog.Body>{dialog.text}</Dialog.Body>
103
- <Dialog.Footer separator={dialog.footer}>
104
- <Button onClick={dialog.toggle}>{'Okay'}</Button>
105
- <Button
106
- onClick={dialog.toggle}
107
- variant="link"
108
- >
109
- {'Cancel'}
110
- </Button>
111
- </Dialog.Footer>
112
- </Dialog>
113
- ))}
114
- </Flex>
115
- </div>
116
- )
117
- }
118
-
119
- export default DialogSeparators
@@ -1,2 +0,0 @@
1
- By default, the Dialog.Header will load with `separator={true}` and the Dialog.Footer will load with `separator={false}`.
2
- To control it yourself, toggle the boolean prop as you wish.
@@ -1,28 +0,0 @@
1
- import React, { useState } from 'react'
2
- import { Button, Dialog } from '../../'
3
-
4
- const DialogShouldCloseOnOverlay = () => {
5
- const [isOpen, setIsOpen] = useState(false)
6
- const close = () => setIsOpen(false)
7
- const open = () => setIsOpen(true)
8
-
9
- return (
10
- <>
11
- <Button onClick={open}>{'Open Dialog'}</Button>
12
- <Dialog
13
- cancelButton="Cancel"
14
- confirmButton="Okay"
15
- onCancel={close}
16
- onClose={close}
17
- onConfirm={close}
18
- opened={isOpen}
19
- shouldCloseOnOverlayClick={false}
20
- size="sm"
21
- text="Click on the overlay all day. I will stay open."
22
- title="Neat Header"
23
- />
24
- </>
25
- )
26
- }
27
-
28
- export default DialogShouldCloseOnOverlay
@@ -1,2 +0,0 @@
1
- When shouldCloseOnOverlayClick is explicitly set to `false`, click events on the overlay will not close the modal.
2
- By default, shouldCloseOnOverlayClick is set to true.
@@ -1,93 +0,0 @@
1
- /* @flow */
2
-
3
- import React, { useState } from 'react'
4
- import { Button, Dialog, Flex } from '../../'
5
-
6
- const useDialog = (visible = false) => {
7
- const [opened, setOpened] = useState(visible)
8
- const toggle = () => setOpened(!opened)
9
-
10
- return [opened, toggle]
11
- }
12
-
13
- const DialogSizes = () => {
14
- const [smDialogOpened, toggleSmDialog] = useDialog()
15
- const [mdDialogOpened, toggleMdDialog] = useDialog()
16
- const [lgDialogOpened, toggleLgDialog] = useDialog()
17
-
18
- /* eslint-disable react/jsx-handler-names */
19
-
20
- const dialogs = [
21
- {
22
- size: 'sm',
23
- text: 'Body on small dialog',
24
- title: 'Header on small dialog',
25
- toggle: toggleSmDialog,
26
- visible: smDialogOpened,
27
- },
28
- {
29
- size: 'md',
30
- text: 'Body on medium dialog',
31
- title: 'Header on medium dialog',
32
- toggle: toggleMdDialog,
33
- visible: mdDialogOpened,
34
- },
35
- {
36
- size: 'lg',
37
- text: 'Body on large dialog',
38
- title: 'Header on large dialog',
39
- toggle: toggleLgDialog,
40
- visible: lgDialogOpened,
41
- },
42
- ]
43
-
44
- return (
45
- <div>
46
- <Flex>
47
- <Button
48
- id="sm"
49
- marginRight="xl"
50
- onClick={toggleSmDialog}
51
- >
52
- {'Small Dialog'}
53
- </Button>
54
- <Button
55
- marginRight="xl"
56
- onClick={toggleMdDialog}
57
- >
58
- {'Medium Dialog'}
59
- </Button>
60
- <Button
61
- marginRight="xl"
62
- onClick={toggleLgDialog}
63
- >
64
- {'Large Dialog'}
65
- </Button>
66
- </Flex>
67
- <Flex>
68
- {dialogs.map((dialog) => (
69
- <Dialog
70
- key={dialog.size}
71
- onClose={dialog.toggle}
72
- opened={dialog.visible}
73
- size={dialog.size}
74
- >
75
- <Dialog.Header>{dialog.title}</Dialog.Header>
76
- <Dialog.Body>{dialog.text}</Dialog.Body>
77
- <Dialog.Footer>
78
- <Button onClick={dialog.toggle}>{'Okay'}</Button>
79
- <Button
80
- onClick={dialog.toggle}
81
- variant="link"
82
- >
83
- {'Cancel'}
84
- </Button>
85
- </Dialog.Footer>
86
- </Dialog>
87
- ))}
88
- </Flex>
89
- </div>
90
- )
91
- }
92
-
93
- export default DialogSizes