@popsure/dirty-swan 0.66.23 → 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 (47) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.js +42 -5
  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/segmentedControl/index.js +4 -5
  20. package/dist/esm/components/segmentedControl/index.js.map +1 -1
  21. package/dist/esm/components/table/Table.js +1 -0
  22. package/dist/esm/components/table/Table.js.map +1 -1
  23. package/dist/esm/components/table/Table.stories.js +1 -0
  24. package/dist/esm/components/table/Table.stories.js.map +1 -1
  25. package/dist/esm/components/table/Table.test.js +1 -0
  26. package/dist/esm/components/table/Table.test.js.map +1 -1
  27. package/dist/esm/context.js +39 -0
  28. package/dist/esm/context.js.map +1 -0
  29. package/dist/esm/context.stories.js +67 -0
  30. package/dist/esm/context.stories.js.map +1 -0
  31. package/dist/esm/context.test.js +58 -0
  32. package/dist/esm/context.test.js.map +1 -0
  33. package/dist/esm/index.d.ts +1 -1
  34. package/dist/esm/index.js +1 -0
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/lib/context.d.ts +13 -0
  37. package/dist/esm/lib/context.test.d.ts +1 -0
  38. package/dist/esm/lib/index.d.ts +2 -1
  39. package/package.json +1 -1
  40. package/src/index.tsx +3 -0
  41. package/src/lib/components/modal/genericModal/index.tsx +2 -0
  42. package/src/lib/components/segmentedControl/index.tsx +5 -11
  43. package/src/lib/components/segmentedControl/style.module.scss +7 -3
  44. package/src/lib/context.stories.tsx +136 -0
  45. package/src/lib/context.test.tsx +88 -0
  46. package/src/lib/context.tsx +60 -0
  47. 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
  }
@@ -21968,8 +22003,8 @@ var ComparisonTable = function (props) {
21968
22003
  }), hideDetails && (jsxRuntime.jsx("div", { className: classNames(baseStyles['show-details-container'], baseStyles.sticky, 'mt48'), children: jsxRuntime.jsx("div", { children: jsxRuntime.jsxs("button", { className: classNames('w100 d-flex p-h4 c-pointer', baseStyles['show-details-button'], classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.hideDetailsButton), onClick: toggleMoreRows, type: "button", children: [showMore ? hideDetailsCaption : showDetailsCaption, jsxRuntime.jsx(Chevron, { className: showMore ? '' : baseStyles['icon-inverted'] })] }) }) }))] })] }) }));
21969
22004
  };
21970
22005
 
21971
- var css_248z$g = ".style-module_background-container__2Gjka {\n position: relative;\n display: inline-block;\n background-color: var(--ds-purple-100);\n border-radius: 8px;\n padding: 0 8px;\n}\n\n.style-module_chip-container__7XeKn {\n display: flex;\n align-items: center;\n}\n\n.style-module_chip__3rgLT {\n cursor: pointer;\n z-index: 2;\n padding-left: 16px;\n padding-right: 16px;\n}\n.style-module_chip__3rgLT:focus {\n outline-color: var(--ds-purple-600);\n outline-offset: 2px;\n}\n\n.style-module_select-chip-background__YCAyw {\n position: absolute;\n background-color: white;\n border-radius: 8px;\n top: 8px;\n z-index: 1;\n transition: width 0.3s, left 0.3s;\n}";
21972
- var styles$g = {"background-container":"style-module_background-container__2Gjka","chip-container":"style-module_chip-container__7XeKn","chip":"style-module_chip__3rgLT","select-chip-background":"style-module_select-chip-background__YCAyw"};
22006
+ var css_248z$g = ".style-module_background-container__2Gjka {\n position: relative;\n display: inline-block;\n background-color: var(--ds-orange-50);\n border-radius: 8px;\n padding: 0 8px;\n}\n\n.style-module_chip-container__7XeKn {\n display: flex;\n align-items: center;\n}\n\n.style-module_chip__3rgLT {\n cursor: pointer;\n z-index: 2;\n padding-left: 16px;\n padding-right: 16px;\n}\n.style-module_chip__3rgLT:focus {\n outline-color: var(--ds-primary-900);\n outline-offset: 2px;\n}\n\n.style-module_select-chip-background__YCAyw {\n position: absolute;\n background-color: var(--ds-neutral-900);\n border-radius: 8px;\n top: 8px;\n z-index: 1;\n transition: width 0.3s, left 0.3s;\n}\n\n.style-module_text-color__6bLC9 {\n transition: color 0.15s ease-in;\n}";
22007
+ var styles$g = {"background-container":"style-module_background-container__2Gjka","chip-container":"style-module_chip-container__7XeKn","chip":"style-module_chip__3rgLT","select-chip-background":"style-module_select-chip-background__YCAyw","text-color":"style-module_text-color__6bLC9"};
21973
22008
  styleInject(css_248z$g);
21974
22009
 
21975
22010
  var SegmentedControl = function (_a) {
@@ -21985,15 +22020,14 @@ var SegmentedControl = function (_a) {
21985
22020
  setSelectedChipBackgroundWidthLeft({ left: left, width: width });
21986
22021
  }, [selectedIndex]);
21987
22022
  return (jsxRuntime.jsx("div", { className: className, children: jsxRuntime.jsxs("div", { className: styles$g['background-container'], children: [jsxRuntime.jsx("div", { ref: chipContainer, className: styles$g['chip-container'], style: { height: "".concat(height, "px") }, children: values.map(function (value, index) {
22023
+ var selectedColor = selectedIndex === index ? 'tc-white' : 'tc-neutral-900';
21988
22024
  return (jsxRuntime.jsx("div", { role: "button", tabIndex: 0, onKeyDown: function (e) {
21989
22025
  if (e.key === 'Enter' || e.code === 'Space') {
21990
22026
  onChange(index);
21991
22027
  }
21992
22028
  }, onClick: function () {
21993
22029
  onChange(index);
21994
- }, className: styles$g.chip, children: typeof value === 'string' ? (jsxRuntime.jsx("div", { className: "p-h4 ta-center ".concat(selectedIndex === index ? '' : 'tc-purple-600'), children: value })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "p-h4 ta-center ".concat(selectedIndex === index ? '' : 'tc-purple-600'), children: value.title }), jsxRuntime.jsx("div", { className: "p-p--small ta-center ".concat(selectedIndex === index
21995
- ? 'tc-neutral-600'
21996
- : 'tc-purple-600'), children: value.subtitle })] })) }, typeof value === 'string' ? value : value.title));
22030
+ }, className: styles$g.chip, children: typeof value === 'string' ? (jsxRuntime.jsx("div", { className: "p-h4 ta-center ".concat(selectedColor, " ").concat(styles$g['text-color']), children: value })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: "p-h4 ta-center ".concat(selectedColor, " ").concat(styles$g['text-color']), children: value.title }), jsxRuntime.jsx("div", { className: "p-p--small ta-center ".concat(selectedColor, " ").concat(styles$g['text-color']), children: value.subtitle })] })) }, typeof value === 'string' ? value : value.title));
21997
22031
  }) }), jsxRuntime.jsx("div", { className: styles$g['select-chip-background'], style: {
21998
22032
  width: "".concat(selectedChipBackgroundWidthLeft.width, "px"),
21999
22033
  height: "".concat(height - 16, "px"),
@@ -23335,6 +23369,7 @@ exports.DentalTreatmentToothIcon = DentalTreatmentTooth;
23335
23369
  exports.DependentsFamilyAddIcon = DependentsFamilyAdd;
23336
23370
  exports.DependentsFamilyIcon = DependentsFamily;
23337
23371
  exports.DiabetesIcon = Diabetes;
23372
+ exports.DirtySwanProvider = DirtySwanProvider;
23338
23373
  exports.DiscIcon = Disc;
23339
23374
  exports.DoctorIcon = Doctor;
23340
23375
  exports.DoctorStethoscopeIcon = DoctorStethoscope;
@@ -23635,8 +23670,10 @@ exports.ZoomOutIcon = ZoomOut;
23635
23670
  exports.illustrations = illustrations;
23636
23671
  exports.images = images;
23637
23672
  exports.toast = toast;
23673
+ exports.useDirtySwan = useDirtySwan;
23638
23674
  exports.useEscapeKey = useEscapeKey;
23639
23675
  exports.useFocusWithin = useFocusWithin;
23640
23676
  exports.useMediaQuery = useMediaQuery;
23677
+ exports.useModalTrack = useModalTrack;
23641
23678
  exports.useOnClickOutside = useOnClickOutside;
23642
23679
  //# sourceMappingURL=index.js.map