@popsure/dirty-swan 0.48.1 → 0.49.2
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.
- package/dist/cjs/index.js +79 -64
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/components/comparisonTable/components/Row/index.d.ts +1 -0
- package/dist/cjs/lib/components/comparisonTable/components/TableRowHeader/index.d.ts +1 -1
- package/dist/cjs/lib/components/comparisonTable/hooks/useComparisonTable.d.ts +3 -2
- package/dist/cjs/lib/components/comparisonTable/index.d.ts +14 -4
- package/dist/cjs/lib/components/dateSelector/index.d.ts +2 -0
- package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js +2 -2
- package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/Row/index.js +11 -4
- package/dist/esm/components/comparisonTable/components/Row/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableArrows/index.js +4 -2
- package/dist/esm/components/comparisonTable/components/TableArrows/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableButton/index.js +9 -4
- package/dist/esm/components/comparisonTable/components/TableButton/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +13 -7
- package/dist/esm/components/comparisonTable/components/TableButton/index.test.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js +1 -1
- package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js +9 -2
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js.map +1 -1
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +20 -17
- package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js.map +1 -1
- package/dist/esm/components/comparisonTable/index.js +28 -33
- package/dist/esm/components/comparisonTable/index.js.map +1 -1
- package/dist/esm/components/dateSelector/index.js +23 -15
- package/dist/esm/components/dateSelector/index.js.map +1 -1
- package/dist/esm/components/dateSelector/index.test.js +36 -2
- package/dist/esm/components/dateSelector/index.test.js.map +1 -1
- package/dist/esm/lib/components/comparisonTable/components/Row/index.d.ts +1 -0
- package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.d.ts +1 -1
- package/dist/esm/lib/components/comparisonTable/hooks/useComparisonTable.d.ts +3 -2
- package/dist/esm/lib/components/comparisonTable/index.d.ts +14 -4
- package/dist/esm/lib/components/dateSelector/index.d.ts +2 -0
- package/package.json +3 -3
- package/src/lib/components/comparisonTable/components/AccordionItem/AccordionItem.module.scss +3 -5
- package/src/lib/components/comparisonTable/components/AccordionItem/AccordionItem.tsx +2 -2
- package/src/lib/components/comparisonTable/components/Row/index.tsx +16 -13
- package/src/lib/components/comparisonTable/components/Row/style.module.scss +13 -9
- package/src/lib/components/comparisonTable/components/TableArrows/index.tsx +2 -0
- package/src/lib/components/comparisonTable/components/TableArrows/style.module.scss +4 -0
- package/src/lib/components/comparisonTable/components/TableButton/index.test.tsx +7 -8
- package/src/lib/components/comparisonTable/components/TableButton/index.tsx +9 -9
- package/src/lib/components/comparisonTable/components/TableButton/style.module.scss +7 -24
- package/src/lib/components/comparisonTable/components/TableInfoButton/index.tsx +1 -0
- package/src/lib/components/comparisonTable/components/TableRowHeader/index.test.tsx +18 -22
- package/src/lib/components/comparisonTable/components/TableRowHeader/index.tsx +16 -9
- package/src/lib/components/comparisonTable/hooks/useComparisonTable.ts +8 -18
- package/src/lib/components/comparisonTable/index.stories.mdx +55 -25
- package/src/lib/components/comparisonTable/index.tsx +64 -25
- package/src/lib/components/comparisonTable/style.module.scss +23 -8
- package/src/lib/components/dateSelector/index.test.tsx +32 -2
- package/src/lib/components/dateSelector/index.tsx +40 -21
|
@@ -12,7 +12,6 @@ export { default as TableRating } from './components/TableRating/index.js';
|
|
|
12
12
|
export { default as TableRowHeader } from './components/TableRowHeader/index.js';
|
|
13
13
|
export { default as TableTrueFalse } from './components/TableTrueFalse.js';
|
|
14
14
|
import { l as lodash_debounce } from '../../index-1463d5e9.js';
|
|
15
|
-
import { g as generateId } from '../../index-fb46adf9.js';
|
|
16
15
|
import { s as styleInject } from '../../style-inject.es-1f59c1d0.js';
|
|
17
16
|
import { AccordionItem } from './components/AccordionItem/AccordionItem.js';
|
|
18
17
|
import './components/TableArrows/Arrow.js';
|
|
@@ -788,7 +787,7 @@ var ScrollSyncPane = function (_Component) {
|
|
|
788
787
|
}
|
|
789
788
|
};
|
|
790
789
|
|
|
791
|
-
_this.childRef = (0, _react.createRef)();
|
|
790
|
+
_this.childRef = props.innerRef ? props.innerRef : (0, _react.createRef)();
|
|
792
791
|
return _this;
|
|
793
792
|
}
|
|
794
793
|
|
|
@@ -839,7 +838,9 @@ var ScrollSyncPane = function (_Component) {
|
|
|
839
838
|
if (this.props.attachTo) {
|
|
840
839
|
return this.props.children;
|
|
841
840
|
}
|
|
842
|
-
return (0, _react.cloneElement)(_react.Children.only(this.props.children), {
|
|
841
|
+
return (0, _react.cloneElement)(_react.Children.only(this.props.children), {
|
|
842
|
+
ref: this.childRef
|
|
843
|
+
});
|
|
843
844
|
}
|
|
844
845
|
}]);
|
|
845
846
|
|
|
@@ -851,7 +852,9 @@ ScrollSyncPane.propTypes = {
|
|
|
851
852
|
children: _propTypes2.default.node.isRequired,
|
|
852
853
|
attachTo: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.shape({ current: _propTypes2.default.any })]),
|
|
853
854
|
group: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.arrayOf(_propTypes2.default.string)]),
|
|
854
|
-
enabled: _propTypes2.default.bool
|
|
855
|
+
enabled: _propTypes2.default.bool,
|
|
856
|
+
innerRef: _propTypes2.default.oneOfType([// Either a function
|
|
857
|
+
_propTypes2.default.func, _propTypes2.default.shape({ current: _propTypes2.default.any })])
|
|
855
858
|
};
|
|
856
859
|
ScrollSyncPane.defaultProps = {
|
|
857
860
|
group: 'default',
|
|
@@ -1542,10 +1545,10 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
|
|
|
1542
1545
|
|
|
1543
1546
|
}(dist));
|
|
1544
1547
|
|
|
1545
|
-
var useComparisonTable = function () {
|
|
1546
|
-
var
|
|
1547
|
-
var _b = useState(
|
|
1548
|
-
var _c = useState(
|
|
1548
|
+
var useComparisonTable = function (_a) {
|
|
1549
|
+
var onSelectionChanged = _a.onSelectionChanged;
|
|
1550
|
+
var _b = useState(false), showMore = _b[0], setShowMore = _b[1];
|
|
1551
|
+
var _c = useState(1400), headerWidth = _c[0], setHeaderWidth = _c[1];
|
|
1549
1552
|
var _d = useState(0), selectedTabIndex = _d[0], setSelectedTabIndex = _d[1];
|
|
1550
1553
|
var _e = useState(''), selectedSection = _e[0], setSelectedSection = _e[1];
|
|
1551
1554
|
var headerRef = useRef(null);
|
|
@@ -1631,20 +1634,11 @@ var useComparisonTable = function () {
|
|
|
1631
1634
|
});
|
|
1632
1635
|
}); };
|
|
1633
1636
|
useEffect(function () {
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
var headerById = document.getElementById(headerId);
|
|
1638
|
-
if (headerById) {
|
|
1639
|
-
scrollContainerCallbackRef(headerById);
|
|
1640
|
-
}
|
|
1641
|
-
}, [headerId, scrollContainerCallbackRef]);
|
|
1642
|
-
useEffect(function () {
|
|
1643
|
-
setHeaderId(generateId());
|
|
1644
|
-
}, []);
|
|
1637
|
+
onSelectionChanged === null || onSelectionChanged === void 0 ? void 0 : onSelectionChanged(selectedTabIndex);
|
|
1638
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1639
|
+
}, [selectedTabIndex]);
|
|
1645
1640
|
return {
|
|
1646
1641
|
headerWidth: headerWidth,
|
|
1647
|
-
headerId: headerId,
|
|
1648
1642
|
contentContainerRef: contentContainerRef,
|
|
1649
1643
|
selectedSection: selectedSection,
|
|
1650
1644
|
setSelectedSection: setSelectedSection,
|
|
@@ -1657,26 +1651,27 @@ var useComparisonTable = function () {
|
|
|
1657
1651
|
};
|
|
1658
1652
|
};
|
|
1659
1653
|
|
|
1660
|
-
var css_248z = ".style-module_container__xHPlk {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scroll-snap-type: x mandatory;\n}\n@media (min-width: 34rem) {\n .style-module_container__xHPlk {\n scroll-snap-type: unset;\n }\n}\n\n.style-module_noScrollBars__1ri_E {\n scrollbar-width: none;\n /* Firefox */\n -ms-overflow-style: none;\n /* Internet Explorer 10+ */\n
|
|
1661
|
-
var baseStyles = {"container":"style-module_container__xHPlk","noScrollBars":"style-module_noScrollBars__1ri_E","overflow-container":"style-module_overflow-container__oBPQw","group-container":"style-module_group-container__2G6Ix","group-title":"style-module_group-title__2vvRm","sticky":"style-module_sticky__2Xmbl","header":"style-module_header__23SZy","show-details-container":"style-module_show-details-container__1smn4","show-details-button":"style-module_show-details-button__3HR-p","icon-inverted":"style-module_icon-inverted__1SnO1"};
|
|
1654
|
+
var css_248z = ".style-module_container__xHPlk {\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n scroll-snap-type: x mandatory;\n}\n@media (min-width: 34rem) {\n .style-module_container__xHPlk {\n scroll-snap-type: unset;\n }\n}\n\n.style-module_noScrollBars__1ri_E {\n scrollbar-width: none;\n /* Firefox */\n -ms-overflow-style: none;\n /* Internet Explorer 10+ */\n}\n.style-module_noScrollBars__1ri_E::-webkit-scrollbar {\n /* WebKit */\n width: 0;\n height: 0;\n}\n\n@media (max-width: 34rem) {\n .style-module_noScrollBarsMobile__1txeg * {\n scrollbar-width: none;\n /* Firefox */\n -ms-overflow-style: none;\n /* Internet Explorer 10+ */\n }\n .style-module_noScrollBarsMobile__1txeg * -webkit-scrollbar {\n /* WebKit */\n width: 0;\n height: 0;\n display: none;\n }\n}\n\n.style-module_section__1bf_0 + .style-module_section__1bf_0 {\n margin-top: 48px;\n}\n@media (min-width: 34rem) {\n .style-module_section__1bf_0 + .style-module_section__1bf_0 {\n margin-top: 72px;\n }\n}\n\n.style-module_overflow-container__oBPQw {\n width: max-content;\n min-width: 100%;\n}\n\n.style-module_group-container__2G6Ix {\n display: flex;\n flex-flow: column;\n width: max-content;\n width: var(--growContent, max-content);\n margin: auto;\n}\n\n.style-module_group-title__2vvRm {\n width: 100%;\n background-color: #fafaff;\n border-radius: 8px;\n}\n.style-module_group-title__2vvRm > h4 {\n padding: 24px;\n display: inline-block;\n}\n\n.style-module_sticky__2Xmbl {\n position: sticky;\n justify-content: flex-start;\n z-index: 1;\n top: 0;\n left: 0;\n}\n@media (min-width: 34rem) {\n .style-module_sticky__2Xmbl {\n border-right: 1px solid #fafaff;\n }\n}\n\n.style-module_header__23SZy {\n position: sticky;\n top: 0;\n top: var(--stickyHeaderTopOffset, 0);\n z-index: 2;\n background-color: white;\n}\n.style-module_header__23SZy .style-module_container__xHPlk {\n -ms-overflow-style: none;\n /* IE and Edge */\n scrollbar-width: none;\n /* Firefox */\n}\n.style-module_header__23SZy .style-module_container__xHPlk::-webkit-scrollbar {\n display: none;\n}\n\n.style-module_show-details-container__1smn4 {\n width: 100%;\n border: none;\n}\n\n.style-module_show-details-button__3HR-p {\n font-family: inherit;\n background-color: #fafaff;\n border: none;\n border-radius: 8px;\n height: 64px;\n justify-content: center;\n align-items: center;\n}\n.style-module_show-details-button__3HR-p svg {\n margin-left: 8px;\n}\n\n.style-module_icon-inverted__1SnO1 {\n transform: rotate(180deg);\n transition: all 0.25s ease;\n}";
|
|
1655
|
+
var baseStyles = {"container":"style-module_container__xHPlk","noScrollBars":"style-module_noScrollBars__1ri_E","noScrollBarsMobile":"style-module_noScrollBarsMobile__1txeg","section":"style-module_section__1bf_0","overflow-container":"style-module_overflow-container__oBPQw","group-container":"style-module_group-container__2G6Ix","group-title":"style-module_group-title__2vvRm","sticky":"style-module_sticky__2Xmbl","header":"style-module_header__23SZy","show-details-container":"style-module_show-details-container__1smn4","show-details-button":"style-module_show-details-button__3HR-p","icon-inverted":"style-module_icon-inverted__1SnO1"};
|
|
1662
1656
|
styleInject(css_248z);
|
|
1663
1657
|
|
|
1664
1658
|
var ComparisonTable = function (props) {
|
|
1665
1659
|
var _a;
|
|
1666
|
-
var headers = props.headers, data = props.data, hideDetails = props.hideDetails,
|
|
1667
|
-
var
|
|
1660
|
+
var headers = props.headers, data = props.data, hideDetails = props.hideDetails, _b = props.hideDetailsCaption, hideDetailsCaption = _b === void 0 ? 'Hide details' : _b, _c = props.showDetailsCaption, showDetailsCaption = _c === void 0 ? 'Show details' : _c, classNameOverrides = props.classNameOverrides, hideScrollBars = props.hideScrollBars, hideScrollBarsMobile = props.hideScrollBarsMobile, collapsibleSections = props.collapsibleSections, cellWidth = props.cellWidth, firstColumnWidth = props.firstColumnWidth, stickyHeaderTopOffset = props.stickyHeaderTopOffset, growContent = props.growContent, onSelectionChanged = props.onSelectionChanged;
|
|
1661
|
+
var _d = useComparisonTable({ onSelectionChanged: onSelectionChanged }), headerWidth = _d.headerWidth, contentContainerRef = _d.contentContainerRef, selectedSection = _d.selectedSection, setSelectedSection = _d.setSelectedSection, selectedTabIndex = _d.selectedTabIndex, scrollContainerCallbackRef = _d.scrollContainerCallbackRef, handleArrowsClick = _d.handleArrowsClick, toggleMoreRows = _d.toggleMoreRows, showMore = _d.showMore;
|
|
1668
1662
|
var cssVariablesStyle = __assign(__assign(__assign(__assign({ '--tableWidth': headerWidth + "px" }, (cellWidth ? { '--cellWidth': cellWidth + "px" } : {})), (firstColumnWidth
|
|
1669
1663
|
? { '--firstColumnWidth': firstColumnWidth + "px" }
|
|
1670
1664
|
: {})), (stickyHeaderTopOffset
|
|
1671
1665
|
? { '--stickyHeaderTopOffset': stickyHeaderTopOffset + "px" }
|
|
1672
1666
|
: {})), (growContent ? { '--growContent': '100%' } : {}));
|
|
1673
|
-
return (jsx(dist.exports.ScrollSync,
|
|
1674
|
-
|
|
1675
|
-
|
|
1667
|
+
return (jsx(dist.exports.ScrollSync, { children: jsxs("div", __assign({ style: cssVariablesStyle, className: classNames((_a = {},
|
|
1668
|
+
_a[baseStyles.noScrollBars] = hideScrollBars,
|
|
1669
|
+
_a[baseStyles.noScrollBarsMobile] = hideScrollBarsMobile,
|
|
1670
|
+
_a)) }, { children: [jsx("div", __assign({ className: classNames(baseStyles.header, classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.header) }, { children: jsx(dist.exports.ScrollSyncPane, __assign({ innerRef: scrollContainerCallbackRef }, { children: jsx("div", __assign({ className: classNames(baseStyles.container) }, { children: jsx("div", __assign({ className: classNames(baseStyles['overflow-container']) }, { children: jsxs("div", __assign({ className: baseStyles['group-container'] }, { children: [jsx(TableArrows, { onClick: handleArrowsClick, active: {
|
|
1676
1671
|
left: selectedTabIndex > 0,
|
|
1677
1672
|
right: selectedTabIndex < data.length - 1,
|
|
1678
1673
|
} }, void 0),
|
|
1679
|
-
jsx(Row, { rowId: "table-header-row", cell: headers[0].cells[0], data: data, isRowHeader: true }, "table-header-row")] }), void 0) }), void 0) }), void 0) }, void 0) }), void 0),
|
|
1674
|
+
jsx(Row, { rowId: "table-header-row", cell: headers[0].cells[0], data: data, isRowHeader: true, cellClassName: classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.headerCell }, "table-header-row")] }), void 0) }), void 0) }), void 0) }), void 0) }), void 0),
|
|
1680
1675
|
jsxs("div", __assign({ ref: contentContainerRef }, { children: [Array.isArray(headers) &&
|
|
1681
1676
|
headers
|
|
1682
1677
|
.filter(function (headerGroup) { return !hideDetails || showMore || headerGroup.default; })
|
|
@@ -1689,20 +1684,20 @@ var ComparisonTable = function (props) {
|
|
|
1689
1684
|
/** Do not render the first row */
|
|
1690
1685
|
if (index === 0 && headerGroupIndex === 0)
|
|
1691
1686
|
return null;
|
|
1692
|
-
return (jsx(Row, { rowId: rowId, cell: cell, data: data }, rowId));
|
|
1687
|
+
return (jsx(Row, { rowId: rowId, cell: cell, data: data, cellClassName: classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.cell }, rowId));
|
|
1693
1688
|
});
|
|
1694
1689
|
var idString = "headerGroup-" + headerGroup.id;
|
|
1695
|
-
return (jsx(Fragment, { children: headerGroup.label && collapsibleSections ? (jsx(AccordionItem, __assign({ className:
|
|
1690
|
+
return (jsx(Fragment, { children: headerGroup.label && collapsibleSections ? (jsx(AccordionItem, __assign({ className: classNames('mt16', classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.collapsibleSection), label: headerGroup.label, headerClassName: "p24 br8", isOpen: selectedSection === idString, onOpen: function () { return setSelectedSection(idString); }, onClose: function () { return setSelectedSection(''); } }, { children: jsx(dist.exports.ScrollSyncPane, { children: jsx("div", __assign({ className: classNames(baseStyles.container, 'pb16', classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.container, (_a = {},
|
|
1696
1691
|
_a[baseStyles.noScrollBars] = hideScrollBars,
|
|
1697
|
-
_a)) }, { children: jsx("div", __assign({ className: classNames(baseStyles['overflow-container']) }, { children: jsx("div", __assign({ className: baseStyles['group-container'] }, { children: content }), void 0) }), void 0) }), void 0) }, void 0) }), void 0)) : (jsx("
|
|
1692
|
+
_a)) }, { children: jsx("div", __assign({ className: classNames(baseStyles['overflow-container']) }, { children: jsx("div", __assign({ className: baseStyles['group-container'] }, { children: content }), void 0) }), void 0) }), void 0) }, void 0) }), void 0)) : (jsx("section", __assign({ className: classNames(baseStyles.section, classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.section) }, { children: jsx(dist.exports.ScrollSyncPane, { children: jsx("div", __assign({ className: classNames(baseStyles.container, 'pb16', classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.container, (_b = {},
|
|
1698
1693
|
_b[baseStyles.noScrollBars] = hideScrollBars,
|
|
1699
1694
|
_b)) }, { children: jsx("div", __assign({ className: classNames(baseStyles['overflow-container']) }, { children: jsxs("div", __assign({ className: baseStyles['group-container'] }, { children: [
|
|
1700
1695
|
/**
|
|
1701
1696
|
* Print a table subheader if the `label` value is present
|
|
1702
1697
|
*/
|
|
1703
|
-
headerGroup.label && !collapsibleSections && (jsx("div", __assign({ className: baseStyles['group-title'] }, { children: jsx("h4", __assign({ className: "p-h4 " + baseStyles.sticky }, { children: headerGroup.label }), void 0) }), void 0)), content] }), void 0) }), void 0) }), void 0) }, void 0) }, idString)) }, idString));
|
|
1698
|
+
headerGroup.label && !collapsibleSections && (jsx("div", __assign({ className: baseStyles['group-title'] }, { children: jsx("h4", __assign({ className: "p-h4 " + baseStyles.sticky }, { children: headerGroup.label }), void 0) }), void 0)), content] }), void 0) }), void 0) }), void 0) }, void 0) }), idString)) }, idString));
|
|
1704
1699
|
}),
|
|
1705
|
-
hideDetails && (jsx("div", __assign({ className: classNames(baseStyles['show-details-container'], baseStyles.sticky, 'mt48') }, { children: jsx("div", { children: jsxs("button", __assign({ className:
|
|
1700
|
+
hideDetails && (jsx("div", __assign({ className: classNames(baseStyles['show-details-container'], baseStyles.sticky, 'mt48') }, { children: jsx("div", { children: jsxs("button", __assign({ className: classNames('w100 d-flex p-a 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, jsx(Chevron, { className: showMore ? '' : baseStyles['icon-inverted'] }, void 0)] }), void 0) }, void 0) }), void 0))] }), void 0)] }), void 0) }, void 0));
|
|
1706
1701
|
};
|
|
1707
1702
|
|
|
1708
1703
|
export { ComparisonTable };
|