@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.
Files changed (53) hide show
  1. package/dist/cjs/index.js +79 -64
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/lib/components/comparisonTable/components/Row/index.d.ts +1 -0
  4. package/dist/cjs/lib/components/comparisonTable/components/TableRowHeader/index.d.ts +1 -1
  5. package/dist/cjs/lib/components/comparisonTable/hooks/useComparisonTable.d.ts +3 -2
  6. package/dist/cjs/lib/components/comparisonTable/index.d.ts +14 -4
  7. package/dist/cjs/lib/components/dateSelector/index.d.ts +2 -0
  8. package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js +2 -2
  9. package/dist/esm/components/comparisonTable/components/AccordionItem/AccordionItem.js.map +1 -1
  10. package/dist/esm/components/comparisonTable/components/Row/index.js +11 -4
  11. package/dist/esm/components/comparisonTable/components/Row/index.js.map +1 -1
  12. package/dist/esm/components/comparisonTable/components/TableArrows/index.js +4 -2
  13. package/dist/esm/components/comparisonTable/components/TableArrows/index.js.map +1 -1
  14. package/dist/esm/components/comparisonTable/components/TableButton/index.js +9 -4
  15. package/dist/esm/components/comparisonTable/components/TableButton/index.js.map +1 -1
  16. package/dist/esm/components/comparisonTable/components/TableButton/index.test.js +13 -7
  17. package/dist/esm/components/comparisonTable/components/TableButton/index.test.js.map +1 -1
  18. package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js +1 -1
  19. package/dist/esm/components/comparisonTable/components/TableInfoButton/index.js.map +1 -1
  20. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js +9 -2
  21. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.js.map +1 -1
  22. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js +20 -17
  23. package/dist/esm/components/comparisonTable/components/TableRowHeader/index.test.js.map +1 -1
  24. package/dist/esm/components/comparisonTable/index.js +28 -33
  25. package/dist/esm/components/comparisonTable/index.js.map +1 -1
  26. package/dist/esm/components/dateSelector/index.js +23 -15
  27. package/dist/esm/components/dateSelector/index.js.map +1 -1
  28. package/dist/esm/components/dateSelector/index.test.js +36 -2
  29. package/dist/esm/components/dateSelector/index.test.js.map +1 -1
  30. package/dist/esm/lib/components/comparisonTable/components/Row/index.d.ts +1 -0
  31. package/dist/esm/lib/components/comparisonTable/components/TableRowHeader/index.d.ts +1 -1
  32. package/dist/esm/lib/components/comparisonTable/hooks/useComparisonTable.d.ts +3 -2
  33. package/dist/esm/lib/components/comparisonTable/index.d.ts +14 -4
  34. package/dist/esm/lib/components/dateSelector/index.d.ts +2 -0
  35. package/package.json +3 -3
  36. package/src/lib/components/comparisonTable/components/AccordionItem/AccordionItem.module.scss +3 -5
  37. package/src/lib/components/comparisonTable/components/AccordionItem/AccordionItem.tsx +2 -2
  38. package/src/lib/components/comparisonTable/components/Row/index.tsx +16 -13
  39. package/src/lib/components/comparisonTable/components/Row/style.module.scss +13 -9
  40. package/src/lib/components/comparisonTable/components/TableArrows/index.tsx +2 -0
  41. package/src/lib/components/comparisonTable/components/TableArrows/style.module.scss +4 -0
  42. package/src/lib/components/comparisonTable/components/TableButton/index.test.tsx +7 -8
  43. package/src/lib/components/comparisonTable/components/TableButton/index.tsx +9 -9
  44. package/src/lib/components/comparisonTable/components/TableButton/style.module.scss +7 -24
  45. package/src/lib/components/comparisonTable/components/TableInfoButton/index.tsx +1 -0
  46. package/src/lib/components/comparisonTable/components/TableRowHeader/index.test.tsx +18 -22
  47. package/src/lib/components/comparisonTable/components/TableRowHeader/index.tsx +16 -9
  48. package/src/lib/components/comparisonTable/hooks/useComparisonTable.ts +8 -18
  49. package/src/lib/components/comparisonTable/index.stories.mdx +55 -25
  50. package/src/lib/components/comparisonTable/index.tsx +64 -25
  51. package/src/lib/components/comparisonTable/style.module.scss +23 -8
  52. package/src/lib/components/dateSelector/index.test.tsx +32 -2
  53. package/src/lib/components/dateSelector/index.tsx +40 -21
package/dist/cjs/index.js CHANGED
@@ -3864,21 +3864,22 @@ var defaultPlaceholders = {
3864
3864
  yearFormat: "YYYY",
3865
3865
  error: "Please enter a valid date"
3866
3866
  };
3867
- var isDateValid = function (date, yearBoundaries) {
3867
+ var isDateValid = function (date, yearBoundaries, dateObject) {
3868
3868
  var _a = yearBoundaries.min, min = _a === void 0 ? 0 : _a, _b = yearBoundaries.max, max = _b === void 0 ? 0 : _b;
3869
3869
  if (!date) {
3870
- return { isValid: false, field: 'all' };
3870
+ return { isValid: false, errorType: 'default' };
3871
3871
  }
3872
+ var isValidYear = (dateObject === null || dateObject === void 0 ? void 0 : dateObject.year) && String(dateObject === null || dateObject === void 0 ? void 0 : dateObject.year).length === 4;
3872
3873
  if (max && dayjs(date).isAfter(max + "-01-01", 'year')) {
3873
- return { isValid: false, field: 'year' };
3874
+ return { isValid: false, errorType: isValidYear ? 'afterMax' : 'default' };
3874
3875
  }
3875
3876
  if (min && dayjs(date).isBefore(min + "-01-01", 'year')) {
3876
- return { isValid: false, field: 'year' };
3877
+ return { isValid: false, errorType: isValidYear ? 'beforeMin' : 'default' };
3877
3878
  }
3878
- var isDateValid = dayjs(date, COLLECTABLE_DATE_FORMAT, true).isValid();
3879
+ var isValidDate = dayjs(date, COLLECTABLE_DATE_FORMAT, true).isValid();
3879
3880
  return {
3880
- isValid: isDateValid,
3881
- field: isDateValid ? undefined : 'all',
3881
+ isValid: isValidDate,
3882
+ errorType: 'default'
3882
3883
  };
3883
3884
  };
3884
3885
  var DateSelector = function (_a) {
@@ -3892,9 +3893,9 @@ var DateSelector = function (_a) {
3892
3893
  require$$0.useEffect(function () {
3893
3894
  var calendarDateValue = value ? isoStringtoCalendarDate(value) : undefined;
3894
3895
  if (value !== calendarDateValue && (calendarDateValue === null || calendarDateValue === void 0 ? void 0 : calendarDateValue.day) && (calendarDateValue === null || calendarDateValue === void 0 ? void 0 : calendarDateValue.month) && (calendarDateValue === null || calendarDateValue === void 0 ? void 0 : calendarDateValue.year)) {
3895
- var _a = isDateValid(value, yearBoundaries), isValid = _a.isValid, field = _a.field;
3896
+ var _a = isDateValid(value, yearBoundaries, calendarDateValue), isValid = _a.isValid, errorType = _a.errorType;
3896
3897
  setInternalValue(calendarDateValue);
3897
- setHasError(isValid ? undefined : field);
3898
+ setHasError(isValid ? undefined : errorType);
3898
3899
  setIsDirty(true);
3899
3900
  }
3900
3901
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -3908,13 +3909,16 @@ var DateSelector = function (_a) {
3908
3909
  month: tempValue.month || 0,
3909
3910
  year: tempValue.year || 0,
3910
3911
  });
3911
- var _b = isDateValid(formattedDate, yearBoundaries), isValid = _b.isValid, field = _b.field;
3912
- if (dayjs(formattedDate, COLLECTABLE_DATE_FORMAT, true).isValid()) {
3912
+ var _b = isDateValid(formattedDate, yearBoundaries, tempValue), isValid = _b.isValid, errorType = _b.errorType;
3913
+ var isDateInValidFormat = dayjs(formattedDate, COLLECTABLE_DATE_FORMAT, true).isValid();
3914
+ if (isDateInValidFormat) {
3913
3915
  setIsDirty(true);
3914
3916
  }
3915
- setHasError(isValid ? undefined : field);
3916
- onChange(isValid ? formattedDate : "");
3917
+ setHasError(isValid ? undefined : errorType);
3917
3918
  setIsCalendarOpen(false);
3919
+ if (isDateInValidFormat || isDirty) {
3920
+ onChange(isValid ? formattedDate : "");
3921
+ }
3918
3922
  };
3919
3923
  var handleOnKeyDown = function (event, index) {
3920
3924
  var _a, _b, _c;
@@ -3969,7 +3973,7 @@ var DateSelector = function (_a) {
3969
3973
  };
3970
3974
  var getInputProps = function (key, index) {
3971
3975
  var _a, _b;
3972
- return (__assign({ 'data-cy': "date-selector-" + key, 'data-testid': "date-selector-" + key, className: styles$z[key + "Input"], id: key, name: key, maxLength: key === 'year' ? 4 : 2, required: true, label: placeholders === null || placeholders === void 0 ? void 0 : placeholders[key], placeholder: (_a = placeholders === null || placeholders === void 0 ? void 0 : placeholders[key + "Format"]) !== null && _a !== void 0 ? _a : "", labelInsideInput: true, value: (_b = internalValue[key]) !== null && _b !== void 0 ? _b : '', error: (hasError && [key, 'all'].includes(hasError)) && isDirty, type: "text", inputMode: "numeric", ref: function (el) { itemsRef.current[index] = el; }, onKeyUp: function (event) { return handleOnKeyUp(event, index); }, onKeyDown: function (event) { return handleOnKeyDown(event, index); }, onChange: function (_a) {
3976
+ return (__assign({ 'data-cy': "date-selector-" + key, 'data-testid': "date-selector-" + key, className: styles$z[key + "Input"], id: key, name: key, maxLength: key === 'year' ? 4 : 2, required: true, label: placeholders === null || placeholders === void 0 ? void 0 : placeholders[key], placeholder: (_a = placeholders === null || placeholders === void 0 ? void 0 : placeholders[key + "Format"]) !== null && _a !== void 0 ? _a : "", labelInsideInput: true, value: (_b = internalValue[key]) !== null && _b !== void 0 ? _b : '', error: hasError && isDirty, type: "text", inputMode: "numeric", ref: function (el) { itemsRef.current[index] = el; }, onKeyUp: function (event) { return handleOnKeyUp(event, index); }, onKeyDown: function (event) { return handleOnKeyDown(event, index); }, onChange: function (_a) {
3973
3977
  var target = _a.target;
3974
3978
  return handleOnChange(key, target.value);
3975
3979
  } }, (inputProps === null || inputProps === void 0 ? void 0 : inputProps(key)) || {}));
@@ -3978,7 +3982,11 @@ var DateSelector = function (_a) {
3978
3982
  jsxRuntime.jsx(Input, __assign({}, getInputProps('month', 1)), void 0)] }), void 0),
3979
3983
  jsxRuntime.jsx(Input, __assign({}, getInputProps('year', 2)), void 0)] }), void 0),
3980
3984
  jsxRuntime.jsx(Calendar, { dateFormat: COLLECTABLE_DATE_FORMAT, yearBoundaries: yearBoundaries, displayCalendar: displayCalendar, dayjsLocale: dayjsLocale, firstDayOfWeek: firstDayOfWeek, isOpen: isCalendarOpen, setCalendarOpen: setIsCalendarOpen, value: value, onChange: onChange }, void 0)] }), void 0),
3981
- hasError && isDirty && (jsxRuntime.jsx("p", __assign({ className: "p-p--small tc-red-500 w100 mt8" }, { children: placeholders.error }), void 0))] }, void 0));
3985
+ hasError && isDirty && (jsxRuntime.jsx("p", __assign({ className: classNames$1(hasError && isDirty ? 'd-block' : 'd-none', "p-p--small tc-red-500 w100 mt8"), "data-testid": "date-error-message" }, { children: {
3986
+ default: placeholders.error,
3987
+ afterMax: placeholders.errorAfterMaxYear || "Please choose a date before " + (yearBoundaries.max + 1),
3988
+ beforeMin: placeholders.errorBeforeMinYear || "Please choose a date after " + (yearBoundaries.min - 1),
3989
+ }[hasError || "default"] }), void 0))] }, void 0));
3982
3990
  };
3983
3991
 
3984
3992
  /*!
@@ -12809,7 +12817,7 @@ var ScrollSyncPane = function (_Component) {
12809
12817
  }
12810
12818
  };
12811
12819
 
12812
- _this.childRef = (0, _react.createRef)();
12820
+ _this.childRef = props.innerRef ? props.innerRef : (0, _react.createRef)();
12813
12821
  return _this;
12814
12822
  }
12815
12823
 
@@ -12860,7 +12868,9 @@ var ScrollSyncPane = function (_Component) {
12860
12868
  if (this.props.attachTo) {
12861
12869
  return this.props.children;
12862
12870
  }
12863
- return (0, _react.cloneElement)(_react.Children.only(this.props.children), { ref: this.childRef });
12871
+ return (0, _react.cloneElement)(_react.Children.only(this.props.children), {
12872
+ ref: this.childRef
12873
+ });
12864
12874
  }
12865
12875
  }]);
12866
12876
 
@@ -12872,7 +12882,9 @@ ScrollSyncPane.propTypes = {
12872
12882
  children: _propTypes2.default.node.isRequired,
12873
12883
  attachTo: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.shape({ current: _propTypes2.default.any })]),
12874
12884
  group: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.arrayOf(_propTypes2.default.string)]),
12875
- enabled: _propTypes2.default.bool
12885
+ enabled: _propTypes2.default.bool,
12886
+ innerRef: _propTypes2.default.oneOfType([// Either a function
12887
+ _propTypes2.default.func, _propTypes2.default.shape({ current: _propTypes2.default.any })])
12876
12888
  };
12877
12889
  ScrollSyncPane.defaultProps = {
12878
12890
  group: 'default',
@@ -13563,7 +13575,7 @@ module.exports = function(isValidElement, throwOnDirectAccess) {
13563
13575
 
13564
13576
  }(dist$1));
13565
13577
 
13566
- var css_248z$b = ".AccordionItem-module_container__29xle {\n width: min-content;\n width: var(--growContent, min-content);\n margin: 0 auto;\n}\n\n.AccordionItem-module_container__29xle + .AccordionItem-module_container__29xle {\n margin-top: 8px;\n}\n\n.AccordionItem-module_chevron__1Pdoe {\n transition: filter 0.3s ease-in-out, transform 0.2s ease-in-out;\n}\n\n.AccordionItem-module_chevronClosed__1Sq5g {\n transform: rotate(180deg);\n}\n\n.AccordionItem-module_iconAndTextContainer__1K9NF {\n column-gap: 12px;\n}\n\n.AccordionItem-module_headerButton__1C03u {\n border: none;\n background: #fafaff;\n column-gap: 16px;\n cursor: pointer;\n font-family: inherit;\n outline: none;\n position: relative;\n text-align: inherit;\n transition: background-color 0.3s ease-in-out, transform 0.2s ease-in-out;\n}\n.AccordionItem-module_headerButton__1C03u:hover {\n background: #ebebff;\n}\n\n.AccordionItem-module_headerButton__1C03u:hover .AccordionItem-module_chevron__1Pdoe {\n filter: brightness(0.425);\n}";
13578
+ var css_248z$b = ".AccordionItem-module_container__29xle {\n width: min-content;\n width: var(--growContent, min-content);\n max-width: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.AccordionItem-module_chevron__1Pdoe {\n transition: filter 0.3s ease-in-out, transform 0.2s ease-in-out;\n}\n\n.AccordionItem-module_chevronClosed__1Sq5g {\n transform: rotate(180deg);\n}\n\n.AccordionItem-module_iconAndTextContainer__1K9NF {\n column-gap: 12px;\n}\n\n.AccordionItem-module_headerButton__1C03u {\n border: none;\n background: #fafaff;\n column-gap: 16px;\n cursor: pointer;\n font-family: inherit;\n outline: none;\n position: relative;\n text-align: inherit;\n transition: background-color 0.3s ease-in-out, transform 0.2s ease-in-out;\n}\n.AccordionItem-module_headerButton__1C03u:hover {\n background: #ebebff;\n}\n\n.AccordionItem-module_headerButton__1C03u:hover .AccordionItem-module_chevron__1Pdoe {\n filter: brightness(0.425);\n}";
13567
13579
  var styles$a = {"container":"AccordionItem-module_container__29xle","chevron":"AccordionItem-module_chevron__1Pdoe","chevronClosed":"AccordionItem-module_chevronClosed__1Sq5g","iconAndTextContainer":"AccordionItem-module_iconAndTextContainer__1K9NF","headerButton":"AccordionItem-module_headerButton__1C03u"};
13568
13580
  styleInject(css_248z$b);
13569
13581
 
@@ -13581,7 +13593,7 @@ var AccordionItem = function (_a) {
13581
13593
  onClose();
13582
13594
  }
13583
13595
  };
13584
- return (jsxRuntime.jsxs("div", __assign({ className: "d-flex fd-column " + className + " " + styles$a.container }, { children: [jsxRuntime.jsxs("button", __assign({ className: "d-flex ai-center jc-between " + styles$a.headerButton + " " + headerClassName, onClick: handleClick, type: "button" }, { children: [jsxRuntime.jsx("div", __assign({ className: "d-flex ai-center " + styles$a.iconAndTextContainer }, { children: typeof label === 'string' ? (jsxRuntime.jsx("h4", __assign({ className: "p-h4" }, { children: label }), void 0)) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: label }, void 0)) }), void 0),
13596
+ return (jsxRuntime.jsxs("section", __assign({ className: "d-flex fd-column " + styles$a.container + " " + className }, { children: [jsxRuntime.jsxs("button", __assign({ className: "d-flex ai-center jc-between " + styles$a.headerButton + " " + headerClassName, onClick: handleClick, type: "button" }, { children: [jsxRuntime.jsx("div", __assign({ className: "d-flex ai-center " + styles$a.iconAndTextContainer }, { children: typeof label === 'string' ? (jsxRuntime.jsx("h4", __assign({ className: "p-h4" }, { children: label }), void 0)) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: label }, void 0)) }), void 0),
13585
13597
  jsxRuntime.jsx(ChevronSVG, { className: styles$a.chevron + " " + (!isOpen && styles$a.chevronClosed) }, void 0)] }), void 0),
13586
13598
  jsxRuntime.jsx(AnimateHeight, __assign({ duration: 300, height: isOpen ? 'auto' : 0.1 }, { children: children }), void 0)] }), void 0));
13587
13599
  };
@@ -13591,13 +13603,19 @@ var Chevron = function (_a) {
13591
13603
  return (jsxRuntime.jsx("svg", __assign({ width: "20", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className }, { children: jsxRuntime.jsx("path", { d: "M15 12.5l-5-5-5 5", stroke: "#8E8CEE", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, void 0) }), void 0));
13592
13604
  };
13593
13605
 
13594
- var css_248z$a = ".style-module_header__32rw- {\n position: relative;\n}\n.style-module_header__32rw- > div {\n width: var(--tableWidth);\n max-width: 100vw;\n}\n.style-module_header__32rw- > div:nth-child(n+3) {\n margin: 0;\n}\n@media (min-width: 34rem) {\n .style-module_header__32rw- > div {\n width: 256px;\n width: var(--cellWidth, 256px);\n max-width: var(--tableWidth);\n scroll-snap-align: unset;\n }\n}\n\n.style-module_cell__1NoZ6 {\n display: flex;\n justify-content: center;\n align-items: center;\n scroll-snap-align: end;\n line-height: 24px;\n padding: 16px;\n color: #4c4c53;\n width: 50vw;\n max-width: calc(var(--tableWidth) / 2);\n}\n.style-module_cell__1NoZ6:first-child {\n background-color: white;\n /** Add scroll snap to every column except the first one */\n scroll-snap-align: unset;\n}\n.style-module_cell__1NoZ6:nth-child(n+3) {\n margin-left: 50vw;\n}\n@media (min-width: 34rem) {\n .style-module_cell__1NoZ6:nth-child(n+3) {\n margin-left: unset;\n }\n}\n@media (min-width: 34rem) {\n .style-module_cell__1NoZ6 {\n flex: 1 0 256px;\n flex: 1 0 var(--cellWidth, 256px);\n width: 256px;\n width: var(--cellWidth, 256px);\n padding: 24px;\n }\n .style-module_cell__1NoZ6:last-child {\n padding: 24px 8px 24px 24px;\n }\n}\n\nh4.style-module_cell__1NoZ6 {\n max-width: min(288px, calc(var(--tableWidth) / 2));\n max-width: min(var(--firstColumnWidth, 288px), calc(var(--tableWidth) / 2));\n}\n\n.style-module_title__1xYvu {\n position: relative;\n color: #26262e;\n display: none;\n}\n.style-module_title__1xYvu:after {\n content: \"\";\n display: block;\n position: absolute;\n top: calc( 50% + 16px );\n height: 4px;\n width: 100%;\n max-width: 140px;\n background-color: #8e8cee;\n}\n@media (min-width: 34rem) {\n .style-module_title__1xYvu {\n display: flex;\n }\n}\n\n.style-module_sticky__2T5jm {\n position: sticky;\n justify-content: flex-start;\n z-index: 1;\n top: 0;\n left: 0;\n width: 50vw;\n}\n@media (min-width: 34rem) {\n .style-module_sticky__2T5jm {\n border-right: 1px solid #fafaff;\n flex: 1 0 288px;\n }\n}\n\nh4.style-module_addon__CPf60 {\n border-right: none;\n max-width: calc(100vw - 64px);\n width: 100vw;\n}\n@media (min-width: 64rem) {\n h4.style-module_addon__CPf60 {\n max-width: 976px;\n }\n}";
13606
+ var css_248z$a = ".style-module_header__32rw- {\n position: relative;\n}\n.style-module_header__32rw- > div {\n width: var(--tableWidth);\n max-width: 100vw;\n}\n.style-module_header__32rw- > div:nth-child(n+3) {\n margin: 0;\n}\n@media (min-width: 34rem) {\n .style-module_header__32rw- > div {\n width: 211px;\n width: var(--cellWidth, 211px);\n max-width: var(--tableWidth);\n scroll-snap-align: unset;\n }\n}\n\n.style-module_cell__1NoZ6 {\n display: flex;\n justify-content: center;\n align-items: center;\n scroll-snap-align: end;\n line-height: 24px;\n padding: 16px 8px;\n color: #26262e;\n width: 50vw;\n max-width: calc(var(--tableWidth) / 2);\n}\n.style-module_cell__1NoZ6:first-child {\n padding: 16px 8px 16px 16px;\n}\n.style-module_cell__1NoZ6:first-child {\n background-color: white;\n /** Add scroll snap to every column except the first one */\n scroll-snap-align: unset;\n}\n.style-module_cell__1NoZ6:nth-child(n+3) {\n margin-left: 50vw;\n}\n@media (min-width: 34rem) {\n .style-module_cell__1NoZ6:nth-child(n+3) {\n margin-left: unset;\n }\n}\n@media (min-width: 34rem) {\n .style-module_cell__1NoZ6 {\n flex: 1 0 211px;\n flex: 1 0 var(--cellWidth, 211px);\n width: 211px;\n width: var(--cellWidth, 211px);\n padding: 24px 8px;\n }\n .style-module_cell__1NoZ6:first-child {\n padding: 24px 8px 24px 24px;\n }\n}\n\nh4.style-module_cell__1NoZ6 {\n max-width: min(212px, calc(var(--tableWidth) / 2));\n max-width: min(var(--firstColumnWidth, 212px), calc(var(--tableWidth) / 2));\n}\n\n.style-module_title__1xYvu {\n position: relative;\n color: #26262e;\n display: none;\n}\n.style-module_title__1xYvu:after {\n content: \"\";\n display: block;\n position: absolute;\n top: calc( 50% + 16px );\n height: 4px;\n width: 100%;\n max-width: 140px;\n background-color: #8e8cee;\n}\n@media (min-width: 34rem) {\n .style-module_title__1xYvu {\n display: flex;\n }\n}\n\n.style-module_sticky__2T5jm {\n position: sticky;\n justify-content: flex-start;\n z-index: 1;\n top: 0;\n left: 0;\n width: 50vw;\n}\n@media (min-width: 34rem) {\n .style-module_sticky__2T5jm {\n border-right: 1px solid #fafaff;\n flex: 1 0 288px;\n }\n}\n\nh4.style-module_addon__CPf60 {\n border-right: none;\n max-width: calc(100vw - 64px);\n width: 100%;\n}\n@media (min-width: 64rem) {\n h4.style-module_addon__CPf60 {\n max-width: 976px;\n }\n}";
13595
13607
  var styles$9 = {"header":"style-module_header__32rw-","cell":"style-module_cell__1NoZ6","title":"style-module_title__1xYvu","sticky":"style-module_sticky__2T5jm","addon":"style-module_addon__CPf60"};
13596
13608
  styleInject(css_248z$a);
13597
13609
 
13598
13610
  var Row = function (props) {
13599
- var cell = props.cell, data = props.data, isRowHeader = props.isRowHeader, rowId = props.rowId;
13600
- return (jsxRuntime.jsxs("div", __assign({ className: "\n d-flex\n w-100\n " + (isRowHeader ? styles$9.header : '') + "\n " }, { children: [jsxRuntime.jsx("h4", __assign({ className: "\n " + styles$9.cell + "\n " + styles$9.sticky + "\n " + (isRowHeader ? "p-h2 p--serif " + styles$9.title : '') + "\n " + (typeof cell.key === 'undefined' ? styles$9.addon : '') + "\n " }, { children: cell.label }), void 0),
13611
+ var _a, _b;
13612
+ var cell = props.cell, data = props.data, isRowHeader = props.isRowHeader, rowId = props.rowId, cellClassName = props.cellClassName;
13613
+ return (jsxRuntime.jsxs("div", __assign({ className: classNames$1('d-flex w-100', (_a = {},
13614
+ _a[styles$9.header] = isRowHeader,
13615
+ _a)) }, { children: [jsxRuntime.jsx("h4", __assign({ className: classNames$1(styles$9.cell, styles$9.sticky, (_b = {},
13616
+ _b["p-h2 p--serif " + styles$9.title] = isRowHeader,
13617
+ _b[styles$9.addon] = typeof cell.key === 'undefined',
13618
+ _b), cellClassName) }, { children: cell.label }), void 0),
13601
13619
  Array.isArray(data) &&
13602
13620
  data.map(function (item) {
13603
13621
  /**
@@ -13608,7 +13626,7 @@ var Row = function (props) {
13608
13626
  return null;
13609
13627
  if (typeof item[cell.key] === 'undefined')
13610
13628
  return null;
13611
- return (jsxRuntime.jsx("div", __assign({ className: "ta-center " + styles$9.cell }, { children:
13629
+ return (jsxRuntime.jsx("div", __assign({ className: classNames$1('ta-center', styles$9.cell, cellClassName) }, { children:
13612
13630
  /**
13613
13631
  * Return a function if `render` option is present
13614
13632
  * else print the current data source value
@@ -13625,8 +13643,8 @@ var ArrowIcon = function (_a) {
13625
13643
  return (jsxRuntime.jsx("svg", __assign({ width: "14", height: "8", viewBox: "0 0 14 8", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className }, { children: jsxRuntime.jsx("path", { d: "M1 1.00003L7 7.00003L13 1.00003", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, void 0) }), void 0));
13626
13644
  };
13627
13645
 
13628
- var css_248z$9 = ".style-module_container__3BxOi {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: 0 16px;\n justify-content: space-between;\n align-items: center;\n display: flex;\n}\n@media (min-width: 34rem) {\n .style-module_container__3BxOi {\n display: none;\n }\n}\n\n.style-module_next__3yJsi {\n transform: rotate(-90deg);\n}\n\n.style-module_prev__3rIR_ {\n transform: rotate(90deg);\n}\n\n.style-module_arrow__1tlbD {\n width: 32px;\n height: 32px;\n z-index: 3;\n padding: 0;\n border-radius: 50%;\n background-color: #f5f6fb;\n justify-content: center;\n align-items: center;\n stroke: #ebebff;\n}\n.style-module_arrow__1tlbD:hover, .style-module_arrow__1tlbD:focus {\n background-color: #f5f6fb;\n cursor: not-allowed;\n}\n\n.style-module_active__2kklB {\n stroke: #8e8cee;\n}\n.style-module_active__2kklB:hover, .style-module_active__2kklB:focus {\n background-color: #f5f6fb;\n cursor: pointer;\n}";
13629
- var styles$8 = {"container":"style-module_container__3BxOi","next":"style-module_next__3yJsi","prev":"style-module_prev__3rIR_","arrow":"style-module_arrow__1tlbD","active":"style-module_active__2kklB"};
13646
+ var css_248z$9 = ".style-module_container__3BxOi {\n position: absolute;\n width: 100%;\n height: 100%;\n padding: 0 16px;\n justify-content: space-between;\n align-items: center;\n display: flex;\n}\n@media (min-width: 34rem) {\n .style-module_container__3BxOi {\n display: none;\n }\n}\n\n.style-module_next__3yJsi {\n transform: rotate(-90deg);\n}\n\n.style-module_prev__3rIR_ {\n transform: rotate(90deg);\n}\n\n.style-module_arrow__1tlbD {\n width: 32px;\n height: 32px;\n z-index: 3;\n padding: 0;\n border-radius: 50%;\n background-color: #f5f6fb;\n justify-content: center;\n align-items: center;\n stroke: #ebebff;\n}\n.style-module_arrow__1tlbD:hover, .style-module_arrow__1tlbD:focus {\n background-color: #f5f6fb;\n cursor: not-allowed;\n}\n\n.style-module_active__2kklB {\n stroke: #8e8cee;\n}\n.style-module_active__2kklB:hover, .style-module_active__2kklB:focus {\n background-color: #f5f6fb;\n cursor: pointer;\n}\n\n.style-module_noPointerEvents__21KuB {\n pointer-events: none;\n}";
13647
+ var styles$8 = {"container":"style-module_container__3BxOi","next":"style-module_next__3yJsi","prev":"style-module_prev__3rIR_","arrow":"style-module_arrow__1tlbD","active":"style-module_active__2kklB","noPointerEvents":"style-module_noPointerEvents__21KuB"};
13630
13648
  styleInject(css_248z$9);
13631
13649
 
13632
13650
  var TableArrows = function (props) {
@@ -13635,28 +13653,30 @@ var TableArrows = function (props) {
13635
13653
  var handleButtonClick = function (value) { return function () { return onClick(value); }; };
13636
13654
  return (jsxRuntime.jsxs("div", __assign({ className: styles$8.container }, { children: [jsxRuntime.jsx("button", __assign({ onClick: handleButtonClick('prev'), className: classNames$1("p-btn--secondary d-flex", styles$8.prev, styles$8.arrow, (_a = {},
13637
13655
  _a[styles$8.active] = active.left,
13656
+ _a[styles$8.noPointerEvents] = !active.left,
13638
13657
  _a)) }, { children: jsxRuntime.jsx(ArrowIcon, {}, void 0) }), void 0),
13639
13658
  jsxRuntime.jsx("button", __assign({ onClick: handleButtonClick('next'), className: classNames$1("p-btn--secondary d-flex", styles$8.next, styles$8.arrow, (_b = {},
13640
13659
  _b[styles$8.active] = active.right,
13660
+ _b[styles$8.noPointerEvents] = !active.right,
13641
13661
  _b)) }, { children: jsxRuntime.jsx(ArrowIcon, {}, void 0) }), void 0)] }), void 0));
13642
13662
  };
13643
13663
 
13644
- var css_248z$8 = ".style-module_button__2W-YC {\n background-color: transparent;\n color: #4c4c53;\n cursor: pointer;\n margin: 2px 0;\n padding: 2px;\n transition: color 0.3s ease;\n}\n.style-module_button__2W-YC span {\n border-bottom: 2px dashed #696970;\n display: inline;\n transition: border-color 0.3s ease;\n}\n.style-module_button__2W-YC:hover, .style-module_button__2W-YC:focus {\n color: #8e8cee;\n outline-color: #8e8cee;\n}\n.style-module_button__2W-YC:hover span, .style-module_button__2W-YC:focus span {\n border-color: #8e8cee;\n}";
13645
- var styles$7 = {"button":"style-module_button__2W-YC"};
13664
+ var css_248z$8 = ".style-module_wrapper__1s115 {\n position: relative;\n}\n\n.style-module_infoButton__1nIU2 {\n position: absolute;\n right: -32px;\n top: 0;\n}";
13665
+ var styles$7 = {"wrapper":"style-module_wrapper__1s115","infoButton":"style-module_infoButton__1nIU2"};
13646
13666
  styleInject(css_248z$8);
13647
13667
 
13648
- var TableButton = function (_a) {
13649
- var children = _a.children, onClick = _a.onClick, _b = _a.className, className = _b === void 0 ? '' : _b;
13650
- return (jsxRuntime.jsx("button", __assign({ className: styles$7.button + " " + className, "data-testid": "ds-table-button", onClick: onClick }, { children: jsxRuntime.jsx("span", { children: children }, void 0) }), void 0));
13651
- };
13652
-
13653
13668
  var css_248z$7 = ".style-module_button__3TkNT {\n padding: 0;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n vertical-align: bottom;\n border-radius: 12px;\n width: 24px;\n height: 24px;\n transition: all 0.3s ease;\n}\n.style-module_button__3TkNT:hover, .style-module_button__3TkNT:focus {\n background-color: #f7f7ff;\n}\n.style-module_button__3TkNT:hover svg path, .style-module_button__3TkNT:focus svg path {\n fill: #b1b0f5;\n}\n.style-module_button__3TkNT svg {\n transition: all 0.3s ease;\n}\n.style-module_button__3TkNT svg path {\n fill: #d2d2d8;\n}\n.style-module_button__3TkNT:focus-visible {\n box-shadow: 0 0 0 2px #8e8cee;\n}";
13654
13669
  var styles$6 = {"button":"style-module_button__3TkNT"};
13655
13670
  styleInject(css_248z$7);
13656
13671
 
13657
13672
  var TableInfoButton = function (_a) {
13658
13673
  var onClick = _a.onClick, _b = _a.className, className = _b === void 0 ? '' : _b;
13659
- return (jsxRuntime.jsx("button", __assign({ className: "p-btn--secondary " + styles$6.button + " " + className, type: "button", onClick: onClick }, { children: jsxRuntime.jsx(Info$2, { size: 20 }, void 0) }), void 0));
13674
+ return (jsxRuntime.jsx("button", __assign({ className: "p-btn--secondary " + styles$6.button + " " + className, type: "button", "data-testid": "ds-table-info-button", onClick: onClick }, { children: jsxRuntime.jsx(Info$2, { size: 20 }, void 0) }), void 0));
13675
+ };
13676
+
13677
+ var TableButton = function (_a) {
13678
+ var children = _a.children, onClick = _a.onClick, _b = _a.className, className = _b === void 0 ? '' : _b;
13679
+ return (jsxRuntime.jsxs("div", __assign({ className: styles$7.wrapper }, { children: [children, jsxRuntime.jsx(TableInfoButton, { className: styles$7.infoButton + " " + className, "data-testid": "ds-table-button", onClick: onClick }, void 0)] }), void 0));
13660
13680
  };
13661
13681
 
13662
13682
  var StarIcon = function (_a) {
@@ -13694,7 +13714,10 @@ styleInject(css_248z$5);
13694
13714
  var TableRowHeader = function (_a) {
13695
13715
  var icon = _a.icon, label = _a.label, subtitle = _a.subtitle, onClickInfo = _a.onClickInfo;
13696
13716
  return (jsxRuntime.jsxs("div", __assign({ className: "d-flex" }, { children: [icon && jsxRuntime.jsx("span", __assign({ className: "mr8 " + styles$4.icon }, { children: icon }), void 0),
13697
- jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("p", __assign({ className: "p-p d-inline" }, { children: !onClickInfo ? (jsxRuntime.jsx("span", { children: label }, void 0)) : (jsxRuntime.jsx(TableButton, __assign({ className: "mr8 ta-left", onClick: onClickInfo }, { children: label }), void 0)) }), void 0),
13717
+ jsxRuntime.jsxs("div", { children: [jsxRuntime.jsxs("p", __assign({ className: "p-p d-inline" }, { children: [jsxRuntime.jsx("span", __assign({ className: classNames$1({
13718
+ mr8: onClickInfo,
13719
+ }) }, { children: label }), void 0),
13720
+ onClickInfo && jsxRuntime.jsx(TableInfoButton, { onClick: onClickInfo }, void 0)] }), void 0),
13698
13721
  subtitle && jsxRuntime.jsx("p", __assign({ className: "p-p--small tc-grey-500" }, { children: subtitle }), void 0)] }, void 0)] }), void 0));
13699
13722
  };
13700
13723
 
@@ -13706,10 +13729,10 @@ var TableTrueFalse = function (_a) {
13706
13729
  return (jsxRuntime.jsx("svg", __assign({ width: "12", height: "12", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, { children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M11.707 1.707A1 1 0 0010.293.293L6 4.586 1.707.293A1 1 0 00.293 1.707L4.586 6 .293 10.293a1 1 0 101.414 1.414L6 7.414l4.293 4.293a1 1 0 001.414-1.414L7.414 6l4.293-4.293z", fill: "#D2D2D8" }, void 0) }), void 0));
13707
13730
  };
13708
13731
 
13709
- var useComparisonTable = function () {
13710
- var _a = require$$0.useState(false), showMore = _a[0], setShowMore = _a[1];
13711
- var _b = require$$0.useState(1400), headerWidth = _b[0], setHeaderWidth = _b[1];
13712
- var _c = require$$0.useState(''), headerId = _c[0], setHeaderId = _c[1];
13732
+ var useComparisonTable = function (_a) {
13733
+ var onSelectionChanged = _a.onSelectionChanged;
13734
+ var _b = require$$0.useState(false), showMore = _b[0], setShowMore = _b[1];
13735
+ var _c = require$$0.useState(1400), headerWidth = _c[0], setHeaderWidth = _c[1];
13713
13736
  var _d = require$$0.useState(0), selectedTabIndex = _d[0], setSelectedTabIndex = _d[1];
13714
13737
  var _e = require$$0.useState(''), selectedSection = _e[0], setSelectedSection = _e[1];
13715
13738
  var headerRef = require$$0.useRef(null);
@@ -13795,20 +13818,11 @@ var useComparisonTable = function () {
13795
13818
  });
13796
13819
  }); };
13797
13820
  require$$0.useEffect(function () {
13798
- if (headerRef.current) {
13799
- return;
13800
- }
13801
- var headerById = document.getElementById(headerId);
13802
- if (headerById) {
13803
- scrollContainerCallbackRef(headerById);
13804
- }
13805
- }, [headerId, scrollContainerCallbackRef]);
13806
- require$$0.useEffect(function () {
13807
- setHeaderId(generateId());
13808
- }, []);
13821
+ onSelectionChanged === null || onSelectionChanged === void 0 ? void 0 : onSelectionChanged(selectedTabIndex);
13822
+ // eslint-disable-next-line react-hooks/exhaustive-deps
13823
+ }, [selectedTabIndex]);
13809
13824
  return {
13810
13825
  headerWidth: headerWidth,
13811
- headerId: headerId,
13812
13826
  contentContainerRef: contentContainerRef,
13813
13827
  selectedSection: selectedSection,
13814
13828
  setSelectedSection: setSelectedSection,
@@ -13821,26 +13835,27 @@ var useComparisonTable = function () {
13821
13835
  };
13822
13836
  };
13823
13837
 
13824
- var css_248z$4 = ".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 scroll-snap-type: unset;\n}\n.style-module_noScrollBars__1ri_E::-webkit-scrollbar {\n /* WebKit */\n width: 0;\n height: 0;\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 margin-top: 48px;\n}\n.style-module_group-title__2vvRm > h4 {\n padding: 24px;\n display: inline-block;\n}\n@media (min-width: 34rem) {\n .style-module_group-title__2vvRm {\n margin-top: 72px;\n }\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}";
13825
- 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"};
13838
+ var css_248z$4 = ".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}";
13839
+ 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"};
13826
13840
  styleInject(css_248z$4);
13827
13841
 
13828
13842
  var ComparisonTable = function (props) {
13829
13843
  var _a;
13830
- var headers = props.headers, data = props.data, hideDetails = props.hideDetails, styles = props.styles, hideScrollBars = props.hideScrollBars, collapsibleSections = props.collapsibleSections, cellWidth = props.cellWidth, firstColumnWidth = props.firstColumnWidth, stickyHeaderTopOffset = props.stickyHeaderTopOffset, growContent = props.growContent;
13831
- var _b = useComparisonTable(), headerWidth = _b.headerWidth, contentContainerRef = _b.contentContainerRef, selectedSection = _b.selectedSection, setSelectedSection = _b.setSelectedSection, selectedTabIndex = _b.selectedTabIndex, scrollContainerCallbackRef = _b.scrollContainerCallbackRef, handleArrowsClick = _b.handleArrowsClick, toggleMoreRows = _b.toggleMoreRows, showMore = _b.showMore, headerId = _b.headerId;
13844
+ 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;
13845
+ 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;
13832
13846
  var cssVariablesStyle = __assign(__assign(__assign(__assign({ '--tableWidth': headerWidth + "px" }, (cellWidth ? { '--cellWidth': cellWidth + "px" } : {})), (firstColumnWidth
13833
13847
  ? { '--firstColumnWidth': firstColumnWidth + "px" }
13834
13848
  : {})), (stickyHeaderTopOffset
13835
13849
  ? { '--stickyHeaderTopOffset': stickyHeaderTopOffset + "px" }
13836
13850
  : {})), (growContent ? { '--growContent': '100%' } : {}));
13837
- return (jsxRuntime.jsx(dist$1.exports.ScrollSync, __assign({ onSync: scrollContainerCallbackRef }, { children: jsxRuntime.jsxs("div", __assign({ style: cssVariablesStyle }, { children: [jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles.header, styles === null || styles === void 0 ? void 0 : styles.header) }, { children: jsxRuntime.jsx(dist$1.exports.ScrollSyncPane, { children: jsxRuntime.jsx("div", __assign({ id: headerId, className: classNames$1(baseStyles.container, (_a = {},
13838
- _a[baseStyles.noScrollBars] = hideScrollBars,
13839
- _a)) }, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles['overflow-container']) }, { children: jsxRuntime.jsxs("div", __assign({ className: baseStyles['group-container'] }, { children: [jsxRuntime.jsx(TableArrows, { onClick: handleArrowsClick, active: {
13851
+ return (jsxRuntime.jsx(dist$1.exports.ScrollSync, { children: jsxRuntime.jsxs("div", __assign({ style: cssVariablesStyle, className: classNames$1((_a = {},
13852
+ _a[baseStyles.noScrollBars] = hideScrollBars,
13853
+ _a[baseStyles.noScrollBarsMobile] = hideScrollBarsMobile,
13854
+ _a)) }, { children: [jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles.header, classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.header) }, { children: jsxRuntime.jsx(dist$1.exports.ScrollSyncPane, __assign({ innerRef: scrollContainerCallbackRef }, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles.container) }, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles['overflow-container']) }, { children: jsxRuntime.jsxs("div", __assign({ className: baseStyles['group-container'] }, { children: [jsxRuntime.jsx(TableArrows, { onClick: handleArrowsClick, active: {
13840
13855
  left: selectedTabIndex > 0,
13841
13856
  right: selectedTabIndex < data.length - 1,
13842
13857
  } }, void 0),
13843
- jsxRuntime.jsx(Row$1, { 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),
13858
+ jsxRuntime.jsx(Row$1, { 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),
13844
13859
  jsxRuntime.jsxs("div", __assign({ ref: contentContainerRef }, { children: [Array.isArray(headers) &&
13845
13860
  headers
13846
13861
  .filter(function (headerGroup) { return !hideDetails || showMore || headerGroup.default; })
@@ -13853,20 +13868,20 @@ var ComparisonTable = function (props) {
13853
13868
  /** Do not render the first row */
13854
13869
  if (index === 0 && headerGroupIndex === 0)
13855
13870
  return null;
13856
- return (jsxRuntime.jsx(Row$1, { rowId: rowId, cell: cell, data: data }, rowId));
13871
+ return (jsxRuntime.jsx(Row$1, { rowId: rowId, cell: cell, data: data, cellClassName: classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.cell }, rowId));
13857
13872
  });
13858
13873
  var idString = "headerGroup-" + headerGroup.id;
13859
- return (jsxRuntime.jsx(require$$0.Fragment, { children: headerGroup.label && collapsibleSections ? (jsxRuntime.jsx(AccordionItem, __assign({ className: "mt8", label: headerGroup.label, headerClassName: "p24 br8", isOpen: selectedSection === idString, onOpen: function () { return setSelectedSection(idString); }, onClose: function () { return setSelectedSection(''); } }, { children: jsxRuntime.jsx(dist$1.exports.ScrollSyncPane, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles.container, styles === null || styles === void 0 ? void 0 : styles.container, (_a = {},
13874
+ return (jsxRuntime.jsx(require$$0.Fragment, { children: headerGroup.label && collapsibleSections ? (jsxRuntime.jsx(AccordionItem, __assign({ className: classNames$1('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: jsxRuntime.jsx(dist$1.exports.ScrollSyncPane, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles.container, 'pb16', classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.container, (_a = {},
13860
13875
  _a[baseStyles.noScrollBars] = hideScrollBars,
13861
- _a)) }, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles['overflow-container']) }, { children: jsxRuntime.jsx("div", __assign({ className: baseStyles['group-container'] }, { children: content }), void 0) }), void 0) }), void 0) }, void 0) }), void 0)) : (jsxRuntime.jsx("div", { children: jsxRuntime.jsx(dist$1.exports.ScrollSyncPane, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles.container, styles === null || styles === void 0 ? void 0 : styles.container, (_b = {},
13876
+ _a)) }, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles['overflow-container']) }, { children: jsxRuntime.jsx("div", __assign({ className: baseStyles['group-container'] }, { children: content }), void 0) }), void 0) }), void 0) }, void 0) }), void 0)) : (jsxRuntime.jsx("section", __assign({ className: classNames$1(baseStyles.section, classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.section) }, { children: jsxRuntime.jsx(dist$1.exports.ScrollSyncPane, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles.container, 'pb16', classNameOverrides === null || classNameOverrides === void 0 ? void 0 : classNameOverrides.container, (_b = {},
13862
13877
  _b[baseStyles.noScrollBars] = hideScrollBars,
13863
13878
  _b)) }, { children: jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles['overflow-container']) }, { children: jsxRuntime.jsxs("div", __assign({ className: baseStyles['group-container'] }, { children: [
13864
13879
  /**
13865
13880
  * Print a table subheader if the `label` value is present
13866
13881
  */
13867
- headerGroup.label && !collapsibleSections && (jsxRuntime.jsx("div", __assign({ className: baseStyles['group-title'] }, { children: jsxRuntime.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));
13882
+ headerGroup.label && !collapsibleSections && (jsxRuntime.jsx("div", __assign({ className: baseStyles['group-title'] }, { children: jsxRuntime.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));
13868
13883
  }),
13869
- hideDetails && (jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles['show-details-container'], baseStyles.sticky, 'mt48') }, { children: jsxRuntime.jsx("div", { children: jsxRuntime.jsxs("button", __assign({ className: "w100 d-flex p-a p-h4 c-pointer " + baseStyles['show-details-button'], onClick: toggleMoreRows, type: "button" }, { children: [showMore ? 'Hide details' : 'Show details', jsxRuntime.jsx(Chevron, { className: showMore ? '' : baseStyles['icon-inverted'] }, void 0)] }), void 0) }, void 0) }), void 0))] }), void 0)] }), void 0) }), void 0));
13884
+ hideDetails && (jsxRuntime.jsx("div", __assign({ className: classNames$1(baseStyles['show-details-container'], baseStyles.sticky, 'mt48') }, { children: jsxRuntime.jsx("div", { children: jsxRuntime.jsxs("button", __assign({ className: classNames$1('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, jsxRuntime.jsx(Chevron, { className: showMore ? '' : baseStyles['icon-inverted'] }, void 0)] }), void 0) }, void 0) }), void 0))] }), void 0)] }), void 0) }, void 0));
13870
13885
  };
13871
13886
 
13872
13887
  var css_248z$3 = ".style-module_background-container__2Gjka {\n position: relative;\n display: inline-block;\n background-color: var(--ds-primary-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\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}";