@dnb/eufemia 9.32.0 → 9.33.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/CHANGELOG.md +39 -0
- package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
- package/assets/icons/eufemia-icons-pdf.tgz +0 -0
- package/assets/icons/hierarchy.svg +1 -0
- package/assets/icons/hierarchy_medium.svg +1 -0
- package/assets/icons/layout_card.svg +1 -0
- package/assets/icons/layout_card_medium.svg +1 -0
- package/assets/icons/unlock.svg +1 -0
- package/assets/icons/unlock_medium.svg +1 -0
- package/cjs/components/Upload.d.ts +3 -0
- package/cjs/components/Upload.js +52 -0
- package/cjs/components/accordion/Accordion.d.ts +5 -0
- package/cjs/components/accordion/Accordion.js +5 -5
- package/cjs/components/accordion/AccordionContent.d.ts +2 -7
- package/cjs/components/accordion/AccordionContent.js +124 -206
- package/cjs/components/accordion/AccordionHeader.d.ts +2 -0
- package/cjs/components/accordion/AccordionHeader.js +6 -3
- package/cjs/components/accordion/AccordionPropTypes.d.ts +2 -0
- package/cjs/components/accordion/AccordionPropTypes.js +2 -0
- package/cjs/components/accordion/AccordionProvider.d.ts +1 -0
- package/cjs/components/accordion/AccordionProvider.js +2 -1
- package/cjs/components/accordion/style/_accordion.scss +11 -27
- package/cjs/components/accordion/style/dnb-accordion.css +7 -19
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/autocomplete/Autocomplete.d.ts +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +2 -2
- package/cjs/components/autocomplete/style/_autocomplete.scss +0 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +57 -25
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/avatar/Avatar.d.ts +2 -2
- package/cjs/components/breadcrumb/style/_breadcrumb.scss +3 -2
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +29 -7
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/button/style/dnb-button.css +18 -6
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/cjs/components/checkbox/style/dnb-checkbox.css +3 -1
- package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.css +84 -28
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
- package/cjs/components/dialog/parts/DialogBody.d.ts +2 -2
- package/cjs/components/dialog/parts/DialogHeader.d.ts +2 -2
- package/cjs/components/dialog/parts/DialogNavigation.d.ts +2 -2
- package/cjs/components/dialog/style/dnb-dialog.css +93 -52
- package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
- package/cjs/components/drawer/Drawer.d.ts +1 -1
- package/cjs/components/drawer/Drawer.js +5 -1
- package/cjs/components/drawer/DrawerContent.js +29 -11
- package/cjs/components/drawer/parts/DrawerBody.d.ts +2 -2
- package/cjs/components/drawer/parts/DrawerContentContext.d.ts +2 -0
- package/cjs/components/drawer/parts/DrawerContentContext.js +11 -0
- package/cjs/components/drawer/parts/DrawerHeader.d.ts +2 -2
- package/cjs/components/drawer/parts/DrawerHeader.js +8 -0
- package/cjs/components/drawer/parts/DrawerNavigation.d.ts +2 -2
- package/cjs/components/drawer/parts/DrawerNavigation.js +8 -0
- package/cjs/components/drawer/style/_drawer.scss +26 -28
- package/cjs/components/drawer/style/dnb-drawer.css +167 -98
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/dropdown/Dropdown.d.ts +1 -1
- package/cjs/components/dropdown/style/_dropdown.scss +0 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +21 -10
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/form-status/FormStatus.js +2 -2
- package/cjs/components/form-status/style/_form-status.scss +3 -3
- package/cjs/components/form-status/style/dnb-form-status.css +3 -1
- package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
- package/cjs/components/global-error/style/dnb-global-error.css +18 -6
- package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
- package/cjs/components/global-status/GlobalStatus.js +2 -2
- package/cjs/components/global-status/style/_global-status.scss +1 -1
- package/cjs/components/global-status/style/dnb-global-status.css +19 -7
- package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
- package/cjs/components/height-animation/HeightAnimation.d.ts +9 -3
- package/cjs/components/height-animation/HeightAnimation.js +8 -4
- package/cjs/components/height-animation/HeightAnimationInstance.d.ts +58 -0
- package/cjs/{shared/AnimateHeight.js → components/height-animation/HeightAnimationInstance.js} +28 -68
- package/cjs/components/height-animation/style/_height-animation.scss +3 -0
- package/cjs/components/height-animation/style/dnb-height-animation.css +2 -0
- package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/cjs/components/height-animation/useHeightAnimation.d.ts +4 -4
- package/cjs/components/height-animation/useHeightAnimation.js +3 -3
- package/cjs/components/help-button/style/dnb-help-button.css +18 -6
- package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
- package/cjs/components/icon/Icon.js +1 -1
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +8 -0
- package/cjs/components/input/Input.js +1 -1
- package/cjs/components/input/style/dnb-input.css +36 -12
- package/cjs/components/input/style/dnb-input.min.css +1 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +36 -12
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/lib.d.ts +22 -17
- package/cjs/components/lib.js +9 -0
- package/cjs/components/modal/ModalContent.js +2 -2
- package/cjs/components/modal/parts/ModalHeader.d.ts +2 -2
- package/cjs/components/modal/parts/ModalHeaderBar.d.ts +1 -1
- package/cjs/components/modal/parts/ModalInner.d.ts +1 -1
- package/cjs/components/modal/style/dnb-modal.css +93 -52
- package/cjs/components/modal/style/dnb-modal.min.css +1 -1
- package/cjs/components/number-format/style/dnb-number-format.css +15 -5
- package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
- package/cjs/components/pagination/PaginationBar.d.ts +8 -6
- package/cjs/components/pagination/PaginationBar.js +21 -22
- package/cjs/components/pagination/style/dnb-pagination.css +18 -6
- package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
- package/cjs/components/radio/style/dnb-radio.css +3 -1
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/section/Section.d.ts +4 -3
- package/cjs/components/slider/SliderThumb.js +17 -4
- package/cjs/components/slider/SliderTrack.js +3 -6
- package/cjs/components/slider/hooks/useSliderEvents.d.ts +2 -2
- package/cjs/components/slider/hooks/useSliderEvents.js +3 -2
- package/cjs/components/slider/style/_slider.scss +4 -3
- package/cjs/components/slider/style/dnb-slider.css +41 -13
- package/cjs/components/slider/style/dnb-slider.min.css +1 -1
- package/cjs/components/space/Space.d.ts +83 -80
- package/cjs/components/space/Space.js +59 -54
- package/cjs/components/space/SpacingHelper.d.ts +4 -39
- package/cjs/components/space/SpacingHelper.js +21 -369
- package/cjs/components/space/SpacingUtils.d.ts +38 -0
- package/cjs/components/space/SpacingUtils.js +375 -0
- package/cjs/components/space/types.d.ts +34 -0
- package/cjs/components/space/types.js +1 -0
- package/cjs/components/step-indicator/StepIndicatorItem.js +2 -2
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
- package/cjs/components/step-indicator/style/_step-indicator.scss +1 -1
- package/cjs/components/step-indicator/style/dnb-step-indicator.css +21 -7
- package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/cjs/components/switch/style/dnb-switch.css +3 -1
- package/cjs/components/switch/style/dnb-switch.min.css +1 -1
- package/cjs/components/tabs/style/_tabs.scss +1 -1
- package/cjs/components/tabs/style/dnb-tabs.css +3 -1
- package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
- package/cjs/components/tag/Tag.d.ts +2 -2
- package/cjs/components/tag/style/dnb-tag.css +18 -6
- package/cjs/components/tag/style/dnb-tag.min.css +1 -1
- package/cjs/components/textarea/style/dnb-textarea.css +3 -1
- package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +27 -9
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +2 -2
- package/cjs/components/tooltip/Tooltip.js +21 -18
- package/cjs/components/tooltip/TooltipContainer.js +48 -19
- package/cjs/components/tooltip/TooltipHelpers.d.ts +1 -1
- package/cjs/components/tooltip/TooltipHelpers.js +5 -9
- package/cjs/components/tooltip/TooltipPortal.d.ts +1 -1
- package/cjs/components/tooltip/TooltipPortal.js +54 -31
- package/cjs/components/tooltip/TooltipWithEvents.d.ts +1 -1
- package/cjs/components/tooltip/TooltipWithEvents.js +67 -43
- package/cjs/components/tooltip/style/_tooltip.scss +6 -6
- package/cjs/components/tooltip/style/dnb-tooltip.css +15 -5
- package/cjs/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/cjs/components/tooltip/types.d.ts +1 -0
- package/cjs/components/upload/Upload.d.ts +10 -0
- package/cjs/components/upload/Upload.js +201 -0
- package/cjs/components/upload/UploadContext.d.ts +7 -0
- package/cjs/components/upload/UploadContext.js +16 -0
- package/cjs/components/upload/UploadDropzone.d.ts +3 -0
- package/cjs/components/upload/UploadDropzone.js +147 -0
- package/cjs/components/upload/UploadFileInput.d.ts +3 -0
- package/cjs/components/upload/UploadFileInput.js +123 -0
- package/cjs/components/upload/UploadFileList.d.ts +3 -0
- package/cjs/components/upload/UploadFileList.js +79 -0
- package/cjs/components/upload/UploadFileListCell.d.ts +19 -0
- package/cjs/components/upload/UploadFileListCell.js +171 -0
- package/cjs/components/upload/UploadInfo.d.ts +3 -0
- package/cjs/components/upload/UploadInfo.js +71 -0
- package/cjs/components/upload/UploadStatus.d.ts +3 -0
- package/cjs/components/upload/UploadStatus.js +43 -0
- package/cjs/components/upload/UploadVerify.d.ts +2 -0
- package/cjs/components/upload/UploadVerify.js +58 -0
- package/cjs/components/upload/index.d.ts +3 -0
- package/cjs/components/upload/index.js +52 -0
- package/cjs/components/upload/style/_upload.scss +91 -0
- package/cjs/components/upload/style/dnb-upload.css +1210 -0
- package/cjs/components/upload/style/dnb-upload.min.css +1 -0
- package/cjs/components/upload/style/dnb-upload.scss +16 -0
- package/cjs/components/upload/style/index.d.ts +1 -0
- package/cjs/components/upload/style/index.js +3 -0
- package/cjs/components/upload/style/themes/dnb-upload-theme-ui.css +38 -0
- package/cjs/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -0
- package/cjs/components/upload/style/themes/dnb-upload-theme-ui.scss +46 -0
- package/cjs/components/upload/style.d.ts +1 -0
- package/cjs/components/upload/style.js +3 -0
- package/cjs/components/upload/types.d.ts +67 -0
- package/cjs/components/upload/types.js +1 -0
- package/cjs/components/upload/useUpload.d.ts +14 -0
- package/cjs/components/upload/useUpload.js +36 -0
- package/cjs/elements/Anchor.d.ts +3 -2
- package/cjs/elements/Anchor.js +4 -2
- package/cjs/elements/Blockquote.js +1 -1
- package/cjs/elements/Code.js +1 -1
- package/cjs/elements/Dd.js +1 -1
- package/cjs/elements/Div.js +1 -1
- package/cjs/elements/Dl.d.ts +3 -3
- package/cjs/elements/Dl.js +10 -5
- package/cjs/elements/Dt.d.ts +1 -4
- package/cjs/elements/Dt.js +2 -2
- package/cjs/elements/Element.d.ts +33 -8
- package/cjs/elements/Element.js +5 -3
- package/cjs/elements/H.d.ts +1 -0
- package/cjs/elements/H.js +6 -4
- package/cjs/elements/H1.js +1 -1
- package/cjs/elements/H2.js +1 -1
- package/cjs/elements/H3.js +1 -1
- package/cjs/elements/H4.js +1 -1
- package/cjs/elements/H5.js +1 -1
- package/cjs/elements/H6.js +1 -1
- package/cjs/elements/Hr.js +1 -1
- package/cjs/elements/Img.js +2 -2
- package/cjs/elements/Li.js +1 -1
- package/cjs/elements/Link.d.ts +1 -1
- package/cjs/elements/Ol.js +1 -1
- package/cjs/elements/P.js +1 -1
- package/cjs/elements/Span.js +1 -1
- package/cjs/elements/Ul.js +1 -1
- package/cjs/elements/lib.d.ts +5 -3
- package/cjs/fragments/drawer-list/DrawerListPortal.js +14 -9
- package/cjs/fragments/drawer-list/DrawerListProvider.js +47 -44
- package/cjs/fragments/drawer-list/style/_drawer-list.scss +10 -0
- package/cjs/icons/hierarchy.d.ts +2 -0
- package/cjs/icons/hierarchy.js +42 -0
- package/cjs/icons/hierarchy_medium.d.ts +2 -0
- package/cjs/icons/hierarchy_medium.js +42 -0
- package/cjs/icons/icons-meta.json +42 -0
- package/cjs/icons/icons-pdf.lock +78 -0
- package/cjs/icons/icons-svg.lock +78 -0
- package/cjs/icons/index.d.ts +7 -1
- package/cjs/icons/index.js +48 -0
- package/cjs/icons/layout_card.d.ts +2 -0
- package/cjs/icons/layout_card.js +43 -0
- package/cjs/icons/layout_card_medium.d.ts +2 -0
- package/cjs/icons/layout_card_medium.js +43 -0
- package/cjs/icons/secondary_icons.d.ts +4 -1
- package/cjs/icons/secondary_icons.js +24 -0
- package/cjs/icons/secondary_icons_medium.d.ts +4 -1
- package/cjs/icons/secondary_icons_medium.js +24 -0
- package/cjs/icons/unlock.d.ts +2 -0
- package/cjs/icons/unlock.js +42 -0
- package/cjs/icons/unlock_medium.d.ts +2 -0
- package/cjs/icons/unlock_medium.js +42 -0
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +8 -0
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Eufemia.js +1 -1
- package/cjs/shared/component-helper.d.ts +1 -1
- package/cjs/shared/component-helper.js +6 -12
- package/cjs/shared/locales/en-GB.d.ts +15 -0
- package/cjs/shared/locales/en-GB.js +15 -0
- package/cjs/shared/locales/en-US.d.ts +15 -0
- package/cjs/shared/locales/index.d.ts +30 -0
- package/cjs/shared/locales/nb-NO.d.ts +15 -0
- package/cjs/shared/locales/nb-NO.js +15 -0
- package/cjs/shared/types.d.ts +4 -21
- package/cjs/shared/types.js +24 -1
- package/cjs/style/core/helper-classes/helper-classes.scss +1 -1
- package/cjs/style/core/utilities.scss +0 -2
- package/cjs/style/dnb-ui-components.css +238 -82
- package/cjs/style/dnb-ui-components.min.css +4 -4
- package/cjs/style/dnb-ui-components.scss +1 -0
- package/cjs/style/dnb-ui-elements.css +55 -35
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-fragments.css +15 -0
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/dnb-ui-tags.css +108 -69
- package/cjs/style/dnb-ui-tags.min.css +1 -1
- package/cjs/style/elements/lists.scss +28 -16
- package/cjs/style/elements/ui-spacing.scss +3 -1
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +94 -35
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
- package/cjs/style/themes/theme-ui/dnb-theme-ui.css +94 -35
- package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
- package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
- package/components/Upload.d.ts +3 -0
- package/components/Upload.js +3 -0
- package/components/accordion/Accordion.d.ts +5 -0
- package/components/accordion/Accordion.js +5 -5
- package/components/accordion/AccordionContent.d.ts +2 -7
- package/components/accordion/AccordionContent.js +121 -184
- package/components/accordion/AccordionHeader.d.ts +2 -0
- package/components/accordion/AccordionHeader.js +6 -3
- package/components/accordion/AccordionPropTypes.d.ts +2 -0
- package/components/accordion/AccordionPropTypes.js +2 -0
- package/components/accordion/AccordionProvider.d.ts +1 -0
- package/components/accordion/AccordionProvider.js +2 -1
- package/components/accordion/style/_accordion.scss +11 -27
- package/components/accordion/style/dnb-accordion.css +7 -19
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/autocomplete/Autocomplete.d.ts +1 -1
- package/components/autocomplete/Autocomplete.js +2 -2
- package/components/autocomplete/style/_autocomplete.scss +0 -1
- package/components/autocomplete/style/dnb-autocomplete.css +57 -25
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/avatar/Avatar.d.ts +2 -2
- package/components/breadcrumb/style/_breadcrumb.scss +3 -2
- package/components/breadcrumb/style/dnb-breadcrumb.css +29 -7
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/button/style/dnb-button.css +18 -6
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/components/checkbox/style/dnb-checkbox.css +3 -1
- package/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/components/date-picker/style/dnb-date-picker.css +84 -28
- package/components/date-picker/style/dnb-date-picker.min.css +2 -2
- package/components/dialog/parts/DialogBody.d.ts +2 -2
- package/components/dialog/parts/DialogHeader.d.ts +2 -2
- package/components/dialog/parts/DialogNavigation.d.ts +2 -2
- package/components/dialog/style/dnb-dialog.css +93 -52
- package/components/dialog/style/dnb-dialog.min.css +1 -1
- package/components/drawer/Drawer.d.ts +1 -1
- package/components/drawer/Drawer.js +5 -1
- package/components/drawer/DrawerContent.js +22 -7
- package/components/drawer/parts/DrawerBody.d.ts +2 -2
- package/components/drawer/parts/DrawerContentContext.d.ts +2 -0
- package/components/drawer/parts/DrawerContentContext.js +2 -0
- package/components/drawer/parts/DrawerHeader.d.ts +2 -2
- package/components/drawer/parts/DrawerHeader.js +7 -0
- package/components/drawer/parts/DrawerNavigation.d.ts +2 -2
- package/components/drawer/parts/DrawerNavigation.js +7 -0
- package/components/drawer/style/_drawer.scss +26 -28
- package/components/drawer/style/dnb-drawer.css +167 -98
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/dropdown/Dropdown.d.ts +1 -1
- package/components/dropdown/style/_dropdown.scss +0 -1
- package/components/dropdown/style/dnb-dropdown.css +21 -10
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/form-status/FormStatus.js +2 -2
- package/components/form-status/style/_form-status.scss +3 -3
- package/components/form-status/style/dnb-form-status.css +3 -1
- package/components/form-status/style/dnb-form-status.min.css +1 -1
- package/components/global-error/style/dnb-global-error.css +18 -6
- package/components/global-error/style/dnb-global-error.min.css +1 -1
- package/components/global-status/GlobalStatus.js +2 -2
- package/components/global-status/style/_global-status.scss +1 -1
- package/components/global-status/style/dnb-global-status.css +19 -7
- package/components/global-status/style/dnb-global-status.min.css +1 -1
- package/components/height-animation/HeightAnimation.d.ts +9 -3
- package/components/height-animation/HeightAnimation.js +7 -4
- package/components/height-animation/HeightAnimationInstance.d.ts +58 -0
- package/{shared/AnimateHeight.js → components/height-animation/HeightAnimationInstance.js} +28 -68
- package/components/height-animation/style/_height-animation.scss +3 -0
- package/components/height-animation/style/dnb-height-animation.css +2 -0
- package/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/components/height-animation/useHeightAnimation.d.ts +4 -4
- package/components/height-animation/useHeightAnimation.js +3 -3
- package/components/help-button/style/dnb-help-button.css +18 -6
- package/components/help-button/style/dnb-help-button.min.css +1 -1
- package/components/icon/Icon.js +1 -1
- package/components/index.d.ts +2 -1
- package/components/index.js +2 -1
- package/components/input/Input.js +1 -1
- package/components/input/style/dnb-input.css +36 -12
- package/components/input/style/dnb-input.min.css +1 -1
- package/components/input-masked/style/dnb-input-masked.css +36 -12
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/lib.d.ts +22 -17
- package/components/lib.js +3 -1
- package/components/modal/ModalContent.js +2 -2
- package/components/modal/parts/ModalHeader.d.ts +2 -2
- package/components/modal/parts/ModalHeaderBar.d.ts +1 -1
- package/components/modal/parts/ModalInner.d.ts +1 -1
- package/components/modal/style/dnb-modal.css +93 -52
- package/components/modal/style/dnb-modal.min.css +1 -1
- package/components/number-format/style/dnb-number-format.css +15 -5
- package/components/number-format/style/dnb-number-format.min.css +1 -1
- package/components/pagination/PaginationBar.d.ts +8 -6
- package/components/pagination/PaginationBar.js +21 -22
- package/components/pagination/style/dnb-pagination.css +18 -6
- package/components/pagination/style/dnb-pagination.min.css +1 -1
- package/components/radio/style/dnb-radio.css +3 -1
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/section/Section.d.ts +4 -3
- package/components/slider/SliderThumb.js +18 -5
- package/components/slider/SliderTrack.js +3 -6
- package/components/slider/hooks/useSliderEvents.d.ts +2 -2
- package/components/slider/hooks/useSliderEvents.js +3 -2
- package/components/slider/style/_slider.scss +4 -3
- package/components/slider/style/dnb-slider.css +41 -13
- package/components/slider/style/dnb-slider.min.css +1 -1
- package/components/space/Space.d.ts +83 -80
- package/components/space/Space.js +44 -41
- package/components/space/SpacingHelper.d.ts +4 -39
- package/components/space/SpacingHelper.js +2 -277
- package/components/space/SpacingUtils.d.ts +38 -0
- package/components/space/SpacingUtils.js +277 -0
- package/components/space/types.d.ts +34 -0
- package/components/space/types.js +1 -0
- package/components/step-indicator/StepIndicatorItem.js +2 -2
- package/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
- package/components/step-indicator/style/_step-indicator.scss +1 -1
- package/components/step-indicator/style/dnb-step-indicator.css +21 -7
- package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/components/switch/style/dnb-switch.css +3 -1
- package/components/switch/style/dnb-switch.min.css +1 -1
- package/components/tabs/style/_tabs.scss +1 -1
- package/components/tabs/style/dnb-tabs.css +3 -1
- package/components/tabs/style/dnb-tabs.min.css +1 -1
- package/components/tag/Tag.d.ts +2 -2
- package/components/tag/style/dnb-tag.css +18 -6
- package/components/tag/style/dnb-tag.min.css +1 -1
- package/components/textarea/style/dnb-textarea.css +3 -1
- package/components/textarea/style/dnb-textarea.min.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +27 -9
- package/components/toggle-button/style/dnb-toggle-button.min.css +2 -2
- package/components/tooltip/Tooltip.js +21 -18
- package/components/tooltip/TooltipContainer.js +47 -20
- package/components/tooltip/TooltipHelpers.d.ts +1 -1
- package/components/tooltip/TooltipHelpers.js +5 -9
- package/components/tooltip/TooltipPortal.d.ts +1 -1
- package/components/tooltip/TooltipPortal.js +53 -30
- package/components/tooltip/TooltipWithEvents.d.ts +1 -1
- package/components/tooltip/TooltipWithEvents.js +66 -43
- package/components/tooltip/style/_tooltip.scss +6 -6
- package/components/tooltip/style/dnb-tooltip.css +15 -5
- package/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/components/tooltip/types.d.ts +1 -0
- package/components/upload/Upload.d.ts +10 -0
- package/components/upload/Upload.js +129 -0
- package/components/upload/UploadContext.d.ts +7 -0
- package/components/upload/UploadContext.js +6 -0
- package/components/upload/UploadDropzone.d.ts +3 -0
- package/components/upload/UploadDropzone.js +90 -0
- package/components/upload/UploadFileInput.d.ts +3 -0
- package/components/upload/UploadFileInput.js +79 -0
- package/components/upload/UploadFileList.d.ts +3 -0
- package/components/upload/UploadFileList.js +62 -0
- package/components/upload/UploadFileListCell.d.ts +19 -0
- package/components/upload/UploadFileListCell.js +128 -0
- package/components/upload/UploadInfo.d.ts +3 -0
- package/components/upload/UploadInfo.js +48 -0
- package/components/upload/UploadStatus.d.ts +3 -0
- package/components/upload/UploadStatus.js +26 -0
- package/components/upload/UploadVerify.d.ts +2 -0
- package/components/upload/UploadVerify.js +42 -0
- package/components/upload/index.d.ts +3 -0
- package/components/upload/index.js +3 -0
- package/components/upload/style/_upload.scss +91 -0
- package/components/upload/style/dnb-upload.css +1210 -0
- package/components/upload/style/dnb-upload.min.css +1 -0
- package/components/upload/style/dnb-upload.scss +16 -0
- package/components/upload/style/index.d.ts +1 -0
- package/components/upload/style/index.js +1 -0
- package/components/upload/style/themes/dnb-upload-theme-ui.css +38 -0
- package/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -0
- package/components/upload/style/themes/dnb-upload-theme-ui.scss +46 -0
- package/components/upload/style.d.ts +1 -0
- package/components/upload/style.js +1 -0
- package/components/upload/types.d.ts +67 -0
- package/components/upload/types.js +1 -0
- package/components/upload/useUpload.d.ts +14 -0
- package/components/upload/useUpload.js +28 -0
- package/elements/Anchor.d.ts +3 -2
- package/elements/Anchor.js +4 -2
- package/elements/Blockquote.js +1 -1
- package/elements/Code.js +1 -1
- package/elements/Dd.js +1 -1
- package/elements/Div.js +1 -1
- package/elements/Dl.d.ts +3 -3
- package/elements/Dl.js +10 -5
- package/elements/Dt.d.ts +1 -4
- package/elements/Dt.js +2 -2
- package/elements/Element.d.ts +33 -8
- package/elements/Element.js +5 -3
- package/elements/H.d.ts +1 -0
- package/elements/H.js +6 -4
- package/elements/H1.js +1 -1
- package/elements/H2.js +1 -1
- package/elements/H3.js +1 -1
- package/elements/H4.js +1 -1
- package/elements/H5.js +1 -1
- package/elements/H6.js +1 -1
- package/elements/Hr.js +1 -1
- package/elements/Img.js +2 -2
- package/elements/Li.js +1 -1
- package/elements/Link.d.ts +1 -1
- package/elements/Ol.js +1 -1
- package/elements/P.js +1 -1
- package/elements/Span.js +1 -1
- package/elements/Ul.js +1 -1
- package/elements/lib.d.ts +5 -3
- package/es/components/Upload.d.ts +3 -0
- package/es/components/Upload.js +3 -0
- package/es/components/accordion/Accordion.d.ts +5 -0
- package/es/components/accordion/Accordion.js +6 -8
- package/es/components/accordion/AccordionContent.d.ts +2 -7
- package/es/components/accordion/AccordionContent.js +112 -135
- package/es/components/accordion/AccordionHeader.d.ts +2 -0
- package/es/components/accordion/AccordionHeader.js +6 -3
- package/es/components/accordion/AccordionPropTypes.d.ts +2 -0
- package/es/components/accordion/AccordionPropTypes.js +2 -0
- package/es/components/accordion/AccordionProvider.d.ts +1 -0
- package/es/components/accordion/AccordionProvider.js +2 -1
- package/es/components/accordion/style/_accordion.scss +11 -27
- package/es/components/accordion/style/dnb-accordion.css +7 -19
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/autocomplete/Autocomplete.d.ts +1 -1
- package/es/components/autocomplete/Autocomplete.js +2 -2
- package/es/components/autocomplete/style/_autocomplete.scss +0 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +57 -25
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/avatar/Avatar.d.ts +2 -2
- package/es/components/breadcrumb/style/_breadcrumb.scss +3 -2
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +29 -7
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/button/style/dnb-button.css +18 -6
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
- package/es/components/checkbox/style/dnb-checkbox.css +3 -1
- package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
- package/es/components/date-picker/style/dnb-date-picker.css +84 -28
- package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
- package/es/components/dialog/parts/DialogBody.d.ts +2 -2
- package/es/components/dialog/parts/DialogHeader.d.ts +2 -2
- package/es/components/dialog/parts/DialogNavigation.d.ts +2 -2
- package/es/components/dialog/style/dnb-dialog.css +93 -52
- package/es/components/dialog/style/dnb-dialog.min.css +1 -1
- package/es/components/drawer/Drawer.d.ts +1 -1
- package/es/components/drawer/Drawer.js +5 -1
- package/es/components/drawer/DrawerContent.js +22 -7
- package/es/components/drawer/parts/DrawerBody.d.ts +2 -2
- package/es/components/drawer/parts/DrawerContentContext.d.ts +2 -0
- package/es/components/drawer/parts/DrawerContentContext.js +2 -0
- package/es/components/drawer/parts/DrawerHeader.d.ts +2 -2
- package/es/components/drawer/parts/DrawerHeader.js +7 -0
- package/es/components/drawer/parts/DrawerNavigation.d.ts +2 -2
- package/es/components/drawer/parts/DrawerNavigation.js +7 -0
- package/es/components/drawer/style/_drawer.scss +26 -28
- package/es/components/drawer/style/dnb-drawer.css +167 -98
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/dropdown/Dropdown.d.ts +1 -1
- package/es/components/dropdown/style/_dropdown.scss +0 -1
- package/es/components/dropdown/style/dnb-dropdown.css +21 -10
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/form-status/FormStatus.js +2 -2
- package/es/components/form-status/style/_form-status.scss +3 -3
- package/es/components/form-status/style/dnb-form-status.css +3 -1
- package/es/components/form-status/style/dnb-form-status.min.css +1 -1
- package/es/components/global-error/style/dnb-global-error.css +18 -6
- package/es/components/global-error/style/dnb-global-error.min.css +1 -1
- package/es/components/global-status/GlobalStatus.js +2 -2
- package/es/components/global-status/style/_global-status.scss +1 -1
- package/es/components/global-status/style/dnb-global-status.css +19 -7
- package/es/components/global-status/style/dnb-global-status.min.css +1 -1
- package/es/components/height-animation/HeightAnimation.d.ts +9 -3
- package/es/components/height-animation/HeightAnimation.js +6 -4
- package/es/components/height-animation/HeightAnimationInstance.d.ts +58 -0
- package/es/{shared/AnimateHeight.js → components/height-animation/HeightAnimationInstance.js} +3 -36
- package/es/components/height-animation/style/_height-animation.scss +3 -0
- package/es/components/height-animation/style/dnb-height-animation.css +2 -0
- package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
- package/es/components/height-animation/useHeightAnimation.d.ts +4 -4
- package/es/components/height-animation/useHeightAnimation.js +3 -3
- package/es/components/help-button/style/dnb-help-button.css +18 -6
- package/es/components/help-button/style/dnb-help-button.min.css +1 -1
- package/es/components/icon/Icon.js +1 -1
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +2 -1
- package/es/components/input/Input.js +1 -1
- package/es/components/input/style/dnb-input.css +36 -12
- package/es/components/input/style/dnb-input.min.css +1 -1
- package/es/components/input-masked/style/dnb-input-masked.css +36 -12
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/lib.d.ts +22 -17
- package/es/components/lib.js +3 -1
- package/es/components/modal/ModalContent.js +2 -2
- package/es/components/modal/parts/ModalHeader.d.ts +2 -2
- package/es/components/modal/parts/ModalHeaderBar.d.ts +1 -1
- package/es/components/modal/parts/ModalInner.d.ts +1 -1
- package/es/components/modal/style/dnb-modal.css +93 -52
- package/es/components/modal/style/dnb-modal.min.css +1 -1
- package/es/components/number-format/style/dnb-number-format.css +15 -5
- package/es/components/number-format/style/dnb-number-format.min.css +1 -1
- package/es/components/pagination/PaginationBar.d.ts +8 -6
- package/es/components/pagination/PaginationBar.js +17 -18
- package/es/components/pagination/style/dnb-pagination.css +18 -6
- package/es/components/pagination/style/dnb-pagination.min.css +1 -1
- package/es/components/radio/style/dnb-radio.css +3 -1
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/section/Section.d.ts +4 -3
- package/es/components/slider/SliderThumb.js +18 -5
- package/es/components/slider/SliderTrack.js +3 -6
- package/es/components/slider/hooks/useSliderEvents.d.ts +2 -2
- package/es/components/slider/hooks/useSliderEvents.js +3 -2
- package/es/components/slider/style/_slider.scss +4 -3
- package/es/components/slider/style/dnb-slider.css +41 -13
- package/es/components/slider/style/dnb-slider.min.css +1 -1
- package/es/components/space/Space.d.ts +83 -80
- package/es/components/space/Space.js +35 -31
- package/es/components/space/SpacingHelper.d.ts +4 -39
- package/es/components/space/SpacingHelper.js +2 -225
- package/es/components/space/SpacingUtils.d.ts +38 -0
- package/es/components/space/SpacingUtils.js +225 -0
- package/es/components/space/types.d.ts +34 -0
- package/es/components/space/types.js +1 -0
- package/es/components/step-indicator/StepIndicatorItem.js +2 -2
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +2 -2
- package/es/components/step-indicator/style/_step-indicator.scss +1 -1
- package/es/components/step-indicator/style/dnb-step-indicator.css +21 -7
- package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
- package/es/components/switch/style/dnb-switch.css +3 -1
- package/es/components/switch/style/dnb-switch.min.css +1 -1
- package/es/components/tabs/style/_tabs.scss +1 -1
- package/es/components/tabs/style/dnb-tabs.css +3 -1
- package/es/components/tabs/style/dnb-tabs.min.css +1 -1
- package/es/components/tag/Tag.d.ts +2 -2
- package/es/components/tag/style/dnb-tag.css +18 -6
- package/es/components/tag/style/dnb-tag.min.css +1 -1
- package/es/components/textarea/style/dnb-textarea.css +3 -1
- package/es/components/textarea/style/dnb-textarea.min.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +27 -9
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +2 -2
- package/es/components/tooltip/Tooltip.js +13 -15
- package/es/components/tooltip/TooltipContainer.js +43 -22
- package/es/components/tooltip/TooltipHelpers.d.ts +1 -1
- package/es/components/tooltip/TooltipHelpers.js +5 -9
- package/es/components/tooltip/TooltipPortal.d.ts +1 -1
- package/es/components/tooltip/TooltipPortal.js +51 -30
- package/es/components/tooltip/TooltipWithEvents.d.ts +1 -1
- package/es/components/tooltip/TooltipWithEvents.js +68 -44
- package/es/components/tooltip/style/_tooltip.scss +6 -6
- package/es/components/tooltip/style/dnb-tooltip.css +15 -5
- package/es/components/tooltip/style/dnb-tooltip.min.css +1 -1
- package/es/components/tooltip/types.d.ts +1 -0
- package/es/components/upload/Upload.d.ts +10 -0
- package/es/components/upload/Upload.js +116 -0
- package/es/components/upload/UploadContext.d.ts +7 -0
- package/es/components/upload/UploadContext.js +6 -0
- package/es/components/upload/UploadDropzone.d.ts +3 -0
- package/es/components/upload/UploadDropzone.js +82 -0
- package/es/components/upload/UploadFileInput.d.ts +3 -0
- package/es/components/upload/UploadFileInput.js +76 -0
- package/es/components/upload/UploadFileList.d.ts +3 -0
- package/es/components/upload/UploadFileList.js +59 -0
- package/es/components/upload/UploadFileListCell.d.ts +19 -0
- package/es/components/upload/UploadFileListCell.js +124 -0
- package/es/components/upload/UploadInfo.d.ts +3 -0
- package/es/components/upload/UploadInfo.js +45 -0
- package/es/components/upload/UploadStatus.d.ts +3 -0
- package/es/components/upload/UploadStatus.js +25 -0
- package/es/components/upload/UploadVerify.d.ts +2 -0
- package/es/components/upload/UploadVerify.js +39 -0
- package/es/components/upload/index.d.ts +3 -0
- package/es/components/upload/index.js +3 -0
- package/es/components/upload/style/_upload.scss +91 -0
- package/es/components/upload/style/dnb-upload.css +1210 -0
- package/es/components/upload/style/dnb-upload.min.css +1 -0
- package/es/components/upload/style/dnb-upload.scss +16 -0
- package/es/components/upload/style/index.d.ts +1 -0
- package/es/components/upload/style/index.js +1 -0
- package/es/components/upload/style/themes/dnb-upload-theme-ui.css +38 -0
- package/es/components/upload/style/themes/dnb-upload-theme-ui.min.css +1 -0
- package/es/components/upload/style/themes/dnb-upload-theme-ui.scss +46 -0
- package/es/components/upload/style.d.ts +1 -0
- package/es/components/upload/style.js +1 -0
- package/es/components/upload/types.d.ts +67 -0
- package/es/components/upload/types.js +1 -0
- package/es/components/upload/useUpload.d.ts +14 -0
- package/es/components/upload/useUpload.js +29 -0
- package/es/elements/Anchor.d.ts +3 -2
- package/es/elements/Anchor.js +4 -2
- package/es/elements/Blockquote.js +1 -1
- package/es/elements/Code.js +1 -1
- package/es/elements/Dd.js +1 -1
- package/es/elements/Div.js +1 -1
- package/es/elements/Dl.d.ts +3 -3
- package/es/elements/Dl.js +14 -8
- package/es/elements/Dt.d.ts +1 -4
- package/es/elements/Dt.js +2 -2
- package/es/elements/Element.d.ts +33 -8
- package/es/elements/Element.js +5 -3
- package/es/elements/H.d.ts +1 -0
- package/es/elements/H.js +6 -4
- package/es/elements/H1.js +1 -1
- package/es/elements/H2.js +1 -1
- package/es/elements/H3.js +1 -1
- package/es/elements/H4.js +1 -1
- package/es/elements/H5.js +1 -1
- package/es/elements/H6.js +1 -1
- package/es/elements/Hr.js +1 -1
- package/es/elements/Img.js +2 -2
- package/es/elements/Li.js +1 -1
- package/es/elements/Link.d.ts +1 -1
- package/es/elements/Ol.js +1 -1
- package/es/elements/P.js +1 -1
- package/es/elements/Span.js +1 -1
- package/es/elements/Ul.js +1 -1
- package/es/elements/lib.d.ts +5 -3
- package/es/fragments/drawer-list/DrawerListPortal.js +17 -12
- package/es/fragments/drawer-list/DrawerListProvider.js +47 -43
- package/es/fragments/drawer-list/style/_drawer-list.scss +10 -0
- package/es/icons/hierarchy.d.ts +2 -0
- package/es/icons/hierarchy.js +28 -0
- package/es/icons/hierarchy_medium.d.ts +2 -0
- package/es/icons/hierarchy_medium.js +28 -0
- package/es/icons/icons-meta.json +42 -0
- package/es/icons/icons-pdf.lock +78 -0
- package/es/icons/icons-svg.lock +78 -0
- package/es/icons/index.d.ts +7 -1
- package/es/icons/index.js +7 -1
- package/es/icons/layout_card.d.ts +2 -0
- package/es/icons/layout_card.js +29 -0
- package/es/icons/layout_card_medium.d.ts +2 -0
- package/es/icons/layout_card_medium.js +29 -0
- package/es/icons/secondary_icons.d.ts +4 -1
- package/es/icons/secondary_icons.js +4 -1
- package/es/icons/secondary_icons_medium.d.ts +4 -1
- package/es/icons/secondary_icons_medium.js +4 -1
- package/es/icons/unlock.d.ts +2 -0
- package/es/icons/unlock.js +28 -0
- package/es/icons/unlock_medium.d.ts +2 -0
- package/es/icons/unlock_medium.js +28 -0
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Eufemia.js +1 -1
- package/es/shared/component-helper.d.ts +1 -1
- package/es/shared/component-helper.js +3 -9
- package/es/shared/locales/en-GB.d.ts +15 -0
- package/es/shared/locales/en-GB.js +15 -0
- package/es/shared/locales/en-US.d.ts +15 -0
- package/es/shared/locales/index.d.ts +30 -0
- package/es/shared/locales/nb-NO.d.ts +15 -0
- package/es/shared/locales/nb-NO.js +15 -0
- package/es/shared/types.d.ts +4 -21
- package/es/shared/types.js +1 -0
- package/es/style/core/helper-classes/helper-classes.scss +1 -1
- package/es/style/core/utilities.scss +0 -2
- package/es/style/dnb-ui-components.css +238 -82
- package/es/style/dnb-ui-components.min.css +4 -4
- package/es/style/dnb-ui-components.scss +1 -0
- package/es/style/dnb-ui-elements.css +55 -35
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-fragments.css +15 -0
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/dnb-ui-tags.css +108 -69
- package/es/style/dnb-ui-tags.min.css +1 -1
- package/es/style/elements/lists.scss +28 -16
- package/es/style/elements/ui-spacing.scss +3 -1
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +94 -35
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
- package/es/style/themes/theme-ui/dnb-theme-ui.css +94 -35
- package/es/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
- package/es/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +4 -4
- package/esm/dnb-ui-elements.min.mjs +3 -3
- package/esm/dnb-ui-extensions.min.mjs +4 -4
- package/esm/dnb-ui-lib.min.mjs +4 -4
- package/esm/dnb-ui-web-components.min.mjs +4 -4
- package/fragments/drawer-list/DrawerListPortal.js +15 -10
- package/fragments/drawer-list/DrawerListProvider.js +48 -45
- package/fragments/drawer-list/style/_drawer-list.scss +10 -0
- package/icons/hierarchy.d.ts +2 -0
- package/icons/hierarchy.js +30 -0
- package/icons/hierarchy_medium.d.ts +2 -0
- package/icons/hierarchy_medium.js +30 -0
- package/icons/icons-meta.json +42 -0
- package/icons/icons-pdf.lock +78 -0
- package/icons/icons-svg.lock +78 -0
- package/icons/index.d.ts +7 -1
- package/icons/index.js +7 -1
- package/icons/layout_card.d.ts +2 -0
- package/icons/layout_card.js +31 -0
- package/icons/layout_card_medium.d.ts +2 -0
- package/icons/layout_card_medium.js +31 -0
- package/icons/secondary_icons.d.ts +4 -1
- package/icons/secondary_icons.js +4 -1
- package/icons/secondary_icons_medium.d.ts +4 -1
- package/icons/secondary_icons_medium.js +4 -1
- package/icons/unlock.d.ts +2 -0
- package/icons/unlock.js +30 -0
- package/icons/unlock_medium.d.ts +2 -0
- package/icons/unlock_medium.js +30 -0
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +2 -0
- package/shared/Eufemia.js +1 -1
- package/shared/component-helper.d.ts +1 -1
- package/shared/component-helper.js +3 -10
- package/shared/locales/en-GB.d.ts +15 -0
- package/shared/locales/en-GB.js +15 -0
- package/shared/locales/en-US.d.ts +15 -0
- package/shared/locales/index.d.ts +30 -0
- package/shared/locales/nb-NO.d.ts +15 -0
- package/shared/locales/nb-NO.js +15 -0
- package/shared/types.d.ts +4 -21
- package/shared/types.js +1 -0
- package/style/core/helper-classes/helper-classes.scss +1 -1
- package/style/core/utilities.scss +0 -2
- package/style/dnb-ui-components.css +238 -82
- package/style/dnb-ui-components.min.css +4 -4
- package/style/dnb-ui-components.scss +1 -0
- package/style/dnb-ui-elements.css +55 -35
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-fragments.css +15 -0
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/dnb-ui-tags.css +108 -69
- package/style/dnb-ui-tags.min.css +1 -1
- package/style/elements/lists.scss +28 -16
- package/style/elements/ui-spacing.scss +3 -1
- package/style/themes/theme-eiendom/dnb-theme-eiendom.css +94 -35
- package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
- package/style/themes/theme-ui/dnb-theme-ui.css +94 -35
- package/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
- package/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +5 -5
- package/umd/dnb-ui-elements.min.js +4 -4
- package/umd/dnb-ui-extensions.min.js +5 -5
- package/umd/dnb-ui-lib.min.js +5 -5
- package/umd/dnb-ui-web-components.min.js +5 -5
- package/cjs/shared/AnimateHeight.d.ts +0 -60
- package/es/shared/AnimateHeight.d.ts +0 -60
- package/shared/AnimateHeight.d.ts +0 -60
|
@@ -3,7 +3,6 @@ import React from 'react';
|
|
|
3
3
|
import ReactDOM from 'react-dom';
|
|
4
4
|
import { makeUniqueId, warn } from '../../shared/component-helper';
|
|
5
5
|
import TooltipContainer from './TooltipContainer';
|
|
6
|
-
import { getTargetElement } from './TooltipHelpers';
|
|
7
6
|
let tooltipPortal;
|
|
8
7
|
|
|
9
8
|
if (typeof globalThis !== 'undefined') {
|
|
@@ -16,7 +15,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
16
15
|
function TooltipPortal(props) {
|
|
17
16
|
const {
|
|
18
17
|
active,
|
|
19
|
-
|
|
18
|
+
targetElement,
|
|
20
19
|
hideDelay,
|
|
21
20
|
keepInDOM,
|
|
22
21
|
noAnimation,
|
|
@@ -24,40 +23,60 @@ function TooltipPortal(props) {
|
|
|
24
23
|
} = props;
|
|
25
24
|
const [isMounted, setIsMounted] = React.useState(false);
|
|
26
25
|
const [isActive, setIsActive] = React.useState(active);
|
|
27
|
-
const [
|
|
26
|
+
const [id] = React.useState(() => props.group || makeUniqueId());
|
|
28
27
|
const isInDOM = React.useRef(false);
|
|
29
28
|
const hasGroup = props.group;
|
|
30
29
|
|
|
31
|
-
if (tooltipPortal[group]) {
|
|
32
|
-
tooltipPortal[group].inDOM = isInDOM.current;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
30
|
const makePortal = () => {
|
|
36
|
-
if (!tooltipPortal[
|
|
37
|
-
tooltipPortal[
|
|
38
|
-
|
|
31
|
+
if (!tooltipPortal[id]) {
|
|
32
|
+
tooltipPortal[id] = {
|
|
33
|
+
count: 0,
|
|
34
|
+
node: hasGroup ? createGroupElement(id) : createRootElement()
|
|
39
35
|
};
|
|
40
36
|
}
|
|
41
37
|
};
|
|
42
38
|
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
const clearTimers = () => {
|
|
40
|
+
var _tooltipPortal$id, _tooltipPortal$id2;
|
|
41
|
+
|
|
42
|
+
clearTimeout((_tooltipPortal$id = tooltipPortal[id]) === null || _tooltipPortal$id === void 0 ? void 0 : _tooltipPortal$id.delayTimeout);
|
|
43
|
+
clearTimeout((_tooltipPortal$id2 = tooltipPortal[id]) === null || _tooltipPortal$id2 === void 0 ? void 0 : _tooltipPortal$id2.hiddenTimeout);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const removeFromDOM = hide => {
|
|
47
|
+
if (isActive && hide) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const ref = tooltipPortal[id];
|
|
52
|
+
|
|
53
|
+
if (ref !== null && ref !== void 0 && ref.node) {
|
|
54
|
+
ref.count--;
|
|
55
|
+
|
|
56
|
+
if (ref.count <= 0) {
|
|
57
|
+
if (hasGroup) {
|
|
58
|
+
ReactDOM.unmountComponentAtNode(ref.node);
|
|
59
|
+
createRootElement().removeChild(ref.node);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
delete tooltipPortal[id];
|
|
63
|
+
}
|
|
46
64
|
}
|
|
47
65
|
};
|
|
48
66
|
|
|
49
67
|
React.useEffect(() => {
|
|
50
|
-
var _tooltipPortal$group, _tooltipPortal$group2;
|
|
51
|
-
|
|
52
68
|
setIsMounted(true);
|
|
53
|
-
|
|
54
|
-
clearTimeout((_tooltipPortal$group2 = tooltipPortal[group]) === null || _tooltipPortal$group2 === void 0 ? void 0 : _tooltipPortal$group2.hiddenTimeout);
|
|
69
|
+
clearTimers();
|
|
55
70
|
|
|
56
71
|
if (active) {
|
|
57
72
|
makePortal();
|
|
58
73
|
setIsActive(true);
|
|
59
74
|
isInDOM.current = true;
|
|
60
75
|
|
|
76
|
+
if (!isMounted) {
|
|
77
|
+
tooltipPortal[id].count++;
|
|
78
|
+
}
|
|
79
|
+
|
|
61
80
|
if (hasGroup) {
|
|
62
81
|
renderPortal(true);
|
|
63
82
|
}
|
|
@@ -72,19 +91,21 @@ function TooltipPortal(props) {
|
|
|
72
91
|
|
|
73
92
|
const delayHidden = () => {
|
|
74
93
|
isInDOM.current = false;
|
|
75
|
-
removeFromDOM();
|
|
94
|
+
removeFromDOM(true);
|
|
76
95
|
};
|
|
77
96
|
|
|
78
97
|
if (noAnimation || globalThis.IS_TEST) {
|
|
79
98
|
delayRender();
|
|
80
99
|
delayHidden();
|
|
81
|
-
} else if (tooltipPortal[
|
|
100
|
+
} else if (tooltipPortal[id]) {
|
|
82
101
|
const delay = parseFloat(String(hideDelay));
|
|
83
|
-
tooltipPortal[
|
|
84
|
-
tooltipPortal[
|
|
102
|
+
tooltipPortal[id].delayTimeout = setTimeout(delayRender, delay);
|
|
103
|
+
tooltipPortal[id].hiddenTimeout = setTimeout(delayHidden, delay + 300);
|
|
85
104
|
}
|
|
86
105
|
}
|
|
87
|
-
|
|
106
|
+
|
|
107
|
+
return clearTimers;
|
|
108
|
+
}, [children, active, id, hideDelay, noAnimation]);
|
|
88
109
|
React.useEffect(() => {
|
|
89
110
|
if (keepInDOM) {
|
|
90
111
|
makePortal();
|
|
@@ -94,13 +115,13 @@ function TooltipPortal(props) {
|
|
|
94
115
|
}, []);
|
|
95
116
|
|
|
96
117
|
const renderPortal = isActive => {
|
|
97
|
-
var _tooltipPortal$
|
|
118
|
+
var _tooltipPortal$id3;
|
|
98
119
|
|
|
99
|
-
const root = (_tooltipPortal$
|
|
120
|
+
const root = (_tooltipPortal$id3 = tooltipPortal[id]) === null || _tooltipPortal$id3 === void 0 ? void 0 : _tooltipPortal$id3.node;
|
|
100
121
|
|
|
101
122
|
if (root && hasGroup && isInDOM.current) {
|
|
102
123
|
ReactDOM.render(React.createElement(TooltipContainer, _extends({}, props, {
|
|
103
|
-
targetElement:
|
|
124
|
+
targetElement: targetElement,
|
|
104
125
|
active: isActive
|
|
105
126
|
})), root);
|
|
106
127
|
}
|
|
@@ -109,13 +130,13 @@ function TooltipPortal(props) {
|
|
|
109
130
|
};
|
|
110
131
|
|
|
111
132
|
if (!hasGroup) {
|
|
112
|
-
var _tooltipPortal$
|
|
133
|
+
var _tooltipPortal$id4;
|
|
113
134
|
|
|
114
|
-
const root = (_tooltipPortal$
|
|
135
|
+
const root = (_tooltipPortal$id4 = tooltipPortal[id]) === null || _tooltipPortal$id4 === void 0 ? void 0 : _tooltipPortal$id4.node;
|
|
115
136
|
|
|
116
137
|
if (root) {
|
|
117
138
|
return ReactDOM.createPortal(isInDOM.current || keepInDOM ? React.createElement(TooltipContainer, _extends({}, props, {
|
|
118
|
-
targetElement:
|
|
139
|
+
targetElement: targetElement,
|
|
119
140
|
active: isActive
|
|
120
141
|
}), children) : null, root);
|
|
121
142
|
}
|
|
@@ -131,14 +152,14 @@ const createGroupElement = id => {
|
|
|
131
152
|
const elem = document.createElement('div');
|
|
132
153
|
elem.classList.add('dnb-tooltip__group');
|
|
133
154
|
elem.setAttribute('id', id);
|
|
134
|
-
createRootElement(
|
|
155
|
+
createRootElement().appendChild(elem);
|
|
135
156
|
return elem;
|
|
136
157
|
} catch (e) {
|
|
137
158
|
warn(e);
|
|
138
159
|
}
|
|
139
160
|
};
|
|
140
161
|
|
|
141
|
-
const createRootElement = className => {
|
|
162
|
+
const createRootElement = (className = 'dnb-tooltip__portal') => {
|
|
142
163
|
try {
|
|
143
164
|
const element = document.querySelector(`.${className}`);
|
|
144
165
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
const _excluded = ["children"
|
|
4
|
+
const _excluded = ["children"];
|
|
5
5
|
|
|
6
6
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
7
7
|
|
|
@@ -9,29 +9,40 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
9
9
|
|
|
10
10
|
import React from 'react';
|
|
11
11
|
import { combineDescribedBy, warn } from '../../shared/component-helper';
|
|
12
|
+
import TooltipContainer from './TooltipContainer';
|
|
12
13
|
import { getRefElement, injectTooltipSemantic, isTouch, useHandleAria } from './TooltipHelpers';
|
|
13
14
|
import TooltipPortal from './TooltipPortal';
|
|
14
15
|
|
|
15
16
|
function TooltipWithEvents(props) {
|
|
16
17
|
const {
|
|
17
|
-
children
|
|
18
|
-
target
|
|
18
|
+
children
|
|
19
19
|
} = props,
|
|
20
20
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
21
21
|
|
|
22
|
-
const
|
|
22
|
+
const {
|
|
23
|
+
active,
|
|
24
|
+
target,
|
|
25
|
+
skipPortal,
|
|
26
|
+
noAnimation,
|
|
27
|
+
showDelay,
|
|
28
|
+
hideDelay,
|
|
29
|
+
internalId
|
|
30
|
+
} = restProps;
|
|
31
|
+
const [isActive, setIsActive] = React.useState(active);
|
|
23
32
|
const [isNotSemanticElement, setIsNotSemanticElement] = React.useState(false);
|
|
24
|
-
const [isMounted, setIsMounted] = React.useState(
|
|
25
|
-
const
|
|
26
|
-
const targetRef = React.useRef();
|
|
33
|
+
const [isMounted, setIsMounted] = React.useState(!target);
|
|
34
|
+
const delayTimeout = React.useRef();
|
|
27
35
|
const cloneRef = React.useRef();
|
|
28
|
-
React.
|
|
29
|
-
targetRef.current = getRefElement(cloneRef);
|
|
36
|
+
const targetRef = React.useRef();
|
|
30
37
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
const clearTimers = () => {
|
|
39
|
+
clearTimeout(delayTimeout.current);
|
|
40
|
+
};
|
|
34
41
|
|
|
42
|
+
React.useLayoutEffect(() => {
|
|
43
|
+
targetRef.current = getRefElement(cloneRef);
|
|
44
|
+
}, [target]);
|
|
45
|
+
React.useLayoutEffect(() => {
|
|
35
46
|
if (targetRef.current) {
|
|
36
47
|
setIsMounted(true);
|
|
37
48
|
addEvents(targetRef.current);
|
|
@@ -39,28 +50,14 @@ function TooltipWithEvents(props) {
|
|
|
39
50
|
}
|
|
40
51
|
|
|
41
52
|
return () => {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (element) {
|
|
46
|
-
try {
|
|
47
|
-
element.removeEventListener('click', onMouseLeave);
|
|
48
|
-
element.removeEventListener('focus', onFocus);
|
|
49
|
-
element.removeEventListener('blur', onMouseLeave);
|
|
50
|
-
element.removeEventListener('mouseenter', onMouseEnter);
|
|
51
|
-
element.removeEventListener('mouseleave', onMouseLeave);
|
|
52
|
-
element.removeEventListener('touchstart', onMouseEnter);
|
|
53
|
-
element.removeEventListener('touchend', onMouseLeave);
|
|
54
|
-
} catch (e) {
|
|
55
|
-
warn(e);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
53
|
+
clearTimers();
|
|
54
|
+
removeEvents(targetRef.current);
|
|
58
55
|
};
|
|
59
56
|
}, []);
|
|
60
57
|
|
|
61
58
|
const handleSemanticElement = () => {
|
|
62
59
|
try {
|
|
63
|
-
const targetElement = document.querySelector(`*[aria-describedby*="${
|
|
60
|
+
const targetElement = document.querySelector(`*[aria-describedby*="${internalId}"]`);
|
|
64
61
|
|
|
65
62
|
if (targetElement) {
|
|
66
63
|
const role = targetElement.getAttribute('role');
|
|
@@ -89,16 +86,26 @@ function TooltipWithEvents(props) {
|
|
|
89
86
|
}
|
|
90
87
|
};
|
|
91
88
|
|
|
92
|
-
const
|
|
89
|
+
const removeEvents = element => {
|
|
90
|
+
if (!element) return;
|
|
91
|
+
|
|
93
92
|
try {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
element.removeEventListener('click', onMouseLeave);
|
|
94
|
+
element.removeEventListener('focus', onFocus);
|
|
95
|
+
element.removeEventListener('blur', onMouseLeave);
|
|
96
|
+
element.removeEventListener('mouseenter', onMouseEnter);
|
|
97
|
+
element.removeEventListener('mouseleave', onMouseLeave);
|
|
98
|
+
element.removeEventListener('touchstart', onMouseEnter);
|
|
99
|
+
element.removeEventListener('touchend', onMouseLeave);
|
|
97
100
|
} catch (e) {
|
|
98
101
|
warn(e);
|
|
99
102
|
}
|
|
100
103
|
};
|
|
101
104
|
|
|
105
|
+
const onFocus = e => {
|
|
106
|
+
return onMouseEnter(e);
|
|
107
|
+
};
|
|
108
|
+
|
|
102
109
|
const onMouseEnter = e => {
|
|
103
110
|
try {
|
|
104
111
|
if (isTouch(e.type)) {
|
|
@@ -113,15 +120,19 @@ function TooltipWithEvents(props) {
|
|
|
113
120
|
setIsActive(true);
|
|
114
121
|
};
|
|
115
122
|
|
|
116
|
-
if (
|
|
123
|
+
if (noAnimation || globalThis.IS_TEST) {
|
|
117
124
|
run();
|
|
118
125
|
} else {
|
|
119
|
-
|
|
120
|
-
|
|
126
|
+
clearTimers();
|
|
127
|
+
delayTimeout.current = setTimeout(run, parseFloat(String(showDelay)) || 1);
|
|
121
128
|
}
|
|
122
129
|
};
|
|
123
130
|
|
|
124
131
|
const onMouseLeave = e => {
|
|
132
|
+
if (active) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
|
|
125
136
|
try {
|
|
126
137
|
if (isTouch(e.type)) {
|
|
127
138
|
const elem = e.currentTarget;
|
|
@@ -131,8 +142,17 @@ function TooltipWithEvents(props) {
|
|
|
131
142
|
warn(e);
|
|
132
143
|
}
|
|
133
144
|
|
|
134
|
-
|
|
135
|
-
|
|
145
|
+
clearTimers();
|
|
146
|
+
|
|
147
|
+
const run = () => {
|
|
148
|
+
setIsActive(false);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
if (skipPortal) {
|
|
152
|
+
delayTimeout.current = setTimeout(run, parseFloat(String(hideDelay)));
|
|
153
|
+
} else {
|
|
154
|
+
run();
|
|
155
|
+
}
|
|
136
156
|
};
|
|
137
157
|
|
|
138
158
|
const componentWrapper = React.useMemo(() => {
|
|
@@ -143,19 +163,23 @@ function TooltipWithEvents(props) {
|
|
|
143
163
|
return React.cloneElement(target, _objectSpread(_objectSpread({
|
|
144
164
|
ref: cloneRef
|
|
145
165
|
}, params), {}, {
|
|
146
|
-
'aria-describedby': combineDescribedBy(target.props,
|
|
166
|
+
'aria-describedby': combineDescribedBy(target.props, internalId)
|
|
147
167
|
}));
|
|
168
|
+
} else {
|
|
169
|
+
cloneRef.current = target;
|
|
148
170
|
}
|
|
149
171
|
|
|
150
172
|
return null;
|
|
151
173
|
}, [target]);
|
|
152
|
-
useHandleAria(
|
|
153
|
-
return React.createElement(React.Fragment, null,
|
|
154
|
-
|
|
174
|
+
useHandleAria(targetRef.current, internalId);
|
|
175
|
+
return React.createElement(React.Fragment, null, isMounted && (skipPortal ? React.createElement(TooltipContainer, _extends({}, restProps, {
|
|
176
|
+
active: isActive,
|
|
177
|
+
targetElement: targetRef.current
|
|
178
|
+
}), children) : React.createElement(TooltipPortal, _extends({}, restProps, {
|
|
155
179
|
active: isActive,
|
|
156
|
-
|
|
180
|
+
targetElement: targetRef.current,
|
|
157
181
|
keepInDOM: true
|
|
158
|
-
},
|
|
182
|
+
}), children)), componentWrapper);
|
|
159
183
|
}
|
|
160
184
|
|
|
161
185
|
export default TooltipWithEvents;
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
opacity: 0;
|
|
22
22
|
visibility: hidden;
|
|
23
23
|
|
|
24
|
-
transition: opacity 200ms
|
|
24
|
+
transition: opacity 200ms var(--easing-default);
|
|
25
25
|
&--animate_position {
|
|
26
|
-
transition: all 200ms
|
|
27
|
-
opacity 200ms
|
|
26
|
+
transition: all 200ms var(--easing-default),
|
|
27
|
+
opacity 200ms var(--easing-default);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
&--active {
|
|
@@ -34,15 +34,15 @@
|
|
|
34
34
|
because of the first "show" we also use animation
|
|
35
35
|
also, use forwards because of the usage of visibility
|
|
36
36
|
*/
|
|
37
|
-
animation: show-tooltip 200ms
|
|
37
|
+
animation: show-tooltip 200ms var(--easing-default) forwards;
|
|
38
38
|
}
|
|
39
39
|
html[data-visual-test] &--active,
|
|
40
40
|
&--active#{&}--no-animation {
|
|
41
|
-
animation: show-tooltip 1ms
|
|
41
|
+
animation: show-tooltip 1ms var(--easing-default) forwards;
|
|
42
42
|
}
|
|
43
43
|
&--hide {
|
|
44
44
|
visibility: visible;
|
|
45
|
-
animation: hide-tooltip 200ms
|
|
45
|
+
animation: hide-tooltip 200ms var(--easing-default) forwards;
|
|
46
46
|
}
|
|
47
47
|
&--hide#{&}--no-animation {
|
|
48
48
|
animation: hide-tooltip 1ms linear forwards;
|
|
@@ -92,12 +92,16 @@
|
|
|
92
92
|
opacity: 0;
|
|
93
93
|
visibility: hidden;
|
|
94
94
|
-webkit-transition: opacity 200ms cubic-bezier(0.42, 0, 0, 1);
|
|
95
|
-
transition: opacity 200ms cubic-bezier(0.42, 0, 0, 1);
|
|
95
|
+
transition: opacity 200ms cubic-bezier(0.42, 0, 0, 1);
|
|
96
|
+
-webkit-transition: opacity 200ms var(--easing-default);
|
|
97
|
+
transition: opacity 200ms var(--easing-default); }
|
|
96
98
|
.dnb-tooltip--large {
|
|
97
99
|
padding: 0.25rem 1rem; }
|
|
98
100
|
.dnb-tooltip--animate_position {
|
|
99
101
|
-webkit-transition: all 200ms cubic-bezier(0.42, 0, 0, 1), opacity 200ms cubic-bezier(0.42, 0, 0, 1);
|
|
100
|
-
transition: all 200ms cubic-bezier(0.42, 0, 0, 1), opacity 200ms cubic-bezier(0.42, 0, 0, 1);
|
|
102
|
+
transition: all 200ms cubic-bezier(0.42, 0, 0, 1), opacity 200ms cubic-bezier(0.42, 0, 0, 1);
|
|
103
|
+
-webkit-transition: all 200ms var(--easing-default), opacity 200ms var(--easing-default);
|
|
104
|
+
transition: all 200ms var(--easing-default), opacity 200ms var(--easing-default); }
|
|
101
105
|
.dnb-tooltip--active {
|
|
102
106
|
visibility: visible;
|
|
103
107
|
/*
|
|
@@ -105,14 +109,20 @@
|
|
|
105
109
|
also, use forwards because of the usage of visibility
|
|
106
110
|
*/
|
|
107
111
|
-webkit-animation: show-tooltip 200ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
108
|
-
animation: show-tooltip 200ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
112
|
+
animation: show-tooltip 200ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
113
|
+
-webkit-animation: show-tooltip 200ms var(--easing-default) forwards;
|
|
114
|
+
animation: show-tooltip 200ms var(--easing-default) forwards; }
|
|
109
115
|
html[data-visual-test] .dnb-tooltip--active, .dnb-tooltip--active.dnb-tooltip--no-animation {
|
|
110
116
|
-webkit-animation: show-tooltip 1ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
111
|
-
animation: show-tooltip 1ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
117
|
+
animation: show-tooltip 1ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
118
|
+
-webkit-animation: show-tooltip 1ms var(--easing-default) forwards;
|
|
119
|
+
animation: show-tooltip 1ms var(--easing-default) forwards; }
|
|
112
120
|
.dnb-tooltip--hide {
|
|
113
121
|
visibility: visible;
|
|
114
122
|
-webkit-animation: hide-tooltip 200ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
115
|
-
animation: hide-tooltip 200ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
123
|
+
animation: hide-tooltip 200ms cubic-bezier(0.42, 0, 0, 1) forwards;
|
|
124
|
+
-webkit-animation: hide-tooltip 200ms var(--easing-default) forwards;
|
|
125
|
+
animation: hide-tooltip 200ms var(--easing-default) forwards; }
|
|
116
126
|
.dnb-tooltip--hide.dnb-tooltip--no-animation {
|
|
117
127
|
-webkit-animation: hide-tooltip 1ms linear forwards;
|
|
118
128
|
animation: hide-tooltip 1ms linear forwards; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dnb-tooltip{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-tooltip *,.dnb-tooltip :after,.dnb-tooltip :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-tooltip :after,.dnb-tooltip :before{text-decoration:inherit;vertical-align:inherit}.dnb-tooltip{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;justify-content:center;opacity:0;padding:0 1rem;position:absolute;-webkit-transition:opacity .2s cubic-bezier(.42,0,0,1);transition:opacity .2s cubic-bezier(.42,0,0,1);visibility:hidden;z-index:3100}.dnb-tooltip--large{padding:.25rem 1rem}.dnb-tooltip--animate_position{-webkit-transition:all .2s cubic-bezier(.42,0,0,1),opacity .2s cubic-bezier(.42,0,0,1);transition:all .2s cubic-bezier(.42,0,0,1),opacity .2s cubic-bezier(.42,0,0,1)}.dnb-tooltip--active{-webkit-animation:show-tooltip .2s cubic-bezier(.42,0,0,1) forwards;animation:show-tooltip .2s cubic-bezier(.42,0,0,1) forwards;visibility:visible}.dnb-tooltip--active.dnb-tooltip--no-animation,html[data-visual-test] .dnb-tooltip--active{-webkit-animation:show-tooltip 1ms cubic-bezier(.42,0,0,1) forwards;animation:show-tooltip 1ms cubic-bezier(.42,0,0,1) forwards}.dnb-tooltip--hide{-webkit-animation:hide-tooltip .2s cubic-bezier(.42,0,0,1) forwards;animation:hide-tooltip .2s cubic-bezier(.42,0,0,1) forwards;visibility:visible}.dnb-tooltip--hide.dnb-tooltip--no-animation{-webkit-animation:hide-tooltip 1ms linear forwards;animation:hide-tooltip 1ms linear forwards}.dnb-tooltip--fixed{position:fixed}html[data-visual-test] .dnb-tooltip--hide{-webkit-animation:hide-tooltip 1ms linear 1s forwards;animation:hide-tooltip 1ms linear 1s forwards}.dnb-tooltip__portal{left:0;position:absolute;right:0;top:0}.dnb-tooltip__content{min-height:1.5rem;min-width:2rem;padding:0}.dnb-tooltip__arrow{height:.5rem;margin:0;overflow:hidden;pointer-events:none;position:absolute;width:1rem}.dnb-tooltip__arrow:before{bottom:0;content:"";height:1rem;left:0;position:absolute;-webkit-transform:translateY(70%) rotate(45deg);transform:translateY(70%) rotate(45deg);width:1rem}.dnb-tooltip__arrow__position--bottom{top:-.5rem}.dnb-tooltip__arrow__position--top{bottom:-.5rem;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.dnb-tooltip__arrow__position--left{margin-right:3px;right:-.75rem;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.dnb-tooltip__arrow__position--right{left:-.75rem;margin-left:3px;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.dnb-tooltip__arrow__arrow--left{-ms-flex-item-align:start;align-self:flex-start}.dnb-tooltip__arrow__arrow--right{-ms-flex-item-align:end;align-self:flex-end}@-webkit-keyframes show-tooltip{0%{opacity:0}to{opacity:1}}@keyframes show-tooltip{0%{opacity:0}to{opacity:1}}@-webkit-keyframes hide-tooltip{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes hide-tooltip{0%{opacity:1}to{opacity:0;visibility:hidden}}
|
|
1
|
+
.dnb-tooltip{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-tooltip *,.dnb-tooltip :after,.dnb-tooltip :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-tooltip :after,.dnb-tooltip :before{text-decoration:inherit;vertical-align:inherit}.dnb-tooltip{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;justify-content:center;opacity:0;padding:0 1rem;position:absolute;-webkit-transition:opacity .2s cubic-bezier(.42,0,0,1);transition:opacity .2s cubic-bezier(.42,0,0,1);-webkit-transition:opacity .2s var(--easing-default);transition:opacity .2s var(--easing-default);visibility:hidden;z-index:3100}.dnb-tooltip--large{padding:.25rem 1rem}.dnb-tooltip--animate_position{-webkit-transition:all .2s cubic-bezier(.42,0,0,1),opacity .2s cubic-bezier(.42,0,0,1);transition:all .2s cubic-bezier(.42,0,0,1),opacity .2s cubic-bezier(.42,0,0,1);-webkit-transition:all .2s var(--easing-default),opacity .2s var(--easing-default);transition:all .2s var(--easing-default),opacity .2s var(--easing-default)}.dnb-tooltip--active{-webkit-animation:show-tooltip .2s cubic-bezier(.42,0,0,1) forwards;animation:show-tooltip .2s cubic-bezier(.42,0,0,1) forwards;-webkit-animation:show-tooltip .2s var(--easing-default) forwards;animation:show-tooltip .2s var(--easing-default) forwards;visibility:visible}.dnb-tooltip--active.dnb-tooltip--no-animation,html[data-visual-test] .dnb-tooltip--active{-webkit-animation:show-tooltip 1ms cubic-bezier(.42,0,0,1) forwards;animation:show-tooltip 1ms cubic-bezier(.42,0,0,1) forwards;-webkit-animation:show-tooltip 1ms var(--easing-default) forwards;animation:show-tooltip 1ms var(--easing-default) forwards}.dnb-tooltip--hide{-webkit-animation:hide-tooltip .2s cubic-bezier(.42,0,0,1) forwards;animation:hide-tooltip .2s cubic-bezier(.42,0,0,1) forwards;-webkit-animation:hide-tooltip .2s var(--easing-default) forwards;animation:hide-tooltip .2s var(--easing-default) forwards;visibility:visible}.dnb-tooltip--hide.dnb-tooltip--no-animation{-webkit-animation:hide-tooltip 1ms linear forwards;animation:hide-tooltip 1ms linear forwards}.dnb-tooltip--fixed{position:fixed}html[data-visual-test] .dnb-tooltip--hide{-webkit-animation:hide-tooltip 1ms linear 1s forwards;animation:hide-tooltip 1ms linear 1s forwards}.dnb-tooltip__portal{left:0;position:absolute;right:0;top:0}.dnb-tooltip__content{min-height:1.5rem;min-width:2rem;padding:0}.dnb-tooltip__arrow{height:.5rem;margin:0;overflow:hidden;pointer-events:none;position:absolute;width:1rem}.dnb-tooltip__arrow:before{bottom:0;content:"";height:1rem;left:0;position:absolute;-webkit-transform:translateY(70%) rotate(45deg);transform:translateY(70%) rotate(45deg);width:1rem}.dnb-tooltip__arrow__position--bottom{top:-.5rem}.dnb-tooltip__arrow__position--top{bottom:-.5rem;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.dnb-tooltip__arrow__position--left{margin-right:3px;right:-.75rem;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.dnb-tooltip__arrow__position--right{left:-.75rem;margin-left:3px;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.dnb-tooltip__arrow__arrow--left{-ms-flex-item-align:start;align-self:flex-start}.dnb-tooltip__arrow__arrow--right{-ms-flex-item-align:end;align-self:flex-end}@-webkit-keyframes show-tooltip{0%{opacity:0}to{opacity:1}}@keyframes show-tooltip{0%{opacity:0}to{opacity:1}}@-webkit-keyframes hide-tooltip{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes hide-tooltip{0%{opacity:1}to{opacity:0;visibility:hidden}}
|
|
@@ -24,5 +24,6 @@ export declare type TooltipProps = IncludeSnakeCase<{
|
|
|
24
24
|
tooltip?: React.ReactNode;
|
|
25
25
|
className?: string;
|
|
26
26
|
children?: React.ReactNode;
|
|
27
|
+
style?: React.CSSProperties;
|
|
27
28
|
}>;
|
|
28
29
|
export declare type TooltipAllProps = TooltipProps & SpacingProps & Omit<React.HTMLProps<HTMLElement>, keyof TooltipProps>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import useUpload from './useUpload';
|
|
3
|
+
import { defaultProps } from './UploadContext';
|
|
4
|
+
import type { UploadAllProps } from './types';
|
|
5
|
+
export { defaultProps };
|
|
6
|
+
declare const Upload: {
|
|
7
|
+
(localProps: UploadAllProps): JSX.Element;
|
|
8
|
+
useUpload: typeof useUpload;
|
|
9
|
+
};
|
|
10
|
+
export default Upload;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
|
|
5
|
+
var _UploadInfo, _UploadFileInput, _UploadFileList;
|
|
6
|
+
|
|
7
|
+
const _excluded = ["id", "skeleton", "className", "acceptedFileTypes", "filesAmountLimit", "fileMaxSize", "onChange", "onFileDelete", "title", "text", "fileTypeDescription", "fileSizeDescription", "fileAmountDescription", "fileSizeContent", "buttonText", "loadingText", "errorLargeFile", "errorUnsupportedFile", "errorAmountLimit", "deleteButton", "fileListAriaLabel"];
|
|
8
|
+
|
|
9
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
10
|
+
|
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
12
|
+
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import classnames from 'classnames';
|
|
15
|
+
import { createSpacingClasses } from '../space/SpacingHelper';
|
|
16
|
+
import Provider from '../../shared/Provider';
|
|
17
|
+
import Context from '../../shared/Context';
|
|
18
|
+
import { extendPropsWithContext, makeUniqueId } from '../../shared/component-helper';
|
|
19
|
+
import UploadFileInput from './UploadFileInput';
|
|
20
|
+
import useUpload from './useUpload';
|
|
21
|
+
import UploadDropzone from './UploadDropzone';
|
|
22
|
+
import { UploadContext, defaultProps } from './UploadContext';
|
|
23
|
+
import { verifyFiles } from './UploadVerify';
|
|
24
|
+
import UploadFileList from './UploadFileList';
|
|
25
|
+
import UploadInfo from './UploadInfo';
|
|
26
|
+
export { defaultProps };
|
|
27
|
+
|
|
28
|
+
const Upload = localProps => {
|
|
29
|
+
const context = React.useContext(Context);
|
|
30
|
+
const extendedProps = extendPropsWithContext(localProps, defaultProps, {
|
|
31
|
+
skeleton: context === null || context === void 0 ? void 0 : context.skeleton
|
|
32
|
+
}, context.getTranslation(localProps).Upload, context.Upload);
|
|
33
|
+
|
|
34
|
+
const {
|
|
35
|
+
id,
|
|
36
|
+
skeleton,
|
|
37
|
+
className,
|
|
38
|
+
acceptedFileTypes,
|
|
39
|
+
filesAmountLimit,
|
|
40
|
+
fileMaxSize,
|
|
41
|
+
onChange,
|
|
42
|
+
onFileDelete,
|
|
43
|
+
title,
|
|
44
|
+
text,
|
|
45
|
+
fileTypeDescription,
|
|
46
|
+
fileSizeDescription,
|
|
47
|
+
fileAmountDescription,
|
|
48
|
+
fileSizeContent,
|
|
49
|
+
buttonText,
|
|
50
|
+
loadingText,
|
|
51
|
+
errorLargeFile,
|
|
52
|
+
errorUnsupportedFile,
|
|
53
|
+
errorAmountLimit,
|
|
54
|
+
deleteButton,
|
|
55
|
+
fileListAriaLabel
|
|
56
|
+
} = extendedProps,
|
|
57
|
+
props = _objectWithoutProperties(extendedProps, _excluded);
|
|
58
|
+
|
|
59
|
+
const spacingClasses = createSpacingClasses(props);
|
|
60
|
+
const {
|
|
61
|
+
files,
|
|
62
|
+
setFiles,
|
|
63
|
+
setInternalFiles
|
|
64
|
+
} = useUpload(id);
|
|
65
|
+
return React.createElement(UploadContext.Provider, {
|
|
66
|
+
value: _objectSpread(_objectSpread({}, extendedProps), {}, {
|
|
67
|
+
id,
|
|
68
|
+
onInputUpload
|
|
69
|
+
})
|
|
70
|
+
}, React.createElement(Provider, {
|
|
71
|
+
skeleton: skeleton
|
|
72
|
+
}, React.createElement(UploadDropzone, _extends({
|
|
73
|
+
"data-testid": "upload",
|
|
74
|
+
className: classnames('dnb-upload', spacingClasses, className)
|
|
75
|
+
}, props), _UploadInfo || (_UploadInfo = React.createElement(UploadInfo, null)), _UploadFileInput || (_UploadFileInput = React.createElement(UploadFileInput, null)), _UploadFileList || (_UploadFileList = React.createElement(UploadFileList, null)))));
|
|
76
|
+
|
|
77
|
+
function onInputUpload(newFiles) {
|
|
78
|
+
const existsInFiles = file => files.some(({
|
|
79
|
+
file: f
|
|
80
|
+
}) => {
|
|
81
|
+
return f.name === file.name && f.size === file.size && f.lastModified === file.lastModified;
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const uniqueFiles = [...files, ...newFiles.filter(({
|
|
85
|
+
file
|
|
86
|
+
}) => {
|
|
87
|
+
return !existsInFiles(file);
|
|
88
|
+
}).map(fileItem => {
|
|
89
|
+
if (!fileItem.id) {
|
|
90
|
+
fileItem.id = makeUniqueId();
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return fileItem;
|
|
94
|
+
})];
|
|
95
|
+
const verifiedFiles = verifyFiles(uniqueFiles, {
|
|
96
|
+
fileMaxSize,
|
|
97
|
+
acceptedFileTypes,
|
|
98
|
+
errorUnsupportedFile,
|
|
99
|
+
errorLargeFile
|
|
100
|
+
});
|
|
101
|
+
const validFiles = [...verifiedFiles].slice(0, filesAmountLimit);
|
|
102
|
+
setFiles(validFiles);
|
|
103
|
+
setInternalFiles(verifiedFiles);
|
|
104
|
+
|
|
105
|
+
if (typeof onChange === 'function') {
|
|
106
|
+
onChange({
|
|
107
|
+
files: validFiles
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return validFiles;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
Upload.useUpload = useUpload;
|
|
116
|
+
export default Upload;
|