@papillonarts/components 0.10.0 → 0.11.0

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 (209) hide show
  1. package/build/index.js +12 -0
  2. package/build/primer/Alert/Alert.js +122 -0
  3. package/build/primer/Alert/Alert.prop.js +19 -0
  4. package/build/primer/Alert/index.js +19 -0
  5. package/build/primer/Blankslate/Blankslate.js +30 -0
  6. package/build/primer/Blankslate/Blankslate.prop.js +18 -0
  7. package/build/primer/Blankslate/index.js +19 -0
  8. package/build/primer/Breadcrumb/Breadcrumb.js +75 -0
  9. package/build/primer/Breadcrumb/Breadcrumb.prop.js +14 -0
  10. package/build/primer/Breadcrumb/index.js +19 -0
  11. package/build/primer/Button/Button.js +108 -0
  12. package/build/primer/Button/Button.prop.js +48 -0
  13. package/build/primer/Button/index.js +49 -0
  14. package/build/primer/Dropdown/Dropdown.js +102 -0
  15. package/build/primer/Dropdown/Dropdown.prop.js +18 -0
  16. package/build/primer/Dropdown/index.js +19 -0
  17. package/build/primer/ErrorBoundary/ErrorBoundary.js +59 -0
  18. package/build/primer/ErrorBoundary/ErrorBoundary.prop.js +7 -0
  19. package/build/primer/ErrorBoundary/index.js +12 -0
  20. package/build/primer/Form/Checkbox/Checkbox.js +48 -0
  21. package/build/primer/Form/Checkbox/Checkbox.prop.js +22 -0
  22. package/build/primer/Form/Checkbox/index.js +19 -0
  23. package/build/primer/Form/Input/Input.js +55 -0
  24. package/build/primer/Form/Input/Input.prop.js +27 -0
  25. package/build/primer/Form/Input/index.js +25 -0
  26. package/build/primer/Form/Radio/Radio.js +47 -0
  27. package/build/primer/Form/Radio/Radio.prop.js +22 -0
  28. package/build/primer/Form/Radio/index.js +19 -0
  29. package/build/primer/Form/index.js +24 -0
  30. package/build/primer/Grid/DisplayTable/DisplayTable.js +57 -0
  31. package/build/primer/Grid/DisplayTable/DisplayTable.prop.js +11 -0
  32. package/build/primer/Grid/DisplayTable/index.js +12 -0
  33. package/build/primer/Grid/FlexGrid/FlexGrid.js +249 -0
  34. package/build/primer/Grid/FlexGrid/FlexGrid.prop.js +28 -0
  35. package/build/primer/Grid/FlexGrid/index.js +25 -0
  36. package/build/primer/Grid/index.js +14 -0
  37. package/build/primer/Icon/Icon.js +70 -0
  38. package/build/primer/Icon/Icon.part.js +1295 -0
  39. package/build/primer/Icon/Icon.prop.js +678 -0
  40. package/build/primer/Icon/index.js +25 -0
  41. package/build/primer/Label/Label.js +30 -0
  42. package/build/primer/Label/Label.prop.js +26 -0
  43. package/build/primer/Label/index.js +12 -0
  44. package/build/primer/Loader/Loader.js +64 -0
  45. package/build/primer/Loader/Loader.prop.js +15 -0
  46. package/build/primer/Loader/index.js +19 -0
  47. package/build/primer/Navigation/Menu/Menu.js +69 -0
  48. package/build/primer/Navigation/Menu/Menu.prop.js +10 -0
  49. package/build/primer/Navigation/Menu/index.js +12 -0
  50. package/build/primer/Navigation/TabNav/TabNav.js +124 -0
  51. package/build/primer/Navigation/TabNav/TabNav.prop.js +16 -0
  52. package/build/primer/Navigation/TabNav/index.js +19 -0
  53. package/build/primer/Navigation/UnderlineNav/UnderlineNav.js +122 -0
  54. package/build/primer/Navigation/UnderlineNav/UnderlineNav.prop.js +20 -0
  55. package/build/primer/Navigation/UnderlineNav/index.js +25 -0
  56. package/build/primer/Navigation/index.js +17 -0
  57. package/build/primer/Pagination/PreviousNext/PreviousNext.js +84 -0
  58. package/build/primer/Pagination/PreviousNext/PreviousNext.prop.js +30 -0
  59. package/build/primer/Pagination/PreviousNext/index.js +19 -0
  60. package/build/primer/Pagination/index.js +11 -0
  61. package/build/primer/Popover/Popover.js +63 -0
  62. package/build/primer/Popover/Popover.prop.js +29 -0
  63. package/build/primer/Popover/index.js +25 -0
  64. package/build/primer/Progress/Progress.js +30 -0
  65. package/build/primer/Progress/Progress.prop.js +15 -0
  66. package/build/primer/Progress/index.js +19 -0
  67. package/build/primer/Select/Select.js +67 -0
  68. package/build/primer/Select/Select.prop.js +15 -0
  69. package/build/primer/Select/index.js +19 -0
  70. package/build/primer/SelectMenu/SelectMenu.js +94 -0
  71. package/build/primer/SelectMenu/SelectMenu.prop.js +10 -0
  72. package/build/primer/SelectMenu/index.js +12 -0
  73. package/build/primer/Subhead/Subhead.js +26 -0
  74. package/build/primer/Subhead/Subhead.prop.js +10 -0
  75. package/build/primer/Subhead/index.js +12 -0
  76. package/build/primer/Toast/Toast.js +54 -0
  77. package/build/primer/Toast/Toast.prop.js +18 -0
  78. package/build/primer/Toast/index.js +19 -0
  79. package/build/primer/index.js +87 -0
  80. package/package.json +5 -5
  81. package/build/index.ts +0 -1
  82. package/build/primer/Alert/Alert.prop.ts +0 -45
  83. package/build/primer/Alert/Alert.tsx +0 -101
  84. package/build/primer/Alert/__tests__/Alert.int.story.tsx +0 -86
  85. package/build/primer/Alert/__tests__/Alert.int.test.ts +0 -37
  86. package/build/primer/Alert/index.ts +0 -2
  87. package/build/primer/Blankslate/Blankslate.prop.ts +0 -26
  88. package/build/primer/Blankslate/Blankslate.tsx +0 -26
  89. package/build/primer/Blankslate/__tests__/Blankslate.int.story.tsx +0 -43
  90. package/build/primer/Blankslate/__tests__/Blankslate.int.test.ts +0 -29
  91. package/build/primer/Blankslate/index.ts +0 -2
  92. package/build/primer/Breadcrumb/Breadcrumb.prop.ts +0 -28
  93. package/build/primer/Breadcrumb/Breadcrumb.tsx +0 -57
  94. package/build/primer/Breadcrumb/__tests__/Breadcrumb.int.story.tsx +0 -40
  95. package/build/primer/Breadcrumb/__tests__/Breadcrumb.int.test.ts +0 -40
  96. package/build/primer/Breadcrumb/index.ts +0 -2
  97. package/build/primer/Button/Button.prop.ts +0 -77
  98. package/build/primer/Button/Button.tsx +0 -91
  99. package/build/primer/Button/__tests__/Button.int.story.tsx +0 -173
  100. package/build/primer/Button/__tests__/Button.int.test.ts +0 -191
  101. package/build/primer/Button/index.ts +0 -2
  102. package/build/primer/Dropdown/Dropdown.prop.ts +0 -33
  103. package/build/primer/Dropdown/Dropdown.tsx +0 -102
  104. package/build/primer/Dropdown/__tests__/Dropdown.int.story.tsx +0 -43
  105. package/build/primer/Dropdown/__tests__/Dropdown.int.test.ts +0 -53
  106. package/build/primer/Dropdown/index.ts +0 -2
  107. package/build/primer/ErrorBoundary/ErrorBoundary.prop.ts +0 -5
  108. package/build/primer/ErrorBoundary/ErrorBoundary.tsx +0 -35
  109. package/build/primer/ErrorBoundary/__tests__/ErrorBoundary.int.story.tsx +0 -23
  110. package/build/primer/ErrorBoundary/__tests__/ErrorBoundary.int.test.ts +0 -9
  111. package/build/primer/ErrorBoundary/index.ts +0 -1
  112. package/build/primer/Form/Checkbox/Checkbox.prop.ts +0 -34
  113. package/build/primer/Form/Checkbox/Checkbox.tsx +0 -40
  114. package/build/primer/Form/Checkbox/__tests__/Checkbox.int.story.tsx +0 -50
  115. package/build/primer/Form/Checkbox/__tests__/Checkbox.int.test.ts +0 -23
  116. package/build/primer/Form/Checkbox/index.ts +0 -2
  117. package/build/primer/Form/Input/Input.prop.ts +0 -43
  118. package/build/primer/Form/Input/Input.tsx +0 -43
  119. package/build/primer/Form/Input/__tests__/Input.int.story.tsx +0 -54
  120. package/build/primer/Form/Input/__tests__/Input.int.test.ts +0 -15
  121. package/build/primer/Form/Input/index.ts +0 -2
  122. package/build/primer/Form/Radio/Radio.prop.ts +0 -30
  123. package/build/primer/Form/Radio/Radio.tsx +0 -38
  124. package/build/primer/Form/Radio/__tests__/Radio.int.story.tsx +0 -42
  125. package/build/primer/Form/Radio/__tests__/Radio.int.test.ts +0 -13
  126. package/build/primer/Form/Radio/index.ts +0 -2
  127. package/build/primer/Form/index.ts +0 -19
  128. package/build/primer/Grid/DisplayTable/DisplayTable.prop.ts +0 -21
  129. package/build/primer/Grid/DisplayTable/DisplayTable.tsx +0 -68
  130. package/build/primer/Grid/DisplayTable/__tests__/DisplayTable.int.data.ts +0 -289
  131. package/build/primer/Grid/DisplayTable/__tests__/DisplayTable.int.story.tsx +0 -27
  132. package/build/primer/Grid/DisplayTable/__tests__/DisplayTable.int.test.ts +0 -9
  133. package/build/primer/Grid/DisplayTable/index.ts +0 -1
  134. package/build/primer/Grid/FlexGrid/FlexGrid.prop.ts +0 -59
  135. package/build/primer/Grid/FlexGrid/FlexGrid.tsx +0 -274
  136. package/build/primer/Grid/FlexGrid/__tests__/FlexGrid.int.data.ts +0 -289
  137. package/build/primer/Grid/FlexGrid/__tests__/FlexGrid.int.story.tsx +0 -146
  138. package/build/primer/Grid/FlexGrid/__tests__/FlexGrid.int.test.ts +0 -46
  139. package/build/primer/Grid/FlexGrid/index.ts +0 -2
  140. package/build/primer/Grid/index.ts +0 -9
  141. package/build/primer/Icon/Icon.part.ts +0 -1289
  142. package/build/primer/Icon/Icon.prop.ts +0 -1337
  143. package/build/primer/Icon/Icon.tsx +0 -49
  144. package/build/primer/Icon/__tests__/Icon.int.story.tsx +0 -58
  145. package/build/primer/Icon/__tests__/Icon.int.test.ts +0 -13
  146. package/build/primer/Icon/index.ts +0 -2
  147. package/build/primer/Label/Label.prop.ts +0 -31
  148. package/build/primer/Label/Label.tsx +0 -27
  149. package/build/primer/Label/__tests__/Label.int.story.tsx +0 -19
  150. package/build/primer/Label/__tests__/Label.int.test.ts +0 -9
  151. package/build/primer/Label/index.ts +0 -1
  152. package/build/primer/Loader/Loader.prop.ts +0 -16
  153. package/build/primer/Loader/Loader.tsx +0 -43
  154. package/build/primer/Loader/__tests__/Loader.int.story.tsx +0 -34
  155. package/build/primer/Loader/__tests__/Loader.int.test.ts +0 -21
  156. package/build/primer/Loader/index.ts +0 -2
  157. package/build/primer/Navigation/Menu/Menu.prop.ts +0 -26
  158. package/build/primer/Navigation/Menu/Menu.tsx +0 -42
  159. package/build/primer/Navigation/Menu/__tests__/Menu.int.story.tsx +0 -55
  160. package/build/primer/Navigation/Menu/__tests__/Menu.int.test.ts +0 -57
  161. package/build/primer/Navigation/Menu/index.ts +0 -1
  162. package/build/primer/Navigation/TabNav/TabNav.prop.ts +0 -39
  163. package/build/primer/Navigation/TabNav/TabNav.tsx +0 -105
  164. package/build/primer/Navigation/TabNav/__tests__/TabNav.int.story.tsx +0 -168
  165. package/build/primer/Navigation/TabNav/__tests__/TabNav.int.test.ts +0 -55
  166. package/build/primer/Navigation/TabNav/index.ts +0 -2
  167. package/build/primer/Navigation/UnderlineNav/UnderlineNav.prop.ts +0 -41
  168. package/build/primer/Navigation/UnderlineNav/UnderlineNav.tsx +0 -106
  169. package/build/primer/Navigation/UnderlineNav/__tests__/UnderlineNav.int.story.tsx +0 -140
  170. package/build/primer/Navigation/UnderlineNav/__tests__/UnderlineNav.int.test.ts +0 -81
  171. package/build/primer/Navigation/UnderlineNav/index.ts +0 -2
  172. package/build/primer/Navigation/index.ts +0 -12
  173. package/build/primer/Pagination/PreviousNext/PreviousNext.prop.ts +0 -53
  174. package/build/primer/Pagination/PreviousNext/PreviousNext.tsx +0 -71
  175. package/build/primer/Pagination/PreviousNext/__tests__/PreviousNext.int.story.tsx +0 -48
  176. package/build/primer/Pagination/PreviousNext/__tests__/PreviousNext.int.test.ts +0 -15
  177. package/build/primer/Pagination/PreviousNext/index.ts +0 -2
  178. package/build/primer/Pagination/index.ts +0 -6
  179. package/build/primer/Popover/Popover.prop.ts +0 -49
  180. package/build/primer/Popover/Popover.tsx +0 -80
  181. package/build/primer/Popover/__tests__/Popover.int.story.tsx +0 -216
  182. package/build/primer/Popover/__tests__/Popover.int.test.ts +0 -71
  183. package/build/primer/Popover/index.ts +0 -2
  184. package/build/primer/Progress/Progress.prop.ts +0 -16
  185. package/build/primer/Progress/Progress.tsx +0 -19
  186. package/build/primer/Progress/__tests__/Progress.int.story.tsx +0 -28
  187. package/build/primer/Progress/__tests__/Progress.int.test.ts +0 -17
  188. package/build/primer/Progress/index.ts +0 -2
  189. package/build/primer/Select/Select.prop.ts +0 -24
  190. package/build/primer/Select/Select.tsx +0 -58
  191. package/build/primer/Select/__tests__/Select.int.story.tsx +0 -38
  192. package/build/primer/Select/__tests__/Select.int.test.ts +0 -42
  193. package/build/primer/Select/index.ts +0 -2
  194. package/build/primer/SelectMenu/SelectMenu.prop.ts +0 -25
  195. package/build/primer/SelectMenu/SelectMenu.tsx +0 -68
  196. package/build/primer/SelectMenu/__tests__/SelectMenu.int.story.tsx +0 -50
  197. package/build/primer/SelectMenu/__tests__/SelectMenu.int.test.ts +0 -56
  198. package/build/primer/SelectMenu/index.ts +0 -1
  199. package/build/primer/Subhead/Subhead.prop.ts +0 -10
  200. package/build/primer/Subhead/Subhead.tsx +0 -15
  201. package/build/primer/Subhead/__tests__/Subhead.int.story.tsx +0 -23
  202. package/build/primer/Subhead/__tests__/Subhead.int.test.ts +0 -13
  203. package/build/primer/Subhead/index.ts +0 -1
  204. package/build/primer/Toast/Toast.prop.ts +0 -21
  205. package/build/primer/Toast/Toast.tsx +0 -38
  206. package/build/primer/Toast/__tests__/Toast.int.story.tsx +0 -50
  207. package/build/primer/Toast/__tests__/Toast.int.test.ts +0 -25
  208. package/build/primer/Toast/index.ts +0 -2
  209. package/build/primer/index.ts +0 -83
@@ -1,71 +0,0 @@
1
- import cx from 'classnames'
2
- import displayStyles from '@papillonarts/css/build/primer/utilities/visibility-display.scss'
3
- import { paginationActionTypes } from '@papillonarts/library/pagination'
4
- import { PreviousNextProps, defaultProps, previousNextState } from './PreviousNext.prop'
5
- import styles from './PreviousNext.scss'
6
-
7
- export function PreviousNext({
8
- className = defaultProps.className,
9
- ariaAttr,
10
- currentPage,
11
- previous = defaultProps.previous,
12
- next = defaultProps.next,
13
- onClick,
14
- state = defaultProps.state,
15
- }: PreviousNextProps) {
16
- const { label } = ariaAttr
17
-
18
- const { indexItems, currentIndex, canMoveBackwards, canMoveForward } = currentPage
19
- const backwardsAriaProps = !canMoveBackwards ? { ...{ 'aria-disabled': 'true' } } : null
20
- const forwardAriaProps = !canMoveForward ? { ...{ 'aria-disabled': 'true' } } : null
21
-
22
- // @ts-ignore
23
- // if (indexItems === [] || currentIndex === -1) {
24
- // return null
25
- // }
26
-
27
- return (
28
- <nav
29
- className={cx(className, styles['paginate-container'], {
30
- [styles['previousnext-inactive']]: state === previousNextState.inactive,
31
- })}
32
- aria-label={label}
33
- >
34
- <div className={cx(styles.pagination, displayStyles['d-flex'])}>
35
- {!canMoveBackwards ? (
36
- // @ts-ignore
37
- <span {...backwardsAriaProps}>{previous.text}</span>
38
- ) : (
39
- <a
40
- onClick={(event) => {
41
- event.preventDefault()
42
- onClick(paginationActionTypes.onBackwards)
43
- }}
44
- rel={previous.rel}
45
- href={previous.href}
46
- aria-label={previous.ariaAttr.label}
47
- >
48
- {previous.text}
49
- </a>
50
- )}
51
- <span>{`Viewing ${currentIndex + 1} to ${indexItems.length}`}</span>
52
- {!canMoveForward ? (
53
- // @ts-ignore
54
- <span {...forwardAriaProps}>{next.text}</span>
55
- ) : (
56
- <a
57
- onClick={(event) => {
58
- event.preventDefault()
59
- onClick(paginationActionTypes.onForward)
60
- }}
61
- rel={next.rel}
62
- href={next.href}
63
- aria-label={next.ariaAttr.label}
64
- >
65
- {next.text}
66
- </a>
67
- )}
68
- </div>
69
- </nav>
70
- )
71
- }
@@ -1,48 +0,0 @@
1
- import { action } from 'storybook/actions'
2
- import { withTests } from '@storybook/addon-jest'
3
- import { previousNextState } from '../PreviousNext.prop'
4
- import results from '../../../../../../../.jest-test-results.json'
5
-
6
- const PreviousNext =
7
- process.env.NODE_ENV === 'develop' || process.env.NODE_ENV === 'test'
8
- ? require('../../../../index').primer.Pagination.PreviousNext
9
- : require('../../../../../build').primer.Pagination.PreviousNext
10
-
11
- export default {
12
- title: 'Primer/Atom/Pagination/PreviousNext',
13
- component: PreviousNext,
14
- decorators: [withTests({ results })],
15
- parameters: { jest: ['PreviousNext.int.test.js'] },
16
- excludeStories: ['ariaAttr', 'currentPage', 'custom'],
17
- }
18
-
19
- export const ariaAttr = {
20
- label: 'Pagination',
21
- }
22
-
23
- export const currentPage = {
24
- indexItems: [
25
- { isCurrent: false, index: 0 },
26
- { isCurrent: false, index: 1 },
27
- { isCurrent: true, index: 2 },
28
- { isCurrent: false, index: 3 },
29
- { isCurrent: false, index: 4 },
30
- { isCurrent: false, index: 5 },
31
- { isCurrent: false, index: 6 },
32
- ],
33
- currentIndex: 2,
34
- canMoveBackwards: true,
35
- canMoveForward: true,
36
- }
37
-
38
- export function custom(onClick) {
39
- return <PreviousNext ariaAttr={ariaAttr} currentPage={currentPage} onClick={onClick} />
40
- }
41
-
42
- export function regular() {
43
- return <PreviousNext ariaAttr={ariaAttr} currentPage={currentPage} onClick={action('onClick')} />
44
- }
45
-
46
- export function inactive() {
47
- return <PreviousNext ariaAttr={ariaAttr} currentPage={currentPage} onClick={action('onClick')} state={previousNextState.inactive} />
48
- }
@@ -1,15 +0,0 @@
1
- import { regular, inactive } from './PreviousNext.int.story'
2
-
3
- describe('<PreviousNext />', () => {
4
- afterEach(() => jest.clearAllMocks())
5
-
6
- describe('Render', () => {
7
- test('must match regular()', () => {
8
- expect(global.renderToJSON(regular())).toMatchSnapshot()
9
- })
10
-
11
- test('must match inactive()', () => {
12
- expect(global.renderToJSON(inactive())).toMatchSnapshot()
13
- })
14
- })
15
- })
@@ -1,2 +0,0 @@
1
- export { PreviousNext } from './PreviousNext'
2
- export { previousNextState } from './PreviousNext.prop'
@@ -1,6 +0,0 @@
1
- import { PreviousNext, previousNextState } from './PreviousNext'
2
-
3
- export const Pagination = {
4
- PreviousNext,
5
- previousNextState,
6
- }
@@ -1,49 +0,0 @@
1
- export const popoverVariant = {
2
- default: 'default',
3
- bottom: 'bottom',
4
- bottomRight: 'bottomRight',
5
- bottomLeft: 'bottomLeft',
6
- left: 'left',
7
- leftBottom: 'leftBottom',
8
- leftTop: 'leftTop',
9
- right: 'right',
10
- rightBottom: 'rightBottom',
11
- rightTop: 'rightTop',
12
- topLeft: 'topLeft',
13
- topRight: 'topRight',
14
- }
15
-
16
- export const popoverSize = {
17
- normal: 'normal',
18
- large: 'large',
19
- }
20
-
21
- export const defaultProps = {
22
- className: null,
23
- variant: popoverVariant.default,
24
- size: popoverSize.normal,
25
- }
26
-
27
- export interface PopoverProps {
28
- className?: string
29
- variant?:
30
- | typeof popoverVariant.default
31
- | typeof popoverVariant.bottom
32
- | typeof popoverVariant.bottomRight
33
- | typeof popoverVariant.bottomLeft
34
- | typeof popoverVariant.left
35
- | typeof popoverVariant.leftBottom
36
- | typeof popoverVariant.leftTop
37
- | typeof popoverVariant.right
38
- | typeof popoverVariant.rightBottom
39
- | typeof popoverVariant.rightTop
40
- | typeof popoverVariant.topLeft
41
- | typeof popoverVariant.topRight
42
- size?: typeof popoverSize.normal | typeof popoverSize.large
43
- intro: string
44
- heading: string
45
- message: string
46
- acknowledge: string
47
- introOnClick: (value) => void
48
- acknowledgeOnClick: (value) => void
49
- }
@@ -1,80 +0,0 @@
1
- import cx from 'classnames'
2
- import boxShadowStyles from '@papillonarts/css/build/primer/utilities/box-shadow.scss'
3
- import layoutStyles from '@papillonarts/css/build/primer/utilities/layout.scss'
4
- import marginStyles from '@papillonarts/css/build/primer/utilities/margin.scss'
5
- import paddingStyles from '@papillonarts/css/build/primer/utilities/padding.scss'
6
- import typographyStyles from '@papillonarts/css/build/primer/utilities/typography.scss'
7
- import boxStyles from '../Box/box.scss'
8
- import { PopoverProps, defaultProps, popoverVariant, popoverSize } from './Popover.prop'
9
- import styles from './Popover.scss'
10
- import { Button, buttonVariant } from '../Button'
11
-
12
- export function Popover({
13
- className = defaultProps.className,
14
- variant = defaultProps.variant,
15
- size = defaultProps.size,
16
- intro,
17
- heading,
18
- message,
19
- acknowledge,
20
- introOnClick,
21
- acknowledgeOnClick,
22
- }: PopoverProps) {
23
- return (
24
- <div
25
- className={cx(className, layoutStyles['position-relative'], {
26
- [typographyStyles['text-center']]: variant === popoverVariant.default || variant === popoverVariant.bottom,
27
- [cx(typographyStyles['text-right'], paddingStyles['pr-2'])]: variant === popoverVariant.bottomRight,
28
- })}
29
- >
30
- {variant === popoverVariant.default && <Button variant={buttonVariant.primary} text={intro} onClick={introOnClick} />}
31
- <div
32
- // @ts-ignore
33
- className={
34
- (cx(styles.Popover, layoutStyles['position-relative']),
35
- {
36
- [cx(layoutStyles['right-0'], layoutStyles['left-0'])]: variant === popoverVariant.default,
37
- [paddingStyles['pl-2']]: variant === popoverVariant.bottomLeft,
38
- })
39
- }
40
- >
41
- <div
42
- className={cx(
43
- styles['Popover-message'],
44
- typographyStyles['text-left'],
45
- paddingStyles['p-4'],
46
- boxStyles.Box,
47
- boxShadowStyles['box-shadow-large'],
48
- {
49
- [cx(marginStyles['mx-auto'], marginStyles['mt-2'])]: variant === popoverVariant.default,
50
- [cx(styles['Popover-message--bottom'], marginStyles['mx-auto'], marginStyles['mb-2'])]: variant === popoverVariant.bottom,
51
- [cx(styles['Popover-message--bottom-right'], marginStyles['mb-2'])]: variant === popoverVariant.bottomRight,
52
- [cx(styles['Popover-message--bottom-left'], marginStyles['mb-2'])]: variant === popoverVariant.bottomLeft,
53
- [styles['Popover-message--left']]: variant === popoverVariant.left,
54
- [styles['Popover-message--left-bottom']]: variant === popoverVariant.leftBottom,
55
- [styles['Popover-message--left-top']]: variant === popoverVariant.leftTop,
56
- [styles['Popover-message--right']]: variant === popoverVariant.right,
57
- [styles['Popover-message--right-bottom']]: variant === popoverVariant.rightBottom,
58
- [styles['Popover-message--right-top']]: variant === popoverVariant.rightTop,
59
- [styles['Popover-message--top-left']]: variant === popoverVariant.topLeft,
60
- [styles['Popover-message--top-right']]: variant === popoverVariant.topRight,
61
- [styles['Popover-message--large']]: size === popoverSize.large,
62
- },
63
- )}
64
- >
65
- <h4 className={marginStyles['mb-2']}>{heading}</h4>
66
- <p>{message}</p>
67
- <Button
68
- className={cx(marginStyles['mt-2'], typographyStyles['text-bold'])}
69
- text={acknowledge}
70
- variant={buttonVariant.outline}
71
- onClick={acknowledgeOnClick}
72
- />
73
- </div>
74
- </div>
75
- {(variant === popoverVariant.bottom || variant === popoverVariant.bottomRight || variant === popoverVariant.bottomLeft) && (
76
- <Button variant={buttonVariant.primary} text={intro} onClick={introOnClick} />
77
- )}
78
- </div>
79
- )
80
- }
@@ -1,216 +0,0 @@
1
- import { action } from 'storybook/actions'
2
- import { withTests } from '@storybook/addon-jest'
3
- import { popoverVariant, popoverSize } from '../Popover.prop'
4
- import results from '../../../../../../.jest-test-results.json'
5
-
6
- const Popover =
7
- process.env.NODE_ENV === 'develop' || process.env.NODE_ENV === 'test'
8
- ? require('../../../index').primer.Popover.Popover
9
- : require('../../../../build').primer.Popover.Popover
10
-
11
- export default {
12
- title: 'Primer/Molecule/Popover',
13
- component: Popover,
14
- decorators: [withTests({ results })],
15
- parameters: { jest: ['Popover.int.test.js'] },
16
- excludeStories: ['custom'],
17
- }
18
-
19
- const intro = 'UI'
20
- const heading = 'Popover heading'
21
- const message = 'Message about this particular piece of UI.'
22
- const acknowledge = 'Got it!'
23
-
24
- export function custom(introOnClick, acknowledgeOnClick) {
25
- return (
26
- <Popover
27
- intro={intro}
28
- heading={heading}
29
- message={message}
30
- acknowledge={acknowledge}
31
- introOnClick={introOnClick}
32
- acknowledgeOnClick={acknowledgeOnClick}
33
- />
34
- )
35
- }
36
-
37
- export function regular() {
38
- return (
39
- <Popover
40
- intro={intro}
41
- heading={heading}
42
- message={message}
43
- acknowledge={acknowledge}
44
- introOnClick={action('introOnClick')}
45
- acknowledgeOnClick={action('acknowledgeOnClick')}
46
- />
47
- )
48
- }
49
-
50
- export function regularLarge() {
51
- return (
52
- <Popover
53
- intro={intro}
54
- heading={heading}
55
- message={message}
56
- acknowledge={acknowledge}
57
- size={popoverSize.large}
58
- introOnClick={action('introOnClick')}
59
- acknowledgeOnClick={action('acknowledgeOnClick')}
60
- />
61
- )
62
- }
63
-
64
- export function bottom() {
65
- return (
66
- <Popover
67
- intro={intro}
68
- heading={heading}
69
- message={message}
70
- acknowledge={acknowledge}
71
- variant={popoverVariant.bottom}
72
- introOnClick={action('introOnClick')}
73
- acknowledgeOnClick={action('acknowledgeOnClick')}
74
- />
75
- )
76
- }
77
-
78
- export function bottomRight() {
79
- return (
80
- <Popover
81
- intro={intro}
82
- heading={heading}
83
- message={message}
84
- acknowledge={acknowledge}
85
- variant={popoverVariant.bottomRight}
86
- introOnClick={action('introOnClick')}
87
- acknowledgeOnClick={action('acknowledgeOnClick')}
88
- />
89
- )
90
- }
91
-
92
- export function bottomLeft() {
93
- return (
94
- <Popover
95
- intro={intro}
96
- heading={heading}
97
- message={message}
98
- acknowledge={acknowledge}
99
- variant={popoverVariant.bottomLeft}
100
- introOnClick={action('introOnClick')}
101
- acknowledgeOnClick={action('acknowledgeOnClick')}
102
- />
103
- )
104
- }
105
-
106
- export function left() {
107
- return (
108
- <Popover
109
- intro={intro}
110
- heading={heading}
111
- message={message}
112
- acknowledge={acknowledge}
113
- variant={popoverVariant.left}
114
- introOnClick={action('introOnClick')}
115
- acknowledgeOnClick={action('acknowledgeOnClick')}
116
- />
117
- )
118
- }
119
-
120
- export function leftBottom() {
121
- return (
122
- <Popover
123
- intro={intro}
124
- heading={heading}
125
- message={message}
126
- acknowledge={acknowledge}
127
- variant={popoverVariant.leftBottom}
128
- introOnClick={action('introOnClick')}
129
- acknowledgeOnClick={action('acknowledgeOnClick')}
130
- />
131
- )
132
- }
133
-
134
- export function leftTop() {
135
- return (
136
- <Popover
137
- intro={intro}
138
- heading={heading}
139
- message={message}
140
- acknowledge={acknowledge}
141
- variant={popoverVariant.leftTop}
142
- introOnClick={action('introOnClick')}
143
- acknowledgeOnClick={action('acknowledgeOnClick')}
144
- />
145
- )
146
- }
147
-
148
- export function right() {
149
- return (
150
- <Popover
151
- intro={intro}
152
- heading={heading}
153
- message={message}
154
- acknowledge={acknowledge}
155
- variant={popoverVariant.right}
156
- introOnClick={action('introOnClick')}
157
- acknowledgeOnClick={action('acknowledgeOnClick')}
158
- />
159
- )
160
- }
161
-
162
- export function rightBottom() {
163
- return (
164
- <Popover
165
- intro={intro}
166
- heading={heading}
167
- message={message}
168
- acknowledge={acknowledge}
169
- variant={popoverVariant.rightBottom}
170
- introOnClick={action('introOnClick')}
171
- acknowledgeOnClick={action('acknowledgeOnClick')}
172
- />
173
- )
174
- }
175
-
176
- export function rightTop() {
177
- return (
178
- <Popover
179
- intro={intro}
180
- heading={heading}
181
- message={message}
182
- acknowledge={acknowledge}
183
- variant={popoverVariant.rightTop}
184
- introOnClick={action('introOnClick')}
185
- acknowledgeOnClick={action('acknowledgeOnClick')}
186
- />
187
- )
188
- }
189
-
190
- export function topLeft() {
191
- return (
192
- <Popover
193
- intro={intro}
194
- heading={heading}
195
- message={message}
196
- acknowledge={acknowledge}
197
- variant={popoverVariant.topLeft}
198
- introOnClick={action('introOnClick')}
199
- acknowledgeOnClick={action('acknowledgeOnClick')}
200
- />
201
- )
202
- }
203
-
204
- export function topRight() {
205
- return (
206
- <Popover
207
- intro={intro}
208
- heading={heading}
209
- message={message}
210
- acknowledge={acknowledge}
211
- variant={popoverVariant.topRight}
212
- introOnClick={action('introOnClick')}
213
- acknowledgeOnClick={action('acknowledgeOnClick')}
214
- />
215
- )
216
- }
@@ -1,71 +0,0 @@
1
- import {
2
- regular,
3
- regularLarge,
4
- bottom,
5
- bottomRight,
6
- bottomLeft,
7
- left,
8
- leftBottom,
9
- leftTop,
10
- right,
11
- rightBottom,
12
- rightTop,
13
- topLeft,
14
- topRight,
15
- } from './Popover.int.story'
16
-
17
- describe('<Popover />', () => {
18
- describe('Render', () => {
19
- test('must match regular()', () => {
20
- expect(global.renderToJSON(regular())).toMatchSnapshot()
21
- })
22
-
23
- test('must match regularLarge()', () => {
24
- expect(global.renderToJSON(regularLarge())).toMatchSnapshot()
25
- })
26
-
27
- test('must match bottom()', () => {
28
- expect(global.renderToJSON(bottom())).toMatchSnapshot()
29
- })
30
-
31
- test('must match bottomRight()', () => {
32
- expect(global.renderToJSON(bottomRight())).toMatchSnapshot()
33
- })
34
-
35
- test('must match bottomLeft()', () => {
36
- expect(global.renderToJSON(bottomLeft())).toMatchSnapshot()
37
- })
38
-
39
- test('must match left()', () => {
40
- expect(global.renderToJSON(left())).toMatchSnapshot()
41
- })
42
-
43
- test('must match leftBottom()', () => {
44
- expect(global.renderToJSON(leftBottom())).toMatchSnapshot()
45
- })
46
-
47
- test('must match leftTop()', () => {
48
- expect(global.renderToJSON(leftTop())).toMatchSnapshot()
49
- })
50
-
51
- test('must match right()', () => {
52
- expect(global.renderToJSON(right())).toMatchSnapshot()
53
- })
54
-
55
- test('must match rightBottom()', () => {
56
- expect(global.renderToJSON(rightBottom())).toMatchSnapshot()
57
- })
58
-
59
- test('must match rightTop()', () => {
60
- expect(global.renderToJSON(rightTop())).toMatchSnapshot()
61
- })
62
-
63
- test('must match topLeft()', () => {
64
- expect(global.renderToJSON(topLeft())).toMatchSnapshot()
65
- })
66
-
67
- test('must match topRight()', () => {
68
- expect(global.renderToJSON(topRight())).toMatchSnapshot()
69
- })
70
- })
71
- })
@@ -1,2 +0,0 @@
1
- export { Popover } from './Popover'
2
- export { popoverVariant, popoverSize } from './Popover.prop'
@@ -1,16 +0,0 @@
1
- export const progressVariant = {
2
- small: 'small',
3
- normal: 'normal',
4
- large: 'large',
5
- }
6
-
7
- export const defaultProps = {
8
- className: null,
9
- variant: progressVariant.normal,
10
- }
11
-
12
- export interface ProgressProps {
13
- className?: string
14
- variant?: typeof progressVariant.small | typeof progressVariant.normal | typeof progressVariant.large
15
- percentage: number
16
- }
@@ -1,19 +0,0 @@
1
- import cx from 'classnames'
2
- import colorStyles from '@papillonarts/css/build/primer/utilities/colors.scss'
3
- import { ProgressProps, defaultProps, progressVariant } from './Progress.prop'
4
- import styles from './Progress.scss'
5
-
6
- export function Progress({ className = defaultProps.className, variant = defaultProps.variant, percentage }: ProgressProps) {
7
- const percentageStyle = { width: `${percentage}%` }
8
-
9
- return (
10
- <span
11
- className={cx(className, styles.Progress, {
12
- [styles['Progress--large']]: variant === progressVariant.large,
13
- [styles['Progress--small']]: (variant === progressVariant.small) === true,
14
- })}
15
- >
16
- <span className={cx(styles['Progress-item'], colorStyles['bg-green'])} style={percentageStyle} />
17
- </span>
18
- )
19
- }
@@ -1,28 +0,0 @@
1
- import { withTests } from '@storybook/addon-jest'
2
- import { progressVariant } from '../Progress.prop'
3
- import results from '../../../../../../.jest-test-results.json'
4
-
5
- const Progress =
6
- process.env.NODE_ENV === 'develop' || process.env.NODE_ENV === 'test'
7
- ? require('../../../index').primer.Progress.Progress
8
- : require('../../../../build').primer.Progress.Progress
9
-
10
- export default {
11
- title: 'Primer/Atom/Progress',
12
- component: Progress,
13
- decorators: [withTests({ results })],
14
- parameters: { jest: ['Progress.int.test.js'] },
15
- excludeStories: ['custom'],
16
- }
17
-
18
- export function normal() {
19
- return <Progress variant={progressVariant.normal} percentage={50} />
20
- }
21
-
22
- export function large() {
23
- return <Progress variant={progressVariant.large} percentage={50} />
24
- }
25
-
26
- export function small() {
27
- return <Progress variant={progressVariant.small} percentage={50} />
28
- }
@@ -1,17 +0,0 @@
1
- import { normal, large, small } from './Progress.int.story'
2
-
3
- describe('<Progress />', () => {
4
- describe('Render', () => {
5
- test('must match normal()', () => {
6
- expect(global.renderToJSON(normal())).toMatchSnapshot()
7
- })
8
-
9
- test('must match large()', () => {
10
- expect(global.renderToJSON(large())).toMatchSnapshot()
11
- })
12
-
13
- test('must match small()', () => {
14
- expect(global.renderToJSON(small())).toMatchSnapshot()
15
- })
16
- })
17
- })
@@ -1,2 +0,0 @@
1
- export { Progress } from './Progress'
2
- export { progressVariant } from './Progress.prop'
@@ -1,24 +0,0 @@
1
- export const selectState = {
2
- active: 'active',
3
- inactive: 'inactive',
4
- }
5
-
6
- export const defaultProps = {
7
- id: null,
8
- className: null,
9
- state: selectState.active,
10
- }
11
-
12
- export interface ItemType {
13
- text: string
14
- isSelected: boolean
15
- }
16
-
17
- export interface SelectProps {
18
- id?: string
19
- className?: string
20
- selectedText: string
21
- items: ItemType[]
22
- onChange: (value) => void
23
- state?: typeof selectState.active | typeof selectState.inactive
24
- }