@openedx/paragon 22.0.0-alpha.22 → 22.0.0-alpha.24
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/bin/paragon-scripts.js +12 -1
- package/dist/Button/index.js +2 -2
- package/dist/Button/index.js.map +1 -1
- package/dist/Button/index.scss +3 -3
- package/dist/ColorPicker/index.js +48 -18
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/Container/index.js +6 -2
- package/dist/Container/index.js.map +1 -1
- package/dist/DataTable/index.js +2 -1
- package/dist/DataTable/index.js.map +1 -1
- package/dist/DataTable/selection/BaseSelectionStatus.js +3 -2
- package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Dropzone/index.js +2 -3
- package/dist/Dropzone/index.js.map +1 -1
- package/dist/Form/FormAutosuggest.js +9 -4
- package/dist/Form/FormAutosuggest.js.map +1 -1
- package/dist/Form/FormSwitch.js +3 -0
- package/dist/Form/FormSwitch.js.map +1 -1
- package/dist/Hyperlink/index.js +7 -6
- package/dist/Hyperlink/index.js.map +1 -1
- package/dist/Icon/index.js +18 -11
- package/dist/Icon/index.js.map +1 -1
- package/dist/IconButton/index.js +1 -1
- package/dist/IconButton/index.js.map +1 -1
- package/dist/Layout/index.js.map +1 -1
- package/dist/Menu/MenuItem.js +2 -2
- package/dist/Menu/MenuItem.js.map +1 -1
- package/dist/Modal/ModalDialog.js +3 -0
- package/dist/Modal/ModalDialog.js.map +1 -1
- package/dist/Modal/_ModalDialog.scss +12 -20
- package/dist/Popover/index.js +8 -8
- package/dist/Popover/index.js.map +1 -1
- package/dist/ProductTour/Checkpoint.js +10 -8
- package/dist/ProductTour/Checkpoint.js.map +1 -1
- package/dist/ProductTour/messages.js +16 -0
- package/dist/SearchField/SearchFieldAdvanced.js +12 -7
- package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
- package/dist/SearchField/SearchFieldLabel.js +3 -3
- package/dist/SearchField/SearchFieldLabel.js.map +1 -1
- package/dist/SearchField/index.js +0 -1
- package/dist/SearchField/index.js.map +1 -1
- package/dist/SelectableBox/index.js +9 -5
- package/dist/SelectableBox/index.js.map +1 -1
- package/dist/Tabs/index.js +13 -13
- package/dist/Tabs/index.js.map +1 -1
- package/dist/core.css +17 -18
- package/dist/core.css.map +1 -1
- package/dist/core.min.css +1 -1
- package/dist/hooks/useIndexOfLastVisibleChild.js +33 -38
- package/dist/hooks/useIndexOfLastVisibleChild.js.map +1 -1
- package/dist/i18n/messages/ar.json +2 -1
- package/dist/i18n/messages/ca.json +2 -1
- package/dist/i18n/messages/es_419.json +2 -1
- package/dist/i18n/messages/es_AR.json +2 -1
- package/dist/i18n/messages/es_ES.json +2 -1
- package/dist/i18n/messages/fr.json +2 -1
- package/dist/i18n/messages/he.json +2 -1
- package/dist/i18n/messages/id.json +2 -1
- package/dist/i18n/messages/it_IT.json +2 -1
- package/dist/i18n/messages/ko_KR.json +2 -1
- package/dist/i18n/messages/pl.json +2 -1
- package/dist/i18n/messages/pt_BR.json +2 -1
- package/dist/i18n/messages/pt_PT.json +2 -1
- package/dist/i18n/messages/ru.json +2 -1
- package/dist/i18n/messages/th.json +2 -1
- package/dist/i18n/messages/tr_TR.json +2 -1
- package/dist/i18n/messages/uk.json +2 -1
- package/dist/i18n/messages/zh_CN.json +2 -1
- package/dist/light.css +11 -11
- package/dist/light.css.map +1 -1
- package/dist/light.min.css +1 -1
- package/icons/.svgrrc.js +1 -1
- package/icons/es5/Accessible.js +2 -1
- package/icons/es5/AccessibleForward.js +2 -1
- package/icons/es5/AssistWalker.js +2 -1
- package/icons/es5/Attribution.js +2 -1
- package/icons/es5/Bathtub.js +2 -1
- package/icons/es5/Biotech.js +2 -1
- package/icons/es5/Blind.js +2 -1
- package/icons/es5/BlurOff.js +16 -8
- package/icons/es5/Brightness1.js +2 -1
- package/icons/es5/BubbleChart.js +6 -3
- package/icons/es5/CameraAlt.js +2 -1
- package/icons/es5/Category.js +2 -1
- package/icons/es5/CheckCircleLightOutline.js +12 -17
- package/icons/es5/ChildCare.js +4 -2
- package/icons/es5/CoPresent.js +2 -1
- package/icons/es5/CoffeeMaker.js +2 -1
- package/icons/es5/CompassCalibration.js +2 -1
- package/icons/es5/ControlCamera.js +2 -1
- package/icons/es5/Deblur.js +24 -12
- package/icons/es5/Diversity1.js +4 -2
- package/icons/es5/EmojiPeople.js +2 -1
- package/icons/es5/EmojiSymbols.js +4 -2
- package/icons/es5/Face2.js +4 -2
- package/icons/es5/Face3.js +4 -2
- package/icons/es5/Face4.js +4 -2
- package/icons/es5/Face5.js +44 -22
- package/icons/es5/Face6.js +4 -2
- package/icons/es5/FaceRetouchingNatural.js +4 -2
- package/icons/es5/FaceRetouchingOff.js +2 -1
- package/icons/es5/FiberManualRecord.js +2 -1
- package/icons/es5/FiberSmartRecord.js +2 -1
- package/icons/es5/FireHydrantAlt.js +2 -1
- package/icons/es5/Garage.js +4 -2
- package/icons/es5/GolfCourse.js +2 -1
- package/icons/es5/HotTub.js +2 -1
- package/icons/es5/LinkedCamera.js +2 -1
- package/icons/es5/LocalSee.js +2 -1
- package/icons/es5/Man.js +2 -1
- package/icons/es5/Man2.js +2 -1
- package/icons/es5/Man4.js +2 -1
- package/icons/es5/ManageAccounts.js +2 -1
- package/icons/es5/MarkUnreadChatAlt.js +2 -1
- package/icons/es5/NoiseAware.js +2 -1
- package/icons/es5/NoiseControlOff.js +2 -1
- package/icons/es5/PeopleAlt.js +2 -1
- package/icons/es5/PersonSearch.js +2 -1
- package/icons/es5/Pets.js +8 -4
- package/icons/es5/Plagiarism.js +2 -1
- package/icons/es5/Policy.js +2 -1
- package/icons/es5/Pool.js +2 -1
- package/icons/es5/PriorityHigh.js +2 -1
- package/icons/es5/RecordVoiceOver.js +2 -1
- package/icons/es5/RememberMe.js +2 -1
- package/icons/es5/ReportGmailerrorred.js +2 -1
- package/icons/es5/RightSidebarFilled.js +15 -0
- package/icons/es5/RightSidebarOutlined.js +15 -0
- package/icons/es5/RssFeed.js +2 -1
- package/icons/es5/ScatterPlot.js +6 -3
- package/icons/es5/ScreenSearchDesktop.js +2 -1
- package/icons/es5/SelfImprovement.js +2 -1
- package/icons/es5/SentimentDissatisfied.js +4 -2
- package/icons/es5/SentimentSatisfied.js +4 -2
- package/icons/es5/SentimentSatisfiedAlt.js +4 -2
- package/icons/es5/SentimentSlightlyDissatisfied.js +4 -2
- package/icons/es5/SettingsApplications.js +2 -1
- package/icons/es5/Shower.js +12 -6
- package/icons/es5/SpatialAudio.js +2 -1
- package/icons/es5/SpatialAudioOff.js +2 -1
- package/icons/es5/SpatialTracking.js +2 -1
- package/icons/es5/SpeakerGroup.js +2 -1
- package/icons/es5/Sports.js +2 -1
- package/icons/es5/SportsCricket.js +2 -1
- package/icons/es5/SportsGolf.js +6 -3
- package/icons/es5/SportsKabaddi.js +2 -1
- package/icons/es5/SportsMartialArts.js +2 -1
- package/icons/es5/Stream.js +8 -4
- package/icons/es5/Streetview.js +2 -1
- package/icons/es5/Subway.js +4 -2
- package/icons/es5/SupportAgent.js +4 -2
- package/icons/es5/WindPower.js +2 -1
- package/icons/es5/Woman.js +2 -1
- package/icons/es5/Woman2.js +2 -1
- package/icons/es5/Yard.js +2 -1
- package/icons/es5/index.js +4 -2
- package/icons/jsx/Accessible.jsx +1 -1
- package/icons/jsx/AccessibleForward.jsx +1 -1
- package/icons/jsx/AssistWalker.jsx +1 -1
- package/icons/jsx/Attribution.jsx +1 -1
- package/icons/jsx/Bathtub.jsx +1 -1
- package/icons/jsx/Biotech.jsx +1 -1
- package/icons/jsx/Blind.jsx +1 -1
- package/icons/jsx/BlurOff.jsx +8 -8
- package/icons/jsx/Brightness1.jsx +1 -1
- package/icons/jsx/BubbleChart.jsx +3 -3
- package/icons/jsx/CameraAlt.jsx +1 -1
- package/icons/jsx/Category.jsx +1 -1
- package/icons/jsx/CheckCircleLightOutline.jsx +9 -16
- package/icons/jsx/ChildCare.jsx +2 -2
- package/icons/jsx/CoPresent.jsx +1 -1
- package/icons/jsx/CoffeeMaker.jsx +1 -1
- package/icons/jsx/CompassCalibration.jsx +1 -1
- package/icons/jsx/ControlCamera.jsx +1 -1
- package/icons/jsx/Deblur.jsx +12 -12
- package/icons/jsx/Diversity1.jsx +2 -2
- package/icons/jsx/EmojiPeople.jsx +1 -1
- package/icons/jsx/EmojiSymbols.jsx +2 -2
- package/icons/jsx/Face2.jsx +2 -2
- package/icons/jsx/Face3.jsx +2 -2
- package/icons/jsx/Face4.jsx +2 -2
- package/icons/jsx/Face5.jsx +22 -22
- package/icons/jsx/Face6.jsx +2 -2
- package/icons/jsx/FaceRetouchingNatural.jsx +2 -2
- package/icons/jsx/FaceRetouchingOff.jsx +1 -1
- package/icons/jsx/FiberManualRecord.jsx +1 -1
- package/icons/jsx/FiberSmartRecord.jsx +1 -1
- package/icons/jsx/FireHydrantAlt.jsx +1 -1
- package/icons/jsx/Garage.jsx +2 -2
- package/icons/jsx/GolfCourse.jsx +1 -1
- package/icons/jsx/HotTub.jsx +1 -1
- package/icons/jsx/LinkedCamera.jsx +1 -1
- package/icons/jsx/LocalSee.jsx +1 -1
- package/icons/jsx/Man.jsx +1 -1
- package/icons/jsx/Man2.jsx +1 -1
- package/icons/jsx/Man4.jsx +1 -1
- package/icons/jsx/ManageAccounts.jsx +1 -1
- package/icons/jsx/MarkUnreadChatAlt.jsx +1 -1
- package/icons/jsx/NoiseAware.jsx +1 -1
- package/icons/jsx/NoiseControlOff.jsx +1 -1
- package/icons/jsx/PeopleAlt.jsx +1 -1
- package/icons/jsx/PersonSearch.jsx +1 -1
- package/icons/jsx/Pets.jsx +4 -4
- package/icons/jsx/Plagiarism.jsx +1 -1
- package/icons/jsx/Policy.jsx +1 -1
- package/icons/jsx/Pool.jsx +1 -1
- package/icons/jsx/PriorityHigh.jsx +1 -1
- package/icons/jsx/RecordVoiceOver.jsx +1 -1
- package/icons/jsx/RememberMe.jsx +1 -1
- package/icons/jsx/ReportGmailerrorred.jsx +1 -1
- package/icons/jsx/RightSidebarFilled.jsx +19 -0
- package/icons/jsx/RightSidebarOutlined.jsx +19 -0
- package/icons/jsx/RssFeed.jsx +1 -1
- package/icons/jsx/ScatterPlot.jsx +3 -3
- package/icons/jsx/ScreenSearchDesktop.jsx +1 -1
- package/icons/jsx/SelfImprovement.jsx +1 -1
- package/icons/jsx/SentimentDissatisfied.jsx +2 -2
- package/icons/jsx/SentimentSatisfied.jsx +2 -2
- package/icons/jsx/SentimentSatisfiedAlt.jsx +2 -2
- package/icons/jsx/SentimentSlightlyDissatisfied.jsx +2 -2
- package/icons/jsx/SettingsApplications.jsx +1 -1
- package/icons/jsx/Shower.jsx +6 -6
- package/icons/jsx/SpatialAudio.jsx +1 -1
- package/icons/jsx/SpatialAudioOff.jsx +1 -1
- package/icons/jsx/SpatialTracking.jsx +1 -1
- package/icons/jsx/SpeakerGroup.jsx +1 -1
- package/icons/jsx/Sports.jsx +1 -1
- package/icons/jsx/SportsCricket.jsx +1 -1
- package/icons/jsx/SportsGolf.jsx +3 -3
- package/icons/jsx/SportsKabaddi.jsx +1 -1
- package/icons/jsx/SportsMartialArts.jsx +1 -1
- package/icons/jsx/Stream.jsx +4 -4
- package/icons/jsx/Streetview.jsx +1 -1
- package/icons/jsx/Subway.jsx +2 -2
- package/icons/jsx/SupportAgent.jsx +2 -2
- package/icons/jsx/WindPower.jsx +1 -1
- package/icons/jsx/Woman.jsx +1 -1
- package/icons/jsx/Woman2.jsx +1 -1
- package/icons/jsx/Yard.jsx +1 -1
- package/icons/jsx/index.jsx +2 -0
- package/icons/svg/check_circle_light_outline.svg +13 -0
- package/icons/svg/right_sidebar_filled.svg +3 -0
- package/icons/svg/right_sidebar_outlined.svg +3 -0
- package/lib/version.js +9 -0
- package/package.json +3 -3
- package/src/Button/README.md +99 -92
- package/src/Button/index.jsx +2 -2
- package/src/Button/index.scss +3 -3
- package/src/ColorPicker/ColorPicker.test.jsx +24 -2
- package/src/ColorPicker/index.jsx +56 -16
- package/src/Container/index.jsx +4 -0
- package/src/DataTable/README.md +4 -4
- package/src/DataTable/index.jsx +2 -1
- package/src/DataTable/selection/BaseSelectionStatus.jsx +2 -2
- package/src/DataTable/tablefilters.mdx +3 -3
- package/src/DataTable/tests/DataTable.test.jsx +31 -0
- package/src/Dropdown/index.jsx +4 -0
- package/src/Dropzone/index.jsx +2 -3
- package/src/Form/FormAutosuggest.jsx +11 -5
- package/src/Form/FormSwitch.jsx +3 -0
- package/src/Form/form-autosuggest.mdx +80 -72
- package/src/Form/tests/FormAutosuggest.test.jsx +21 -0
- package/src/Hyperlink/index.jsx +7 -6
- package/src/Icon/index.jsx +18 -11
- package/src/IconButton/index.jsx +1 -1
- package/src/Layout/index.jsx +1 -4
- package/src/Menu/MenuItem.jsx +2 -2
- package/src/Modal/ModalDialog.jsx +3 -0
- package/src/Modal/_ModalDialog.scss +12 -20
- package/src/Overlay/README.md +1 -1
- package/src/Popover/README.md +0 -1
- package/src/Popover/index.jsx +11 -11
- package/src/ProductTour/Checkpoint.jsx +9 -6
- package/src/ProductTour/messages.js +16 -0
- package/src/SearchField/SearchFieldAdvanced.jsx +12 -7
- package/src/SearchField/SearchFieldLabel.jsx +3 -3
- package/src/SearchField/index.jsx +0 -1
- package/src/SelectableBox/README.md +103 -71
- package/src/SelectableBox/index.jsx +5 -1
- package/src/SelectableBox/tests/SelectableBox.test.jsx +7 -0
- package/src/SelectableBox/tests/SelectableBoxSet.test.jsx +1 -1
- package/src/Tabs/README.md +76 -0
- package/src/Tabs/index.jsx +19 -13
- package/src/hooks/tests/useIndexOfLastVisibleChild.test.jsx +3 -3
- package/src/hooks/useIndexOfLastVisibleChild.jsx +36 -38
- package/src/hooks/useIndexOfLastVisibleChild.mdx +3 -3
- package/src/i18n/messages/ar.json +2 -1
- package/src/i18n/messages/ca.json +2 -1
- package/src/i18n/messages/es_419.json +2 -1
- package/src/i18n/messages/es_AR.json +2 -1
- package/src/i18n/messages/es_ES.json +2 -1
- package/src/i18n/messages/fr.json +2 -1
- package/src/i18n/messages/he.json +2 -1
- package/src/i18n/messages/id.json +2 -1
- package/src/i18n/messages/it_IT.json +2 -1
- package/src/i18n/messages/ko_KR.json +2 -1
- package/src/i18n/messages/pl.json +2 -1
- package/src/i18n/messages/pt_BR.json +2 -1
- package/src/i18n/messages/pt_PT.json +2 -1
- package/src/i18n/messages/ru.json +2 -1
- package/src/i18n/messages/th.json +2 -1
- package/src/i18n/messages/tr_TR.json +2 -1
- package/src/i18n/messages/uk.json +2 -1
- package/src/i18n/messages/zh_CN.json +2 -1
- package/styles/css/core/variables.css +5 -3
- package/styles/css/themes/light/variables.css +11 -11
- package/tokens/src/core/components/Button/core.json +8 -4
- package/tokens/src/themes/light/alias/color.json +10 -10
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useLayoutEffect, useState } from 'react';
|
|
2
|
-
import useWindowSize from './useWindowSize';
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* This hook will find the index of the last child of a containing element
|
|
@@ -9,48 +8,44 @@ import useWindowSize from './useWindowSize';
|
|
|
9
8
|
* @param {Element} containerElementRef - container element
|
|
10
9
|
* @param {Element} overflowElementRef - overflow element
|
|
11
10
|
*
|
|
12
|
-
* The hook returns
|
|
13
|
-
* [indexOfLastVisibleChild, containerElementRef, overflowElementRef]
|
|
14
|
-
*
|
|
15
|
-
* indexOfLastVisibleChild - the index of the last visible child
|
|
16
|
-
* containerElementRef - a ref to be added to the containing html node
|
|
17
|
-
* overflowElementRef - a ref to be added to an html node inside the container
|
|
18
|
-
* that is likely to be used to contain a "More" type dropdown or other
|
|
19
|
-
* mechanism to reveal hidden children. The width of this element is always
|
|
20
|
-
* included when determining which children will fit or not. Usage of this ref
|
|
21
|
-
* is optional.
|
|
11
|
+
* The hook returns the index of the last visible child.
|
|
22
12
|
*/
|
|
23
13
|
const useIndexOfLastVisibleChild = (containerElementRef, overflowElementRef) => {
|
|
24
14
|
const [indexOfLastVisibleChild, setIndexOfLastVisibleChild] = useState(-1);
|
|
25
|
-
const windowSize = useWindowSize();
|
|
26
15
|
useLayoutEffect(() => {
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
function updateLastVisibleChildIndex() {
|
|
17
|
+
// Get array of child nodes from NodeList form
|
|
18
|
+
const childNodesArr = Array.prototype.slice.call(containerElementRef.children);
|
|
19
|
+
const {
|
|
20
|
+
nextIndexOfLastVisibleChild
|
|
21
|
+
} = childNodesArr
|
|
22
|
+
// filter out the overflow element
|
|
23
|
+
.filter(childNode => childNode !== overflowElementRef)
|
|
24
|
+
// sum the widths to find the last visible element's index
|
|
25
|
+
.reduce((acc, childNode, index) => {
|
|
26
|
+
acc.sumWidth += childNode.getBoundingClientRect().width;
|
|
27
|
+
if (acc.sumWidth <= containerElementRef.getBoundingClientRect().width) {
|
|
28
|
+
acc.nextIndexOfLastVisibleChild = index;
|
|
29
|
+
}
|
|
30
|
+
return acc;
|
|
31
|
+
}, {
|
|
32
|
+
// Include the overflow element's width to begin with. Doing this means
|
|
33
|
+
// sometimes we'll show a dropdown with one item in it when it would fit,
|
|
34
|
+
// but allowing this case dramatically simplifies the calculations we need
|
|
35
|
+
// to do above.
|
|
36
|
+
sumWidth: overflowElementRef ? overflowElementRef.getBoundingClientRect().width : 0,
|
|
37
|
+
nextIndexOfLastVisibleChild: -1
|
|
38
|
+
});
|
|
39
|
+
setIndexOfLastVisibleChild(nextIndexOfLastVisibleChild);
|
|
40
|
+
}
|
|
41
|
+
if (containerElementRef) {
|
|
42
|
+
updateLastVisibleChildIndex();
|
|
43
|
+
const resizeObserver = new ResizeObserver(() => updateLastVisibleChildIndex());
|
|
44
|
+
resizeObserver.observe(containerElementRef);
|
|
45
|
+
return () => resizeObserver.disconnect();
|
|
29
46
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const {
|
|
33
|
-
nextIndexOfLastVisibleChild
|
|
34
|
-
} = childNodesArr
|
|
35
|
-
// filter out the overflow element
|
|
36
|
-
.filter(childNode => childNode !== overflowElementRef)
|
|
37
|
-
// sum the widths to find the last visible element's index
|
|
38
|
-
.reduce((acc, childNode, index) => {
|
|
39
|
-
acc.sumWidth += childNode.getBoundingClientRect().width;
|
|
40
|
-
if (acc.sumWidth <= containerElementRef.getBoundingClientRect().width) {
|
|
41
|
-
acc.nextIndexOfLastVisibleChild = index;
|
|
42
|
-
}
|
|
43
|
-
return acc;
|
|
44
|
-
}, {
|
|
45
|
-
// Include the overflow element's width to begin with. Doing this means
|
|
46
|
-
// sometimes we'll show a dropdown with one item in it when it would fit,
|
|
47
|
-
// but allowing this case dramatically simplifies the calculations we need
|
|
48
|
-
// to do above.
|
|
49
|
-
sumWidth: overflowElementRef ? overflowElementRef.getBoundingClientRect().width : 0,
|
|
50
|
-
nextIndexOfLastVisibleChild: -1
|
|
51
|
-
});
|
|
52
|
-
setIndexOfLastVisibleChild(nextIndexOfLastVisibleChild);
|
|
53
|
-
}, [windowSize, containerElementRef, overflowElementRef]);
|
|
47
|
+
return undefined;
|
|
48
|
+
}, [containerElementRef, overflowElementRef]);
|
|
54
49
|
return indexOfLastVisibleChild;
|
|
55
50
|
};
|
|
56
51
|
export default useIndexOfLastVisibleChild;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIndexOfLastVisibleChild.js","names":["useLayoutEffect","useState","
|
|
1
|
+
{"version":3,"file":"useIndexOfLastVisibleChild.js","names":["useLayoutEffect","useState","useIndexOfLastVisibleChild","containerElementRef","overflowElementRef","indexOfLastVisibleChild","setIndexOfLastVisibleChild","updateLastVisibleChildIndex","childNodesArr","Array","prototype","slice","call","children","nextIndexOfLastVisibleChild","filter","childNode","reduce","acc","index","sumWidth","getBoundingClientRect","width","resizeObserver","ResizeObserver","observe","disconnect","undefined"],"sources":["../../src/hooks/useIndexOfLastVisibleChild.jsx"],"sourcesContent":["import { useLayoutEffect, useState } from 'react';\n\n/**\n * This hook will find the index of the last child of a containing element\n * that fits within its bounding rectangle. This is done by summing the widths\n * of the children until they exceed the width of the container.\n *\n * @param {Element} containerElementRef - container element\n * @param {Element} overflowElementRef - overflow element\n *\n * The hook returns the index of the last visible child.\n */\nconst useIndexOfLastVisibleChild = (containerElementRef, overflowElementRef) => {\n const [indexOfLastVisibleChild, setIndexOfLastVisibleChild] = useState(-1);\n\n useLayoutEffect(() => {\n function updateLastVisibleChildIndex() {\n // Get array of child nodes from NodeList form\n const childNodesArr = Array.prototype.slice.call(containerElementRef.children);\n const { nextIndexOfLastVisibleChild } = childNodesArr\n // filter out the overflow element\n .filter(childNode => childNode !== overflowElementRef)\n // sum the widths to find the last visible element's index\n .reduce((acc, childNode, index) => {\n acc.sumWidth += childNode.getBoundingClientRect().width;\n if (acc.sumWidth <= containerElementRef.getBoundingClientRect().width) {\n acc.nextIndexOfLastVisibleChild = index;\n }\n return acc;\n }, {\n // Include the overflow element's width to begin with. Doing this means\n // sometimes we'll show a dropdown with one item in it when it would fit,\n // but allowing this case dramatically simplifies the calculations we need\n // to do above.\n sumWidth: overflowElementRef ? overflowElementRef.getBoundingClientRect().width : 0,\n nextIndexOfLastVisibleChild: -1,\n });\n\n setIndexOfLastVisibleChild(nextIndexOfLastVisibleChild);\n }\n\n if (containerElementRef) {\n updateLastVisibleChildIndex();\n\n const resizeObserver = new ResizeObserver(() => updateLastVisibleChildIndex());\n resizeObserver.observe(containerElementRef);\n\n return () => resizeObserver.disconnect();\n }\n\n return undefined;\n }, [containerElementRef, overflowElementRef]);\n\n return indexOfLastVisibleChild;\n};\n\nexport default useIndexOfLastVisibleChild;\n"],"mappings":"AAAA,SAASA,eAAe,EAAEC,QAAQ,QAAQ,OAAO;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,0BAA0B,GAAGA,CAACC,mBAAmB,EAAEC,kBAAkB,KAAK;EAC9E,MAAM,CAACC,uBAAuB,EAAEC,0BAA0B,CAAC,GAAGL,QAAQ,CAAC,CAAC,CAAC,CAAC;EAE1ED,eAAe,CAAC,MAAM;IACpB,SAASO,2BAA2BA,CAAA,EAAG;MACrC;MACA,MAAMC,aAAa,GAAGC,KAAK,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAACT,mBAAmB,CAACU,QAAQ,CAAC;MAC9E,MAAM;QAAEC;MAA4B,CAAC,GAAGN;MACtC;MAAA,CACCO,MAAM,CAACC,SAAS,IAAIA,SAAS,KAAKZ,kBAAkB;MACrD;MAAA,CACCa,MAAM,CAAC,CAACC,GAAG,EAAEF,SAAS,EAAEG,KAAK,KAAK;QACjCD,GAAG,CAACE,QAAQ,IAAIJ,SAAS,CAACK,qBAAqB,CAAC,CAAC,CAACC,KAAK;QACvD,IAAIJ,GAAG,CAACE,QAAQ,IAAIjB,mBAAmB,CAACkB,qBAAqB,CAAC,CAAC,CAACC,KAAK,EAAE;UACrEJ,GAAG,CAACJ,2BAA2B,GAAGK,KAAK;QACzC;QACA,OAAOD,GAAG;MACZ,CAAC,EAAE;QACD;QACA;QACA;QACA;QACAE,QAAQ,EAAEhB,kBAAkB,GAAGA,kBAAkB,CAACiB,qBAAqB,CAAC,CAAC,CAACC,KAAK,GAAG,CAAC;QACnFR,2BAA2B,EAAE,CAAC;MAChC,CAAC,CAAC;MAEJR,0BAA0B,CAACQ,2BAA2B,CAAC;IACzD;IAEA,IAAIX,mBAAmB,EAAE;MACvBI,2BAA2B,CAAC,CAAC;MAE7B,MAAMgB,cAAc,GAAG,IAAIC,cAAc,CAAC,MAAMjB,2BAA2B,CAAC,CAAC,CAAC;MAC9EgB,cAAc,CAACE,OAAO,CAACtB,mBAAmB,CAAC;MAE3C,OAAO,MAAMoB,cAAc,CAACG,UAAU,CAAC,CAAC;IAC1C;IAEA,OAAOC,SAAS;EAClB,CAAC,EAAE,CAACxB,mBAAmB,EAAEC,kBAAkB,CAAC,CAAC;EAE7C,OAAOC,uBAAuB;AAChC,CAAC;AAED,eAAeH,0BAA0B"}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "إغلاق قائمة الخيارات",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "فتح قائمة الخيارات",
|
|
30
30
|
"pgn.Toast.closeLabel": "إغلاق ",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Cerrar el menú de opciones",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Abre el menú de opciones",
|
|
30
30
|
"pgn.Toast.closeLabel": "Cerrar",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Cerrar el menú de opciones",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Abre el menú de opciones",
|
|
30
30
|
"pgn.Toast.closeLabel": "Cerrar",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Cerrar el menú de opciones",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Abre el menú de opciones",
|
|
30
30
|
"pgn.Toast.closeLabel": "Cerrar",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Chiudi",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Zamknij",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Fechar o menu de opções",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Abrir o menu de opções",
|
|
30
30
|
"pgn.Toast.closeLabel": "Fechar",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Seçenekler menüsünü kapat",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Seçenekler menüsünü aç",
|
|
30
30
|
"pgn.Toast.closeLabel": "Kapat",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
|
@@ -28,5 +28,6 @@
|
|
|
28
28
|
"pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
|
|
29
29
|
"pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
|
|
30
30
|
"pgn.Toast.closeLabel": "Close",
|
|
31
|
-
"pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
|
|
31
|
+
"pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
|
|
32
|
+
"pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
|
|
32
33
|
}
|
package/dist/light.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IMPORTANT: This file is the result of assembling design tokens
|
|
3
3
|
* Do not edit directly
|
|
4
|
-
* Generated on
|
|
4
|
+
* Generated on Tue, 26 Dec 2023 14:13:40 GMT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
:root {
|
|
@@ -580,7 +580,6 @@
|
|
|
580
580
|
--pgn-color-alert-title: var(--pgn-color-black);
|
|
581
581
|
--pgn-color-theme-active-gray: var(--pgn-color-gray-900);
|
|
582
582
|
--pgn-color-theme-hover-gray: var(--pgn-color-gray-700);
|
|
583
|
-
--pgn-color-theme-focus-gray: var(--pgn-color-gray-300);
|
|
584
583
|
--pgn-color-theme-border-gray: var(--pgn-color-gray-200);
|
|
585
584
|
--pgn-color-theme-bg-gray: var(--pgn-color-gray-100);
|
|
586
585
|
--pgn-color-border: var(--pgn-color-gray-200);
|
|
@@ -1112,10 +1111,11 @@
|
|
|
1112
1111
|
--pgn-color-theme-default-light: var(--pgn-color-light-500);
|
|
1113
1112
|
--pgn-color-theme-default-brand: var(--pgn-color-brand-500);
|
|
1114
1113
|
--pgn-color-theme-default-primary: var(--pgn-color-primary-500);
|
|
1115
|
-
--pgn-color-theme-focus-
|
|
1116
|
-
--pgn-color-theme-focus-
|
|
1117
|
-
--pgn-color-theme-focus-
|
|
1118
|
-
--pgn-color-theme-focus-
|
|
1114
|
+
--pgn-color-theme-focus-gray: var(--pgn-color-gray-500);
|
|
1115
|
+
--pgn-color-theme-focus-dark: var(--pgn-color-dark-500);
|
|
1116
|
+
--pgn-color-theme-focus-light: var(--pgn-color-light-500);
|
|
1117
|
+
--pgn-color-theme-focus-brand: var(--pgn-color-brand-500);
|
|
1118
|
+
--pgn-color-theme-focus-primary: var(--pgn-color-primary-500);
|
|
1119
1119
|
--pgn-color-theme-border-dark: var(--pgn-color-dark-200);
|
|
1120
1120
|
--pgn-color-theme-border-light: var(--pgn-color-light-200);
|
|
1121
1121
|
--pgn-color-theme-border-brand: var(--pgn-color-brand-200);
|
|
@@ -1444,11 +1444,11 @@
|
|
|
1444
1444
|
--pgn-color-theme-default-info: var(--pgn-color-info-500);
|
|
1445
1445
|
--pgn-color-theme-default-success: var(--pgn-color-success-500);
|
|
1446
1446
|
--pgn-color-theme-default-secondary: var(--pgn-color-secondary-500);
|
|
1447
|
-
--pgn-color-theme-focus-danger: var(--pgn-color-danger-
|
|
1448
|
-
--pgn-color-theme-focus-warning: var(--pgn-color-warning-
|
|
1449
|
-
--pgn-color-theme-focus-info: var(--pgn-color-info-
|
|
1450
|
-
--pgn-color-theme-focus-success: var(--pgn-color-success-
|
|
1451
|
-
--pgn-color-theme-focus-secondary: var(--pgn-color-secondary-
|
|
1447
|
+
--pgn-color-theme-focus-danger: var(--pgn-color-danger-500);
|
|
1448
|
+
--pgn-color-theme-focus-warning: var(--pgn-color-warning-500);
|
|
1449
|
+
--pgn-color-theme-focus-info: var(--pgn-color-info-500);
|
|
1450
|
+
--pgn-color-theme-focus-success: var(--pgn-color-success-500);
|
|
1451
|
+
--pgn-color-theme-focus-secondary: var(--pgn-color-secondary-500);
|
|
1452
1452
|
--pgn-color-theme-border-danger: var(--pgn-color-danger-200);
|
|
1453
1453
|
--pgn-color-theme-border-warning: var(--pgn-color-warning-200);
|
|
1454
1454
|
--pgn-color-theme-border-info: var(--pgn-color-info-200);
|