@economic/taco 1.1.13-alpha.0 → 1.3.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.
- package/dist/components/Group/Group.d.ts +11 -1
- package/dist/components/Icon/components/ChevronLeftSolid.d.ts +3 -0
- package/dist/components/Icon/components/ChevronRightSolid.d.ts +3 -0
- package/dist/components/Icon/components/index.d.ts +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Menu/Menu.d.ts +2 -2
- package/dist/components/Menu/components/Item.d.ts +1 -1
- package/dist/components/Menu/components/Link.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts +2 -2
- package/dist/components/Toast/Toaster.d.ts +2 -2
- package/dist/esm/components/Accordion/Accordion.js +31 -34
- package/dist/esm/components/Accordion/Accordion.js.map +1 -1
- package/dist/esm/components/Backdrop/Backdrop.js +2 -2
- package/dist/esm/components/Backdrop/Backdrop.js.map +1 -1
- package/dist/esm/components/Badge/Badge.js +14 -14
- package/dist/esm/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/Banner/Banner.js +7 -5
- package/dist/esm/components/Banner/Banner.js.map +1 -1
- package/dist/esm/components/Banner/util.js +1 -1
- package/dist/esm/components/Banner/util.js.map +1 -1
- package/dist/esm/components/Button/Button.js +12 -13
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Button/util.js +18 -23
- package/dist/esm/components/Button/util.js.map +1 -1
- package/dist/esm/components/Calendar/Calendar.js +56 -71
- package/dist/esm/components/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/Card/Card.js +13 -12
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +15 -18
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Combobox/Combobox.js +23 -25
- package/dist/esm/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/components/Combobox/useCombobox.js +78 -99
- package/dist/esm/components/Combobox/useCombobox.js.map +1 -1
- package/dist/esm/components/Datepicker/Datepicker.js +48 -52
- package/dist/esm/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/esm/components/Datepicker/useDatepicker.js +27 -34
- package/dist/esm/components/Datepicker/useDatepicker.js.map +1 -1
- package/dist/esm/components/Dialog/Context.js +4 -4
- package/dist/esm/components/Dialog/Context.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +39 -58
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/Dialog/components/Content.js +39 -44
- package/dist/esm/components/Dialog/components/Content.js.map +1 -1
- package/dist/esm/components/Dialog/components/Drawer.js +3 -3
- package/dist/esm/components/Dialog/components/Drawer.js.map +1 -1
- package/dist/esm/components/Dialog/components/Extra.js +2 -2
- package/dist/esm/components/Dialog/components/Extra.js.map +1 -1
- package/dist/esm/components/Dialog/components/Trigger.js +2 -2
- package/dist/esm/components/Dialog/components/Trigger.js.map +1 -1
- package/dist/esm/components/Field/Field.js +10 -12
- package/dist/esm/components/Field/Field.js.map +1 -1
- package/dist/esm/components/Form/Form.js +6 -8
- package/dist/esm/components/Form/Form.js.map +1 -1
- package/dist/esm/components/Group/Group.js +9 -8
- package/dist/esm/components/Group/Group.js.map +1 -1
- package/dist/esm/components/Hanger/Hanger.js +27 -35
- package/dist/esm/components/Hanger/Hanger.js.map +1 -1
- package/dist/esm/components/HoverCard/HoverCard.js +8 -9
- package/dist/esm/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/esm/components/Icon/Icon.js +7 -8
- package/dist/esm/components/Icon/Icon.js.map +1 -1
- package/dist/esm/components/Icon/components/ChevronLeftSolid.js +20 -0
- package/dist/esm/components/Icon/components/ChevronLeftSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/ChevronRightSolid.js +20 -0
- package/dist/esm/components/Icon/components/ChevronRightSolid.js.map +1 -0
- package/dist/esm/components/Icon/components/index.js +8 -4
- package/dist/esm/components/Icon/components/index.js.map +1 -1
- package/dist/esm/components/IconButton/IconButton.js +9 -11
- package/dist/esm/components/IconButton/IconButton.js.map +1 -1
- package/dist/esm/components/Input/Input.js +25 -25
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/Input/util.js +2 -2
- package/dist/esm/components/Input/util.js.map +1 -1
- package/dist/esm/components/Listbox/Listbox.js +24 -25
- package/dist/esm/components/Listbox/Listbox.js.map +1 -1
- package/dist/esm/components/Listbox/ScrollableList.js +65 -84
- package/dist/esm/components/Listbox/ScrollableList.js.map +1 -1
- package/dist/esm/components/Listbox/useListbox.js +53 -61
- package/dist/esm/components/Listbox/useListbox.js.map +1 -1
- package/dist/esm/components/Listbox/useMultiListbox.js +69 -96
- package/dist/esm/components/Listbox/useMultiListbox.js.map +1 -1
- package/dist/esm/components/Listbox/useTypeahead.js +10 -9
- package/dist/esm/components/Listbox/useTypeahead.js.map +1 -1
- package/dist/esm/components/Listbox/util.js +48 -85
- package/dist/esm/components/Listbox/util.js.map +1 -1
- package/dist/esm/components/Menu/Context.js +2 -2
- package/dist/esm/components/Menu/Context.js.map +1 -1
- package/dist/esm/components/Menu/Menu.js +16 -34
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/Menu/components/Checkbox.js +9 -10
- package/dist/esm/components/Menu/components/Checkbox.js.map +1 -1
- package/dist/esm/components/Menu/components/Content.js +9 -11
- package/dist/esm/components/Menu/components/Content.js.map +1 -1
- package/dist/esm/components/Menu/components/Header.js +3 -3
- package/dist/esm/components/Menu/components/Header.js.map +1 -1
- package/dist/esm/components/Menu/components/Item.js +30 -31
- package/dist/esm/components/Menu/components/Item.js.map +1 -1
- package/dist/esm/components/Menu/components/Link.js +10 -11
- package/dist/esm/components/Menu/components/Link.js.map +1 -1
- package/dist/esm/components/Menu/components/RadioGroup.js +17 -19
- package/dist/esm/components/Menu/components/RadioGroup.js.map +1 -1
- package/dist/esm/components/Menu/components/Separator.js +1 -1
- package/dist/esm/components/Menu/components/Separator.js.map +1 -1
- package/dist/esm/components/Menu/components/Trigger.js +4 -4
- package/dist/esm/components/Menu/components/Trigger.js.map +1 -1
- package/dist/esm/components/Navigation/Navigation.js +35 -44
- package/dist/esm/components/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/Pagination/PageNumbers.js +23 -28
- package/dist/esm/components/Pagination/PageNumbers.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +39 -56
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/usePagination.js +7 -21
- package/dist/esm/components/Pagination/usePagination.js.map +1 -1
- package/dist/esm/components/Pagination/usePaginationShortcuts.js +13 -14
- package/dist/esm/components/Pagination/usePaginationShortcuts.js.map +1 -1
- package/dist/esm/components/Popover/Popover.js +29 -34
- package/dist/esm/components/Popover/Popover.js.map +1 -1
- package/dist/esm/components/Popover/Primitives.js +7 -8
- package/dist/esm/components/Popover/Primitives.js.map +1 -1
- package/dist/esm/components/Progress/Progress.js +11 -15
- package/dist/esm/components/Progress/Progress.js.map +1 -1
- package/dist/esm/components/Provider/Provider.js +13 -18
- package/dist/esm/components/Provider/Provider.js.map +1 -1
- package/dist/esm/components/RadioGroup/RadioGroup.js +45 -57
- package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.js +10 -12
- package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/components/Select/Select.js +30 -31
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/useSelect.js +69 -88
- package/dist/esm/components/Select/useSelect.js.map +1 -1
- package/dist/esm/components/Spinner/Spinner.js +12 -19
- package/dist/esm/components/Spinner/Spinner.js.map +1 -1
- package/dist/esm/components/Switch/Switch.js +9 -10
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/esm/components/Table/components/BaseTable.js +23 -30
- package/dist/esm/components/Table/components/BaseTable.js.map +1 -1
- package/dist/esm/components/Table/components/PaginatedTable.js +3 -7
- package/dist/esm/components/Table/components/PaginatedTable.js.map +1 -1
- package/dist/esm/components/Table/components/Table.js +18 -25
- package/dist/esm/components/Table/components/Table.js.map +1 -1
- package/dist/esm/components/Table/components/WindowedTable.js +89 -109
- package/dist/esm/components/Table/components/WindowedTable.js.map +1 -1
- package/dist/esm/components/Table/hooks/plugins/useRowActions.js +123 -148
- package/dist/esm/components/Table/hooks/plugins/useRowActions.js.map +1 -1
- package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js +57 -61
- package/dist/esm/components/Table/hooks/plugins/useRowDraggable.js.map +1 -1
- package/dist/esm/components/Table/hooks/plugins/useRowEditing.js +39 -36
- package/dist/esm/components/Table/hooks/plugins/useRowEditing.js.map +1 -1
- package/dist/esm/components/Table/hooks/plugins/useRowSelect.js +79 -89
- package/dist/esm/components/Table/hooks/plugins/useRowSelect.js.map +1 -1
- package/dist/esm/components/Table/hooks/useRowCreation.js +29 -64
- package/dist/esm/components/Table/hooks/useRowCreation.js.map +1 -1
- package/dist/esm/components/Table/hooks/useTable.js +123 -141
- package/dist/esm/components/Table/hooks/useTable.js.map +1 -1
- package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js +23 -27
- package/dist/esm/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
- package/dist/esm/components/Table/util/renderColumn.js +10 -10
- package/dist/esm/components/Table/util/renderColumn.js.map +1 -1
- package/dist/esm/components/Table/util/renderRow.js +37 -46
- package/dist/esm/components/Table/util/renderRow.js.map +1 -1
- package/dist/esm/components/Table/util/rowIndexPath.js +14 -16
- package/dist/esm/components/Table/util/rowIndexPath.js.map +1 -1
- package/dist/esm/components/Table/util/sortTypes.js +23 -31
- package/dist/esm/components/Table/util/sortTypes.js.map +1 -1
- package/dist/esm/components/Table/util.js +29 -41
- package/dist/esm/components/Table/util.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +25 -27
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Textarea/Textarea.js +11 -9
- package/dist/esm/components/Textarea/Textarea.js.map +1 -1
- package/dist/esm/components/Toast/Toast.js +27 -23
- package/dist/esm/components/Toast/Toast.js.map +1 -1
- package/dist/esm/components/Toast/Toaster.js +88 -118
- package/dist/esm/components/Toast/Toaster.js.map +1 -1
- package/dist/esm/components/Toast/util.js +2 -2
- package/dist/esm/components/Toast/util.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +7 -8
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/Tour/Tour.js +46 -53
- package/dist/esm/components/Tour/Tour.js.map +1 -1
- package/dist/esm/components/Treeview/Treeview.js +26 -36
- package/dist/esm/components/Treeview/Treeview.js.map +1 -1
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.js +1 -1
- package/dist/esm/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/esm/index.css +1 -9
- package/dist/esm/index.js +1 -1
- package/dist/esm/primitives/Button.js +9 -13
- package/dist/esm/primitives/Button.js.map +1 -1
- package/dist/esm/utils/date.js +20 -40
- package/dist/esm/utils/date.js.map +1 -1
- package/dist/esm/utils/hooks/useBoundingClientRectListener.js +12 -20
- package/dist/esm/utils/hooks/useBoundingClientRectListener.js.map +1 -1
- package/dist/esm/utils/hooks/useDraggable.js +16 -17
- package/dist/esm/utils/hooks/useDraggable.js.map +1 -1
- package/dist/esm/utils/hooks/useDropTarget.js +7 -10
- package/dist/esm/utils/hooks/useDropTarget.js.map +1 -1
- package/dist/esm/utils/hooks/useListKeyboardNavigation.js +15 -30
- package/dist/esm/utils/hooks/useListKeyboardNavigation.js.map +1 -1
- package/dist/esm/utils/hooks/useListScrollTo.js +9 -9
- package/dist/esm/utils/hooks/useListScrollTo.js.map +1 -1
- package/dist/esm/utils/hooks/useOnClickOutside.js +6 -8
- package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
- package/dist/esm/utils/hooks/useProxiedRef.js +3 -3
- package/dist/esm/utils/hooks/useProxiedRef.js.map +1 -1
- package/dist/esm/utils/hooks/useTimer.js +9 -17
- package/dist/esm/utils/hooks/useTimer.js.map +1 -1
- package/dist/esm/utils/input.js +8 -12
- package/dist/esm/utils/input.js.map +1 -1
- package/dist/esm/utils/mergeRefs.js +2 -2
- package/dist/esm/utils/mergeRefs.js.map +1 -1
- package/dist/esm/utils/taillwind.js +2 -2
- package/dist/esm/utils/taillwind.js.map +1 -1
- package/dist/index.css +1 -9
- package/dist/taco.cjs.development.js +2368 -2883
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/utils/hooks/useListKeyboardNavigation.d.ts +1 -1
- package/package.json +4 -5
- package/types.json +13 -4
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +0 -34
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useTableKeyboardNavigation.js","sources":["../../../../../src/components/Table/hooks/useTableKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\nimport keycode from 'keycode';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { getNextIndexFromKeycode } from '../../../utils/hooks/useListKeyboardNavigation';\nimport { sanitizeRowProps } from '../util';\nimport { TableProps } from '../types';\n\nexport const useTableKeyboardNavigation = <T extends {}>(\n props: TableProps<T>,\n rows: any[],\n rowProps: any,\n ref: React.RefObject<HTMLDivElement>\n): [\n number | undefined,\n (index: number) => void,\n (event: React.KeyboardEvent<HTMLElement>) => void,\n (event: React.FocusEvent<HTMLElement>) => void\n] => {\n const useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;\n\n const [activeIndex, setActiveIndex] = useControllableState<number | undefined>({\n prop: props.activeIndex,\n defaultProp:\n props.defaultActiveIndex !== undefined ? props.defaultActiveIndex : useGlobalKeyboardNavigation ? 0 : undefined,\n onChange: props.onChangeActiveIndex,\n });\n\n const onKeyDown = (event: KeyboardEvent): void => {\n const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;\n\n if (\n useGlobalKeyboardNavigation &&\n document.activeElement !== ref.current &&\n document.activeElement?.getAttribute('type') !== 'search' &&\n document.activeElement !== document.body\n ) {\n return;\n }\n // abort key handling if other elements inside table are focused and we don't use global keyboard navigation\n if (!useGlobalKeyboardNavigation && document.activeElement !== ref.current) {\n return;\n }\n\n if (activeIndex !== undefined) {\n const currentRow = rows[activeIndex];\n\n if (currentRow) {\n const sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);\n\n if (rowProps.onRowClick && event.keyCode === keycode('enter')) {\n event.preventDefault();\n rowProps.onRowClick(sanitizedRow);\n return;\n }\n\n if (currentRow.toggleRowSelected && event.keyCode === keycode('space')) {\n event.preventDefault();\n currentRow.toggleRowSelected();\n return;\n }\n\n if (currentRow.toggleRowExpanded) {\n if (currentRow.isExpanded && event.keyCode === keycode('left')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n } else if (!currentRow.isExpanded && event.keyCode === keycode('right')) {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n }\n }\n\n // inline editing\n if (currentRow.toggleRowEditing) {\n if (currentRow.canEdit && !currentRow.isEditing) {\n if (rowProps.onRowCreate && event.shiftKey && event.keyCode === keycode('n')) {\n event.preventDefault();\n\n if (!currentRow.isExpanded) {\n currentRow.toggleRowExpanded();\n }\n\n rowProps.onRowCreate(sanitizedRow, event);\n return;\n }\n\n if (event.keyCode === keycode('e')) {\n event.preventDefault();\n currentRow.toggleRowEditing();\n return;\n }\n }\n }\n\n if (rowProps.onRowEdit && event.keyCode === keycode('e') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowEdit(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowCopy && event.keyCode === keycode('c') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowCopy(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowDelete && event.keyCode === keycode('delete') && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowDelete(sanitizedRow, event);\n return;\n }\n }\n }\n\n const nextIndex = getNextIndexFromKeycode(event.keyCode, rows.length, activeIndex);\n\n if (nextIndex !== undefined) {\n event.preventDefault();\n setActiveIndex(nextIndex);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n if (!useGlobalKeyboardNavigation) {\n onKeyDown(event.nativeEvent);\n }\n };\n\n React.useEffect(() => {\n if (useGlobalKeyboardNavigation) {\n window.addEventListener('keydown', onKeyDown);\n }\n\n return () => {\n if (useGlobalKeyboardNavigation) {\n window.removeEventListener('keydown', onKeyDown);\n }\n };\n }, [onKeyDown]);\n\n const handleFocus = (): void => {\n if (activeIndex === undefined && rows.length) {\n setActiveIndex(0);\n }\n };\n\n return [activeIndex, setActiveIndex, handleKeyDown, handleFocus];\n};\n"],"names":["useTableKeyboardNavigation","props","rows","rowProps","ref","useGlobalKeyboardNavigation","dangerouslyHijackGlobalKeyboardNavigation","useControllableState","prop","activeIndex","defaultProp","defaultActiveIndex","undefined","onChange","onChangeActiveIndex","setActiveIndex","onKeyDown","event","isModifierKeyPressed","metaKey","ctrlKey","altKey","shiftKey","document","activeElement","current","getAttribute","body","currentRow","sanitizedRow","sanitizeRowProps","rowExpansionRenderer","onRowClick","keyCode","keycode","preventDefault","toggleRowSelected","toggleRowExpanded","isExpanded","toggleRowEditing","canEdit","isEditing","onRowCreate","onRowEdit","onRowCopy","onRowDelete","nextIndex","getNextIndexFromKeycode","length","handleKeyDown","nativeEvent","React","useEffect","window","addEventListener","removeEventListener","handleFocus"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useTableKeyboardNavigation.js","sources":["../../../../../src/components/Table/hooks/useTableKeyboardNavigation.ts"],"sourcesContent":["import React from 'react';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { getNextIndexFromKey } from '../../../utils/hooks/useListKeyboardNavigation';\nimport { sanitizeRowProps } from '../util';\nimport { TableProps } from '../types';\n\nexport const useTableKeyboardNavigation = <T extends {}>(\n props: TableProps<T>,\n rows: any[],\n rowProps: any,\n ref: React.RefObject<HTMLDivElement>\n): [\n number | undefined,\n (index: number) => void,\n (event: React.KeyboardEvent<HTMLElement>) => void,\n (event: React.FocusEvent<HTMLElement>) => void\n] => {\n const useGlobalKeyboardNavigation = props.dangerouslyHijackGlobalKeyboardNavigation;\n\n const [activeIndex, setActiveIndex] = useControllableState<number | undefined>({\n prop: props.activeIndex,\n defaultProp:\n props.defaultActiveIndex !== undefined ? props.defaultActiveIndex : useGlobalKeyboardNavigation ? 0 : undefined,\n onChange: props.onChangeActiveIndex,\n });\n\n const onKeyDown = (event: KeyboardEvent): void => {\n const isModifierKeyPressed = event.metaKey || event.ctrlKey || event.altKey || event.shiftKey;\n\n if (\n useGlobalKeyboardNavigation &&\n document.activeElement !== ref.current &&\n document.activeElement?.getAttribute('type') !== 'search' &&\n document.activeElement !== document.body\n ) {\n return;\n }\n // abort key handling if other elements inside table are focused and we don't use global keyboard navigation\n if (!useGlobalKeyboardNavigation && document.activeElement !== ref.current) {\n return;\n }\n\n if (activeIndex !== undefined) {\n const currentRow = rows[activeIndex];\n\n if (currentRow) {\n const sanitizedRow = sanitizeRowProps(currentRow, rowProps.rowExpansionRenderer);\n\n if (rowProps.onRowClick && event.key === 'Enter') {\n event.preventDefault();\n rowProps.onRowClick(sanitizedRow);\n return;\n }\n\n if (currentRow.toggleRowSelected && event.key === ' ') {\n event.preventDefault();\n currentRow.toggleRowSelected();\n return;\n }\n\n if (currentRow.toggleRowExpanded) {\n if (currentRow.isExpanded && event.key === 'ArrowLeft') {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n } else if (!currentRow.isExpanded && event.key === 'ArrowRight') {\n event.preventDefault();\n currentRow.toggleRowExpanded();\n return;\n }\n }\n\n // inline editing\n if (currentRow.toggleRowEditing) {\n if (currentRow.canEdit && !currentRow.isEditing) {\n if (rowProps.onRowCreate && event.shiftKey && event.key === 'n') {\n event.preventDefault();\n\n if (!currentRow.isExpanded) {\n currentRow.toggleRowExpanded();\n }\n\n rowProps.onRowCreate(sanitizedRow, event);\n return;\n }\n\n if (event.key === 'e') {\n event.preventDefault();\n currentRow.toggleRowEditing();\n return;\n }\n }\n }\n\n if (rowProps.onRowEdit && event.key === 'e' && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowEdit(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowCopy && event.key === 'c' && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowCopy(sanitizedRow, event);\n return;\n }\n\n if (rowProps.onRowDelete && event.key === 'Delete' && !isModifierKeyPressed) {\n event.preventDefault();\n rowProps.onRowDelete(sanitizedRow, event);\n return;\n }\n }\n }\n\n const nextIndex = getNextIndexFromKey(event.key, rows.length, activeIndex);\n\n if (nextIndex !== undefined) {\n event.preventDefault();\n setActiveIndex(nextIndex);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>): void => {\n if (!useGlobalKeyboardNavigation) {\n onKeyDown(event.nativeEvent);\n }\n };\n\n React.useEffect(() => {\n if (useGlobalKeyboardNavigation) {\n window.addEventListener('keydown', onKeyDown);\n }\n\n return () => {\n if (useGlobalKeyboardNavigation) {\n window.removeEventListener('keydown', onKeyDown);\n }\n };\n }, [onKeyDown]);\n\n const handleFocus = (): void => {\n if (activeIndex === undefined && rows.length) {\n setActiveIndex(0);\n }\n };\n\n return [activeIndex, setActiveIndex, handleKeyDown, handleFocus];\n};\n"],"names":["useTableKeyboardNavigation","props","rows","rowProps","ref","useGlobalKeyboardNavigation","dangerouslyHijackGlobalKeyboardNavigation","activeIndex","setActiveIndex","useControllableState","prop","defaultProp","defaultActiveIndex","undefined","onChange","onChangeActiveIndex","onKeyDown","event","isModifierKeyPressed","metaKey","ctrlKey","altKey","shiftKey","document","activeElement","current","getAttribute","body","currentRow","sanitizedRow","sanitizeRowProps","rowExpansionRenderer","onRowClick","key","preventDefault","toggleRowSelected","toggleRowExpanded","isExpanded","toggleRowEditing","canEdit","isEditing","onRowCreate","onRowEdit","onRowCopy","onRowDelete","nextIndex","getNextIndexFromKey","length","handleKeyDown","nativeEvent","React","useEffect","window","addEventListener","removeEventListener","handleFocus"],"mappings":"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"}
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import { extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
1
|
import React__default from 'react';
|
3
2
|
import cn from 'classnames';
|
4
3
|
import { Icon } from '../../Icon/Icon.js';
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
const Column = ({
|
6
|
+
cell
|
7
|
+
}) => {
|
8
|
+
const props = { ...cell.getHeaderProps(),
|
9
|
+
...(cell.getSortByToggleProps && cell.getSortByToggleProps({
|
10
|
+
title: undefined
|
11
|
+
})),
|
12
12
|
className: cn('yt-table__cell flex flex-1 truncate p-2 align-middle text-grey-darkest hover:text-black', cell.className, {
|
13
13
|
'yt-table__cell__group': !!cell.columns,
|
14
14
|
'cursor-pointer': !cell.disableSorting,
|
@@ -16,10 +16,10 @@ var Column = function Column(_ref) {
|
|
16
16
|
'justify-end text-right': cell.align === 'right',
|
17
17
|
'justify-center text-center': cell.align === 'center' || !cell.align
|
18
18
|
}),
|
19
|
-
style:
|
19
|
+
style: { ...cell.style,
|
20
20
|
flex: cell.flex
|
21
|
-
}
|
22
|
-
}
|
21
|
+
}
|
22
|
+
};
|
23
23
|
|
24
24
|
if (cell.isSorted) {
|
25
25
|
props['aria-sort'] = cell.isSortedDesc ? 'descending' : 'ascending';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"renderColumn.js","sources":["../../../../../src/components/Table/util/renderColumn.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../../Icon/Icon';\n\nexport const Column = ({ cell }: any): any => {\n const props = {\n ...cell.getHeaderProps(),\n ...(cell.getSortByToggleProps && cell.getSortByToggleProps({ title: undefined })),\n className: cn('yt-table__cell flex flex-1 truncate p-2 align-middle text-grey-darkest hover:text-black', cell.className, {\n 'yt-table__cell__group': !!cell.columns,\n 'cursor-pointer': !cell.disableSorting,\n 'justify-start text-left': cell.align === 'left',\n 'justify-end text-right': cell.align === 'right',\n 'justify-center text-center': cell.align === 'center' || !cell.align,\n }),\n style: { ...cell.style, flex: cell.flex },\n };\n\n if (cell.isSorted) {\n props['aria-sort'] = cell.isSortedDesc ? 'descending' : 'ascending';\n }\n\n return (\n <div {...props} key={cell.id} data-taco=\"table-column\">\n <span className=\"truncate\">{cell.render('Header')}</span>\n {cell.isSorted ? (\n <Icon name={cell.isSortedDesc ? 'chevron-down-solid' : 'chevron-up-solid'} className=\"-mt-0.5\" />\n ) : null}\n </div>\n );\n};\n"],"names":["Column","cell","props","getHeaderProps","getSortByToggleProps","title","undefined","className","cn","columns","disableSorting","align","style","flex","isSorted","isSortedDesc","React","key","id","render","Icon","name"],"mappings":"
|
1
|
+
{"version":3,"file":"renderColumn.js","sources":["../../../../../src/components/Table/util/renderColumn.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { Icon } from '../../Icon/Icon';\n\nexport const Column = ({ cell }: any): any => {\n const props = {\n ...cell.getHeaderProps(),\n ...(cell.getSortByToggleProps && cell.getSortByToggleProps({ title: undefined })),\n className: cn('yt-table__cell flex flex-1 truncate p-2 align-middle text-grey-darkest hover:text-black', cell.className, {\n 'yt-table__cell__group': !!cell.columns,\n 'cursor-pointer': !cell.disableSorting,\n 'justify-start text-left': cell.align === 'left',\n 'justify-end text-right': cell.align === 'right',\n 'justify-center text-center': cell.align === 'center' || !cell.align,\n }),\n style: { ...cell.style, flex: cell.flex },\n };\n\n if (cell.isSorted) {\n props['aria-sort'] = cell.isSortedDesc ? 'descending' : 'ascending';\n }\n\n return (\n <div {...props} key={cell.id} data-taco=\"table-column\">\n <span className=\"truncate\">{cell.render('Header')}</span>\n {cell.isSorted ? (\n <Icon name={cell.isSortedDesc ? 'chevron-down-solid' : 'chevron-up-solid'} className=\"-mt-0.5\" />\n ) : null}\n </div>\n );\n};\n"],"names":["Column","cell","props","getHeaderProps","getSortByToggleProps","title","undefined","className","cn","columns","disableSorting","align","style","flex","isSorted","isSortedDesc","React","key","id","render","Icon","name"],"mappings":";;;;MAIaA,MAAM,GAAG,CAAC;EAAEC;AAAF,CAAD;EAClB,MAAMC,KAAK,GAAG,EACV,GAAGD,IAAI,CAACE,cAAL,EADO;IAEV,IAAIF,IAAI,CAACG,oBAAL,IAA6BH,IAAI,CAACG,oBAAL,CAA0B;MAAEC,KAAK,EAAEC;KAAnC,CAAjC,CAFU;IAGVC,SAAS,EAAEC,EAAE,CAAC,yFAAD,EAA4FP,IAAI,CAACM,SAAjG,EAA4G;MACrH,yBAAyB,CAAC,CAACN,IAAI,CAACQ,OADqF;MAErH,kBAAkB,CAACR,IAAI,CAACS,cAF6F;MAGrH,2BAA2BT,IAAI,CAACU,KAAL,KAAe,MAH2E;MAIrH,0BAA0BV,IAAI,CAACU,KAAL,KAAe,OAJ4E;MAKrH,8BAA8BV,IAAI,CAACU,KAAL,KAAe,QAAf,IAA2B,CAACV,IAAI,CAACU;KALtD,CAHH;IAUVC,KAAK,EAAE,EAAE,GAAGX,IAAI,CAACW,KAAV;MAAiBC,IAAI,EAAEZ,IAAI,CAACY;;GAVvC;;EAaA,IAAIZ,IAAI,CAACa,QAAT,EAAmB;IACfZ,KAAK,CAAC,WAAD,CAAL,GAAqBD,IAAI,CAACc,YAAL,GAAoB,YAApB,GAAmC,WAAxD;;;EAGJ,OACIC,4BAAA,MAAA,oBAASd;IAAOe,GAAG,EAAEhB,IAAI,CAACiB;iBAAc;IAAxC,EACIF,4BAAA,OAAA;IAAMT,SAAS,EAAC;GAAhB,EAA4BN,IAAI,CAACkB,MAAL,CAAY,QAAZ,CAA5B,CADJ,EAEKlB,IAAI,CAACa,QAAL,GACGE,4BAAA,CAACI,IAAD;IAAMC,IAAI,EAAEpB,IAAI,CAACc,YAAL,GAAoB,oBAApB,GAA2C;IAAoBR,SAAS,EAAC;GAArF,CADH,GAEG,IAJR,CADJ;AAQH;;;;"}
|
@@ -1,78 +1,73 @@
|
|
1
|
-
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
1
|
import React__default from 'react';
|
3
2
|
import cn from 'classnames';
|
4
3
|
import { sanitizeRowProps } from '../util.js';
|
5
4
|
import { FocusScope } from '@react-aria/focus';
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
var renderCell = function renderCell(cell, row) {
|
10
|
-
var props = _extends({}, cell.getCellProps(), {
|
6
|
+
const renderCell = (cell, row) => {
|
7
|
+
const props = { ...cell.getCellProps(),
|
11
8
|
className: cn('yt-table__cell flex-1 truncate p-2 align-middle', cell.column.className, {
|
12
9
|
'justify-start text-left': cell.column.align === 'left',
|
13
10
|
'justify-end text-right': cell.column.align === 'right',
|
14
11
|
'text-center': !cell.column.align
|
15
12
|
}),
|
16
|
-
style:
|
13
|
+
style: { ...cell.column.style,
|
17
14
|
flex: typeof cell.column.flex === 'function' ? cell.column.flex(row) : cell.column.flex
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
15
|
+
}
|
16
|
+
};
|
21
17
|
return React__default.createElement("div", Object.assign({}, props, {
|
22
18
|
role: "gridcell",
|
23
19
|
"data-taco": "table-cell"
|
24
20
|
}), cell.render('Cell') || null);
|
25
21
|
};
|
26
22
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
23
|
+
const Row = /*#__PURE__*/React__default.forwardRef(function TableRow({
|
24
|
+
row,
|
25
|
+
index,
|
26
|
+
instance,
|
27
|
+
headerGroups,
|
28
|
+
...rowProps
|
29
|
+
}, ref) {
|
30
|
+
const {
|
31
|
+
activeIndex,
|
32
|
+
onRowClick,
|
33
|
+
rowClassName,
|
34
|
+
rowExpansionRenderer,
|
35
|
+
rowHeight,
|
36
|
+
setActiveIndex,
|
37
|
+
style,
|
38
|
+
inlineEditingUniqueId
|
39
|
+
} = rowProps;
|
40
|
+
const sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);
|
41
|
+
const props = { ...row.getRowProps(),
|
42
|
+
style: { ...style,
|
43
|
+
minHeight: rowHeight ? `${rowHeight}px` : undefined,
|
44
|
+
paddingLeft: row.depth ? `${row.depth * 2}rem` : undefined
|
45
|
+
},
|
48
46
|
className: cn('yt-table__row border-grey-light flex border-b min-h-[2.5rem] hover:bg-grey-light', {
|
49
47
|
'yt-table__row--active bg-grey-light hover:bg-grey-light': activeIndex === index,
|
50
48
|
'yt-table__row--clickable': !!onRowClick,
|
51
49
|
'yt-table__row--dragging': !!row.isDragging,
|
52
50
|
'yt-table__row--editing': !!row.isEditing
|
53
51
|
}, typeof rowClassName === 'function' ? rowClassName(sanitizedRow) : rowClassName),
|
54
|
-
onClick: onRowClick ?
|
52
|
+
onClick: onRowClick ? event => {
|
55
53
|
if (event.target === event.currentTarget || event.target.classList.contains('yt-table__cell')) {
|
56
54
|
event.preventDefault();
|
57
55
|
event.persist();
|
58
56
|
setActiveIndex(index);
|
59
57
|
onRowClick(sanitizedRow);
|
60
58
|
}
|
61
|
-
} :
|
59
|
+
} : () => {
|
62
60
|
setActiveIndex(index);
|
63
61
|
}
|
64
|
-
}
|
65
|
-
|
66
|
-
var cells = row.cells;
|
62
|
+
};
|
63
|
+
let cells = row.cells;
|
67
64
|
|
68
65
|
if (row.depth > 0) {
|
69
|
-
cells = row.cells.filter(
|
70
|
-
return !cell.column.hiddenOnSubRows;
|
71
|
-
});
|
66
|
+
cells = row.cells.filter(cell => !cell.column.hiddenOnSubRows);
|
72
67
|
}
|
73
68
|
|
74
|
-
|
75
|
-
|
69
|
+
const expandedRow = rowExpansionRenderer && row.isExpanded && React__default.createElement("div", null, rowExpansionRenderer(sanitizedRow, instance));
|
70
|
+
const rowContent = React__default.useMemo(() => {
|
76
71
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(FocusScope, {
|
77
72
|
key: row.original._createKey,
|
78
73
|
contain: true,
|
@@ -89,9 +84,7 @@ var Row = /*#__PURE__*/React__default.forwardRef(function TableRow(_ref, ref) {
|
|
89
84
|
type: "hidden",
|
90
85
|
name: "_inlineEditingUniqueId",
|
91
86
|
value: row.original[inlineEditingUniqueId]
|
92
|
-
}), cells.map(
|
93
|
-
return renderCell(cell, sanitizedRow);
|
94
|
-
}))), expandedRow);
|
87
|
+
}), cells.map(cell => renderCell(cell, sanitizedRow)))), expandedRow);
|
95
88
|
}, [row.original._createKey]);
|
96
89
|
|
97
90
|
if (row.isEditing) {
|
@@ -101,9 +94,7 @@ var Row = /*#__PURE__*/React__default.forwardRef(function TableRow(_ref, ref) {
|
|
101
94
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", Object.assign({}, props, {
|
102
95
|
role: "row",
|
103
96
|
ref: ref
|
104
|
-
}), cells.map(
|
105
|
-
return renderCell(cell, sanitizedRow);
|
106
|
-
})), expandedRow);
|
97
|
+
}), cells.map(cell => renderCell(cell, sanitizedRow))), expandedRow);
|
107
98
|
});
|
108
99
|
|
109
100
|
export { Row };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"renderRow.js","sources":["../../../../../src/components/Table/util/renderRow.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { FocusScope } from '@react-aria/focus';\nimport { InternalTableCell, TableRow } from '../types';\nimport { sanitizeRowProps } from '../util';\n\nconst renderCell = (cell: InternalTableCell, row: TableRow<any>): JSX.Element => {\n const props = {\n ...cell.getCellProps(),\n className: cn('yt-table__cell flex-1 truncate p-2 align-middle', cell.column.className, {\n 'justify-start text-left': cell.column.align === 'left',\n 'justify-end text-right': cell.column.align === 'right',\n 'text-center': !cell.column.align,\n }),\n style: {\n ...cell.column.style,\n flex: typeof cell.column.flex === 'function' ? cell.column.flex(row) : cell.column.flex,\n },\n };\n return (\n <div {...props} role=\"gridcell\" data-taco=\"table-cell\">\n {cell.render('Cell') || null}\n </div>\n );\n};\n\nexport const Row = React.forwardRef(function TableRow({ row, index, instance, headerGroups, ...rowProps }: any, ref: any) {\n const {\n activeIndex,\n onRowClick,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n setActiveIndex,\n style,\n inlineEditingUniqueId,\n } = rowProps;\n const sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);\n\n const props = {\n ...row.getRowProps(),\n style: {\n ...style,\n minHeight: rowHeight ? `${rowHeight}px` : undefined,\n paddingLeft: row.depth ? `${row.depth * 2}rem` : undefined,\n },\n className: cn(\n 'yt-table__row border-grey-light flex border-b min-h-[2.5rem] hover:bg-grey-light',\n {\n 'yt-table__row--active bg-grey-light hover:bg-grey-light': activeIndex === index,\n 'yt-table__row--clickable': !!onRowClick,\n 'yt-table__row--dragging': !!row.isDragging,\n 'yt-table__row--editing': !!row.isEditing,\n },\n typeof rowClassName === 'function' ? rowClassName(sanitizedRow) : rowClassName\n ),\n onClick: onRowClick\n ? (event: React.MouseEvent<HTMLElement>) => {\n if (\n event.target === event.currentTarget ||\n (event.target as HTMLElement).classList.contains('yt-table__cell')\n ) {\n event.preventDefault();\n event.persist();\n setActiveIndex(index);\n onRowClick(sanitizedRow);\n }\n }\n : () => {\n setActiveIndex(index);\n },\n };\n\n let cells = row.cells;\n\n if (row.depth > 0) {\n cells = row.cells.filter((cell: any) => !cell.column.hiddenOnSubRows);\n }\n\n const expandedRow = rowExpansionRenderer && row.isExpanded && <div>{rowExpansionRenderer(sanitizedRow, instance)}</div>;\n const rowContent = React.useMemo(() => {\n return (\n <>\n <FocusScope key={row.original._createKey} contain restoreFocus autoFocus>\n <div {...props} role=\"row\" ref={ref}>\n <input type=\"hidden\" name=\"_rowIndexPath\" value={row.id} />\n <input type=\"hidden\" name=\"_inlineEditingUniqueId\" value={row.original[inlineEditingUniqueId]} />\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n </FocusScope>\n {expandedRow}\n </>\n );\n }, [row.original._createKey]);\n\n if (row.isEditing) {\n return rowContent;\n }\n\n return (\n <>\n <div {...props} role=\"row\" ref={ref}>\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n {expandedRow}\n </>\n );\n});\n"],"names":["renderCell","cell","row","props","getCellProps","className","cn","column","align","style","flex","React","role","render","Row","forwardRef","TableRow","
|
1
|
+
{"version":3,"file":"renderRow.js","sources":["../../../../../src/components/Table/util/renderRow.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { FocusScope } from '@react-aria/focus';\nimport { InternalTableCell, TableRow } from '../types';\nimport { sanitizeRowProps } from '../util';\n\nconst renderCell = (cell: InternalTableCell, row: TableRow<any>): JSX.Element => {\n const props = {\n ...cell.getCellProps(),\n className: cn('yt-table__cell flex-1 truncate p-2 align-middle', cell.column.className, {\n 'justify-start text-left': cell.column.align === 'left',\n 'justify-end text-right': cell.column.align === 'right',\n 'text-center': !cell.column.align,\n }),\n style: {\n ...cell.column.style,\n flex: typeof cell.column.flex === 'function' ? cell.column.flex(row) : cell.column.flex,\n },\n };\n return (\n <div {...props} role=\"gridcell\" data-taco=\"table-cell\">\n {cell.render('Cell') || null}\n </div>\n );\n};\n\nexport const Row = React.forwardRef(function TableRow({ row, index, instance, headerGroups, ...rowProps }: any, ref: any) {\n const {\n activeIndex,\n onRowClick,\n rowClassName,\n rowExpansionRenderer,\n rowHeight,\n setActiveIndex,\n style,\n inlineEditingUniqueId,\n } = rowProps;\n const sanitizedRow = sanitizeRowProps(row, rowExpansionRenderer);\n\n const props = {\n ...row.getRowProps(),\n style: {\n ...style,\n minHeight: rowHeight ? `${rowHeight}px` : undefined,\n paddingLeft: row.depth ? `${row.depth * 2}rem` : undefined,\n },\n className: cn(\n 'yt-table__row border-grey-light flex border-b min-h-[2.5rem] hover:bg-grey-light',\n {\n 'yt-table__row--active bg-grey-light hover:bg-grey-light': activeIndex === index,\n 'yt-table__row--clickable': !!onRowClick,\n 'yt-table__row--dragging': !!row.isDragging,\n 'yt-table__row--editing': !!row.isEditing,\n },\n typeof rowClassName === 'function' ? rowClassName(sanitizedRow) : rowClassName\n ),\n onClick: onRowClick\n ? (event: React.MouseEvent<HTMLElement>) => {\n if (\n event.target === event.currentTarget ||\n (event.target as HTMLElement).classList.contains('yt-table__cell')\n ) {\n event.preventDefault();\n event.persist();\n setActiveIndex(index);\n onRowClick(sanitizedRow);\n }\n }\n : () => {\n setActiveIndex(index);\n },\n };\n\n let cells = row.cells;\n\n if (row.depth > 0) {\n cells = row.cells.filter((cell: any) => !cell.column.hiddenOnSubRows);\n }\n\n const expandedRow = rowExpansionRenderer && row.isExpanded && <div>{rowExpansionRenderer(sanitizedRow, instance)}</div>;\n const rowContent = React.useMemo(() => {\n return (\n <>\n <FocusScope key={row.original._createKey} contain restoreFocus autoFocus>\n <div {...props} role=\"row\" ref={ref}>\n <input type=\"hidden\" name=\"_rowIndexPath\" value={row.id} />\n <input type=\"hidden\" name=\"_inlineEditingUniqueId\" value={row.original[inlineEditingUniqueId]} />\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n </FocusScope>\n {expandedRow}\n </>\n );\n }, [row.original._createKey]);\n\n if (row.isEditing) {\n return rowContent;\n }\n\n return (\n <>\n <div {...props} role=\"row\" ref={ref}>\n {cells.map((cell: InternalTableCell) => renderCell(cell, sanitizedRow))}\n </div>\n {expandedRow}\n </>\n );\n});\n"],"names":["renderCell","cell","row","props","getCellProps","className","cn","column","align","style","flex","React","role","render","Row","forwardRef","TableRow","index","instance","headerGroups","rowProps","ref","activeIndex","onRowClick","rowClassName","rowExpansionRenderer","rowHeight","setActiveIndex","inlineEditingUniqueId","sanitizedRow","sanitizeRowProps","getRowProps","minHeight","undefined","paddingLeft","depth","isDragging","isEditing","onClick","event","target","currentTarget","classList","contains","preventDefault","persist","cells","filter","hiddenOnSubRows","expandedRow","isExpanded","rowContent","useMemo","FocusScope","key","original","_createKey","contain","restoreFocus","autoFocus","type","name","value","id","map"],"mappings":"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"}
|
@@ -1,21 +1,21 @@
|
|
1
1
|
import set from 'lodash-es/set';
|
2
2
|
|
3
|
-
|
3
|
+
const convertRowIndexPathToNumberArray = rowIndexPath => {
|
4
4
|
var _rowIndexPath$split$m;
|
5
5
|
|
6
6
|
return (_rowIndexPath$split$m = rowIndexPath === null || rowIndexPath === void 0 ? void 0 : rowIndexPath.split('.').map(Number)) !== null && _rowIndexPath$split$m !== void 0 ? _rowIndexPath$split$m : [];
|
7
7
|
};
|
8
|
-
|
8
|
+
const getByRowIndexPath = (data, rowIndexPath) => {
|
9
9
|
if (!rowIndexPath) {
|
10
10
|
return undefined;
|
11
11
|
}
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
const currenTRow = [...data];
|
14
|
+
const indexes = convertRowIndexPathToNumberArray(String(rowIndexPath));
|
15
15
|
|
16
16
|
if (indexes.length) {
|
17
|
-
|
18
|
-
return indexes.reduce(
|
17
|
+
const startIndex = indexes.shift();
|
18
|
+
return indexes.reduce((value, index) => {
|
19
19
|
var _value$subRows;
|
20
20
|
|
21
21
|
return value === null || value === void 0 ? void 0 : (_value$subRows = value.subRows) === null || _value$subRows === void 0 ? void 0 : _value$subRows[index];
|
@@ -24,15 +24,13 @@ var getByRowIndexPath = function getByRowIndexPath(data, rowIndexPath) {
|
|
24
24
|
|
25
25
|
return undefined;
|
26
26
|
};
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
const setByRowIndexPath = (data, rowIndexPath, values) => {
|
28
|
+
const nexTRow = [...data];
|
29
|
+
const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);
|
30
|
+
const rootIndex = rowIndexes.shift();
|
31
31
|
|
32
32
|
if (rowIndexes.length) {
|
33
|
-
|
34
|
-
return "subRows[" + index + "]";
|
35
|
-
}).join('.');
|
33
|
+
const path = rowIndexes.map(index => `subRows[${index}]`).join('.');
|
36
34
|
set(nexTRow[rootIndex], path, values);
|
37
35
|
} else {
|
38
36
|
nexTRow[rootIndex] = values;
|
@@ -40,11 +38,11 @@ var setByRowIndexPath = function setByRowIndexPath(data, rowIndexPath, values) {
|
|
40
38
|
|
41
39
|
return nexTRow;
|
42
40
|
};
|
43
|
-
|
44
|
-
|
41
|
+
const getParentRowIndexPath = rowIndexPath => {
|
42
|
+
let parentIndexPath;
|
45
43
|
|
46
44
|
if (rowIndexPath) {
|
47
|
-
|
45
|
+
const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);
|
48
46
|
rowIndexes.pop();
|
49
47
|
|
50
48
|
if (rowIndexes.length) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rowIndexPath.js","sources":["../../../../../src/components/Table/util/rowIndexPath.ts"],"sourcesContent":["import set from 'lodash/set';\nimport { Row, RowIndexPath } from '../types';\n\nexport const convertRowIndexPathToNumberArray = (rowIndexPath: RowIndexPath): number[] =>\n rowIndexPath?.split('.').map(Number) ?? [];\n\nexport const getByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath): Row<TRow> | undefined => {\n if (!rowIndexPath) {\n return undefined;\n }\n\n const currenTRow = [...data];\n const indexes = convertRowIndexPathToNumberArray(String(rowIndexPath));\n\n if (indexes.length) {\n const startIndex = indexes.shift() as number;\n return indexes.reduce((value, index) => value?.subRows?.[index], currenTRow[startIndex]);\n }\n\n return undefined;\n};\n\nexport const setByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath, values: any): Row<TRow>[] => {\n const nexTRow = [...data];\n\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n const rootIndex = rowIndexes.shift() as number;\n\n if (rowIndexes.length) {\n const path = rowIndexes.map(index => `subRows[${index}]`).join('.');\n set(nexTRow[rootIndex], path, values);\n } else {\n nexTRow[rootIndex] = values;\n }\n\n return nexTRow;\n};\n\nexport const getParentRowIndexPath = (rowIndexPath: RowIndexPath): RowIndexPath => {\n let parentIndexPath;\n\n if (rowIndexPath) {\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n rowIndexes.pop();\n\n if (rowIndexes.length) {\n parentIndexPath = rowIndexes.join('.');\n }\n }\n\n return parentIndexPath;\n};\n"],"names":["convertRowIndexPathToNumberArray","rowIndexPath","split","map","Number","getByRowIndexPath","data","undefined","currenTRow","indexes","String","length","startIndex","shift","reduce","value","index","subRows","setByRowIndexPath","values","nexTRow","rowIndexes","rootIndex","path","join","set","getParentRowIndexPath","parentIndexPath","pop"],"mappings":";;
|
1
|
+
{"version":3,"file":"rowIndexPath.js","sources":["../../../../../src/components/Table/util/rowIndexPath.ts"],"sourcesContent":["import set from 'lodash/set';\nimport { Row, RowIndexPath } from '../types';\n\nexport const convertRowIndexPathToNumberArray = (rowIndexPath: RowIndexPath): number[] =>\n rowIndexPath?.split('.').map(Number) ?? [];\n\nexport const getByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath): Row<TRow> | undefined => {\n if (!rowIndexPath) {\n return undefined;\n }\n\n const currenTRow = [...data];\n const indexes = convertRowIndexPathToNumberArray(String(rowIndexPath));\n\n if (indexes.length) {\n const startIndex = indexes.shift() as number;\n return indexes.reduce((value, index) => value?.subRows?.[index], currenTRow[startIndex]);\n }\n\n return undefined;\n};\n\nexport const setByRowIndexPath = <TRow>(data: Row<TRow>[], rowIndexPath: RowIndexPath, values: any): Row<TRow>[] => {\n const nexTRow = [...data];\n\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n const rootIndex = rowIndexes.shift() as number;\n\n if (rowIndexes.length) {\n const path = rowIndexes.map(index => `subRows[${index}]`).join('.');\n set(nexTRow[rootIndex], path, values);\n } else {\n nexTRow[rootIndex] = values;\n }\n\n return nexTRow;\n};\n\nexport const getParentRowIndexPath = (rowIndexPath: RowIndexPath): RowIndexPath => {\n let parentIndexPath;\n\n if (rowIndexPath) {\n const rowIndexes = convertRowIndexPathToNumberArray(rowIndexPath);\n rowIndexes.pop();\n\n if (rowIndexes.length) {\n parentIndexPath = rowIndexes.join('.');\n }\n }\n\n return parentIndexPath;\n};\n"],"names":["convertRowIndexPathToNumberArray","rowIndexPath","split","map","Number","getByRowIndexPath","data","undefined","currenTRow","indexes","String","length","startIndex","shift","reduce","value","index","subRows","setByRowIndexPath","values","nexTRow","rowIndexes","rootIndex","path","join","set","getParentRowIndexPath","parentIndexPath","pop"],"mappings":";;MAGaA,gCAAgC,GAAIC,YAAD;EAAA;;EAAA,gCAC5CA,YAD4C,aAC5CA,YAD4C,uBAC5CA,YAAY,CAAEC,KAAd,CAAoB,GAApB,EAAyBC,GAAzB,CAA6BC,MAA7B,CAD4C,yEACJ,EADI;AAAA;MAGnCC,iBAAiB,GAAG,CAAOC,IAAP,EAA0BL,YAA1B;EAC7B,IAAI,CAACA,YAAL,EAAmB;IACf,OAAOM,SAAP;;;EAGJ,MAAMC,UAAU,GAAG,CAAC,GAAGF,IAAJ,CAAnB;EACA,MAAMG,OAAO,GAAGT,gCAAgC,CAACU,MAAM,CAACT,YAAD,CAAP,CAAhD;;EAEA,IAAIQ,OAAO,CAACE,MAAZ,EAAoB;IAChB,MAAMC,UAAU,GAAGH,OAAO,CAACI,KAAR,EAAnB;IACA,OAAOJ,OAAO,CAACK,MAAR,CAAe,CAACC,KAAD,EAAQC,KAAR;MAAA;;MAAA,OAAkBD,KAAlB,aAAkBA,KAAlB,yCAAkBA,KAAK,CAAEE,OAAzB,mDAAkB,eAAiBD,KAAjB,CAAlB;KAAf,EAA0DR,UAAU,CAACI,UAAD,CAApE,CAAP;;;EAGJ,OAAOL,SAAP;AACH;MAEYW,iBAAiB,GAAG,CAAOZ,IAAP,EAA0BL,YAA1B,EAAsDkB,MAAtD;EAC7B,MAAMC,OAAO,GAAG,CAAC,GAAGd,IAAJ,CAAhB;EAEA,MAAMe,UAAU,GAAGrB,gCAAgC,CAACC,YAAD,CAAnD;EACA,MAAMqB,SAAS,GAAGD,UAAU,CAACR,KAAX,EAAlB;;EAEA,IAAIQ,UAAU,CAACV,MAAf,EAAuB;IACnB,MAAMY,IAAI,GAAGF,UAAU,CAAClB,GAAX,CAAea,KAAK,eAAeA,QAAnC,EAA6CQ,IAA7C,CAAkD,GAAlD,CAAb;IACAC,GAAG,CAACL,OAAO,CAACE,SAAD,CAAR,EAAqBC,IAArB,EAA2BJ,MAA3B,CAAH;GAFJ,MAGO;IACHC,OAAO,CAACE,SAAD,CAAP,GAAqBH,MAArB;;;EAGJ,OAAOC,OAAP;AACH;MAEYM,qBAAqB,GAAIzB,YAAD;EACjC,IAAI0B,eAAJ;;EAEA,IAAI1B,YAAJ,EAAkB;IACd,MAAMoB,UAAU,GAAGrB,gCAAgC,CAACC,YAAD,CAAnD;IACAoB,UAAU,CAACO,GAAX;;IAEA,IAAIP,UAAU,CAACV,MAAf,EAAuB;MACnBgB,eAAe,GAAGN,UAAU,CAACG,IAAX,CAAgB,GAAhB,CAAlB;;;;EAIR,OAAOG,eAAP;AACH;;;;"}
|
@@ -1,17 +1,9 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
const getTime = value => {
|
2
|
+
const parsedValue = typeof value === 'string' ? new Date(value) : value;
|
3
3
|
return parsedValue !== null && parsedValue !== void 0 && parsedValue.getTime ? parsedValue.getTime() : undefined;
|
4
4
|
};
|
5
5
|
|
6
|
-
|
7
|
-
if (amount === void 0) {
|
8
|
-
amount = '';
|
9
|
-
}
|
10
|
-
|
11
|
-
if (decimalSeparator === void 0) {
|
12
|
-
decimalSeparator = ',';
|
13
|
-
}
|
14
|
-
|
6
|
+
const getNumber = (amount = '', decimalSeparator = ',') => {
|
15
7
|
if (typeof amount === 'number') {
|
16
8
|
return amount;
|
17
9
|
}
|
@@ -20,7 +12,7 @@ var getNumber = function getNumber(amount, decimalSeparator) {
|
|
20
12
|
return undefined;
|
21
13
|
}
|
22
14
|
|
23
|
-
|
15
|
+
let value;
|
24
16
|
|
25
17
|
if (decimalSeparator === ',') {
|
26
18
|
// replace digit seperator then replace decimal separator
|
@@ -33,7 +25,7 @@ var getNumber = function getNumber(amount, decimalSeparator) {
|
|
33
25
|
return Number.isNaN(value) ? undefined : value;
|
34
26
|
};
|
35
27
|
|
36
|
-
|
28
|
+
const getString = value => {
|
37
29
|
if (value) {
|
38
30
|
return String(value).toLowerCase();
|
39
31
|
}
|
@@ -41,7 +33,7 @@ var getString = function getString(value) {
|
|
41
33
|
return undefined;
|
42
34
|
};
|
43
35
|
|
44
|
-
|
36
|
+
const guess = value => {
|
45
37
|
if (typeof value === 'boolean') {
|
46
38
|
return !!value;
|
47
39
|
}
|
@@ -49,7 +41,7 @@ var guess = function guess(value) {
|
|
49
41
|
return isNaN(value) ? getString(value) : Number(value);
|
50
42
|
};
|
51
43
|
|
52
|
-
|
44
|
+
const compareBasic = (a, b) => {
|
53
45
|
// places undefined values first in ascending order instead of descending
|
54
46
|
if (a !== undefined && b === undefined) {
|
55
47
|
return 1;
|
@@ -58,30 +50,30 @@ var compareBasic = function compareBasic(a, b) {
|
|
58
50
|
return a === b ? 0 : a > b ? 1 : -1;
|
59
51
|
};
|
60
52
|
|
61
|
-
|
62
|
-
datetime:
|
63
|
-
|
64
|
-
|
53
|
+
const sortTypes = {
|
54
|
+
datetime: (rowA, rowB, columnId) => {
|
55
|
+
const a = getTime(rowA.values[columnId]);
|
56
|
+
const b = getTime(rowB.values[columnId]);
|
65
57
|
return compareBasic(a, b);
|
66
58
|
},
|
67
|
-
string:
|
68
|
-
|
69
|
-
|
59
|
+
string: (rowA, rowB, columnId) => {
|
60
|
+
const a = getString(rowA.values[columnId]);
|
61
|
+
const b = getString(rowB.values[columnId]);
|
70
62
|
return compareBasic(a, b);
|
71
63
|
},
|
72
|
-
number:
|
73
|
-
|
74
|
-
|
64
|
+
number: (rowA, rowB, columnId) => {
|
65
|
+
const a = getNumber(rowA.values[columnId]);
|
66
|
+
const b = getNumber(rowB.values[columnId]);
|
75
67
|
return compareBasic(a, b);
|
76
68
|
},
|
77
|
-
|
78
|
-
|
79
|
-
|
69
|
+
boolean: (rowA, rowB, columnId) => {
|
70
|
+
const a = !!rowA.values[columnId];
|
71
|
+
const b = !!rowB.values[columnId];
|
80
72
|
return compareBasic(a, b);
|
81
73
|
},
|
82
|
-
auto:
|
83
|
-
|
84
|
-
|
74
|
+
auto: (rowA, rowB, columnId) => {
|
75
|
+
const a = guess(rowA.values[columnId]);
|
76
|
+
const b = guess(rowB.values[columnId]);
|
85
77
|
return compareBasic(a, b);
|
86
78
|
}
|
87
79
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sortTypes.js","sources":["../../../../../src/components/Table/util/sortTypes.ts"],"sourcesContent":["import { SortTypes, TableRow } from '../types';\n\nconst getTime = (value: any): number | undefined => {\n const parsedValue: Date = typeof value === 'string' ? new Date(value) : value;\n return parsedValue?.getTime ? parsedValue.getTime() : undefined;\n};\n\nconst getNumber = (amount = '', decimalSeparator = ','): number | undefined => {\n if (typeof amount === 'number') {\n return amount;\n }\n\n if (amount === null || !amount.length) {\n return undefined;\n }\n\n let value;\n\n if (decimalSeparator === ',') {\n // replace digit seperator then replace decimal separator\n value = Number(amount.replace(/\\./g, '').replace(',', '.'));\n } else {\n // replace digit seperator\n value = Number(amount.replace(/,/g, ''));\n }\n\n return Number.isNaN(value) ? undefined : value;\n};\n\nconst getString = (value: any): string | undefined => {\n if (value) {\n return String(value).toLowerCase();\n }\n\n return undefined;\n};\n\nconst guess = (value: any): any => {\n if (typeof value === 'boolean') {\n return !!value;\n }\n\n return isNaN(value) ? getString(value) : Number(value);\n};\n\nconst compareBasic = (a: any, b: any) => {\n // places undefined values first in ascending order instead of descending\n if (a !== undefined && b === undefined) {\n return 1;\n }\n\n return a === b ? 0 : a > b ? 1 : -1;\n};\n\ntype SortHandler<T> = (rowA: TableRow<T>, rowB: TableRow<T>, columnId: string) => 0 | 1 | -1;\n\nexport const sortTypes: Record<SortTypes, SortHandler<any>> = {\n datetime: (rowA, rowB, columnId) => {\n const a = getTime(rowA.values[columnId]);\n const b = getTime(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n string: (rowA, rowB, columnId) => {\n const a = getString(rowA.values[columnId]);\n const b = getString(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n number: (rowA, rowB, columnId) => {\n const a = getNumber(rowA.values[columnId]);\n const b = getNumber(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n boolean: (rowA, rowB, columnId) => {\n const a = !!rowA.values[columnId];\n const b = !!rowB.values[columnId];\n return compareBasic(a, b);\n },\n auto: (rowA, rowB, columnId) => {\n const a = guess(rowA.values[columnId]);\n const b = guess(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n};\n"],"names":["getTime","value","parsedValue","Date","undefined","getNumber","amount","decimalSeparator","length","Number","replace","isNaN","getString","String","toLowerCase","guess","compareBasic","a","b","sortTypes","datetime","rowA","rowB","columnId","values","string","number","auto"],"mappings":"AAEA,
|
1
|
+
{"version":3,"file":"sortTypes.js","sources":["../../../../../src/components/Table/util/sortTypes.ts"],"sourcesContent":["import { SortTypes, TableRow } from '../types';\n\nconst getTime = (value: any): number | undefined => {\n const parsedValue: Date = typeof value === 'string' ? new Date(value) : value;\n return parsedValue?.getTime ? parsedValue.getTime() : undefined;\n};\n\nconst getNumber = (amount = '', decimalSeparator = ','): number | undefined => {\n if (typeof amount === 'number') {\n return amount;\n }\n\n if (amount === null || !amount.length) {\n return undefined;\n }\n\n let value;\n\n if (decimalSeparator === ',') {\n // replace digit seperator then replace decimal separator\n value = Number(amount.replace(/\\./g, '').replace(',', '.'));\n } else {\n // replace digit seperator\n value = Number(amount.replace(/,/g, ''));\n }\n\n return Number.isNaN(value) ? undefined : value;\n};\n\nconst getString = (value: any): string | undefined => {\n if (value) {\n return String(value).toLowerCase();\n }\n\n return undefined;\n};\n\nconst guess = (value: any): any => {\n if (typeof value === 'boolean') {\n return !!value;\n }\n\n return isNaN(value) ? getString(value) : Number(value);\n};\n\nconst compareBasic = (a: any, b: any) => {\n // places undefined values first in ascending order instead of descending\n if (a !== undefined && b === undefined) {\n return 1;\n }\n\n return a === b ? 0 : a > b ? 1 : -1;\n};\n\ntype SortHandler<T> = (rowA: TableRow<T>, rowB: TableRow<T>, columnId: string) => 0 | 1 | -1;\n\nexport const sortTypes: Record<SortTypes, SortHandler<any>> = {\n datetime: (rowA, rowB, columnId) => {\n const a = getTime(rowA.values[columnId]);\n const b = getTime(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n string: (rowA, rowB, columnId) => {\n const a = getString(rowA.values[columnId]);\n const b = getString(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n number: (rowA, rowB, columnId) => {\n const a = getNumber(rowA.values[columnId]);\n const b = getNumber(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n boolean: (rowA, rowB, columnId) => {\n const a = !!rowA.values[columnId];\n const b = !!rowB.values[columnId];\n return compareBasic(a, b);\n },\n auto: (rowA, rowB, columnId) => {\n const a = guess(rowA.values[columnId]);\n const b = guess(rowB.values[columnId]);\n return compareBasic(a, b);\n },\n};\n"],"names":["getTime","value","parsedValue","Date","undefined","getNumber","amount","decimalSeparator","length","Number","replace","isNaN","getString","String","toLowerCase","guess","compareBasic","a","b","sortTypes","datetime","rowA","rowB","columnId","values","string","number","boolean","auto"],"mappings":"AAEA,MAAMA,OAAO,GAAIC,KAAD;EACZ,MAAMC,WAAW,GAAS,OAAOD,KAAP,KAAiB,QAAjB,GAA4B,IAAIE,IAAJ,CAASF,KAAT,CAA5B,GAA8CA,KAAxE;EACA,OAAOC,WAAW,SAAX,IAAAA,WAAW,WAAX,IAAAA,WAAW,CAAEF,OAAb,GAAuBE,WAAW,CAACF,OAAZ,EAAvB,GAA+CI,SAAtD;AACH,CAHD;;AAKA,MAAMC,SAAS,GAAG,CAACC,MAAM,GAAG,EAAV,EAAcC,gBAAgB,GAAG,GAAjC;EACd,IAAI,OAAOD,MAAP,KAAkB,QAAtB,EAAgC;IAC5B,OAAOA,MAAP;;;EAGJ,IAAIA,MAAM,KAAK,IAAX,IAAmB,CAACA,MAAM,CAACE,MAA/B,EAAuC;IACnC,OAAOJ,SAAP;;;EAGJ,IAAIH,KAAJ;;EAEA,IAAIM,gBAAgB,KAAK,GAAzB,EAA8B;;IAE1BN,KAAK,GAAGQ,MAAM,CAACH,MAAM,CAACI,OAAP,CAAe,KAAf,EAAsB,EAAtB,EAA0BA,OAA1B,CAAkC,GAAlC,EAAuC,GAAvC,CAAD,CAAd;GAFJ,MAGO;;IAEHT,KAAK,GAAGQ,MAAM,CAACH,MAAM,CAACI,OAAP,CAAe,IAAf,EAAqB,EAArB,CAAD,CAAd;;;EAGJ,OAAOD,MAAM,CAACE,KAAP,CAAaV,KAAb,IAAsBG,SAAtB,GAAkCH,KAAzC;AACH,CApBD;;AAsBA,MAAMW,SAAS,GAAIX,KAAD;EACd,IAAIA,KAAJ,EAAW;IACP,OAAOY,MAAM,CAACZ,KAAD,CAAN,CAAca,WAAd,EAAP;;;EAGJ,OAAOV,SAAP;AACH,CAND;;AAQA,MAAMW,KAAK,GAAId,KAAD;EACV,IAAI,OAAOA,KAAP,KAAiB,SAArB,EAAgC;IAC5B,OAAO,CAAC,CAACA,KAAT;;;EAGJ,OAAOU,KAAK,CAACV,KAAD,CAAL,GAAeW,SAAS,CAACX,KAAD,CAAxB,GAAkCQ,MAAM,CAACR,KAAD,CAA/C;AACH,CAND;;AAQA,MAAMe,YAAY,GAAG,CAACC,CAAD,EAASC,CAAT;;EAEjB,IAAID,CAAC,KAAKb,SAAN,IAAmBc,CAAC,KAAKd,SAA7B,EAAwC;IACpC,OAAO,CAAP;;;EAGJ,OAAOa,CAAC,KAAKC,CAAN,GAAU,CAAV,GAAcD,CAAC,GAAGC,CAAJ,GAAQ,CAAR,GAAY,CAAC,CAAlC;AACH,CAPD;;MAWaC,SAAS,GAAwC;EAC1DC,QAAQ,EAAE,CAACC,IAAD,EAAOC,IAAP,EAAaC,QAAb;IACN,MAAMN,CAAC,GAAGjB,OAAO,CAACqB,IAAI,CAACG,MAAL,CAAYD,QAAZ,CAAD,CAAjB;IACA,MAAML,CAAC,GAAGlB,OAAO,CAACsB,IAAI,CAACE,MAAL,CAAYD,QAAZ,CAAD,CAAjB;IACA,OAAOP,YAAY,CAACC,CAAD,EAAIC,CAAJ,CAAnB;GAJsD;EAM1DO,MAAM,EAAE,CAACJ,IAAD,EAAOC,IAAP,EAAaC,QAAb;IACJ,MAAMN,CAAC,GAAGL,SAAS,CAACS,IAAI,CAACG,MAAL,CAAYD,QAAZ,CAAD,CAAnB;IACA,MAAML,CAAC,GAAGN,SAAS,CAACU,IAAI,CAACE,MAAL,CAAYD,QAAZ,CAAD,CAAnB;IACA,OAAOP,YAAY,CAACC,CAAD,EAAIC,CAAJ,CAAnB;GATsD;EAW1DQ,MAAM,EAAE,CAACL,IAAD,EAAOC,IAAP,EAAaC,QAAb;IACJ,MAAMN,CAAC,GAAGZ,SAAS,CAACgB,IAAI,CAACG,MAAL,CAAYD,QAAZ,CAAD,CAAnB;IACA,MAAML,CAAC,GAAGb,SAAS,CAACiB,IAAI,CAACE,MAAL,CAAYD,QAAZ,CAAD,CAAnB;IACA,OAAOP,YAAY,CAACC,CAAD,EAAIC,CAAJ,CAAnB;GAdsD;EAgB1DS,OAAO,EAAE,CAACN,IAAD,EAAOC,IAAP,EAAaC,QAAb;IACL,MAAMN,CAAC,GAAG,CAAC,CAACI,IAAI,CAACG,MAAL,CAAYD,QAAZ,CAAZ;IACA,MAAML,CAAC,GAAG,CAAC,CAACI,IAAI,CAACE,MAAL,CAAYD,QAAZ,CAAZ;IACA,OAAOP,YAAY,CAACC,CAAD,EAAIC,CAAJ,CAAnB;GAnBsD;EAqB1DU,IAAI,EAAE,CAACP,IAAD,EAAOC,IAAP,EAAaC,QAAb;IACF,MAAMN,CAAC,GAAGF,KAAK,CAACM,IAAI,CAACG,MAAL,CAAYD,QAAZ,CAAD,CAAf;IACA,MAAML,CAAC,GAAGH,KAAK,CAACO,IAAI,CAACE,MAAL,CAAYD,QAAZ,CAAD,CAAf;IACA,OAAOP,YAAY,CAACC,CAAD,EAAIC,CAAJ,CAAnB;;AAxBsD;;;;"}
|
@@ -1,11 +1,9 @@
|
|
1
|
-
import { objectWithoutPropertiesLoose as _objectWithoutPropertiesLoose, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
2
1
|
import React__default from 'react';
|
3
2
|
|
4
|
-
|
5
|
-
var sanitizeRowProps = function sanitizeRowProps(row, rowExpansionRenderer) {
|
3
|
+
const sanitizeRowProps = (row, rowExpansionRenderer) => {
|
6
4
|
var _row$subRows;
|
7
5
|
|
8
|
-
|
6
|
+
const props = {
|
9
7
|
index: row.index,
|
10
8
|
indexPath: row.id,
|
11
9
|
values: row.original
|
@@ -15,15 +13,11 @@ var sanitizeRowProps = function sanitizeRowProps(row, rowExpansionRenderer) {
|
|
15
13
|
props.isExpanded = !!row.isExpanded;
|
16
14
|
props.depth = row.depth;
|
17
15
|
|
18
|
-
props.toggleRowExpanded =
|
19
|
-
return row.toggleRowExpanded(!props.isExpanded);
|
20
|
-
};
|
16
|
+
props.toggleRowExpanded = () => row.toggleRowExpanded(!props.isExpanded);
|
21
17
|
} else if (rowExpansionRenderer) {
|
22
18
|
props.isExpanded = !!row.isExpanded;
|
23
19
|
|
24
|
-
props.toggleRowExpanded =
|
25
|
-
return row.toggleRowExpanded(!props.isExpanded);
|
26
|
-
};
|
20
|
+
props.toggleRowExpanded = () => row.toggleRowExpanded(!props.isExpanded);
|
27
21
|
}
|
28
22
|
|
29
23
|
if (row.toggleRowEditing) {
|
@@ -33,40 +27,36 @@ var sanitizeRowProps = function sanitizeRowProps(row, rowExpansionRenderer) {
|
|
33
27
|
|
34
28
|
return props;
|
35
29
|
};
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
30
|
+
const getColumnsFromChildren = (children, rowExpansionRenderer) => {
|
31
|
+
const sortRules = [];
|
32
|
+
const columns = React__default.Children.toArray(children).filter(child => !!child && !child.props.hidden) // skip falsey or hidden columns
|
33
|
+
.map(({
|
34
|
+
props: {
|
35
|
+
children: groupChildren,
|
36
|
+
...props
|
37
|
+
}
|
38
|
+
}) => {
|
39
|
+
const column = { ...props
|
40
|
+
};
|
48
41
|
column.sortType = column.sortType || 'auto';
|
49
42
|
column.disableSortBy = column.disableSorting; // this is a Table.Group - TODO: Find a better way to determine the child type
|
50
43
|
|
51
44
|
if (props.title && groupChildren) {
|
52
45
|
column.Header = props.title;
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
46
|
+
const {
|
47
|
+
columns: groupColumns,
|
48
|
+
sortRules: groupSortRules
|
49
|
+
} = getColumnsFromChildren(groupChildren, rowExpansionRenderer);
|
58
50
|
column.columns = groupColumns;
|
59
|
-
groupSortRules.forEach(
|
60
|
-
return sortRules.push(sort);
|
61
|
-
});
|
51
|
+
groupSortRules.forEach(sort => sortRules.push(sort));
|
62
52
|
} else {
|
63
53
|
column.accessor = props.accessor;
|
64
54
|
column.Header = props.headRenderer || '';
|
65
55
|
|
66
|
-
column.Cell =
|
56
|
+
column.Cell = columnProps => {
|
67
57
|
var _props$cellRenderer, _cell$value;
|
68
58
|
|
69
|
-
|
59
|
+
const cell = {
|
70
60
|
accessor: columnProps.cell.column.id,
|
71
61
|
row: sanitizeRowProps(columnProps.cell.row, rowExpansionRenderer),
|
72
62
|
value: columnProps.cell.value
|
@@ -94,17 +84,15 @@ var getColumnsFromChildren = function getColumnsFromChildren(children, rowExpans
|
|
94
84
|
return column;
|
95
85
|
});
|
96
86
|
return {
|
97
|
-
columns
|
98
|
-
sortRules
|
87
|
+
columns,
|
88
|
+
sortRules
|
99
89
|
};
|
100
90
|
};
|
101
|
-
|
102
|
-
return sortRules === null || sortRules === void 0 ? void 0 : sortRules.map(
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
};
|
107
|
-
});
|
91
|
+
const getInternalSortRules = sortRules => {
|
92
|
+
return sortRules === null || sortRules === void 0 ? void 0 : sortRules.map(rule => ({
|
93
|
+
id: rule.accessor,
|
94
|
+
desc: rule.desc
|
95
|
+
}));
|
108
96
|
};
|
109
97
|
|
110
98
|
export { getColumnsFromChildren, getInternalSortRules, sanitizeRowProps };
|