@openedx/paragon 22.13.0 → 22.14.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/Alert/_variables.scss +2 -1
- package/dist/Annotation/index.js.map +1 -1
- package/dist/Annotation/index.scss +6 -5
- package/dist/Avatar/index.js.map +1 -1
- package/dist/AvatarButton/index.js.map +1 -1
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Bubble/index.js +1 -0
- package/dist/Bubble/index.js.map +1 -1
- package/dist/Bubble/index.scss +3 -2
- package/dist/Button/deprecated/index.js.map +1 -1
- package/dist/Button/index.scss +19 -18
- package/dist/Card/CardCarousel/CardCarouselHeader.js +2 -2
- package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
- package/dist/Card/CardFooter.js.map +1 -1
- package/dist/Card/CardHeader.js +1 -1
- package/dist/Card/CardHeader.js.map +1 -1
- package/dist/Card/CardImageCap.js.map +1 -1
- package/dist/Card/CardStatus.js.map +1 -1
- package/dist/Card/_variables.scss +3 -2
- package/dist/Card/index.js.map +1 -1
- package/dist/Card/index.scss +10 -9
- package/dist/Chip/ChipIcon.d.ts +1 -1
- package/dist/Chip/index.js +1 -0
- package/dist/Chip/index.js.map +1 -1
- package/dist/ChipCarousel/index.js.map +1 -1
- package/dist/Collapsible/index.js.map +1 -1
- package/dist/ColorPicker/index.js +1 -1
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/ColorPicker/index.scss +2 -1
- package/dist/DataTable/CollapsibleButtonGroup.js +2 -2
- package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
- package/dist/DataTable/DropdownFilters.js +1 -1
- package/dist/DataTable/DropdownFilters.js.map +1 -1
- package/dist/DataTable/TableRow.js.map +1 -1
- package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
- package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
- package/dist/DataTable/filters/TextFilter.js.map +1 -1
- package/dist/DataTable/index.scss +14 -13
- package/dist/DataTable/utils/getVisibleColumns.js +1 -1
- package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
- package/dist/Dropdown/_variables.scss +2 -1
- package/dist/Dropdown/deprecated/DropdownMenu.js +15 -19
- package/dist/Dropdown/deprecated/DropdownMenu.js.map +1 -1
- package/dist/Dropdown/deprecated/index.js +1 -1
- package/dist/Dropdown/deprecated/index.js.map +1 -1
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Dropzone/DefaultContent.js.map +1 -1
- package/dist/Dropzone/UploadProgress.js.map +1 -1
- package/dist/Dropzone/index.scss +3 -2
- package/dist/Fieldset/index.js.map +1 -1
- package/dist/Form/FormAutosuggest.js +1 -1
- package/dist/Form/FormAutosuggest.js.map +1 -1
- package/dist/Form/FormControl.js.map +1 -1
- package/dist/Form/FormControlDecorator.js.map +1 -1
- package/dist/Form/FormGroupContext.d.ts +1 -1
- package/dist/Form/FormGroupContext.js.map +1 -1
- package/dist/Form/FormText.js.map +1 -1
- package/dist/Form/_index.scss +9 -7
- package/dist/Form/_variables.scss +4 -2
- package/dist/Form/fieldUtils.js.map +1 -1
- package/dist/Hyperlink/index.js +1 -0
- package/dist/Hyperlink/index.js.map +1 -1
- package/dist/Hyperlink/index.scss +3 -1
- package/dist/Icon/index.js.map +1 -1
- package/dist/IconButton/index.d.ts +13 -8
- package/dist/IconButton/index.js.map +1 -1
- package/dist/IconButtonToggle/index.js.map +1 -1
- package/dist/IconButtonToggle/index.scss +3 -1
- package/dist/Input/index.js.map +1 -1
- package/dist/InputSelect/index.js.map +1 -1
- package/dist/Layout/index.js.map +1 -1
- package/dist/ListBox/index.js.map +1 -1
- package/dist/ListBoxOption/index.js.map +1 -1
- package/dist/Menu/SelectMenu.js +1 -1
- package/dist/Menu/SelectMenu.js.map +1 -1
- package/dist/Menu/index.js +1 -1
- package/dist/Menu/index.js.map +1 -1
- package/dist/Modal/ModalContext.d.ts +1 -1
- package/dist/Modal/ModalDialog.d.ts +1 -1
- package/dist/Modal/ModalDialog.js.map +1 -1
- package/dist/Modal/ModalDialogBody.js +1 -1
- package/dist/Modal/ModalDialogBody.js.map +1 -1
- package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
- package/dist/Modal/ModalLayer.d.ts +3 -3
- package/dist/Modal/ModalLayer.js.map +1 -1
- package/dist/Modal/ModalPopup.js.map +1 -1
- package/dist/Modal/_ModalDialog.scss +3 -1
- package/dist/Modal/index.js +3 -1
- package/dist/Modal/index.js.map +1 -1
- package/dist/Modal/index.scss +3 -5
- package/dist/Nav/_mixins.scss +3 -1
- package/dist/Overlay/index.d.ts +2 -2
- package/dist/PageBanner/index.js.map +1 -1
- package/dist/PageBanner/index.scss +2 -1
- package/dist/Pagination/PaginationContext.js.map +1 -1
- package/dist/Pagination/index.js.map +1 -1
- package/dist/Popover/_variables.scss +2 -1
- package/dist/Popover/index.js.map +1 -1
- package/dist/ProductTour/Checkpoint.scss +9 -8
- package/dist/ProductTour/index.js +1 -1
- package/dist/ProductTour/index.js.map +1 -1
- package/dist/ProgressBar/index.js.map +1 -1
- package/dist/Scrollable/index.js +1 -1
- package/dist/Scrollable/index.js.map +1 -1
- package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
- package/dist/SearchField/index.scss +2 -1
- package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
- package/dist/Sheet/index.js.map +1 -1
- package/dist/Stack/index.js.map +1 -1
- package/dist/StatefulButton/index.js.map +1 -1
- package/dist/StatusAlert/index.js.map +1 -1
- package/dist/Stepper/StepperHeader.js +1 -1
- package/dist/Stepper/StepperHeader.js.map +1 -1
- package/dist/Stepper/StepperHeaderStep.js.map +1 -1
- package/dist/Sticky/index.js.map +1 -1
- package/dist/Table/_variables.scss +2 -1
- package/dist/Tabs/deprecated/index.js.map +1 -1
- package/dist/Tabs/index.js +1 -1
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Toast/ToastContainer.scss +1 -1
- package/dist/Toast/index.scss +2 -2
- package/dist/Truncate/index.js +1 -1
- package/dist/Truncate/index.js.map +1 -1
- package/dist/ValidationFormGroup/index.js.map +1 -1
- package/dist/asInput/index.js.map +1 -1
- package/dist/hooks/{useArrowKeyNavigation.js → useArrowKeyNavigationHook.js} +5 -1
- package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -0
- package/dist/hooks/{useIndexOfLastVisibleChild.js → useIndexOfLastVisibleChildHook.js} +5 -1
- package/dist/hooks/useIndexOfLastVisibleChildHook.js.map +1 -0
- package/dist/hooks/{useIsVisible.js → useIsVisibleHook.js} +1 -1
- package/dist/hooks/useIsVisibleHook.js.map +1 -0
- package/dist/hooks/{useToggle.js → useToggleHook.js} +5 -1
- package/dist/hooks/useToggleHook.js.map +1 -0
- package/dist/hooks/{useWindowSize.js → useWindowSizeHook.js} +1 -1
- package/dist/hooks/useWindowSizeHook.js.map +1 -0
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -5
- package/dist/paragon.css +1 -45
- package/dist/utils/newId.js.map +1 -1
- package/dist/withDeprecatedProps.js.map +1 -1
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/CHANGELOG.md +50 -0
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/LICENSE +7 -0
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/README.md +37 -0
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.d.ts +20 -0
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.js +79 -0
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.js.map +1 -0
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/package.json +40 -0
- package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/tsconfig.json +4 -0
- package/icons/package.json +1 -1
- package/package.json +12 -19
- package/scss/core/_exports.module.scss +7 -6
- package/scss/core/_functions.scss +9 -7
- package/scss/core/_typography.scss +2 -1
- package/scss/core/_utilities.scss +2 -1
- package/scss/core/_variables.scss +98 -95
- package/src/Alert/_variables.scss +2 -1
- package/src/Annotation/index.scss +6 -5
- package/src/Breadcrumb/Breadcrumb.test.jsx +3 -2
- package/src/Bubble/index.scss +3 -2
- package/src/Bubble/index.tsx +1 -0
- package/src/Button/deprecated/Button.test.jsx +6 -4
- package/src/Button/index.scss +19 -18
- package/src/Card/CardCarousel/tests/CardCarouselControls.test.jsx +6 -4
- package/src/Card/_variables.scss +3 -2
- package/src/Card/index.scss +10 -9
- package/src/Chip/index.tsx +1 -0
- package/src/Collapsible/Collapsible.test.jsx +15 -7
- package/src/ColorPicker/ColorPicker.test.jsx +9 -16
- package/src/ColorPicker/index.jsx +1 -1
- package/src/ColorPicker/index.scss +2 -1
- package/src/DataTable/CollapsibleButtonGroup.jsx +2 -2
- package/src/DataTable/DropdownFilters.jsx +1 -1
- package/src/DataTable/dataviews.mdx +1 -8
- package/src/DataTable/index.scss +14 -13
- package/src/DataTable/selection/tests/ControlledSelectHeader.test.jsx +6 -4
- package/src/DataTable/tests/BulkActions.test.jsx +2 -4
- package/src/DataTable/tests/DataViewToggle.test.jsx +3 -7
- package/src/DataTable/tests/DropdownFilters.test.jsx +1 -1
- package/src/DataTable/tests/TableActions.test.jsx +1 -1
- package/src/Dropdown/_variables.scss +2 -1
- package/src/Dropdown/deprecated/Dropdown.test.jsx +43 -27
- package/src/Dropzone/README.md +3 -3
- package/src/Dropzone/index.scss +3 -2
- package/src/Dropzone/tests/__snapshots__/Dropzone.test.jsx.snap +10 -1
- package/src/Form/FormAutosuggest.jsx +1 -1
- package/src/Form/FormGroupContext.tsx +1 -1
- package/src/Form/_index.scss +9 -7
- package/src/Form/_variables.scss +4 -2
- package/src/Form/tests/FormAutosuggest.test.jsx +76 -57
- package/src/Form/tests/FormCheckboxSet.test.jsx +3 -2
- package/src/Form/tests/FormControl.test.jsx +9 -6
- package/src/Form/tests/FormRadioSet.test.jsx +3 -2
- package/src/Hyperlink/index.scss +3 -1
- package/src/Hyperlink/index.tsx +1 -0
- package/src/IconButtonToggle/IconButtonToggle.test.jsx +3 -2
- package/src/IconButtonToggle/index.scss +3 -1
- package/src/ListBox/ListBox.test.jsx +8 -4
- package/src/Menu/Menu.test.jsx +15 -10
- package/src/Menu/SelectMenu.jsx +1 -1
- package/src/Menu/index.jsx +1 -1
- package/src/Modal/ModalDialogBody.jsx +1 -1
- package/src/Modal/_ModalDialog.scss +3 -1
- package/src/Modal/index.jsx +2 -0
- package/src/Modal/index.scss +3 -5
- package/src/Modal/tests/ModalLayer.test.tsx +3 -2
- package/src/Nav/_mixins.scss +3 -1
- package/src/OverflowScroll/data/tests/useOverflowScroll.test.jsx +1 -2
- package/src/OverflowScroll/data/tests/useOverflowScrollActions.test.jsx +1 -1
- package/src/OverflowScroll/data/tests/useOverflowScrollElementAttributes.test.jsx +1 -1
- package/src/OverflowScroll/data/tests/useOverflowScrollEventListeners.test.jsx +1 -2
- package/src/PageBanner/index.scss +2 -1
- package/src/Pagination/Pagination.test.jsx +36 -28
- package/src/Popover/_variables.scss +2 -1
- package/src/ProductTour/Checkpoint.scss +9 -8
- package/src/ProductTour/Checkpoint.test.jsx +3 -2
- package/src/ProductTour/ProductTour.test.jsx +11 -24
- package/src/ProductTour/index.jsx +1 -1
- package/src/Scrollable/Scrollable.test.jsx +2 -2
- package/src/Scrollable/index.jsx +1 -1
- package/src/SearchField/index.scss +2 -1
- package/src/SelectableBox/tests/SelectableBox.test.jsx +3 -2
- package/src/StatusAlert/StatusAlert.test.jsx +6 -2
- package/src/Stepper/StepperHeader.jsx +1 -1
- package/src/Stepper/tests/Stepper.test.jsx +1 -1
- package/src/Table/_variables.scss +2 -1
- package/src/Tabs/Tabs.test.jsx +1 -1
- package/src/Tabs/deprecated/Tabs.test.jsx +6 -4
- package/src/Tabs/index.jsx +1 -1
- package/src/Toast/ToastContainer.scss +1 -1
- package/src/Toast/index.scss +2 -2
- package/src/Truncate/index.jsx +1 -1
- package/src/hooks/tests/useToggle.test.tsx +1 -1
- package/src/hooks/{useArrowKeyNavigation.tsx → useArrowKeyNavigationHook.tsx} +4 -0
- package/src/hooks/{useIndexOfLastVisibleChild.tsx → useIndexOfLastVisibleChildHook.tsx} +4 -0
- package/src/hooks/{useToggle.tsx → useToggleHook.tsx} +4 -0
- package/src/index.d.ts +5 -5
- package/src/index.js +5 -5
- package/dist/hooks/useArrowKeyNavigation.js.map +0 -1
- package/dist/hooks/useIndexOfLastVisibleChild.js.map +0 -1
- package/dist/hooks/useIsVisible.js.map +0 -1
- package/dist/hooks/useToggle.js.map +0 -1
- package/dist/hooks/useWindowSize.js.map +0 -1
- package/src/DataTable/tests/utils.js +0 -9
- /package/dist/hooks/{useArrowKeyNavigation.d.ts → useArrowKeyNavigationHook.d.ts} +0 -0
- /package/dist/hooks/{useIndexOfLastVisibleChild.d.ts → useIndexOfLastVisibleChildHook.d.ts} +0 -0
- /package/dist/hooks/{useIsVisible.d.ts → useIsVisibleHook.d.ts} +0 -0
- /package/dist/hooks/{useToggle.d.ts → useToggleHook.d.ts} +0 -0
- /package/dist/hooks/{useWindowSize.d.ts → useWindowSizeHook.d.ts} +0 -0
- /package/src/hooks/{useIsVisible.tsx → useIsVisibleHook.tsx} +0 -0
- /package/src/hooks/{useWindowSize.tsx → useWindowSizeHook.tsx} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
@import "variables";
|
|
2
3
|
|
|
3
4
|
.pgn__data-table-wrapper {
|
|
@@ -26,10 +27,10 @@
|
|
|
26
27
|
display: flex;
|
|
27
28
|
|
|
28
29
|
.pgn__datatable__visible-actions {
|
|
29
|
-
margin-inline-start:
|
|
30
|
+
margin-inline-start: map.get($spacers, 2);
|
|
30
31
|
|
|
31
32
|
.btn {
|
|
32
|
-
margin-inline-start:
|
|
33
|
+
margin-inline-start: map.get($spacers, 2);
|
|
33
34
|
|
|
34
35
|
&:first-child {
|
|
35
36
|
margin-inline-start: 0;
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
width: 100%;
|
|
58
59
|
display: flex;
|
|
59
60
|
align-items: center;
|
|
60
|
-
margin-top:
|
|
61
|
+
margin-top: map.get($spacers, 4);
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
.pgn__icon-button-toggle__container {
|
|
@@ -97,18 +98,18 @@
|
|
|
97
98
|
border-radius: $border-radius;
|
|
98
99
|
box-shadow: $data-table-box-shadow;
|
|
99
100
|
padding: $data-table-padding-small;
|
|
100
|
-
margin-right:
|
|
101
|
+
margin-right: map.get($spacers, 4);
|
|
101
102
|
flex: 0 0 $data-table-layout-sidebar-width;
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
.pgn__data-table-side-filters {
|
|
105
106
|
.pgn__data-table-side-filters-title {
|
|
106
|
-
margin-bottom:
|
|
107
|
+
margin-bottom: map.get($spacers, 3);
|
|
107
108
|
text-align: start;
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
.pgn__data-table-side-filters-status {
|
|
111
|
-
margin-bottom:
|
|
112
|
+
margin-bottom: map.get($spacers, 2);
|
|
112
113
|
display: flex;
|
|
113
114
|
justify-content: flex-end;
|
|
114
115
|
}
|
|
@@ -175,7 +176,7 @@
|
|
|
175
176
|
}
|
|
176
177
|
|
|
177
178
|
.pgn__data-table-filters-breakout-filter {
|
|
178
|
-
margin-inline-end:
|
|
179
|
+
margin-inline-end: map.get($spacers, 2);
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
.pgn__data-table-filters-dropdown-item {
|
|
@@ -264,12 +265,12 @@
|
|
|
264
265
|
padding: 0 $data-table-padding-x;
|
|
265
266
|
|
|
266
267
|
.pgn__data-table-card-view-default-skeleton-card-section {
|
|
267
|
-
margin-top:
|
|
268
|
+
margin-top: map.get($spacers, 2);
|
|
268
269
|
}
|
|
269
270
|
}
|
|
270
271
|
|
|
271
272
|
.pgn__data-table__action-btn {
|
|
272
|
-
margin-left:
|
|
273
|
+
margin-left: map.get($spacers, 2);
|
|
273
274
|
|
|
274
275
|
&:first-child {
|
|
275
276
|
margin-left: 0;
|
|
@@ -287,7 +288,7 @@
|
|
|
287
288
|
|
|
288
289
|
.pgn__datatable__overflow-actions-menu {
|
|
289
290
|
background: #FFFFFF;
|
|
290
|
-
padding:
|
|
291
|
+
padding: map.get($spacers, 2);
|
|
291
292
|
box-shadow: $level-1-box-shadow;
|
|
292
293
|
border-radius: 4px;
|
|
293
294
|
}
|
|
@@ -309,10 +310,10 @@
|
|
|
309
310
|
|
|
310
311
|
&.selection-right {
|
|
311
312
|
> :first-child {
|
|
312
|
-
margin-right:
|
|
313
|
+
margin-right: map.get($spacers, 2);
|
|
313
314
|
|
|
314
315
|
[dir="rtl"] & {
|
|
315
|
-
margin-left:
|
|
316
|
+
margin-left: map.get($spacers, 2);
|
|
316
317
|
margin-right: 0;
|
|
317
318
|
}
|
|
318
319
|
}
|
|
@@ -326,5 +327,5 @@
|
|
|
326
327
|
.pgn__data-table__controlled-select {
|
|
327
328
|
display: flex;
|
|
328
329
|
align-content: center;
|
|
329
|
-
padding:
|
|
330
|
+
padding: map.get($spacers, 1);
|
|
330
331
|
}
|
|
@@ -57,7 +57,7 @@ export const selectColumn = {
|
|
|
57
57
|
const {
|
|
58
58
|
index
|
|
59
59
|
} = row;
|
|
60
|
-
const isRowSelected =
|
|
60
|
+
const isRowSelected = index in selectedRowIds;
|
|
61
61
|
const selectedRowsLength = Object.keys(selectedRowIds).length;
|
|
62
62
|
const formatMaxSelectedRows = Math.max(0, maxSelectedRows);
|
|
63
63
|
const hasMaxSelectedRows = formatMaxSelectedRows === selectedRowsLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getVisibleColumns.js","names":["React","useMemo","useContext","useEffect","CheckboxControl","DataTableContext","useConvertIndeterminateProp","selectColumn","id","Header","_ref","getToggleAllPageRowsSelectedProps","getToggleAllRowsSelectedProps","page","isSelectable","maxSelectedRows","toggleRowsSelectedProps","getToggleRowsSelectedProps","updatedProps","formatMaxSelectedRows","Math","max","createElement","className","Cell","_ref2","row","onMaxSelectedRows","state","selectedRowIds","selectedRowsOrdered","getToggleRowSelectedProps","index","isRowSelected","selectedRowsLength","Object","keys","length","hasMaxSelectedRows","disableCheck","lastRowSelected","disabled","disableSortBy","getVisibleColumns","visibleColumns","additionalColumns","arguments","undefined","manualSelectColumn","columns","push","concat"],"sources":["../../../src/DataTable/utils/getVisibleColumns.jsx"],"sourcesContent":["import React, { useMemo, useContext, useEffect } from 'react';\n\nimport { CheckboxControl } from '../../Form';\nimport DataTableContext from '../DataTableContext';\nimport useConvertIndeterminateProp from './useConvertIndeterminateProp';\n\nexport const selectColumn = {\n id: 'selection',\n // The header can use the table's getToggleAllPageRowsSelectedProps or getToggleAllRowsSelectedProps\n // method to render a checkbox. The method is determined based on whether pagination is enabled or\n // not (i.e., ``page`` is defined).\n // Proptypes disabled as these props are passed in separately\n /* eslint-disable-next-line react/prop-types */\n Header: ({ getToggleAllPageRowsSelectedProps, getToggleAllRowsSelectedProps, page }) => {\n const { isSelectable, maxSelectedRows } = useContext(DataTableContext);\n const toggleRowsSelectedProps = useMemo(\n () => {\n // determine if this selection is for an individual page or the entire table\n const getToggleRowsSelectedProps = page ? getToggleAllPageRowsSelectedProps : getToggleAllRowsSelectedProps;\n return getToggleRowsSelectedProps();\n },\n [getToggleAllPageRowsSelectedProps, getToggleAllRowsSelectedProps, page],\n );\n const updatedProps = useConvertIndeterminateProp(toggleRowsSelectedProps);\n const formatMaxSelectedRows = Math.max(0, maxSelectedRows);\n\n if (isSelectable && formatMaxSelectedRows >= 0) {\n return null;\n }\n\n return (\n <div className=\"pgn__data-table__controlled-select\">\n <CheckboxControl\n {...updatedProps}\n data-testid=\"datatable-select-column-checkbox-header\"\n />\n </div>\n );\n },\n // The cell can use the individual row's getToggleRowSelectedProps method\n // to the render a checkbox\n // Proptypes disabled as this prop is passed in separately\n /* eslint-disable react/prop-types */\n Cell: ({ row }) => {\n const {\n isSelectable, maxSelectedRows, onMaxSelectedRows, state: { selectedRowIds, selectedRowsOrdered },\n } = useContext(DataTableContext);\n const updatedProps = useConvertIndeterminateProp(row.getToggleRowSelectedProps());\n const { index } = row;\n const isRowSelected = index in selectedRowIds;\n const selectedRowsLength = Object.keys(selectedRowIds).length;\n const formatMaxSelectedRows = Math.max(0, maxSelectedRows);\n const hasMaxSelectedRows = formatMaxSelectedRows === selectedRowsLength;\n const disableCheck = isSelectable && hasMaxSelectedRows && !isRowSelected;\n const lastRowSelected = selectedRowsOrdered?.[selectedRowsOrdered.length - 1] ?? null;\n\n useEffect(() => {\n if (hasMaxSelectedRows && lastRowSelected === index) {\n onMaxSelectedRows?.();\n }\n }, [hasMaxSelectedRows, index, isRowSelected, lastRowSelected, onMaxSelectedRows, selectedRowIds]);\n\n return (\n <div className=\"pgn__data-table__controlled-select\">\n <CheckboxControl\n {...updatedProps}\n disabled={disableCheck}\n data-testid=\"datatable-select-column-checkbox-cell\"\n />\n </div>\n );\n },\n /* eslint-enable react/prop-types */\n disableSortBy: true,\n};\n\nconst getVisibleColumns = (\n isSelectable,\n visibleColumns,\n additionalColumns = [],\n manualSelectColumn = selectColumn,\n) => {\n let columns = [];\n if (isSelectable) {\n columns.push(manualSelectColumn);\n }\n columns = columns.concat(visibleColumns);\n if (additionalColumns.length > 0) {\n columns = columns.concat(additionalColumns);\n }\n return columns;\n};\n\nexport default getVisibleColumns;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAE7D,SAASC,eAAe,QAAQ,YAAY;AAC5C,OAAOC,gBAAgB,MAAM,qBAAqB;AAClD,OAAOC,2BAA2B,MAAM,+BAA+B;AAEvE,OAAO,MAAMC,YAAY,GAAG;EAC1BC,EAAE,EAAE,WAAW;EACf;EACA;EACA;EACA;EACA;EACAC,MAAM,EAAEC,IAAA,IAAgF;IAAA,IAA/E;MAAEC,iCAAiC;MAAEC,6BAA6B;MAAEC;IAAK,CAAC,GAAAH,IAAA;IACjF,MAAM;MAAEI,YAAY;MAAEC;IAAgB,CAAC,GAAGb,UAAU,CAACG,gBAAgB,CAAC;IACtE,MAAMW,uBAAuB,GAAGf,OAAO,CACrC,MAAM;MACJ;MACA,MAAMgB,0BAA0B,GAAGJ,IAAI,GAAGF,iCAAiC,GAAGC,6BAA6B;MAC3G,OAAOK,0BAA0B,CAAC,CAAC;IACrC,CAAC,EACD,CAACN,iCAAiC,EAAEC,6BAA6B,EAAEC,IAAI,CACzE,CAAC;IACD,MAAMK,YAAY,GAAGZ,2BAA2B,CAACU,uBAAuB,CAAC;IACzE,MAAMG,qBAAqB,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEN,eAAe,CAAC;IAE1D,IAAID,YAAY,IAAIK,qBAAqB,IAAI,CAAC,EAAE;MAC9C,OAAO,IAAI;IACb;IAEA,oBACEnB,KAAA,CAAAsB,aAAA;MAAKC,SAAS,EAAC;IAAoC,gBACjDvB,KAAA,CAAAsB,aAAA,CAAClB,eAAe;MAAA,GACVc,YAAY;MAChB,eAAY;IAAyC,CACtD,CACE,CAAC;EAEV,CAAC;EACD;EACA;EACA;EACA;EACAM,IAAI,EAAEC,KAAA,IAAa;IAAA,IAAZ;MAAEC;IAAI,CAAC,GAAAD,KAAA;IACZ,MAAM;MACJX,YAAY;MAAEC,eAAe;MAAEY,iBAAiB;MAAEC,KAAK,EAAE;QAAEC,cAAc;QAAEC;MAAoB;IACjG,CAAC,GAAG5B,UAAU,CAACG,gBAAgB,CAAC;IAChC,MAAMa,YAAY,GAAGZ,2BAA2B,CAACoB,GAAG,CAACK,yBAAyB,CAAC,CAAC,CAAC;IACjF,MAAM;MAAEC;IAAM,CAAC,GAAGN,GAAG;IACrB,MAAMO,aAAa,
|
|
1
|
+
{"version":3,"file":"getVisibleColumns.js","names":["React","useMemo","useContext","useEffect","CheckboxControl","DataTableContext","useConvertIndeterminateProp","selectColumn","id","Header","_ref","getToggleAllPageRowsSelectedProps","getToggleAllRowsSelectedProps","page","isSelectable","maxSelectedRows","toggleRowsSelectedProps","getToggleRowsSelectedProps","updatedProps","formatMaxSelectedRows","Math","max","createElement","className","Cell","_ref2","row","onMaxSelectedRows","state","selectedRowIds","selectedRowsOrdered","getToggleRowSelectedProps","index","isRowSelected","selectedRowsLength","Object","keys","length","hasMaxSelectedRows","disableCheck","lastRowSelected","disabled","disableSortBy","getVisibleColumns","visibleColumns","additionalColumns","arguments","undefined","manualSelectColumn","columns","push","concat"],"sources":["../../../src/DataTable/utils/getVisibleColumns.jsx"],"sourcesContent":["import React, { useMemo, useContext, useEffect } from 'react';\n\nimport { CheckboxControl } from '../../Form';\nimport DataTableContext from '../DataTableContext';\nimport useConvertIndeterminateProp from './useConvertIndeterminateProp';\n\nexport const selectColumn = {\n id: 'selection',\n // The header can use the table's getToggleAllPageRowsSelectedProps or getToggleAllRowsSelectedProps\n // method to render a checkbox. The method is determined based on whether pagination is enabled or\n // not (i.e., ``page`` is defined).\n // Proptypes disabled as these props are passed in separately\n /* eslint-disable-next-line react/prop-types */\n Header: ({ getToggleAllPageRowsSelectedProps, getToggleAllRowsSelectedProps, page }) => {\n const { isSelectable, maxSelectedRows } = useContext(DataTableContext);\n const toggleRowsSelectedProps = useMemo(\n () => {\n // determine if this selection is for an individual page or the entire table\n const getToggleRowsSelectedProps = page ? getToggleAllPageRowsSelectedProps : getToggleAllRowsSelectedProps;\n return getToggleRowsSelectedProps();\n },\n [getToggleAllPageRowsSelectedProps, getToggleAllRowsSelectedProps, page],\n );\n const updatedProps = useConvertIndeterminateProp(toggleRowsSelectedProps);\n const formatMaxSelectedRows = Math.max(0, maxSelectedRows);\n\n if (isSelectable && formatMaxSelectedRows >= 0) {\n return null;\n }\n\n return (\n <div className=\"pgn__data-table__controlled-select\">\n <CheckboxControl\n {...updatedProps}\n data-testid=\"datatable-select-column-checkbox-header\"\n />\n </div>\n );\n },\n // The cell can use the individual row's getToggleRowSelectedProps method\n // to the render a checkbox\n // Proptypes disabled as this prop is passed in separately\n /* eslint-disable react/prop-types */\n Cell: ({ row }) => {\n const {\n isSelectable, maxSelectedRows, onMaxSelectedRows, state: { selectedRowIds, selectedRowsOrdered },\n } = useContext(DataTableContext);\n const updatedProps = useConvertIndeterminateProp(row.getToggleRowSelectedProps());\n const { index } = row;\n const isRowSelected = index in selectedRowIds;\n const selectedRowsLength = Object.keys(selectedRowIds).length;\n const formatMaxSelectedRows = Math.max(0, maxSelectedRows);\n const hasMaxSelectedRows = formatMaxSelectedRows === selectedRowsLength;\n const disableCheck = isSelectable && hasMaxSelectedRows && !isRowSelected;\n const lastRowSelected = selectedRowsOrdered?.[selectedRowsOrdered.length - 1] ?? null;\n\n useEffect(() => {\n if (hasMaxSelectedRows && lastRowSelected === index) {\n onMaxSelectedRows?.();\n }\n }, [hasMaxSelectedRows, index, isRowSelected, lastRowSelected, onMaxSelectedRows, selectedRowIds]);\n\n return (\n <div className=\"pgn__data-table__controlled-select\">\n <CheckboxControl\n {...updatedProps}\n disabled={disableCheck}\n data-testid=\"datatable-select-column-checkbox-cell\"\n />\n </div>\n );\n },\n /* eslint-enable react/prop-types */\n disableSortBy: true,\n};\n\nconst getVisibleColumns = (\n isSelectable,\n visibleColumns,\n additionalColumns = [],\n manualSelectColumn = selectColumn,\n) => {\n let columns = [];\n if (isSelectable) {\n columns.push(manualSelectColumn);\n }\n columns = columns.concat(visibleColumns);\n if (additionalColumns.length > 0) {\n columns = columns.concat(additionalColumns);\n }\n return columns;\n};\n\nexport default getVisibleColumns;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:color";
|
|
1
2
|
// Dropdowns
|
|
2
3
|
//
|
|
3
4
|
// Dropdown menu container and contents.
|
|
@@ -18,7 +19,7 @@ $dropdown-divider-margin-y: calc($spacer / 2) !default;
|
|
|
18
19
|
$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
|
|
19
20
|
|
|
20
21
|
$dropdown-link-color: theme-color("gray", "dark-text") !default;
|
|
21
|
-
$dropdown-link-hover-color:
|
|
22
|
+
$dropdown-link-hover-color: color.adjust(theme-color("gray", "dark-text"), $lightness: -5%) !default;
|
|
22
23
|
$dropdown-link-hover-bg: $light-300 !default;
|
|
23
24
|
|
|
24
25
|
$dropdown-link-active-color: $component-active-color !default;
|
|
@@ -15,26 +15,22 @@ function DropdownMenu(_ref) {
|
|
|
15
15
|
menuRef,
|
|
16
16
|
triggerId
|
|
17
17
|
} = _ref2;
|
|
18
|
-
return (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
handleMenuKeyDown(e);
|
|
32
|
-
if (other.onKeyDown) {
|
|
33
|
-
other.onKeyDown(e);
|
|
34
|
-
}
|
|
18
|
+
return /*#__PURE__*/ /* eslint-disable-next-line jsx-a11y/interactive-supports-focus */React.createElement("div", {
|
|
19
|
+
...other,
|
|
20
|
+
"aria-labelledby": triggerId,
|
|
21
|
+
"aria-hidden": !isOpen,
|
|
22
|
+
ref: menuRef,
|
|
23
|
+
role: "menu",
|
|
24
|
+
className: classNames('dropdown-menu', {
|
|
25
|
+
show: isOpen
|
|
26
|
+
}, other.className),
|
|
27
|
+
onKeyDown: e => {
|
|
28
|
+
handleMenuKeyDown(e);
|
|
29
|
+
if (other.onKeyDown) {
|
|
30
|
+
other.onKeyDown(e);
|
|
35
31
|
}
|
|
36
|
-
}
|
|
37
|
-
);
|
|
32
|
+
}
|
|
33
|
+
}, children);
|
|
38
34
|
});
|
|
39
35
|
}
|
|
40
36
|
DropdownMenu.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.js","names":["React","PropTypes","classNames","Consumer","DropdownMenu","_ref","children","other","createElement","_ref2","handleMenuKeyDown","isOpen","menuRef","triggerId","ref","role","className","show","onKeyDown","e","propTypes","node","defaultProps","undefined"],"sources":["../../../src/Dropdown/deprecated/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// eslint-disable-next-line import/no-cycle\nimport { Consumer } from './index';\n\nfunction DropdownMenu({ children, ...other }) {\n return (\n <Consumer>\n {({\n handleMenuKeyDown,\n isOpen,\n menuRef,\n triggerId,\n }) => (\n /* eslint-disable-next-line jsx-a11y/interactive-supports-focus */\n <div\n {...other}\n aria-labelledby={triggerId}\n aria-hidden={!isOpen}\n ref={menuRef}\n role=\"menu\"\n className={classNames(\n 'dropdown-menu',\n { show: isOpen },\n other.className,\n )}\n onKeyDown={(e) => {\n handleMenuKeyDown(e);\n if (other.onKeyDown) {\n other.onKeyDown(e);\n }\n }}\n >\n {children}\n </div>\n )}\n </Consumer>\n );\n}\n\nDropdownMenu.propTypes = {\n children: PropTypes.node,\n};\n\nDropdownMenu.defaultProps = {\n children: undefined,\n};\n\nexport default DropdownMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC;AACA,SAASC,QAAQ,QAAQ,SAAS;AAElC,SAASC,YAAYA,CAAAC,IAAA,EAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAE,GAAGC;EAAM,CAAC,GAAAF,IAAA;EAC1C,oBACEL,KAAA,CAAAQ,aAAA,CAACL,QAAQ,QACNM,KAAA;IAAA,IAAC;MACAC,iBAAiB;MACjBC,MAAM;MACNC,OAAO;MACPC;IACF,CAAC,GAAAJ,KAAA;IAAA
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","names":["React","PropTypes","classNames","Consumer","DropdownMenu","_ref","children","other","createElement","_ref2","handleMenuKeyDown","isOpen","menuRef","triggerId","ref","role","className","show","onKeyDown","e","propTypes","node","defaultProps","undefined"],"sources":["../../../src/Dropdown/deprecated/DropdownMenu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// eslint-disable-next-line import/no-cycle\nimport { Consumer } from './index';\n\nfunction DropdownMenu({ children, ...other }) {\n return (\n <Consumer>\n {({\n handleMenuKeyDown,\n isOpen,\n menuRef,\n triggerId,\n }) => (\n /* eslint-disable-next-line jsx-a11y/interactive-supports-focus */\n <div\n {...other}\n aria-labelledby={triggerId}\n aria-hidden={!isOpen}\n ref={menuRef}\n role=\"menu\"\n className={classNames(\n 'dropdown-menu',\n { show: isOpen },\n other.className,\n )}\n onKeyDown={(e) => {\n handleMenuKeyDown(e);\n if (other.onKeyDown) {\n other.onKeyDown(e);\n }\n }}\n >\n {children}\n </div>\n )}\n </Consumer>\n );\n}\n\nDropdownMenu.propTypes = {\n children: PropTypes.node,\n};\n\nDropdownMenu.defaultProps = {\n children: undefined,\n};\n\nexport default DropdownMenu;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC;AACA,SAASC,QAAQ,QAAQ,SAAS;AAElC,SAASC,YAAYA,CAAAC,IAAA,EAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAE,GAAGC;EAAM,CAAC,GAAAF,IAAA;EAC1C,oBACEL,KAAA,CAAAQ,aAAA,CAACL,QAAQ,QACNM,KAAA;IAAA,IAAC;MACAC,iBAAiB;MACjBC,MAAM;MACNC,OAAO;MACPC;IACF,CAAC,GAAAJ,KAAA;IAAA,qBACD,kEACET,KAAA,CAAAQ,aAAA;MAAA,GACMD,KAAK;MACT,mBAAiBM,SAAU;MAC3B,eAAa,CAACF,MAAO;MACrBG,GAAG,EAAEF,OAAQ;MACbG,IAAI,EAAC,MAAM;MACXC,SAAS,EAAEd,UAAU,CACnB,eAAe,EACf;QAAEe,IAAI,EAAEN;MAAO,CAAC,EAChBJ,KAAK,CAACS,SACR,CAAE;MACFE,SAAS,EAAGC,CAAC,IAAK;QAChBT,iBAAiB,CAACS,CAAC,CAAC;QACpB,IAAIZ,KAAK,CAACW,SAAS,EAAE;UACnBX,KAAK,CAACW,SAAS,CAACC,CAAC,CAAC;QACpB;MACF;IAAE,GAEDb,QACE,CAAC;EAAA,CAEA,CAAC;AAEf;AAEAF,YAAY,CAACgB,SAAS,GAAG;EACvBd,QAAQ,EAAEL,SAAS,CAACoB;AACtB,CAAC;AAEDjB,YAAY,CAACkB,YAAY,GAAG;EAC1BhB,QAAQ,EAAEiB;AACZ,CAAC;AAED,eAAenB,YAAY","ignoreList":[]}
|
|
@@ -163,7 +163,7 @@ const DropdownWithDeprecatedProps = withDeprecatedProps(Dropdown, 'Dropdown', {
|
|
|
163
163
|
}
|
|
164
164
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DropdownButton, null, /*#__PURE__*/React.isValidElement(allProps.iconElement) ? allProps.iconElement : null, allProps.title), /*#__PURE__*/React.createElement(DropdownMenu, null, menuItems.map((menuItem, i) => {
|
|
165
165
|
/* eslint-disable react/no-array-index-key */
|
|
166
|
-
if (
|
|
166
|
+
if (/*#__PURE__*/React.isValidElement(menuItem)) {
|
|
167
167
|
return /*#__PURE__*/React.cloneElement(menuItem, {
|
|
168
168
|
className: 'dropdown-item',
|
|
169
169
|
key: i
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","DropdownButton","DropdownMenu","DropdownItem","withDeprecatedProps","DeprTypes","Provider","Consumer","createContext","Dropdown","Component","idCounter","constructor","props","state","open","uniqueId","triggerId","containerRef","createRef","menuRef","buttonRef","componentDidUpdate","prevProps","prevState","focusFirst","current","focus","componentWillUnmount","document","removeEventListener","handleDocumentClick","getFocusableElements","selector","Array","from","querySelectorAll","e","contains","target","close","handleMenuKeyDown","key","preventDefault","focusPrevious","focusNext","shiftKey","stopPropagation","toggle","setState","addEventListener","focusableElements","length","allFocusableElements","activeIndex","indexOf","activeElement","nextIndex","previousIndex","render","children","other","createElement","className","show","ref","value","isOpen","propTypes","node","Item","Button","Menu","DropdownWithDeprecatedProps","menuItems","deprType","MOVED_AND_FORMAT","message","newName","transform","allProps","isArray","Fragment","isValidElement","iconElement","title","map","menuItem","i","cloneElement","href","label","REMOVED","buttonType","defaultProps"],"sources":["../../../src/Dropdown/deprecated/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// eslint-disable-next-line import/no-cycle\nimport DropdownButton from './DropdownButton';\n// eslint-disable-next-line import/no-cycle\nimport DropdownMenu from './DropdownMenu';\nimport DropdownItem from './DropdownItem';\n\nimport withDeprecatedProps, { DeprTypes } from '../../withDeprecatedProps';\n\nconst { Provider, Consumer } = React.createContext();\n\nclass Dropdown extends React.Component {\n // eslint-disable-next-line react/sort-comp\n static idCounter = 0; // For creating unique ids\n\n constructor(props) {\n super(props);\n this.state = {\n open: false,\n };\n\n // Used for aria labelling. Increment the id counter so the next id can be unique\n this.uniqueId = Dropdown.idCounter;\n Dropdown.idCounter += 1;\n this.triggerId = `pgn__dropdown-trigger-${this.uniqueId}`;\n\n this.containerRef = React.createRef();\n this.menuRef = React.createRef();\n this.buttonRef = React.createRef();\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.open !== this.state.open) {\n if (this.state.open) {\n this.focusFirst();\n } else {\n this.buttonRef.current.focus();\n }\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n }\n\n getFocusableElements() {\n const selector = 'button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\n return Array.from(this.menuRef.current.querySelectorAll(selector));\n }\n\n handleDocumentClick = (e) => {\n if (this.containerRef.current.contains(e.target) && this.containerRef.current !== e.target) {\n return;\n }\n if (this.state.open) {\n this.close();\n }\n };\n\n handleMenuKeyDown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n this.focusPrevious();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNext();\n break;\n case 'Tab':\n e.preventDefault();\n if (e.shiftKey) {\n this.focusPrevious();\n } else {\n this.focusNext();\n }\n break;\n case 'Escape':\n e.stopPropagation();\n this.close();\n break;\n default:\n break;\n }\n };\n\n toggle = () => {\n if (this.state.open) {\n this.close();\n } else {\n this.open();\n }\n };\n\n close() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n this.setState({\n open: false,\n });\n }\n\n open() {\n // adding event listener here so the user can close dropdown on click outside of the dropdown\n document.addEventListener('click', this.handleDocumentClick, true);\n this.setState({\n open: true,\n });\n }\n\n focusFirst() {\n const focusableElements = this.getFocusableElements();\n if (focusableElements.length) { focusableElements[0].focus(); }\n }\n\n focusNext() {\n const allFocusableElements = this.getFocusableElements();\n if (allFocusableElements.length === 0) { return; }\n const activeIndex = allFocusableElements.indexOf(document.activeElement);\n const nextIndex = (activeIndex + 1) % allFocusableElements.length;\n allFocusableElements[nextIndex].focus();\n }\n\n focusPrevious() {\n const allFocusableElements = this.getFocusableElements();\n if (allFocusableElements.length === 0) { return; }\n const activeIndex = allFocusableElements.indexOf(document.activeElement);\n const previousIndex = ((activeIndex - 1) + allFocusableElements.length) % allFocusableElements.length;\n allFocusableElements[previousIndex].focus();\n }\n\n render() {\n const { children, ...other } = this.props;\n\n return (\n <div\n {...other}\n className={classNames(\n 'dropdown',\n { show: this.state.open },\n other.className,\n )}\n ref={this.containerRef}\n >\n <Provider\n value={{\n buttonRef: this.buttonRef,\n handleMenuKeyDown: this.handleMenuKeyDown,\n isOpen: this.state.open,\n menuRef: this.menuRef,\n toggle: this.toggle,\n triggerId: this.triggerId,\n }}\n >\n {children}\n </Provider>\n </div>\n );\n }\n}\n\nDropdown.propTypes = {\n children: PropTypes.node,\n};\n\nDropdown.Item = DropdownItem;\nDropdown.Button = DropdownButton;\nDropdown.Menu = DropdownMenu;\n\nconst DropdownWithDeprecatedProps = withDeprecatedProps(Dropdown, 'Dropdown', {\n menuItems: {\n deprType: DeprTypes.MOVED_AND_FORMAT,\n message: 'They should be components sent as children.',\n newName: 'children',\n transform: (menuItems, allProps) => {\n if (!Array.isArray(menuItems)) { return null; }\n return (\n <>\n <DropdownButton>\n {React.isValidElement(allProps.iconElement) ? allProps.iconElement : null }\n {allProps.title}\n </DropdownButton>\n <DropdownMenu>\n {menuItems.map((menuItem, i) => {\n /* eslint-disable react/no-array-index-key */\n if (React.isValidElement(menuItem)) {\n return React.cloneElement(menuItem, {\n className: 'dropdown-item',\n key: i,\n });\n }\n return <DropdownItem key={i} href={menuItem.href}>{menuItem.label}</DropdownItem>;\n /* eslint-enable react/no-array-index-key */\n })}\n </DropdownMenu>\n </>\n );\n },\n },\n title: {\n deprType: DeprTypes.REMOVED,\n message: 'It should be specified inside the Dropdown.Button component',\n },\n buttonType: {\n deprType: DeprTypes.REMOVED,\n message: 'It should be specified as a className prop',\n },\n iconElement: {\n deprType: DeprTypes.REMOVED,\n message: 'It should be specified inside the buttonContent prop.',\n },\n});\n\nDropdownWithDeprecatedProps.propTypes = Dropdown.propTypes;\nDropdownWithDeprecatedProps.defaultProps = Dropdown.defaultProps;\nDropdownWithDeprecatedProps.Item = Dropdown.Item;\nDropdownWithDeprecatedProps.Button = Dropdown.Button;\nDropdownWithDeprecatedProps.Menu = Dropdown.Menu;\n\nexport { Provider, Consumer };\nexport default DropdownWithDeprecatedProps;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","DropdownButton","DropdownMenu","DropdownItem","withDeprecatedProps","DeprTypes","Provider","Consumer","createContext","Dropdown","Component","idCounter","constructor","props","state","open","uniqueId","triggerId","containerRef","createRef","menuRef","buttonRef","componentDidUpdate","prevProps","prevState","focusFirst","current","focus","componentWillUnmount","document","removeEventListener","handleDocumentClick","getFocusableElements","selector","Array","from","querySelectorAll","e","contains","target","close","handleMenuKeyDown","key","preventDefault","focusPrevious","focusNext","shiftKey","stopPropagation","toggle","setState","addEventListener","focusableElements","length","allFocusableElements","activeIndex","indexOf","activeElement","nextIndex","previousIndex","render","children","other","createElement","className","show","ref","value","isOpen","propTypes","node","Item","Button","Menu","DropdownWithDeprecatedProps","menuItems","deprType","MOVED_AND_FORMAT","message","newName","transform","allProps","isArray","Fragment","isValidElement","iconElement","title","map","menuItem","i","cloneElement","href","label","REMOVED","buttonType","defaultProps"],"sources":["../../../src/Dropdown/deprecated/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// eslint-disable-next-line import/no-cycle\nimport DropdownButton from './DropdownButton';\n// eslint-disable-next-line import/no-cycle\nimport DropdownMenu from './DropdownMenu';\nimport DropdownItem from './DropdownItem';\n\nimport withDeprecatedProps, { DeprTypes } from '../../withDeprecatedProps';\n\nconst { Provider, Consumer } = React.createContext();\n\nclass Dropdown extends React.Component {\n // eslint-disable-next-line react/sort-comp\n static idCounter = 0; // For creating unique ids\n\n constructor(props) {\n super(props);\n this.state = {\n open: false,\n };\n\n // Used for aria labelling. Increment the id counter so the next id can be unique\n this.uniqueId = Dropdown.idCounter;\n Dropdown.idCounter += 1;\n this.triggerId = `pgn__dropdown-trigger-${this.uniqueId}`;\n\n this.containerRef = React.createRef();\n this.menuRef = React.createRef();\n this.buttonRef = React.createRef();\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.open !== this.state.open) {\n if (this.state.open) {\n this.focusFirst();\n } else {\n this.buttonRef.current.focus();\n }\n }\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n }\n\n getFocusableElements() {\n const selector = 'button:not([disabled]), [href]:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\n return Array.from(this.menuRef.current.querySelectorAll(selector));\n }\n\n handleDocumentClick = (e) => {\n if (this.containerRef.current.contains(e.target) && this.containerRef.current !== e.target) {\n return;\n }\n if (this.state.open) {\n this.close();\n }\n };\n\n handleMenuKeyDown = (e) => {\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n this.focusPrevious();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNext();\n break;\n case 'Tab':\n e.preventDefault();\n if (e.shiftKey) {\n this.focusPrevious();\n } else {\n this.focusNext();\n }\n break;\n case 'Escape':\n e.stopPropagation();\n this.close();\n break;\n default:\n break;\n }\n };\n\n toggle = () => {\n if (this.state.open) {\n this.close();\n } else {\n this.open();\n }\n };\n\n close() {\n document.removeEventListener('click', this.handleDocumentClick, true);\n this.setState({\n open: false,\n });\n }\n\n open() {\n // adding event listener here so the user can close dropdown on click outside of the dropdown\n document.addEventListener('click', this.handleDocumentClick, true);\n this.setState({\n open: true,\n });\n }\n\n focusFirst() {\n const focusableElements = this.getFocusableElements();\n if (focusableElements.length) { focusableElements[0].focus(); }\n }\n\n focusNext() {\n const allFocusableElements = this.getFocusableElements();\n if (allFocusableElements.length === 0) { return; }\n const activeIndex = allFocusableElements.indexOf(document.activeElement);\n const nextIndex = (activeIndex + 1) % allFocusableElements.length;\n allFocusableElements[nextIndex].focus();\n }\n\n focusPrevious() {\n const allFocusableElements = this.getFocusableElements();\n if (allFocusableElements.length === 0) { return; }\n const activeIndex = allFocusableElements.indexOf(document.activeElement);\n const previousIndex = ((activeIndex - 1) + allFocusableElements.length) % allFocusableElements.length;\n allFocusableElements[previousIndex].focus();\n }\n\n render() {\n const { children, ...other } = this.props;\n\n return (\n <div\n {...other}\n className={classNames(\n 'dropdown',\n { show: this.state.open },\n other.className,\n )}\n ref={this.containerRef}\n >\n <Provider\n value={{\n buttonRef: this.buttonRef,\n handleMenuKeyDown: this.handleMenuKeyDown,\n isOpen: this.state.open,\n menuRef: this.menuRef,\n toggle: this.toggle,\n triggerId: this.triggerId,\n }}\n >\n {children}\n </Provider>\n </div>\n );\n }\n}\n\nDropdown.propTypes = {\n children: PropTypes.node,\n};\n\nDropdown.Item = DropdownItem;\nDropdown.Button = DropdownButton;\nDropdown.Menu = DropdownMenu;\n\nconst DropdownWithDeprecatedProps = withDeprecatedProps(Dropdown, 'Dropdown', {\n menuItems: {\n deprType: DeprTypes.MOVED_AND_FORMAT,\n message: 'They should be components sent as children.',\n newName: 'children',\n transform: (menuItems, allProps) => {\n if (!Array.isArray(menuItems)) { return null; }\n return (\n <>\n <DropdownButton>\n {React.isValidElement(allProps.iconElement) ? allProps.iconElement : null }\n {allProps.title}\n </DropdownButton>\n <DropdownMenu>\n {menuItems.map((menuItem, i) => {\n /* eslint-disable react/no-array-index-key */\n if (React.isValidElement(menuItem)) {\n return React.cloneElement(menuItem, {\n className: 'dropdown-item',\n key: i,\n });\n }\n return <DropdownItem key={i} href={menuItem.href}>{menuItem.label}</DropdownItem>;\n /* eslint-enable react/no-array-index-key */\n })}\n </DropdownMenu>\n </>\n );\n },\n },\n title: {\n deprType: DeprTypes.REMOVED,\n message: 'It should be specified inside the Dropdown.Button component',\n },\n buttonType: {\n deprType: DeprTypes.REMOVED,\n message: 'It should be specified as a className prop',\n },\n iconElement: {\n deprType: DeprTypes.REMOVED,\n message: 'It should be specified inside the buttonContent prop.',\n },\n});\n\nDropdownWithDeprecatedProps.propTypes = Dropdown.propTypes;\nDropdownWithDeprecatedProps.defaultProps = Dropdown.defaultProps;\nDropdownWithDeprecatedProps.Item = Dropdown.Item;\nDropdownWithDeprecatedProps.Button = Dropdown.Button;\nDropdownWithDeprecatedProps.Menu = Dropdown.Menu;\n\nexport { Provider, Consumer };\nexport default DropdownWithDeprecatedProps;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","classNames","PropTypes","BaseDropdown","DropdownMenu","BaseDropdownItem","BaseDropdownToggle","DropdownDeprecated","Button","IconButton","Dropdown","forwardRef","_ref","ref","show","autoClose","onToggle","variant","className","rest","internalShow","setInternalShow","useState","isClosingPermitted","source","handleToggle","isOpen","event","metadata","currentTarget","document","key","createElement","propTypes","oneOfType","string","bool","func","oneOf","defaultProps","undefined","DropdownToggle","_ref2","as","bsPrefix","otherProps","prefix","elementType","id","number","isRequired","Item","DropdownItem","_ref3","Deprecated","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 DropdownDeprecated from './deprecated';\nimport Button from '../Button';\nimport IconButton from '../IconButton';\n\nconst Dropdown = React.forwardRef(\n // eslint-disable-next-line prefer-arrow-callback\n function Dropdown({\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 // eslint-disable-next-line prefer-arrow-callback\n function DropdownToggle({\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 // eslint-disable-next-line prefer-arrow-callback\n function DropdownItem({ className, ...otherProps }, ref) {\n return (\n <BaseDropdownItem\n className={classNames(className, 'pgn__dropdown-item')}\n ref={ref}\n {...otherProps}\n />\n );\n },\n);\n\nDropdown.Item.propTypes = {\n className: PropTypes.string,\n};\n\nDropdown.Item.defaultProps = {\n className: undefined,\n};\n\nDropdown.Deprecated = DropdownDeprecated;\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":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,YAAY,MAAM,0BAA0B;AACnD,OAAOC,YAAY,MAAM,8BAA8B;AACvD,OAAOC,gBAAgB,MAAM,8BAA8B;AAC3D,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,OAAOC,kBAAkB,MAAM,cAAc;AAC7C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,UAAU,MAAM,eAAe;AAEtC,MAAMC,QAAQ,gBAAGV,KAAK,CAACW,UAAU;AAC/B;AACA,SAASD,QAAQA,CAAAE,IAAA,EAOdC,GAAG,EAAE;EAAA,IAPU;IAChBC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAP,IAAA;EACC,MAAM,CAACQ,YAAY,EAAEC,eAAe,CAAC,GAAGrB,KAAK,CAACsB,QAAQ,CAACR,IAAI,CAAC;EAC5D,MAAMS,kBAAkB,GAAIC,MAAM,IAAK;IACrC;IACA,IAAIT,SAAS,KAAK,KAAK,EAAE;MACvB,OAAOS,MAAM,KAAK,OAAO;IAC3B;IACA;IACA,IAAIT,SAAS,KAAK,QAAQ,EAAE;MAC1B,OAAOS,MAAM,KAAK,WAAW;IAC/B;IACA;IACA,IAAIT,SAAS,KAAK,SAAS,EAAE;MAC3B,OAAOS,MAAM,KAAK,QAAQ;IAC5B;IACA,OAAO,IAAI;EACb,CAAC;EAED,MAAMC,YAAY,GAAGA,CAACC,MAAM,EAAEC,KAAK,EAAEC,QAAQ,KAAK;IAChD,IAAIF,MAAM,EAAE;MACVL,eAAe,CAAC,IAAI,CAAC;MACrBL,QAAQ,GAAGU,MAAM,EAAEC,KAAK,EAAEC,QAAQ,CAAC;MACnC;IACF;IACA,IAAI;MAAEJ;IAAO,CAAC,GAAG;MAAE,GAAGI;IAAS,CAAC;IAEhC,IAAID,KAAK,CAACE,aAAa,KAAKC,QAAQ,KAAKN,MAAM,KAAK,SAAS,IAAIG,KAAK,CAACI,GAAG,KAAK,QAAQ,CAAC,EAAE;MACxFP,MAAM,GAAG,WAAW;IACtB;IACA,IAAID,kBAAkB,CAACC,MAAM,CAAC,EAAE;MAC9BH,eAAe,CAAC,KAAK,CAAC;MACtBL,QAAQ,GAAGU,MAAM,EAAEC,KAAK,EAAEC,QAAQ,CAAC;IACrC;EACF,CAAC;EAED,oBACE5B,KAAA,CAAAgC,aAAA,CAAC7B,YAAY;IACXe,SAAS,EAAEjB,UAAU,CACnB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","classNames","PropTypes","BaseDropdown","DropdownMenu","BaseDropdownItem","BaseDropdownToggle","DropdownDeprecated","Button","IconButton","Dropdown","forwardRef","_ref","ref","show","autoClose","onToggle","variant","className","rest","internalShow","setInternalShow","useState","isClosingPermitted","source","handleToggle","isOpen","event","metadata","currentTarget","document","key","createElement","propTypes","oneOfType","string","bool","func","oneOf","defaultProps","undefined","DropdownToggle","_ref2","as","bsPrefix","otherProps","prefix","elementType","id","number","isRequired","Item","DropdownItem","_ref3","Deprecated","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 DropdownDeprecated from './deprecated';\nimport Button from '../Button';\nimport IconButton from '../IconButton';\n\nconst Dropdown = React.forwardRef(\n // eslint-disable-next-line prefer-arrow-callback\n function Dropdown({\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 // eslint-disable-next-line prefer-arrow-callback\n function DropdownToggle({\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 // eslint-disable-next-line prefer-arrow-callback\n function DropdownItem({ className, ...otherProps }, ref) {\n return (\n <BaseDropdownItem\n className={classNames(className, 'pgn__dropdown-item')}\n ref={ref}\n {...otherProps}\n />\n );\n },\n);\n\nDropdown.Item.propTypes = {\n className: PropTypes.string,\n};\n\nDropdown.Item.defaultProps = {\n className: undefined,\n};\n\nDropdown.Deprecated = DropdownDeprecated;\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultContent.js","names":["React","PropTypes","FormattedMessage","useIntl","getTypesString","formatBytes","messages","Icon","FileUpload","DefaultContent","_ref","accept","minSize","maxSize","intl","getFileRestrictionMessage","fileTypePart","fileSizePart","allTypes","lastTypeSeparatorLocation","lastIndexOf","formatMessage","fileTypeRestriction","count","firstPart","slice","secondPart","Number","isFinite","fileSizeBetween","sizeMin","sizeMax","fileSizeMax","fileSizeMin","createElement","Fragment","className","src","id","description","defaultMessage","some","value","propTypes","objectOf","arrayOf","string","number","defaultProps","undefined"],"sources":["../../src/Dropzone/DefaultContent.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { getTypesString, formatBytes } from './utils';\nimport messages from './messages';\nimport Icon from '../Icon';\nimport { FileUpload } from '../../icons';\n\nfunction DefaultContent({ accept, minSize, maxSize }) {\n const intl = useIntl();\n\n const getFileRestrictionMessage = () => {\n let fileTypePart;\n let fileSizePart;\n\n if (accept) {\n const allTypes = getTypesString(accept);\n const lastTypeSeparatorLocation = allTypes.lastIndexOf(',');\n fileTypePart = intl.formatMessage(messages.fileTypeRestriction, {\n count: lastTypeSeparatorLocation === -1 ? 1 : 2,\n firstPart: lastTypeSeparatorLocation === -1 ? allTypes : allTypes.slice(0, lastTypeSeparatorLocation),\n secondPart: lastTypeSeparatorLocation !== -1 && allTypes.slice(lastTypeSeparatorLocation + 1),\n });\n }\n\n if (minSize && maxSize && Number.isFinite(maxSize)) {\n fileSizePart = intl.formatMessage(messages.fileSizeBetween, {\n sizeMin: formatBytes(minSize),\n sizeMax: formatBytes(maxSize),\n });\n } else if (maxSize && Number.isFinite(maxSize)) {\n fileSizePart = intl.formatMessage(messages.fileSizeMax, { sizeMax: formatBytes(maxSize) });\n } else if (minSize) {\n fileSizePart = intl.formatMessage(messages.fileSizeMin, { sizeMin: formatBytes(minSize) });\n }\n\n if (fileTypePart && fileSizePart) {\n return `${fileTypePart} (${fileSizePart})`;\n }\n if (fileTypePart) {\n return fileTypePart;\n }\n return fileSizePart;\n };\n\n return (\n <>\n <div className=\"pgn__dropzone__upload-icon-wrapper\">\n <Icon src={FileUpload} className=\"pgn__dropzone__upload-icon\" />\n </div>\n <p>\n <FormattedMessage\n id=\"pgn.Dropzone.DefaultContent.label\"\n description=\"A text that appears as a label for input of Dropzone component.\"\n defaultMessage=\"Drag and drop your file here or click to upload.\"\n />\n </p>\n {[accept, minSize, maxSize].some(value => value) && (\n <p className=\"pgn__dropzone__upload-restriction-message\">\n {getFileRestrictionMessage()}\n </p>\n )}\n </>\n );\n}\n\nDefaultContent.propTypes = {\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n maxSize: PropTypes.number,\n minSize: PropTypes.number,\n};\n\nDefaultContent.defaultProps = {\n accept: undefined,\n maxSize: undefined,\n minSize: undefined,\n};\n\nexport default DefaultContent;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,gBAAgB,EAAEC,OAAO,QAAQ,YAAY;AACtD,SAASC,cAAc,EAAEC,WAAW,QAAQ,SAAS;AACrD,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,UAAU,QAAQ,aAAa;AAExC,SAASC,cAAcA,CAAAC,IAAA,EAA+B;EAAA,IAA9B;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GAAAH,IAAA;EAClD,MAAMI,IAAI,GAAGX,OAAO,CAAC,CAAC;EAEtB,MAAMY,yBAAyB,GAAGA,CAAA,KAAM;IACtC,IAAIC,YAAY;IAChB,IAAIC,YAAY;IAEhB,IAAIN,MAAM,EAAE;MACV,MAAMO,QAAQ,GAAGd,cAAc,CAACO,MAAM,CAAC;MACvC,MAAMQ,yBAAyB,GAAGD,QAAQ,CAACE,WAAW,CAAC,GAAG,CAAC;MAC3DJ,YAAY,GAAGF,IAAI,CAACO,aAAa,CAACf,QAAQ,CAACgB,mBAAmB,EAAE;QAC9DC,KAAK,EAAEJ,yBAAyB,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC/CK,SAAS,EAAEL,yBAAyB,KAAK,CAAC,CAAC,GAAGD,QAAQ,GAAGA,QAAQ,CAACO,KAAK,CAAC,CAAC,EAAEN,yBAAyB,CAAC;QACrGO,UAAU,EAAEP,yBAAyB,KAAK,CAAC,CAAC,IAAID,QAAQ,CAACO,KAAK,CAACN,yBAAyB,GAAG,CAAC;MAC9F,CAAC,CAAC;IACJ;IAEA,IAAIP,OAAO,IAAIC,OAAO,IAAIc,MAAM,CAACC,QAAQ,CAACf,OAAO,CAAC,EAAE;MAClDI,YAAY,GAAGH,IAAI,CAACO,aAAa,CAACf,QAAQ,CAACuB,eAAe,EAAE;QAC1DC,OAAO,EAAEzB,WAAW,CAACO,OAAO,CAAC;QAC7BmB,OAAO,EAAE1B,WAAW,CAACQ,OAAO;MAC9B,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIA,OAAO,IAAIc,MAAM,CAACC,QAAQ,CAACf,OAAO,CAAC,EAAE;MAC9CI,YAAY,GAAGH,IAAI,CAACO,aAAa,CAACf,QAAQ,CAAC0B,WAAW,EAAE;QAAED,OAAO,EAAE1B,WAAW,CAACQ,OAAO;MAAE,CAAC,CAAC;IAC5F,CAAC,MAAM,IAAID,OAAO,EAAE;MAClBK,YAAY,GAAGH,IAAI,CAACO,aAAa,CAACf,QAAQ,CAAC2B,WAAW,EAAE;QAAEH,OAAO,EAAEzB,WAAW,CAACO,OAAO;MAAE,CAAC,CAAC;IAC5F;IAEA,IAAII,YAAY,IAAIC,YAAY,EAAE;MAChC,
|
|
1
|
+
{"version":3,"file":"DefaultContent.js","names":["React","PropTypes","FormattedMessage","useIntl","getTypesString","formatBytes","messages","Icon","FileUpload","DefaultContent","_ref","accept","minSize","maxSize","intl","getFileRestrictionMessage","fileTypePart","fileSizePart","allTypes","lastTypeSeparatorLocation","lastIndexOf","formatMessage","fileTypeRestriction","count","firstPart","slice","secondPart","Number","isFinite","fileSizeBetween","sizeMin","sizeMax","fileSizeMax","fileSizeMin","createElement","Fragment","className","src","id","description","defaultMessage","some","value","propTypes","objectOf","arrayOf","string","number","defaultProps","undefined"],"sources":["../../src/Dropzone/DefaultContent.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { getTypesString, formatBytes } from './utils';\nimport messages from './messages';\nimport Icon from '../Icon';\nimport { FileUpload } from '../../icons';\n\nfunction DefaultContent({ accept, minSize, maxSize }) {\n const intl = useIntl();\n\n const getFileRestrictionMessage = () => {\n let fileTypePart;\n let fileSizePart;\n\n if (accept) {\n const allTypes = getTypesString(accept);\n const lastTypeSeparatorLocation = allTypes.lastIndexOf(',');\n fileTypePart = intl.formatMessage(messages.fileTypeRestriction, {\n count: lastTypeSeparatorLocation === -1 ? 1 : 2,\n firstPart: lastTypeSeparatorLocation === -1 ? allTypes : allTypes.slice(0, lastTypeSeparatorLocation),\n secondPart: lastTypeSeparatorLocation !== -1 && allTypes.slice(lastTypeSeparatorLocation + 1),\n });\n }\n\n if (minSize && maxSize && Number.isFinite(maxSize)) {\n fileSizePart = intl.formatMessage(messages.fileSizeBetween, {\n sizeMin: formatBytes(minSize),\n sizeMax: formatBytes(maxSize),\n });\n } else if (maxSize && Number.isFinite(maxSize)) {\n fileSizePart = intl.formatMessage(messages.fileSizeMax, { sizeMax: formatBytes(maxSize) });\n } else if (minSize) {\n fileSizePart = intl.formatMessage(messages.fileSizeMin, { sizeMin: formatBytes(minSize) });\n }\n\n if (fileTypePart && fileSizePart) {\n return `${fileTypePart} (${fileSizePart})`;\n }\n if (fileTypePart) {\n return fileTypePart;\n }\n return fileSizePart;\n };\n\n return (\n <>\n <div className=\"pgn__dropzone__upload-icon-wrapper\">\n <Icon src={FileUpload} className=\"pgn__dropzone__upload-icon\" />\n </div>\n <p>\n <FormattedMessage\n id=\"pgn.Dropzone.DefaultContent.label\"\n description=\"A text that appears as a label for input of Dropzone component.\"\n defaultMessage=\"Drag and drop your file here or click to upload.\"\n />\n </p>\n {[accept, minSize, maxSize].some(value => value) && (\n <p className=\"pgn__dropzone__upload-restriction-message\">\n {getFileRestrictionMessage()}\n </p>\n )}\n </>\n );\n}\n\nDefaultContent.propTypes = {\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n maxSize: PropTypes.number,\n minSize: PropTypes.number,\n};\n\nDefaultContent.defaultProps = {\n accept: undefined,\n maxSize: undefined,\n minSize: undefined,\n};\n\nexport default DefaultContent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadProgress.js","names":["React","PropTypes","FormattedMessage","Button","ProgressBar","Spinner","UploadProgress","_ref","percent","variant","name","onCancel","createElement","animation","screenReaderText","className","id","defaultMessage","description","values","filename","now","label","onClick","propTypes","oneOf","isRequired","number","string","func"],"sources":["../../src/Dropzone/UploadProgress.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport Button from '../Button';\nimport ProgressBar from '../ProgressBar';\nimport Spinner from '../Spinner';\n\nfunction UploadProgress({\n percent, variant, name, onCancel,\n}) {\n if (variant === 'spinner') {\n return (\n <Spinner\n animation=\"border\"\n aria-live=\"polite\"\n screenReaderText={`Uploading ${name}, ${percent}% done.`}\n data-testid=\"upload-spinner\"\n />\n );\n }\n\n return (\n <div className=\"w-50\">\n <p className=\"text-muted\">\n <FormattedMessage\n id=\"pgn.Dropzone.UploadProgress.uploadLabel\"\n defaultMessage=\"Uploading {filename}.\"\n description=\"A text that is shown near a progress bar during file upload in Dropzone component.\"\n values={{ filename: name }}\n />\n </p>\n <div className=\"d-flex justify-content-between align-items-center w-100\">\n <ProgressBar\n now={percent}\n label={`${percent}%`}\n variant=\"success\"\n className=\"flex-grow-1\"\n data-testid=\"upload-progress-bar\"\n />\n <Button variant=\"tertiary\" className=\"ml-3\" onClick={onCancel}>\n <FormattedMessage\n id=\"pgn.Dropzone.UploadProgress.cancelLabel\"\n defaultMessage=\"Cancel\"\n description=\"Label of a cancel button that is shown during file upload in Dropzone component.\"\n />\n </Button>\n </div>\n </div>\n );\n}\n\nUploadProgress.propTypes = {\n variant: PropTypes.oneOf(['spinner', 'bar']).isRequired,\n percent: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default UploadProgress;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,OAAO,MAAM,YAAY;AAEhC,SAASC,cAAcA,CAAAC,IAAA,EAEpB;EAAA,IAFqB;IACtBC,OAAO;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAC1B,CAAC,GAAAJ,IAAA;EACC,IAAIE,OAAO,KAAK,SAAS,EAAE;IACzB,oBACET,KAAA,CAAAY,aAAA,CAACP,OAAO;MACNQ,SAAS,EAAC,QAAQ;MAClB,aAAU,QAAQ;MAClBC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"UploadProgress.js","names":["React","PropTypes","FormattedMessage","Button","ProgressBar","Spinner","UploadProgress","_ref","percent","variant","name","onCancel","createElement","animation","screenReaderText","className","id","defaultMessage","description","values","filename","now","label","onClick","propTypes","oneOf","isRequired","number","string","func"],"sources":["../../src/Dropzone/UploadProgress.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport Button from '../Button';\nimport ProgressBar from '../ProgressBar';\nimport Spinner from '../Spinner';\n\nfunction UploadProgress({\n percent, variant, name, onCancel,\n}) {\n if (variant === 'spinner') {\n return (\n <Spinner\n animation=\"border\"\n aria-live=\"polite\"\n screenReaderText={`Uploading ${name}, ${percent}% done.`}\n data-testid=\"upload-spinner\"\n />\n );\n }\n\n return (\n <div className=\"w-50\">\n <p className=\"text-muted\">\n <FormattedMessage\n id=\"pgn.Dropzone.UploadProgress.uploadLabel\"\n defaultMessage=\"Uploading {filename}.\"\n description=\"A text that is shown near a progress bar during file upload in Dropzone component.\"\n values={{ filename: name }}\n />\n </p>\n <div className=\"d-flex justify-content-between align-items-center w-100\">\n <ProgressBar\n now={percent}\n label={`${percent}%`}\n variant=\"success\"\n className=\"flex-grow-1\"\n data-testid=\"upload-progress-bar\"\n />\n <Button variant=\"tertiary\" className=\"ml-3\" onClick={onCancel}>\n <FormattedMessage\n id=\"pgn.Dropzone.UploadProgress.cancelLabel\"\n defaultMessage=\"Cancel\"\n description=\"Label of a cancel button that is shown during file upload in Dropzone component.\"\n />\n </Button>\n </div>\n </div>\n );\n}\n\nUploadProgress.propTypes = {\n variant: PropTypes.oneOf(['spinner', 'bar']).isRequired,\n percent: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n onCancel: PropTypes.func.isRequired,\n};\n\nexport default UploadProgress;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,OAAO,MAAM,YAAY;AAEhC,SAASC,cAAcA,CAAAC,IAAA,EAEpB;EAAA,IAFqB;IACtBC,OAAO;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAC1B,CAAC,GAAAJ,IAAA;EACC,IAAIE,OAAO,KAAK,SAAS,EAAE;IACzB,oBACET,KAAA,CAAAY,aAAA,CAACP,OAAO;MACNQ,SAAS,EAAC,QAAQ;MAClB,aAAU,QAAQ;MAClBC,gBAAgB,EAAE,aAAaJ,IAAI,KAAKF,OAAO,SAAU;MACzD,eAAY;IAAgB,CAC7B,CAAC;EAEN;EAEA,oBACER,KAAA,CAAAY,aAAA;IAAKG,SAAS,EAAC;EAAM,gBACnBf,KAAA,CAAAY,aAAA;IAAGG,SAAS,EAAC;EAAY,gBACvBf,KAAA,CAAAY,aAAA,CAACV,gBAAgB;IACfc,EAAE,EAAC,yCAAyC;IAC5CC,cAAc,EAAC,uBAAuB;IACtCC,WAAW,EAAC,oFAAoF;IAChGC,MAAM,EAAE;MAAEC,QAAQ,EAAEV;IAAK;EAAE,CAC5B,CACA,CAAC,eACJV,KAAA,CAAAY,aAAA;IAAKG,SAAS,EAAC;EAAyD,gBACtEf,KAAA,CAAAY,aAAA,CAACR,WAAW;IACViB,GAAG,EAAEb,OAAQ;IACbc,KAAK,EAAE,GAAGd,OAAO,GAAI;IACrBC,OAAO,EAAC,SAAS;IACjBM,SAAS,EAAC,aAAa;IACvB,eAAY;EAAqB,CAClC,CAAC,eACFf,KAAA,CAAAY,aAAA,CAACT,MAAM;IAACM,OAAO,EAAC,UAAU;IAACM,SAAS,EAAC,MAAM;IAACQ,OAAO,EAAEZ;EAAS,gBAC5DX,KAAA,CAAAY,aAAA,CAACV,gBAAgB;IACfc,EAAE,EAAC,yCAAyC;IAC5CC,cAAc,EAAC,QAAQ;IACvBC,WAAW,EAAC;EAAkF,CAC/F,CACK,CACL,CACF,CAAC;AAEV;AAEAZ,cAAc,CAACkB,SAAS,GAAG;EACzBf,OAAO,EAAER,SAAS,CAACwB,KAAK,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAACC,UAAU;EACvDlB,OAAO,EAAEP,SAAS,CAAC0B,MAAM,CAACD,UAAU;EACpChB,IAAI,EAAET,SAAS,CAAC2B,MAAM,CAACF,UAAU;EACjCf,QAAQ,EAAEV,SAAS,CAAC4B,IAAI,CAACH;AAC3B,CAAC;AAED,eAAepB,cAAc","ignoreList":[]}
|
package/dist/Dropzone/index.scss
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@use "sass:map";
|
|
1
2
|
@import "variables";
|
|
2
3
|
|
|
3
4
|
.pgn__dropzone {
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
|
|
42
43
|
.pgn__dropzone-generic-alert {
|
|
43
44
|
width: 100%;
|
|
44
|
-
margin-bottom:
|
|
45
|
+
margin-bottom: map.get($spacers, 4);
|
|
45
46
|
|
|
46
47
|
.pgn__alert-message-wrapper .alert-message-content {
|
|
47
48
|
> span {
|
|
@@ -56,7 +57,7 @@
|
|
|
56
57
|
background: $light-300;
|
|
57
58
|
border-radius: 50%;
|
|
58
59
|
position: relative;
|
|
59
|
-
margin-bottom: map
|
|
60
|
+
margin-bottom: map.get($spacers, 4);
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
.pgn__dropzone__upload-icon {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","ValidationMessage","Variant","inputProps","legend","oneOfType","string","element","isRequired","children","node","className","id","isValid","bool","invalidMessage","variant","shape","status","oneOf","Object","keys","map","k","variantIconDescription","defaultProps","undefined","INFO","Fieldset","Component","constructor","props","state","getDerivedStateFromProps","nextProps","prevState","getVariantClassName","render","errorId","createElement","propTypes"],"sources":["../../src/Fieldset/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport newId from '../utils/newId';\n\nimport ValidationMessage from '../ValidationMessage/index';\nimport Variant from '../utils/constants';\n\nconst inputProps = {\n legend: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n\n children: PropTypes.node,\n className: PropTypes.string,\n id: PropTypes.string,\n isValid: PropTypes.bool,\n invalidMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n variant: PropTypes.shape({\n status: PropTypes.oneOf(Object.keys(Variant.status).map(k => Variant.status[k])),\n }),\n variantIconDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n};\n\nconst defaultProps = {\n children: null,\n className: undefined,\n id: '',\n isValid: true,\n invalidMessage: '',\n variant: {\n status: Variant.status.INFO,\n },\n variantIconDescription: '',\n};\n\nclass Fieldset extends React.Component {\n constructor(props) {\n super(props);\n this.state = { id: props.id || newId('fieldset') };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.id !== prevState.id) {\n return { id: nextProps.id || newId('fieldset') };\n }\n\n return null;\n }\n\n getVariantClassName() {\n const { variant } = this.props;\n let className;\n\n switch (variant.status) {\n case Variant.status.INFO:\n className = 'is-invalid-nodanger';\n break;\n default:\n break;\n }\n\n return className;\n }\n\n render() {\n const {\n className,\n children,\n variantIconDescription,\n invalidMessage,\n isValid,\n legend,\n variant,\n } = this.props;\n const errorId = `error-${this.state.id}`;\n return (\n <div className=\"paragon-fieldset\">\n <fieldset\n className={classNames(\n 'form-control',\n 'p-3',\n { 'is-invalid': !isValid },\n this.getVariantClassName(),\n className,\n )}\n aria-describedby={errorId}\n data-testid=\"fieldset\"\n >\n <legend className=\"p-1\">{legend}</legend>\n {children}\n </fieldset>\n <ValidationMessage\n id={errorId}\n isValid={isValid}\n invalidMessage={invalidMessage}\n variant={variant}\n variantIconDescription={variantIconDescription}\n />\n </div>\n );\n }\n}\n\nFieldset.propTypes = inputProps;\nFieldset.defaultProps = defaultProps;\n\nexport default Fieldset;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,KAAK,MAAM,gBAAgB;AAElC,OAAOC,iBAAiB,MAAM,4BAA4B;AAC1D,OAAOC,OAAO,MAAM,oBAAoB;AAExC,MAAMC,UAAU,GAAG;EACjBC,MAAM,EAAEN,SAAS,CAACO,SAAS,CAAC,CAACP,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACS,OAAO,CAAC,CAAC,CAACC,UAAU;EAE7EC,QAAQ,EAAEX,SAAS,CAACY,IAAI;EACxBC,SAAS,EAAEb,SAAS,CAACQ,MAAM;EAC3BM,EAAE,EAAEd,SAAS,CAACQ,MAAM;EACpBO,OAAO,EAAEf,SAAS,CAACgB,IAAI;EACvBC,cAAc,EAAEjB,SAAS,CAACO,SAAS,CAAC,CAACP,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACS,OAAO,CAAC,CAAC;EAC1ES,OAAO,EAAElB,SAAS,CAACmB,KAAK,CAAC;IACvBC,MAAM,EAAEpB,SAAS,CAACqB,KAAK,CAACC,MAAM,CAACC,IAAI,CAACnB,OAAO,CAACgB,MAAM,CAAC,CAACI,GAAG,CAACC,CAAC,IAAIrB,OAAO,CAACgB,MAAM,CAACK,CAAC,CAAC,CAAC;EACjF,CAAC,CAAC;EACFC,sBAAsB,EAAE1B,SAAS,CAACO,SAAS,CAAC,CAACP,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACS,OAAO,CAAC;AACnF,CAAC;AAED,MAAMkB,YAAY,GAAG;EACnBhB,QAAQ,EAAE,IAAI;EACdE,SAAS,EAAEe,SAAS;EACpBd,EAAE,EAAE,EAAE;EACNC,OAAO,EAAE,IAAI;EACbE,cAAc,EAAE,EAAE;EAClBC,OAAO,EAAE;IACPE,MAAM,EAAEhB,OAAO,CAACgB,MAAM,CAACS;EACzB,CAAC;EACDH,sBAAsB,EAAE;AAC1B,CAAC;AAED,MAAMI,QAAQ,SAAS/B,KAAK,CAACgC,SAAS,CAAC;EACrCC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MAAEpB,EAAE,EAAEmB,KAAK,CAACnB,EAAE,IAAIZ,KAAK,CAAC,UAAU;IAAE,CAAC;EACpD;EAEA,OAAOiC,wBAAwBA,CAACC,SAAS,EAAEC,SAAS,EAAE;IACpD,IAAID,SAAS,CAACtB,EAAE,KAAKuB,SAAS,CAACvB,EAAE,EAAE;MACjC,OAAO;QAAEA,EAAE,EAAEsB,SAAS,CAACtB,EAAE,IAAIZ,KAAK,CAAC,UAAU;MAAE,CAAC;IAClD;IAEA,OAAO,IAAI;EACb;EAEAoC,mBAAmBA,CAAA,EAAG;IACpB,MAAM;MAAEpB;IAAQ,CAAC,GAAG,IAAI,CAACe,KAAK;IAC9B,IAAIpB,SAAS;IAEb,QAAQK,OAAO,CAACE,MAAM;MACpB,KAAKhB,OAAO,CAACgB,MAAM,CAACS,IAAI;QACtBhB,SAAS,GAAG,qBAAqB;QACjC;MACF;QACE;IACJ;IAEA,OAAOA,SAAS;EAClB;EAEA0B,MAAMA,CAAA,EAAG;IACP,MAAM;MACJ1B,SAAS;MACTF,QAAQ;MACRe,sBAAsB;MACtBT,cAAc;MACdF,OAAO;MACPT,MAAM;MACNY;IACF,CAAC,GAAG,IAAI,CAACe,KAAK;IACd,MAAMO,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","ValidationMessage","Variant","inputProps","legend","oneOfType","string","element","isRequired","children","node","className","id","isValid","bool","invalidMessage","variant","shape","status","oneOf","Object","keys","map","k","variantIconDescription","defaultProps","undefined","INFO","Fieldset","Component","constructor","props","state","getDerivedStateFromProps","nextProps","prevState","getVariantClassName","render","errorId","createElement","propTypes"],"sources":["../../src/Fieldset/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport newId from '../utils/newId';\n\nimport ValidationMessage from '../ValidationMessage/index';\nimport Variant from '../utils/constants';\n\nconst inputProps = {\n legend: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n\n children: PropTypes.node,\n className: PropTypes.string,\n id: PropTypes.string,\n isValid: PropTypes.bool,\n invalidMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n variant: PropTypes.shape({\n status: PropTypes.oneOf(Object.keys(Variant.status).map(k => Variant.status[k])),\n }),\n variantIconDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n};\n\nconst defaultProps = {\n children: null,\n className: undefined,\n id: '',\n isValid: true,\n invalidMessage: '',\n variant: {\n status: Variant.status.INFO,\n },\n variantIconDescription: '',\n};\n\nclass Fieldset extends React.Component {\n constructor(props) {\n super(props);\n this.state = { id: props.id || newId('fieldset') };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.id !== prevState.id) {\n return { id: nextProps.id || newId('fieldset') };\n }\n\n return null;\n }\n\n getVariantClassName() {\n const { variant } = this.props;\n let className;\n\n switch (variant.status) {\n case Variant.status.INFO:\n className = 'is-invalid-nodanger';\n break;\n default:\n break;\n }\n\n return className;\n }\n\n render() {\n const {\n className,\n children,\n variantIconDescription,\n invalidMessage,\n isValid,\n legend,\n variant,\n } = this.props;\n const errorId = `error-${this.state.id}`;\n return (\n <div className=\"paragon-fieldset\">\n <fieldset\n className={classNames(\n 'form-control',\n 'p-3',\n { 'is-invalid': !isValid },\n this.getVariantClassName(),\n className,\n )}\n aria-describedby={errorId}\n data-testid=\"fieldset\"\n >\n <legend className=\"p-1\">{legend}</legend>\n {children}\n </fieldset>\n <ValidationMessage\n id={errorId}\n isValid={isValid}\n invalidMessage={invalidMessage}\n variant={variant}\n variantIconDescription={variantIconDescription}\n />\n </div>\n );\n }\n}\n\nFieldset.propTypes = inputProps;\nFieldset.defaultProps = defaultProps;\n\nexport default Fieldset;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import FormControl from './FormControl';
|
|
|
10
10
|
import FormControlFeedback from './FormControlFeedback';
|
|
11
11
|
import IconButton from '../IconButton';
|
|
12
12
|
import Spinner from '../Spinner';
|
|
13
|
-
import useArrowKeyNavigation from '../hooks/
|
|
13
|
+
import useArrowKeyNavigation from '../hooks/useArrowKeyNavigationHook';
|
|
14
14
|
import messages from './messages';
|
|
15
15
|
const FormAutosuggest = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
16
16
|
let {
|