@popsure/dirty-swan 0.66.19 → 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 +352 -306
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/components/table/Table.d.ts +2 -1
- package/dist/cjs/lib/components/table/Table.stories.d.ts +9 -1
- package/dist/cjs/lib/components/table/components/TableContents/TableContents.d.ts +2 -1
- package/dist/cjs/lib/components/tabs/Tabs.d.ts +12 -0
- package/dist/cjs/lib/components/tabs/Tabs.stories.d.ts +45 -0
- package/dist/cjs/lib/index.d.ts +3 -2
- package/dist/esm/components/icon/icons/CircleSelected.js +2 -2
- package/dist/esm/components/icon/icons/CircleSelected.js.map +1 -1
- package/dist/esm/components/icon/icons/CircleUnselected.js +2 -2
- package/dist/esm/components/icon/icons/CircleUnselected.js.map +1 -1
- package/dist/esm/components/icon/icons.stories.js +1 -1
- package/dist/esm/components/icon/index.stories.js +1 -1
- package/dist/esm/components/table/Table.js +27 -10
- package/dist/esm/components/table/Table.js.map +1 -1
- package/dist/esm/components/table/Table.stories.js +86 -1
- package/dist/esm/components/table/Table.stories.js.map +1 -1
- package/dist/esm/components/table/Table.test.js +3 -0
- package/dist/esm/components/table/Table.test.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js +9 -8
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.stories.js +4 -2
- package/dist/esm/components/table/components/TableCell/ButtonCell/ButtonCell.stories.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/TableCell.js +2 -0
- package/dist/esm/components/table/components/TableCell/TableCell.js.map +1 -1
- package/dist/esm/components/table/components/TableCell/TableCell.test.js +2 -0
- package/dist/esm/components/table/components/TableCell/TableCell.test.js.map +1 -1
- package/dist/esm/components/table/components/TableContents/TableContents.js +5 -3
- package/dist/esm/components/table/components/TableContents/TableContents.js.map +1 -1
- package/dist/esm/components/table/components/TableContents/TableContents.test.js +15 -0
- package/dist/esm/components/table/components/TableContents/TableContents.test.js.map +1 -1
- package/dist/esm/components/table/components/TableSection/TableSection.js +2 -0
- package/dist/esm/components/table/components/TableSection/TableSection.js.map +1 -1
- package/dist/esm/components/table/components/TableSection/TableSection.test.js +2 -0
- package/dist/esm/components/table/components/TableSection/TableSection.test.js.map +1 -1
- package/dist/esm/components/tabs/Tabs.js +40 -0
- package/dist/esm/components/tabs/Tabs.js.map +1 -0
- package/dist/esm/components/tabs/Tabs.stories.js +77 -0
- package/dist/esm/components/tabs/Tabs.stories.js.map +1 -0
- package/dist/esm/{index-D41W71Hh.js → index-D7G3EuxU.js} +5 -5
- package/dist/esm/{index-D41W71Hh.js.map → index-D7G3EuxU.js.map} +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/components/table/Table.d.ts +2 -1
- package/dist/esm/lib/components/table/Table.stories.d.ts +9 -1
- package/dist/esm/lib/components/table/components/TableContents/TableContents.d.ts +2 -1
- package/dist/esm/lib/components/tabs/Tabs.d.ts +12 -0
- package/dist/esm/lib/components/tabs/Tabs.stories.d.ts +45 -0
- package/dist/esm/lib/index.d.ts +3 -2
- package/dist/esm/util/images/index.stories.js +2 -0
- package/dist/esm/util/images/index.stories.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/components/table/Table.stories.tsx +116 -0
- package/src/lib/components/table/Table.tsx +61 -24
- package/src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.module.scss +27 -21
- package/src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.tsx +19 -16
- package/src/lib/components/table/components/TableContents/TableContents.test.tsx +21 -0
- package/src/lib/components/table/components/TableContents/TableContents.tsx +3 -1
- package/src/lib/components/tabs/Tabs.module.scss +26 -0
- package/src/lib/components/tabs/Tabs.stories.tsx +94 -0
- package/src/lib/components/tabs/Tabs.tsx +65 -0
- package/src/lib/index.tsx +4 -0
|
@@ -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 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 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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"}
|
|
@@ -30,6 +30,8 @@ import './components/TableCell/CardCell/CardCell.js';
|
|
|
30
30
|
import '../cards/card/index.js';
|
|
31
31
|
import '../icon/icons/ChevronRight.js';
|
|
32
32
|
import './components/TableCell/ButtonCell/ButtonCell.js';
|
|
33
|
+
import '../icon/icons/CircleSelected.js';
|
|
34
|
+
import '../icon/icons/CircleUnselected.js';
|
|
33
35
|
import '../icon/icons/ChevronDown.js';
|
|
34
36
|
import '../icon/icons/ChevronUp.js';
|
|
35
37
|
import '../modal/bottomOrRegularModal/index.js';
|
|
@@ -46,6 +48,7 @@ import '../../useTableNavigation-CrxoXTVd.js';
|
|
|
46
48
|
import './components/TableControls/TableControls.js';
|
|
47
49
|
import '../icon/icons/ChevronLeft.js';
|
|
48
50
|
import '../../useScrollSync-C5UXYPIB.js';
|
|
51
|
+
import '../tabs/Tabs.js';
|
|
49
52
|
|
|
50
53
|
var tableData = [
|
|
51
54
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.test.js","sources":["../../../../../src/lib/components/table/Table.test.tsx"],"sourcesContent":["import { render, screen } from '../../util/testUtils';\nimport { Table } from './Table';\nimport { TableSectionData } from './types';\n\nconst tableData: TableSectionData[] = [\n {\n section: {\n title: 'Section 1',\n icon: <span>Icon 1</span>,\n },\n rows: [[{ text: 'Item 1', cellId: '#item1' }, { text: 'Item 2' }]],\n },\n {\n section: {\n title: 'Section 2',\n icon: 'https://placehold.co/30x30/orange/white',\n },\n rows: [\n [{ text: 'Item 3' }, { text: 'Item 4', modalContent: 'Additional item' }],\n ],\n },\n];\n\ndescribe('Table', () => {\n it('renders the table with sections and items', () => {\n render(<Table tableData={tableData} title=\"Test Table\" />);\n\n expect(screen.getByText('Section 1')).toBeInTheDocument();\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n\n expect(screen.getAllByText('Item 1')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 2')[0]).toBeInTheDocument();\n expect(screen.getByText('Item 3')).toBeInTheDocument();\n expect(screen.getByText('Item 4')).toBeInTheDocument();\n });\n\n it('renders the table without sections', () => {\n const dataWithoutSections = [{ rows: tableData[0].rows }];\n\n render(<Table tableData={dataWithoutSections} title=\"Test Table\" />);\n\n expect(screen.getAllByText('Item 1')[0]).toBeVisible();\n expect(screen.getAllByText('Item 2')[0]).toBeVisible();\n });\n\n it('hides the show/hide details button if hideDetails is false', () => {\n render(<Table tableData={tableData} hideDetails title=\"Test Table\" />);\n\n expect(screen.queryByTestId('show-hide-details')).toBeInTheDocument();\n });\n\n it('shows the show/hide details button if hideDetails is true', () => {\n render(<Table tableData={tableData} hideDetails title=\"Test Table\" />);\n\n expect(screen.getByTestId('show-hide-details')).toBeInTheDocument();\n });\n\n it('hides the sections if hideDetails is true', () => {\n render(<Table tableData={tableData} hideDetails title=\"Test Table\" />);\n\n expect(screen.queryByText('Section 2')).not.toBeInTheDocument();\n expect(screen.getByTestId('show-hide-details')).toBeInTheDocument();\n });\n\n it('hides the sections if hideDetails is true and shows if clicking on button', async () => {\n const { user } = render(\n <Table tableData={tableData} hideDetails title=\"Test Table\" />\n );\n\n expect(screen.getByText('Show details')).toBeVisible();\n\n await user.click(screen.getByTestId('show-hide-details'));\n\n expect(screen.getByText('Section 2')).toBeVisible();\n expect(screen.getByText('Hide details')).toBeVisible();\n });\n\n it('does not render the sticky header row when hideStickyHeader is true', () => {\n const { rerender } = render(\n <Table tableData={tableData} title=\"Test Table\" />\n );\n const countWithStickyHeader = screen.getAllByText('Item 1').length;\n\n rerender(\n <Table tableData={tableData} hideStickyHeader title=\"Test Table\" />\n );\n\n expect(screen.getAllByText('Item 1')).toHaveLength(\n countWithStickyHeader - 1\n );\n });\n\n it('shows a modal when clicking on info icon', async () => {\n const { user } = render(<Table tableData={tableData} title=\"Test Table\" />);\n\n await user.click(screen.getByTestId('ds-table-info-button'));\n\n expect(screen.getByText('Additional item')).toBeVisible();\n });\n\n it('renders the table with cell replacements', () => {\n render(\n <Table\n tableData={tableData}\n title=\"Test Table\"\n cellReplacements={{\n '#item1': {\n text: 'I was replaced',\n },\n }}\n />\n );\n\n expect(screen.getByText('Section 1')).toBeInTheDocument();\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n\n expect(screen.getAllByText('I was replaced')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 2')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 3')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 4')[0]).toBeInTheDocument();\n });\n\n it('renders icons with a custom image component', () => {\n const CustomImageComponent = ({ src }: { src: string }) => (\n <>\n <p>I am custom</p>\n <img src={src} alt=\"\" />\n </>\n );\n\n render(\n <Table\n tableData={tableData}\n title=\"Test Table\"\n imageComponent={CustomImageComponent}\n />\n );\n\n expect(screen.getByText('I am custom')).toBeInTheDocument();\n });\n});\n"],"names":["_jsx","render","_jsxs","_Fragment"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Table.test.js","sources":["../../../../../src/lib/components/table/Table.test.tsx"],"sourcesContent":["import { render, screen } from '../../util/testUtils';\nimport { Table } from './Table';\nimport { TableSectionData } from './types';\n\nconst tableData: TableSectionData[] = [\n {\n section: {\n title: 'Section 1',\n icon: <span>Icon 1</span>,\n },\n rows: [[{ text: 'Item 1', cellId: '#item1' }, { text: 'Item 2' }]],\n },\n {\n section: {\n title: 'Section 2',\n icon: 'https://placehold.co/30x30/orange/white',\n },\n rows: [\n [{ text: 'Item 3' }, { text: 'Item 4', modalContent: 'Additional item' }],\n ],\n },\n];\n\ndescribe('Table', () => {\n it('renders the table with sections and items', () => {\n render(<Table tableData={tableData} title=\"Test Table\" />);\n\n expect(screen.getByText('Section 1')).toBeInTheDocument();\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n\n expect(screen.getAllByText('Item 1')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 2')[0]).toBeInTheDocument();\n expect(screen.getByText('Item 3')).toBeInTheDocument();\n expect(screen.getByText('Item 4')).toBeInTheDocument();\n });\n\n it('renders the table without sections', () => {\n const dataWithoutSections = [{ rows: tableData[0].rows }];\n\n render(<Table tableData={dataWithoutSections} title=\"Test Table\" />);\n\n expect(screen.getAllByText('Item 1')[0]).toBeVisible();\n expect(screen.getAllByText('Item 2')[0]).toBeVisible();\n });\n\n it('hides the show/hide details button if hideDetails is false', () => {\n render(<Table tableData={tableData} hideDetails title=\"Test Table\" />);\n\n expect(screen.queryByTestId('show-hide-details')).toBeInTheDocument();\n });\n\n it('shows the show/hide details button if hideDetails is true', () => {\n render(<Table tableData={tableData} hideDetails title=\"Test Table\" />);\n\n expect(screen.getByTestId('show-hide-details')).toBeInTheDocument();\n });\n\n it('hides the sections if hideDetails is true', () => {\n render(<Table tableData={tableData} hideDetails title=\"Test Table\" />);\n\n expect(screen.queryByText('Section 2')).not.toBeInTheDocument();\n expect(screen.getByTestId('show-hide-details')).toBeInTheDocument();\n });\n\n it('hides the sections if hideDetails is true and shows if clicking on button', async () => {\n const { user } = render(\n <Table tableData={tableData} hideDetails title=\"Test Table\" />\n );\n\n expect(screen.getByText('Show details')).toBeVisible();\n\n await user.click(screen.getByTestId('show-hide-details'));\n\n expect(screen.getByText('Section 2')).toBeVisible();\n expect(screen.getByText('Hide details')).toBeVisible();\n });\n\n it('does not render the sticky header row when hideStickyHeader is true', () => {\n const { rerender } = render(\n <Table tableData={tableData} title=\"Test Table\" />\n );\n const countWithStickyHeader = screen.getAllByText('Item 1').length;\n\n rerender(\n <Table tableData={tableData} hideStickyHeader title=\"Test Table\" />\n );\n\n expect(screen.getAllByText('Item 1')).toHaveLength(\n countWithStickyHeader - 1\n );\n });\n\n it('shows a modal when clicking on info icon', async () => {\n const { user } = render(<Table tableData={tableData} title=\"Test Table\" />);\n\n await user.click(screen.getByTestId('ds-table-info-button'));\n\n expect(screen.getByText('Additional item')).toBeVisible();\n });\n\n it('renders the table with cell replacements', () => {\n render(\n <Table\n tableData={tableData}\n title=\"Test Table\"\n cellReplacements={{\n '#item1': {\n text: 'I was replaced',\n },\n }}\n />\n );\n\n expect(screen.getByText('Section 1')).toBeInTheDocument();\n expect(screen.getByText('Section 2')).toBeInTheDocument();\n\n expect(screen.getAllByText('I was replaced')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 2')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 3')[0]).toBeInTheDocument();\n expect(screen.getAllByText('Item 4')[0]).toBeInTheDocument();\n });\n\n it('renders icons with a custom image component', () => {\n const CustomImageComponent = ({ src }: { src: string }) => (\n <>\n <p>I am custom</p>\n <img src={src} alt=\"\" />\n </>\n );\n\n render(\n <Table\n tableData={tableData}\n title=\"Test Table\"\n imageComponent={CustomImageComponent}\n />\n );\n\n expect(screen.getByText('I am custom')).toBeInTheDocument();\n });\n});\n"],"names":["_jsx","render","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { c as classNames } from '../../../../../index-DLQEsiym.js';
|
|
3
3
|
import { s as styleInject } from '../../../../../style-inject.es-tgCJW-Cu.js';
|
|
4
|
-
import
|
|
4
|
+
import 'react';
|
|
5
|
+
import CircleSelectedIcon from '../../../../icon/icons/CircleSelected.js';
|
|
6
|
+
import CircleUnselectedIcon from '../../../../icon/icons/CircleUnselected.js';
|
|
5
7
|
import '../../../../../_commonjsHelpers-BFTU3MAI.js';
|
|
8
|
+
import '../../../../icon/IconWrapper/IconWrapper.js';
|
|
6
9
|
import '../../../../../tslib.es6-CVlKGIvp.js';
|
|
7
|
-
import 'react';
|
|
8
10
|
|
|
9
|
-
var css_248z = ".ButtonCell-module_buttonCell__x4NNi {\n
|
|
10
|
-
var styles = {"buttonCell":"ButtonCell-module_buttonCell__x4NNi","
|
|
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
|
+
var styles = {"buttonCell":"ButtonCell-module_buttonCell__x4NNi","selected":"ButtonCell-module_selected__22pF_","disabled":"ButtonCell-module_disabled__1TmtK"};
|
|
11
13
|
styleInject(css_248z);
|
|
12
14
|
|
|
13
15
|
var ButtonCell = function (_a) {
|
|
14
16
|
var _b;
|
|
15
17
|
var isSelected = _a.isSelected, onClick = _a.onClick, buttonCaption = _a.buttonCaption, price = _a.price, disabled = _a.disabled, className = _a.className, dataCy = _a.dataCy, dataTestId = _a.dataTestId;
|
|
16
|
-
return (jsx("div", { className: classNames("w100 d-flex fd-column ai-start jc-center gap8", className), "data-cy": dataCy, "data-testid": dataTestId, children: jsxs(
|
|
18
|
+
return (jsx("div", { className: classNames("w100 d-flex fd-column ai-start jc-center gap8", className), "data-cy": dataCy, "data-testid": dataTestId, children: jsxs("button", { className: classNames('w100 wmx5', styles.buttonCell, (_b = {},
|
|
17
19
|
_b[styles.selected] = isSelected,
|
|
18
|
-
_b[styles.
|
|
19
|
-
_b[
|
|
20
|
-
_b)), variant: "filledWhite", type: "submit", onClick: onClick, disabled: disabled, children: [buttonCaption, price && jsx("span", { className: "p-p", children: price })] }) }));
|
|
20
|
+
_b[styles.disabled] = disabled,
|
|
21
|
+
_b)), type: "button", onClick: onClick, disabled: disabled, children: [jsxs("div", { className: "d-flex fd-column ai-start", children: [jsx("span", { className: "p-p fw-bold", children: buttonCaption }), price && jsx("span", { className: "p-p", children: price })] }), !disabled && (isSelected ? (jsx(CircleSelectedIcon, { size: 16 })) : (jsx(CircleUnselectedIcon, { size: 16 })))] }) }));
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
export { ButtonCell };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonCell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport styles from './ButtonCell.module.scss';\nimport {
|
|
1
|
+
{"version":3,"file":"ButtonCell.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport styles from './ButtonCell.module.scss';\nimport { CircleSelectedIcon, CircleUnselectedIcon } from '../../../../icon';\nimport { ReactNode } from 'react';\n\nexport type ButtonCellProps = {\n buttonCaption: ReactNode;\n disabled?: boolean;\n isSelected?: boolean;\n onClick: () => void;\n price?: ReactNode;\n className?: string;\n dataTestId?: string;\n dataCy?: string;\n};\n\nexport const ButtonCell = ({\n isSelected,\n onClick,\n buttonCaption,\n price,\n disabled,\n className,\n dataCy,\n dataTestId,\n}: ButtonCellProps) => {\n return (\n <div\n className={classNames(\n \"w100 d-flex fd-column ai-start jc-center gap8\",\n className,\n )}\n data-cy={dataCy}\n data-testid={dataTestId}\n >\n <button\n className={classNames('w100 wmx5', styles.buttonCell, {\n [styles.selected]: isSelected,\n [styles.disabled]: disabled,\n })}\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n >\n <div className=\"d-flex fd-column ai-start\">\n <span className=\"p-p fw-bold\">{buttonCaption}</span>\n {price && <span className=\"p-p\">{price}</span>}\n </div>\n {!disabled && (isSelected ? (\n <CircleSelectedIcon size={16} />\n ) : (\n <CircleUnselectedIcon size={16} />\n ))}\n </button>\n </div>\n );\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;AAiBO,IAAM,UAAU,GAAG,UAAC,EAST,EAAA;;QARhB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,UAAU,GAAA,EAAA,CAAA,UAAA;IAEV,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,UAAU,CACnB,+CAA+C,EAC/C,SAAS,CACV,EAAA,SAAA,EACQ,MAAM,iBACF,UAAU,EAAA,QAAA,EAEvBC,IAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAA,EAAA,GAAA,EAAA;AAClD,gBAAA,EAAA,CAAC,MAAM,CAAC,QAAQ,CAAA,GAAG,UAAU;AAC7B,gBAAA,EAAA,CAAC,MAAM,CAAC,QAAQ,CAAA,GAAG,QAAQ;AAC3B,gBAAA,EAAA,EAAA,EACF,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAAA,QAAA,EAAA,CAElBA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EAAA,QAAA,EAAA,CACxCD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,aAAa,EAAA,QAAA,EAAE,aAAa,EAAA,CAAQ,EACnD,KAAK,IAAIA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,KAAK,YAAE,KAAK,EAAA,CAAQ,CAAA,EAAA,CAC1C,EACL,CAAC,QAAQ,KAAK,UAAU,IACvBA,GAAA,CAAC,kBAAkB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,KAEhCA,GAAA,CAAC,oBAAoB,EAAA,EAAC,IAAI,EAAE,EAAE,GAAI,CACnC,CAAC,CAAA,EAAA,CACK,EAAA,CACL;AAEV;;;;"}
|
|
@@ -3,9 +3,11 @@ import { ButtonCell } from './ButtonCell.js';
|
|
|
3
3
|
import '../../../../../index-DLQEsiym.js';
|
|
4
4
|
import '../../../../../_commonjsHelpers-BFTU3MAI.js';
|
|
5
5
|
import '../../../../../style-inject.es-tgCJW-Cu.js';
|
|
6
|
-
import '../../../../button/index.js';
|
|
7
|
-
import '../../../../../tslib.es6-CVlKGIvp.js';
|
|
8
6
|
import 'react';
|
|
7
|
+
import '../../../../icon/icons/CircleSelected.js';
|
|
8
|
+
import '../../../../icon/IconWrapper/IconWrapper.js';
|
|
9
|
+
import '../../../../../tslib.es6-CVlKGIvp.js';
|
|
10
|
+
import '../../../../icon/icons/CircleUnselected.js';
|
|
9
11
|
|
|
10
12
|
var story = {
|
|
11
13
|
title: 'JSX/Table/Cells',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonCell.stories.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.tsx"],"sourcesContent":["import { ButtonCell } from './ButtonCell';\n\nconst story = {\n title: 'JSX/Table/Cells',\n component: ButtonCell,\n argTypes: {},\n args: {\n buttonCaption: 'Premium',\n price: '€277/mo',\n isSelected: false,\n disabled: false,\n },\n};\n\nexport const ButtonCellStory = {\n render: ({\n isSelected,\n buttonCaption,\n price,\n disabled,\n }: React.ComponentProps<typeof ButtonCell>) => (\n <div className=\"p48 d-flex fd-column gap16 bg-white\">\n <ButtonCell\n buttonCaption={buttonCaption}\n price={price}\n isSelected={isSelected}\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n price={price}\n isSelected\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n price={price}\n disabled\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n isSelected={isSelected}\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n isSelected\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell buttonCaption={buttonCaption} disabled onClick={() => {}} />\n </div>\n ),\n\n name: 'ButtonCell',\n};\n\nexport default story;\n"],"names":["_jsxs","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonCell.stories.js","sources":["../../../../../../../../src/lib/components/table/components/TableCell/ButtonCell/ButtonCell.stories.tsx"],"sourcesContent":["import { ButtonCell } from './ButtonCell';\n\nconst story = {\n title: 'JSX/Table/Cells',\n component: ButtonCell,\n argTypes: {},\n args: {\n buttonCaption: 'Premium',\n price: '€277/mo',\n isSelected: false,\n disabled: false,\n },\n};\n\nexport const ButtonCellStory = {\n render: ({\n isSelected,\n buttonCaption,\n price,\n disabled,\n }: React.ComponentProps<typeof ButtonCell>) => (\n <div className=\"p48 d-flex fd-column gap16 bg-white\">\n <ButtonCell\n buttonCaption={buttonCaption}\n price={price}\n isSelected={isSelected}\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n price={price}\n isSelected\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n price={price}\n disabled\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n isSelected={isSelected}\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell\n buttonCaption={buttonCaption}\n isSelected\n disabled={disabled}\n onClick={() => {}}\n />\n\n <ButtonCell buttonCaption={buttonCaption} disabled onClick={() => {}} />\n </div>\n ),\n\n name: 'ButtonCell',\n};\n\nexport default story;\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;AAEA,IAAM,KAAK,GAAG;AACZ,IAAA,KAAK,EAAE,iBAAiB;AACxB,IAAA,SAAS,EAAE,UAAU;AACrB,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,IAAI,EAAE;AACJ,QAAA,aAAa,EAAE,SAAS;AACxB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;;AAGI,IAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,UAAC,EAKiC,EAAA;YAJxC,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA;AACqC,QAAA,QAC7CA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qCAAqC,EAAA,QAAA,EAAA,CAClDC,GAAA,CAAC,UAAU,EAAA,EACT,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAA,EAAO,CAAC,EAAA,CACjB,EAEFA,GAAA,CAAC,UAAU,EAAA,EACT,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAA,IAAA,EACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAA,EAAO,CAAC,EAAA,CACjB,EAEFA,GAAA,CAAC,UAAU,EAAA,EACT,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAA,IAAA,EACR,OAAO,EAAE,YAAA,EAAO,CAAC,EAAA,CACjB,EAEFA,GAAA,CAAC,UAAU,EAAA,EACT,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAA,EAAO,CAAC,EAAA,CACjB,EAEFA,IAAC,UAAU,EAAA,EACT,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAA,IAAA,EACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,YAAA,EAAO,CAAC,EAAA,CACjB,EAEFA,GAAA,CAAC,UAAU,EAAA,EAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAA,IAAA,EAAC,OAAO,EAAE,YAAA,EAAO,CAAC,EAAA,CAAI,IACpE;IAxCuC,CAyC9C;AAED,IAAA,IAAI,EAAE,YAAY;;;;;"}
|
|
@@ -24,6 +24,8 @@ import '../IconRenderer/IconRenderer.js';
|
|
|
24
24
|
import '../../../button/index.js';
|
|
25
25
|
import '../../../cards/card/index.js';
|
|
26
26
|
import '../../../icon/icons/ChevronRight.js';
|
|
27
|
+
import '../../../icon/icons/CircleSelected.js';
|
|
28
|
+
import '../../../icon/icons/CircleUnselected.js';
|
|
27
29
|
|
|
28
30
|
var css_248z = ".TableCell-module_th__2rjCU {\n vertical-align: middle;\n scroll-snap-align: end;\n width: 50%;\n padding: 28px 24px;\n}\n@media (min-width: 34rem) {\n .TableCell-module_th__2rjCU {\n width: auto;\n scroll-snap-align: unset;\n }\n}\n.TableCell-module_thNavigation__qZ2sY {\n width: 100%;\n}\n@media (min-width: 34rem) {\n .TableCell-module_thNavigation__qZ2sY {\n width: auto;\n }\n}\n\n.TableCell-module_navigationTitle__2FiRB {\n padding-left: 0;\n}\n\n.TableCell-module_headerCell__aVTIn {\n vertical-align: top;\n}\n\n.TableCell-module_fixedCell__cL3-m {\n position: sticky;\n left: 0;\n z-index: 2;\n padding-left: 0;\n}\n\n.TableCell-module_selectedColumnTop__1GcJz {\n border-radius: 16px 16px 0 0;\n}\n\n.TableCell-module_selectedColumnBottom__qiMke {\n border-radius: 0 0 16px 16px;\n}\n\n.TableCell-module_fixedCard__2LO8s {\n position: sticky;\n left: 0;\n right: 0;\n z-index: 2;\n width: 100%;\n}";
|
|
29
31
|
var styles = {"th":"TableCell-module_th__2rjCU","thNavigation":"TableCell-module_thNavigation__qZ2sY","navigationTitle":"TableCell-module_navigationTitle__2FiRB","headerCell":"TableCell-module_headerCell__aVTIn","fixedCell":"TableCell-module_fixedCell__cL3-m","selectedColumnTop":"TableCell-module_selectedColumnTop__1GcJz","selectedColumnBottom":"TableCell-module_selectedColumnBottom__qiMke","fixedCard":"TableCell-module_fixedCard__2LO8s"};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.js","sources":["../../../../../../../src/lib/components/table/components/TableCell/TableCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport styles from './TableCell.module.scss';\nimport { BaseCell } from './BaseCell/BaseCell';\nimport { TableCellData } from '../../types';\nimport { CTACell } from './CTACell/CTACell';\nimport { CardCell } from './CardCell/CardCell';\nimport { ButtonCell } from './ButtonCell/ButtonCell';\nimport React from 'react';\n\ntype ExtraTableCellProps = {\n isHeader?: boolean;\n isFirstCellInRow?: boolean;\n isTopLeftCell?: boolean;\n isNavigation?: boolean;\n isSelectedColumn?: boolean;\n selectedColumnPosition?: 'top' | 'bottom' | 'middle';\n imageComponent?: (args: any) => JSX.Element;\n isBelowDesktop?: boolean;\n};\n\nexport type TableCellProps = TableCellData & ExtraTableCellProps;\n\nconst TableCell = React.memo(\n ({\n isFirstCellInRow = false,\n isHeader = false,\n isNavigation = false,\n isSelectedColumn = false,\n selectedColumnPosition,\n isTopLeftCell = false,\n colSpan = 0,\n isBelowDesktop,\n ...cellProps\n }: TableCellProps) => {\n // prettier-ignore\n const Tag = isNavigation\n ? 'div'\n : isHeader || isFirstCellInRow ? 'th' : 'td';\n\n // prettier-ignore\n const thScope = isHeader\n ? 'col'\n : isFirstCellInRow ? 'row' : undefined;\n\n const scope = {\n scope: thScope,\n };\n\n return (\n <Tag\n {...scope}\n className={classNames(isSelectedColumn ? 'bg-orange-50' : 'bg-white', styles.th, {\n 'ta-left': isFirstCellInRow,\n [styles.headerCell]: isHeader,\n [styles.thNavigation]: isNavigation,\n [styles.navigationTitle]: isNavigation && isTopLeftCell,\n [styles.fixedCell]: isFirstCellInRow && colSpan < 1 ,\n [styles.fixedCard]: cellProps.type === 'CARD',\n [styles.selectedColumnTop]: selectedColumnPosition === 'top',\n [styles.selectedColumnBottom]: selectedColumnPosition === 'bottom',\n })}\n colSpan={isBelowDesktop && cellProps.type === 'CARD' ? 2 : colSpan}\n >\n {!cellProps.type && (\n <BaseCell\n {...cellProps}\n fontVariant={\n isTopLeftCell\n ? 'TITLE'\n : cellProps.fontVariant ?? 'NORMAL'\n }\n />\n )}\n {cellProps.type === 'CTA' && (\n <CTACell {...cellProps} centered={isNavigation} />\n )}\n {cellProps.type === 'BUTTON' && <ButtonCell {...cellProps} />}\n {cellProps.type === 'CARD' && <CardCell {...cellProps} />}\n </Tag>\n );\n }\n);\n\nexport { TableCell };\n"],"names":["React","_jsxs","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableCell.js","sources":["../../../../../../../src/lib/components/table/components/TableCell/TableCell.tsx"],"sourcesContent":["import classNames from 'classnames';\n\nimport styles from './TableCell.module.scss';\nimport { BaseCell } from './BaseCell/BaseCell';\nimport { TableCellData } from '../../types';\nimport { CTACell } from './CTACell/CTACell';\nimport { CardCell } from './CardCell/CardCell';\nimport { ButtonCell } from './ButtonCell/ButtonCell';\nimport React from 'react';\n\ntype ExtraTableCellProps = {\n isHeader?: boolean;\n isFirstCellInRow?: boolean;\n isTopLeftCell?: boolean;\n isNavigation?: boolean;\n isSelectedColumn?: boolean;\n selectedColumnPosition?: 'top' | 'bottom' | 'middle';\n imageComponent?: (args: any) => JSX.Element;\n isBelowDesktop?: boolean;\n};\n\nexport type TableCellProps = TableCellData & ExtraTableCellProps;\n\nconst TableCell = React.memo(\n ({\n isFirstCellInRow = false,\n isHeader = false,\n isNavigation = false,\n isSelectedColumn = false,\n selectedColumnPosition,\n isTopLeftCell = false,\n colSpan = 0,\n isBelowDesktop,\n ...cellProps\n }: TableCellProps) => {\n // prettier-ignore\n const Tag = isNavigation\n ? 'div'\n : isHeader || isFirstCellInRow ? 'th' : 'td';\n\n // prettier-ignore\n const thScope = isHeader\n ? 'col'\n : isFirstCellInRow ? 'row' : undefined;\n\n const scope = {\n scope: thScope,\n };\n\n return (\n <Tag\n {...scope}\n className={classNames(isSelectedColumn ? 'bg-orange-50' : 'bg-white', styles.th, {\n 'ta-left': isFirstCellInRow,\n [styles.headerCell]: isHeader,\n [styles.thNavigation]: isNavigation,\n [styles.navigationTitle]: isNavigation && isTopLeftCell,\n [styles.fixedCell]: isFirstCellInRow && colSpan < 1 ,\n [styles.fixedCard]: cellProps.type === 'CARD',\n [styles.selectedColumnTop]: selectedColumnPosition === 'top',\n [styles.selectedColumnBottom]: selectedColumnPosition === 'bottom',\n })}\n colSpan={isBelowDesktop && cellProps.type === 'CARD' ? 2 : colSpan}\n >\n {!cellProps.type && (\n <BaseCell\n {...cellProps}\n fontVariant={\n isTopLeftCell\n ? 'TITLE'\n : cellProps.fontVariant ?? 'NORMAL'\n }\n />\n )}\n {cellProps.type === 'CTA' && (\n <CTACell {...cellProps} centered={isNavigation} />\n )}\n {cellProps.type === 'BUTTON' && <ButtonCell {...cellProps} />}\n {cellProps.type === 'CARD' && <CardCell {...cellProps} />}\n </Tag>\n );\n }\n);\n\nexport { TableCell };\n"],"names":["React","_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ import './CardCell/CardCell.js';
|
|
|
29
29
|
import '../../../cards/card/index.js';
|
|
30
30
|
import '../../../icon/icons/ChevronRight.js';
|
|
31
31
|
import './ButtonCell/ButtonCell.js';
|
|
32
|
+
import '../../../icon/icons/CircleSelected.js';
|
|
33
|
+
import '../../../icon/icons/CircleUnselected.js';
|
|
32
34
|
|
|
33
35
|
var openModal = jest.fn();
|
|
34
36
|
var setup = function (_a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCell.test.js","sources":["../../../../../../../src/lib/components/table/components/TableCell/TableCell.test.tsx"],"sourcesContent":["import { render, screen } from '../../../../util/testUtils';\nimport { TableCell, TableCellProps } from './TableCell';\n\nconst openModal = jest.fn();\n\nconst setup = ({ isNavigation, ...rest }: TableCellProps = {}) =>\n render(\n isNavigation ? (\n <TableCell {...rest} isNavigation />\n ) : (\n <table>\n <tbody>\n <tr>\n <TableCell {...rest} />\n </tr>\n </tbody>\n </table>\n )\n );\n\ndescribe('TableCell', () => {\n it('renders the component with boolean true', () => {\n setup({ checkmarkValue: true });\n\n expect(screen.getByTitle('Yes')).toBeInTheDocument();\n expect(screen.getByTestId('table-cell-boolean-yes')).toBeInTheDocument();\n });\n\n it('renders the component with boolean false', () => {\n setup({ checkmarkValue: false });\n\n expect(screen.getByTitle('No')).toBeInTheDocument();\n expect(screen.getByTestId('table-cell-boolean-no')).toBeInTheDocument();\n });\n\n it('renders the component without boolean', () => {\n setup();\n\n expect(screen.queryByTitle('Yes')).not.toBeInTheDocument();\n expect(screen.queryByTitle('No')).not.toBeInTheDocument();\n expect(\n screen.queryByTestId('table-cell-boolean-yes')\n ).not.toBeInTheDocument();\n expect(\n screen.queryByTestId('table-cell-boolean-no')\n ).not.toBeInTheDocument();\n });\n\n it('renders the component with rating', () => {\n setup({ rating: { type: 'star', value: 2 } });\n\n expect(screen.getByTitle('2 out of 3')).toBeInTheDocument();\n });\n\n it('renders the component without rating', () => {\n setup();\n\n expect(screen.queryByTestId('table-cell-rating')).not.toBeInTheDocument();\n });\n\n it('renders the component with text', () => {\n setup({ text: 'Sample text' });\n\n expect(screen.getByText('Sample text')).toBeInTheDocument();\n });\n\n it('renders the component without text', () => {\n setup();\n\n expect(screen.queryByTestId('table-cell-text')).not.toBeInTheDocument();\n });\n\n it('renders the component without info', () => {\n setup();\n\n expect(screen.queryByText('View more info')).not.toBeInTheDocument();\n });\n\n it('calls openModal when info button is clicked', () => {\n setup({ modalContent: 'Additional information', openModal });\n\n // Click info button\n screen.getByTestId('ds-table-info-button').click();\n\n // Assert openModal is called with info prop\n expect(openModal).toHaveBeenCalledWith({\n body: 'Additional information',\n title: '',\n });\n });\n});\n"],"names":["render","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableCell.test.js","sources":["../../../../../../../src/lib/components/table/components/TableCell/TableCell.test.tsx"],"sourcesContent":["import { render, screen } from '../../../../util/testUtils';\nimport { TableCell, TableCellProps } from './TableCell';\n\nconst openModal = jest.fn();\n\nconst setup = ({ isNavigation, ...rest }: TableCellProps = {}) =>\n render(\n isNavigation ? (\n <TableCell {...rest} isNavigation />\n ) : (\n <table>\n <tbody>\n <tr>\n <TableCell {...rest} />\n </tr>\n </tbody>\n </table>\n )\n );\n\ndescribe('TableCell', () => {\n it('renders the component with boolean true', () => {\n setup({ checkmarkValue: true });\n\n expect(screen.getByTitle('Yes')).toBeInTheDocument();\n expect(screen.getByTestId('table-cell-boolean-yes')).toBeInTheDocument();\n });\n\n it('renders the component with boolean false', () => {\n setup({ checkmarkValue: false });\n\n expect(screen.getByTitle('No')).toBeInTheDocument();\n expect(screen.getByTestId('table-cell-boolean-no')).toBeInTheDocument();\n });\n\n it('renders the component without boolean', () => {\n setup();\n\n expect(screen.queryByTitle('Yes')).not.toBeInTheDocument();\n expect(screen.queryByTitle('No')).not.toBeInTheDocument();\n expect(\n screen.queryByTestId('table-cell-boolean-yes')\n ).not.toBeInTheDocument();\n expect(\n screen.queryByTestId('table-cell-boolean-no')\n ).not.toBeInTheDocument();\n });\n\n it('renders the component with rating', () => {\n setup({ rating: { type: 'star', value: 2 } });\n\n expect(screen.getByTitle('2 out of 3')).toBeInTheDocument();\n });\n\n it('renders the component without rating', () => {\n setup();\n\n expect(screen.queryByTestId('table-cell-rating')).not.toBeInTheDocument();\n });\n\n it('renders the component with text', () => {\n setup({ text: 'Sample text' });\n\n expect(screen.getByText('Sample text')).toBeInTheDocument();\n });\n\n it('renders the component without text', () => {\n setup();\n\n expect(screen.queryByTestId('table-cell-text')).not.toBeInTheDocument();\n });\n\n it('renders the component without info', () => {\n setup();\n\n expect(screen.queryByText('View more info')).not.toBeInTheDocument();\n });\n\n it('calls openModal when info button is clicked', () => {\n setup({ modalContent: 'Additional information', openModal });\n\n // Click info button\n screen.getByTestId('ds-table-info-button').click();\n\n // Assert openModal is called with info prop\n expect(openModal).toHaveBeenCalledWith({\n body: 'Additional information',\n title: '',\n });\n });\n});\n"],"names":["render","_jsx"],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ import '../TableCell/CardCell/CardCell.js';
|
|
|
29
29
|
import '../../../cards/card/index.js';
|
|
30
30
|
import '../../../icon/icons/ChevronRight.js';
|
|
31
31
|
import '../TableCell/ButtonCell/ButtonCell.js';
|
|
32
|
+
import '../../../icon/icons/CircleSelected.js';
|
|
33
|
+
import '../../../icon/icons/CircleUnselected.js';
|
|
32
34
|
import '../../../../useMediaQuery-BlEUymPA.js';
|
|
33
35
|
|
|
34
36
|
var css_248z = ".TableContents-module_sectionButtonWrapper__12yA7 {\n height: 74px;\n}\n\n.TableContents-module_sectionButton__1pY12 {\n position: absolute;\n left: 24px;\n right: 24px;\n z-index: 3;\n height: 74px;\n border: none;\n border-bottom: 1px solid #e7e7ed;\n color: #26262e;\n padding: 0;\n}\n.TableContents-module_sectionButton__1pY12[aria-expanded=true] {\n border-bottom-color: transparent;\n}\n\nbutton.TableContents-module_sectionButton__1pY12 {\n cursor: pointer;\n}\nbutton.TableContents-module_sectionButton__1pY12:hover {\n color: #696971;\n}\nbutton.TableContents-module_sectionButton__1pY12:hover .p-h3 {\n color: #696971;\n}\n\ndiv:last-child > .TableContents-module_sectionButtonWrapper__12yA7 > .TableContents-module_sectionButton__1pY12 {\n border-bottom: none;\n}";
|
|
@@ -37,8 +39,8 @@ styleInject(css_248z);
|
|
|
37
39
|
|
|
38
40
|
var TableContents = function (_a) {
|
|
39
41
|
var _b, _c;
|
|
40
|
-
var className = _a.className, collapsibleSections = _a.collapsibleSections, scrollOnOpen = _a.scrollOnOpen, _d = _a.scrollTopOffset, scrollTopOffset = _d === void 0 ? 0 : _d, stickyHeaderRef = _a.stickyHeaderRef, tableData = _a.tableData, _e = _a.hideColumns, hideColumns = _e === void 0 ? [] : _e, hideDetails = _a.hideDetails, _f = _a.hideRows, hideRows = _f === void 0 ? [] : _f, isMobile = _a.isMobile, openModal = _a.openModal, shouldHideDetails = _a.shouldHideDetails, title = _a.title, cellReplacements = _a.cellReplacements, imageComponent = _a.imageComponent, selectedColumn = _a.selectedColumn;
|
|
41
|
-
var
|
|
42
|
+
var className = _a.className, collapsibleSections = _a.collapsibleSections, scrollOnOpen = _a.scrollOnOpen, _d = _a.scrollTopOffset, scrollTopOffset = _d === void 0 ? 0 : _d, stickyHeaderRef = _a.stickyHeaderRef, tableData = _a.tableData, _e = _a.hideColumns, hideColumns = _e === void 0 ? [] : _e, hideDetails = _a.hideDetails, _f = _a.hideRows, hideRows = _f === void 0 ? [] : _f, isMobile = _a.isMobile, openModal = _a.openModal, shouldHideDetails = _a.shouldHideDetails, title = _a.title, cellReplacements = _a.cellReplacements, imageComponent = _a.imageComponent, selectedColumn = _a.selectedColumn, _g = _a.showHeader, showHeader = _g === void 0 ? false : _g;
|
|
43
|
+
var _h = useState(null), isSectionOpen = _h[0], setOpenSection = _h[1];
|
|
42
44
|
var lastToggledSection = useRef(null);
|
|
43
45
|
var sectionRefs = useRef({});
|
|
44
46
|
var firstHeadRow = (_c = (_b = tableData === null || tableData === void 0 ? void 0 : tableData[0]) === null || _b === void 0 ? void 0 : _b.rows) === null || _c === void 0 ? void 0 : _c[0];
|
|
@@ -76,7 +78,7 @@ var TableContents = function (_a) {
|
|
|
76
78
|
.filter(function (localRowIndex) { return localRowIndex >= 0 && localRowIndex < rows.length; });
|
|
77
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', {
|
|
78
80
|
mt16: !!(section === null || section === void 0 ? void 0 : section.title),
|
|
79
|
-
}), tableCellRows: isFirstSection ? rows : __spreadArray([firstHeadRow], rows, true), hideColumns: hideColumns, hideRows: sectionHideRows, hideHeader:
|
|
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));
|
|
80
82
|
// Update global offset for next section (excluding header row for non-first sections)
|
|
81
83
|
globalRowOffset += rows.length;
|
|
82
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}\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}: 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\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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"}
|