@dnb/eufemia 10.73.0 → 10.73.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 (234) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cjs/components/autocomplete/Autocomplete.d.ts +4 -0
  3. package/cjs/components/autocomplete/AutocompleteDocs.js +5 -0
  4. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  5. package/cjs/components/modal/ModalDocs.js +3 -3
  6. package/cjs/components/modal/ModalDocs.js.map +1 -1
  7. package/cjs/components/toggle-button/ToggleButton.js +1 -1
  8. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  9. package/cjs/components/upload/UploadFileList.js +7 -4
  10. package/cjs/components/upload/UploadFileList.js.map +1 -1
  11. package/cjs/components/upload/UploadStatus.js +1 -0
  12. package/cjs/components/upload/UploadStatus.js.map +1 -1
  13. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -0
  14. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  15. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +12 -5
  16. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  17. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  18. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -0
  19. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  20. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js +1 -0
  21. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -1
  22. package/cjs/extensions/forms/Field/Selection/Selection.js +2 -1
  23. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  24. package/cjs/extensions/forms/Field/Toggle/Toggle.js +14 -6
  25. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  26. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +8 -4
  27. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  28. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +8 -0
  29. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  30. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +9 -0
  31. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +1 -1
  32. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  33. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -1
  34. package/cjs/extensions/forms/Value/SelectCountry/useCountry.d.ts +1 -1
  35. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +12 -8
  36. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  37. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  38. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  39. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +8 -4
  40. package/cjs/extensions/forms/style/dnb-forms.css +19 -7
  41. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  42. package/cjs/shared/Eufemia.d.ts +1 -1
  43. package/cjs/shared/Eufemia.js +2 -2
  44. package/cjs/shared/Eufemia.js.map +1 -1
  45. package/cjs/style/core/scopes.scss +1 -1
  46. package/cjs/style/dnb-ui-basis.css +1 -1
  47. package/cjs/style/dnb-ui-basis.min.css +1 -1
  48. package/cjs/style/dnb-ui-body.css +1 -1
  49. package/cjs/style/dnb-ui-body.min.css +1 -1
  50. package/cjs/style/dnb-ui-components.css +18 -7
  51. package/cjs/style/dnb-ui-components.min.css +1 -1
  52. package/cjs/style/dnb-ui-core.css +1 -1
  53. package/cjs/style/dnb-ui-core.min.css +1 -1
  54. package/cjs/style/dnb-ui-extensions.css +19 -7
  55. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  56. package/cjs/style/dnb-ui-forms.css +19 -7
  57. package/cjs/style/dnb-ui-forms.min.css +1 -1
  58. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +36 -14
  59. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  60. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +19 -7
  61. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  62. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +19 -7
  63. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  64. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +36 -14
  65. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  66. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +19 -7
  67. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  68. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +19 -7
  69. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  70. package/cjs/style/themes/theme-ui/ui-theme-components.css +36 -14
  71. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  72. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +19 -7
  73. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  74. package/cjs/style/themes/theme-ui/ui-theme-forms.css +19 -7
  75. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  76. package/components/autocomplete/Autocomplete.d.ts +4 -0
  77. package/components/autocomplete/AutocompleteDocs.js +5 -0
  78. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  79. package/components/modal/ModalDocs.js +3 -3
  80. package/components/modal/ModalDocs.js.map +1 -1
  81. package/components/toggle-button/ToggleButton.js +1 -1
  82. package/components/toggle-button/ToggleButton.js.map +1 -1
  83. package/components/upload/UploadFileList.js +7 -4
  84. package/components/upload/UploadFileList.js.map +1 -1
  85. package/components/upload/UploadStatus.js +1 -0
  86. package/components/upload/UploadStatus.js.map +1 -1
  87. package/es/components/autocomplete/Autocomplete.d.ts +4 -0
  88. package/es/components/autocomplete/AutocompleteDocs.js +5 -0
  89. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  90. package/es/components/modal/ModalDocs.js +3 -3
  91. package/es/components/modal/ModalDocs.js.map +1 -1
  92. package/es/components/toggle-button/ToggleButton.js +1 -1
  93. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  94. package/es/components/upload/UploadFileList.js +7 -4
  95. package/es/components/upload/UploadFileList.js.map +1 -1
  96. package/es/components/upload/UploadStatus.js +1 -0
  97. package/es/components/upload/UploadStatus.js.map +1 -1
  98. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -0
  99. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  100. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +12 -5
  101. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  102. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  103. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -0
  104. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  105. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js +1 -0
  106. package/es/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -1
  107. package/es/extensions/forms/Field/Selection/Selection.js +2 -1
  108. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  109. package/es/extensions/forms/Field/Toggle/Toggle.js +14 -6
  110. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  111. package/es/extensions/forms/FieldBlock/FieldBlock.js +8 -4
  112. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  113. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +8 -0
  114. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  115. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +9 -0
  116. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +1 -1
  117. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  118. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -1
  119. package/es/extensions/forms/Value/SelectCountry/useCountry.d.ts +1 -1
  120. package/es/extensions/forms/ValueBlock/ValueBlock.js +12 -8
  121. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  122. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  123. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  124. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +8 -4
  125. package/es/extensions/forms/style/dnb-forms.css +19 -7
  126. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  127. package/es/shared/Eufemia.d.ts +1 -1
  128. package/es/shared/Eufemia.js +2 -2
  129. package/es/shared/Eufemia.js.map +1 -1
  130. package/es/style/core/scopes.scss +1 -1
  131. package/es/style/dnb-ui-basis.css +1 -1
  132. package/es/style/dnb-ui-basis.min.css +1 -1
  133. package/es/style/dnb-ui-body.css +1 -1
  134. package/es/style/dnb-ui-body.min.css +1 -1
  135. package/es/style/dnb-ui-components.css +18 -7
  136. package/es/style/dnb-ui-components.min.css +1 -1
  137. package/es/style/dnb-ui-core.css +1 -1
  138. package/es/style/dnb-ui-core.min.css +1 -1
  139. package/es/style/dnb-ui-extensions.css +19 -7
  140. package/es/style/dnb-ui-extensions.min.css +1 -1
  141. package/es/style/dnb-ui-forms.css +19 -7
  142. package/es/style/dnb-ui-forms.min.css +1 -1
  143. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +36 -14
  144. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  145. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +19 -7
  146. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  147. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +19 -7
  148. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  149. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +36 -14
  150. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  151. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +19 -7
  152. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  153. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +19 -7
  154. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  155. package/es/style/themes/theme-ui/ui-theme-components.css +36 -14
  156. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  157. package/es/style/themes/theme-ui/ui-theme-extensions.css +19 -7
  158. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  159. package/es/style/themes/theme-ui/ui-theme-forms.css +19 -7
  160. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  161. package/esm/dnb-ui-basis.min.mjs +1 -1
  162. package/esm/dnb-ui-components.min.mjs +1 -1
  163. package/esm/dnb-ui-elements.min.mjs +1 -1
  164. package/esm/dnb-ui-extensions.min.mjs +1 -1
  165. package/esm/dnb-ui-lib.min.mjs +1 -1
  166. package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -0
  167. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  168. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +12 -5
  169. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  170. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  171. package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -0
  172. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  173. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js +1 -0
  174. package/extensions/forms/Field/SelectCurrency/SelectCurrency.js.map +1 -1
  175. package/extensions/forms/Field/Selection/Selection.js +2 -1
  176. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  177. package/extensions/forms/Field/Toggle/Toggle.js +14 -6
  178. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  179. package/extensions/forms/FieldBlock/FieldBlock.js +8 -4
  180. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  181. package/extensions/forms/FieldBlock/style/dnb-field-block.css +8 -0
  182. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  183. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +9 -0
  184. package/extensions/forms/Form/Section/style/dnb-form-section.css +1 -1
  185. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  186. package/extensions/forms/Form/Section/style/dnb-form-section.scss +1 -1
  187. package/extensions/forms/Value/SelectCountry/useCountry.d.ts +1 -1
  188. package/extensions/forms/ValueBlock/ValueBlock.js +12 -8
  189. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  190. package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  191. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  192. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +8 -4
  193. package/extensions/forms/style/dnb-forms.css +19 -7
  194. package/extensions/forms/style/dnb-forms.min.css +1 -1
  195. package/package.json +1 -1
  196. package/shared/Eufemia.d.ts +1 -1
  197. package/shared/Eufemia.js +2 -2
  198. package/shared/Eufemia.js.map +1 -1
  199. package/style/core/scopes.scss +1 -1
  200. package/style/dnb-ui-basis.css +1 -1
  201. package/style/dnb-ui-basis.min.css +1 -1
  202. package/style/dnb-ui-body.css +1 -1
  203. package/style/dnb-ui-body.min.css +1 -1
  204. package/style/dnb-ui-components.css +18 -7
  205. package/style/dnb-ui-components.min.css +1 -1
  206. package/style/dnb-ui-core.css +1 -1
  207. package/style/dnb-ui-core.min.css +1 -1
  208. package/style/dnb-ui-extensions.css +19 -7
  209. package/style/dnb-ui-extensions.min.css +1 -1
  210. package/style/dnb-ui-forms.css +19 -7
  211. package/style/dnb-ui-forms.min.css +1 -1
  212. package/style/themes/theme-eiendom/eiendom-theme-components.css +36 -14
  213. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  214. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +19 -7
  215. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  216. package/style/themes/theme-eiendom/eiendom-theme-forms.css +19 -7
  217. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  218. package/style/themes/theme-sbanken/sbanken-theme-components.css +36 -14
  219. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  220. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +19 -7
  221. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  222. package/style/themes/theme-sbanken/sbanken-theme-forms.css +19 -7
  223. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  224. package/style/themes/theme-ui/ui-theme-components.css +36 -14
  225. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  226. package/style/themes/theme-ui/ui-theme-extensions.css +19 -7
  227. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  228. package/style/themes/theme-ui/ui-theme-forms.css +19 -7
  229. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  230. package/umd/dnb-ui-basis.min.js +1 -1
  231. package/umd/dnb-ui-components.min.js +1 -1
  232. package/umd/dnb-ui-elements.min.js +1 -1
  233. package/umd/dnb-ui-extensions.min.js +3 -3
  234. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_FieldBlock","_hooks","_useFieldProps","_utils","_ToggleButtonGroupContext","_Selection","_Context","_useDataValue","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","hasError","info","warning","disabled","size","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","disableStatusSummary","pickSpacingProps","labelHeight","options","useCheckboxOrToggleOptions","handleActiveData","_ref","labels","createElement","Provider","status","undefined","_ref2","setFieldInternals","useContext","DataContext","optionsCount","useMemo","React","Children","count","activeData","createOption","useCallback","active","error","title","help","rest","includes","label","suffix","HelpButton","convertJsxToString","content","handleSelect","newValue","Component","Checkbox","ToggleButton","key","text","checked","checkForError","on_change","result","map","mapOptions","Boolean","_ref3","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { DefaultErrorMessages, FieldProps, Path } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { mapOptions, Data } from '../Selection'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { CheckboxProps } from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n }>\n>\n\ntype OptionValue = string | number\n\nexport type Props = FieldProps<Array<OptionValue> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button' | 'checkbox-button'\n optionsLayout?: 'horizontal' | 'vertical'\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * The size of the component.\n */\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n\n errorMessages?: DefaultErrorMessages & {\n minItems?: string\n maxItems?: string\n }\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n path,\n dataPath,\n data,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n value,\n hasError,\n info,\n warning,\n disabled,\n size,\n emptyValue,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout--${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n if (!size) {\n fieldBlockProps.labelHeight = 'small'\n }\n\n const options = useCheckboxOrToggleOptions({\n id,\n path,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData: ({ labels }) => {\n setDisplayValue(labels)\n },\n })\n\n switch (variant) {\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n default:\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n }\n}\n\nexport function useCheckboxOrToggleOptions({\n id,\n path,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData,\n}: {\n id: Props['id']\n path?: Props['path']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n dataList?: Props['data']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n size?: Props['size']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n handleActiveData?: (item: { labels: Array<Props['children']> }) => void\n}) {\n const { setFieldInternals } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const activeData: Array<OptionProps> = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: active,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(active)) {\n activeData.push(props)\n }\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n const handleSelect = () => {\n const newValue = value?.includes(active)\n ? value.filter((value) => value !== active)\n : [...(value ?? []), active]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n variant={variant === 'checkbox-button' ? 'checkbox' : undefined}\n className={classnames(\n `dnb-forms-field-array-selection__${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n className\n )}\n size={size}\n label={variant === 'checkbox' ? label : undefined}\n text={variant !== 'checkbox' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(active)}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n disabled,\n emptyValue,\n handleChange,\n hasError,\n htmlAttributes,\n id,\n info,\n optionsCount,\n value,\n variant,\n warning,\n ]\n )\n\n const result = [\n ...(dataList || []).map((props, i) =>\n createOption(props as OptionProps, i)\n ),\n ...(mapOptions(children, { createOption }) || []).filter(Boolean),\n ]\n\n if (handleActiveData) {\n handleActiveData({\n labels: activeData.map(({ title, children }) => title ?? children),\n })\n }\n\n if (path) {\n setFieldInternals?.(path + '/arraySelectionData', {\n props: activeData,\n })\n }\n\n return result\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ArraySelection.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_componentHelper","_components","_FieldBlock","_hooks","_useFieldProps","_utils","_ToggleButtonGroupContext","_Selection","_Context","_useDataValue","_excluded","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","o","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","ArraySelection","props","id","path","dataPath","data","className","variant","layout","optionsLayout","hasError","info","warning","disabled","size","emptyValue","htmlAttributes","handleChange","setDisplayValue","children","useFieldProps","getValueByPath","useDataValue","dataList","fieldBlockProps","forId","classnames","contentClassName","disableStatusSummary","pickSpacingProps","labelHeight","options","useCheckboxOrToggleOptions","handleActiveData","_ref","labels","createElement","Provider","status","undefined","_ref2","setFieldInternals","useContext","DataContext","optionsCount","useMemo","React","Children","count","activeData","createOption","useCallback","active","error","title","help","rest","includes","label","suffix","HelpButton","convertJsxToString","content","handleSelect","newValue","Component","Checkbox","ToggleButton","key","text","checked","checkForError","role","on_change","result","map","mapOptions","Boolean","_ref3","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/ArraySelection/ArraySelection.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { convertJsxToString } from '../../../../shared/component-helper'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { DefaultErrorMessages, FieldProps, Path } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { mapOptions, Data } from '../Selection'\nimport DataContext from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\nimport type { CheckboxProps } from '../../../../components/Checkbox'\nimport type { ToggleButtonProps } from '../../../../components/ToggleButton'\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: number | string\n error: Error | FormError | undefined\n title: React.ReactNode\n help: HelpProps\n className: string\n children: React.ReactNode\n handleSelect: () => void\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n }>\n>\n\ntype OptionValue = string | number\n\nexport type Props = FieldProps<Array<OptionValue> | undefined> & {\n children?: React.ReactNode\n variant?: 'checkbox' | 'button' | 'checkbox-button'\n optionsLayout?: 'horizontal' | 'vertical'\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * The size of the component.\n */\n size?: ToggleButtonProps['size'] | CheckboxProps['size']\n\n errorMessages?: DefaultErrorMessages & {\n minItems?: string\n maxItems?: string\n }\n}\n\nfunction ArraySelection(props: Props) {\n const {\n id,\n path,\n dataPath,\n data,\n className,\n variant = 'checkbox',\n layout = 'vertical',\n optionsLayout = 'vertical',\n value,\n hasError,\n info,\n warning,\n disabled,\n size,\n emptyValue,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n children,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n const dataList = dataPath ? getValueByPath(dataPath) : data\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames(\n 'dnb-forms-field-array-selection',\n `dnb-forms-field-array-selection--variant-${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n `dnb-forms-field-array-selection--layout-${layout}`,\n `dnb-forms-field-array-selection--options-layout--${optionsLayout}`,\n className\n ),\n contentClassName: 'dnb-forms-field-array-selection__options',\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n if (!size) {\n fieldBlockProps.labelHeight = 'small'\n }\n\n const options = useCheckboxOrToggleOptions({\n id,\n path,\n variant,\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData: ({ labels }) => {\n setDisplayValue(labels)\n },\n })\n\n switch (variant) {\n case 'checkbox':\n return <FieldBlock {...fieldBlockProps}>{options}</FieldBlock>\n default:\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButtonGroupContext.Provider\n value={{\n status: hasError ? 'error' : undefined,\n disabled,\n size,\n }}\n >\n {options}\n </ToggleButtonGroupContext.Provider>\n </FieldBlock>\n )\n }\n}\n\nexport function useCheckboxOrToggleOptions({\n id,\n path,\n variant = 'checkbox',\n info,\n warning,\n emptyValue,\n htmlAttributes,\n dataList,\n children,\n value,\n disabled,\n size,\n hasError,\n handleChange,\n handleActiveData,\n}: {\n id: Props['id']\n path?: Props['path']\n variant?: Props['variant']\n info?: Props['info']\n warning?: Props['warning']\n emptyValue?: Props['emptyValue']\n htmlAttributes?: Props['htmlAttributes']\n dataList?: Props['data']\n children?: Props['children']\n value?: Props['value']\n disabled?: Props['disabled']\n size?: Props['size']\n hasError?: ReturnAdditional<Props['value']>['hasError']\n handleChange?: ReturnAdditional<Props['value']>['handleChange']\n handleActiveData?: (item: { labels: Array<Props['children']> }) => void\n}) {\n const { setFieldInternals } = useContext(DataContext)\n const optionsCount = useMemo(\n () => React.Children.count(children) + (dataList?.length || 0),\n [dataList, children]\n )\n const activeData: Array<OptionProps> = []\n\n const createOption = useCallback(\n (props: OptionProps, i: number) => {\n const {\n value: active,\n error,\n title,\n help,\n className,\n children,\n ...rest\n } = props\n\n if (value?.includes(active)) {\n activeData.push(props)\n }\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n const handleSelect = () => {\n const newValue = value?.includes(active)\n ? value.filter((value) => value !== active)\n : [...(value ?? []), active]\n\n handleChange?.(\n newValue.length === 0 ? (emptyValue as typeof value) : newValue\n )\n }\n\n const Component = (\n variant === 'checkbox' ? Checkbox : ToggleButton\n ) as typeof Checkbox & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${value}`}\n variant={variant === 'checkbox-button' ? 'checkbox' : undefined}\n className={classnames(\n `dnb-forms-field-array-selection__${\n variant === 'checkbox' ? 'checkbox' : 'button'\n }`,\n className\n )}\n size={size}\n label={variant === 'checkbox' ? label : undefined}\n text={variant !== 'checkbox' ? label : undefined}\n value={value}\n disabled={disabled}\n checked={value?.includes(active)}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n role=\"checkbox\"\n on_change={handleSelect}\n {...htmlAttributes}\n {...rest}\n />\n )\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n disabled,\n emptyValue,\n handleChange,\n hasError,\n htmlAttributes,\n id,\n info,\n optionsCount,\n value,\n variant,\n warning,\n ]\n )\n\n const result = [\n ...(dataList || []).map((props, i) =>\n createOption(props as OptionProps, i)\n ),\n ...(mapOptions(children, { createOption }) || []).filter(Boolean),\n ]\n\n if (handleActiveData) {\n handleActiveData({\n labels: activeData.map(({ title, children }) => title ?? children),\n })\n }\n\n if (path) {\n setFieldInternals?.(path + '/arraySelectionData', {\n props: activeData,\n })\n }\n\n return result\n}\n\nArraySelection._supportsSpacingProps = true\nexport default ArraySelection\n"],"mappings":"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","ignoreList":[]}
@@ -70,8 +70,8 @@ function PhoneNumber(props) {
70
70
  return undefined;
71
71
  }, []);
72
72
  const fromExternal = (0, _react.useCallback)(external => {
73
- const [, phoneNumber] = splitValue(external);
74
- if (!phoneNumber && !props.omitCountryCodeField) {
73
+ const [countryCode, phoneNumber] = splitValue(external);
74
+ if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {
75
75
  return countryCodeRef.current;
76
76
  }
77
77
  return external;
@@ -114,6 +114,7 @@ function PhoneNumber(props) {
114
114
  placeholder,
115
115
  countryCodeLabel,
116
116
  label = defaultLabel,
117
+ labelSrOnly,
117
118
  numberMask,
118
119
  countries: ccFilter = 'Prioritized',
119
120
  emptyValue,
@@ -275,6 +276,7 @@ function PhoneNumber(props) {
275
276
  placeholder: countryCodePlaceholder,
276
277
  label_direction: "vertical",
277
278
  label: countryCodeLabel !== null && countryCodeLabel !== void 0 ? countryCodeLabel : defaultCountryCodeLabel,
279
+ label_sr_only: labelSrOnly,
278
280
  data: dataRef.current,
279
281
  value: countryCodeRef.current,
280
282
  status: hasError ? 'error' : undefined,
@@ -286,6 +288,7 @@ function PhoneNumber(props) {
286
288
  independent_width: true,
287
289
  search_numbers: true,
288
290
  keep_selection: true,
291
+ selectall: true,
289
292
  autoComplete: "tel-country-code",
290
293
  no_animation: props.noAnimation,
291
294
  size: size
@@ -296,6 +299,7 @@ function PhoneNumber(props) {
296
299
  emptyValue: emptyValue,
297
300
  layout: "vertical",
298
301
  label: label,
302
+ labelSrOnly: labelSrOnly,
299
303
  placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : isDefault ? defaultPlaceholder : undefined,
300
304
  mask: numberMask !== null && numberMask !== void 0 ? numberMask : isDefault ? defaultMask : Array(12).fill(/\d/),
301
305
  onFocus: handleOnFocus,
@@ -323,10 +327,13 @@ function PhoneNumber(props) {
323
327
  }
324
328
  function makeObject(country, lang) {
325
329
  var _country$i18n$lang;
330
+ const name = (_country$i18n$lang = country.i18n[lang]) !== null && _country$i18n$lang !== void 0 ? _country$i18n$lang : country.i18n.en;
331
+ const code = formatCountryCode(country.cdc);
326
332
  return {
327
- selectedKey: formatCountryCode(country.cdc),
328
- selected_value: `${country.iso} (${formatCountryCode(country.cdc)})`,
329
- content: `${formatCountryCode(country.cdc)} ${(_country$i18n$lang = country.i18n[lang]) !== null && _country$i18n$lang !== void 0 ? _country$i18n$lang : country.i18n.en}`,
333
+ selectedKey: code,
334
+ selected_value: `${country.iso} (${code})`,
335
+ search_content: [code, name],
336
+ content: [name, code],
330
337
  country
331
338
  };
332
339
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","selected_value","content","i18n","en","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n 'layout' | 'layoutOptions'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [, phoneNumber] = splitValue(external)\n if (!phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filter, ccFilter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n return {\n selectedKey: formatCountryCode(country.cdc),\n selected_value: `${country.iso} (${formatCountryCode(country.cdc)})`,\n content: `${formatCountryCode(country.cdc)} ${\n country.i18n[lang] ?? country.i18n.en\n }`,\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PhoneNumber.js","names":["_react","_interopRequireWildcard","require","_components","_classnames","_interopRequireDefault","_countries","_String","_Composition","_hooks","_utils","_Context","_SelectCountry","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","defaultCountryCode","defaultPlaceholder","defaultMask","PhoneNumber","props","_sharedContext$locale","_props$inputRef","_countryCodeRef$curre","sharedContext","useContext","SharedContext","label","defaultLabel","countryCodeLabel","defaultCountryCodeLabel","errorRequired","useTranslation","lang","locale","split","countryCodeRef","useRef","emptyValue","prevCountryCodeRef","current","numberRef","dataRef","langRef","wasFilled","currentCountryRef","errorMessages","useMemo","validateRequired","useCallback","_ref","required","isChanged","error","countryCode","phoneNumber","splitValue","undefined","fromExternal","external","omitCountryCodeField","toEvent","schema","_props$schema","type","pattern","defaultProps","ref","preparedProps","inputRef","id","path","itemPath","className","countryCodeFieldClassName","numberFieldClassName","countryCodePlaceholder","placeholder","labelSrOnly","numberMask","countries","ccFilter","info","warning","size","hasError","disabled","width","help","validateInitially","continuousValidation","validateContinuously","validateUnchanged","setHasFocus","handleChange","setDisplayValue","onCountryCodeChange","onNumberChange","filterCountries","useFieldProps","useEffect","_inputRef$current","number","joinValue","country","countryFilter","updateCurrentDataSet","getCountryData","formatCountryCode","cdc","sort","makeObject","prepareEventValues","_currentCountryRef$cu","cdcVal","replace","item","find","_item$country","iso","callOnChange","data","eventValues","callOnBlurOrFocus","hasFocus","handleCountryCodeChange","_ref2","_data$selectedKey","selectedKey","trim","handleNumberChange","handleOnBlur","handleOnFocus","handleCountryCodeFocus","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","revalidateInputValue","event","nativeEvent","test","_ref5","window","requestAnimationFrame","isDefault","includes","fieldBlockProps","classnames","pickSpacingProps","createElement","Autocomplete","mode","label_direction","label_sr_only","status","on_focus","on_blur","on_change","on_type","independent_width","search_numbers","keep_selection","selectall","autoComplete","no_animation","noAnimation","layout","mask","Array","fill","onFocus","onBlur","onChange","innerRef","breakout","outset","inputMode","_country$i18n$lang","name","i18n","en","code","selected_value","search_content","content","match","slice","array","Boolean","join","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/PhoneNumber/PhoneNumber.tsx"],"sourcesContent":["import React, {\n useMemo,\n useContext,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport { Autocomplete } from '../../../../components'\nimport { InputMaskedProps } from '../../../../components/InputMasked'\nimport classnames from 'classnames'\nimport countries, {\n CountryISO,\n type CountryLang,\n type CountryType,\n} from '../../constants/countries'\nimport StringField, { Props as StringFieldProps } from '../String'\nimport { Props as FieldBlockProps } from '../../FieldBlock'\nimport CompositionField from '../Composition'\nimport { useFieldProps } from '../../hooks'\nimport {\n FieldPropsWithExtraValue,\n AllJSONSchemaVersions,\n} from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport SharedContext from '../../../../shared/Context'\nimport {\n countryFilter,\n CountryFilterSet,\n getCountryData,\n} from '../SelectCountry'\nimport useTranslation from '../../hooks/useTranslation'\nimport { DrawerListDataArrayItem } from '../../../../fragments/DrawerList'\n\nexport type AdditionalArgs = {\n phoneNumber: string\n countryCode: string\n iso: string\n}\n\nexport type Props = Omit<\n FieldPropsWithExtraValue<string, AdditionalArgs, undefined | string>,\n 'layout' | 'layoutOptions'\n> & {\n countryCodeFieldClassName?: string\n numberFieldClassName?: string\n countryCodePlaceholder?: string\n countryCodeLabel?: string\n numberMask?: InputMaskedProps['mask']\n pattern?: StringFieldProps['pattern']\n width?: 'large' | 'stretch'\n inputRef?: React.RefObject<HTMLInputElement>\n omitCountryCodeField?: boolean\n onCountryCodeChange?: (value: string | undefined) => void\n onNumberChange?: (value: string | undefined) => void\n\n /**\n * Defines the countries to filter. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n} & Pick<StringFieldProps, 'size'>\n\n// Important for the default value to be defined here, and not after the useFieldProps call, to avoid the UI jumping\n// back to +47 once the user empty the field so handleChange send out undefined.\nconst defaultCountryCode = '+47'\nconst defaultPlaceholder = '00 00 00 00'\nconst defaultMask = [\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n ' ',\n /\\d/,\n /\\d/,\n]\n\ntype EventValues = {\n countryCode?: string\n phoneNumber?: string\n}\n\nfunction PhoneNumber(props: Props) {\n const sharedContext = useContext(SharedContext)\n const {\n label: defaultLabel,\n countryCodeLabel: defaultCountryCodeLabel,\n errorRequired,\n } = useTranslation().PhoneNumber\n const lang = sharedContext.locale?.split('-')[0] as CountryLang\n\n const countryCodeRef = useRef<Props['value']>(props?.emptyValue)\n const prevCountryCodeRef = useRef(countryCodeRef.current)\n const numberRef = useRef<Props['value']>(props?.emptyValue)\n const dataRef = useRef<Array<DrawerListDataArrayItem>>(null)\n const langRef = useRef<string>(lang)\n const wasFilled = useRef<boolean>(false)\n const currentCountryRef = useRef<CountryType>()\n\n const errorMessages = useMemo(\n () => ({\n 'Field.errorRequired': errorRequired,\n 'Field.errorPattern': errorRequired,\n ...props.errorMessages,\n }),\n [errorRequired, props.errorMessages]\n )\n\n const validateRequired = useCallback(\n (value: string, { required, isChanged, error }) => {\n if (required) {\n const [countryCode, phoneNumber] = splitValue(value)\n\n if (countryCode !== prevCountryCodeRef.current) {\n if (countryCode) {\n prevCountryCodeRef.current = countryCode\n }\n return undefined\n }\n\n if (isChanged && !phoneNumber) {\n return error\n }\n }\n\n return undefined\n },\n []\n )\n\n const fromExternal = useCallback(\n (external: string) => {\n const [countryCode, phoneNumber] = splitValue(external)\n if (!countryCode && !phoneNumber && !props.omitCountryCodeField) {\n return countryCodeRef.current\n }\n return external\n },\n [props.omitCountryCodeField]\n )\n\n const toEvent = useCallback(\n (value: string) => {\n const [, phoneNumber] = splitValue(value)\n if (!phoneNumber) {\n return props.emptyValue\n }\n return value\n },\n [props.emptyValue]\n )\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n pattern: props.pattern,\n },\n [props.schema, props.pattern]\n )\n const defaultProps: Partial<Props> = {\n schema,\n errorMessages,\n }\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n ...defaultProps,\n validateRequired,\n fromExternal,\n toEvent,\n inputRef: props.inputRef ?? ref,\n }\n\n const {\n id,\n path,\n itemPath,\n value,\n className,\n inputRef,\n countryCodeFieldClassName,\n numberFieldClassName,\n countryCodePlaceholder,\n placeholder,\n countryCodeLabel,\n label = defaultLabel,\n labelSrOnly,\n numberMask,\n countries: ccFilter = 'Prioritized',\n emptyValue,\n info,\n warning,\n size,\n error,\n hasError,\n disabled,\n width = props.omitCountryCodeField ? 'medium' : 'large',\n help,\n required,\n validateInitially,\n continuousValidation,\n validateContinuously,\n validateUnchanged,\n omitCountryCodeField,\n setHasFocus,\n handleChange,\n setDisplayValue,\n onCountryCodeChange,\n onNumberChange,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n if (path || itemPath) {\n const number = inputRef.current?.value\n setDisplayValue(\n number?.length > 0\n ? joinValue([countryCodeRef.current, number])\n : undefined\n )\n }\n }, [inputRef, itemPath, path, setDisplayValue, value])\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n const updateCurrentDataSet = useCallback(() => {\n dataRef.current = getCountryData({\n lang,\n filter:\n // Make sure the whole cc list is displayed when cc filter is set to specific region\n ccFilter === 'Prioritized' && !wasFilled.current\n ? (country) =>\n `${formatCountryCode(country.cdc)}` ===\n countryCodeRef.current\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n makeObject,\n })\n }, [lang, filter, ccFilter])\n\n const prepareEventValues = useCallback(\n ({\n countryCode = countryCodeRef.current || emptyValue,\n phoneNumber = numberRef.current || emptyValue,\n }: EventValues = {}) => {\n if (!currentCountryRef.current) {\n type Item = DrawerListDataArrayItem & { country: CountryType }\n\n const cdcVal = countryCode?.replace(/^\\+/, '')\n const item = dataRef.current.find((item: Item) => {\n const cdc = item?.country?.cdc\n return cdc === cdcVal\n }) as Item\n\n currentCountryRef.current = item?.country\n }\n\n return {\n ...(!omitCountryCodeField ? { countryCode } : {}),\n phoneNumber,\n iso: currentCountryRef.current?.iso as CountryISO,\n }\n },\n [emptyValue, omitCountryCodeField]\n )\n\n const callOnChange = useCallback(\n (data: EventValues) => {\n const eventValues = prepareEventValues(data)\n handleChange(\n joinValue([eventValues.countryCode, eventValues.phoneNumber]),\n eventValues\n )\n },\n [prepareEventValues, handleChange]\n )\n\n const callOnBlurOrFocus = useCallback(\n (hasFocus: boolean) => {\n setHasFocus(hasFocus, undefined, prepareEventValues())\n },\n [prepareEventValues, setHasFocus]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update countryCode and phoneNumber when value changes.\n */\n useMemo(() => {\n const [countryCode, phoneNumber] = splitValue(props.value || value)\n numberRef.current = phoneNumber\n\n if (lang !== langRef.current || !wasFilled.current) {\n if (!countryCodeRef.current || countryCode) {\n countryCodeRef.current = countryCode || defaultCountryCode\n }\n langRef.current = lang\n\n updateCurrentDataSet()\n }\n }, [value, props.value, lang, updateCurrentDataSet])\n\n const handleCountryCodeChange = useCallback(\n ({\n data,\n }: {\n data: { selectedKey: string; country: CountryType }\n }) => {\n const countryCode = (countryCodeRef.current =\n data?.selectedKey?.trim() || emptyValue)\n currentCountryRef.current = data?.country\n\n callOnChange({ countryCode })\n onCountryCodeChange?.(countryCode)\n },\n [emptyValue, callOnChange, onCountryCodeChange]\n )\n\n const handleNumberChange = useCallback(\n (value: string) => {\n const phoneNumber = (numberRef.current = value || emptyValue)\n\n callOnChange({ phoneNumber })\n onNumberChange?.(phoneNumber)\n },\n [emptyValue, callOnChange, onNumberChange]\n )\n\n const handleOnBlur = useCallback(() => {\n callOnBlurOrFocus(false)\n }, [callOnBlurOrFocus])\n\n const handleOnFocus = useCallback(() => {\n callOnBlurOrFocus(true)\n }, [callOnBlurOrFocus])\n\n const handleCountryCodeFocus = useCallback(\n ({ updateData }) => {\n if (!wasFilled.current) {\n wasFilled.current = true\n updateCurrentDataSet()\n updateData(dataRef.current)\n }\n handleOnFocus()\n },\n [handleOnFocus, updateCurrentDataSet]\n )\n\n const onTypeHandler = useCallback(\n ({ value, updateData, revalidateInputValue, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const cdcVal = /\\+\\d{1,3}\\s{1}\\d+/.test(value)\n ? splitValue(value)[0]\n : value\n const country = countries.find(({ cdc }) => cdc === cdcVal)\n if (country?.cdc) {\n const countryCode = (countryCodeRef.current = formatCountryCode(\n country.cdc\n ))\n\n updateCurrentDataSet()\n updateData(dataRef.current)\n callOnChange({ countryCode })\n\n // To ensure correct input value,\n // regardless if there is changed data before or not.\n window.requestAnimationFrame(() => {\n revalidateInputValue()\n })\n }\n }\n },\n [callOnChange, updateCurrentDataSet]\n )\n\n const isDefault = countryCodeRef.current?.includes(defaultCountryCode)\n\n const fieldBlockProps: FieldBlockProps = {\n id,\n className: classnames('dnb-forms-field-phone-number', className),\n width,\n label: undefined,\n help: undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <CompositionField {...fieldBlockProps}>\n {!omitCountryCodeField && (\n <Autocomplete\n className={classnames(\n 'dnb-forms-field-phone-number__country-code',\n countryCodeFieldClassName\n )}\n mode=\"async\"\n placeholder={countryCodePlaceholder}\n label_direction=\"vertical\"\n label={countryCodeLabel ?? defaultCountryCodeLabel}\n label_sr_only={labelSrOnly}\n data={dataRef.current}\n value={countryCodeRef.current}\n status={hasError ? 'error' : undefined}\n disabled={disabled}\n on_focus={handleCountryCodeFocus}\n on_blur={handleOnBlur}\n on_change={handleCountryCodeChange}\n on_type={onTypeHandler}\n independent_width\n search_numbers\n keep_selection\n selectall\n autoComplete=\"tel-country-code\"\n no_animation={props.noAnimation}\n size={size}\n />\n )}\n <StringField\n className={classnames(\n 'dnb-forms-field-phone-number__number',\n numberFieldClassName\n )}\n type=\"tel\"\n autoComplete=\"tel-national\"\n emptyValue={emptyValue}\n layout=\"vertical\"\n label={label}\n labelSrOnly={labelSrOnly}\n placeholder={\n placeholder ?? (isDefault ? defaultPlaceholder : undefined)\n }\n mask={\n numberMask ?? (isDefault ? defaultMask : Array(12).fill(/\\d/))\n }\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n onChange={handleNumberChange}\n value={numberRef.current}\n innerRef={inputRef}\n info={info}\n warning={warning}\n error={error}\n disabled={disabled}\n width=\"stretch\"\n help={{ ...help, breakout: false, outset: false }}\n required={required}\n errorMessages={errorMessages}\n validateInitially={validateInitially}\n validateContinuously={continuousValidation || validateContinuously}\n validateUnchanged={validateUnchanged}\n inputMode=\"tel\"\n size={size}\n />\n </CompositionField>\n )\n}\n\nfunction makeObject(country: CountryType, lang: string) {\n const name = country.i18n[lang] ?? country.i18n.en\n const code = formatCountryCode(country.cdc)\n return {\n selectedKey: code,\n selected_value: `${country.iso} (${code})`,\n search_content: [code, name],\n content: [name, code],\n country,\n }\n}\n\nfunction formatCountryCode(value: string) {\n return `+${value}`\n}\n\nfunction splitValue(value: string) {\n return (\n typeof value === 'string'\n ? value.match(/^(\\+[^ ]+)? ?(.*)$/)\n : [undefined, '', '']\n ).slice(1)\n}\n\nfunction joinValue(array: Array<string>) {\n return array.filter(Boolean).join(' ')\n}\n\nPhoneNumber._supportsSpacingProps = true\nexport default PhoneNumber\n"],"mappings":"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","ignoreList":[]}
@@ -37,12 +37,12 @@ type GetCountryData = {
37
37
  sort?: Extract<CountryFilterSet, 'Prioritized'>;
38
38
  makeObject?: (country: CountryType, lang: string) => {
39
39
  selectedKey: string;
40
- content: string;
40
+ content: string | Array<string>;
41
41
  };
42
42
  };
43
43
  export declare function getCountryData({ lang, filter, sort, makeObject, }?: GetCountryData): {
44
44
  selectedKey: string;
45
- content: string;
45
+ content: string | string[];
46
46
  }[];
47
47
  export declare function countryFilter(country: CountryType, filterCountries: (country: CountryType) => boolean, ccFilter: CountryFilterSet): boolean;
48
48
  export declare function makeCountryFilterSet(ccFilter: CountryFilterSet): (country: CountryType) => boolean;
@@ -190,6 +190,7 @@ function SelectCountry(props) {
190
190
  on_change: handleCountryChange,
191
191
  on_type: onTypeHandler,
192
192
  stretch: true,
193
+ selectall: true,
193
194
  status: hasError ? 'error' : undefined,
194
195
  show_submit_button: true,
195
196
  keep_selection: true,
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCountry.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_FieldBlockContext","_defaults","_components","_utils","_countries","_hooks","_FieldBlock","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","SelectCountry","props","_props$width","sharedContext","useContext","SharedContext","fieldBlockContext","FieldBlockContext","label","defaultLabel","placeholder","defaultPlaceholder","errorRequired","useTranslation","lang","locale","LOCALE","split","getCountryObjectByIso","useCallback","country","countries","find","_ref","iso","i18n","provideAdditionalArgs","errorMessages","useMemo","required","preparedProps","width","composition","id","path","itemPath","className","ccFilter","hasError","disabled","size","noAnimation","autoComplete","htmlAttributes","handleFocus","handleBlur","handleChange","updateValue","setDisplayValue","forceUpdate","filterCountries","useFieldProps","dataRef","useRef","langRef","wasFilled","countryFilter","isLangChange","current","getCountryData","sort","window","requestAnimationFrame","handleCountryChange","_ref2","data","newValue","selectedKey","fillData","onFocusHandler","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","currentValue","setHidden","event","nativeEvent","search","toLowerCase","_ref5","values","some","s","includes","_getCountryObjectByIs","_getCountryObjectByIs2","fieldBlockProps","forId","classnames","undefined","contentWidth","pickSpacingProps","createElement","Autocomplete","input_icon","on_show","on_focus","on_blur","on_change","on_type","stretch","status","show_submit_button","keep_selection","no_animation","makeObject","_country$i18n$lang","content","en","sortedCountries","_ref6","_ref7","_String","_String$localeCompare","b","indexA","prioritizedCountries","indexOf","indexB","priorityA","priorityB","localeCompare","map","result","_country$regions","regions","continent","makeCountryFilterSet","_country$regions2","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport { LOCALE } from '../../../../shared/defaults'\nimport { Autocomplete } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport countries, {\n prioritizedCountries,\n type CountryType,\n type CountryLang,\n type CountryISO,\n} from '../../constants/countries'\nimport { useFieldProps } from '../../hooks'\nimport { FieldPropsWithExtraValue } from '../../types'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport useTranslation from '../../hooks/useTranslation'\nimport { AutocompleteAllProps } from '../../../../components/autocomplete/Autocomplete'\n\nexport type CountryFilterSet =\n | 'Scandinavia'\n | 'Nordic'\n | 'Europe'\n | 'Prioritized'\nexport type { CountryType }\n\nexport type Props = FieldPropsWithExtraValue<\n CountryISO,\n CountryType,\n undefined | string\n> & {\n /**\n * Lists only the countries you want to show. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n\n /**\n * The width of the component.\n */\n width?: FieldBlockWidth\n\n /**\n * The size of the component.\n */\n size?: AutocompleteAllProps['size']\n}\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const {\n label: defaultLabel,\n placeholder: defaultPlaceholder,\n errorRequired,\n } = useTranslation().SelectCountry\n const lang = (sharedContext.locale || LOCALE).split(\n '-'\n )[0] as CountryLang\n\n const getCountryObjectByIso = useCallback(\n (value: CountryType['iso']) => {\n const country = countries.find(({ iso }) => value === iso)\n if (country?.i18n) {\n country['name'] = country.i18n[lang]\n }\n return country\n },\n [lang]\n )\n\n const provideAdditionalArgs = useCallback(\n (value: CountryType['iso']) => {\n const country = getCountryObjectByIso(value)\n\n if (country?.iso) {\n return country\n }\n },\n [getCountryObjectByIso]\n )\n\n const errorMessages = useMemo(\n () => ({\n required: errorRequired,\n }),\n [errorRequired]\n )\n\n const preparedProps: Props = {\n errorMessages,\n ...props,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'large'),\n provideAdditionalArgs,\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n placeholder = defaultPlaceholder,\n label = defaultLabel,\n countries: ccFilter = 'Prioritized',\n hasError,\n disabled,\n size,\n value,\n width,\n noAnimation,\n autoComplete,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n setDisplayValue,\n forceUpdate,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n const dataRef = useRef(null)\n const langRef = useRef(lang)\n const wasFilled = useRef(false)\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update data set when value changes.\n */\n useMemo(() => {\n const isLangChange = lang !== langRef.current\n\n if (isLangChange || !wasFilled.current) {\n langRef.current = lang\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) => country.iso === value\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n\n // To force Autocomplete to re-evaluate the internal data\n if (isLangChange && value && typeof window !== 'undefined') {\n updateValue(null)\n window.requestAnimationFrame(() => {\n updateValue(value)\n })\n }\n }\n }, [lang, filter, ccFilter, updateValue, value])\n\n const handleCountryChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const newValue = data?.selectedKey\n const country = getCountryObjectByIso(newValue)\n if (country?.iso) {\n handleChange(country.iso, country)\n }\n },\n [getCountryObjectByIso, handleChange]\n )\n\n const fillData = useCallback(() => {\n if (!wasFilled.current) {\n wasFilled.current = true\n dataRef.current = getCountryData({\n lang: langRef.current,\n filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n forceUpdate()\n }\n }, [ccFilter, filter, forceUpdate])\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n fillData()\n updateData(dataRef.current)\n handleFocus()\n },\n [fillData, handleFocus]\n )\n\n const onTypeHandler = useCallback(\n ({ value: currentValue, setHidden, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const search = currentValue.toLowerCase()\n const country = countries.find(({ i18n }) =>\n Object.values(i18n).some((s) => s.toLowerCase().includes(search))\n )\n if (country?.iso) {\n setHidden()\n handleChange(country.iso)\n }\n }\n },\n [handleChange]\n )\n\n useMemo(() => {\n if (path || itemPath) {\n setDisplayValue(\n getCountryObjectByIso(value)?.i18n?.[langRef.current]\n )\n }\n }, [getCountryObjectByIso, itemPath, path, setDisplayValue, value])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames('dnb-forms-field-select-country', className),\n label,\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Autocomplete\n id={id}\n placeholder={placeholder}\n input_icon={false}\n data={dataRef.current}\n value={typeof value === 'string' ? value : null}\n disabled={disabled}\n size={size}\n on_show={fillData}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryChange}\n on_type={onTypeHandler}\n stretch\n status={hasError ? 'error' : undefined}\n show_submit_button\n keep_selection\n autoComplete={autoComplete ?? 'country-name'}\n no_animation={noAnimation}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\ntype GetCountryData = {\n lang?: CountryLang\n filter?: Props['filterCountries']\n sort?: Extract<CountryFilterSet, 'Prioritized'>\n makeObject?: (\n country: CountryType,\n lang: string\n ) => {\n selectedKey: string\n content: string\n }\n}\n\nexport function getCountryData({\n lang = 'nb',\n filter = null,\n sort = null,\n makeObject = (country: CountryType, lang: string) => {\n const content = country.i18n[lang] ?? country.i18n.en\n return {\n selectedKey: country.iso,\n content,\n }\n },\n}: GetCountryData = {}) {\n const sortedCountries = countries\n .filter((country) => {\n if (typeof filter === 'function') {\n return filter(country)\n }\n\n return !filter\n })\n .sort(({ i18n: a }, { i18n: b }) => {\n if (sort === 'Prioritized') {\n const indexA = prioritizedCountries.indexOf(a['en'])\n const indexB = prioritizedCountries.indexOf(b['en'])\n\n const priorityA = indexA !== -1\n const priorityB = indexB !== -1\n\n if (priorityA && priorityB) {\n return indexA - indexB\n } else if (priorityA) {\n return -1\n } else if (priorityB) {\n return 1\n }\n }\n\n return String(a[lang])?.localeCompare?.(b[lang], 'nb') // Always sort by nb, because åøæ (for Åland) is not in the en alphabet\n })\n .map((country) => makeObject(country, lang))\n\n if (sortedCountries.length === 0) {\n return undefined\n }\n\n return sortedCountries\n}\n\nexport function countryFilter(\n country: CountryType,\n filterCountries: (country: CountryType) => boolean,\n ccFilter: CountryFilterSet\n) {\n let result = true\n\n if (ccFilter !== 'Prioritized') {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic': {\n result = country.regions?.includes(ccFilter)\n break\n }\n case 'Europe': {\n result = country.continent.includes(ccFilter)\n break\n }\n }\n }\n\n if (result && filterCountries) {\n result = filterCountries(country)\n }\n\n return result\n}\n\nexport function makeCountryFilterSet(ccFilter: CountryFilterSet) {\n return (country: CountryType) => {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic':\n return country.regions?.includes(ccFilter)\n case 'Europe':\n return country.continent.includes(ccFilter)\n }\n return true\n }\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SelectCountry.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Context","_FieldBlockContext","_defaults","_components","_utils","_countries","_hooks","_FieldBlock","_useTranslation","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","SelectCountry","props","_props$width","sharedContext","useContext","SharedContext","fieldBlockContext","FieldBlockContext","label","defaultLabel","placeholder","defaultPlaceholder","errorRequired","useTranslation","lang","locale","LOCALE","split","getCountryObjectByIso","useCallback","country","countries","find","_ref","iso","i18n","provideAdditionalArgs","errorMessages","useMemo","required","preparedProps","width","composition","id","path","itemPath","className","ccFilter","hasError","disabled","size","noAnimation","autoComplete","htmlAttributes","handleFocus","handleBlur","handleChange","updateValue","setDisplayValue","forceUpdate","filterCountries","useFieldProps","dataRef","useRef","langRef","wasFilled","countryFilter","isLangChange","current","getCountryData","sort","window","requestAnimationFrame","handleCountryChange","_ref2","data","newValue","selectedKey","fillData","onFocusHandler","_ref3","updateData","onTypeHandler","_ref4","_event$nativeEvent","currentValue","setHidden","event","nativeEvent","search","toLowerCase","_ref5","values","some","s","includes","_getCountryObjectByIs","_getCountryObjectByIs2","fieldBlockProps","forId","classnames","undefined","contentWidth","pickSpacingProps","createElement","Autocomplete","input_icon","on_show","on_focus","on_blur","on_change","on_type","stretch","selectall","status","show_submit_button","keep_selection","no_animation","makeObject","_country$i18n$lang","content","en","sortedCountries","_ref6","_ref7","_String","_String$localeCompare","b","indexA","prioritizedCountries","indexOf","indexB","priorityA","priorityB","localeCompare","map","result","_country$regions","regions","continent","makeCountryFilterSet","_country$regions2","_supportsSpacingProps","_default","exports"],"sources":["../../../../../../src/extensions/forms/Field/SelectCountry/SelectCountry.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport SharedContext from '../../../../shared/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport { LOCALE } from '../../../../shared/defaults'\nimport { Autocomplete } from '../../../../components'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport countries, {\n prioritizedCountries,\n type CountryType,\n type CountryLang,\n type CountryISO,\n} from '../../constants/countries'\nimport { useFieldProps } from '../../hooks'\nimport { FieldPropsWithExtraValue } from '../../types'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport useTranslation from '../../hooks/useTranslation'\nimport { AutocompleteAllProps } from '../../../../components/autocomplete/Autocomplete'\n\nexport type CountryFilterSet =\n | 'Scandinavia'\n | 'Nordic'\n | 'Europe'\n | 'Prioritized'\nexport type { CountryType }\n\nexport type Props = FieldPropsWithExtraValue<\n CountryISO,\n CountryType,\n undefined | string\n> & {\n /**\n * Lists only the countries you want to show. Can be `Scandinavia`, `Nordic`, `Europe` or `Prioritized`.\n * Defaults to `Prioritized`.\n */\n countries?: CountryFilterSet\n\n /**\n * Use this prop to filter out certain countries. The function receives the country object and should return a boolean. Returning `false` will omit the country.\n */\n filterCountries?: (country: CountryType) => boolean\n\n /**\n * For internal testing purposes\n */\n noAnimation?: boolean\n\n /**\n * The width of the component.\n */\n width?: FieldBlockWidth\n\n /**\n * The size of the component.\n */\n size?: AutocompleteAllProps['size']\n}\n\nfunction SelectCountry(props: Props) {\n const sharedContext = useContext(SharedContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n const {\n label: defaultLabel,\n placeholder: defaultPlaceholder,\n errorRequired,\n } = useTranslation().SelectCountry\n const lang = (sharedContext.locale || LOCALE).split(\n '-'\n )[0] as CountryLang\n\n const getCountryObjectByIso = useCallback(\n (value: CountryType['iso']) => {\n const country = countries.find(({ iso }) => value === iso)\n if (country?.i18n) {\n country['name'] = country.i18n[lang]\n }\n return country\n },\n [lang]\n )\n\n const provideAdditionalArgs = useCallback(\n (value: CountryType['iso']) => {\n const country = getCountryObjectByIso(value)\n\n if (country?.iso) {\n return country\n }\n },\n [getCountryObjectByIso]\n )\n\n const errorMessages = useMemo(\n () => ({\n required: errorRequired,\n }),\n [errorRequired]\n )\n\n const preparedProps: Props = {\n errorMessages,\n ...props,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'large'),\n provideAdditionalArgs,\n }\n\n const {\n id,\n path,\n itemPath,\n className,\n placeholder = defaultPlaceholder,\n label = defaultLabel,\n countries: ccFilter = 'Prioritized',\n hasError,\n disabled,\n size,\n value,\n width,\n noAnimation,\n autoComplete,\n htmlAttributes,\n handleFocus,\n handleBlur,\n handleChange,\n updateValue,\n setDisplayValue,\n forceUpdate,\n filterCountries,\n } = useFieldProps(preparedProps)\n\n const dataRef = useRef(null)\n const langRef = useRef(lang)\n const wasFilled = useRef(false)\n\n const filter = useCallback(\n (country: CountryType) => {\n return countryFilter(country, filterCountries, ccFilter)\n },\n [ccFilter, filterCountries]\n )\n\n /**\n * We do not process the whole country list at the first render.\n * Only when the Autocomplete opens (focus).\n * To achieve this, we use memo instead of effect to update refs in sync.\n *\n * We set or update the data list depending on if the countrycode changes or lang changes.\n * We then update data set when value changes.\n */\n useMemo(() => {\n const isLangChange = lang !== langRef.current\n\n if (isLangChange || !wasFilled.current) {\n langRef.current = lang\n dataRef.current = getCountryData({\n lang,\n filter: !wasFilled.current\n ? (country) => country.iso === value\n : filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n\n // To force Autocomplete to re-evaluate the internal data\n if (isLangChange && value && typeof window !== 'undefined') {\n updateValue(null)\n window.requestAnimationFrame(() => {\n updateValue(value)\n })\n }\n }\n }, [lang, filter, ccFilter, updateValue, value])\n\n const handleCountryChange = useCallback(\n ({ data }: { data: { selectedKey: string } }) => {\n const newValue = data?.selectedKey\n const country = getCountryObjectByIso(newValue)\n if (country?.iso) {\n handleChange(country.iso, country)\n }\n },\n [getCountryObjectByIso, handleChange]\n )\n\n const fillData = useCallback(() => {\n if (!wasFilled.current) {\n wasFilled.current = true\n dataRef.current = getCountryData({\n lang: langRef.current,\n filter,\n sort: ccFilter as Extract<CountryFilterSet, 'Prioritized'>,\n })\n forceUpdate()\n }\n }, [ccFilter, filter, forceUpdate])\n\n const onFocusHandler = useCallback(\n ({ updateData }) => {\n fillData()\n updateData(dataRef.current)\n handleFocus()\n },\n [fillData, handleFocus]\n )\n\n const onTypeHandler = useCallback(\n ({ value: currentValue, setHidden, event }) => {\n // Handle browser autofill/autocomplete\n if (typeof event?.nativeEvent?.data === 'undefined') {\n const search = currentValue.toLowerCase()\n const country = countries.find(({ i18n }) =>\n Object.values(i18n).some((s) => s.toLowerCase().includes(search))\n )\n if (country?.iso) {\n setHidden()\n handleChange(country.iso)\n }\n }\n },\n [handleChange]\n )\n\n useMemo(() => {\n if (path || itemPath) {\n setDisplayValue(\n getCountryObjectByIso(value)?.i18n?.[langRef.current]\n )\n }\n }, [getCountryObjectByIso, itemPath, path, setDisplayValue, value])\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames('dnb-forms-field-select-country', className),\n label,\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Autocomplete\n id={id}\n placeholder={placeholder}\n input_icon={false}\n data={dataRef.current}\n value={typeof value === 'string' ? value : null}\n disabled={disabled}\n size={size}\n on_show={fillData}\n on_focus={onFocusHandler}\n on_blur={handleBlur}\n on_change={handleCountryChange}\n on_type={onTypeHandler}\n stretch\n selectall\n status={hasError ? 'error' : undefined}\n show_submit_button\n keep_selection\n autoComplete={autoComplete ?? 'country-name'}\n no_animation={noAnimation}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n}\n\ntype GetCountryData = {\n lang?: CountryLang\n filter?: Props['filterCountries']\n sort?: Extract<CountryFilterSet, 'Prioritized'>\n makeObject?: (\n country: CountryType,\n lang: string\n ) => {\n selectedKey: string\n content: string | Array<string>\n }\n}\n\nexport function getCountryData({\n lang = 'nb',\n filter = null,\n sort = null,\n makeObject = (country: CountryType, lang: string) => {\n const content = country.i18n[lang] ?? country.i18n.en\n return {\n selectedKey: country.iso,\n content,\n }\n },\n}: GetCountryData = {}) {\n const sortedCountries = countries\n .filter((country) => {\n if (typeof filter === 'function') {\n return filter(country)\n }\n\n return !filter\n })\n .sort(({ i18n: a }, { i18n: b }) => {\n if (sort === 'Prioritized') {\n const indexA = prioritizedCountries.indexOf(a['en'])\n const indexB = prioritizedCountries.indexOf(b['en'])\n\n const priorityA = indexA !== -1\n const priorityB = indexB !== -1\n\n if (priorityA && priorityB) {\n return indexA - indexB\n } else if (priorityA) {\n return -1\n } else if (priorityB) {\n return 1\n }\n }\n\n return String(a[lang])?.localeCompare?.(b[lang], 'nb') // Always sort by nb, because åøæ (for Åland) is not in the en alphabet\n })\n .map((country) => makeObject(country, lang))\n\n if (sortedCountries.length === 0) {\n return undefined\n }\n\n return sortedCountries\n}\n\nexport function countryFilter(\n country: CountryType,\n filterCountries: (country: CountryType) => boolean,\n ccFilter: CountryFilterSet\n) {\n let result = true\n\n if (ccFilter !== 'Prioritized') {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic': {\n result = country.regions?.includes(ccFilter)\n break\n }\n case 'Europe': {\n result = country.continent.includes(ccFilter)\n break\n }\n }\n }\n\n if (result && filterCountries) {\n result = filterCountries(country)\n }\n\n return result\n}\n\nexport function makeCountryFilterSet(ccFilter: CountryFilterSet) {\n return (country: CountryType) => {\n switch (ccFilter) {\n case 'Scandinavia':\n case 'Nordic':\n return country.regions?.includes(ccFilter)\n case 'Europe':\n return country.continent.includes(ccFilter)\n }\n return true\n }\n}\n\nSelectCountry._supportsSpacingProps = true\nexport default SelectCountry\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,kBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAT,uBAAA,CAAAC,OAAA;AAMA,IAAAS,MAAA,GAAAT,OAAA;AAEA,IAAAU,WAAA,GAAAR,sBAAA,CAAAF,OAAA;AAIA,IAAAW,eAAA,GAAAT,sBAAA,CAAAF,OAAA;AAAuD,SAAAE,uBAAAU,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,SAAA,WAAAA,QAAA,GAAAR,MAAA,CAAAS,MAAA,GAAAT,MAAA,CAAAS,MAAA,CAAAC,IAAA,eAAAb,CAAA,aAAAT,CAAA,MAAAA,CAAA,GAAAuB,SAAA,CAAAC,MAAA,EAAAxB,CAAA,UAAAM,CAAA,GAAAiB,SAAA,CAAAvB,CAAA,YAAAK,CAAA,IAAAC,CAAA,OAAAU,cAAA,CAAAC,IAAA,CAAAX,CAAA,EAAAD,CAAA,MAAAI,CAAA,CAAAJ,CAAA,IAAAC,CAAA,CAAAD,CAAA,aAAAI,CAAA,KAAAW,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,QAAA1B,CAAA,EAAAK,CAAA,QAAAC,CAAA,GAAAM,MAAA,CAAAe,IAAA,CAAA3B,CAAA,OAAAY,MAAA,CAAAgB,qBAAA,QAAAC,CAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAA5B,CAAA,GAAAK,CAAA,KAAAwB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAzB,CAAA,WAAAO,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAA0B,UAAA,OAAAzB,CAAA,CAAA0B,IAAA,CAAAP,KAAA,CAAAnB,CAAA,EAAAuB,CAAA,YAAAvB,CAAA;AAAA,SAAA2B,cAAAjC,CAAA,aAAAK,CAAA,MAAAA,CAAA,GAAAkB,SAAA,CAAAC,MAAA,EAAAnB,CAAA,UAAAC,CAAA,WAAAiB,SAAA,CAAAlB,CAAA,IAAAkB,SAAA,CAAAlB,CAAA,QAAAA,CAAA,OAAAqB,OAAA,CAAAd,MAAA,CAAAN,CAAA,OAAA4B,OAAA,WAAA7B,CAAA,IAAA8B,eAAA,CAAAnC,CAAA,EAAAK,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAO,MAAA,CAAAwB,yBAAA,GAAAxB,MAAA,CAAAyB,gBAAA,CAAArC,CAAA,EAAAY,MAAA,CAAAwB,yBAAA,CAAA9B,CAAA,KAAAoB,OAAA,CAAAd,MAAA,CAAAN,CAAA,GAAA4B,OAAA,WAAA7B,CAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,EAAAO,MAAA,CAAAE,wBAAA,CAAAR,CAAA,EAAAD,CAAA,iBAAAL,CAAA;AAAA,SAAAmC,gBAAAnC,CAAA,EAAAK,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAiC,cAAA,CAAAjC,CAAA,MAAAL,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAK,CAAA,IAAAkC,KAAA,EAAAjC,CAAA,EAAAyB,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAAzC,CAAA,CAAAK,CAAA,IAAAC,CAAA,EAAAN,CAAA;AAAA,SAAAsC,eAAAhC,CAAA,QAAAY,CAAA,GAAAwB,YAAA,CAAApC,CAAA,uCAAAY,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAwB,aAAApC,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAN,CAAA,GAAAM,CAAA,CAAAqC,MAAA,CAAAC,WAAA,kBAAA5C,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAX,CAAA,EAAAD,CAAA,uCAAAa,CAAA,SAAAA,CAAA,YAAA2B,SAAA,yEAAAxC,CAAA,GAAAyC,MAAA,GAAAC,MAAA,EAAAzC,CAAA;AA0CvD,SAAS0C,aAAaA,CAACC,KAAY,EAAE;EAAA,IAAAC,YAAA;EACnC,MAAMC,aAAa,GAAG,IAAAC,iBAAU,EAACC,gBAAa,CAAC;EAC/C,MAAMC,iBAAiB,GAAG,IAAAF,iBAAU,EAACG,0BAAiB,CAAC;EACvD,MAAM;IACJC,KAAK,EAAEC,YAAY;IACnBC,WAAW,EAAEC,kBAAkB;IAC/BC;EACF,CAAC,GAAG,IAAAC,uBAAc,EAAC,CAAC,CAACb,aAAa;EAClC,MAAMc,IAAI,GAAG,CAACX,aAAa,CAACY,MAAM,IAAIC,gBAAM,EAAEC,KAAK,CACjD,GACF,CAAC,CAAC,CAAC,CAAgB;EAEnB,MAAMC,qBAAqB,GAAG,IAAAC,kBAAW,EACtC5B,KAAyB,IAAK;IAC7B,MAAM6B,OAAO,GAAGC,kBAAS,CAACC,IAAI,CAACC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKhC,KAAK,KAAKiC,GAAG;IAAA,EAAC;IAC1D,IAAIJ,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEK,IAAI,EAAE;MACjBL,OAAO,CAAC,MAAM,CAAC,GAAGA,OAAO,CAACK,IAAI,CAACX,IAAI,CAAC;IACtC;IACA,OAAOM,OAAO;EAChB,CAAC,EACD,CAACN,IAAI,CACP,CAAC;EAED,MAAMY,qBAAqB,GAAG,IAAAP,kBAAW,EACtC5B,KAAyB,IAAK;IAC7B,MAAM6B,OAAO,GAAGF,qBAAqB,CAAC3B,KAAK,CAAC;IAE5C,IAAI6B,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,GAAG,EAAE;MAChB,OAAOJ,OAAO;IAChB;EACF,CAAC,EACD,CAACF,qBAAqB,CACxB,CAAC;EAED,MAAMS,aAAa,GAAG,IAAAC,cAAO,EAC3B,OAAO;IACLC,QAAQ,EAAEjB;EACZ,CAAC,CAAC,EACF,CAACA,aAAa,CAChB,CAAC;EAED,MAAMkB,aAAoB,GAAA7C,aAAA,CAAAA,aAAA;IACxB0C;EAAa,GACV1B,KAAK;IACR8B,KAAK,GAAA7B,YAAA,GACHD,KAAK,CAAC8B,KAAK,cAAA7B,YAAA,cAAAA,YAAA,GACVI,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAE0B,WAAW,GAAG,SAAS,GAAG,OAAQ;IACxDN;EAAqB,EACtB;EAED,MAAM;IACJO,EAAE;IACFC,IAAI;IACJC,QAAQ;IACRC,SAAS;IACT1B,WAAW,GAAGC,kBAAkB;IAChCH,KAAK,GAAGC,YAAY;IACpBY,SAAS,EAAEgB,QAAQ,GAAG,aAAa;IACnCC,QAAQ;IACRC,QAAQ;IACRC,IAAI;IACJjD,KAAK;IACLwC,KAAK;IACLU,WAAW;IACXC,YAAY;IACZC,cAAc;IACdC,WAAW;IACXC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,eAAe;IACfC,WAAW;IACXC;EACF,CAAC,GAAG,IAAAC,oBAAa,EAACrB,aAAa,CAAC;EAEhC,MAAMsB,OAAO,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAC5B,MAAMC,OAAO,GAAG,IAAAD,aAAM,EAACvC,IAAI,CAAC;EAC5B,MAAMyC,SAAS,GAAG,IAAAF,aAAM,EAAC,KAAK,CAAC;EAE/B,MAAMvE,MAAM,GAAG,IAAAqC,kBAAW,EACvBC,OAAoB,IAAK;IACxB,OAAOoC,aAAa,CAACpC,OAAO,EAAE8B,eAAe,EAAEb,QAAQ,CAAC;EAC1D,CAAC,EACD,CAACA,QAAQ,EAAEa,eAAe,CAC5B,CAAC;EAUD,IAAAtB,cAAO,EAAC,MAAM;IACZ,MAAM6B,YAAY,GAAG3C,IAAI,KAAKwC,OAAO,CAACI,OAAO;IAE7C,IAAID,YAAY,IAAI,CAACF,SAAS,CAACG,OAAO,EAAE;MACtCJ,OAAO,CAACI,OAAO,GAAG5C,IAAI;MACtBsC,OAAO,CAACM,OAAO,GAAGC,cAAc,CAAC;QAC/B7C,IAAI;QACJhC,MAAM,EAAE,CAACyE,SAAS,CAACG,OAAO,GACrBtC,OAAO,IAAKA,OAAO,CAACI,GAAG,KAAKjC,KAAK,GAClCT,MAAM;QACV8E,IAAI,EAAEvB;MACR,CAAC,CAAC;MAGF,IAAIoB,YAAY,IAAIlE,KAAK,IAAI,OAAOsE,MAAM,KAAK,WAAW,EAAE;QAC1Dd,WAAW,CAAC,IAAI,CAAC;QACjBc,MAAM,CAACC,qBAAqB,CAAC,MAAM;UACjCf,WAAW,CAACxD,KAAK,CAAC;QACpB,CAAC,CAAC;MACJ;IACF;EACF,CAAC,EAAE,CAACuB,IAAI,EAAEhC,MAAM,EAAEuD,QAAQ,EAAEU,WAAW,EAAExD,KAAK,CAAC,CAAC;EAEhD,MAAMwE,mBAAmB,GAAG,IAAA5C,kBAAW,EACrC6C,KAAA,IAAiD;IAAA,IAAhD;MAAEC;IAAwC,CAAC,GAAAD,KAAA;IAC1C,MAAME,QAAQ,GAAGD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEE,WAAW;IAClC,MAAM/C,OAAO,GAAGF,qBAAqB,CAACgD,QAAQ,CAAC;IAC/C,IAAI9C,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,GAAG,EAAE;MAChBsB,YAAY,CAAC1B,OAAO,CAACI,GAAG,EAAEJ,OAAO,CAAC;IACpC;EACF,CAAC,EACD,CAACF,qBAAqB,EAAE4B,YAAY,CACtC,CAAC;EAED,MAAMsB,QAAQ,GAAG,IAAAjD,kBAAW,EAAC,MAAM;IACjC,IAAI,CAACoC,SAAS,CAACG,OAAO,EAAE;MACtBH,SAAS,CAACG,OAAO,GAAG,IAAI;MACxBN,OAAO,CAACM,OAAO,GAAGC,cAAc,CAAC;QAC/B7C,IAAI,EAAEwC,OAAO,CAACI,OAAO;QACrB5E,MAAM;QACN8E,IAAI,EAAEvB;MACR,CAAC,CAAC;MACFY,WAAW,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACZ,QAAQ,EAAEvD,MAAM,EAAEmE,WAAW,CAAC,CAAC;EAEnC,MAAMoB,cAAc,GAAG,IAAAlD,kBAAW,EAChCmD,KAAA,IAAoB;IAAA,IAAnB;MAAEC;IAAW,CAAC,GAAAD,KAAA;IACbF,QAAQ,CAAC,CAAC;IACVG,UAAU,CAACnB,OAAO,CAACM,OAAO,CAAC;IAC3Bd,WAAW,CAAC,CAAC;EACf,CAAC,EACD,CAACwB,QAAQ,EAAExB,WAAW,CACxB,CAAC;EAED,MAAM4B,aAAa,GAAG,IAAArD,kBAAW,EAC/BsD,KAAA,IAA+C;IAAA,IAAAC,kBAAA;IAAA,IAA9C;MAAEnF,KAAK,EAAEoF,YAAY;MAAEC,SAAS;MAAEC;IAAM,CAAC,GAAAJ,KAAA;IAExC,IAAI,QAAOI,KAAK,aAALA,KAAK,wBAAAH,kBAAA,GAALG,KAAK,CAAEC,WAAW,cAAAJ,kBAAA,uBAAlBA,kBAAA,CAAoBT,IAAI,MAAK,WAAW,EAAE;MACnD,MAAMc,MAAM,GAAGJ,YAAY,CAACK,WAAW,CAAC,CAAC;MACzC,MAAM5D,OAAO,GAAGC,kBAAS,CAACC,IAAI,CAAC2D,KAAA;QAAA,IAAC;UAAExD;QAAK,CAAC,GAAAwD,KAAA;QAAA,OACtCrH,MAAM,CAACsH,MAAM,CAACzD,IAAI,CAAC,CAAC0D,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACJ,WAAW,CAAC,CAAC,CAACK,QAAQ,CAACN,MAAM,CAAC,CAAC;MAAA,CACnE,CAAC;MACD,IAAI3D,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEI,GAAG,EAAE;QAChBoD,SAAS,CAAC,CAAC;QACX9B,YAAY,CAAC1B,OAAO,CAACI,GAAG,CAAC;MAC3B;IACF;EACF,CAAC,EACD,CAACsB,YAAY,CACf,CAAC;EAED,IAAAlB,cAAO,EAAC,MAAM;IACZ,IAAIM,IAAI,IAAIC,QAAQ,EAAE;MAAA,IAAAmD,qBAAA,EAAAC,sBAAA;MACpBvC,eAAe,EAAAsC,qBAAA,GACbpE,qBAAqB,CAAC3B,KAAK,CAAC,cAAA+F,qBAAA,wBAAAC,sBAAA,GAA5BD,qBAAA,CAA8B7D,IAAI,cAAA8D,sBAAA,uBAAlCA,sBAAA,CAAqCjC,OAAO,CAACI,OAAO,CACtD,CAAC;IACH;EACF,CAAC,EAAE,CAACxC,qBAAqB,EAAEiB,QAAQ,EAAED,IAAI,EAAEc,eAAe,EAAEzD,KAAK,CAAC,CAAC;EAEnE,MAAMiG,eAAgC,GAAAvG,aAAA;IACpCwG,KAAK,EAAExD,EAAE;IACTG,SAAS,EAAE,IAAAsD,mBAAU,EAAC,gCAAgC,EAAEtD,SAAS,CAAC;IAClE5B,KAAK;IACLuB,KAAK,EACHA,KAAK,KAAK,SAAS,IAAIzB,iBAAiB,aAAjBA,iBAAiB,eAAjBA,iBAAiB,CAAE0B,WAAW,GACjDD,KAAK,GACL4D,SAAS;IACfC,YAAY,EAAE7D,KAAK,KAAK,KAAK,GAAGA,KAAK,GAAG4D;EAAS,GAC9C,IAAAE,uBAAgB,EAAC5F,KAAK,CAAC,CAC3B;EAED,OACE/D,MAAA,CAAAgB,OAAA,CAAA4I,aAAA,CAAChJ,WAAA,CAAAI,OAAU,EAAKsI,eAAe,EAC7BtJ,MAAA,CAAAgB,OAAA,CAAA4I,aAAA,CAACpJ,WAAA,CAAAqJ,YAAY,EAAA3H,QAAA;IACX6D,EAAE,EAAEA,EAAG;IACPvB,WAAW,EAAEA,WAAY;IACzBsF,UAAU,EAAE,KAAM;IAClB/B,IAAI,EAAEb,OAAO,CAACM,OAAQ;IACtBnE,KAAK,EAAE,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAG,IAAK;IAChDgD,QAAQ,EAAEA,QAAS;IACnBC,IAAI,EAAEA,IAAK;IACXyD,OAAO,EAAE7B,QAAS;IAClB8B,QAAQ,EAAE7B,cAAe;IACzB8B,OAAO,EAAEtD,UAAW;IACpBuD,SAAS,EAAErC,mBAAoB;IAC/BsC,OAAO,EAAE7B,aAAc;IACvB8B,OAAO;IACPC,SAAS;IACTC,MAAM,EAAElE,QAAQ,GAAG,OAAO,GAAGqD,SAAU;IACvCc,kBAAkB;IAClBC,cAAc;IACdhE,YAAY,EAAEA,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,cAAe;IAC7CiE,YAAY,EAAElE;EAAY,GACtBE,cAAc,CACnB,CACS,CAAC;AAEjB;AAeO,SAASgB,cAAcA,CAAA,EAWN;EAAA,IAXO;IAC7B7C,IAAI,GAAG,IAAI;IACXhC,MAAM,GAAG,IAAI;IACb8E,IAAI,GAAG,IAAI;IACXgD,UAAU,GAAGA,CAACxF,OAAoB,EAAEN,IAAY,KAAK;MAAA,IAAA+F,kBAAA;MACnD,MAAMC,OAAO,IAAAD,kBAAA,GAAGzF,OAAO,CAACK,IAAI,CAACX,IAAI,CAAC,cAAA+F,kBAAA,cAAAA,kBAAA,GAAIzF,OAAO,CAACK,IAAI,CAACsF,EAAE;MACrD,OAAO;QACL5C,WAAW,EAAE/C,OAAO,CAACI,GAAG;QACxBsF;MACF,CAAC;IACH;EACc,CAAC,GAAAvI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoH,SAAA,GAAApH,SAAA,MAAG,CAAC,CAAC;EACpB,MAAMyI,eAAe,GAAG3F,kBAAS,CAC9BvC,MAAM,CAAEsC,OAAO,IAAK;IACnB,IAAI,OAAOtC,MAAM,KAAK,UAAU,EAAE;MAChC,OAAOA,MAAM,CAACsC,OAAO,CAAC;IACxB;IAEA,OAAO,CAACtC,MAAM;EAChB,CAAC,CAAC,CACD8E,IAAI,CAAC,CAAAqD,KAAA,EAAAC,KAAA,KAA8B;IAAA,IAAAC,OAAA,EAAAC,qBAAA;IAAA,IAA7B;MAAE3F,IAAI,EAAE9D;IAAE,CAAC,GAAAsJ,KAAA;IAAA,IAAE;MAAExF,IAAI,EAAE4F;IAAE,CAAC,GAAAH,KAAA;IAC7B,IAAItD,IAAI,KAAK,aAAa,EAAE;MAC1B,MAAM0D,MAAM,GAAGC,+BAAoB,CAACC,OAAO,CAAC7J,CAAC,CAAC,IAAI,CAAC,CAAC;MACpD,MAAM8J,MAAM,GAAGF,+BAAoB,CAACC,OAAO,CAACH,CAAC,CAAC,IAAI,CAAC,CAAC;MAEpD,MAAMK,SAAS,GAAGJ,MAAM,KAAK,CAAC,CAAC;MAC/B,MAAMK,SAAS,GAAGF,MAAM,KAAK,CAAC,CAAC;MAE/B,IAAIC,SAAS,IAAIC,SAAS,EAAE;QAC1B,OAAOL,MAAM,GAAGG,MAAM;MACxB,CAAC,MAAM,IAAIC,SAAS,EAAE;QACpB,OAAO,CAAC,CAAC;MACX,CAAC,MAAM,IAAIC,SAAS,EAAE;QACpB,OAAO,CAAC;MACV;IACF;IAEA,QAAAR,OAAA,GAAOrH,MAAM,CAACnC,CAAC,CAACmD,IAAI,CAAC,CAAC,cAAAqG,OAAA,wBAAAC,qBAAA,GAAfD,OAAA,CAAiBS,aAAa,cAAAR,qBAAA,uBAA9BA,qBAAA,CAAAnJ,IAAA,CAAAkJ,OAAA,EAAiCE,CAAC,CAACvG,IAAI,CAAC,EAAE,IAAI,CAAC;EACxD,CAAC,CAAC,CACD+G,GAAG,CAAEzG,OAAO,IAAKwF,UAAU,CAACxF,OAAO,EAAEN,IAAI,CAAC,CAAC;EAE9C,IAAIkG,eAAe,CAACxI,MAAM,KAAK,CAAC,EAAE;IAChC,OAAOmH,SAAS;EAClB;EAEA,OAAOqB,eAAe;AACxB;AAEO,SAASxD,aAAaA,CAC3BpC,OAAoB,EACpB8B,eAAkD,EAClDb,QAA0B,EAC1B;EACA,IAAIyF,MAAM,GAAG,IAAI;EAEjB,IAAIzF,QAAQ,KAAK,aAAa,EAAE;IAC9B,QAAQA,QAAQ;MACd,KAAK,aAAa;MAClB,KAAK,QAAQ;QAAE;UAAA,IAAA0F,gBAAA;UACbD,MAAM,IAAAC,gBAAA,GAAG3G,OAAO,CAAC4G,OAAO,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiB1C,QAAQ,CAAChD,QAAQ,CAAC;UAC5C;QACF;MACA,KAAK,QAAQ;QAAE;UACbyF,MAAM,GAAG1G,OAAO,CAAC6G,SAAS,CAAC5C,QAAQ,CAAChD,QAAQ,CAAC;UAC7C;QACF;IACF;EACF;EAEA,IAAIyF,MAAM,IAAI5E,eAAe,EAAE;IAC7B4E,MAAM,GAAG5E,eAAe,CAAC9B,OAAO,CAAC;EACnC;EAEA,OAAO0G,MAAM;AACf;AAEO,SAASI,oBAAoBA,CAAC7F,QAA0B,EAAE;EAC/D,OAAQjB,OAAoB,IAAK;IAAA,IAAA+G,iBAAA;IAC/B,QAAQ9F,QAAQ;MACd,KAAK,aAAa;MAClB,KAAK,QAAQ;QACX,QAAA8F,iBAAA,GAAO/G,OAAO,CAAC4G,OAAO,cAAAG,iBAAA,uBAAfA,iBAAA,CAAiB9C,QAAQ,CAAChD,QAAQ,CAAC;MAC5C,KAAK,QAAQ;QACX,OAAOjB,OAAO,CAAC6G,SAAS,CAAC5C,QAAQ,CAAChD,QAAQ,CAAC;IAC/C;IACA,OAAO,IAAI;EACb,CAAC;AACH;AAEArC,aAAa,CAACoI,qBAAqB,GAAG,IAAI;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAApL,OAAA,GAC3B8C,aAAa","ignoreList":[]}
@@ -190,6 +190,7 @@ function SelectCurrency(props) {
190
190
  on_change: handleCurrencyChange,
191
191
  on_type: onTypeHandler,
192
192
  stretch: true,
193
+ selectall: true,
193
194
  status: hasError ? 'error' : undefined,
194
195
  show_submit_button: true,
195
196
  keep_selection: true,