@tecsinapse/react-web-kit 2.0.1 → 2.1.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 (96) hide show
  1. package/dist/cjs/components/atoms/Accordion/animations.js.map +1 -1
  2. package/dist/cjs/components/atoms/Accordion/styled.js.map +1 -1
  3. package/dist/cjs/components/atoms/Button/styled.js.map +1 -1
  4. package/dist/cjs/components/atoms/Dropdown/styled.js.map +1 -1
  5. package/dist/cjs/components/atoms/Modal/styled.js.map +1 -1
  6. package/dist/cjs/components/atoms/Overlay/styled.js.map +1 -1
  7. package/dist/cjs/components/atoms/Skeleton/styled.js.map +1 -1
  8. package/dist/cjs/components/atoms/Switch/Switch.js.map +1 -1
  9. package/dist/cjs/components/atoms/Switch/styled.js.map +1 -1
  10. package/dist/cjs/components/atoms/Table/Cell/styled.js.map +1 -1
  11. package/dist/cjs/components/atoms/Table/Container/styled.js.map +1 -1
  12. package/dist/cjs/components/atoms/Table/Header/styled.js.map +1 -1
  13. package/dist/cjs/components/atoms/Table/Row/styled.js.map +1 -1
  14. package/dist/cjs/components/atoms/Table/styled.js.map +1 -1
  15. package/dist/cjs/components/atoms/Tooltip/styled.js.map +1 -1
  16. package/dist/cjs/components/molecules/Breadcrumbs/BreadcrumbItem/styled.js.map +1 -1
  17. package/dist/cjs/components/molecules/Breadcrumbs/styled.js.map +1 -1
  18. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +1 -1
  19. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  20. package/dist/cjs/components/molecules/Drawer/styled.js.map +1 -1
  21. package/dist/cjs/components/molecules/Grid/Grid.js.map +1 -1
  22. package/dist/cjs/components/molecules/Grid/Item/Item.js.map +1 -1
  23. package/dist/cjs/components/molecules/IconTextButton/styled.js.map +1 -1
  24. package/dist/cjs/components/molecules/LabeledSwitch/styled.js.map +1 -1
  25. package/dist/cjs/components/molecules/Masonry/styled.js.map +1 -1
  26. package/dist/cjs/components/molecules/Menubar/MenuBlock/MenuBlock.js.map +1 -1
  27. package/dist/cjs/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/styled.js.map +1 -1
  28. package/dist/cjs/components/molecules/Menubar/MenuBlock/MenuItem/styled.js.map +1 -1
  29. package/dist/cjs/components/molecules/Menubar/MenuBlock/styled.js.map +1 -1
  30. package/dist/cjs/components/molecules/Menubar/Menubar.js.map +1 -1
  31. package/dist/cjs/components/molecules/Menubar/MostUsed/MostUsed.js.map +1 -1
  32. package/dist/cjs/components/molecules/Menubar/MostUsed/styled.js.map +1 -1
  33. package/dist/cjs/components/molecules/Menubar/SearchResultItem/styled.js.map +1 -1
  34. package/dist/cjs/components/molecules/Menubar/SearchResultItem/utils.js.map +1 -1
  35. package/dist/cjs/components/molecules/Menubar/styled.js.map +1 -1
  36. package/dist/cjs/components/molecules/Select/Dropdown/styled.js.map +1 -1
  37. package/dist/cjs/components/molecules/Select/Select.js.map +1 -1
  38. package/dist/cjs/components/molecules/Select/SelectItem/styled.js.map +1 -1
  39. package/dist/cjs/components/molecules/Snackbar/styled.js.map +1 -1
  40. package/dist/cjs/components/molecules/TextArea/styled.js.map +1 -1
  41. package/dist/cjs/components/organisms/DataGrid/DataGrid.js.map +1 -1
  42. package/dist/cjs/components/organisms/DataGrid/Footer/Footer.js.map +1 -1
  43. package/dist/cjs/components/organisms/DataGrid/Footer/styled.js.map +1 -1
  44. package/dist/cjs/components/organisms/DataGrid/Header/Header.js.map +1 -1
  45. package/dist/cjs/components/organisms/DataGrid/Header/styled.js.map +1 -1
  46. package/dist/cjs/components/organisms/DataGrid/Row/Row.js.map +1 -1
  47. package/dist/cjs/components/organisms/DataGrid/styled.js.map +1 -1
  48. package/dist/cjs/index.js +1 -1
  49. package/dist/esm/components/atoms/Accordion/animations.js.map +1 -1
  50. package/dist/esm/components/atoms/Accordion/styled.js.map +1 -1
  51. package/dist/esm/components/atoms/Button/styled.js.map +1 -1
  52. package/dist/esm/components/atoms/Dropdown/styled.js.map +1 -1
  53. package/dist/esm/components/atoms/Modal/styled.js.map +1 -1
  54. package/dist/esm/components/atoms/Overlay/styled.js.map +1 -1
  55. package/dist/esm/components/atoms/Skeleton/styled.js.map +1 -1
  56. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  57. package/dist/esm/components/atoms/Switch/styled.js.map +1 -1
  58. package/dist/esm/components/atoms/Table/Cell/styled.js.map +1 -1
  59. package/dist/esm/components/atoms/Table/Container/styled.js.map +1 -1
  60. package/dist/esm/components/atoms/Table/Header/styled.js.map +1 -1
  61. package/dist/esm/components/atoms/Table/Row/styled.js.map +1 -1
  62. package/dist/esm/components/atoms/Table/styled.js.map +1 -1
  63. package/dist/esm/components/atoms/Tooltip/styled.js.map +1 -1
  64. package/dist/esm/components/molecules/Breadcrumbs/BreadcrumbItem/styled.js.map +1 -1
  65. package/dist/esm/components/molecules/Breadcrumbs/styled.js.map +1 -1
  66. package/dist/esm/components/molecules/DatePicker/DatePicker.js +1 -1
  67. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  68. package/dist/esm/components/molecules/Drawer/styled.js.map +1 -1
  69. package/dist/esm/components/molecules/Grid/Grid.js.map +1 -1
  70. package/dist/esm/components/molecules/Grid/Item/Item.js.map +1 -1
  71. package/dist/esm/components/molecules/IconTextButton/styled.js.map +1 -1
  72. package/dist/esm/components/molecules/LabeledSwitch/styled.js.map +1 -1
  73. package/dist/esm/components/molecules/Masonry/styled.js.map +1 -1
  74. package/dist/esm/components/molecules/Menubar/MenuBlock/MenuBlock.js.map +1 -1
  75. package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/styled.js.map +1 -1
  76. package/dist/esm/components/molecules/Menubar/MenuBlock/MenuItem/styled.js.map +1 -1
  77. package/dist/esm/components/molecules/Menubar/MenuBlock/styled.js.map +1 -1
  78. package/dist/esm/components/molecules/Menubar/Menubar.js.map +1 -1
  79. package/dist/esm/components/molecules/Menubar/MostUsed/MostUsed.js.map +1 -1
  80. package/dist/esm/components/molecules/Menubar/MostUsed/styled.js.map +1 -1
  81. package/dist/esm/components/molecules/Menubar/SearchResultItem/styled.js.map +1 -1
  82. package/dist/esm/components/molecules/Menubar/SearchResultItem/utils.js.map +1 -1
  83. package/dist/esm/components/molecules/Menubar/styled.js.map +1 -1
  84. package/dist/esm/components/molecules/Select/Dropdown/styled.js.map +1 -1
  85. package/dist/esm/components/molecules/Select/Select.js.map +1 -1
  86. package/dist/esm/components/molecules/Select/SelectItem/styled.js.map +1 -1
  87. package/dist/esm/components/molecules/Snackbar/styled.js.map +1 -1
  88. package/dist/esm/components/molecules/TextArea/styled.js.map +1 -1
  89. package/dist/esm/components/organisms/DataGrid/DataGrid.js.map +1 -1
  90. package/dist/esm/components/organisms/DataGrid/Footer/Footer.js.map +1 -1
  91. package/dist/esm/components/organisms/DataGrid/Footer/styled.js.map +1 -1
  92. package/dist/esm/components/organisms/DataGrid/Header/Header.js.map +1 -1
  93. package/dist/esm/components/organisms/DataGrid/Header/styled.js.map +1 -1
  94. package/dist/esm/components/organisms/DataGrid/Row/Row.js.map +1 -1
  95. package/dist/esm/components/organisms/DataGrid/styled.js.map +1 -1
  96. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../../src/components/molecules/Snackbar/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { Snackbar as SnackbarCore, StyleProps } from '@tecsinapse/react-core';\n\nconst baseStyles = () => [\n css({\n left: '50%',\n maxWidth: '600px',\n transform: [{ translateX: '-50%' as any }],\n }),\n];\n\nconst webStyles = () => [\n css`\n position: fixed;\n `,\n];\n\nexport const SnackbarStyled = styled(SnackbarCore)<Partial<StyleProps>>(\n () => css`\n ${baseStyles()}\n ${webStyles()}\n `\n);\n"],"names":["styled","SnackbarCore"],"mappings":";;;AAGA,MAAM,aAAa,MAAM;AAAA,EACvB,GAAI,CAAA;AAAA,IACF,IAAM,EAAA,KAAA;AAAA,IACN,QAAU,EAAA,OAAA;AAAA,IACV,SAAW,EAAA,CAAC,EAAE,UAAA,EAAY,QAAe,CAAA;AAAA,GAC1C,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,YAAY,MAAM;AAAA,EACtB,GAAA,CAAA;AAAA;AAAA,EAAA,CAAA;AAGF,CAAA,CAAA;AAEa,MAAA,cAAA,GAAiBA,aAAOC,QAAY,CAAA;AAAA,EAC/C,MAAM,GAAA,CAAA;AAAA,IAAA,EACF,UAAW,EAAA,CAAA;AAAA,IAAA,EACX,SAAU,EAAA,CAAA;AAAA,EAAA,CAAA;AAEhB;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../../src/components/molecules/Snackbar/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { Snackbar as SnackbarCore, StyleProps } from '@tecsinapse/react-core';\n\nconst baseStyles = () => [\n css({\n left: '50%',\n maxWidth: '600px',\n transform: [{ translateX: '-50%' as any }],\n }),\n];\n\nconst webStyles = () => [\n css`\n position: fixed;\n `,\n];\n\nexport const SnackbarStyled = styled(SnackbarCore)<Partial<StyleProps>>(\n () => css`\n ${baseStyles()}\n ${webStyles()}\n `\n);\n"],"names":["styled","SnackbarCore"],"mappings":";;;AAGA,MAAM,aAAa,MAAM;AAAA,EACvB,GAAI,CAAA;AAAA,IACF,IAAM,EAAA,KAAA;AAAA,IACN,QAAU,EAAA,OAAA;AAAA,IACV,SAAW,EAAA,CAAC,EAAE,UAAA,EAAY,QAAe,CAAA;AAAA,GAC1C,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,YAAY,MAAM;AAAA,EACtB,GAAA,CAAA;AAAA;AAAA,EAAA,CAAA;AAGF,CAAA,CAAA;AAEa,MAAA,cAAA,GAAiBA,aAAOC,QAAY,CAAA;AAAA,EAC/C,MAAM,GAAA,CAAA;AAAA,IAAA,EACF,YAAY,CAAA;AAAA,IAAA,EACZ,WAAW,CAAA;AAAA,EAAA,CAAA;AAEjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../../src/components/molecules/TextArea/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport {\n FontStackType,\n FontWeightType,\n StyleProps,\n TextAreaInputBase,\n} from '@tecsinapse/react-core';\nimport { TextAreaProps } from './TextArea';\n\ninterface Font {\n fontStack?: FontStackType;\n fontWeight?: FontWeightType;\n}\n\nexport const StyledWebInput = styled(TextAreaInputBase)<\n Font & Partial<TextAreaProps> & Partial<StyleProps>\n>`\n font-weight: ${({ theme, fontWeight = 'regular' }) =>\n theme.font.weight[fontWeight]};\n font-family: ${({ theme, fontStack = 'default' }) =>\n `'${theme.font.stack[fontStack]}'`};\n outline-width: 0;\n`;\n"],"names":["styled"],"mappings":";;;AAca,MAAA,cAAA,GAAiBA,aAAO,iBAAiB,CAAA,CAAA;AAAA,eAGrC,EAAA,CAAC,EAAE,KAAO,EAAA,UAAA,GAAa,WACpC,KAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,UAAU,CAAA,CAAA;AAAA,eACf,EAAA,CAAC,EAAE,KAAA,EAAO,SAAY,GAAA,SAAA,OACnC,CAAI,CAAA,EAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,SAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../../src/components/molecules/TextArea/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport {\n FontStackType,\n FontWeightType,\n StyleProps,\n TextAreaInputBase,\n} from '@tecsinapse/react-core';\nimport { TextAreaProps } from './TextArea';\n\ninterface Font {\n fontStack?: FontStackType;\n fontWeight?: FontWeightType;\n}\n\nexport const StyledWebInput = styled(TextAreaInputBase)<\n Font & Partial<TextAreaProps> & Partial<StyleProps>\n>`\n font-weight: ${({ theme, fontWeight = 'regular' }) =>\n theme.font.weight[fontWeight]};\n font-family: ${({ theme, fontStack = 'default' }) =>\n `'${theme.font.stack[fontStack]}'`};\n outline-width: 0;\n`;\n"],"names":["styled"],"mappings":";;;AAca,MAAA,cAAA,GAAiBA,aAAO,iBAAiB,CAAA,CAAA;AAAA,eAGrC,EAAA,CAAC,EAAE,KAAA,EAAO,UAAa,GAAA,SAAA,OACpC,KAAM,CAAA,IAAA,CAAK,MAAO,CAAA,UAAU,CAAC,CAAA;AAAA,eAAA,EAChB,CAAC,EAAE,KAAO,EAAA,SAAA,GAAY,SAAU,EAAA,KAC7C,CAAI,CAAA,EAAA,KAAA,CAAM,IAAK,CAAA,KAAA,CAAM,SAAS,CAAC,CAAG,CAAA,CAAA,CAAA;AAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.js","sources":["../../../../../src/components/organisms/DataGrid/DataGrid.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Table,\n TableToolbar,\n TableContainer,\n Tr,\n Td,\n TBody,\n} from '../../atoms/Table';\nimport { Header } from './Header';\nimport { Row } from './Row';\nimport { HeadersType } from './types';\nimport { Footer } from './Footer';\nimport { Skeleton } from '../../atoms/Skeleton';\nimport { getData, removeElement } from './utils';\n\nexport interface DataGridProps<Data>\n extends React.HTMLAttributes<HTMLDivElement> {\n headers: HeadersType<Data>[];\n data: Data[];\n /** Unique identifier for row data */\n rowKeyExtractor: (data: Data) => string;\n toolbarRightIcons?: React.ReactNode;\n toolbarFooter?: React.ReactNode;\n toolbarTitle: string;\n /** Enable rows selection */\n selectable?: boolean;\n /** Selected items */\n selectedRows?: Data[];\n /** Selection handler */\n onSelectedRows?: (data: Data[] | ((prevState: Data[]) => Data[])) => void;\n /** Shows pagination controls */\n pagination?: boolean;\n /** Results per page */\n rowsPerPage?: number;\n /** Results per page handler */\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions?: number[];\n rowsPerPageLabel?: (value: number) => string;\n /** Export button label */\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements. Only specify this property if your data is server-side */\n rowsCount?: number;\n /** Current page. Always start in 0 */\n page?: number;\n /** Current page handler */\n onPageChange?: (page: number) => void;\n /** Loading state. The amount of skeleton rows is based on current rowsPerPage */\n loading?: boolean;\n /** Custom skeleton component for better visual */\n skeletonComponent?: React.ReactNode;\n /** Empty state placeholder */\n emptyPlaceholder?: React.ReactNode;\n /** Export component, use if default button with label is not ideal. This prop, not receive \"exportLabel\" and \"exportFunction\" */\n exportComponent?: React.ReactNode;\n}\n\n/** Note: Consider memoizing functions for a better performance */\nconst DataGrid = <Data,>({\n headers,\n data,\n rowKeyExtractor,\n toolbarTitle,\n toolbarFooter,\n toolbarRightIcons,\n selectable = false,\n selectedRows = [],\n onSelectedRows,\n pagination = false,\n rowsPerPage = 10,\n onRowsPerPageChange,\n rowsPerPageOptions: _rowsPerPageOptions,\n rowsPerPageLabel: _rowsPerPageLabel,\n exportLabel = 'Exportar',\n exportFunction,\n rowsCount,\n page = 0,\n onPageChange,\n loading = false,\n skeletonComponent,\n emptyPlaceholder,\n exportComponent,\n ...rest\n}: DataGridProps<Data>): JSX.Element => {\n if (selectable && (!selectedRows || !onSelectedRows)) {\n throw new Error(\n '[DataGrid] You should specify selection handlers (selectedRows, onSelectedRows)'\n );\n }\n\n const rowsPerPageLabel = React.useCallback(\n value =>\n _rowsPerPageLabel\n ? _rowsPerPageLabel(value)\n : `Exibir por página: ${value} itens`,\n [_rowsPerPageLabel]\n );\n const rowsPerPageOptions = React.useMemo(\n () => _rowsPerPageOptions ?? [10, 25, 50],\n [_rowsPerPageOptions]\n );\n\n const handleSelect = React.useCallback(\n (current, checked) => {\n if (checked) {\n onSelectedRows?.(prevState => [...prevState, current]);\n return;\n }\n\n onSelectedRows?.(prevState => {\n const idx = prevState.findIndex(\n el => rowKeyExtractor(el) === rowKeyExtractor(current)\n );\n return [...removeElement(prevState, idx)];\n });\n },\n [onSelectedRows, rowKeyExtractor]\n );\n\n return (\n <TableContainer {...rest}>\n <TableToolbar\n title={toolbarTitle}\n rightIcons={toolbarRightIcons}\n footer={toolbarFooter}\n />\n <Table>\n <Header\n selectable={selectable}\n headers={headers}\n data={data}\n rowsCount={rowsCount ?? data.length}\n rowKeyExtractor={rowKeyExtractor}\n selectedRows={selectedRows}\n onSelected={onSelectedRows}\n />\n\n {!loading ? (\n <TBody>\n {data.length > 0 ? (\n getData(data, rowsCount, page, rowsPerPage, pagination).map(\n item => (\n <Row\n key={rowKeyExtractor(item)}\n rowKeyExtractor={rowKeyExtractor}\n handleSelect={handleSelect}\n selectable={selectable}\n headers={headers}\n data={item}\n checked={selectedRows?.some(\n sel => rowKeyExtractor(sel) === rowKeyExtractor(item)\n )}\n />\n )\n )\n ) : (\n <tr>\n <td colSpan={99}>{emptyPlaceholder}</td>\n </tr>\n )}\n </TBody>\n ) : (\n <TBody>\n {[...Array(rowsPerPage).keys()].map(idx => (\n <Tr key={`skeleton-${idx}`}>\n <Td colSpan={99} style={{ padding: 0 }}>\n {skeletonComponent ?? (\n <Skeleton height={55} radius=\"mili\" animation=\"wave\">\n <div style={{ width: '100%' }} />\n </Skeleton>\n )}\n </Td>\n </Tr>\n ))}\n </TBody>\n )}\n\n {(Number(rowsCount) > 0 || data.length > 0) && (\n <Footer\n exportFunction={exportFunction}\n exportLabel={exportLabel}\n rowsPerPageLabel={rowsPerPageLabel}\n rowsPerPage={rowsPerPage}\n onRowsPerPageChange={onRowsPerPageChange}\n rowsPerPageOptions={rowsPerPageOptions}\n rowsCount={rowsCount ?? data.length}\n page={page}\n onPageChange={onPageChange}\n pagination={pagination}\n exportComponent={exportComponent}\n />\n )}\n </Table>\n </TableContainer>\n );\n};\n\nexport default DataGrid;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.js","sources":["../../../../../src/components/organisms/DataGrid/DataGrid.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Table,\n TableToolbar,\n TableContainer,\n Tr,\n Td,\n TBody,\n} from '../../atoms/Table';\nimport { Header } from './Header';\nimport { Row } from './Row';\nimport { HeadersType } from './types';\nimport { Footer } from './Footer';\nimport { Skeleton } from '../../atoms/Skeleton';\nimport { getData, removeElement } from './utils';\n\nexport interface DataGridProps<Data>\n extends React.HTMLAttributes<HTMLDivElement> {\n headers: HeadersType<Data>[];\n data: Data[];\n /** Unique identifier for row data */\n rowKeyExtractor: (data: Data) => string;\n toolbarRightIcons?: React.ReactNode;\n toolbarFooter?: React.ReactNode;\n toolbarTitle: string;\n /** Enable rows selection */\n selectable?: boolean;\n /** Selected items */\n selectedRows?: Data[];\n /** Selection handler */\n onSelectedRows?: (data: Data[] | ((prevState: Data[]) => Data[])) => void;\n /** Shows pagination controls */\n pagination?: boolean;\n /** Results per page */\n rowsPerPage?: number;\n /** Results per page handler */\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions?: number[];\n rowsPerPageLabel?: (value: number) => string;\n /** Export button label */\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements. Only specify this property if your data is server-side */\n rowsCount?: number;\n /** Current page. Always start in 0 */\n page?: number;\n /** Current page handler */\n onPageChange?: (page: number) => void;\n /** Loading state. The amount of skeleton rows is based on current rowsPerPage */\n loading?: boolean;\n /** Custom skeleton component for better visual */\n skeletonComponent?: React.ReactNode;\n /** Empty state placeholder */\n emptyPlaceholder?: React.ReactNode;\n /** Export component, use if default button with label is not ideal. This prop, not receive \"exportLabel\" and \"exportFunction\" */\n exportComponent?: React.ReactNode;\n}\n\n/** Note: Consider memoizing functions for a better performance */\nconst DataGrid = <Data,>({\n headers,\n data,\n rowKeyExtractor,\n toolbarTitle,\n toolbarFooter,\n toolbarRightIcons,\n selectable = false,\n selectedRows = [],\n onSelectedRows,\n pagination = false,\n rowsPerPage = 10,\n onRowsPerPageChange,\n rowsPerPageOptions: _rowsPerPageOptions,\n rowsPerPageLabel: _rowsPerPageLabel,\n exportLabel = 'Exportar',\n exportFunction,\n rowsCount,\n page = 0,\n onPageChange,\n loading = false,\n skeletonComponent,\n emptyPlaceholder,\n exportComponent,\n ...rest\n}: DataGridProps<Data>): JSX.Element => {\n if (selectable && (!selectedRows || !onSelectedRows)) {\n throw new Error(\n '[DataGrid] You should specify selection handlers (selectedRows, onSelectedRows)'\n );\n }\n\n const rowsPerPageLabel = React.useCallback(\n value =>\n _rowsPerPageLabel\n ? _rowsPerPageLabel(value)\n : `Exibir por página: ${value} itens`,\n [_rowsPerPageLabel]\n );\n const rowsPerPageOptions = React.useMemo(\n () => _rowsPerPageOptions ?? [10, 25, 50],\n [_rowsPerPageOptions]\n );\n\n const handleSelect = React.useCallback(\n (current, checked) => {\n if (checked) {\n onSelectedRows?.(prevState => [...prevState, current]);\n return;\n }\n\n onSelectedRows?.(prevState => {\n const idx = prevState.findIndex(\n el => rowKeyExtractor(el) === rowKeyExtractor(current)\n );\n return [...removeElement(prevState, idx)];\n });\n },\n [onSelectedRows, rowKeyExtractor]\n );\n\n return (\n <TableContainer {...rest}>\n <TableToolbar\n title={toolbarTitle}\n rightIcons={toolbarRightIcons}\n footer={toolbarFooter}\n />\n <Table>\n <Header\n selectable={selectable}\n headers={headers}\n data={data}\n rowsCount={rowsCount ?? data.length}\n rowKeyExtractor={rowKeyExtractor}\n selectedRows={selectedRows}\n onSelected={onSelectedRows}\n />\n\n {!loading ? (\n <TBody>\n {data.length > 0 ? (\n getData(data, rowsCount, page, rowsPerPage, pagination).map(\n item => (\n <Row\n key={rowKeyExtractor(item)}\n rowKeyExtractor={rowKeyExtractor}\n handleSelect={handleSelect}\n selectable={selectable}\n headers={headers}\n data={item}\n checked={selectedRows?.some(\n sel => rowKeyExtractor(sel) === rowKeyExtractor(item)\n )}\n />\n )\n )\n ) : (\n <tr>\n <td colSpan={99}>{emptyPlaceholder}</td>\n </tr>\n )}\n </TBody>\n ) : (\n <TBody>\n {[...Array(rowsPerPage).keys()].map(idx => (\n <Tr key={`skeleton-${idx}`}>\n <Td colSpan={99} style={{ padding: 0 }}>\n {skeletonComponent ?? (\n <Skeleton height={55} radius=\"mili\" animation=\"wave\">\n <div style={{ width: '100%' }} />\n </Skeleton>\n )}\n </Td>\n </Tr>\n ))}\n </TBody>\n )}\n\n {(Number(rowsCount) > 0 || data.length > 0) && (\n <Footer\n exportFunction={exportFunction}\n exportLabel={exportLabel}\n rowsPerPageLabel={rowsPerPageLabel}\n rowsPerPage={rowsPerPage}\n onRowsPerPageChange={onRowsPerPageChange}\n rowsPerPageOptions={rowsPerPageOptions}\n rowsCount={rowsCount ?? data.length}\n page={page}\n onPageChange={onPageChange}\n pagination={pagination}\n exportComponent={exportComponent}\n />\n )}\n </Table>\n </TableContainer>\n );\n};\n\nexport default DataGrid;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/organisms/DataGrid/Footer/Footer.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '../../../atoms/Button';\nimport { Icon, Text } from '@tecsinapse/react-core';\nimport { Select } from '../../../molecules/Select';\nimport { TFoot, Tr } from '../../../atoms/Table';\nimport {\n FooterContainer,\n FooterContainerEnd,\n FooterContainerStart,\n HoveredText,\n NavigationButton,\n PageButton,\n PagesContainer,\n SelectContainer,\n TdFooterStyled,\n TextPagination,\n} from './styled';\n\ninterface DataGridFooterProps {\n rowsPerPage: number;\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions: number[];\n rowsPerPageLabel: (value: number) => string;\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements */\n rowsCount: number;\n page: number;\n onPageChange?: (page: number) => void;\n pagination: boolean;\n exportComponent?: React.ReactNode;\n}\n\nconst Footer: React.FC<DataGridFooterProps> = ({\n rowsPerPage,\n onRowsPerPageChange,\n rowsPerPageOptions,\n rowsPerPageLabel,\n exportFunction,\n exportLabel,\n rowsCount,\n page,\n onPageChange,\n pagination,\n exportComponent,\n}) => {\n if (pagination && (!onPageChange || !onRowsPerPageChange)) {\n throw new Error(\n '[DataGrid] You should specify pagination handlers (onPageChange, onRowsPerPageChange)'\n );\n }\n\n const getPaginationSlice = (): { start: number; end: number } => {\n const totalPages = Math.ceil(rowsCount / rowsPerPage);\n if (totalPages < 4) {\n return { start: 0, end: totalPages };\n }\n if (page === 0) {\n return { start: page, end: page + 3 };\n }\n if (page === totalPages - 1) {\n return { start: page - 2, end: page + 1 };\n }\n return { start: page - 1, end: page + 2 };\n };\n\n const handleRowsPerPage = React.useCallback(\n value => {\n onRowsPerPageChange?.(value as number);\n onPageChange?.(0);\n },\n [onPageChange, onRowsPerPageChange]\n );\n const currentInitItem = page * rowsPerPage + 1;\n const currentFinalItem =\n (page + 1) * rowsPerPage > rowsCount ? rowsCount : (page + 1) * rowsPerPage;\n\n return (\n <TFoot>\n <Tr>\n <TdFooterStyled colSpan={99}>\n <FooterContainer>\n <FooterContainerStart>\n {pagination && (\n <SelectContainer>\n <Select\n options={rowsPerPageOptions}\n onSelect={handleRowsPerPage}\n value={rowsPerPage}\n type={'single'}\n keyExtractor={value => String(value)}\n labelExtractor={rowsPerPageLabel}\n anchor=\"top\"\n />\n </SelectContainer>\n )}\n {exportComponent && !exportFunction && <>{exportComponent}</>}\n {exportFunction && (\n <HoveredText>\n <Button variant=\"outlined\" onPress={() => exportFunction()}>\n <Text fontColor=\"orange\" fontWeight=\"bold\">\n {exportLabel}\n </Text>\n </Button>\n </HoveredText>\n )}\n </FooterContainerStart>\n {pagination && (\n <>\n <TextPagination\n fontWeight={'bold'}\n fontColor={'medium'}\n >{`Exibindo ${currentInitItem} a ${currentFinalItem} de ${rowsCount} registros`}</TextPagination>\n <FooterContainerEnd>\n <NavigationButton\n onPress={() => onPageChange?.(page - 1)}\n disabled={page === 0}\n >\n <Icon\n name={'chevron-left'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n <PagesContainer>\n {[...Array(Math.ceil(rowsCount / rowsPerPage)).keys()]\n .slice(\n getPaginationSlice().start,\n getPaginationSlice().end\n )\n .map(value => (\n <HoveredText key={`page-${value}`}>\n <PageButton\n variant={page === value ? 'outlined' : 'text'}\n onPress={() => onPageChange?.(value)}\n >\n <Text fontColor=\"medium\" fontWeight=\"bold\">\n {value + 1}\n </Text>\n </PageButton>\n </HoveredText>\n ))}\n </PagesContainer>\n <NavigationButton\n onPress={() => onPageChange?.(page + 1)}\n disabled={page === Math.ceil(rowsCount / rowsPerPage) - 1}\n >\n <Icon\n name={'chevron-right'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n </FooterContainerEnd>\n </>\n )}\n </FooterContainer>\n </TdFooterStyled>\n </Tr>\n </TFoot>\n );\n};\n\nexport default React.memo(Footer);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Footer.js","sources":["../../../../../../src/components/organisms/DataGrid/Footer/Footer.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '../../../atoms/Button';\nimport { Icon, Text } from '@tecsinapse/react-core';\nimport { Select } from '../../../molecules/Select';\nimport { TFoot, Tr } from '../../../atoms/Table';\nimport {\n FooterContainer,\n FooterContainerEnd,\n FooterContainerStart,\n HoveredText,\n NavigationButton,\n PageButton,\n PagesContainer,\n SelectContainer,\n TdFooterStyled,\n TextPagination,\n} from './styled';\n\ninterface DataGridFooterProps {\n rowsPerPage: number;\n onRowsPerPageChange?: (value: number) => void;\n rowsPerPageOptions: number[];\n rowsPerPageLabel: (value: number) => string;\n exportLabel?: string;\n exportFunction?: () => void;\n /** Total data elements */\n rowsCount: number;\n page: number;\n onPageChange?: (page: number) => void;\n pagination: boolean;\n exportComponent?: React.ReactNode;\n}\n\nconst Footer: React.FC<DataGridFooterProps> = ({\n rowsPerPage,\n onRowsPerPageChange,\n rowsPerPageOptions,\n rowsPerPageLabel,\n exportFunction,\n exportLabel,\n rowsCount,\n page,\n onPageChange,\n pagination,\n exportComponent,\n}) => {\n if (pagination && (!onPageChange || !onRowsPerPageChange)) {\n throw new Error(\n '[DataGrid] You should specify pagination handlers (onPageChange, onRowsPerPageChange)'\n );\n }\n\n const getPaginationSlice = (): { start: number; end: number } => {\n const totalPages = Math.ceil(rowsCount / rowsPerPage);\n if (totalPages < 4) {\n return { start: 0, end: totalPages };\n }\n if (page === 0) {\n return { start: page, end: page + 3 };\n }\n if (page === totalPages - 1) {\n return { start: page - 2, end: page + 1 };\n }\n return { start: page - 1, end: page + 2 };\n };\n\n const handleRowsPerPage = React.useCallback(\n value => {\n onRowsPerPageChange?.(value as number);\n onPageChange?.(0);\n },\n [onPageChange, onRowsPerPageChange]\n );\n const currentInitItem = page * rowsPerPage + 1;\n const currentFinalItem =\n (page + 1) * rowsPerPage > rowsCount ? rowsCount : (page + 1) * rowsPerPage;\n\n return (\n <TFoot>\n <Tr>\n <TdFooterStyled colSpan={99}>\n <FooterContainer>\n <FooterContainerStart>\n {pagination && (\n <SelectContainer>\n <Select\n options={rowsPerPageOptions}\n onSelect={handleRowsPerPage}\n value={rowsPerPage}\n type={'single'}\n keyExtractor={value => String(value)}\n labelExtractor={rowsPerPageLabel}\n anchor=\"top\"\n />\n </SelectContainer>\n )}\n {exportComponent && !exportFunction && <>{exportComponent}</>}\n {exportFunction && (\n <HoveredText>\n <Button variant=\"outlined\" onPress={() => exportFunction()}>\n <Text fontColor=\"orange\" fontWeight=\"bold\">\n {exportLabel}\n </Text>\n </Button>\n </HoveredText>\n )}\n </FooterContainerStart>\n {pagination && (\n <>\n <TextPagination\n fontWeight={'bold'}\n fontColor={'medium'}\n >{`Exibindo ${currentInitItem} a ${currentFinalItem} de ${rowsCount} registros`}</TextPagination>\n <FooterContainerEnd>\n <NavigationButton\n onPress={() => onPageChange?.(page - 1)}\n disabled={page === 0}\n >\n <Icon\n name={'chevron-left'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n <PagesContainer>\n {[...Array(Math.ceil(rowsCount / rowsPerPage)).keys()]\n .slice(\n getPaginationSlice().start,\n getPaginationSlice().end\n )\n .map(value => (\n <HoveredText key={`page-${value}`}>\n <PageButton\n variant={page === value ? 'outlined' : 'text'}\n onPress={() => onPageChange?.(value)}\n >\n <Text fontColor=\"medium\" fontWeight=\"bold\">\n {value + 1}\n </Text>\n </PageButton>\n </HoveredText>\n ))}\n </PagesContainer>\n <NavigationButton\n onPress={() => onPageChange?.(page + 1)}\n disabled={page === Math.ceil(rowsCount / rowsPerPage) - 1}\n >\n <Icon\n name={'chevron-right'}\n type={'material-community'}\n fontColor={'light'}\n />\n </NavigationButton>\n </FooterContainerEnd>\n </>\n )}\n </FooterContainer>\n </TdFooterStyled>\n </Tr>\n </TFoot>\n );\n};\n\nexport default React.memo(Footer);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../../../src/components/organisms/DataGrid/Footer/styled.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as nativeStyled } from '@emotion/native';\nimport { StyleProps, Text } from '@tecsinapse/react-core';\nimport { Td } from '../../../atoms/Table';\nimport { Button } from '../../../atoms/Button';\n\nexport const TdFooterStyled = styled(Td)<Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.centi} 0 0 0;\n`;\n\nexport const FlexContainer = styled('div')`\n display: flex;\n flex-grow: 1;\n`;\n\nexport const FooterContainer = styled(FlexContainer)`\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const FooterContainerStart = styled(FlexContainer)`\n justify-content: flex-start;\n`;\n\nexport const FooterContainerEnd = styled(FlexContainer)`\n justify-content: flex-end;\n`;\n\nexport const SelectContainer = styled('div')<Partial<StyleProps>>`\n margin-right: ${({ theme }) => theme.spacing.deca};\n`;\n\nexport const NavigationButton = nativeStyled(Button)<Partial<StyleProps>>` \n border-radius: ${({ theme }) => theme.borderRadius.mili};\n height: 44px;\n justify-content: center;\n padding: ${({ theme }) => theme.spacing.centi};\n width: 44px; \n`;\n\n// Se o botão estiver ativo, renderizar outlined, caso contrario o botão é text\nexport const PageButton = nativeStyled(NavigationButton)<Partial<StyleProps>>`\n padding-right: ${({ theme }) => theme.spacing.deca};\n padding-left: ${({ theme }) => theme.spacing.deca};\n border-radius: ${({ theme }) => theme.borderRadius.mili};\n justify-content: center;\n margin-left: ${({ theme }) => theme.spacing.micro};\n margin-right: ${({ theme }) => theme.spacing.micro};\n`;\n\nexport const PagesContainer = styled('div')<Partial<StyleProps>>`\n margin: 0 20px;\n display: flex;\n`;\n\nexport const HoveredText = styled('div')<Partial<StyleProps>>`\n user-select: none;\n &:hover * {\n color: ${({ theme }) => theme.font.color.light};\n }\n`;\n\nexport const TextPagination = nativeStyled(Text)<Partial<StyleProps>>`\n padding-right: ${({ theme }) => theme.spacing.deca};\n padding-left: ${({ theme }) => theme.spacing.deca};\n\n`;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAMa,MAAA,cAAA,GAAiB,OAAO,EAAE,CAAA,CAAA;AAAA,WAAA,EAC1B,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,KAAA,CAAA;AAAA,EAAA;AAG7B,MAAA,aAAA,GAAgB,OAAO,KAAK,CAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAK5B,MAAA,eAAA,GAAkB,OAAO,aAAa,CAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAKtC,MAAA,oBAAA,GAAuB,OAAO,aAAa,CAAA,CAAA;AAAA;AAAA,EAAA;AAI3C,MAAA,kBAAA,GAAqB,OAAO,aAAa,CAAA,CAAA;AAAA;AAAA,EAAA;AAIzC,MAAA,eAAA,GAAkB,OAAO,KAAK,CAAA,CAAA;AAAA,gBAAA,EACzB,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA,EAAA;AAGlC,MAAA,gBAAA,GAAmB,aAAa,MAAM,CAAA,CAAA;AAAA,mBAAA,EAC9B,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,YAAa,CAAA,IAAA,CAAA;AAAA;AAAA;AAAA,aAAA,EAGxC,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,KAAA,CAAA;AAAA;AAAA,EAAA;AAK/B,MAAA,UAAA,GAAa,aAAa,gBAAgB,CAAA,CAAA;AAAA,mBAAA,EAClC,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA,kBAAA,EAC9B,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA,mBAAA,EAC5B,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,YAAa,CAAA,IAAA,CAAA;AAAA;AAAA,iBAAA,EAEpC,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,KAAA,CAAA;AAAA,kBAAA,EAC5B,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,KAAA,CAAA;AAAA,EAAA;AAGpC,MAAA,cAAA,GAAiB,OAAO,KAAK,CAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAK7B,MAAA,WAAA,GAAc,OAAO,KAAK,CAAA,CAAA;AAAA;AAAA;AAAA,WAAA,EAG1B,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,KAAK,KAAM,CAAA,KAAA,CAAA;AAAA;AAAA,EAAA;AAIhC,MAAA,cAAA,GAAiB,aAAa,IAAI,CAAA,CAAA;AAAA,iBAAA,EAC5B,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA,gBAAA,EAC9B,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../../../src/components/organisms/DataGrid/Footer/styled.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { default as nativeStyled } from '@emotion/native';\nimport { StyleProps, Text } from '@tecsinapse/react-core';\nimport { Td } from '../../../atoms/Table';\nimport { Button } from '../../../atoms/Button';\n\nexport const TdFooterStyled = styled(Td)<Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.centi} 0 0 0;\n`;\n\nexport const FlexContainer = styled('div')`\n display: flex;\n flex-grow: 1;\n`;\n\nexport const FooterContainer = styled(FlexContainer)`\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const FooterContainerStart = styled(FlexContainer)`\n justify-content: flex-start;\n`;\n\nexport const FooterContainerEnd = styled(FlexContainer)`\n justify-content: flex-end;\n`;\n\nexport const SelectContainer = styled('div')<Partial<StyleProps>>`\n margin-right: ${({ theme }) => theme.spacing.deca};\n`;\n\nexport const NavigationButton = nativeStyled(Button)<Partial<StyleProps>>` \n border-radius: ${({ theme }) => theme.borderRadius.mili};\n height: 44px;\n justify-content: center;\n padding: ${({ theme }) => theme.spacing.centi};\n width: 44px; \n`;\n\n// Se o botão estiver ativo, renderizar outlined, caso contrario o botão é text\nexport const PageButton = nativeStyled(NavigationButton)<Partial<StyleProps>>`\n padding-right: ${({ theme }) => theme.spacing.deca};\n padding-left: ${({ theme }) => theme.spacing.deca};\n border-radius: ${({ theme }) => theme.borderRadius.mili};\n justify-content: center;\n margin-left: ${({ theme }) => theme.spacing.micro};\n margin-right: ${({ theme }) => theme.spacing.micro};\n`;\n\nexport const PagesContainer = styled('div')<Partial<StyleProps>>`\n margin: 0 20px;\n display: flex;\n`;\n\nexport const HoveredText = styled('div')<Partial<StyleProps>>`\n user-select: none;\n &:hover * {\n color: ${({ theme }) => theme.font.color.light};\n }\n`;\n\nexport const TextPagination = nativeStyled(Text)<Partial<StyleProps>>`\n padding-right: ${({ theme }) => theme.spacing.deca};\n padding-left: ${({ theme }) => theme.spacing.deca};\n\n`;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAMa,MAAA,cAAA,GAAiB,OAAO,EAAE,CAAA,CAAA;AAAA,WAAA,EAC1B,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,EAAA;AAGlC,MAAA,aAAA,GAAgB,OAAO,KAAK,CAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAK5B,MAAA,eAAA,GAAkB,OAAO,aAAa,CAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAKtC,MAAA,oBAAA,GAAuB,OAAO,aAAa,CAAA,CAAA;AAAA;AAAA,EAAA;AAI3C,MAAA,kBAAA,GAAqB,OAAO,aAAa,CAAA,CAAA;AAAA;AAAA,EAAA;AAIzC,MAAA,eAAA,GAAkB,OAAO,KAAK,CAAA,CAAA;AAAA,gBAAA,EACzB,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA,EAAA;AAGtC,MAAA,gBAAA,GAAmB,aAAa,MAAM,CAAA,CAAA;AAAA,mBAAA,EAC9B,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,aAAa,IAAI,CAAA;AAAA;AAAA;AAAA,aAAA,EAG5C,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA;AAAA,EAAA;AAKpC,MAAA,UAAA,GAAa,aAAa,gBAAgB,CAAA,CAAA;AAAA,mBAAA,EAClC,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA,kBAAA,EAClC,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA,mBAAA,EAChC,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,aAAa,IAAI,CAAA;AAAA;AAAA,iBAAA,EAExC,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,kBAAA,EACjC,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,EAAA;AAGzC,MAAA,cAAA,GAAiB,OAAO,KAAK,CAAA,CAAA;AAAA;AAAA;AAAA,EAAA;AAK7B,MAAA,WAAA,GAAc,OAAO,KAAK,CAAA,CAAA;AAAA;AAAA;AAAA,WAAA,EAG1B,CAAC,EAAE,KAAA,OAAY,KAAM,CAAA,IAAA,CAAK,MAAM,KAAK,CAAA;AAAA;AAAA,EAAA;AAIrC,MAAA,cAAA,GAAiB,aAAa,IAAI,CAAA,CAAA;AAAA,iBAAA,EAC5B,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA,gBAAA,EAClC,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../../../src/components/organisms/DataGrid/Header/Header.tsx"],"sourcesContent":["import React from 'react';\nimport { Checkbox, Icon, PressableSurface } from '@tecsinapse/react-core';\nimport { Th, THead, Tr } from '../../../atoms/Table';\nimport { CheckboxHeader } from './styled';\nimport { HeadersType, SortState } from '../types';\nimport {\n findCurrentItemsOnData,\n findUnselectedItemsOnData,\n getIconColor,\n getIconSuffix,\n NEXT_STATE,\n} from './utils';\n\nexport interface DataGridHeaderProps<Data> {\n headers: HeadersType<Data>[];\n data: Data[];\n selectedRows: Data[];\n onSelected?: (data: Data[]) => void;\n rowKeyExtractor: (data: Data) => string;\n rowsCount: number;\n selectable?: boolean;\n}\n\nconst Header = <Data,>({\n selectable,\n rowsCount,\n headers,\n data,\n rowKeyExtractor,\n selectedRows,\n onSelected,\n}: DataGridHeaderProps<Data>): JSX.Element => {\n const [sortDirection, setSortDirection] = React.useState<SortState>(\n NEXT_STATE.initial\n );\n\n const handleSortDirection = sort => {\n sort(NEXT_STATE[sortDirection]);\n setSortDirection(NEXT_STATE[sortDirection]);\n };\n\n const handleSelectAll = checked => {\n if (!checked) {\n onSelected?.([]);\n return;\n }\n\n const currentItemsOnData = findCurrentItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n const unselectedItemsOnData = findUnselectedItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n if (checked && selectedRows.length < 1) {\n onSelected?.(data);\n return;\n }\n if (checked && currentItemsOnData.length < 1) {\n onSelected?.(unselectedItemsOnData.concat(selectedRows));\n return;\n }\n onSelected?.(selectedRows.concat(unselectedItemsOnData));\n };\n\n return (\n <THead>\n <Tr>\n {selectable && (\n <CheckboxHeader>\n <Checkbox\n checked={rowsCount === selectedRows?.length}\n onChange={handleSelectAll}\n />\n </CheckboxHeader>\n )}\n {headers.map(({ label, sort, justifyContent = 'flex-start' }) => (\n <Th key={label}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent,\n }}\n >\n {label}\n {sort && (\n <div style={{ marginLeft: 8 }}>\n <PressableSurface onPress={() => handleSortDirection(sort)}>\n <Icon\n name={`sort-alphabetical-${getIconSuffix(sortDirection)}`}\n type={'material-community'}\n fontColor={getIconColor(sortDirection)}\n />\n </PressableSurface>\n </div>\n )}\n </div>\n </Th>\n ))}\n </Tr>\n </THead>\n );\n};\n\nexport default Header;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../../../src/components/organisms/DataGrid/Header/Header.tsx"],"sourcesContent":["import React from 'react';\nimport { Checkbox, Icon, PressableSurface } from '@tecsinapse/react-core';\nimport { Th, THead, Tr } from '../../../atoms/Table';\nimport { CheckboxHeader } from './styled';\nimport { HeadersType, SortState } from '../types';\nimport {\n findCurrentItemsOnData,\n findUnselectedItemsOnData,\n getIconColor,\n getIconSuffix,\n NEXT_STATE,\n} from './utils';\n\nexport interface DataGridHeaderProps<Data> {\n headers: HeadersType<Data>[];\n data: Data[];\n selectedRows: Data[];\n onSelected?: (data: Data[]) => void;\n rowKeyExtractor: (data: Data) => string;\n rowsCount: number;\n selectable?: boolean;\n}\n\nconst Header = <Data,>({\n selectable,\n rowsCount,\n headers,\n data,\n rowKeyExtractor,\n selectedRows,\n onSelected,\n}: DataGridHeaderProps<Data>): JSX.Element => {\n const [sortDirection, setSortDirection] = React.useState<SortState>(\n NEXT_STATE.initial\n );\n\n const handleSortDirection = sort => {\n sort(NEXT_STATE[sortDirection]);\n setSortDirection(NEXT_STATE[sortDirection]);\n };\n\n const handleSelectAll = checked => {\n if (!checked) {\n onSelected?.([]);\n return;\n }\n\n const currentItemsOnData = findCurrentItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n const unselectedItemsOnData = findUnselectedItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n if (checked && selectedRows.length < 1) {\n onSelected?.(data);\n return;\n }\n if (checked && currentItemsOnData.length < 1) {\n onSelected?.(unselectedItemsOnData.concat(selectedRows));\n return;\n }\n onSelected?.(selectedRows.concat(unselectedItemsOnData));\n };\n\n return (\n <THead>\n <Tr>\n {selectable && (\n <CheckboxHeader>\n <Checkbox\n checked={rowsCount === selectedRows?.length}\n onChange={handleSelectAll}\n />\n </CheckboxHeader>\n )}\n {headers.map(({ label, sort, justifyContent = 'flex-start' }) => (\n <Th key={label}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent,\n }}\n >\n {label}\n {sort && (\n <div style={{ marginLeft: 8 }}>\n <PressableSurface onPress={() => handleSortDirection(sort)}>\n <Icon\n name={`sort-alphabetical-${getIconSuffix(sortDirection)}`}\n type={'material-community'}\n fontColor={getIconColor(sortDirection)}\n />\n </PressableSurface>\n </div>\n )}\n </div>\n </Th>\n ))}\n </Tr>\n </THead>\n );\n};\n\nexport default Header;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../../../src/components/organisms/DataGrid/Header/styled.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { StyleProps } from '@tecsinapse/react-core';\nimport { Th } from '../../../atoms/Table';\n\nexport const CheckboxHeader = styled(Th)<Partial<StyleProps>>`\n padding: 0 0 0 ${({ theme }) => theme.spacing.mili};\n & * {\n user-select: none;\n }\n`;\n"],"names":[],"mappings":";;;;;;;;;;;;AAIa,MAAA,cAAA,GAAiB,OAAO,EAAE,CAAA,CAAA;AAAA,iBAAA,EACpB,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../../../src/components/organisms/DataGrid/Header/styled.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { StyleProps } from '@tecsinapse/react-core';\nimport { Th } from '../../../atoms/Table';\n\nexport const CheckboxHeader = styled(Th)<Partial<StyleProps>>`\n padding: 0 0 0 ${({ theme }) => theme.spacing.mili};\n & * {\n user-select: none;\n }\n`;\n"],"names":[],"mappings":";;;;;;;;;;;;AAIa,MAAA,cAAA,GAAiB,OAAO,EAAE,CAAA,CAAA;AAAA,iBAAA,EACpB,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Row.js","sources":["../../../../../../src/components/organisms/DataGrid/Row/Row.tsx"],"sourcesContent":["import React from 'react';\nimport { Checkbox } from '@tecsinapse/react-core';\nimport { CheckboxCell } from '../styled';\nimport { Td, Tr } from '../../../atoms/Table';\n\nconst Row = ({\n rowKeyExtractor,\n data,\n checked: _checked,\n handleSelect,\n selectable,\n headers,\n}) => {\n return (\n <Tr key={rowKeyExtractor(data)}>\n {selectable && (\n <CheckboxCell>\n <Checkbox\n checked={_checked}\n onChange={checked => handleSelect(data, checked)}\n />\n </CheckboxCell>\n )}\n {headers.map(({ label, render }) => (\n <Td key={`row-${rowKeyExtractor(data)}-column-${label}`}>\n {render(data)}\n </Td>\n ))}\n </Tr>\n );\n};\n\nexport default React.memo(Row);\n"],"names":[],"mappings":";;;;;;;;;;;AAKA,MAAM,MAAM,CAAC;AAAA,EACX,eAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAS,EAAA,QAAA;AAAA,EACT,YAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AACF,CAAM,KAAA;AACJ,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,MAAG,GAAK,EAAA,eAAA,CAAgB,IAAI,CAC1B,EAAA,EAAA,UAAA,wCACE,YACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,OAAS,EAAA,QAAA;AAAA,MACT,QAAU,EAAA,CAAA,OAAA,KAAW,YAAa,CAAA,IAAA,EAAM,OAAO,CAAA;AAAA,KAAA;AAAA,GAEnD,GAED,OAAQ,CAAA,GAAA,CAAI,CAAC,EAAE,KAAA,EAAO,QACrB,qBAAA,KAAA,CAAA,aAAA,CAAC,MAAG,GAAK,EAAA,CAAA,IAAA,EAAO,gBAAgB,IAAI,CAAA,CAAA,QAAA,EAAY,WAC7C,MAAO,CAAA,IAAI,CACd,CACD,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,YAAe,KAAA,CAAM,KAAK,GAAG,CAAA;;;;"}
1
+ {"version":3,"file":"Row.js","sources":["../../../../../../src/components/organisms/DataGrid/Row/Row.tsx"],"sourcesContent":["import React from 'react';\nimport { Checkbox } from '@tecsinapse/react-core';\nimport { CheckboxCell } from '../styled';\nimport { Td, Tr } from '../../../atoms/Table';\n\nconst Row = ({\n rowKeyExtractor,\n data,\n checked: _checked,\n handleSelect,\n selectable,\n headers,\n}) => {\n return (\n <Tr key={rowKeyExtractor(data)}>\n {selectable && (\n <CheckboxCell>\n <Checkbox\n checked={_checked}\n onChange={checked => handleSelect(data, checked)}\n />\n </CheckboxCell>\n )}\n {headers.map(({ label, render }) => (\n <Td key={`row-${rowKeyExtractor(data)}-column-${label}`}>\n {render(data)}\n </Td>\n ))}\n </Tr>\n );\n};\n\nexport default React.memo(Row);\n"],"names":[],"mappings":";;;;;;;;;;;AAKA,MAAM,MAAM,CAAC;AAAA,EACX,eAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAS,EAAA,QAAA;AAAA,EACT,YAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AACF,CAAM,KAAA;AACJ,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,MAAG,GAAK,EAAA,eAAA,CAAgB,IAAI,CAC1B,EAAA,EAAA,UAAA,wCACE,YACC,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,OAAS,EAAA,QAAA;AAAA,MACT,QAAU,EAAA,CAAA,OAAA,KAAW,YAAa,CAAA,IAAA,EAAM,OAAO,CAAA;AAAA,KAAA;AAAA,GAEnD,GAED,OAAQ,CAAA,GAAA,CAAI,CAAC,EAAE,KAAA,EAAO,MAAO,EAAA,qBAC3B,KAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAG,KAAK,CAAO,IAAA,EAAA,eAAA,CAAgB,IAAI,CAAC,CAAW,QAAA,EAAA,KAAK,MAClD,MAAO,CAAA,IAAI,CACd,CACD,CACH,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,YAAe,KAAA,CAAM,KAAK,GAAG,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../../src/components/organisms/DataGrid/styled.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { StyleProps } from '@tecsinapse/react-core';\nimport { Td } from '../../atoms/Table';\n\nexport const CheckboxCell = styled(Td)<Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.mili};\n & * {\n user-select: none;\n }\n`;\n"],"names":[],"mappings":";;;;;;;;;;;AAIa,MAAA,YAAA,GAAe,OAAO,EAAE,CAAA,CAAA;AAAA,WAAA,EACxB,CAAC,EAAE,KAAM,EAAA,KAAM,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../../src/components/organisms/DataGrid/styled.ts"],"sourcesContent":["import styled from '@emotion/styled';\nimport { StyleProps } from '@tecsinapse/react-core';\nimport { Td } from '../../atoms/Table';\n\nexport const CheckboxCell = styled(Td)<Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.mili};\n & * {\n user-select: none;\n }\n`;\n"],"names":[],"mappings":";;;;;;;;;;;AAIa,MAAA,YAAA,GAAe,OAAO,EAAE,CAAA,CAAA;AAAA,WAAA,EACxB,CAAC,EAAE,KAAA,EAAY,KAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tecsinapse/react-web-kit",
3
3
  "description": "TecSinapse React components",
4
- "version": "2.0.1",
4
+ "version": "2.1.0",
5
5
  "license": "MIT",
6
6
  "main": "dist/cjs/index.js",
7
7
  "module": "dist/esm/index.js",
@@ -41,7 +41,7 @@
41
41
  "peerDependencies": {
42
42
  "react": "^18.0.0",
43
43
  "react-dom": "^18.0.0",
44
- "react-native-web": "^0.18.0"
44
+ "react-native-web": ">=0.18.0 <1"
45
45
  },
46
- "gitHead": "2c84aa701ebd7896fb05e9be7454616d8e3c0786"
46
+ "gitHead": "ebaa6ff495bdd77c5cc811b05a1e7d62de5c30a7"
47
47
  }