@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
|
@@ -43,7 +43,6 @@ export const drawerListPropTypes = _objectSpread(_objectSpread({
|
|
|
43
43
|
disabled: PropTypes.bool,
|
|
44
44
|
content: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.string)])
|
|
45
45
|
})]))]),
|
|
46
|
-
prepared_data: PropTypes.array,
|
|
47
46
|
raw_data: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func]),
|
|
48
47
|
ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
|
|
49
48
|
}, spacingPropTypes), {}, {
|
|
@@ -88,7 +87,6 @@ export const drawerListDefaultProps = {
|
|
|
88
87
|
skip_keysearch: false,
|
|
89
88
|
opened: null,
|
|
90
89
|
data: null,
|
|
91
|
-
prepared_data: null,
|
|
92
90
|
raw_data: null,
|
|
93
91
|
ignore_events: null,
|
|
94
92
|
className: null,
|
|
@@ -115,35 +113,33 @@ export const drawerListProviderDefaultProps = {
|
|
|
115
113
|
observer_element: null,
|
|
116
114
|
min_height: 10
|
|
117
115
|
};
|
|
118
|
-
export
|
|
119
|
-
var _dataItem;
|
|
116
|
+
export function parseContentTitle(dataItem) {
|
|
120
117
|
let {
|
|
121
118
|
separator = '\n',
|
|
122
119
|
removeNumericOnlyValues = false,
|
|
123
120
|
preferSelectedValue = false
|
|
124
121
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
122
|
+
dataItem = normalizeDataItem(dataItem);
|
|
123
|
+
if (!dataItem) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
125
126
|
let ret = '';
|
|
126
127
|
const onlyNumericRegex = /[0-9.,-\s]+/;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
content: dataItem
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
const hasValue = (_dataItem = dataItem) === null || _dataItem === void 0 ? void 0 : _dataItem.selected_value;
|
|
133
|
-
if (!(preferSelectedValue && hasValue) && dataItem && Array.isArray(dataItem.content)) {
|
|
128
|
+
const hasValue = dataItem && dataItem.selected_value;
|
|
129
|
+
if (!(preferSelectedValue && hasValue) && Array.isArray(dataItem.content)) {
|
|
134
130
|
ret = dataItem.content.reduce((acc, cur) => {
|
|
135
|
-
|
|
136
|
-
if (
|
|
131
|
+
const converted = convertJsxToString(cur, ' ');
|
|
132
|
+
if (!converted) {
|
|
137
133
|
return acc;
|
|
138
134
|
}
|
|
139
|
-
const found = removeNumericOnlyValues &&
|
|
140
|
-
if (!(found && found[0].length ===
|
|
141
|
-
acc.push(
|
|
135
|
+
const found = removeNumericOnlyValues && converted.match(onlyNumericRegex);
|
|
136
|
+
if (!(found && found[0].length === converted.length)) {
|
|
137
|
+
acc.push(converted);
|
|
142
138
|
}
|
|
143
139
|
return acc;
|
|
144
140
|
}, []).join(separator);
|
|
145
141
|
} else {
|
|
146
|
-
ret = convertJsxToString(dataItem
|
|
142
|
+
ret = convertJsxToString(dataItem.content, ' ');
|
|
147
143
|
}
|
|
148
144
|
if (hasValue) {
|
|
149
145
|
if (preferSelectedValue) {
|
|
@@ -153,35 +149,30 @@ export const parseContentTitle = function (dataItem) {
|
|
|
153
149
|
return nestedChildren !== null && nestedChildren !== void 0 && (_nestedChildren$props = nestedChildren.props) !== null && _nestedChildren$props !== void 0 && _nestedChildren$props.children ? nestedChildren : word;
|
|
154
150
|
}));
|
|
155
151
|
} else if (!onlyNumericRegex.test(dataItem.selected_value)) {
|
|
156
|
-
ret =
|
|
152
|
+
ret = separator + ret;
|
|
157
153
|
}
|
|
158
154
|
}
|
|
159
|
-
if (Array.isArray(dataItem) && dataItem.length === 0) {
|
|
160
|
-
ret = null;
|
|
161
|
-
}
|
|
162
|
-
if (ret && ret.length === 1 && ret[0].ignore_events) {
|
|
163
|
-
return null;
|
|
164
|
-
}
|
|
165
155
|
return ret;
|
|
166
|
-
}
|
|
156
|
+
}
|
|
167
157
|
export const hasObjectKeyAsValue = data => {
|
|
168
158
|
var _data;
|
|
169
159
|
data = ((_data = data) === null || _data === void 0 ? void 0 : _data.raw_data) || data;
|
|
170
160
|
return data && typeof data === 'object' && !Array.isArray(data);
|
|
171
161
|
};
|
|
172
|
-
export
|
|
162
|
+
export function preSelectData(data) {
|
|
173
163
|
if (typeof data === 'string') {
|
|
174
|
-
data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) :
|
|
164
|
+
data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : undefined;
|
|
175
165
|
} else if (data && React.isValidElement(data)) {
|
|
176
166
|
data = [];
|
|
177
167
|
} else if (typeof data === 'function') {
|
|
178
168
|
data = data();
|
|
179
169
|
}
|
|
180
170
|
return data;
|
|
181
|
-
}
|
|
182
|
-
export
|
|
183
|
-
|
|
184
|
-
|
|
171
|
+
}
|
|
172
|
+
export function normalizeData(props) {
|
|
173
|
+
var _preSelectData;
|
|
174
|
+
let data = (_preSelectData = preSelectData(props.data || props.children || props)) !== null && _preSelectData !== void 0 ? _preSelectData : [];
|
|
175
|
+
if (typeof data === 'object' && !Array.isArray(data)) {
|
|
185
176
|
const list = [];
|
|
186
177
|
for (const key in data) {
|
|
187
178
|
list.push({
|
|
@@ -194,23 +185,22 @@ export const normalizeData = props => {
|
|
|
194
185
|
}
|
|
195
186
|
data = list;
|
|
196
187
|
}
|
|
197
|
-
return
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
item = {
|
|
201
|
-
content: item,
|
|
202
|
-
__isTransformed: true
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
return typeof ((_item = item) === null || _item === void 0 ? void 0 : _item.__id) !== 'undefined' ? item : _objectSpread(_objectSpread({}, item), {}, {
|
|
188
|
+
return data.map((dataItem, __id) => {
|
|
189
|
+
const normalized = normalizeDataItem(dataItem, true);
|
|
190
|
+
return typeof (normalized === null || normalized === void 0 ? void 0 : normalized.__id) !== 'undefined' ? normalized : _objectSpread(_objectSpread({}, normalized), {}, {
|
|
206
191
|
__id
|
|
207
192
|
});
|
|
208
193
|
});
|
|
209
|
-
}
|
|
194
|
+
}
|
|
195
|
+
function normalizeDataItem(dataItem) {
|
|
196
|
+
let markAsTransformed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
197
|
+
return dataItem === null ? undefined : typeof dataItem === 'object' && 'content' in dataItem ? dataItem : _objectSpread({
|
|
198
|
+
content: dataItem
|
|
199
|
+
}, markAsTransformed ? {
|
|
200
|
+
__isTransformed: true
|
|
201
|
+
} : {});
|
|
202
|
+
}
|
|
210
203
|
export const getData = props => {
|
|
211
|
-
if (props.prepared_data && Array.isArray(props.prepared_data)) {
|
|
212
|
-
return props.prepared_data;
|
|
213
|
-
}
|
|
214
204
|
return normalizeData(props);
|
|
215
205
|
};
|
|
216
206
|
export const getCurrentIndex = (value, data) => {
|
|
@@ -281,9 +271,9 @@ export const getCurrentData = (item_index, data) => {
|
|
|
281
271
|
}
|
|
282
272
|
return data;
|
|
283
273
|
};
|
|
284
|
-
export
|
|
274
|
+
export function prepareStartupState(props) {
|
|
285
275
|
const selected_item = null;
|
|
286
|
-
const raw_data = preSelectData(props.
|
|
276
|
+
const raw_data = preSelectData(props.data || (!React.isValidElement(props.children) ? props.children : undefined));
|
|
287
277
|
const data = getData(props);
|
|
288
278
|
const opened = props.opened !== null ? isTrue(props.opened) : null;
|
|
289
279
|
const state = {
|
|
@@ -307,7 +297,7 @@ export const prepareStartupState = props => {
|
|
|
307
297
|
state._value = props.value;
|
|
308
298
|
}
|
|
309
299
|
return state;
|
|
310
|
-
}
|
|
300
|
+
}
|
|
311
301
|
export const prepareDerivedState = (props, state) => {
|
|
312
302
|
if (state.opened && !state.data && typeof props.data === 'function') {
|
|
313
303
|
state.data = getData(props);
|
|
@@ -320,10 +310,12 @@ export const prepareDerivedState = (props, state) => {
|
|
|
320
310
|
state.original_data = getData(props);
|
|
321
311
|
}
|
|
322
312
|
state.usePortal = props.skip_portal !== null ? !isTrue(props.skip_portal) : true;
|
|
323
|
-
if (typeof props.wrapper_element === 'string'
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
313
|
+
if (typeof props.wrapper_element === 'string') {
|
|
314
|
+
if (typeof document !== 'undefined') {
|
|
315
|
+
const wrapper_element = document.querySelector(props.wrapper_element);
|
|
316
|
+
if (wrapper_element) {
|
|
317
|
+
state.wrapper_element = wrapper_element;
|
|
318
|
+
}
|
|
327
319
|
}
|
|
328
320
|
} else if (props.wrapper_element) {
|
|
329
321
|
state.wrapper_element = props.wrapper_element;
|
|
@@ -344,13 +336,13 @@ export const prepareDerivedState = (props, state) => {
|
|
|
344
336
|
});
|
|
345
337
|
}
|
|
346
338
|
}
|
|
347
|
-
if (!(parseFloat(state.active_item) > -2) || state._value !== props.value) {
|
|
339
|
+
if (!(state.active_item !== null && parseFloat(state.active_item) > -2) || state._value !== props.value) {
|
|
348
340
|
state.active_item = state.selected_item;
|
|
349
341
|
}
|
|
350
342
|
if (props.direction !== 'auto' && props.direction !== state.direction) {
|
|
351
343
|
state.direction = props.direction;
|
|
352
344
|
}
|
|
353
|
-
if (parseFloat(state.selected_item) > -1) {
|
|
345
|
+
if (state.selected_item !== null && parseFloat(state.selected_item) > -1) {
|
|
354
346
|
state.current_title = getCurrentDataTitle(state.selected_item, state.data);
|
|
355
347
|
}
|
|
356
348
|
state._data = props.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","disabled","content","prepared_data","array","raw_data","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","arguments","length","undefined","ret","onlyNumericRegex","Array","isArray","hasValue","reduce","acc","cur","found","match","push","join","String","word","_nestedChildren$props","nestedChildren","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","isValidElement","normalizeData","list","key","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","index","isNaN","parseFloat","i","l","_data$i","_data$i2","_data$i3","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\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 {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n disabled: PropTypes.bool,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\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 options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const nestedChildren =\n !word.props.children &&\n typeof word?.type === 'function' &&\n word.type()\n\n return nestedChildren?.props?.children ? nestedChildren : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret = String(convertJsxToString()) + separator + ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selectedKey: key,\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n if (selectedKeyExists()) {\n const index = data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n if (index > -1) {\n return index\n }\n }\n // 3. if is numeric, and no matching \"selectedKey\", handle it as a index.\n if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n typeof data[i]?.selected_key !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n return data.content\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","disabled","content","raw_data","array","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","separator","removeNumericOnlyValues","preferSelectedValue","arguments","length","undefined","normalizeDataItem","ret","onlyNumericRegex","hasValue","Array","isArray","reduce","acc","cur","converted","found","match","push","join","String","word","_nestedChildren$props","nestedChildren","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","isValidElement","normalizeData","_preSelectData","list","key","map","__id","normalized","markAsTransformed","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","index","isNaN","parseFloat","i","l","_data$i","_data$i2","_data$i3","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.ts"],"sourcesContent":["/**\n * Web DrawerList Helpers\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 {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\nimport {\n DrawerListDataArrayItem,\n DrawerListDataArrayObject,\n DrawerListData,\n DrawerListDataAll,\n DrawerListDataArray,\n} from './DrawerList'\nimport { DrawerListProviderProps } from './DrawerListProvider'\nimport { DrawerListContextState } from './DrawerListContext'\n\n// legacy used by Autocomplete and Dropdown\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n disabled: PropTypes.bool,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\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 options_render: null,\n}\n\n// legacy used by Dropdown\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport function parseContentTitle(\n dataItem: DrawerListDataArrayItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n): string | null {\n dataItem = normalizeDataItem(dataItem)\n\n if (!dataItem) {\n return null\n }\n\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n\n const hasValue = dataItem && dataItem.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce<string[]>((acc, cur) => {\n // check if we have React inside, with strings we can use\n const converted = convertJsxToString(cur, ' ')\n if (!converted) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && converted.match(onlyNumericRegex)\n if (!(found && found[0].length === converted.length)) {\n acc.push(converted)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(dataItem.content, ' ')\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const nestedChildren =\n !word.props.children &&\n typeof word?.type === 'function' &&\n (word.type as () => React.ReactElement)()\n\n return nestedChildren?.props?.children ? nestedChildren : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value as string)) {\n ret = separator + ret\n }\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport function preSelectData(data: DrawerListData): DrawerListDataAll {\n if (typeof data === 'string') {\n data =\n data[0] === '{' || data[0] === '['\n ? (JSON.parse(data) as Array<any> | Record<string, any>)\n : undefined\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n/**\n * Takes any of the forms data can have and returns a normalized array representation of it.\n * If the data is a single React.ReactNode, it will return an empty list.\n * @param {*} props object containing the data in props.data or props.children, or the data itself\n * @returns an array representation of the data\n */\nexport function normalizeData(props): DrawerListDataArrayObject[] {\n let data = preSelectData(props.data || props.children || props) ?? []\n\n if (typeof data === 'object' && !Array.isArray(data)) {\n const list: DrawerListDataArray = []\n for (const key in data) {\n list.push({\n selectedKey: key,\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return data.map((dataItem, __id) => {\n const normalized = normalizeDataItem(dataItem, true)\n\n return typeof normalized?.__id !== 'undefined'\n ? normalized\n : { ...normalized, __id }\n })\n}\n\nfunction normalizeDataItem(\n dataItem: DrawerListDataArrayItem,\n markAsTransformed = false\n): DrawerListDataArrayObject {\n return dataItem === null\n ? undefined\n : typeof dataItem === 'object' && 'content' in dataItem\n ? dataItem\n : {\n content: dataItem,\n ...(markAsTransformed ? { __isTransformed: true } : {}),\n }\n}\n\nexport const getData = (props) => {\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n if (selectedKeyExists()) {\n const index = data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n if (index > -1) {\n return index\n }\n }\n // 3. if is numeric, and no matching \"selectedKey\", handle it as a index.\n if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n typeof data[i]?.selected_key !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n return data.content\n }\n\n return data\n}\n\nexport function prepareStartupState(\n props: DrawerListProviderProps\n): DrawerListContextState {\n const selected_item = null\n const raw_data = preSelectData(\n props.data ||\n (!React.isValidElement(props.children)\n ? (props.children as DrawerListData)\n : undefined)\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state: DrawerListContextState = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data,\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (\n props: DrawerListProviderProps,\n state: DrawerListContextState\n) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (typeof props.wrapper_element === 'string') {\n if (typeof document !== 'undefined') {\n const wrapper_element = document.querySelector<HTMLElement>(\n props.wrapper_element\n )\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(\n state.active_item !== null &&\n parseFloat(state.active_item as string) > -2\n ) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (\n state.selected_item !== null &&\n parseFloat(state.selected_item as string) > -1\n ) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":";;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SACEC,MAAM,EACNC,0BAA0B,EAC1BC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,gBAAgB,QAAQ,sCAAsC;AAYvE,OAAO,MAAMC,mBAAmB,GAAAC,aAAA,CAAAA,aAAA;EAC9BC,EAAE,EAAEP,SAAS,CAACQ,MAAM;EACpBC,IAAI,EAAET,SAAS,CAACQ,MAAM;EACtBE,UAAU,EAAEV,SAAS,CAACQ,MAAM;EAC5BG,iBAAiB,EAAEX,SAAS,CAACQ,MAAM;EACnCI,UAAU,EAAEZ,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACnEC,SAAS,EAAEf,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EAClEE,SAAS,EAAEhB,SAAS,CAACiB,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EACrDC,IAAI,EAAElB,SAAS,CAACiB,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EAC9DE,UAAU,EAAEnB,SAAS,CAACoB,MAAM;EAC5BC,YAAY,EAAErB,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACrEQ,mBAAmB,EAAEtB,SAAS,CAACa,SAAS,CAAC,CACvCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACc,IAAI,CACf,CAAC;EAEFS,iBAAiB,EAAEvB,SAAS,CAACa,SAAS,CAAC,CACrCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACc,IAAI,CACf,CAAC;EACFU,WAAW,EAAExB,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACpEW,QAAQ,EAAEzB,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACjEY,YAAY,EAAE1B,SAAS,CAACiB,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAChDU,cAAc,EAAE3B,SAAS,CAACa,SAAS,CAAC,CAClCb,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,CACf,CAAC;EACFC,eAAe,EAAE/B,SAAS,CAACa,SAAS,CAAC,CACnCb,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,CACf,CAAC;EACFE,aAAa,EAAEhC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC,CAAC;EACxEa,KAAK,EAAEjC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC,CAAC;EAChEc,WAAW,EAAElC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACpEqB,YAAY,EAAEnC,SAAS,CAACQ,MAAM;EAC9B4B,UAAU,EAAEpC,SAAS,CAACQ,MAAM;EAC5B6B,aAAa,EAAErC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACtEwB,iBAAiB,EAAEtC,SAAS,CAACa,SAAS,CAAC,CACrCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACc,IAAI,CACf,CAAC;EACFyB,cAAc,EAAEvC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACvE0B,SAAS,EAAExC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EAClE2B,aAAa,EAAEzC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACtE4B,cAAc,EAAE1C,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACvE6B,MAAM,EAAE3C,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EAC/D8B,IAAI,EAAE5C,SAAS,CAACa,SAAS,CAAC,CACxBb,SAAS,CAACa,SAAS,CAAC,CAClBb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC4B,MAAM,CACjB,CAAC,EACF5B,SAAS,CAAC6C,OAAO,CACf7C,SAAS,CAACa,SAAS,CAAC,CAClBb,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAAC8B,IAAI,CAAC,CAAC,EACvD9B,SAAS,CAAC8C,KAAK,CAAC;IACdC,WAAW,EAAE/C,SAAS,CAACa,SAAS,CAAC,CAC/Bb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACoB,MAAM,CACjB,CAAC;IAEF4B,YAAY,EAAEhD,SAAS,CAACa,SAAS,CAAC,CAChCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACoB,MAAM,CACjB,CAAC;IACF6B,cAAc,EAAEjD,SAAS,CAACa,SAAS,CAAC,CAClCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,CACf,CAAC;IACFoB,YAAY,EAAElD,SAAS,CAACa,SAAS,CAAC,CAChCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,CACf,CAAC;IACFqB,QAAQ,EAAEnD,SAAS,CAACc,IAAI;IACxBsC,OAAO,EAAEpD,SAAS,CAACa,SAAS,CAAC,CAC3Bb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC6C,OAAO,CAAC7C,SAAS,CAACQ,MAAM,CAAC,CACpC;EACH,CAAC,CAAC,CACH,CACH,CAAC,CACF,CAAC;EACF6C,QAAQ,EAAErD,SAAS,CAACa,SAAS,CAAC,CAC5Bb,SAAS,CAACsD,KAAK,EACftD,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAAC6B,IAAI,CACf,CAAC;EACF0B,aAAa,EAAEvD,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC;AAAC,GAEnEV,gBAAgB;EAEnBoD,SAAS,EAAExD,SAAS,CAACQ,MAAM;EAC3BiD,QAAQ,EAAEzD,SAAS,CAACa,SAAS,CAAC,CAC5Bb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAACsD,KAAK,CAChB,CAAC;EAEFI,OAAO,EAAE1D,SAAS,CAAC6B,IAAI;EACvB8B,OAAO,EAAE3D,SAAS,CAAC6B,IAAI;EACvB+B,oBAAoB,EAAE5D,SAAS,CAAC6B,IAAI;EACpCgC,SAAS,EAAE7D,SAAS,CAAC6B,IAAI;EACzBiC,aAAa,EAAE9D,SAAS,CAAC6B,IAAI;EAC7BkC,SAAS,EAAE/D,SAAS,CAAC6B,IAAI;EACzBmC,SAAS,EAAEhE,SAAS,CAAC6B,IAAI;EACzBoC,eAAe,EAAEjE,SAAS,CAAC6B;AAAI,EAChC;AAED,OAAO,MAAMqC,sBAAsB,GAAG;EACpC3D,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,SAAS;EACfC,UAAU,EAAE,IAAI;EAChBC,iBAAiB,EAAE,MAAM;EACzBC,UAAU,EAAE,IAAI;EAChBG,SAAS,EAAE,KAAK;EAChBI,UAAU,EAAE,IAAI;EAChBH,SAAS,EAAE,MAAM;EACjBE,IAAI,EAAE,SAAS;EACfG,YAAY,EAAE,KAAK;EACnBC,mBAAmB,EAAE,KAAK;EAC1BC,iBAAiB,EAAE,KAAK;EACxBC,WAAW,EAAE,KAAK;EAClBC,QAAQ,EAAE,KAAK;EACfC,YAAY,EAAE,MAAM;EACpBK,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,KAAK,EAAE,SAAS;EAChBE,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE,IAAI;EAChBF,WAAW,EAAE,IAAI;EACjBG,aAAa,EAAE,KAAK;EACpBG,SAAS,EAAE,KAAK;EAChBC,aAAa,EAAE,KAAK;EACpBF,cAAc,EAAE,KAAK;EACrBD,iBAAiB,EAAE,KAAK;EACxBI,cAAc,EAAE,KAAK;EACrBC,MAAM,EAAE,IAAI;EACZC,IAAI,EAAE,IAAI;EACVS,QAAQ,EAAE,IAAI;EACdE,aAAa,EAAE,IAAI;EAEnBC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EAEdC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,oBAAoB,EAAE,IAAI;EAC1BC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE,IAAI;EACrBtC,cAAc,EAAE;AAClB,CAAC;AAGD,OAAO,MAAMwC,2BAA2B,GAAG;EACzCC,gBAAgB,EAAEpE,SAAS,CAACc,IAAI;EAChCuD,WAAW,EAAErE,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC,CAAC;EACtEkD,gBAAgB,EAAEtE,SAAS,CAACa,SAAS,CAAC,CACpCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,CACf,CAAC;EACFyC,UAAU,EAAEvE,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC;AACtE,CAAC;AAED,OAAO,MAAMoD,8BAA8B,GAAG;EAC5CJ,gBAAgB,EAAE,KAAK;EACvBC,WAAW,EAAE,IAAI;EACjBC,gBAAgB,EAAE,IAAI;EACtBC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,SAASE,iBAAiBA,CAC/BC,QAAiC,EAMlB;EAAA,IALf;IACEC,SAAS,GAAG,IAAI;IAChBC,uBAAuB,GAAG,KAAK;IAC/BC,mBAAmB,GAAG;EACxB,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAENJ,QAAQ,GAAGO,iBAAiB,CAACP,QAAQ,CAAC;EAEtC,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,IAAIQ,GAAG,GAAG,EAAE;EACZ,MAAMC,gBAAgB,GAAG,aAAa;EAEtC,MAAMC,QAAQ,GAAGV,QAAQ,IAAIA,QAAQ,CAACzB,cAAc;EAEpD,IACE,EAAE4B,mBAAmB,IAAIO,QAAQ,CAAC,IAClCC,KAAK,CAACC,OAAO,CAACZ,QAAQ,CAACtB,OAAO,CAAC,EAC/B;IACA8B,GAAG,GAAGR,QAAQ,CAACtB,OAAO,CACnBmC,MAAM,CAAW,CAACC,GAAG,EAAEC,GAAG,KAAK;MAE9B,MAAMC,SAAS,GAAGvF,kBAAkB,CAACsF,GAAG,EAAE,GAAG,CAAC;MAC9C,IAAI,CAACC,SAAS,EAAE;QACd,OAAOF,GAAG;MACZ;MAEA,MAAMG,KAAK,GACTf,uBAAuB,IAAIc,SAAS,CAACE,KAAK,CAACT,gBAAgB,CAAC;MAC9D,IAAI,EAAEQ,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,CAACZ,MAAM,KAAKW,SAAS,CAACX,MAAM,CAAC,EAAE;QACpDS,GAAG,CAACK,IAAI,CAACH,SAAS,CAAC;MACrB;MACA,OAAOF,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC,CACLM,IAAI,CAACnB,SAAS,CAAC;EACpB,CAAC,MAAM;IACLO,GAAG,GAAG/E,kBAAkB,CAACuE,QAAQ,CAACtB,OAAO,EAAE,GAAG,CAAC;EACjD;EAEA,IAAIgC,QAAQ,EAAE;IACZ,IAAIP,mBAAmB,EAAE;MACvBK,GAAG,GAAGa,MAAM,CACV5F,kBAAkB,CAACuE,QAAQ,CAACzB,cAAc,EAAE0B,SAAS,EAAGqB,IAAI,IAAK;QAAA,IAAAC,qBAAA;QAC/D,MAAMC,cAAc,GAClB,CAACF,IAAI,CAACG,KAAK,CAAC1C,QAAQ,IACpB,QAAOuC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,IAAI,MAAK,UAAU,IAC/BJ,IAAI,CAACI,IAAI,CAA8B,CAAC;QAE3C,OAAOF,cAAc,aAAdA,cAAc,gBAAAD,qBAAA,GAAdC,cAAc,CAAEC,KAAK,cAAAF,qBAAA,eAArBA,qBAAA,CAAuBxC,QAAQ,GAAGyC,cAAc,GAAGF,IAAI;MAChE,CAAC,CACH,CAAC;IACH,CAAC,MAAM,IAAI,CAACb,gBAAgB,CAACkB,IAAI,CAAC3B,QAAQ,CAACzB,cAAwB,CAAC,EAAE;MACpEiC,GAAG,GAAGP,SAAS,GAAGO,GAAG;IACvB;EACF;EAEA,OAAOA,GAAG;AACZ;AAEA,OAAO,MAAMoB,mBAAmB,GAAI1D,IAAI,IAAK;EAAA,IAAA2D,KAAA;EAC3C3D,IAAI,GAAG,EAAA2D,KAAA,GAAA3D,IAAI,cAAA2D,KAAA,uBAAJA,KAAA,CAAMlD,QAAQ,KAAIT,IAAI;EAC7B,OAAOA,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,CAACyC,KAAK,CAACC,OAAO,CAAC1C,IAAI,CAAC;AACjE,CAAC;AAED,OAAO,SAAS4D,aAAaA,CAAC5D,IAAoB,EAAqB;EACrE,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5BA,IAAI,GACFA,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAC7B6D,IAAI,CAACC,KAAK,CAAC9D,IAAI,CAAC,GACjBoC,SAAS;EACjB,CAAC,MAAM,IAAIpC,IAAI,IAAI7C,KAAK,CAAC4G,cAAc,CAAC/D,IAAI,CAAC,EAAE;IAC7CA,IAAI,GAAG,EAAE;EACX,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IACrCA,IAAI,GAAGA,IAAI,CAAC,CAAC;EACf;EAEA,OAAOA,IAAI;AACb;AAQA,OAAO,SAASgE,aAAaA,CAACT,KAAK,EAA+B;EAAA,IAAAU,cAAA;EAChE,IAAIjE,IAAI,IAAAiE,cAAA,GAAGL,aAAa,CAACL,KAAK,CAACvD,IAAI,IAAIuD,KAAK,CAAC1C,QAAQ,IAAI0C,KAAK,CAAC,cAAAU,cAAA,cAAAA,cAAA,GAAI,EAAE;EAErE,IAAI,OAAOjE,IAAI,KAAK,QAAQ,IAAI,CAACyC,KAAK,CAACC,OAAO,CAAC1C,IAAI,CAAC,EAAE;IACpD,MAAMkE,IAAyB,GAAG,EAAE;IACpC,KAAK,MAAMC,GAAG,IAAInE,IAAI,EAAE;MACtBkE,IAAI,CAACjB,IAAI,CAAC;QACR9C,WAAW,EAAEgE,GAAG;QAChB/D,YAAY,EAAE+D,GAAG;QACjB9E,KAAK,EAAE8E,GAAG;QACV3D,OAAO,EAAER,IAAI,CAACmE,GAAG,CAAC;QAClBX,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;IACAxD,IAAI,GAAGkE,IAAI;EACb;EAEA,OAAOlE,IAAI,CAACoE,GAAG,CAAC,CAACtC,QAAQ,EAAEuC,IAAI,KAAK;IAClC,MAAMC,UAAU,GAAGjC,iBAAiB,CAACP,QAAQ,EAAE,IAAI,CAAC;IAEpD,OAAO,QAAOwC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAED,IAAI,MAAK,WAAW,GAC1CC,UAAU,GAAA5G,aAAA,CAAAA,aAAA,KACL4G,UAAU;MAAED;IAAI,EAAE;EAC7B,CAAC,CAAC;AACJ;AAEA,SAAShC,iBAAiBA,CACxBP,QAAiC,EAEN;EAAA,IAD3ByC,iBAAiB,GAAArC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEzB,OAAOJ,QAAQ,KAAK,IAAI,GACpBM,SAAS,GACT,OAAON,QAAQ,KAAK,QAAQ,IAAI,SAAS,IAAIA,QAAQ,GACrDA,QAAQ,GAAApE,aAAA;IAEN8C,OAAO,EAAEsB;EAAQ,GACbyC,iBAAiB,GAAG;IAAEC,eAAe,EAAE;EAAK,CAAC,GAAG,CAAC,CAAC,CACvD;AACP;AAEA,OAAO,MAAMC,OAAO,GAAIlB,KAAK,IAAK;EAChC,OAAOS,aAAa,CAACT,KAAK,CAAC;AAC7B,CAAC;AAED,OAAO,MAAMmB,eAAe,GAAGA,CAACrF,KAAK,EAAEW,IAAI,KAAK;EAE9C,IAAI,QAAQ,CAACyD,IAAI,CAACN,MAAM,CAAC9D,KAAK,CAAC,CAAC,EAAE;IAChC,OAAOW,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2E,SAAS,CAAE9B,GAAG,IAAK+B,iBAAiB,CAAC/B,GAAG,CAAC,KAAKxD,KAAK,CAAC;EACnE;EAEA,IAAIwF,iBAAiB,CAAC,CAAC,EAAE;IACvB,MAAMC,KAAK,GAAG9E,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2E,SAAS,CAC1B9B,GAAG,IAAKM,MAAM,CAACyB,iBAAiB,CAAC/B,GAAG,CAAC,CAAC,KAAKM,MAAM,CAAC9D,KAAK,CAC1D,CAAC;IACD,IAAIyF,KAAK,GAAG,CAAC,CAAC,EAAE;MACd,OAAOA,KAAK;IACd;EACF;EAEA,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC3F,KAAK,CAAC,CAAC,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,OAAO,IAAI;EAEX,SAASwF,iBAAiBA,CAAA,EAAG;IAC3B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGlF,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmC,MAAM,EAAE8C,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;MAAA,IAAAE,OAAA,EAAAC,QAAA,EAAAC,QAAA;MAC5C,IAAIJ,CAAC,GAAG,EAAE,EAAE;QACV,OAAO,KAAK;MACd;MACA,IACE,SAAAE,OAAA,GAAOnF,IAAI,CAACiF,CAAC,CAAC,cAAAE,OAAA,uBAAPA,OAAA,CAAShF,WAAW,MAAK,WAAW,IAC3C,SAAAiF,QAAA,GAAOpF,IAAI,CAACiF,CAAC,CAAC,cAAAG,QAAA,uBAAPA,QAAA,CAAShF,YAAY,MAAK,WAAW,IAC5C,EAAAiF,QAAA,GAAArF,IAAI,CAACiF,CAAC,CAAC,cAAAI,QAAA,uBAAPA,QAAA,CAAS7B,IAAI,MAAK,QAAQ,EAC1B;QACA,OAAO,IAAI;MACb;IACF;EACF;AACF,CAAC;AAED,OAAO,MAAM8B,oBAAoB,GAAGA,CAACjG,KAAK,EAAEkG,KAAK,KAAK;EACpD,IAAI7B,mBAAmB,CAAC6B,KAAK,CAAC,EAAE;IAC9B,OAAOX,iBAAiB,CACtBW,KAAK,CAACvF,IAAI,CAACwF,MAAM,CAAC,CAACC,CAAC,EAAER,CAAC,KAAKA,CAAC,KAAKD,UAAU,CAAC3F,KAAK,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;EACH;EAEA,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,MAAMuF,iBAAiB,GAAIc,OAAO,IAAK;EAC5C,IAAI,QAAOA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEvF,WAAW,MAAK,WAAW,EAAE;IAC/C,OAAOuF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEvF,WAAW;EAC7B;EACA,IAAI,QAAOuF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtF,YAAY,MAAK,WAAW,EAAE;IAChD,OAAOsF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEtF,YAAY;EAC9B;EACA,IAAI,QAAOsF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElF,OAAO,MAAK,WAAW,EAAE;IAC3C,OAAOkF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElF,OAAO;EACzB;EACA,OAAOkF,OAAO;AAChB,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGA,CAACC,UAAU,EAAE5F,IAAI,KAAK;EAChDA,IAAI,GAAG6F,cAAc,CAACD,UAAU,EAAE5F,IAAI,CAAC;EAGvC,IAAIA,IAAI,IAAIA,IAAI,CAACqE,IAAI,EAAE;IACrBrE,IAAI,GAAAtC,aAAA,KAAQsC,IAAI,CAAE;IAClB,OAAOA,IAAI,CAACqE,IAAI;IAChB,OAAOrE,IAAI,CAACwE,eAAe;EAC7B;EAEA,OAAOxE,IAAI;AACb,CAAC;AAED,OAAO,MAAM6F,cAAc,GAAGA,CAACD,UAAU,EAAE5F,IAAI,KAAK;EAClD,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAC9BA,IAAI,GAAGgE,aAAa,CAAChE,IAAI,CAAC;EAC5B;EAEAA,IAAI,GAAIA,IAAI,IAAIA,IAAI,CAAC8F,IAAI,CAACC,IAAA;IAAA,IAAC;MAAE1B;IAAK,CAAC,GAAA0B,IAAA;IAAA,OAAK1B,IAAI,IAAIuB,UAAU;EAAA,EAAC,IAAK,IAAI;EAEpE,IAAI5F,IAAI,IAAIA,IAAI,CAACwE,eAAe,EAAE;IAChC,OAAOxE,IAAI,CAACQ,OAAO;EACrB;EAEA,OAAOR,IAAI;AACb,CAAC;AAED,OAAO,SAASgG,mBAAmBA,CACjCzC,KAA8B,EACN;EACxB,MAAM0C,aAAa,GAAG,IAAI;EAC1B,MAAMxF,QAAQ,GAAGmD,aAAa,CAC5BL,KAAK,CAACvD,IAAI,KACP,CAAC7C,KAAK,CAAC4G,cAAc,CAACR,KAAK,CAAC1C,QAAQ,CAAC,GACjC0C,KAAK,CAAC1C,QAAQ,GACfuB,SAAS,CACjB,CAAC;EACD,MAAMpC,IAAI,GAAGyE,OAAO,CAAClB,KAAK,CAAC;EAC3B,MAAMxD,MAAM,GAAGwD,KAAK,CAACxD,MAAM,KAAK,IAAI,GAAG1C,MAAM,CAACkG,KAAK,CAACxD,MAAM,CAAC,GAAG,IAAI;EAElE,MAAMwF,KAA6B,GAAG;IACpCxF,MAAM;IACNC,IAAI;IACJkG,aAAa,EAAElG,IAAI;IACnBS,QAAQ;IACRrC,SAAS,EAAEmF,KAAK,CAACnF,SAAS;IAC1BG,UAAU,EAAEgF,KAAK,CAAChF,UAAU;IAC5B0H,aAAa;IACbE,WAAW,EAAEF,aAAa;IAC1BlF,OAAO,EAAEwC,KAAK,CAACxC,OAAO;IACtBD,OAAO,EAAEyC,KAAK,CAACzC,OAAO;IACtBG,SAAS,EAAEsC,KAAK,CAACtC,SAAS;IAC1BG,SAAS,EAAEmC,KAAK,CAACnC;EACnB,CAAC;EAED,IACEmC,KAAK,CAAClE,KAAK,KAAK,IAAI,IACpB,OAAOkE,KAAK,CAAClE,KAAK,KAAK,WAAW,IAClCkE,KAAK,CAAClE,KAAK,KAAK,SAAS,EACzB;IACAkG,KAAK,CAACU,aAAa,GAAGV,KAAK,CAACY,WAAW,GAAGzB,eAAe,CACvDnB,KAAK,CAAClE,KAAK,EACXW,IACF,CAAC;EACH,CAAC,MAAM,IAAIuD,KAAK,CAACnE,aAAa,KAAK,IAAI,EAAE;IACvCmG,KAAK,CAACU,aAAa,GAAGV,KAAK,CAACY,WAAW,GAAGzB,eAAe,CACvDnB,KAAK,CAACnE,aAAa,EACnBY,IACF,CAAC;IACDuF,KAAK,CAACa,MAAM,GAAG7C,KAAK,CAAClE,KAAK;EAC5B;EAEA,OAAOkG,KAAK;AACd;AAEA,OAAO,MAAMc,mBAAmB,GAAGA,CACjC9C,KAA8B,EAC9BgC,KAA6B,KAC1B;EACH,IAAIA,KAAK,CAACxF,MAAM,IAAI,CAACwF,KAAK,CAACvF,IAAI,IAAI,OAAOuD,KAAK,CAACvD,IAAI,KAAK,UAAU,EAAE;IACnEuF,KAAK,CAACvF,IAAI,GAAGyE,OAAO,CAAClB,KAAK,CAAC;EAC7B;EAEA,IAAIA,KAAK,CAACvD,IAAI,IAAIuD,KAAK,CAACvD,IAAI,KAAKuF,KAAK,CAAC5B,KAAK,EAAE;IAC5C,IAAI4B,KAAK,CAAC5B,KAAK,EAAE;MACf4B,KAAK,CAACzH,UAAU,GAAGyH,KAAK,CAACzH,UAAU,GAAGwI,IAAI,CAACC,GAAG,CAAC,CAAC;IAClD;IACAhB,KAAK,CAACvF,IAAI,GAAGyE,OAAO,CAAClB,KAAK,CAAC;IAC3BgC,KAAK,CAACW,aAAa,GAAGzB,OAAO,CAAClB,KAAK,CAAC;EACtC;EAEAgC,KAAK,CAACiB,SAAS,GACbjD,KAAK,CAACjE,WAAW,KAAK,IAAI,GAAG,CAACjC,MAAM,CAACkG,KAAK,CAACjE,WAAW,CAAC,GAAG,IAAI;EAEhE,IAAI,OAAOiE,KAAK,CAACpE,eAAe,KAAK,QAAQ,EAAE;IAC7C,IAAI,OAAOsH,QAAQ,KAAK,WAAW,EAAE;MACnC,MAAMtH,eAAe,GAAGsH,QAAQ,CAACC,aAAa,CAC5CnD,KAAK,CAACpE,eACR,CAAC;MACD,IAAIA,eAAe,EAAE;QACnBoG,KAAK,CAACpG,eAAe,GAAGA,eAAe;MACzC;IACF;EACF,CAAC,MAAM,IAAIoE,KAAK,CAACpE,eAAe,EAAE;IAChCoG,KAAK,CAACpG,eAAe,GAAGoE,KAAK,CAACpE,eAAe;EAC/C;EAEA,IACEoG,KAAK,CAACU,aAAa,KAAK1C,KAAK,CAAClE,KAAK,KAClCkG,KAAK,CAACa,MAAM,KAAK7C,KAAK,CAAClE,KAAK,IAAIhC,MAAM,CAACkG,KAAK,CAAC5E,iBAAiB,CAAC,CAAC,EACjE;IACA,IAAI4E,KAAK,CAAClE,KAAK,KAAK,SAAS,EAAE;MAC7BkG,KAAK,CAACU,aAAa,GAAG,IAAI;IAC5B,CAAC,MAAM;MACLV,KAAK,CAACU,aAAa,GAAGvB,eAAe,CACnCnB,KAAK,CAAClE,KAAK,EACXkG,KAAK,CAACW,aACR,CAAC;IACH;IAEA,IAAI,OAAO3C,KAAK,CAAClC,eAAe,KAAK,UAAU,EAAE;MAC/C/D,0BAA0B,CAAC;QAAEiG;MAAM,CAAC,EAAE,iBAAiB,EAAE;QACvD0C,aAAa,EAAEV,KAAK,CAACU,aAAa;QAClC5G,KAAK,EAAEiG,oBAAoB,CAACC,KAAK,CAACU,aAAa,EAAEV,KAAK,CAAC;QACvDvF,IAAI,EAAE2F,YAAY,CAACJ,KAAK,CAACU,aAAa,EAAEV,KAAK,CAACvF,IAAI;MACpD,CAAC,CAAC;IACJ;EACF;EAGA,IACE,EACEuF,KAAK,CAACY,WAAW,KAAK,IAAI,IAC1BnB,UAAU,CAACO,KAAK,CAACY,WAAqB,CAAC,GAAG,CAAC,CAAC,CAC7C,IACDZ,KAAK,CAACa,MAAM,KAAK7C,KAAK,CAAClE,KAAK,EAC5B;IACAkG,KAAK,CAACY,WAAW,GAAGZ,KAAK,CAACU,aAAa;EACzC;EAEA,IAAI1C,KAAK,CAACnF,SAAS,KAAK,MAAM,IAAImF,KAAK,CAACnF,SAAS,KAAKmH,KAAK,CAACnH,SAAS,EAAE;IACrEmH,KAAK,CAACnH,SAAS,GAAGmF,KAAK,CAACnF,SAAS;EACnC;EAEA,IACEmH,KAAK,CAACU,aAAa,KAAK,IAAI,IAC5BjB,UAAU,CAACO,KAAK,CAACU,aAAuB,CAAC,GAAG,CAAC,CAAC,EAC9C;IACAV,KAAK,CAACoB,aAAa,GAAGC,mBAAmB,CACvCrB,KAAK,CAACU,aAAa,EACnBV,KAAK,CAACvF,IACR,CAAC;EACH;EAEAuF,KAAK,CAAC5B,KAAK,GAAGJ,KAAK,CAACvD,IAAI;EACxBuF,KAAK,CAACa,MAAM,GAAG7C,KAAK,CAAClE,KAAK;EAE1B,OAAOkG,KAAK;AACd,CAAC;AAED,OAAO,MAAMqB,mBAAmB,GAAGA,CAACX,aAAa,EAAEjG,IAAI,KAAK;EAC1D,MAAM6G,WAAW,GAAGhB,cAAc,CAACI,aAAa,EAAEjG,IAAI,CAAC;EACvD,OAAO6B,iBAAiB,CAACgF,WAAW,EAAE;IACpC9E,SAAS,EAAE,GAAG;IACdE,mBAAmB,EAAE;EACvB,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAM6E,WAAW,GAAGA,CAACC,GAAG,EAAEC,GAAG,KAClCC,IAAI,CAACC,GAAG,CAACC,KAAK,CACZ,IAAI,EACJJ,GAAG,CAACvB,MAAM,CAAE4B,CAAC,IAAKA,CAAC,IAAIJ,GAAG,CAC5B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DrawerListDataArrayObject } from './DrawerList';
|
|
3
|
+
export type DrawerListItemProps = Omit<React.HTMLProps<HTMLLIElement>, 'children'> & {
|
|
4
|
+
children: ItemContentChildren;
|
|
5
|
+
active?: boolean;
|
|
6
|
+
hash?: string;
|
|
7
|
+
selected?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 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).
|
|
10
|
+
*/
|
|
11
|
+
value?: string;
|
|
12
|
+
on_click?: ({ selected, value, }: {
|
|
13
|
+
selected: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* 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).
|
|
16
|
+
*/
|
|
17
|
+
value: string;
|
|
18
|
+
}) => void;
|
|
19
|
+
};
|
|
20
|
+
export declare const DrawerListItem: React.ForwardRefExoticComponent<Omit<DrawerListItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
21
|
+
export type ItemContentChildren = React.ReactNode | DrawerListDataArrayObject;
|
|
22
|
+
export interface ItemContentProps {
|
|
23
|
+
hash?: string;
|
|
24
|
+
children?: ItemContentChildren;
|
|
25
|
+
}
|
|
26
|
+
export declare function ItemContent({ hash, children }: ItemContentProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export type DrawerListHorizontalItemProps = {
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
} & Omit<React.HTMLProps<HTMLElement>, 'children'>;
|
|
30
|
+
export declare function DrawerListHorizontalItem({ className, ...props }: DrawerListHorizontalItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
const _excluded = ["role", "hash", "children", "className", "on_click", "selected", "active", "value", "disabled"],
|
|
5
|
+
_excluded2 = ["children", "className"],
|
|
6
|
+
_excluded3 = ["className"];
|
|
7
|
+
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; }
|
|
8
|
+
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; }
|
|
9
|
+
import React, { forwardRef } from 'react';
|
|
10
|
+
import classnames from 'classnames';
|
|
11
|
+
export const DrawerListItem = forwardRef(function DrawerListItem(props, ref) {
|
|
12
|
+
const {
|
|
13
|
+
role = 'option',
|
|
14
|
+
hash = '',
|
|
15
|
+
children,
|
|
16
|
+
className = null,
|
|
17
|
+
on_click = null,
|
|
18
|
+
selected,
|
|
19
|
+
active = null,
|
|
20
|
+
value = null,
|
|
21
|
+
disabled
|
|
22
|
+
} = props,
|
|
23
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
24
|
+
const params = {
|
|
25
|
+
className: classnames(className, 'dnb-drawer-list__option', selected && 'dnb-drawer-list__option--selected', active && 'dnb-drawer-list__option--focus'),
|
|
26
|
+
role,
|
|
27
|
+
tabIndex: selected ? 0 : -1,
|
|
28
|
+
disabled,
|
|
29
|
+
'aria-selected': active,
|
|
30
|
+
'aria-disabled': disabled
|
|
31
|
+
};
|
|
32
|
+
if (selected) {
|
|
33
|
+
params['aria-current'] = true;
|
|
34
|
+
}
|
|
35
|
+
if (on_click && !rest.onClick) {
|
|
36
|
+
rest.onClick = () => on_click(_objectSpread({
|
|
37
|
+
selected,
|
|
38
|
+
value
|
|
39
|
+
}, rest));
|
|
40
|
+
}
|
|
41
|
+
return React.createElement("li", _extends({}, params, rest, {
|
|
42
|
+
ref: ref,
|
|
43
|
+
key: 'li' + hash
|
|
44
|
+
}), React.createElement("span", {
|
|
45
|
+
className: "dnb-drawer-list__option__inner"
|
|
46
|
+
}, React.createElement(ItemContent, {
|
|
47
|
+
hash: hash
|
|
48
|
+
}, children)));
|
|
49
|
+
});
|
|
50
|
+
export function ItemContent(_ref) {
|
|
51
|
+
let {
|
|
52
|
+
hash = '',
|
|
53
|
+
children
|
|
54
|
+
} = _ref;
|
|
55
|
+
let renderedContent = undefined;
|
|
56
|
+
const isDataObject = typeof children === 'object' && 'content' in children;
|
|
57
|
+
const content = isDataObject ? children.content : children;
|
|
58
|
+
if (content) {
|
|
59
|
+
if (Array.isArray(content)) {
|
|
60
|
+
renderedContent = content.map((contentItem, n) => React.createElement(DrawerListOptionItem, {
|
|
61
|
+
key: hash + n,
|
|
62
|
+
className: `item-nr-${n + 1}`
|
|
63
|
+
}, isDataObject && children.render ? children.render(contentItem, hash + n) : contentItem));
|
|
64
|
+
} else {
|
|
65
|
+
renderedContent = React.createElement(DrawerListOptionItem, null, isDataObject && children.render ? children.render(content, hash) : content);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return React.createElement(React.Fragment, null, renderedContent, isDataObject && children.suffix_value && React.createElement(DrawerListOptionItem, {
|
|
69
|
+
className: "dnb-drawer-list__option__suffix"
|
|
70
|
+
}, children.suffix_value));
|
|
71
|
+
}
|
|
72
|
+
function DrawerListOptionItem(_ref2) {
|
|
73
|
+
let {
|
|
74
|
+
children = undefined,
|
|
75
|
+
className = null
|
|
76
|
+
} = _ref2,
|
|
77
|
+
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
78
|
+
return React.createElement("span", _extends({
|
|
79
|
+
className: classnames('dnb-drawer-list__option__item', className)
|
|
80
|
+
}, props), children);
|
|
81
|
+
}
|
|
82
|
+
export function DrawerListHorizontalItem(_ref3) {
|
|
83
|
+
let {
|
|
84
|
+
className
|
|
85
|
+
} = _ref3,
|
|
86
|
+
props = _objectWithoutProperties(_ref3, _excluded3);
|
|
87
|
+
return React.createElement(DrawerListOptionItem, _extends({
|
|
88
|
+
className: classnames('dnb-drawer-list__option__item--horizontal', className)
|
|
89
|
+
}, props));
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=DrawerListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerListItem.js","names":["React","forwardRef","classnames","DrawerListItem","props","ref","role","hash","children","className","on_click","selected","active","value","disabled","rest","_objectWithoutProperties","_excluded","params","tabIndex","onClick","_objectSpread","createElement","_extends","key","ItemContent","_ref","renderedContent","undefined","isDataObject","content","Array","isArray","map","contentItem","n","DrawerListOptionItem","render","Fragment","suffix_value","_ref2","_excluded2","DrawerListHorizontalItem","_ref3","_excluded3"],"sources":["../../../../src/fragments/drawer-list/DrawerListItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\nimport classnames from 'classnames'\nimport { DrawerListDataArrayObject } from './DrawerList'\n\nexport type DrawerListItemProps = Omit<\n React.HTMLProps<HTMLLIElement>,\n 'children'\n> & {\n children: ItemContentChildren\n active?: boolean\n hash?: string\n selected?: boolean\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?: string\n on_click?: ({\n selected,\n value,\n }: {\n selected: boolean\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: string\n }) => void\n}\n\nexport const DrawerListItem = forwardRef(function DrawerListItem(\n props: DrawerListItemProps,\n ref: React.ForwardedRef<HTMLLIElement>\n) {\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 disabled,\n 'aria-selected': active,\n 'aria-disabled': disabled,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click && !rest.onClick) {\n rest.onClick = () =>\n on_click({\n selected,\n value,\n ...rest,\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})\n\nexport type ItemContentChildren =\n | React.ReactNode\n | DrawerListDataArrayObject\n\nexport interface ItemContentProps {\n hash?: string\n children?: ItemContentChildren\n}\n\nexport function ItemContent({ hash = '', children }: ItemContentProps) {\n let renderedContent = undefined\n const isDataObject =\n typeof children === 'object' && 'content' in children\n\n const content = isDataObject ? children.content : children\n if (content) {\n if (Array.isArray(content)) {\n renderedContent = content.map((contentItem, n) => (\n <DrawerListOptionItem\n key={hash + n}\n className={`item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {isDataObject && children.render\n ? children.render(contentItem, hash + n)\n : contentItem}\n </DrawerListOptionItem>\n ))\n } else {\n renderedContent = (\n <DrawerListOptionItem>\n {isDataObject && children.render\n ? children.render(content, hash)\n : content}\n </DrawerListOptionItem>\n )\n }\n }\n\n return (\n <>\n {renderedContent}\n {isDataObject && children.suffix_value && (\n <DrawerListOptionItem className=\"dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </DrawerListOptionItem>\n )}\n </>\n )\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\nexport type DrawerListHorizontalItemProps = {\n children: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'children'>\n\nexport function DrawerListHorizontalItem({\n className,\n ...props\n}: DrawerListHorizontalItemProps) {\n return (\n <DrawerListOptionItem\n className={classnames([\n 'dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,30 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
fixed_position?: boolean;
|
|
22
|
-
className?: string;
|
|
23
|
-
}
|
|
24
|
-
export default class DrawerListPortal extends React.Component<
|
|
25
|
-
DrawerListPortalProps,
|
|
26
|
-
any
|
|
27
|
-
> {
|
|
28
|
-
static defaultProps: object;
|
|
29
|
-
render(): JSX.Element;
|
|
30
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Web DrawerList Component
|
|
3
|
+
*
|
|
4
|
+
* This is a legacy component.
|
|
5
|
+
* For referencing while developing new features, please use a Functional component.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
export type DrawerListPortalProps = {
|
|
9
|
+
id: string;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
opened: boolean;
|
|
12
|
+
innerRef?: React.ForwardedRef<HTMLSpanElement>;
|
|
13
|
+
rootRef: React.RefObject<HTMLSpanElement>;
|
|
14
|
+
include_owner_width?: boolean;
|
|
15
|
+
independent_width?: boolean;
|
|
16
|
+
fixed_position?: boolean;
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<DrawerListPortalProps, "innerRef"> & React.RefAttributes<HTMLSpanElement>>;
|
|
20
|
+
export default _default;
|