@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,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
"use client";
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.ItemContent = ItemContent;
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
|
-
var _react =
|
|
10
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
11
|
var _componentHelper = require("../../shared/component-helper");
|
|
13
12
|
var _Theme = require("../../shared/Theme");
|
|
@@ -16,20 +15,22 @@ var _DrawerListContext = _interopRequireDefault(require("./DrawerListContext"));
|
|
|
16
15
|
var _DrawerListProvider = _interopRequireDefault(require("./DrawerListProvider"));
|
|
17
16
|
var _DrawerListPortal = _interopRequireDefault(require("./DrawerListPortal"));
|
|
18
17
|
var _DrawerListHelpers = require("./DrawerListHelpers");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
var _DrawerListItem = require("./DrawerListItem");
|
|
19
|
+
const _excluded = ["data", "children", "id"],
|
|
20
|
+
_excluded2 = ["role", "align_drawer", "fixed_position", "independent_width", "scrollable", "focusable", "size", "no_animation", "no_scroll_animation", "prevent_selection", "action_menu", "is_popup", "portal_class", "list_class", "ignore_events", "options_render", "className", "cache_hash", "wrapper_element", "triangle_position", "direction", "max_height", "id", "data", "opened", "value", "children"],
|
|
21
|
+
_excluded3 = ["selected_item", "active_item", "max_height"],
|
|
22
|
+
_excluded4 = ["children", "className", "triangleRef", "cache_hash", "showFocusRing"];
|
|
24
23
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
|
-
function
|
|
26
|
-
function
|
|
24
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
25
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
27
26
|
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; }
|
|
28
27
|
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; }
|
|
29
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
30
28
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
31
29
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
32
30
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
31
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
32
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
33
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
33
34
|
const propsToFilterOut = {
|
|
34
35
|
on_show: null,
|
|
35
36
|
on_hide: null,
|
|
@@ -43,33 +44,29 @@ const propsToFilterOut = {
|
|
|
43
44
|
options_render: null,
|
|
44
45
|
wrapper_element: null
|
|
45
46
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
render() {
|
|
52
|
-
var _this$context;
|
|
53
|
-
const hasProvider = (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.drawerList;
|
|
54
|
-
if (hasProvider) {
|
|
55
|
-
return _react.default.createElement(DrawerListInstance, this.props);
|
|
56
|
-
}
|
|
57
|
-
return _react.default.createElement(_DrawerListProvider.default, _extends({
|
|
58
|
-
id: this._id
|
|
59
|
-
}, this.props, {
|
|
60
|
-
data: this.props.data || this.props.children
|
|
61
|
-
}), _react.default.createElement(DrawerListInstance, _extends({
|
|
62
|
-
id: this._id
|
|
63
|
-
}, this.props)));
|
|
47
|
+
function DrawerList(props) {
|
|
48
|
+
const drawerListContext = (0, _react.useContext)(_DrawerListContext.default);
|
|
49
|
+
if (drawerListContext !== null && drawerListContext !== void 0 && drawerListContext.drawerList) {
|
|
50
|
+
return _react.default.createElement(DrawerListInstance, props);
|
|
64
51
|
}
|
|
52
|
+
const {
|
|
53
|
+
data,
|
|
54
|
+
children,
|
|
55
|
+
id
|
|
56
|
+
} = props,
|
|
57
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
58
|
+
const _id = id || (0, _componentHelper.makeUniqueId)();
|
|
59
|
+
return _react.default.createElement(_DrawerListProvider.default, _extends({
|
|
60
|
+
id: _id
|
|
61
|
+
}, rest, {
|
|
62
|
+
data: data || (!_react.default.isValidElement(children) ? children : undefined)
|
|
63
|
+
}), _react.default.createElement(DrawerListInstance, _extends({
|
|
64
|
+
id: _id
|
|
65
|
+
}, props)));
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
_defineProperty(DrawerList, "defaultProps", _objectSpread({}, _DrawerListHelpers.drawerListDefaultProps));
|
|
70
|
-
process.env.NODE_ENV !== "production" ? DrawerList.propTypes = _objectSpread({}, _DrawerListHelpers.drawerListPropTypes) : void 0;
|
|
71
|
-
class DrawerListInstance extends _react.default.PureComponent {
|
|
72
|
-
constructor(props, context) {
|
|
67
|
+
DrawerList.blurDelay = _DrawerListProvider.default.blurDelay;
|
|
68
|
+
class DrawerListInstance extends _react.default.Component {
|
|
69
|
+
constructor(props) {
|
|
73
70
|
super(props);
|
|
74
71
|
_defineProperty(this, "preventTab", e => {
|
|
75
72
|
switch ((0, _componentHelper.keycode)(e)) {
|
|
@@ -96,20 +93,22 @@ class DrawerListInstance extends _react.default.PureComponent {
|
|
|
96
93
|
});
|
|
97
94
|
this._id = props.id || (0, _componentHelper.makeUniqueId)();
|
|
98
95
|
this.state = this.state || {};
|
|
99
|
-
|
|
96
|
+
}
|
|
97
|
+
componentDidMount() {
|
|
98
|
+
this.context.drawerList.setState(Object.entries(propsToFilterOut).reduce((acc, _ref) => {
|
|
100
99
|
let [key] = _ref;
|
|
101
|
-
if (props[key]) {
|
|
102
|
-
acc[key] = props[key];
|
|
100
|
+
if (this.props[key]) {
|
|
101
|
+
acc[key] = this.props[key];
|
|
103
102
|
}
|
|
104
103
|
return acc;
|
|
105
104
|
}, {}));
|
|
106
|
-
context.drawerList.setState({
|
|
107
|
-
triangle_position: props.triangle_position
|
|
105
|
+
this.context.drawerList.setState({
|
|
106
|
+
triangle_position: this.props.triangle_position
|
|
108
107
|
});
|
|
109
108
|
}
|
|
110
109
|
render() {
|
|
111
|
-
var _this$
|
|
112
|
-
const props = (0, _componentHelper.extendPropsWithContextInClassComponent)(this.props,
|
|
110
|
+
var _this$context;
|
|
111
|
+
const props = (0, _componentHelper.extendPropsWithContextInClassComponent)(this.props, DrawerListInstance.defaultProps);
|
|
113
112
|
const {
|
|
114
113
|
role,
|
|
115
114
|
align_drawer,
|
|
@@ -135,14 +134,25 @@ class DrawerListInstance extends _react.default.PureComponent {
|
|
|
135
134
|
max_height: _max_height,
|
|
136
135
|
id: _id,
|
|
137
136
|
data: _data,
|
|
138
|
-
prepared_data: _prepared_data,
|
|
139
|
-
raw_data: _raw_data,
|
|
140
137
|
opened: _opened,
|
|
141
138
|
value: _value,
|
|
142
139
|
children
|
|
143
140
|
} = props,
|
|
144
|
-
attributes = _objectWithoutProperties(props,
|
|
141
|
+
attributes = _objectWithoutProperties(props, _excluded2);
|
|
145
142
|
const id = this._id;
|
|
143
|
+
function noNullNumbers(_ref2) {
|
|
144
|
+
let {
|
|
145
|
+
selected_item,
|
|
146
|
+
active_item,
|
|
147
|
+
max_height
|
|
148
|
+
} = _ref2,
|
|
149
|
+
rest = _objectWithoutProperties(_ref2, _excluded3);
|
|
150
|
+
return _objectSpread({
|
|
151
|
+
selected_item: selected_item !== null && selected_item !== void 0 ? selected_item : undefined,
|
|
152
|
+
active_item: active_item !== null && active_item !== void 0 ? active_item : undefined,
|
|
153
|
+
max_height: max_height !== null && max_height !== void 0 ? max_height : undefined
|
|
154
|
+
}, rest);
|
|
155
|
+
}
|
|
146
156
|
const {
|
|
147
157
|
data,
|
|
148
158
|
opened,
|
|
@@ -163,7 +173,7 @@ class DrawerListInstance extends _react.default.PureComponent {
|
|
|
163
173
|
_refTriangle,
|
|
164
174
|
_refUl,
|
|
165
175
|
_refRoot
|
|
166
|
-
} = this.context.drawerList;
|
|
176
|
+
} = noNullNumbers(this.context.drawerList);
|
|
167
177
|
const mainParams = _objectSpread({
|
|
168
178
|
id: `${id}-drawer-list`,
|
|
169
179
|
className: (0, _classnames.default)(`dnb-drawer-list dnb-drawer-list--${direction}`, ((0, _componentHelper.isTrue)(independent_width) || (0, _componentHelper.isTrue)(action_menu)) && 'dnb-drawer-list--independent-width', (0, _SpacingHelper.createSpacingClasses)(props), className, opened && 'dnb-drawer-list--opened', hidden && 'dnb-drawer-list--hidden', triangle_position && `dnb-drawer-list--triangle-position-${triangle_position}`, align_drawer && `dnb-drawer-list--${align_drawer}`, size && `dnb-drawer-list--${size}`, (0, _componentHelper.isTrue)(action_menu) && `dnb-drawer-list--action-menu`, (0, _componentHelper.isTrue)(is_popup) && 'dnb-drawer-list--is-popup', (0, _componentHelper.isTrue)(scrollable) && 'dnb-drawer-list--scroll', (0, _componentHelper.isTrue)(no_scroll_animation) && 'dnb-drawer-list--no-scroll-animation')
|
|
@@ -177,9 +187,9 @@ class DrawerListInstance extends _react.default.PureComponent {
|
|
|
177
187
|
id: `${id}-ul`,
|
|
178
188
|
'aria-expanded': opened,
|
|
179
189
|
'aria-labelledby': `${id}-label`,
|
|
180
|
-
tabIndex:
|
|
190
|
+
tabIndex: -1,
|
|
181
191
|
style: {
|
|
182
|
-
maxHeight: max_height > 0 ? `${max_height}rem` : null
|
|
192
|
+
maxHeight: parseFloat(max_height) > 0 ? `${max_height}rem` : null
|
|
183
193
|
},
|
|
184
194
|
ref: _refUl
|
|
185
195
|
};
|
|
@@ -189,7 +199,7 @@ class DrawerListInstance extends _react.default.PureComponent {
|
|
|
189
199
|
ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`;
|
|
190
200
|
}
|
|
191
201
|
if ((0, _componentHelper.isTrue)(focusable)) {
|
|
192
|
-
ulParams.tabIndex =
|
|
202
|
+
ulParams.tabIndex = 0;
|
|
193
203
|
}
|
|
194
204
|
(0, _componentHelper.validateDOMAttributes)(this.props, mainParams);
|
|
195
205
|
(0, _componentHelper.validateDOMAttributes)(null, listParams);
|
|
@@ -237,7 +247,7 @@ class DrawerListInstance extends _react.default.PureComponent {
|
|
|
237
247
|
}) : _react.default.createElement(Items, null)), _react.default.createElement(OnMounted, {
|
|
238
248
|
addObservers: addObservers,
|
|
239
249
|
removeObservers: removeObservers
|
|
240
|
-
})) : children && _react.default.createElement("span", {
|
|
250
|
+
})) : _react.default.isValidElement(children) && _react.default.createElement("span", {
|
|
241
251
|
className: "dnb-drawer-list__content"
|
|
242
252
|
}, children, _react.default.createElement("span", {
|
|
243
253
|
className: "dnb-drawer-list__triangle",
|
|
@@ -253,22 +263,21 @@ class DrawerListInstance extends _react.default.PureComponent {
|
|
|
253
263
|
include_owner_width: align_drawer === 'right',
|
|
254
264
|
independent_width: (0, _componentHelper.isTrue)(independent_width),
|
|
255
265
|
fixed_position: (0, _componentHelper.isTrue)(fixed_position),
|
|
256
|
-
className: (0, _Theme.getThemeClasses)((_this$
|
|
266
|
+
className: (0, _Theme.getThemeClasses)((_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.theme, portal_class)
|
|
257
267
|
}, mainList) : mainList);
|
|
258
268
|
}
|
|
259
269
|
}
|
|
260
|
-
_defineProperty(DrawerListInstance, "defaultProps",
|
|
270
|
+
_defineProperty(DrawerListInstance, "defaultProps", _objectSpread({}, _DrawerListHelpers.drawerListDefaultProps));
|
|
261
271
|
_defineProperty(DrawerListInstance, "contextType", _DrawerListContext.default);
|
|
262
|
-
process.env.NODE_ENV !== "production" ? DrawerListInstance.propTypes = DrawerList.propTypes : void 0;
|
|
263
272
|
DrawerList.Options = _react.default.memo(_react.default.forwardRef((props, ref) => {
|
|
264
273
|
const {
|
|
265
274
|
children,
|
|
266
|
-
className
|
|
267
|
-
triangleRef
|
|
268
|
-
cache_hash
|
|
275
|
+
className,
|
|
276
|
+
triangleRef,
|
|
277
|
+
cache_hash,
|
|
269
278
|
showFocusRing = false
|
|
270
279
|
} = props,
|
|
271
|
-
rest = _objectWithoutProperties(props,
|
|
280
|
+
rest = _objectWithoutProperties(props, _excluded4);
|
|
272
281
|
return _react.default.createElement("ul", _extends({
|
|
273
282
|
className: (0, _classnames.default)('dnb-drawer-list__options', className, showFocusRing && 'dnb-drawer-list__options--focusring')
|
|
274
283
|
}, rest, {
|
|
@@ -284,119 +293,8 @@ DrawerList.Options = _react.default.memo(_react.default.forwardRef((props, ref)
|
|
|
284
293
|
}
|
|
285
294
|
return prevProps.cache_hash === nextProps.cache_hash;
|
|
286
295
|
});
|
|
287
|
-
DrawerList.
|
|
288
|
-
DrawerList.
|
|
289
|
-
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]).isRequired,
|
|
290
|
-
cache_hash: _propTypes.default.string,
|
|
291
|
-
showFocusRing: _propTypes.default.bool,
|
|
292
|
-
className: _propTypes.default.string,
|
|
293
|
-
triangleRef: _propTypes.default.object
|
|
294
|
-
};
|
|
295
|
-
DrawerList.Item = _react.default.forwardRef((props, ref) => {
|
|
296
|
-
const {
|
|
297
|
-
role = 'option',
|
|
298
|
-
hash = '',
|
|
299
|
-
children,
|
|
300
|
-
className = null,
|
|
301
|
-
on_click = null,
|
|
302
|
-
selected,
|
|
303
|
-
active = null,
|
|
304
|
-
value = null,
|
|
305
|
-
disabled
|
|
306
|
-
} = props,
|
|
307
|
-
rest = _objectWithoutProperties(props, _excluded3);
|
|
308
|
-
const params = {
|
|
309
|
-
className: (0, _classnames.default)(className, 'dnb-drawer-list__option', selected && 'dnb-drawer-list__option--selected', active && 'dnb-drawer-list__option--focus'),
|
|
310
|
-
role,
|
|
311
|
-
tabIndex: selected ? '0' : '-1',
|
|
312
|
-
'aria-selected': active,
|
|
313
|
-
disabled,
|
|
314
|
-
'aria-disabled': disabled
|
|
315
|
-
};
|
|
316
|
-
if (selected) {
|
|
317
|
-
params['aria-current'] = true;
|
|
318
|
-
}
|
|
319
|
-
if (on_click) {
|
|
320
|
-
params.onClick = () => (0, _componentHelper.dispatchCustomElementEvent)({
|
|
321
|
-
props: _objectSpread(_objectSpread({}, props), {}, {
|
|
322
|
-
displayName: DrawerList.Item.displayName
|
|
323
|
-
})
|
|
324
|
-
}, 'on_click', _objectSpread({
|
|
325
|
-
selected,
|
|
326
|
-
value
|
|
327
|
-
}, rest));
|
|
328
|
-
}
|
|
329
|
-
return _react.default.createElement("li", _extends({}, params, rest, {
|
|
330
|
-
ref: ref,
|
|
331
|
-
key: 'li' + hash
|
|
332
|
-
}), _react.default.createElement("span", {
|
|
333
|
-
className: "dnb-drawer-list__option__inner"
|
|
334
|
-
}, _react.default.createElement(ItemContent, {
|
|
335
|
-
hash: hash
|
|
336
|
-
}, children)));
|
|
337
|
-
});
|
|
338
|
-
DrawerList.Item.displayName = 'DrawerList.Item';
|
|
339
|
-
DrawerList.Item.propTypes = {
|
|
340
|
-
role: _propTypes.default.string,
|
|
341
|
-
hash: _propTypes.default.string,
|
|
342
|
-
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func, _propTypes.default.object]).isRequired,
|
|
343
|
-
className: _propTypes.default.string,
|
|
344
|
-
on_click: _propTypes.default.func,
|
|
345
|
-
selected: _propTypes.default.bool,
|
|
346
|
-
active: _propTypes.default.bool,
|
|
347
|
-
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
348
|
-
disabled: _propTypes.default.bool
|
|
349
|
-
};
|
|
350
|
-
function ItemContent(_ref2) {
|
|
351
|
-
let {
|
|
352
|
-
hash = '',
|
|
353
|
-
children = undefined
|
|
354
|
-
} = _ref2;
|
|
355
|
-
let content = null;
|
|
356
|
-
if (Array.isArray(children.content || children)) {
|
|
357
|
-
content = (children.content || children).map((item, n) => _react.default.createElement(DrawerListOptionItem, {
|
|
358
|
-
key: hash + n,
|
|
359
|
-
className: `item-nr-${n + 1}`
|
|
360
|
-
}, children.render ? children.render(item, hash + n) : item));
|
|
361
|
-
} else if (Object.prototype.hasOwnProperty.call(children, 'content')) {
|
|
362
|
-
content = children.render ? children.render(children.content, hash, children) : children.content;
|
|
363
|
-
if (content) {
|
|
364
|
-
content = _react.default.createElement(DrawerListOptionItem, null, content);
|
|
365
|
-
}
|
|
366
|
-
} else {
|
|
367
|
-
content = children && _react.default.createElement(DrawerListOptionItem, null, children);
|
|
368
|
-
}
|
|
369
|
-
return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? _react.default.createElement(_react.default.Fragment, null, content, _react.default.createElement(DrawerListOptionItem, {
|
|
370
|
-
className: "dnb-drawer-list__option__suffix"
|
|
371
|
-
}, children.suffix_value)) : content;
|
|
372
|
-
}
|
|
373
|
-
process.env.NODE_ENV !== "production" ? ItemContent.propTypes = {
|
|
374
|
-
hash: _propTypes.default.string,
|
|
375
|
-
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.object])
|
|
376
|
-
} : void 0;
|
|
377
|
-
function DrawerListOptionItem(_ref3) {
|
|
378
|
-
let {
|
|
379
|
-
children = undefined,
|
|
380
|
-
className = null
|
|
381
|
-
} = _ref3,
|
|
382
|
-
props = _objectWithoutProperties(_ref3, _excluded4);
|
|
383
|
-
return _react.default.createElement("span", _extends({
|
|
384
|
-
className: (0, _classnames.default)('dnb-drawer-list__option__item', className)
|
|
385
|
-
}, props), children);
|
|
386
|
-
}
|
|
387
|
-
DrawerList.HorizontalItem = _ref4 => {
|
|
388
|
-
let {
|
|
389
|
-
className = null
|
|
390
|
-
} = _ref4,
|
|
391
|
-
props = _objectWithoutProperties(_ref4, _excluded5);
|
|
392
|
-
return _react.default.createElement(DrawerListOptionItem, _extends({
|
|
393
|
-
className: (0, _classnames.default)('dnb-drawer-list__option__item--horizontal', className)
|
|
394
|
-
}, props));
|
|
395
|
-
};
|
|
396
|
-
DrawerList.HorizontalItem.propTypes = {
|
|
397
|
-
children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]).isRequired,
|
|
398
|
-
className: _propTypes.default.string
|
|
399
|
-
};
|
|
296
|
+
DrawerList.Item = _DrawerListItem.DrawerListItem;
|
|
297
|
+
DrawerList.HorizontalItem = _DrawerListItem.DrawerListHorizontalItem;
|
|
400
298
|
class OnMounted extends _react.default.PureComponent {
|
|
401
299
|
componentDidMount() {
|
|
402
300
|
this.props.addObservers();
|
|
@@ -408,8 +306,5 @@ class OnMounted extends _react.default.PureComponent {
|
|
|
408
306
|
return null;
|
|
409
307
|
}
|
|
410
308
|
}
|
|
411
|
-
|
|
412
|
-
addObservers: _propTypes.default.func.isRequired,
|
|
413
|
-
removeObservers: _propTypes.default.func.isRequired
|
|
414
|
-
} : void 0;
|
|
309
|
+
var _default = exports.default = DrawerList;
|
|
415
310
|
//# sourceMappingURL=DrawerList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerList.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_componentHelper","_Theme","_SpacingHelper","_DrawerListContext","_DrawerListProvider","_DrawerListPortal","_DrawerListHelpers","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","e","__esModule","default","_objectWithoutProperties","t","o","r","i","_objectWithoutPropertiesLoose","Object","getOwnPropertySymbols","n","length","indexOf","propertyIsEnumerable","call","hasOwnProperty","ownKeys","keys","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_extends","assign","bind","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","React","PureComponent","constructor","props","_id","id","makeUniqueId","render","_this$context","hasProvider","context","drawerList","createElement","DrawerListInstance","data","children","exports","DrawerListContext","DrawerListProvider","blurDelay","drawerListDefaultProps","process","env","NODE_ENV","propTypes","drawerListPropTypes","keycode","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","setState","entries","reduce","acc","_ref","key","triangle_position","_this$context2","extendPropsWithContextInClassComponent","defaultProps","getTranslation","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","prepared_data","_prepared_data","raw_data","_raw_data","opened","_opened","_value","attributes","hidden","active_item","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","classnames","isTrue","createSpacingClasses","listParams","ulParams","tabIndex","style","maxHeight","ref","validateDOMAttributes","ignoreEvents","Items","map","dataItem","__id","hash","liParams","class_name","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","disabled","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","getThemeClasses","theme","memo","forwardRef","rest","prevProps","nextProps","displayName","PropTypes","oneOfType","node","func","isRequired","string","bool","object","on_click","params","dispatchCustomElementEvent","ItemContent","number","_ref2","undefined","content","Array","isArray","item","DrawerListOptionItem","prototype","suffix_value","_ref3","HorizontalItem","_ref4","componentDidMount","componentWillUnmount"],"sources":["../../../../src/fragments/drawer-list/DrawerList.js"],"sourcesContent":["/**\n * Web List 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 PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport {\n drawerListPropTypes,\n drawerListDefaultProps,\n} from './DrawerListHelpers'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport default class DrawerList extends React.PureComponent {\n static contextType = DrawerListContext // only used for the hasProvide check\n\n static blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n const hasProvider = this.context?.drawerList\n\n if (hasProvider) {\n return <DrawerListInstance {...this.props} />\n }\n\n return (\n <DrawerListProvider\n id={this._id}\n {...this.props}\n data={this.props.data || this.props.children}\n >\n <DrawerListInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DrawerListInstance extends React.PureComponent {\n static propTypes = DrawerList.propTypes\n static defaultProps = DrawerList.defaultProps\n static contextType = DrawerListContext\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n\n // send along the event handlers to the provider state\n context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (props[key]) {\n acc[key] = props[key]\n }\n return acc\n }, {})\n )\n\n context.drawerList.setState({\n triangle_position: props.triangle_position,\n })\n }\n\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerList.defaultProps,\n this.context.getTranslation(this.props).DrawerList\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n prepared_data: _prepared_data, // eslint-disable-line\n raw_data: _raw_data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = this.context.drawerList\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-drawer-list--independent-width',\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may consider to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: '-1',\n style: {\n maxHeight: max_height > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item) > -1 ||\n (!(parseFloat(active_item) > -1) &&\n !(parseFloat(selected_item) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n parseFloat(active_item) > -1 ? active_item : 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = '0'\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n disabled: dataItem.disabled,\n style: dataItem.style,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n children && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef((props, ref) => {\n const {\n children,\n className = null,\n triangleRef = null,\n cache_hash = null, // eslint-disable-line\n showFocusRing = false,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\nDrawerList.Options.displayName = 'DrawerList.Options'\nDrawerList.Options.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n cache_hash: PropTypes.string,\n showFocusRing: PropTypes.bool,\n className: PropTypes.string,\n triangleRef: PropTypes.object,\n}\n\n// DrawerList Item\nDrawerList.Item = React.forwardRef((props, ref) => {\n const {\n role = 'option', // eslint-disable-line\n hash = '', // eslint-disable-line\n children, // eslint-disable-line\n className = null, // eslint-disable-line\n on_click = null, // eslint-disable-line\n selected, // eslint-disable-line\n active = null, // eslint-disable-line\n value = null, // eslint-disable-line\n disabled, // eslint-disable-line\n ...rest\n } = props\n\n const params = {\n className: classnames(\n className,\n 'dnb-drawer-list__option',\n selected && 'dnb-drawer-list__option--selected',\n active && 'dnb-drawer-list__option--focus'\n ),\n role,\n tabIndex: selected ? '0' : '-1',\n 'aria-selected': active,\n disabled,\n 'aria-disabled': disabled,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click) {\n params.onClick = () =>\n dispatchCustomElementEvent(\n {\n props: { ...props, displayName: DrawerList.Item.displayName },\n },\n 'on_click',\n {\n selected,\n value,\n ...rest,\n }\n )\n }\n\n return (\n <li {...params} {...rest} ref={ref} key={'li' + hash}>\n <span className=\"dnb-drawer-list__option__inner\">\n <ItemContent hash={hash}>{children}</ItemContent>\n </span>\n </li>\n )\n})\nDrawerList.Item.displayName = 'DrawerList.Item'\nDrawerList.Item.propTypes = {\n role: PropTypes.string,\n hash: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.object,\n ]).isRequired,\n className: PropTypes.string,\n on_click: PropTypes.func,\n selected: PropTypes.bool,\n active: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n}\n\nexport function ItemContent({ hash = '', children = undefined }) {\n let content = null\n\n if (Array.isArray(children.content || children)) {\n content = (children.content || children).map((item, n) => (\n <DrawerListOptionItem\n key={hash + n}\n className={`item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {children.render ? children.render(item, hash + n) : item}\n </DrawerListOptionItem>\n ))\n } else if (Object.prototype.hasOwnProperty.call(children, 'content')) {\n content = children.render\n ? children.render(children.content, hash, children)\n : children.content\n if (content) {\n content = <DrawerListOptionItem>{content}</DrawerListOptionItem>\n }\n } else {\n content = children && (\n <DrawerListOptionItem>{children}</DrawerListOptionItem>\n )\n }\n\n return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? (\n <>\n {content}\n\n <DrawerListOptionItem className=\"dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </DrawerListOptionItem>\n </>\n ) : (\n content\n )\n}\nItemContent.propTypes = {\n hash: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n}\n\nfunction DrawerListOptionItem({\n children = undefined,\n className = null,\n ...props\n}) {\n return (\n <span\n className={classnames(['dnb-drawer-list__option__item', className])}\n {...props}\n >\n {children}\n </span>\n )\n}\n\nDrawerList.HorizontalItem = ({ className = null, ...props }) => (\n <DrawerListOptionItem\n className={classnames([\n 'dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n)\n\nDrawerList.HorizontalItem.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n className: PropTypes.string,\n}\n\nclass OnMounted extends React.PureComponent {\n static propTypes = {\n addObservers: PropTypes.func.isRequired,\n removeObservers: PropTypes.func.isRequired,\n }\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerList.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_Theme","_SpacingHelper","_DrawerListContext","_DrawerListProvider","_DrawerListPortal","_DrawerListHelpers","_DrawerListItem","_excluded","_excluded2","_excluded3","_excluded4","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_extends","assign","bind","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","props","drawerListContext","useContext","DrawerListContext","drawerList","createElement","DrawerListInstance","data","children","id","rest","_id","makeUniqueId","React","isValidElement","undefined","blurDelay","DrawerListProvider","Component","constructor","keycode","context","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","componentDidMount","setState","entries","reduce","acc","_ref","key","triangle_position","render","_this$context","extendPropsWithContextInClassComponent","defaultProps","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","opened","_opened","_value","attributes","noNullNumbers","_ref2","active_item","hidden","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","classnames","isTrue","createSpacingClasses","listParams","ulParams","tabIndex","style","maxHeight","ref","validateDOMAttributes","ignoreEvents","Items","map","dataItem","__id","hash","liParams","class_name","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","disabled","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","getThemeClasses","theme","drawerListDefaultProps","memo","forwardRef","prevProps","nextProps","DrawerListItem","HorizontalItem","DrawerListHorizontalItem","PureComponent","componentWillUnmount","_default","exports"],"sources":["../../../../src/fragments/drawer-list/DrawerList.tsx"],"sourcesContent":["/**\n * Web List Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n keycode,\n} from '../../shared/component-helper'\nimport type { SpacingProps } from '../../shared/types'\n\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext, {\n DrawerListContextProps,\n} from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport { drawerListDefaultProps } from './DrawerListHelpers'\nimport { DrawerListHorizontalItem, DrawerListItem } from './DrawerListItem'\nimport type { DrawerListItemProps } from './DrawerListItem'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport type DrawerListContent =\n | string\n | React.ReactNode\n | (string | React.ReactNode)[]\nexport type DrawerListDataArrayObject = {\n [customProperty: string]: any\n selected_value?: string | React.ReactNode\n selectedKey?: string | number\n selected_key?: string | number\n suffix_value?: string | React.ReactNode\n content: DrawerListContent\n disabled?: boolean\n /** used by Autocomplete for additional search hits */\n search_content?: string | React.ReactNode | string[]\n /** style prop of the html list item */\n style?: React.CSSProperties\n /** classname added to the html list item */\n class_name?: string\n /** set to true to disable mouse events selected style. Keyboard can still select @deprecated */\n ignore_events?: boolean\n /** internal use only */\n render?: (children: React.ReactNode, id: string) => React.ReactNode\n}\n/** @deprecated use `DrawerListDataArrayItem` */\nexport type DrawerListDataObjectUnion = DrawerListDataArrayItem\nexport type DrawerListDataArrayItem =\n | DrawerListDataArrayObject\n | DrawerListContent\nexport type DrawerListDataArray = DrawerListDataArrayItem[]\nexport type DrawerListDataRecord = Record<string, DrawerListContent>\nexport type DrawerListDataAll = DrawerListDataRecord | DrawerListDataArray\n\nexport type DrawerListOptionsRender = ({\n data,\n Items,\n Item,\n}: {\n data: DrawerListDataArrayObject[]\n Items: React.FunctionComponent\n Item: React.FC<DrawerListItemProps>\n}) => React.ReactNode\nexport type DrawerListValue = string | number\nexport type DrawerListData =\n | string\n | ((...args: any[]) => DrawerListDataAll)\n | DrawerListDataAll\nexport type DrawerListSuffix = React.ReactNode\n\nexport interface DrawerListProps {\n id?: string\n _id?: string\n role?: string\n /**\n * Set a `cache_hash` as a string to enable internal memorizing of the list to enhance rerendering performance. Components like Autocomplete are using this because of the huge data changes due to search and reorder.\n */\n cache_hash?: string\n /**\n * Position of the arrow icon/triangle inside the drawer-list. Set to 'left' or 'right'. Defaults to 'left' if not set.\n */\n triangle_position?: string\n /**\n * Defines if the options list should be scrollable (the `max-height` is set by default to `50vh`).\n */\n scrollable?: boolean\n /**\n * If set to `true`, the element is then focusable by assertive technologies.\n */\n focusable?: boolean\n /**\n * Defines the direction of how the drawer-list shows the options list. Can be 'bottom' or 'top'. Defaults to 'auto'.\n */\n direction?: 'auto' | 'top' | 'bottom'\n size?: 'default' | 'small' | 'medium' | 'large' | number\n /**\n * Defines the minimum height (in `rem`) of the options list.\n */\n min_height?: string | number\n /**\n * Defines the maximum height (in `rem`) of the options list.\n */\n max_height?: string | number\n /**\n * To disable appear/disappear (show/hide) animation.\n */\n no_animation?: boolean\n /**\n * To disable scrolling animation.\n */\n no_scroll_animation?: boolean\n /**\n * If set to `true`, the DrawerList will then not make any permanent selection.\n */\n prevent_selection?: boolean\n action_menu?: boolean\n is_popup?: boolean\n /**\n * Use 'right' to change the options alignment direction. Makes only sense to use in combination with `prevent_selection` or `more_menu` - or if an independent width is used.\n */\n align_drawer?: 'left' | 'right'\n /**\n * Has to be a function, returning the items again. See [example](/uilib/components/fragments/drawer-list#example-usage-of-options_render). This can be used to add additional options above the actual rendered list.\n */\n options_render?: DrawerListOptionsRender\n /**\n * Has to be an HTML Element, ideally a mother element, used to calculate sizes and distances. Also used for the 'click outside' detection. Clicking on the `wrapper_element` will not trigger an outside click.\n */\n wrapper_element?: string | HTMLElement\n /**\n * Define a startup value or handle a re-render without handling the state during the re-render by yourself. Defaults to null.\n */\n default_value?: DrawerListValue\n /**\n * Define a preselected `data` entry. In order of priority, `value` can be set to: object key (if `data` is an object), `selectedKey` prop (if `data` is an array), array index (if no `selectedKey`) or content (if `value` is a non-integer string).\n */\n value?: DrawerListValue\n /**\n * To disable the React Portal behavior.\n */\n skip_portal?: boolean\n /**\n * Define an HTML class that will be set on the DOM portal beside `dnb-drawer-list__portal__style`. Can be useful to handle e.g. a custom `z-index` in relation to a header.\n */\n portal_class?: string\n /**\n * Define an HTML class that will be set on the list, beside `dnb-drawer-list__list`.\n */\n list_class?: string\n /**\n * If set to `true`, the DrawerList will not close on any events.\n */\n prevent_close?: boolean\n /**\n * If set to `true`, the DrawerList will handle its width and position independently of the parent/mother element.\n */\n independent_width?: boolean\n /**\n * If set to `true`, the DrawerList will be fixed in its scroll position by using CSS `position: fixed;`.\n */\n fixed_position?: boolean\n /**\n * If set to `true`, the DrawerList will close on outside clicks, but not on selection.\n */\n keep_open?: boolean\n prevent_focus?: boolean\n /**\n * If set to `true`, search items by the first key will be ignored.\n */\n skip_keysearch?: boolean\n opened?: boolean\n data?: DrawerListData\n prepared_data?: any[]\n /**\n * If set to `true`, all keyboard and mouse events will be ignored.\n */\n ignore_events?: boolean\n className?: string\n /** Accepts the same values as the `data` prop. Will be ignored if `data` is used. Can also accept a single child for custom rendering. */\n children?: DrawerListData | React.ReactElement\n suffix?: DrawerListSuffix\n /**\n * If set to `true`, the HTML body will get locked from scrolling when the Dropdown is open.\n */\n enable_body_lock?: boolean\n /**\n * Defines the available scrollable height. If scrolling should not change the height of the drawer-list, then set it to `0` (useful if the DrawerList is used in fixed positions on contrast to a scrollable page content).\n */\n page_offset?: string | number\n /**\n * Set a HTML element, either as a selector or a DOM element. Can be used to send in an element which will be used to make the direction calculation on.\n */\n observer_element?: string | React.ReactNode\n on_show?: (...args: any[]) => any\n on_hide?: (...args: any[]) => any\n handle_dismiss_focus?: (...args: any[]) => any\n on_change?: (...args: any[]) => any\n on_pre_change?: (...args: any[]) => any\n on_resize?: (...args: any[]) => any\n on_select?: (...args: any[]) => any\n on_state_update?: (...args: any[]) => any\n}\nexport type DrawerListAllProps = DrawerListProps &\n SpacingProps &\n Omit<\n React.HTMLProps<HTMLElement>,\n 'ref' | 'size' | 'label' | 'placeholder' | 'data' | 'children'\n >\nfunction DrawerList(props: DrawerListAllProps) {\n const drawerListContext = useContext(DrawerListContext)\n\n if (drawerListContext?.drawerList) {\n return <DrawerListInstance {...props} />\n }\n\n const { data, children, id, ...rest } = props\n const _id = id || makeUniqueId()\n\n return (\n <DrawerListProvider\n id={_id}\n {...rest}\n data={\n data ||\n (!React.isValidElement(children)\n ? (children as DrawerListData)\n : undefined)\n }\n >\n <DrawerListInstance id={_id} {...props} />\n </DrawerListProvider>\n )\n}\nDrawerList.blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\nclass DrawerListInstance extends React.Component<DrawerListAllProps> {\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n static contextType = DrawerListContext\n context!: React.ContextType<typeof DrawerListContext>\n _id: string\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n }\n\n componentDidMount() {\n // send along the event handlers to the provider state\n\n this.context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (this.props[key]) {\n acc[key] = this.props[key]\n }\n return acc\n }, {})\n )\n\n this.context.drawerList.setState({\n triangle_position: this.props.triangle_position,\n })\n }\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerListInstance.defaultProps\n // TODO: should we only allow getTranslation if we define lang and locale props?\n // this.context.getTranslation(this.props).Button\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n function noNullNumbers({\n selected_item,\n active_item,\n max_height,\n ...rest\n }: DrawerListContextProps['drawerList']): DrawerListContextProps['drawerList'] {\n return {\n selected_item: selected_item ?? undefined,\n active_item: active_item ?? undefined,\n max_height: max_height ?? undefined,\n ...rest,\n }\n }\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = noNullNumbers(this.context.drawerList)\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-drawer-list--independent-width',\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may consider to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: -1,\n style: {\n maxHeight:\n parseFloat(max_height as string) > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item as string) > -1 ||\n (!(parseFloat(active_item as string) > -1) &&\n !(parseFloat(selected_item as string) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n parseFloat(active_item as string) > -1 ? active_item : 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item as string) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = 0\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n disabled: dataItem.disabled,\n style: dataItem.style,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n React.isValidElement(children) && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\nexport type DrawerListOptionsProps = React.HTMLProps<HTMLUListElement> & {\n children: React.ReactNode\n triangleRef?: React.LegacyRef<HTMLLIElement>\n cache_hash?: string\n showFocusRing?: boolean\n}\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef(\n (\n props: DrawerListOptionsProps,\n ref: React.LegacyRef<HTMLUListElement>\n ) => {\n const {\n children,\n className,\n triangleRef,\n cache_hash, // eslint-disable-line\n showFocusRing = false,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }\n ),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\n\nDrawerList.Item = DrawerListItem\nDrawerList.HorizontalItem = DrawerListHorizontalItem\n\nclass OnMounted extends React.PureComponent<{\n addObservers: () => void\n removeObservers: () => void\n}> {\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\nexport default DrawerList\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Web DrawerList Context
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
3
5
|
import React from 'react';
|
|
6
|
+
import type { DrawerListProviderProps } from './DrawerListProvider';
|
|
7
|
+
import { ContextProps } from '../../shared/Context';
|
|
8
|
+
import { DrawerListDataAll, DrawerListDataArrayObject } from './';
|
|
9
|
+
export type DrawerListContextState = Omit<DrawerListProviderProps, 'data' | 'wrapper_element' | 'children'> & {
|
|
10
|
+
data: DrawerListDataArrayObject[];
|
|
11
|
+
wrapper_element?: HTMLElement;
|
|
12
|
+
/** used by Autocomplete */
|
|
13
|
+
original_data?: DrawerListDataArrayObject[];
|
|
14
|
+
/** used by Autocomplete */
|
|
15
|
+
current_title?: string;
|
|
16
|
+
isOpen?: boolean;
|
|
17
|
+
/** used internally */
|
|
18
|
+
_data?: any;
|
|
19
|
+
/** used internally */
|
|
20
|
+
_value?: any;
|
|
21
|
+
/** used internally to have a backup to look up what we got in the first place (array vs object) */
|
|
22
|
+
raw_data?: DrawerListDataAll;
|
|
23
|
+
};
|
|
24
|
+
export type DrawerListContextProps = ContextProps & {
|
|
25
|
+
drawerList?: DrawerListContextState;
|
|
26
|
+
};
|
|
27
|
+
declare const DrawerListContext: React.Context<DrawerListContextProps>;
|
|
28
|
+
export default DrawerListContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerListContext.js","names":["_react","_interopRequireDefault","require","e","__esModule","default","DrawerListContext","React","createContext","_default","exports"],"sources":["../../../../src/fragments/drawer-list/DrawerListContext.
|
|
1
|
+
{"version":3,"file":"DrawerListContext.js","names":["_react","_interopRequireDefault","require","e","__esModule","default","DrawerListContext","React","createContext","_default","exports"],"sources":["../../../../src/fragments/drawer-list/DrawerListContext.ts"],"sourcesContent":["/**\n * Web DrawerList Context\n *\n */\n\nimport React from 'react'\nimport type { DrawerListProviderProps } from './DrawerListProvider'\nimport { ContextProps } from '../../shared/Context'\nimport { DrawerListDataAll, DrawerListDataArrayObject } from './'\n\nexport type DrawerListContextState = Omit<\n DrawerListProviderProps,\n 'data' | 'wrapper_element' | 'children'\n> & {\n data: DrawerListDataArrayObject[]\n wrapper_element?: HTMLElement\n /** used by Autocomplete */\n original_data?: DrawerListDataArrayObject[]\n /** used by Autocomplete */\n current_title?: string\n isOpen?: boolean\n /** used internally */\n _data?: any\n /** used internally */\n _value?: any\n /** used internally to have a backup to look up what we got in the first place (array vs object) */\n raw_data?: DrawerListDataAll\n}\n\nexport type DrawerListContextProps = ContextProps & {\n drawerList?: DrawerListContextState\n}\n\nconst DrawerListContext = React.createContext<DrawerListContextProps>({})\n\nexport default DrawerListContext\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA4BzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAAyB,CAAC,CAAC,CAAC;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAL,OAAA,GAE1DC,iBAAiB","ignoreList":[]}
|