@popsure/dirty-swan 0.55.3 → 0.56.1

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 (127) hide show
  1. package/dist/cjs/index.d.ts +2 -2
  2. package/dist/cjs/index.js +2684 -889
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/lib/components/modal/bottomModal/index.d.ts +1 -1
  5. package/dist/cjs/lib/components/modal/fullScreenModal/index.d.ts +3 -0
  6. package/dist/cjs/lib/components/modal/genericModal/index.d.ts +16 -14
  7. package/dist/cjs/lib/components/modal/index.d.ts +4 -1
  8. package/dist/cjs/lib/components/modal/index.stories.d.ts +19 -1
  9. package/dist/cjs/lib/components/modal/regularModal/index.d.ts +1 -1
  10. package/dist/cjs/lib/hooks/useEscapeKey.d.ts +1 -0
  11. package/dist/cjs/lib/hooks/useFocusWithin.d.ts +1 -0
  12. package/dist/cjs/lib/index.d.ts +4 -2
  13. package/dist/esm/{Calendar-3239814b.js → Calendar-d39056f4.js} +9 -9
  14. package/dist/esm/{Calendar-3239814b.js.map → Calendar-d39056f4.js.map} +1 -1
  15. package/dist/esm/{TableSection-a1be2bd3.js → TableSection-24337bc7.js} +1 -1
  16. package/dist/esm/{TableSection-a1be2bd3.js.map → TableSection-24337bc7.js.map} +1 -1
  17. package/dist/esm/components/accordion/index.js +1 -1
  18. package/dist/esm/components/accordion/index.stories.js +1 -1
  19. package/dist/esm/components/autocompleteAddress/index.test.js +1 -1
  20. package/dist/esm/components/badge/index.test.js +1 -1
  21. package/dist/esm/components/button/index.js +4 -4
  22. package/dist/esm/components/button/index.js.map +1 -1
  23. package/dist/esm/components/button/index.test.js +1 -1
  24. package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js +1 -1
  25. package/dist/esm/components/comparisonTable/components/AccordionItem/index.js +1 -1
  26. package/dist/esm/components/comparisonTable/components/Row/index.js +2 -2
  27. package/dist/esm/components/comparisonTable/components/Row/index.js.map +1 -1
  28. package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +2 -2
  29. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +2 -2
  30. package/dist/esm/components/comparisonTable/index.js +2 -2
  31. package/dist/esm/components/comparisonTable/index.stories.js +2 -2
  32. package/dist/esm/components/dateSelector/components/Calendar.js +1 -1
  33. package/dist/esm/components/dateSelector/index.js +1 -1
  34. package/dist/esm/components/dateSelector/index.stories.js +1 -1
  35. package/dist/esm/components/dateSelector/index.test.js +2 -2
  36. package/dist/esm/components/informationBox/index.test.js +1 -1
  37. package/dist/esm/components/input/autoSuggestInput/index.js +8 -998
  38. package/dist/esm/components/input/autoSuggestInput/index.js.map +1 -1
  39. package/dist/esm/components/input/autoSuggestInput/index.stories.js +1 -0
  40. package/dist/esm/components/input/autoSuggestInput/index.stories.js.map +1 -1
  41. package/dist/esm/components/input/autoSuggestMultiSelect/index.js +1 -0
  42. package/dist/esm/components/input/autoSuggestMultiSelect/index.js.map +1 -1
  43. package/dist/esm/components/input/autoSuggestMultiSelect/index.stories.js +1 -0
  44. package/dist/esm/components/input/autoSuggestMultiSelect/index.stories.js.map +1 -1
  45. package/dist/esm/components/input/checkbox/index.test.js +1 -1
  46. package/dist/esm/components/input/currency/index.test.js +1 -1
  47. package/dist/esm/components/input/index.js +2 -2
  48. package/dist/esm/components/input/index.js.map +1 -1
  49. package/dist/esm/components/input/radio/index.test.js +1 -1
  50. package/dist/esm/components/input/toggle/index.test.js +1 -1
  51. package/dist/esm/components/modal/bottomModal/index.js +6 -8
  52. package/dist/esm/components/modal/bottomModal/index.js.map +1 -1
  53. package/dist/esm/components/modal/bottomOrRegularModal/index.js +2 -0
  54. package/dist/esm/components/modal/bottomOrRegularModal/index.js.map +1 -1
  55. package/dist/esm/components/modal/fullScreenModal/index.js +29 -0
  56. package/dist/esm/components/modal/fullScreenModal/index.js.map +1 -0
  57. package/dist/esm/components/modal/genericModal/index.js +1751 -13
  58. package/dist/esm/components/modal/genericModal/index.js.map +1 -1
  59. package/dist/esm/components/modal/index.stories.js +48 -21
  60. package/dist/esm/components/modal/index.stories.js.map +1 -1
  61. package/dist/esm/components/modal/regularModal/index.js +6 -7
  62. package/dist/esm/components/modal/regularModal/index.js.map +1 -1
  63. package/dist/esm/components/multiDropzone/index.js +3 -3
  64. package/dist/esm/components/multiDropzone/index.js.map +1 -1
  65. package/dist/esm/components/multiDropzone/index.stories.js +1 -1
  66. package/dist/esm/components/multiDropzone/index.test.js +3 -3
  67. package/dist/esm/components/segmentedControl/index.test.js +1 -1
  68. package/dist/esm/components/signaturePad/index.js +2 -2
  69. package/dist/esm/components/signaturePad/index.js.map +1 -1
  70. package/dist/esm/components/spinner/index.test.js +1 -1
  71. package/dist/esm/components/table/Table.js +4 -2
  72. package/dist/esm/components/table/Table.js.map +1 -1
  73. package/dist/esm/components/table/Table.stories.js +4 -2
  74. package/dist/esm/components/table/Table.stories.js.map +1 -1
  75. package/dist/esm/components/table/Table.test.js +5 -3
  76. package/dist/esm/components/table/Table.test.js.map +1 -1
  77. package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.js +1 -1
  78. package/dist/esm/components/table/components/TableCell/BaseCell/BaseCell.stories.js +1 -1
  79. package/dist/esm/components/table/components/TableCell/TableCell.js +3 -3
  80. package/dist/esm/components/table/components/TableCell/TableCell.js.map +1 -1
  81. package/dist/esm/components/table/components/TableCell/TableCell.test.js +2 -2
  82. package/dist/esm/components/table/components/TableContents/TableContents.js +2 -2
  83. package/dist/esm/components/table/components/TableContents/TableContents.test.js +3 -3
  84. package/dist/esm/components/table/components/TableControls/TableControls.test.js +1 -1
  85. package/dist/esm/components/table/components/TableSection/TableSection.js +2 -2
  86. package/dist/esm/components/table/components/TableSection/TableSection.test.js +3 -3
  87. package/dist/esm/components/toast/index.js +1 -1
  88. package/dist/esm/components/toast/index.stories.js +1 -1
  89. package/dist/esm/components/toast/index.test.js +2 -2
  90. package/dist/esm/{customRender-d03c10b6.js → customRender-be47569b.js} +4 -4
  91. package/dist/esm/{customRender-d03c10b6.js.map → customRender-be47569b.js.map} +1 -1
  92. package/dist/esm/index-171a0108.js +997 -0
  93. package/dist/esm/index-171a0108.js.map +1 -0
  94. package/dist/esm/{index-3aa7e697.js → index-4b19aafb.js} +4 -4
  95. package/dist/esm/{index-3aa7e697.js.map → index-4b19aafb.js.map} +1 -1
  96. package/dist/esm/{index-6f567b0b.js → index-86558de6.js} +2 -2
  97. package/dist/esm/{index-6f567b0b.js.map → index-86558de6.js.map} +1 -1
  98. package/dist/esm/{index-3d286178.js → index-af1860d8.js} +3 -3
  99. package/dist/esm/{index-3d286178.js.map → index-af1860d8.js.map} +1 -1
  100. package/dist/esm/{index-a0ef2ab4.js → index-e27b50cf.js} +4 -4
  101. package/dist/esm/{index-a0ef2ab4.js.map → index-e27b50cf.js.map} +1 -1
  102. package/dist/esm/index.d.ts +2 -2
  103. package/dist/esm/index.js +36 -6
  104. package/dist/esm/index.js.map +1 -1
  105. package/dist/esm/lib/components/modal/bottomModal/index.d.ts +1 -1
  106. package/dist/esm/lib/components/modal/fullScreenModal/index.d.ts +3 -0
  107. package/dist/esm/lib/components/modal/genericModal/index.d.ts +16 -14
  108. package/dist/esm/lib/components/modal/index.d.ts +4 -1
  109. package/dist/esm/lib/components/modal/index.stories.d.ts +19 -1
  110. package/dist/esm/lib/components/modal/regularModal/index.d.ts +1 -1
  111. package/dist/esm/lib/hooks/useEscapeKey.d.ts +1 -0
  112. package/dist/esm/lib/hooks/useFocusWithin.d.ts +1 -0
  113. package/dist/esm/lib/index.d.ts +4 -2
  114. package/dist/esm/util/testUtils/customRender.js +1 -1
  115. package/package.json +2 -1
  116. package/src/index.tsx +4 -1
  117. package/src/lib/components/modal/bottomModal/index.tsx +17 -13
  118. package/src/lib/components/modal/fullScreenModal/index.tsx +28 -0
  119. package/src/lib/components/modal/fullScreenModal/style.module.scss +49 -0
  120. package/src/lib/components/modal/genericModal/index.tsx +88 -88
  121. package/src/lib/components/modal/hooks/useOnClose.ts +10 -8
  122. package/src/lib/components/modal/index.stories.tsx +133 -80
  123. package/src/lib/components/modal/index.ts +4 -1
  124. package/src/lib/components/modal/regularModal/index.tsx +17 -12
  125. package/src/lib/hooks/useEscapeKey.ts +18 -0
  126. package/src/lib/hooks/useFocusWithin.ts +22 -0
  127. package/src/lib/index.tsx +6 -0
@@ -1,7 +1,9 @@
1
1
  import { BottomModal } from './bottomModal';
2
2
  import { RegularModal } from './regularModal';
3
3
  import { BottomOrRegularModal } from './bottomOrRegularModal';
4
+ import { FullScreenModal } from './fullScreenModal';
4
5
  import { ReactNode } from 'react';
6
+ import { GenericModalClassNames } from './genericModal';
5
7
 
6
8
  export interface Props {
7
9
  title?: ReactNode;
@@ -10,9 +12,10 @@ export interface Props {
10
12
  onClose: () => void;
11
13
  onModalScroll?: (scrollTop: number, element: HTMLDivElement) => void;
12
14
  className?: string;
15
+ classNames?: GenericModalClassNames;
13
16
  dismissible?: boolean;
14
17
  size?: 'default' | 'large';
15
18
  footer?: ReactNode;
16
19
  }
17
20
 
18
- export { BottomModal, RegularModal, BottomOrRegularModal };
21
+ export { BottomModal, RegularModal, BottomOrRegularModal, FullScreenModal };
@@ -1,23 +1,28 @@
1
1
  import { Props } from '..';
2
2
  import styles from './style.module.scss';
3
- import classNames from 'classnames';
3
+ import classNamesUtil from 'classnames';
4
4
  import { GenericModal } from '../genericModal';
5
5
 
6
- const RegularModal = ({ className = '', size, ...rest }: Props) => (
6
+ const RegularModal = ({ className = '', classNames, size, ...rest }: Props) => (
7
7
  <GenericModal
8
8
  classNames={{
9
- wrapper: ({ isClosing }) => classNames(
10
- 'd-flex ai-center w90 mx-auto my0',
11
- className,
12
- styles.wrapper, {
13
- [styles.wrapperClose]: isClosing,
14
- }
15
- ),
16
- container: classNames(
9
+ ...classNames,
10
+ wrapper: ({ isClosing }) =>
11
+ classNamesUtil(
12
+ 'd-flex ai-center w90 mx-auto my0',
13
+ className,
14
+ styles.wrapper,
15
+ classNames?.wrapper,
16
+ {
17
+ [styles.wrapperClose]: isClosing,
18
+ }
19
+ ),
20
+ container: classNamesUtil(
17
21
  'bg-white br8 d-flex ai-center fd-column mx-auto my0',
18
22
  styles.container,
19
- size === 'large' ? 'wmx10' : 'wmx8'
20
- )
23
+ size === 'large' ? 'wmx10' : 'wmx8',
24
+ classNames?.container
25
+ ),
21
26
  }}
22
27
  {...rest}
23
28
  />
@@ -0,0 +1,18 @@
1
+ import { useCallback, useEffect } from 'react';
2
+
3
+ export const useEscapeKey = (callback: () => void) => {
4
+ const handleOnEscape = useCallback(
5
+ (e: KeyboardEvent) => {
6
+ if (e.key === 'Escape') {
7
+ callback();
8
+ }
9
+ },
10
+ [callback]
11
+ );
12
+
13
+ useEffect(() => {
14
+ window.addEventListener('keydown', handleOnEscape);
15
+
16
+ return () => window.removeEventListener('keydown', handleOnEscape);
17
+ }, [handleOnEscape]);
18
+ };
@@ -0,0 +1,22 @@
1
+ import { useEffect } from 'react';
2
+
3
+ export const useFocusWithin = (
4
+ ref: HTMLElement | null,
5
+ callback: (isFocusWithin: boolean) => void
6
+ ) => {
7
+ useEffect(() => {
8
+ const handleOnFocusIn = () => {
9
+ if (!ref) {
10
+ return;
11
+ }
12
+
13
+ const hasFocus = ref?.contains(document.activeElement);
14
+
15
+ callback(Boolean(hasFocus));
16
+ };
17
+
18
+ document.addEventListener('focusin', handleOnFocusIn);
19
+
20
+ return () => document?.removeEventListener('focusin', handleOnFocusIn);
21
+ }, [callback, ref]);
22
+ };
package/src/lib/index.tsx CHANGED
@@ -23,6 +23,7 @@ import {
23
23
  BottomModal,
24
24
  RegularModal,
25
25
  BottomOrRegularModal,
26
+ FullScreenModal,
26
27
  } from './components/modal';
27
28
  import { InfoCard, CardButton } from './components/cards';
28
29
  import { Card, CardProps } from './components/cards/card';
@@ -48,6 +49,8 @@ import { Toaster, toast } from './components/toast';
48
49
  import { IconWrapperProps } from './components/icon/IconWrapper';
49
50
  import { Accordion, AccordionProps } from './components/accordion';
50
51
  import { Table, TableData, TableProps } from './components/table/Table';
52
+ import { useEscapeKey } from './hooks/useEscapeKey';
53
+ import { useFocusWithin } from './hooks/useFocusWithin';
51
54
 
52
55
  export * from './components/icon';
53
56
 
@@ -63,6 +66,7 @@ export {
63
66
  BottomModal,
64
67
  RegularModal,
65
68
  BottomOrRegularModal,
69
+ FullScreenModal,
66
70
  InfoCard,
67
71
  Card,
68
72
  CardButton,
@@ -90,6 +94,8 @@ export {
90
94
  Toggle,
91
95
  Toaster,
92
96
  toast,
97
+ useEscapeKey,
98
+ useFocusWithin,
93
99
  };
94
100
 
95
101
  export type {