@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.
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/table/Table.stories.js +11 -6
- package/dist/esm/components/table/Table.stories.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js +1 -1
- package/dist/esm/components/table/components/TableContents/TableContents.js +1 -1
- package/dist/esm/components/table/components/TableContents/TableContents.js.map +1 -1
- package/dist/esm/components/table/components/TableContents/TableContents.test.js +13 -0
- package/dist/esm/components/table/components/TableContents/TableContents.test.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/components/table/Table.stories.tsx +20 -8
- package/src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.module.scss +5 -5
- package/src/lib/components/table/components/TableContents/TableContents.test.tsx +21 -0
- package/src/lib/components/table/components/TableContents/TableContents.tsx +1 -1
|
@@ -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
|
|
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:
|
|
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
|
-
|
|
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
|
|
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":"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"}
|
|
@@ -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% +
|
|
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":"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"}
|
|
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":"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"}
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,QAAQ,GAAoC;AAChD,IAAA;AACE,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAChD,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACjD,SAAA;AACF,KAAA;AACD,IAAA;AACE,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA;AACD,QAAA,IAAI,EAAE;YACJ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAChD,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACjD,SAAA;AACF,KAAA;CACF;AAED,QAAQ,CAAC,eAAe,EAAE,YAAA;IACxB,EAAE,CAAC,0CAA0C,EAAE,YAAA;AAC7C,QAAAA,YAAM,CACJC,GAAA,CAAC,aAAa,EAAA,EAAC,mBAAmB,EAAA,IAAA,EAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,CACzE;QAED,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE;AAC3D,IAAA,CAAC,CAAC;IAEF,EAAE,CAAC,+CAA+C,EAAE,YAAA;AAClD,QAAAD,YAAM,CACJC,GAAA,CAAC,aAAa,EAAA,EAAC,mBAAmB,EAAA,IAAA,EAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,CACzE;QAED,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,EAAE;QAC1D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,EAAE;QAC1D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,EAAE;QAC1D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,EAAE;AAC5D,IAAA,CAAC,CAAC;IAEF,EAAE,CAAC,iEAAiE,EAAE,YAAA;AACpE,QAAAD,YAAM,CACJC,GAAA,CAAC,aAAa,EAAA,EAAC,mBAAmB,EAAA,IAAA,EAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,CACzE;AAED,QAAA,IAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACvE,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC;AAE/D,QAAA,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;QAC9B,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC;AAChE,IAAA,CAAC,CAAC;IAEF,EAAE,CAAC,+DAA+D,EAAE,YAAA;AAClE,QAAAD,YAAM,CAACC,GAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAC,OAAO,EAAA,CAAG,CAAC;AAE5D,QAAA,MAAM,CACJ,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CACpD,CAAC,GAAG,CAAC,iBAAiB,EAAE;QACzB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE;AAC3D,IAAA,CAAC,CAAC;IAEF,EAAE,CAAC,yEAAyE,EAAE,YAAA;AAC5E,QAAAD,YAAM,CACJC,GAAA,CAAC,aAAa,EAAA,EACZ,WAAW,QACX,iBAAiB,EAAA,IAAA,EACjB,SAAS,EAAE,QAAQ,EACnB,KAAK,EAAC,OAAO,EAAA,CACb,CACH;AAED,QAAA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE;AAC/D,QAAA,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE;AAClE,IAAA,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
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
|
@@ -733,7 +733,10 @@ export const TwoPlanQuoteWebsite = {
|
|
|
733
733
|
name: 'Two Plan - Website',
|
|
734
734
|
};
|
|
735
735
|
|
|
736
|
-
const
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
807
|
-
|
|
810
|
+
const TwoPlanQuoteStory = () => {
|
|
811
|
+
const [selectedPlan, setSelectedPlan] = useState(1);
|
|
812
|
+
|
|
813
|
+
return (
|
|
808
814
|
<div style={{ maxWidth: 900 }}>
|
|
809
815
|
<Table
|
|
810
|
-
tableData={
|
|
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% +
|
|
9
|
-
margin-left: -
|
|
10
|
-
margin-right: -
|
|
8
|
+
width: calc(100% + 40px);
|
|
9
|
+
margin-left: -20px;
|
|
10
|
+
margin-right: -20px;
|
|
11
11
|
padding: 16px 24px;
|
|
12
|
-
border-radius:
|
|
13
|
-
border: 1px solid
|
|
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}` : ''
|