@dnb/eufemia 10.73.2 → 10.74.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 +28 -0
- package/cjs/components/autocomplete/Autocomplete.js +7 -4
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/autocomplete/AutocompleteDocs.d.ts +289 -3
- package/cjs/components/autocomplete/AutocompleteDocs.js +2 -2
- package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/cjs/components/button/style/dnb-button.css +1 -0
- package/cjs/components/button/style/dnb-button.min.css +1 -1
- package/cjs/components/button/style/dnb-button.scss +1 -0
- package/cjs/components/checkbox/Checkbox.d.ts +9 -1
- package/cjs/components/checkbox/Checkbox.js +59 -34
- package/cjs/components/checkbox/Checkbox.js.map +1 -1
- package/cjs/components/checkbox/CheckboxDocs.js +6 -1
- package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +4 -0
- package/cjs/components/date-picker/DatePicker.js +4 -3
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.d.ts +2 -16
- package/cjs/components/date-picker/DatePickerCalendar.js +27 -86
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js +173 -0
- package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
- package/cjs/components/date-picker/DatePickerContext.d.ts +3 -0
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerDocs.js +6 -1
- package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePickerFooter.js +20 -17
- package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
- package/cjs/components/date-picker/DatePickerProvider.js +7 -0
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/DatePickerRange.js +2 -28
- package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
- package/cjs/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
- package/cjs/components/date-picker/hooks/useSubmittedDates.js +19 -0
- package/cjs/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
- package/cjs/components/date-picker/style/dnb-date-picker.css +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/date-picker/style/dnb-date-picker.scss +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
- package/cjs/components/drawer/Drawer.js +1 -0
- package/cjs/components/drawer/Drawer.js.map +1 -1
- package/cjs/components/dropdown/Dropdown.js +6 -4
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/dropdown/DropdownDocs.d.ts +179 -3
- package/cjs/components/dropdown/DropdownDocs.js.map +1 -1
- package/cjs/components/heading/HeadingHelpers.js +9 -5
- package/cjs/components/heading/HeadingHelpers.js.map +1 -1
- package/cjs/components/icon/Icon.d.ts +2 -2
- package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/cjs/components/input-masked/InputMaskedHooks.js +38 -6
- package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/cjs/components/input-masked/InputMaskedUtils.js +5 -4
- package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/cjs/components/number-format/NumberUtils.js +6 -4
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/switch/SwitchDocs.js +2 -2
- package/cjs/components/switch/SwitchDocs.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +9 -0
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +8 -1
- package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +2 -2
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +2 -2
- package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -0
- package/cjs/extensions/forms/Field/Selection/Selection.js +10 -9
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +24 -8
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +8 -1
- package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js +64 -0
- package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +39 -14
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationContext.js +11 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js +31 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js +112 -0
- package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +58 -0
- package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js +57 -0
- package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
- package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +11 -9
- package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
- package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
- package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +15 -56
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
- package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/en-GB.js +3 -3
- package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/index.d.ts +2 -2
- package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -3
- package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
- package/cjs/extensions/forms/constants/locales/sv-SE.js +3 -3
- package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataContext.js +5 -3
- package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/cjs/extensions/forms/hooks/useSnapshot.js +17 -14
- package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerList.d.ts +176 -224
- package/cjs/fragments/drawer-list/DrawerList.js +70 -175
- package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListContext.d.ts +27 -2
- package/cjs/fragments/drawer-list/DrawerListContext.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
- package/cjs/fragments/drawer-list/DrawerListDocs.js +2 -2
- package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
- package/cjs/fragments/drawer-list/DrawerListHelpers.js +52 -58
- package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListItem.d.ts +30 -0
- package/cjs/fragments/drawer-list/DrawerListItem.js +106 -0
- package/cjs/fragments/drawer-list/DrawerListItem.js.map +1 -0
- package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
- package/cjs/fragments/drawer-list/DrawerListPortal.js +93 -125
- package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
- package/cjs/fragments/drawer-list/DrawerListProvider.js +11 -18
- package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/component-helper.d.ts +45 -48
- package/cjs/shared/component-helper.js +72 -201
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/shared/helpers/withCamelCaseProps.d.ts +4 -5
- package/cjs/shared/helpers/withCamelCaseProps.js +7 -2
- package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/cjs/shared/legacy/component-helper-legacy.d.ts +19 -0
- package/cjs/shared/legacy/component-helper-legacy.js +202 -0
- package/cjs/shared/legacy/component-helper-legacy.js.map +1 -0
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +1 -0
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.js.map +1 -1
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +2 -1
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/shared/locales/sv-SE.d.ts +1 -0
- package/cjs/shared/locales/sv-SE.js +1 -0
- package/cjs/shared/locales/sv-SE.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +2 -1
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/cjs/style/themes/theme-ui/ui-theme-components.css +19 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/components/autocomplete/Autocomplete.js +6 -3
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/autocomplete/AutocompleteDocs.d.ts +289 -3
- package/components/autocomplete/AutocompleteDocs.js +1 -1
- package/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/components/button/style/dnb-button.css +1 -0
- package/components/button/style/dnb-button.min.css +1 -1
- package/components/button/style/dnb-button.scss +1 -0
- package/components/checkbox/Checkbox.d.ts +9 -1
- package/components/checkbox/Checkbox.js +60 -35
- package/components/checkbox/Checkbox.js.map +1 -1
- package/components/checkbox/CheckboxDocs.js +6 -1
- package/components/checkbox/CheckboxDocs.js.map +1 -1
- package/components/date-picker/DatePicker.d.ts +4 -0
- package/components/date-picker/DatePicker.js +4 -3
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.d.ts +2 -16
- package/components/date-picker/DatePickerCalendar.js +27 -86
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
- package/components/date-picker/DatePickerCalendarNavigator.js +162 -0
- package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
- package/components/date-picker/DatePickerContext.d.ts +3 -0
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerDocs.js +6 -1
- package/components/date-picker/DatePickerDocs.js.map +1 -1
- package/components/date-picker/DatePickerFooter.js +20 -17
- package/components/date-picker/DatePickerFooter.js.map +1 -1
- package/components/date-picker/DatePickerProvider.js +7 -0
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/DatePickerRange.js +2 -28
- package/components/date-picker/DatePickerRange.js.map +1 -1
- package/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
- package/components/date-picker/hooks/useSubmittedDates.js +14 -0
- package/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
- package/components/date-picker/style/dnb-date-picker.css +1 -1
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/date-picker/style/dnb-date-picker.scss +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
- package/components/drawer/Drawer.js +1 -0
- package/components/drawer/Drawer.js.map +1 -1
- package/components/dropdown/Dropdown.js +6 -4
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/dropdown/DropdownDocs.d.ts +179 -3
- package/components/dropdown/DropdownDocs.js.map +1 -1
- package/components/heading/HeadingHelpers.js +9 -5
- package/components/heading/HeadingHelpers.js.map +1 -1
- package/components/icon/Icon.d.ts +2 -2
- package/components/input-masked/InputMaskedDocs.js +1 -1
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/components/input-masked/InputMaskedHooks.js +39 -7
- package/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/components/input-masked/InputMaskedUtils.js +6 -5
- package/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/components/number-format/NumberUtils.js +5 -4
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/switch/SwitchDocs.js +2 -2
- package/components/switch/SwitchDocs.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +6 -3
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/autocomplete/AutocompleteDocs.d.ts +289 -3
- package/es/components/autocomplete/AutocompleteDocs.js +1 -1
- package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
- package/es/components/button/style/dnb-button.css +1 -0
- package/es/components/button/style/dnb-button.min.css +1 -1
- package/es/components/button/style/dnb-button.scss +1 -0
- package/es/components/checkbox/Checkbox.d.ts +9 -1
- package/es/components/checkbox/Checkbox.js +60 -35
- package/es/components/checkbox/Checkbox.js.map +1 -1
- package/es/components/checkbox/CheckboxDocs.js +6 -1
- package/es/components/checkbox/CheckboxDocs.js.map +1 -1
- package/es/components/date-picker/DatePicker.d.ts +4 -0
- package/es/components/date-picker/DatePicker.js +4 -3
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.d.ts +2 -16
- package/es/components/date-picker/DatePickerCalendar.js +23 -80
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
- package/es/components/date-picker/DatePickerCalendarNavigator.js +158 -0
- package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
- package/es/components/date-picker/DatePickerContext.d.ts +3 -0
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerDocs.js +6 -1
- package/es/components/date-picker/DatePickerDocs.js.map +1 -1
- package/es/components/date-picker/DatePickerFooter.js +20 -17
- package/es/components/date-picker/DatePickerFooter.js.map +1 -1
- package/es/components/date-picker/DatePickerProvider.js +7 -0
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/DatePickerRange.js +2 -27
- package/es/components/date-picker/DatePickerRange.js.map +1 -1
- package/es/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
- package/es/components/date-picker/hooks/useSubmittedDates.js +14 -0
- package/es/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
- package/es/components/date-picker/style/dnb-date-picker.css +1 -1
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/date-picker/style/dnb-date-picker.scss +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
- package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
- package/es/components/drawer/Drawer.js +1 -0
- package/es/components/drawer/Drawer.js.map +1 -1
- package/es/components/dropdown/Dropdown.js +6 -4
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/dropdown/DropdownDocs.d.ts +179 -3
- package/es/components/dropdown/DropdownDocs.js.map +1 -1
- package/es/components/heading/HeadingHelpers.js +9 -5
- package/es/components/heading/HeadingHelpers.js.map +1 -1
- package/es/components/icon/Icon.d.ts +2 -2
- package/es/components/input-masked/InputMaskedDocs.js +1 -1
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
- package/es/components/input-masked/InputMaskedHooks.js +39 -7
- package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
- package/es/components/input-masked/InputMaskedUtils.js +6 -5
- package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
- package/es/components/number-format/NumberUtils.js +5 -4
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/switch/SwitchDocs.js +2 -2
- package/es/components/switch/SwitchDocs.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +1 -1
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +9 -0
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
- package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/es/extensions/forms/Field/Date/Date.js +1 -1
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
- package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -0
- package/es/extensions/forms/Field/Selection/Selection.js +9 -8
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
- package/es/extensions/forms/Field/Toggle/Toggle.js +24 -6
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
- package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.js +53 -0
- package/es/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
- package/es/extensions/forms/Form/Isolation/Isolation.js +40 -14
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
- package/es/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
- package/es/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
- package/es/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
- package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.js +99 -0
- package/es/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +50 -0
- package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
- package/es/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
- package/es/extensions/forms/Form/Isolation/useHandleStatus.js +48 -0
- package/es/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
- package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
- package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
- package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
- package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
- package/es/extensions/forms/Iterate/EditContainer/index.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +16 -55
- package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
- package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -1
- package/es/extensions/forms/constants/locales/en-GB.js +3 -3
- package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/es/extensions/forms/constants/locales/en-US.d.ts +1 -1
- package/es/extensions/forms/constants/locales/index.d.ts +2 -2
- package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
- package/es/extensions/forms/constants/locales/nb-NO.js +3 -3
- package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
- package/es/extensions/forms/constants/locales/sv-SE.js +3 -3
- package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/es/extensions/forms/hooks/useDataContext.js +5 -3
- package/es/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/es/extensions/forms/hooks/useSnapshot.js +18 -15
- package/es/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/es/fragments/drawer-list/DrawerList.d.ts +176 -224
- package/es/fragments/drawer-list/DrawerList.js +72 -173
- package/es/fragments/drawer-list/DrawerList.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListContext.d.ts +27 -2
- package/es/fragments/drawer-list/DrawerListContext.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
- package/es/fragments/drawer-list/DrawerListDocs.js +2 -2
- package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
- package/es/fragments/drawer-list/DrawerListHelpers.js +45 -54
- package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListItem.d.ts +30 -0
- package/es/fragments/drawer-list/DrawerListItem.js +90 -0
- package/es/fragments/drawer-list/DrawerListItem.js.map +1 -0
- package/es/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
- package/es/fragments/drawer-list/DrawerListPortal.js +88 -120
- package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/es/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
- package/es/fragments/drawer-list/DrawerListProvider.js +33 -19
- package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/component-helper.d.ts +45 -48
- package/es/shared/component-helper.js +20 -183
- package/es/shared/component-helper.js.map +1 -1
- package/es/shared/helpers/withCamelCaseProps.d.ts +4 -5
- package/es/shared/helpers/withCamelCaseProps.js +7 -2
- package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/es/shared/legacy/component-helper-legacy.d.ts +19 -0
- package/es/shared/legacy/component-helper-legacy.js +180 -0
- package/es/shared/legacy/component-helper-legacy.js.map +1 -0
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +1 -0
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.js.map +1 -1
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +2 -1
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/shared/locales/sv-SE.d.ts +1 -0
- package/es/shared/locales/sv-SE.js +1 -0
- package/es/shared/locales/sv-SE.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +2 -1
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/es/style/themes/theme-ui/ui-theme-components.css +19 -1
- package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/Context.d.ts +1 -1
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +9 -0
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
- package/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
- package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +1 -1
- package/extensions/forms/Field/Date/Date.js +1 -1
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
- package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
- package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
- package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +2 -0
- package/extensions/forms/Field/Selection/Selection.js +10 -9
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
- package/extensions/forms/Field/Toggle/Toggle.js +26 -9
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
- package/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
- package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
- package/extensions/forms/Form/Isolation/IsolatedContainer.js +54 -0
- package/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
- package/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
- package/extensions/forms/Form/Isolation/Isolation.js +40 -15
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
- package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
- package/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
- package/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
- package/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
- package/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
- package/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
- package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
- package/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
- package/extensions/forms/Form/Isolation/IsolationResetButton.js +100 -0
- package/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +52 -0
- package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
- package/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
- package/extensions/forms/Form/Isolation/useHandleStatus.js +51 -0
- package/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
- package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
- package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
- package/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
- package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
- package/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
- package/extensions/forms/Iterate/EditContainer/index.js +1 -1
- package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
- package/extensions/forms/Iterate/PushContainer/PushContainer.js +16 -57
- package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
- package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
- package/extensions/forms/constants/locales/en-GB.d.ts +1 -1
- package/extensions/forms/constants/locales/en-GB.js +3 -3
- package/extensions/forms/constants/locales/en-GB.js.map +1 -1
- package/extensions/forms/constants/locales/en-US.d.ts +1 -1
- package/extensions/forms/constants/locales/index.d.ts +2 -2
- package/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
- package/extensions/forms/constants/locales/nb-NO.js +3 -3
- package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
- package/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
- package/extensions/forms/constants/locales/sv-SE.js +3 -3
- package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
- package/extensions/forms/hooks/useDataContext.js +5 -3
- package/extensions/forms/hooks/useDataContext.js.map +1 -1
- package/extensions/forms/hooks/useSnapshot.js +18 -15
- package/extensions/forms/hooks/useSnapshot.js.map +1 -1
- package/fragments/drawer-list/DrawerList.d.ts +176 -224
- package/fragments/drawer-list/DrawerList.js +71 -175
- package/fragments/drawer-list/DrawerList.js.map +1 -1
- package/fragments/drawer-list/DrawerListContext.d.ts +27 -2
- package/fragments/drawer-list/DrawerListContext.js.map +1 -1
- package/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
- package/fragments/drawer-list/DrawerListDocs.js +2 -2
- package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
- package/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
- package/fragments/drawer-list/DrawerListHelpers.js +45 -53
- package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
- package/fragments/drawer-list/DrawerListItem.d.ts +30 -0
- package/fragments/drawer-list/DrawerListItem.js +91 -0
- package/fragments/drawer-list/DrawerListItem.js.map +1 -0
- package/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
- package/fragments/drawer-list/DrawerListPortal.js +91 -121
- package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
- package/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
- package/fragments/drawer-list/DrawerListProvider.js +12 -19
- package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/component-helper.d.ts +45 -48
- package/shared/component-helper.js +23 -189
- package/shared/component-helper.js.map +1 -1
- package/shared/helpers/withCamelCaseProps.d.ts +4 -5
- package/shared/helpers/withCamelCaseProps.js +7 -2
- package/shared/helpers/withCamelCaseProps.js.map +1 -1
- package/shared/legacy/component-helper-legacy.d.ts +19 -0
- package/shared/legacy/component-helper-legacy.js +185 -0
- package/shared/legacy/component-helper-legacy.js.map +1 -0
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +1 -0
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.js.map +1 -1
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +2 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/shared/locales/sv-SE.d.ts +1 -0
- package/shared/locales/sv-SE.js +1 -0
- package/shared/locales/sv-SE.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +2 -1
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
- package/style/themes/theme-ui/ui-theme-components.css +19 -1
- package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- package/es/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- package/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- /package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
- /package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
- /package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
|
@@ -1,83 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import
|
|
3
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
-
import React from 'react';
|
|
4
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
6
5
|
import ReactDOM from 'react-dom';
|
|
7
|
-
import PropTypes from 'prop-types';
|
|
8
6
|
import classnames from 'classnames';
|
|
9
7
|
import { warn, getClosestScrollViewElement } from '../../shared/component-helper';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
opened
|
|
14
|
-
|
|
15
|
-
current:
|
|
16
|
-
}),
|
|
17
|
-
rootRef: PropTypes.shape({
|
|
18
|
-
current: PropTypes.oneOfType([PropTypes.node, PropTypes.object])
|
|
19
|
-
}).isRequired,
|
|
20
|
-
include_owner_width: PropTypes.bool,
|
|
21
|
-
independent_width: PropTypes.bool,
|
|
22
|
-
fixed_position: PropTypes.bool,
|
|
23
|
-
className: PropTypes.string
|
|
24
|
-
} : {};
|
|
25
|
-
const drawerListDefaultProps = {
|
|
26
|
-
rootRef: {
|
|
27
|
-
current: null
|
|
8
|
+
function DrawerListPortal({
|
|
9
|
+
innerRef,
|
|
10
|
+
id,
|
|
11
|
+
opened,
|
|
12
|
+
rootRef = {
|
|
13
|
+
current: undefined
|
|
28
14
|
},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
componentDidMount() {
|
|
15
|
+
include_owner_width,
|
|
16
|
+
independent_width,
|
|
17
|
+
fixed_position,
|
|
18
|
+
className,
|
|
19
|
+
children
|
|
20
|
+
}) {
|
|
21
|
+
const [isMounted, setIsMounted] = useState(false);
|
|
22
|
+
const [, setForceRerender] = useState();
|
|
23
|
+
const ref = innerRef || React.createRef();
|
|
24
|
+
const portalElem = useRef();
|
|
25
|
+
const setPosition = useRef();
|
|
26
|
+
const positionTimeout = useRef();
|
|
27
|
+
const customElem = useRef();
|
|
28
|
+
const resizeObserver = useRef();
|
|
29
|
+
const init = () => {
|
|
30
|
+
portalElem.current = getRootElement();
|
|
31
|
+
setIsMounted(true);
|
|
32
|
+
};
|
|
33
|
+
useEffect(() => {
|
|
50
34
|
if (document.readyState === 'complete') {
|
|
51
|
-
|
|
35
|
+
init();
|
|
52
36
|
} else if (typeof window !== 'undefined') {
|
|
53
|
-
window.addEventListener('load',
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
componentWillUnmount() {
|
|
57
|
-
if (typeof window !== 'undefined') {
|
|
58
|
-
window.removeEventListener('load', this.init);
|
|
37
|
+
window.addEventListener('load', init);
|
|
59
38
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
39
|
+
}, []);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
return () => {
|
|
42
|
+
if (typeof window !== 'undefined') {
|
|
43
|
+
window.removeEventListener('load', init);
|
|
44
|
+
}
|
|
45
|
+
removePositionObserver();
|
|
46
|
+
portalElem.current = null;
|
|
47
|
+
};
|
|
48
|
+
}, []);
|
|
49
|
+
const getRootElement = () => {
|
|
64
50
|
if (typeof document !== 'undefined') {
|
|
65
51
|
try {
|
|
66
|
-
let elem = document.getElementById(`${
|
|
52
|
+
let elem = document.getElementById(`${id}-portal`);
|
|
67
53
|
if (elem) {
|
|
68
54
|
return elem;
|
|
69
55
|
}
|
|
70
56
|
elem = document.createElement('div');
|
|
71
|
-
elem.setAttribute('id', `${
|
|
57
|
+
elem.setAttribute('id', `${id}-portal`);
|
|
72
58
|
elem.classList.add('dnb-drawer-list__portal');
|
|
73
|
-
|
|
59
|
+
createMainElement().appendChild(elem);
|
|
74
60
|
return elem;
|
|
75
61
|
} catch (e) {
|
|
76
62
|
warn(e);
|
|
77
63
|
}
|
|
78
64
|
}
|
|
79
|
-
}
|
|
80
|
-
createMainElement() {
|
|
65
|
+
};
|
|
66
|
+
const createMainElement = () => {
|
|
81
67
|
if (typeof document !== 'undefined') {
|
|
82
68
|
try {
|
|
83
69
|
let elem = document.getElementById('dnb-drawer-list__portal');
|
|
@@ -94,18 +80,12 @@ export class DrawerListPortal extends React.PureComponent {
|
|
|
94
80
|
warn(e);
|
|
95
81
|
}
|
|
96
82
|
}
|
|
97
|
-
}
|
|
98
|
-
makeStyle() {
|
|
99
|
-
if (typeof window === 'undefined' || !
|
|
83
|
+
};
|
|
84
|
+
const makeStyle = () => {
|
|
85
|
+
if (typeof window === 'undefined' || !isMounted) {
|
|
100
86
|
return;
|
|
101
87
|
}
|
|
102
88
|
try {
|
|
103
|
-
const {
|
|
104
|
-
rootRef,
|
|
105
|
-
include_owner_width,
|
|
106
|
-
independent_width,
|
|
107
|
-
fixed_position
|
|
108
|
-
} = this.props;
|
|
109
89
|
const rootElem = rootRef.current;
|
|
110
90
|
if (!rootElem) {
|
|
111
91
|
return;
|
|
@@ -118,14 +98,14 @@ export class DrawerListPortal extends React.PureComponent {
|
|
|
118
98
|
width = minWidth * 16;
|
|
119
99
|
}
|
|
120
100
|
const customWidth = rootElem.getBoundingClientRect().width;
|
|
121
|
-
if (!independent_width &&
|
|
101
|
+
if (!independent_width && (customWidth || 0) >= 64) {
|
|
122
102
|
width = customWidth;
|
|
123
103
|
}
|
|
124
104
|
const rect = rootElem.getBoundingClientRect();
|
|
125
105
|
const scrollY = fixed_position ? 0 : window.scrollY !== undefined ? window.scrollY : window.pageYOffset;
|
|
126
106
|
const scrollX = fixed_position ? 0 : window.scrollX !== undefined ? window.scrollX : window.pageXOffset;
|
|
127
107
|
let top = scrollY + rect.top;
|
|
128
|
-
let left = scrollX + rect.left + (include_owner_width ? parseFloat(ownerWidth || 0) : 0);
|
|
108
|
+
let left = scrollX + rect.left + (include_owner_width ? parseFloat(ownerWidth || '0') : 0);
|
|
129
109
|
if (width > window.innerWidth) {
|
|
130
110
|
width = window.innerWidth;
|
|
131
111
|
}
|
|
@@ -145,70 +125,58 @@ export class DrawerListPortal extends React.PureComponent {
|
|
|
145
125
|
} catch (e) {
|
|
146
126
|
warn(e);
|
|
147
127
|
}
|
|
148
|
-
}
|
|
149
|
-
addPositionObserver() {
|
|
150
|
-
if (
|
|
128
|
+
};
|
|
129
|
+
const addPositionObserver = () => {
|
|
130
|
+
if (setPosition.current || typeof window === 'undefined') {
|
|
151
131
|
return;
|
|
152
132
|
}
|
|
153
|
-
|
|
154
|
-
clearTimeout(
|
|
155
|
-
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
random: Date.now()
|
|
159
|
-
});
|
|
133
|
+
setPosition.current = () => {
|
|
134
|
+
clearTimeout(positionTimeout.current);
|
|
135
|
+
positionTimeout.current = setTimeout(() => {
|
|
136
|
+
if (opened) {
|
|
137
|
+
setForceRerender(Date.now());
|
|
160
138
|
}
|
|
161
139
|
}, 200);
|
|
162
140
|
};
|
|
163
|
-
|
|
164
|
-
|
|
141
|
+
customElem.current = getClosestScrollViewElement(rootRef.current) || window;
|
|
142
|
+
customElem.current.addEventListener('scroll', setPosition.current);
|
|
165
143
|
try {
|
|
166
|
-
|
|
167
|
-
|
|
144
|
+
resizeObserver.current = new ResizeObserver(setPosition.current);
|
|
145
|
+
resizeObserver.current.observe(document.body);
|
|
168
146
|
} catch (e) {
|
|
169
|
-
window.addEventListener('resize',
|
|
147
|
+
window.addEventListener('resize', setPosition.current);
|
|
170
148
|
}
|
|
171
|
-
}
|
|
172
|
-
removePositionObserver() {
|
|
173
|
-
clearTimeout(
|
|
174
|
-
if (typeof window !== 'undefined' &&
|
|
175
|
-
if (
|
|
176
|
-
|
|
149
|
+
};
|
|
150
|
+
const removePositionObserver = () => {
|
|
151
|
+
clearTimeout(positionTimeout.current);
|
|
152
|
+
if (typeof window !== 'undefined' && setPosition.current) {
|
|
153
|
+
if (customElem.current) {
|
|
154
|
+
customElem.current.removeEventListener('scroll', setPosition.current);
|
|
177
155
|
}
|
|
178
|
-
if (
|
|
179
|
-
|
|
180
|
-
|
|
156
|
+
if (resizeObserver.current) {
|
|
157
|
+
resizeObserver.current.disconnect();
|
|
158
|
+
resizeObserver.current = null;
|
|
181
159
|
}
|
|
182
|
-
window.removeEventListener('resize',
|
|
160
|
+
window.removeEventListener('resize', setPosition.current);
|
|
183
161
|
}
|
|
184
|
-
|
|
162
|
+
setPosition.current = null;
|
|
163
|
+
};
|
|
164
|
+
if (!portalElem.current) {
|
|
165
|
+
return null;
|
|
185
166
|
}
|
|
186
|
-
|
|
187
|
-
if (
|
|
188
|
-
|
|
167
|
+
if (typeof window !== 'undefined' && isMounted) {
|
|
168
|
+
if (opened) {
|
|
169
|
+
addPositionObserver();
|
|
189
170
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
} = this.props;
|
|
197
|
-
if (opened) {
|
|
198
|
-
this.addPositionObserver();
|
|
199
|
-
}
|
|
200
|
-
const style = opened ? this.makeStyle() : {};
|
|
201
|
-
return ReactDOM.createPortal(React.createElement("span", {
|
|
202
|
-
className: classnames('dnb-drawer-list__portal__style', className, fixed_position && 'dnb-drawer-list__portal__style--fixed'),
|
|
203
|
-
style: style,
|
|
204
|
-
ref: this.ref
|
|
205
|
-
}, children), this.portalElem);
|
|
206
|
-
}
|
|
207
|
-
return null;
|
|
171
|
+
const style = opened ? makeStyle() : {};
|
|
172
|
+
return ReactDOM.createPortal(React.createElement("span", {
|
|
173
|
+
className: classnames('dnb-drawer-list__portal__style', className, fixed_position && 'dnb-drawer-list__portal__style--fixed'),
|
|
174
|
+
style: style,
|
|
175
|
+
ref: ref
|
|
176
|
+
}, children), portalElem.current);
|
|
208
177
|
}
|
|
178
|
+
return null;
|
|
209
179
|
}
|
|
210
|
-
_defineProperty(DrawerListPortal, "defaultProps", _objectSpread({}, drawerListDefaultProps));
|
|
211
|
-
process.env.NODE_ENV !== "production" ? DrawerListPortal.propTypes = _objectSpread({}, drawerListPropTypes) : void 0;
|
|
212
180
|
export default React.forwardRef((props, ref) => {
|
|
213
181
|
return React.createElement(DrawerListPortal, _extends({
|
|
214
182
|
innerRef: ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerListPortal.js","names":["React","ReactDOM","PropTypes","classnames","warn","getClosestScrollViewElement","drawerListPropTypes","process","env","NODE_ENV","id","string","isRequired","children","node","opened","bool","innerRef","shape","current","oneOfType","object","rootRef","include_owner_width","independent_width","fixed_position","className","drawerListDefaultProps","DrawerListPortal","PureComponent","constructor","props","_defineProperty","isMounted","portalElem","useRootElement","setState","ref","createRef","componentDidMount","document","readyState","init","window","addEventListener","componentWillUnmount","removeEventListener","removePositionObserver","elem","getElementById","createElement","setAttribute","classList","add","createMainElement","appendChild","e","body","makeStyle","state","rootElem","ownerElem","parentElement","width","ownerWidth","getComputedStyle","parseFloat","minWidth","documentElement","getPropertyValue","customWidth","getBoundingClientRect","rect","scrollY","undefined","pageYOffset","scrollX","pageXOffset","top","left","innerWidth","style","addPositionObserver","setPosition","clearTimeout","positionTimeout","setTimeout","random","Date","now","customElem","resizeObserver","ResizeObserver","observe","disconnect","render","createPortal","_objectSpread","propTypes","forwardRef","_extends"],"sources":["../../../../src/fragments/drawer-list/DrawerListPortal.js"],"sourcesContent":["/**\n * Web DrawerList Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n getClosestScrollViewElement,\n} from '../../shared/component-helper'\n\nconst drawerListPropTypes = {\n id: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n opened: PropTypes.bool.isRequired,\n innerRef: PropTypes.shape({\n current: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n }),\n rootRef: PropTypes.shape({\n current: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n }).isRequired,\n include_owner_width: PropTypes.bool,\n independent_width: PropTypes.bool,\n fixed_position: PropTypes.bool,\n className: PropTypes.string,\n}\n\nconst drawerListDefaultProps = {\n rootRef: { current: null },\n innerRef: null,\n include_owner_width: false,\n independent_width: false,\n fixed_position: false,\n className: null,\n}\n\nexport class DrawerListPortal extends React.PureComponent {\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n state = { isMounted: false }\n\n constructor(props) {\n super(props)\n this.ref = props.innerRef || React.createRef()\n }\n\n init = () => {\n this.portalElem = this.useRootElement()\n this.setState({ isMounted: true })\n }\n\n componentDidMount() {\n if (document.readyState === 'complete') {\n this.init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', this.init)\n }\n }\n\n componentWillUnmount() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', this.init)\n }\n\n this.removePositionObserver()\n this.portalElem = null\n }\n\n useRootElement() {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById(`${this.props.id}-portal`)\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('id', `${this.props.id}-portal`)\n elem.classList.add('dnb-drawer-list__portal')\n this.createMainElement().appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n createMainElement() {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById('dnb-drawer-list__portal')\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('role', 'presentation')\n elem.setAttribute('id', 'dnb-drawer-list__portal')\n elem.classList.add('dnb-core-style')\n document.body.appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n makeStyle() {\n if (typeof window === 'undefined' || !this.state.isMounted) {\n return // stop here\n }\n\n try {\n const {\n rootRef,\n include_owner_width,\n independent_width,\n fixed_position,\n } = this.props\n\n const rootElem = rootRef.current\n if (!rootElem) {\n return // stop here\n }\n const ownerElem = rootElem.parentElement\n\n // min width as a threshold\n let width = 64\n\n // Handle width\n const ownerWidth = window.getComputedStyle(ownerElem).width\n\n // fallback for too narrow width - in case there is not width -> e.g. \"--is-popup\"\n if (independent_width || parseFloat(ownerWidth) < 64) {\n // get min-width from CSS property\n const minWidth =\n parseFloat(\n window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--drawer-list-width')\n ) || 0\n width = minWidth * 16\n }\n\n // also check if root \"has a custom width\"\n const customWidth = rootElem.getBoundingClientRect().width\n if (!independent_width && parseFloat(customWidth || 0) >= 64) {\n width = customWidth\n }\n\n // Handle positions\n const rect = rootElem.getBoundingClientRect()\n const scrollY = fixed_position\n ? 0\n : window.scrollY !== undefined\n ? window.scrollY\n : window.pageYOffset\n const scrollX = fixed_position\n ? 0\n : window.scrollX !== undefined\n ? window.scrollX\n : window.pageXOffset\n\n let top = scrollY + rect.top\n let left =\n scrollX +\n rect.left +\n (include_owner_width ? parseFloat(ownerWidth || 0) : 0)\n\n if (width > window.innerWidth) {\n width = window.innerWidth\n }\n if (top < 0) {\n top = 0\n }\n if (left < 0) {\n left = 0\n }\n\n // NB: before we recalculated the values to REM, but iOS rounds this and we get a wrong total value out of that!\n const style = {\n width,\n '--drawer-list-width': `${width / 16}rem`, // used by the \"drawer-list-scale-in\" animation\n top,\n left,\n }\n\n return style\n } catch (e) {\n warn(e)\n }\n }\n\n addPositionObserver() {\n if (this.setPosition || typeof window === 'undefined') {\n return // stop here\n }\n\n // debounce\n this.setPosition = () => {\n clearTimeout(this.positionTimeout)\n this.positionTimeout = setTimeout(() => {\n if (this.props.opened) {\n this.setState({\n random: Date.now(), // force re-render\n })\n }\n }, 200)\n }\n\n this.customElem =\n getClosestScrollViewElement(this.props.rootRef.current) || window\n this.customElem.addEventListener('scroll', this.setPosition)\n\n try {\n this.resizeObserver = new ResizeObserver(this.setPosition)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setPosition)\n }\n }\n\n removePositionObserver() {\n clearTimeout(this.positionTimeout)\n if (typeof window !== 'undefined' && this.setPosition) {\n if (this.customElem) {\n this.customElem.removeEventListener('scroll', this.setPosition)\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n window.removeEventListener('resize', this.setPosition)\n }\n this.setPosition = null\n }\n\n render() {\n if (!this.portalElem) {\n return null // stop here\n }\n\n if (typeof window !== 'undefined' && this.state.isMounted) {\n const { opened, fixed_position, className, children } = this.props\n\n if (opened) {\n this.addPositionObserver()\n }\n\n const style = opened ? this.makeStyle() : {}\n\n return ReactDOM.createPortal(\n <span\n className={classnames(\n 'dnb-drawer-list__portal__style',\n fixed_position && 'dnb-drawer-list__portal__style--fixed',\n className\n )}\n style={style}\n ref={this.ref}\n >\n {children}\n </span>,\n this.portalElem\n )\n }\n\n return null\n }\n}\n\nexport default React.forwardRef((props, ref) => {\n return <DrawerListPortal innerRef={ref} {...props} />\n})\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerListPortal.js","names":["React","useEffect","useRef","useState","ReactDOM","classnames","warn","getClosestScrollViewElement","DrawerListPortal","innerRef","id","opened","rootRef","current","undefined","include_owner_width","independent_width","fixed_position","className","children","isMounted","setIsMounted","setForceRerender","ref","createRef","portalElem","setPosition","positionTimeout","customElem","resizeObserver","init","getRootElement","document","readyState","window","addEventListener","removeEventListener","removePositionObserver","elem","getElementById","createElement","setAttribute","classList","add","createMainElement","appendChild","e","body","makeStyle","rootElem","ownerElem","parentElement","width","ownerWidth","getComputedStyle","parseFloat","minWidth","documentElement","getPropertyValue","customWidth","getBoundingClientRect","rect","scrollY","pageYOffset","scrollX","pageXOffset","top","left","innerWidth","style","addPositionObserver","clearTimeout","setTimeout","Date","now","ResizeObserver","observe","disconnect","createPortal","forwardRef","props","_extends"],"sources":["../../../../src/fragments/drawer-list/DrawerListPortal.tsx"],"sourcesContent":["/**\n * Web DrawerList Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React, { useEffect, useRef, useState } from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport {\n warn,\n getClosestScrollViewElement,\n} from '../../shared/component-helper'\n\nexport type DrawerListPortalProps = {\n id: string\n children: React.ReactNode\n opened: boolean\n innerRef?: React.ForwardedRef<HTMLSpanElement>\n rootRef: React.RefObject<HTMLSpanElement>\n include_owner_width?: boolean\n independent_width?: boolean\n fixed_position?: boolean\n className?: string\n}\n\nfunction DrawerListPortal({\n innerRef,\n id,\n opened,\n rootRef = { current: undefined },\n include_owner_width,\n independent_width,\n fixed_position,\n className,\n children,\n}: DrawerListPortalProps) {\n const [isMounted, setIsMounted] = useState(false)\n const [, setForceRerender] = useState<number>()\n\n const ref: React.LegacyRef<HTMLSpanElement> =\n innerRef || React.createRef()\n\n const portalElem = useRef<HTMLElement>()\n const setPosition = useRef<() => void>()\n const positionTimeout = useRef<NodeJS.Timeout>()\n const customElem = useRef<Element | Window>()\n const resizeObserver = useRef<ResizeObserver>()\n\n const init = () => {\n portalElem.current = getRootElement()\n setIsMounted(true)\n }\n\n useEffect(() => {\n if (document.readyState === 'complete') {\n init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', init)\n }\n }, [])\n\n useEffect(() => {\n return () => {\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', init)\n }\n\n removePositionObserver()\n portalElem.current = null\n }\n }, [])\n\n const getRootElement = () => {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById(`${id}-portal`)\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('id', `${id}-portal`)\n elem.classList.add('dnb-drawer-list__portal')\n createMainElement().appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n const createMainElement = () => {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById('dnb-drawer-list__portal')\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('role', 'presentation')\n elem.setAttribute('id', 'dnb-drawer-list__portal')\n elem.classList.add('dnb-core-style')\n document.body.appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n const makeStyle = () => {\n if (typeof window === 'undefined' || !isMounted) {\n return // stop here\n }\n\n try {\n const rootElem = rootRef.current\n if (!rootElem) {\n return // stop here\n }\n const ownerElem = rootElem.parentElement\n\n // min width as a threshold\n let width = 64\n\n // Handle width\n const ownerWidth = window.getComputedStyle(ownerElem).width\n\n // fallback for too narrow width - in case there is not width -> e.g. \"--is-popup\"\n if (independent_width || parseFloat(ownerWidth) < 64) {\n // get min-width from CSS property\n const minWidth =\n parseFloat(\n window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--drawer-list-width')\n ) || 0\n width = minWidth * 16\n }\n\n // also check if root \"has a custom width\"\n const customWidth = rootElem.getBoundingClientRect().width\n if (!independent_width && (customWidth || 0) >= 64) {\n width = customWidth\n }\n\n // Handle positions\n const rect = rootElem.getBoundingClientRect()\n const scrollY = fixed_position\n ? 0\n : window.scrollY !== undefined\n ? window.scrollY\n : window.pageYOffset\n const scrollX = fixed_position\n ? 0\n : window.scrollX !== undefined\n ? window.scrollX\n : window.pageXOffset\n\n let top = scrollY + rect.top\n let left =\n scrollX +\n rect.left +\n (include_owner_width ? parseFloat(ownerWidth || '0') : 0)\n\n if (width > window.innerWidth) {\n width = window.innerWidth\n }\n if (top < 0) {\n top = 0\n }\n if (left < 0) {\n left = 0\n }\n\n // NB: before we recalculated the values to REM, but iOS rounds this and we get a wrong total value out of that!\n const style = {\n width,\n '--drawer-list-width': `${width / 16}rem`, // used by the \"drawer-list-scale-in\" animation\n top,\n left,\n }\n\n return style\n } catch (e) {\n warn(e)\n }\n }\n\n const addPositionObserver = () => {\n if (setPosition.current || typeof window === 'undefined') {\n return // stop here\n }\n\n // debounce\n setPosition.current = () => {\n clearTimeout(positionTimeout.current)\n positionTimeout.current = setTimeout(() => {\n if (opened) {\n setForceRerender(Date.now())\n }\n }, 200)\n }\n\n customElem.current =\n getClosestScrollViewElement(rootRef.current) || window\n customElem.current.addEventListener('scroll', setPosition.current)\n\n try {\n resizeObserver.current = new ResizeObserver(setPosition.current)\n resizeObserver.current.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', setPosition.current)\n }\n }\n\n const removePositionObserver = () => {\n clearTimeout(positionTimeout.current)\n if (typeof window !== 'undefined' && setPosition.current) {\n if (customElem.current) {\n customElem.current.removeEventListener(\n 'scroll',\n setPosition.current\n )\n }\n if (resizeObserver.current) {\n resizeObserver.current.disconnect()\n resizeObserver.current = null\n }\n window.removeEventListener('resize', setPosition.current)\n }\n setPosition.current = null\n }\n\n if (!portalElem.current) {\n return null // stop here\n }\n\n if (typeof window !== 'undefined' && isMounted) {\n if (opened) {\n addPositionObserver()\n }\n\n const style = opened ? makeStyle() : {}\n\n return ReactDOM.createPortal(\n <span\n className={classnames(\n 'dnb-drawer-list__portal__style',\n fixed_position && 'dnb-drawer-list__portal__style--fixed',\n className\n )}\n style={style}\n ref={ref}\n >\n {children}\n </span>,\n portalElem.current\n )\n }\n\n return null\n}\n\nexport default React.forwardRef(\n (\n props: Omit<DrawerListPortalProps, 'innerRef'>,\n ref: React.ForwardedRef<HTMLSpanElement>\n ) => {\n return <DrawerListPortal innerRef={ref} {...props} />\n }\n)\n"],"mappings":";;;AAOA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,IAAI,EACJC,2BAA2B,QACtB,+BAA+B;AActC,SAASC,gBAAgBA,CAAC;EACxBC,QAAQ;EACRC,EAAE;EACFC,MAAM;EACNC,OAAO,GAAG;IAAEC,OAAO,EAAEC;EAAU,CAAC;EAChCC,mBAAmB;EACnBC,iBAAiB;EACjBC,cAAc;EACdC,SAAS;EACTC;AACqB,CAAC,EAAE;EACxB,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGlB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,GAAGmB,gBAAgB,CAAC,GAAGnB,QAAQ,CAAS,CAAC;EAE/C,MAAMoB,GAAqC,GACzCd,QAAQ,IAAIT,KAAK,CAACwB,SAAS,CAAC,CAAC;EAE/B,MAAMC,UAAU,GAAGvB,MAAM,CAAc,CAAC;EACxC,MAAMwB,WAAW,GAAGxB,MAAM,CAAa,CAAC;EACxC,MAAMyB,eAAe,GAAGzB,MAAM,CAAiB,CAAC;EAChD,MAAM0B,UAAU,GAAG1B,MAAM,CAAmB,CAAC;EAC7C,MAAM2B,cAAc,GAAG3B,MAAM,CAAiB,CAAC;EAE/C,MAAM4B,IAAI,GAAGA,CAAA,KAAM;IACjBL,UAAU,CAACZ,OAAO,GAAGkB,cAAc,CAAC,CAAC;IACrCV,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACd,IAAI+B,QAAQ,CAACC,UAAU,KAAK,UAAU,EAAE;MACtCH,IAAI,CAAC,CAAC;IACR,CAAC,MAAM,IAAI,OAAOI,MAAM,KAAK,WAAW,EAAE;MACxCA,MAAM,CAACC,gBAAgB,CAAC,MAAM,EAAEL,IAAI,CAAC;IACvC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN7B,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAI,OAAOiC,MAAM,KAAK,WAAW,EAAE;QACjCA,MAAM,CAACE,mBAAmB,CAAC,MAAM,EAAEN,IAAI,CAAC;MAC1C;MAEAO,sBAAsB,CAAC,CAAC;MACxBZ,UAAU,CAACZ,OAAO,GAAG,IAAI;IAC3B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMkB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAI;QACF,IAAIM,IAAI,GAAGN,QAAQ,CAACO,cAAc,CAAC,GAAG7B,EAAE,SAAS,CAAC;QAClD,IAAI4B,IAAI,EAAE;UACR,OAAOA,IAAI;QACb;QAEAA,IAAI,GAAGN,QAAQ,CAACQ,aAAa,CAAC,KAAK,CAAC;QACpCF,IAAI,CAACG,YAAY,CAAC,IAAI,EAAE,GAAG/B,EAAE,SAAS,CAAC;QACvC4B,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,yBAAyB,CAAC;QAC7CC,iBAAiB,CAAC,CAAC,CAACC,WAAW,CAACP,IAAI,CAAC;QAErC,OAAOA,IAAI;MACb,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACVxC,IAAI,CAACwC,CAAC,CAAC;MACT;IACF;EACF,CAAC;EAED,MAAMF,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,IAAI,OAAOZ,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAI;QACF,IAAIM,IAAI,GAAGN,QAAQ,CAACO,cAAc,CAAC,yBAAyB,CAAC;QAC7D,IAAID,IAAI,EAAE;UACR,OAAOA,IAAI;QACb;QAEAA,IAAI,GAAGN,QAAQ,CAACQ,aAAa,CAAC,KAAK,CAAC;QACpCF,IAAI,CAACG,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;QACzCH,IAAI,CAACG,YAAY,CAAC,IAAI,EAAE,yBAAyB,CAAC;QAClDH,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,gBAAgB,CAAC;QACpCX,QAAQ,CAACe,IAAI,CAACF,WAAW,CAACP,IAAI,CAAC;QAE/B,OAAOA,IAAI;MACb,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACVxC,IAAI,CAACwC,CAAC,CAAC;MACT;IACF;EACF,CAAC;EAED,MAAME,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,OAAOd,MAAM,KAAK,WAAW,IAAI,CAACd,SAAS,EAAE;MAC/C;IACF;IAEA,IAAI;MACF,MAAM6B,QAAQ,GAAGrC,OAAO,CAACC,OAAO;MAChC,IAAI,CAACoC,QAAQ,EAAE;QACb;MACF;MACA,MAAMC,SAAS,GAAGD,QAAQ,CAACE,aAAa;MAGxC,IAAIC,KAAK,GAAG,EAAE;MAGd,MAAMC,UAAU,GAAGnB,MAAM,CAACoB,gBAAgB,CAACJ,SAAS,CAAC,CAACE,KAAK;MAG3D,IAAIpC,iBAAiB,IAAIuC,UAAU,CAACF,UAAU,CAAC,GAAG,EAAE,EAAE;QAEpD,MAAMG,QAAQ,GACZD,UAAU,CACRrB,MAAM,CACHoB,gBAAgB,CAACtB,QAAQ,CAACyB,eAAe,CAAC,CAC1CC,gBAAgB,CAAC,qBAAqB,CAC3C,CAAC,IAAI,CAAC;QACRN,KAAK,GAAGI,QAAQ,GAAG,EAAE;MACvB;MAGA,MAAMG,WAAW,GAAGV,QAAQ,CAACW,qBAAqB,CAAC,CAAC,CAACR,KAAK;MAC1D,IAAI,CAACpC,iBAAiB,IAAI,CAAC2C,WAAW,IAAI,CAAC,KAAK,EAAE,EAAE;QAClDP,KAAK,GAAGO,WAAW;MACrB;MAGA,MAAME,IAAI,GAAGZ,QAAQ,CAACW,qBAAqB,CAAC,CAAC;MAC7C,MAAME,OAAO,GAAG7C,cAAc,GAC1B,CAAC,GACDiB,MAAM,CAAC4B,OAAO,KAAKhD,SAAS,GAC5BoB,MAAM,CAAC4B,OAAO,GACd5B,MAAM,CAAC6B,WAAW;MACtB,MAAMC,OAAO,GAAG/C,cAAc,GAC1B,CAAC,GACDiB,MAAM,CAAC8B,OAAO,KAAKlD,SAAS,GAC5BoB,MAAM,CAAC8B,OAAO,GACd9B,MAAM,CAAC+B,WAAW;MAEtB,IAAIC,GAAG,GAAGJ,OAAO,GAAGD,IAAI,CAACK,GAAG;MAC5B,IAAIC,IAAI,GACNH,OAAO,GACPH,IAAI,CAACM,IAAI,IACRpD,mBAAmB,GAAGwC,UAAU,CAACF,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;MAE3D,IAAID,KAAK,GAAGlB,MAAM,CAACkC,UAAU,EAAE;QAC7BhB,KAAK,GAAGlB,MAAM,CAACkC,UAAU;MAC3B;MACA,IAAIF,GAAG,GAAG,CAAC,EAAE;QACXA,GAAG,GAAG,CAAC;MACT;MACA,IAAIC,IAAI,GAAG,CAAC,EAAE;QACZA,IAAI,GAAG,CAAC;MACV;MAGA,MAAME,KAAK,GAAG;QACZjB,KAAK;QACL,qBAAqB,EAAE,GAAGA,KAAK,GAAG,EAAE,KAAK;QACzCc,GAAG;QACHC;MACF,CAAC;MAED,OAAOE,KAAK;IACd,CAAC,CAAC,OAAOvB,CAAC,EAAE;MACVxC,IAAI,CAACwC,CAAC,CAAC;IACT;EACF,CAAC;EAED,MAAMwB,mBAAmB,GAAGA,CAAA,KAAM;IAChC,IAAI5C,WAAW,CAACb,OAAO,IAAI,OAAOqB,MAAM,KAAK,WAAW,EAAE;MACxD;IACF;IAGAR,WAAW,CAACb,OAAO,GAAG,MAAM;MAC1B0D,YAAY,CAAC5C,eAAe,CAACd,OAAO,CAAC;MACrCc,eAAe,CAACd,OAAO,GAAG2D,UAAU,CAAC,MAAM;QACzC,IAAI7D,MAAM,EAAE;UACVW,gBAAgB,CAACmD,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAC9B;MACF,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IAED9C,UAAU,CAACf,OAAO,GAChBN,2BAA2B,CAACK,OAAO,CAACC,OAAO,CAAC,IAAIqB,MAAM;IACxDN,UAAU,CAACf,OAAO,CAACsB,gBAAgB,CAAC,QAAQ,EAAET,WAAW,CAACb,OAAO,CAAC;IAElE,IAAI;MACFgB,cAAc,CAAChB,OAAO,GAAG,IAAI8D,cAAc,CAACjD,WAAW,CAACb,OAAO,CAAC;MAChEgB,cAAc,CAAChB,OAAO,CAAC+D,OAAO,CAAC5C,QAAQ,CAACe,IAAI,CAAC;IAC/C,CAAC,CAAC,OAAOD,CAAC,EAAE;MACVZ,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAET,WAAW,CAACb,OAAO,CAAC;IACxD;EACF,CAAC;EAED,MAAMwB,sBAAsB,GAAGA,CAAA,KAAM;IACnCkC,YAAY,CAAC5C,eAAe,CAACd,OAAO,CAAC;IACrC,IAAI,OAAOqB,MAAM,KAAK,WAAW,IAAIR,WAAW,CAACb,OAAO,EAAE;MACxD,IAAIe,UAAU,CAACf,OAAO,EAAE;QACtBe,UAAU,CAACf,OAAO,CAACuB,mBAAmB,CACpC,QAAQ,EACRV,WAAW,CAACb,OACd,CAAC;MACH;MACA,IAAIgB,cAAc,CAAChB,OAAO,EAAE;QAC1BgB,cAAc,CAAChB,OAAO,CAACgE,UAAU,CAAC,CAAC;QACnChD,cAAc,CAAChB,OAAO,GAAG,IAAI;MAC/B;MACAqB,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEV,WAAW,CAACb,OAAO,CAAC;IAC3D;IACAa,WAAW,CAACb,OAAO,GAAG,IAAI;EAC5B,CAAC;EAED,IAAI,CAACY,UAAU,CAACZ,OAAO,EAAE;IACvB,OAAO,IAAI;EACb;EAEA,IAAI,OAAOqB,MAAM,KAAK,WAAW,IAAId,SAAS,EAAE;IAC9C,IAAIT,MAAM,EAAE;MACV2D,mBAAmB,CAAC,CAAC;IACvB;IAEA,MAAMD,KAAK,GAAG1D,MAAM,GAAGqC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO5C,QAAQ,CAAC0E,YAAY,CAC1B9E,KAAA,CAAAwC,aAAA;MACEtB,SAAS,EAAEb,UAAU,CACnB,gCAAgC,EAEhCa,SAAS,EADTD,cAAc,IAAI,uCAEpB,CAAE;MACFoD,KAAK,EAAEA,KAAM;MACb9C,GAAG,EAAEA;IAAI,GAERJ,QACG,CAAC,EACPM,UAAU,CAACZ,OACb,CAAC;EACH;EAEA,OAAO,IAAI;AACb;AAEA,eAAeb,KAAK,CAAC+E,UAAU,CAC7B,CACEC,KAA8C,EAC9CzD,GAAwC,KACrC;EACH,OAAOvB,KAAA,CAAAwC,aAAA,CAAChC,gBAAgB,EAAAyE,QAAA;IAACxE,QAAQ,EAAEc;EAAI,GAAKyD,KAAK,CAAG,CAAC;AACvD,CACF,CAAC","ignoreList":[]}
|
|
@@ -1,14 +1,220 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Web DrawerList Provider
|
|
3
|
+
*
|
|
4
|
+
* This is a legacy component.
|
|
5
|
+
* For referencing while developing new features, please use a Functional component.
|
|
6
|
+
*/
|
|
7
|
+
/// <reference types="node" />
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import Context from '../../shared/Context';
|
|
10
|
+
import { DetectOutsideClickClass } from '../../shared/component-helper';
|
|
11
|
+
import { DrawerListContextState } from './DrawerListContext';
|
|
2
12
|
import type { SpacingProps } from '../../shared/types';
|
|
3
13
|
import type { DrawerListProps } from './DrawerList';
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
export type DrawerListProviderProps = Omit<DrawerListProps, 'children'> & Omit<React.HTMLProps<HTMLElement>, 'data' | 'role' | 'size' | 'value'> & SpacingProps & {
|
|
15
|
+
hasFocusOnElement?: boolean;
|
|
16
|
+
getActiveElement?: () => HTMLElement;
|
|
17
|
+
setData?: (data: any, cb?: any, { overwriteOriginalData, }?: {
|
|
18
|
+
overwriteOriginalData?: boolean;
|
|
19
|
+
}) => DrawerListProvider;
|
|
20
|
+
setState?: (state: any, cb?: any) => void;
|
|
21
|
+
setWrapperElement?: (wrapper_element?: string | HTMLElement) => DrawerListProvider;
|
|
22
|
+
setHidden?: (args?: any[], onStateComplete?: any) => void;
|
|
23
|
+
selectItemAndClose?: (itemToSelect: any, args?: {
|
|
24
|
+
fireSelectEvent?: boolean;
|
|
25
|
+
event: any;
|
|
26
|
+
}) => any;
|
|
27
|
+
selected_item?: string | number;
|
|
28
|
+
active_item?: string | number;
|
|
29
|
+
showFocusRing?: boolean;
|
|
30
|
+
closestToTop?: number;
|
|
31
|
+
closestToBottom?: number;
|
|
32
|
+
usePortal?: boolean;
|
|
33
|
+
addObservers?: () => void;
|
|
34
|
+
removeObservers?: () => void;
|
|
35
|
+
setVisible?: (args?: Record<string, any>, onStateComplete?: any) => void;
|
|
36
|
+
toggleVisible?: (...args: any[]) => void;
|
|
37
|
+
selectItem?: (itemToSelect: any, args?: {
|
|
38
|
+
fireSelectEvent?: boolean;
|
|
39
|
+
event?: any;
|
|
40
|
+
closeOnSelection?: boolean;
|
|
41
|
+
}) => any;
|
|
42
|
+
scrollToItem?: (active_item: any, opt?: {
|
|
43
|
+
scrollTo?: boolean;
|
|
44
|
+
element?: any;
|
|
45
|
+
}) => void;
|
|
46
|
+
setActiveItemAndScrollToIt?: (active_item: any, args?: {
|
|
47
|
+
fireSelectEvent?: boolean;
|
|
48
|
+
scrollTo?: boolean;
|
|
49
|
+
event?: any;
|
|
50
|
+
}) => void;
|
|
51
|
+
_refShell?: React.RefObject<HTMLSpanElement>;
|
|
52
|
+
_refTriangle?: React.RefObject<HTMLLIElement & HTMLSpanElement>;
|
|
53
|
+
_refUl?: React.RefObject<HTMLUListElement>;
|
|
54
|
+
_refRoot?: React.RefObject<HTMLSpanElement>;
|
|
55
|
+
_rootElem?: Window | Element;
|
|
56
|
+
attributes?: Record<string, any>;
|
|
57
|
+
children: React.ReactNode;
|
|
58
|
+
};
|
|
59
|
+
export default class DrawerListProvider extends React.PureComponent<DrawerListProviderProps, DrawerListContextState> {
|
|
60
|
+
static contextType: React.Context<import("../../shared/Context").ContextProps>;
|
|
61
|
+
context: React.ContextType<typeof Context>;
|
|
62
|
+
static defaultProps: {
|
|
63
|
+
enable_body_lock: boolean;
|
|
64
|
+
page_offset: any;
|
|
65
|
+
observer_element: any;
|
|
66
|
+
min_height: number;
|
|
67
|
+
id: any;
|
|
68
|
+
role: string;
|
|
69
|
+
cache_hash: any;
|
|
70
|
+
triangle_position: string;
|
|
71
|
+
scrollable: boolean;
|
|
72
|
+
focusable: boolean;
|
|
73
|
+
max_height: any;
|
|
74
|
+
direction: string;
|
|
75
|
+
size: string;
|
|
76
|
+
no_animation: boolean;
|
|
77
|
+
no_scroll_animation: boolean;
|
|
78
|
+
prevent_selection: boolean;
|
|
79
|
+
action_menu: boolean;
|
|
80
|
+
is_popup: boolean;
|
|
81
|
+
align_drawer: string;
|
|
82
|
+
wrapper_element: any;
|
|
83
|
+
default_value: any;
|
|
84
|
+
value: string;
|
|
85
|
+
portal_class: any;
|
|
86
|
+
list_class: any;
|
|
87
|
+
skip_portal: any;
|
|
88
|
+
prevent_close: boolean;
|
|
89
|
+
keep_open: boolean;
|
|
90
|
+
prevent_focus: boolean;
|
|
91
|
+
fixed_position: boolean;
|
|
92
|
+
independent_width: boolean;
|
|
93
|
+
skip_keysearch: boolean;
|
|
94
|
+
opened: any;
|
|
95
|
+
data: any;
|
|
96
|
+
raw_data: any;
|
|
97
|
+
ignore_events: any;
|
|
98
|
+
className: any;
|
|
99
|
+
children: any;
|
|
100
|
+
on_show: any;
|
|
101
|
+
on_hide: any;
|
|
102
|
+
handle_dismiss_focus: any;
|
|
103
|
+
on_change: any;
|
|
104
|
+
on_pre_change: any;
|
|
105
|
+
on_resize: any;
|
|
106
|
+
on_select: any;
|
|
107
|
+
on_state_update: any;
|
|
108
|
+
options_render: any;
|
|
109
|
+
};
|
|
110
|
+
static blurDelay: number;
|
|
111
|
+
static isOpen: boolean;
|
|
112
|
+
static getDerivedStateFromProps(props: any, state: any): DrawerListContextState;
|
|
113
|
+
attributes: object;
|
|
114
|
+
_refRoot: React.RefObject<HTMLSpanElement>;
|
|
115
|
+
_refShell: React.RefObject<HTMLSpanElement>;
|
|
116
|
+
_refUl: React.RefObject<HTMLUListElement>;
|
|
117
|
+
_refTriangle: React.RefObject<HTMLLIElement & HTMLSpanElement>;
|
|
118
|
+
_showTimeout: NodeJS.Timeout;
|
|
119
|
+
_hideTimeout: NodeJS.Timeout;
|
|
120
|
+
_scrollTimeout: NodeJS.Timeout;
|
|
121
|
+
_directionTimeout: NodeJS.Timeout;
|
|
122
|
+
itemSpots: {
|
|
123
|
+
[customProperty: number]: {
|
|
124
|
+
i: number;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
itemSpotsCount: number;
|
|
128
|
+
setOnScroll: () => void;
|
|
129
|
+
_bodyLockIsEnabled: boolean;
|
|
130
|
+
setDirection: () => void;
|
|
131
|
+
_rootElem: Window | Element;
|
|
132
|
+
changedOrderFor: string;
|
|
133
|
+
searchCache: Record<string, {
|
|
134
|
+
i: number;
|
|
135
|
+
}[]>;
|
|
136
|
+
meta: {
|
|
137
|
+
cmd: any;
|
|
138
|
+
ctrl: any;
|
|
139
|
+
shift: any;
|
|
140
|
+
alt: any;
|
|
141
|
+
};
|
|
142
|
+
outsideClick: DetectOutsideClickClass;
|
|
143
|
+
constructor(props: any);
|
|
144
|
+
componentDidMount(): void;
|
|
145
|
+
componentDidUpdate(prevProps: any): void;
|
|
146
|
+
componentWillUnmount(): void;
|
|
147
|
+
refreshScrollObserver(): void;
|
|
148
|
+
setScrollObserver(): void;
|
|
149
|
+
removeScrollObserver(): void;
|
|
150
|
+
enableBodyLock: () => void;
|
|
151
|
+
disableBodyLock: () => void;
|
|
152
|
+
setDirectionObserver(): void;
|
|
153
|
+
/**
|
|
154
|
+
* Deprecated
|
|
155
|
+
* We should replace all the logic of handling left/right aligned
|
|
156
|
+
* and setting the position, with a PopupMenu component,
|
|
157
|
+
* which uses the logic form Tooltip.
|
|
158
|
+
*
|
|
159
|
+
* EDS-246
|
|
160
|
+
*/
|
|
161
|
+
correctHiddenView: () => void;
|
|
162
|
+
findItemByValue(value: any): number;
|
|
163
|
+
scrollToItem: (active_item: any, { scrollTo, element }?: {
|
|
164
|
+
scrollTo?: boolean;
|
|
165
|
+
element?: any;
|
|
166
|
+
}) => void;
|
|
167
|
+
/**
|
|
168
|
+
* During opening (Dropdown, Autocomplete),
|
|
169
|
+
* and if noting is selected,
|
|
170
|
+
* set scroll to item.
|
|
171
|
+
*
|
|
172
|
+
* @param {number} active_item The item to set as active
|
|
173
|
+
* @param {object} param1
|
|
174
|
+
* @property {boolean} fireSelectEvent Whether the onSelect event should get emitted
|
|
175
|
+
* @property {boolean} scrollTo Whether the list should scroll to the new active item nor not
|
|
176
|
+
* @property {event} event The event object to forward to the emitted events
|
|
177
|
+
*/
|
|
178
|
+
setActiveItemAndScrollToIt: (active_item: any, { fireSelectEvent, scrollTo, event }?: {
|
|
179
|
+
fireSelectEvent?: boolean;
|
|
180
|
+
scrollTo?: boolean;
|
|
181
|
+
event?: any;
|
|
182
|
+
}) => void;
|
|
183
|
+
removeDirectionObserver(): void;
|
|
184
|
+
setWrapperElement: (wrapper_element?: string | HTMLElement) => this;
|
|
185
|
+
getAnchorElem(activeElement: any): any;
|
|
186
|
+
setMetaKey: (e: any) => void;
|
|
187
|
+
onKeyUpHandler: (e: any) => void;
|
|
188
|
+
onKeyDownHandler: (e: any) => void;
|
|
189
|
+
getSelectedElement: () => HTMLLIElement | HTMLUListElement;
|
|
190
|
+
getCurrentSelectedItem: () => number;
|
|
191
|
+
getActiveElement: () => HTMLLIElement | HTMLUListElement;
|
|
192
|
+
getCurrentActiveItem: () => number;
|
|
193
|
+
getNextActiveItem: () => number;
|
|
194
|
+
getPrevActiveItem: () => number;
|
|
195
|
+
getFirstItem: () => number;
|
|
196
|
+
getLastItem: () => number;
|
|
197
|
+
setOutsideClickObserver: () => void;
|
|
198
|
+
removeOutsideClickObserver(): void;
|
|
199
|
+
addObservers: () => void;
|
|
200
|
+
removeObservers: () => void;
|
|
201
|
+
toggleVisible: (...args: any[]) => void;
|
|
202
|
+
setVisible: (args?: {}, onStateComplete?: any) => void;
|
|
203
|
+
setHidden: (args?: {}, onStateComplete?: any) => void;
|
|
204
|
+
setActiveState(active: any): void;
|
|
205
|
+
setDataHandler: (data: any, cb?: any, { overwriteOriginalData }?: {
|
|
206
|
+
overwriteOriginalData?: boolean;
|
|
207
|
+
}) => this;
|
|
208
|
+
setStateHandler: (state: any, cb?: any) => this;
|
|
209
|
+
selectItemAndClose: (itemToSelect: any, args?: {
|
|
210
|
+
fireSelectEvent?: boolean;
|
|
211
|
+
event?: any;
|
|
212
|
+
closeOnSelection?: boolean;
|
|
213
|
+
}) => any;
|
|
214
|
+
selectItem: (itemToSelect: any, { fireSelectEvent, event, closeOnSelection, }?: {
|
|
215
|
+
fireSelectEvent?: boolean;
|
|
216
|
+
event?: any;
|
|
217
|
+
closeOnSelection?: boolean;
|
|
218
|
+
}) => any;
|
|
219
|
+
render(): import("react/jsx-runtime").JSX.Element;
|
|
14
220
|
}
|