@dnb/eufemia 10.73.1 → 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 +40 -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/components/toggle-button/ToggleButton.js +1 -1
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/upload/UploadStatus.js +1 -0
- package/cjs/components/upload/UploadStatus.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/ArraySelection/ArraySelection.js +1 -0
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.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/PhoneNumber/PhoneNumber.js +3 -0
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.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 +38 -14
- 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/components/toggle-button/ToggleButton.js +1 -1
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/upload/UploadStatus.js +1 -0
- package/components/upload/UploadStatus.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/components/toggle-button/ToggleButton.js +1 -1
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/upload/UploadStatus.js +1 -0
- package/es/components/upload/UploadStatus.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/ArraySelection/ArraySelection.js +1 -0
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.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/PhoneNumber/PhoneNumber.js +3 -0
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.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 +38 -12
- 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/ArraySelection/ArraySelection.js +1 -0
- package/extensions/forms/Field/ArraySelection/ArraySelection.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/PhoneNumber/PhoneNumber.js +3 -0
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.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 +40 -15
- 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 +3 -3
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- package/es/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- package/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
- /package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
- /package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
- /package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","selectall","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","name","i18n","en","code","selected_value","search_content","content","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n 'layout' | 'layoutOptions'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [countryCode, phoneNumber] = splitValue(external)\n if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filter, ccFilter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n selectall\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n const name = country.i18n[lang] ?? country.i18n.en\n const code = formatCountryCode(country.cdc)\n return {\n selectedKey: code,\n selected_value: `${country.iso} (${code})`,\n search_content: [code, name],\n content: [name, code],\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","labelSrOnly","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","label_sr_only","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","selectall","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","name","i18n","en","code","selected_value","search_content","content","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n 'layout' | 'layoutOptions'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [countryCode, phoneNumber] = splitValue(external)\n if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n labelSrOnly,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filter, ccFilter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n label_sr_only={labelSrOnly}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n selectall\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n labelSrOnly={labelSrOnly}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n const name = country.i18n[lang] ?? country.i18n.en\n const code = formatCountryCode(country.cdc)\n return {\n selectedKey: code,\n selected_value: `${country.iso} (${code})`,\n search_content: [code, name],\n content: [name, code],\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAOA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,UAAA,GAAAD,sBAAA,CAAAH,OAAA;AAKA,IAAAK,OAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,IAAAM,YAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAKA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAN,sBAAA,CAAAH,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AAKA,IAAAW,eAAA,GAAAR,sBAAA,CAAAH,OAAA;AAAuD,SAAAG,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAApB,CAAA,EAAAK,CAAA,QAAAC,CAAA,GAAAM,MAAA,CAAAS,IAAA,CAAArB,CAAA,OAAAY,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAAtB,CAAA,GAAAK,CAAA,KAAAkB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAnB,CAAA,WAAAO,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAAoB,UAAA,OAAAnB,CAAA,CAAAoB,IAAA,CAAAC,KAAA,CAAArB,CAAA,EAAAiB,CAAA,YAAAjB,CAAA;AAAA,SAAAsB,cAAA5B,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAC,CAAA,WAAAuB,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAe,OAAA,CAAAR,MAAA,CAAAN,CAAA,OAAAyB,OAAA,WAAA1B,CAAA,IAAA2B,eAAA,CAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAO,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAlC,CAAA,EAAAY,MAAA,CAAAqB,yBAAA,CAAA3B,CAAA,KAAAc,OAAA,CAAAR,MAAA,CAAAN,CAAA,GAAAyB,OAAA,WAAA1B,CAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,EAAAO,MAAA,CAAAE,wBAAA,CAAAR,CAAA,EAAAD,CAAA,iBAAAL,CAAA;AAAA,SAAAgC,gBAAAhC,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAA8B,cAAA,CAAA9B,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAA+B,KAAA,EAAA9B,CAAA,EAAAmB,UAAA,MAAAY,YAAA,MAAAC,QAAA,UAAAtC,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAmC,eAAA7B,CAAA,QAAAY,CAAA,GAAAqB,YAAA,CAAAjC,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqB,aAAAjC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAkC,MAAA,CAAAC,WAAA,kBAAAzC,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAAwB,SAAA,yEAAArC,CAAA,GAAAsC,MAAA,GAAAC,MAAA,EAAAtC,CAAA;AA4CvD,MAAMuC,kBAAkB,GAAG,KAAK;AAChC,MAAMC,kBAAkB,GAAG,aAAa;AACxC,MAAMC,WAAW,GAAG,CAClB,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,IAAI,CACL;AAOD,SAASC,WAAWA,CAACC,KAAY,EAAE;EAAA,IAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA;EACjC,MAAMC,aAAa,GAAG,IAAAC,iBAAU,EAACC,gBAAa,CAAC;EAC/C,MAAM;IACJC,KAAK,EAAEC,YAAY;IACnBC,gBAAgB,EAAEC,uBAAuB;IACzCC;EACF,CAAC,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACb,WAAW;EAChC,MAAMc,IAAI,IAAAZ,qBAAA,GAAGG,aAAa,CAACU,MAAM,cAAAb,qBAAA,uBAApBA,qBAAA,CAAsBc,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAgB;EAE/D,MAAMC,cAAc,GAAG,IAAAC,aAAM,EAAiBjB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkB,UAAU,CAAC;EAChE,MAAMC,kBAAkB,GAAG,IAAAF,aAAM,EAACD,cAAc,CAACI,OAAO,CAAC;EACzD,MAAMC,SAAS,GAAG,IAAAJ,aAAM,EAAiBjB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkB,UAAU,CAAC;EAC3D,MAAMI,OAAO,GAAG,IAAAL,aAAM,EAAiC,IAAI,CAAC;EAC5D,MAAMM,OAAO,GAAG,IAAAN,aAAM,EAASJ,IAAI,CAAC;EACpC,MAAMW,SAAS,GAAG,IAAAP,aAAM,EAAU,KAAK,CAAC;EACxC,MAAMQ,iBAAiB,GAAG,IAAAR,aAAM,EAAc,CAAC;EAE/C,MAAMS,aAAa,GAAG,IAAAC,cAAO,EAC3B,MAAAhD,aAAA;IACE,qBAAqB,EAAEgC,aAAa;IACpC,oBAAoB,EAAEA;EAAa,GAChCX,KAAK,CAAC0B,aAAa,CACtB,EACF,CAACf,aAAa,EAAEX,KAAK,CAAC0B,aAAa,CACrC,CAAC;EAED,MAAME,gBAAgB,GAAG,IAAAC,kBAAW,EAClC,CAAC1C,KAAa,EAAA2C,IAAA,KAAqC;IAAA,IAAnC;MAAEC,QAAQ;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAC5C,IAAIC,QAAQ,EAAE;MACZ,MAAM,CAACG,WAAW,EAAEC,WAAW,CAAC,GAAGC,UAAU,CAACjD,KAAK,CAAC;MAEpD,IAAI+C,WAAW,KAAKf,kBAAkB,CAACC,OAAO,EAAE;QAC9C,IAAIc,WAAW,EAAE;UACff,kBAAkB,CAACC,OAAO,GAAGc,WAAW;QAC1C;QACA,OAAOG,SAAS;MAClB;MAEA,IAAIL,SAAS,IAAI,CAACG,WAAW,EAAE;QAC7B,OAAOF,KAAK;MACd;IACF;IAEA,OAAOI,SAAS;EAClB,CAAC,EACD,EACF,CAAC;EAED,MAAMC,YAAY,GAAG,IAAAT,kBAAW,EAC7BU,QAAgB,IAAK;IACpB,MAAM,CAACL,WAAW,EAAEC,WAAW,CAAC,GAAGC,UAAU,CAACG,QAAQ,CAAC;IACvD,IAAI,CAACL,WAAW,IAAI,CAACC,WAAW,IAAI,CAACnC,KAAK,CAACwC,oBAAoB,EAAE;MAC/D,OAAOxB,cAAc,CAACI,OAAO;IAC/B;IACA,OAAOmB,QAAQ;EACjB,CAAC,EACD,CAACvC,KAAK,CAACwC,oBAAoB,CAC7B,CAAC;EAED,MAAMC,OAAO,GAAG,IAAAZ,kBAAW,EACxB1C,KAAa,IAAK;IACjB,MAAM,GAAGgD,WAAW,CAAC,GAAGC,UAAU,CAACjD,KAAK,CAAC;IACzC,IAAI,CAACgD,WAAW,EAAE;MAChB,OAAOnC,KAAK,CAACkB,UAAU;IACzB;IACA,OAAO/B,KAAK;EACd,CAAC,EACD,CAACa,KAAK,CAACkB,UAAU,CACnB,CAAC;EAED,MAAMwB,MAAM,GAAG,IAAAf,cAAO,EACpB;IAAA,IAAAgB,aAAA;IAAA,QAAAA,aAAA,GACE3C,KAAK,CAAC0C,MAAM,cAAAC,aAAA,cAAAA,aAAA,GAAI;MACdC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE7C,KAAK,CAAC6C;IACjB,CAAC;EAAA,GACH,CAAC7C,KAAK,CAAC0C,MAAM,EAAE1C,KAAK,CAAC6C,OAAO,CAC9B,CAAC;EACD,MAAMC,YAA4B,GAAG;IACnCJ,MAAM;IACNhB;EACF,CAAC;EACD,MAAMqB,GAAG,GAAG,IAAA9B,aAAM,EAAmB,CAAC;EACtC,MAAM+B,aAAoB,GAAArE,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACrBqB,KAAK,GACL8C,YAAY;IACflB,gBAAgB;IAChBU,YAAY;IACZG,OAAO;IACPQ,QAAQ,GAAA/C,eAAA,GAAEF,KAAK,CAACiD,QAAQ,cAAA/C,eAAA,cAAAA,eAAA,GAAI6C;EAAG,EAChC;EAED,MAAM;IACJG,EAAE;IACFC,IAAI;IACJC,QAAQ;IACRjE,KAAK;IACLkE,SAAS;IACTJ,QAAQ;IACRK,yBAAyB;IACzBC,oBAAoB;IACpBC,sBAAsB;IACtBC,WAAW;IACXhD,gBAAgB;IAChBF,KAAK,GAAGC,YAAY;IACpBkD,WAAW;IACXC,UAAU;IACVC,SAAS,EAAEC,QAAQ,GAAG,aAAa;IACnC3C,UAAU;IACV4C,IAAI;IACJC,OAAO;IACPC,IAAI;IACJ/B,KAAK;IACLgC,QAAQ;IACRC,QAAQ;IACRC,KAAK,GAAGnE,KAAK,CAACwC,oBAAoB,GAAG,QAAQ,GAAG,OAAO;IACvD4B,IAAI;IACJrC,QAAQ;IACRsC,iBAAiB;IACjBC,oBAAoB;IACpBC,oBAAoB;IACpBC,iBAAiB;IACjBhC,oBAAoB;IACpBiC,WAAW;IACXC,YAAY;IACZC,eAAe;IACfC,mBAAmB;IACnBC,cAAc;IACdC;EACF,CAAC,GAAG,IAAAC,oBAAa,EAAC/B,aAAa,CAAC;EAEhC,IAAAgC,gBAAS,EAAC,MAAM;IACd,IAAI7B,IAAI,IAAIC,QAAQ,EAAE;MAAA,IAAA6B,iBAAA;MACpB,MAAMC,MAAM,IAAAD,iBAAA,GAAGhC,QAAQ,CAAC7B,OAAO,cAAA6D,iBAAA,uBAAhBA,iBAAA,CAAkB9F,KAAK;MACtCwF,eAAe,CACb,CAAAO,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAErG,MAAM,IAAG,CAAC,GACdsG,SAAS,CAAC,CAACnE,cAAc,CAACI,OAAO,EAAE8D,MAAM,CAAC,CAAC,GAC3C7C,SACN,CAAC;IACH;EACF,CAAC,EAAE,CAACY,QAAQ,EAAEG,QAAQ,EAAED,IAAI,EAAEwB,eAAe,EAAExF,KAAK,CAAC,CAAC;EAEtD,MAAMZ,MAAM,GAAG,IAAAsD,kBAAW,EACvBuD,OAAoB,IAAK;IACxB,OAAO,IAAAC,4BAAa,EAACD,OAAO,EAAEN,eAAe,EAAEjB,QAAQ,CAAC;EAC1D,CAAC,EACD,CAACA,QAAQ,EAAEiB,eAAe,CAC5B,CAAC;EAED,MAAMQ,oBAAoB,GAAG,IAAAzD,kBAAW,EAAC,MAAM;IAC7CP,OAAO,CAACF,OAAO,GAAG,IAAAmE,6BAAc,EAAC;MAC/B1E,IAAI;MACJtC,MAAM,EAEJsF,QAAQ,KAAK,aAAa,IAAI,CAACrC,SAAS,CAACJ,OAAO,GAC3CgE,OAAO,IACN,GAAGI,iBAAiB,CAACJ,OAAO,CAACK,GAAG,CAAC,EAAE,KACnCzE,cAAc,CAACI,OAAO,GACxB7C,MAAM;MACZmH,IAAI,EAAE7B,QAAoD;MAC1D8B;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAC9E,IAAI,EAAEtC,MAAM,EAAEsF,QAAQ,CAAC,CAAC;EAE5B,MAAM+B,kBAAkB,GAAG,IAAA/D,kBAAW,EACpC,YAGwB;IAAA,IAAAgE,qBAAA;IAAA,IAHvB;MACC3D,WAAW,GAAGlB,cAAc,CAACI,OAAO,IAAIF,UAAU;MAClDiB,WAAW,GAAGd,SAAS,CAACD,OAAO,IAAIF;IACxB,CAAC,GAAAtC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAyD,SAAA,GAAAzD,SAAA,MAAG,CAAC,CAAC;IACjB,IAAI,CAAC6C,iBAAiB,CAACL,OAAO,EAAE;MAG9B,MAAM0E,MAAM,GAAG5D,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE6D,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MAC9C,MAAMC,IAAI,GAAG1E,OAAO,CAACF,OAAO,CAAC6E,IAAI,CAAED,IAAU,IAAK;QAAA,IAAAE,aAAA;QAChD,MAAMT,GAAG,GAAGO,IAAI,aAAJA,IAAI,wBAAAE,aAAA,GAAJF,IAAI,CAAEZ,OAAO,cAAAc,aAAA,uBAAbA,aAAA,CAAeT,GAAG;QAC9B,OAAOA,GAAG,KAAKK,MAAM;MACvB,CAAC,CAAS;MAEVrE,iBAAiB,CAACL,OAAO,GAAG4E,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEZ,OAAO;IAC3C;IAEA,OAAAzG,aAAA,CAAAA,aAAA,KACM,CAAC6D,oBAAoB,GAAG;MAAEN;IAAY,CAAC,GAAG,CAAC,CAAC;MAChDC,WAAW;MACXgE,GAAG,GAAAN,qBAAA,GAAEpE,iBAAiB,CAACL,OAAO,cAAAyE,qBAAA,uBAAzBA,qBAAA,CAA2BM;IAAiB;EAErD,CAAC,EACD,CAACjF,UAAU,EAAEsB,oBAAoB,CACnC,CAAC;EAED,MAAM4D,YAAY,GAAG,IAAAvE,kBAAW,EAC7BwE,IAAiB,IAAK;IACrB,MAAMC,WAAW,GAAGV,kBAAkB,CAACS,IAAI,CAAC;IAC5C3B,YAAY,CACVS,SAAS,CAAC,CAACmB,WAAW,CAACpE,WAAW,EAAEoE,WAAW,CAACnE,WAAW,CAAC,CAAC,EAC7DmE,WACF,CAAC;EACH,CAAC,EACD,CAACV,kBAAkB,EAAElB,YAAY,CACnC,CAAC;EAED,MAAM6B,iBAAiB,GAAG,IAAA1E,kBAAW,EAClC2E,QAAiB,IAAK;IACrB/B,WAAW,CAAC+B,QAAQ,EAAEnE,SAAS,EAAEuD,kBAAkB,CAAC,CAAC,CAAC;EACxD,CAAC,EACD,CAACA,kBAAkB,EAAEnB,WAAW,CAClC,CAAC;EAUD,IAAA9C,cAAO,EAAC,MAAM;IACZ,MAAM,CAACO,WAAW,EAAEC,WAAW,CAAC,GAAGC,UAAU,CAACpC,KAAK,CAACb,KAAK,IAAIA,KAAK,CAAC;IACnEkC,SAAS,CAACD,OAAO,GAAGe,WAAW;IAE/B,IAAItB,IAAI,KAAKU,OAAO,CAACH,OAAO,IAAI,CAACI,SAAS,CAACJ,OAAO,EAAE;MAClD,IAAI,CAACJ,cAAc,CAACI,OAAO,IAAIc,WAAW,EAAE;QAC1ClB,cAAc,CAACI,OAAO,GAAGc,WAAW,IAAItC,kBAAkB;MAC5D;MACA2B,OAAO,CAACH,OAAO,GAAGP,IAAI;MAEtByE,oBAAoB,CAAC,CAAC;IACxB;EACF,CAAC,EAAE,CAACnG,KAAK,EAAEa,KAAK,CAACb,KAAK,EAAE0B,IAAI,EAAEyE,oBAAoB,CAAC,CAAC;EAEpD,MAAMmB,uBAAuB,GAAG,IAAA5E,kBAAW,EACzC6E,KAAA,IAIM;IAAA,IAAAC,iBAAA;IAAA,IAJL;MACCN;IAGF,CAAC,GAAAK,KAAA;IACC,MAAMxE,WAAW,GAAIlB,cAAc,CAACI,OAAO,GACzC,CAAAiF,IAAI,aAAJA,IAAI,wBAAAM,iBAAA,GAAJN,IAAI,CAAEO,WAAW,cAAAD,iBAAA,uBAAjBA,iBAAA,CAAmBE,IAAI,CAAC,CAAC,KAAI3F,UAAW;IAC1CO,iBAAiB,CAACL,OAAO,GAAGiF,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEjB,OAAO;IAEzCgB,YAAY,CAAC;MAAElE;IAAY,CAAC,CAAC;IAC7B0C,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAG1C,WAAW,CAAC;EACpC,CAAC,EACD,CAAChB,UAAU,EAAEkF,YAAY,EAAExB,mBAAmB,CAChD,CAAC;EAED,MAAMkC,kBAAkB,GAAG,IAAAjF,kBAAW,EACnC1C,KAAa,IAAK;IACjB,MAAMgD,WAAW,GAAId,SAAS,CAACD,OAAO,GAAGjC,KAAK,IAAI+B,UAAW;IAE7DkF,YAAY,CAAC;MAAEjE;IAAY,CAAC,CAAC;IAC7B0C,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG1C,WAAW,CAAC;EAC/B,CAAC,EACD,CAACjB,UAAU,EAAEkF,YAAY,EAAEvB,cAAc,CAC3C,CAAC;EAED,MAAMkC,YAAY,GAAG,IAAAlF,kBAAW,EAAC,MAAM;IACrC0E,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,MAAMS,aAAa,GAAG,IAAAnF,kBAAW,EAAC,MAAM;IACtC0E,iBAAiB,CAAC,IAAI,CAAC;EACzB,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,MAAMU,sBAAsB,GAAG,IAAApF,kBAAW,EACxCqF,KAAA,IAAoB;IAAA,IAAnB;MAAEC;IAAW,CAAC,GAAAD,KAAA;IACb,IAAI,CAAC1F,SAAS,CAACJ,OAAO,EAAE;MACtBI,SAAS,CAACJ,OAAO,GAAG,IAAI;MACxBkE,oBAAoB,CAAC,CAAC;MACtB6B,UAAU,CAAC7F,OAAO,CAACF,OAAO,CAAC;IAC7B;IACA4F,aAAa,CAAC,CAAC;EACjB,CAAC,EACD,CAACA,aAAa,EAAE1B,oBAAoB,CACtC,CAAC;EAED,MAAM8B,aAAa,GAAG,IAAAvF,kBAAW,EAC/BwF,KAAA,IAAwD;IAAA,IAAAC,kBAAA;IAAA,IAAvD;MAAEnI,KAAK;MAAEgI,UAAU;MAAEI,oBAAoB;MAAEC;IAAM,CAAC,GAAAH,KAAA;IAEjD,IAAI,QAAOG,KAAK,aAALA,KAAK,wBAAAF,kBAAA,GAALE,KAAK,CAAEC,WAAW,cAAAH,kBAAA,uBAAlBA,kBAAA,CAAoBjB,IAAI,MAAK,WAAW,EAAE;MACnD,MAAMP,MAAM,GAAG,mBAAmB,CAAC4B,IAAI,CAACvI,KAAK,CAAC,GAC1CiD,UAAU,CAACjD,KAAK,CAAC,CAAC,CAAC,CAAC,GACpBA,KAAK;MACT,MAAMiG,OAAO,GAAGxB,kBAAS,CAACqC,IAAI,CAAC0B,KAAA;QAAA,IAAC;UAAElC;QAAI,CAAC,GAAAkC,KAAA;QAAA,OAAKlC,GAAG,KAAKK,MAAM;MAAA,EAAC;MAC3D,IAAIV,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEK,GAAG,EAAE;QAChB,MAAMvD,WAAW,GAAIlB,cAAc,CAACI,OAAO,GAAGoE,iBAAiB,CAC7DJ,OAAO,CAACK,GACV,CAAE;QAEFH,oBAAoB,CAAC,CAAC;QACtB6B,UAAU,CAAC7F,OAAO,CAACF,OAAO,CAAC;QAC3BgF,YAAY,CAAC;UAAElE;QAAY,CAAC,CAAC;QAI7B0F,MAAM,CAACC,qBAAqB,CAAC,MAAM;UACjCN,oBAAoB,CAAC,CAAC;QACxB,CAAC,CAAC;MACJ;IACF;EACF,CAAC,EACD,CAACnB,YAAY,EAAEd,oBAAoB,CACrC,CAAC;EAED,MAAMwC,SAAS,IAAA3H,qBAAA,GAAGa,cAAc,CAACI,OAAO,cAAAjB,qBAAA,uBAAtBA,qBAAA,CAAwB4H,QAAQ,CAACnI,kBAAkB,CAAC;EAEtE,MAAMoI,eAAgC,GAAArJ,aAAA;IACpCuE,EAAE;IACFG,SAAS,EAAE,IAAA4E,mBAAU,EAAC,8BAA8B,EAAE5E,SAAS,CAAC;IAChEc,KAAK;IACL5D,KAAK,EAAE8B,SAAS;IAChB+B,IAAI,EAAE/B;EAAS,GACZ,IAAA6F,uBAAgB,EAAClI,KAAK,CAAC,CAC3B;EAED,OACE/D,MAAA,CAAAgB,OAAA,CAAAkL,aAAA,CAAC1L,YAAA,CAAAQ,OAAgB,EAAK+K,eAAe,EAClC,CAACxF,oBAAoB,IACpBvG,MAAA,CAAAgB,OAAA,CAAAkL,aAAA,CAAC/L,WAAA,CAAAgM,YAAY;IACX/E,SAAS,EAAE,IAAA4E,mBAAU,EACnB,4CAA4C,EAC5C3E,yBACF,CAAE;IACF+E,IAAI,EAAC,OAAO;IACZ5E,WAAW,EAAED,sBAAuB;IACpC8E,eAAe,EAAC,UAAU;IAC1B/H,KAAK,EAAEE,gBAAgB,aAAhBA,gBAAgB,cAAhBA,gBAAgB,GAAIC,uBAAwB;IACnD6H,aAAa,EAAE7E,WAAY;IAC3B2C,IAAI,EAAE/E,OAAO,CAACF,OAAQ;IACtBjC,KAAK,EAAE6B,cAAc,CAACI,OAAQ;IAC9BoH,MAAM,EAAEvE,QAAQ,GAAG,OAAO,GAAG5B,SAAU;IACvC6B,QAAQ,EAAEA,QAAS;IACnBuE,QAAQ,EAAExB,sBAAuB;IACjCyB,OAAO,EAAE3B,YAAa;IACtB4B,SAAS,EAAElC,uBAAwB;IACnCmC,OAAO,EAAExB,aAAc;IACvByB,iBAAiB;IACjBC,cAAc;IACdC,cAAc;IACdC,SAAS;IACTC,YAAY,EAAC,kBAAkB;IAC/BC,YAAY,EAAElJ,KAAK,CAACmJ,WAAY;IAChCnF,IAAI,EAAEA;EAAK,CACZ,CACF,EACD/H,MAAA,CAAAgB,OAAA,CAAAkL,aAAA,CAAC3L,OAAA,CAAAS,OAAW;IACVoG,SAAS,EAAE,IAAA4E,mBAAU,EACnB,sCAAsC,EACtC1E,oBACF,CAAE;IACFX,IAAI,EAAC,KAAK;IACVqG,YAAY,EAAC,cAAc;IAC3B/H,UAAU,EAAEA,UAAW;IACvBkI,MAAM,EAAC,UAAU;IACjB7I,KAAK,EAAEA,KAAM;IACbmD,WAAW,EAAEA,WAAY;IACzBD,WAAW,EACTA,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAKqE,SAAS,GAAGjI,kBAAkB,GAAGwC,SAClD;IACDgH,IAAI,EACF1F,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAKmE,SAAS,GAAGhI,WAAW,GAAGwJ,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAC7D;IACDC,OAAO,EAAExC,aAAc;IACvByC,MAAM,EAAE1C,YAAa;IACrB2C,QAAQ,EAAE5C,kBAAmB;IAC7B3H,KAAK,EAAEkC,SAAS,CAACD,OAAQ;IACzBuI,QAAQ,EAAE1G,QAAS;IACnBa,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjB9B,KAAK,EAAEA,KAAM;IACbiC,QAAQ,EAAEA,QAAS;IACnBC,KAAK,EAAC,SAAS;IACfC,IAAI,EAAAzF,aAAA,CAAAA,aAAA,KAAOyF,IAAI;MAAEwF,QAAQ,EAAE,KAAK;MAAEC,MAAM,EAAE;IAAK,EAAG;IAClD9H,QAAQ,EAAEA,QAAS;IACnBL,aAAa,EAAEA,aAAc;IAC7B2C,iBAAiB,EAAEA,iBAAkB;IACrCE,oBAAoB,EAAED,oBAAoB,IAAIC,oBAAqB;IACnEC,iBAAiB,EAAEA,iBAAkB;IACrCsF,SAAS,EAAC,KAAK;IACf9F,IAAI,EAAEA;EAAK,CACZ,CACe,CAAC;AAEvB;AAEA,SAAS2B,UAAUA,CAACP,OAAoB,EAAEvE,IAAY,EAAE;EAAA,IAAAkJ,kBAAA;EACtD,MAAMC,IAAI,IAAAD,kBAAA,GAAG3E,OAAO,CAAC6E,IAAI,CAACpJ,IAAI,CAAC,cAAAkJ,kBAAA,cAAAA,kBAAA,GAAI3E,OAAO,CAAC6E,IAAI,CAACC,EAAE;EAClD,MAAMC,IAAI,GAAG3E,iBAAiB,CAACJ,OAAO,CAACK,GAAG,CAAC;EAC3C,OAAO;IACLmB,WAAW,EAAEuD,IAAI;IACjBC,cAAc,EAAE,GAAGhF,OAAO,CAACe,GAAG,KAAKgE,IAAI,GAAG;IAC1CE,cAAc,EAAE,CAACF,IAAI,EAAEH,IAAI,CAAC;IAC5BM,OAAO,EAAE,CAACN,IAAI,EAAEG,IAAI,CAAC;IACrB/E;EACF,CAAC;AACH;AAEA,SAASI,iBAAiBA,CAACrG,KAAa,EAAE;EACxC,OAAO,IAAIA,KAAK,EAAE;AACpB;AAEA,SAASiD,UAAUA,CAACjD,KAAa,EAAE;EACjC,OAAO,CACL,OAAOA,KAAK,KAAK,QAAQ,GACrBA,KAAK,CAACoL,KAAK,CAAC,oBAAoB,CAAC,GACjC,CAAClI,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EACvBmI,KAAK,CAAC,CAAC,CAAC;AACZ;AAEA,SAASrF,SAASA,CAACsF,KAAoB,EAAE;EACvC,OAAOA,KAAK,CAAClM,MAAM,CAACmM,OAAO,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AACxC;AAEA5K,WAAW,CAAC6K,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAA7N,OAAA,GACzB8C,WAAW","ignoreList":[]}
|
|
@@ -85,7 +85,7 @@ declare function useFieldProvider(props?: Omit<FieldProviderProps, 'children'>):
|
|
|
85
85
|
};
|
|
86
86
|
getValueByPath: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
87
87
|
getSourceValue: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
88
|
-
setFieldEventListener: (path: string, type: "onSubmit" | "onBeforeSubmit" | "onSubmitCall" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
88
|
+
setFieldEventListener: (path: string, type: "onSubmit" | "onBeforeSubmit" | "onSubmitCall" | "onSubmitRequest" | "onBeforeCommit" | "onPathChange" | "onMount", callback: (params?: {
|
|
89
89
|
value: unknown;
|
|
90
90
|
} | {
|
|
91
91
|
preventSubmit: () => void;
|
|
@@ -107,7 +107,7 @@ declare function useFieldProvider(props?: Omit<FieldProviderProps, 'children'>):
|
|
|
107
107
|
};
|
|
108
108
|
getValueByPath: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
109
109
|
getSourceValue: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
110
|
-
setFieldEventListener: (path: string, type: "onSubmit" | "onBeforeSubmit" | "onSubmitCall" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
110
|
+
setFieldEventListener: (path: string, type: "onSubmit" | "onBeforeSubmit" | "onSubmitCall" | "onSubmitRequest" | "onBeforeCommit" | "onPathChange" | "onMount", callback: (params?: {
|
|
111
111
|
value: unknown;
|
|
112
112
|
} | {
|
|
113
113
|
preventSubmit: () => void;
|
|
@@ -129,7 +129,7 @@ declare function useFieldProvider(props?: Omit<FieldProviderProps, 'children'>):
|
|
|
129
129
|
};
|
|
130
130
|
getValueByPath: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
131
131
|
getSourceValue: import("../../hooks/useDataValue").GetValueByPath<unknown>;
|
|
132
|
-
setFieldEventListener: (path: string, type: "onSubmit" | "onBeforeSubmit" | "onSubmitCall" | "onSubmitRequest" | "onPathChange" | "onMount", callback: (params?: {
|
|
132
|
+
setFieldEventListener: (path: string, type: "onSubmit" | "onBeforeSubmit" | "onSubmitCall" | "onSubmitRequest" | "onBeforeCommit" | "onPathChange" | "onMount", callback: (params?: {
|
|
133
133
|
value: unknown;
|
|
134
134
|
} | {
|
|
135
135
|
preventSubmit: () => void;
|
|
@@ -22,8 +22,8 @@ const SelectCountryProperties = exports.SelectCountryProperties = {
|
|
|
22
22
|
type: 'function',
|
|
23
23
|
status: 'optional'
|
|
24
24
|
},
|
|
25
|
-
size: _objectSpread(_objectSpread({}, _AutocompleteDocs.
|
|
26
|
-
doc: `${_AutocompleteDocs.
|
|
25
|
+
size: _objectSpread(_objectSpread({}, _AutocompleteDocs.AutocompleteProperties.size), {}, {
|
|
26
|
+
doc: `${_AutocompleteDocs.AutocompleteProperties.size.doc} Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).`
|
|
27
27
|
})
|
|
28
28
|
};
|
|
29
29
|
const SelectCountryGeneralEvents = exports.SelectCountryGeneralEvents = (0, _FieldDocs.getFieldEventsWithTypes)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCountryDocs.js","names":["_FieldDocs","require","_AutocompleteDocs","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SelectCountryProperties","exports","countries","doc","type","status","filterCountries","size","
|
|
1
|
+
{"version":3,"file":"SelectCountryDocs.js","names":["_FieldDocs","require","_AutocompleteDocs","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SelectCountryProperties","exports","countries","doc","type","status","filterCountries","size","AutocompleteProperties","SelectCountryGeneralEvents","getFieldEventsWithTypes","optional"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountryDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { getFieldEventsWithTypes } from '../FieldDocs'\nimport { AutocompleteProperties } from '../../../../components/autocomplete/AutocompleteDocs'\n\nexport const SelectCountryProperties: PropertiesTableProps = {\n countries: {\n doc: 'List only a certain set of countries: `Scandinavia`, `Nordic`, `Europe` or `Prioritized`(all countries [sorted by priority](/uilib/extensions/forms/feature-fields/SelectCountry/#filter-or-prioritize-country-listing)). Defaults to `Prioritized`.',\n type: 'string',\n status: 'optional',\n },\n filterCountries: {\n doc: 'Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.',\n type: 'function',\n status: 'optional',\n },\n size: {\n ...AutocompleteProperties.size,\n doc: `${AutocompleteProperties.size.doc} Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).`,\n },\n}\n\nexport const SelectCountryGeneralEvents = getFieldEventsWithTypes(\n { type: 'string', optional: true },\n { type: 'object', optional: true }\n)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,8 +22,8 @@ const SelectCurrencyProperties = exports.SelectCurrencyProperties = {
|
|
|
22
22
|
type: 'function',
|
|
23
23
|
status: 'optional'
|
|
24
24
|
},
|
|
25
|
-
size: _objectSpread(_objectSpread({}, _AutocompleteDocs.
|
|
26
|
-
doc: `${_AutocompleteDocs.
|
|
25
|
+
size: _objectSpread(_objectSpread({}, _AutocompleteDocs.AutocompleteProperties.size), {}, {
|
|
26
|
+
doc: `${_AutocompleteDocs.AutocompleteProperties.size.doc} Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).`
|
|
27
27
|
})
|
|
28
28
|
};
|
|
29
29
|
const SelectCurrencyGeneralEvents = exports.SelectCurrencyGeneralEvents = (0, _FieldDocs.getFieldEventsWithTypes)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCurrencyDocs.js","names":["_FieldDocs","require","_AutocompleteDocs","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SelectCurrencyProperties","exports","currencies","doc","type","status","filterCurrencies","size","
|
|
1
|
+
{"version":3,"file":"SelectCurrencyDocs.js","names":["_FieldDocs","require","_AutocompleteDocs","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","SelectCurrencyProperties","exports","currencies","doc","type","status","filterCurrencies","size","AutocompleteProperties","SelectCurrencyGeneralEvents","getFieldEventsWithTypes","optional"],"sources":["../../../../../../src/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\nimport { getFieldEventsWithTypes } from '../FieldDocs'\nimport { AutocompleteProperties } from '../../../../components/autocomplete/AutocompleteDocs'\n\nexport const SelectCurrencyProperties: PropertiesTableProps = {\n currencies: {\n doc: 'List only a certain set of currencies: `Scandinavia`, `Nordic`, `Europe` or `Prioritized`(all currencies [sorted by priority](/uilib/extensions/forms/feature-fields/SelectCurrency/#filter-or-prioritize-currency-listing)). Defaults to `Prioritized`.',\n type: 'string',\n status: 'optional',\n },\n filterCurrencies: {\n doc: 'Use this prop to filter out certain currencies. The function receives the currency object and should return a boolean. Returning `false` will omit the currency.',\n type: 'function',\n status: 'optional',\n },\n size: {\n ...AutocompleteProperties.size,\n doc: `${AutocompleteProperties.size.doc} Consider rather setting field sizes with [Form.Appearance](/uilib/extensions/forms/Form/Appearance/).`,\n },\n}\n\nexport const SelectCurrencyGeneralEvents = getFieldEventsWithTypes(\n { type: 'string', optional: true },\n { type: 'object', optional: true }\n)\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -72,6 +72,8 @@ export type Props = FieldProps<IOption['value']> & {
|
|
|
72
72
|
*/
|
|
73
73
|
children?: React.ReactNode;
|
|
74
74
|
};
|
|
75
|
+
export declare const listOfValidAutocompleteProps: ("indicator_label" | "submit_button_title" | "no_options" | "show_all" | "show_options_sr" | "aria_live_options" | "selected_sr" | "fixed_position" | "skip_portal" | "no_animation" | "max_height" | "min_height" | "label_direction" | "icon_position" | "icon_size" | "status_state" | "status_props" | "on_change" | "label_sr_only" | "prevent_close" | "input_element" | "submit_element" | "submit_button_icon" | "on_focus" | "on_blur" | "show_submit_button" | "on_type" | "on_show" | "on_hide" | "ignore_events" | "cache_hash" | "triangle_position" | "no_scroll_animation" | "prevent_selection" | "align_drawer" | "options_render" | "wrapper_element" | "default_value" | "portal_class" | "list_class" | "independent_width" | "keep_open" | "skip_keysearch" | "enable_body_lock" | "page_offset" | "observer_element" | "on_pre_change" | "on_select" | "input_ref" | "input_icon" | "keep_value" | "keep_selection" | "keep_value_and_selection" | "show_clear_button" | "disable_filter" | "disable_reorder" | "disable_highlighting" | "align_autocomplete" | "search_in_word_index" | "search_numbers" | "input_value" | "open_on_focus" | "drawer_class")[];
|
|
76
|
+
export declare const listOfValidDropdownProps: ("fixed_position" | "skip_portal" | "no_animation" | "max_height" | "min_height" | "label_direction" | "icon_position" | "icon_size" | "status_state" | "status_props" | "on_change" | "label_sr_only" | "prevent_close" | "on_show" | "on_hide" | "ignore_events" | "cache_hash" | "triangle_position" | "no_scroll_animation" | "prevent_selection" | "action_menu" | "align_drawer" | "options_render" | "wrapper_element" | "default_value" | "portal_class" | "list_class" | "independent_width" | "keep_open" | "skip_keysearch" | "enable_body_lock" | "page_offset" | "observer_element" | "on_pre_change" | "on_select" | "open_on_focus" | "more_menu" | "align_dropdown" | "trigger_element")[];
|
|
75
77
|
declare function Selection(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
76
78
|
declare namespace Selection {
|
|
77
79
|
var _supportsSpacingProps: boolean;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.listOfValidDropdownProps = exports.listOfValidAutocompleteProps = exports.default = void 0;
|
|
7
7
|
exports.makeOptions = makeOptions;
|
|
8
8
|
exports.mapOptions = mapOptions;
|
|
9
9
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
@@ -31,6 +31,11 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
31
31
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
32
32
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
33
33
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
34
|
+
const validDrawerListProps = ['default_value', 'triangle_position', 'label_direction', 'prevent_selection', 'prevent_close', 'keep_open', 'independent_width', 'fixed_position', 'enable_body_lock', 'skip_keysearch', 'ignore_events', 'align_drawer', 'list_class', 'portal_class', 'no_scroll_animation', 'no_animation', 'skip_portal', 'min_height', 'max_height', 'page_offset', 'observer_element', 'cache_hash', 'wrapper_element', 'options_render', 'on_pre_change', 'on_change', 'on_select', 'on_show', 'on_hide'];
|
|
35
|
+
const validAutocompleteProps = ['align_autocomplete', 'aria_live_options', 'disable_filter', 'disable_highlighting', 'disable_reorder', 'drawer_class', 'icon_position', 'icon_size', 'indicator_label', 'input_element', 'input_icon', 'input_ref', 'input_value', 'keep_selection', 'keep_value', 'keep_value_and_selection', 'label_direction', 'label_sr_only', 'no_options', 'open_on_focus', 'prevent_selection', 'search_in_word_index', 'search_numbers', 'selected_sr', 'show_all', 'show_clear_button', 'show_options_sr', 'show_submit_button', 'skip_portal', 'status_props', 'status_state', 'submit_button_icon', 'submit_button_title', 'submit_element', 'triangle_position', 'on_type', 'on_focus', 'on_blur', 'on_change', 'on_select', 'on_show', 'on_hide'];
|
|
36
|
+
const listOfValidAutocompleteProps = exports.listOfValidAutocompleteProps = [...validAutocompleteProps, ...validDrawerListProps];
|
|
37
|
+
const validDropdownProps = ['icon_size', 'icon_position', 'triangle_position', 'open_on_focus', 'prevent_selection', 'action_menu', 'more_menu', 'align_dropdown', 'independent_width', 'skip_portal', 'status_state', 'status_props', 'label_direction', 'label_sr_only', 'trigger_element', 'on_change', 'on_select', 'on_show', 'on_hide'];
|
|
38
|
+
const listOfValidDropdownProps = exports.listOfValidDropdownProps = [...validDropdownProps, ...validDrawerListProps];
|
|
34
39
|
function Selection(props) {
|
|
35
40
|
var _props$autocompletePr;
|
|
36
41
|
const clearValue = (0, _react.useMemo)(() => `clear-option-${(0, _componentHelper.makeUniqueId)()}`, []);
|
|
@@ -148,7 +153,7 @@ function Selection(props) {
|
|
|
148
153
|
additionalFieldBlockProps.labelHeight = 'small';
|
|
149
154
|
}
|
|
150
155
|
if (variant === 'radio-list') {
|
|
151
|
-
additionalFieldBlockProps.
|
|
156
|
+
additionalFieldBlockProps.contentWidth = width;
|
|
152
157
|
}
|
|
153
158
|
return _react.default.createElement(_FieldBlock.default, _extends({}, fieldBlockProps, additionalFieldBlockProps), _react.default.createElement(Component.Group, {
|
|
154
159
|
role: "radiogroup",
|
|
@@ -184,18 +189,14 @@ function Selection(props) {
|
|
|
184
189
|
stretch: true
|
|
185
190
|
});
|
|
186
191
|
const specificFieldBlockProps = {
|
|
187
|
-
width
|
|
192
|
+
contentWidth: width
|
|
188
193
|
};
|
|
189
|
-
|
|
190
|
-
specificFieldBlockProps.width = undefined;
|
|
191
|
-
specificFieldBlockProps.contentWidth = width;
|
|
192
|
-
}
|
|
193
|
-
return _react.default.createElement(_FieldBlock.default, _extends({}, fieldBlockProps, specificFieldBlockProps), variant === 'autocomplete' ? _react.default.createElement(_components.Autocomplete, _extends({}, sharedProps, autocompleteProps ? (0, _withCamelCaseProps.convertCamelCasePropsToSnakeCase)(Object.freeze(autocompleteProps)) : null, {
|
|
194
|
+
return _react.default.createElement(_FieldBlock.default, _extends({}, fieldBlockProps, specificFieldBlockProps), variant === 'autocomplete' ? _react.default.createElement(_components.Autocomplete, _extends({}, sharedProps, autocompleteProps ? (0, _withCamelCaseProps.convertCamelCasePropsToSnakeCase)(Object.freeze(autocompleteProps), listOfValidAutocompleteProps) : null, {
|
|
194
195
|
value: autocompleteProps !== null && autocompleteProps !== void 0 && autocompleteProps.preventSelection ? undefined : value,
|
|
195
196
|
on_type: onTypeAutocompleteHandler,
|
|
196
197
|
data: !props.data && !props.dataPath && (autocompleteProps === null || autocompleteProps === void 0 ? void 0 : autocompleteProps.mode) === 'async' ? undefined : data,
|
|
197
198
|
selectall: true
|
|
198
|
-
})) : _react.default.createElement(_components.Dropdown, _extends({}, sharedProps, dropdownProps ? (0, _withCamelCaseProps.convertCamelCasePropsToSnakeCase)(dropdownProps) : null)));
|
|
199
|
+
})) : _react.default.createElement(_components.Dropdown, _extends({}, sharedProps, dropdownProps ? (0, _withCamelCaseProps.convertCamelCasePropsToSnakeCase)(dropdownProps, listOfValidDropdownProps) : null)));
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_useFieldProps","_utils","_FieldBlock","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","length","indexOf","propertyIsEnumerable","_extends","assign","bind","arguments","apply","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Selection","props","_props$autocompletePr","clearValue","useMemo","makeUniqueId","id","className","variant","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","size","emptyValue","width","htmlAttributes","setHasFocus","handleChange","setDisplayValue","transformSelection","data","dataPath","children","additionalArgs","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDrawerListChange","useCallback","_ref","_data$selectedKey","selectedKey","onChangeHandler","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","disableStatusSummary","pickSpacingProps","onType","onTypeAutocompleteHandler","event","Component","Radio","ToggleButton","items","renderRadioItems","iterateOverItems","_ref5","v","label","additionalFieldBlockProps","asFieldset","React","Children","count","labelHeight","createElement","Group","role","layout_direction","on_change","_data$find","renderDropdownItems","concat","makeOptions","Boolean","displayValue","find","item","content","sharedProps","list_class","portal_class","title","status","checkForError","on_show","on_hide","stretch","specificFieldBlockProps","contentWidth","Autocomplete","convertCamelCasePropsToSnakeCase","freeze","preventSelection","on_type","mode","selectall","Dropdown","_ref6","valueProp","optionsCount","createOption","help","rest","suffix","HelpButton","convertJsxToString","key","text","map","mapOptions","_ref7","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref8","_props$title","_props$value","selected_value","style","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport {\n convertJsxToString,\n makeUniqueId,\n} from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n Autocomplete,\n HelpButton,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { FieldProps, Path } from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCasePropsToSnakeCase,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { RadioProps } from '../../../../components/Radio'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\nimport type { RadioGroupProps } from '../../../../components/radio/RadioGroup'\nimport type { ToggleButtonGroupProps } from '../../../../components/toggle-button/ToggleButtonGroup'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n disabled?: boolean\n style?: React.CSSProperties\n}>\n\nexport type Props = FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'radio-list' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * Transform the displayed selection for Dropdown and Autocomplete variant.\n * Use it to display a different value than the one in the data set.\n */\n transformSelection?: (props: OptionFieldProps) => React.ReactNode\n\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The size of the component.\n */\n size?:\n | ToggleButtonGroupProps['size']\n | RadioGroupProps['size']\n | AutocompleteAllProps['size']\n | DropdownAllProps['size']\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n size,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n setDisplayValue,\n transformSelection,\n data,\n dataPath,\n children,\n additionalArgs,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDrawerListChange = useCallback(\n ({ data, value }) => {\n const selectedKey = data?.selectedKey ?? value\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey,\n { data }\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection--layout-${layout}`,\n `dnb-forms-field-selection--options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n\n const onType = props?.autocompleteProps?.onType\n const onTypeAutocompleteHandler = useCallback(\n (event) => {\n if (typeof onType === 'function') {\n const { value } = event\n onType({\n ...event,\n ...additionalArgs,\n value: value === '' ? emptyValue : value,\n })\n }\n },\n [additionalArgs, emptyValue, onType]\n )\n\n switch (variant) {\n case 'radio':\n case 'radio-list':\n case 'button': {\n const Component = (\n variant === 'radio' || variant === 'radio-list'\n ? Radio\n : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems: ({ value: v, label }) => {\n if (v === value) {\n setDisplayValue(label)\n }\n },\n })\n\n const additionalFieldBlockProps: FieldBlockProps = {\n asFieldset: React.Children.count(items) > 1,\n }\n if (!size) {\n additionalFieldBlockProps.labelHeight = 'small'\n }\n if (variant === 'radio-list') {\n additionalFieldBlockProps.width = width\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...additionalFieldBlockProps}>\n <Component.Group\n role=\"radiogroup\"\n size={size}\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const data = renderDropdownItems(dataList, transformSelection)\n .concat(makeOptions(children, transformSelection))\n .filter(Boolean)\n const displayValue = data.find((item) => item.selectedKey === value)\n ?.content\n setDisplayValue(displayValue)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status:\n (hasError || checkForError([error, info, warning])) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n size,\n on_change: handleDrawerListChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n const specificFieldBlockProps: FieldBlockProps = {\n width,\n }\n if (layout === 'horizontal') {\n specificFieldBlockProps.width = undefined\n specificFieldBlockProps.contentWidth = width\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...specificFieldBlockProps}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCasePropsToSnakeCase(\n Object.freeze(autocompleteProps)\n ) as AutocompleteAllProps)\n : null)}\n value={\n autocompleteProps?.preventSelection ? undefined : value\n }\n on_type={onTypeAutocompleteHandler}\n data={\n !props.data &&\n !props.dataPath &&\n autocompleteProps?.mode === 'async'\n ? undefined\n : data\n }\n selectall\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCasePropsToSnakeCase(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: Props['value']\n error: Error | FormError | undefined\n help: HelpProps\n title: React.ReactNode\n children: React.ReactNode\n size?: ToggleButtonProps['size'] | RadioProps['size']\n }>\n>\n\nfunction renderRadioItems({\n id,\n value: valueProp,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n iterateOverItems?: (item: {\n value: Props['value']\n label: Props['children']\n }) => void\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { value, title, children, error, help, size, ...rest } = props\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n iterateOverItems?.({ value, label })\n\n const Component = (\n variant === 'radio' || variant === 'radio-list'\n ? Radio\n : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${id}`}\n label={\n variant === 'radio' || variant === 'radio-list'\n ? label\n : undefined\n }\n text={variant === 'button' ? label : undefined}\n role=\"radio\"\n value={String(value ?? valueProp) || undefined}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n size={size}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(\n children: React.ReactNode,\n {\n createOption,\n }: { createOption: (props: OptionProps, i: number) => React.ReactNode }\n) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode,\n transformSelection?: Props['transformSelection']\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.title ?? props.children ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selected_value = transformSelection\n ? transformSelection(props)\n : undefined\n const selectedKey = String(props.value ?? '')\n const disabled = props.disabled\n const style = props.style\n\n return { selectedKey, selected_value, content, disabled, style }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(\n data: Data,\n transformSelection?: Props['transformSelection']\n) {\n return (\n data?.map((props) => {\n const { value, title, text, disabled, style } = props\n return {\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n selected_value: transformSelection\n ? transformSelection(props)\n : undefined,\n disabled,\n style,\n }\n }) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Selection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_Option","_hooks","_useFieldProps","_utils","_FieldBlock","_withCamelCaseProps","_useDataValue","_em","_em2","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","length","indexOf","propertyIsEnumerable","_extends","assign","bind","arguments","apply","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","validDrawerListProps","validAutocompleteProps","listOfValidAutocompleteProps","exports","validDropdownProps","listOfValidDropdownProps","Selection","props","_props$autocompletePr","clearValue","useMemo","makeUniqueId","id","className","variant","layout","optionsLayout","placeholder","info","warning","error","hasError","disabled","size","emptyValue","width","htmlAttributes","setHasFocus","handleChange","setDisplayValue","transformSelection","data","dataPath","children","additionalArgs","autocompleteProps","dropdownProps","useFieldProps","getValueByPath","useDataValue","dataList","handleDrawerListChange","useCallback","_ref","_data$selectedKey","selectedKey","onChangeHandler","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","classnames","fieldBlockProps","forId","disableStatusSummary","pickSpacingProps","onType","onTypeAutocompleteHandler","event","Component","Radio","ToggleButton","items","renderRadioItems","iterateOverItems","_ref5","v","label","additionalFieldBlockProps","asFieldset","React","Children","count","labelHeight","contentWidth","createElement","Group","role","layout_direction","on_change","_data$find","renderDropdownItems","concat","makeOptions","Boolean","displayValue","find","item","content","sharedProps","list_class","portal_class","title","status","checkForError","on_show","on_hide","stretch","specificFieldBlockProps","Autocomplete","convertCamelCasePropsToSnakeCase","freeze","preventSelection","on_type","mode","selectall","Dropdown","_ref6","valueProp","optionsCount","createOption","help","rest","suffix","HelpButton","convertJsxToString","key","text","map","mapOptions","_ref7","child","isValidElement","type","OptionField","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref8","_props$title","_props$value","selected_value","style","_supportsSpacingProps","_default"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport {\n convertJsxToString,\n makeUniqueId,\n} from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n Autocomplete,\n HelpButton,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { FieldProps, Path } from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n AssertNoMissing,\n convertCamelCasePropsToSnakeCase,\n KeysWithUnderscore,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { RadioProps } from '../../../../components/Radio'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\nimport type { RadioGroupProps } from '../../../../components/radio/RadioGroup'\nimport type { ToggleButtonGroupProps } from '../../../../components/toggle-button/ToggleButtonGroup'\nimport {\n DrawerListProperties,\n DrawerListEvents,\n} from '../../../../fragments/drawer-list/DrawerListDocs'\nimport {\n AutocompleteEvents,\n AutocompleteProperties,\n} from '../../../../components/autocomplete/AutocompleteDocs'\nimport {\n DropdownProperties,\n DropdownEvents,\n} from '../../../../components/dropdown/DropdownDocs'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n disabled?: boolean\n style?: React.CSSProperties\n}>\n\nexport type Props = FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'radio-list' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * Transform the displayed selection for Dropdown and Autocomplete variant.\n * Use it to display a different value than the one in the data set.\n */\n transformSelection?: (props: OptionFieldProps) => React.ReactNode\n\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The size of the component.\n */\n size?:\n | ToggleButtonGroupProps['size']\n | RadioGroupProps['size']\n | AutocompleteAllProps['size']\n | DropdownAllProps['size']\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nconst validDrawerListProps = [\n // DrawerList Properties\n 'default_value',\n 'triangle_position',\n 'label_direction',\n 'prevent_selection',\n 'prevent_close',\n 'keep_open',\n 'independent_width',\n 'fixed_position',\n 'enable_body_lock',\n 'skip_keysearch',\n 'ignore_events',\n 'align_drawer',\n 'list_class',\n 'portal_class',\n 'no_scroll_animation',\n 'no_animation',\n 'skip_portal',\n 'min_height',\n 'max_height',\n 'page_offset',\n 'observer_element',\n 'cache_hash',\n 'wrapper_element',\n 'options_render',\n\n // DrawerList Events\n 'on_pre_change',\n 'on_change',\n 'on_select',\n 'on_show',\n 'on_hide',\n] as const satisfies ReadonlyArray<\n KeysWithUnderscore<typeof DrawerListProperties & typeof DrawerListEvents>\n>\n\nconst validAutocompleteProps = [\n // Autocomplete Properties\n 'align_autocomplete',\n 'aria_live_options',\n 'disable_filter',\n 'disable_highlighting',\n 'disable_reorder',\n 'drawer_class',\n 'icon_position',\n 'icon_size',\n 'indicator_label',\n 'input_element',\n 'input_icon',\n 'input_ref',\n 'input_value',\n 'keep_selection',\n 'keep_value',\n 'keep_value_and_selection',\n 'label_direction',\n 'label_sr_only',\n 'no_options',\n 'open_on_focus',\n 'prevent_selection',\n 'search_in_word_index',\n 'search_numbers',\n 'selected_sr',\n 'show_all',\n 'show_clear_button',\n 'show_options_sr',\n 'show_submit_button',\n 'skip_portal',\n 'status_props',\n 'status_state',\n 'submit_button_icon',\n 'submit_button_title',\n 'submit_element',\n 'triangle_position',\n\n // Autocomplete Events\n 'on_type',\n 'on_focus',\n 'on_blur',\n 'on_change',\n 'on_select',\n 'on_show',\n 'on_hide',\n] as const satisfies ReadonlyArray<\n KeysWithUnderscore<\n typeof AutocompleteProperties & typeof AutocompleteEvents\n >\n>\nexport const listOfValidAutocompleteProps = [\n ...(validAutocompleteProps satisfies AssertNoMissing<\n typeof validAutocompleteProps,\n typeof AutocompleteProperties & typeof AutocompleteEvents\n >),\n ...(validDrawerListProps satisfies AssertNoMissing<\n typeof validDrawerListProps,\n typeof DrawerListProperties & typeof DrawerListEvents\n >),\n]\n\nconst validDropdownProps = [\n // From DropdownProperties\n 'icon_size',\n 'icon_position',\n 'triangle_position',\n 'open_on_focus',\n 'prevent_selection',\n 'action_menu',\n 'more_menu',\n 'align_dropdown',\n 'independent_width',\n 'skip_portal',\n 'status_state',\n 'status_props',\n 'label_direction',\n 'label_sr_only',\n 'trigger_element',\n\n // From DropdownEvents\n 'on_change',\n 'on_select',\n 'on_show',\n 'on_hide',\n] as const satisfies ReadonlyArray<\n KeysWithUnderscore<typeof DropdownProperties & typeof DropdownEvents>\n>\nexport const listOfValidDropdownProps = [\n ...(validDropdownProps satisfies AssertNoMissing<\n typeof validDropdownProps,\n typeof DropdownProperties & typeof DropdownEvents\n >),\n ...(validDrawerListProps satisfies AssertNoMissing<\n typeof validDrawerListProps,\n typeof DrawerListProperties & typeof DrawerListEvents\n >),\n]\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n size,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n setDisplayValue,\n transformSelection,\n data,\n dataPath,\n children,\n additionalArgs,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDrawerListChange = useCallback(\n ({ data, value }) => {\n const selectedKey = data?.selectedKey ?? value\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey,\n { data }\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection--layout-${layout}`,\n `dnb-forms-field-selection--options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n\n const onType = props?.autocompleteProps?.onType\n const onTypeAutocompleteHandler = useCallback(\n (event) => {\n if (typeof onType === 'function') {\n const { value } = event\n onType({\n ...event,\n ...additionalArgs,\n value: value === '' ? emptyValue : value,\n })\n }\n },\n [additionalArgs, emptyValue, onType]\n )\n\n switch (variant) {\n case 'radio':\n case 'radio-list':\n case 'button': {\n const Component = (\n variant === 'radio' || variant === 'radio-list'\n ? Radio\n : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems: ({ value: v, label }) => {\n if (v === value) {\n setDisplayValue(label)\n }\n },\n })\n\n const additionalFieldBlockProps: FieldBlockProps = {\n asFieldset: React.Children.count(items) > 1,\n }\n if (!size) {\n additionalFieldBlockProps.labelHeight = 'small'\n }\n if (variant === 'radio-list') {\n additionalFieldBlockProps.contentWidth = width\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...additionalFieldBlockProps}>\n <Component.Group\n role=\"radiogroup\"\n size={size}\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const data = renderDropdownItems(dataList, transformSelection)\n .concat(makeOptions(children, transformSelection))\n .filter(Boolean)\n const displayValue = data.find((item) => item.selectedKey === value)\n ?.content\n setDisplayValue(displayValue)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status:\n (hasError || checkForError([error, info, warning])) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n size,\n on_change: handleDrawerListChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n const specificFieldBlockProps: FieldBlockProps = {\n contentWidth: width,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...specificFieldBlockProps}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCasePropsToSnakeCase(\n Object.freeze(autocompleteProps),\n listOfValidAutocompleteProps\n ) as AutocompleteAllProps)\n : null)}\n value={\n autocompleteProps?.preventSelection ? undefined : value\n }\n on_type={onTypeAutocompleteHandler}\n data={\n !props.data &&\n !props.dataPath &&\n autocompleteProps?.mode === 'async'\n ? undefined\n : data\n }\n selectall\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCasePropsToSnakeCase(\n dropdownProps,\n listOfValidDropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: Props['value']\n error: Error | FormError | undefined\n help: HelpProps\n title: React.ReactNode\n children: React.ReactNode\n size?: ToggleButtonProps['size'] | RadioProps['size']\n }>\n>\n\nfunction renderRadioItems({\n id,\n value: valueProp,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n iterateOverItems?: (item: {\n value: Props['value']\n label: Props['children']\n }) => void\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { value, title, children, error, help, size, ...rest } = props\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n iterateOverItems?.({ value, label })\n\n const Component = (\n variant === 'radio' || variant === 'radio-list'\n ? Radio\n : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${id}`}\n label={\n variant === 'radio' || variant === 'radio-list'\n ? label\n : undefined\n }\n text={variant === 'button' ? label : undefined}\n role=\"radio\"\n value={String(value ?? valueProp) || undefined}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n size={size}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(\n children: React.ReactNode,\n {\n createOption,\n }: { createOption: (props: OptionProps, i: number) => React.ReactNode }\n) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode,\n transformSelection?: Props['transformSelection']\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.title ?? props.children ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selected_value = transformSelection\n ? transformSelection(props)\n : undefined\n const selectedKey = String(props.value ?? '')\n const disabled = props.disabled\n const style = props.style\n\n return { selectedKey, selected_value, content, disabled, style }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(\n data: Data,\n transformSelection?: Props['transformSelection']\n) {\n return (\n data?.map((props) => {\n const { value, title, text, disabled, style } = props\n return {\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n selected_value: transformSelection\n ? transformSelection(props)\n : undefined,\n disabled,\n style,\n }\n }) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { FieldProps } from '../../types';
|
|
2
3
|
import type { CheckboxProps } from '../../../../components/Checkbox';
|
|
3
4
|
import type { ToggleButtonProps } from '../../../../components/ToggleButton';
|
|
@@ -8,6 +9,12 @@ export type ToggleProps = {
|
|
|
8
9
|
textOn?: string;
|
|
9
10
|
textOff?: string;
|
|
10
11
|
size?: ToggleButtonProps['size'] | CheckboxProps['size'];
|
|
12
|
+
/**
|
|
13
|
+
* Checkbox props
|
|
14
|
+
*/
|
|
15
|
+
onClick?: (value: unknown, params: {
|
|
16
|
+
event: React.MouseEvent<HTMLInputElement>;
|
|
17
|
+
}) => void;
|
|
11
18
|
};
|
|
12
19
|
export type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> & ToggleProps;
|
|
13
20
|
declare function Toggle(props: Props): import("react/jsx-runtime").JSX.Element;
|