@dnb/eufemia 10.50.0 → 10.51.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 +37 -0
- package/cjs/components/accordion/style/dnb-accordion.css +3 -3
- package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/cjs/components/button/Button.d.ts +2 -2
- package/cjs/components/card/style/dnb-card.css +1 -1
- package/cjs/components/card/style/dnb-card.min.css +1 -1
- package/cjs/components/date-picker/DatePicker.d.ts +13 -4
- package/cjs/components/drawer/style/dnb-drawer.css +3 -3
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
- package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.css +1 -1
- package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
- package/cjs/components/form-status/FormStatus.d.ts +1 -1
- package/cjs/components/grid/style/dnb-grid.css +6 -6
- package/cjs/components/grid/style/dnb-grid.min.css +1 -1
- package/cjs/components/input-masked/InputMasked.d.ts +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
- package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/cjs/components/number-format/NumberFormat.d.ts +14 -28
- package/cjs/components/number-format/NumberFormat.js +6 -2
- package/cjs/components/number-format/NumberFormat.js.map +1 -1
- package/cjs/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/cjs/components/number-format/NumberFormatDocs.js +161 -0
- package/cjs/components/number-format/NumberFormatDocs.js.map +1 -0
- package/cjs/components/number-format/NumberUtils.d.ts +21 -1
- package/cjs/components/number-format/NumberUtils.js +33 -8
- package/cjs/components/number-format/NumberUtils.js.map +1 -1
- package/cjs/components/pagination/Pagination.d.ts +1 -1
- package/cjs/components/section/style/dnb-section.css +2 -2
- package/cjs/components/section/style/dnb-section.min.css +2 -2
- package/cjs/components/space/style/dnb-space.css +2 -2
- package/cjs/components/space/style/dnb-space.min.css +1 -1
- package/cjs/components/switch/Switch.d.ts +100 -91
- package/cjs/components/switch/Switch.js +167 -239
- package/cjs/components/switch/Switch.js.map +1 -1
- package/cjs/components/switch/SwitchDocs.d.ts +3 -0
- package/cjs/components/switch/SwitchDocs.js +93 -0
- package/cjs/components/switch/SwitchDocs.js.map +1 -0
- package/cjs/components/tabs/style/dnb-tabs.css +1 -0
- package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
- package/cjs/components/tabs/style/dnb-tabs.scss +1 -0
- package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/cjs/extensions/forms/DataContext/At/At.js +1 -1
- package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
- package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/cjs/extensions/forms/DataContext/Provider/Provider.js +105 -60
- package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/cjs/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/cjs/extensions/forms/Field/Date/Date.js +20 -4
- package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → cjs/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/cjs/extensions/forms/Field/Date/DateDocs.js +20 -0
- package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{es/extensions/forms/Form/FieldProps/FieldProps.d.ts → cjs/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/cjs/extensions/forms/Field/Provider/FieldProvider.js +33 -0
- package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.d.ts → Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.js → Field/Provider/FieldProviderContext.js} +3 -3
- package/cjs/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldPropsDocs.js → Field/Provider/FieldProviderDocs.js} +4 -4
- package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/cjs/extensions/forms/{Form/FieldProps → Field/Provider}/index.js +5 -5
- package/cjs/extensions/forms/Field/Provider/index.js.map +1 -0
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/cjs/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -34
- package/cjs/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
- package/cjs/extensions/forms/Field/index.d.ts +1 -0
- package/cjs/extensions/forms/Field/index.js +7 -0
- package/cjs/extensions/forms/Field/index.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js +12 -1
- package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/cjs/extensions/forms/Form/Element/Element.js +4 -4
- package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/cjs/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/cjs/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/cjs/extensions/forms/Form/Section/Section.js +2 -2
- package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +153 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +30 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.js +27 -0
- package/cjs/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/cjs/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
- package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/cjs/extensions/forms/Form/data-context/useData.js +13 -15
- package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{es/extensions/forms/Form/data-context/useError.d.ts → cjs/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/cjs/extensions/forms/Form/data-context/useValidation.js +60 -0
- package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/cjs/extensions/forms/Form/index.d.ts +13 -2
- package/cjs/extensions/forms/Form/index.js +19 -9
- package/cjs/extensions/forms/Form/index.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Array/Array.js +4 -12
- package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/cjs/extensions/forms/Iterate/Count/Count.js +1 -1
- package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.js +1 -1
- package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js +28 -0
- package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Date/Date.js +25 -16
- package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
- package/cjs/extensions/forms/Value/Number/NumberDocs.js +9 -2
- package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/cjs/extensions/forms/Value/Provider/ValueProvider.js +27 -0
- package/cjs/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js +15 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js +23 -0
- package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/cjs/extensions/forms/Value/Provider/index.js +27 -0
- package/cjs/extensions/forms/Value/Provider/index.js.map +1 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.js +50 -0
- package/cjs/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +37 -0
- package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/cjs/extensions/forms/Value/index.d.ts +3 -2
- package/cjs/extensions/forms/Value/index.js +9 -2
- package/cjs/extensions/forms/Value/index.js.map +1 -1
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
- package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js +1 -1
- package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js +1 -1
- package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/cjs/extensions/forms/hooks/useFieldProps.js +111 -56
- package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/cjs/extensions/forms/hooks/usePath.js +7 -4
- package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/cjs/extensions/forms/hooks/useValueProps.js +7 -2
- package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/cjs/extensions/forms/style/dnb-forms.css +10 -21
- package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
- package/cjs/extensions/forms/types.d.ts +7 -3
- package/cjs/extensions/forms/types.js.map +1 -1
- package/cjs/extensions/forms/utils/ajv.d.ts +2 -1
- package/cjs/extensions/forms/utils/ajv.js +1 -1
- package/cjs/extensions/forms/utils/ajv.js.map +1 -1
- package/cjs/extensions/forms/utils/index.d.ts +1 -0
- package/cjs/extensions/forms/utils/index.js +12 -0
- package/cjs/extensions/forms/utils/index.js.map +1 -1
- package/cjs/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/cjs/extensions/forms/utils/json-pointer/export.js +17 -0
- package/cjs/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +139 -0
- package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/cjs/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/cjs/extensions/forms/utils/json-pointer.js +24 -0
- package/cjs/extensions/forms/utils/json-pointer.js.map +1 -0
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Context.js +1 -1
- 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/MediaQueryUtils.d.ts +0 -1
- package/cjs/shared/MediaQueryUtils.js +17 -14
- package/cjs/shared/MediaQueryUtils.js.map +1 -1
- package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
- package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/core/utilities.scss +10 -5
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +35 -45
- package/cjs/style/dnb-ui-components.min.css +5 -5
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/dnb-ui-elements.css +1 -1
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-extensions.css +10 -21
- package/cjs/style/dnb-ui-extensions.min.css +1 -1
- package/cjs/style/dnb-ui-forms.css +10 -21
- package/cjs/style/dnb-ui-forms.min.css +1 -1
- package/cjs/style/dnb-ui-forms.scss +0 -1
- package/cjs/style/dnb-ui-fragments.css +2 -2
- package/cjs/style/dnb-ui-fragments.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
- package/components/accordion/style/dnb-accordion.css +3 -3
- package/components/accordion/style/dnb-accordion.min.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/components/button/Button.d.ts +2 -2
- package/components/card/style/dnb-card.css +1 -1
- package/components/card/style/dnb-card.min.css +1 -1
- package/components/date-picker/DatePicker.d.ts +13 -4
- package/components/drawer/style/dnb-drawer.css +3 -3
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/dropdown/style/dnb-dropdown.css +1 -1
- package/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/components/form-row/style/dnb-form-row.css +1 -1
- package/components/form-row/style/dnb-form-row.min.css +1 -1
- package/components/form-status/FormStatus.d.ts +1 -1
- package/components/grid/style/dnb-grid.css +6 -6
- package/components/grid/style/dnb-grid.min.css +1 -1
- package/components/input-masked/InputMasked.d.ts +1 -1
- package/components/input-masked/InputMaskedDocs.js +1 -1
- package/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/components/number-format/NumberFormat.d.ts +14 -28
- package/components/number-format/NumberFormat.js +6 -2
- package/components/number-format/NumberFormat.js.map +1 -1
- package/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/components/number-format/NumberFormatDocs.js +153 -0
- package/components/number-format/NumberFormatDocs.js.map +1 -0
- package/components/number-format/NumberUtils.d.ts +21 -1
- package/components/number-format/NumberUtils.js +32 -8
- package/components/number-format/NumberUtils.js.map +1 -1
- package/components/pagination/Pagination.d.ts +1 -1
- package/components/section/style/dnb-section.css +2 -2
- package/components/section/style/dnb-section.min.css +2 -2
- package/components/space/style/dnb-space.css +2 -2
- package/components/space/style/dnb-space.min.css +1 -1
- package/components/switch/Switch.d.ts +100 -91
- package/components/switch/Switch.js +165 -238
- package/components/switch/Switch.js.map +1 -1
- package/components/switch/SwitchDocs.d.ts +3 -0
- package/components/switch/SwitchDocs.js +85 -0
- package/components/switch/SwitchDocs.js.map +1 -0
- package/components/tabs/style/dnb-tabs.css +1 -0
- package/components/tabs/style/dnb-tabs.min.css +1 -1
- package/components/tabs/style/dnb-tabs.scss +1 -0
- package/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/components/accordion/style/dnb-accordion.css +3 -3
- package/es/components/accordion/style/dnb-accordion.min.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
- package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
- package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
- package/es/components/button/Button.d.ts +2 -2
- package/es/components/card/style/dnb-card.css +1 -1
- package/es/components/card/style/dnb-card.min.css +1 -1
- package/es/components/date-picker/DatePicker.d.ts +13 -4
- package/es/components/drawer/style/dnb-drawer.css +3 -3
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.css +1 -1
- package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
- package/es/components/form-row/style/dnb-form-row.css +1 -1
- package/es/components/form-row/style/dnb-form-row.min.css +1 -1
- package/es/components/form-status/FormStatus.d.ts +1 -1
- package/es/components/grid/style/dnb-grid.css +6 -6
- package/es/components/grid/style/dnb-grid.min.css +1 -1
- package/es/components/input-masked/InputMasked.d.ts +1 -1
- package/es/components/input-masked/InputMaskedDocs.js +1 -1
- package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
- package/es/components/number-format/NumberFormat.d.ts +14 -28
- package/es/components/number-format/NumberFormat.js +6 -2
- package/es/components/number-format/NumberFormat.js.map +1 -1
- package/es/components/number-format/NumberFormatDocs.d.ts +3 -0
- package/es/components/number-format/NumberFormatDocs.js +150 -0
- package/es/components/number-format/NumberFormatDocs.js.map +1 -0
- package/es/components/number-format/NumberUtils.d.ts +21 -1
- package/es/components/number-format/NumberUtils.js +31 -7
- package/es/components/number-format/NumberUtils.js.map +1 -1
- package/es/components/pagination/Pagination.d.ts +1 -1
- package/es/components/section/style/dnb-section.css +2 -2
- package/es/components/section/style/dnb-section.min.css +2 -2
- package/es/components/space/style/dnb-space.css +2 -2
- package/es/components/space/style/dnb-space.min.css +1 -1
- package/es/components/switch/Switch.d.ts +100 -91
- package/es/components/switch/Switch.js +164 -238
- package/es/components/switch/Switch.js.map +1 -1
- package/es/components/switch/SwitchDocs.d.ts +3 -0
- package/es/components/switch/SwitchDocs.js +85 -0
- package/es/components/switch/SwitchDocs.js.map +1 -0
- package/es/components/tabs/style/dnb-tabs.css +1 -0
- package/es/components/tabs/style/dnb-tabs.min.css +1 -1
- package/es/components/tabs/style/dnb-tabs.scss +1 -0
- package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
- package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
- package/es/extensions/forms/DataContext/At/At.js +1 -1
- package/es/extensions/forms/DataContext/At/At.js.map +1 -1
- package/es/extensions/forms/DataContext/Context.d.ts +20 -9
- package/es/extensions/forms/DataContext/Context.js.map +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/es/extensions/forms/DataContext/Provider/Provider.js +100 -58
- package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/es/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/es/extensions/forms/Field/Date/Date.js +20 -4
- package/es/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → es/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/es/extensions/forms/Field/Date/DateDocs.js +13 -0
- package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{extensions/forms/Form/FieldProps/FieldProps.d.ts → es/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/es/extensions/forms/Field/Provider/FieldProvider.js +24 -0
- package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/{extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → es/extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/es/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
- package/es/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/{extensions/forms/Form/FieldProps/FieldPropsDocs.js → es/extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
- package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/es/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/es/extensions/forms/Field/Provider/index.js +3 -0
- package/es/extensions/forms/Field/Provider/index.js.map +1 -0
- package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/es/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
- package/es/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
- package/es/extensions/forms/Field/index.d.ts +1 -0
- package/es/extensions/forms/Field/index.js +1 -0
- package/es/extensions/forms/Field/index.js.map +1 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js +12 -1
- package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/es/extensions/forms/Form/Element/Element.js +4 -4
- package/es/extensions/forms/Form/Element/Element.js.map +1 -1
- package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/es/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/es/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/es/extensions/forms/Form/Section/Section.js +1 -1
- package/es/extensions/forms/Form/Section/Section.js.map +1 -1
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +140 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
- package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
- package/es/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/es/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/es/extensions/forms/Form/data-context/getData.js +1 -1
- package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/es/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/es/extensions/forms/Form/data-context/useData.js +13 -15
- package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{extensions/forms/Form/data-context/useError.d.ts → es/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/es/extensions/forms/Form/data-context/useValidation.js +52 -0
- package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/es/extensions/forms/Form/index.d.ts +13 -2
- package/es/extensions/forms/Form/index.js +5 -2
- package/es/extensions/forms/Form/index.js.map +1 -1
- package/es/extensions/forms/Iterate/Array/Array.js +4 -12
- package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/es/extensions/forms/Iterate/Count/Count.js +1 -1
- package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/es/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/es/extensions/forms/Tools/ListAllProps.js +1 -1
- package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/es/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/es/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
- package/es/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/es/extensions/forms/Value/Date/Date.js +25 -16
- package/es/extensions/forms/Value/Date/Date.js.map +1 -1
- package/es/extensions/forms/Value/Number/NumberDocs.js +7 -2
- package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/es/extensions/forms/Value/Provider/ValueProvider.js +18 -0
- package/es/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
- package/es/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
- package/es/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/es/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/es/extensions/forms/Value/Provider/index.js +3 -0
- package/es/extensions/forms/Value/Provider/index.js.map +1 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.js +40 -0
- package/es/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
- package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/es/extensions/forms/Value/index.d.ts +3 -2
- package/es/extensions/forms/Value/index.js +3 -2
- package/es/extensions/forms/Value/index.js.map +1 -1
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/es/extensions/forms/Wizard/Step/Step.js +2 -2
- package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/es/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/es/extensions/forms/hooks/useDataValue.js +1 -1
- package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js +1 -1
- package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/es/extensions/forms/hooks/useFieldProps.js +111 -56
- package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/es/extensions/forms/hooks/usePath.js +7 -4
- package/es/extensions/forms/hooks/usePath.js.map +1 -1
- package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/es/extensions/forms/hooks/useValueProps.js +7 -2
- package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/es/extensions/forms/style/dnb-forms.css +10 -21
- package/es/extensions/forms/style/dnb-forms.min.css +1 -1
- package/es/extensions/forms/types.d.ts +7 -3
- package/es/extensions/forms/types.js.map +1 -1
- package/es/extensions/forms/utils/ajv.d.ts +2 -1
- package/es/extensions/forms/utils/ajv.js +1 -1
- package/es/extensions/forms/utils/ajv.js.map +1 -1
- package/es/extensions/forms/utils/index.d.ts +1 -0
- package/es/extensions/forms/utils/index.js +1 -0
- package/es/extensions/forms/utils/index.js.map +1 -1
- package/es/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/es/extensions/forms/utils/json-pointer/export.js +1 -0
- package/es/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.js +122 -0
- package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/es/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/es/extensions/forms/utils/json-pointer.js +4 -0
- package/es/extensions/forms/utils/json-pointer.js.map +1 -0
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Context.js +1 -1
- 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/MediaQueryUtils.d.ts +0 -1
- package/es/shared/MediaQueryUtils.js +17 -14
- package/es/shared/MediaQueryUtils.js.map +1 -1
- package/es/shared/helpers/extendPropsWithContext.js +3 -3
- package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/core/utilities.scss +10 -5
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +35 -45
- package/es/style/dnb-ui-components.min.css +5 -5
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/dnb-ui-elements.css +1 -1
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-extensions.css +10 -21
- package/es/style/dnb-ui-extensions.min.css +1 -1
- package/es/style/dnb-ui-forms.css +10 -21
- package/es/style/dnb-ui-forms.min.css +1 -1
- package/es/style/dnb-ui-forms.scss +0 -1
- package/es/style/dnb-ui-fragments.css +2 -2
- package/es/style/dnb-ui-fragments.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
- 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 +5 -5
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/DataContext/At/At.js +1 -1
- package/extensions/forms/DataContext/At/At.js.map +1 -1
- package/extensions/forms/DataContext/Context.d.ts +20 -9
- package/extensions/forms/DataContext/Context.js.map +1 -1
- package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
- package/extensions/forms/DataContext/Provider/Provider.js +104 -59
- package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
- package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
- package/extensions/forms/Field/Date/Date.d.ts +6 -0
- package/extensions/forms/Field/Date/Date.js +20 -4
- package/extensions/forms/Field/Date/Date.js.map +1 -1
- package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
- package/extensions/forms/Field/Date/DateDocs.js +13 -0
- package/extensions/forms/Field/Date/DateDocs.js.map +1 -0
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
- package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
- package/{cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts → extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
- package/extensions/forms/Field/Provider/FieldProvider.js +24 -0
- package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
- package/{es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
- package/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
- package/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
- package/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
- package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.js → extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
- package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
- package/extensions/forms/Field/Provider/index.d.ts +2 -0
- package/extensions/forms/Field/Provider/index.js +3 -0
- package/extensions/forms/Field/Provider/index.js.map +1 -0
- package/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
- package/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
- package/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
- package/extensions/forms/Field/index.d.ts +1 -0
- package/extensions/forms/Field/index.js +1 -0
- package/extensions/forms/Field/index.js.map +1 -1
- package/extensions/forms/FieldBlock/FieldBlock.js +12 -1
- package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
- package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
- package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
- package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
- package/extensions/forms/Form/Element/Element.js +4 -4
- package/extensions/forms/Form/Element/Element.js.map +1 -1
- package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
- package/extensions/forms/Form/Handler/Handler.js.map +1 -1
- package/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
- package/extensions/forms/Form/Isolation/Isolation.js +1 -1
- package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
- package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
- package/extensions/forms/Form/Section/Section.d.ts +2 -1
- package/extensions/forms/Form/Section/Section.js +1 -1
- package/extensions/forms/Form/Section/Section.js.map +1 -1
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +142 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
- package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
- package/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
- package/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
- package/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
- package/extensions/forms/Form/Visibility/Visibility.js +3 -3
- package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
- package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
- package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
- package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
- package/extensions/forms/Form/data-context/getData.js +1 -1
- package/extensions/forms/Form/data-context/getData.js.map +1 -1
- package/extensions/forms/Form/data-context/useData.d.ts +3 -2
- package/extensions/forms/Form/data-context/useData.js +13 -15
- package/extensions/forms/Form/data-context/useData.js.map +1 -1
- package/{cjs/extensions/forms/Form/data-context/useError.d.ts → extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
- package/extensions/forms/Form/data-context/useValidation.js +54 -0
- package/extensions/forms/Form/data-context/useValidation.js.map +1 -0
- package/extensions/forms/Form/index.d.ts +13 -2
- package/extensions/forms/Form/index.js +5 -2
- package/extensions/forms/Form/index.js.map +1 -1
- package/extensions/forms/Iterate/Array/Array.js +4 -12
- package/extensions/forms/Iterate/Array/Array.js.map +1 -1
- package/extensions/forms/Iterate/Count/Count.js +1 -1
- package/extensions/forms/Iterate/Count/Count.js.map +1 -1
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
- package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
- package/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
- package/extensions/forms/Tools/GenerateSchema.js +1 -1
- package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
- package/extensions/forms/Tools/ListAllProps.d.ts +1 -1
- package/extensions/forms/Tools/ListAllProps.js +1 -1
- package/extensions/forms/Tools/ListAllProps.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
- package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
- package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
- package/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
- package/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
- package/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
- package/extensions/forms/Value/Date/Date.js +25 -16
- package/extensions/forms/Value/Date/Date.js.map +1 -1
- package/extensions/forms/Value/Number/NumberDocs.js +7 -2
- package/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
- package/extensions/forms/Value/Provider/ValueProvider.js +18 -0
- package/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
- package/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
- package/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
- package/extensions/forms/Value/Provider/index.d.ts +2 -0
- package/extensions/forms/Value/Provider/index.js +3 -0
- package/extensions/forms/Value/Provider/index.js.map +1 -0
- package/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
- package/extensions/forms/Value/Provider/useValueProvider.js +40 -0
- package/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
- package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
- package/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
- package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
- package/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
- package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
- package/extensions/forms/Value/index.d.ts +3 -2
- package/extensions/forms/Value/index.js +3 -2
- package/extensions/forms/Value/index.js.map +1 -1
- package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
- package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
- package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
- package/extensions/forms/Wizard/Step/Step.js +2 -2
- package/extensions/forms/Wizard/Step/Step.js.map +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
- package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
- package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
- package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
- package/extensions/forms/hooks/useDataValue.d.ts +1 -1
- package/extensions/forms/hooks/useDataValue.js +1 -1
- package/extensions/forms/hooks/useDataValue.js.map +1 -1
- package/extensions/forms/hooks/useExternalValue.js +1 -1
- package/extensions/forms/hooks/useExternalValue.js.map +1 -1
- package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
- package/extensions/forms/hooks/useFieldProps.js +111 -56
- package/extensions/forms/hooks/useFieldProps.js.map +1 -1
- package/extensions/forms/hooks/usePath.js +7 -4
- package/extensions/forms/hooks/usePath.js.map +1 -1
- package/extensions/forms/hooks/useValueProps.d.ts +1 -1
- package/extensions/forms/hooks/useValueProps.js +7 -2
- package/extensions/forms/hooks/useValueProps.js.map +1 -1
- package/extensions/forms/style/dnb-forms.css +10 -21
- package/extensions/forms/style/dnb-forms.min.css +1 -1
- package/extensions/forms/types.d.ts +7 -3
- package/extensions/forms/types.js.map +1 -1
- package/extensions/forms/utils/ajv.d.ts +2 -1
- package/extensions/forms/utils/ajv.js +1 -1
- package/extensions/forms/utils/ajv.js.map +1 -1
- package/extensions/forms/utils/index.d.ts +1 -0
- package/extensions/forms/utils/index.js +1 -0
- package/extensions/forms/utils/index.js.map +1 -1
- package/extensions/forms/utils/json-pointer/export.d.ts +1 -0
- package/extensions/forms/utils/json-pointer/export.js +1 -0
- package/extensions/forms/utils/json-pointer/export.js.map +1 -0
- package/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
- package/extensions/forms/utils/json-pointer/json-pointer.js +124 -0
- package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
- package/extensions/forms/utils/json-pointer.d.ts +3 -0
- package/extensions/forms/utils/json-pointer.js +4 -0
- package/extensions/forms/utils/json-pointer.js.map +1 -0
- package/package.json +1 -2
- package/shared/Context.d.ts +2 -0
- package/shared/Context.js +1 -1
- 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/MediaQueryUtils.d.ts +0 -1
- package/shared/MediaQueryUtils.js +17 -14
- package/shared/MediaQueryUtils.js.map +1 -1
- package/shared/helpers/extendPropsWithContext.js +3 -3
- package/shared/helpers/extendPropsWithContext.js.map +1 -1
- package/shared/helpers/withSnakeCaseProps.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/core/utilities.scss +10 -5
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +35 -45
- package/style/dnb-ui-components.min.css +5 -5
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/dnb-ui-elements.css +1 -1
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-extensions.css +10 -21
- package/style/dnb-ui-extensions.min.css +1 -1
- package/style/dnb-ui-forms.css +10 -21
- package/style/dnb-ui-forms.min.css +1 -1
- package/style/dnb-ui-forms.scss +0 -1
- package/style/dnb-ui-fragments.css +2 -2
- package/style/dnb-ui-fragments.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
- package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
- package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
- package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
- package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
- package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
- package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.css +1 -1
- package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +46 -67
- package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
- package/style/themes/theme-ui/ui-theme-elements.css +1 -1
- package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-extensions.css +10 -21
- package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-forms.css +10 -21
- package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-tags.css +1 -1
- 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 +5 -5
- package/umd/dnb-ui-lib.min.js +1 -1
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/cjs/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/cjs/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/cjs/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/cjs/extensions/forms/Form/data-context/useError.js +0 -33
- package/cjs/extensions/forms/Form/data-context/useError.js.map +0 -1
- package/es/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/es/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/es/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
- package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/es/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/es/extensions/forms/Form/FieldProps/index.js +0 -3
- package/es/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/es/extensions/forms/Form/data-context/useError.js +0 -26
- package/es/extensions/forms/Form/data-context/useError.js.map +0 -1
- package/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
- package/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
- package/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
- package/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
- package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
- package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
- package/extensions/forms/Form/FieldProps/index.d.ts +0 -2
- package/extensions/forms/Form/FieldProps/index.js +0 -3
- package/extensions/forms/Form/FieldProps/index.js.map +0 -1
- package/extensions/forms/Form/data-context/useError.js +0 -27
- package/extensions/forms/Form/data-context/useError.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './json-pointer';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _jsonPointer = require("./json-pointer");
|
|
7
|
+
Object.keys(_jsonPointer).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _jsonPointer[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _jsonPointer[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","names":["_jsonPointer","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/export.ts"],"sourcesContent":["export * from './json-pointer'\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type PointerPath = string | Array<string>;
|
|
2
|
+
export type JsonValue = any;
|
|
3
|
+
export type JsonObject = any;
|
|
4
|
+
/**
|
|
5
|
+
* Lookup a json pointer in an object
|
|
6
|
+
*/
|
|
7
|
+
export declare function get<T = JsonObject>(obj: T, pointer: PointerPath): T;
|
|
8
|
+
/**
|
|
9
|
+
* Sets a value on an object
|
|
10
|
+
*/
|
|
11
|
+
export declare function set<T = JsonObject>(obj: T, pointer: PointerPath, value: JsonValue): void;
|
|
12
|
+
/**
|
|
13
|
+
* Removes an attribute
|
|
14
|
+
*/
|
|
15
|
+
export declare function remove<T = JsonObject>(obj: T, pointer: PointerPath): void;
|
|
16
|
+
/**
|
|
17
|
+
* Returns a (pointer -> value) dictionary for an object
|
|
18
|
+
*/
|
|
19
|
+
export declare function dict<T = JsonObject>(obj: T, descend?: any): {};
|
|
20
|
+
/**
|
|
21
|
+
* Iterates over an object
|
|
22
|
+
*/
|
|
23
|
+
export declare function walk<T = JsonObject>(obj: T, iterator: any, descend?: any): void;
|
|
24
|
+
/**
|
|
25
|
+
* Tests if an object has a value for a json pointer
|
|
26
|
+
*/
|
|
27
|
+
export declare function has<T = JsonObject>(obj: T, pointer: PointerPath): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Escapes a reference token
|
|
30
|
+
*/
|
|
31
|
+
export declare function escape(str: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Unescape a reference token
|
|
34
|
+
*/
|
|
35
|
+
export declare function unescape(str: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Converts a json pointer into a array of reference tokens
|
|
38
|
+
*/
|
|
39
|
+
export declare function parse(pointer: Extract<PointerPath, string>): PointerPath;
|
|
40
|
+
/**
|
|
41
|
+
* Builds a json pointer from a array of reference tokens
|
|
42
|
+
*/
|
|
43
|
+
export declare function compile(refTokens: Extract<PointerPath, Array<string>>): string;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.compile = compile;
|
|
7
|
+
exports.dict = dict;
|
|
8
|
+
exports.escape = escape;
|
|
9
|
+
exports.get = get;
|
|
10
|
+
exports.has = has;
|
|
11
|
+
exports.parse = parse;
|
|
12
|
+
exports.remove = remove;
|
|
13
|
+
exports.set = set;
|
|
14
|
+
exports.unescape = unescape;
|
|
15
|
+
exports.walk = walk;
|
|
16
|
+
function get(obj, pointer) {
|
|
17
|
+
const refTokens = Array.isArray(pointer) ? pointer : parse(pointer);
|
|
18
|
+
for (let i = 0; i < refTokens.length; ++i) {
|
|
19
|
+
const tok = refTokens[i];
|
|
20
|
+
if (!(typeof obj == 'object' && tok in obj)) {
|
|
21
|
+
throw new Error('Invalid reference token: ' + tok);
|
|
22
|
+
}
|
|
23
|
+
obj = obj[tok];
|
|
24
|
+
}
|
|
25
|
+
return obj;
|
|
26
|
+
}
|
|
27
|
+
function set(obj, pointer, value) {
|
|
28
|
+
const refTokens = Array.isArray(pointer) ? pointer : parse(pointer);
|
|
29
|
+
let nextTok = refTokens[0];
|
|
30
|
+
if (refTokens.length === 0) {
|
|
31
|
+
throw Error('Can not set the root object');
|
|
32
|
+
}
|
|
33
|
+
for (let i = 0; i < refTokens.length - 1; ++i) {
|
|
34
|
+
let tok = refTokens[i];
|
|
35
|
+
if (typeof tok !== 'string' && typeof tok !== 'number') {
|
|
36
|
+
tok = String(tok);
|
|
37
|
+
}
|
|
38
|
+
if (tok === '__proto__' || tok === 'constructor' || tok === 'prototype') {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (tok === '-' && Array.isArray(obj)) {
|
|
42
|
+
tok = obj.length;
|
|
43
|
+
}
|
|
44
|
+
nextTok = refTokens[i + 1];
|
|
45
|
+
if (!(tok in obj)) {
|
|
46
|
+
if (nextTok.match(/^(\d+|-)$/)) {
|
|
47
|
+
obj[tok] = [];
|
|
48
|
+
} else {
|
|
49
|
+
obj[tok] = {};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
obj = obj[tok];
|
|
53
|
+
}
|
|
54
|
+
if (nextTok === '-' && Array.isArray(obj)) {
|
|
55
|
+
nextTok = obj.length;
|
|
56
|
+
}
|
|
57
|
+
obj[nextTok] = value;
|
|
58
|
+
}
|
|
59
|
+
function remove(obj, pointer) {
|
|
60
|
+
const refTokens = Array.isArray(pointer) ? pointer : parse(pointer);
|
|
61
|
+
const finalToken = refTokens[refTokens.length - 1];
|
|
62
|
+
if (finalToken === undefined) {
|
|
63
|
+
throw new Error('Invalid JSON pointer for remove: "' + pointer + '"');
|
|
64
|
+
}
|
|
65
|
+
const parent = get(obj, refTokens.slice(0, -1));
|
|
66
|
+
if (Array.isArray(parent)) {
|
|
67
|
+
const index = +finalToken;
|
|
68
|
+
if (finalToken === '' && isNaN(index)) {
|
|
69
|
+
throw new Error('Invalid array index: "' + finalToken + '"');
|
|
70
|
+
}
|
|
71
|
+
Array.prototype.splice.call(parent, index, 1);
|
|
72
|
+
} else {
|
|
73
|
+
delete parent[finalToken];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function dict(obj) {
|
|
77
|
+
let descend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
78
|
+
const results = {};
|
|
79
|
+
walk(obj, function (value, pointer) {
|
|
80
|
+
results[pointer] = value;
|
|
81
|
+
}, descend);
|
|
82
|
+
return results;
|
|
83
|
+
}
|
|
84
|
+
function walk(obj, iterator) {
|
|
85
|
+
let descend = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
86
|
+
const refTokens = [];
|
|
87
|
+
descend = descend || function (value) {
|
|
88
|
+
const type = Object.prototype.toString.call(value);
|
|
89
|
+
return type === '[object Object]' || type === '[object Array]';
|
|
90
|
+
};
|
|
91
|
+
function next(cur) {
|
|
92
|
+
if (Array.isArray(cur)) {
|
|
93
|
+
cur = cur.reduce((acc, cur, i) => {
|
|
94
|
+
acc[i] = cur;
|
|
95
|
+
return acc;
|
|
96
|
+
}, {});
|
|
97
|
+
}
|
|
98
|
+
Object.keys(cur).forEach(key => {
|
|
99
|
+
refTokens.push(String(key));
|
|
100
|
+
if (descend(cur[key])) {
|
|
101
|
+
next(cur[key]);
|
|
102
|
+
} else {
|
|
103
|
+
iterator(cur[key], compile(refTokens));
|
|
104
|
+
}
|
|
105
|
+
refTokens.pop();
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
next(obj);
|
|
109
|
+
}
|
|
110
|
+
function has(obj, pointer) {
|
|
111
|
+
try {
|
|
112
|
+
get(obj, pointer);
|
|
113
|
+
} catch (e) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
function escape(str) {
|
|
119
|
+
return str.toString().replace(/~/g, '~0').replace(/\//g, '~1');
|
|
120
|
+
}
|
|
121
|
+
function unescape(str) {
|
|
122
|
+
return str.replace(/~1/g, '/').replace(/~0/g, '~');
|
|
123
|
+
}
|
|
124
|
+
function parse(pointer) {
|
|
125
|
+
if (pointer === '') {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
if (pointer.charAt(0) !== '/') {
|
|
129
|
+
throw new Error('Invalid JSON pointer: ' + pointer);
|
|
130
|
+
}
|
|
131
|
+
return pointer.substring(1).split(/\//).map(unescape);
|
|
132
|
+
}
|
|
133
|
+
function compile(refTokens) {
|
|
134
|
+
if (refTokens.length === 0) {
|
|
135
|
+
return '';
|
|
136
|
+
}
|
|
137
|
+
return '/' + refTokens.map(escape).join('/');
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=json-pointer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-pointer.js","names":["get","obj","pointer","refTokens","Array","isArray","parse","i","length","tok","Error","set","value","nextTok","String","match","remove","finalToken","undefined","parent","slice","index","isNaN","prototype","splice","call","dict","descend","arguments","results","walk","iterator","type","Object","toString","next","cur","reduce","acc","keys","forEach","key","push","compile","pop","has","e","escape","str","replace","unescape","charAt","substring","split","map","join"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/json-pointer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PointerPath = string | Array<string>\nexport type JsonValue = any\nexport type JsonObject = any\n\n/**\n * Lookup a json pointer in an object\n */\nexport function get<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n\n for (let i = 0; i < refTokens.length; ++i) {\n const tok = refTokens[i]\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok)\n }\n obj = obj[tok] as T\n }\n\n return obj as T\n}\n\n/**\n * Sets a value on an object\n */\nexport function set<T = JsonObject>(\n obj: T,\n pointer: PointerPath,\n value: JsonValue\n) {\n const refTokens = (\n Array.isArray(pointer) ? pointer : parse(pointer)\n ) as Array<number | string>\n let nextTok = refTokens[0]\n\n if (refTokens.length === 0) {\n throw Error('Can not set the root object')\n }\n\n for (let i = 0; i < refTokens.length - 1; ++i) {\n let tok = refTokens[i]\n if (typeof tok !== 'string' && typeof tok !== 'number') {\n tok = String(tok)\n }\n if (\n tok === '__proto__' ||\n tok === 'constructor' ||\n tok === 'prototype'\n ) {\n continue\n }\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length\n }\n nextTok = refTokens[i + 1] as string\n\n if (!(tok in (obj as JsonObject))) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = []\n } else {\n obj[tok] = {}\n }\n }\n obj = obj[tok] as T\n }\n\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length\n }\n\n obj[nextTok] = value\n}\n\n/**\n * Removes an attribute\n */\nexport function remove<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n const finalToken = refTokens[refTokens.length - 1]\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"')\n }\n\n const parent = get(obj, refTokens.slice(0, -1))\n if (Array.isArray(parent)) {\n const index = +finalToken\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"')\n }\n\n Array.prototype.splice.call(parent, index, 1)\n } else {\n delete parent[finalToken]\n }\n}\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n */\nexport function dict<T = JsonObject>(obj: T, descend = null) {\n const results = {}\n walk(\n obj,\n function (value, pointer: string) {\n results[pointer] = value\n },\n descend\n )\n return results\n}\n\n/**\n * Iterates over an object\n */\nexport function walk<T = JsonObject>(obj: T, iterator, descend = null) {\n const refTokens = []\n\n descend =\n descend ||\n function (value) {\n const type = Object.prototype.toString.call(value)\n return type === '[object Object]' || type === '[object Array]'\n }\n\n function next(cur) {\n if (Array.isArray(cur)) {\n cur = cur.reduce((acc, cur, i) => {\n acc[i] = cur\n return acc\n }, {})\n }\n\n Object.keys(cur).forEach((key) => {\n refTokens.push(String(key))\n if (descend(cur[key])) {\n next(cur[key])\n } else {\n iterator(cur[key], compile(refTokens))\n }\n refTokens.pop()\n })\n }\n\n next(obj)\n}\n\n/**\n * Tests if an object has a value for a json pointer\n */\nexport function has<T = JsonObject>(obj: T, pointer: PointerPath) {\n try {\n get<T>(obj, pointer)\n } catch (e) {\n return false\n }\n return true\n}\n\n/**\n * Escapes a reference token\n */\nexport function escape(str: string) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1')\n}\n\n/**\n * Unescape a reference token\n */\nexport function unescape(str: string) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~')\n}\n\n/**\n * Converts a json pointer into a array of reference tokens\n */\nexport function parse(pointer: Extract<PointerPath, string>): PointerPath {\n if (pointer === '') {\n return []\n }\n if (pointer.charAt(0) !== '/') {\n throw new Error('Invalid JSON pointer: ' + pointer)\n }\n return pointer.substring(1).split(/\\//).map(unescape)\n}\n\n/**\n * Builds a json pointer from a array of reference tokens\n */\nexport function compile(refTokens: Extract<PointerPath, Array<string>>) {\n if (refTokens.length === 0) {\n return ''\n }\n return '/' + refTokens.map(escape).join('/')\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {};
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _jsonPointer = require("./json-pointer/json-pointer");
|
|
9
|
+
Object.keys(_jsonPointer).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
12
|
+
if (key in exports && exports[key] === _jsonPointer[key]) return;
|
|
13
|
+
Object.defineProperty(exports, key, {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _jsonPointer[key];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
var _default = _interopRequireWildcard(require("./json-pointer/export"));
|
|
21
|
+
exports.default = _default;
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
24
|
+
//# sourceMappingURL=json-pointer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-pointer.js","names":["_jsonPointer","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_default","_interopRequireWildcard","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../../../../src/extensions/forms/utils/json-pointer.ts"],"sourcesContent":["export * from './json-pointer/json-pointer'\n\n// For TypeScript compatibility we import and export it this way\nimport * as _default from './json-pointer/export'\nexport { _default as default }\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAGA,IAAAS,QAAA,GAAAC,uBAAA,CAAAd,OAAA;AAAiDS,OAAA,CAAAM,OAAA,GAAAF,QAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAN,OAAA,EAAAM,GAAA,UAAAE,KAAA,GAAAP,wBAAA,CAAAC,WAAA,OAAAM,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAH,GAAA,YAAAE,KAAA,CAAAX,GAAA,CAAAS,GAAA,SAAAI,MAAA,WAAAC,qBAAA,GAAAzB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAA0B,wBAAA,WAAAvB,GAAA,IAAAiB,GAAA,QAAAjB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAc,GAAA,EAAAjB,GAAA,SAAAwB,IAAA,GAAAF,qBAAA,GAAAzB,MAAA,CAAA0B,wBAAA,CAAAN,GAAA,EAAAjB,GAAA,cAAAwB,IAAA,KAAAA,IAAA,CAAAhB,GAAA,IAAAgB,IAAA,CAAAC,GAAA,KAAA5B,MAAA,CAAAS,cAAA,CAAAe,MAAA,EAAArB,GAAA,EAAAwB,IAAA,YAAAH,MAAA,CAAArB,GAAA,IAAAiB,GAAA,CAAAjB,GAAA,SAAAqB,MAAA,CAAAV,OAAA,GAAAM,GAAA,MAAAE,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAR,GAAA,EAAAI,MAAA,YAAAA,MAAA"}
|
package/cjs/shared/Context.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ import type { FormStatusProps } from '../components/FormStatus';
|
|
|
41
41
|
import type { LogoProps } from '../components/Logo';
|
|
42
42
|
import type { IconProps } from '../components/Icon';
|
|
43
43
|
import type { IconPrimaryProps } from '../components/IconPrimary';
|
|
44
|
+
import { SwitchProps } from '../components/Switch';
|
|
44
45
|
import type { FormElementProps } from './helpers/filterValidProps';
|
|
45
46
|
import type { ThemeProps } from './Theme';
|
|
46
47
|
import type { FormsTranslation } from '../extensions/forms/hooks/useTranslation';
|
|
@@ -81,6 +82,7 @@ export type ContextComponents = {
|
|
|
81
82
|
Logo?: Partial<LogoProps>;
|
|
82
83
|
Icon?: Partial<IconProps>;
|
|
83
84
|
IconPrimary?: Partial<IconPrimaryProps>;
|
|
85
|
+
Switch?: Partial<SwitchProps>;
|
|
84
86
|
NumberFormat?: Record<string, unknown>;
|
|
85
87
|
Pagination?: Record<string, unknown>;
|
|
86
88
|
/**
|
package/cjs/shared/Context.js
CHANGED
|
@@ -11,7 +11,7 @@ var _react = require("react");
|
|
|
11
11
|
var _defaults = require("./defaults");
|
|
12
12
|
var _locales = _interopRequireDefault(require("./locales"));
|
|
13
13
|
var _componentHelper = require("./component-helper");
|
|
14
|
-
var _jsonPointer = _interopRequireDefault(require("json-pointer"));
|
|
14
|
+
var _jsonPointer = _interopRequireDefault(require("../extensions/forms/utils/json-pointer"));
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":["_react","require","_defaults","_locales","_interopRequireDefault","_componentHelper","_jsonPointer","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","prepareContext","_props","props","__context__","assign","translations","locales","extendDeep","defaultLocales","localeWithFallback","handleLocaleFallbacks","locale","LOCALE","destructFlatTranslation","translation","context","updateTranslation","newTranslations","getTranslation","localProps","lang","tr","split","Context","createContext","currency","CURRENCY","currency_display","CURRENCY_DISPLAY","_default","exports","hasFlatTr","destructed","k","includes","pointer","set","replace"],"sources":["../../../src/shared/Context.tsx"],"sourcesContent":["/**\n * Web Context Context\n *\n */\n\nimport { createContext } from 'react'\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from './defaults'\nimport defaultLocales from './locales'\nimport { extendDeep } from './component-helper'\nimport pointer from 'json-pointer'\n\n// All TypeScript based Eufemia elements\nimport type { ScrollViewProps } from '../fragments/scroll-view/ScrollView'\n\n// All TypeScript based Eufemia components\nimport type { AnchorProps } from '../components/Anchor'\nimport type { ButtonProps } from '../components/button/Button'\nimport type { AvatarProps } from '../components/avatar/Avatar'\nimport type { AvatarGroupProps } from '../components/avatar/AvatarGroup'\nimport type { BadgeProps } from '../components/badge/Badge'\nimport type { BreadcrumbProps } from '../components/breadcrumb/Breadcrumb'\nimport type { BreadcrumbItemProps } from '../components/breadcrumb/BreadcrumbItem'\nimport type { CheckboxProps } from '../components/Checkbox'\nimport type { InfoCardProps } from '../components/info-card/InfoCard'\nimport type { SliderProps } from '../components/slider/Slider'\nimport type { TagProps } from '../components/tag/Tag'\nimport type { TagGroupProps } from '../components/tag/TagGroup'\nimport type { TimelineProps } from '../components/timeline/Timeline'\nimport type { TimelineItemProps } from '../components/timeline/TimelineItem'\nimport type { VisuallyHiddenProps } from '../components/visually-hidden/VisuallyHidden'\nimport type { DrawerProps } from '../components/drawer/types'\nimport type { DialogProps } from '../components/dialog/types'\nimport type { TooltipProps } from '../components/tooltip/types'\nimport type { SectionProps } from '../components/section/Section'\nimport type { FormRowProps } from '../components/form-row/FormRowHelpers'\nimport type { UploadProps } from '../components/upload/types'\nimport type { SkeletonProps, SkeletonShow } from '../components/Skeleton'\nimport type { HelpButtonProps } from '../components/HelpButton'\nimport type { TableProps } from '../components/Table'\nimport type { GlobalErrorProps } from '../components/GlobalError'\nimport type { ModalProps } from '../components/modal/types'\nimport type { AccordionProps } from '../components/Accordion'\nimport type { StepIndicatorProps } from '../components/StepIndicator'\nimport type { FormLabelProps } from '../components/FormLabel'\nimport type { InputProps } from '../components/Input'\nimport type { NumberFormatCurrency } from '../components/NumberFormat'\nimport type { ProgressIndicatorProps } from '../components/progress-indicator/types'\nimport type { FormStatusProps } from '../components/FormStatus'\nimport type { LogoProps } from '../components/Logo'\nimport type { IconProps } from '../components/Icon'\nimport type { IconPrimaryProps } from '../components/IconPrimary'\n\nimport type { FormElementProps } from './helpers/filterValidProps'\nimport type { ThemeProps } from './Theme'\nimport type { FormsTranslation } from '../extensions/forms/hooks/useTranslation'\nimport type { DeepPartial } from './types'\n\nexport type ContextComponents = {\n Button?: Partial<ButtonProps>\n Anchor?: Partial<AnchorProps>\n Avatar?: Partial<AvatarProps>\n AvatarGroup?: Partial<AvatarGroupProps>\n Badge?: Partial<BadgeProps>\n Breadcrumb?: Partial<BreadcrumbProps>\n BreadcrumbItem?: Partial<BreadcrumbItemProps>\n Checkbox?: Partial<CheckboxProps>\n InfoCard?: Partial<InfoCardProps>\n Slider?: Partial<SliderProps>\n Tag?: Partial<TagProps>\n TagGroup?: Partial<TagGroupProps>\n Timeline?: Partial<TimelineProps>\n TimelineItem?: Partial<TimelineItemProps>\n VisuallyHidden?: Partial<VisuallyHiddenProps>\n Drawer?: Partial<DrawerProps>\n Dialog?: Partial<DialogProps>\n Tooltip?: Partial<TooltipProps>\n Section?: Partial<SectionProps>\n ScrollView?: Partial<ScrollViewProps>\n Upload?: Partial<UploadProps>\n Skeleton?: Partial<SkeletonProps>\n HelpButton?: Partial<HelpButtonProps>\n Table?: Partial<TableProps>\n GlobalError?: Partial<GlobalErrorProps>\n Modal?: Partial<ModalProps>\n Accordion?: Partial<AccordionProps>\n StepIndicator?: Partial<StepIndicatorProps>\n FormLabel?: Partial<FormLabelProps>\n Input?: Partial<InputProps>\n ProgressIndicator?: Partial<ProgressIndicatorProps>\n FormStatus?: Partial<FormStatusProps>\n Logo?: Partial<LogoProps>\n Icon?: Partial<IconProps>\n IconPrimary?: Partial<IconPrimaryProps>\n\n // -- TODO: Not converted yet --\n NumberFormat?: Record<string, unknown>\n Pagination?: Record<string, unknown>\n\n /**\n * @deprecated – can be removed in v11\n */\n FormRow?: FormRowProps\n\n // Common props\n formElement?: FormElementProps\n}\n\nexport type ContextProps = ContextComponents & {\n // -- All TypeScript based Eufemia components --\n\n // -- Global properties --\n\n /**\n * Contains theme related properties, such as a theme name\n */\n theme?: ThemeProps\n\n /**\n * Will enable all skeletons inside this provider/context scope\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what breakpoints should be used by the MediaQuery component and hook\n */\n breakpoints?: Record<string, string>\n\n /**\n * Defines the locale (internal translation) used by some components\n */\n locale?: InternalLocale\n\n /**\n * Internal translations used by the components and hooks\n */\n translation?: Translation\n\n /**\n * Defines the currency used by the NumberFormat component\n */\n currency?: NumberFormatCurrency\n\n /**\n * Defines the currencyDisplay used by the NumberFormat component\n */\n currency_display?: string\n\n /**\n * Update any given provider/context properties\n */\n update?: (props: ContextProps) => void\n\n /**\n * Update any given provider/context properties, but only for the particular scope\n */\n updateCurrent?: (props: ContextProps) => void\n\n /**\n * Update the used locale from within the context\n */\n setLocale?: (locale: InternalLocale) => void\n\n /**\n * Update the used locale from within the context, but only for the particular scope\n */\n setCurrentLocale?: (locale: InternalLocale) => void\n\n /**\n * Overwrite existing internal translation strings or define new strings via the Provider\n */\n translations?: Translations | TranslationCustomLocales\n\n /**\n * @deprecated Use `translations` instead\n */\n locales?: Translations | TranslationCustomLocales\n\n // -- For internal use --\n __context__?: Record<string, unknown>\n updateTranslation?: (\n locale: InternalLocale,\n translation: Translation\n ) => void\n getTranslation?: (props: GetTranslationProps) => Translation\n}\n\nexport type GetTranslationProps = Partial<{\n lang?: InternalLocale | HTMLElement['lang']\n locale?: InternalLocale\n}>\n\nexport type Locale = TranslationLocale | 'en-US'\nexport type AnyLocale = string\nexport type InternalLocale =\n | Locale\n // more strict type definitions than string breaks applications using React Intl.\n | AnyLocale\nexport type ComponentTranslationsName = keyof ContextComponents | string\nexport type ComponentTranslation = string\nexport type Translations =\n | Partial<Record<InternalLocale, Translation | TranslationFlat>>\n | Partial<Record<InternalLocale, FormsTranslation>>\nexport type TranslationDefaultLocales = typeof defaultLocales\nexport type TranslationLocale = keyof TranslationDefaultLocales\nexport type TranslationKeys =\n keyof TranslationDefaultLocales[TranslationLocale]\nexport type TranslationValues =\n TranslationDefaultLocales[TranslationLocale]\nexport type TranslationCustomLocales = Record<\n never,\n string | Record<string, string>\n>\n\n/**\n * E.g. \"HelpButton: { title: '...' }\"\n */\nexport type Translation = DeepPartial<TranslationValues>\n\n/**\n * E.g. \"HelpButton.title\"\n */\nexport type TranslationFlat = Record<\n ComponentTranslationsName,\n TranslationKeys | ComponentTranslation\n>\n\nexport type TranslationFlatToObject<T> = T extends Record<string, unknown>\n ? {\n // eslint-disable-next-line no-unused-vars\n [K in keyof T as K extends `${infer First}.${infer Rest}`\n ? First\n : // eslint-disable-next-line no-unused-vars\n K]: K extends `${infer First}.${infer Rest}`\n ? TranslationFlatToObject<Record<Rest, T[K]>>\n : T[K]\n }\n : T\n\nexport function prepareContext<Props>(\n props: ContextProps = {}\n): Props & ContextProps {\n if (props?.__context__) {\n props = Object.assign({}, props, props.__context__)\n delete props.__context__\n }\n\n const translations: Translations =\n props.translations || props.locales\n ? extendDeep({}, defaultLocales, props.translations || props.locales)\n : extendDeep({}, defaultLocales)\n\n const localeWithFallback = handleLocaleFallbacks(\n props.locale || LOCALE,\n props.translations || props.locales\n )\n\n /**\n * The code above adds support for strings, defined like:\n * {\n * \"Modal.close_title\": \"Lukk\",\n * }\n */\n for (const locale in translations) {\n translations[locale] = destructFlatTranslation(\n translations[locale] as TranslationFlat\n )\n }\n\n const translation =\n translations[localeWithFallback] || defaultLocales[LOCALE] || {}\n\n const context = {\n ...props,\n updateTranslation: (locale, newTranslations) => {\n context.translation =\n newTranslations[locale] || newTranslations[LOCALE]\n context.translations = newTranslations\n\n if (context.locales) {\n context.locales = context.translations\n }\n },\n getTranslation: (localProps) => {\n if (localProps) {\n const locale = localProps.lang || localProps.locale\n if (\n locale &&\n (context.translations || context.locales)[locale] &&\n locale !== localeWithFallback\n ) {\n const tr = context.translations || context.locales\n return tr[locale]\n }\n }\n return context.translation || defaultLocales[LOCALE]\n },\n\n /**\n * Make sure we set this after props, since we update this one!\n */\n locales: translations, // @deprecated – can be removed in v11\n translations,\n translation,\n } as Props & ContextProps\n\n return { ...context }\n}\n\nfunction handleLocaleFallbacks(\n locale: InternalLocale | AnyLocale,\n translations: Translations = {}\n) {\n if (locale === 'en' || String(locale).split('-')[0] === 'en') {\n return 'en-GB'\n }\n return translations[locale] ? locale : LOCALE\n}\n\n// If no provider is given, we use the default context from here\nconst Context = createContext<ContextProps>(\n prepareContext({\n locale: LOCALE,\n currency: CURRENCY,\n currency_display: CURRENCY_DISPLAY,\n })\n)\n\nexport default Context\n\nexport function destructFlatTranslation(source: TranslationFlat) {\n let hasFlatTr = false\n const destructed = {}\n\n for (const k in source) {\n if (String(k).includes('.')) {\n pointer.set(destructed, '/' + k.replace(/\\./g, '/'), source[k])\n hasFlatTr = true\n }\n }\n\n if (hasFlatTr) {\n return extendDeep({}, source, destructed)\n }\n\n return source\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Context.js","names":["_react","require","_defaults","_locales","_interopRequireDefault","_componentHelper","_jsonPointer","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","prepareContext","_props","props","__context__","assign","translations","locales","extendDeep","defaultLocales","localeWithFallback","handleLocaleFallbacks","locale","LOCALE","destructFlatTranslation","translation","context","updateTranslation","newTranslations","getTranslation","localProps","lang","tr","split","Context","createContext","currency","CURRENCY","currency_display","CURRENCY_DISPLAY","_default","exports","hasFlatTr","destructed","k","includes","pointer","set","replace"],"sources":["../../../src/shared/Context.tsx"],"sourcesContent":["/**\n * Web Context Context\n *\n */\n\nimport { createContext } from 'react'\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from './defaults'\nimport defaultLocales from './locales'\nimport { extendDeep } from './component-helper'\nimport pointer from '../extensions/forms/utils/json-pointer'\n\n// All TypeScript based Eufemia elements\nimport type { ScrollViewProps } from '../fragments/scroll-view/ScrollView'\n\n// All TypeScript based Eufemia components\nimport type { AnchorProps } from '../components/Anchor'\nimport type { ButtonProps } from '../components/button/Button'\nimport type { AvatarProps } from '../components/avatar/Avatar'\nimport type { AvatarGroupProps } from '../components/avatar/AvatarGroup'\nimport type { BadgeProps } from '../components/badge/Badge'\nimport type { BreadcrumbProps } from '../components/breadcrumb/Breadcrumb'\nimport type { BreadcrumbItemProps } from '../components/breadcrumb/BreadcrumbItem'\nimport type { CheckboxProps } from '../components/Checkbox'\nimport type { InfoCardProps } from '../components/info-card/InfoCard'\nimport type { SliderProps } from '../components/slider/Slider'\nimport type { TagProps } from '../components/tag/Tag'\nimport type { TagGroupProps } from '../components/tag/TagGroup'\nimport type { TimelineProps } from '../components/timeline/Timeline'\nimport type { TimelineItemProps } from '../components/timeline/TimelineItem'\nimport type { VisuallyHiddenProps } from '../components/visually-hidden/VisuallyHidden'\nimport type { DrawerProps } from '../components/drawer/types'\nimport type { DialogProps } from '../components/dialog/types'\nimport type { TooltipProps } from '../components/tooltip/types'\nimport type { SectionProps } from '../components/section/Section'\nimport type { FormRowProps } from '../components/form-row/FormRowHelpers'\nimport type { UploadProps } from '../components/upload/types'\nimport type { SkeletonProps, SkeletonShow } from '../components/Skeleton'\nimport type { HelpButtonProps } from '../components/HelpButton'\nimport type { TableProps } from '../components/Table'\nimport type { GlobalErrorProps } from '../components/GlobalError'\nimport type { ModalProps } from '../components/modal/types'\nimport type { AccordionProps } from '../components/Accordion'\nimport type { StepIndicatorProps } from '../components/StepIndicator'\nimport type { FormLabelProps } from '../components/FormLabel'\nimport type { InputProps } from '../components/Input'\nimport type { NumberFormatCurrency } from '../components/NumberFormat'\nimport type { ProgressIndicatorProps } from '../components/progress-indicator/types'\nimport type { FormStatusProps } from '../components/FormStatus'\nimport type { LogoProps } from '../components/Logo'\nimport type { IconProps } from '../components/Icon'\nimport type { IconPrimaryProps } from '../components/IconPrimary'\nimport { SwitchProps } from '../components/Switch'\n\nimport type { FormElementProps } from './helpers/filterValidProps'\nimport type { ThemeProps } from './Theme'\nimport type { FormsTranslation } from '../extensions/forms/hooks/useTranslation'\nimport type { DeepPartial } from './types'\n\nexport type ContextComponents = {\n Button?: Partial<ButtonProps>\n Anchor?: Partial<AnchorProps>\n Avatar?: Partial<AvatarProps>\n AvatarGroup?: Partial<AvatarGroupProps>\n Badge?: Partial<BadgeProps>\n Breadcrumb?: Partial<BreadcrumbProps>\n BreadcrumbItem?: Partial<BreadcrumbItemProps>\n Checkbox?: Partial<CheckboxProps>\n InfoCard?: Partial<InfoCardProps>\n Slider?: Partial<SliderProps>\n Tag?: Partial<TagProps>\n TagGroup?: Partial<TagGroupProps>\n Timeline?: Partial<TimelineProps>\n TimelineItem?: Partial<TimelineItemProps>\n VisuallyHidden?: Partial<VisuallyHiddenProps>\n Drawer?: Partial<DrawerProps>\n Dialog?: Partial<DialogProps>\n Tooltip?: Partial<TooltipProps>\n Section?: Partial<SectionProps>\n ScrollView?: Partial<ScrollViewProps>\n Upload?: Partial<UploadProps>\n Skeleton?: Partial<SkeletonProps>\n HelpButton?: Partial<HelpButtonProps>\n Table?: Partial<TableProps>\n GlobalError?: Partial<GlobalErrorProps>\n Modal?: Partial<ModalProps>\n Accordion?: Partial<AccordionProps>\n StepIndicator?: Partial<StepIndicatorProps>\n FormLabel?: Partial<FormLabelProps>\n Input?: Partial<InputProps>\n ProgressIndicator?: Partial<ProgressIndicatorProps>\n FormStatus?: Partial<FormStatusProps>\n Logo?: Partial<LogoProps>\n Icon?: Partial<IconProps>\n IconPrimary?: Partial<IconPrimaryProps>\n\n Switch?: Partial<SwitchProps>\n // -- TODO: Not converted yet --\n NumberFormat?: Record<string, unknown>\n Pagination?: Record<string, unknown>\n\n /**\n * @deprecated – can be removed in v11\n */\n FormRow?: FormRowProps\n\n // Common props\n formElement?: FormElementProps\n}\n\nexport type ContextProps = ContextComponents & {\n // -- All TypeScript based Eufemia components --\n\n // -- Global properties --\n\n /**\n * Contains theme related properties, such as a theme name\n */\n theme?: ThemeProps\n\n /**\n * Will enable all skeletons inside this provider/context scope\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what breakpoints should be used by the MediaQuery component and hook\n */\n breakpoints?: Record<string, string>\n\n /**\n * Defines the locale (internal translation) used by some components\n */\n locale?: InternalLocale\n\n /**\n * Internal translations used by the components and hooks\n */\n translation?: Translation\n\n /**\n * Defines the currency used by the NumberFormat component\n */\n currency?: NumberFormatCurrency\n\n /**\n * Defines the currencyDisplay used by the NumberFormat component\n */\n currency_display?: string\n\n /**\n * Update any given provider/context properties\n */\n update?: (props: ContextProps) => void\n\n /**\n * Update any given provider/context properties, but only for the particular scope\n */\n updateCurrent?: (props: ContextProps) => void\n\n /**\n * Update the used locale from within the context\n */\n setLocale?: (locale: InternalLocale) => void\n\n /**\n * Update the used locale from within the context, but only for the particular scope\n */\n setCurrentLocale?: (locale: InternalLocale) => void\n\n /**\n * Overwrite existing internal translation strings or define new strings via the Provider\n */\n translations?: Translations | TranslationCustomLocales\n\n /**\n * @deprecated Use `translations` instead\n */\n locales?: Translations | TranslationCustomLocales\n\n // -- For internal use --\n __context__?: Record<string, unknown>\n updateTranslation?: (\n locale: InternalLocale,\n translation: Translation\n ) => void\n getTranslation?: (props: GetTranslationProps) => Translation\n}\n\nexport type GetTranslationProps = Partial<{\n lang?: InternalLocale | HTMLElement['lang']\n locale?: InternalLocale\n}>\n\nexport type Locale = TranslationLocale | 'en-US'\nexport type AnyLocale = string\nexport type InternalLocale =\n | Locale\n // more strict type definitions than string breaks applications using React Intl.\n | AnyLocale\nexport type ComponentTranslationsName = keyof ContextComponents | string\nexport type ComponentTranslation = string\nexport type Translations =\n | Partial<Record<InternalLocale, Translation | TranslationFlat>>\n | Partial<Record<InternalLocale, FormsTranslation>>\nexport type TranslationDefaultLocales = typeof defaultLocales\nexport type TranslationLocale = keyof TranslationDefaultLocales\nexport type TranslationKeys =\n keyof TranslationDefaultLocales[TranslationLocale]\nexport type TranslationValues =\n TranslationDefaultLocales[TranslationLocale]\nexport type TranslationCustomLocales = Record<\n never,\n string | Record<string, string>\n>\n\n/**\n * E.g. \"HelpButton: { title: '...' }\"\n */\nexport type Translation = DeepPartial<TranslationValues>\n\n/**\n * E.g. \"HelpButton.title\"\n */\nexport type TranslationFlat = Record<\n ComponentTranslationsName,\n TranslationKeys | ComponentTranslation\n>\n\nexport type TranslationFlatToObject<T> = T extends Record<string, unknown>\n ? {\n // eslint-disable-next-line\n [K in keyof T as K extends `${infer First}.${infer Rest}`\n ? First\n : // eslint-disable-next-line\n K]: K extends `${infer First}.${infer Rest}`\n ? TranslationFlatToObject<Record<Rest, T[K]>>\n : T[K]\n }\n : T\n\nexport function prepareContext<Props>(\n props: ContextProps = {}\n): Props & ContextProps {\n if (props?.__context__) {\n props = Object.assign({}, props, props.__context__)\n delete props.__context__\n }\n\n const translations: Translations =\n props.translations || props.locales\n ? extendDeep({}, defaultLocales, props.translations || props.locales)\n : extendDeep({}, defaultLocales)\n\n const localeWithFallback = handleLocaleFallbacks(\n props.locale || LOCALE,\n props.translations || props.locales\n )\n\n /**\n * The code above adds support for strings, defined like:\n * {\n * \"Modal.close_title\": \"Lukk\",\n * }\n */\n for (const locale in translations) {\n translations[locale] = destructFlatTranslation(\n translations[locale] as TranslationFlat\n )\n }\n\n const translation =\n translations[localeWithFallback] || defaultLocales[LOCALE] || {}\n\n const context = {\n ...props,\n updateTranslation: (locale, newTranslations) => {\n context.translation =\n newTranslations[locale] || newTranslations[LOCALE]\n context.translations = newTranslations\n\n if (context.locales) {\n context.locales = context.translations\n }\n },\n getTranslation: (localProps) => {\n if (localProps) {\n const locale = localProps.lang || localProps.locale\n if (\n locale &&\n (context.translations || context.locales)[locale] &&\n locale !== localeWithFallback\n ) {\n const tr = context.translations || context.locales\n return tr[locale]\n }\n }\n return context.translation || defaultLocales[LOCALE]\n },\n\n /**\n * Make sure we set this after props, since we update this one!\n */\n locales: translations, // @deprecated – can be removed in v11\n translations,\n translation,\n } as Props & ContextProps\n\n return { ...context }\n}\n\nfunction handleLocaleFallbacks(\n locale: InternalLocale | AnyLocale,\n translations: Translations = {}\n) {\n if (locale === 'en' || String(locale).split('-')[0] === 'en') {\n return 'en-GB'\n }\n return translations[locale] ? locale : LOCALE\n}\n\n// If no provider is given, we use the default context from here\nconst Context = createContext<ContextProps>(\n prepareContext({\n locale: LOCALE,\n currency: CURRENCY,\n currency_display: CURRENCY_DISPLAY,\n })\n)\n\nexport default Context\n\nexport function destructFlatTranslation(source: TranslationFlat) {\n let hasFlatTr = false\n const destructed = {}\n\n for (const k in source) {\n if (String(k).includes('.')) {\n pointer.set(destructed, '/' + k.replace(/\\./g, '/'), source[k])\n hasFlatTr = true\n }\n }\n\n if (hasFlatTr) {\n return extendDeep({}, source, destructed)\n }\n\n return source\n}\n"],"mappings":"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"}
|
package/cjs/shared/Eufemia.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "10.
|
|
1
|
+
export declare const version = "10.51.0";
|
|
2
2
|
export declare function init(): void;
|
package/cjs/shared/Eufemia.js
CHANGED
|
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.init = init;
|
|
7
7
|
exports.version = void 0;
|
|
8
|
-
const version = '10.
|
|
8
|
+
const version = '10.51.0';
|
|
9
9
|
exports.version = version;
|
|
10
10
|
function init() {
|
|
11
11
|
if (typeof window !== 'undefined') {
|
|
12
12
|
class Eufemia {
|
|
13
13
|
get version() {
|
|
14
|
-
return '10.
|
|
14
|
+
return '10.51.0';
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
window.Eufemia = new Eufemia();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.
|
|
1
|
+
{"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.51.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.51.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
|
|
@@ -109,10 +109,10 @@ function buildQuery() {
|
|
|
109
109
|
let listOfQueries = [];
|
|
110
110
|
if (Array.isArray(when)) {
|
|
111
111
|
listOfQueries = listOfQueries.concat(combineQueries(when, breakpoints, options));
|
|
112
|
-
} else if (
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
115
|
-
listOfQueries.push(
|
|
112
|
+
} else if (typeof when === 'object') {
|
|
113
|
+
const queryItem = convertToMediaQuery(when, breakpoints, options);
|
|
114
|
+
if (queryItem) {
|
|
115
|
+
listOfQueries.push(queryItem);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
if (listOfQueries.length > 0) {
|
|
@@ -142,14 +142,8 @@ function combineQueries(queries) {
|
|
|
142
142
|
}
|
|
143
143
|
const query = convertToMediaQuery(when, breakpoints, options);
|
|
144
144
|
if (query) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
listOfQueries.push('and');
|
|
148
|
-
break;
|
|
149
|
-
case 'or':
|
|
150
|
-
default:
|
|
151
|
-
listOfQueries.push(', ');
|
|
152
|
-
break;
|
|
145
|
+
if (query !== 'and' && arr[i - 1] !== 'and') {
|
|
146
|
+
listOfQueries.push(', ');
|
|
153
147
|
}
|
|
154
148
|
listOfQueries.push(query);
|
|
155
149
|
}
|
|
@@ -175,7 +169,10 @@ function convertToMediaQuery(query) {
|
|
|
175
169
|
return query.reduce((acc, q, index) => {
|
|
176
170
|
acc += objToMediaQuery(q, breakpoints, options);
|
|
177
171
|
if (index < query.length - 1) {
|
|
178
|
-
|
|
172
|
+
if (q !== 'and' && query[index + 1] !== 'and') {
|
|
173
|
+
acc += ',';
|
|
174
|
+
}
|
|
175
|
+
acc += ' ';
|
|
179
176
|
}
|
|
180
177
|
return acc;
|
|
181
178
|
}, '');
|
|
@@ -185,6 +182,9 @@ function convertToMediaQuery(query) {
|
|
|
185
182
|
function objToMediaQuery(obj) {
|
|
186
183
|
let breakpoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
187
184
|
let options = arguments.length > 2 ? arguments[2] : undefined;
|
|
185
|
+
if (typeof obj === 'string') {
|
|
186
|
+
return obj;
|
|
187
|
+
}
|
|
188
188
|
let hasNot = false;
|
|
189
189
|
let query = Object.keys(obj).reduce((acc, feature) => {
|
|
190
190
|
let value = obj[feature];
|
|
@@ -193,6 +193,9 @@ function objToMediaQuery(obj) {
|
|
|
193
193
|
hasNot = true;
|
|
194
194
|
return acc;
|
|
195
195
|
}
|
|
196
|
+
if (feature === 'monochrome') {
|
|
197
|
+
feature = `(${feature})`;
|
|
198
|
+
}
|
|
196
199
|
if (feature === 'min' || feature === 'max') {
|
|
197
200
|
feature = `${feature}-width`;
|
|
198
201
|
}
|
|
@@ -220,7 +223,7 @@ function objToMediaQuery(obj) {
|
|
|
220
223
|
if (options !== null && options !== void 0 && options.correctRange && /\(min-width: [0-9]+em\)/.test(query)) {
|
|
221
224
|
const size = parseFloat(query.match(/\(min-width: ([0-9]+)em\)/)[1]) || 0;
|
|
222
225
|
if (size > 0) {
|
|
223
|
-
const correctedSize = (size * 16 + 1) / 16;
|
|
226
|
+
const correctedSize = (size * 16 + 0.1) / 16;
|
|
224
227
|
query = query.replace(/(min-width: [0-9]+em)/, `min-width: ${correctedSize}em`);
|
|
225
228
|
}
|
|
226
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaQueryUtils.js","names":["_componentHelper","require","_helpers","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","defaultBreakpoints","small","medium","large","exports","onMediaQueryChange","property","callback","runOnInit","query","when","not","mediaQueryList","makeMediaQueryList","matches","createMediaQueryListener","isMatchMediaSupported","window","matchMedia","breakpoints","options","isSupported","disabled","buildQuery","mediaQueryString","convertToMediaQuery","log","warn","listener","event","addEventListener","removeEventListener","split","listOfQueries","Array","isArray","concat","combineQueries","join","Boolean","replace","isTrue","reverseQuery","startsWith","test","queries","reduce","arr","mergeBreakpoints","entries","sort","a","b","acc","_ref","q","index","objToMediaQuery","hasNot","feature","toKebabCase","getValueByFeature","correctRange","size","parseFloat","match","correctedSize","types","prototype","hasOwnProperty"],"sources":["../../../src/shared/MediaQueryUtils.ts"],"sourcesContent":["import { isTrue, toKebabCase } from './component-helper'\nimport { warn } from './helpers'\n\nexport type MediaQuerySizes =\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\nexport type MediaQueryBreakpoints = Partial<\n Record<MediaQuerySizes, string>\n>\n\nexport const defaultBreakpoints: MediaQueryBreakpoints = {\n small: '40em',\n medium: '60em',\n large: '72em',\n 'x-large': '80em',\n 'xx-large': '90em',\n}\n\nexport type MediaQueryCondition =\n | {\n min?: number | string | MediaQuerySizes\n max?: number | string | MediaQuerySizes\n screen?: boolean\n minWidth?: number | string | MediaQuerySizes\n maxWidth?: number | string | MediaQuerySizes\n orientation?: string\n handheld?: boolean\n not?: boolean\n all?: boolean\n monochrome?: boolean\n aspectRatio?: string\n }\n | string\n\nexport type MediaQueryProperties = {\n /**\n * A MediaQuery as a string similar to the CSS API, but without `@media`.\n */\n query?: MediaQueryCondition\n\n /**\n * Define a list of sizes to match, given as an object `{ min: 'small', max: 'medium' }` or as an array `[{ min: 'small', max: 'medium' }, { min: 'medium', max: 'large' }]`.\n */\n when?: MediaQueryCondition | Array<MediaQueryCondition>\n\n /**\n * Reverts the defined queries as a whole.\n */\n not?: boolean\n} & MediaQueryCondition\n\nexport type MediaQueryOptions = {\n /**\n * If set to true, no MediaQuery will be used.\n */\n disabled?: boolean\n\n /**\n * Will correct the size of the media query ranges (e.g. medium will be from 40.0625em to 60em)\n * Default: true\n */\n correctRange?: boolean\n\n /**\n * For debugging\n */\n log?: boolean\n}\n\nexport type MediaQueryListener = () => void\n\nexport type MediaQueryProps = {\n /**\n * If set to true, it will match and return the given children during SSR.\n */\n matchOnSSR?: boolean\n\n children?: React.ReactNode\n} & MediaQueryProperties &\n MediaQueryOptions\n\nexport type MediaQueryState = {\n match?: boolean | null\n mediaQueryList?: { matches: boolean }\n}\n\n/**\n * Adds a listener to a given MediaQuery\n */\nexport function onMediaQueryChange(\n property: MediaQueryProperties | string,\n callback?: (matches: boolean, mediaQueryList: MediaQueryList) => void,\n { runOnInit = false } = {}\n): MediaQueryListener {\n let query = property\n let when = null\n let not = null\n\n if (property && typeof property === 'object') {\n query = null\n when = property.when || property\n not = property.not\n }\n\n const mediaQueryList = makeMediaQueryList({ query, when, not })\n\n if (runOnInit) {\n if (typeof callback === 'function') {\n callback(mediaQueryList?.matches, mediaQueryList)\n }\n }\n\n return createMediaQueryListener(mediaQueryList, callback)\n}\n\n/**\n * Returns a boolean for whether window.matchMedia is supported or not\n */\nexport const isMatchMediaSupported = (): boolean =>\n typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined'\n\n/**\n * Convert user defined media queries to an valid MediaQueryList we can assign a listener to\n */\nexport function makeMediaQueryList(\n { query, when, not = null }: MediaQueryProperties = {},\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): MediaQueryList {\n const isSupported = isMatchMediaSupported()\n\n if (options?.disabled || !isSupported) {\n return null\n }\n\n if (when) {\n query = buildQuery({ query, when, not }, breakpoints, options)\n }\n\n const mediaQueryString = convertToMediaQuery(query, breakpoints, options)\n const mediaQueryList = window.matchMedia(mediaQueryString)\n\n if (options?.log) {\n warn('MediaQuery:', mediaQueryString)\n }\n\n return mediaQueryList\n}\n\n/**\n * Adds a listener to the window.matchMedia Browser API\n */\nexport function createMediaQueryListener(\n mediaQueryList: MediaQueryList,\n callback: (matches: boolean, event: Partial<MediaQueryListEvent>) => void\n): MediaQueryListener {\n if (!mediaQueryList) {\n return () => null\n }\n\n const listener = (event: MediaQueryListEvent) => {\n if (typeof callback === 'function') {\n callback(event?.matches, event)\n }\n }\n if (mediaQueryList?.addEventListener) {\n mediaQueryList.addEventListener('change', listener)\n }\n\n return () => {\n if (mediaQueryList?.removeEventListener) {\n mediaQueryList.removeEventListener('change', listener)\n }\n }\n}\n\n/**\n * Builds a valid media query we can use on window.matchMedia(...)\n */\nexport function buildQuery(\n { query = null, when = null, not = null }: MediaQueryProperties = {},\n breakpoints?: MediaQueryBreakpoints,\n options?: MediaQueryOptions\n) {\n if (when) {\n if (typeof when === 'string') {\n when = when.split(/[ ,]/g)\n }\n\n let listOfQueries = []\n\n if (Array.isArray(when)) {\n listOfQueries = listOfQueries.concat(\n combineQueries(when, breakpoints, options)\n )\n } else if (when && typeof when === 'object') {\n const query = convertToMediaQuery(when, breakpoints, options)\n if (query) {\n listOfQueries.push(query)\n }\n }\n\n if (listOfQueries.length > 0) {\n query = [listOfQueries.join(' '), query || '']\n .filter(Boolean)\n .join(' and ')\n .replace(/ +/g, ' ')\n .replace(/ ,/g, ',')\n }\n }\n\n if (isTrue(not)) {\n query = reverseQuery(String(query))\n }\n\n return query || 'not'\n}\n\n/**\n * Reverses a media query\n */\nfunction reverseQuery(query: string) {\n if (query.startsWith('not')) {\n return query.replace(/^not +/, '')\n }\n if (!/^(screen|all|print|speech)/.test(query)) {\n query = `all and ${query}`\n }\n return `not ${query}`\n}\n\n/**\n * Builds a list of queries based on sizing types, like small, medium\n */\nfunction combineQueries(\n queries: Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n) {\n return queries\n .reduce((listOfQueries, when, i, arr) => {\n if (breakpoints) {\n breakpoints = mergeBreakpoints(breakpoints)\n }\n\n const query = convertToMediaQuery(when, breakpoints, options)\n\n if (query) {\n switch (arr[i - 1]) {\n case 'and':\n listOfQueries.push('and')\n break\n\n case 'or':\n default:\n listOfQueries.push(', ')\n break\n }\n\n listOfQueries.push(query)\n }\n\n return listOfQueries\n }, [])\n .filter((query, i) => {\n return !(i === 0 && query.startsWith(', '))\n })\n}\n\n/**\n * If custom breakpoints are given, we order them by the value\n * and return again an object as before\n */\nfunction mergeBreakpoints(breakpoints: MediaQueryBreakpoints) {\n return Object.entries({\n ...defaultBreakpoints,\n ...breakpoints,\n })\n .sort((a, b) => (a[1] > b[1] ? 1 : -1))\n .reduce((acc, [key, value]) => {\n acc[key] = value\n return acc\n }, {})\n}\n\n/**\n * Convert a media query from various formats to a valid string based media query\n */\nexport function convertToMediaQuery(\n query: MediaQueryCondition | Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n if (typeof query === 'string') {\n return query\n }\n\n // Handling array of media queries\n if (Array.isArray(query)) {\n return query.reduce((acc, q, index) => {\n acc += objToMediaQuery(q, breakpoints, options)\n if (index < query.length - 1) {\n acc += ', '\n }\n\n return acc\n }, '') as string\n }\n\n // Handling single media query\n return objToMediaQuery(query, breakpoints, options)\n}\n\n/**\n * Converts an object with PascalCase defined properties to string based media queries\n */\nfunction objToMediaQuery(\n obj: MediaQueryCondition,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n let hasNot = false\n let query: string | Array<null> = Object.keys(obj).reduce(\n (acc, feature) => {\n let value = obj[feature]\n feature = toKebabCase(feature)\n\n if (feature === 'not') {\n hasNot = true\n return acc\n }\n\n if (feature === 'min' || feature === 'max') {\n feature = `${feature}-width`\n }\n\n // Add em to dimension features\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = value + 'em'\n }\n\n if (value === true) {\n acc.push(feature)\n } else if (value === false) {\n acc.push('not ' + feature)\n } else {\n value = getValueByFeature(value, breakpoints)\n if (typeof value !== 'undefined') {\n acc.push(`(${feature}: ${value})`)\n }\n }\n\n return acc\n },\n []\n )\n\n if (Array.isArray(query)) {\n query = query.length > 0 ? query.join(' and ') : query.join('')\n }\n\n if (hasNot) {\n query = reverseQuery(query)\n }\n\n if (options?.correctRange && /\\(min-width: [0-9]+em\\)/.test(query)) {\n const size =\n parseFloat(query.match(/\\(min-width: ([0-9]+)em\\)/)[1]) || 0\n if (size > 0) {\n const correctedSize = (size * 16 + 1) / 16\n query = query.replace(\n /(min-width: [0-9]+em)/,\n `min-width: ${correctedSize}em`\n )\n }\n }\n\n return query\n}\n\n/**\n * Corrects breakpoint types\n */\nfunction getValueByFeature(\n value: string,\n types: MediaQueryBreakpoints = null\n) {\n types = types || defaultBreakpoints\n if (Object.prototype.hasOwnProperty.call(types, value)) {\n value = types[value]\n }\n return value\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MediaQueryUtils.js","names":["_componentHelper","require","_helpers","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","defaultBreakpoints","small","medium","large","exports","onMediaQueryChange","property","callback","runOnInit","query","when","not","mediaQueryList","makeMediaQueryList","matches","createMediaQueryListener","isMatchMediaSupported","window","matchMedia","breakpoints","options","isSupported","disabled","buildQuery","mediaQueryString","convertToMediaQuery","log","warn","listener","event","addEventListener","removeEventListener","split","listOfQueries","Array","isArray","concat","combineQueries","queryItem","join","Boolean","replace","isTrue","reverseQuery","startsWith","test","queries","reduce","arr","mergeBreakpoints","entries","sort","a","b","acc","_ref","q","index","objToMediaQuery","hasNot","feature","toKebabCase","getValueByFeature","correctRange","size","parseFloat","match","correctedSize","types","prototype","hasOwnProperty"],"sources":["../../../src/shared/MediaQueryUtils.ts"],"sourcesContent":["import { isTrue, toKebabCase } from './component-helper'\nimport { warn } from './helpers'\n\nexport type MediaQuerySizes =\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\nexport type MediaQueryBreakpoints = Partial<\n Record<MediaQuerySizes, string>\n>\n\nexport const defaultBreakpoints: MediaQueryBreakpoints = {\n small: '40em',\n medium: '60em',\n large: '72em',\n 'x-large': '80em',\n 'xx-large': '90em',\n}\n\nexport type MediaQueryCondition =\n | {\n min?: number | string | MediaQuerySizes\n max?: number | string | MediaQuerySizes\n screen?: boolean\n minWidth?: number | string | MediaQuerySizes\n maxWidth?: number | string | MediaQuerySizes\n orientation?: string\n not?: boolean\n all?: boolean\n monochrome?: boolean\n aspectRatio?: string\n }\n | string\n\nexport type MediaQueryProperties = {\n /**\n * A MediaQuery as a string similar to the CSS API, but without `@media`.\n */\n query?: MediaQueryCondition\n\n /**\n * Define a list of sizes to match, given as an object `{ min: 'small', max: 'medium' }` or as an array `[{ min: 'small', max: 'medium' }, { min: 'medium', max: 'large' }]`.\n */\n when?: MediaQueryCondition | Array<MediaQueryCondition>\n\n /**\n * Reverts the defined queries as a whole.\n */\n not?: boolean\n} & MediaQueryCondition\n\nexport type MediaQueryOptions = {\n /**\n * If set to true, no MediaQuery will be used.\n */\n disabled?: boolean\n\n /**\n * Will correct the size of the media query ranges (e.g. medium will be from 40.0625em to 60em)\n * Default: true\n */\n correctRange?: boolean\n\n /**\n * For debugging\n */\n log?: boolean\n}\n\nexport type MediaQueryListener = () => void\n\nexport type MediaQueryProps = {\n /**\n * If set to true, it will match and return the given children during SSR.\n */\n matchOnSSR?: boolean\n\n children?: React.ReactNode\n} & MediaQueryProperties &\n MediaQueryOptions\n\nexport type MediaQueryState = {\n match?: boolean | null\n mediaQueryList?: { matches: boolean }\n}\n\n/**\n * Adds a listener to a given MediaQuery\n */\nexport function onMediaQueryChange(\n property: MediaQueryProperties | string,\n callback?: (matches: boolean, mediaQueryList: MediaQueryList) => void,\n { runOnInit = false } = {}\n): MediaQueryListener {\n let query = property\n let when = null\n let not = null\n\n if (property && typeof property === 'object') {\n query = null\n when = property.when || property\n not = property.not\n }\n\n const mediaQueryList = makeMediaQueryList({ query, when, not })\n\n if (runOnInit) {\n if (typeof callback === 'function') {\n callback(mediaQueryList?.matches, mediaQueryList)\n }\n }\n\n return createMediaQueryListener(mediaQueryList, callback)\n}\n\n/**\n * Returns a boolean for whether window.matchMedia is supported or not\n */\nexport const isMatchMediaSupported = (): boolean =>\n typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined'\n\n/**\n * Convert user defined media queries to an valid MediaQueryList we can assign a listener to\n */\nexport function makeMediaQueryList(\n { query, when, not = null }: MediaQueryProperties = {},\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): MediaQueryList {\n const isSupported = isMatchMediaSupported()\n\n if (options?.disabled || !isSupported) {\n return null\n }\n\n if (when) {\n query = buildQuery({ query, when, not }, breakpoints, options)\n }\n\n const mediaQueryString = convertToMediaQuery(query, breakpoints, options)\n const mediaQueryList = window.matchMedia(mediaQueryString)\n\n if (options?.log) {\n warn('MediaQuery:', mediaQueryString)\n }\n\n return mediaQueryList\n}\n\n/**\n * Adds a listener to the window.matchMedia Browser API\n */\nexport function createMediaQueryListener(\n mediaQueryList: MediaQueryList,\n callback: (matches: boolean, event: Partial<MediaQueryListEvent>) => void\n): MediaQueryListener {\n if (!mediaQueryList) {\n return () => null\n }\n\n const listener = (event: MediaQueryListEvent) => {\n if (typeof callback === 'function') {\n callback(event?.matches, event)\n }\n }\n if (mediaQueryList?.addEventListener) {\n mediaQueryList.addEventListener('change', listener)\n }\n\n return () => {\n if (mediaQueryList?.removeEventListener) {\n mediaQueryList.removeEventListener('change', listener)\n }\n }\n}\n\n/**\n * Builds a valid media query we can use on window.matchMedia(...)\n */\nexport function buildQuery(\n { query = null, when = null, not = null }: MediaQueryProperties = {},\n breakpoints?: MediaQueryBreakpoints,\n options?: MediaQueryOptions\n) {\n if (when) {\n if (typeof when === 'string') {\n when = when.split(/[ ,]/g)\n }\n\n let listOfQueries = []\n\n if (Array.isArray(when)) {\n listOfQueries = listOfQueries.concat(\n combineQueries(when, breakpoints, options)\n )\n } else if (typeof when === 'object') {\n const queryItem = convertToMediaQuery(when, breakpoints, options)\n if (queryItem) {\n listOfQueries.push(queryItem)\n }\n }\n\n if (listOfQueries.length > 0) {\n query = [listOfQueries.join(' '), query || '']\n .filter(Boolean)\n .join(' and ')\n .replace(/ +/g, ' ')\n .replace(/ ,/g, ',')\n }\n }\n\n if (isTrue(not)) {\n query = reverseQuery(String(query))\n }\n\n return query || 'not'\n}\n\n/**\n * Reverses a media query\n */\nfunction reverseQuery(query: string) {\n if (query.startsWith('not')) {\n return query.replace(/^not +/, '')\n }\n if (!/^(screen|all|print|speech)/.test(query)) {\n query = `all and ${query}`\n }\n return `not ${query}`\n}\n\n/**\n * Builds a list of queries based on sizing types, like small, medium\n */\nfunction combineQueries(\n queries: Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n) {\n return queries\n .reduce((listOfQueries, when, i, arr) => {\n if (breakpoints) {\n breakpoints = mergeBreakpoints(breakpoints)\n }\n\n const query = convertToMediaQuery(when, breakpoints, options)\n\n if (query) {\n if (query !== 'and' && arr[i - 1] !== 'and') {\n listOfQueries.push(', ')\n }\n\n listOfQueries.push(query)\n }\n\n return listOfQueries\n }, [])\n .filter((query, i) => {\n return !(i === 0 && query.startsWith(', '))\n })\n}\n\n/**\n * If custom breakpoints are given, we order them by the value\n * and return again an object as before\n */\nfunction mergeBreakpoints(breakpoints: MediaQueryBreakpoints) {\n return Object.entries({\n ...defaultBreakpoints,\n ...breakpoints,\n })\n .sort((a, b) => (a[1] > b[1] ? 1 : -1))\n .reduce((acc, [key, value]) => {\n acc[key] = value\n return acc\n }, {})\n}\n\n/**\n * Convert a media query from various formats to a valid string based media query\n */\nexport function convertToMediaQuery(\n query: MediaQueryCondition | Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n if (typeof query === 'string') {\n return query\n }\n\n // Handling array of media queries\n if (Array.isArray(query)) {\n return query.reduce((acc, q, index) => {\n acc += objToMediaQuery(q, breakpoints, options)\n if (index < query.length - 1) {\n if (q !== 'and' && query[index + 1] !== 'and') {\n acc += ','\n }\n acc += ' '\n }\n return acc\n }, '') as string\n }\n\n // Handling single media query\n return objToMediaQuery(query, breakpoints, options)\n}\n\n/**\n * Converts an object with PascalCase defined properties to string based media queries\n */\nfunction objToMediaQuery(\n obj: MediaQueryCondition,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n if (typeof obj === 'string') {\n return obj\n }\n let hasNot = false\n let query: string | Array<null> = Object.keys(obj).reduce(\n (acc, feature) => {\n let value = obj[feature]\n feature = toKebabCase(feature)\n\n if (feature === 'not') {\n hasNot = true\n return acc\n }\n if (feature === 'monochrome') {\n feature = `(${feature})`\n }\n\n if (feature === 'min' || feature === 'max') {\n feature = `${feature}-width`\n }\n\n // Add em to dimension features\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = value + 'em'\n }\n\n if (value === true) {\n acc.push(feature)\n } else if (value === false) {\n acc.push('not ' + feature)\n } else {\n value = getValueByFeature(value, breakpoints)\n if (typeof value !== 'undefined') {\n acc.push(`(${feature}: ${value})`)\n }\n }\n\n return acc\n },\n []\n )\n\n if (Array.isArray(query)) {\n query = query.length > 0 ? query.join(' and ') : query.join('')\n }\n\n if (hasNot) {\n query = reverseQuery(query)\n }\n\n if (options?.correctRange && /\\(min-width: [0-9]+em\\)/.test(query)) {\n const size =\n parseFloat(query.match(/\\(min-width: ([0-9]+)em\\)/)[1]) || 0\n if (size > 0) {\n const correctedSize = (size * 16 + 0.1) / 16 // add 0.1px to the minimum to avoid overlap with and equivalent maximum\n query = query.replace(\n /(min-width: [0-9]+em)/,\n `min-width: ${correctedSize}em`\n )\n }\n }\n\n return query\n}\n\n/**\n * Corrects breakpoint types\n */\nfunction getValueByFeature(\n value: string,\n types: MediaQueryBreakpoints = null\n) {\n types = types || defaultBreakpoints\n if (Object.prototype.hasOwnProperty.call(types, value)) {\n value = types[value]\n }\n return value\n}\n"],"mappings":"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"}
|