@dnb/eufemia 10.51.1 → 10.51.2

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/cjs/components/badge/Badge.js +44 -37
  3. package/cjs/components/badge/Badge.js.map +1 -1
  4. package/cjs/extensions/forms/Field/Selection/Selection.js +1 -1
  5. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  6. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  7. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  8. package/cjs/extensions/forms/hooks/useFieldProps.js +23 -20
  9. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  10. package/cjs/extensions/forms/types.d.ts +2 -2
  11. package/cjs/extensions/forms/types.js.map +1 -1
  12. package/cjs/extensions/forms/utils/ajv.js +1 -1
  13. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  14. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  15. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  16. package/cjs/shared/Eufemia.d.ts +1 -1
  17. package/cjs/shared/Eufemia.js +2 -2
  18. package/cjs/shared/Eufemia.js.map +1 -1
  19. package/cjs/shared/locales/en-GB.js +1 -1
  20. package/cjs/shared/locales/en-GB.js.map +1 -1
  21. package/cjs/style/core/scopes.scss +1 -1
  22. package/cjs/style/dnb-ui-basis.css +1 -1
  23. package/cjs/style/dnb-ui-basis.min.css +1 -1
  24. package/cjs/style/dnb-ui-body.css +1 -1
  25. package/cjs/style/dnb-ui-body.min.css +1 -1
  26. package/cjs/style/dnb-ui-core.css +1 -1
  27. package/cjs/style/dnb-ui-core.min.css +1 -1
  28. package/components/badge/Badge.js +44 -37
  29. package/components/badge/Badge.js.map +1 -1
  30. package/es/components/badge/Badge.js +43 -36
  31. package/es/components/badge/Badge.js.map +1 -1
  32. package/es/extensions/forms/Field/Selection/Selection.js +1 -1
  33. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  34. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  35. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  36. package/es/extensions/forms/hooks/useFieldProps.js +22 -19
  37. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  38. package/es/extensions/forms/types.d.ts +2 -2
  39. package/es/extensions/forms/types.js.map +1 -1
  40. package/es/extensions/forms/utils/ajv.js +1 -1
  41. package/es/extensions/forms/utils/ajv.js.map +1 -1
  42. package/es/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  43. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  44. package/es/shared/Eufemia.d.ts +1 -1
  45. package/es/shared/Eufemia.js +2 -2
  46. package/es/shared/Eufemia.js.map +1 -1
  47. package/es/shared/locales/en-GB.js +1 -1
  48. package/es/shared/locales/en-GB.js.map +1 -1
  49. package/es/style/core/scopes.scss +1 -1
  50. package/es/style/dnb-ui-basis.css +1 -1
  51. package/es/style/dnb-ui-basis.min.css +1 -1
  52. package/es/style/dnb-ui-body.css +1 -1
  53. package/es/style/dnb-ui-body.min.css +1 -1
  54. package/es/style/dnb-ui-core.css +1 -1
  55. package/es/style/dnb-ui-core.min.css +1 -1
  56. package/esm/dnb-ui-basis.min.mjs +1 -1
  57. package/esm/dnb-ui-components.min.mjs +1 -1
  58. package/esm/dnb-ui-elements.min.mjs +1 -1
  59. package/esm/dnb-ui-extensions.min.mjs +2 -2
  60. package/esm/dnb-ui-lib.min.mjs +1 -1
  61. package/extensions/forms/Field/Selection/Selection.js +1 -1
  62. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  63. package/extensions/forms/Form/Visibility/Visibility.d.ts +2 -2
  64. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  65. package/extensions/forms/hooks/useFieldProps.js +22 -19
  66. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  67. package/extensions/forms/types.d.ts +2 -2
  68. package/extensions/forms/types.js.map +1 -1
  69. package/extensions/forms/utils/ajv.js +1 -1
  70. package/extensions/forms/utils/ajv.js.map +1 -1
  71. package/extensions/forms/utils/json-pointer/json-pointer.js +1 -1
  72. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -1
  73. package/package.json +1 -1
  74. package/shared/Eufemia.d.ts +1 -1
  75. package/shared/Eufemia.js +2 -2
  76. package/shared/Eufemia.js.map +1 -1
  77. package/shared/locales/en-GB.js +1 -1
  78. package/shared/locales/en-GB.js.map +1 -1
  79. package/style/core/scopes.scss +1 -1
  80. package/style/dnb-ui-basis.css +1 -1
  81. package/style/dnb-ui-basis.min.css +1 -1
  82. package/style/dnb-ui-body.css +1 -1
  83. package/style/dnb-ui-body.min.css +1 -1
  84. package/style/dnb-ui-core.css +1 -1
  85. package/style/dnb-ui-core.min.css +1 -1
  86. package/umd/dnb-ui-basis.min.js +1 -1
  87. package/umd/dnb-ui-components.min.js +1 -1
  88. package/umd/dnb-ui-elements.min.js +1 -1
  89. package/umd/dnb-ui-extensions.min.js +3 -3
  90. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","includes","omitDataValueReadProps","dataValueWriteProps","pickDataValueWriteProps","omitDataValueWriteProps","pickDataValueReadWriteProps","omitDataValueReadWriteProps"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from './utils/json-pointer'\nimport { AriaAttributes } from 'react'\nimport { FilterData, VisibleDataOptions } from './DataContext'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required: string\n}\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (\n internal: Value | unknown,\n additionalArgs?: unknown\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: React.ReactNode\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n customStatus?: unknown\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n | { customStatus: unknown }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: JsonObject,\n options?: VisibleDataOptions\n ) => Partial<JsonObject>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<JsonObject>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmitReturn =\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) => OnSubmitReturn\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: { clearData: () => void; preventCommit?: () => void }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = JsonObject> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":";AAwEA,OAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EAYnCC,WAAWA,CAACC,OAAe,EAAEC,OAA2B,EAAE;IACxD,KAAK,CAACD,OAAO,CAAC;IAAAE,eAAA;IAAAA,eAAA;IAEd,IAAID,OAAO,EAAE;MACX,KAAK,MAAME,GAAG,IAAIF,OAAO,EAAE;QACzB,IAAI,CAACE,GAAG,CAAC,GAAGF,OAAO,CAACE,GAAG,CAAC;MAC1B;IACF;EACF;AACF;AAkCA,MAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAExD,OAAO,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACP,GAAG,CAAC,KACvCC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CACjC,CACF,CAAC;AACH;AAEA,OAAO,SAASS,sBAAsBA,CACpCN,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KAAK,CAACC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CAC7C,CACF,CAAC;AACH;AAsBA,MAAMU,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAE3E,OAAO,SAASC,uBAAuBA,CACrCR,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACP,GAAG,CAAC,KACvCU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CAClC,CACF,CAAC;AACH;AAEA,OAAO,SAASY,uBAAuBA,CACrCT,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KAAK,CAACU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CAC9C,CACF,CAAC;AACH;AAOA,OAAO,SAASa,2BAA2BA,CAEzCV,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KACJC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CAAC,IAChCU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CACpC,CACF,CAAC;AACH;AAEA,OAAO,SAASc,2BAA2BA,CAGzCX,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KACJ,CAACC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CAAC,IACjC,CAACU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CACrC,CACF,CAAC;AACH"}
1
+ {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","includes","omitDataValueReadProps","dataValueWriteProps","pickDataValueWriteProps","omitDataValueWriteProps","pickDataValueReadWriteProps","omitDataValueReadWriteProps"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from './utils/json-pointer'\nimport { AriaAttributes } from 'react'\nimport { FilterData, VisibleDataOptions } from './DataContext'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersionsBasis<DataType> =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<DataType>\nexport type AllJSONSchemaVersions<DataType = unknown> =\n | AllJSONSchemaVersionsBasis<DataType>\n\n // In order to support \"schema = { ... } as const\"\n | (Omit<AllJSONSchemaVersionsBasis<DataType>, 'required'> & {\n required?: readonly string[]\n })\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\nexport type ValidatorReturnSync<Value> =\n | Error\n | undefined\n | void\n | Array<Validator<Value>>\n\nexport type ValidatorReturnAsync<Value> =\n | ValidatorReturnSync<Value>\n | Promise<ValidatorReturnSync<Value>>\nexport type Validator<Value, ErrorMessages = DefaultErrorMessages> = (\n value: Value,\n additionalArgs?: ValidatorAdditionalArgs<Value, ErrorMessages>\n) => ValidatorReturnAsync<Value>\nexport type ValidatorAdditionalArgs<\n Value,\n ErrorMessages = DefaultErrorMessages,\n> = {\n /**\n * Returns the error messages from the { errorMessages } object.\n */\n errorMessages: ErrorMessages\n\n /**\n * Connects the validator to another field.\n * This allows you to rerun the validator function once the value of the connected field changes.\n */\n connectWithPath: (path: Path) => { getValue: () => Value }\n\n /**\n * Returns the validators from the { exportValidators } object.\n */\n validators: Record<string, Validator<Value>>\n} & {\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n pattern: string\n /** @deprecated use the error messages from the { errorMessages } object instead. */\n required: string\n}\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: Path\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: Path\n /** Source data value for the field. Will take precedence over the path value given in the data context */\n value?: Value\n /** Default source data value for the field. Will not take precedence over the path value given in the data context */\n defaultValue?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\ntype EventArgs<\n Value,\n ExtraValue extends AdditionalEventArgs,\n> = ExtraValue extends undefined\n ? [value: Value]\n : [value: Value, additionalArgs?: ExtraValue]\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ExtraValue extends AdditionalEventArgs = undefined,\n> {\n emptyValue?: EmptyValue\n onFocus?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onBlur?: (...args: EventArgs<Value | EmptyValue, ExtraValue>) => void\n onChange?: (\n ...args: EventArgs<Value | EmptyValue, ExtraValue>\n ) => OnChangeReturnType\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * Will append an additional text to the label, like \"(optional)\" or \"(recommended)\"\n */\n labelSuffix?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n /**\n * NB: Undocumented for now.\n * Forwards all given props in a props object.\n */\n props?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions<Value>\n validator?: Validator<Value>\n onBlurValidator?: Validator<Value>\n exportValidators?: Record<string, Validator<Value>>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: unknown) => Value\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value, additionalArgs?: unknown) => unknown\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transform additionalArgs or generate it based on `value`.\n */\n provideAdditionalArgs?: (\n value: Value,\n additionalArgs?: AdditionalEventArgs\n ) => AdditionalEventArgs\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value from the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport type FieldPropsGeneric<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, AdditionalEventArgs>\n\nexport type FieldPropsWithExtraValue<\n Value = unknown,\n ExtraValue extends AdditionalEventArgs = AdditionalEventArgs,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = Omit<\n FieldProps<Value, EmptyValue, ErrorMessages>,\n keyof DataValueWriteProps\n> &\n DataValueWriteProps<Value, EmptyValue, ExtraValue>\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: React.ReactNode\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Use `true` to inherit the label from a visible (rendered) field with the same path.\n */\n inheritLabel?: boolean\n\n /**\n * Use `true` to inherit the visibility from a field with the same path.\n */\n inheritVisibility?: boolean\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n customStatus?: unknown\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n | { customStatus: unknown }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove data entries of fields that are not visible */\n reduceToVisibleFields: (\n data: JsonObject,\n options?: VisibleDataOptions\n ) => Partial<JsonObject>\n\n /** Will filter data based on the given \"filterDataHandler\" method */\n filterData: (filterDataHandler: FilterData) => Partial<JsonObject>\n\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmitReturn =\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n {\n reduceToVisibleFields,\n filterData,\n resetForm,\n clearData,\n }: OnSubmitParams\n) => OnSubmitReturn\n\nexport type OnCommit<Data = JsonObject> = (\n data: Data,\n {\n clearData,\n preventCommit,\n }: { clearData: () => void; preventCommit?: () => void }\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = JsonObject> = (\n data: Data,\n additionalArgs: Pick<OnSubmitParams, 'filterData'>\n) => OnChangeReturnType\n\ntype OnChangeReturnType =\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":";AAwEA,OAAO,MAAMA,SAAS,SAASC,KAAK,CAAC;EAYnCC,WAAWA,CAACC,OAAe,EAAEC,OAA2B,EAAE;IACxD,KAAK,CAACD,OAAO,CAAC;IAAAE,eAAA;IAAAA,eAAA;IAEd,IAAID,OAAO,EAAE;MACX,KAAK,MAAME,GAAG,IAAIF,OAAO,EAAE;QACzB,IAAI,CAACE,GAAG,CAAC,GAAGF,OAAO,CAACE,GAAG,CAAC;MAC1B;IACF;EACF;AACF;AAkCA,MAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAExD,OAAO,SAASC,sBAAsBA,CACpCC,KAAY,EACQ;EACpB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACP,GAAG,CAAC,KACvCC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CACjC,CACF,CAAC;AACH;AAEA,OAAO,SAASS,sBAAsBA,CACpCN,KAAY,EACwC;EACpD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KAAK,CAACC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CAC7C,CACF,CAAC;AACH;AAsBA,MAAMU,mBAAmB,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;AAE3E,OAAO,SAASC,uBAAuBA,CACrCR,KAAY,EACS;EACrB,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAACP,GAAG,CAAC,KACvCU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CAClC,CACF,CAAC;AACH;AAEA,OAAO,SAASY,uBAAuBA,CACrCT,KAAY,EAC0C;EACtD,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KAAK,CAACU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CAC9C,CACF,CAAC;AACH;AAOA,OAAO,SAASa,2BAA2BA,CAEzCV,KAAY,EAA2B;EACvC,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KACJC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CAAC,IAChCU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CACpC,CACF,CAAC;AACH;AAEA,OAAO,SAASc,2BAA2BA,CAGzCX,KAAY,EACkD;EAC9D,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACH,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAChC,CAAC,CAACP,GAAG,CAAC,KACJ,CAACC,kBAAkB,CAACO,QAAQ,CAACR,GAAG,CAAC,IACjC,CAACU,mBAAmB,CAACF,QAAQ,CAACR,GAAG,CACrC,CACF,CAAC;AACH"}
@@ -94,7 +94,7 @@ export const ajvErrorsToFormErrors = (errors, data) => {
94
94
  };
95
95
  function ajvErrorsTransformation(ajvError, data, path) {
96
96
  if (ajvError.keyword === 'type') {
97
- const value = data && typeof data === 'object' ? pointer.get(data, path) : data;
97
+ const value = data && typeof data === 'object' && path ? pointer.get(data, path) : data;
98
98
  if (value === '' || value === null) {
99
99
  return undefined;
100
100
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","ajvErrorToFormError","_ajvError$message2","_ajvError$message","Error","message","messageValues","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","errorMessages","map","join","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { FormError, Path } from '../types'\nimport type Ajv from 'ajv/dist/2020'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n })\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' and '))\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' ? pointer.get(data, path) : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","ajvErrorToFormError","_ajvError$message2","_ajvError$message","Error","message","messageValues","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","errorMessages","map","join","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { FormError, Path } from '../types'\nimport type Ajv from 'ajv/dist/2020'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n })\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' and '))\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' && path\n ? pointer.get(data, path)\n : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
@@ -108,7 +108,7 @@ export function parse(pointer) {
108
108
  if (pointer === '') {
109
109
  return [];
110
110
  }
111
- if (pointer.charAt(0) !== '/') {
111
+ if ((pointer === null || pointer === void 0 ? void 0 : pointer.charAt(0)) !== '/') {
112
112
  throw new Error('Invalid JSON pointer: ' + pointer);
113
113
  }
114
114
  return pointer.substring(1).split(/\//).map(unescape);
@@ -1 +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","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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"}
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","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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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "10.51.1";
1
+ export declare const version = "10.51.2";
2
2
  export declare function init(): void;
@@ -1,9 +1,9 @@
1
- export const version = '10.51.1';
1
+ export const version = '10.51.2';
2
2
  export function init() {
3
3
  if (typeof window !== 'undefined') {
4
4
  class Eufemia {
5
5
  get version() {
6
- return '10.51.1';
6
+ return '10.51.2';
7
7
  }
8
8
  }
9
9
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.51.1'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.51.1'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.51.2'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.51.2'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
@@ -6,7 +6,7 @@ export default {
6
6
  characterExceeded: '%count characters over the limit of %max.'
7
7
  },
8
8
  TimelineItem: {
9
- alt_label_completed: 'Complete',
9
+ alt_label_completed: 'Completed',
10
10
  alt_label_current: 'Current',
11
11
  alt_label_upcoming: 'Upcoming'
12
12
  },
@@ -1 +1 @@
1
- {"version":3,"file":"en-GB.js","names":["TextCounter","characterDown","characterUp","characterExceeded","TimelineItem","alt_label_completed","alt_label_current","alt_label_upcoming","Breadcrumb","navText","goBackText","homeText","backToText","DatePicker","day","month","year","start","end","selected_date","selected_month","selected_year","next_month","prev_month","next_year","prev_year","open_picker_text","mask_order","mask_placeholder","date_format","return_format","submit_button_text","cancel_button_text","reset_button_text","placeholder_characters","Anchor","targetBlankTitle","GlobalStatus","default_title","close_text","status_anchor_text","GlobalError","title","text","code","help","ProgressIndicator","indicator_label","Dropdown","Autocomplete","submit_button_title","no_options","show_all","show_options_sr","aria_live_options","selected_sr","Modal","dialog_title","close_title","Dialog","declineText","confirmText","CopyOnClick","clipboard_copy","NumberFormat","not_available","HelpButton","aria_role","Skeleton","aria_busy","aria_ready","Input","clear_button_title","Pagination","button_title","next_title","prev_title","more_pages","is_loading_text","load_button_text","StepIndicator","overview_title","step_title_extended","step_title","Slider","addTitle","subtractTitle","PaymentCard","text_card_number","text_expired","text_blocked","text_not_active","text_order_in_process","text_renewed","text_replaced","text_unknown","Tag","removeIconTitle","addIconTitle","Table","accordionToggleButtonSR","accordionMoreContentSR","navigationButtonSR","Upload","textSingular","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","buttonText","buttonTextSingular","loadingText","errorLargeFile","errorAmountLimit","errorUnsupportedFile","deleteButton","fileListAriaLabel"],"sources":["../../../../src/shared/locales/en-GB.ts"],"sourcesContent":["import nb from './nb-NO'\nexport default {\n 'en-GB': {\n TextCounter: {\n characterDown: '%count of %max characters remaining.',\n characterUp: 'You have used %count of %max characters.',\n characterExceeded: '%count characters over the limit of %max.',\n },\n TimelineItem: {\n alt_label_completed: 'Complete',\n alt_label_current: 'Current',\n alt_label_upcoming: 'Upcoming',\n },\n Breadcrumb: {\n navText: 'Page hierarchy',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n },\n DatePicker: {\n day: 'Day',\n month: 'Month',\n year: 'Year',\n start: 'from',\n end: 'to',\n selected_date: 'Selected date: %s',\n selected_month: 'Selected month %s',\n selected_year: 'Selected year %s',\n next_month: 'Next month %s',\n prev_month: 'Previous month %s',\n next_year: 'Next year %s',\n prev_year: 'Previous year %s',\n open_picker_text: 'Open date picker',\n mask_order: 'dd/mm/yyyy',\n mask_placeholder: 'dd/mm/yyyy', // have to be same setup as \"mask\" - but can be like: dd/mm/åååå\n date_format: 'yyyy-MM-dd', // in v1 of date-fns we were more flexible in terms of the format\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n submit_button_text: 'OK',\n cancel_button_text: 'Cancel',\n reset_button_text: 'Reset',\n placeholder_characters: {\n day: 'd',\n month: 'm',\n year: 'y',\n },\n },\n Anchor: {\n targetBlankTitle: 'Opens a new Window',\n },\n GlobalStatus: {\n default_title: 'An error has occurred',\n close_text: 'Close',\n status_anchor_text: 'Go to %s',\n },\n GlobalError: {\n 404: {\n title: \"We can't find the page you're looking for …\",\n text: 'Are you sure you have entered the correct address? Or have we messed with the links?',\n },\n 500: {\n title: 'Sorry, a technical error happened!',\n text: 'The service is not working properly at the moment. Try again later.',\n },\n code: 'Error code:',\n help: 'Here are some links that might help:',\n },\n ProgressIndicator: {\n indicator_label: 'Please wait ...',\n },\n Dropdown: {\n title: 'Option Menu',\n },\n Autocomplete: {\n title: 'Type and select',\n submit_button_title: 'Show options',\n no_options: 'No option',\n show_all: 'Show everything',\n show_options_sr: 'Browse options, close with esc button',\n aria_live_options: '%s options',\n selected_sr: 'Selected:',\n indicator_label: 'Getting data ...',\n },\n Modal: {\n dialog_title: 'Dialog Window',\n close_title: 'Close',\n },\n Dialog: {\n declineText: 'Cancel',\n confirmText: 'Approve',\n },\n CopyOnClick: {\n clipboard_copy: 'Copied',\n },\n NumberFormat: {\n clipboard_copy: 'Copied',\n not_available: 'Not available',\n },\n HelpButton: {\n title: 'Help text',\n aria_role: 'Help button',\n },\n Skeleton: {\n aria_busy: 'In progress ...',\n aria_ready: 'Ready to interact',\n },\n Input: {\n submit_button_title: 'Submit button',\n clear_button_title: 'Clear value',\n },\n Pagination: {\n button_title: 'Page %s',\n next_title: 'Next page',\n prev_title: 'Previous page',\n more_pages: '%s more pages',\n is_loading_text: 'Loading new content',\n load_button_text: 'Show more content',\n },\n StepIndicator: {\n overview_title: 'Steps Overview',\n step_title_extended: 'You are on step %step of %count',\n step_title: 'Step %step of %count',\n },\n Slider: {\n addTitle: 'Increase (%s)',\n subtractTitle: 'Decrease (%s)',\n },\n PaymentCard: {\n text_card_number: 'Card number',\n text_expired: 'Expired',\n text_blocked: 'Blocked',\n text_not_active: 'Not activated',\n text_order_in_process: 'Order in process',\n text_renewed: 'Renewed',\n text_replaced: 'Replaced',\n text_unknown: 'Unknown',\n },\n Tag: {\n removeIconTitle: 'Remove',\n addIconTitle: 'Add',\n },\n Table: {\n accordionToggleButtonSR: 'Show more content',\n accordionMoreContentSR: 'More content in the next row',\n navigationButtonSR: 'Navigate to more content',\n },\n Upload: {\n title: 'Upload documents',\n text: 'Drag & drop your files or choose files to upload.',\n textSingular:\n 'Drag & drop your file or choose which file to upload.',\n fileTypeTableCaption: 'Allowed formats and max. filesize',\n fileTypeDescription: 'Allowed formats:',\n fileSizeDescription: 'Max. filesize:',\n fileAmountDescription: 'Max. number of files:',\n fileSizeContent: '%size MB',\n buttonText: 'Choose files',\n buttonTextSingular: 'Choose file',\n loadingText: 'Uploading',\n errorLargeFile:\n 'The file you are trying to upload is too big, the maximum size supported is %size MB.',\n errorAmountLimit:\n 'There is a limit to how many files you can upload (%amount).',\n errorUnsupportedFile:\n 'The file you are trying to upload is not supported.',\n deleteButton: 'Delete',\n fileListAriaLabel: 'uploaded files',\n },\n } satisfies (typeof nb)['nb-NO'],\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"en-GB.js","names":["TextCounter","characterDown","characterUp","characterExceeded","TimelineItem","alt_label_completed","alt_label_current","alt_label_upcoming","Breadcrumb","navText","goBackText","homeText","backToText","DatePicker","day","month","year","start","end","selected_date","selected_month","selected_year","next_month","prev_month","next_year","prev_year","open_picker_text","mask_order","mask_placeholder","date_format","return_format","submit_button_text","cancel_button_text","reset_button_text","placeholder_characters","Anchor","targetBlankTitle","GlobalStatus","default_title","close_text","status_anchor_text","GlobalError","title","text","code","help","ProgressIndicator","indicator_label","Dropdown","Autocomplete","submit_button_title","no_options","show_all","show_options_sr","aria_live_options","selected_sr","Modal","dialog_title","close_title","Dialog","declineText","confirmText","CopyOnClick","clipboard_copy","NumberFormat","not_available","HelpButton","aria_role","Skeleton","aria_busy","aria_ready","Input","clear_button_title","Pagination","button_title","next_title","prev_title","more_pages","is_loading_text","load_button_text","StepIndicator","overview_title","step_title_extended","step_title","Slider","addTitle","subtractTitle","PaymentCard","text_card_number","text_expired","text_blocked","text_not_active","text_order_in_process","text_renewed","text_replaced","text_unknown","Tag","removeIconTitle","addIconTitle","Table","accordionToggleButtonSR","accordionMoreContentSR","navigationButtonSR","Upload","textSingular","fileTypeTableCaption","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","buttonText","buttonTextSingular","loadingText","errorLargeFile","errorAmountLimit","errorUnsupportedFile","deleteButton","fileListAriaLabel"],"sources":["../../../../src/shared/locales/en-GB.ts"],"sourcesContent":["import nb from './nb-NO'\nexport default {\n 'en-GB': {\n TextCounter: {\n characterDown: '%count of %max characters remaining.',\n characterUp: 'You have used %count of %max characters.',\n characterExceeded: '%count characters over the limit of %max.',\n },\n TimelineItem: {\n alt_label_completed: 'Completed',\n alt_label_current: 'Current',\n alt_label_upcoming: 'Upcoming',\n },\n Breadcrumb: {\n navText: 'Page hierarchy',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n },\n DatePicker: {\n day: 'Day',\n month: 'Month',\n year: 'Year',\n start: 'from',\n end: 'to',\n selected_date: 'Selected date: %s',\n selected_month: 'Selected month %s',\n selected_year: 'Selected year %s',\n next_month: 'Next month %s',\n prev_month: 'Previous month %s',\n next_year: 'Next year %s',\n prev_year: 'Previous year %s',\n open_picker_text: 'Open date picker',\n mask_order: 'dd/mm/yyyy',\n mask_placeholder: 'dd/mm/yyyy', // have to be same setup as \"mask\" - but can be like: dd/mm/åååå\n date_format: 'yyyy-MM-dd', // in v1 of date-fns we were more flexible in terms of the format\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n submit_button_text: 'OK',\n cancel_button_text: 'Cancel',\n reset_button_text: 'Reset',\n placeholder_characters: {\n day: 'd',\n month: 'm',\n year: 'y',\n },\n },\n Anchor: {\n targetBlankTitle: 'Opens a new Window',\n },\n GlobalStatus: {\n default_title: 'An error has occurred',\n close_text: 'Close',\n status_anchor_text: 'Go to %s',\n },\n GlobalError: {\n 404: {\n title: \"We can't find the page you're looking for …\",\n text: 'Are you sure you have entered the correct address? Or have we messed with the links?',\n },\n 500: {\n title: 'Sorry, a technical error happened!',\n text: 'The service is not working properly at the moment. Try again later.',\n },\n code: 'Error code:',\n help: 'Here are some links that might help:',\n },\n ProgressIndicator: {\n indicator_label: 'Please wait ...',\n },\n Dropdown: {\n title: 'Option Menu',\n },\n Autocomplete: {\n title: 'Type and select',\n submit_button_title: 'Show options',\n no_options: 'No option',\n show_all: 'Show everything',\n show_options_sr: 'Browse options, close with esc button',\n aria_live_options: '%s options',\n selected_sr: 'Selected:',\n indicator_label: 'Getting data ...',\n },\n Modal: {\n dialog_title: 'Dialog Window',\n close_title: 'Close',\n },\n Dialog: {\n declineText: 'Cancel',\n confirmText: 'Approve',\n },\n CopyOnClick: {\n clipboard_copy: 'Copied',\n },\n NumberFormat: {\n clipboard_copy: 'Copied',\n not_available: 'Not available',\n },\n HelpButton: {\n title: 'Help text',\n aria_role: 'Help button',\n },\n Skeleton: {\n aria_busy: 'In progress ...',\n aria_ready: 'Ready to interact',\n },\n Input: {\n submit_button_title: 'Submit button',\n clear_button_title: 'Clear value',\n },\n Pagination: {\n button_title: 'Page %s',\n next_title: 'Next page',\n prev_title: 'Previous page',\n more_pages: '%s more pages',\n is_loading_text: 'Loading new content',\n load_button_text: 'Show more content',\n },\n StepIndicator: {\n overview_title: 'Steps Overview',\n step_title_extended: 'You are on step %step of %count',\n step_title: 'Step %step of %count',\n },\n Slider: {\n addTitle: 'Increase (%s)',\n subtractTitle: 'Decrease (%s)',\n },\n PaymentCard: {\n text_card_number: 'Card number',\n text_expired: 'Expired',\n text_blocked: 'Blocked',\n text_not_active: 'Not activated',\n text_order_in_process: 'Order in process',\n text_renewed: 'Renewed',\n text_replaced: 'Replaced',\n text_unknown: 'Unknown',\n },\n Tag: {\n removeIconTitle: 'Remove',\n addIconTitle: 'Add',\n },\n Table: {\n accordionToggleButtonSR: 'Show more content',\n accordionMoreContentSR: 'More content in the next row',\n navigationButtonSR: 'Navigate to more content',\n },\n Upload: {\n title: 'Upload documents',\n text: 'Drag & drop your files or choose files to upload.',\n textSingular:\n 'Drag & drop your file or choose which file to upload.',\n fileTypeTableCaption: 'Allowed formats and max. filesize',\n fileTypeDescription: 'Allowed formats:',\n fileSizeDescription: 'Max. filesize:',\n fileAmountDescription: 'Max. number of files:',\n fileSizeContent: '%size MB',\n buttonText: 'Choose files',\n buttonTextSingular: 'Choose file',\n loadingText: 'Uploading',\n errorLargeFile:\n 'The file you are trying to upload is too big, the maximum size supported is %size MB.',\n errorAmountLimit:\n 'There is a limit to how many files you can upload (%amount).',\n errorUnsupportedFile:\n 'The file you are trying to upload is not supported.',\n deleteButton: 'Delete',\n fileListAriaLabel: 'uploaded files',\n },\n } satisfies (typeof nb)['nb-NO'],\n}\n"],"mappings":"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"}
@@ -45,7 +45,7 @@
45
45
  word-break: break-word;
46
46
 
47
47
  // Will add this to the body tag – later we can test for a version mismatch
48
- --eufemia-version: '10.51.1';
48
+ --eufemia-version: '10.51.2';
49
49
 
50
50
  @content;
51
51
  }
@@ -251,7 +251,7 @@ body {
251
251
  /* stylelint-disable-next-line */
252
252
  -webkit-text-size-adjust: 100%;
253
253
  word-break: break-word;
254
- --eufemia-version: "10.51.1";
254
+ --eufemia-version: "10.51.2";
255
255
  }
256
256
  .dnb-core-style *,
257
257
  .dnb-core-style ::before,
@@ -1 +1 @@
1
- @charset "UTF-8";html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{margin:0}.dnb-core-style{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.51.1";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}.dnb-core-style *,.dnb-core-style :after,.dnb-core-style :before{background-repeat:no-repeat;box-sizing:border-box}.dnb-core-style :after,.dnb-core-style :before{text-decoration:inherit;vertical-align:inherit}.dnb-core-style hr{height:0;overflow:visible}.dnb-core-style main{display:block}.dnb-core-style nav ol,.dnb-core-style nav ul{list-style:none}.dnb-core-style abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dnb-core-style b,.dnb-core-style strong{font-weight:bolder}.dnb-core-style code,.dnb-core-style kbd,.dnb-core-style pre,.dnb-core-style samp{font-family:var(--font-family-monospace)}.dnb-core-style ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}.dnb-core-style audio,.dnb-core-style canvas,.dnb-core-style iframe,.dnb-core-style img,.dnb-core-style svg,.dnb-core-style video{vertical-align:middle}.dnb-core-style audio,.dnb-core-style video{display:inline-block}.dnb-core-style audio:not([controls]){display:none;height:0}.dnb-core-style img{border-style:none}.dnb-core-style svg:not([fill]){fill:currentcolor}.dnb-core-style svg:not(:root){overflow:hidden}.dnb-core-style table{border-collapse:collapse}.dnb-core-style button,.dnb-core-style input,.dnb-core-style select,.dnb-core-style textarea{font-family:inherit;font-size:inherit;line-height:inherit}.dnb-core-style button,.dnb-core-style figure,.dnb-core-style input,.dnb-core-style select{margin:0}.dnb-core-style button{overflow:visible;text-transform:none}.dnb-core-style fieldset{padding:.35rem .75rem .625rem}.dnb-core-style input{overflow:visible;word-break:normal}.dnb-core-style legend{color:inherit;display:table;max-width:100%;white-space:normal}.dnb-core-style progress{display:inline-block;vertical-align:baseline}.dnb-core-style select{text-transform:none}.dnb-core-style textarea{overflow:auto;resize:vertical}.dnb-core-style [type=checkbox],.dnb-core-style [type=radio]{padding:0}.dnb-core-style input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}.dnb-core-style ::-webkit-inner-spin-button,.dnb-core-style ::-webkit-outer-spin-button{height:auto}.dnb-core-style ::input-placeholder{color:inherit;opacity:.54}.dnb-core-style ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dnb-core-style ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}.dnb-core-style ::-moz-focus-inner{border-style:none;padding:0}.dnb-core-style details{display:block}.dnb-core-style summary{display:list-item}.dnb-core-style canvas{display:inline-block}.dnb-core-style template{display:none}.dnb-core-style [tabindex],.dnb-core-style a,.dnb-core-style area,.dnb-core-style button,.dnb-core-style input,.dnb-core-style label,.dnb-core-style select,.dnb-core-style summary,.dnb-core-style textarea{touch-action:manipulation}.dnb-core-style [hidden]{display:none}.dnb-core-style [aria-busy=true]{cursor:progress}.dnb-core-style [aria-controls]:not(input){cursor:pointer}.dnb-core-style [aria-disabled=true],.dnb-core-style [disabled]{cursor:not-allowed}.dnb-core-style [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{.dnb-core-style{background-color:#fff;color:#000}}.dnb-core-style .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}.dnb-no-focus,.dnb-tab-focus,.dnb-tab-focus:focus{outline:none}html[data-whatinput=keyboard] .dnb-tab-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-mouse-focus,.dnb-mouse-focus:focus{outline:none}html[data-whatinput=mouse] .dnb-mouse-focus:focus{box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-focus-ring,html[data-whatinput=mouse] .dnb-mouse-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent}.dnb-focus-ring{box-shadow:0 0 0 var(--border-width) var(--border-color)!important}.dnb-scrollbar-appearance{-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;scrollbar-color:var(--scrollbar-thumb-color,#888) transparent}@supports not (scrollbar-color:auto){.dnb-scrollbar-appearance::-webkit-scrollbar{background-color:var(--scrollbar-track-color,#eee);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:vertical{width:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:horizontal{height:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#888);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#666)}}.dnb-skip-link{opacity:.3;position:absolute;top:-100vh;transition:opacity .3s ease-out;z-index:0}.dnb-skip-link--active,.dnb-skip-link:focus{background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--skip-link-color);font-size:var(--font-size-basis);left:40%;margin:0;outline:none;padding:.5rem 1rem;position:fixed;text-align:center;-webkit-text-decoration:none;text-decoration:none;top:5%;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:9999}.dnb-skip-link--active:after,.dnb-skip-link:focus:after{background-color:hsla(0,0%,100%,.85);box-shadow:150vw 150vh 0 0 hsla(0,0%,100%,.85);content:"";height:150vh;left:-200vw;position:absolute;top:-200vh;width:150vw;z-index:-2}.dnb-skip-link--active:before,.dnb-skip-link:focus:before{background-color:var(--skip-link-background);border-radius:1.5rem;content:"";height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:-1}html[data-whatinput=mouse] .dnb-skip-link--active:before,html[data-whatinput=mouse] .dnb-skip-link:focus:before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:hover:before,.dnb-skip-link:focus:hover:before{background-color:var(--skip-link-background--hover)}.dnb-skip-link--active:active:before,.dnb-skip-link:focus:active:before{background-color:var(--skip-link-background--active)}.dnb-skip-link--active:focus:not(:active):before,.dnb-skip-link:focus:focus:not(:active):before{outline:none}html[data-whatinput=keyboard] .dnb-skip-link--active:focus:not(:active):before,html[data-whatinput=keyboard] .dnb-skip-link:focus:focus:not(:active):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:focus,.dnb-skip-link:focus:focus{opacity:1}.dnb-skip-link--active:hover,.dnb-skip-link:focus:hover{background-color:transparent;box-shadow:none;color:var(--skip-link-color--hover)}.dnb-skip-link--active:focus:not(:hover):not(:active),.dnb-skip-link:focus:focus:not(:hover):not(:active){background-color:transparent;box-shadow:none;color:var(--skip-link-color)}.dnb-skip-link--active:active,.dnb-skip-link:focus:active{background-color:transparent;color:var(--skip-link-color--active)}html[data-whatintent=touch] .dnb-skip-link{display:none}.dnb-alignment-helper,.dnb-alignment-helper:before{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper:before{content:"‌"}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!important;clip-path:inset(50%)!important;margin:0!important;max-height:1px!important;max-width:1px!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;-webkit-user-select:none!important;user-select:none!important;white-space:nowrap!important}.dnb-suffix{font-size:var(--font-size-basis);line-height:var(--line-height-basis);padding-left:.5rem;word-break:normal}
1
+ @charset "UTF-8";html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{margin:0}.dnb-core-style{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.51.2";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}.dnb-core-style *,.dnb-core-style :after,.dnb-core-style :before{background-repeat:no-repeat;box-sizing:border-box}.dnb-core-style :after,.dnb-core-style :before{text-decoration:inherit;vertical-align:inherit}.dnb-core-style hr{height:0;overflow:visible}.dnb-core-style main{display:block}.dnb-core-style nav ol,.dnb-core-style nav ul{list-style:none}.dnb-core-style abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dnb-core-style b,.dnb-core-style strong{font-weight:bolder}.dnb-core-style code,.dnb-core-style kbd,.dnb-core-style pre,.dnb-core-style samp{font-family:var(--font-family-monospace)}.dnb-core-style ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}.dnb-core-style audio,.dnb-core-style canvas,.dnb-core-style iframe,.dnb-core-style img,.dnb-core-style svg,.dnb-core-style video{vertical-align:middle}.dnb-core-style audio,.dnb-core-style video{display:inline-block}.dnb-core-style audio:not([controls]){display:none;height:0}.dnb-core-style img{border-style:none}.dnb-core-style svg:not([fill]){fill:currentcolor}.dnb-core-style svg:not(:root){overflow:hidden}.dnb-core-style table{border-collapse:collapse}.dnb-core-style button,.dnb-core-style input,.dnb-core-style select,.dnb-core-style textarea{font-family:inherit;font-size:inherit;line-height:inherit}.dnb-core-style button,.dnb-core-style figure,.dnb-core-style input,.dnb-core-style select{margin:0}.dnb-core-style button{overflow:visible;text-transform:none}.dnb-core-style fieldset{padding:.35rem .75rem .625rem}.dnb-core-style input{overflow:visible;word-break:normal}.dnb-core-style legend{color:inherit;display:table;max-width:100%;white-space:normal}.dnb-core-style progress{display:inline-block;vertical-align:baseline}.dnb-core-style select{text-transform:none}.dnb-core-style textarea{overflow:auto;resize:vertical}.dnb-core-style [type=checkbox],.dnb-core-style [type=radio]{padding:0}.dnb-core-style input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}.dnb-core-style ::-webkit-inner-spin-button,.dnb-core-style ::-webkit-outer-spin-button{height:auto}.dnb-core-style ::input-placeholder{color:inherit;opacity:.54}.dnb-core-style ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dnb-core-style ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}.dnb-core-style ::-moz-focus-inner{border-style:none;padding:0}.dnb-core-style details{display:block}.dnb-core-style summary{display:list-item}.dnb-core-style canvas{display:inline-block}.dnb-core-style template{display:none}.dnb-core-style [tabindex],.dnb-core-style a,.dnb-core-style area,.dnb-core-style button,.dnb-core-style input,.dnb-core-style label,.dnb-core-style select,.dnb-core-style summary,.dnb-core-style textarea{touch-action:manipulation}.dnb-core-style [hidden]{display:none}.dnb-core-style [aria-busy=true]{cursor:progress}.dnb-core-style [aria-controls]:not(input){cursor:pointer}.dnb-core-style [aria-disabled=true],.dnb-core-style [disabled]{cursor:not-allowed}.dnb-core-style [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{.dnb-core-style{background-color:#fff;color:#000}}.dnb-core-style .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}.dnb-no-focus,.dnb-tab-focus,.dnb-tab-focus:focus{outline:none}html[data-whatinput=keyboard] .dnb-tab-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-mouse-focus,.dnb-mouse-focus:focus{outline:none}html[data-whatinput=mouse] .dnb-mouse-focus:focus{box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-focus-ring,html[data-whatinput=mouse] .dnb-mouse-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent}.dnb-focus-ring{box-shadow:0 0 0 var(--border-width) var(--border-color)!important}.dnb-scrollbar-appearance{-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;scrollbar-color:var(--scrollbar-thumb-color,#888) transparent}@supports not (scrollbar-color:auto){.dnb-scrollbar-appearance::-webkit-scrollbar{background-color:var(--scrollbar-track-color,#eee);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:vertical{width:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:horizontal{height:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#888);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#666)}}.dnb-skip-link{opacity:.3;position:absolute;top:-100vh;transition:opacity .3s ease-out;z-index:0}.dnb-skip-link--active,.dnb-skip-link:focus{background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--skip-link-color);font-size:var(--font-size-basis);left:40%;margin:0;outline:none;padding:.5rem 1rem;position:fixed;text-align:center;-webkit-text-decoration:none;text-decoration:none;top:5%;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:9999}.dnb-skip-link--active:after,.dnb-skip-link:focus:after{background-color:hsla(0,0%,100%,.85);box-shadow:150vw 150vh 0 0 hsla(0,0%,100%,.85);content:"";height:150vh;left:-200vw;position:absolute;top:-200vh;width:150vw;z-index:-2}.dnb-skip-link--active:before,.dnb-skip-link:focus:before{background-color:var(--skip-link-background);border-radius:1.5rem;content:"";height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:-1}html[data-whatinput=mouse] .dnb-skip-link--active:before,html[data-whatinput=mouse] .dnb-skip-link:focus:before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:hover:before,.dnb-skip-link:focus:hover:before{background-color:var(--skip-link-background--hover)}.dnb-skip-link--active:active:before,.dnb-skip-link:focus:active:before{background-color:var(--skip-link-background--active)}.dnb-skip-link--active:focus:not(:active):before,.dnb-skip-link:focus:focus:not(:active):before{outline:none}html[data-whatinput=keyboard] .dnb-skip-link--active:focus:not(:active):before,html[data-whatinput=keyboard] .dnb-skip-link:focus:focus:not(:active):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:focus,.dnb-skip-link:focus:focus{opacity:1}.dnb-skip-link--active:hover,.dnb-skip-link:focus:hover{background-color:transparent;box-shadow:none;color:var(--skip-link-color--hover)}.dnb-skip-link--active:focus:not(:hover):not(:active),.dnb-skip-link:focus:focus:not(:hover):not(:active){background-color:transparent;box-shadow:none;color:var(--skip-link-color)}.dnb-skip-link--active:active,.dnb-skip-link:focus:active{background-color:transparent;color:var(--skip-link-color--active)}html[data-whatintent=touch] .dnb-skip-link{display:none}.dnb-alignment-helper,.dnb-alignment-helper:before{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper:before{content:"‌"}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!important;clip-path:inset(50%)!important;margin:0!important;max-height:1px!important;max-width:1px!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;-webkit-user-select:none!important;user-select:none!important;white-space:nowrap!important}.dnb-suffix{font-size:var(--font-size-basis);line-height:var(--line-height-basis);padding-left:.5rem;word-break:normal}
@@ -277,7 +277,7 @@ body {
277
277
  /* stylelint-disable-next-line */
278
278
  -webkit-text-size-adjust: 100%;
279
279
  word-break: break-word;
280
- --eufemia-version: "10.51.1";
280
+ --eufemia-version: "10.51.2";
281
281
  }
282
282
  body *,
283
283
  body ::before,
@@ -1 +1 @@
1
- html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:var(--line-height-basis);-moz-tab-size:4;tab-size:4;word-break:break-word}body{margin:0}html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.51.1";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}body *,body :after,body :before{background-repeat:no-repeat;box-sizing:border-box}body :after,body :before{text-decoration:inherit;vertical-align:inherit}body hr{height:0;overflow:visible}body main{display:block}body nav ol,body nav ul{list-style:none}body abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}body b,body strong{font-weight:bolder}body code,body kbd,body pre,body samp{font-family:var(--font-family-monospace)}body ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}body audio,body canvas,body iframe,body img,body svg,body video{vertical-align:middle}body audio,body video{display:inline-block}body audio:not([controls]){display:none;height:0}body img{border-style:none}body svg:not([fill]){fill:currentcolor}body svg:not(:root){overflow:hidden}body table{border-collapse:collapse}body button,body input,body select,body textarea{font-family:inherit;font-size:inherit;line-height:inherit}body button,body figure,body input,body select{margin:0}body button{overflow:visible;text-transform:none}body fieldset{padding:.35rem .75rem .625rem}body input{overflow:visible;word-break:normal}body legend{color:inherit;display:table;max-width:100%;white-space:normal}body progress{display:inline-block;vertical-align:baseline}body select{text-transform:none}body textarea{overflow:auto;resize:vertical}body [type=checkbox],body [type=radio]{padding:0}body input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}body ::-webkit-inner-spin-button,body ::-webkit-outer-spin-button{height:auto}body ::input-placeholder{color:inherit;opacity:.54}body ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}body ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}body ::-moz-focus-inner{border-style:none;padding:0}body details{display:block}body summary{display:list-item}body canvas{display:inline-block}body template{display:none}body [tabindex],body a,body area,body button,body input,body label,body select,body summary,body textarea{touch-action:manipulation}body [hidden]{display:none}body [aria-busy=true]{cursor:progress}body [aria-controls]:not(input){cursor:pointer}body [aria-disabled=true],body [disabled]{cursor:not-allowed}body [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{body{background-color:#fff;color:#000}}body .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}
1
+ html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:var(--line-height-basis);-moz-tab-size:4;tab-size:4;word-break:break-word}body{margin:0}html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.51.2";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}body *,body :after,body :before{background-repeat:no-repeat;box-sizing:border-box}body :after,body :before{text-decoration:inherit;vertical-align:inherit}body hr{height:0;overflow:visible}body main{display:block}body nav ol,body nav ul{list-style:none}body abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}body b,body strong{font-weight:bolder}body code,body kbd,body pre,body samp{font-family:var(--font-family-monospace)}body ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}body audio,body canvas,body iframe,body img,body svg,body video{vertical-align:middle}body audio,body video{display:inline-block}body audio:not([controls]){display:none;height:0}body img{border-style:none}body svg:not([fill]){fill:currentcolor}body svg:not(:root){overflow:hidden}body table{border-collapse:collapse}body button,body input,body select,body textarea{font-family:inherit;font-size:inherit;line-height:inherit}body button,body figure,body input,body select{margin:0}body button{overflow:visible;text-transform:none}body fieldset{padding:.35rem .75rem .625rem}body input{overflow:visible;word-break:normal}body legend{color:inherit;display:table;max-width:100%;white-space:normal}body progress{display:inline-block;vertical-align:baseline}body select{text-transform:none}body textarea{overflow:auto;resize:vertical}body [type=checkbox],body [type=radio]{padding:0}body input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}body ::-webkit-inner-spin-button,body ::-webkit-outer-spin-button{height:auto}body ::input-placeholder{color:inherit;opacity:.54}body ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}body ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}body ::-moz-focus-inner{border-style:none;padding:0}body details{display:block}body summary{display:list-item}body canvas{display:inline-block}body template{display:none}body [tabindex],body a,body area,body button,body input,body label,body select,body summary,body textarea{touch-action:manipulation}body [hidden]{display:none}body [aria-busy=true]{cursor:progress}body [aria-controls]:not(input){cursor:pointer}body [aria-disabled=true],body [disabled]{cursor:not-allowed}body [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{body{background-color:#fff;color:#000}}body .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}
@@ -276,7 +276,7 @@ body,
276
276
  /* stylelint-disable-next-line */
277
277
  -webkit-text-size-adjust: 100%;
278
278
  word-break: break-word;
279
- --eufemia-version: "10.51.1";
279
+ --eufemia-version: "10.51.2";
280
280
  }
281
281
  body *,
282
282
  body ::before,
@@ -1 +1 @@
1
- @charset "UTF-8";html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:var(--line-height-basis);-moz-tab-size:4;tab-size:4;word-break:break-word}body{margin:0}html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}.dnb-core-style,body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.51.1";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}.dnb-core-style *,.dnb-core-style :after,.dnb-core-style :before,body *,body :after,body :before{background-repeat:no-repeat;box-sizing:border-box}.dnb-core-style :after,.dnb-core-style :before,body :after,body :before{text-decoration:inherit;vertical-align:inherit}.dnb-core-style hr,body hr{height:0;overflow:visible}.dnb-core-style main,body main{display:block}.dnb-core-style nav ol,.dnb-core-style nav ul,body nav ol,body nav ul{list-style:none}.dnb-core-style abbr[title],body abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dnb-core-style b,.dnb-core-style strong,body b,body strong{font-weight:bolder}.dnb-core-style code,.dnb-core-style kbd,.dnb-core-style pre,.dnb-core-style samp,body code,body kbd,body pre,body samp{font-family:var(--font-family-monospace)}.dnb-core-style ::selection,body ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}.dnb-core-style audio,.dnb-core-style canvas,.dnb-core-style iframe,.dnb-core-style img,.dnb-core-style svg,.dnb-core-style video,body audio,body canvas,body iframe,body img,body svg,body video{vertical-align:middle}.dnb-core-style audio,.dnb-core-style video,body audio,body video{display:inline-block}.dnb-core-style audio:not([controls]),body audio:not([controls]){display:none;height:0}.dnb-core-style img,body img{border-style:none}.dnb-core-style svg:not([fill]),body svg:not([fill]){fill:currentcolor}.dnb-core-style svg:not(:root),body svg:not(:root){overflow:hidden}.dnb-core-style table,body table{border-collapse:collapse}.dnb-core-style button,.dnb-core-style input,.dnb-core-style select,.dnb-core-style textarea,body button,body input,body select,body textarea{font-family:inherit;font-size:inherit;line-height:inherit}.dnb-core-style button,.dnb-core-style figure,.dnb-core-style input,.dnb-core-style select,body button,body figure,body input,body select{margin:0}.dnb-core-style button,body button{overflow:visible;text-transform:none}.dnb-core-style fieldset,body fieldset{padding:.35rem .75rem .625rem}.dnb-core-style input,body input{overflow:visible;word-break:normal}.dnb-core-style legend,body legend{color:inherit;display:table;max-width:100%;white-space:normal}.dnb-core-style progress,body progress{display:inline-block;vertical-align:baseline}.dnb-core-style select,body select{text-transform:none}.dnb-core-style textarea,body textarea{overflow:auto;resize:vertical}.dnb-core-style [type=checkbox],.dnb-core-style [type=radio],body [type=checkbox],body [type=radio]{padding:0}.dnb-core-style input[type=search],body input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}.dnb-core-style ::-webkit-inner-spin-button,.dnb-core-style ::-webkit-outer-spin-button,body ::-webkit-inner-spin-button,body ::-webkit-outer-spin-button{height:auto}.dnb-core-style ::input-placeholder,body ::input-placeholder{color:inherit;opacity:.54}.dnb-core-style ::-webkit-search-decoration,body ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dnb-core-style ::-webkit-file-upload-button,body ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}.dnb-core-style ::-moz-focus-inner,body ::-moz-focus-inner{border-style:none;padding:0}.dnb-core-style details,body details{display:block}.dnb-core-style summary,body summary{display:list-item}.dnb-core-style canvas,body canvas{display:inline-block}.dnb-core-style template,body template{display:none}.dnb-core-style [tabindex],.dnb-core-style a,.dnb-core-style area,.dnb-core-style button,.dnb-core-style input,.dnb-core-style label,.dnb-core-style select,.dnb-core-style summary,.dnb-core-style textarea,body [tabindex],body a,body area,body button,body input,body label,body select,body summary,body textarea{touch-action:manipulation}.dnb-core-style [hidden],body [hidden]{display:none}.dnb-core-style [aria-busy=true],body [aria-busy=true]{cursor:progress}.dnb-core-style [aria-controls]:not(input),body [aria-controls]:not(input){cursor:pointer}.dnb-core-style [aria-disabled=true],.dnb-core-style [disabled],body [aria-disabled=true],body [disabled]{cursor:not-allowed}.dnb-core-style [aria-hidden=false][hidden]:not(:focus),body [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{.dnb-core-style,body{background-color:#fff;color:#000}}.dnb-core-style .eufemia-theme,body .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}.dnb-no-focus,.dnb-tab-focus,.dnb-tab-focus:focus{outline:none}html[data-whatinput=keyboard] .dnb-tab-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-mouse-focus,.dnb-mouse-focus:focus{outline:none}html[data-whatinput=mouse] .dnb-mouse-focus:focus{box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-focus-ring,html[data-whatinput=mouse] .dnb-mouse-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent}.dnb-focus-ring{box-shadow:0 0 0 var(--border-width) var(--border-color)!important}.dnb-scrollbar-appearance{-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;scrollbar-color:var(--scrollbar-thumb-color,#888) transparent}@supports not (scrollbar-color:auto){.dnb-scrollbar-appearance::-webkit-scrollbar{background-color:var(--scrollbar-track-color,#eee);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:vertical{width:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:horizontal{height:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#888);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#666)}}.dnb-skip-link{opacity:.3;position:absolute;top:-100vh;transition:opacity .3s ease-out;z-index:0}.dnb-skip-link--active,.dnb-skip-link:focus{background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--skip-link-color);font-size:var(--font-size-basis);left:40%;margin:0;outline:none;padding:.5rem 1rem;position:fixed;text-align:center;-webkit-text-decoration:none;text-decoration:none;top:5%;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:9999}.dnb-skip-link--active:after,.dnb-skip-link:focus:after{background-color:hsla(0,0%,100%,.85);box-shadow:150vw 150vh 0 0 hsla(0,0%,100%,.85);content:"";height:150vh;left:-200vw;position:absolute;top:-200vh;width:150vw;z-index:-2}.dnb-skip-link--active:before,.dnb-skip-link:focus:before{background-color:var(--skip-link-background);border-radius:1.5rem;content:"";height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:-1}html[data-whatinput=mouse] .dnb-skip-link--active:before,html[data-whatinput=mouse] .dnb-skip-link:focus:before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:hover:before,.dnb-skip-link:focus:hover:before{background-color:var(--skip-link-background--hover)}.dnb-skip-link--active:active:before,.dnb-skip-link:focus:active:before{background-color:var(--skip-link-background--active)}.dnb-skip-link--active:focus:not(:active):before,.dnb-skip-link:focus:focus:not(:active):before{outline:none}html[data-whatinput=keyboard] .dnb-skip-link--active:focus:not(:active):before,html[data-whatinput=keyboard] .dnb-skip-link:focus:focus:not(:active):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:focus,.dnb-skip-link:focus:focus{opacity:1}.dnb-skip-link--active:hover,.dnb-skip-link:focus:hover{background-color:transparent;box-shadow:none;color:var(--skip-link-color--hover)}.dnb-skip-link--active:focus:not(:hover):not(:active),.dnb-skip-link:focus:focus:not(:hover):not(:active){background-color:transparent;box-shadow:none;color:var(--skip-link-color)}.dnb-skip-link--active:active,.dnb-skip-link:focus:active{background-color:transparent;color:var(--skip-link-color--active)}html[data-whatintent=touch] .dnb-skip-link{display:none}.dnb-alignment-helper,.dnb-alignment-helper:before{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper:before{content:"‌"}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!important;clip-path:inset(50%)!important;margin:0!important;max-height:1px!important;max-width:1px!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;-webkit-user-select:none!important;user-select:none!important;white-space:nowrap!important}.dnb-suffix{font-size:var(--font-size-basis);line-height:var(--line-height-basis);padding-left:.5rem;word-break:normal}
1
+ @charset "UTF-8";html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:var(--line-height-basis);-moz-tab-size:4;tab-size:4;word-break:break-word}body{margin:0}html{font-size:100%}html:not([data-visual-test]){scroll-behavior:smooth}@supports (-webkit-touch-callout:none){@supports (font:-apple-system-body){html{font:-apple-system-body}}}html[xmlns="http://www.w3.org/1999/xhtml"] a:hover{-webkit-text-decoration:none;text-decoration:none}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--active{color:var(--color-mint-green)!important}html[xmlns="http://www.w3.org/1999/xhtml"] .dnb-anchor--contrast:not(:hover){color:var(--color-white)!important}html[xmlns="http://www.w3.org/1999/xhtml"] a.dnb-button--primary{color:var(--color-white)}html[xmlns="http://www.w3.org/1999/xhtml"] ul{list-style:initial}html[xmlns="http://www.w3.org/1999/xhtml"] p{background-color:initial;overflow:initial;text-align:inherit}html[xmlns="http://www.w3.org/1999/xhtml"] i{font-style:italic}html[xmlns="http://www.w3.org/1999/xhtml"] #column_left,html[xmlns="http://www.w3.org/1999/xhtml"] #root{width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefault #wrapper,html[xmlns="http://www.w3.org/1999/xhtml"] body#dnbLayoutDefaultStartPage #wrapper{max-width:60rem;width:100%}html[xmlns="http://www.w3.org/1999/xhtml"] #column_content{box-shadow:none}.dnb-core-style,body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;--eufemia-version:"10.51.2";color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis);tab-size:4;-moz-tab-size:4;word-break:break-word}.dnb-core-style *,.dnb-core-style :after,.dnb-core-style :before,body *,body :after,body :before{background-repeat:no-repeat;box-sizing:border-box}.dnb-core-style :after,.dnb-core-style :before,body :after,body :before{text-decoration:inherit;vertical-align:inherit}.dnb-core-style hr,body hr{height:0;overflow:visible}.dnb-core-style main,body main{display:block}.dnb-core-style nav ol,.dnb-core-style nav ul,body nav ol,body nav ul{list-style:none}.dnb-core-style abbr[title],body abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.dnb-core-style b,.dnb-core-style strong,body b,body strong{font-weight:bolder}.dnb-core-style code,.dnb-core-style kbd,.dnb-core-style pre,.dnb-core-style samp,body code,body kbd,body pre,body samp{font-family:var(--font-family-monospace)}.dnb-core-style ::selection,body ::selection{background-color:#b3d4fc;color:#000;text-shadow:none}.dnb-core-style audio,.dnb-core-style canvas,.dnb-core-style iframe,.dnb-core-style img,.dnb-core-style svg,.dnb-core-style video,body audio,body canvas,body iframe,body img,body svg,body video{vertical-align:middle}.dnb-core-style audio,.dnb-core-style video,body audio,body video{display:inline-block}.dnb-core-style audio:not([controls]),body audio:not([controls]){display:none;height:0}.dnb-core-style img,body img{border-style:none}.dnb-core-style svg:not([fill]),body svg:not([fill]){fill:currentcolor}.dnb-core-style svg:not(:root),body svg:not(:root){overflow:hidden}.dnb-core-style table,body table{border-collapse:collapse}.dnb-core-style button,.dnb-core-style input,.dnb-core-style select,.dnb-core-style textarea,body button,body input,body select,body textarea{font-family:inherit;font-size:inherit;line-height:inherit}.dnb-core-style button,.dnb-core-style figure,.dnb-core-style input,.dnb-core-style select,body button,body figure,body input,body select{margin:0}.dnb-core-style button,body button{overflow:visible;text-transform:none}.dnb-core-style fieldset,body fieldset{padding:.35rem .75rem .625rem}.dnb-core-style input,body input{overflow:visible;word-break:normal}.dnb-core-style legend,body legend{color:inherit;display:table;max-width:100%;white-space:normal}.dnb-core-style progress,body progress{display:inline-block;vertical-align:baseline}.dnb-core-style select,body select{text-transform:none}.dnb-core-style textarea,body textarea{overflow:auto;resize:vertical}.dnb-core-style [type=checkbox],.dnb-core-style [type=radio],body [type=checkbox],body [type=radio]{padding:0}.dnb-core-style input[type=search],body input[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}.dnb-core-style ::-webkit-inner-spin-button,.dnb-core-style ::-webkit-outer-spin-button,body ::-webkit-inner-spin-button,body ::-webkit-outer-spin-button{height:auto}.dnb-core-style ::input-placeholder,body ::input-placeholder{color:inherit;opacity:.54}.dnb-core-style ::-webkit-search-decoration,body ::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.dnb-core-style ::-webkit-file-upload-button,body ::-webkit-file-upload-button{background-color:transparent;border:none;font:inherit}.dnb-core-style ::-moz-focus-inner,body ::-moz-focus-inner{border-style:none;padding:0}.dnb-core-style details,body details{display:block}.dnb-core-style summary,body summary{display:list-item}.dnb-core-style canvas,body canvas{display:inline-block}.dnb-core-style template,body template{display:none}.dnb-core-style [tabindex],.dnb-core-style a,.dnb-core-style area,.dnb-core-style button,.dnb-core-style input,.dnb-core-style label,.dnb-core-style select,.dnb-core-style summary,.dnb-core-style textarea,body [tabindex],body a,body area,body button,body input,body label,body select,body summary,body textarea{touch-action:manipulation}.dnb-core-style [hidden],body [hidden]{display:none}.dnb-core-style [aria-busy=true],body [aria-busy=true]{cursor:progress}.dnb-core-style [aria-controls]:not(input),body [aria-controls]:not(input){cursor:pointer}.dnb-core-style [aria-disabled=true],.dnb-core-style [disabled],body [aria-disabled=true],body [disabled]{cursor:not-allowed}.dnb-core-style [aria-hidden=false][hidden]:not(:focus),body [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}@media print{.dnb-core-style,body{background-color:#fff;color:#000}}.dnb-core-style .eufemia-theme,body .eufemia-theme{color:var(--theme-color-body,var(--color-black-80,#333));font-family:var(--font-family-default);font-size:var(--font-size-small);font-style:normal;font-weight:var(--font-weight-basis);line-height:var(--line-height-basis)}.dnb-no-focus,.dnb-tab-focus,.dnb-tab-focus:focus{outline:none}html[data-whatinput=keyboard] .dnb-tab-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-mouse-focus,.dnb-mouse-focus:focus{outline:none}html[data-whatinput=mouse] .dnb-mouse-focus:focus{box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-focus-ring,html[data-whatinput=mouse] .dnb-mouse-focus:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent}.dnb-focus-ring{box-shadow:0 0 0 var(--border-width) var(--border-color)!important}.dnb-scrollbar-appearance{-webkit-overflow-scrolling:touch;-ms-overflow-style:auto;scrollbar-color:var(--scrollbar-thumb-color,#888) transparent}@supports not (scrollbar-color:auto){.dnb-scrollbar-appearance::-webkit-scrollbar{background-color:var(--scrollbar-track-color,#eee);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:vertical{width:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar:horizontal{height:var(--scrollbar-track-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color,#888);border-radius:var(--scrollbar-thumb-width,.5rem)}.dnb-scrollbar-appearance::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color,#666)}}.dnb-skip-link{opacity:.3;position:absolute;top:-100vh;transition:opacity .3s ease-out;z-index:0}.dnb-skip-link--active,.dnb-skip-link:focus{background-color:transparent;border:none;border-radius:0;box-shadow:none;color:var(--skip-link-color);font-size:var(--font-size-basis);left:40%;margin:0;outline:none;padding:.5rem 1rem;position:fixed;text-align:center;-webkit-text-decoration:none;text-decoration:none;top:5%;user-select:none;-webkit-user-select:none;white-space:nowrap;z-index:9999}.dnb-skip-link--active:after,.dnb-skip-link:focus:after{background-color:hsla(0,0%,100%,.85);box-shadow:150vw 150vh 0 0 hsla(0,0%,100%,.85);content:"";height:150vh;left:-200vw;position:absolute;top:-200vh;width:150vw;z-index:-2}.dnb-skip-link--active:before,.dnb-skip-link:focus:before{background-color:var(--skip-link-background);border-radius:1.5rem;content:"";height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:-1}html[data-whatinput=mouse] .dnb-skip-link--active:before,html[data-whatinput=mouse] .dnb-skip-link:focus:before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:hover:before,.dnb-skip-link:focus:hover:before{background-color:var(--skip-link-background--hover)}.dnb-skip-link--active:active:before,.dnb-skip-link:focus:active:before{background-color:var(--skip-link-background--active)}.dnb-skip-link--active:focus:not(:active):before,.dnb-skip-link:focus:focus:not(:active):before{outline:none}html[data-whatinput=keyboard] .dnb-skip-link--active:focus:not(:active):before,html[data-whatinput=keyboard] .dnb-skip-link:focus:focus:not(:active):before{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-skip-link--active:focus,.dnb-skip-link:focus:focus{opacity:1}.dnb-skip-link--active:hover,.dnb-skip-link:focus:hover{background-color:transparent;box-shadow:none;color:var(--skip-link-color--hover)}.dnb-skip-link--active:focus:not(:hover):not(:active),.dnb-skip-link:focus:focus:not(:hover):not(:active){background-color:transparent;box-shadow:none;color:var(--skip-link-color)}.dnb-skip-link--active:active,.dnb-skip-link:focus:active{background-color:transparent;color:var(--skip-link-color--active)}html[data-whatintent=touch] .dnb-skip-link{display:none}.dnb-alignment-helper,.dnb-alignment-helper:before{speak:none;display:inline-block;font-size:var(--font-size-small);height:0;width:0}.dnb-alignment-helper:before{content:"‌"}.dnb-drop-shadow{box-shadow:var(--shadow-default)}.dnb-sr-only{-webkit-touch-callout:none!important;border:0!important;clip-path:inset(50%)!important;margin:0!important;max-height:1px!important;max-width:1px!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;-webkit-user-select:none!important;user-select:none!important;white-space:nowrap!important}.dnb-suffix{font-size:var(--font-size-basis);line-height:var(--line-height-basis);padding-left:.5rem;word-break:normal}
@@ -1 +1 @@
1
- import"react";var e="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t={};!function(e,t){function n(e){if(e&&"object"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if("number"==typeof e)return a[e];var n,r=String(e);return(n=o[r.toLowerCase()])?n:(n=i[r.toLowerCase()])||(1===r.length?r.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&"object"==typeof e){var n=e.which||e.keyCode||e.charCode;if(null==n)return!1;if("string"==typeof t){var r;if(r=o[t.toLowerCase()])return r===n;if(r=i[t.toLowerCase()])return r===n}else if("number"==typeof t)return t===n;return!1}};var o=(t=e.exports=n).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=t.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(r=97;r<123;r++)o[String.fromCharCode(r)]=r-32;for(var r=48;r<58;r++)o[r-48]=r;for(r=1;r<13;r++)o["f"+r]=r+111;for(r=0;r<10;r++)o["numpad "+r]=r+96;var a=t.names=t.title={};for(r in o)a[o[r]]=r;for(var d in i)o[d]=i[d]}({get exports(){return t},set exports(e){t=e}},t);var n,o={};n=function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t){e.exports=function(){if("undefined"==typeof document||"undefined"==typeof window)return{ask:function(){return"initial"},element:function(){return null},ignoreKeys:function(){},specificKeys:function(){},registerOnChange:function(){},unRegisterOnChange:function(){}};var e=document.documentElement,t=null,n="initial",o=n,i=Date.now(),r="false",a=["button","input","select","textarea"],d=[],u=[16,17,18,91,93],s=[],c={keydown:"keyboard",keyup:"keyboard",mousedown:"mouse",mousemove:"mouse",MSPointerDown:"pointer",MSPointerMove:"pointer",pointerdown:"pointer",pointermove:"pointer",touchstart:"touch",touchend:"touch"},f=!1,p={x:null,y:null},l={2:"touch",3:"touch",4:"mouse"},w=!1;try{var m=Object.defineProperty({},"passive",{get:function(){w=!0}});window.addEventListener("test",null,m)}catch(e){}var v=function(){var e=!!w&&{passive:!0};document.addEventListener("DOMContentLoaded",g),window.PointerEvent?(window.addEventListener("pointerdown",h),window.addEventListener("pointermove",E)):window.MSPointerEvent?(window.addEventListener("MSPointerDown",h),window.addEventListener("MSPointerMove",E)):(window.addEventListener("mousedown",h),window.addEventListener("mousemove",E),"ontouchstart"in window&&(window.addEventListener("touchstart",h,e),window.addEventListener("touchend",h))),window.addEventListener(k(),E,e),window.addEventListener("keydown",h),window.addEventListener("keyup",h),window.addEventListener("focusin",b),window.addEventListener("focusout",L)},g=function(){if(r=!(e.getAttribute("data-whatpersist")||"false"===document.body.getAttribute("data-whatpersist")))try{window.sessionStorage.getItem("what-input")&&(n=window.sessionStorage.getItem("what-input")),window.sessionStorage.getItem("what-intent")&&(o=window.sessionStorage.getItem("what-intent"))}catch(e){}y("input"),y("intent")},h=function(e){var t=e.which,i=c[e.type];"pointer"===i&&(i=S(e));var r=!s.length&&-1===u.indexOf(t),d=s.length&&-1!==s.indexOf(t),f="keyboard"===i&&t&&(r||d)||"mouse"===i||"touch"===i;if(C(i)&&(f=!1),f&&n!==i&&(x("input",n=i),y("input")),f&&o!==i){var p=document.activeElement;p&&p.nodeName&&(-1===a.indexOf(p.nodeName.toLowerCase())||"button"===p.nodeName.toLowerCase()&&!O(p,"form"))&&(x("intent",o=i),y("intent"))}},y=function(t){e.setAttribute("data-what"+t,"input"===t?n:o),A(t)},E=function(e){var t=c[e.type];"pointer"===t&&(t=S(e)),M(e),(!f&&!C(t)||f&&"wheel"===e.type||"mousewheel"===e.type||"DOMMouseScroll"===e.type)&&o!==t&&(x("intent",o=t),y("intent"))},b=function(n){n.target.nodeName?(t=n.target.nodeName.toLowerCase(),e.setAttribute("data-whatelement",t),n.target.classList&&n.target.classList.length&&e.setAttribute("data-whatclasses",n.target.classList.toString().replace(" ",","))):L()},L=function(){t=null,e.removeAttribute("data-whatelement"),e.removeAttribute("data-whatclasses")},x=function(e,t){if(r)try{window.sessionStorage.setItem("what-"+e,t)}catch(e){}},S=function(e){return"number"==typeof e.pointerType?l[e.pointerType]:"pen"===e.pointerType?"touch":e.pointerType},C=function(e){var t=Date.now(),o="mouse"===e&&"touch"===n&&t-i<200;return i=t,o},k=function(){return"onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll"},A=function(e){for(var t=0,i=d.length;t<i;t++)d[t].type===e&&d[t].fn.call(void 0,"input"===e?n:o)},M=function(e){p.x!==e.screenX||p.y!==e.screenY?(f=!1,p.x=e.screenX,p.y=e.screenY):f=!0},O=function(e,t){var n=window.Element.prototype;if(n.matches||(n.matches=n.msMatchesSelector||n.webkitMatchesSelector),n.closest)return e.closest(t);do{if(e.matches(t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null};return"addEventListener"in window&&Array.prototype.indexOf&&(c[k()]="mouse",v()),{ask:function(e){return"intent"===e?o:n},element:function(){return t},ignoreKeys:function(e){u=e},specificKeys:function(e){s=e},registerOnChange:function(e,t){d.push({fn:e,type:t||"input"})},unRegisterOnChange:function(e){var t=function(e){for(var t=0,n=d.length;t<n;t++)if(d[t].fn===e)return t}(e);(t||0===t)&&d.splice(t,1)},clearStorage:function(){window.sessionStorage.clear()}}}()}])},{get exports(){return o},set exports(e){o=e}}.exports=n();var i=o;"function"==typeof e.setTimeout&&setTimeout,"function"==typeof e.clearTimeout&&clearTimeout;function r(e,t){this.fun=e,this.array=t}r.prototype.run=function(){this.fun.apply(null,this.array)};var a=e.performance||{};a.now||a.mozNow||a.msNow||a.oNow||a.webkitNow;new Date;const d="Mac|iPad|iPhone|iPod",u="Linux";let s=!1;var c,f,p,l,w,m,v,g;"undefined"!=typeof navigator&&/edge/i.test(null===(c=navigator)||void 0===c?void 0:c.userAgent),"undefined"!=typeof navigator&&new RegExp("iOS|iPhone|iPad|iPod","i").test(null===(f=navigator)||void 0===f?void 0:f.platform),s="undefined"!=typeof navigator&&/safari/i.test(null===(p=navigator)||void 0===p?void 0:p.userAgent)&&!/chrome/i.test(null===(l=navigator)||void 0===l?void 0:l.userAgent),"undefined"!=typeof navigator&&new RegExp("Win","i").test(null===(w=navigator)||void 0===w?void 0:w.platform),"undefined"!=typeof navigator&&new RegExp("Android","i").test(null===(m=navigator)||void 0===m?void 0:m.userAgent),"undefined"!=typeof navigator&&new RegExp(d,"i").test(null===(v=navigator)||void 0===v?void 0:v.platform),"undefined"!=typeof navigator&&new RegExp(u,"i").test(null===(g=navigator)||void 0===g?void 0:g.platform);function h(){if("undefined"!=typeof document){let e=!1;try{e=document.documentElement.getAttribute("data-whatintent")}catch(e){}return"touch"===e}return!1}function y(){const e=()=>{if("undefined"!=typeof document&&"undefined"!=typeof window&&"undefined"!=typeof navigator){try{"undefined"!=typeof window&&window.IS_TEST?document.documentElement.setAttribute("data-os","other"):null!==navigator.platform.match(new RegExp(d))?document.documentElement.setAttribute("data-os","mac"):null!==navigator.platform.match(new RegExp("Win"))?document.documentElement.setAttribute("data-os","win"):null!==navigator.platform.match(new RegExp(u))&&document.documentElement.setAttribute("data-os","linux")}catch(e){}document.removeEventListener("DOMContentLoaded",e)}};"undefined"!=typeof document&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}!function(){try{0}catch(e){console.error(e)}}(),function(){if("undefined"!=typeof window){class e{get version(){return"10.51.1"}}window.Eufemia=new e}}(),i.specificKeys([9]),y();export{y as defineNavigator,h as isTouchDevice};
1
+ import"react";var e="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t={};!function(e,t){function n(e){if(e&&"object"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if("number"==typeof e)return a[e];var n,r=String(e);return(n=o[r.toLowerCase()])?n:(n=i[r.toLowerCase()])||(1===r.length?r.charCodeAt(0):void 0)}n.isEventKey=function(e,t){if(e&&"object"==typeof e){var n=e.which||e.keyCode||e.charCode;if(null==n)return!1;if("string"==typeof t){var r;if(r=o[t.toLowerCase()])return r===n;if(r=i[t.toLowerCase()])return r===n}else if("number"==typeof t)return t===n;return!1}};var o=(t=e.exports=n).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},i=t.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(r=97;r<123;r++)o[String.fromCharCode(r)]=r-32;for(var r=48;r<58;r++)o[r-48]=r;for(r=1;r<13;r++)o["f"+r]=r+111;for(r=0;r<10;r++)o["numpad "+r]=r+96;var a=t.names=t.title={};for(r in o)a[o[r]]=r;for(var d in i)o[d]=i[d]}({get exports(){return t},set exports(e){t=e}},t);var n,o={};n=function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t){e.exports=function(){if("undefined"==typeof document||"undefined"==typeof window)return{ask:function(){return"initial"},element:function(){return null},ignoreKeys:function(){},specificKeys:function(){},registerOnChange:function(){},unRegisterOnChange:function(){}};var e=document.documentElement,t=null,n="initial",o=n,i=Date.now(),r="false",a=["button","input","select","textarea"],d=[],u=[16,17,18,91,93],s=[],c={keydown:"keyboard",keyup:"keyboard",mousedown:"mouse",mousemove:"mouse",MSPointerDown:"pointer",MSPointerMove:"pointer",pointerdown:"pointer",pointermove:"pointer",touchstart:"touch",touchend:"touch"},f=!1,p={x:null,y:null},l={2:"touch",3:"touch",4:"mouse"},w=!1;try{var m=Object.defineProperty({},"passive",{get:function(){w=!0}});window.addEventListener("test",null,m)}catch(e){}var v=function(){var e=!!w&&{passive:!0};document.addEventListener("DOMContentLoaded",g),window.PointerEvent?(window.addEventListener("pointerdown",h),window.addEventListener("pointermove",E)):window.MSPointerEvent?(window.addEventListener("MSPointerDown",h),window.addEventListener("MSPointerMove",E)):(window.addEventListener("mousedown",h),window.addEventListener("mousemove",E),"ontouchstart"in window&&(window.addEventListener("touchstart",h,e),window.addEventListener("touchend",h))),window.addEventListener(k(),E,e),window.addEventListener("keydown",h),window.addEventListener("keyup",h),window.addEventListener("focusin",b),window.addEventListener("focusout",L)},g=function(){if(r=!(e.getAttribute("data-whatpersist")||"false"===document.body.getAttribute("data-whatpersist")))try{window.sessionStorage.getItem("what-input")&&(n=window.sessionStorage.getItem("what-input")),window.sessionStorage.getItem("what-intent")&&(o=window.sessionStorage.getItem("what-intent"))}catch(e){}y("input"),y("intent")},h=function(e){var t=e.which,i=c[e.type];"pointer"===i&&(i=S(e));var r=!s.length&&-1===u.indexOf(t),d=s.length&&-1!==s.indexOf(t),f="keyboard"===i&&t&&(r||d)||"mouse"===i||"touch"===i;if(C(i)&&(f=!1),f&&n!==i&&(x("input",n=i),y("input")),f&&o!==i){var p=document.activeElement;p&&p.nodeName&&(-1===a.indexOf(p.nodeName.toLowerCase())||"button"===p.nodeName.toLowerCase()&&!O(p,"form"))&&(x("intent",o=i),y("intent"))}},y=function(t){e.setAttribute("data-what"+t,"input"===t?n:o),A(t)},E=function(e){var t=c[e.type];"pointer"===t&&(t=S(e)),M(e),(!f&&!C(t)||f&&"wheel"===e.type||"mousewheel"===e.type||"DOMMouseScroll"===e.type)&&o!==t&&(x("intent",o=t),y("intent"))},b=function(n){n.target.nodeName?(t=n.target.nodeName.toLowerCase(),e.setAttribute("data-whatelement",t),n.target.classList&&n.target.classList.length&&e.setAttribute("data-whatclasses",n.target.classList.toString().replace(" ",","))):L()},L=function(){t=null,e.removeAttribute("data-whatelement"),e.removeAttribute("data-whatclasses")},x=function(e,t){if(r)try{window.sessionStorage.setItem("what-"+e,t)}catch(e){}},S=function(e){return"number"==typeof e.pointerType?l[e.pointerType]:"pen"===e.pointerType?"touch":e.pointerType},C=function(e){var t=Date.now(),o="mouse"===e&&"touch"===n&&t-i<200;return i=t,o},k=function(){return"onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll"},A=function(e){for(var t=0,i=d.length;t<i;t++)d[t].type===e&&d[t].fn.call(void 0,"input"===e?n:o)},M=function(e){p.x!==e.screenX||p.y!==e.screenY?(f=!1,p.x=e.screenX,p.y=e.screenY):f=!0},O=function(e,t){var n=window.Element.prototype;if(n.matches||(n.matches=n.msMatchesSelector||n.webkitMatchesSelector),n.closest)return e.closest(t);do{if(e.matches(t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null};return"addEventListener"in window&&Array.prototype.indexOf&&(c[k()]="mouse",v()),{ask:function(e){return"intent"===e?o:n},element:function(){return t},ignoreKeys:function(e){u=e},specificKeys:function(e){s=e},registerOnChange:function(e,t){d.push({fn:e,type:t||"input"})},unRegisterOnChange:function(e){var t=function(e){for(var t=0,n=d.length;t<n;t++)if(d[t].fn===e)return t}(e);(t||0===t)&&d.splice(t,1)},clearStorage:function(){window.sessionStorage.clear()}}}()}])},{get exports(){return o},set exports(e){o=e}}.exports=n();var i=o;"function"==typeof e.setTimeout&&setTimeout,"function"==typeof e.clearTimeout&&clearTimeout;function r(e,t){this.fun=e,this.array=t}r.prototype.run=function(){this.fun.apply(null,this.array)};var a=e.performance||{};a.now||a.mozNow||a.msNow||a.oNow||a.webkitNow;new Date;const d="Mac|iPad|iPhone|iPod",u="Linux";let s=!1;var c,f,p,l,w,m,v,g;"undefined"!=typeof navigator&&/edge/i.test(null===(c=navigator)||void 0===c?void 0:c.userAgent),"undefined"!=typeof navigator&&new RegExp("iOS|iPhone|iPad|iPod","i").test(null===(f=navigator)||void 0===f?void 0:f.platform),s="undefined"!=typeof navigator&&/safari/i.test(null===(p=navigator)||void 0===p?void 0:p.userAgent)&&!/chrome/i.test(null===(l=navigator)||void 0===l?void 0:l.userAgent),"undefined"!=typeof navigator&&new RegExp("Win","i").test(null===(w=navigator)||void 0===w?void 0:w.platform),"undefined"!=typeof navigator&&new RegExp("Android","i").test(null===(m=navigator)||void 0===m?void 0:m.userAgent),"undefined"!=typeof navigator&&new RegExp(d,"i").test(null===(v=navigator)||void 0===v?void 0:v.platform),"undefined"!=typeof navigator&&new RegExp(u,"i").test(null===(g=navigator)||void 0===g?void 0:g.platform);function h(){if("undefined"!=typeof document){let e=!1;try{e=document.documentElement.getAttribute("data-whatintent")}catch(e){}return"touch"===e}return!1}function y(){const e=()=>{if("undefined"!=typeof document&&"undefined"!=typeof window&&"undefined"!=typeof navigator){try{"undefined"!=typeof window&&window.IS_TEST?document.documentElement.setAttribute("data-os","other"):null!==navigator.platform.match(new RegExp(d))?document.documentElement.setAttribute("data-os","mac"):null!==navigator.platform.match(new RegExp("Win"))?document.documentElement.setAttribute("data-os","win"):null!==navigator.platform.match(new RegExp(u))&&document.documentElement.setAttribute("data-os","linux")}catch(e){}document.removeEventListener("DOMContentLoaded",e)}};"undefined"!=typeof document&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}!function(){try{0}catch(e){console.error(e)}}(),function(){if("undefined"!=typeof window){class e{get version(){return"10.51.2"}}window.Eufemia=new e}}(),i.specificKeys([9]),y();export{y as defineNavigator,h as isTouchDevice};