@openedx/paragon 23.14.8 → 23.14.9
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/Chip/constants.js +0 -1
- package/dist/Chip/constants.js.map +1 -1
- package/dist/Container/index.js +0 -1
- package/dist/Container/index.js.map +1 -1
- package/dist/DataTable/CollapsibleButtonGroup.js +0 -1
- package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
- package/dist/DataTable/filters/CheckboxFilter.js +1 -1
- package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
- package/dist/DataTable/index.js +7 -2
- package/dist/DataTable/index.js.map +1 -1
- package/dist/Dropdown/index.js +10 -18
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Modal/ModalDialogHeader.js +4 -1
- package/dist/Modal/ModalDialogHeader.js.map +1 -1
- package/dist/Modal/ModalLayer.js +7 -12
- package/dist/Modal/ModalLayer.js.map +1 -1
- package/dist/OverflowScroll/data/constants.js +0 -2
- package/dist/ProductTour/index.js +5 -7
- package/dist/ProductTour/index.js.map +1 -1
- package/dist/ProgressBar/utils.js +0 -1
- package/dist/SelectableBox/utils.js +1 -1
- package/dist/Sticky/index.js +1 -2
- package/dist/Sticky/index.js.map +1 -1
- package/dist/asInput/index.js +7 -14
- package/dist/asInput/index.js.map +1 -1
- package/dist/setupTest.js.map +1 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/lib/version.js +1 -2
- package/package.json +3 -3
- package/src/Card/CardCarousel/tests/CardCarousel.test.jsx +0 -1
- package/src/Chip/constants.ts +0 -1
- package/src/ChipCarousel/ChipCarousel.test.jsx +9 -11
- package/src/Container/index.tsx +0 -1
- package/src/DataTable/CollapsibleButtonGroup.jsx +0 -1
- package/src/DataTable/README.md +12 -12
- package/src/DataTable/filters/CheckboxFilter.jsx +1 -1
- package/src/DataTable/filters/tests/CheckboxFilter.test.jsx +31 -0
- package/src/DataTable/index.jsx +6 -2
- package/src/DataTable/selection/tests/utils.js +0 -1
- package/src/DataTable/tablecontrolbar.mdx +4 -4
- package/src/DataTable/tablefilters.mdx +8 -8
- package/src/DataTable/tests/DataTable.test.jsx +6 -4
- package/src/DataTable/tests/TableHeaderCell.test.jsx +0 -1
- package/src/DataTable/utils/tests/getTableArgs.test.js +3 -2
- package/src/DataTable/utils/tests/getVisibleColumns.test.js +0 -2
- package/src/Dropdown/index.jsx +11 -16
- package/src/Form/tests/useCheckboxSetValues.test.jsx +17 -9
- package/src/Modal/ModalDialogHeader.tsx +5 -1
- package/src/Modal/ModalLayer.tsx +1 -2
- package/src/Modal/tests/ModalLayer.test.tsx +1 -2
- package/src/OverflowScroll/data/constants.js +0 -2
- package/src/ProductTour/index.jsx +5 -7
- package/src/ProgressBar/utils.js +0 -1
- package/src/SelectableBox/tests/SelectableBox.test.jsx +0 -1
- package/src/SelectableBox/utils.js +1 -1
- package/src/Sticky/index.jsx +1 -1
- package/src/TransitionReplace/README.md +2 -2
- package/src/TransitionReplace/TransitionReplace.test.jsx +1 -1
- package/src/asInput/index.jsx +0 -3
- package/src/hooks/tests/useToggle.test.tsx +4 -5
- package/src/setupTest.ts +0 -1
- package/src/utils/index.ts +0 -1
package/dist/Chip/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["STYLE_VARIANTS","DARK","LIGHT"],"sources":["../../src/Chip/constants.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"constants.js","names":["STYLE_VARIANTS","DARK","LIGHT"],"sources":["../../src/Chip/constants.ts"],"sourcesContent":["export const STYLE_VARIANTS = {\n DARK: 'dark',\n LIGHT: 'light',\n} as const;\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAG;EAC5BC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE;AACT,CAAU","ignoreList":[]}
|
package/dist/Container/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","forwardRef","classNames","RBContainer","ContainerSizeClass","Container","size","children","as","bsPrefix","fluid","props","ref","createElement","className"],"sources":["../../src/Container/index.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","forwardRef","classNames","RBContainer","ContainerSizeClass","Container","size","children","as","bsPrefix","fluid","props","ref","createElement","className"],"sources":["../../src/Container/index.tsx"],"sourcesContent":["import React, {\n ForwardedRef, ReactNode, ElementType, forwardRef,\n} from 'react';\nimport classNames from 'classnames';\nimport RBContainer, { type ContainerProps as RBContainerProps } from 'react-bootstrap/Container';\n\nimport type { ComponentWithAsProp } from '../utils/types/bootstrap';\n\nenum ContainerSizeClass {\n xs = 'container-mw-xs',\n sm = 'container-mw-sm',\n md = 'container-mw-md',\n lg = 'container-mw-lg',\n xl = 'container-mw-xl',\n}\n\nexport type ContainerSize = keyof typeof ContainerSizeClass;\n\ninterface ContainerProps extends RBContainerProps {\n /** Override the base element */\n as?: ElementType,\n /** Specifies the contents of the container */\n children: ReactNode,\n /** Fill all available space at any breakpoint */\n fluid?: boolean,\n /** Overrides underlying component base CSS class name */\n bsPrefix?: string,\n /** Set the maximum width for the container. Omiting the prop will remove the max-width */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n}\n\ntype ContainerType = ComponentWithAsProp<'div', ContainerProps>;\n\nconst Container: ContainerType = forwardRef(({\n size,\n children,\n as = 'div',\n bsPrefix = 'container',\n fluid = true,\n ...props\n}: ContainerProps, ref: ForwardedRef<Element>) => (\n <RBContainer\n {...props}\n as={as}\n bsPrefix={bsPrefix}\n fluid={fluid}\n ref={ref}\n className={classNames(\n props.className,\n size && ContainerSizeClass[size],\n )}\n >\n {children}\n </RBContainer>\n));\n\nexport default Container;\n"],"mappings":"AAAA,OAAOA,KAAK,IAC4BC,UAAU,QAC3C,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,WAAW,MAAmD,2BAA2B;AAAC,IAI5FC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA,EAAlBA,kBAAkB;AAyBvB,MAAMC,SAAwB,gBAAGJ,UAAU,CAAC,CAAC;EAC3CK,IAAI;EACJC,QAAQ;EACRC,EAAE,GAAG,KAAK;EACVC,QAAQ,GAAG,WAAW;EACtBC,KAAK,GAAG,IAAI;EACZ,GAAGC;AACW,CAAC,EAAEC,GAA0B,kBAC3CZ,KAAA,CAAAa,aAAA,CAACV,WAAW;EAAA,GACNQ,KAAK;EACTH,EAAE,EAAEA,EAAG;EACPC,QAAQ,EAAEA,QAAS;EACnBC,KAAK,EAAEA,KAAM;EACbE,GAAG,EAAEA,GAAI;EACTE,SAAS,EAAEZ,UAAU,CACnBS,KAAK,CAACG,SAAS,EACfR,IAAI,IAAIF,kBAAkB,CAACE,IAAI,CACjC;AAAE,GAEDC,QACU,CACd,CAAC;AAEF,eAAeF,SAAS","ignoreList":[]}
|
|
@@ -47,7 +47,6 @@ function CollapsibleButtonGroup({
|
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
49
49
|
const cloneAction = (action, index) => /*#__PURE__*/React.cloneElement(action.component, {
|
|
50
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
51
50
|
key: `${action}${index}`,
|
|
52
51
|
as: Button,
|
|
53
52
|
// for backwards compatibility this is needed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapsibleButtonGroup.js","names":["React","useContext","useMemo","useState","PropTypes","MoreVert","useToggle","useWindowSize","DataTableContext","Icon","IconButton","breakpoints","ModalPopup","Stack","Button","ACTION_OVERFLOW_BUTTON_TEXT","SMALL_SCREEN_ACTION_OVERFLOW_BUTTON_TEXT","CollapsibleButtonGroup","className","actions","rest","isOverflowMenuOpen","openOverflowMenu","closeOverflowMenu","overflowMenuTarget","setOverflowMenuTarget","controlledTableSelections","isEntireTableSelected","selectedFlatRows","rows","width","selectedRows","visibleActions","dropdownActions","small","minWidth","firstTwoActions","splice","extraActions","slice","reverse","cloneAction","action","index","cloneElement","component","key","as","args","createElement","length","Fragment","variant","iconAs","src","alt","id","ref","onClick","positionRef","onClose","placement","isOpen","gap","map","defaultProps","propTypes","string","arrayOf","shape","oneOfType","element","elementType","isRequired"],"sources":["../../src/DataTable/CollapsibleButtonGroup.jsx"],"sourcesContent":["import React, { useContext, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MoreVert } from '../../icons';\nimport useToggle from '../hooks/useToggleHook';\nimport useWindowSize from '../hooks/useWindowSizeHook';\nimport DataTableContext from './DataTableContext';\nimport Icon from '../Icon';\nimport IconButton from '../IconButton';\nimport breakpoints from '../utils/breakpoints';\nimport ModalPopup from '../Modal/ModalPopup';\nimport Stack from '../Stack';\nimport Button from '../Button';\n\nexport const ACTION_OVERFLOW_BUTTON_TEXT = 'More actions';\nexport const SMALL_SCREEN_ACTION_OVERFLOW_BUTTON_TEXT = 'Actions';\n\nfunction CollapsibleButtonGroup({\n className,\n actions,\n ...rest\n}) {\n const [isOverflowMenuOpen, openOverflowMenu, closeOverflowMenu] = useToggle(false);\n const [overflowMenuTarget, setOverflowMenuTarget] = useState(null);\n const {\n controlledTableSelections: [{ isEntireTableSelected }],\n selectedFlatRows,\n rows,\n } = useContext(DataTableContext);\n const { width } = useWindowSize();\n const selectedRows = selectedFlatRows || rows;\n\n const [visibleActions, dropdownActions] = useMemo(() => {\n if (width < breakpoints.small.minWidth) {\n // On a small screen, all actions will be in the overflow menu\n return [[], [...actions]];\n }\n // The first two actions will be displayed as buttons, the rest will go in an overflow menu\n const firstTwoActions = [...actions].splice(0, 2);\n const extraActions = [...actions].slice(2);\n\n /* Reversing the array because to the user it makes sense to put the primary button first,\n but we want it on the right */\n return [firstTwoActions.reverse(), extraActions];\n }, [actions, width]);\n\n if (!isEntireTableSelected && !selectedRows) {\n return null;\n }\n\n const cloneAction = (action, index) => React.cloneElement(\n action.component,\n {\n
|
|
1
|
+
{"version":3,"file":"CollapsibleButtonGroup.js","names":["React","useContext","useMemo","useState","PropTypes","MoreVert","useToggle","useWindowSize","DataTableContext","Icon","IconButton","breakpoints","ModalPopup","Stack","Button","ACTION_OVERFLOW_BUTTON_TEXT","SMALL_SCREEN_ACTION_OVERFLOW_BUTTON_TEXT","CollapsibleButtonGroup","className","actions","rest","isOverflowMenuOpen","openOverflowMenu","closeOverflowMenu","overflowMenuTarget","setOverflowMenuTarget","controlledTableSelections","isEntireTableSelected","selectedFlatRows","rows","width","selectedRows","visibleActions","dropdownActions","small","minWidth","firstTwoActions","splice","extraActions","slice","reverse","cloneAction","action","index","cloneElement","component","key","as","args","createElement","length","Fragment","variant","iconAs","src","alt","id","ref","onClick","positionRef","onClose","placement","isOpen","gap","map","defaultProps","propTypes","string","arrayOf","shape","oneOfType","element","elementType","isRequired"],"sources":["../../src/DataTable/CollapsibleButtonGroup.jsx"],"sourcesContent":["import React, { useContext, useMemo, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { MoreVert } from '../../icons';\nimport useToggle from '../hooks/useToggleHook';\nimport useWindowSize from '../hooks/useWindowSizeHook';\nimport DataTableContext from './DataTableContext';\nimport Icon from '../Icon';\nimport IconButton from '../IconButton';\nimport breakpoints from '../utils/breakpoints';\nimport ModalPopup from '../Modal/ModalPopup';\nimport Stack from '../Stack';\nimport Button from '../Button';\n\nexport const ACTION_OVERFLOW_BUTTON_TEXT = 'More actions';\nexport const SMALL_SCREEN_ACTION_OVERFLOW_BUTTON_TEXT = 'Actions';\n\nfunction CollapsibleButtonGroup({\n className,\n actions,\n ...rest\n}) {\n const [isOverflowMenuOpen, openOverflowMenu, closeOverflowMenu] = useToggle(false);\n const [overflowMenuTarget, setOverflowMenuTarget] = useState(null);\n const {\n controlledTableSelections: [{ isEntireTableSelected }],\n selectedFlatRows,\n rows,\n } = useContext(DataTableContext);\n const { width } = useWindowSize();\n const selectedRows = selectedFlatRows || rows;\n\n const [visibleActions, dropdownActions] = useMemo(() => {\n if (width < breakpoints.small.minWidth) {\n // On a small screen, all actions will be in the overflow menu\n return [[], [...actions]];\n }\n // The first two actions will be displayed as buttons, the rest will go in an overflow menu\n const firstTwoActions = [...actions].splice(0, 2);\n const extraActions = [...actions].slice(2);\n\n /* Reversing the array because to the user it makes sense to put the primary button first,\n but we want it on the right */\n return [firstTwoActions.reverse(), extraActions];\n }, [actions, width]);\n\n if (!isEntireTableSelected && !selectedRows) {\n return null;\n }\n\n const cloneAction = (action, index) => React.cloneElement(\n action.component,\n {\n key: `${action}${index}`,\n as: Button, // for backwards compatibility this is needed\n ...action.args,\n },\n );\n\n return (\n <div className={className} {...rest}>\n {dropdownActions.length > 0 && (\n <>\n <IconButton\n variant=\"secondary\"\n iconAs={Icon}\n src={MoreVert}\n alt={width > breakpoints.small.minWidth\n ? ACTION_OVERFLOW_BUTTON_TEXT : SMALL_SCREEN_ACTION_OVERFLOW_BUTTON_TEXT}\n id=\"actions-dropdown\"\n ref={setOverflowMenuTarget}\n onClick={openOverflowMenu}\n />\n <ModalPopup\n positionRef={overflowMenuTarget}\n onClose={closeOverflowMenu}\n placement=\"bottom-end\"\n isOpen={isOverflowMenuOpen}\n >\n <div className=\"pgn__data-table__overflow-actions-menu\">\n <Stack gap={2}>\n {dropdownActions.map(cloneAction)}\n </Stack>\n </div>\n </ModalPopup>\n </>\n )}\n <div className=\"pgn__data-table__visible-actions\">\n {visibleActions.map(cloneAction)}\n </div>\n </div>\n );\n}\n\nCollapsibleButtonGroup.defaultProps = {\n className: null,\n};\n\nCollapsibleButtonGroup.propTypes = {\n /** Class names for the div wrapping the button components */\n className: PropTypes.string,\n /** Array of action objects, containing a component and their callback args */\n actions: PropTypes.arrayOf(PropTypes.shape({\n component: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]).isRequired,\n args: PropTypes.shape({}),\n })).isRequired,\n};\n\nexport default CollapsibleButtonGroup;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,7 +40,7 @@ function CheckboxFilter({
|
|
|
40
40
|
value
|
|
41
41
|
}) => /*#__PURE__*/React.createElement(Form.Checkbox, {
|
|
42
42
|
key: `${headerBasedId}${name}`,
|
|
43
|
-
value:
|
|
43
|
+
value: value,
|
|
44
44
|
checked: checkedBoxes.includes(value),
|
|
45
45
|
onChange: () => changeCheckbox(value),
|
|
46
46
|
"aria-label": name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxFilter.js","names":["React","useRef","useMemo","PropTypes","Form","FormLabel","Badge","Stack","newId","CheckboxFilter","column","filterValue","setFilter","Header","filterChoices","getHeaderProps","ariaLabel","key","checkedBoxes","changeCheckbox","value","includes","newCheckedBoxes","filter","val","push","headerBasedId","createElement","Group","role","current","id","className","CheckboxSet","name","map","number","Checkbox","checked","onChange","direction","gap","undefined","variant","propTypes","shape","func","isRequired","oneOfType","elementType","node","arrayOf","string"],"sources":["../../../src/DataTable/filters/CheckboxFilter.jsx"],"sourcesContent":["import React, { useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport Form, { FormLabel } from '../../Form';\nimport Badge from '../../Badge';\nimport Stack from '../../Stack';\nimport { newId } from '../../utils';\n\nfunction CheckboxFilter({\n column: {\n filterValue, setFilter, Header, filterChoices, getHeaderProps,\n },\n}) {\n // creates a unique label that does not change on re-render in case there are multiple checkbox filters in the dom\n const ariaLabel = useRef(newId(`checkbox-filter-label-${getHeaderProps().key}-`));\n\n const checkedBoxes = filterValue || [];\n const changeCheckbox = (value) => {\n if (checkedBoxes.includes(value)) {\n const newCheckedBoxes = checkedBoxes.filter((val) => val !== value);\n return setFilter(newCheckedBoxes);\n }\n checkedBoxes.push(value);\n return setFilter(checkedBoxes);\n };\n const headerBasedId = useMemo(() => `checkbox-filter-check-${getHeaderProps().key}-`, [getHeaderProps]);\n\n return (\n <Form.Group role=\"group\" aria-labelledby={ariaLabel.current}>\n <FormLabel id={ariaLabel.current} className=\"pgn__checkbox-filter-label\">{Header}</FormLabel>\n <Form.CheckboxSet name={Header} value={checkedBoxes}>\n {filterChoices.map(({ name, number, value }) => (\n <Form.Checkbox\n key={`${headerBasedId}${name}`}\n value={
|
|
1
|
+
{"version":3,"file":"CheckboxFilter.js","names":["React","useRef","useMemo","PropTypes","Form","FormLabel","Badge","Stack","newId","CheckboxFilter","column","filterValue","setFilter","Header","filterChoices","getHeaderProps","ariaLabel","key","checkedBoxes","changeCheckbox","value","includes","newCheckedBoxes","filter","val","push","headerBasedId","createElement","Group","role","current","id","className","CheckboxSet","name","map","number","Checkbox","checked","onChange","direction","gap","undefined","variant","propTypes","shape","func","isRequired","oneOfType","elementType","node","arrayOf","string"],"sources":["../../../src/DataTable/filters/CheckboxFilter.jsx"],"sourcesContent":["import React, { useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport Form, { FormLabel } from '../../Form';\nimport Badge from '../../Badge';\nimport Stack from '../../Stack';\nimport { newId } from '../../utils';\n\nfunction CheckboxFilter({\n column: {\n filterValue, setFilter, Header, filterChoices, getHeaderProps,\n },\n}) {\n // creates a unique label that does not change on re-render in case there are multiple checkbox filters in the dom\n const ariaLabel = useRef(newId(`checkbox-filter-label-${getHeaderProps().key}-`));\n\n const checkedBoxes = filterValue || [];\n const changeCheckbox = (value) => {\n if (checkedBoxes.includes(value)) {\n const newCheckedBoxes = checkedBoxes.filter((val) => val !== value);\n return setFilter(newCheckedBoxes);\n }\n checkedBoxes.push(value);\n return setFilter(checkedBoxes);\n };\n const headerBasedId = useMemo(() => `checkbox-filter-check-${getHeaderProps().key}-`, [getHeaderProps]);\n\n return (\n <Form.Group role=\"group\" aria-labelledby={ariaLabel.current}>\n <FormLabel id={ariaLabel.current} className=\"pgn__checkbox-filter-label\">{Header}</FormLabel>\n <Form.CheckboxSet name={Header} value={checkedBoxes}>\n {filterChoices.map(({ name, number, value }) => (\n <Form.Checkbox\n key={`${headerBasedId}${name}`}\n value={value}\n checked={checkedBoxes.includes(value)}\n onChange={() => changeCheckbox(value)}\n aria-label={name}\n >\n <Stack direction=\"horizontal\" gap={2}>\n {name} {number !== undefined && <Badge variant=\"light\">{number}</Badge>}\n </Stack>\n </Form.Checkbox>\n ))}\n </Form.CheckboxSet>\n </Form.Group>\n );\n}\n\nCheckboxFilter.propTypes = {\n /**\n * Specifies a column object.\n *\n * `setFilter`: Function to set the filter value.\n *\n * `Header`: Column header used for labels and placeholders.\n *\n * `filterChoices`: Specifies array of choices.\n *\n * `getHeaderProps`: Generates a key unique to the column being filtered.\n *\n * `filterValue`: Value for the filter input.\n */\n column: PropTypes.shape({\n setFilter: PropTypes.func.isRequired,\n Header: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]).isRequired,\n filterChoices: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n number: PropTypes.number,\n })).isRequired,\n getHeaderProps: PropTypes.func.isRequired,\n filterValue: PropTypes.arrayOf(PropTypes.string),\n }).isRequired,\n};\n\nexport default CheckboxFilter;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/DataTable/index.js
CHANGED
|
@@ -59,6 +59,7 @@ function DataTable({
|
|
|
59
59
|
filtersTitle,
|
|
60
60
|
dataViewToggleOptions,
|
|
61
61
|
disableElevation,
|
|
62
|
+
className,
|
|
62
63
|
isLoading,
|
|
63
64
|
children,
|
|
64
65
|
onSelectedRowsChanged,
|
|
@@ -228,7 +229,8 @@ function DataTable({
|
|
|
228
229
|
return /*#__PURE__*/React.createElement(DataTableContext.Provider, {
|
|
229
230
|
value: enhancedInstance
|
|
230
231
|
}, /*#__PURE__*/React.createElement(DataTableLayout, {
|
|
231
|
-
filtersTitle: filtersTitle
|
|
232
|
+
filtersTitle: filtersTitle,
|
|
233
|
+
className: className
|
|
232
234
|
}, /*#__PURE__*/React.createElement("div", {
|
|
233
235
|
className: classNames('pgn__data-table-wrapper', {
|
|
234
236
|
'hide-shadow': !!disableElevation
|
|
@@ -269,6 +271,7 @@ DataTable.defaultProps = {
|
|
|
269
271
|
},
|
|
270
272
|
disableElevation: false,
|
|
271
273
|
renderRowSubComponent: undefined,
|
|
274
|
+
className: undefined,
|
|
272
275
|
isExpandable: false,
|
|
273
276
|
isLoading: false,
|
|
274
277
|
onSelectedRowsChanged: undefined,
|
|
@@ -314,7 +317,7 @@ DataTable.propTypes = {
|
|
|
314
317
|
isPaginated: PropTypes.bool,
|
|
315
318
|
/** Indicates that pagination will be done manually. A fetchData function must be provided */
|
|
316
319
|
manualPagination: PropTypes.bool,
|
|
317
|
-
|
|
320
|
+
/** Number of pages in the table. Required when manualPagination is true */
|
|
318
321
|
pageCount: requiredWhen(PropTypes.number, 'manualPagination'),
|
|
319
322
|
/** Table rows can be filtered, using a default filter in the default column values, or in the column definition */
|
|
320
323
|
isFilterable: PropTypes.bool,
|
|
@@ -400,6 +403,8 @@ DataTable.propTypes = {
|
|
|
400
403
|
children: PropTypes.node,
|
|
401
404
|
/** If true filters will be shown on sidebar instead */
|
|
402
405
|
showFiltersInSidebar: PropTypes.bool,
|
|
406
|
+
/** Class name for the data table layout */
|
|
407
|
+
className: PropTypes.string,
|
|
403
408
|
/** Title of the filters section */
|
|
404
409
|
filtersTitle: PropTypes.string,
|
|
405
410
|
/** options for data view toggle */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useEffect","useMemo","useReducer","PropTypes","useTable","useMountedLayoutEffect","classNames","Table","getVisibleColumns","requiredWhen","requiredWhenNot","getTableArgs","TableControlBar","EmptyTableContent","TableFooter","BulkActions","DropdownFilters","FilterStatus","RowStatus","SelectionStatus","ControlledSelectionStatus","SmartStatus","TableFilters","TableHeaderCell","TableCell","TableHeaderRow","TablePagination","TablePaginationMinimal","DataTableContext","TableActions","ControlledSelect","ControlledSelectHeader","DataTableLayout","ExpandAll","ExpandRow","useDataTableSelections","useSelectionActions","selectionsReducer","initialState","initialSelectionsState","DataTable","columns","data","defaultColumnValues","additionalColumns","isSelectable","isPaginated","manualPagination","pageCount","itemCount","isFilterable","manualFilters","fetchData","isSortable","manualSortBy","isExpandable","renderRowSubComponent","bulkActions","tableActions","numBreakoutFilters","initialTableOptions","EmptyTableComponent","manualSelectColumn","showFiltersInSidebar","filtersTitle","dataViewToggleOptions","disableElevation","isLoading","children","onSelectedRowsChanged","maxSelectedRows","onMaxSelectedRows","props","defaultColumn","tableOptions","updatedTableOptions","stateReducer","newState","action","previousState","type","value","selectedRowIds","rowIndex","parseInt","id","selectedRowsOrdered","newSelectedRowsOrdered","filter","item","selections","selectionsDispatch","tableArgs","push","hooks","visibleColumns","selectionProps","selectedRows","length","selectedRowsById","forEach","row","useControlledState","state","selectedFlatRows","controlledTableSelections","instance","pageSize","tableStatePageSize","pageIndex","tableStatePageIndex","sortBy","tableStateSortBy","filters","tableStateFilters","tableStateSelectedRowIds","selectionActions","page","isAllPageRowsSelected","enhancedInstance","createElement","Provider","className","Fragment","content","defaultProps","undefined","SelectionStatusComponent","FilterStatusComponent","RowStatusComponent","isDataViewToggleEnabled","onDataViewToggle","defaultActiveStateValue","togglePlacement","propTypes","arrayOf","shape","Header","oneOfType","elementType","node","isRequired","accessor","string","Cell","Filter","filterChoices","name","number","bool","disableSortBy","func","buttonText","handleClick","variant","disabled","element","oneOf","EmptyTable"],"sources":["../../src/DataTable/index.jsx"],"sourcesContent":["import React, {\n useEffect, useMemo, useReducer,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useTable, useMountedLayoutEffect } from 'react-table';\n\nimport classNames from 'classnames';\nimport Table from './Table';\nimport getVisibleColumns from './utils/getVisibleColumns';\nimport { requiredWhen, requiredWhenNot } from '../utils/propTypes';\nimport getTableArgs from './utils/getTableArgs';\nimport TableControlBar from './TableControlBar';\nimport EmptyTableContent from './EmptyTable';\nimport TableFooter from './TableFooter';\nimport BulkActions from './BulkActions';\nimport DropdownFilters from './DropdownFilters';\nimport FilterStatus from './FilterStatus';\nimport RowStatus from './RowStatus';\nimport SelectionStatus from './selection/SelectionStatus';\nimport ControlledSelectionStatus from './selection/ControlledSelectionStatus';\nimport SmartStatus from './SmartStatus';\nimport TableFilters from './TableFilters';\nimport TableHeaderCell from './TableHeaderCell';\nimport TableCell from './TableCell';\nimport TableHeaderRow from './TableHeaderRow';\nimport TablePagination from './TablePagination';\nimport TablePaginationMinimal from './TablePaginationMinimal';\nimport DataTableContext from './DataTableContext';\nimport TableActions from './TableActions';\nimport ControlledSelect from './selection/ControlledSelect';\nimport ControlledSelectHeader from './selection/ControlledSelectHeader';\nimport DataTableLayout from './DataTableLayout';\nimport ExpandAll from './ExpandAll';\nimport ExpandRow from './ExpandRow';\n\nimport { useDataTableSelections, useSelectionActions } from './hooks';\nimport selectionsReducer, {\n initialState as initialSelectionsState,\n} from './selection/data/reducer';\n\nfunction DataTable({\n columns, data, defaultColumnValues, additionalColumns, isSelectable,\n isPaginated, manualPagination, pageCount, itemCount,\n isFilterable, manualFilters, fetchData, initialState,\n isSortable, manualSortBy,\n isExpandable, renderRowSubComponent,\n bulkActions, tableActions, numBreakoutFilters,\n initialTableOptions,\n EmptyTableComponent,\n manualSelectColumn,\n showFiltersInSidebar,\n filtersTitle,\n dataViewToggleOptions,\n disableElevation,\n isLoading,\n children,\n onSelectedRowsChanged,\n maxSelectedRows,\n onMaxSelectedRows,\n ...props\n}) {\n const defaultColumn = useMemo(\n () => (defaultColumnValues),\n [defaultColumnValues],\n );\n const tableOptions = useMemo(() => {\n const updatedTableOptions = {\n stateReducer: (newState, action, previousState) => {\n switch (action.type) {\n // Note: we override the `toggleAllRowsSelected` action\n // from react-table because it only clears the selections on the\n // currently visible page; it does not clear the `selectedRowIds`\n // as we would expect for selections on different pages. Instead, we\n // force `selectedRowIds` to be cleared when `toggleAllRowsSelected(false)`\n // is called.\n case 'toggleAllRowsSelected': {\n if (action.value) {\n return newState;\n }\n return {\n ...newState,\n selectedRowIds: {},\n };\n }\n /**\n * Note: We override the `toggleRowSelected` action from react-table\n * because we need to preserve the order of the selected rows.\n * while `selectedRowIds` is an object that contains the selected rows as key-value pairs,\n * it does not maintain the order of selection. Therefore, we have added the `selectedRowsOrdered` property\n * to keep track of the order in which the rows were selected.\n */\n case 'toggleRowSelected': {\n const rowIndex = parseInt(action.id, 10);\n const { selectedRowsOrdered = [] } = previousState;\n\n let newSelectedRowsOrdered;\n if (action.value) {\n newSelectedRowsOrdered = [...selectedRowsOrdered, rowIndex];\n } else {\n newSelectedRowsOrdered = selectedRowsOrdered.filter((item) => item !== rowIndex);\n }\n\n return {\n ...newState,\n selectedRowsOrdered: newSelectedRowsOrdered,\n };\n }\n default:\n return newState;\n }\n },\n ...initialTableOptions,\n };\n return {\n columns,\n data,\n defaultColumn,\n manualFilters,\n manualPagination,\n manualSortBy,\n initialState,\n ...updatedTableOptions,\n };\n }, [initialTableOptions, columns, data, defaultColumn, manualFilters, manualPagination, manualSortBy, initialState]);\n\n const [selections, selectionsDispatch] = useReducer(selectionsReducer, initialSelectionsState);\n\n if (isPaginated && manualPagination) {\n // pageCount is required when pagination is manual, if it's not there passing -1 as per react-table docs\n tableOptions.pageCount = pageCount || -1;\n }\n\n // NB: Table args *must* be in a particular order\n const tableArgs = getTableArgs({\n tableOptions, isFilterable, isSelectable, isPaginated, isSortable, isExpandable,\n });\n // adds selection column and action columns as necessary\n tableArgs.push(hooks => {\n hooks.visibleColumns.push(\n visibleColumns => getVisibleColumns(isSelectable, visibleColumns, additionalColumns, manualSelectColumn),\n );\n });\n\n // Pass any controlled selections from context to the appropriate ``useTable`` arguments to maintain\n // correct selection states on rows, both from a data perspective and in the UI.\n const selectionProps = {};\n const { selectedRows } = selections;\n if (selectedRows.length > 0) {\n const selectedRowsById = {};\n selectedRows.forEach((row) => {\n selectedRowsById[row.id] = true;\n });\n tableArgs.push(hooks => {\n hooks.useControlledState.push(\n (state) => ({ ...state, selectedRowIds: selectedRowsById }),\n );\n });\n selectionProps.selectedFlatRows = selectedRows;\n }\n const controlledTableSelections = [selections, selectionsDispatch];\n\n // Use the state and functions returned from useTable to build your UI\n const instance = useTable(...tableArgs);\n\n const {\n pageSize: tableStatePageSize,\n pageIndex: tableStatePageIndex,\n sortBy: tableStateSortBy,\n filters: tableStateFilters,\n selectedRowIds: tableStateSelectedRowIds,\n } = instance.state;\n\n useEffect(() => {\n if (fetchData) {\n fetchData({\n pageSize: tableStatePageSize,\n pageIndex: tableStatePageIndex,\n sortBy: tableStateSortBy,\n filters: tableStateFilters,\n });\n }\n }, [fetchData, tableStatePageSize, tableStatePageIndex, tableStateSortBy, tableStateFilters]);\n\n useMountedLayoutEffect(() => {\n if (onSelectedRowsChanged) {\n onSelectedRowsChanged(tableStateSelectedRowIds);\n }\n }, [tableStateSelectedRowIds, onSelectedRowsChanged]);\n\n const selectionActions = useSelectionActions(instance, controlledTableSelections);\n\n useDataTableSelections({\n selections,\n selectionsDispatch,\n itemCount,\n selectedRows,\n page: instance.page,\n isAllPageRowsSelected: instance.isAllPageRowsSelected,\n });\n\n const enhancedInstance = {\n ...instance,\n manualFilters,\n itemCount,\n numBreakoutFilters,\n bulkActions,\n tableActions,\n controlledTableSelections,\n showFiltersInSidebar,\n dataViewToggleOptions,\n renderRowSubComponent,\n disableElevation,\n isLoading,\n isSelectable,\n isPaginated,\n manualSelectColumn,\n maxSelectedRows,\n onMaxSelectedRows,\n filtersTitle,\n ...selectionProps,\n ...selectionActions,\n ...props,\n };\n\n return (\n <DataTableContext.Provider value={enhancedInstance}>\n <DataTableLayout filtersTitle={filtersTitle}>\n <div className={classNames('pgn__data-table-wrapper', {\n 'hide-shadow': !!disableElevation,\n })}\n >\n {children || (\n <>\n <TableControlBar />\n <Table />\n <EmptyTableComponent content=\"No results found\" />\n <TableFooter />\n </>\n )}\n </div>\n </DataTableLayout>\n </DataTableContext.Provider>\n );\n}\n\nDataTable.defaultProps = {\n additionalColumns: [],\n defaultColumnValues: {},\n isFilterable: false,\n isPaginated: false,\n isSelectable: false,\n isSortable: false,\n manualFilters: false,\n manualPagination: false,\n manualSortBy: false,\n fetchData: null,\n initialState: {},\n initialTableOptions: {},\n EmptyTableComponent: EmptyTableContent,\n children: null,\n bulkActions: [],\n tableActions: [],\n numBreakoutFilters: 1,\n manualSelectColumn: undefined,\n SelectionStatusComponent: SelectionStatus,\n FilterStatusComponent: FilterStatus,\n RowStatusComponent: RowStatus,\n showFiltersInSidebar: false,\n filtersTitle: undefined,\n dataViewToggleOptions: {\n isDataViewToggleEnabled: false,\n onDataViewToggle: () => {},\n defaultActiveStateValue: 'card',\n togglePlacement: 'left',\n },\n disableElevation: false,\n renderRowSubComponent: undefined,\n isExpandable: false,\n isLoading: false,\n onSelectedRowsChanged: undefined,\n maxSelectedRows: undefined,\n onMaxSelectedRows: undefined,\n};\n\nDataTable.propTypes = {\n /** Definition of table columns */\n columns: PropTypes.arrayOf(PropTypes.shape({\n /** User visible column name */\n Header: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]).isRequired,\n /** String used to access the correct cell data for this column */\n accessor: requiredWhenNot(PropTypes.string, 'Cell'),\n /** Specifies a function that receives `row` as argument and returns cell content */\n Cell: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n /** Specifies filter component */\n Filter: PropTypes.elementType,\n /** Specifies filter type */\n filter: PropTypes.string,\n /** Specifies filter choices */\n filterChoices: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n number: PropTypes.number,\n value: PropTypes.string,\n })),\n })).isRequired,\n /** Data to be displayed in the table */\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n /** table rows can be selected */\n isSelectable: PropTypes.bool,\n /** Alternate column for selecting rows. See react table useSort docs for more information */\n manualSelectColumn: PropTypes.shape({\n id: PropTypes.string.isRequired,\n Header: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]).isRequired,\n Cell: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n disableSortBy: PropTypes.bool.isRequired,\n }),\n /** Table columns can be sorted */\n isSortable: PropTypes.bool,\n /** Indicates that sorting will be done via backend API. A fetchData function must be provided */\n manualSortBy: PropTypes.bool,\n /** Paginate the table */\n isPaginated: PropTypes.bool,\n /** Indicates that pagination will be done manually. A fetchData function must be provided */\n manualPagination: PropTypes.bool,\n // eslint-disable-next-line react/require-default-props\n pageCount: requiredWhen(PropTypes.number, 'manualPagination'),\n /** Table rows can be filtered, using a default filter in the default column values, or in the column definition */\n isFilterable: PropTypes.bool,\n /** Indicates that filtering will be done via a backend API. A fetchData function must be provided */\n manualFilters: PropTypes.bool,\n\n /** defaults that will be set on each column. Will be overridden by individual column values */\n defaultColumnValues: PropTypes.shape({\n /** A default filter component for the column */\n Filter: PropTypes.elementType,\n }),\n /** Actions or other additional non-data columns can be added here */\n additionalColumns: PropTypes.arrayOf(PropTypes.shape({\n /** id must be unique from other columns ids */\n id: PropTypes.string.isRequired,\n /** column header that will be displayed to the user */\n Header: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n /** Component that renders in the added column. It will receive the row as a prop */\n Cell: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n })),\n /** Function that will fetch table data. Called when page size, page index or filters change.\n * Meant to be used with manual filters and pagination */\n fetchData: PropTypes.func,\n /** Initial state passed to react-table's documentation https://github.com/TanStack/table/blob/v7/docs/src/pages/docs/api/useTable.md */\n initialState: PropTypes.shape({\n pageSize: requiredWhen(PropTypes.number, 'isPaginated'),\n pageIndex: requiredWhen(PropTypes.number, 'isPaginated'),\n filters: requiredWhen(PropTypes.arrayOf(PropTypes.shape()), 'manualFilters'),\n sortBy: requiredWhen(PropTypes.arrayOf(PropTypes.shape()), 'manualSortBy'),\n selectedRowIds: PropTypes.shape(),\n selectedRowsOrdered: PropTypes.arrayOf(PropTypes.number),\n }),\n /** Table options passed to react-table's useTable hook. Will override some options passed in to DataTable, such\n as: data, columns, defaultColumn, manualFilters, manualPagination, manualSortBy, and initialState */\n initialTableOptions: PropTypes.shape({}),\n /** Actions to be performed on the table. Called with the table instance. Not displayed if rows are selected. */\n itemCount: PropTypes.number.isRequired,\n /** Actions to be performed on selected rows of the table. Called with the selected rows.\n * Only displayed if rows are selected. */\n bulkActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n /** Bulk action button text */\n buttonText: PropTypes.string.isRequired,\n /** handleClick will be passed the selected rows */\n handleClick: PropTypes.func.isRequired,\n /** classnames for button class */\n className: PropTypes.string,\n /** optional button variant; only relevant for the first two buttons */\n variant: PropTypes.string,\n /** disables button */\n disabled: PropTypes.bool,\n }),\n /** function passed selected items, should return action object */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n ),\n /** Function for rendering custom components */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n /** Function for rendering custom components, called with the table instance */\n tableActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n /** Bulk action button text */\n buttonText: PropTypes.string.isRequired,\n /** handleClick will be passed the selected rows */\n handleClick: PropTypes.func.isRequired,\n /** classnames for button class */\n className: PropTypes.string,\n /** optional button variant; only relevant for the first two buttons */\n variant: PropTypes.string,\n /** disables button */\n disabled: PropTypes.bool,\n }),\n /** function passed table instance, should return action object */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n ),\n /** Function for rendering custom components */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n /** Number between one and four filters that can be shown on the top row. */\n numBreakoutFilters: PropTypes.oneOf([1, 2, 3, 4]),\n /** Component to be displayed when the table is empty */\n EmptyTableComponent: PropTypes.elementType,\n /** Component to be displayed for row status, ie, 10 of 20 rows. Displayed by default in the TableControlBar */\n RowStatusComponent: PropTypes.elementType,\n /** Component to be displayed for selection status. Displayed when there are selected rows and no active filters */\n SelectionStatusComponent: PropTypes.elementType,\n /** Component to be displayed for filter status. Displayed when there are active filters. */\n FilterStatusComponent: PropTypes.elementType,\n /** If children are not provided a table with control bar and footer will be rendered */\n children: PropTypes.node,\n /** If true filters will be shown on sidebar instead */\n showFiltersInSidebar: PropTypes.bool,\n /** Title of the filters section */\n filtersTitle: PropTypes.string,\n /** options for data view toggle */\n dataViewToggleOptions: PropTypes.shape({\n /** Whether to show a toggle button group which allows view switching between card and table views */\n isDataViewToggleEnabled: PropTypes.bool,\n /** Callback invoked when the toggle buttons are clicked, with value of selected button passed in */\n onDataViewToggle: PropTypes.func,\n /** default value for toggle active state */\n defaultActiveStateValue: PropTypes.string,\n /** placement of toggle 'bottom' will push it to the bottom row in\n * actions section. Only 'left' and 'bottom' are supported */\n togglePlacement: PropTypes.string,\n }),\n /** Remove the default box shadow on the component */\n disableElevation: PropTypes.bool,\n /** A function that will render contents of expanded row, accepts `row` as a prop. */\n renderRowSubComponent: PropTypes.func,\n /** Indicates whether table supports expandable rows. */\n isExpandable: PropTypes.bool,\n /** Indicates whether the table should show loading states. */\n isLoading: PropTypes.bool,\n /** Callback function called when row selections change. */\n onSelectedRowsChanged: PropTypes.func,\n /** Indicates the max of rows selectable in the table. Requires isSelectable prop */\n maxSelectedRows: PropTypes.number,\n /** Callback after selected max rows. Requires isSelectable and maxSelectedRows props */\n onMaxSelectedRows: PropTypes.func,\n};\n\nDataTable.BulkActions = BulkActions;\nDataTable.EmptyTable = EmptyTableContent;\nDataTable.DropdownFilters = DropdownFilters;\nDataTable.FilterStatus = FilterStatus;\nDataTable.RowStatus = RowStatus;\nDataTable.SelectionStatus = SelectionStatus;\nDataTable.SmartStatus = SmartStatus;\nDataTable.Table = Table;\nDataTable.TableCell = TableCell;\nDataTable.TableControlBar = TableControlBar;\nDataTable.TableFilters = TableFilters;\nDataTable.TableFooter = TableFooter;\nDataTable.TableHeaderCell = TableHeaderCell;\nDataTable.TableHeaderRow = TableHeaderRow;\nDataTable.TablePagination = TablePagination;\nDataTable.TablePaginationMinimal = TablePaginationMinimal;\nDataTable.TableActions = TableActions;\nDataTable.ControlledSelectionStatus = ControlledSelectionStatus;\nDataTable.ControlledSelect = ControlledSelect;\nDataTable.ControlledSelectHeader = ControlledSelectHeader;\nDataTable.ExpandAll = ExpandAll;\nDataTable.ExpandRow = ExpandRow;\n\nexport default DataTable;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useEffect","useMemo","useReducer","PropTypes","useTable","useMountedLayoutEffect","classNames","Table","getVisibleColumns","requiredWhen","requiredWhenNot","getTableArgs","TableControlBar","EmptyTableContent","TableFooter","BulkActions","DropdownFilters","FilterStatus","RowStatus","SelectionStatus","ControlledSelectionStatus","SmartStatus","TableFilters","TableHeaderCell","TableCell","TableHeaderRow","TablePagination","TablePaginationMinimal","DataTableContext","TableActions","ControlledSelect","ControlledSelectHeader","DataTableLayout","ExpandAll","ExpandRow","useDataTableSelections","useSelectionActions","selectionsReducer","initialState","initialSelectionsState","DataTable","columns","data","defaultColumnValues","additionalColumns","isSelectable","isPaginated","manualPagination","pageCount","itemCount","isFilterable","manualFilters","fetchData","isSortable","manualSortBy","isExpandable","renderRowSubComponent","bulkActions","tableActions","numBreakoutFilters","initialTableOptions","EmptyTableComponent","manualSelectColumn","showFiltersInSidebar","filtersTitle","dataViewToggleOptions","disableElevation","className","isLoading","children","onSelectedRowsChanged","maxSelectedRows","onMaxSelectedRows","props","defaultColumn","tableOptions","updatedTableOptions","stateReducer","newState","action","previousState","type","value","selectedRowIds","rowIndex","parseInt","id","selectedRowsOrdered","newSelectedRowsOrdered","filter","item","selections","selectionsDispatch","tableArgs","push","hooks","visibleColumns","selectionProps","selectedRows","length","selectedRowsById","forEach","row","useControlledState","state","selectedFlatRows","controlledTableSelections","instance","pageSize","tableStatePageSize","pageIndex","tableStatePageIndex","sortBy","tableStateSortBy","filters","tableStateFilters","tableStateSelectedRowIds","selectionActions","page","isAllPageRowsSelected","enhancedInstance","createElement","Provider","Fragment","content","defaultProps","undefined","SelectionStatusComponent","FilterStatusComponent","RowStatusComponent","isDataViewToggleEnabled","onDataViewToggle","defaultActiveStateValue","togglePlacement","propTypes","arrayOf","shape","Header","oneOfType","elementType","node","isRequired","accessor","string","Cell","Filter","filterChoices","name","number","bool","disableSortBy","func","buttonText","handleClick","variant","disabled","element","oneOf","EmptyTable"],"sources":["../../src/DataTable/index.jsx"],"sourcesContent":["import React, {\n useEffect, useMemo, useReducer,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { useTable, useMountedLayoutEffect } from 'react-table';\n\nimport classNames from 'classnames';\nimport Table from './Table';\nimport getVisibleColumns from './utils/getVisibleColumns';\nimport { requiredWhen, requiredWhenNot } from '../utils/propTypes';\nimport getTableArgs from './utils/getTableArgs';\nimport TableControlBar from './TableControlBar';\nimport EmptyTableContent from './EmptyTable';\nimport TableFooter from './TableFooter';\nimport BulkActions from './BulkActions';\nimport DropdownFilters from './DropdownFilters';\nimport FilterStatus from './FilterStatus';\nimport RowStatus from './RowStatus';\nimport SelectionStatus from './selection/SelectionStatus';\nimport ControlledSelectionStatus from './selection/ControlledSelectionStatus';\nimport SmartStatus from './SmartStatus';\nimport TableFilters from './TableFilters';\nimport TableHeaderCell from './TableHeaderCell';\nimport TableCell from './TableCell';\nimport TableHeaderRow from './TableHeaderRow';\nimport TablePagination from './TablePagination';\nimport TablePaginationMinimal from './TablePaginationMinimal';\nimport DataTableContext from './DataTableContext';\nimport TableActions from './TableActions';\nimport ControlledSelect from './selection/ControlledSelect';\nimport ControlledSelectHeader from './selection/ControlledSelectHeader';\nimport DataTableLayout from './DataTableLayout';\nimport ExpandAll from './ExpandAll';\nimport ExpandRow from './ExpandRow';\n\nimport { useDataTableSelections, useSelectionActions } from './hooks';\nimport selectionsReducer, {\n initialState as initialSelectionsState,\n} from './selection/data/reducer';\n\nfunction DataTable({\n columns, data, defaultColumnValues, additionalColumns, isSelectable,\n isPaginated, manualPagination, pageCount, itemCount,\n isFilterable, manualFilters, fetchData, initialState,\n isSortable, manualSortBy,\n isExpandable, renderRowSubComponent,\n bulkActions, tableActions, numBreakoutFilters,\n initialTableOptions,\n EmptyTableComponent,\n manualSelectColumn,\n showFiltersInSidebar,\n filtersTitle,\n dataViewToggleOptions,\n disableElevation,\n className,\n isLoading,\n children,\n onSelectedRowsChanged,\n maxSelectedRows,\n onMaxSelectedRows,\n ...props\n}) {\n const defaultColumn = useMemo(\n () => (defaultColumnValues),\n [defaultColumnValues],\n );\n const tableOptions = useMemo(() => {\n const updatedTableOptions = {\n stateReducer: (newState, action, previousState) => {\n switch (action.type) {\n // Note: we override the `toggleAllRowsSelected` action\n // from react-table because it only clears the selections on the\n // currently visible page; it does not clear the `selectedRowIds`\n // as we would expect for selections on different pages. Instead, we\n // force `selectedRowIds` to be cleared when `toggleAllRowsSelected(false)`\n // is called.\n case 'toggleAllRowsSelected': {\n if (action.value) {\n return newState;\n }\n return {\n ...newState,\n selectedRowIds: {},\n };\n }\n /**\n * Note: We override the `toggleRowSelected` action from react-table\n * because we need to preserve the order of the selected rows.\n * while `selectedRowIds` is an object that contains the selected rows as key-value pairs,\n * it does not maintain the order of selection. Therefore, we have added the `selectedRowsOrdered` property\n * to keep track of the order in which the rows were selected.\n */\n case 'toggleRowSelected': {\n const rowIndex = parseInt(action.id, 10);\n const { selectedRowsOrdered = [] } = previousState;\n\n let newSelectedRowsOrdered;\n if (action.value) {\n newSelectedRowsOrdered = [...selectedRowsOrdered, rowIndex];\n } else {\n newSelectedRowsOrdered = selectedRowsOrdered.filter((item) => item !== rowIndex);\n }\n\n return {\n ...newState,\n selectedRowsOrdered: newSelectedRowsOrdered,\n };\n }\n default:\n return newState;\n }\n },\n ...initialTableOptions,\n };\n return {\n columns,\n data,\n defaultColumn,\n manualFilters,\n manualPagination,\n manualSortBy,\n initialState,\n ...updatedTableOptions,\n };\n }, [initialTableOptions, columns, data, defaultColumn, manualFilters, manualPagination, manualSortBy, initialState]);\n\n const [selections, selectionsDispatch] = useReducer(selectionsReducer, initialSelectionsState);\n\n if (isPaginated && manualPagination) {\n // pageCount is required when pagination is manual, if it's not there passing -1 as per react-table docs\n tableOptions.pageCount = pageCount || -1;\n }\n\n // NB: Table args *must* be in a particular order\n const tableArgs = getTableArgs({\n tableOptions, isFilterable, isSelectable, isPaginated, isSortable, isExpandable,\n });\n // adds selection column and action columns as necessary\n tableArgs.push(hooks => {\n hooks.visibleColumns.push(\n visibleColumns => getVisibleColumns(isSelectable, visibleColumns, additionalColumns, manualSelectColumn),\n );\n });\n\n // Pass any controlled selections from context to the appropriate ``useTable`` arguments to maintain\n // correct selection states on rows, both from a data perspective and in the UI.\n const selectionProps = {};\n const { selectedRows } = selections;\n if (selectedRows.length > 0) {\n const selectedRowsById = {};\n selectedRows.forEach((row) => {\n selectedRowsById[row.id] = true;\n });\n tableArgs.push(hooks => {\n hooks.useControlledState.push(\n (state) => ({ ...state, selectedRowIds: selectedRowsById }),\n );\n });\n selectionProps.selectedFlatRows = selectedRows;\n }\n const controlledTableSelections = [selections, selectionsDispatch];\n\n // Use the state and functions returned from useTable to build your UI\n const instance = useTable(...tableArgs);\n\n const {\n pageSize: tableStatePageSize,\n pageIndex: tableStatePageIndex,\n sortBy: tableStateSortBy,\n filters: tableStateFilters,\n selectedRowIds: tableStateSelectedRowIds,\n } = instance.state;\n\n useEffect(() => {\n if (fetchData) {\n fetchData({\n pageSize: tableStatePageSize,\n pageIndex: tableStatePageIndex,\n sortBy: tableStateSortBy,\n filters: tableStateFilters,\n });\n }\n }, [fetchData, tableStatePageSize, tableStatePageIndex, tableStateSortBy, tableStateFilters]);\n\n useMountedLayoutEffect(() => {\n if (onSelectedRowsChanged) {\n onSelectedRowsChanged(tableStateSelectedRowIds);\n }\n }, [tableStateSelectedRowIds, onSelectedRowsChanged]);\n\n const selectionActions = useSelectionActions(instance, controlledTableSelections);\n\n useDataTableSelections({\n selections,\n selectionsDispatch,\n itemCount,\n selectedRows,\n page: instance.page,\n isAllPageRowsSelected: instance.isAllPageRowsSelected,\n });\n\n const enhancedInstance = {\n ...instance,\n manualFilters,\n itemCount,\n numBreakoutFilters,\n bulkActions,\n tableActions,\n controlledTableSelections,\n showFiltersInSidebar,\n dataViewToggleOptions,\n renderRowSubComponent,\n disableElevation,\n isLoading,\n isSelectable,\n isPaginated,\n manualSelectColumn,\n maxSelectedRows,\n onMaxSelectedRows,\n filtersTitle,\n ...selectionProps,\n ...selectionActions,\n ...props,\n };\n\n return (\n <DataTableContext.Provider value={enhancedInstance}>\n <DataTableLayout filtersTitle={filtersTitle} className={className}>\n <div className={classNames('pgn__data-table-wrapper', {\n 'hide-shadow': !!disableElevation,\n })}\n >\n {children || (\n <>\n <TableControlBar />\n <Table />\n <EmptyTableComponent content=\"No results found\" />\n <TableFooter />\n </>\n )}\n </div>\n </DataTableLayout>\n </DataTableContext.Provider>\n );\n}\n\nDataTable.defaultProps = {\n additionalColumns: [],\n defaultColumnValues: {},\n isFilterable: false,\n isPaginated: false,\n isSelectable: false,\n isSortable: false,\n manualFilters: false,\n manualPagination: false,\n manualSortBy: false,\n fetchData: null,\n initialState: {},\n initialTableOptions: {},\n EmptyTableComponent: EmptyTableContent,\n children: null,\n bulkActions: [],\n tableActions: [],\n numBreakoutFilters: 1,\n manualSelectColumn: undefined,\n SelectionStatusComponent: SelectionStatus,\n FilterStatusComponent: FilterStatus,\n RowStatusComponent: RowStatus,\n showFiltersInSidebar: false,\n filtersTitle: undefined,\n dataViewToggleOptions: {\n isDataViewToggleEnabled: false,\n onDataViewToggle: () => {},\n defaultActiveStateValue: 'card',\n togglePlacement: 'left',\n },\n disableElevation: false,\n renderRowSubComponent: undefined,\n className: undefined,\n isExpandable: false,\n isLoading: false,\n onSelectedRowsChanged: undefined,\n maxSelectedRows: undefined,\n onMaxSelectedRows: undefined,\n};\n\nDataTable.propTypes = {\n /** Definition of table columns */\n columns: PropTypes.arrayOf(PropTypes.shape({\n /** User visible column name */\n Header: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]).isRequired,\n /** String used to access the correct cell data for this column */\n accessor: requiredWhenNot(PropTypes.string, 'Cell'),\n /** Specifies a function that receives `row` as argument and returns cell content */\n Cell: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n /** Specifies filter component */\n Filter: PropTypes.elementType,\n /** Specifies filter type */\n filter: PropTypes.string,\n /** Specifies filter choices */\n filterChoices: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string,\n number: PropTypes.number,\n value: PropTypes.string,\n })),\n })).isRequired,\n /** Data to be displayed in the table */\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n /** table rows can be selected */\n isSelectable: PropTypes.bool,\n /** Alternate column for selecting rows. See react table useSort docs for more information */\n manualSelectColumn: PropTypes.shape({\n id: PropTypes.string.isRequired,\n Header: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]).isRequired,\n Cell: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n disableSortBy: PropTypes.bool.isRequired,\n }),\n /** Table columns can be sorted */\n isSortable: PropTypes.bool,\n /** Indicates that sorting will be done via backend API. A fetchData function must be provided */\n manualSortBy: PropTypes.bool,\n /** Paginate the table */\n isPaginated: PropTypes.bool,\n /** Indicates that pagination will be done manually. A fetchData function must be provided */\n manualPagination: PropTypes.bool,\n /** Number of pages in the table. Required when manualPagination is true */\n pageCount: requiredWhen(PropTypes.number, 'manualPagination'),\n /** Table rows can be filtered, using a default filter in the default column values, or in the column definition */\n isFilterable: PropTypes.bool,\n /** Indicates that filtering will be done via a backend API. A fetchData function must be provided */\n manualFilters: PropTypes.bool,\n\n /** defaults that will be set on each column. Will be overridden by individual column values */\n defaultColumnValues: PropTypes.shape({\n /** A default filter component for the column */\n Filter: PropTypes.elementType,\n }),\n /** Actions or other additional non-data columns can be added here */\n additionalColumns: PropTypes.arrayOf(PropTypes.shape({\n /** id must be unique from other columns ids */\n id: PropTypes.string.isRequired,\n /** column header that will be displayed to the user */\n Header: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n /** Component that renders in the added column. It will receive the row as a prop */\n Cell: PropTypes.oneOfType([PropTypes.elementType, PropTypes.node]),\n })),\n /** Function that will fetch table data. Called when page size, page index or filters change.\n * Meant to be used with manual filters and pagination */\n fetchData: PropTypes.func,\n /** Initial state passed to react-table's documentation https://github.com/TanStack/table/blob/v7/docs/src/pages/docs/api/useTable.md */\n initialState: PropTypes.shape({\n pageSize: requiredWhen(PropTypes.number, 'isPaginated'),\n pageIndex: requiredWhen(PropTypes.number, 'isPaginated'),\n filters: requiredWhen(PropTypes.arrayOf(PropTypes.shape()), 'manualFilters'),\n sortBy: requiredWhen(PropTypes.arrayOf(PropTypes.shape()), 'manualSortBy'),\n selectedRowIds: PropTypes.shape(),\n selectedRowsOrdered: PropTypes.arrayOf(PropTypes.number),\n }),\n /** Table options passed to react-table's useTable hook. Will override some options passed in to DataTable, such\n as: data, columns, defaultColumn, manualFilters, manualPagination, manualSortBy, and initialState */\n initialTableOptions: PropTypes.shape({}),\n /** Actions to be performed on the table. Called with the table instance. Not displayed if rows are selected. */\n itemCount: PropTypes.number.isRequired,\n /** Actions to be performed on selected rows of the table. Called with the selected rows.\n * Only displayed if rows are selected. */\n bulkActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n /** Bulk action button text */\n buttonText: PropTypes.string.isRequired,\n /** handleClick will be passed the selected rows */\n handleClick: PropTypes.func.isRequired,\n /** classnames for button class */\n className: PropTypes.string,\n /** optional button variant; only relevant for the first two buttons */\n variant: PropTypes.string,\n /** disables button */\n disabled: PropTypes.bool,\n }),\n /** function passed selected items, should return action object */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n ),\n /** Function for rendering custom components */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n /** Function for rendering custom components, called with the table instance */\n tableActions: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n /** Bulk action button text */\n buttonText: PropTypes.string.isRequired,\n /** handleClick will be passed the selected rows */\n handleClick: PropTypes.func.isRequired,\n /** classnames for button class */\n className: PropTypes.string,\n /** optional button variant; only relevant for the first two buttons */\n variant: PropTypes.string,\n /** disables button */\n disabled: PropTypes.bool,\n }),\n /** function passed table instance, should return action object */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n ),\n /** Function for rendering custom components */\n PropTypes.func,\n /** A custom component representing an action */\n PropTypes.element,\n ]),\n /** Number between one and four filters that can be shown on the top row. */\n numBreakoutFilters: PropTypes.oneOf([1, 2, 3, 4]),\n /** Component to be displayed when the table is empty */\n EmptyTableComponent: PropTypes.elementType,\n /** Component to be displayed for row status, ie, 10 of 20 rows. Displayed by default in the TableControlBar */\n RowStatusComponent: PropTypes.elementType,\n /** Component to be displayed for selection status. Displayed when there are selected rows and no active filters */\n SelectionStatusComponent: PropTypes.elementType,\n /** Component to be displayed for filter status. Displayed when there are active filters. */\n FilterStatusComponent: PropTypes.elementType,\n /** If children are not provided a table with control bar and footer will be rendered */\n children: PropTypes.node,\n /** If true filters will be shown on sidebar instead */\n showFiltersInSidebar: PropTypes.bool,\n /** Class name for the data table layout */\n className: PropTypes.string,\n /** Title of the filters section */\n filtersTitle: PropTypes.string,\n /** options for data view toggle */\n dataViewToggleOptions: PropTypes.shape({\n /** Whether to show a toggle button group which allows view switching between card and table views */\n isDataViewToggleEnabled: PropTypes.bool,\n /** Callback invoked when the toggle buttons are clicked, with value of selected button passed in */\n onDataViewToggle: PropTypes.func,\n /** default value for toggle active state */\n defaultActiveStateValue: PropTypes.string,\n /** placement of toggle 'bottom' will push it to the bottom row in\n * actions section. Only 'left' and 'bottom' are supported */\n togglePlacement: PropTypes.string,\n }),\n /** Remove the default box shadow on the component */\n disableElevation: PropTypes.bool,\n /** A function that will render contents of expanded row, accepts `row` as a prop. */\n renderRowSubComponent: PropTypes.func,\n /** Indicates whether table supports expandable rows. */\n isExpandable: PropTypes.bool,\n /** Indicates whether the table should show loading states. */\n isLoading: PropTypes.bool,\n /** Callback function called when row selections change. */\n onSelectedRowsChanged: PropTypes.func,\n /** Indicates the max of rows selectable in the table. Requires isSelectable prop */\n maxSelectedRows: PropTypes.number,\n /** Callback after selected max rows. Requires isSelectable and maxSelectedRows props */\n onMaxSelectedRows: PropTypes.func,\n};\n\nDataTable.BulkActions = BulkActions;\nDataTable.EmptyTable = EmptyTableContent;\nDataTable.DropdownFilters = DropdownFilters;\nDataTable.FilterStatus = FilterStatus;\nDataTable.RowStatus = RowStatus;\nDataTable.SelectionStatus = SelectionStatus;\nDataTable.SmartStatus = SmartStatus;\nDataTable.Table = Table;\nDataTable.TableCell = TableCell;\nDataTable.TableControlBar = TableControlBar;\nDataTable.TableFilters = TableFilters;\nDataTable.TableFooter = TableFooter;\nDataTable.TableHeaderCell = TableHeaderCell;\nDataTable.TableHeaderRow = TableHeaderRow;\nDataTable.TablePagination = TablePagination;\nDataTable.TablePaginationMinimal = TablePaginationMinimal;\nDataTable.TableActions = TableActions;\nDataTable.ControlledSelectionStatus = ControlledSelectionStatus;\nDataTable.ControlledSelect = ControlledSelect;\nDataTable.ControlledSelectHeader = ControlledSelectHeader;\nDataTable.ExpandAll = ExpandAll;\nDataTable.ExpandRow = ExpandRow;\n\nexport default DataTable;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Dropdown/index.js
CHANGED
|
@@ -7,16 +7,14 @@ import BaseDropdownItem from 'react-bootstrap/DropdownItem';
|
|
|
7
7
|
import BaseDropdownToggle from 'react-bootstrap/DropdownToggle';
|
|
8
8
|
import Button from '../Button';
|
|
9
9
|
import IconButton from '../IconButton';
|
|
10
|
-
const Dropdown = /*#__PURE__*/React.forwardRef(
|
|
11
|
-
// eslint-disable-next-line prefer-arrow-callback
|
|
12
|
-
function Dropdown({
|
|
10
|
+
const Dropdown = /*#__PURE__*/React.forwardRef(({
|
|
13
11
|
show,
|
|
14
12
|
autoClose,
|
|
15
13
|
onToggle,
|
|
16
14
|
variant,
|
|
17
15
|
className,
|
|
18
16
|
...rest
|
|
19
|
-
}, ref) {
|
|
17
|
+
}, ref) => {
|
|
20
18
|
const [internalShow, setInternalShow] = React.useState(show);
|
|
21
19
|
const isClosingPermitted = source => {
|
|
22
20
|
// autoClose=false only permits close on button click
|
|
@@ -75,13 +73,11 @@ Dropdown.defaultProps = {
|
|
|
75
73
|
show: false,
|
|
76
74
|
variant: 'light'
|
|
77
75
|
};
|
|
78
|
-
const DropdownToggle = /*#__PURE__*/React.forwardRef(
|
|
79
|
-
// eslint-disable-next-line prefer-arrow-callback
|
|
80
|
-
function DropdownToggle({
|
|
76
|
+
const DropdownToggle = /*#__PURE__*/React.forwardRef(({
|
|
81
77
|
as,
|
|
82
78
|
bsPrefix,
|
|
83
79
|
...otherProps
|
|
84
|
-
}, ref) {
|
|
80
|
+
}, ref) => {
|
|
85
81
|
// hide arrow from the toggle if it is rendered as IconButton
|
|
86
82
|
// because it hinders the positioning of IconButton
|
|
87
83
|
const prefix = as === IconButton ? 'pgn__dropdown-toggle-iconbutton' : bsPrefix;
|
|
@@ -104,18 +100,14 @@ DropdownToggle.defaultProps = {
|
|
|
104
100
|
as: Button,
|
|
105
101
|
bsPrefix: 'dropdown-toggle'
|
|
106
102
|
};
|
|
107
|
-
Dropdown.Item = /*#__PURE__*/React.forwardRef(
|
|
108
|
-
// eslint-disable-next-line prefer-arrow-callback
|
|
109
|
-
function DropdownItem({
|
|
103
|
+
Dropdown.Item = /*#__PURE__*/React.forwardRef(({
|
|
110
104
|
className,
|
|
111
105
|
...otherProps
|
|
112
|
-
}, ref) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
});
|
|
118
|
-
});
|
|
106
|
+
}, ref) => /*#__PURE__*/React.createElement(BaseDropdownItem, {
|
|
107
|
+
className: classNames(className, 'pgn__dropdown-item'),
|
|
108
|
+
ref: ref,
|
|
109
|
+
...otherProps
|
|
110
|
+
}));
|
|
119
111
|
Dropdown.Item.propTypes = {
|
|
120
112
|
className: PropTypes.string
|
|
121
113
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","classNames","PropTypes","BaseDropdown","DropdownMenu","BaseDropdownItem","BaseDropdownToggle","Button","IconButton","Dropdown","forwardRef","show","autoClose","onToggle","variant","className","rest","ref","internalShow","setInternalShow","useState","isClosingPermitted","source","handleToggle","isOpen","event","metadata","currentTarget","document","key","createElement","propTypes","oneOfType","string","bool","func","oneOf","defaultProps","undefined","DropdownToggle","as","bsPrefix","otherProps","prefix","elementType","id","number","isRequired","Item","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","classNames","PropTypes","BaseDropdown","DropdownMenu","BaseDropdownItem","BaseDropdownToggle","Button","IconButton","Dropdown","forwardRef","show","autoClose","onToggle","variant","className","rest","ref","internalShow","setInternalShow","useState","isClosingPermitted","source","handleToggle","isOpen","event","metadata","currentTarget","document","key","createElement","propTypes","oneOfType","string","bool","func","oneOf","defaultProps","undefined","DropdownToggle","as","bsPrefix","otherProps","prefix","elementType","id","number","isRequired","Item","Toggle","Menu","Header","Divider","default","DropdownButton","SplitButton"],"sources":["../../src/Dropdown/index.jsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport BaseDropdown from 'react-bootstrap/Dropdown';\nimport DropdownMenu from 'react-bootstrap/DropdownMenu';\nimport BaseDropdownItem from 'react-bootstrap/DropdownItem';\nimport BaseDropdownToggle from 'react-bootstrap/DropdownToggle';\nimport Button from '../Button';\nimport IconButton from '../IconButton';\n\nconst Dropdown = React.forwardRef(\n ({\n show,\n autoClose,\n onToggle,\n variant,\n className,\n ...rest\n }, ref) => {\n const [internalShow, setInternalShow] = React.useState(show);\n const isClosingPermitted = (source) => {\n // autoClose=false only permits close on button click\n if (autoClose === false) {\n return source === 'click';\n }\n // autoClose=inside doesn't permit close on rootClose\n if (autoClose === 'inside') {\n return source !== 'rootClose';\n }\n // autoClose=outside doesn't permit close on select\n if (autoClose === 'outside') {\n return source !== 'select';\n }\n return true;\n };\n\n const handleToggle = (isOpen, event, metadata) => {\n if (isOpen) {\n setInternalShow(true);\n onToggle?.(isOpen, event, metadata);\n return;\n }\n let { source } = { ...metadata };\n\n if (event.currentTarget === document && (source !== 'keydown' || event.key === 'Escape')) {\n source = 'rootClose';\n }\n if (isClosingPermitted(source)) {\n setInternalShow(false);\n onToggle?.(isOpen, event, metadata);\n }\n };\n\n return (\n <BaseDropdown\n className={classNames(\n 'pgn__dropdown',\n `pgn__dropdown-${variant}`,\n className,\n )}\n data-testid=\"dropdown\"\n onToggle={handleToggle}\n ref={ref}\n show={internalShow}\n {...rest}\n />\n );\n },\n);\n\nDropdown.propTypes = {\n autoClose: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n className: PropTypes.string,\n onToggle: PropTypes.func,\n show: PropTypes.bool,\n variant: PropTypes.oneOf(['light', 'dark']),\n};\n\nDropdown.defaultProps = {\n autoClose: true,\n className: '',\n onToggle: undefined,\n show: false,\n variant: 'light',\n};\n\nconst DropdownToggle = React.forwardRef(\n ({\n as,\n bsPrefix,\n ...otherProps\n }, ref) => {\n // hide arrow from the toggle if it is rendered as IconButton\n // because it hinders the positioning of IconButton\n const prefix = as === IconButton ? 'pgn__dropdown-toggle-iconbutton' : bsPrefix;\n return <BaseDropdownToggle {...otherProps} as={as} bsPrefix={prefix} ref={ref} />;\n },\n);\n\nDropdownToggle.propTypes = {\n /** Specifies the base element. */\n as: PropTypes.elementType,\n /** Overrides underlying component base CSS class name. */\n bsPrefix: PropTypes.string,\n /** An html id attribute, necessary for assistive technologies, such as screen readers. */\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n};\n\nDropdownToggle.defaultProps = {\n as: Button,\n bsPrefix: 'dropdown-toggle',\n};\n\nDropdown.Item = React.forwardRef(\n ({ className, ...otherProps }, ref) => (\n <BaseDropdownItem\n className={classNames(className, 'pgn__dropdown-item')}\n ref={ref}\n {...otherProps}\n />\n ),\n);\n\nDropdown.Item.propTypes = {\n className: PropTypes.string,\n};\n\nDropdown.Item.defaultProps = {\n className: undefined,\n};\n\nDropdown.Toggle = DropdownToggle;\nDropdown.Menu = DropdownMenu;\nDropdown.Header = BaseDropdown.Header;\nDropdown.Divider = BaseDropdown.Divider;\n\nexport default Dropdown;\nexport { DropdownToggle };\nexport { default as DropdownButton } from 'react-bootstrap/DropdownButton';\nexport { default as SplitButton } from 'react-bootstrap/SplitButton';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable react/require-default-props */
|
|
2
1
|
import React from 'react';
|
|
3
2
|
import PropTypes from 'prop-types';
|
|
4
3
|
import classNames from 'classnames';
|
|
@@ -19,5 +18,9 @@ ModalDialogHeader.propTypes = {
|
|
|
19
18
|
/** Specifies class name to append to the base element */
|
|
20
19
|
className: PropTypes.string
|
|
21
20
|
};
|
|
21
|
+
ModalDialogHeader.defaultProps = {
|
|
22
|
+
as: 'div',
|
|
23
|
+
className: ''
|
|
24
|
+
};
|
|
22
25
|
export default ModalDialogHeader;
|
|
23
26
|
//# sourceMappingURL=ModalDialogHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalDialogHeader.js","names":["React","PropTypes","classNames","ModalDialogHeader","forwardRef","as","children","props","ref","createElement","className","propTypes","elementType","node","isRequired","string"],"sources":["../../src/Modal/ModalDialogHeader.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"ModalDialogHeader.js","names":["React","PropTypes","classNames","ModalDialogHeader","forwardRef","as","children","props","ref","createElement","className","propTypes","elementType","node","isRequired","string","defaultProps"],"sources":["../../src/Modal/ModalDialogHeader.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport type { ComponentWithAsProp } from '../utils/types/bootstrap';\n\nexport interface Props {\n as?: string;\n children: React.ReactNode;\n className?: string;\n}\n\ntype HeaderType = ComponentWithAsProp<'div', Props>;\n\nconst ModalDialogHeader: HeaderType = React.forwardRef<HTMLDivElement, Props>(({\n as = 'div',\n children,\n ...props\n}, ref) => (\n React.createElement(\n as,\n {\n ...props,\n ref,\n className: classNames('pgn__modal-header', props.className),\n },\n children,\n )\n));\n\nModalDialogHeader.propTypes = {\n /** Specifies the base element */\n as: PropTypes.elementType,\n /** Specifies the contents of the header */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n};\n\nModalDialogHeader.defaultProps = {\n as: 'div',\n className: '',\n};\n\nexport default ModalDialogHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAWnC,MAAMC,iBAA6B,gBAAGH,KAAK,CAACI,UAAU,CAAwB,CAAC;EAC7EC,EAAE,GAAG,KAAK;EACVC,QAAQ;EACR,GAAGC;AACL,CAAC,EAAEC,GAAG,mBACJR,KAAK,CAACS,aAAa,CACjBJ,EAAE,EACF;EACE,GAAGE,KAAK;EACRC,GAAG;EACHE,SAAS,EAAER,UAAU,CAAC,mBAAmB,EAAEK,KAAK,CAACG,SAAS;AAC5D,CAAC,EACDJ,QACF,CAAC,CACF,CAAC;AAEFH,iBAAiB,CAACQ,SAAS,GAAG;EAC5B;EACAN,EAAE,EAAEJ,SAAS,CAACW,WAAW;EACzB;EACAN,QAAQ,EAAEL,SAAS,CAACY,IAAI,CAACC,UAAU;EACnC;EACAJ,SAAS,EAAET,SAAS,CAACc;AACvB,CAAC;AAEDZ,iBAAiB,CAACa,YAAY,GAAG;EAC/BX,EAAE,EAAE,KAAK;EACTK,SAAS,EAAE;AACb,CAAC;AAED,eAAeP,iBAAiB","ignoreList":[]}
|
package/dist/Modal/ModalLayer.js
CHANGED
|
@@ -3,21 +3,16 @@ import classNames from 'classnames';
|
|
|
3
3
|
import { FocusOn } from 'react-focus-on';
|
|
4
4
|
import Portal from './Portal';
|
|
5
5
|
import { ModalContextProvider } from './ModalContext';
|
|
6
|
-
|
|
7
|
-
// istanbul ignore next
|
|
8
6
|
function ModalBackdrop({
|
|
9
7
|
onClick
|
|
10
8
|
}) {
|
|
11
|
-
return (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"data-testid": "modal-backdrop"
|
|
19
|
-
})
|
|
20
|
-
);
|
|
9
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
10
|
+
className: "pgn__modal-backdrop",
|
|
11
|
+
onClick: onClick,
|
|
12
|
+
onKeyDown: onClick,
|
|
13
|
+
"data-testid": "modal-backdrop",
|
|
14
|
+
role: "presentation"
|
|
15
|
+
});
|
|
21
16
|
}
|
|
22
17
|
|
|
23
18
|
// istanbul ignore next
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalLayer.js","names":["React","useEffect","classNames","FocusOn","Portal","ModalContextProvider","ModalBackdrop","onClick","createElement","className","onKeyDown","ModalContentContainer","children","ModalLayer","onClose","isOpen","isBlocking","zIndex","document","body","classList","add","remove","handleClose","undefined","allowPinchZoom","scrollLock","enabled","onEscapeKey","onClickOutside"],"sources":["../../src/Modal/ModalLayer.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport classNames from 'classnames';\nimport { FocusOn } from 'react-focus-on';\nimport Portal from './Portal';\nimport { ModalContextProvider } from './ModalContext';\n\
|
|
1
|
+
{"version":3,"file":"ModalLayer.js","names":["React","useEffect","classNames","FocusOn","Portal","ModalContextProvider","ModalBackdrop","onClick","createElement","className","onKeyDown","role","ModalContentContainer","children","ModalLayer","onClose","isOpen","isBlocking","zIndex","document","body","classList","add","remove","handleClose","undefined","allowPinchZoom","scrollLock","enabled","onEscapeKey","onClickOutside"],"sources":["../../src/Modal/ModalLayer.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport classNames from 'classnames';\nimport { FocusOn } from 'react-focus-on';\nimport Portal from './Portal';\nimport { ModalContextProvider } from './ModalContext';\n\nfunction ModalBackdrop({ onClick }: { onClick?: () => void }) {\n return (\n <div\n className=\"pgn__modal-backdrop\"\n onClick={onClick}\n onKeyDown={onClick}\n data-testid=\"modal-backdrop\"\n role=\"presentation\"\n />\n );\n}\n\n// istanbul ignore next\nfunction ModalContentContainer({ children = null }: { children?: React.ReactNode }) {\n return <div className=\"pgn__modal-content-container\">{children}</div>;\n}\n\ninterface Props {\n /** Specifies the contents of the modal */\n children: React.ReactNode;\n /** A callback function for when the modal is dismissed */\n onClose: () => void;\n /** Is the modal dialog open or closed */\n isOpen: boolean;\n /** Prevent clicking on the backdrop or pressing Esc to close the modal */\n isBlocking?: boolean;\n /** Specifies the z-index of the modal */\n zIndex?: number;\n}\n\n/**\n * The ModalLayer should be used for any component that wishes to engage the user\n * in a \"mode\" where a layer on top of the application is interactive while the\n * rest of the application is made non-interactive. The assumption made by this\n * component is that if a modal object is visible then it is \"enabled\"\n */\nfunction ModalLayer({\n children, onClose, isOpen, isBlocking = false, zIndex,\n}: Props) {\n useEffect(() => {\n if (isOpen) {\n document.body.classList.add('pgn__hidden-scroll-padding-right');\n } else {\n document.body.classList.remove('pgn__hidden-scroll-padding-right');\n }\n return () => {\n document.body.classList.remove('pgn__hidden-scroll-padding-right');\n };\n }, [isOpen]);\n\n if (!isOpen) {\n return null;\n }\n\n const handleClose = isBlocking ? undefined : onClose;\n\n return (\n <ModalContextProvider onClose={onClose} isOpen={isOpen} isBlocking={isBlocking}>\n <Portal>\n <FocusOn\n allowPinchZoom\n scrollLock\n enabled={isOpen}\n onEscapeKey={handleClose}\n onClickOutside={handleClose}\n className={classNames(\n 'pgn__modal-layer',\n zIndex ? `zindex-${zIndex}` : '',\n )}\n >\n <ModalContentContainer>\n <ModalBackdrop onClick={handleClose} />\n {children}\n </ModalContentContainer>\n </FocusOn>\n </Portal>\n </ModalContextProvider>\n );\n}\n\nexport { ModalBackdrop, ModalContentContainer };\nexport default ModalLayer;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,OAAO,QAAQ,gBAAgB;AACxC,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,oBAAoB,QAAQ,gBAAgB;AAErD,SAASC,aAAaA,CAAC;EAAEC;AAAkC,CAAC,EAAE;EAC5D,oBACEP,KAAA,CAAAQ,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/BF,OAAO,EAAEA,OAAQ;IACjBG,SAAS,EAAEH,OAAQ;IACnB,eAAY,gBAAgB;IAC5BI,IAAI,EAAC;EAAc,CACpB,CAAC;AAEN;;AAEA;AACA,SAASC,qBAAqBA,CAAC;EAAEC,QAAQ,GAAG;AAAqC,CAAC,EAAE;EAClF,oBAAOb,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAA8B,GAAEI,QAAc,CAAC;AACvE;AAeA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAAC;EAClBD,QAAQ;EAAEE,OAAO;EAAEC,MAAM;EAAEC,UAAU,GAAG,KAAK;EAAEC;AAC1C,CAAC,EAAE;EACRjB,SAAS,CAAC,MAAM;IACd,IAAIe,MAAM,EAAE;MACVG,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAAC,kCAAkC,CAAC;IACjE,CAAC,MAAM;MACLH,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAAC,kCAAkC,CAAC;IACpE;IACA,OAAO,MAAM;MACXJ,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACE,MAAM,CAAC,kCAAkC,CAAC;IACpE,CAAC;EACH,CAAC,EAAE,CAACP,MAAM,CAAC,CAAC;EAEZ,IAAI,CAACA,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,MAAMQ,WAAW,GAAGP,UAAU,GAAGQ,SAAS,GAAGV,OAAO;EAEpD,oBACEf,KAAA,CAAAQ,aAAA,CAACH,oBAAoB;IAACU,OAAO,EAAEA,OAAQ;IAACC,MAAM,EAAEA,MAAO;IAACC,UAAU,EAAEA;EAAW,gBAC7EjB,KAAA,CAAAQ,aAAA,CAACJ,MAAM,qBACLJ,KAAA,CAAAQ,aAAA,CAACL,OAAO;IACNuB,cAAc;IACdC,UAAU;IACVC,OAAO,EAAEZ,MAAO;IAChBa,WAAW,EAAEL,WAAY;IACzBM,cAAc,EAAEN,WAAY;IAC5Bf,SAAS,EAAEP,UAAU,CACnB,kBAAkB,EAClBgB,MAAM,GAAG,UAAUA,MAAM,EAAE,GAAG,EAChC;EAAE,gBAEFlB,KAAA,CAAAQ,aAAA,CAACI,qBAAqB,qBACpBZ,KAAA,CAAAQ,aAAA,CAACF,aAAa;IAACC,OAAO,EAAEiB;EAAY,CAAE,CAAC,EACtCX,QACoB,CAChB,CACH,CACY,CAAC;AAE3B;AAEA,SAASP,aAAa,EAAEM,qBAAqB;AAC7C,eAAeE,UAAU","ignoreList":[]}
|
|
@@ -101,16 +101,14 @@ const ProductTour = /*#__PURE__*/React.forwardRef(({
|
|
|
101
101
|
}
|
|
102
102
|
setCurrentCheckpointData(null);
|
|
103
103
|
};
|
|
104
|
-
/* eslint-disable */
|
|
105
104
|
/**
|
|
106
105
|
* Takes the final checkpoint array index value and looks for an existing onEnd callback.
|
|
107
|
-
*
|
|
108
|
-
* If an onEnd callback exist on checkpointIndex value and it is the final checkpoint
|
|
109
|
-
* in the array, the onEnd callback will be called for the parent, and individual onEnd object.
|
|
110
|
-
*
|
|
111
|
-
* @param {Integer} checkpointIndex
|
|
106
|
+
*
|
|
107
|
+
* If an onEnd callback exist on checkpointIndex value and it is the final checkpoint
|
|
108
|
+
* in the array, the onEnd callback will be called for the parent, and individual onEnd object.
|
|
109
|
+
*
|
|
110
|
+
* @param {Integer} checkpointIndex
|
|
112
111
|
*/
|
|
113
|
-
/* eslint-enable */
|
|
114
112
|
const handleEnd = checkpointIndex => {
|
|
115
113
|
setIndex(0);
|
|
116
114
|
setIsTourEnabled(false);
|