@popsure/dirty-swan 0.66.20 → 0.66.21

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.
@@ -685,7 +685,7 @@ var TwoPlanQuoteWebsite = {
685
685
  render: function () { return (jsx("div", { style: { maxWidth: 900 }, children: jsx(Table, { tableData: twoPlanWebsiteData, title: "Two plan quote website", collapsibleSections: true }) })); },
686
686
  name: 'Two Plan - Website',
687
687
  };
688
- var twoPlanQuoteData = [
688
+ var getTwoPlanQuoteData = function (selectedPlan, setSelectedPlan) { return [
689
689
  {
690
690
  rows: [
691
691
  [
@@ -694,14 +694,15 @@ var twoPlanQuoteData = [
694
694
  type: 'BUTTON',
695
695
  buttonCaption: 'Basic',
696
696
  price: '€99/mo',
697
- isSelected: true,
698
- onClick: function () { },
697
+ isSelected: selectedPlan === 1,
698
+ onClick: function () { return setSelectedPlan(1); },
699
699
  },
700
700
  {
701
701
  type: 'BUTTON',
702
702
  buttonCaption: 'Advanced',
703
703
  price: '€134/mo',
704
- onClick: function () { },
704
+ isSelected: selectedPlan === 2,
705
+ onClick: function () { return setSelectedPlan(2); },
705
706
  },
706
707
  ],
707
708
  [
@@ -753,9 +754,13 @@ var twoPlanQuoteData = [
753
754
  ],
754
755
  ],
755
756
  },
756
- ];
757
+ ]; };
758
+ var TwoPlanQuoteStory = function () {
759
+ var _a = useState(1), selectedPlan = _a[0], setSelectedPlan = _a[1];
760
+ return (jsx("div", { style: { maxWidth: 900 }, children: jsx(Table, { tableData: getTwoPlanQuoteData(selectedPlan, setSelectedPlan), title: "Two plan quote", collapsibleSections: true, showSelectedColumn: true, activeSection: selectedPlan, onSelectionChanged: setSelectedPlan }) }));
761
+ };
757
762
  var TwoPlanQuote = {
758
- render: function () { return (jsx("div", { style: { maxWidth: 900 }, children: jsx(Table, { tableData: twoPlanQuoteData, title: "Two plan quote", collapsibleSections: true, showSelectedColumn: true }) })); },
763
+ render: function () { return jsx(TwoPlanQuoteStory, {}); },
759
764
  name: 'Two Plan Quote',
760
765
  };
761
766
  var threePlanWebsiteData = [
@@ -1 +1 @@
1
- {"version":3,"file":"Table.stories.js","sources":["../../../../../src/lib/components/table/Table.stories.tsx"],"sourcesContent":["import { Table, TableProps } from './Table';\nimport { DentalPlusIcon, PlaneIcon } from '../icon';\nimport { TableData } from './types';\nimport { useState } from 'react';\nimport { Input } from '../input';\n\nconst initialData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/orange/white',\n title: 'Standard',\n price: '€234',\n buttonCaption: 'Get covered',\n href: 'http://example.com',\n },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/green/white',\n title: 'Plus',\n price: '€344',\n buttonCaption: 'Get covered',\n href: 'http://example.com',\n },\n {\n type: 'CTA',\n icon: <PlaneIcon size={24} noMargin />,\n title: 'Premium',\n price: '€556',\n buttonCaption: 'Get covered',\n href: 'http://example.com',\n },\n ],\n [\n { text: 'Select a plan' },\n {\n type: 'BUTTON',\n buttonCaption: 'Standard',\n price: '€234',\n onClick: () => {},\n },\n {\n type: 'BUTTON',\n buttonCaption: 'Plus',\n price: '€344',\n onClick: () => {},\n },\n {\n type: 'BUTTON',\n buttonCaption: 'Premium',\n price: '€556',\n onClick: () => {},\n },\n ],\n [\n {\n text: 'Your contribution',\n },\n {\n cellId: '#1',\n text: '€210',\n description: 'per month',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n {\n cellId: '#2',\n text: '€275',\n description: 'per month',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n {\n cellId: '#3',\n text: '€310',\n description: 'per month',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n ],\n [\n {\n text: 'Regular vet visits & medication',\n description: 'Pflegepflichtversicherungrightno',\n modalContent: 'Some stories about vets',\n },\n { text: 'No', description: 'Annual Only' },\n { text: '50%' },\n { text: '80%-100%' },\n ],\n [\n {\n text: 'Operations',\n modalContent: 'Operations info',\n modalTitle: 'Custom operations modal title',\n },\n {\n checkmarkValue: true,\n modalContent: 'Operations info column 2',\n modalTitle: 'Custom operations modal title column 2',\n },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Rating', modalContent: 'Rating info' },\n { rating: { type: 'zap', value: 1 } },\n {\n rating: { type: 'zap', value: 3 },\n modalContent: 'Rating info column 3',\n },\n { rating: { type: 'star', value: 3 } },\n ],\n ],\n },\n {\n section: {\n title: 'Dental',\n },\n rows: [\n [\n { text: 'Regular vet visits & medication' },\n { text: 'No' },\n { text: 'Yes' },\n { text: 'Yes' },\n ],\n [\n { text: 'Operations', modalContent: 'info' },\n {\n text: 'This is a table cell with a lot of text',\n modalContent: 'Maybe',\n },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n {\n type: 'CARD',\n colSpan: 3,\n title: 'Dental add-on',\n href: 'https://example.com',\n icon: 'https://placehold.co/24x24/green/yellow',\n description:\n 'Get your dental cleanings and additional treatments covered for just 10.90€ a month.',\n },\n ],\n ],\n },\n {\n section: {\n title: 'Travel',\n icon: 'https://placehold.co/24x24/red/yellow',\n },\n rows: [\n [\n { text: 'Regular vet visits & medication' },\n { text: 'No', checkmarkValue: false },\n { text: 'Yes' },\n { text: 'Yes' },\n ],\n [\n { text: 'Operations', modalContent: 'info' },\n {\n checkmarkValue: true,\n modalContent: 'Maybe',\n description: 'This is a table cell with a long subtitle',\n },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n ],\n },\n];\n\nconst story = {\n title: 'JSX/Table',\n component: Table,\n argTypes: {\n tableData: {\n subContent:\n 'This property allows to set the data of the Table component.',\n },\n title: {\n subContent:\n 'This property allows to add a title to the Table component for accessibility purposes.',\n },\n collapsibleSections: {\n subContent: 'This property allows to collapse the sections of the table.',\n },\n scrollOnOpen: {\n subContent:\n 'When enabled, the page scrolls to the top of a newly expanded section.',\n },\n scrollTopOffset: {\n subContent:\n 'Offset in pixels from the top of the viewport when scrolling to an expanded section.',\n },\n hideDetails: {\n subContent: 'This property allows to hide the details of the table.',\n },\n hideStickyHeader: {\n subContent:\n 'This property allows to hide the sticky header row on desktop, e.g. for single plan tables without a plan selector.',\n },\n stickyHeaderTopOffset: {\n subContent:\n 'This property allows to set the offset of the sticky header.',\n },\n className: {\n subContent:\n 'This property allows to set a custom class to the Table component.',\n },\n textOverrides: {\n subContent:\n 'This property allows to set custom text for the show and hide details buttons.',\n },\n hideColumns: {\n subContent: 'This property allows to hide defined columns by index.',\n },\n hideRows: {\n subContent: 'This property allows to hide selected rows by index.',\n },\n modalContentRenderer: {\n subContent: 'This property allows to render custom modal content.',\n },\n onSelectionChanged: {\n subContent:\n 'This event is triggered when a selection is changed. It receives the index of the selection as an argument.',\n table: {\n category: 'Events',\n },\n },\n onModalOpen: {\n subContent:\n 'This event is triggered when a modal is opened. It receives the title and body of the modal as arguments.',\n table: {\n category: 'Events',\n },\n },\n },\n args: {\n tableData: initialData,\n collapsibleSections: true,\n scrollOnOpen: true,\n scrollTopOffset: 0,\n hideDetails: false,\n stickyHeaderTopOffset: 0,\n title: 'Title of the table',\n className: '',\n textOverrides: {\n showDetails: 'Show details',\n hideDetails: 'Hide details',\n },\n hideColumns: [],\n hideRows: [],\n hideTableNavigation: true,\n showSelectedColumn: false,\n },\n};\n\nexport const TableStory = {\n render: ({\n collapsibleSections,\n scrollOnOpen,\n scrollTopOffset,\n tableData,\n hideColumns,\n hideDetails,\n hideRows,\n stickyHeaderTopOffset,\n textOverrides,\n title,\n activeSection,\n hideTableNavigation,\n showSelectedColumn,\n }: TableProps) => {\n const [price, setPrice] = useState(999);\n return (\n <div>\n <div className=\"d-flex fd-column p24 mb80 gap16 wmx5\">\n <label htmlFor=\"\">Change price to see replacement in action: </label>\n <Input\n id=\"#stuff\"\n type=\"text\"\n onChange={(e) => setPrice(Number(e.target.value))}\n value={price}\n />\n </div>\n\n <Table\n cellReplacements={{\n '#1': {\n type: 'CTA',\n title: 'Replaced!',\n price: `€${price}`,\n buttonCaption: 'I got replaced',\n href: 'http://example.com',\n },\n '#2': {\n type: 'BUTTON',\n buttonCaption: 'I got replaced too',\n },\n '#3': {\n description: 'per year',\n },\n }}\n collapsibleSections={collapsibleSections}\n scrollOnOpen={scrollOnOpen}\n scrollTopOffset={scrollTopOffset}\n tableData={tableData}\n hideColumns={hideColumns}\n hideDetails={hideDetails}\n hideRows={hideRows}\n stickyHeaderTopOffset={stickyHeaderTopOffset}\n textOverrides={textOverrides}\n title={title}\n activeSection={activeSection}\n hideTableNavigation={hideTableNavigation}\n showSelectedColumn={showSelectedColumn}\n />\n </div>\n );\n },\n\n name: 'Table',\n};\n\nconst singlePlanData: TableData = [\n {\n rows: [\n [{ text: '' }, { text: '' }],\n [\n { text: 'Price' },\n {\n text: '€9.99',\n description: 'With monthly cancellation',\n fontVariant: 'PRICE',\n },\n ],\n [\n {\n text: 'Regular vet visits & medication',\n modalContent: 'Some stories about vets',\n },\n { text: 'Up to €1 million' },\n ],\n [\n {\n text: 'Specialist visits',\n modalContent: 'Some stories about specialists',\n },\n { text: '4 visits per year' },\n ],\n [{ text: 'Medication' }, { text: '80% covered' }],\n [{ text: 'Grooming' }, { checkmarkValue: false }],\n [{ text: 'Boarding fees' }, { checkmarkValue: false }],\n [\n {\n text: 'Alternative treatments',\n description: 'E.g. physiotherapy, hydrotherapy',\n },\n { checkmarkValue: false },\n ],\n ],\n },\n {\n section: {\n title: 'Dental',\n },\n rows: [\n [{ text: 'Dental cleanings' }, { text: 'Up to €500' }],\n [{ text: 'Dental treatments' }, { text: 'Up to €500' }],\n [{ text: 'Operations' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Travel',\n },\n rows: [\n [{ text: 'Trips abroad' }, { checkmarkValue: true }],\n [{ text: 'Emergency care abroad' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Add-ons',\n },\n rows: [\n [{ text: 'Extended coverage' }, { checkmarkValue: true }],\n [{ text: 'Equipment protection' }, { checkmarkValue: true }],\n ],\n },\n];\n\nexport const SinglePlanQuoteTable = {\n render: () => (\n <div style={{ maxWidth: 756 }}>\n <Table\n tableData={singlePlanData}\n title=\"Single plan quote\"\n collapsibleSections\n hideTableNavigation\n hideStickyHeader\n showSelectedColumn\n />\n </div>\n ),\n\n name: 'Single Plan Quote',\n};\n\nconst singlePlanWebsiteData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: 'http://example.com',\n },\n ],\n [\n { text: 'Monthly price' },\n {\n text: '~€99',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n ],\n [\n { text: 'Label with a description value' },\n { text: 'Value', description: 'Value description' },\n ],\n [\n {\n text: 'Label with a long text that wraps into multiple lines in the table',\n },\n {\n checkmarkValue: true,\n modalContent: 'Checkmark info',\n },\n ],\n [\n {\n text: 'Label with a boolean value',\n },\n { checkmarkValue: false },\n ],\n [\n {\n text: 'Label with info',\n modalContent: 'Label info',\n },\n { text: 'Text value' },\n ],\n ],\n },\n {\n section: {\n title: 'First section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Second section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: false }],\n ],\n },\n {\n section: {\n title: 'Third section',\n },\n rows: [\n [\n { text: 'Row label' },\n { text: 'Up to €1,500', description: 'Value description' },\n ],\n ],\n },\n {\n section: {\n title: 'Fourth section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Fifth section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Sixth section',\n },\n rows: [\n [{ text: 'Row label' }, { text: 'Up to €5,000' }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n];\n\nexport const SinglePlanQuoteWebsite = {\n render: () => (\n <div style={{ maxWidth: 756 }}>\n <Table\n tableData={singlePlanWebsiteData}\n title=\"Single plan quote website\"\n collapsibleSections\n />\n </div>\n ),\n\n name: 'Single Plan - Website',\n};\n\nconst twoPlanWebsiteData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: 'http://example.com',\n },\n {\n type: 'CTA',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: 'http://example.com',\n },\n ],\n [\n {\n text: 'Monthly price',\n description: 'Label description with additional pricing context',\n },\n { text: '~€14-35', fontVariant: 'PRICE', modalContent: 'Price info' },\n { text: '~€50-91', fontVariant: 'PRICE', modalContent: 'Price info' },\n ],\n [\n {\n text: 'Label with info',\n modalContent: 'Label info',\n },\n { text: 'Text value' },\n { text: 'Text value' },\n ],\n [\n {\n text: 'Label with info',\n modalContent: 'Label info',\n },\n { text: 'Text value', modalContent: 'Value info' },\n { text: 'Text value', modalContent: 'Value info' },\n ],\n [\n { text: 'Label with a boolean value' },\n { checkmarkValue: true, description: 'Value description' },\n { checkmarkValue: true, description: 'Value description' },\n ],\n ],\n },\n {\n section: {\n title: 'First section',\n },\n rows: [\n [\n { text: 'Row label' },\n { text: 'Up to €1,500' },\n { text: 'Up to €3,000' },\n ],\n ],\n },\n {\n section: {\n title: 'Second section',\n },\n rows: [\n [\n { text: 'Row label', description: 'Row label description' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: false },\n ],\n [\n { text: 'Row label', description: 'Row label description' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { text: 'Text value' },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { text: 'Text value', description: 'Value description' },\n { text: 'Text value', description: 'Value description' },\n ],\n ],\n },\n {\n section: {\n title: 'Third section',\n },\n rows: [\n [\n { text: 'Row label' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n ],\n },\n {\n section: {\n title: 'Fourth section',\n },\n rows: [\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n ],\n },\n {\n section: {\n title: 'Fifth section',\n },\n rows: [\n [\n { text: 'Row label' },\n { text: 'Text value' },\n { text: 'Text value' },\n ],\n ],\n },\n];\n\nexport const TwoPlanQuoteWebsite = {\n render: () => (\n <div style={{ maxWidth: 900 }}>\n <Table\n tableData={twoPlanWebsiteData}\n title=\"Two plan quote website\"\n collapsibleSections\n />\n </div>\n ),\n\n name: 'Two Plan - Website',\n};\n\nconst twoPlanQuoteData: TableData = [\n {\n rows: [\n [\n { text: 'Select a plan' },\n {\n type: 'BUTTON',\n buttonCaption: 'Basic',\n price: '€99/mo',\n isSelected: true,\n onClick: () => {},\n },\n {\n type: 'BUTTON',\n buttonCaption: 'Advanced',\n price: '€134/mo',\n onClick: () => {},\n },\n ],\n [\n { text: 'Your contribution' },\n { text: '€99', description: 'per month', fontVariant: 'PRICE' },\n { text: '€134', description: 'per month', fontVariant: 'PRICE' },\n ],\n [\n { text: 'Outpatient treatments', modalContent: 'Outpatient info' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Inpatient treatments', modalContent: 'Inpatient info' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Dental care', modalContent: 'Dental info' },\n { text: '50%' },\n { text: '80%' },\n ],\n ],\n },\n {\n section: {\n title: 'Coverage details',\n },\n rows: [\n [\n { text: 'Annual limit' },\n { text: 'Up to €10,000' },\n { text: 'Unlimited' },\n ],\n [\n { text: 'Deductible' },\n { text: '€500' },\n { text: '€250' },\n ],\n [\n { text: 'Preventive care' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Alternative medicine' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n ],\n },\n];\n\nexport const TwoPlanQuote = {\n render: () => (\n <div style={{ maxWidth: 900 }}>\n <Table\n tableData={twoPlanQuoteData}\n title=\"Two plan quote\"\n collapsibleSections\n showSelectedColumn\n />\n </div>\n ),\n\n name: 'Two Plan Quote',\n};\n\nconst threePlanWebsiteData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/green/white',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: '',\n onClick: () => {},\n },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/blue/white',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: '',\n onClick: () => {},\n },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/orange/white',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: '',\n onClick: () => {},\n },\n ],\n [\n { text: 'Monthly price' },\n { text: '€–', fontVariant: 'PRICE', modalContent: 'Price info' },\n { text: '€–', fontVariant: 'PRICE', modalContent: 'Price info' },\n { text: '€–', fontVariant: 'PRICE', modalContent: 'Price info' },\n ],\n [\n { text: 'Label with star rating' },\n { rating: { type: 'star', value: 2 }, modalContent: 'Rating info' },\n { rating: { type: 'star', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Label with zap rating' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'zap', value: 3 }, modalContent: 'Rating info' },\n { rating: { type: 'zap', value: 3 }, modalContent: 'Rating info' },\n ],\n [\n { text: 'Label with info', modalContent: 'Label info' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Label with progress bar' },\n { text: '100%' },\n { text: '70%' },\n { text: '100%' },\n ],\n ],\n },\n {\n section: {\n title: 'First section',\n },\n rows: [\n [\n { text: 'Row label with info', modalContent: 'Label info' },\n { text: 'Up to €2 million' },\n { text: 'Up to €1.5 million' },\n { text: 'Up to €1.5 million' },\n ],\n [\n { text: 'Row label with info', modalContent: 'Label info' },\n { text: 'Text value' },\n { text: 'Text value' },\n { text: 'Text value' },\n ],\n [\n { text: 'Row label' },\n { text: '80% covered' },\n { text: '80% covered' },\n { text: '80% covered' },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: false },\n { checkmarkValue: false },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n ],\n },\n];\n\nexport const ThreePlanQuoteWebsite = {\n render: () => (\n <div style={{ maxWidth: 900 }}>\n <Table\n tableData={threePlanWebsiteData}\n title=\"Three plan quote website\"\n collapsibleSections\n />\n </div>\n ),\n\n name: 'Three Plan - Website',\n};\n\nexport const TabsNavigationMobile = {\n render: () => (\n <div style={{ maxWidth: 900 }}>\n <p className=\"p-p tc-neutral-500 mb16\">\n Resize the browser to a mobile width to see tabs instead of\n left/right arrow buttons.\n </p>\n <Table\n tableData={threePlanWebsiteData}\n title=\"Tabs navigation (mobile)\"\n collapsibleSections\n mobileNavigationMode=\"tabs\"\n />\n </div>\n ),\n\n name: 'Tabs Navigation (Mobile)',\n};\n\nexport const TableDataType = () => {\n return (\n <pre>\n {`\ntype TableData = {\n section?: \n title?: string;\n icon?: ReactNode;\n };\n rows: {\n align?: 'center' | 'left' | 'right';\n checkmarkValue?: boolean;\n text?: ReactNode;\n modalContent?: ReactNode;\n subContent?: ReactNode;\n rating?: {\n value: number;\n type: 'zap' | 'star';\n }\n openModal?: (modalContent: ReactNode) => void;\n }[][];\n}[];\n `}\n </pre>\n );\n};\n\nexport default story;\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Table.stories.js","sources":["../../../../../src/lib/components/table/Table.stories.tsx"],"sourcesContent":["import { Table, TableProps } from './Table';\nimport { DentalPlusIcon, PlaneIcon } from '../icon';\nimport { TableData } from './types';\nimport { useState } from 'react';\nimport { Input } from '../input';\n\nconst initialData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/orange/white',\n title: 'Standard',\n price: '€234',\n buttonCaption: 'Get covered',\n href: 'http://example.com',\n },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/green/white',\n title: 'Plus',\n price: '€344',\n buttonCaption: 'Get covered',\n href: 'http://example.com',\n },\n {\n type: 'CTA',\n icon: <PlaneIcon size={24} noMargin />,\n title: 'Premium',\n price: '€556',\n buttonCaption: 'Get covered',\n href: 'http://example.com',\n },\n ],\n [\n { text: 'Select a plan' },\n {\n type: 'BUTTON',\n buttonCaption: 'Standard',\n price: '€234',\n onClick: () => {},\n },\n {\n type: 'BUTTON',\n buttonCaption: 'Plus',\n price: '€344',\n onClick: () => {},\n },\n {\n type: 'BUTTON',\n buttonCaption: 'Premium',\n price: '€556',\n onClick: () => {},\n },\n ],\n [\n {\n text: 'Your contribution',\n },\n {\n cellId: '#1',\n text: '€210',\n description: 'per month',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n {\n cellId: '#2',\n text: '€275',\n description: 'per month',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n {\n cellId: '#3',\n text: '€310',\n description: 'per month',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n ],\n [\n {\n text: 'Regular vet visits & medication',\n description: 'Pflegepflichtversicherungrightno',\n modalContent: 'Some stories about vets',\n },\n { text: 'No', description: 'Annual Only' },\n { text: '50%' },\n { text: '80%-100%' },\n ],\n [\n {\n text: 'Operations',\n modalContent: 'Operations info',\n modalTitle: 'Custom operations modal title',\n },\n {\n checkmarkValue: true,\n modalContent: 'Operations info column 2',\n modalTitle: 'Custom operations modal title column 2',\n },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Rating', modalContent: 'Rating info' },\n { rating: { type: 'zap', value: 1 } },\n {\n rating: { type: 'zap', value: 3 },\n modalContent: 'Rating info column 3',\n },\n { rating: { type: 'star', value: 3 } },\n ],\n ],\n },\n {\n section: {\n title: 'Dental',\n },\n rows: [\n [\n { text: 'Regular vet visits & medication' },\n { text: 'No' },\n { text: 'Yes' },\n { text: 'Yes' },\n ],\n [\n { text: 'Operations', modalContent: 'info' },\n {\n text: 'This is a table cell with a lot of text',\n modalContent: 'Maybe',\n },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n {\n type: 'CARD',\n colSpan: 3,\n title: 'Dental add-on',\n href: 'https://example.com',\n icon: 'https://placehold.co/24x24/green/yellow',\n description:\n 'Get your dental cleanings and additional treatments covered for just 10.90€ a month.',\n },\n ],\n ],\n },\n {\n section: {\n title: 'Travel',\n icon: 'https://placehold.co/24x24/red/yellow',\n },\n rows: [\n [\n { text: 'Regular vet visits & medication' },\n { text: 'No', checkmarkValue: false },\n { text: 'Yes' },\n { text: 'Yes' },\n ],\n [\n { text: 'Operations', modalContent: 'info' },\n {\n checkmarkValue: true,\n modalContent: 'Maybe',\n description: 'This is a table cell with a long subtitle',\n },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Rating', modalContent: 'info' },\n { rating: { type: 'zap', value: 1 }, modalContent: 'Maybe' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n ],\n },\n];\n\nconst story = {\n title: 'JSX/Table',\n component: Table,\n argTypes: {\n tableData: {\n subContent:\n 'This property allows to set the data of the Table component.',\n },\n title: {\n subContent:\n 'This property allows to add a title to the Table component for accessibility purposes.',\n },\n collapsibleSections: {\n subContent: 'This property allows to collapse the sections of the table.',\n },\n scrollOnOpen: {\n subContent:\n 'When enabled, the page scrolls to the top of a newly expanded section.',\n },\n scrollTopOffset: {\n subContent:\n 'Offset in pixels from the top of the viewport when scrolling to an expanded section.',\n },\n hideDetails: {\n subContent: 'This property allows to hide the details of the table.',\n },\n hideStickyHeader: {\n subContent:\n 'This property allows to hide the sticky header row on desktop, e.g. for single plan tables without a plan selector.',\n },\n stickyHeaderTopOffset: {\n subContent:\n 'This property allows to set the offset of the sticky header.',\n },\n className: {\n subContent:\n 'This property allows to set a custom class to the Table component.',\n },\n textOverrides: {\n subContent:\n 'This property allows to set custom text for the show and hide details buttons.',\n },\n hideColumns: {\n subContent: 'This property allows to hide defined columns by index.',\n },\n hideRows: {\n subContent: 'This property allows to hide selected rows by index.',\n },\n modalContentRenderer: {\n subContent: 'This property allows to render custom modal content.',\n },\n onSelectionChanged: {\n subContent:\n 'This event is triggered when a selection is changed. It receives the index of the selection as an argument.',\n table: {\n category: 'Events',\n },\n },\n onModalOpen: {\n subContent:\n 'This event is triggered when a modal is opened. It receives the title and body of the modal as arguments.',\n table: {\n category: 'Events',\n },\n },\n },\n args: {\n tableData: initialData,\n collapsibleSections: true,\n scrollOnOpen: true,\n scrollTopOffset: 0,\n hideDetails: false,\n stickyHeaderTopOffset: 0,\n title: 'Title of the table',\n className: '',\n textOverrides: {\n showDetails: 'Show details',\n hideDetails: 'Hide details',\n },\n hideColumns: [],\n hideRows: [],\n hideTableNavigation: true,\n showSelectedColumn: false,\n },\n};\n\nexport const TableStory = {\n render: ({\n collapsibleSections,\n scrollOnOpen,\n scrollTopOffset,\n tableData,\n hideColumns,\n hideDetails,\n hideRows,\n stickyHeaderTopOffset,\n textOverrides,\n title,\n activeSection,\n hideTableNavigation,\n showSelectedColumn,\n }: TableProps) => {\n const [price, setPrice] = useState(999);\n return (\n <div>\n <div className=\"d-flex fd-column p24 mb80 gap16 wmx5\">\n <label htmlFor=\"\">Change price to see replacement in action: </label>\n <Input\n id=\"#stuff\"\n type=\"text\"\n onChange={(e) => setPrice(Number(e.target.value))}\n value={price}\n />\n </div>\n\n <Table\n cellReplacements={{\n '#1': {\n type: 'CTA',\n title: 'Replaced!',\n price: `€${price}`,\n buttonCaption: 'I got replaced',\n href: 'http://example.com',\n },\n '#2': {\n type: 'BUTTON',\n buttonCaption: 'I got replaced too',\n },\n '#3': {\n description: 'per year',\n },\n }}\n collapsibleSections={collapsibleSections}\n scrollOnOpen={scrollOnOpen}\n scrollTopOffset={scrollTopOffset}\n tableData={tableData}\n hideColumns={hideColumns}\n hideDetails={hideDetails}\n hideRows={hideRows}\n stickyHeaderTopOffset={stickyHeaderTopOffset}\n textOverrides={textOverrides}\n title={title}\n activeSection={activeSection}\n hideTableNavigation={hideTableNavigation}\n showSelectedColumn={showSelectedColumn}\n />\n </div>\n );\n },\n\n name: 'Table',\n};\n\nconst singlePlanData: TableData = [\n {\n rows: [\n [{ text: '' }, { text: '' }],\n [\n { text: 'Price' },\n {\n text: '€9.99',\n description: 'With monthly cancellation',\n fontVariant: 'PRICE',\n },\n ],\n [\n {\n text: 'Regular vet visits & medication',\n modalContent: 'Some stories about vets',\n },\n { text: 'Up to €1 million' },\n ],\n [\n {\n text: 'Specialist visits',\n modalContent: 'Some stories about specialists',\n },\n { text: '4 visits per year' },\n ],\n [{ text: 'Medication' }, { text: '80% covered' }],\n [{ text: 'Grooming' }, { checkmarkValue: false }],\n [{ text: 'Boarding fees' }, { checkmarkValue: false }],\n [\n {\n text: 'Alternative treatments',\n description: 'E.g. physiotherapy, hydrotherapy',\n },\n { checkmarkValue: false },\n ],\n ],\n },\n {\n section: {\n title: 'Dental',\n },\n rows: [\n [{ text: 'Dental cleanings' }, { text: 'Up to €500' }],\n [{ text: 'Dental treatments' }, { text: 'Up to €500' }],\n [{ text: 'Operations' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Travel',\n },\n rows: [\n [{ text: 'Trips abroad' }, { checkmarkValue: true }],\n [{ text: 'Emergency care abroad' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Add-ons',\n },\n rows: [\n [{ text: 'Extended coverage' }, { checkmarkValue: true }],\n [{ text: 'Equipment protection' }, { checkmarkValue: true }],\n ],\n },\n];\n\nexport const SinglePlanQuoteTable = {\n render: () => (\n <div style={{ maxWidth: 756 }}>\n <Table\n tableData={singlePlanData}\n title=\"Single plan quote\"\n collapsibleSections\n hideTableNavigation\n hideStickyHeader\n showSelectedColumn\n />\n </div>\n ),\n\n name: 'Single Plan Quote',\n};\n\nconst singlePlanWebsiteData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: 'http://example.com',\n },\n ],\n [\n { text: 'Monthly price' },\n {\n text: '~€99',\n fontVariant: 'PRICE',\n modalContent: 'Price info',\n },\n ],\n [\n { text: 'Label with a description value' },\n { text: 'Value', description: 'Value description' },\n ],\n [\n {\n text: 'Label with a long text that wraps into multiple lines in the table',\n },\n {\n checkmarkValue: true,\n modalContent: 'Checkmark info',\n },\n ],\n [\n {\n text: 'Label with a boolean value',\n },\n { checkmarkValue: false },\n ],\n [\n {\n text: 'Label with info',\n modalContent: 'Label info',\n },\n { text: 'Text value' },\n ],\n ],\n },\n {\n section: {\n title: 'First section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Second section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: false }],\n ],\n },\n {\n section: {\n title: 'Third section',\n },\n rows: [\n [\n { text: 'Row label' },\n { text: 'Up to €1,500', description: 'Value description' },\n ],\n ],\n },\n {\n section: {\n title: 'Fourth section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Fifth section',\n },\n rows: [\n [{ text: 'Row label' }, { checkmarkValue: true }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n {\n section: {\n title: 'Sixth section',\n },\n rows: [\n [{ text: 'Row label' }, { text: 'Up to €5,000' }],\n [{ text: 'Row label' }, { checkmarkValue: true }],\n ],\n },\n];\n\nexport const SinglePlanQuoteWebsite = {\n render: () => (\n <div style={{ maxWidth: 756 }}>\n <Table\n tableData={singlePlanWebsiteData}\n title=\"Single plan quote website\"\n collapsibleSections\n />\n </div>\n ),\n\n name: 'Single Plan - Website',\n};\n\nconst twoPlanWebsiteData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: 'http://example.com',\n },\n {\n type: 'CTA',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: 'http://example.com',\n },\n ],\n [\n {\n text: 'Monthly price',\n description: 'Label description with additional pricing context',\n },\n { text: '~€14-35', fontVariant: 'PRICE', modalContent: 'Price info' },\n { text: '~€50-91', fontVariant: 'PRICE', modalContent: 'Price info' },\n ],\n [\n {\n text: 'Label with info',\n modalContent: 'Label info',\n },\n { text: 'Text value' },\n { text: 'Text value' },\n ],\n [\n {\n text: 'Label with info',\n modalContent: 'Label info',\n },\n { text: 'Text value', modalContent: 'Value info' },\n { text: 'Text value', modalContent: 'Value info' },\n ],\n [\n { text: 'Label with a boolean value' },\n { checkmarkValue: true, description: 'Value description' },\n { checkmarkValue: true, description: 'Value description' },\n ],\n ],\n },\n {\n section: {\n title: 'First section',\n },\n rows: [\n [\n { text: 'Row label' },\n { text: 'Up to €1,500' },\n { text: 'Up to €3,000' },\n ],\n ],\n },\n {\n section: {\n title: 'Second section',\n },\n rows: [\n [\n { text: 'Row label', description: 'Row label description' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: false },\n ],\n [\n { text: 'Row label', description: 'Row label description' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { text: 'Text value' },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { text: 'Text value', description: 'Value description' },\n { text: 'Text value', description: 'Value description' },\n ],\n ],\n },\n {\n section: {\n title: 'Third section',\n },\n rows: [\n [\n { text: 'Row label' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n ],\n },\n {\n section: {\n title: 'Fourth section',\n },\n rows: [\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n ],\n },\n {\n section: {\n title: 'Fifth section',\n },\n rows: [\n [\n { text: 'Row label' },\n { text: 'Text value' },\n { text: 'Text value' },\n ],\n ],\n },\n];\n\nexport const TwoPlanQuoteWebsite = {\n render: () => (\n <div style={{ maxWidth: 900 }}>\n <Table\n tableData={twoPlanWebsiteData}\n title=\"Two plan quote website\"\n collapsibleSections\n />\n </div>\n ),\n\n name: 'Two Plan - Website',\n};\n\nconst getTwoPlanQuoteData = (\n selectedPlan: number,\n setSelectedPlan: (plan: number) => void\n): TableData => [\n {\n rows: [\n [\n { text: 'Select a plan' },\n {\n type: 'BUTTON',\n buttonCaption: 'Basic',\n price: '€99/mo',\n isSelected: selectedPlan === 1,\n onClick: () => setSelectedPlan(1),\n },\n {\n type: 'BUTTON',\n buttonCaption: 'Advanced',\n price: '€134/mo',\n isSelected: selectedPlan === 2,\n onClick: () => setSelectedPlan(2),\n },\n ],\n [\n { text: 'Your contribution' },\n { text: '€99', description: 'per month', fontVariant: 'PRICE' },\n { text: '€134', description: 'per month', fontVariant: 'PRICE' },\n ],\n [\n { text: 'Outpatient treatments', modalContent: 'Outpatient info' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Inpatient treatments', modalContent: 'Inpatient info' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n [\n { text: 'Dental care', modalContent: 'Dental info' },\n { text: '50%' },\n { text: '80%' },\n ],\n ],\n },\n {\n section: {\n title: 'Coverage details',\n },\n rows: [\n [\n { text: 'Annual limit' },\n { text: 'Up to €10,000' },\n { text: 'Unlimited' },\n ],\n [\n { text: 'Deductible' },\n { text: '€500' },\n { text: '€250' },\n ],\n [\n { text: 'Preventive care' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Alternative medicine' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n ],\n ],\n },\n];\n\nconst TwoPlanQuoteStory = () => {\n const [selectedPlan, setSelectedPlan] = useState(1);\n\n return (\n <div style={{ maxWidth: 900 }}>\n <Table\n tableData={getTwoPlanQuoteData(selectedPlan, setSelectedPlan)}\n title=\"Two plan quote\"\n collapsibleSections\n showSelectedColumn\n activeSection={selectedPlan}\n onSelectionChanged={setSelectedPlan}\n />\n </div>\n );\n};\n\nexport const TwoPlanQuote = {\n render: () => <TwoPlanQuoteStory />,\n\n name: 'Two Plan Quote',\n};\n\nconst threePlanWebsiteData: TableData = [\n {\n rows: [\n [\n { text: 'Our plans' },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/green/white',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: '',\n onClick: () => {},\n },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/blue/white',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: '',\n onClick: () => {},\n },\n {\n type: 'CTA',\n icon: 'https://placehold.co/24x24/orange/white',\n title: 'Plan name',\n buttonCaption: 'Get a quote',\n href: '',\n onClick: () => {},\n },\n ],\n [\n { text: 'Monthly price' },\n { text: '€–', fontVariant: 'PRICE', modalContent: 'Price info' },\n { text: '€–', fontVariant: 'PRICE', modalContent: 'Price info' },\n { text: '€–', fontVariant: 'PRICE', modalContent: 'Price info' },\n ],\n [\n { text: 'Label with star rating' },\n { rating: { type: 'star', value: 2 }, modalContent: 'Rating info' },\n { rating: { type: 'star', value: 3 } },\n { rating: { type: 'star', value: 3 } },\n ],\n [\n { text: 'Label with zap rating' },\n { rating: { type: 'zap', value: 3 } },\n { rating: { type: 'zap', value: 3 }, modalContent: 'Rating info' },\n { rating: { type: 'zap', value: 3 }, modalContent: 'Rating info' },\n ],\n [\n { text: 'Label with info', modalContent: 'Label info' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Label with progress bar' },\n { text: '100%' },\n { text: '70%' },\n { text: '100%' },\n ],\n ],\n },\n {\n section: {\n title: 'First section',\n },\n rows: [\n [\n { text: 'Row label with info', modalContent: 'Label info' },\n { text: 'Up to €2 million' },\n { text: 'Up to €1.5 million' },\n { text: 'Up to €1.5 million' },\n ],\n [\n { text: 'Row label with info', modalContent: 'Label info' },\n { text: 'Text value' },\n { text: 'Text value' },\n { text: 'Text value' },\n ],\n [\n { text: 'Row label' },\n { text: '80% covered' },\n { text: '80% covered' },\n { text: '80% covered' },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: false },\n { checkmarkValue: false },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: false },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n [\n { text: 'Row label' },\n { checkmarkValue: true },\n { checkmarkValue: true },\n { checkmarkValue: true },\n ],\n ],\n },\n];\n\nexport const ThreePlanQuoteWebsite = {\n render: () => (\n <div style={{ maxWidth: 900 }}>\n <Table\n tableData={threePlanWebsiteData}\n title=\"Three plan quote website\"\n collapsibleSections\n />\n </div>\n ),\n\n name: 'Three Plan - Website',\n};\n\nexport const TabsNavigationMobile = {\n render: () => (\n <div style={{ maxWidth: 900 }}>\n <p className=\"p-p tc-neutral-500 mb16\">\n Resize the browser to a mobile width to see tabs instead of\n left/right arrow buttons.\n </p>\n <Table\n tableData={threePlanWebsiteData}\n title=\"Tabs navigation (mobile)\"\n collapsibleSections\n mobileNavigationMode=\"tabs\"\n />\n </div>\n ),\n\n name: 'Tabs Navigation (Mobile)',\n};\n\nexport const TableDataType = () => {\n return (\n <pre>\n {`\ntype TableData = {\n section?: \n title?: string;\n icon?: ReactNode;\n };\n rows: {\n align?: 'center' | 'left' | 'right';\n checkmarkValue?: boolean;\n text?: ReactNode;\n modalContent?: ReactNode;\n subContent?: ReactNode;\n rating?: {\n value: number;\n type: 'zap' | 'star';\n }\n openModal?: (modalContent: ReactNode) => void;\n }[][];\n}[];\n `}\n </pre>\n );\n};\n\nexport default story;\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAM,WAAW,GAAc;AAC7B,IAAA;AACE,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;AACrB,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,yCAAyC;AAC/C,oBAAA,KAAK,EAAE,UAAU;AACjB,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,wCAAwC;AAC9C,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;oBACX,IAAI,EAAEA,IAAC,SAAS,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAA,IAAA,EAAA,CAAG;AACtC,oBAAA,KAAK,EAAE,SAAS;AAChB,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,eAAe,EAAE;AACzB,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,aAAa,EAAE,UAAU;AACzB,oBAAA,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,cAAO,CAAC;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,aAAa,EAAE,MAAM;AACrB,oBAAA,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,cAAO,CAAC;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,aAAa,EAAE,SAAS;AACxB,oBAAA,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,cAAO,CAAC;AAClB,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,mBAAmB;AAC1B,iBAAA;AACD,gBAAA;AACE,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,WAAW,EAAE,WAAW;AACxB,oBAAA,WAAW,EAAE,OAAO;AACpB,oBAAA,YAAY,EAAE,YAAY;AAC3B,iBAAA;AACD,gBAAA;AACE,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,WAAW,EAAE,WAAW;AACxB,oBAAA,WAAW,EAAE,OAAO;AACpB,oBAAA,YAAY,EAAE,YAAY;AAC3B,iBAAA;AACD,gBAAA;AACE,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,WAAW,EAAE,WAAW;AACxB,oBAAA,WAAW,EAAE,OAAO;AACpB,oBAAA,YAAY,EAAE,YAAY;AAC3B,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,iCAAiC;AACvC,oBAAA,WAAW,EAAE,kCAAkC;AAC/C,oBAAA,YAAY,EAAE,yBAAyB;AACxC,iBAAA;AACD,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;gBAC1C,EAAE,IAAI,EAAE,KAAK,EAAE;gBACf,EAAE,IAAI,EAAE,UAAU,EAAE;AACrB,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,YAAY,EAAE,iBAAiB;AAC/B,oBAAA,UAAU,EAAE,+BAA+B;AAC5C,iBAAA;AACD,gBAAA;AACE,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,YAAY,EAAE,0BAA0B;AACxC,oBAAA,UAAU,EAAE,wCAAwC;AACrD,iBAAA;gBACD,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE;gBAC/C,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA;oBACE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AACjC,oBAAA,YAAY,EAAE,sBAAsB;AACrC,iBAAA;gBACD,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,QAAQ;AAChB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,iCAAiC,EAAE;gBAC3C,EAAE,IAAI,EAAE,IAAI,EAAE;gBACd,EAAE,IAAI,EAAE,KAAK,EAAE;gBACf,EAAE,IAAI,EAAE,KAAK,EAAE;AAChB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE;AAC5C,gBAAA;AACE,oBAAA,IAAI,EAAE,yCAAyC;AAC/C,oBAAA,YAAY,EAAE,OAAO;AACtB,iBAAA;gBACD,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,OAAO,EAAE,CAAC;AACV,oBAAA,KAAK,EAAE,eAAe;AACtB,oBAAA,IAAI,EAAE,qBAAqB;AAC3B,oBAAA,IAAI,EAAE,yCAAyC;AAC/C,oBAAA,WAAW,EACT,sFAAsF;AACzF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,IAAI,EAAE,uCAAuC;AAC9C,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,iCAAiC,EAAE;AAC3C,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE;gBACrC,EAAE,IAAI,EAAE,KAAK,EAAE;gBACf,EAAE,IAAI,EAAE,KAAK,EAAE;AAChB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE;AAC5C,gBAAA;AACE,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,YAAY,EAAE,OAAO;AACrB,oBAAA,WAAW,EAAE,2CAA2C;AACzD,iBAAA;gBACD,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE;AACxC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC5D,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACrC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACF,SAAA;AACF,KAAA;CACF;AAED,IAAM,KAAK,GAAG;AACZ,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,QAAQ,EAAE;AACR,QAAA,SAAS,EAAE;AACT,YAAA,UAAU,EACR,8DAA8D;AACjE,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,UAAU,EACR,wFAAwF;AAC3F,SAAA;AACD,QAAA,mBAAmB,EAAE;AACnB,YAAA,UAAU,EAAE,6DAA6D;AAC1E,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,UAAU,EACR,wEAAwE;AAC3E,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,UAAU,EACR,sFAAsF;AACzF,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,UAAU,EAAE,wDAAwD;AACrE,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,UAAU,EACR,qHAAqH;AACxH,SAAA;AACD,QAAA,qBAAqB,EAAE;AACrB,YAAA,UAAU,EACR,8DAA8D;AACjE,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,UAAU,EACR,oEAAoE;AACvE,SAAA;AACD,QAAA,aAAa,EAAE;AACb,YAAA,UAAU,EACR,gFAAgF;AACnF,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,UAAU,EAAE,wDAAwD;AACrE,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,UAAU,EAAE,sDAAsD;AACnE,SAAA;AACD,QAAA,oBAAoB,EAAE;AACpB,YAAA,UAAU,EAAE,sDAAsD;AACnE,SAAA;AACD,QAAA,kBAAkB,EAAE;AAClB,YAAA,UAAU,EACR,6GAA6G;AAC/G,YAAA,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA;AACF,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,UAAU,EACR,2GAA2G;AAC7G,YAAA,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,QAAQ;AACnB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,eAAe,EAAE,CAAC;AAClB,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,qBAAqB,EAAE,CAAC;AACxB,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,SAAS,EAAE,EAAE;AACb,QAAA,aAAa,EAAE;AACb,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,WAAW,EAAE,cAAc;AAC5B,SAAA;AACD,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,kBAAkB,EAAE,KAAK;AAC1B,KAAA;;AAGI,IAAM,UAAU,GAAG;IACxB,MAAM,EAAE,UAAC,EAcI,EAAA;AAbX,QAAA,IAAA,mBAAmB,yBAAA,EACnB,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,WAAW,iBAAA,EACX,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,qBAAqB,GAAA,EAAA,CAAA,qBAAA,EACrB,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,aAAa,mBAAA,EACb,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EACnB,kBAAkB,GAAA,EAAA,CAAA,kBAAA;QAEZ,IAAA,EAAA,GAAoB,QAAQ,CAAC,GAAG,CAAC,EAAhC,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAiB;QACvC,QACEC,IAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,EAAA,QAAA,EAAA,CACnDD,GAAA,CAAA,OAAA,EAAA,EAAO,OAAO,EAAC,EAAE,EAAA,QAAA,EAAA,6CAAA,EAAA,CAAoD,EACrEA,GAAA,CAAC,KAAK,EAAA,EACJ,EAAE,EAAC,QAAQ,EACX,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,UAAC,CAAC,EAAA,EAAK,OAAA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAhC,CAAgC,EACjD,KAAK,EAAE,KAAK,EAAA,CACZ,CAAA,EAAA,CACE,EAENA,GAAA,CAAC,KAAK,EAAA,EACJ,gBAAgB,EAAE;AAChB,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,KAAK;AACX,4BAAA,KAAK,EAAE,WAAW;4BAClB,KAAK,EAAE,QAAA,CAAA,MAAA,CAAI,KAAK,CAAE;AAClB,4BAAA,aAAa,EAAE,gBAAgB;AAC/B,4BAAA,IAAI,EAAE,oBAAoB;AAC3B,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,aAAa,EAAE,oBAAoB;AACpC,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,WAAW,EAAE,UAAU;AACxB,yBAAA;qBACF,EACD,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,kBAAkB,EAAA,CACtC,CAAA,EAAA,CACE;IAEV,CAAC;AAED,IAAA,IAAI,EAAE,OAAO;;AAGf,IAAM,cAAc,GAAc;AAChC,IAAA;AACE,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC5B,YAAA;gBACE,EAAE,IAAI,EAAE,OAAO,EAAE;AACjB,gBAAA;AACE,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,WAAW,EAAE,2BAA2B;AACxC,oBAAA,WAAW,EAAE,OAAO;AACrB,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,iCAAiC;AACvC,oBAAA,YAAY,EAAE,yBAAyB;AACxC,iBAAA;gBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE;AAC7B,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,mBAAmB;AACzB,oBAAA,YAAY,EAAE,gCAAgC;AAC/C,iBAAA;gBACD,EAAE,IAAI,EAAE,mBAAmB,EAAE;AAC9B,aAAA;YACD,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACtD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,wBAAwB;AAC9B,oBAAA,WAAW,EAAE,kCAAkC;AAChD,iBAAA;gBACD,EAAE,cAAc,EAAE,KAAK,EAAE;AAC1B,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,QAAQ;AAChB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACtD,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACvD,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AACnD,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,QAAQ;AAChB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACpD,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAC9D,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,SAAS;AACjB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACzD,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAC7D,SAAA;AACF,KAAA;CACF;AAEM,IAAM,oBAAoB,GAAG;AAClC,IAAA,MAAM,EAAE,YAAA,EAAM,QACZA,aAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA,QAAA,EAC3BA,GAAA,CAAC,KAAK,EAAA,EACJ,SAAS,EAAE,cAAc,EACzB,KAAK,EAAC,mBAAmB,EACzB,mBAAmB,EAAA,IAAA,EACnB,mBAAmB,EAAA,IAAA,EACnB,gBAAgB,QAChB,kBAAkB,EAAA,IAAA,EAAA,CAClB,EAAA,CACE,GAVM,CAWb;AAED,IAAA,IAAI,EAAE,mBAAmB;;AAG3B,IAAM,qBAAqB,GAAc;AACvC,IAAA;AACE,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;AACrB,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,eAAe,EAAE;AACzB,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,WAAW,EAAE,OAAO;AACpB,oBAAA,YAAY,EAAE,YAAY;AAC3B,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,gCAAgC,EAAE;AAC1C,gBAAA,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;AACpD,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,oEAAoE;AAC3E,iBAAA;AACD,gBAAA;AACE,oBAAA,cAAc,EAAE,IAAI;AACpB,oBAAA,YAAY,EAAE,gBAAgB;AAC/B,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,4BAA4B;AACnC,iBAAA;gBACD,EAAE,cAAc,EAAE,KAAK,EAAE;AAC1B,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,YAAY,EAAE,YAAY;AAC3B,iBAAA;gBACD,EAAE,IAAI,EAAE,YAAY,EAAE;AACvB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAClD,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACnD,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;AACrB,gBAAA,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC3D,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAClD,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAClD,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YACjD,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;AAClD,SAAA;AACF,KAAA;CACF;AAEM,IAAM,sBAAsB,GAAG;AACpC,IAAA,MAAM,EAAE,YAAA,EAAM,QACZA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA,QAAA,EAC3BA,GAAA,CAAC,KAAK,EAAA,EACJ,SAAS,EAAE,qBAAqB,EAChC,KAAK,EAAC,2BAA2B,EACjC,mBAAmB,EAAA,IAAA,EAAA,CACnB,EAAA,CACE,GAPM,CAQb;AAED,IAAA,IAAI,EAAE,uBAAuB;;AAG/B,IAAM,kBAAkB,GAAc;AACpC,IAAA;AACE,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;AACrB,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,WAAW,EAAE,mDAAmD;AACjE,iBAAA;gBACD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE;gBACrE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE;AACtE,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,YAAY,EAAE,YAAY;AAC3B,iBAAA;gBACD,EAAE,IAAI,EAAE,YAAY,EAAE;gBACtB,EAAE,IAAI,EAAE,YAAY,EAAE;AACvB,aAAA;AACD,YAAA;AACE,gBAAA;AACE,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,YAAY,EAAE,YAAY;AAC3B,iBAAA;AACD,gBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE;AAClD,gBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE;AACnD,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,4BAA4B,EAAE;AACtC,gBAAA,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC1D,gBAAA,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC3D,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,IAAI,EAAE,cAAc,EAAE;gBACxB,EAAE,IAAI,EAAE,cAAc,EAAE;AACzB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAC3D,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,KAAK,EAAE;AAC1B,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAC3D,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,IAAI,EAAE,YAAY,EAAE;gBACtB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;AACrB,gBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE;AACxD,gBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE;AACzD,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,IAAI,EAAE,YAAY,EAAE;gBACtB,EAAE,IAAI,EAAE,YAAY,EAAE;AACvB,aAAA;AACF,SAAA;AACF,KAAA;CACF;AAEM,IAAM,mBAAmB,GAAG;AACjC,IAAA,MAAM,EAAE,YAAA,EAAM,QACZA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA,QAAA,EAC3BA,GAAA,CAAC,KAAK,EAAA,EACJ,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAC,wBAAwB,EAC9B,mBAAmB,EAAA,IAAA,EAAA,CACnB,EAAA,CACE,GAPM,CAQb;AAED,IAAA,IAAI,EAAE,oBAAoB;;AAG5B,IAAM,mBAAmB,GAAG,UAC1B,YAAoB,EACpB,eAAuC,IACzB,OAAA;AACd,IAAA;AACE,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,eAAe,EAAE;AACzB,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,aAAa,EAAE,OAAO;AACtB,oBAAA,KAAK,EAAE,QAAQ;oBACf,UAAU,EAAE,YAAY,KAAK,CAAC;oBAC9B,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,CAAC,CAAC,EAAlB,CAAkB;AAClC,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,aAAa,EAAE,UAAU;AACzB,oBAAA,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,YAAY,KAAK,CAAC;oBAC9B,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,CAAC,CAAC,EAAlB,CAAkB;AAClC,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,mBAAmB,EAAE;gBAC7B,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE;gBAC/D,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE;AACjE,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,iBAAiB,EAAE;gBAClE,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE;gBAChE,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE;gBACpD,EAAE,IAAI,EAAE,KAAK,EAAE;gBACf,EAAE,IAAI,EAAE,KAAK,EAAE;AAChB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,kBAAkB;AAC1B,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,cAAc,EAAE;gBACxB,EAAE,IAAI,EAAE,eAAe,EAAE;gBACzB,EAAE,IAAI,EAAE,WAAW,EAAE;AACtB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,YAAY,EAAE;gBACtB,EAAE,IAAI,EAAE,MAAM,EAAE;gBAChB,EAAE,IAAI,EAAE,MAAM,EAAE;AACjB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAC3B,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,sBAAsB,EAAE;gBAChC,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA,CAAA,CArEe,CAqEf;AAED,IAAM,iBAAiB,GAAG,YAAA;IAClB,IAAA,EAAA,GAAkC,QAAQ,CAAC,CAAC,CAAC,EAA5C,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,eAAe,GAAA,EAAA,CAAA,CAAA,CAAe;AAEnD,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA,QAAA,EAC3BA,GAAA,CAAC,KAAK,EAAA,EACJ,SAAS,EAAE,mBAAmB,CAAC,YAAY,EAAE,eAAe,CAAC,EAC7D,KAAK,EAAC,gBAAgB,EACtB,mBAAmB,EAAA,IAAA,EACnB,kBAAkB,EAAA,IAAA,EAClB,aAAa,EAAE,YAAY,EAC3B,kBAAkB,EAAE,eAAe,EAAA,CACnC,EAAA,CACE;AAEV,CAAC;AAEM,IAAM,YAAY,GAAG;AAC1B,IAAA,MAAM,EAAE,YAAA,EAAM,OAAAA,IAAC,iBAAiB,EAAA,EAAA,CAAG,EAArB,CAAqB;AAEnC,IAAA,IAAI,EAAE,gBAAgB;;AAGxB,IAAM,oBAAoB,GAAc;AACtC,IAAA;AACE,QAAA,IAAI,EAAE;AACJ,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;AACrB,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,wCAAwC;AAC9C,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,cAAO,CAAC;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,uCAAuC;AAC7C,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,cAAO,CAAC;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,KAAK;AACX,oBAAA,IAAI,EAAE,yCAAyC;AAC/C,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,aAAa,EAAE,aAAa;AAC5B,oBAAA,IAAI,EAAE,EAAE;oBACR,OAAO,EAAE,cAAO,CAAC;AAClB,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,eAAe,EAAE;gBACzB,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE;gBAChE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE;gBAChE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE;AACjE,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,wBAAwB,EAAE;AAClC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;gBACnE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACvC,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,uBAAuB,EAAE;gBACjC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;AAClE,gBAAA,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;AACnE,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE;gBACvD,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,yBAAyB,EAAE;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE;gBAChB,EAAE,IAAI,EAAE,KAAK,EAAE;gBACf,EAAE,IAAI,EAAE,MAAM,EAAE;AACjB,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,eAAe;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE;gBAC3D,EAAE,IAAI,EAAE,kBAAkB,EAAE;gBAC5B,EAAE,IAAI,EAAE,oBAAoB,EAAE;gBAC9B,EAAE,IAAI,EAAE,oBAAoB,EAAE;AAC/B,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAE;gBAC3D,EAAE,IAAI,EAAE,YAAY,EAAE;gBACtB,EAAE,IAAI,EAAE,YAAY,EAAE;gBACtB,EAAE,IAAI,EAAE,YAAY,EAAE;AACvB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,IAAI,EAAE,aAAa,EAAE;gBACvB,EAAE,IAAI,EAAE,aAAa,EAAE;gBACvB,EAAE,IAAI,EAAE,aAAa,EAAE;AACxB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,KAAK,EAAE;AAC1B,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,cAAc,EAAE,KAAK,EAAE;gBACzB,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACD,YAAA;gBACE,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;gBACxB,EAAE,cAAc,EAAE,IAAI,EAAE;AACzB,aAAA;AACF,SAAA;AACF,KAAA;CACF;AAEM,IAAM,qBAAqB,GAAG;AACnC,IAAA,MAAM,EAAE,YAAA,EAAM,QACZA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA,QAAA,EAC3BA,GAAA,CAAC,KAAK,EAAA,EACJ,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAC,0BAA0B,EAChC,mBAAmB,EAAA,IAAA,EAAA,CACnB,EAAA,CACE,GAPM,CAQb;AAED,IAAA,IAAI,EAAE,sBAAsB;;AAGvB,IAAM,oBAAoB,GAAG;AAClC,IAAA,MAAM,EAAE,YAAA,EAAM,QACZC,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAA,QAAA,EAAA,CAC3BD,WAAG,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,uFAAA,EAAA,CAGlC,EACJA,GAAA,CAAC,KAAK,IACJ,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAC,0BAA0B,EAChC,mBAAmB,EAAA,IAAA,EACnB,oBAAoB,EAAC,MAAM,GAC3B,CAAA,EAAA,CACE,GAZM,CAab;AAED,IAAA,IAAI,EAAE,0BAA0B;;AAG3B,IAAM,aAAa,GAAG,YAAA;AAC3B,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EACG,mZAmBA,EAAA,CACG;AAEV;;;;"}
@@ -8,7 +8,7 @@ import '../../../../../_commonjsHelpers-BFTU3MAI.js';
8
8
  import '../../../../icon/IconWrapper/IconWrapper.js';
9
9
  import '../../../../../tslib.es6-CVlKGIvp.js';
10
10
 
11
- var css_248z = ".ButtonCell-module_buttonCell__x4NNi {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: calc(100% + 48px);\n margin-left: -24px;\n margin-right: -24px;\n padding: 16px 24px;\n border-radius: 8px;\n border: 1px solid transparent;\n background-color: transparent;\n color: #26262e;\n cursor: pointer;\n transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n text-align: left;\n}\n.ButtonCell-module_buttonCell__x4NNi:hover:not(:disabled):not(.ButtonCell-module_selected__22pF_) {\n background-color: #FAF8F5;\n}\n.ButtonCell-module_buttonCell__x4NNi:focus-visible {\n outline: 1px solid #26262e;\n outline-offset: 0;\n}\n@media (max-width: 34rem) {\n .ButtonCell-module_buttonCell__x4NNi {\n pointer-events: none;\n }\n}\n\n.ButtonCell-module_selected__22pF_ {\n border: 1px solid #26262e;\n background-color: #FAF8F5;\n}\n\n.ButtonCell-module_disabled__1TmtK {\n background-color: #f7f7fd;\n cursor: default;\n opacity: 1;\n pointer-events: none;\n}";
11
+ var css_248z = ".ButtonCell-module_buttonCell__x4NNi {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: calc(100% + 40px);\n margin-left: -20px;\n margin-right: -20px;\n padding: 16px 24px;\n border-radius: 12px;\n border: 1px solid #e7e7ed;\n background-color: transparent;\n color: #26262e;\n cursor: pointer;\n transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n text-align: left;\n}\n.ButtonCell-module_buttonCell__x4NNi:hover:not(:disabled):not(.ButtonCell-module_selected__22pF_) {\n background-color: #FAF8F5;\n}\n.ButtonCell-module_buttonCell__x4NNi:focus-visible {\n outline: 1px solid #26262e;\n outline-offset: 0;\n}\n@media (max-width: 34rem) {\n .ButtonCell-module_buttonCell__x4NNi {\n pointer-events: none;\n }\n}\n\n.ButtonCell-module_selected__22pF_ {\n border: 1px solid #26262e;\n background-color: #FAF8F5;\n}\n\n.ButtonCell-module_disabled__1TmtK {\n background-color: #f7f7fd;\n cursor: default;\n opacity: 1;\n pointer-events: none;\n}";
12
12
  var styles = {"buttonCell":"ButtonCell-module_buttonCell__x4NNi","selected":"ButtonCell-module_selected__22pF_","disabled":"ButtonCell-module_disabled__1TmtK"};
13
13
  styleInject(css_248z);
14
14
 
@@ -78,7 +78,7 @@ var TableContents = function (_a) {
78
78
  .filter(function (localRowIndex) { return localRowIndex >= 0 && localRowIndex < rows.length; });
79
79
  var result = (isFirstSection || isVisible) && (jsxs("div", { ref: function (el) { sectionRefs.current[index] = el; }, children: [(section === null || section === void 0 ? void 0 : section.title) && (jsx("div", { className: styles.sectionButtonWrapper, children: collapsibleSections ? (jsxs("button", { type: "button", "aria-expanded": isExpanded, className: classNames('d-flex ai-center jc-between ta-left bg-white', styles.sectionButton), onClick: function () { return handleToggleSection(index); }, children: [jsxs("span", { className: "d-flex ai-center gap8", children: [renderedIcon, jsx("span", { className: "p-h3", children: section.title })] }), isExpanded ? (jsx(ChevronUpIcon, { size: 20 })) : (jsx(ChevronDownIcon, { size: 20 }))] })) : (jsx("div", { className: classNames('d-flex ai-center jc-between ta-left bg-white', styles.sectionButton), children: jsxs("span", { className: "d-flex ai-center gap8", children: [renderedIcon, jsx("span", { className: "p-h3", children: section.title })] }) })) })), jsx(Collapsible, { isExpanded: isExpanded, onTransitionEnd: function () { return handleScrollToSection(index); }, children: jsx(TableSection, { className: classNames(className, 'mb16', {
80
80
  mt16: !!(section === null || section === void 0 ? void 0 : section.title),
81
- }), tableCellRows: isFirstSection ? rows : __spreadArray([firstHeadRow], rows, true), hideColumns: hideColumns, hideRows: sectionHideRows, hideHeader: !showHeader, openModal: openModal, title: "".concat(title).concat((section === null || section === void 0 ? void 0 : section.title) ? " - ".concat(section.title) : ''), width: tableWidth, cellReplacements: cellReplacements, imageComponent: imageComponent, selectedColumn: selectedColumn }) })] }, index));
81
+ }), tableCellRows: isFirstSection ? rows : __spreadArray([firstHeadRow], rows, true), hideColumns: hideColumns, hideRows: sectionHideRows, hideHeader: !showHeader || !isFirstSection, openModal: openModal, title: "".concat(title).concat((section === null || section === void 0 ? void 0 : section.title) ? " - ".concat(section.title) : ''), width: tableWidth, cellReplacements: cellReplacements, imageComponent: imageComponent, selectedColumn: selectedColumn }) })] }, index));
82
82
  // Update global offset for next section (excluding header row for non-first sections)
83
83
  globalRowOffset += rows.length;
84
84
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"TableContents.js","sources":["../../../../../../../src/lib/components/table/components/TableContents/TableContents.tsx"],"sourcesContent":["import { MutableRefObject, useCallback, useRef, useState } from 'react';\nimport { TableSection } from '../TableSection/TableSection';\nimport { ChevronDownIcon, ChevronUpIcon } from '../../../icon';\n\nimport styles from './TableContents.module.scss';\nimport classNames from 'classnames';\nimport { Collapsible } from './Collapsible';\nimport { CellReplacements, ModalFunction, TableData } from '../../types';\nimport { IconRenderer } from '../IconRenderer/IconRenderer';\n\nexport interface TableContentsProps {\n className?: string;\n collapsibleSections?: boolean;\n scrollOnOpen?: boolean;\n scrollTopOffset?: number;\n stickyHeaderRef?: MutableRefObject<HTMLDivElement | null>;\n tableData: TableData;\n hideColumns?: number[];\n hideDetails?: boolean;\n hideRows?: number[];\n isMobile?: boolean;\n openModal?: ModalFunction;\n shouldHideDetails?: boolean;\n title: string;\n cellReplacements?: CellReplacements;\n imageComponent?: (args: any) => JSX.Element;\n selectedColumn?: number;\n showHeader?: boolean;\n}\n\nconst TableContents = ({\n className,\n collapsibleSections,\n scrollOnOpen,\n scrollTopOffset = 0,\n stickyHeaderRef,\n tableData,\n hideColumns = [],\n hideDetails,\n hideRows = [],\n isMobile,\n openModal,\n shouldHideDetails,\n title,\n cellReplacements,\n imageComponent,\n selectedColumn,\n showHeader = false,\n}: TableContentsProps) => {\n const [isSectionOpen, setOpenSection] = useState<number | null>(null);\n const lastToggledSection = useRef<number | null>(null);\n const sectionRefs = useRef<Record<number, HTMLDivElement | null>>({});\n const firstHeadRow = tableData?.[0]?.rows?.[0];\n const tableWidth = isMobile ? `${firstHeadRow?.length * 50}%` : '';\n const handleToggleSection = (index: number) => {\n lastToggledSection.current = isSectionOpen === index ? null : index;\n setOpenSection((currentSection) =>\n currentSection === index ? null : index\n );\n };\n\n const handleScrollToSection = useCallback(\n (index: number) => {\n if (scrollOnOpen && lastToggledSection.current === index && sectionRefs.current[index]) {\n const headerHeight =\n stickyHeaderRef?.current?.getBoundingClientRect().height ?? 0;\n const top =\n sectionRefs.current[index]!.getBoundingClientRect().top +\n window.scrollY -\n scrollTopOffset -\n headerHeight;\n window.scrollTo({ top, behavior: 'smooth' });\n }\n },\n [scrollOnOpen, scrollTopOffset, stickyHeaderRef]\n );\n\n // Calculate global row offset for each section\n let globalRowOffset = 0;\n\n return (\n <div style={{ width: tableWidth }}>\n {tableData.map(({ rows, section = {} }, index) => {\n const isFirstSection = index === 0;\n const isExpanded = !collapsibleSections\n ? true\n : isSectionOpen === index || isFirstSection;\n const isVisible = hideDetails ? !shouldHideDetails : true;\n\n const renderedIcon = section.icon ? (\n <IconRenderer icon={section.icon} imageComponent={imageComponent} width={20} />\n ) : null;\n\n // Calculate section-specific hideRows based on global offset\n const sectionHideRows = hideRows\n .map(globalRowIndex => globalRowIndex - globalRowOffset)\n .filter(localRowIndex => localRowIndex >= 0 && localRowIndex < rows.length);\n\n const result = (isFirstSection || isVisible) && (\n <div key={index} ref={(el) => { sectionRefs.current[index] = el; }}>\n {section?.title && (\n <div className={styles.sectionButtonWrapper}>\n {collapsibleSections ? (\n <button\n type=\"button\"\n aria-expanded={isExpanded}\n className={classNames(\n 'd-flex ai-center jc-between ta-left bg-white',\n styles.sectionButton\n )}\n onClick={() => handleToggleSection(index)}\n >\n <span className=\"d-flex ai-center gap8\">\n {renderedIcon}\n <span className=\"p-h3\">{section.title}</span>\n </span>\n {isExpanded ? (\n <ChevronUpIcon size={20} />\n ) : (\n <ChevronDownIcon size={20} />\n )}\n </button>\n ) : (\n <div\n className={classNames(\n 'd-flex ai-center jc-between ta-left bg-white',\n styles.sectionButton\n )}\n >\n <span className=\"d-flex ai-center gap8\">\n {renderedIcon}\n <span className=\"p-h3\">{section.title}</span>\n </span>\n </div>\n )}\n </div>\n )}\n\n <Collapsible\n isExpanded={isExpanded}\n onTransitionEnd={() => handleScrollToSection(index)}\n >\n <TableSection\n className={classNames(className, 'mb16', {\n mt16: !!section?.title,\n })}\n tableCellRows={\n isFirstSection ? rows : [firstHeadRow, ...rows]\n }\n hideColumns={hideColumns}\n hideRows={sectionHideRows}\n hideHeader={!showHeader}\n openModal={openModal}\n title={`${title}${\n section?.title ? ` - ${section.title}` : ''\n }`}\n width={tableWidth}\n cellReplacements={cellReplacements}\n imageComponent={imageComponent}\n selectedColumn={selectedColumn}\n />\n </Collapsible>\n </div>\n );\n\n // Update global offset for next section (excluding header row for non-first sections)\n globalRowOffset += rows.length;\n\n return result;\n })}\n </div>\n );\n};\n\nexport { TableContents };\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAM,aAAa,GAAG,UAAC,EAkBF,EAAA;;AAjBnB,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EACnB,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,EAAA,GAAA,EAAA,CAAA,eAAmB,EAAnB,eAAe,GAAA,EAAA,KAAA,MAAA,GAAG,CAAC,GAAA,EAAA,EACnB,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,EAAA,GAAA,EAAA,CAAA,WAAgB,EAAhB,WAAW,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EAChB,WAAW,iBAAA,EACX,EAAA,GAAA,EAAA,CAAA,QAAa,EAAb,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACb,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EACjB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,EAAA,GAAA,EAAA,CAAA,UAAkB,EAAlB,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA;IAEZ,IAAA,EAAA,GAAkC,QAAQ,CAAgB,IAAI,CAAC,EAA9D,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,cAAc,GAAA,EAAA,CAAA,CAAA,CAAiC;AACrE,IAAA,IAAM,kBAAkB,GAAG,MAAM,CAAgB,IAAI,CAAC;AACtD,IAAA,IAAM,WAAW,GAAG,MAAM,CAAwC,EAAE,CAAC;AACrE,IAAA,IAAM,YAAY,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,aAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;IAC9C,IAAM,UAAU,GAAG,QAAQ,GAAG,EAAA,CAAA,MAAA,CAAG,CAAA,YAAY,KAAA,IAAA,IAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,EAAE,MAAG,GAAG,EAAE;IAClE,IAAM,mBAAmB,GAAG,UAAC,KAAa,EAAA;AACxC,QAAA,kBAAkB,CAAC,OAAO,GAAG,aAAa,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK;QACnE,cAAc,CAAC,UAAC,cAAc,EAAA;YAC5B,OAAA,cAAc,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK;AAAvC,QAAA,CAAuC,CACxC;AACH,IAAA,CAAC;AAED,IAAA,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAC,KAAa,EAAA;;AACZ,QAAA,IAAI,YAAY,IAAI,kBAAkB,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtF,YAAA,IAAM,YAAY,GAChB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,eAAe,aAAf,eAAe,KAAA,MAAA,GAAA,MAAA,GAAf,eAAe,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,GAAG,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAC/D,YAAA,IAAM,KAAG,GACP,WAAW,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG;AACvD,gBAAA,MAAM,CAAC,OAAO;gBACd,eAAe;AACf,gBAAA,YAAY;AACd,YAAA,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAA,KAAA,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9C;IACF,CAAC,EACD,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,CACjD;;IAGD,IAAI,eAAe,GAAG,CAAC;AAEvB,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAA,QAAA,EAC9B,SAAS,CAAC,GAAG,CAAC,UAAC,EAAsB,EAAE,KAAK,EAAA;AAA3B,YAAA,IAAA,IAAI,UAAA,EAAE,EAAA,GAAA,EAAA,CAAA,OAAY,EAAZ,OAAO,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA;AAClC,YAAA,IAAM,cAAc,GAAG,KAAK,KAAK,CAAC;YAClC,IAAM,UAAU,GAAG,CAAC;AAClB,kBAAE;AACF,kBAAE,aAAa,KAAK,KAAK,IAAI,cAAc;AAC7C,YAAA,IAAM,SAAS,GAAG,WAAW,GAAG,CAAC,iBAAiB,GAAG,IAAI;AAEzD,YAAA,IAAM,YAAY,GAAG,OAAO,CAAC,IAAI,IAC/BA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,IAC7E,IAAI;;YAGR,IAAM,eAAe,GAAG;iBACrB,GAAG,CAAC,UAAA,cAAc,EAAA,EAAI,OAAA,cAAc,GAAG,eAAe,CAAA,CAAhC,CAAgC;AACtD,iBAAA,MAAM,CAAC,UAAA,aAAa,EAAA,EAAI,OAAA,aAAa,IAAI,CAAC,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAA,CAAjD,CAAiD,CAAC;YAE7E,IAAM,MAAM,GAAG,CAAC,cAAc,IAAI,SAAS,MACzCC,IAAA,CAAA,KAAA,EAAA,EAAiB,GAAG,EAAE,UAAC,EAAE,EAAA,EAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAA,QAAA,EAAA,CAC/D,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MACbD,aAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,YACxC,mBAAmB,IAClBC,iBACE,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,UAAU,EACzB,SAAS,EAAE,UAAU,CACnB,8CAA8C,EAC9C,MAAM,CAAC,aAAa,CACrB,EACD,OAAO,EAAE,YAAA,EAAM,OAAA,mBAAmB,CAAC,KAAK,CAAC,CAAA,CAA1B,CAA0B,EAAA,QAAA,EAAA,CAEzCA,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uBAAuB,aACpC,YAAY,EACbD,cAAM,SAAS,EAAC,MAAM,EAAA,QAAA,EAAE,OAAO,CAAC,KAAK,EAAA,CAAQ,IACxC,EACN,UAAU,IACTA,GAAA,CAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAA,CAAI,KAE3BA,GAAA,CAAC,eAAe,IAAC,IAAI,EAAE,EAAE,EAAA,CAAI,CAC9B,IACM,KAETA,aACE,SAAS,EAAE,UAAU,CACnB,8CAA8C,EAC9C,MAAM,CAAC,aAAa,CACrB,EAAA,QAAA,EAEDC,eAAM,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,CACpC,YAAY,EACbD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,MAAM,EAAA,QAAA,EAAE,OAAO,CAAC,KAAK,GAAQ,CAAA,EAAA,CACxC,EAAA,CACH,CACP,EAAA,CACG,CACP,EAEDA,GAAA,CAAC,WAAW,IACV,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,YAAA,EAAM,OAAA,qBAAqB,CAAC,KAAK,CAAC,CAAA,CAA5B,CAA4B,YAEnDA,GAAA,CAAC,YAAY,IACX,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE;gCACvC,IAAI,EAAE,CAAC,EAAC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,KAAK,CAAA;AACvB,6BAAA,CAAC,EACF,aAAa,EACX,cAAc,GAAG,IAAI,kBAAI,YAAY,CAAA,EAAK,IAAI,EAAA,IAAA,CAAC,EAEjD,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,CAAC,UAAU,EACvB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,EAAA,CAAA,MAAA,CAAG,KAAK,SACb,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,IAAG,KAAA,CAAA,MAAA,CAAM,OAAO,CAAC,KAAK,CAAE,GAAG,EAAE,CAC3C,EACF,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAAA,CAC9B,EAAA,CACU,KA9DN,KAAK,CA+DT,CACP;;AAGD,YAAA,eAAe,IAAI,IAAI,CAAC,MAAM;AAE9B,YAAA,OAAO,MAAM;QACf,CAAC,CAAC,EAAA,CACE;AAEV;;;;"}
1
+ {"version":3,"file":"TableContents.js","sources":["../../../../../../../src/lib/components/table/components/TableContents/TableContents.tsx"],"sourcesContent":["import { MutableRefObject, useCallback, useRef, useState } from 'react';\nimport { TableSection } from '../TableSection/TableSection';\nimport { ChevronDownIcon, ChevronUpIcon } from '../../../icon';\n\nimport styles from './TableContents.module.scss';\nimport classNames from 'classnames';\nimport { Collapsible } from './Collapsible';\nimport { CellReplacements, ModalFunction, TableData } from '../../types';\nimport { IconRenderer } from '../IconRenderer/IconRenderer';\n\nexport interface TableContentsProps {\n className?: string;\n collapsibleSections?: boolean;\n scrollOnOpen?: boolean;\n scrollTopOffset?: number;\n stickyHeaderRef?: MutableRefObject<HTMLDivElement | null>;\n tableData: TableData;\n hideColumns?: number[];\n hideDetails?: boolean;\n hideRows?: number[];\n isMobile?: boolean;\n openModal?: ModalFunction;\n shouldHideDetails?: boolean;\n title: string;\n cellReplacements?: CellReplacements;\n imageComponent?: (args: any) => JSX.Element;\n selectedColumn?: number;\n showHeader?: boolean;\n}\n\nconst TableContents = ({\n className,\n collapsibleSections,\n scrollOnOpen,\n scrollTopOffset = 0,\n stickyHeaderRef,\n tableData,\n hideColumns = [],\n hideDetails,\n hideRows = [],\n isMobile,\n openModal,\n shouldHideDetails,\n title,\n cellReplacements,\n imageComponent,\n selectedColumn,\n showHeader = false,\n}: TableContentsProps) => {\n const [isSectionOpen, setOpenSection] = useState<number | null>(null);\n const lastToggledSection = useRef<number | null>(null);\n const sectionRefs = useRef<Record<number, HTMLDivElement | null>>({});\n const firstHeadRow = tableData?.[0]?.rows?.[0];\n const tableWidth = isMobile ? `${firstHeadRow?.length * 50}%` : '';\n const handleToggleSection = (index: number) => {\n lastToggledSection.current = isSectionOpen === index ? null : index;\n setOpenSection((currentSection) =>\n currentSection === index ? null : index\n );\n };\n\n const handleScrollToSection = useCallback(\n (index: number) => {\n if (scrollOnOpen && lastToggledSection.current === index && sectionRefs.current[index]) {\n const headerHeight =\n stickyHeaderRef?.current?.getBoundingClientRect().height ?? 0;\n const top =\n sectionRefs.current[index]!.getBoundingClientRect().top +\n window.scrollY -\n scrollTopOffset -\n headerHeight;\n window.scrollTo({ top, behavior: 'smooth' });\n }\n },\n [scrollOnOpen, scrollTopOffset, stickyHeaderRef]\n );\n\n // Calculate global row offset for each section\n let globalRowOffset = 0;\n\n return (\n <div style={{ width: tableWidth }}>\n {tableData.map(({ rows, section = {} }, index) => {\n const isFirstSection = index === 0;\n const isExpanded = !collapsibleSections\n ? true\n : isSectionOpen === index || isFirstSection;\n const isVisible = hideDetails ? !shouldHideDetails : true;\n\n const renderedIcon = section.icon ? (\n <IconRenderer icon={section.icon} imageComponent={imageComponent} width={20} />\n ) : null;\n\n // Calculate section-specific hideRows based on global offset\n const sectionHideRows = hideRows\n .map(globalRowIndex => globalRowIndex - globalRowOffset)\n .filter(localRowIndex => localRowIndex >= 0 && localRowIndex < rows.length);\n\n const result = (isFirstSection || isVisible) && (\n <div key={index} ref={(el) => { sectionRefs.current[index] = el; }}>\n {section?.title && (\n <div className={styles.sectionButtonWrapper}>\n {collapsibleSections ? (\n <button\n type=\"button\"\n aria-expanded={isExpanded}\n className={classNames(\n 'd-flex ai-center jc-between ta-left bg-white',\n styles.sectionButton\n )}\n onClick={() => handleToggleSection(index)}\n >\n <span className=\"d-flex ai-center gap8\">\n {renderedIcon}\n <span className=\"p-h3\">{section.title}</span>\n </span>\n {isExpanded ? (\n <ChevronUpIcon size={20} />\n ) : (\n <ChevronDownIcon size={20} />\n )}\n </button>\n ) : (\n <div\n className={classNames(\n 'd-flex ai-center jc-between ta-left bg-white',\n styles.sectionButton\n )}\n >\n <span className=\"d-flex ai-center gap8\">\n {renderedIcon}\n <span className=\"p-h3\">{section.title}</span>\n </span>\n </div>\n )}\n </div>\n )}\n\n <Collapsible\n isExpanded={isExpanded}\n onTransitionEnd={() => handleScrollToSection(index)}\n >\n <TableSection\n className={classNames(className, 'mb16', {\n mt16: !!section?.title,\n })}\n tableCellRows={\n isFirstSection ? rows : [firstHeadRow, ...rows]\n }\n hideColumns={hideColumns}\n hideRows={sectionHideRows}\n hideHeader={!showHeader || !isFirstSection}\n openModal={openModal}\n title={`${title}${\n section?.title ? ` - ${section.title}` : ''\n }`}\n width={tableWidth}\n cellReplacements={cellReplacements}\n imageComponent={imageComponent}\n selectedColumn={selectedColumn}\n />\n </Collapsible>\n </div>\n );\n\n // Update global offset for next section (excluding header row for non-first sections)\n globalRowOffset += rows.length;\n\n return result;\n })}\n </div>\n );\n};\n\nexport { TableContents };\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAM,aAAa,GAAG,UAAC,EAkBF,EAAA;;AAjBnB,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,mBAAmB,GAAA,EAAA,CAAA,mBAAA,EACnB,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,EAAA,GAAA,EAAA,CAAA,eAAmB,EAAnB,eAAe,GAAA,EAAA,KAAA,MAAA,GAAG,CAAC,GAAA,EAAA,EACnB,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,EAAA,GAAA,EAAA,CAAA,WAAgB,EAAhB,WAAW,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EAChB,WAAW,iBAAA,EACX,EAAA,GAAA,EAAA,CAAA,QAAa,EAAb,QAAQ,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACb,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EACjB,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,cAAc,GAAA,EAAA,CAAA,cAAA,EACd,EAAA,GAAA,EAAA,CAAA,UAAkB,EAAlB,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA;IAEZ,IAAA,EAAA,GAAkC,QAAQ,CAAgB,IAAI,CAAC,EAA9D,aAAa,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,cAAc,GAAA,EAAA,CAAA,CAAA,CAAiC;AACrE,IAAA,IAAM,kBAAkB,GAAG,MAAM,CAAgB,IAAI,CAAC;AACtD,IAAA,IAAM,WAAW,GAAG,MAAM,CAAwC,EAAE,CAAC;AACrE,IAAA,IAAM,YAAY,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,SAAS,aAAT,SAAS,KAAA,MAAA,GAAA,MAAA,GAAT,SAAS,CAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;IAC9C,IAAM,UAAU,GAAG,QAAQ,GAAG,EAAA,CAAA,MAAA,CAAG,CAAA,YAAY,KAAA,IAAA,IAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,EAAE,MAAG,GAAG,EAAE;IAClE,IAAM,mBAAmB,GAAG,UAAC,KAAa,EAAA;AACxC,QAAA,kBAAkB,CAAC,OAAO,GAAG,aAAa,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK;QACnE,cAAc,CAAC,UAAC,cAAc,EAAA;YAC5B,OAAA,cAAc,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK;AAAvC,QAAA,CAAuC,CACxC;AACH,IAAA,CAAC;AAED,IAAA,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAC,KAAa,EAAA;;AACZ,QAAA,IAAI,YAAY,IAAI,kBAAkB,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtF,YAAA,IAAM,YAAY,GAChB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,eAAe,aAAf,eAAe,KAAA,MAAA,GAAA,MAAA,GAAf,eAAe,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,qBAAqB,GAAG,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAC/D,YAAA,IAAM,KAAG,GACP,WAAW,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG;AACvD,gBAAA,MAAM,CAAC,OAAO;gBACd,eAAe;AACf,gBAAA,YAAY;AACd,YAAA,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAA,KAAA,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9C;IACF,CAAC,EACD,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,CAAC,CACjD;;IAGD,IAAI,eAAe,GAAG,CAAC;AAEvB,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAA,QAAA,EAC9B,SAAS,CAAC,GAAG,CAAC,UAAC,EAAsB,EAAE,KAAK,EAAA;AAA3B,YAAA,IAAA,IAAI,UAAA,EAAE,EAAA,GAAA,EAAA,CAAA,OAAY,EAAZ,OAAO,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA;AAClC,YAAA,IAAM,cAAc,GAAG,KAAK,KAAK,CAAC;YAClC,IAAM,UAAU,GAAG,CAAC;AAClB,kBAAE;AACF,kBAAE,aAAa,KAAK,KAAK,IAAI,cAAc;AAC7C,YAAA,IAAM,SAAS,GAAG,WAAW,GAAG,CAAC,iBAAiB,GAAG,IAAI;AAEzD,YAAA,IAAM,YAAY,GAAG,OAAO,CAAC,IAAI,IAC/BA,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAA,CAAI,IAC7E,IAAI;;YAGR,IAAM,eAAe,GAAG;iBACrB,GAAG,CAAC,UAAA,cAAc,EAAA,EAAI,OAAA,cAAc,GAAG,eAAe,CAAA,CAAhC,CAAgC;AACtD,iBAAA,MAAM,CAAC,UAAA,aAAa,EAAA,EAAI,OAAA,aAAa,IAAI,CAAC,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAA,CAAjD,CAAiD,CAAC;YAE7E,IAAM,MAAM,GAAG,CAAC,cAAc,IAAI,SAAS,MACzCC,IAAA,CAAA,KAAA,EAAA,EAAiB,GAAG,EAAE,UAAC,EAAE,EAAA,EAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAA,QAAA,EAAA,CAC/D,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,MACbD,aAAK,SAAS,EAAE,MAAM,CAAC,oBAAoB,YACxC,mBAAmB,IAClBC,iBACE,IAAI,EAAC,QAAQ,EAAA,eAAA,EACE,UAAU,EACzB,SAAS,EAAE,UAAU,CACnB,8CAA8C,EAC9C,MAAM,CAAC,aAAa,CACrB,EACD,OAAO,EAAE,YAAA,EAAM,OAAA,mBAAmB,CAAC,KAAK,CAAC,CAAA,CAA1B,CAA0B,EAAA,QAAA,EAAA,CAEzCA,IAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,uBAAuB,aACpC,YAAY,EACbD,cAAM,SAAS,EAAC,MAAM,EAAA,QAAA,EAAE,OAAO,CAAC,KAAK,EAAA,CAAQ,IACxC,EACN,UAAU,IACTA,GAAA,CAAC,aAAa,IAAC,IAAI,EAAE,EAAE,EAAA,CAAI,KAE3BA,GAAA,CAAC,eAAe,IAAC,IAAI,EAAE,EAAE,EAAA,CAAI,CAC9B,IACM,KAETA,aACE,SAAS,EAAE,UAAU,CACnB,8CAA8C,EAC9C,MAAM,CAAC,aAAa,CACrB,EAAA,QAAA,EAEDC,eAAM,SAAS,EAAC,uBAAuB,EAAA,QAAA,EAAA,CACpC,YAAY,EACbD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,MAAM,EAAA,QAAA,EAAE,OAAO,CAAC,KAAK,GAAQ,CAAA,EAAA,CACxC,EAAA,CACH,CACP,EAAA,CACG,CACP,EAEDA,GAAA,CAAC,WAAW,IACV,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,YAAA,EAAM,OAAA,qBAAqB,CAAC,KAAK,CAAC,CAAA,CAA5B,CAA4B,YAEnDA,GAAA,CAAC,YAAY,IACX,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE;gCACvC,IAAI,EAAE,CAAC,EAAC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,KAAK,CAAA;AACvB,6BAAA,CAAC,EACF,aAAa,EACX,cAAc,GAAG,IAAI,GAAE,aAAA,CAAA,CAAE,YAAY,CAAA,EAAK,IAAI,OAAC,EAEjD,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,CAAC,UAAU,IAAI,CAAC,cAAc,EAC1C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,EAAA,CAAA,MAAA,CAAG,KAAK,CAAA,CAAA,MAAA,CACb,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,KAAK,IAAG,KAAA,CAAA,MAAA,CAAM,OAAO,CAAC,KAAK,CAAE,GAAG,EAAE,CAC3C,EACF,KAAK,EAAE,UAAU,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAAA,CAC9B,EAAA,CACU,KA9DN,KAAK,CA+DT,CACP;;AAGD,YAAA,eAAe,IAAI,IAAI,CAAC,MAAM;AAE9B,YAAA,OAAO,MAAM;QACf,CAAC,CAAC,EAAA,CACE;AAEV;;;;"}
@@ -84,5 +84,18 @@ describe('TableContents', function () {
84
84
  expect(screen.queryByText('Section 2')).not.toBeInTheDocument();
85
85
  expect(screen.queryByText('Item 2.1.1')).not.toBeInTheDocument();
86
86
  });
87
+ it('shows the header row only in the first section when showHeader is set', function () {
88
+ var container = customRender(jsx(TableContents, { showHeader: true, tableData: mockData, title: "Table" })).container;
89
+ var tableHeaders = container.querySelectorAll('thead');
90
+ expect(tableHeaders).toHaveLength(2);
91
+ expect(tableHeaders[0]).not.toHaveClass('sr-only');
92
+ expect(tableHeaders[1]).toHaveClass('sr-only');
93
+ });
94
+ it('keeps every header row hidden when showHeader is not set', function () {
95
+ var container = customRender(jsx(TableContents, { tableData: mockData, title: "Table" })).container;
96
+ container.querySelectorAll('thead').forEach(function (tableHeader) {
97
+ expect(tableHeader).toHaveClass('sr-only');
98
+ });
99
+ });
87
100
  });
88
101
  //# sourceMappingURL=TableContents.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableContents.test.js","sources":["../../../../../../../src/lib/components/table/components/TableContents/TableContents.test.tsx"],"sourcesContent":["import { fireEvent, render, screen } from '../../../../util/testUtils';\nimport { TableContents, TableContentsProps } from './TableContents';\n\nconst mockData: TableContentsProps['tableData'] = [\n {\n rows: [\n [{ text: 'Item 1.1.1' }, { text: 'Item 1.1.2' }],\n [{ text: 'Item 1.2.1' }, { text: 'Item 1.2.2' }],\n ],\n },\n {\n section: {\n title: 'Section 2',\n },\n rows: [\n [{ text: 'Item 2.1.1' }, { text: 'Item 2.1.2' }],\n [{ text: 'Item 2.2.1' }, { text: 'Item 2.2.2' }],\n ],\n },\n];\n\ndescribe('TableContents', () => {\n it('renders the table sections with sections', () => {\n render(\n <TableContents collapsibleSections tableData={mockData} title=\"Table\" />\n );\n\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n });\n\n it('renders the table sections with sections data', () => {\n render(\n <TableContents collapsibleSections tableData={mockData} title=\"Table\" />\n );\n\n expect(screen.getByText('Item 1.2.1')).toBeInTheDocument();\n expect(screen.getByText('Item 1.2.2')).toBeInTheDocument();\n expect(screen.getByText('Item 2.1.2')).toBeInTheDocument();\n expect(screen.getByText('Item 2.2.1')).toBeInTheDocument();\n });\n\n it('renders collapsible section headers as buttons and toggles them', () => {\n render(\n <TableContents collapsibleSections tableData={mockData} title=\"Table\" />\n );\n\n const sectionButton = screen.getByRole('button', { name: 'Section 2' });\n expect(sectionButton).toHaveAttribute('aria-expanded', 'false');\n\n fireEvent.click(sectionButton);\n expect(sectionButton).toHaveAttribute('aria-expanded', 'true');\n });\n\n it('renders section headers without a button when not collapsible', () => {\n render(<TableContents tableData={mockData} title=\"Table\" />);\n\n expect(\n screen.queryByRole('button', { name: 'Section 2' })\n ).not.toBeInTheDocument();\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n });\n\n it('hides the table sections when hideDetails and shouldHideDetails is true', () => {\n render(\n <TableContents\n hideDetails\n shouldHideDetails\n tableData={mockData}\n title=\"Table\"\n />\n );\n\n expect(screen.queryByText('Section 2')).not.toBeInTheDocument();\n expect(screen.queryByText('Item 2.1.1')).not.toBeInTheDocument();\n });\n});\n"],"names":["render","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"TableContents.test.js","sources":["../../../../../../../src/lib/components/table/components/TableContents/TableContents.test.tsx"],"sourcesContent":["import { fireEvent, render, screen } from '../../../../util/testUtils';\nimport { TableContents, TableContentsProps } from './TableContents';\n\nconst mockData: TableContentsProps['tableData'] = [\n {\n rows: [\n [{ text: 'Item 1.1.1' }, { text: 'Item 1.1.2' }],\n [{ text: 'Item 1.2.1' }, { text: 'Item 1.2.2' }],\n ],\n },\n {\n section: {\n title: 'Section 2',\n },\n rows: [\n [{ text: 'Item 2.1.1' }, { text: 'Item 2.1.2' }],\n [{ text: 'Item 2.2.1' }, { text: 'Item 2.2.2' }],\n ],\n },\n];\n\ndescribe('TableContents', () => {\n it('renders the table sections with sections', () => {\n render(\n <TableContents collapsibleSections tableData={mockData} title=\"Table\" />\n );\n\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n });\n\n it('renders the table sections with sections data', () => {\n render(\n <TableContents collapsibleSections tableData={mockData} title=\"Table\" />\n );\n\n expect(screen.getByText('Item 1.2.1')).toBeInTheDocument();\n expect(screen.getByText('Item 1.2.2')).toBeInTheDocument();\n expect(screen.getByText('Item 2.1.2')).toBeInTheDocument();\n expect(screen.getByText('Item 2.2.1')).toBeInTheDocument();\n });\n\n it('renders collapsible section headers as buttons and toggles them', () => {\n render(\n <TableContents collapsibleSections tableData={mockData} title=\"Table\" />\n );\n\n const sectionButton = screen.getByRole('button', { name: 'Section 2' });\n expect(sectionButton).toHaveAttribute('aria-expanded', 'false');\n\n fireEvent.click(sectionButton);\n expect(sectionButton).toHaveAttribute('aria-expanded', 'true');\n });\n\n it('renders section headers without a button when not collapsible', () => {\n render(<TableContents tableData={mockData} title=\"Table\" />);\n\n expect(\n screen.queryByRole('button', { name: 'Section 2' })\n ).not.toBeInTheDocument();\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n });\n\n it('hides the table sections when hideDetails and shouldHideDetails is true', () => {\n render(\n <TableContents\n hideDetails\n shouldHideDetails\n tableData={mockData}\n title=\"Table\"\n />\n );\n\n expect(screen.queryByText('Section 2')).not.toBeInTheDocument();\n expect(screen.queryByText('Item 2.1.1')).not.toBeInTheDocument();\n });\n\n it('shows the header row only in the first section when showHeader is set', () => {\n const { container } = render(\n <TableContents showHeader tableData={mockData} title=\"Table\" />\n );\n\n const tableHeaders = container.querySelectorAll('thead');\n expect(tableHeaders).toHaveLength(2);\n expect(tableHeaders[0]).not.toHaveClass('sr-only');\n expect(tableHeaders[1]).toHaveClass('sr-only');\n });\n\n it('keeps every header row hidden when showHeader is not set', () => {\n const { container } = render(\n <TableContents tableData={mockData} title=\"Table\" />\n );\n\n container.querySelectorAll('thead').forEach((tableHeader) => {\n expect(tableHeader).toHaveClass('sr-only');\n });\n });\n});\n"],"names":["render","_jsx"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popsure/dirty-swan",
3
- "version": "0.66.20",
3
+ "version": "0.66.21",
4
4
  "author": "Vincent Audoire <vincent@getpopsure.com>",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -733,7 +733,10 @@ export const TwoPlanQuoteWebsite = {
733
733
  name: 'Two Plan - Website',
734
734
  };
735
735
 
736
- const twoPlanQuoteData: TableData = [
736
+ const getTwoPlanQuoteData = (
737
+ selectedPlan: number,
738
+ setSelectedPlan: (plan: number) => void
739
+ ): TableData => [
737
740
  {
738
741
  rows: [
739
742
  [
@@ -742,14 +745,15 @@ const twoPlanQuoteData: TableData = [
742
745
  type: 'BUTTON',
743
746
  buttonCaption: 'Basic',
744
747
  price: '€99/mo',
745
- isSelected: true,
746
- onClick: () => {},
748
+ isSelected: selectedPlan === 1,
749
+ onClick: () => setSelectedPlan(1),
747
750
  },
748
751
  {
749
752
  type: 'BUTTON',
750
753
  buttonCaption: 'Advanced',
751
754
  price: '€134/mo',
752
- onClick: () => {},
755
+ isSelected: selectedPlan === 2,
756
+ onClick: () => setSelectedPlan(2),
753
757
  },
754
758
  ],
755
759
  [
@@ -803,17 +807,25 @@ const twoPlanQuoteData: TableData = [
803
807
  },
804
808
  ];
805
809
 
806
- export const TwoPlanQuote = {
807
- render: () => (
810
+ const TwoPlanQuoteStory = () => {
811
+ const [selectedPlan, setSelectedPlan] = useState(1);
812
+
813
+ return (
808
814
  <div style={{ maxWidth: 900 }}>
809
815
  <Table
810
- tableData={twoPlanQuoteData}
816
+ tableData={getTwoPlanQuoteData(selectedPlan, setSelectedPlan)}
811
817
  title="Two plan quote"
812
818
  collapsibleSections
813
819
  showSelectedColumn
820
+ activeSection={selectedPlan}
821
+ onSelectionChanged={setSelectedPlan}
814
822
  />
815
823
  </div>
816
- ),
824
+ );
825
+ };
826
+
827
+ export const TwoPlanQuote = {
828
+ render: () => <TwoPlanQuoteStory />,
817
829
 
818
830
  name: 'Two Plan Quote',
819
831
  };
@@ -5,12 +5,12 @@
5
5
  display: flex;
6
6
  align-items: center;
7
7
  justify-content: space-between;
8
- width: calc(100% + 48px);
9
- margin-left: -24px;
10
- margin-right: -24px;
8
+ width: calc(100% + 40px);
9
+ margin-left: -20px;
10
+ margin-right: -20px;
11
11
  padding: 16px 24px;
12
- border-radius: 8px;
13
- border: 1px solid transparent;
12
+ border-radius: 12px;
13
+ border: 1px solid $ds-neutral-300;
14
14
  background-color: transparent;
15
15
  color: $ds-neutral-900;
16
16
  cursor: pointer;
@@ -73,4 +73,25 @@ describe('TableContents', () => {
73
73
  expect(screen.queryByText('Section 2')).not.toBeInTheDocument();
74
74
  expect(screen.queryByText('Item 2.1.1')).not.toBeInTheDocument();
75
75
  });
76
+
77
+ it('shows the header row only in the first section when showHeader is set', () => {
78
+ const { container } = render(
79
+ <TableContents showHeader tableData={mockData} title="Table" />
80
+ );
81
+
82
+ const tableHeaders = container.querySelectorAll('thead');
83
+ expect(tableHeaders).toHaveLength(2);
84
+ expect(tableHeaders[0]).not.toHaveClass('sr-only');
85
+ expect(tableHeaders[1]).toHaveClass('sr-only');
86
+ });
87
+
88
+ it('keeps every header row hidden when showHeader is not set', () => {
89
+ const { container } = render(
90
+ <TableContents tableData={mockData} title="Table" />
91
+ );
92
+
93
+ container.querySelectorAll('thead').forEach((tableHeader) => {
94
+ expect(tableHeader).toHaveClass('sr-only');
95
+ });
96
+ });
76
97
  });
@@ -149,7 +149,7 @@ const TableContents = ({
149
149
  }
150
150
  hideColumns={hideColumns}
151
151
  hideRows={sectionHideRows}
152
- hideHeader={!showHeader}
152
+ hideHeader={!showHeader || !isFirstSection}
153
153
  openModal={openModal}
154
154
  title={`${title}${
155
155
  section?.title ? ` - ${section.title}` : ''