@popsure/dirty-swan 0.66.24 → 0.66.25

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 (43) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.js +38 -0
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/lib/context.d.ts +13 -0
  5. package/dist/cjs/lib/context.test.d.ts +1 -0
  6. package/dist/cjs/lib/index.d.ts +2 -1
  7. package/dist/esm/components/modal/bottomModal/index.js +1 -0
  8. package/dist/esm/components/modal/bottomModal/index.js.map +1 -1
  9. package/dist/esm/components/modal/bottomOrRegularModal/index.js +1 -0
  10. package/dist/esm/components/modal/bottomOrRegularModal/index.js.map +1 -1
  11. package/dist/esm/components/modal/fullScreenModal/index.js +1 -0
  12. package/dist/esm/components/modal/fullScreenModal/index.js.map +1 -1
  13. package/dist/esm/components/modal/genericModal/index.js +2 -0
  14. package/dist/esm/components/modal/genericModal/index.js.map +1 -1
  15. package/dist/esm/components/modal/index.stories.js +1 -0
  16. package/dist/esm/components/modal/index.stories.js.map +1 -1
  17. package/dist/esm/components/modal/regularModal/index.js +1 -0
  18. package/dist/esm/components/modal/regularModal/index.js.map +1 -1
  19. package/dist/esm/components/table/Table.js +1 -0
  20. package/dist/esm/components/table/Table.js.map +1 -1
  21. package/dist/esm/components/table/Table.stories.js +1 -0
  22. package/dist/esm/components/table/Table.stories.js.map +1 -1
  23. package/dist/esm/components/table/Table.test.js +1 -0
  24. package/dist/esm/components/table/Table.test.js.map +1 -1
  25. package/dist/esm/context.js +39 -0
  26. package/dist/esm/context.js.map +1 -0
  27. package/dist/esm/context.stories.js +67 -0
  28. package/dist/esm/context.stories.js.map +1 -0
  29. package/dist/esm/context.test.js +58 -0
  30. package/dist/esm/context.test.js.map +1 -0
  31. package/dist/esm/index.d.ts +1 -1
  32. package/dist/esm/index.js +1 -0
  33. package/dist/esm/index.js.map +1 -1
  34. package/dist/esm/lib/context.d.ts +13 -0
  35. package/dist/esm/lib/context.test.d.ts +1 -0
  36. package/dist/esm/lib/index.d.ts +2 -1
  37. package/package.json +1 -1
  38. package/src/index.tsx +3 -0
  39. package/src/lib/components/modal/genericModal/index.tsx +2 -0
  40. package/src/lib/context.stories.tsx +136 -0
  41. package/src/lib/context.test.tsx +88 -0
  42. package/src/lib/context.tsx +60 -0
  43. package/src/lib/index.tsx +4 -0
@@ -1,3 +1,3 @@
1
- export { Accordion, DateSelector, SignaturePad, AutocompleteAddress, Input, MultiDropzone, IbanInput, CurrencyInput, BottomModal, RegularModal, BottomOrRegularModal, FullScreenModal, InfoCard, CardButton, Card, Button, AutoSuggestMultiSelect, Chip, AutoSuggestInput, ComparisonTable, TableRating, TableTrueFalse, TableRowHeader, TableButton, TableInfoButton, SegmentedControl, DownloadButton, Checkbox, Radio, Link, InformationBox, Badge, images, illustrations, Spinner, Table, Toggle, Toaster, toast, useEscapeKey, useFocusWithin, useMediaQuery, useOnClickOutside, LogoColor, LogoWhite, LogoBlack, LogoOrangeBox, LogoInvertedColor, LogoInverted, LogoPositiveColor, LogoPositiveBlack, SearchableDropdown, } from './lib';
1
+ export { Accordion, DateSelector, SignaturePad, AutocompleteAddress, Input, MultiDropzone, IbanInput, CurrencyInput, BottomModal, RegularModal, BottomOrRegularModal, FullScreenModal, InfoCard, CardButton, Card, Button, AutoSuggestMultiSelect, Chip, AutoSuggestInput, ComparisonTable, TableRating, TableTrueFalse, TableRowHeader, TableButton, TableInfoButton, SegmentedControl, DownloadButton, Checkbox, Radio, Link, InformationBox, Badge, images, illustrations, Spinner, Table, Toggle, Toaster, toast, useEscapeKey, useFocusWithin, useMediaQuery, useOnClickOutside, LogoColor, LogoWhite, LogoBlack, LogoOrangeBox, LogoInvertedColor, LogoInverted, LogoPositiveColor, LogoPositiveBlack, SearchableDropdown, DirtySwanProvider, useDirtySwan, useModalTrack, } from './lib';
2
2
  export * from './lib/components/icon';
3
3
  export type { AccordionProps, BadgeProps, DownloadStatus, InformationBoxProps, InputProps, IllustrationKeys, FileType, MultiDropzoneProps, TableHeader, UploadedFile, UploadStatus, CardProps, IconWrapperProps, TableData, TableProps, SearchableDropdownProps, SearchableDropdownOption, } from './lib';
package/dist/cjs/index.js CHANGED
@@ -14842,6 +14842,40 @@ var useOnClose = function (onClose, isOpen, dismissable) {
14842
14842
  };
14843
14843
  };
14844
14844
 
14845
+ var DirtySwanContext = React.createContext(null);
14846
+ var DirtySwanProvider = function (_a) {
14847
+ var children = _a.children, onModalChange = _a.onModalChange;
14848
+ var countRef = React.useRef(0);
14849
+ var onModalChangeRef = React.useRef(onModalChange);
14850
+ onModalChangeRef.current = onModalChange;
14851
+ var onModalOpen = React.useCallback(function () {
14852
+ var _a;
14853
+ countRef.current += 1;
14854
+ if (countRef.current === 1) {
14855
+ (_a = onModalChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onModalChangeRef, true);
14856
+ }
14857
+ }, []);
14858
+ var onModalClose = React.useCallback(function () {
14859
+ var _a;
14860
+ countRef.current -= 1;
14861
+ if (countRef.current === 0) {
14862
+ (_a = onModalChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onModalChangeRef, false);
14863
+ }
14864
+ }, []);
14865
+ var value = React.useMemo(function () { return ({ onModalOpen: onModalOpen, onModalClose: onModalClose }); }, [onModalOpen, onModalClose]);
14866
+ return (jsxRuntime.jsx(DirtySwanContext.Provider, { value: value, children: children }));
14867
+ };
14868
+ var useDirtySwan = function () { return React.useContext(DirtySwanContext); };
14869
+ var useModalTrack = function (isVisible) {
14870
+ var dirtySwan = useDirtySwan();
14871
+ React.useEffect(function () {
14872
+ if (!isVisible)
14873
+ return;
14874
+ dirtySwan === null || dirtySwan === void 0 ? void 0 : dirtySwan.onModalOpen();
14875
+ return function () { return dirtySwan === null || dirtySwan === void 0 ? void 0 : dirtySwan.onModalClose(); };
14876
+ }, [isVisible, dirtySwan]);
14877
+ };
14878
+
14845
14879
  var css_248z$y = "@keyframes style-module_fade-in__f_VRg {\n 0% {\n background-color: rgba(0, 0, 0, 0);\n visibility: hidden;\n }\n 100% {\n background-color: rgba(0, 0, 0, 0.3);\n visibility: visible;\n }\n}\n@keyframes style-module_fade-out__1tEwS {\n from {\n background-color: rgba(0, 0, 0, 0.3);\n visibility: visible;\n }\n to {\n background-color: rgba(0, 0, 0, 0);\n visibility: hidden;\n }\n}\n.style-module_overlay__2f00R {\n z-index: 1000;\n overflow: hidden;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n animation: style-module_fade-in__f_VRg 0.3s both;\n}\n.style-module_overlayClose__1p313 {\n animation-delay: 0.1s;\n animation: style-module_fade-out__1tEwS 0.3s both;\n}\n\n.style-module_header__284Rz {\n position: sticky;\n top: 0;\n}\n\n.style-module_closeButton__1AbX8 {\n width: 32px;\n height: 32px;\n padding: 0;\n}\n\n.style-module_body__QtlTn {\n flex-grow: 1;\n overflow: auto;\n background: linear-gradient(#fff 30%, #fff), linear-gradient(#fff, #fff 70%), linear-gradient(#e7e7ed 30%, #e7e7ed), linear-gradient(#e7e7ed, #e7e7ed 70%);\n background-repeat: no-repeat;\n background-size: 100% 1px;\n background-attachment: local, local, scroll, scroll;\n}\n\n.style-module_footer__Sh5bv {\n position: sticky;\n bottom: 0;\n border-top: 1px solid #e7e7ed;\n}";
14846
14880
  var styles$x = {"overlay":"style-module_overlay__2f00R","overlayClose":"style-module_overlayClose__1p313","header":"style-module_header__284Rz","closeButton":"style-module_closeButton__1AbX8","body":"style-module_body__QtlTn","footer":"style-module_footer__Sh5bv"};
14847
14881
  styleInject(css_248z$y);
@@ -17679,6 +17713,7 @@ var InnerModal = function (_a) {
17679
17713
  var GenericModal = function (props) {
17680
17714
  var isOpen = props.isOpen, onClose = props.onClose, _a = props.dismissible, dismissible = _a === void 0 ? true : _a;
17681
17715
  var _b = useOnClose(onClose, isOpen, dismissible), isVisible = _b.isVisible, rest = __rest$1(_b, ["isVisible"]);
17716
+ useModalTrack(isVisible);
17682
17717
  if (!isVisible) {
17683
17718
  return null;
17684
17719
  }
@@ -23334,6 +23369,7 @@ exports.DentalTreatmentToothIcon = DentalTreatmentTooth;
23334
23369
  exports.DependentsFamilyAddIcon = DependentsFamilyAdd;
23335
23370
  exports.DependentsFamilyIcon = DependentsFamily;
23336
23371
  exports.DiabetesIcon = Diabetes;
23372
+ exports.DirtySwanProvider = DirtySwanProvider;
23337
23373
  exports.DiscIcon = Disc;
23338
23374
  exports.DoctorIcon = Doctor;
23339
23375
  exports.DoctorStethoscopeIcon = DoctorStethoscope;
@@ -23634,8 +23670,10 @@ exports.ZoomOutIcon = ZoomOut;
23634
23670
  exports.illustrations = illustrations;
23635
23671
  exports.images = images;
23636
23672
  exports.toast = toast;
23673
+ exports.useDirtySwan = useDirtySwan;
23637
23674
  exports.useEscapeKey = useEscapeKey;
23638
23675
  exports.useFocusWithin = useFocusWithin;
23639
23676
  exports.useMediaQuery = useMediaQuery;
23677
+ exports.useModalTrack = useModalTrack;
23640
23678
  exports.useOnClickOutside = useOnClickOutside;
23641
23679
  //# sourceMappingURL=index.js.map