@laerdal/life-react-components 1.3.2-dev.9 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/esm/Accordion/ContentAccordion.js +102 -81
  2. package/dist/esm/Accordion/ContentAccordion.js.map +1 -1
  3. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js +27 -27
  4. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js.map +1 -1
  5. package/dist/esm/Button/Iconbutton.js +0 -1
  6. package/dist/esm/Button/Iconbutton.js.map +1 -1
  7. package/dist/esm/Dropdown/DropdownButton.js +5 -2
  8. package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
  9. package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
  10. package/dist/esm/HyperLink/HyperLink.js +2 -1
  11. package/dist/esm/HyperLink/HyperLink.js.map +1 -1
  12. package/dist/esm/InputFields/Checkbox.js +23 -13
  13. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  14. package/dist/esm/Modals/ModalDialog.js +7 -4
  15. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  16. package/dist/esm/Modals/ModalNote.js +1 -1
  17. package/dist/esm/Modals/ModalNote.js.map +1 -1
  18. package/dist/esm/Table/Table.js +131 -181
  19. package/dist/esm/Table/Table.js.map +1 -1
  20. package/dist/esm/Table/TableBody.js +135 -0
  21. package/dist/esm/Table/TableBody.js.map +1 -0
  22. package/dist/esm/Table/TableFooter.js +68 -0
  23. package/dist/esm/Table/TableFooter.js.map +1 -0
  24. package/dist/esm/Table/TableHeaders.js +55 -0
  25. package/dist/esm/Table/TableHeaders.js.map +1 -0
  26. package/dist/esm/Table/TableStyles.js +181 -110
  27. package/dist/esm/Table/TableStyles.js.map +1 -1
  28. package/dist/esm/Table/__tests__/Table.test.js +162 -21
  29. package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
  30. package/dist/js/Accordion/ContentAccordion.d.ts +0 -9
  31. package/dist/js/Accordion/ContentAccordion.js +21 -42
  32. package/dist/js/Accordion/ContentAccordion.js.map +1 -1
  33. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js +27 -33
  34. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js.map +1 -1
  35. package/dist/js/Button/Iconbutton.d.ts +2 -2
  36. package/dist/js/Button/Iconbutton.js +0 -1
  37. package/dist/js/Button/Iconbutton.js.map +1 -1
  38. package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
  39. package/dist/js/Dropdown/DropdownButton.js +5 -2
  40. package/dist/js/Dropdown/DropdownButton.js.map +1 -1
  41. package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
  42. package/dist/js/Dropdown/DropdownFilter.d.ts +1 -1
  43. package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
  44. package/dist/js/HyperLink/HyperLink.d.ts +1 -1
  45. package/dist/js/HyperLink/HyperLink.js +2 -2
  46. package/dist/js/HyperLink/HyperLink.js.map +1 -1
  47. package/dist/js/InputFields/Checkbox.d.ts +3 -2
  48. package/dist/js/InputFields/Checkbox.js +13 -11
  49. package/dist/js/InputFields/Checkbox.js.map +1 -1
  50. package/dist/js/Modals/ModalDialog.d.ts +2 -1
  51. package/dist/js/Modals/ModalDialog.js +7 -4
  52. package/dist/js/Modals/ModalDialog.js.map +1 -1
  53. package/dist/js/Modals/ModalNote.d.ts +1 -1
  54. package/dist/js/Modals/ModalNote.js +1 -1
  55. package/dist/js/Modals/ModalNote.js.map +1 -1
  56. package/dist/js/Table/Table.js +166 -209
  57. package/dist/js/Table/Table.js.map +1 -1
  58. package/dist/js/Table/TableBody.d.ts +9 -0
  59. package/dist/js/Table/TableBody.js +167 -0
  60. package/dist/js/Table/TableBody.js.map +1 -0
  61. package/dist/js/Table/TableFooter.d.ts +15 -0
  62. package/dist/js/Table/TableFooter.js +95 -0
  63. package/dist/js/Table/TableFooter.js.map +1 -0
  64. package/dist/js/Table/TableHeaders.d.ts +9 -0
  65. package/dist/js/Table/TableHeaders.js +77 -0
  66. package/dist/js/Table/TableHeaders.js.map +1 -0
  67. package/dist/js/Table/TableStyles.d.ts +19 -7
  68. package/dist/js/Table/TableStyles.js +66 -16
  69. package/dist/js/Table/TableStyles.js.map +1 -1
  70. package/dist/js/Table/TableTypes.d.ts +26 -16
  71. package/dist/js/Table/__tests__/Table.test.js +172 -30
  72. package/dist/js/Table/__tests__/Table.test.js.map +1 -1
  73. package/dist/umd/Accordion/ContentAccordion.js +103 -82
  74. package/dist/umd/Accordion/ContentAccordion.js.map +1 -1
  75. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js +26 -26
  76. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js.map +1 -1
  77. package/dist/umd/Button/Iconbutton.js +0 -1
  78. package/dist/umd/Button/Iconbutton.js.map +1 -1
  79. package/dist/umd/Dropdown/DropdownButton.js +5 -2
  80. package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
  81. package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
  82. package/dist/umd/HyperLink/HyperLink.js +2 -1
  83. package/dist/umd/HyperLink/HyperLink.js.map +1 -1
  84. package/dist/umd/InputFields/Checkbox.js +23 -13
  85. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  86. package/dist/umd/Modals/ModalDialog.js +7 -4
  87. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  88. package/dist/umd/Modals/ModalNote.js +1 -1
  89. package/dist/umd/Modals/ModalNote.js.map +1 -1
  90. package/dist/umd/Table/Table.js +157 -188
  91. package/dist/umd/Table/Table.js.map +1 -1
  92. package/dist/umd/Table/TableBody.js +270 -0
  93. package/dist/umd/Table/TableBody.js.map +1 -0
  94. package/dist/umd/Table/TableFooter.js +89 -0
  95. package/dist/umd/Table/TableFooter.js.map +1 -0
  96. package/dist/umd/Table/TableHeaders.js +91 -0
  97. package/dist/umd/Table/TableHeaders.js.map +1 -0
  98. package/dist/umd/Table/TableStyles.js +185 -115
  99. package/dist/umd/Table/TableStyles.js.map +1 -1
  100. package/dist/umd/Table/__tests__/Table.test.js +164 -25
  101. package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
  102. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Table/__tests__/Table.test.tsx"],"names":["describe","it","columns","key","name","rows","column1","column2","getByTestId","expect","toBeDefined","queryByTestId","not","toBeNull","tableHeaderRow","children","textContent","toContain","getElementsByTagName","length","toEqual","classList","contains","toBe"],"mappings":"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","sourcesContent":["import React from 'react';\n/**\n * Import React libraries.\n */\nimport { render } from '@testing-library/react';\n\n/**\n * Import custom components.\n */\nimport { Table } from '../index';\n\n/**\n * Import third-party libraries.\n */\nimport 'jest-styled-components';\n\n/**\n * Import custom types.\n */\nimport { TableColumn } from '../TableTypes';\n\ndescribe('<Table />', () => {\n it('Renders the Table', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(getByTestId('TestTable')).toBeDefined();\n });\n\n describe('Table Header Row Tests', () => {\n it('Should render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(queryByTestId('TestTableHeaderRow')).not.toBeNull();\n });\n\n it('Should not render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableHeaderRow')).toBeNull();\n });\n\n describe('Table Header Row functional tests', () => {\n it('Should have title', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n const tableHeaderRow = queryByTestId('TestTableHeaderRow');\n expect(tableHeaderRow?.children[0].children[0].textContent).toContain('Test Title');\n });\n\n it('Should have options menu', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n expect(queryByTestId('TestTableHeaderRow')?.getElementsByTagName('svg')).not.toBeNull();\n });\n });\n });\n\n describe('Table Column Header Row Tests', () => {\n it('Should render column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow')).not.toBeNull();\n });\n\n it('Should render two columns in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children.length).toEqual(2);\n });\n\n it('Should render correct column names in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].textContent).toEqual('Column 1');\n expect(getByTestId('TestTableColumnHeaderRow').children[1].textContent).toEqual('Column 2');\n });\n\n it('Should render columns without no-border class in the column header row, in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"test title\" />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);\n });\n\n it('Should render columns with no-border class in the column header row, in case title is not passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(true);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(true);\n });\n });\n\n describe('Table Body Row tests', () => {\n it('Should not render \"No Data\" row in case there are rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).toBeNull();\n });\n\n it('Should render \"No Data\" row in case there are no rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();\n expect(queryByTestId('TestTableNoDataRow')?.textContent).toEqual('There are no rows to display');\n });\n\n it('Should render a data row with correct content for each row that is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableDataRow')).toBeDefined();\n expect(getByTestId('TestTableDataRow').children.length).toEqual(2);\n expect(getByTestId('TestTableDataRow').children[0].textContent).toEqual('Test content');\n expect(getByTestId('TestTableDataRow').children[1].textContent).toEqual('Test content 2');\n });\n });\n\n it('Should render footer row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableFooterRow')).toBeDefined();\n });\n});\n"],"file":"Table.test.js"}
1
+ {"version":3,"sources":["../../../../src/Table/__tests__/Table.test.tsx"],"names":["describe","it","columns","key","name","rows","column1","column2","getByTestId","expect","toBeDefined","queryByTestId","not","toBeNull","tableHeaderRow","children","textContent","toContain","getElementsByTagName","length","toEqual","classList","contains","toBe","wrapper","container","querySelectorAll","StyledTableFooterCollapseButton","toHaveLength","StyledTableBodyRow","button","click"],"mappings":"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","sourcesContent":["import React from 'react';\n/**\n * Import React libraries.\n */\nimport { render } from '@testing-library/react';\n\n/**\n * Import custom components.\n */\nimport { Table } from '../index';\n\n/**\n * Import third-party libraries.\n */\nimport 'jest-styled-components';\n\n/**\n * Import custom types.\n */\nimport { TableColumn } from '../TableTypes';\nimport {StyledTableBodyRow, StyledTableFooterCollapseButton} from '../TableStyles';\nimport {act} from 'react-dom/test-utils';\n\ndescribe('<Table />', () => {\n it('Renders the Table', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(getByTestId('TestTable')).toBeDefined();\n });\n\n describe('Table Header Row Tests', () => {\n it('Should render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test title\" />);\n expect(queryByTestId('TestTableHeaderRow')).not.toBeNull();\n });\n\n it('Should not render table header row in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableHeaderRow')).toBeNull();\n });\n\n describe('Table Header Row functional tests', () => {\n it('Should have title', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n const tableHeaderRow = queryByTestId('TestTableHeaderRow');\n expect(tableHeaderRow?.children[0].children[0].textContent).toContain('Test Title');\n });\n\n it('Should have options menu', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} title=\"Test Title\" />);\n expect(queryByTestId('TestTableHeaderRow')?.getElementsByTagName('svg')).not.toBeNull();\n });\n });\n });\n\n describe('Table Column Header Row Tests', () => {\n it('Should render column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow')).not.toBeNull();\n });\n\n it('Should render two columns in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children.length).toEqual(2);\n });\n\n it('Should render correct column names in the column header row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].textContent).toEqual('Column 1');\n expect(getByTestId('TestTableColumnHeaderRow').children[1].textContent).toEqual('Column 2');\n });\n\n it('Should render columns without no-border class in the column header row, in case title is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} title=\"test title\" />);\n expect(getByTestId('TestTableColumnHeaderRow').children[0].classList.contains('no-border')).toBe(false);\n expect(getByTestId('TestTableColumnHeaderRow').children[1].classList.contains('no-border')).toBe(false);\n });\n\n });\n\n describe('Table Body Row tests', () => {\n it('Should not render \"No Data\" row in case there are rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).toBeNull();\n });\n\n it('Should render \"No Data\" row in case there are no rows', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [];\n const { queryByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(queryByTestId('TestTableNoDataRow')).not.toBeNull();\n expect(queryByTestId('TestTableNoDataRow')?.textContent).toEqual('There are no rows to display');\n });\n\n it('Should render a data row with correct content for each row that is passed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableDataRow')).toBeDefined();\n expect(getByTestId('TestTableDataRow').children.length).toEqual(2);\n expect(getByTestId('TestTableDataRow').children[0].textContent).toEqual('Test content');\n expect(getByTestId('TestTableDataRow').children[1].textContent).toEqual('Test content 2');\n });\n });\n\n it('Should render footer row', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const { getByTestId } = render(<Table rows={rows} columns={columns} />);\n expect(getByTestId('TestTableFooterRow')).toBeDefined();\n });\n\n describe('Table Accordion tests', () => {\n it('Should render collapse button when configured as accordion', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableFooterCollapseButton}`)).toHaveLength(1);\n });\n\n it('Should not render all items when collapsed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(3);\n });\n\n it('Should render all items when not collapsed', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}\n collapsed={false}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(4);\n });\n\n it('Should expand when show more button is clicked', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}\n collapsed={true}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(3);\n\n act(() => {\n let button = wrapper.container.querySelectorAll(`${StyledTableFooterCollapseButton}`)[0] as HTMLButtonElement;\n button.click();\n })\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(4);\n });\n\n it('Should collapse when show less button is clicked', () => {\n const columns: TableColumn[] = [\n {\n key: 'column1',\n name: 'Column 1',\n },\n {\n key: 'column2',\n name: 'Column 2',\n },\n ];\n const rows: any[] = [\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n {\n column1: 'Test content',\n column2: 'Test content 2',\n },\n ];\n const wrapper = render(<Table rows={rows} columns={columns} accordion={true} collapsedRows={3}\n collapsed={false}/>);\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(4);\n\n act(() => {\n let button = wrapper.container.querySelectorAll(`${StyledTableFooterCollapseButton}`)[0] as HTMLButtonElement;\n button.click();\n })\n\n expect(wrapper.container.querySelectorAll(`${StyledTableBodyRow}`)).toHaveLength(3);\n });\n });\n});\n"],"file":"Table.test.js"}
@@ -16,7 +16,7 @@
16
16
  Object.defineProperty(exports, "__esModule", {
17
17
  value: true
18
18
  });
19
- exports.ContentAccordion = exports.ContentAccordionWrapper = exports.ContentAccordionItem = exports.ContentAccordionItemContentFooter = exports.ContentAccordionItemContentBody = exports.ContentAccordionItemContentHeader = exports.ContentAccordionItemContent = exports.ContentAccordionItemHeaderText = exports.ContentAccordionItemHeaderIcon = exports.ContentAccordionItemHeader = undefined;
19
+ exports.ContentAccordion = undefined;
20
20
 
21
21
  var _propTypes2 = _interopRequireDefault(_propTypes);
22
22
 
@@ -30,79 +30,86 @@
30
30
  };
31
31
  }
32
32
 
33
- const ContentAccordionItemHeader = exports.ContentAccordionItemHeader = _styledComponents2.default.div`
34
- display: flex;
35
- align-items: center;
36
- box-sizing: border-box;
37
- min-height: 48px;
38
- color: ${_styles.COLORS.neutral_600};
39
- cursor: pointer;
40
-
41
- &:hover {
42
- color: ${_styles.COLORS.primary_700};
43
- background-color: ${_styles.COLORS.primary_20};
44
- z-index: ${_zIndexes.Z_INDEXES.hover};
45
- }
33
+ const ContentAccordionWrapper = _styledComponents2.default.div`
34
+ width: 100%;
35
+ position: relative;
46
36
 
47
- &:focus {
48
- box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2E7FA1;
49
- background-color: ${_styles.COLORS.white};
50
- z-index: ${_zIndexes.Z_INDEXES.focus};
51
- outline: none;
52
- }
53
37
 
54
- &:active {
55
- color: ${_styles.COLORS.primary_800};
56
- background-color: ${_styles.COLORS.primary_100};
57
- box-shadow: none;
58
- z-index: ${_zIndexes.Z_INDEXES.active};
59
- }
60
- `;
61
- const ContentAccordionItemHeaderIcon = exports.ContentAccordionItemHeaderIcon = _styledComponents2.default.div`
62
- width: 24px;
63
- height: 24px;
38
+ .content-accordion-item {
39
+ display: flex;
40
+ flex-direction: column;
41
+ border-top: 1px solid ${_styles.COLORS.neutral_100};
64
42
 
65
- svg {
66
- width: 24px;
67
- height: 24px;
68
- }
69
- `;
70
- const ContentAccordionItemHeaderText = exports.ContentAccordionItemHeaderText = _styledComponents2.default.div`
71
- `;
72
- const ContentAccordionItemContent = exports.ContentAccordionItemContent = _styledComponents2.default.div`
73
- display: none;
74
- flex-direction: column;
75
- `;
76
- const ContentAccordionItemContentHeader = exports.ContentAccordionItemContentHeader = _styledComponents2.default.div`
77
- `;
78
- const ContentAccordionItemContentBody = exports.ContentAccordionItemContentBody = _styledComponents2.default.div`
79
- `;
80
- const ContentAccordionItemContentFooter = exports.ContentAccordionItemContentFooter = _styledComponents2.default.div`
81
- `;
82
- const ContentAccordionItem = exports.ContentAccordionItem = _styledComponents2.default.div`
83
- display: flex;
84
- flex-direction: column;
85
- border-top: 1px solid ${_styles.COLORS.neutral_100};
86
-
87
- &.active {
88
- ${ContentAccordionItemContent} {
43
+ .item-header {
89
44
  display: flex;
45
+ align-items: center;
46
+ box-sizing: border-box;
47
+ min-height: 48px;
48
+ color: ${_styles.COLORS.neutral_600};
49
+ cursor: pointer;
50
+
51
+ &:hover {
52
+ color: ${_styles.COLORS.primary_700};
53
+ background-color: ${_styles.COLORS.primary_20};
54
+ z-index: ${_zIndexes.Z_INDEXES.hover};
55
+ }
56
+
57
+ &:focus {
58
+ box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2E7FA1;
59
+ background-color: ${_styles.COLORS.white};
60
+ z-index: ${_zIndexes.Z_INDEXES.focus};
61
+ outline: none;
62
+ }
63
+
64
+ &:active {
65
+ color: ${_styles.COLORS.primary_800};
66
+ background-color: ${_styles.COLORS.primary_100};
67
+ box-shadow: none;
68
+ z-index: ${_zIndexes.Z_INDEXES.active};
69
+ }
70
+
71
+ .item-header-icon,
72
+ .item-header-icon svg {
73
+ width: 24px;
74
+ height: 24px;
75
+ }
76
+
77
+ .item-header-text {
78
+ }
90
79
  }
91
- }
92
80
 
93
- &.disabled {
94
- ${ContentAccordionItemHeader} {
95
- color: ${_styles.COLORS.neutral_300};
96
- cursor: not-allowed;
97
- pointer-events: none;
81
+ .item-content {
82
+ display: none;
83
+ flex-direction: column;
84
+
85
+ .item-content-header {
86
+
87
+ }
88
+
89
+ .item-content-body {
90
+
91
+ }
92
+
93
+ .item-content-footer {
94
+ }
95
+ }
96
+
97
+ &.active {
98
+ .item-content {
99
+ display: flex;
100
+ }
101
+ }
102
+
103
+ &.disabled {
104
+ .item-header {
105
+ color: ${_styles.COLORS.neutral_300};
106
+ cursor: not-allowed;
107
+ pointer-events: none;
108
+ }
98
109
  }
99
110
  }
100
- `;
101
- const ContentAccordionWrapper = exports.ContentAccordionWrapper = _styledComponents2.default.div`
102
- width: 100%;
103
- position: relative;
104
111
 
105
- ${ContentAccordionItem}:last-child {
112
+ .content-accordion-item:last-child {
106
113
  border-bottom: 1px solid ${_styles.COLORS.neutral_100};
107
114
  }
108
115
 
@@ -110,45 +117,46 @@
110
117
  min-width: 320px;
111
118
  max-width: 528px;
112
119
 
113
- ${ContentAccordionItemHeader} {
120
+ .item-header {
114
121
  gap: 8px;
115
122
  padding: 0 8px;
116
123
  ${(0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, null)}
117
124
  }
118
125
 
119
- ${ContentAccordionItemContent} {
126
+ .item-content {
120
127
  padding: 0 8px 16px 40px;
121
128
  gap: 8px;
122
129
 
123
- ${ContentAccordionItemContentHeader} {
130
+ .item-content-header {
124
131
  ${(0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, null)}
125
132
  }
126
133
 
127
- ${ContentAccordionItemContentBody} {
134
+ .item-content-body {
128
135
  ${(0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, null)}
129
136
  }
130
137
  }
131
138
  }
132
139
 
140
+
133
141
  &.medium {
134
142
  min-width: 344px;
135
143
  max-width: 584px;
136
144
 
137
- ${ContentAccordionItemHeader} {
145
+ .item-header {
138
146
  gap: 12px;
139
147
  padding: 0 12px;
140
148
  ${(0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, null)}
141
149
  }
142
150
 
143
- ${ContentAccordionItemContent} {
151
+ .item-content {
144
152
  padding: 8px 12px 24px 48px;
145
153
  gap: 12px;
146
154
 
147
- ${ContentAccordionItemContentHeader} {
155
+ .item-content-header {
148
156
  ${(0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Bold, null)}
149
157
  }
150
158
 
151
- ${ContentAccordionItemContentBody} {
159
+ .item-content-body {
152
160
  ${(0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, null)}
153
161
  }
154
162
 
@@ -159,21 +167,21 @@
159
167
  min-width: 384px;
160
168
  max-width: 656px;
161
169
 
162
- ${ContentAccordionItemHeader} {
170
+ .item-header {
163
171
  gap: 16px;
164
172
  padding: 0 16px;
165
173
  ${(0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Regular, null)}
166
174
  }
167
175
 
168
- ${ContentAccordionItemContent} {
176
+ .item-content {
169
177
  padding: 16px 16px 32px 56px;
170
178
  gap: 16px;
171
179
 
172
- ${ContentAccordionItemContentHeader} {
180
+ .item-content-header {
173
181
  ${(0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, null)}
174
182
  }
175
183
 
176
- ${ContentAccordionItemContentBody} {
184
+ .item-content-body {
177
185
  ${(0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Regular, null)}
178
186
  }
179
187
  }
@@ -211,20 +219,33 @@
211
219
 
212
220
  const renderItem = item => {
213
221
  const isActive = opened.includes(item.key);
214
- return /*#__PURE__*/_react2.default.createElement(ContentAccordionItem, {
222
+ return /*#__PURE__*/_react2.default.createElement("div", {
215
223
  key: item.key,
216
224
  id: `item_${item.key}`,
217
- className: ''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')
218
- }, /*#__PURE__*/_react2.default.createElement(ContentAccordionItemHeader, {
225
+ className: 'content-accordion-item'.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')
226
+ }, /*#__PURE__*/_react2.default.createElement("div", {
227
+ className: 'item-header',
219
228
  tabIndex: !item.disabled ? 0 : undefined,
220
229
  onMouseDown: e => e.preventDefault(),
221
230
  onClick: () => !item.disabled && onItemClick(item),
222
231
  onKeyPress: event => event.key === 'Enter' && onItemClick(item)
223
- }, /*#__PURE__*/_react2.default.createElement(ContentAccordionItemHeaderIcon, null, props.multi ? isActive ? /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.Minus, null) : /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.Plus, null) : isActive ? /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ChevronDown, null) : /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ChevronRight, null)), /*#__PURE__*/_react2.default.createElement(ContentAccordionItemHeaderText, null, item.title)), /*#__PURE__*/_react2.default.createElement(ContentAccordionItemContent, null, item.header && /*#__PURE__*/_react2.default.createElement(ContentAccordionItemContentHeader, null, item.header), /*#__PURE__*/_react2.default.createElement(ContentAccordionItemContentBody, null, item.body), item.footer && /*#__PURE__*/_react2.default.createElement(ContentAccordionItemContentFooter, null, item.footer)));
232
+ }, /*#__PURE__*/_react2.default.createElement("div", {
233
+ className: 'item-header-icon'
234
+ }, props.multi ? isActive ? /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.Minus, null) : /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.Plus, null) : isActive ? /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ChevronDown, null) : /*#__PURE__*/_react2.default.createElement(_icons.SystemIcons.ChevronRight, null)), /*#__PURE__*/_react2.default.createElement("div", {
235
+ className: 'item-header-text'
236
+ }, item.title)), /*#__PURE__*/_react2.default.createElement("div", {
237
+ className: 'item-content'
238
+ }, item.header && /*#__PURE__*/_react2.default.createElement("div", {
239
+ className: 'item-content-header'
240
+ }, item.header), /*#__PURE__*/_react2.default.createElement("div", {
241
+ className: 'item-content-body'
242
+ }, item.body), item.footer && /*#__PURE__*/_react2.default.createElement("div", {
243
+ className: 'item-content-footer'
244
+ }, item.footer)));
224
245
  };
225
246
 
226
247
  return /*#__PURE__*/_react2.default.createElement(ContentAccordionWrapper, {
227
- className: ''.concat(` ${props.size ?? _types.Size.Medium}`)
248
+ className: 'content-accordion'.concat(` ${props.size ?? _types.Size.Medium}`)
228
249
  }, props.items.map(item => renderItem(item)));
229
250
  };
230
251
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Accordion/ContentAccordion.tsx"],"names":["ContentAccordionItemHeader","styled","div","COLORS","neutral_600","primary_700","primary_20","Z_INDEXES","hover","white","focus","primary_800","primary_100","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","ContentAccordionItemContentFooter","ContentAccordionItem","neutral_100","neutral_300","ContentAccordionWrapper","ComponentSStyling","ComponentTextStyle","ComponentMStyling","ComponentLStyling","key","title","header","body","footer","disabled","items","multi","ContentAccordion","props","React","setOpened","item","onItemClick","opened","renderItem","isActive","e","event","Size","Medium"],"mappings":"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","sourcesContent":["import React from 'react'\nimport styled from 'styled-components';\nimport {Size} from '../types';\nimport {SystemIcons} from '../icons';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles/typography';\nimport {COLORS} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\n\nexport const ContentAccordionItemHeader = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n color: ${COLORS.neutral_600};\n cursor: pointer;\n\n &:hover {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_20};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2E7FA1;\n background-color: ${COLORS.white};\n z-index: ${Z_INDEXES.focus};\n outline: none;\n }\n\n &:active {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n z-index: ${Z_INDEXES.active};\n }\n`;\n\nexport const ContentAccordionItemHeaderIcon = styled.div`\n width: 24px;\n height: 24px;\n\n svg {\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const ContentAccordionItemHeaderText = styled.div`\n`;\n\nexport const ContentAccordionItemContent = styled.div`\n display: none;\n flex-direction: column;\n`;\n\nexport const ContentAccordionItemContentHeader = styled.div`\n`;\n\nexport const ContentAccordionItemContentBody = styled.div`\n`;\n\nexport const ContentAccordionItemContentFooter = styled.div`\n`;\n\nexport const ContentAccordionItem = styled.div`\n display: flex;\n flex-direction: column;\n border-top: 1px solid ${COLORS.neutral_100};\n\n &.active {\n ${ContentAccordionItemContent} {\n display: flex;\n }\n }\n\n &.disabled {\n ${ContentAccordionItemHeader} {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n }\n }\n`;\n\nexport const ContentAccordionWrapper = styled.div`\n width: 100%;\n position: relative;\n\n ${ContentAccordionItem}:last-child {\n border-bottom: 1px solid ${COLORS.neutral_100};\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ${ContentAccordionItemHeader} {\n gap: 8px;\n padding: 0 8px;\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ${ContentAccordionItemHeader} {\n gap: 12px;\n padding: 0 12px;\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ${ContentAccordionItemHeader} {\n gap: 16px;\n padding: 0 16px;\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentLStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n`;\n\nexport interface ContentAccordionItem {\n key: string;\n title: string;\n header?: string;\n body: any;\n footer?: any;\n disabled?: boolean;\n active?: boolean;\n}\n\nexport interface ContentAccordionProps {\n items: ContentAccordionItem[];\n multi?: boolean;\n size?: Size;\n}\n\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = (props) => {\n\n const [opened, setOpened] = React.useState<string[]>([]);\n\n React.useEffect(() => {\n if (props.multi) {\n setOpened(props.items.filter(item => item.active).map(item => item.key));\n } else {\n let active = props.items.find(item => !!item.active)?.key;\n if (active) {\n setOpened([active]);\n }\n }\n }, [props.items, props.multi]);\n\n const onItemClick = (item: ContentAccordionItem) => {\n if (item.disabled) return;\n if (opened.includes(item.key)) {\n setOpened(opened.filter(key => key !== item.key));\n } else {\n if (props.multi) {\n setOpened([...opened, item.key]);\n } else {\n setOpened([item.key]);\n }\n }\n }\n\n const renderItem = (item: ContentAccordionItem) => {\n const isActive = opened.includes(item.key);\n\n return (\n <ContentAccordionItem key={item.key}\n id={`item_${item.key}`}\n className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\n <ContentAccordionItemHeader tabIndex={!item.disabled ? 0 : undefined}\n onMouseDown={e => e.preventDefault()}\n onClick={() => !item.disabled && onItemClick(item)}\n onKeyPress={event => event.key === 'Enter' && onItemClick(item)}>\n <ContentAccordionItemHeaderIcon>\n {\n props.multi\n ? isActive\n ? <SystemIcons.Minus/>\n : <SystemIcons.Plus/>\n : isActive\n ? <SystemIcons.ChevronDown/>\n : <SystemIcons.ChevronRight/>\n }\n </ContentAccordionItemHeaderIcon>\n <ContentAccordionItemHeaderText>\n {item.title}\n </ContentAccordionItemHeaderText>\n </ContentAccordionItemHeader>\n <ContentAccordionItemContent>\n {\n item.header &&\n <ContentAccordionItemContentHeader>\n {item.header}\n </ContentAccordionItemContentHeader>\n }\n <ContentAccordionItemContentBody>\n {item.body}\n </ContentAccordionItemContentBody>\n {\n item.footer &&\n <ContentAccordionItemContentFooter>\n {item.footer}\n </ContentAccordionItemContentFooter>\n }\n </ContentAccordionItemContent>\n </ContentAccordionItem>\n );\n }\n\n return (\n <ContentAccordionWrapper className={''.concat(` ${props.size ?? Size.Medium}`)}>\n {props.items.map(item => renderItem(item))}\n </ContentAccordionWrapper>\n );\n};\n\nexport default ContentAccordion;\n"],"file":"ContentAccordion.js"}
1
+ {"version":3,"sources":["../../../src/Accordion/ContentAccordion.tsx"],"names":["ContentAccordionWrapper","styled","div","COLORS","neutral_100","neutral_600","primary_700","primary_20","Z_INDEXES","hover","white","focus","primary_800","primary_100","active","neutral_300","ComponentSStyling","ComponentTextStyle","ComponentMStyling","ComponentLStyling","key","title","header","body","footer","disabled","items","multi","ContentAccordion","props","React","setOpened","item","onItemClick","opened","renderItem","isActive","e","event","Size","Medium"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,QAAMA,uBAAuB,GAAGC,2BAAOC,GAAI;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4BC,eAAOC,WAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,eAAeD,eAAOE,WAAY;AAClC;AACA;AACA;AACA,iBAAiBF,eAAOG,WAAY;AACpC,4BAA4BH,eAAOI,UAAW;AAC9C,mBAAmBC,oBAAUC,KAAM;AACnC;AACA;AACA;AACA;AACA,4BAA4BN,eAAOO,KAAM;AACzC,mBAAmBF,oBAAUG,KAAM;AACnC;AACA;AACA;AACA;AACA,iBAAiBR,eAAOS,WAAY;AACpC,4BAA4BT,eAAOU,WAAY;AAC/C;AACA,mBAAmBL,oBAAUM,MAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBX,eAAOY,WAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+BZ,eAAOC,WAAY;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQY,mCAAkBC,+BAAD,OAAjBD,EAAiB,IAAjBA,CAAoD;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUA,mCAAkBC,+BAAD,IAAjBD,EAAiB,IAAjBA,CAAiD;AAC3D;AACA;AACA;AACA,UAAUA,mCAAkBC,+BAAD,OAAjBD,EAAiB,IAAjBA,CAAoD;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQE,mCAAkBD,+BAAD,OAAjBC,EAAiB,IAAjBA,CAAoD;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAUA,mCAAkBD,+BAAD,IAAjBC,EAAiB,IAAjBA,CAAiD;AAC3D;AACA;AACA;AACA,UAAUA,mCAAkBD,+BAAD,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","sourcesContent":["import React from 'react'\nimport styled from 'styled-components';\nimport {Size} from '../types';\nimport {SystemIcons} from '../icons';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles/typography';\nimport {COLORS} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\n\nconst ContentAccordionWrapper = styled.div`\n width: 100%;\n position: relative;\n\n\n .content-accordion-item {\n display: flex;\n flex-direction: column;\n border-top: 1px solid ${COLORS.neutral_100};\n\n .item-header {\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n color: ${COLORS.neutral_600};\n cursor: pointer;\n\n &:hover {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_20};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2E7FA1;\n background-color: ${COLORS.white};\n z-index: ${Z_INDEXES.focus};\n outline: none;\n }\n\n &:active {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n z-index: ${Z_INDEXES.active};\n }\n\n .item-header-icon,\n .item-header-icon svg {\n width: 24px;\n height: 24px;\n }\n\n .item-header-text {\n }\n }\n\n .item-content {\n display: none;\n flex-direction: column;\n\n .item-content-header {\n\n }\n\n .item-content-body {\n\n }\n\n .item-content-footer {\n }\n }\n\n &.active {\n .item-content {\n display: flex;\n }\n }\n\n &.disabled {\n .item-header {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n }\n }\n }\n\n .content-accordion-item:last-child {\n border-bottom: 1px solid ${COLORS.neutral_100};\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n .item-header {\n gap: 8px;\n padding: 0 8px;\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n\n .item-content {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n .item-content-header {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n }\n\n .item-content-body {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n .item-header {\n gap: 12px;\n padding: 0 12px;\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n .item-content {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n .item-content-header {\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n }\n\n .item-content-body {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n .item-header {\n gap: 16px;\n padding: 0 16px;\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n\n .item-content {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n .item-content-header {\n ${ComponentLStyling(ComponentTextStyle.Bold, null)}\n }\n\n .item-content-body {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n`;\n\nexport interface ContentAccordionItem {\n key: string;\n title: string;\n header?: string;\n body: any;\n footer?: any;\n disabled?: boolean;\n active?: boolean;\n}\n\nexport interface ContentAccordionProps {\n items: ContentAccordionItem[];\n multi?: boolean;\n size?: Size;\n}\n\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = (props) => {\n\n const [opened, setOpened] = React.useState<string[]>([]);\n\n React.useEffect(() => {\n if (props.multi) {\n setOpened(props.items.filter(item => item.active).map(item => item.key));\n } else {\n let active = props.items.find(item => !!item.active)?.key;\n if (active) {\n setOpened([active]);\n }\n }\n }, [props.items, props.multi]);\n\n const onItemClick = (item: ContentAccordionItem) => {\n if (item.disabled) return;\n if (opened.includes(item.key)) {\n setOpened(opened.filter(key => key !== item.key));\n } else {\n if (props.multi) {\n setOpened([...opened, item.key]);\n } else {\n setOpened([item.key]);\n }\n }\n }\n\n const renderItem = (item: ContentAccordionItem) => {\n const isActive = opened.includes(item.key);\n\n return (\n <div key={item.key}\n id={`item_${item.key}`}\n className={'content-accordion-item'.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\n <div className={'item-header'}\n tabIndex={!item.disabled ? 0 : undefined}\n onMouseDown={e => e.preventDefault()}\n onClick={() => !item.disabled && onItemClick(item)}\n onKeyPress={event => event.key === 'Enter' && onItemClick(item)}>\n <div className={'item-header-icon'}>\n {\n props.multi\n ? isActive\n ? <SystemIcons.Minus/>\n : <SystemIcons.Plus/>\n : isActive\n ? <SystemIcons.ChevronDown/>\n : <SystemIcons.ChevronRight/>\n }\n </div>\n <div className={'item-header-text'}>\n {item.title}\n </div>\n </div>\n <div className={'item-content'}>\n {\n item.header &&\n <div className={'item-content-header'}>\n {item.header}\n </div>\n }\n <div className={'item-content-body'}>\n {item.body}\n </div>\n {\n item.footer &&\n <div className={'item-content-footer'}>\n {item.footer}\n </div>\n }\n </div>\n </div>\n );\n }\n\n return (\n <ContentAccordionWrapper className={'content-accordion'.concat(` ${props.size ?? Size.Medium}`)}>\n {props.items.map(item => renderItem(item))}\n </ContentAccordionWrapper>\n );\n};\n\nexport default ContentAccordion;\n"],"file":"ContentAccordion.js"}
@@ -73,92 +73,92 @@
73
73
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
74
74
  items: contentAccordionItemsWithBody
75
75
  }));
76
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}`).length).toBe(4);
77
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.disabled`).length).toBe(1);
78
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.disabled`)[0].id).toBe('item_3');
79
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`).length).toBe(1);
80
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`)[0].id).toBe('item_2');
76
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item').length).toBe(4);
77
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item disabled').length).toBe(1);
78
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item disabled')[0].id).toBe('item_3');
79
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active').length).toBe(1);
80
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active')[0].id).toBe('item_2');
81
81
  });
82
82
  it('should not render header if not provided', () => {
83
83
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
84
84
  items: contentAccordionItemsWithBody
85
85
  }));
86
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemContentBody}`).length).toBe(4);
87
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemContentHeader}`).length).toBe(0);
86
+ expect(wrapper.baseElement.getElementsByClassName('item-content-body').length).toBe(4);
87
+ expect(wrapper.baseElement.getElementsByClassName('item-content-header').length).toBe(0);
88
88
  });
89
89
  it('should not render footer if not provided', () => {
90
90
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
91
91
  items: contentAccordionItemsWithBody
92
92
  }));
93
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemContentBody}`).length).toBe(4);
94
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemContentFooter}`).length).toBe(0);
93
+ expect(wrapper.baseElement.getElementsByClassName('item-content-body').length).toBe(4);
94
+ expect(wrapper.baseElement.getElementsByClassName('item-content-footer').length).toBe(0);
95
95
  });
96
96
  it('should render body, header, and footer if all are provided', () => {
97
97
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
98
98
  items: contentAccordionItemsWithBodyAndHeaderAndFooter
99
99
  }));
100
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}`).length).toBe(4);
101
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemContentBody}`).length).toBe(4);
102
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemContentHeader}`).length).toBe(4);
103
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemContentFooter}`).length).toBe(4);
100
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item').length).toBe(4);
101
+ expect(wrapper.baseElement.getElementsByClassName('item-content-body').length).toBe(4);
102
+ expect(wrapper.baseElement.getElementsByClassName('item-content-header').length).toBe(4);
103
+ expect(wrapper.baseElement.getElementsByClassName('item-content-footer').length).toBe(4);
104
104
  });
105
105
  it('should set correct size class name for small accordion', () => {
106
106
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
107
107
  items: contentAccordionItemsWithBodyAndHeaderAndFooter,
108
108
  size: _types.Size.Small
109
109
  }));
110
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionWrapper}.small`).length).toBe(1);
110
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion small').length).toBe(1);
111
111
  });
112
112
  it('should set correct size class name for medium accordion', () => {
113
113
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
114
114
  items: contentAccordionItemsWithBodyAndHeaderAndFooter,
115
115
  size: _types.Size.Medium
116
116
  }));
117
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionWrapper}.medium`).length).toBe(1);
117
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion medium').length).toBe(1);
118
118
  });
119
119
  it('should set correct size class name for large accordion', () => {
120
120
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
121
121
  items: contentAccordionItemsWithBodyAndHeaderAndFooter,
122
122
  size: _types.Size.Large
123
123
  }));
124
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionWrapper}.large`).length).toBe(1);
124
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion large').length).toBe(1);
125
125
  });
126
126
  it('should change active state when item header is clicked', () => {
127
127
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
128
128
  items: contentAccordionItemsWithBody,
129
129
  multi: false
130
130
  }));
131
- const itemHeader = wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemHeader}`)[3];
131
+ const itemHeader = wrapper.baseElement.getElementsByClassName('item-header')[3];
132
132
 
133
133
  _react3.fireEvent.click(itemHeader);
134
134
 
135
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`).length).toBe(1);
136
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`)[0].id).toBe('item_4');
135
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active').length).toBe(1);
136
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active')[0].id).toBe('item_4');
137
137
  });
138
138
  it('should not change active state when disabled item header is clicked', () => {
139
139
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
140
140
  items: contentAccordionItemsWithBody,
141
141
  multi: false
142
142
  }));
143
- const itemHeader = wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemHeader}`)[2];
143
+ const itemHeader = wrapper.baseElement.getElementsByClassName('item-header')[2];
144
144
 
145
145
  _react3.fireEvent.click(itemHeader);
146
146
 
147
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`).length).toBe(1);
148
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`)[0].id).toBe('item_2');
147
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active').length).toBe(1);
148
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active')[0].id).toBe('item_2');
149
149
  });
150
150
  it('should append active items if multi property is true', () => {
151
151
  const wrapper = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_ContentAccordion2.default, {
152
152
  items: contentAccordionItemsWithBody,
153
153
  multi: true
154
154
  }));
155
- const itemHeader = wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItemHeader}`)[3];
155
+ const itemHeader = wrapper.baseElement.getElementsByClassName('item-header')[3];
156
156
 
157
157
  _react3.fireEvent.click(itemHeader);
158
158
 
159
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`).length).toBe(2);
160
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`)[0].id).toBe('item_2');
161
- expect(wrapper.container.querySelectorAll(`${_ContentAccordion.ContentAccordionItem}.active`)[1].id).toBe('item_4');
159
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active').length).toBe(2);
160
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active')[0].id).toBe('item_2');
161
+ expect(wrapper.baseElement.getElementsByClassName('content-accordion-item active')[1].id).toBe('item_4');
162
162
  });
163
163
  });
164
164
  });