@dnb/eufemia 10.54.0 → 10.55.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 +48 -0
- package/cjs/components/ListFormat.d.ts +12 -0
- package/cjs/components/ListFormat.js +24 -0
- package/cjs/components/ListFormat.js.map +1 -0
- package/cjs/components/anchor/Anchor.js +1 -1
- package/cjs/components/anchor/Anchor.js.map +1 -1
- package/cjs/components/autocomplete/Autocomplete.js +3 -3
- package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/card/Card.js +14 -5
- package/cjs/components/card/Card.js.map +1 -1
- package/cjs/components/card/CardContext.d.ts +6 -0
- package/cjs/components/card/CardContext.js +12 -0
- package/cjs/components/card/CardContext.js.map +1 -0
- package/cjs/components/card/CardDocs.js +2 -2
- package/cjs/components/card/CardDocs.js.map +1 -1
- package/cjs/components/card/style/dnb-card.css +3 -0
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/card/style/dnb-card.scss +5 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.css +5 -0
- package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
- package/cjs/components/country-flag/CountryFlagDocs.js +5 -0
- package/cjs/components/country-flag/CountryFlagDocs.js.map +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +261 -291
- package/cjs/components/date-picker/DatePicker.js +346 -482
- package/cjs/components/date-picker/DatePicker.js.map +1 -1
- package/cjs/components/date-picker/DatePickerAddon.d.ts +21 -20
- package/cjs/components/date-picker/DatePickerAddon.js +66 -84
- package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalc.d.ts +19 -21
- package/cjs/components/date-picker/DatePickerCalc.js +44 -44
- package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
- package/cjs/components/date-picker/DatePickerCalendar.d.ts +73 -39
- package/cjs/components/date-picker/DatePickerCalendar.js +391 -535
- package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/cjs/components/date-picker/DatePickerContext.d.ts +26 -2
- package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
- package/cjs/components/date-picker/DatePickerFooter.d.ts +20 -18
- package/cjs/components/date-picker/DatePickerFooter.js +92 -117
- package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
- package/cjs/components/date-picker/DatePickerInput.d.ts +56 -64
- package/cjs/components/date-picker/DatePickerInput.js +515 -533
- package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
- package/cjs/components/date-picker/DatePickerOld.d.ts +334 -0
- package/cjs/components/date-picker/DatePickerOld.js +538 -0
- package/cjs/components/date-picker/DatePickerOld.js.map +1 -0
- package/cjs/components/date-picker/DatePickerProvider.d.ts +40 -17
- package/cjs/components/date-picker/DatePickerProvider.js +125 -236
- package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
- package/cjs/components/date-picker/DatePickerRange.d.ts +22 -20
- package/cjs/components/date-picker/DatePickerRange.js +61 -144
- package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
- package/cjs/components/date-picker/hooks/useDates.d.ts +45 -0
- package/cjs/components/date-picker/hooks/useDates.js +182 -0
- package/cjs/components/date-picker/hooks/useDates.js.map +1 -0
- package/cjs/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
- package/cjs/components/date-picker/hooks/useLastEventCallCache.js +16 -0
- package/cjs/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
- package/cjs/components/date-picker/hooks/useViews.d.ts +20 -0
- package/cjs/components/date-picker/hooks/useViews.js +84 -0
- package/cjs/components/date-picker/hooks/useViews.js.map +1 -0
- package/cjs/components/date-picker/style/dnb-date-picker.css +12 -1
- package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/cjs/components/dropdown/Dropdown.js +3 -3
- package/cjs/components/dropdown/Dropdown.js.map +1 -1
- package/cjs/components/flex/StackDocs.d.ts +2 -0
- package/cjs/components/flex/StackDocs.js +30 -0
- package/cjs/components/flex/StackDocs.js.map +1 -0
- package/cjs/components/form-row/FormRow.js +3 -3
- package/cjs/components/form-row/FormRow.js.map +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +12 -1
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +4 -1
- package/cjs/components/icon/style/dnb-icon.scss +1 -1
- package/cjs/components/index.d.ts +2 -1
- package/cjs/components/index.js +7 -0
- package/cjs/components/index.js.map +1 -1
- package/cjs/components/input-masked/TextMask.d.ts +2 -1
- package/cjs/components/input-masked/style/dnb-input-masked.css +12 -1
- package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/cjs/components/lib.d.ts +3 -1
- package/cjs/components/lib.js +8 -0
- package/cjs/components/lib.js.map +1 -1
- package/cjs/components/list-format/ListFormat.d.ts +40 -0
- package/cjs/components/list-format/ListFormat.js +122 -0
- package/cjs/components/list-format/ListFormat.js.map +1 -0
- package/cjs/components/list-format/ListFormatDocs.d.ts +2 -0
- package/cjs/components/list-format/ListFormatDocs.js +35 -0
- package/cjs/components/list-format/ListFormatDocs.js.map +1 -0
- package/cjs/components/list-format/index.d.ts +7 -0
- package/cjs/components/list-format/index.js +24 -0
- package/cjs/components/list-format/index.js.map +1 -0
- package/cjs/components/number-format/NumberUtils.js +1 -1
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/radio/style/dnb-radio.css +12 -1
- package/cjs/components/radio/style/dnb-radio.min.css +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
- package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/cjs/components/textarea/Textarea.js +3 -3
- package/cjs/components/textarea/Textarea.js.map +1 -1
- package/cjs/components/toggle-button/ToggleButton.js +3 -3
- package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +12 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/components/upload/Upload.js +2 -1
- package/cjs/components/upload/Upload.js.map +1 -1
- package/cjs/components/upload/UploadContext.d.ts +1 -0
- package/cjs/components/upload/UploadContext.js +2 -1
- package/cjs/components/upload/UploadContext.js.map +1 -1
- package/cjs/components/upload/UploadDocs.js +5 -0
- package/cjs/components/upload/UploadDocs.js.map +1 -1
- package/cjs/components/upload/UploadDropzone.js.map +1 -1
- package/cjs/components/upload/UploadFileList.js +3 -1
- package/cjs/components/upload/UploadFileList.js.map +1 -1
- package/cjs/components/upload/UploadFileListCell.d.ts +22 -3
- package/cjs/components/upload/UploadFileListCell.js +17 -8
- package/cjs/components/upload/UploadFileListCell.js.map +1 -1
- package/cjs/components/upload/UploadInfo.js +7 -4
- package/cjs/components/upload/UploadInfo.js.map +1 -1
- package/cjs/components/upload/UploadVerify.d.ts +2 -2
- package/cjs/components/upload/UploadVerify.js.map +1 -1
- package/cjs/components/upload/style/dnb-upload.css +1 -1
- package/cjs/components/upload/style/dnb-upload.min.css +1 -1
- package/cjs/components/upload/style/dnb-upload.scss +1 -1
- package/cjs/components/upload/types.d.ts +11 -5
- package/cjs/components/upload/types.js.map +1 -1
- package/cjs/components/upload/useUpload.d.ts +6 -6
- package/cjs/components/upload/useUpload.js.map +1 -1
- package/cjs/elements/lists/style/lists-mixins.scss +1 -0
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
- package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
- package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
- package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
- package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +1 -1
- package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Date/Date.js +4 -12
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Field/Expiry/Expiry.js +6 -14
- package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/cjs/extensions/forms/Field/FieldDocs.d.ts +2 -2
- package/cjs/extensions/forms/Field/FieldDocs.js +10 -10
- package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -1
- package/cjs/extensions/forms/Field/Number/Number.js +7 -19
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -3
- package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +3 -3
- package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
- package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
- package/cjs/extensions/forms/Field/Selection/Selection.js +5 -13
- package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/cjs/extensions/forms/Field/Slider/Slider.d.ts +2 -1
- package/cjs/extensions/forms/Field/Slider/Slider.js +0 -13
- package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/cjs/extensions/forms/Field/String/String.d.ts +2 -1
- package/cjs/extensions/forms/Field/String/String.js +7 -20
- package/cjs/extensions/forms/Field/String/String.js.map +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
- package/cjs/extensions/forms/Field/Toggle/Toggle.js +6 -18
- package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/cjs/extensions/forms/Field/Upload/Upload.d.ts +4 -3
- package/cjs/extensions/forms/Field/Upload/Upload.js +2 -12
- package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +39 -20
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
- package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -5
- package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/{EditToolbarTools.js → CancelButton.js} +15 -41
- package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.js +52 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
- package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +4 -2
- package/cjs/extensions/forms/Form/Section/Section.js +2 -0
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.js +68 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +12 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +11 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/index.js +27 -0
- package/cjs/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +12 -13
- package/cjs/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +3 -2
- package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
- package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +3 -2
- package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +2 -2
- package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
- package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +2 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +16 -49
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +7 -17
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
- package/cjs/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Upload/Upload.d.ts +11 -0
- package/cjs/extensions/forms/Value/Upload/Upload.js +99 -0
- package/cjs/extensions/forms/Value/Upload/Upload.js.map +1 -0
- package/cjs/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Upload/UploadDocs.js +26 -0
- package/cjs/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Upload/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Upload/index.js +27 -0
- package/cjs/extensions/forms/Value/Upload/index.js.map +1 -0
- package/cjs/extensions/forms/Value/index.d.ts +1 -0
- package/cjs/extensions/forms/Value/index.js +7 -0
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js +8 -3
- package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js +1 -1
- package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
- package/cjs/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +6 -6
- package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
- package/cjs/extensions/forms/hooks/useDataValue.js +6 -1
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +8 -3
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +1 -6
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +45 -38
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +6 -28
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +7 -0
- package/cjs/index.js.map +1 -1
- package/cjs/shared/Context.d.ts +4 -0
- package/cjs/shared/Context.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 +1 -1
- package/cjs/shared/component-helper.js.map +1 -1
- package/cjs/style/core/reset.scss +0 -8
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +12 -16
- package/cjs/style/dnb-ui-basis.css +1 -7
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -7
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +109 -43
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-core.css +1 -8
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +1 -0
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +45 -38
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +45 -38
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +159 -80
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +45 -38
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +45 -38
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -0
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/ListFormat.d.ts +12 -0
- package/components/ListFormat.js +4 -0
- package/components/ListFormat.js.map +1 -0
- package/components/anchor/Anchor.js +1 -1
- package/components/anchor/Anchor.js.map +1 -1
- package/components/autocomplete/Autocomplete.js +3 -3
- package/components/autocomplete/Autocomplete.js.map +1 -1
- package/components/card/Card.js +13 -5
- package/components/card/Card.js.map +1 -1
- package/components/card/CardContext.d.ts +6 -0
- package/components/card/CardContext.js +4 -0
- package/components/card/CardContext.js.map +1 -0
- package/components/card/CardDocs.js +2 -2
- package/components/card/CardDocs.js.map +1 -1
- package/components/card/style/dnb-card.css +3 -0
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/card/style/dnb-card.scss +5 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
- package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
- package/components/card/style/themes/dnb-card-theme-ui.css +5 -0
- package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
- package/components/country-flag/CountryFlagDocs.js +5 -0
- package/components/country-flag/CountryFlagDocs.js.map +1 -1
- package/components/date-picker/DatePicker.d.ts +261 -291
- package/components/date-picker/DatePicker.js +343 -481
- package/components/date-picker/DatePicker.js.map +1 -1
- package/components/date-picker/DatePickerAddon.d.ts +21 -20
- package/components/date-picker/DatePickerAddon.js +64 -81
- package/components/date-picker/DatePickerAddon.js.map +1 -1
- package/components/date-picker/DatePickerCalc.d.ts +19 -21
- package/components/date-picker/DatePickerCalc.js +35 -34
- package/components/date-picker/DatePickerCalc.js.map +1 -1
- package/components/date-picker/DatePickerCalendar.d.ts +73 -39
- package/components/date-picker/DatePickerCalendar.js +389 -534
- package/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/components/date-picker/DatePickerContext.d.ts +26 -2
- package/components/date-picker/DatePickerContext.js.map +1 -1
- package/components/date-picker/DatePickerFooter.d.ts +20 -18
- package/components/date-picker/DatePickerFooter.js +90 -116
- package/components/date-picker/DatePickerFooter.js.map +1 -1
- package/components/date-picker/DatePickerInput.d.ts +56 -64
- package/components/date-picker/DatePickerInput.js +515 -532
- package/components/date-picker/DatePickerInput.js.map +1 -1
- package/components/date-picker/DatePickerOld.d.ts +334 -0
- package/components/date-picker/DatePickerOld.js +528 -0
- package/components/date-picker/DatePickerOld.js.map +1 -0
- package/components/date-picker/DatePickerProvider.d.ts +40 -17
- package/components/date-picker/DatePickerProvider.js +123 -235
- package/components/date-picker/DatePickerProvider.js.map +1 -1
- package/components/date-picker/DatePickerRange.d.ts +22 -20
- package/components/date-picker/DatePickerRange.js +58 -140
- package/components/date-picker/DatePickerRange.js.map +1 -1
- package/components/date-picker/hooks/useDates.d.ts +45 -0
- package/components/date-picker/hooks/useDates.js +173 -0
- package/components/date-picker/hooks/useDates.js.map +1 -0
- package/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
- package/components/date-picker/hooks/useLastEventCallCache.js +11 -0
- package/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
- package/components/date-picker/hooks/useViews.d.ts +20 -0
- package/components/date-picker/hooks/useViews.js +74 -0
- package/components/date-picker/hooks/useViews.js.map +1 -0
- package/components/date-picker/style/dnb-date-picker.css +12 -1
- package/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/components/dropdown/Dropdown.js +3 -3
- package/components/dropdown/Dropdown.js.map +1 -1
- package/components/flex/StackDocs.d.ts +2 -0
- package/components/flex/StackDocs.js +23 -0
- package/components/flex/StackDocs.js.map +1 -0
- package/components/form-row/FormRow.js +3 -3
- package/components/form-row/FormRow.js.map +1 -1
- package/components/form-row/style/dnb-form-row.css +12 -1
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/form-status/FormStatus.d.ts +4 -1
- package/components/icon/style/dnb-icon.scss +1 -1
- package/components/index.d.ts +2 -1
- package/components/index.js +2 -1
- package/components/index.js.map +1 -1
- package/components/input-masked/TextMask.d.ts +2 -1
- package/components/input-masked/style/dnb-input-masked.css +12 -1
- package/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/components/lib.d.ts +3 -1
- package/components/lib.js +3 -1
- package/components/lib.js.map +1 -1
- package/components/list-format/ListFormat.d.ts +40 -0
- package/components/list-format/ListFormat.js +112 -0
- package/components/list-format/ListFormat.js.map +1 -0
- package/components/list-format/ListFormatDocs.d.ts +2 -0
- package/components/list-format/ListFormatDocs.js +28 -0
- package/components/list-format/ListFormatDocs.js.map +1 -0
- package/components/list-format/index.d.ts +7 -0
- package/components/list-format/index.js +4 -0
- package/components/list-format/index.js.map +1 -0
- package/components/number-format/NumberUtils.js +1 -1
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/radio/style/dnb-radio.css +12 -1
- package/components/radio/style/dnb-radio.min.css +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
- package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/components/textarea/Textarea.js +3 -3
- package/components/textarea/Textarea.js.map +1 -1
- package/components/toggle-button/ToggleButton.js +3 -3
- package/components/toggle-button/ToggleButton.js.map +1 -1
- package/components/toggle-button/style/dnb-toggle-button.css +12 -1
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/components/upload/Upload.js +2 -1
- package/components/upload/Upload.js.map +1 -1
- package/components/upload/UploadContext.d.ts +1 -0
- package/components/upload/UploadContext.js +2 -1
- package/components/upload/UploadContext.js.map +1 -1
- package/components/upload/UploadDocs.js +5 -0
- package/components/upload/UploadDocs.js.map +1 -1
- package/components/upload/UploadDropzone.js.map +1 -1
- package/components/upload/UploadFileList.js +3 -1
- package/components/upload/UploadFileList.js.map +1 -1
- package/components/upload/UploadFileListCell.d.ts +22 -3
- package/components/upload/UploadFileListCell.js +16 -8
- package/components/upload/UploadFileListCell.js.map +1 -1
- package/components/upload/UploadInfo.js +7 -4
- package/components/upload/UploadInfo.js.map +1 -1
- package/components/upload/UploadVerify.d.ts +2 -2
- package/components/upload/UploadVerify.js.map +1 -1
- package/components/upload/style/dnb-upload.css +1 -1
- package/components/upload/style/dnb-upload.min.css +1 -1
- package/components/upload/style/dnb-upload.scss +1 -1
- package/components/upload/types.d.ts +11 -5
- package/components/upload/types.js.map +1 -1
- package/components/upload/useUpload.d.ts +6 -6
- package/components/upload/useUpload.js.map +1 -1
- package/elements/lists/style/lists-mixins.scss +1 -0
- package/es/components/ListFormat.d.ts +12 -0
- package/es/components/ListFormat.js +4 -0
- package/es/components/ListFormat.js.map +1 -0
- package/es/components/anchor/Anchor.js +1 -1
- package/es/components/anchor/Anchor.js.map +1 -1
- package/es/components/autocomplete/Autocomplete.js +3 -3
- package/es/components/autocomplete/Autocomplete.js.map +1 -1
- package/es/components/card/Card.js +13 -5
- package/es/components/card/Card.js.map +1 -1
- package/es/components/card/CardContext.d.ts +6 -0
- package/es/components/card/CardContext.js +4 -0
- package/es/components/card/CardContext.js.map +1 -0
- package/es/components/card/CardDocs.js +2 -2
- package/es/components/card/CardDocs.js.map +1 -1
- package/es/components/card/style/dnb-card.css +3 -0
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/card/style/dnb-card.scss +5 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
- package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.css +5 -0
- package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
- package/es/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
- package/es/components/country-flag/CountryFlagDocs.js +5 -0
- package/es/components/country-flag/CountryFlagDocs.js.map +1 -1
- package/es/components/date-picker/DatePicker.d.ts +261 -291
- package/es/components/date-picker/DatePicker.js +342 -481
- package/es/components/date-picker/DatePicker.js.map +1 -1
- package/es/components/date-picker/DatePickerAddon.d.ts +21 -20
- package/es/components/date-picker/DatePickerAddon.js +65 -82
- package/es/components/date-picker/DatePickerAddon.js.map +1 -1
- package/es/components/date-picker/DatePickerCalc.d.ts +19 -21
- package/es/components/date-picker/DatePickerCalc.js +38 -37
- package/es/components/date-picker/DatePickerCalc.js.map +1 -1
- package/es/components/date-picker/DatePickerCalendar.d.ts +73 -39
- package/es/components/date-picker/DatePickerCalendar.js +387 -531
- package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
- package/es/components/date-picker/DatePickerContext.d.ts +26 -2
- package/es/components/date-picker/DatePickerContext.js.map +1 -1
- package/es/components/date-picker/DatePickerFooter.d.ts +20 -18
- package/es/components/date-picker/DatePickerFooter.js +89 -116
- package/es/components/date-picker/DatePickerFooter.js.map +1 -1
- package/es/components/date-picker/DatePickerInput.d.ts +56 -64
- package/es/components/date-picker/DatePickerInput.js +508 -525
- package/es/components/date-picker/DatePickerInput.js.map +1 -1
- package/es/components/date-picker/DatePickerOld.d.ts +334 -0
- package/es/components/date-picker/DatePickerOld.js +528 -0
- package/es/components/date-picker/DatePickerOld.js.map +1 -0
- package/es/components/date-picker/DatePickerProvider.d.ts +40 -17
- package/es/components/date-picker/DatePickerProvider.js +122 -230
- package/es/components/date-picker/DatePickerProvider.js.map +1 -1
- package/es/components/date-picker/DatePickerRange.d.ts +22 -20
- package/es/components/date-picker/DatePickerRange.js +57 -138
- package/es/components/date-picker/DatePickerRange.js.map +1 -1
- package/es/components/date-picker/hooks/useDates.d.ts +45 -0
- package/es/components/date-picker/hooks/useDates.js +169 -0
- package/es/components/date-picker/hooks/useDates.js.map +1 -0
- package/es/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
- package/es/components/date-picker/hooks/useLastEventCallCache.js +11 -0
- package/es/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
- package/es/components/date-picker/hooks/useViews.d.ts +20 -0
- package/es/components/date-picker/hooks/useViews.js +72 -0
- package/es/components/date-picker/hooks/useViews.js.map +1 -0
- package/es/components/date-picker/style/dnb-date-picker.css +12 -1
- package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
- package/es/components/dropdown/Dropdown.js +3 -3
- package/es/components/dropdown/Dropdown.js.map +1 -1
- package/es/components/flex/StackDocs.d.ts +2 -0
- package/es/components/flex/StackDocs.js +23 -0
- package/es/components/flex/StackDocs.js.map +1 -0
- package/es/components/form-row/FormRow.js +3 -3
- package/es/components/form-row/FormRow.js.map +1 -1
- package/es/components/form-row/style/dnb-form-row.css +12 -1
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/form-status/FormStatus.d.ts +4 -1
- package/es/components/icon/style/dnb-icon.scss +1 -1
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +2 -1
- package/es/components/index.js.map +1 -1
- package/es/components/input-masked/TextMask.d.ts +2 -1
- package/es/components/input-masked/style/dnb-input-masked.css +12 -1
- package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
- package/es/components/lib.d.ts +3 -1
- package/es/components/lib.js +3 -1
- package/es/components/lib.js.map +1 -1
- package/es/components/list-format/ListFormat.d.ts +40 -0
- package/es/components/list-format/ListFormat.js +111 -0
- package/es/components/list-format/ListFormat.js.map +1 -0
- package/es/components/list-format/ListFormatDocs.d.ts +2 -0
- package/es/components/list-format/ListFormatDocs.js +28 -0
- package/es/components/list-format/ListFormatDocs.js.map +1 -0
- package/es/components/list-format/index.d.ts +7 -0
- package/es/components/list-format/index.js +4 -0
- package/es/components/list-format/index.js.map +1 -0
- package/es/components/number-format/NumberUtils.js +1 -1
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/radio/style/dnb-radio.css +12 -1
- package/es/components/radio/style/dnb-radio.min.css +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
- package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
- package/es/components/textarea/Textarea.js +3 -3
- package/es/components/textarea/Textarea.js.map +1 -1
- package/es/components/toggle-button/ToggleButton.js +3 -3
- package/es/components/toggle-button/ToggleButton.js.map +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.css +12 -1
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/upload/Upload.js +2 -1
- package/es/components/upload/Upload.js.map +1 -1
- package/es/components/upload/UploadContext.d.ts +1 -0
- package/es/components/upload/UploadContext.js +2 -1
- package/es/components/upload/UploadContext.js.map +1 -1
- package/es/components/upload/UploadDocs.js +5 -0
- package/es/components/upload/UploadDocs.js.map +1 -1
- package/es/components/upload/UploadDropzone.js.map +1 -1
- package/es/components/upload/UploadFileList.js +3 -1
- package/es/components/upload/UploadFileList.js.map +1 -1
- package/es/components/upload/UploadFileListCell.d.ts +22 -3
- package/es/components/upload/UploadFileListCell.js +16 -8
- package/es/components/upload/UploadFileListCell.js.map +1 -1
- package/es/components/upload/UploadInfo.js +7 -4
- package/es/components/upload/UploadInfo.js.map +1 -1
- package/es/components/upload/UploadVerify.d.ts +2 -2
- package/es/components/upload/UploadVerify.js.map +1 -1
- package/es/components/upload/style/dnb-upload.css +1 -1
- package/es/components/upload/style/dnb-upload.min.css +1 -1
- package/es/components/upload/style/dnb-upload.scss +1 -1
- package/es/components/upload/types.d.ts +11 -5
- package/es/components/upload/types.js.map +1 -1
- package/es/components/upload/useUpload.d.ts +6 -6
- package/es/components/upload/useUpload.js.map +1 -1
- package/es/elements/lists/style/lists-mixins.scss +1 -0
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
- package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
- package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
- package/es/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
- package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/es/extensions/forms/Field/Composition/CompositionDocs.js +2 -2
- package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
- package/es/extensions/forms/Field/Date/Date.js +4 -12
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/es/extensions/forms/Field/Expiry/Expiry.js +6 -14
- package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/es/extensions/forms/Field/FieldDocs.d.ts +2 -2
- package/es/extensions/forms/Field/FieldDocs.js +8 -8
- package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/es/extensions/forms/Field/Number/Number.d.ts +2 -1
- package/es/extensions/forms/Field/Number/Number.js +8 -19
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -3
- package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +1 -1
- package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
- package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
- package/es/extensions/forms/Field/Selection/Selection.js +5 -13
- package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/es/extensions/forms/Field/Slider/Slider.d.ts +2 -1
- package/es/extensions/forms/Field/Slider/Slider.js +0 -13
- package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/es/extensions/forms/Field/String/String.d.ts +2 -1
- package/es/extensions/forms/Field/String/String.js +7 -20
- package/es/extensions/forms/Field/String/String.js.map +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
- package/es/extensions/forms/Field/Toggle/Toggle.js +6 -18
- package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/es/extensions/forms/Field/Upload/Upload.d.ts +4 -3
- package/es/extensions/forms/Field/Upload/Upload.js +2 -12
- package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
- package/es/extensions/forms/FieldBlock/FieldBlock.js +39 -20
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
- package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +17 -2
- package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
- package/es/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +51 -0
- package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/DoneButton.js +44 -0
- package/es/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
- package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
- package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +4 -2
- package/es/extensions/forms/Form/Section/Section.js +2 -0
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
- package/es/extensions/forms/Form/Section/Toolbar/Toolbar.js +59 -0
- package/es/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
- package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
- package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +4 -0
- package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
- package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
- package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +3 -0
- package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
- package/es/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
- package/es/extensions/forms/Form/Section/Toolbar/index.js +3 -0
- package/es/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +10 -11
- package/es/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js +4 -3
- package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
- package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
- package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +4 -3
- package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
- package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +14 -45
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +5 -17
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/es/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
- package/es/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
- package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
- package/es/extensions/forms/Value/Upload/Upload.d.ts +11 -0
- package/es/extensions/forms/Value/Upload/Upload.js +88 -0
- package/es/extensions/forms/Value/Upload/Upload.js.map +1 -0
- package/es/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Upload/UploadDocs.js +17 -0
- package/es/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
- package/es/extensions/forms/Value/Upload/index.d.ts +2 -0
- package/es/extensions/forms/Value/Upload/index.js +3 -0
- package/es/extensions/forms/Value/Upload/index.js.map +1 -0
- package/es/extensions/forms/Value/index.d.ts +1 -0
- package/es/extensions/forms/Value/index.js +1 -0
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/ValueBlock.js +8 -3
- package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
- package/es/extensions/forms/Wizard/Step/StepDocs.js +1 -1
- package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
- package/es/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +3 -3
- package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
- package/es/extensions/forms/hooks/useDataValue.js +6 -1
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.js +8 -3
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +1 -6
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +45 -38
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +6 -28
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
- package/es/index.d.ts +2 -1
- package/es/index.js +2 -1
- package/es/index.js.map +1 -1
- package/es/shared/Context.d.ts +4 -0
- package/es/shared/Context.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 +1 -1
- package/es/shared/component-helper.js.map +1 -1
- package/es/style/core/reset.scss +0 -8
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +12 -16
- package/es/style/dnb-ui-basis.css +1 -7
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -7
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +109 -43
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-core.css +1 -8
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +1 -0
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +45 -38
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +45 -38
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +1 -0
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +159 -80
- package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -0
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +45 -38
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +45 -38
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +1 -0
- package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- 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 +3 -3
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
- package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
- package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
- package/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
- package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
- package/extensions/forms/Field/Composition/CompositionDocs.js +2 -2
- package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
- package/extensions/forms/Field/Date/Date.js +4 -12
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/extensions/forms/Field/Expiry/Expiry.js +6 -14
- package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
- package/extensions/forms/Field/FieldDocs.d.ts +2 -2
- package/extensions/forms/Field/FieldDocs.js +8 -8
- package/extensions/forms/Field/FieldDocs.js.map +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +2 -1
- package/extensions/forms/Field/Number/Number.js +7 -19
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.css +0 -3
- package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
- package/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
- package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +1 -1
- package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
- package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
- package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
- package/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
- package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
- package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
- package/extensions/forms/Field/Selection/Selection.js +5 -13
- package/extensions/forms/Field/Selection/Selection.js.map +1 -1
- package/extensions/forms/Field/Slider/Slider.d.ts +2 -1
- package/extensions/forms/Field/Slider/Slider.js +0 -13
- package/extensions/forms/Field/Slider/Slider.js.map +1 -1
- package/extensions/forms/Field/String/String.d.ts +2 -1
- package/extensions/forms/Field/String/String.js +7 -20
- package/extensions/forms/Field/String/String.js.map +1 -1
- package/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
- package/extensions/forms/Field/Toggle/Toggle.js +6 -18
- package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
- package/extensions/forms/Field/Upload/Upload.d.ts +4 -3
- package/extensions/forms/Field/Upload/Upload.js +2 -12
- package/extensions/forms/Field/Upload/Upload.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
- package/extensions/forms/FieldBlock/FieldBlock.js +39 -20
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
- package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
- package/extensions/forms/FieldBlock/FieldBlockDocs.js +17 -2
- package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
- package/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/CancelButton.js +51 -0
- package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
- package/extensions/forms/Form/Section/EditContainer/DoneButton.js +44 -0
- package/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
- package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
- package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +4 -2
- package/extensions/forms/Form/Section/Section.js +2 -0
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
- package/extensions/forms/Form/Section/Toolbar/Toolbar.js +59 -0
- package/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
- package/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
- package/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +4 -0
- package/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
- package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
- package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +3 -0
- package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
- package/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
- package/extensions/forms/Form/Section/Toolbar/index.js +3 -0
- package/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
- package/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +10 -11
- package/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
- package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Form/Section/containers/SectionContainer.js +4 -3
- package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
- package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
- package/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
- package/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
- package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
- package/extensions/forms/Iterate/Array/ArrayItemArea.js +4 -3
- package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.js +1 -1
- package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
- package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
- package/extensions/forms/Value/ArraySelection/ArraySelection.js +14 -46
- package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +5 -17
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
- package/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
- package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
- package/extensions/forms/Value/Upload/Upload.d.ts +11 -0
- package/extensions/forms/Value/Upload/Upload.js +88 -0
- package/extensions/forms/Value/Upload/Upload.js.map +1 -0
- package/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
- package/extensions/forms/Value/Upload/UploadDocs.js +17 -0
- package/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
- package/extensions/forms/Value/Upload/index.d.ts +2 -0
- package/extensions/forms/Value/Upload/index.js +3 -0
- package/extensions/forms/Value/Upload/index.js.map +1 -0
- package/extensions/forms/Value/index.d.ts +1 -0
- package/extensions/forms/Value/index.js +1 -0
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/ValueBlock.js +8 -3
- package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
- package/extensions/forms/Wizard/Step/StepDocs.js +1 -1
- package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
- package/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +3 -3
- package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
- package/extensions/forms/hooks/useDataValue.js +6 -1
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.js +8 -3
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.js +1 -6
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +45 -38
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +6 -28
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
- package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
- package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
- package/index.d.ts +2 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/shared/Context.d.ts +4 -0
- package/shared/Context.js.map +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 +1 -1
- package/shared/component-helper.js.map +1 -1
- package/style/core/reset.scss +0 -8
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +12 -16
- package/style/dnb-ui-basis.css +1 -7
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -7
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +109 -43
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-core.css +1 -8
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -0
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +45 -38
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +45 -38
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
- package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +1 -0
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +159 -80
- package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
- package/style/themes/theme-ui/ui-theme-elements.css +1 -0
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +45 -38
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +45 -38
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +1 -0
- package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- 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/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
- package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
- package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
- package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +0 -35
- package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +0 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
- package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -77
- package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
- package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
- package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
- package/es/extensions/forms/Form/Section/containers/Toolbar.js +0 -27
- package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
- package/es/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
- package/es/extensions/forms/hooks/DataValueDocs.js.map +0 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
- package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -77
- package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
- package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
- package/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
- package/extensions/forms/Form/Section/containers/Toolbar.js +0 -27
- package/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
- package/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
- package/extensions/forms/hooks/DataValueDocs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerInput.js","names":["React","PropTypes","addDays","addMonths","addYears","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","warn","validateDOMAttributes","dispatchCustomElementEvent","keycode","convertStringToDate","DatePickerContext","DatePickerInput","PureComponent","constructor","props","_defineProperty","_listenForPropChanges","focusState","partialStartDate","partialEndDate","e","focusMode","success","clipboardData","window","getData","preventDefault","separators","possibleFormats","forEach","date","sep","push","replace","split","reverse","join","i","l","length","date_format","mode","state","context","setState","updateState","hoverDate","hasHadValidDate","startDate","endDate","event","_objectSpread","callOnChangeHandler","_ref","changeMonthViews","isRange","_ref2","getDates","reduce","acc","returnObject","getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","_ref3","keyCode","target","isDate","getAttribute","match","isInRange","count","callOnChange","wait","selectAll","focus","setSelectionRange","onFocus","onBlur","selectionStart","selectionEnd","selectStart","persist","prepareCounting","size","parseFloat","firstSelectionStart","secondSelectionStart","test","index","refList","findIndex","_ref4","current","nextSibling","prevSibling","endPos","value","setDate","type","fallback","year","getFullYear","month","getMonth","day","getDate","Date","isValidDate","callOnChangeAsInvalid","callOnType","params","id","startDateList","generateDateList","endDateList","createElement","className","_span","maskOrder","separatorRexExp","maskList","cur","shift","_startDayRef","createRef","_startMonthRef","_startYearRef","_endDayRef","_endMonthRef","_endYearRef","componentWillUnmount","_shortcuts","remove","osShortcut","getPlaceholderChar","indexOf","maskPlaceholder","map","slice","placeholderChar","input_element","translation","DatePicker","isRangeLabel","onKeyDown","onKeyDownHandler","onPaste","shortcutHandler","onFocusHandler","onBlurHandler","DateField","isValidElement","InputElement","inputSizeClassName","Fragment","key","_extends","mask","inputRef","onChange","hidden","htmlFor","formatDate","open_picker_text","selectedDateTitle","render","_this$props","title","submitAttributes","onSubmit","showInput","locale","disabled","skeleton","opened","status","status_state","status_props","attributes","_objectWithoutProperties","_excluded","UsedButton","innerRef","ref","lang","code","label","input_state","renderInputElement","submit_element","icon","variant","on_submit","on_click","process","env","NODE_ENV","propTypes","string","instanceOf","RegExp","object","bool","oneOf","oneOfType","func","node","select","_ref5","_excluded2","guide","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","t","Promise","r","setTimeout"],"sources":["../../../../src/components/date-picker/DatePickerInput.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\n// date-fns\nimport addDays from 'date-fns/addDays'\nimport addMonths from 'date-fns/addMonths'\nimport addYears from 'date-fns/addYears'\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport {\n warn,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport { convertStringToDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerInput extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n selectedDateTitle: PropTypes.string,\n maskOrder: PropTypes.string,\n maskPlaceholder: PropTypes.string,\n separatorRexExp: PropTypes.instanceOf(RegExp),\n submitAttributes: PropTypes.object,\n isRange: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n input_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n locale: PropTypes.object,\n disabled: PropTypes.bool,\n skeleton: PropTypes.bool,\n opened: PropTypes.bool,\n showInput: PropTypes.bool,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: null,\n selectedDateTitle: null,\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå',\n separatorRexExp: /[-/ ]/g,\n submitAttributes: null,\n isRange: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n input_element: null,\n disabled: null,\n locale: null,\n skeleton: null,\n opened: false,\n showInput: null,\n onChange: null,\n onSubmit: null,\n onFocus: null,\n onBlur: null,\n }\n\n state = {\n _listenForPropChanges: true,\n focusState: 'virgin',\n partialStartDate: '',\n partialEndDate: '',\n }\n\n constructor(props) {\n super(props)\n\n const separators = props.maskOrder.match(props.separatorRexExp)\n this.maskList = props.maskOrder\n .split(props.separatorRexExp)\n .reduce((acc, cur) => {\n if (cur) {\n acc.push(cur)\n if (separators.length > 0) {\n acc.push(separators.shift())\n }\n }\n return acc\n }, [])\n\n this._startDayRef = React.createRef()\n this._startMonthRef = React.createRef()\n this._startYearRef = React.createRef()\n this._endDayRef = React.createRef()\n this._endMonthRef = React.createRef()\n this._endYearRef = React.createRef()\n }\n\n componentWillUnmount() {\n if (this._shortcuts) {\n this._shortcuts.remove(this.osShortcut)\n }\n }\n\n shortcutHandler = async (e) => {\n if (this.focusMode) {\n const success = (\n e.clipboardData ||\n (typeof window !== 'undefined' && window.clipboardData)\n ).getData('text')\n if (success) {\n e.preventDefault()\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date\n for (let i = 0, l = possibleFormats.length; i < l; ++i) {\n date = convertStringToDate(success, {\n date_format: possibleFormats[i],\n })\n if (date) {\n break\n }\n }\n const mode = this.focusMode === 'start' ? 'startDate' : 'endDate'\n if (date && !this.state[mode]) {\n this.context.setState({\n [mode]: date,\n })\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n }\n\n callOnChangeAsInvalid = (state) => {\n this.context.updateState(\n {\n hoverDate: null,\n },\n () => {\n if (this.context.hasHadValidDate) {\n const { startDate, endDate, event } = {\n ...this.context,\n ...state,\n }\n this.context.callOnChangeHandler({ startDate, endDate, event })\n }\n }\n )\n }\n\n callOnChange = ({ startDate, endDate, event }) => {\n const state = { changeMonthViews: true }\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state.startDate = startDate\n }\n if (!this.props.isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state.endDate = endDate\n }\n\n this.context.updateState(state, () => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n this.context.callOnChangeHandler({ event })\n }\n })\n }\n\n callOnType = ({ event }) => {\n const getDates = () =>\n ['start', 'end'].reduce((acc, mode) => {\n acc[`${mode}Date`] = [\n this[`_${mode}Year`] || this.context[`__${mode}Year`] || 'yyyy',\n this[`_${mode}Month`] || this.context[`__${mode}Month`] || 'mm',\n this[`_${mode}Day`] || this.context[`__${mode}Day`] || 'dd',\n ].join('-')\n return acc\n }, {})\n\n // Get the typed dates, so we can ...\n let { startDate, endDate } = getDates()\n\n // Get the partial dates, so we can know if something was typed or not in an optional date field\n const partialStartDate = startDate\n const partialEndDate = endDate\n this.setState({\n partialStartDate,\n partialEndDate,\n })\n startDate = parseISO(startDate)\n endDate = parseISO(endDate)\n\n // ... check if they were valid\n if (!isValid(startDate)) {\n startDate = null\n }\n if (!isValid(endDate)) {\n endDate = null\n }\n\n let returnObject = this.context.getReturnObject({\n startDate,\n endDate,\n event,\n partialStartDate,\n partialEndDate,\n })\n\n // Now, lets correct\n if (\n returnObject.is_valid === false ||\n returnObject.is_valid_start_date === false ||\n returnObject.is_valid_end_date === false\n ) {\n const { startDate, endDate } = getDates()\n\n const typedDates = this.props.isRange\n ? {\n start_date: startDate,\n end_date: endDate,\n }\n : { date: startDate }\n\n returnObject = {\n ...returnObject,\n ...typedDates,\n }\n }\n\n dispatchCustomElementEvent(this.context, 'on_type', returnObject)\n }\n\n prepareCounting = async ({ keyCode, target, event }) => {\n try {\n const isDate = target\n .getAttribute('class')\n .match(/__input--([day|month|year]+)($|\\s)/)[1]\n\n const isInRange = target\n .getAttribute('id')\n .match(/-([start|end]+)-/)[1]\n\n let date =\n isInRange === 'start'\n ? this.context.startDate\n : this.context.endDate\n\n // do nothing if date is not set yet\n if (!date) {\n return\n }\n\n const count = keyCode === 'up' ? 1 : -1\n\n if (keyCode === 'up' || keyCode === 'down') {\n switch (isDate) {\n case 'day':\n date = addDays(date, count)\n break\n case 'month':\n date = addMonths(date, count)\n break\n case 'year':\n date = addYears(date, count)\n break\n }\n }\n\n this.callOnChange({\n [isInRange === 'start' ? 'startDate' : 'endDate']: date,\n event,\n })\n\n await wait(1) // to get the correct position afterwards\n\n selectAll(target)\n } catch (e) {\n warn(e)\n }\n }\n\n selectStart = (target) => {\n target.focus()\n target.setSelectionRange(0, 0)\n }\n\n onFocusHandler = (event) => {\n try {\n selectAll(event.target)\n } catch (e) {\n warn(e)\n }\n\n this.setState({\n focusState: 'focus',\n _listenForPropChanges: false,\n })\n\n if (this.props.onFocus) {\n this.props.onFocus({\n ...event,\n ...this.context.getReturnObject({ event }),\n })\n }\n }\n\n onBlurHandler = (event) => {\n const { partialStartDate, partialEndDate } = this.state\n this.focusMode = null\n this.setState({\n focusState: 'blur',\n _listenForPropChanges: false,\n })\n\n if (this.props.onBlur) {\n this.props.onBlur({\n ...event,\n ...this.context.getReturnObject({\n event,\n partialStartDate,\n partialEndDate,\n }),\n })\n }\n }\n\n onKeyDownHandler = async (event) => {\n const keyCode = keycode(event)\n const target = event.target\n\n if (target.selectionStart !== target.selectionEnd) {\n this.selectStart(target)\n }\n\n // only to process key up and down press\n switch (keyCode) {\n case 'up':\n case 'down':\n event.persist()\n event.preventDefault()\n this.prepareCounting({ event, keyCode, target })\n return false\n case 'tab':\n // case 'backspace': // We need backspace down here\n return false\n }\n\n // the rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n\n await wait(1) // to get the correct position afterwards\n\n const secondSelectionStart = target.selectionStart\n const isValid = /[0-9]/.test(keyCode)\n const index = this.refList.findIndex(\n ({ current }) => current === target\n )\n\n if (\n index < this.refList.length - 1 &&\n ((secondSelectionStart === size &&\n isValid &&\n keyCode !== 'left' &&\n keyCode !== 'backspace') ||\n (firstSelectionStart === size && keyCode === 'right'))\n ) {\n try {\n // stop in case there is no next input element\n if (!this.refList[index + 1].current) {\n return\n }\n const nextSibling = this.refList[index + 1].current\n if (nextSibling) {\n nextSibling.focus()\n nextSibling.setSelectionRange(0, 0)\n }\n } catch (e) {\n warn(e)\n }\n } else if (firstSelectionStart === 0 && index > 0) {\n switch (keyCode) {\n case 'left':\n case 'backspace':\n try {\n const prevSibling = this.refList[index - 1].current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n prevSibling.focus()\n prevSibling.setSelectionRange(endPos, endPos)\n }\n } catch (e) {\n warn(e)\n }\n break\n }\n }\n }\n\n set_startDay = (event) => {\n this.setDate(event, 'start', 'Day')\n }\n\n set_startMonth = (event) => {\n this.setDate(event, 'start', 'Month')\n }\n\n set_startYear = (event) => {\n this.setDate(event, 'start', 'Year')\n }\n\n set_endDay = (event) => {\n this.setDate(event, 'end', 'Day')\n }\n\n set_endMonth = (event) => {\n this.setDate(event, 'end', 'Month')\n }\n\n set_endYear = (event) => {\n this.setDate(event, 'end', 'Year')\n }\n\n setDate = (event, mode, type) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = event.target.value\n\n this[`_${mode}${type}`] = value\n\n if (this.context[`${mode}Date`]) {\n this[`tmp_${mode}Date`] = this.context[`${mode}Date`]\n }\n\n const fallback = this[`tmp_${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n this[`_${mode}Year`] || (fallback && fallback.getFullYear())\n const month =\n this[`_${mode}Month`] || (fallback && fallback.getMonth() + 1)\n const day = this[`_${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(year),\n parseFloat(month) - 1,\n parseFloat(day)\n )\n\n const isValidDate =\n !/[^0-9]/.test(day) &&\n !/[^0-9]/.test(month) &&\n !/[^0-9]/.test(year) &&\n isValid(date) &&\n date.getDate() == parseFloat(day) &&\n date.getMonth() + 1 == parseFloat(month) &&\n date.getFullYear() == parseFloat(year)\n\n // update the date\n if (isValidDate) {\n this.callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n this.context.updateState({ [`${mode}Date`]: null })\n this.context.updateState({ [`__${mode}${type}`]: value })\n\n this.callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n this.callOnType({\n event,\n })\n }\n\n renderInputElement = (params) => {\n const { id, isRange } = this.props\n this.refList = []\n const startDateList = this.generateDateList(params, 'start')\n const endDateList = this.generateDateList(params, 'end')\n return (\n <span id={`${id}-input`} className=\"dnb-date-picker__input__wrapper\">\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n }\n\n getPlaceholderChar(value) {\n const index = this.props.maskOrder.indexOf(value)\n return this.props.maskPlaceholder[index]\n }\n\n generateDateList(params, mode) {\n return this.maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = this.getPlaceholderChar(value)\n const { input_element, separatorRexExp, isRange, size } = this.props\n const { day, month, year } = this.context.translation.DatePicker\n const isRangeLabel = isRange\n ? `${this.context.translation.DatePicker[mode]} `\n : ''\n\n if (!separatorRexExp.test(value)) {\n if (!input_element) {\n params = {\n ...params,\n onKeyDown: this.onKeyDownHandler,\n onPaste: this.shortcutHandler,\n onFocus: (e) => {\n this.focusMode = mode\n this.onFocusHandler(e)\n },\n onBlur: this.onBlurHandler,\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n input_element && React.isValidElement(input_element)\n ? input_element\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n this.refList.push(this[`_${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-3]/, /[0-9]/]}\n inputRef={this[`_${mode}DayRef`]}\n onChange={this[`set_${mode}Day`]}\n value={this.context[`__${mode}Day`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${this.props.id}-${mode}-day-label`}\n htmlFor={`${this.props.id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n this.refList.push(this[`_${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size=\"2\"\n mask={[/[0-1]/, /[0-9]/]}\n inputRef={this[`_${mode}MonthRef`]}\n onChange={this[`set_${mode}Month`]}\n value={this.context[`__${mode}Month`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${this.props.id}-${mode}-month-label`}\n htmlFor={`${this.props.id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n this.refList.push(this[`_${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...params}\n id={`${this.props.id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n params.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size=\"4\"\n mask={[/[1-2]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={this[`_${mode}YearRef`]}\n onChange={this[`set_${mode}Year`]}\n value={this.context[`__${mode}Year`] || ''}\n aria-labelledby={`${this.props.id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${this.props.id}-${mode}-year-label`}\n htmlFor={`${this.props.id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n }\n\n formatDate() {\n const { open_picker_text } = this.context.translation.DatePicker\n\n const { selectedDateTitle } = this.props\n\n return selectedDateTitle\n ? `${selectedDateTitle}, ${open_picker_text}`\n : open_picker_text\n }\n\n render() {\n const {\n id,\n title,\n\n submitAttributes,\n isRange, // eslint-disable-line\n maskOrder, // eslint-disable-line\n maskPlaceholder, // eslint-disable-line\n separatorRexExp, // eslint-disable-line\n onChange, // eslint-disable-line\n onFocus, // eslint-disable-line\n onSubmit, // eslint-disable-line\n onBlur, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n input_element,\n locale,\n disabled,\n skeleton,\n opened,\n size,\n status,\n status_state,\n status_props,\n\n ...attributes\n } = this.props\n\n const { focusState } = this.state\n\n validateDOMAttributes(this.props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const UsedButton = showInput ? SubmitButton : Button\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={locale?.code}>\n {this.context.props.label && (\n <legend className=\"dnb-sr-only\">\n {this.context.props.label}\n </legend>\n )}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n input_element && typeof input_element !== 'string'\n ? typeof input_element === 'function'\n ? input_element(this.props)\n : input_element\n : this.renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={status_state}\n {...status_props}\n submit_element={\n <UsedButton\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={this.formatDate()}\n title={title}\n size={size}\n status={status}\n status_state={status_state}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...status_props}\n />\n }\n lang={locale?.code}\n {...attributes}\n />\n </fieldset>\n )\n }\n}\n\nconst selectAll = (target) => {\n target.focus()\n target.select()\n}\n\nconst InputElement = ({ className, value, ...props }) => {\n return (\n <TextMask\n guide={true}\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(value) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nconst wait = (t) => new Promise((r) => setTimeout(r, t))\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerInput.js","names":["React","useCallback","useContext","useMemo","useRef","useState","addDays","addMonths","addYears","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","warn","validateDOMAttributes","convertStringToDate","DatePickerContext","useTranslation","defaultProps","maskOrder","maskPlaceholder","separatorRexExp","status_state","opened","DatePickerInput","externalProps","props","_objectSpread","isRange","id","title","submitAttributes","onFocus","onBlur","onChange","onSubmit","selectedDateTitle","showInput","input_element","lang","disabled","skeleton","size","status","status_props","attributes","_objectWithoutProperties","_excluded","focusState","setFocusState","partialDates","setPartialDates","partialStartDate","partialEndDate","updateDates","callOnChangeHandler","hasHadValidDate","getReturnObject","__startDay","__startMonth","__startYear","__endDay","__endMonth","__endYear","startDate","endDate","on_type","label","translation","DatePicker","modeDate","inputDates","startDayRef","startMonthRef","startYearRef","endDayRef","endMonthRef","endYearRef","inputRefs","startDayDateRef","endDayDateRef","startMonthDateRef","endMonthDateRef","startYearDateRef","endYearDateRef","dateRefs","startDay","startMonth","startYear","endDay","endMonth","endYear","startDateRef","endDateRef","temporaryDates","refList","focusMode","maskList","separators","match","split","reduce","acc","cur","push","length","shift","pasteHandler","event","current","success","clipboardData","window","getData","preventDefault","possibleFormats","forEach","date","sep","replace","reverse","join","index","date_format","mode","error","callOnChangeAsInvalid","state","hoverDate","dates","callOnChange","_ref","callOnType","_ref2","getDates","undefined","returnObject","is_valid","is_valid_start_date","is_valid_end_date","typedDates","start_date","end_date","prepareCounting","_ref3","keyCode","target","isDate","getAttribute","isInRange","count","wait","selectAll","e","selectStart","focus","setSelectionRange","onFocusHandler","onBlurHandler","onKeyDownHandler","key","selectionStart","selectionEnd","persist","parseFloat","firstSelectionStart","secondSelectionStart","test","refListArray","findIndex","_ref4","nextSibling","prevSibling","endPos","value","setDate","type","_dateRefs","_dateRefs2","_dateRefs3","fallback","year","getFullYear","month","getMonth","day","getDate","Date","String","isValidDate","dateSetters","set_startDay","set_startMonth","set_startYear","set_endDay","set_endMonth","set_endYear","getPlaceholderChar","indexOf","generateDateList","element","map","i","slice","placeholderChar","isRangeLabel","onKeyDown","onPaste","DateField","isValidElement","InputElement","inputSizeClassName","createElement","Fragment","_extends","className","mask","inputRef","hidden","htmlFor","renderInputElement","startDateList","endDateList","_span","formatDate","open_picker_text","SubmitElement","innerRef","ref","input_state","submit_element","icon","variant","on_submit","on_click","select","_ref5","_excluded2","guide","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","duration","Promise","r","setTimeout"],"sources":["../../../../src/components/date-picker/DatePickerInput.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n MutableRefObject,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\n// date-fns\nimport addDays from 'date-fns/addDays'\nimport addMonths from 'date-fns/addMonths'\nimport addYears from 'date-fns/addYears'\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask, { TextMaskProps } from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport type { InputInputElement, InputSize } from '../Input'\nimport { warn, validateDOMAttributes } from '../../shared/component-helper'\nimport { convertStringToDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport { ReturnObject } from './DatePickerProvider'\nimport { DatePickerEventAttributes } from './DatePicker'\nimport { useTranslation } from '../../shared'\n\nexport type DatePickerInputProps = Omit<\n React.HTMLProps<HTMLInputElement>,\n | 'children'\n | 'ref'\n | 'value'\n | 'size'\n | 'onFocus'\n | 'onBlur'\n | 'onSubmit'\n | 'label'\n> & {\n selectedDateTitle?: string\n maskOrder?: string\n maskPlaceholder?: string\n separatorRexExp?: RegExp\n submitAttributes?: Record<string, unknown>\n isRange?: boolean\n /**\n * The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.\n */\n size?: InputSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n status_state?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties.\n */\n status_props?: FormStatusProps\n /**\n * Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `input_element=\"input\"`, a React element, or a render function `input_element={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` not should be used, e.g. in testing environments. Defaults to custom masked input.\n */\n input_element?: InputInputElement\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * To open the date-picker by default. Defaults to `false`.\n */\n opened?: boolean\n showInput?: boolean\n onSubmit?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onChange?: (\n event: ReturnObject<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input gets focus.\n */\n onFocus?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input lose focus.\n */\n onBlur?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n}\n\nconst defaultProps: DatePickerInputProps = {\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå',\n separatorRexExp: /[-/ ]/g,\n status_state: 'error',\n opened: false,\n}\n\nfunction DatePickerInput(externalProps: DatePickerInputProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n isRange,\n maskOrder,\n separatorRexExp,\n id,\n title,\n submitAttributes,\n maskPlaceholder, // eslint-disable-line\n onFocus,\n onBlur,\n onChange, // eslint-disable-line\n onSubmit, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n input_element,\n lang,\n disabled,\n skeleton,\n opened,\n size,\n status,\n status_state,\n status_props,\n\n ...attributes\n } = props\n\n const [focusState, setFocusState] = useState<string>('virgin')\n const [partialDates, setPartialDates] = useState({\n partialStartDate: '',\n partialEndDate: '',\n })\n\n const {\n updateDates,\n callOnChangeHandler,\n hasHadValidDate,\n getReturnObject,\n __startDay,\n __startMonth,\n __startYear,\n __endDay,\n __endMonth,\n __endYear,\n startDate,\n endDate,\n props: { on_type, label },\n } = useContext(DatePickerContext)\n\n const translation = useTranslation().DatePicker\n\n const modeDate = useMemo(\n () => ({\n startDate,\n endDate,\n }),\n [startDate, endDate]\n )\n\n const inputDates = useMemo(\n () => ({\n __startDay,\n __startMonth,\n __startYear,\n __endDay,\n __endMonth,\n __endYear,\n }),\n [\n __startDay,\n __startMonth,\n __startYear,\n __endDay,\n __endMonth,\n __endYear,\n ]\n )\n\n // Used in refList, and initiated inside object to to maintain the way of accessing mimic `this`, used in this component\n // Should probably refactor at one point, or move to own hook\n const startDayRef = useRef<HTMLInputElement>()\n const startMonthRef = useRef<HTMLInputElement>()\n const startYearRef = useRef<HTMLInputElement>()\n const endDayRef = useRef<HTMLInputElement>()\n const endMonthRef = useRef<HTMLInputElement>()\n const endYearRef = useRef<HTMLInputElement>()\n\n const inputRefs = useMemo(\n () => ({\n startDayRef,\n startMonthRef,\n startYearRef,\n endDayRef,\n endMonthRef,\n endYearRef,\n }),\n []\n )\n\n const startDayDateRef = useRef<string>()\n const endDayDateRef = useRef<string>()\n const startMonthDateRef = useRef<string>()\n const endMonthDateRef = useRef<string>()\n const startYearDateRef = useRef<string>()\n const endYearDateRef = useRef<string>()\n\n const dateRefs = useMemo(\n () => ({\n startDay: startDayDateRef,\n startMonth: endDayDateRef,\n startYear: startMonthDateRef,\n endDay: endMonthDateRef,\n endMonth: startYearDateRef,\n endYear: endYearDateRef,\n }),\n []\n )\n\n const startDateRef = useRef<Date>()\n const endDateRef = useRef<Date>()\n\n const temporaryDates = useMemo(\n () => ({ startDate: startDateRef, endDate: endDateRef }),\n []\n )\n\n const refList = useRef<Array<MutableRefObject<HTMLInputElement>>>()\n\n const focusMode = useRef<string>()\n\n const maskList = useMemo(() => {\n const separators = maskOrder.match(separatorRexExp)\n\n return maskOrder\n .split(separatorRexExp)\n .reduce<Array<string>>((acc, cur) => {\n if (!cur) {\n return acc\n }\n\n acc.push(cur)\n\n if (separators.length > 0) {\n // makes sure that separators are added at the correct places and removed from array when added\n acc.push(separators.shift())\n }\n\n return acc\n }, [])\n }, [maskOrder, separatorRexExp])\n\n const pasteHandler = useCallback(\n async (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!focusMode.current) {\n return // Stop here\n }\n\n const success = (\n event.clipboardData ||\n (typeof window !== 'undefined' && window['clipboardData'])\n ).getData('text')\n\n if (!success) {\n return // Stop here\n }\n\n event.preventDefault()\n\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n // TODO: Merge these loops\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date: Date\n let index = 0\n\n for (index; index < possibleFormats.length; ++index) {\n date = convertStringToDate(success, {\n date_format: possibleFormats[index],\n })\n\n if (date) {\n break\n }\n }\n\n const mode =\n focusMode.current === 'start' ? 'startDate' : 'endDate'\n\n if (date) {\n updateDates({\n [mode]: date,\n })\n }\n } catch (error: unknown) {\n warn(error)\n }\n },\n [updateDates]\n )\n\n const callOnChangeAsInvalid = useCallback(\n (state: {\n endDate?: Date\n starDate?: Date\n event: React.ChangeEvent<HTMLInputElement>\n }) => {\n updateDates(\n {\n hoverDate: null,\n },\n (dates) => {\n if (hasHadValidDate) {\n const { startDate, endDate, event } = {\n ...state,\n ...dates,\n }\n callOnChangeHandler({ startDate, endDate, event })\n }\n }\n )\n },\n [updateDates, callOnChangeHandler, hasHadValidDate]\n )\n\n const callOnChange = useCallback(\n ({\n startDate,\n endDate,\n event,\n }: {\n startDate?: Date\n endDate?: Date\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n }) => {\n const state = {}\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state['startDate'] = startDate\n }\n if (!isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state['endDate'] = endDate\n }\n\n updateDates(state, (dates) => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n callOnChangeHandler({ event, ...dates })\n }\n })\n },\n [updateDates, callOnChangeHandler, isRange]\n )\n\n const callOnType = useCallback(\n ({ event }: { event: React.ChangeEvent<HTMLInputElement> }) => {\n const getDates = () =>\n ['start', 'end'].reduce(\n (acc, mode) => {\n acc[`${mode}Date`] = [\n dateRefs[`${mode}Year`].current ||\n inputDates[`__${mode}Year`] ||\n 'yyyy',\n dateRefs[`${mode}Month`].current ||\n inputDates[`__${mode}Month`] ||\n 'mm',\n dateRefs[`${mode}Day`].current ||\n inputDates[`__${mode}Day`] ||\n 'dd',\n ].join('-')\n return acc\n },\n { startDate: undefined, endDate: undefined }\n )\n\n // Get the typed dates, so we can ...\n let { startDate, endDate } = getDates()\n // Get the partial dates, so we can know if something was typed or not in an optional date field\n const partialStartDate = startDate\n const partialEndDate = endDate\n\n setPartialDates({\n partialStartDate,\n partialEndDate,\n })\n\n startDate = parseISO(startDate)\n endDate = parseISO(endDate)\n\n // ... check if they were valid\n if (!isValid(startDate)) {\n startDate = null\n }\n if (!isValid(endDate)) {\n endDate = null\n }\n\n let returnObject = getReturnObject({\n startDate,\n endDate,\n event,\n partialStartDate,\n partialEndDate,\n })\n\n // Now, lets correct\n if (\n returnObject.is_valid === false ||\n returnObject.is_valid_start_date === false ||\n returnObject.is_valid_end_date === false\n ) {\n const { startDate, endDate } = getDates()\n\n const typedDates = isRange\n ? {\n start_date: startDate,\n end_date: endDate,\n }\n : { date: startDate }\n\n returnObject = {\n ...returnObject,\n ...typedDates,\n }\n }\n\n on_type?.({ ...returnObject })\n },\n [isRange, dateRefs, getReturnObject, inputDates, on_type]\n )\n\n const prepareCounting = useCallback(\n async ({\n keyCode,\n target,\n event,\n }: {\n keyCode: string\n target: HTMLInputElement\n event: React.KeyboardEvent<HTMLInputElement>\n }) => {\n try {\n const isDate = target\n .getAttribute('class')\n .match(/__input--([day|month|year]+)($|\\s)/)[1]\n\n const isInRange = target\n .getAttribute('id')\n .match(/-([start|end]+)-/)[1]\n\n let date = isInRange === 'start' ? startDate : endDate\n\n // do nothing if date is not set yet\n if (!date) {\n return\n }\n\n const count = keyCode === 'ArrowUp' ? 1 : -1\n\n if (keyCode === 'ArrowUp' || keyCode === 'ArrowDown') {\n switch (isDate) {\n case 'day':\n date = addDays(date, count)\n break\n case 'month':\n date = addMonths(date, count)\n break\n case 'year':\n date = addYears(date, count)\n break\n }\n }\n\n callOnChange({\n [isInRange === 'start' ? 'startDate' : 'endDate']: date,\n event,\n })\n\n await wait(1) // to get the correct position afterwards\n\n selectAll(target)\n } catch (e) {\n warn(e)\n }\n },\n [startDate, endDate, callOnChange]\n )\n\n const selectStart = useCallback((target: HTMLInputElement) => {\n target.focus()\n target.setSelectionRange(0, 0)\n }, [])\n\n const onFocusHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n try {\n selectAll(event.target)\n } catch (e) {\n warn(e)\n }\n\n setFocusState('focus')\n\n onFocus?.({\n ...event,\n ...getReturnObject({ event }),\n })\n },\n [getReturnObject, onFocus]\n )\n\n const onBlurHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n focusMode.current = null\n setFocusState('blur')\n\n onBlur?.({\n ...event,\n ...getReturnObject({ event }),\n ...partialDates,\n })\n },\n [onBlur, getReturnObject, partialDates]\n )\n\n const onKeyDownHandler = useCallback(\n async (event: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode = event.key\n const target = event.target as HTMLInputElement\n\n if (target.selectionStart !== target.selectionEnd) {\n selectStart(target)\n }\n\n // only to process key up and down press\n switch (keyCode) {\n case 'ArrowUp':\n case 'ArrowDown':\n event.persist()\n event.preventDefault()\n prepareCounting({ event, keyCode, target })\n return false\n case 'Tab':\n return false\n }\n\n // the rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n\n await wait(1) // to get the correct position afterwards\n\n const secondSelectionStart = target.selectionStart\n // Always false (since the old keycode function set number keys to undefined) but needed to not break tests\n const isValid = /[0-9]/g.test(keyCode)\n const refListArray = refList.current\n\n const index = refListArray.findIndex(\n ({ current }) => current === target\n )\n\n if (\n index < refListArray.length - 1 &&\n ((secondSelectionStart === size &&\n isValid &&\n keyCode !== 'ArrowLeft' &&\n keyCode !== 'Backspace') ||\n (firstSelectionStart === size && keyCode === 'ArrowRight'))\n ) {\n try {\n // stop in case there is no next input element\n if (!refListArray[index + 1].current) {\n return\n }\n const nextSibling = refListArray[index + 1].current\n if (nextSibling) {\n nextSibling.focus()\n nextSibling.setSelectionRange(0, 0)\n }\n } catch (e) {\n warn(e)\n }\n } else if (firstSelectionStart === 0 && index > 0) {\n switch (keyCode) {\n case 'ArrowLeft':\n case 'Backspace':\n try {\n const prevSibling = refListArray[index - 1].current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n prevSibling.focus()\n prevSibling.setSelectionRange(endPos, endPos)\n }\n } catch (e) {\n warn(e)\n }\n break\n }\n }\n },\n [prepareCounting, selectStart]\n )\n\n const setDate = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement>,\n mode: 'start' | 'end',\n type: 'Day' | 'Month' | 'Year'\n ) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = (event.target as HTMLInputElement).value\n\n dateRefs[`${mode}${type}`].current = value\n\n if (modeDate[`${mode}Date`]) {\n temporaryDates[`${mode}Date`].current = modeDate[`${mode}Date`]\n }\n\n const fallback = temporaryDates[`${mode}Date`].current\n\n // provide fallbacks to create a temp fallback\n const year =\n dateRefs[`${mode}Year`]?.current ||\n (fallback && fallback.getFullYear())\n const month =\n dateRefs[`${mode}Month`]?.current ||\n (fallback && fallback.getMonth() + 1)\n const day =\n dateRefs[`${mode}Day`]?.current || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(String(year)),\n parseFloat(String(month)) - 1,\n parseFloat(String(day))\n )\n\n const isValidDate =\n !/[^0-9]/.test(String(day)) &&\n !/[^0-9]/.test(String(month)) &&\n !/[^0-9]/.test(String(year)) &&\n isValid(date) &&\n date.getDate() == parseFloat(String(day)) &&\n date.getMonth() + 1 == parseFloat(String(month)) &&\n date.getFullYear() == parseFloat(String(year))\n\n // update the date\n if (isValidDate) {\n callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n updateDates({\n [`${mode}Date`]: null,\n [`__${mode}${type}`]: value,\n })\n\n callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n callOnType({ event })\n },\n [\n updateDates,\n callOnChange,\n callOnChangeAsInvalid,\n callOnType,\n modeDate,\n dateRefs,\n temporaryDates,\n ]\n )\n\n const dateSetters = useMemo(\n () => ({\n set_startDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Day')\n },\n\n set_startMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Month')\n },\n\n set_startYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Year')\n },\n\n set_endDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Day')\n },\n\n set_endMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Month')\n },\n\n set_endYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Year')\n },\n }),\n [setDate]\n )\n\n const getPlaceholderChar = useCallback(\n (value: string) => {\n const index = maskOrder.indexOf(value)\n return maskPlaceholder[index]\n },\n [maskOrder, maskPlaceholder]\n )\n\n // TODO: Replace with MutliInputMask\n const generateDateList = useCallback(\n (\n element: Omit<React.HTMLProps<HTMLInputElement>, 'size'> &\n DatePickerEventAttributes,\n mode: 'start' | 'end'\n ) => {\n return maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = getPlaceholderChar(value)\n const { day, month, year } = translation\n const isRangeLabel = isRange ? `${translation[mode]} ` : ''\n\n if (!separatorRexExp.test(value)) {\n if (!input_element) {\n element = {\n ...element,\n onKeyDown: onKeyDownHandler,\n onPaste: pasteHandler,\n onFocus: (e) => {\n focusMode.current = mode\n onFocusHandler(e)\n },\n onBlur: onBlurHandler,\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n input_element && React.isValidElement(input_element)\n ? input_element.type\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n refList.current.push(inputRefs[`${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-3]/, /[0-9]/]}\n inputRef={inputRefs[`${mode}DayRef`]}\n onChange={dateSetters[`set_${mode}Day`]}\n value={inputDates[`__${mode}Day`] || ''}\n aria-labelledby={`${id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${id}-${mode}-day-label`}\n htmlFor={`${id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n refList.current.push(inputRefs[`${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-1]/, /[0-9]/]}\n inputRef={inputRefs[`${mode}MonthRef`]}\n onChange={dateSetters[`set_${mode}Month`]}\n value={inputDates[`__${mode}Month`] || ''}\n aria-labelledby={`${id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${id}-${mode}-month-label`}\n htmlFor={`${id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n refList.current.push(inputRefs[`${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size={4}\n mask={[/[1-2]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={inputRefs[`${mode}YearRef`]}\n onChange={dateSetters[`set_${mode}Year`]}\n value={inputDates[`__${mode}Year`] || ''}\n aria-labelledby={`${id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${id}-${mode}-year-label`}\n htmlFor={`${id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n },\n [\n id,\n input_element,\n isRange,\n size,\n translation,\n separatorRexExp,\n dateSetters,\n inputRefs,\n maskList,\n onBlurHandler,\n onFocusHandler,\n getPlaceholderChar,\n pasteHandler,\n onKeyDownHandler,\n inputDates,\n ]\n )\n\n const renderInputElement = useCallback(\n (\n element: React.HTMLProps<HTMLInputElement> &\n DatePickerEventAttributes\n ) => {\n refList.current = []\n const startDateList = generateDateList(element, 'start')\n const endDateList = generateDateList(element, 'end')\n\n return (\n <span\n id={`${id}-input`}\n className=\"dnb-date-picker__input__wrapper\"\n >\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n },\n [id, isRange, generateDateList]\n )\n\n const formatDate = useMemo(\n () =>\n selectedDateTitle\n ? `${selectedDateTitle}, ${translation.open_picker_text}`\n : translation.open_picker_text,\n [selectedDateTitle, translation]\n )\n\n validateDOMAttributes(props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const SubmitElement: React.ElementType = useMemo(\n () => (showInput ? SubmitButton : Button),\n [showInput]\n )\n\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={lang}>\n {label && <legend className=\"dnb-sr-only\">{label}</legend>}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n input_element && typeof input_element !== 'string'\n ? typeof input_element === 'function'\n ? input_element(props)\n : input_element\n : renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={status_state}\n {...status_props}\n submit_element={\n <SubmitElement\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={formatDate}\n title={title}\n size={size}\n status={status}\n status_state={status_state}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...status_props}\n />\n }\n lang={lang}\n {...attributes}\n />\n </fieldset>\n )\n}\n\nexport default DatePickerInput\n\nfunction selectAll(target: HTMLInputElement) {\n target.focus()\n target.select()\n}\n\nfunction InputElement({ className, value, ...props }: TextMaskProps) {\n return (\n <TextMask\n guide={true}\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(String(value)) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nconst wait = (duration: number) =>\n new Promise((r) => setTimeout(r, duration))\n"],"mappings":"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"}
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type DatePickerDate = Date | string;
|
|
3
|
+
export type DatePickerStartDate = Date | string;
|
|
4
|
+
export type DatePickerEndDate = Date | string;
|
|
5
|
+
export type DatePickerMonth = Date | string;
|
|
6
|
+
export type DatePickerStartMonth = Date | string;
|
|
7
|
+
export type DatePickerEndMonth = Date | string;
|
|
8
|
+
export type DatePickerMinDate = Date | string;
|
|
9
|
+
export type DatePickerMaxDate = Date | string;
|
|
10
|
+
export type DatePickerCorrectInvalidDate = string | boolean;
|
|
11
|
+
export type DatePickerHideNavigation = string | boolean;
|
|
12
|
+
export type DatePickerHideNavigationButtons = string | boolean;
|
|
13
|
+
export type DatePickerHideDays = string | boolean;
|
|
14
|
+
export type DatePickerOnlyMonth = string | boolean;
|
|
15
|
+
export type DatePickerHideLastWeek = string | boolean;
|
|
16
|
+
export type DatePickerDisableAutofocus = string | boolean;
|
|
17
|
+
export type DatePickerEnableKeyboardNav = string | boolean;
|
|
18
|
+
export type DatePickerShowInput = string | boolean;
|
|
19
|
+
export type DatePickerShowSubmitButton = string | boolean;
|
|
20
|
+
export type DatePickerShowCancelButton = string | boolean;
|
|
21
|
+
export type DatePickerShowResetButton = string | boolean;
|
|
22
|
+
export type DatePickerResetDate = string | boolean;
|
|
23
|
+
export type DatePickerRange = string | boolean;
|
|
24
|
+
export type DatePickerLink = string | boolean;
|
|
25
|
+
export type DatePickerSync = string | boolean;
|
|
26
|
+
export type DatePickerLabel =
|
|
27
|
+
| string
|
|
28
|
+
| ((...args: any[]) => any)
|
|
29
|
+
| React.ReactNode;
|
|
30
|
+
export type DatePickerLabelDirection = 'horizontal' | 'vertical';
|
|
31
|
+
export type DatePickerLabelSrOnly = string | boolean;
|
|
32
|
+
export type DatePickerInputElement =
|
|
33
|
+
| string
|
|
34
|
+
| ((...args: any[]) => any)
|
|
35
|
+
| React.ReactNode;
|
|
36
|
+
export type DatePickerAddonElement = string | React.ReactNode;
|
|
37
|
+
export type DatePickerShortcuts = any[] | ((...args: any[]) => any);
|
|
38
|
+
export type DatePickerDisabled = string | boolean;
|
|
39
|
+
export type DatePickerStretch = string | boolean;
|
|
40
|
+
export type DatePickerSkeleton = string | boolean;
|
|
41
|
+
export type DatePickerSize = 'default' | 'small' | 'medium' | 'large';
|
|
42
|
+
export type DatePickerStatus =
|
|
43
|
+
| string
|
|
44
|
+
| boolean
|
|
45
|
+
| ((...args: any[]) => any)
|
|
46
|
+
| React.ReactNode;
|
|
47
|
+
export type DatePickerStatusNoAnimation = string | boolean;
|
|
48
|
+
export interface DatePickerGlobalStatus {
|
|
49
|
+
id?: string;
|
|
50
|
+
message?: string | React.ReactNode;
|
|
51
|
+
}
|
|
52
|
+
export type DatePickerSuffix =
|
|
53
|
+
| string
|
|
54
|
+
| ((...args: any[]) => any)
|
|
55
|
+
| React.ReactNode;
|
|
56
|
+
export type DatePickerOpened = string | boolean;
|
|
57
|
+
export type DatePickerPreventClose = string | boolean;
|
|
58
|
+
export type DatePickerNoAnimation = string | boolean;
|
|
59
|
+
export type DatePickerDirection = 'auto' | 'top' | 'bottom';
|
|
60
|
+
export type DatePickerAlignPicker = 'auto' | 'left' | 'right';
|
|
61
|
+
export type DatePickerSpace =
|
|
62
|
+
| string
|
|
63
|
+
| number
|
|
64
|
+
| boolean
|
|
65
|
+
| {
|
|
66
|
+
/**
|
|
67
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. Will use `margin-top`.
|
|
68
|
+
*/
|
|
69
|
+
top?: string | number | boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. will use `margin-right`.
|
|
72
|
+
*/
|
|
73
|
+
right?: string | number | boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. will use `margin-bottom`.
|
|
76
|
+
*/
|
|
77
|
+
bottom?: string | number | boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. will use `margin-left`.
|
|
80
|
+
*/
|
|
81
|
+
left?: string | number | boolean;
|
|
82
|
+
};
|
|
83
|
+
export type DatePickerTop = string | number | boolean;
|
|
84
|
+
export type DatePickerRight = string | number | boolean;
|
|
85
|
+
export type DatePickerBottom = string | number | boolean;
|
|
86
|
+
export type DatePickerLeft = string | number | boolean;
|
|
87
|
+
export interface DatePickerProps extends React.HTMLProps<HTMLElement> {
|
|
88
|
+
id?: string;
|
|
89
|
+
title?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Defines the pre-filled date by either a JavaScript DateInstance or (ISO 8601) like `date="2019-05-05"`.
|
|
92
|
+
*/
|
|
93
|
+
date?: DatePickerDate;
|
|
94
|
+
/**
|
|
95
|
+
* To set the pre-filled starting date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `mask_placeholder`.
|
|
96
|
+
*/
|
|
97
|
+
start_date?: DatePickerStartDate;
|
|
98
|
+
/**
|
|
99
|
+
* To set the pre-filled ending date. Is used if `range={true}` is set to `true`. Defaults to `null`, showing the `mask_placeholder`.
|
|
100
|
+
*/
|
|
101
|
+
end_date?: DatePickerEndDate;
|
|
102
|
+
/**
|
|
103
|
+
* To display what month should be shown in the first calendar by default. Defaults to the `date` respective `start_date`.
|
|
104
|
+
*/
|
|
105
|
+
month?: DatePickerMonth;
|
|
106
|
+
/**
|
|
107
|
+
* To display what month should be shown in the first calendar by default. Defaults to the `date` respective `start_date`.
|
|
108
|
+
*/
|
|
109
|
+
start_month?: DatePickerStartMonth;
|
|
110
|
+
/**
|
|
111
|
+
* To display what month should be shown in the second calendar by default. Defaults to the `date` respective `start_date`.
|
|
112
|
+
*/
|
|
113
|
+
end_month?: DatePickerEndMonth;
|
|
114
|
+
/**
|
|
115
|
+
* To limit a date range to a minimum `start_date`. Defaults to `null`.
|
|
116
|
+
*/
|
|
117
|
+
min_date?: DatePickerMinDate;
|
|
118
|
+
/**
|
|
119
|
+
* To limit a date range to a maximum `end_date`. Defaults to `null`.
|
|
120
|
+
*/
|
|
121
|
+
max_date?: DatePickerMaxDate;
|
|
122
|
+
/**
|
|
123
|
+
* Corrects the input date value to be the same as either `min_date` or `max_date`, when the user types in a date that is either before or after one of these. Defaults to `false`.
|
|
124
|
+
*/
|
|
125
|
+
correct_invalid_date?: DatePickerCorrectInvalidDate;
|
|
126
|
+
/**
|
|
127
|
+
* To define the order of the masked placeholder input fields. Defaults to `dd/mm/yyyy`
|
|
128
|
+
*/
|
|
129
|
+
mask_order?: string;
|
|
130
|
+
/**
|
|
131
|
+
* To display the placeholder on input. Defaults to `dd/mm/åååå`.
|
|
132
|
+
*/
|
|
133
|
+
mask_placeholder?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Defines how the property dates (`date`, `start_date` and `end_date`) should be parsed, e.g. `yyyy/MM/dd`. Defaults to `yyyy-MM-dd`.
|
|
136
|
+
*/
|
|
137
|
+
date_format?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Defines how the returned date, as a string, should be formatted as. Defaults to `yyyy-MM-dd`.
|
|
140
|
+
*/
|
|
141
|
+
return_format?: string;
|
|
142
|
+
/**
|
|
143
|
+
* If set to `true`, the navigation will be hidden. Defaults to `false`.
|
|
144
|
+
*/
|
|
145
|
+
hide_navigation?: DatePickerHideNavigation;
|
|
146
|
+
hide_navigation_buttons?: DatePickerHideNavigationButtons;
|
|
147
|
+
/**
|
|
148
|
+
* If set to `true`, the week days will be hidden. Defaults to `false`.
|
|
149
|
+
*/
|
|
150
|
+
hide_days?: DatePickerHideDays;
|
|
151
|
+
/**
|
|
152
|
+
* Use `true` to only show the defined month. Disables the month navigation possibility. Defaults to `false`.
|
|
153
|
+
*/
|
|
154
|
+
only_month?: DatePickerOnlyMonth;
|
|
155
|
+
/**
|
|
156
|
+
* Use `true` to only show the last week in the current month if it needs to be shown. The result is that there will mainly be shows five (5) weeks (rows) instead of six (6). Defaults to `false`.
|
|
157
|
+
*/
|
|
158
|
+
hide_last_week?: DatePickerHideLastWeek;
|
|
159
|
+
/**
|
|
160
|
+
* Once the date picker gets opened, there is a focus handling to ensure good accessibility. This can be disabled with this property. Defaults to `false`.
|
|
161
|
+
*/
|
|
162
|
+
disable_autofocus?: DatePickerDisableAutofocus;
|
|
163
|
+
enable_keyboard_nav?: DatePickerEnableKeyboardNav;
|
|
164
|
+
/**
|
|
165
|
+
* If the input fields with the mask should be visible. Defaults to `false`.
|
|
166
|
+
*/
|
|
167
|
+
show_input?: DatePickerShowInput;
|
|
168
|
+
/**
|
|
169
|
+
* If set to `true`, a submit button will be shown. You can change the default text by using `submit_button_text="Ok"`. Defaults to `false`. If the `range` property is `true`, then the submit button is shown.
|
|
170
|
+
*/
|
|
171
|
+
show_submit_button?: DatePickerShowSubmitButton;
|
|
172
|
+
/**
|
|
173
|
+
* If set to `true`, a cancel button will be shown. You can change the default text by using `cancel_button_text="Avbryt"` Defaults to `false`. If the `range` property is `true`, then the cancel button is shown.
|
|
174
|
+
*/
|
|
175
|
+
show_cancel_button?: DatePickerShowCancelButton;
|
|
176
|
+
/**
|
|
177
|
+
* If set to `true`, a reset button will be shown. You can change the default text by using `reset_button_text="Tilbakestill"` Defaults to `false`.
|
|
178
|
+
*/
|
|
179
|
+
show_reset_button?: DatePickerShowResetButton;
|
|
180
|
+
submit_button_text?: string;
|
|
181
|
+
cancel_button_text?: string;
|
|
182
|
+
reset_button_text?: string;
|
|
183
|
+
reset_date?: DatePickerResetDate;
|
|
184
|
+
/**
|
|
185
|
+
* To define the first day of the week. Defaults to `monday`.
|
|
186
|
+
*/
|
|
187
|
+
first_day?: string;
|
|
188
|
+
locale?: Object;
|
|
189
|
+
/**
|
|
190
|
+
* If the date picker should support a range of two dates (starting and ending date). Defaults to `false`.
|
|
191
|
+
*/
|
|
192
|
+
range?: DatePickerRange;
|
|
193
|
+
/**
|
|
194
|
+
* Link both calendars, once to the user is navigating between months. Only meant to use if the range is set to `true`. Defaults to `false`.
|
|
195
|
+
*/
|
|
196
|
+
link?: DatePickerLink;
|
|
197
|
+
/**
|
|
198
|
+
* Sync input values with the calendars views. Once the input values get changed, the calendar changes its views in sync. Defaults to `true`.
|
|
199
|
+
*/
|
|
200
|
+
sync?: DatePickerSync;
|
|
201
|
+
/**
|
|
202
|
+
* A prepending label in sync with the date input field.
|
|
203
|
+
*/
|
|
204
|
+
label?: DatePickerLabel;
|
|
205
|
+
/**
|
|
206
|
+
* Use `label_direction="vertical"` to change the label layout direction. Defaults to `horizontal`.
|
|
207
|
+
*/
|
|
208
|
+
label_direction?: DatePickerLabelDirection;
|
|
209
|
+
/**
|
|
210
|
+
* Use `true` to make the label only readable by screen readers.
|
|
211
|
+
*/
|
|
212
|
+
label_sr_only?: DatePickerLabelSrOnly;
|
|
213
|
+
/**
|
|
214
|
+
* Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `input_element="input"`, a React element, or a render function `input_element={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` should not be used, e.g. in testing environments. Defaults to custom masked input.
|
|
215
|
+
*/
|
|
216
|
+
input_element?: DatePickerInputElement;
|
|
217
|
+
/**
|
|
218
|
+
* Gives you the possibility to inject a React element showing up over the footer. Use it to customize `shortcuts`.
|
|
219
|
+
*/
|
|
220
|
+
addon_element?: DatePickerAddonElement;
|
|
221
|
+
/**
|
|
222
|
+
* Gives you the possibility to set predefined dates and date ranges so the user can select these by one click. Define either a JSON or an object with the defined shortcuts. More info is below.
|
|
223
|
+
*/
|
|
224
|
+
shortcuts?: DatePickerShortcuts;
|
|
225
|
+
disabled?: DatePickerDisabled;
|
|
226
|
+
/**
|
|
227
|
+
* If set to `true`, then the date-picker input field will be 100% in `width`.
|
|
228
|
+
*/
|
|
229
|
+
stretch?: DatePickerStretch;
|
|
230
|
+
/**
|
|
231
|
+
* If set to `true`, an overlaying skeleton with animation will be shown.
|
|
232
|
+
*/
|
|
233
|
+
skeleton?: DatePickerSkeleton;
|
|
234
|
+
/**
|
|
235
|
+
* The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.
|
|
236
|
+
*/
|
|
237
|
+
size?: DatePickerSize;
|
|
238
|
+
/**
|
|
239
|
+
* Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.
|
|
240
|
+
*/
|
|
241
|
+
status?: DatePickerStatus;
|
|
242
|
+
/**
|
|
243
|
+
* Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.
|
|
244
|
+
*/
|
|
245
|
+
status_state?: string;
|
|
246
|
+
/**
|
|
247
|
+
* Use an object to define additional FormStatus properties.
|
|
248
|
+
*/
|
|
249
|
+
status_props?: Object;
|
|
250
|
+
status_no_animation?: DatePickerStatusNoAnimation;
|
|
251
|
+
/**
|
|
252
|
+
* The <a href="/uilib/components/global-status/properties/#configuration-object">configuration</a> used for the target <a href="/uilib/components/global-status">GlobalStatus</a>.
|
|
253
|
+
*/
|
|
254
|
+
globalStatus?: DatePickerGlobalStatus;
|
|
255
|
+
/**
|
|
256
|
+
* Text describing the content of the DatePicker more than the label. You can also send in a React component, so it gets wrapped inside the DatePicker component.
|
|
257
|
+
*/
|
|
258
|
+
suffix?: DatePickerSuffix;
|
|
259
|
+
/**
|
|
260
|
+
* To open the date-picker by default. Defaults to `false`.
|
|
261
|
+
*/
|
|
262
|
+
opened?: DatePickerOpened;
|
|
263
|
+
prevent_close?: DatePickerPreventClose;
|
|
264
|
+
no_animation?: DatePickerNoAnimation;
|
|
265
|
+
direction?: DatePickerDirection;
|
|
266
|
+
/**
|
|
267
|
+
* Use `right` to change the calendar alignment direction. Defaults to `left`.
|
|
268
|
+
*/
|
|
269
|
+
align_picker?: DatePickerAlignPicker;
|
|
270
|
+
className?: string;
|
|
271
|
+
/**
|
|
272
|
+
* Has to be an object with either: `top`, `right`, `bottom` or `left`. Use spacing values like: `small`, `1rem`, `1` or , `16px`.
|
|
273
|
+
*/
|
|
274
|
+
space?: DatePickerSpace;
|
|
275
|
+
/**
|
|
276
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. Will use `margin-top`.
|
|
277
|
+
*/
|
|
278
|
+
top?: DatePickerTop;
|
|
279
|
+
/**
|
|
280
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. will use `margin-right`.
|
|
281
|
+
*/
|
|
282
|
+
right?: DatePickerRight;
|
|
283
|
+
/**
|
|
284
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. will use `margin-bottom`.
|
|
285
|
+
*/
|
|
286
|
+
bottom?: DatePickerBottom;
|
|
287
|
+
/**
|
|
288
|
+
* Use spacing values like: `small`, `1rem`, `1` or , `16px`. will use `margin-left`.
|
|
289
|
+
*/
|
|
290
|
+
left?: DatePickerLeft;
|
|
291
|
+
/**
|
|
292
|
+
* Will be called right before every new calendar view gets rendered. See the example above.
|
|
293
|
+
*/
|
|
294
|
+
on_days_render?: (...args: any[]) => any;
|
|
295
|
+
/**
|
|
296
|
+
* Will be called on a date change event. Returns an `object`. See Returned Object below.
|
|
297
|
+
*/
|
|
298
|
+
on_change?: (...args: any[]) => any;
|
|
299
|
+
/**
|
|
300
|
+
* Will be called on every input and date picker interaction. Returns an `object`. See Returned Object below.
|
|
301
|
+
*/
|
|
302
|
+
on_type?: (...args: any[]) => any;
|
|
303
|
+
/**
|
|
304
|
+
* Will be called once date-picker is visible.
|
|
305
|
+
*/
|
|
306
|
+
on_show?: (...args: any[]) => any;
|
|
307
|
+
/**
|
|
308
|
+
* Will be called once date-picker is hidden.
|
|
309
|
+
*/
|
|
310
|
+
on_hide?: (...args: any[]) => any;
|
|
311
|
+
/**
|
|
312
|
+
* Will be called once a user presses the submit button.
|
|
313
|
+
*/
|
|
314
|
+
on_submit?: (...args: any[]) => any;
|
|
315
|
+
/**
|
|
316
|
+
* Will be called once a user presses the cancel button.
|
|
317
|
+
*/
|
|
318
|
+
on_cancel?: (...args: any[]) => any;
|
|
319
|
+
/**
|
|
320
|
+
* Will be called once a user presses the reset button.
|
|
321
|
+
*/
|
|
322
|
+
on_reset?: (...args: any[]) => any;
|
|
323
|
+
/**
|
|
324
|
+
* Will be called once the input lose focus.
|
|
325
|
+
*/
|
|
326
|
+
onBlur?: (...args: any[]) => any;
|
|
327
|
+
}
|
|
328
|
+
export default class DatePicker extends React.Component<
|
|
329
|
+
DatePickerProps,
|
|
330
|
+
any
|
|
331
|
+
> {
|
|
332
|
+
static defaultProps: object;
|
|
333
|
+
render(): JSX.Element;
|
|
334
|
+
}
|