@lumx/react 2.2.18-alpha-hooks.1 → 2.2.20-alpha-type.1
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/esm/_internal/{alertdialog.1.js → AlertDialog.js} +8 -8
- package/esm/_internal/AlertDialog.js.map +1 -0
- package/esm/_internal/{autocompletemultiple.2.js → AutocompleteMultiple.js} +9 -9
- package/esm/_internal/AutocompleteMultiple.js.map +1 -0
- package/esm/_internal/{avatar.3.js → Avatar2.js} +4 -4
- package/esm/_internal/Avatar2.js.map +1 -0
- package/esm/_internal/{badge.4.js → Badge2.js} +3 -3
- package/esm/_internal/Badge2.js.map +1 -0
- package/esm/_internal/{button.5.js → Button2.js} +5 -5
- package/esm/_internal/Button2.js.map +1 -0
- package/esm/_internal/{buttongroup.7.js → ButtonGroup.js} +3 -3
- package/esm/_internal/ButtonGroup.js.map +1 -0
- package/esm/_internal/{buttonroot.57.js → ButtonRoot.js} +4 -4
- package/esm/_internal/ButtonRoot.js.map +1 -0
- package/esm/_internal/{checkbox.8.js → Checkbox2.js} +10 -8
- package/esm/_internal/Checkbox2.js.map +1 -0
- package/esm/_internal/{chip.9.js → Chip2.js} +3 -3
- package/esm/_internal/Chip2.js.map +1 -0
- package/esm/_internal/{chipgroup.10.js → ChipGroup.js} +3 -3
- package/esm/_internal/ChipGroup.js.map +1 -0
- package/esm/_internal/ClickAwayProvider.js +194 -0
- package/esm/_internal/ClickAwayProvider.js.map +1 -0
- package/esm/_internal/{commentblock.11.js → CommentBlock.js} +5 -5
- package/esm/_internal/CommentBlock.js.map +1 -0
- package/esm/_internal/{datepickerfield.12.js → DatePickerField.js} +27 -20
- package/esm/_internal/DatePickerField.js.map +1 -0
- package/esm/_internal/{dialog.13.js → Dialog2.js} +13 -13
- package/esm/_internal/Dialog2.js.map +1 -0
- package/esm/_internal/{divider.14.js → Divider2.js} +3 -3
- package/esm/_internal/Divider2.js.map +1 -0
- package/esm/_internal/{draghandle.15.js → DragHandle.js} +4 -4
- package/esm/_internal/DragHandle.js.map +1 -0
- package/esm/_internal/{dropdown.16.js → Dropdown2.js} +6 -6
- package/esm/_internal/Dropdown2.js.map +1 -0
- package/esm/_internal/{expansionpanel.17.js → ExpansionPanel.js} +8 -8
- package/esm/_internal/ExpansionPanel.js.map +1 -0
- package/esm/_internal/{flag.18.js → Flag2.js} +4 -4
- package/esm/_internal/Flag2.js.map +1 -0
- package/esm/_internal/{flexbox.19.js → FlexBox.js} +3 -3
- package/esm/_internal/FlexBox.js.map +1 -0
- package/esm/_internal/GenericBlock.js +90 -0
- package/esm/_internal/GenericBlock.js.map +1 -0
- package/esm/_internal/{griditem.20.js → GridItem.js} +3 -3
- package/esm/_internal/GridItem.js.map +1 -0
- package/esm/_internal/{icon.21.js → Icon2.js} +3 -3
- package/esm/_internal/Icon2.js.map +1 -0
- package/esm/_internal/{iconbutton.6.js → IconButton.js} +6 -6
- package/esm/_internal/IconButton.js.map +1 -0
- package/esm/_internal/{imageblock.22.js → ImageBlock.js} +4 -4
- package/esm/_internal/ImageBlock.js.map +1 -0
- package/esm/_internal/{inputhelper.23.js → InputHelper.js} +3 -3
- package/esm/_internal/InputHelper.js.map +1 -0
- package/esm/_internal/{inputlabel.24.js → InputLabel.js} +3 -3
- package/esm/_internal/InputLabel.js.map +1 -0
- package/esm/_internal/{lightbox.25.js → Lightbox2.js} +12 -12
- package/esm/_internal/Lightbox2.js.map +1 -0
- package/esm/_internal/{link.26.js → Link2.js} +5 -5
- package/esm/_internal/Link2.js.map +1 -0
- package/esm/_internal/{linkpreview.27.js → LinkPreview.js} +26 -16
- package/esm/_internal/LinkPreview.js.map +1 -0
- package/esm/_internal/{list.28.js → List2.js} +6 -6
- package/esm/_internal/List2.js.map +1 -0
- package/esm/_internal/{listsubheader.29.js → ListSubheader.js} +3 -3
- package/esm/_internal/ListSubheader.js.map +1 -0
- package/esm/_internal/{message.30.js → Message2.js} +4 -4
- package/esm/_internal/Message2.js.map +1 -0
- package/esm/_internal/{mosaic.31.js → Mosaic2.js} +4 -4
- package/esm/_internal/Mosaic2.js.map +1 -0
- package/esm/_internal/{notification.32.js → Notification2.js} +7 -7
- package/esm/_internal/Notification2.js.map +1 -0
- package/esm/_internal/{popover.33.js → Popover2.js} +51 -15
- package/esm/_internal/Popover2.js.map +1 -0
- package/esm/_internal/{postblock.34.js → PostBlock.js} +5 -5
- package/esm/_internal/PostBlock.js.map +1 -0
- package/esm/_internal/{progress.35.js → Progress2.js} +3 -3
- package/esm/_internal/Progress2.js.map +1 -0
- package/esm/_internal/{progresstrackersteppanel.36.js → ProgressTrackerStepPanel.js} +8 -8
- package/esm/_internal/ProgressTrackerStepPanel.js.map +1 -0
- package/esm/_internal/{radiogroup.37.js → RadioGroup.js} +6 -6
- package/esm/_internal/RadioGroup.js.map +1 -0
- package/esm/_internal/{selectmultiple.38.js → SelectMultiple.js} +28 -16
- package/esm/_internal/SelectMultiple.js.map +1 -0
- package/esm/_internal/{sidenavigationitem.39.js → SideNavigationItem.js} +15 -11
- package/esm/_internal/SideNavigationItem.js.map +1 -0
- package/esm/_internal/{skeletontypography.40.js → SkeletonTypography.js} +3 -3
- package/esm/_internal/SkeletonTypography.js.map +1 -0
- package/esm/_internal/{slider.41.js → Slider2.js} +6 -6
- package/esm/_internal/Slider2.js.map +1 -0
- package/esm/_internal/{slides.42.js → Slides.js} +8 -8
- package/esm/_internal/Slides.js.map +1 -0
- package/esm/_internal/{switch.43.js → Switch2.js} +6 -6
- package/esm/_internal/Switch2.js.map +1 -0
- package/esm/_internal/{tabpanel.45.js → TabPanel.js} +6 -6
- package/esm/_internal/TabPanel.js.map +1 -0
- package/esm/_internal/{tablerow.44.js → TableRow.js} +4 -4
- package/esm/_internal/TableRow.js.map +1 -0
- package/esm/_internal/{textfield.46.js → TextField.js} +9 -9
- package/esm/_internal/TextField.js.map +1 -0
- package/esm/_internal/{thumbnail.47.js → Thumbnail2.js} +6 -6
- package/esm/_internal/Thumbnail2.js.map +1 -0
- package/esm/_internal/{toolbar.49.js → Toolbar2.js} +3 -3
- package/esm/_internal/Toolbar2.js.map +1 -0
- package/esm/_internal/{tooltip.50.js → Tooltip2.js} +17 -19
- package/esm/_internal/Tooltip2.js.map +1 -0
- package/esm/_internal/{uploader.51.js → Uploader2.js} +4 -4
- package/esm/_internal/Uploader2.js.map +1 -0
- package/esm/_internal/{userblock.52.js → UserBlock.js} +14 -7
- package/esm/_internal/UserBlock.js.map +1 -0
- package/esm/_internal/{_rolluppluginbabelhelpers.53.js → _rollupPluginBabelHelpers.js} +1 -1
- package/esm/_internal/_rollupPluginBabelHelpers.js.map +1 -0
- package/esm/_internal/alert-dialog.js +20 -20
- package/esm/_internal/autocomplete.js +22 -22
- package/esm/_internal/avatar.js +6 -6
- package/esm/_internal/badge.js +3 -3
- package/esm/_internal/button.js +16 -16
- package/esm/_internal/checkbox.js +7 -7
- package/esm/_internal/chip.js +4 -4
- package/esm/_internal/comment-block.js +14 -14
- package/esm/_internal/components.js +1 -1
- package/esm/_internal/{constants.59.js → constants.js} +1 -1
- package/esm/_internal/constants.js.map +1 -0
- package/esm/_internal/date-picker.js +20 -20
- package/esm/_internal/dialog.js +13 -13
- package/esm/_internal/divider.js +3 -3
- package/esm/_internal/drag-handle.js +4 -4
- package/esm/_internal/dropdown.js +12 -12
- package/esm/_internal/expansion-panel.js +17 -18
- package/esm/_internal/expansion-panel.js.map +1 -1
- package/esm/_internal/flag.js +4 -4
- package/esm/_internal/flex-box.js +3 -3
- package/esm/_internal/generic-block.js +12 -0
- package/esm/_internal/generic-block.js.map +1 -0
- package/esm/_internal/{getrootclassname.54.js → getRootClassName.js} +2 -2
- package/esm/_internal/getRootClassName.js.map +1 -0
- package/esm/_internal/grid.js +3 -3
- package/esm/_internal/icon.js +3 -3
- package/esm/_internal/image-block.js +6 -6
- package/esm/_internal/input-helper.js +3 -3
- package/esm/_internal/input-label.js +3 -3
- package/esm/_internal/lightbox.js +18 -18
- package/esm/_internal/link-preview.js +8 -8
- package/esm/_internal/link.js +5 -5
- package/esm/_internal/list.js +7 -7
- package/esm/_internal/{mergerefs.56.js → mergeRefs.js} +1 -1
- package/esm/_internal/mergeRefs.js.map +1 -0
- package/esm/_internal/message.js +4 -4
- package/esm/_internal/mosaic.js +6 -6
- package/esm/_internal/notification.js +9 -9
- package/esm/_internal/{partitionmulti.62.js → partitionMulti.js} +1 -1
- package/esm/_internal/partitionMulti.js.map +1 -0
- package/esm/_internal/popover.js +8 -8
- package/esm/_internal/post-block.js +7 -7
- package/esm/_internal/progress-tracker.js +9 -9
- package/esm/_internal/progress.js +3 -3
- package/esm/_internal/radio-button.js +6 -6
- package/esm/_internal/{renderlink.65.js → renderLink.js} +2 -2
- package/esm/_internal/renderLink.js.map +1 -0
- package/esm/_internal/select.js +21 -21
- package/esm/_internal/side-navigation.js +16 -16
- package/esm/_internal/skeleton.js +3 -3
- package/esm/_internal/slider.js +6 -6
- package/esm/_internal/slideshow.js +15 -15
- package/esm/_internal/switch.js +6 -6
- package/esm/_internal/table.js +4 -4
- package/esm/_internal/tabs.js +7 -7
- package/esm/_internal/text-field.js +17 -17
- package/esm/_internal/thumbnail.js +6 -6
- package/esm/_internal/toolbar.js +3 -3
- package/esm/_internal/tooltip.js +10 -10
- package/esm/_internal/{type.64.js → type.js} +1 -1
- package/esm/_internal/type.js.map +1 -0
- package/esm/_internal/{types.48.js → types.js} +3 -2
- package/esm/_internal/types.js.map +1 -0
- package/esm/_internal/uploader.js +4 -4
- package/esm/_internal/{usedelayedvisibility.63.js → useDelayedVisibility.js} +2 -2
- package/esm/_internal/useDelayedVisibility.js.map +1 -0
- package/esm/_internal/{usedisablebodyscroll.61.js → useDisableBodyScroll.js} +1 -1
- package/esm/_internal/useDisableBodyScroll.js.map +1 -0
- package/esm/_internal/useFocusTrap.js +86 -0
- package/esm/_internal/useFocusTrap.js.map +1 -0
- package/esm/_internal/{userovingtabindex.66.js → useRovingTabIndex.js} +3 -3
- package/esm/_internal/useRovingTabIndex.js.map +1 -0
- package/esm/_internal/user-block.js +10 -9
- package/esm/_internal/user-block.js.map +1 -1
- package/esm/index.js +91 -0
- package/{index.js.map → esm/index.js.map} +1 -1
- package/esm/{_internal/index.55.js → index2.js} +1 -1
- package/esm/index2.js.map +1 -0
- package/package.json +9 -12
- package/src/components/autocomplete/Autocomplete.tsx +4 -4
- package/src/components/button/Button.stories.tsx +1 -0
- package/src/components/button/ButtonRoot.tsx +4 -4
- package/src/components/checkbox/Checkbox.tsx +2 -1
- package/src/components/checkbox/__snapshots__/Checkbox.test.tsx.snap +4 -0
- package/src/components/date-picker/DatePickerField.tsx +15 -16
- package/src/components/date-picker/types.ts +2 -2
- package/src/components/dialog/Dialog.stories.tsx +61 -14
- package/src/components/dialog/Dialog.tsx +3 -3
- package/src/components/dialog/__snapshots__/Dialog.test.tsx.snap +167 -91
- package/src/components/dropdown/Dropdown.tsx +4 -3
- package/src/components/generic-block/GenericBlock.stories.tsx +149 -0
- package/src/components/generic-block/GenericBlock.test.tsx +28 -0
- package/src/components/generic-block/GenericBlock.tsx +120 -0
- package/src/components/generic-block/__snapshots__/GenericBlock.test.tsx.snap +92 -0
- package/src/components/generic-block/index.ts +1 -0
- package/src/components/lightbox/Lightbox.tsx +1 -1
- package/src/components/link-preview/LinkPreview.test.tsx +50 -55
- package/src/components/link-preview/LinkPreview.tsx +43 -16
- package/src/components/popover/Popover.tsx +20 -4
- package/src/components/select/Select.stories.tsx +2 -0
- package/src/components/select/Select.tsx +11 -1
- package/src/components/select/SelectMultiple.stories.tsx +2 -0
- package/src/components/select/SelectMultiple.tsx +11 -1
- package/src/components/select/constants.ts +2 -0
- package/src/components/side-navigation/SideNavigation.stories.tsx +26 -0
- package/src/components/side-navigation/SideNavigationItem.test.tsx +19 -2
- package/src/components/side-navigation/SideNavigationItem.tsx +10 -2
- package/src/components/side-navigation/__snapshots__/SideNavigationItem.test.tsx.snap +1 -1
- package/src/components/table/__snapshots__/Table.test.tsx.snap +5 -0
- package/src/components/text-field/TextField.tsx +4 -4
- package/src/components/thumbnail/Thumbnail.tsx +2 -2
- package/src/components/thumbnail/index.ts +1 -0
- package/src/components/tooltip/Tooltip.tsx +2 -5
- package/src/components/tooltip/useTooltipOpen.tsx +7 -4
- package/src/components/user-block/UserBlock.stories.tsx +4 -4
- package/src/components/user-block/UserBlock.tsx +9 -3
- package/src/components/user-block/__snapshots__/UserBlock.test.tsx.snap +51 -8
- package/src/hooks/useBooleanState.tsx +4 -10
- package/src/hooks/useCallbackOnEscape.ts +21 -13
- package/src/hooks/useFocusTrap.ts +67 -76
- package/src/index.ts +1 -0
- package/src/stories/generated/Dialog/Demos.stories.tsx +1 -0
- package/src/stories/generated/GenericBlock/Demos.stories.tsx +6 -0
- package/src/utils/focus/getFirstAndLastFocusable.test.ts +134 -0
- package/src/utils/focus/getFirstAndLastFocusable.ts +27 -0
- package/src/utils/makeListenerTowerContext.ts +32 -0
- package/src/utils/type.ts +3 -0
- package/{index.d.ts → types.d.ts} +82 -22
- package/esm/_internal/_rolluppluginbabelhelpers.53.js.map +0 -1
- package/esm/_internal/alertdialog.1.js.map +0 -1
- package/esm/_internal/autocompletemultiple.2.js.map +0 -1
- package/esm/_internal/avatar.3.js.map +0 -1
- package/esm/_internal/badge.4.js.map +0 -1
- package/esm/_internal/button.5.js.map +0 -1
- package/esm/_internal/buttongroup.7.js.map +0 -1
- package/esm/_internal/buttonroot.57.js.map +0 -1
- package/esm/_internal/checkbox.8.js.map +0 -1
- package/esm/_internal/chip.9.js.map +0 -1
- package/esm/_internal/chipgroup.10.js.map +0 -1
- package/esm/_internal/clickawayprovider.60.js +0 -116
- package/esm/_internal/clickawayprovider.60.js.map +0 -1
- package/esm/_internal/commentblock.11.js.map +0 -1
- package/esm/_internal/constants.59.js.map +0 -1
- package/esm/_internal/datepickerfield.12.js.map +0 -1
- package/esm/_internal/dialog.13.js.map +0 -1
- package/esm/_internal/divider.14.js.map +0 -1
- package/esm/_internal/draghandle.15.js.map +0 -1
- package/esm/_internal/dropdown.16.js.map +0 -1
- package/esm/_internal/expansionpanel.17.js.map +0 -1
- package/esm/_internal/flag.18.js.map +0 -1
- package/esm/_internal/flexbox.19.js.map +0 -1
- package/esm/_internal/getrootclassname.54.js.map +0 -1
- package/esm/_internal/griditem.20.js.map +0 -1
- package/esm/_internal/icon.21.js.map +0 -1
- package/esm/_internal/iconbutton.6.js.map +0 -1
- package/esm/_internal/imageblock.22.js.map +0 -1
- package/esm/_internal/index.55.js.map +0 -1
- package/esm/_internal/inputhelper.23.js.map +0 -1
- package/esm/_internal/inputlabel.24.js.map +0 -1
- package/esm/_internal/lightbox.25.js.map +0 -1
- package/esm/_internal/link.26.js.map +0 -1
- package/esm/_internal/linkpreview.27.js.map +0 -1
- package/esm/_internal/list.28.js.map +0 -1
- package/esm/_internal/listsubheader.29.js.map +0 -1
- package/esm/_internal/mergerefs.56.js.map +0 -1
- package/esm/_internal/message.30.js.map +0 -1
- package/esm/_internal/mosaic.31.js.map +0 -1
- package/esm/_internal/notification.32.js.map +0 -1
- package/esm/_internal/partitionmulti.62.js.map +0 -1
- package/esm/_internal/popover.33.js.map +0 -1
- package/esm/_internal/postblock.34.js.map +0 -1
- package/esm/_internal/progress.35.js.map +0 -1
- package/esm/_internal/progresstrackersteppanel.36.js.map +0 -1
- package/esm/_internal/radiogroup.37.js.map +0 -1
- package/esm/_internal/renderlink.65.js.map +0 -1
- package/esm/_internal/selectmultiple.38.js.map +0 -1
- package/esm/_internal/sidenavigationitem.39.js.map +0 -1
- package/esm/_internal/skeletontypography.40.js.map +0 -1
- package/esm/_internal/slider.41.js.map +0 -1
- package/esm/_internal/slides.42.js.map +0 -1
- package/esm/_internal/switch.43.js.map +0 -1
- package/esm/_internal/tablerow.44.js.map +0 -1
- package/esm/_internal/tabpanel.45.js.map +0 -1
- package/esm/_internal/textfield.46.js.map +0 -1
- package/esm/_internal/thumbnail.47.js.map +0 -1
- package/esm/_internal/toolbar.49.js.map +0 -1
- package/esm/_internal/tooltip.50.js.map +0 -1
- package/esm/_internal/type.64.js.map +0 -1
- package/esm/_internal/types.48.js.map +0 -1
- package/esm/_internal/uploader.51.js.map +0 -1
- package/esm/_internal/usedelayedvisibility.63.js.map +0 -1
- package/esm/_internal/usedisablebodyscroll.61.js.map +0 -1
- package/esm/_internal/usefocustrap.58.js +0 -93
- package/esm/_internal/usefocustrap.58.js.map +0 -1
- package/esm/_internal/userblock.52.js.map +0 -1
- package/esm/_internal/userovingtabindex.66.js.map +0 -1
- package/hooks/useFocusWithin.d.ts +0 -16
- package/hooks/useFocusWithin.js +0 -28
- package/hooks/useFocusWithin.js.map +0 -1
- package/index.js +0 -90
- package/src/components/link-preview/__snapshots__/LinkPreview.test.tsx.snap +0 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message2.js","sources":["../../../src/components/message/Message.tsx"],"sourcesContent":["import { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiInformation } from '@lumx/icons';\nimport { ColorPalette, Icon, Kind, Size } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport classNames from 'classnames';\nimport React, { forwardRef, ReactNode } from 'react';\n\n/**\n * Defines the props of the component.\n */\nexport interface MessageProps extends GenericProps {\n /** Content. */\n children?: ReactNode;\n /** Whether the message has a background or not. */\n hasBackground?: boolean;\n /** Message variant. */\n kind?: Kind;\n /** Message custom icon SVG path. */\n icon?: string;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Message';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Associative map from message kind to color and icon.\n */\nconst CONFIG = {\n [Kind.error]: { color: ColorPalette.red, icon: mdiAlert },\n [Kind.info]: { color: ColorPalette.dark, icon: mdiInformation },\n [Kind.success]: { color: ColorPalette.green, icon: mdiCheckCircle },\n [Kind.warning]: { color: ColorPalette.yellow, icon: mdiAlertCircle },\n};\n\n/**\n * Message component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Message: Comp<MessageProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, hasBackground, kind, icon: customIcon, ...forwardedProps } = props;\n const { color, icon } = CONFIG[kind as Kind] || {};\n\n return (\n <div\n ref={ref}\n className={classNames(\n className,\n handleBasicClasses({\n color,\n hasBackground,\n prefix: CLASSNAME,\n }),\n )}\n {...forwardedProps}\n >\n {(customIcon || icon) && (\n <Icon className={`${CLASSNAME}__icon`} icon={customIcon || icon} size={Size.xs} color={color} />\n )}\n <div className={`${CLASSNAME}__text`}>{children}</div>\n </div>\n );\n});\nMessage.displayName = COMPONENT_NAME;\nMessage.className = CLASSNAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","CONFIG","Kind","error","color","ColorPalette","red","icon","mdiAlert","info","dark","mdiInformation","success","green","mdiCheckCircle","warning","yellow","mdiAlertCircle","Message","forwardRef","props","ref","children","className","hasBackground","kind","customIcon","forwardedProps","classNames","handleBasicClasses","prefix","Size","xs","displayName"],"mappings":";;;;;;;AAMA;;;;AAcA;;;AAGA,IAAMA,cAAc,GAAG,SAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,MAAM,2CACPC,IAAI,CAACC,KADE,EACM;AAAEC,EAAAA,KAAK,EAAEC,YAAY,CAACC,GAAtB;AAA2BC,EAAAA,IAAI,EAAEC;AAAjC,CADN,4BAEPN,IAAI,CAACO,IAFE,EAEK;AAAEL,EAAAA,KAAK,EAAEC,YAAY,CAACK,IAAtB;AAA4BH,EAAAA,IAAI,EAAEI;AAAlC,CAFL,4BAGPT,IAAI,CAACU,OAHE,EAGQ;AAAER,EAAAA,KAAK,EAAEC,YAAY,CAACQ,KAAtB;AAA6BN,EAAAA,IAAI,EAAEO;AAAnC,CAHR,4BAIPZ,IAAI,CAACa,OAJE,EAIQ;AAAEX,EAAAA,KAAK,EAAEC,YAAY,CAACW,MAAtB;AAA8BT,EAAAA,IAAI,EAAEU;AAApC,CAJR,WAAZ;AAOA;;;;;;;;IAOaC,OAA2C,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAC1EC,QAD0E,GACQF,KADR,CAC1EE,QAD0E;AAAA,MAChEC,SADgE,GACQH,KADR,CAChEG,SADgE;AAAA,MACrDC,aADqD,GACQJ,KADR,CACrDI,aADqD;AAAA,MACtCC,IADsC,GACQL,KADR,CACtCK,IADsC;AAAA,MAC1BC,UAD0B,GACQN,KADR,CAChCb,IADgC;AAAA,MACXoB,cADW,4BACQP,KADR;;AAAA,aAE1DnB,MAAM,CAACwB,IAAD,CAAN,IAAwB,EAFkC;AAAA,MAE1ErB,KAF0E,QAE1EA,KAF0E;AAAA,MAEnEG,IAFmE,QAEnEA,IAFmE;;AAIlF,SACI;AACI,IAAA,GAAG,EAAEc,GADT;AAEI,IAAA,SAAS,EAAEO,UAAU,CACjBL,SADiB,EAEjBM,kBAAkB,CAAC;AACfzB,MAAAA,KAAK,EAALA,KADe;AAEfoB,MAAAA,aAAa,EAAbA,aAFe;AAGfM,MAAAA,MAAM,EAAE/B;AAHO,KAAD,CAFD;AAFzB,KAUQ4B,cAVR,GAYK,CAACD,UAAU,IAAInB,IAAf,KACG,oBAAC,IAAD;AAAM,IAAA,SAAS,YAAKR,SAAL,WAAf;AAAuC,IAAA,IAAI,EAAE2B,UAAU,IAAInB,IAA3D;AAAiE,IAAA,IAAI,EAAEwB,IAAI,CAACC,EAA5E;AAAgF,IAAA,KAAK,EAAE5B;AAAvF,IAbR,EAeI;AAAK,IAAA,SAAS,YAAKL,SAAL;AAAd,KAAuCuB,QAAvC,CAfJ,CADJ;AAmBH,CAvBoE;AAwBrEJ,OAAO,CAACe,WAAR,GAAsBnC,cAAtB;AACAoB,OAAO,CAACK,SAAR,GAAoBxB,SAApB;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { b as _objectWithoutProperties, c as _extends, a as _defineProperty } from './
|
|
1
|
+
import { b as _objectWithoutProperties, c as _extends, a as _defineProperty } from './_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { Alignment, AspectRatio, Theme } from './components.js';
|
|
3
3
|
import React, { forwardRef, useMemo } from 'react';
|
|
4
|
-
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './
|
|
4
|
+
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getRootClassName.js';
|
|
5
5
|
import take from 'lodash/take';
|
|
6
|
-
import { T as Thumbnail } from './
|
|
6
|
+
import { T as Thumbnail } from './Thumbnail2.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Defines the props of the component.
|
|
@@ -86,4 +86,4 @@ Mosaic.className = CLASSNAME;
|
|
|
86
86
|
Mosaic.defaultProps = DEFAULT_PROPS;
|
|
87
87
|
|
|
88
88
|
export { Mosaic as M };
|
|
89
|
-
//# sourceMappingURL=
|
|
89
|
+
//# sourceMappingURL=Mosaic2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mosaic2.js","sources":["../../../src/components/mosaic/Mosaic.tsx"],"sourcesContent":["import React, { forwardRef, MouseEventHandler, useMemo } from 'react';\n\nimport { Alignment, AspectRatio, Theme, Thumbnail, ThumbnailProps } from '@lumx/react';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\nimport classNames from 'classnames';\nimport take from 'lodash/take';\n\n/**\n * Defines the props of the component.\n */\nexport interface MosaicProps extends GenericProps {\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Thumbnails. */\n thumbnails: ThumbnailProps[];\n /** On image click callback. */\n onImageClick?(index: number): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Mosaic';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<MosaicProps> = {\n theme: Theme.light,\n};\n\n/**\n * Mosaic component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Mosaic: Comp<MosaicProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { className, theme, thumbnails, onImageClick, ...forwardedProps } = props;\n const handleImageClick = useMemo(() => {\n if (!onImageClick) return undefined;\n\n return (index: number, onClick?: MouseEventHandler): MouseEventHandler => (event) => {\n onClick?.(event);\n onImageClick?.(index);\n };\n }, [onImageClick]);\n\n return (\n <div\n ref={ref}\n {...forwardedProps}\n className={classNames(className, handleBasicClasses({ prefix: CLASSNAME, theme }), {\n [`${CLASSNAME}--has-1-thumbnail`]: thumbnails?.length === 1,\n [`${CLASSNAME}--has-2-thumbnails`]: thumbnails?.length === 2,\n [`${CLASSNAME}--has-3-thumbnails`]: thumbnails?.length === 3,\n [`${CLASSNAME}--has-4-thumbnails`]: thumbnails?.length >= 4,\n })}\n >\n <div className={`${CLASSNAME}__wrapper`}>\n {take(thumbnails, 4).map((thumbnail: any, index: number) => {\n const { image, onClick, align, ...thumbnailProps } = thumbnail;\n\n return (\n <div key={index} className={`${CLASSNAME}__thumbnail`}>\n <Thumbnail\n {...thumbnailProps}\n align={align || Alignment.left}\n image={image}\n theme={theme}\n aspectRatio={AspectRatio.free}\n fillHeight\n onClick={handleImageClick?.(index, onClick) || onClick}\n />\n\n {thumbnails.length > 4 && index === 3 && (\n <div className={`${CLASSNAME}__overlay`}>\n <span>+{thumbnails.length - 4}</span>\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n});\nMosaic.displayName = COMPONENT_NAME;\nMosaic.className = CLASSNAME;\nMosaic.defaultProps = DEFAULT_PROPS;\n"],"names":["COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","theme","Theme","light","Mosaic","forwardRef","props","ref","className","thumbnails","onImageClick","forwardedProps","handleImageClick","useMemo","undefined","index","onClick","event","classNames","handleBasicClasses","prefix","length","take","map","thumbnail","image","align","thumbnailProps","Alignment","left","AspectRatio","free","displayName","defaultProps"],"mappings":";;;;;;;AAOA;;;;AAYA;;;AAGA,IAAMA,cAAc,GAAG,QAAvB;AAEA;;;;AAGA,IAAMC,SAAS,GAAGC,gBAAgB,CAACF,cAAD,CAAlC;AAEA;;;;AAGA,IAAMG,aAAmC,GAAG;AACxCC,EAAAA,KAAK,EAAEC,KAAK,CAACC;AAD2B,CAA5C;AAIA;;;;;;;;IAOaC,MAAyC,GAAGC,UAAU,CAAC,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA;;AAAA,MACxEC,SADwE,GACNF,KADM,CACxEE,SADwE;AAAA,MAC7DP,KAD6D,GACNK,KADM,CAC7DL,KAD6D;AAAA,MACtDQ,UADsD,GACNH,KADM,CACtDG,UADsD;AAAA,MAC1CC,YAD0C,GACNJ,KADM,CAC1CI,YAD0C;AAAA,MACzBC,cADyB,4BACNL,KADM;;AAEhF,MAAMM,gBAAgB,GAAGC,OAAO,CAAC,YAAM;AACnC,QAAI,CAACH,YAAL,EAAmB,OAAOI,SAAP;AAEnB,WAAO,UAACC,KAAD,EAAgBC,OAAhB;AAAA,aAAmE,UAACC,KAAD,EAAW;AACjFD,QAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGC,KAAH,CAAP;AACAP,QAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGK,KAAH,CAAZ;AACH,OAHM;AAAA,KAAP;AAIH,GAP+B,EAO7B,CAACL,YAAD,CAP6B,CAAhC;AASA,SACI;AACI,IAAA,GAAG,EAAEH;AADT,KAEQI,cAFR;AAGI,IAAA,SAAS,EAAEO,UAAU,CAACV,SAAD,EAAYW,kBAAkB,CAAC;AAAEC,MAAAA,MAAM,EAAEtB,SAAV;AAAqBG,MAAAA,KAAK,EAALA;AAArB,KAAD,CAA9B,4DACbH,SADa,wBACkB,CAAAW,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEY,MAAZ,MAAuB,CADzC,0CAEbvB,SAFa,yBAEmB,CAAAW,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEY,MAAZ,MAAuB,CAF1C,0CAGbvB,SAHa,yBAGmB,CAAAW,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEY,MAAZ,MAAuB,CAH1C,0CAIbvB,SAJa,yBAImB,CAAAW,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEY,MAAZ,KAAsB,CAJzC;AAHzB,MAUI;AAAK,IAAA,SAAS,YAAKvB,SAAL;AAAd,KACKwB,IAAI,CAACb,UAAD,EAAa,CAAb,CAAJ,CAAoBc,GAApB,CAAwB,UAACC,SAAD,EAAiBT,KAAjB,EAAmC;AAAA,QAChDU,KADgD,GACHD,SADG,CAChDC,KADgD;AAAA,QACzCT,OADyC,GACHQ,SADG,CACzCR,OADyC;AAAA,QAChCU,KADgC,GACHF,SADG,CAChCE,KADgC;AAAA,QACtBC,cADsB,4BACHH,SADG;;AAGxD,WACI;AAAK,MAAA,GAAG,EAAET,KAAV;AAAiB,MAAA,SAAS,YAAKjB,SAAL;AAA1B,OACI,oBAAC,SAAD,eACQ6B,cADR;AAEI,MAAA,KAAK,EAAED,KAAK,IAAIE,SAAS,CAACC,IAF9B;AAGI,MAAA,KAAK,EAAEJ,KAHX;AAII,MAAA,KAAK,EAAExB,KAJX;AAKI,MAAA,WAAW,EAAE6B,WAAW,CAACC,IAL7B;AAMI,MAAA,UAAU,MANd;AAOI,MAAA,OAAO,EAAE,CAAAnB,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAGG,KAAH,EAAUC,OAAV,CAAhB,KAAsCA;AAPnD,OADJ,EAWKP,UAAU,CAACY,MAAX,GAAoB,CAApB,IAAyBN,KAAK,KAAK,CAAnC,IACG;AAAK,MAAA,SAAS,YAAKjB,SAAL;AAAd,OACI,uCAAQW,UAAU,CAACY,MAAX,GAAoB,CAA5B,CADJ,CAZR,CADJ;AAmBH,GAtBA,CADL,CAVJ,CADJ;AAsCH,CAjDkE;AAkDnEjB,MAAM,CAAC4B,WAAP,GAAqBnC,cAArB;AACAO,MAAM,CAACI,SAAP,GAAmBV,SAAnB;AACAM,MAAM,CAAC6B,YAAP,GAAsBjC,aAAtB;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { b as _objectWithoutProperties, c as _extends } from './
|
|
1
|
+
import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { Size, Emphasis, Theme } from './components.js';
|
|
3
3
|
import React, { forwardRef } from 'react';
|
|
4
|
-
import { g as getRootClassName, c as classnames, h as handleBasicClasses, N as NOTIFICATION_TRANSITION_DURATION } from './
|
|
5
|
-
import { m as mdiAlert, a as mdiInformation, b as mdiCheckCircle, c as mdiAlertCircle, I as Icon } from './
|
|
6
|
-
import { D as DOCUMENT } from './constants.
|
|
7
|
-
import { a as Button } from './
|
|
4
|
+
import { g as getRootClassName, c as classnames, h as handleBasicClasses, N as NOTIFICATION_TRANSITION_DURATION } from './getRootClassName.js';
|
|
5
|
+
import { m as mdiAlert, a as mdiInformation, b as mdiCheckCircle, c as mdiAlertCircle, I as Icon } from './Icon2.js';
|
|
6
|
+
import { D as DOCUMENT } from './constants.js';
|
|
7
|
+
import { a as Button } from './Button2.js';
|
|
8
8
|
import isFunction from 'lodash/isFunction';
|
|
9
9
|
import { createPortal } from 'react-dom';
|
|
10
|
-
import { u as useDelayedVisibility } from './
|
|
10
|
+
import { u as useDelayedVisibility } from './useDelayedVisibility.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Notification icon and colors according to their type.
|
|
@@ -130,4 +130,4 @@ Notification.className = CLASSNAME;
|
|
|
130
130
|
Notification.defaultProps = DEFAULT_PROPS;
|
|
131
131
|
|
|
132
132
|
export { Notification as N };
|
|
133
|
-
//# sourceMappingURL=
|
|
133
|
+
//# sourceMappingURL=Notification2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Notification2.js","sources":["../../../src/components/notification/constants.ts","../../../src/components/notification/Notification.tsx"],"sourcesContent":["import { mdiAlert, mdiAlertCircle, mdiCheckCircle, mdiInformation } from '@lumx/icons';\n\n/**\n * Notification delay before hiding.\n */\nexport const HIDE_DELAY = 6000;\n\n/**\n * Notification icon and colors according to their type.\n */\nexport const NOTIFICATION_CONFIGURATION = {\n error: {\n color: 'red',\n icon: mdiAlert,\n },\n info: {\n color: 'dark',\n icon: mdiInformation,\n },\n success: {\n color: 'green',\n icon: mdiCheckCircle,\n },\n warning: {\n color: 'yellow',\n icon: mdiAlertCircle,\n },\n};\n","import React, { forwardRef } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport classNames from 'classnames';\n\nimport isFunction from 'lodash/isFunction';\n\nimport { Button, Emphasis, Icon, Kind, Size, Theme } from '@lumx/react';\n\nimport { DOCUMENT, NOTIFICATION_TRANSITION_DURATION } from '@lumx/react/constants';\nimport { NOTIFICATION_CONFIGURATION } from '@lumx/react/components/notification/constants';\nimport { Comp, GenericProps, getRootClassName, handleBasicClasses } from '@lumx/react/utils';\n\nimport { useDelayedVisibility } from '@lumx/react/hooks/useDelayedVisibility';\n\n/**\n * Defines the props of the component.\n */\nexport interface NotificationProps extends GenericProps {\n /** Action button label. */\n actionLabel?: string;\n /** Content. */\n content?: React.ReactNode;\n /** Whether the component is open or not. */\n isOpen?: boolean;\n /** Theme adapting the component to light or dark background. */\n theme?: Theme;\n /** Notification type. */\n type?: Kind;\n /** Z-axis position. */\n zIndex?: number;\n /** On action button click callback. */\n onActionClick?(): void;\n /** On click callback. */\n onClick?(): void;\n}\n\n/**\n * Component display name.\n */\nconst COMPONENT_NAME = 'Notification';\n\n/**\n * Component default class name and class prefix.\n */\nconst CLASSNAME = getRootClassName(COMPONENT_NAME);\n\n/**\n * Component default props.\n */\nconst DEFAULT_PROPS: Partial<NotificationProps> = {\n theme: Theme.light,\n zIndex: 9999,\n};\n\n/* eslint-disable react-hooks/rules-of-hooks, jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */\n/**\n * Notification component.\n *\n * @param props Component props.\n * @param ref Component ref.\n * @return React element.\n */\nexport const Notification: Comp<NotificationProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n actionLabel,\n className,\n content,\n isOpen,\n onActionClick,\n onClick,\n theme,\n type,\n zIndex,\n ...forwardedProps\n } = props;\n if (!DOCUMENT) {\n // Can't render in SSR.\n return null;\n }\n const { color, icon } = NOTIFICATION_CONFIGURATION[type as Kind] || {};\n const isVisible = useDelayedVisibility(!!isOpen, NOTIFICATION_TRANSITION_DURATION);\n const hasAction: boolean = Boolean(onActionClick) && Boolean(actionLabel);\n\n const handleCallback = (evt: React.MouseEvent) => {\n if (isFunction(onActionClick)) {\n onActionClick();\n }\n evt.stopPropagation();\n };\n\n return type && isVisible\n ? createPortal(\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n <div\n ref={ref}\n role=\"alert\"\n {...forwardedProps}\n className={classNames(\n className,\n handleBasicClasses({\n color,\n hasAction,\n isHidden: !isOpen,\n prefix: CLASSNAME,\n }),\n )}\n onClick={onClick}\n style={{ zIndex }}\n >\n <div className={`${CLASSNAME}__icon`}>\n <Icon icon={icon} size={Size.s} />\n </div>\n <div className={`${CLASSNAME}__content`}>{content}</div>\n {hasAction && (\n <div className={`${CLASSNAME}__action`}>\n <Button emphasis={Emphasis.medium} theme={theme} onClick={handleCallback}>\n <span>{actionLabel}</span>\n </Button>\n </div>\n )}\n </div>,\n document.body,\n )\n : null;\n});\nNotification.displayName = COMPONENT_NAME;\nNotification.className = CLASSNAME;\nNotification.defaultProps = DEFAULT_PROPS;\n"],"names":["NOTIFICATION_CONFIGURATION","error","color","icon","mdiAlert","info","mdiInformation","success","mdiCheckCircle","warning","mdiAlertCircle","COMPONENT_NAME","CLASSNAME","getRootClassName","DEFAULT_PROPS","theme","Theme","light","zIndex","Notification","forwardRef","props","ref","actionLabel","className","content","isOpen","onActionClick","onClick","type","forwardedProps","DOCUMENT","isVisible","useDelayedVisibility","NOTIFICATION_TRANSITION_DURATION","hasAction","Boolean","handleCallback","evt","isFunction","stopPropagation","createPortal","classNames","handleBasicClasses","isHidden","prefix","Size","s","Emphasis","medium","document","body","displayName","defaultProps"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { d as _slicedToArray, b as _objectWithoutProperties, _ as _objectSpread2, c as _extends } from './
|
|
2
|
-
import React, { useState, useEffect, useLayoutEffect, useRef, useMemo, forwardRef } from 'react';
|
|
3
|
-
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './
|
|
4
|
-
import { D as DOCUMENT, W as WINDOW } from './constants.
|
|
5
|
-
import { m as mergeRefs } from './
|
|
1
|
+
import { d as _slicedToArray, b as _objectWithoutProperties, _ as _objectSpread2, c as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React, { useState, useEffect, useLayoutEffect, useRef, useMemo, forwardRef, useCallback } from 'react';
|
|
3
|
+
import { g as getRootClassName, c as classnames, h as handleBasicClasses } from './getRootClassName.js';
|
|
4
|
+
import { D as DOCUMENT, W as WINDOW } from './constants.js';
|
|
5
|
+
import { m as mergeRefs } from './mergeRefs.js';
|
|
6
|
+
import { g as getFirstAndLastFocusable, u as useCallbackOnEscape, C as ClickAwayProvider } from './ClickAwayProvider.js';
|
|
6
7
|
import { createPortal } from 'react-dom';
|
|
7
|
-
import { u as useCallbackOnEscape, C as ClickAwayProvider } from './clickawayprovider.60.js';
|
|
8
|
-
import { useFocusWithin } from '../../hooks/useFocusWithin.js';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
10
|
* Hook focusing an element when defined and `focus` boolean `true`.
|
|
@@ -2115,6 +2114,30 @@ var usePopper = function usePopper(referenceElement, popperElement, options) {
|
|
|
2115
2114
|
};
|
|
2116
2115
|
};
|
|
2117
2116
|
|
|
2117
|
+
/**
|
|
2118
|
+
* Hook that allows to control when there is a focus event within a given element, meaning
|
|
2119
|
+
* that any element within the given target will trigger the focus in and focus out events.
|
|
2120
|
+
* @param options - UseFocusWithinOptions
|
|
2121
|
+
*/
|
|
2122
|
+
var useFocusWithin = function useFocusWithin(_ref) {
|
|
2123
|
+
var element = _ref.element,
|
|
2124
|
+
onFocusIn = _ref.onFocusIn,
|
|
2125
|
+
onFocusOut = _ref.onFocusOut;
|
|
2126
|
+
useEffect(function () {
|
|
2127
|
+
if (element) {
|
|
2128
|
+
element.addEventListener('focusin', onFocusIn);
|
|
2129
|
+
element.addEventListener('focusout', onFocusOut);
|
|
2130
|
+
}
|
|
2131
|
+
|
|
2132
|
+
return function () {
|
|
2133
|
+
if (element) {
|
|
2134
|
+
element.removeEventListener('focusin', onFocusIn);
|
|
2135
|
+
element.removeEventListener('focusout', onFocusOut);
|
|
2136
|
+
}
|
|
2137
|
+
};
|
|
2138
|
+
}, [onFocusIn, element, onFocusOut]);
|
|
2139
|
+
};
|
|
2140
|
+
|
|
2118
2141
|
/**
|
|
2119
2142
|
* Different possible placements for the popover.
|
|
2120
2143
|
*/
|
|
@@ -2272,13 +2295,14 @@ var Popover = forwardRef(function (props, ref) {
|
|
|
2272
2295
|
isOpen = props.isOpen,
|
|
2273
2296
|
offset = props.offset,
|
|
2274
2297
|
onClose = props.onClose,
|
|
2298
|
+
parentElement = props.parentElement,
|
|
2275
2299
|
placement = props.placement,
|
|
2276
2300
|
style = props.style,
|
|
2277
2301
|
usePortal = props.usePortal,
|
|
2278
2302
|
zIndex = props.zIndex,
|
|
2279
2303
|
_props$focusAnchorOnC = props.focusAnchorOnClose,
|
|
2280
2304
|
focusAnchorOnClose = _props$focusAnchorOnC === void 0 ? true : _props$focusAnchorOnC,
|
|
2281
|
-
forwardedProps = _objectWithoutProperties(props, ["anchorRef", "boundaryRef", "children", "className", "closeOnClickAway", "closeOnEscape", "elevation", "fitToAnchorWidth", "fitWithinViewportHeight", "focusElement", "hasArrow", "isOpen", "offset", "onClose", "placement", "style", "usePortal", "zIndex", "focusAnchorOnClose"]); // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
2305
|
+
forwardedProps = _objectWithoutProperties(props, ["anchorRef", "boundaryRef", "children", "className", "closeOnClickAway", "closeOnEscape", "elevation", "fitToAnchorWidth", "fitWithinViewportHeight", "focusElement", "hasArrow", "isOpen", "offset", "onClose", "parentElement", "placement", "style", "usePortal", "zIndex", "focusAnchorOnClose"]); // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
2282
2306
|
|
|
2283
2307
|
|
|
2284
2308
|
var _useState = useState(),
|
|
@@ -2312,8 +2336,9 @@ var Popover = forwardRef(function (props, ref) {
|
|
|
2312
2336
|
}
|
|
2313
2337
|
});
|
|
2314
2338
|
/** Action on close */
|
|
2339
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
2315
2340
|
|
|
2316
|
-
var handleClose = function
|
|
2341
|
+
var handleClose = useCallback(function () {
|
|
2317
2342
|
if (!onClose) {
|
|
2318
2343
|
return;
|
|
2319
2344
|
}
|
|
@@ -2325,14 +2350,25 @@ var Popover = forwardRef(function (props, ref) {
|
|
|
2325
2350
|
|
|
2326
2351
|
|
|
2327
2352
|
if (isFocusedWithin.current && focusAnchorOnClose) {
|
|
2328
|
-
|
|
2353
|
+
if (parentElement === null || parentElement === void 0 ? void 0 : parentElement.current) {
|
|
2354
|
+
parentElement === null || parentElement === void 0 ? void 0 : parentElement.current.focus();
|
|
2355
|
+
}
|
|
2329
2356
|
|
|
2330
|
-
|
|
2357
|
+
var firstFocusable = (anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) && getFirstAndLastFocusable(anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current).first;
|
|
2358
|
+
|
|
2359
|
+
if (firstFocusable) {
|
|
2360
|
+
// Focus the first focusable element in anchor.
|
|
2361
|
+
firstFocusable.focus();
|
|
2362
|
+
} else {
|
|
2363
|
+
var _anchorRef$current;
|
|
2364
|
+
|
|
2365
|
+
// Fallback on the anchor element.
|
|
2366
|
+
anchorRef === null || anchorRef === void 0 ? void 0 : (_anchorRef$current = anchorRef.current) === null || _anchorRef$current === void 0 ? void 0 : _anchorRef$current.focus();
|
|
2367
|
+
}
|
|
2331
2368
|
}
|
|
2332
2369
|
|
|
2333
2370
|
onClose();
|
|
2334
|
-
};
|
|
2335
|
-
|
|
2371
|
+
}, [anchorRef, focusAnchorOnClose, onClose, parentElement]);
|
|
2336
2372
|
var modifiers = [];
|
|
2337
2373
|
var actualOffset = [(_ref5 = offset === null || offset === void 0 ? void 0 : offset.along) !== null && _ref5 !== void 0 ? _ref5 : 0, ((_ref6 = offset === null || offset === void 0 ? void 0 : offset.away) !== null && _ref6 !== void 0 ? _ref6 : 0) + (hasArrow ? ARROW_SIZE : 0)];
|
|
2338
2374
|
modifiers.push({
|
|
@@ -2433,5 +2469,5 @@ Popover.displayName = COMPONENT_NAME;
|
|
|
2433
2469
|
Popover.className = CLASSNAME;
|
|
2434
2470
|
Popover.defaultProps = DEFAULT_PROPS;
|
|
2435
2471
|
|
|
2436
|
-
export { Placement as P, Popover as a,
|
|
2437
|
-
//# sourceMappingURL=
|
|
2472
|
+
export { Placement as P, Popover as a, useFocusWithin as b, usePopper as c, useFocus as u };
|
|
2473
|
+
//# sourceMappingURL=Popover2.js.map
|