@dnb/eufemia 10.4.2 → 10.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/cjs/components/anchor/style/anchor-mixins.scss +17 -23
  3. package/cjs/components/anchor/style/dnb-anchor.css +26 -15
  4. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  5. package/cjs/components/anchor/style/dnb-anchor.scss +1 -1
  6. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  7. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  8. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  12. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  13. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  14. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  15. package/cjs/components/dialog/Dialog.d.ts +1 -1
  16. package/cjs/components/dialog/DialogContent.d.ts +1 -1
  17. package/cjs/components/dialog/DialogContent.js +4 -2
  18. package/cjs/components/dialog/DialogContent.js.map +1 -1
  19. package/cjs/components/dialog/parts/DialogAction.d.ts +5 -1
  20. package/cjs/components/dialog/parts/DialogAction.js +3 -2
  21. package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
  22. package/cjs/components/form-row/FormRow.js.map +1 -1
  23. package/cjs/components/form-row/style/dnb-form-row.scss +2 -2
  24. package/cjs/components/form-set/FormSet.js.map +1 -1
  25. package/cjs/components/height-animation/HeightAnimation.d.ts +1 -1
  26. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  27. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  28. package/cjs/components/icon/lib/SvgComparison.js.map +1 -1
  29. package/cjs/components/input/style/dnb-input.scss +1 -1
  30. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  31. package/cjs/components/input-masked/TextMask.js.map +1 -1
  32. package/cjs/components/modal/Modal.js +0 -2
  33. package/cjs/components/modal/Modal.js.map +1 -1
  34. package/cjs/components/modal/bodyScrollLock.js.map +1 -1
  35. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  36. package/cjs/components/number-format/style/dnb-number-format.css +0 -7
  37. package/cjs/components/number-format/style/dnb-number-format.scss +0 -1
  38. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  39. package/cjs/components/radio/Radio.js.map +1 -1
  40. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  41. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  42. package/cjs/components/slider/hooks/useSliderEvents.js.map +1 -1
  43. package/cjs/components/slider/types.d.ts +1 -1
  44. package/cjs/components/slider/types.js.map +1 -1
  45. package/cjs/components/space/SpacingHelper.js.map +1 -1
  46. package/cjs/components/table/TableAccordion.js.map +1 -1
  47. package/cjs/components/table/TableTr.js.map +1 -1
  48. package/cjs/components/textarea/Textarea.js.map +1 -1
  49. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  50. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  51. package/cjs/components/tooltip/TooltipContainer.js.map +1 -1
  52. package/cjs/components/upload/Upload.js +2 -2
  53. package/cjs/components/upload/Upload.js.map +1 -1
  54. package/cjs/components/upload/useUpload.d.ts +1 -1
  55. package/cjs/components/upload/useUpload.js +2 -2
  56. package/cjs/components/upload/useUpload.js.map +1 -1
  57. package/cjs/elements/blockquote/Blockquote.d.ts +1 -1
  58. package/cjs/elements/blockquote/Blockquote.js.map +1 -1
  59. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  60. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  61. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  62. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  63. package/cjs/shared/Eufemia.d.ts +1 -1
  64. package/cjs/shared/Eufemia.js +2 -2
  65. package/cjs/shared/Eufemia.js.map +1 -1
  66. package/cjs/shared/VisibilityByTheme.d.ts +1 -1
  67. package/cjs/shared/VisibilityByTheme.js.map +1 -1
  68. package/cjs/shared/helpers.d.ts +2 -2
  69. package/cjs/shared/helpers.js.map +1 -1
  70. package/cjs/style/dnb-ui-components.css +26 -22
  71. package/cjs/style/dnb-ui-components.min.css +1 -1
  72. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  73. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  74. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  75. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  76. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  77. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  78. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  79. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  80. package/cjs/style/themes/theme-ui/ui-theme-basis.css +17 -11
  81. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  82. package/cjs/style/themes/theme-ui/ui-theme-components.css +60 -39
  83. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  84. package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -11
  85. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  86. package/cjs/style/themes/theme-ui/ui-theme-tags.css +23 -11
  87. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  88. package/components/anchor/style/anchor-mixins.scss +17 -23
  89. package/components/anchor/style/dnb-anchor.css +26 -15
  90. package/components/anchor/style/dnb-anchor.min.css +1 -1
  91. package/components/anchor/style/dnb-anchor.scss +1 -1
  92. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  93. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  94. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  95. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  96. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  97. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  98. package/components/autocomplete/Autocomplete.js +2 -2
  99. package/components/autocomplete/Autocomplete.js.map +1 -1
  100. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  101. package/components/dialog/Dialog.d.ts +1 -1
  102. package/components/dialog/DialogContent.d.ts +1 -1
  103. package/components/dialog/DialogContent.js +4 -2
  104. package/components/dialog/DialogContent.js.map +1 -1
  105. package/components/dialog/parts/DialogAction.d.ts +5 -1
  106. package/components/dialog/parts/DialogAction.js +3 -2
  107. package/components/dialog/parts/DialogAction.js.map +1 -1
  108. package/components/form-row/FormRow.js.map +1 -1
  109. package/components/form-row/style/dnb-form-row.scss +2 -2
  110. package/components/form-set/FormSet.js.map +1 -1
  111. package/components/height-animation/HeightAnimation.d.ts +1 -1
  112. package/components/height-animation/HeightAnimation.js.map +1 -1
  113. package/components/height-animation/useHeightAnimation.js.map +1 -1
  114. package/components/icon/lib/SvgComparison.js.map +1 -1
  115. package/components/input/style/dnb-input.scss +1 -1
  116. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  117. package/components/input-masked/TextMask.js.map +1 -1
  118. package/components/modal/Modal.js +0 -2
  119. package/components/modal/Modal.js.map +1 -1
  120. package/components/modal/bodyScrollLock.js.map +1 -1
  121. package/components/number-format/NumberUtils.js.map +1 -1
  122. package/components/number-format/style/dnb-number-format.css +0 -7
  123. package/components/number-format/style/dnb-number-format.scss +0 -1
  124. package/components/pagination/PaginationInfinity.js.map +1 -1
  125. package/components/radio/Radio.js.map +1 -1
  126. package/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  127. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  128. package/components/slider/hooks/useSliderEvents.js.map +1 -1
  129. package/components/slider/types.d.ts +1 -1
  130. package/components/slider/types.js.map +1 -1
  131. package/components/space/SpacingHelper.js.map +1 -1
  132. package/components/table/TableAccordion.js.map +1 -1
  133. package/components/table/TableTr.js.map +1 -1
  134. package/components/textarea/Textarea.js.map +1 -1
  135. package/components/toggle-button/ToggleButton.js.map +1 -1
  136. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  137. package/components/tooltip/TooltipContainer.js.map +1 -1
  138. package/components/upload/Upload.js +2 -2
  139. package/components/upload/Upload.js.map +1 -1
  140. package/components/upload/useUpload.d.ts +1 -1
  141. package/components/upload/useUpload.js +2 -2
  142. package/components/upload/useUpload.js.map +1 -1
  143. package/elements/blockquote/Blockquote.d.ts +1 -1
  144. package/elements/blockquote/Blockquote.js.map +1 -1
  145. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  146. package/es/components/anchor/style/anchor-mixins.scss +17 -23
  147. package/es/components/anchor/style/dnb-anchor.css +26 -15
  148. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  149. package/es/components/anchor/style/dnb-anchor.scss +1 -1
  150. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  151. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  152. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  153. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  154. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  155. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  156. package/es/components/autocomplete/Autocomplete.js +2 -2
  157. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  158. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  159. package/es/components/dialog/Dialog.d.ts +1 -1
  160. package/es/components/dialog/DialogContent.d.ts +1 -1
  161. package/es/components/dialog/DialogContent.js +4 -2
  162. package/es/components/dialog/DialogContent.js.map +1 -1
  163. package/es/components/dialog/parts/DialogAction.d.ts +5 -1
  164. package/es/components/dialog/parts/DialogAction.js +3 -2
  165. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  166. package/es/components/form-row/FormRow.js.map +1 -1
  167. package/es/components/form-row/style/dnb-form-row.scss +2 -2
  168. package/es/components/form-set/FormSet.js.map +1 -1
  169. package/es/components/height-animation/HeightAnimation.d.ts +1 -1
  170. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  171. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  172. package/es/components/icon/lib/SvgComparison.js.map +1 -1
  173. package/es/components/input/style/dnb-input.scss +1 -1
  174. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  175. package/es/components/input-masked/TextMask.js.map +1 -1
  176. package/es/components/modal/Modal.js +0 -2
  177. package/es/components/modal/Modal.js.map +1 -1
  178. package/es/components/modal/bodyScrollLock.js.map +1 -1
  179. package/es/components/number-format/NumberUtils.js.map +1 -1
  180. package/es/components/number-format/style/dnb-number-format.css +0 -7
  181. package/es/components/number-format/style/dnb-number-format.scss +0 -1
  182. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  183. package/es/components/radio/Radio.js.map +1 -1
  184. package/es/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  185. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  186. package/es/components/slider/hooks/useSliderEvents.js.map +1 -1
  187. package/es/components/slider/types.d.ts +1 -1
  188. package/es/components/slider/types.js.map +1 -1
  189. package/es/components/space/SpacingHelper.js.map +1 -1
  190. package/es/components/table/TableAccordion.js.map +1 -1
  191. package/es/components/table/TableTr.js.map +1 -1
  192. package/es/components/textarea/Textarea.js.map +1 -1
  193. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  194. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  195. package/es/components/tooltip/TooltipContainer.js.map +1 -1
  196. package/es/components/upload/Upload.js +2 -2
  197. package/es/components/upload/Upload.js.map +1 -1
  198. package/es/components/upload/useUpload.d.ts +1 -1
  199. package/es/components/upload/useUpload.js +2 -2
  200. package/es/components/upload/useUpload.js.map +1 -1
  201. package/es/elements/blockquote/Blockquote.d.ts +1 -1
  202. package/es/elements/blockquote/Blockquote.js.map +1 -1
  203. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  204. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  205. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  206. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  207. package/es/shared/Eufemia.d.ts +1 -1
  208. package/es/shared/Eufemia.js +2 -2
  209. package/es/shared/Eufemia.js.map +1 -1
  210. package/es/shared/VisibilityByTheme.d.ts +1 -1
  211. package/es/shared/VisibilityByTheme.js.map +1 -1
  212. package/es/shared/helpers.d.ts +2 -2
  213. package/es/shared/helpers.js.map +1 -1
  214. package/es/style/dnb-ui-components.css +26 -22
  215. package/es/style/dnb-ui-components.min.css +1 -1
  216. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  217. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  218. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  219. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  220. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  221. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  222. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  223. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  224. package/es/style/themes/theme-ui/ui-theme-basis.css +17 -11
  225. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  226. package/es/style/themes/theme-ui/ui-theme-components.css +60 -39
  227. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  228. package/es/style/themes/theme-ui/ui-theme-elements.css +17 -11
  229. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  230. package/es/style/themes/theme-ui/ui-theme-tags.css +23 -11
  231. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  232. package/esm/dnb-ui-basis.min.mjs +1 -1
  233. package/esm/dnb-ui-components.min.mjs +1 -1
  234. package/esm/dnb-ui-elements.min.mjs +1 -1
  235. package/esm/dnb-ui-extensions.min.mjs +1 -1
  236. package/esm/dnb-ui-lib.min.mjs +1 -1
  237. package/extensions/payment-card/utils/Types.js.map +1 -1
  238. package/fragments/drawer-list/DrawerList.js.map +1 -1
  239. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  240. package/package.json +1 -1
  241. package/shared/Eufemia.d.ts +1 -1
  242. package/shared/Eufemia.js +2 -2
  243. package/shared/Eufemia.js.map +1 -1
  244. package/shared/VisibilityByTheme.d.ts +1 -1
  245. package/shared/VisibilityByTheme.js.map +1 -1
  246. package/shared/helpers.d.ts +2 -2
  247. package/shared/helpers.js.map +1 -1
  248. package/style/dnb-ui-components.css +26 -22
  249. package/style/dnb-ui-components.min.css +1 -1
  250. package/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  251. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  252. package/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  253. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  254. package/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  255. package/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  256. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  257. package/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  258. package/style/themes/theme-ui/ui-theme-basis.css +17 -11
  259. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  260. package/style/themes/theme-ui/ui-theme-components.css +60 -39
  261. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  262. package/style/themes/theme-ui/ui-theme-elements.css +17 -11
  263. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  264. package/style/themes/theme-ui/ui-theme-tags.css +23 -11
  265. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  266. package/umd/dnb-ui-basis.min.js +1 -1
  267. package/umd/dnb-ui-components.min.js +1 -1
  268. package/umd/dnb-ui-elements.min.js +1 -1
  269. package/umd/dnb-ui-extensions.min.js +1 -1
  270. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FormSet.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_componentHelper","_SpacingHelper","_Context","_FormRow","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","FormSet","React","PureComponent","getContent","props","processChildren","constructor","event","prevent_submit","isTrue","preventDefault","dispatchCustomElementEvent","_id","id","makeUniqueId","render","extendPropsWithContextInClassComponent","defaultProps","context","element","locale","no_form","className","class","_className","rest","allowedProps","entries","reduce","acc","_ref","k","v","formRowDefaultProps","attributes","_ref2","params","classnames","createSpacingClasses","onSubmit","onSubmitHandler","validateDOMAttributes","content","providerContext","extend","FormRow","Element","createElement","Provider","exports","Context","disabled","skeleton","on_submit","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","bool","formRowPropTypes","func"],"sources":["../../../../src/components/form-set/FormSet.js"],"sourcesContent":["/**\n * Web FormSet Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extend,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Context from '../../shared/Context'\nimport { formRowDefaultProps, formRowPropTypes } from '../form-row/FormRow'\n\nexport default class FormSet extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n element: PropTypes.string,\n no_form: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_submit: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n ...formRowPropTypes,\n\n on_submit: PropTypes.func,\n }\n\n static defaultProps = {\n element: 'form',\n no_form: false,\n disabled: null,\n skeleton: null,\n prevent_submit: false,\n\n on_submit: null,\n }\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n }\n\n onSubmitHandler = (event) => {\n const { prevent_submit } = this.props\n if (isTrue(prevent_submit)) {\n event.preventDefault()\n }\n dispatchCustomElementEvent(this, 'on_submit', { event })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n FormSet.defaultProps,\n this.context.FormSet\n )\n\n const {\n element,\n locale,\n no_form,\n prevent_submit, // eslint-disable-line\n id, // eslint-disable-line\n className,\n class: _className,\n\n ...rest\n } = props\n\n const allowedProps = Object.entries(rest).reduce((acc, [k, v]) => {\n if (\n typeof formRowDefaultProps[k] !== 'undefined' &&\n k !== 'id' &&\n k !== 'children' &&\n k !== 'label'\n ) {\n acc[k] = v\n }\n return acc\n }, {})\n const attributes = Object.entries(rest).reduce((acc, [k, v]) => {\n if (typeof allowedProps[k] === 'undefined' && k !== 'children') {\n acc[k] = v\n }\n return acc\n }, {})\n\n const params = {\n className: classnames(\n 'dnb-form-set',\n createSpacingClasses(this.props),\n className,\n _className\n ),\n ...attributes,\n }\n\n if (!isTrue(no_form)) {\n params.onSubmit = this.onSubmitHandler\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const content = FormSet.getContent(this.props)\n\n const providerContext = extend(this.context, {\n locale: locale ? locale : this.context.locale,\n FormRow: allowedProps,\n // isInsideFormSet: true // We may considder to use this later to check if we are inside FormSet\n })\n\n const Element = isTrue(no_form) ? 'div' : element\n\n return (\n <Context.Provider value={providerContext}>\n <Element {...params}>{content}</Element>\n </Context.Provider>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormSet.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_componentHelper","_SpacingHelper","_Context","_FormRow","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","FormSet","React","PureComponent","getContent","props","processChildren","constructor","event","prevent_submit","isTrue","preventDefault","dispatchCustomElementEvent","_id","id","makeUniqueId","render","extendPropsWithContextInClassComponent","defaultProps","context","element","locale","no_form","className","class","_className","rest","allowedProps","entries","reduce","acc","_ref","k","v","formRowDefaultProps","attributes","_ref2","params","classnames","createSpacingClasses","onSubmit","onSubmitHandler","validateDOMAttributes","content","providerContext","extend","FormRow","Element","createElement","Provider","exports","Context","disabled","skeleton","on_submit","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","bool","formRowPropTypes","func"],"sources":["../../../../src/components/form-set/FormSet.js"],"sourcesContent":["/**\n * Web FormSet Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extend,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Context from '../../shared/Context'\nimport { formRowDefaultProps, formRowPropTypes } from '../form-row/FormRow'\n\nexport default class FormSet extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n element: PropTypes.string,\n no_form: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_submit: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n ...formRowPropTypes,\n\n on_submit: PropTypes.func,\n }\n\n static defaultProps = {\n element: 'form',\n no_form: false,\n disabled: null,\n skeleton: null,\n prevent_submit: false,\n\n on_submit: null,\n }\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n }\n\n onSubmitHandler = (event) => {\n const { prevent_submit } = this.props\n if (isTrue(prevent_submit)) {\n event.preventDefault()\n }\n dispatchCustomElementEvent(this, 'on_submit', { event })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n FormSet.defaultProps,\n this.context.FormSet\n )\n\n const {\n element,\n locale,\n no_form,\n prevent_submit, // eslint-disable-line\n id, // eslint-disable-line\n className,\n class: _className,\n\n ...rest\n } = props\n\n const allowedProps = Object.entries(rest).reduce((acc, [k, v]) => {\n if (\n typeof formRowDefaultProps[k] !== 'undefined' &&\n k !== 'id' &&\n k !== 'children' &&\n k !== 'label'\n ) {\n acc[k] = v\n }\n return acc\n }, {})\n const attributes = Object.entries(rest).reduce((acc, [k, v]) => {\n if (typeof allowedProps[k] === 'undefined' && k !== 'children') {\n acc[k] = v\n }\n return acc\n }, {})\n\n const params = {\n className: classnames(\n 'dnb-form-set',\n createSpacingClasses(this.props),\n className,\n _className\n ),\n ...attributes,\n }\n\n if (!isTrue(no_form)) {\n params.onSubmit = this.onSubmitHandler\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const content = FormSet.getContent(this.props)\n\n const providerContext = extend(this.context, {\n locale: locale ? locale : this.context.locale,\n FormRow: allowedProps,\n // isInsideFormSet: true // We may consider to use this later to check if we are inside FormSet\n })\n\n const Element = isTrue(no_form) ? 'div' : element\n\n return (\n <Context.Provider value={providerContext}>\n <Element {...params}>{content}</Element>\n </Context.Provider>\n )\n }\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { useHeightAnimationOptions } from './useHeightAnimation';
4
4
  import type { DynamicElement } from '../../shared/types';
5
5
  export type HeightAnimationProps = {
6
6
  /**
7
- * Wheter the nested children content should be kept in the DOM or not.
7
+ * Whether the nested children content should be kept in the DOM or not.
8
8
  * Default: false
9
9
  */
10
10
  keepInDOM?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"HeightAnimation.js","names":["_react","_interopRequireDefault","require","_classnames","_useHeightAnimation","_Space","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","HeightAnimation","_ref","open","animate","keepInDOM","showOverflow","element","duration","className","innerRef","children","onInit","onOpen","onAnimationEnd","rest","ref","React","useRef","props","isInDOM","isVisible","isVisibleParallax","isAnimating","useHeightAnimation","style","createElement","classnames","undefined"],"sources":["../../../../src/components/height-animation/HeightAnimation.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n useHeightAnimation,\n useHeightAnimationOptions,\n} from './useHeightAnimation'\nimport Space, { SpaceProps } from '../space/Space'\n\nimport type { DynamicElement } from '../../shared/types'\n\nexport type HeightAnimationProps = {\n /**\n * Wheter the nested children content should be kept in the DOM or not.\n * Default: false\n */\n keepInDOM?: boolean\n\n /**\n * Set to `true` to omit the usage of \"overflow: hidden;\"\n * Default: false\n */\n showOverflow?: boolean\n\n /**\n * Set to `true` ensure the nested children content will be kept in the DOM.\n * Default: 400\n */\n duration?: number\n\n /**\n * Define a custom HTML Element.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & useHeightAnimationOptions\n\nexport type HeightAnimationAllProps = HeightAnimationProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nexport default function HeightAnimation({\n open = true,\n animate = true,\n keepInDOM = false,\n showOverflow = false,\n element,\n duration,\n className,\n innerRef,\n children,\n onInit = null,\n onOpen = null,\n onAnimationEnd = null,\n ...rest\n}: HeightAnimationAllProps) {\n const ref = React.useRef<HTMLElement>()\n const props = rest as SpaceProps\n\n const { isInDOM, isVisible, isVisibleParallax, isAnimating } =\n useHeightAnimation(innerRef || ref, {\n open,\n animate,\n children,\n onInit,\n onOpen,\n onAnimationEnd,\n })\n\n if (!isInDOM && !keepInDOM) {\n return null\n }\n\n const style: React.CSSProperties = {}\n if (duration) {\n style['--duration'] = `${duration}ms`\n }\n\n return (\n <Space\n innerRef={innerRef || ref}\n element={element || 'div'}\n className={classnames(\n 'dnb-height-animation',\n isInDOM && 'dnb-height-animation--is-in-dom',\n isVisible && 'dnb-height-animation--is-visible',\n isVisibleParallax && 'dnb-height-animation--parallax',\n isAnimating && 'dnb-height-animation--animating',\n !isVisible &&\n !isAnimating &&\n !open &&\n 'dnb-height-animation--hidden',\n showOverflow && 'dnb-height-animation--show-overflow',\n className\n )}\n style={style}\n aria-hidden={keepInDOM ? !open : undefined}\n {...props}\n >\n {children}\n </Space>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"HeightAnimation.js","names":["_react","_interopRequireDefault","require","_classnames","_useHeightAnimation","_Space","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","HeightAnimation","_ref","open","animate","keepInDOM","showOverflow","element","duration","className","innerRef","children","onInit","onOpen","onAnimationEnd","rest","ref","React","useRef","props","isInDOM","isVisible","isVisibleParallax","isAnimating","useHeightAnimation","style","createElement","classnames","undefined"],"sources":["../../../../src/components/height-animation/HeightAnimation.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n useHeightAnimation,\n useHeightAnimationOptions,\n} from './useHeightAnimation'\nimport Space, { SpaceProps } from '../space/Space'\n\nimport type { DynamicElement } from '../../shared/types'\n\nexport type HeightAnimationProps = {\n /**\n * Whether the nested children content should be kept in the DOM or not.\n * Default: false\n */\n keepInDOM?: boolean\n\n /**\n * Set to `true` to omit the usage of \"overflow: hidden;\"\n * Default: false\n */\n showOverflow?: boolean\n\n /**\n * Set to `true` ensure the nested children content will be kept in the DOM.\n * Default: 400\n */\n duration?: number\n\n /**\n * Define a custom HTML Element.\n * Default: div\n */\n element?: DynamicElement\n\n /**\n * Send along a custom React Ref.\n * Default: null\n */\n innerRef?: React.RefObject<HTMLElement>\n} & useHeightAnimationOptions\n\nexport type HeightAnimationAllProps = HeightAnimationProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\nexport default function HeightAnimation({\n open = true,\n animate = true,\n keepInDOM = false,\n showOverflow = false,\n element,\n duration,\n className,\n innerRef,\n children,\n onInit = null,\n onOpen = null,\n onAnimationEnd = null,\n ...rest\n}: HeightAnimationAllProps) {\n const ref = React.useRef<HTMLElement>()\n const props = rest as SpaceProps\n\n const { isInDOM, isVisible, isVisibleParallax, isAnimating } =\n useHeightAnimation(innerRef || ref, {\n open,\n animate,\n children,\n onInit,\n onOpen,\n onAnimationEnd,\n })\n\n if (!isInDOM && !keepInDOM) {\n return null\n }\n\n const style: React.CSSProperties = {}\n if (duration) {\n style['--duration'] = `${duration}ms`\n }\n\n return (\n <Space\n innerRef={innerRef || ref}\n element={element || 'div'}\n className={classnames(\n 'dnb-height-animation',\n isInDOM && 'dnb-height-animation--is-in-dom',\n isVisible && 'dnb-height-animation--is-visible',\n isVisibleParallax && 'dnb-height-animation--parallax',\n isAnimating && 'dnb-height-animation--animating',\n !isVisible &&\n !isAnimating &&\n !open &&\n 'dnb-height-animation--hidden',\n showOverflow && 'dnb-height-animation--show-overflow',\n className\n )}\n style={style}\n aria-hidden={keepInDOM ? !open : undefined}\n {...props}\n >\n {children}\n </Space>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHeightAnimation.js","names":["_react","_interopRequireDefault","require","_HeightAnimationInstance","obj","__esModule","default","useLayoutEffect","window","React","useEffect","useHeightAnimation","targetRef","open","animate","children","onInit","onOpen","onAnimationEnd","arguments","length","undefined","animRef","useRef","isOpen","setIsOpen","useState","isVisible","setIsVisible","isAnimating","setIsAnimating","isVisibleParallax","setParallax","isInitialRender","setIsMounted","global","IS_TEST","current","HeightAnimationInstance","onStart","state","onEnd","_animRef$current","remove","useOpenClose","useAdjust","isInDOM","_ref","anim","setElement","close","_ref2","fromHeight","shouldAdjust","_animRef$current2","useMemo","_animRef$current3","getHeight","elem","style","height","adjustTo"],"sources":["../../../../src/components/height-animation/useHeightAnimation.tsx"],"sourcesContent":["import React from 'react'\nimport HeightAnimationInstance from './HeightAnimationInstance'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type useHeightAnimationOptions = {\n /**\n * Set to `true`, when initially `false` was given, to animate from 0px to auto.\n * Default: true\n */\n open?: boolean\n\n /**\n * Set to `false` to omit the animation.\n * Default: true\n */\n animate?: boolean\n\n /**\n * In order to let the Hook know when children has changed\n */\n children?: React.ReactNode | HTMLElement\n\n /**\n * Is called once before mounting the component (useLayoutEffect)\n */\n onInit?: (instance: HeightAnimationInstance) => void\n\n /**\n * Is called when fully opened or closed\n */\n onOpen?: (isOpen: boolean) => void\n\n /**\n * Is called when animation is done and the full height is reached.\n */\n onAnimationEnd?: (state: HeightAnimationOnEndTypes) => void\n}\n\nexport type HeightAnimationOnStartTypes =\n | 'opening'\n | 'closing'\n | 'adjusting'\n\nexport type HeightAnimationOnEndTypes = 'opened' | 'closed' | 'adjusted'\n\nexport function useHeightAnimation(\n targetRef: React.RefObject<HTMLElement>,\n {\n open = true,\n animate = true,\n children = null,\n onInit = null,\n onOpen = null,\n onAnimationEnd = null,\n }: useHeightAnimationOptions = {}\n) {\n const animRef = React.useRef<HeightAnimationInstance>(null)\n const [isOpen, setIsOpen] = React.useState(open)\n const [isVisible, setIsVisible] = React.useState(false)\n const [isAnimating, setIsAnimating] = React.useState(false)\n const [isVisibleParallax, setParallax] = React.useState(open)\n const [isInitialRender, setIsMounted] = React.useState(true)\n\n if (typeof global !== 'undefined' && global.IS_TEST) {\n animate = false\n }\n\n React.useEffect(() => setIsMounted(false), []) // eslint-disable-line\n\n useLayoutEffect(() => {\n animRef.current = new HeightAnimationInstance({ animate })\n\n if (isInitialRender && onInit) {\n onInit(animRef.current)\n }\n\n if (isInitialRender && isOpen) {\n onOpen?.(true)\n }\n\n if (animate) {\n animRef.current.onStart((state: HeightAnimationOnStartTypes) => {\n switch (state) {\n case 'opening':\n setIsVisible(true)\n setParallax(true)\n setIsAnimating(true)\n break\n\n case 'closing':\n setParallax(false)\n setIsAnimating(true)\n break\n\n case 'adjusting':\n setIsAnimating(true)\n break\n }\n })\n\n animRef.current.onEnd((state: HeightAnimationOnEndTypes) => {\n switch (state) {\n case 'opened':\n setIsOpen(true)\n setIsAnimating(false)\n onOpen?.(true)\n break\n\n case 'closed':\n setIsVisible(false)\n setIsOpen(false)\n setParallax(false)\n setIsAnimating(false)\n onOpen?.(false)\n break\n\n case 'adjusted':\n setIsAnimating(false)\n break\n }\n\n onAnimationEnd?.(state)\n })\n }\n\n return () => animRef.current?.remove()\n }, [animate]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useOpenClose({ open, animRef, targetRef, isInitialRender })\n useAdjust({ children, animRef, isInitialRender })\n\n return {\n open,\n isOpen,\n isInDOM: open || isVisible,\n isVisible,\n isVisibleParallax,\n isAnimating,\n }\n}\n\nfunction useOpenClose({ open, animRef, targetRef, isInitialRender }) {\n useLayoutEffect(() => {\n if (!targetRef.current) {\n return // stop here\n }\n\n const anim = animRef.current\n\n anim.setElement(targetRef.current)\n\n if (open) {\n anim.open({ animate: !isInitialRender })\n } else if (anim.state === 'init') {\n anim.close({ animate: false })\n } else {\n anim.close()\n }\n }, [open, targetRef, animRef]) // eslint-disable-line\n}\n\nfunction useAdjust({ children, animRef, isInitialRender }) {\n const fromHeight = React.useRef(0)\n\n const shouldAdjust = () => {\n switch (animRef.current?.state) {\n case 'opened':\n case 'adjusted':\n case 'adjusting':\n return !isInitialRender\n }\n\n return false\n }\n\n React.useMemo(() => {\n if (shouldAdjust()) {\n fromHeight.current = animRef.current?.getHeight()\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n if (shouldAdjust()) {\n /**\n * Ensure we don't have height, while we get the \"toHeight\" again\n * We may move this inside of the HeightAnimationInstance class later,\n * but the \"GlobalStatus\" is currently relaying on \"getUnknownHeight\" inside of adjustTo\n */\n animRef.current.elem.style.height = ''\n\n animRef.current.adjustTo(\n fromHeight.current,\n animRef.current.getHeight() // use getHeight instead of getUnknownHeight because of the additional, disturbing DOM manipupation\n )\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useHeightAnimation.js","names":["_react","_interopRequireDefault","require","_HeightAnimationInstance","obj","__esModule","default","useLayoutEffect","window","React","useEffect","useHeightAnimation","targetRef","open","animate","children","onInit","onOpen","onAnimationEnd","arguments","length","undefined","animRef","useRef","isOpen","setIsOpen","useState","isVisible","setIsVisible","isAnimating","setIsAnimating","isVisibleParallax","setParallax","isInitialRender","setIsMounted","global","IS_TEST","current","HeightAnimationInstance","onStart","state","onEnd","_animRef$current","remove","useOpenClose","useAdjust","isInDOM","_ref","anim","setElement","close","_ref2","fromHeight","shouldAdjust","_animRef$current2","useMemo","_animRef$current3","getHeight","elem","style","height","adjustTo"],"sources":["../../../../src/components/height-animation/useHeightAnimation.tsx"],"sourcesContent":["import React from 'react'\nimport HeightAnimationInstance from './HeightAnimationInstance'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type useHeightAnimationOptions = {\n /**\n * Set to `true`, when initially `false` was given, to animate from 0px to auto.\n * Default: true\n */\n open?: boolean\n\n /**\n * Set to `false` to omit the animation.\n * Default: true\n */\n animate?: boolean\n\n /**\n * In order to let the Hook know when children has changed\n */\n children?: React.ReactNode | HTMLElement\n\n /**\n * Is called once before mounting the component (useLayoutEffect)\n */\n onInit?: (instance: HeightAnimationInstance) => void\n\n /**\n * Is called when fully opened or closed\n */\n onOpen?: (isOpen: boolean) => void\n\n /**\n * Is called when animation is done and the full height is reached.\n */\n onAnimationEnd?: (state: HeightAnimationOnEndTypes) => void\n}\n\nexport type HeightAnimationOnStartTypes =\n | 'opening'\n | 'closing'\n | 'adjusting'\n\nexport type HeightAnimationOnEndTypes = 'opened' | 'closed' | 'adjusted'\n\nexport function useHeightAnimation(\n targetRef: React.RefObject<HTMLElement>,\n {\n open = true,\n animate = true,\n children = null,\n onInit = null,\n onOpen = null,\n onAnimationEnd = null,\n }: useHeightAnimationOptions = {}\n) {\n const animRef = React.useRef<HeightAnimationInstance>(null)\n const [isOpen, setIsOpen] = React.useState(open)\n const [isVisible, setIsVisible] = React.useState(false)\n const [isAnimating, setIsAnimating] = React.useState(false)\n const [isVisibleParallax, setParallax] = React.useState(open)\n const [isInitialRender, setIsMounted] = React.useState(true)\n\n if (typeof global !== 'undefined' && global.IS_TEST) {\n animate = false\n }\n\n React.useEffect(() => setIsMounted(false), []) // eslint-disable-line\n\n useLayoutEffect(() => {\n animRef.current = new HeightAnimationInstance({ animate })\n\n if (isInitialRender && onInit) {\n onInit(animRef.current)\n }\n\n if (isInitialRender && isOpen) {\n onOpen?.(true)\n }\n\n if (animate) {\n animRef.current.onStart((state: HeightAnimationOnStartTypes) => {\n switch (state) {\n case 'opening':\n setIsVisible(true)\n setParallax(true)\n setIsAnimating(true)\n break\n\n case 'closing':\n setParallax(false)\n setIsAnimating(true)\n break\n\n case 'adjusting':\n setIsAnimating(true)\n break\n }\n })\n\n animRef.current.onEnd((state: HeightAnimationOnEndTypes) => {\n switch (state) {\n case 'opened':\n setIsOpen(true)\n setIsAnimating(false)\n onOpen?.(true)\n break\n\n case 'closed':\n setIsVisible(false)\n setIsOpen(false)\n setParallax(false)\n setIsAnimating(false)\n onOpen?.(false)\n break\n\n case 'adjusted':\n setIsAnimating(false)\n break\n }\n\n onAnimationEnd?.(state)\n })\n }\n\n return () => animRef.current?.remove()\n }, [animate]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useOpenClose({ open, animRef, targetRef, isInitialRender })\n useAdjust({ children, animRef, isInitialRender })\n\n return {\n open,\n isOpen,\n isInDOM: open || isVisible,\n isVisible,\n isVisibleParallax,\n isAnimating,\n }\n}\n\nfunction useOpenClose({ open, animRef, targetRef, isInitialRender }) {\n useLayoutEffect(() => {\n if (!targetRef.current) {\n return // stop here\n }\n\n const anim = animRef.current\n\n anim.setElement(targetRef.current)\n\n if (open) {\n anim.open({ animate: !isInitialRender })\n } else if (anim.state === 'init') {\n anim.close({ animate: false })\n } else {\n anim.close()\n }\n }, [open, targetRef, animRef]) // eslint-disable-line\n}\n\nfunction useAdjust({ children, animRef, isInitialRender }) {\n const fromHeight = React.useRef(0)\n\n const shouldAdjust = () => {\n switch (animRef.current?.state) {\n case 'opened':\n case 'adjusted':\n case 'adjusting':\n return !isInitialRender\n }\n\n return false\n }\n\n React.useMemo(() => {\n if (shouldAdjust()) {\n fromHeight.current = animRef.current?.getHeight()\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useLayoutEffect(() => {\n if (shouldAdjust()) {\n /**\n * Ensure we don't have height, while we get the \"toHeight\" again\n * We may move this inside of the HeightAnimationInstance class later,\n * but the \"GlobalStatus\" is currently relaying on \"getUnknownHeight\" inside of adjustTo\n */\n animRef.current.elem.style.height = ''\n\n animRef.current.adjustTo(\n fromHeight.current,\n animRef.current.getHeight() // use getHeight instead of getUnknownHeight because of the additional, disturbing DOM manipulation\n )\n }\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SvgComparison.js","names":["_react","_interopRequireDefault","require","_path","_path2","_path3","_path4","_path5","_path6","_path7","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","SvgComparison","props","createElement","Fragment","width","height","d","stroke","fill","strokeweight","strokeLinecap","strokeLinejoin","clipRule","fillRule","_default","exports"],"sources":["../../../../../src/components/icon/lib/SvgComparison.js"],"sourcesContent":["/**\n * I used this tools:\n * to convert https://svg2jsx.herokuapp.com\n * to otimize https://jakearchibald.github.io/svgomg/\n */\n\nimport React from 'react'\n\nconst SvgComparison = (props) => (\n <React.Fragment>\n <svg width=\"24\" height=\"24\" {...props}>\n <path\n d=\"M.5 23.56h23\"\n stroke=\"black\"\n fill=\"white\"\n strokeweight=\"40\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M4.5 19.24a.49.49 0 0 0-.5-.48H2a.49.49 0 0 0-.5.48v4.32h3v-4.32zM10.5 14.44a.49.49 0 0 0-.5-.48H8a.49.49 0 0 0-.5.48v9.12h3v-9.12zM16.5 16.36a.49.49 0 0 0-.5-.48h-2a.49.49 0 0 0-.5.48v7.2h3v-7.2zM22.5 9.64a.49.49 0 0 0-.5-.48h-2a.49.49 0 0 0-.5.48v13.92h3V9.64zM3 13.48c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44zM9 8.68c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44zM15 10.6c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44zM21 4.36c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44z\"\n stroke=\"black\"\n fill=\"white\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M4.261 11.032l3.587-2.87M10.424 7.695l3.153 1.009M19.8 3.784l-3.759 4.21\"\n stroke=\"black\"\n fill=\"white\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <svg width=\"24\" height=\"24\" {...props}>\n <path d=\"M.5 23.06a.5.5 0 1 0 0 1v-1zm23 1a.5.5 0 0 0 0-1v1zm-22-.5H1a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zm3 0H7a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zm3 0H13a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zm3 0H19a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zM3.949 10.642a.5.5 0 0 0 .624.78l-.624-.78zm4.211-2.09a.5.5 0 1 0-.624-.78l.624.78zm2.416-1.333a.5.5 0 1 0-.304.952l.304-.952zm2.849 1.961a.5.5 0 1 0 .304-.952l-.304.952zm6.748-5.063a.5.5 0 0 0-.746-.666l.746.666zm-4.505 3.544a.5.5 0 1 0 .746.666l-.746-.666zM.5 24.06h23v-1H.5v1zM5 19.24c0-.56-.467-.98-1-.98v1l.007.001a.02.02 0 0 1-.004-.006A.038.038 0 0 1 4 19.24h1zm-1-.98H2v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1l-.003.015a.02.02 0 0 1-.004.006L2 19.26v-1zm-1 .98v4.32h1v-4.32H1zm.5 4.82h3v-1h-3v1zm3.5-.5v-4.32H4v4.32h1zm6-9.12c0-.56-.467-.98-1-.98v1l.007.001-.004-.006A.04.04 0 0 1 10 14.44h1zm-1-.98H8v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1l-.003.015a.02.02 0 0 1-.004.006L8 14.46v-1zm-1 .98v9.12h1v-9.12H7zm.5 9.62h3v-1h-3v1zm3.5-.5v-9.12h-1v9.12h1zm6-7.2c0-.56-.467-.98-1-.98v1l.007.001-.004-.006A.04.04 0 0 1 16 16.36h1zm-1-.98h-2v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1a.04.04 0 0 1-.003.015.022.022 0 0 1-.004.006L14 16.38v-1zm-1 .98v7.2h1v-7.2h-1zm.5 7.7h3v-1h-3v1zm3.5-.5v-7.2h-1v7.2h1zm6-13.92c0-.56-.467-.98-1-.98v1l.007.001-.004-.006A.04.04 0 0 1 22 9.64h1zm-1-.98h-2v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1a.04.04 0 0 1-.003.015.022.022 0 0 1-.004.006L20 9.66v-1zm-1 .98v13.92h1V9.64h-1zm.5 14.42h3v-1h-3v1zm3.5-.5V9.64h-1v13.92h1zM3 13.98c1.085 0 2-.85 2-1.94H4c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zM3 10.1c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zm-2 1.94c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94H1zm8-2.86c1.085 0 2-.85 2-1.94h-1c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zM9 5.3c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zM7 7.24c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94H7zm8 3.86c1.085 0 2-.85 2-1.94h-1c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zm-2-1.94c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zm-2 1.94c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94h-1zm8-4.3c1.085 0 2-.85 2-1.94h-1c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zM21 .98c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zm-2 1.94c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94h-1zM4.573 11.422l3.587-2.87-.624-.78-3.587 2.87.624.78zm5.699-3.25l3.153 1.008.304-.952-3.153-1.01-.304.953zm9.155-4.721l-3.759 4.21.746.666 3.759-4.21-.746-.666z\" />\n </svg>\n <svg width=\"24\" height=\"24\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M.5 23.08a.5.5 0 0 1 .5-.5h23a.5.5 0 1 1 0 1H1a.5.5 0 0 1-.5-.5z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.5 18.76c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v4.32a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-4.32zm1 .02v3.8h2v-3.8h-2zM7.5 13.96c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v9.12a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5v-9.12zm1 .02v8.6h2v-8.6h-2zM13.5 15.88c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v7.2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-7.2zm1 .02v6.68h2V15.9h-2zM19.5 9.16c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v13.92a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V9.16zm1 .02v13.4h2V9.18h-2zM1.5 11.56c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94zM7.5 6.76c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94zM13.5 8.68c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94zM19.5 2.44c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.738 7.37a.5.5 0 0 1-.078.702l-3.587 2.87a.5.5 0 0 1-.624-.78l3.587-2.87a.5.5 0 0 1 .702.077zM10.448 7.063a.5.5 0 0 1 .628-.324l3.153 1.009a.5.5 0 1 1-.304.952l-3.153-1.009a.5.5 0 0 1-.324-.628zM20.633 2.931a.5.5 0 0 1 .04.706l-3.759 4.21a.5.5 0 0 1-.746-.666l3.76-4.21a.5.5 0 0 1 .705-.04z\"\n />\n </svg>\n </React.Fragment>\n)\n\nexport default SvgComparison\n"],"mappings":"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"}
1
+ {"version":3,"file":"SvgComparison.js","names":["_react","_interopRequireDefault","require","_path","_path2","_path3","_path4","_path5","_path6","_path7","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","SvgComparison","props","createElement","Fragment","width","height","d","stroke","fill","strokeweight","strokeLinecap","strokeLinejoin","clipRule","fillRule","_default","exports"],"sources":["../../../../../src/components/icon/lib/SvgComparison.js"],"sourcesContent":["/**\n * I used this tools:\n * to convert https://svg2jsx.herokuapp.com\n * to optimize https://jakearchibald.github.io/svgomg/\n */\n\nimport React from 'react'\n\nconst SvgComparison = (props) => (\n <React.Fragment>\n <svg width=\"24\" height=\"24\" {...props}>\n <path\n d=\"M.5 23.56h23\"\n stroke=\"black\"\n fill=\"white\"\n strokeweight=\"40\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M4.5 19.24a.49.49 0 0 0-.5-.48H2a.49.49 0 0 0-.5.48v4.32h3v-4.32zM10.5 14.44a.49.49 0 0 0-.5-.48H8a.49.49 0 0 0-.5.48v9.12h3v-9.12zM16.5 16.36a.49.49 0 0 0-.5-.48h-2a.49.49 0 0 0-.5.48v7.2h3v-7.2zM22.5 9.64a.49.49 0 0 0-.5-.48h-2a.49.49 0 0 0-.5.48v13.92h3V9.64zM3 13.48c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44zM9 8.68c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44zM15 10.6c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44zM21 4.36c.828 0 1.5-.645 1.5-1.44 0-.795-.672-1.44-1.5-1.44s-1.5.645-1.5 1.44c0 .795.672 1.44 1.5 1.44z\"\n stroke=\"black\"\n fill=\"white\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M4.261 11.032l3.587-2.87M10.424 7.695l3.153 1.009M19.8 3.784l-3.759 4.21\"\n stroke=\"black\"\n fill=\"white\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n <svg width=\"24\" height=\"24\" {...props}>\n <path d=\"M.5 23.06a.5.5 0 1 0 0 1v-1zm23 1a.5.5 0 0 0 0-1v1zm-22-.5H1a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zm3 0H7a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zm3 0H13a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zm3 0H19a.5.5 0 0 0 .5.5v-.5zm3 0v.5a.5.5 0 0 0 .5-.5h-.5zM3.949 10.642a.5.5 0 0 0 .624.78l-.624-.78zm4.211-2.09a.5.5 0 1 0-.624-.78l.624.78zm2.416-1.333a.5.5 0 1 0-.304.952l.304-.952zm2.849 1.961a.5.5 0 1 0 .304-.952l-.304.952zm6.748-5.063a.5.5 0 0 0-.746-.666l.746.666zm-4.505 3.544a.5.5 0 1 0 .746.666l-.746-.666zM.5 24.06h23v-1H.5v1zM5 19.24c0-.56-.467-.98-1-.98v1l.007.001a.02.02 0 0 1-.004-.006A.038.038 0 0 1 4 19.24h1zm-1-.98H2v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1l-.003.015a.02.02 0 0 1-.004.006L2 19.26v-1zm-1 .98v4.32h1v-4.32H1zm.5 4.82h3v-1h-3v1zm3.5-.5v-4.32H4v4.32h1zm6-9.12c0-.56-.467-.98-1-.98v1l.007.001-.004-.006A.04.04 0 0 1 10 14.44h1zm-1-.98H8v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1l-.003.015a.02.02 0 0 1-.004.006L8 14.46v-1zm-1 .98v9.12h1v-9.12H7zm.5 9.62h3v-1h-3v1zm3.5-.5v-9.12h-1v9.12h1zm6-7.2c0-.56-.467-.98-1-.98v1l.007.001-.004-.006A.04.04 0 0 1 16 16.36h1zm-1-.98h-2v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1a.04.04 0 0 1-.003.015.022.022 0 0 1-.004.006L14 16.38v-1zm-1 .98v7.2h1v-7.2h-1zm.5 7.7h3v-1h-3v1zm3.5-.5v-7.2h-1v7.2h1zm6-13.92c0-.56-.467-.98-1-.98v1l.007.001-.004-.006A.04.04 0 0 1 22 9.64h1zm-1-.98h-2v1h2v-1zm-2 0c-.533 0-1 .42-1 .98h1a.04.04 0 0 1-.003.015.022.022 0 0 1-.004.006L20 9.66v-1zm-1 .98v13.92h1V9.64h-1zm.5 14.42h3v-1h-3v1zm3.5-.5V9.64h-1v13.92h1zM3 13.98c1.085 0 2-.85 2-1.94H4c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zM3 10.1c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zm-2 1.94c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94H1zm8-2.86c1.085 0 2-.85 2-1.94h-1c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zM9 5.3c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zM7 7.24c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94H7zm8 3.86c1.085 0 2-.85 2-1.94h-1c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zm-2-1.94c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zm-2 1.94c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94h-1zm8-4.3c1.085 0 2-.85 2-1.94h-1c0 .5-.428.94-1 .94v1zm2-1.94c0-1.09-.915-1.94-2-1.94v1c.572 0 1 .44 1 .94h1zM21 .98c-1.085 0-2 .85-2 1.94h1c0-.5.428-.94 1-.94v-1zm-2 1.94c0 1.09.915 1.94 2 1.94v-1c-.572 0-1-.44-1-.94h-1zM4.573 11.422l3.587-2.87-.624-.78-3.587 2.87.624.78zm5.699-3.25l3.153 1.008.304-.952-3.153-1.01-.304.953zm9.155-4.721l-3.759 4.21.746.666 3.759-4.21-.746-.666z\" />\n </svg>\n <svg width=\"24\" height=\"24\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M.5 23.08a.5.5 0 0 1 .5-.5h23a.5.5 0 1 1 0 1H1a.5.5 0 0 1-.5-.5z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.5 18.76c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v4.32a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-4.32zm1 .02v3.8h2v-3.8h-2zM7.5 13.96c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v9.12a.5.5 0 0 1-.5.5H8a.5.5 0 0 1-.5-.5v-9.12zm1 .02v8.6h2v-8.6h-2zM13.5 15.88c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v7.2a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-7.2zm1 .02v6.68h2V15.9h-2zM19.5 9.16c0-.56.467-.98 1-.98h2c.533 0 1 .42 1 .98v13.92a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V9.16zm1 .02v13.4h2V9.18h-2zM1.5 11.56c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94zM7.5 6.76c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94zM13.5 8.68c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94zM19.5 2.44c0-1.09.915-1.94 2-1.94s2 .85 2 1.94c0 1.09-.915 1.94-2 1.94s-2-.85-2-1.94zm2-.94c-.572 0-1 .44-1 .94 0 .5.428.94 1 .94.572 0 1-.44 1-.94 0-.5-.428-.94-1-.94z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.738 7.37a.5.5 0 0 1-.078.702l-3.587 2.87a.5.5 0 0 1-.624-.78l3.587-2.87a.5.5 0 0 1 .702.077zM10.448 7.063a.5.5 0 0 1 .628-.324l3.153 1.009a.5.5 0 1 1-.304.952l-3.153-1.009a.5.5 0 0 1-.324-.628zM20.633 2.931a.5.5 0 0 1 .04.706l-3.759 4.21a.5.5 0 0 1-.746-.666l3.76-4.21a.5.5 0 0 1 .705-.04z\"\n />\n </svg>\n </React.Fragment>\n)\n\nexport default SvgComparison\n"],"mappings":"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"}
@@ -100,7 +100,7 @@
100
100
  left: 0;
101
101
  overflow: hidden;
102
102
 
103
- // NB: We may considder moving this part to include &__input
103
+ // NB: We may consider moving this part to include &__input
104
104
  white-space: nowrap;
105
105
  text-overflow: ellipsis;
106
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputMaskedUtils.js","names":["_NumberUtils","require","_componentHelper","_helpers","_createTextMaskInputElement","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","exports","isRequestingLocaleSupport","props","entries","some","_ref","k","v","includes","isRequestingNumberMask","_ref2","correctNumberValue","_ref3","localValue","locale","maskParams","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","format","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","placeholderChar","prefixStart","prefixEnd","char","safeSetSelection","mask","chars","l","RegExp","n","_mask$test","e","warn","window","requestAnimationFrame","handlePercentMask","_ref4","_String","_String$match","percent","match","handleCurrencyMask","_ref5","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","_ref6","number_mask","getInputModeFromMask","IS_ANDROID","IS_IOS","allowNegative","instanceOf","handleThousandsSeparator","getThousandsSeparator","handleDecimalSeparator","getDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everyting else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputMaskedUtils.js","names":["_NumberUtils","require","_componentHelper","_helpers","_createTextMaskInputElement","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","enableLocaleSupportWhen","enableNumberMaskWhen","invisibleSpace","exports","isRequestingLocaleSupport","props","entries","some","_ref","k","v","includes","isRequestingNumberMask","_ref2","correctNumberValue","_ref3","localValue","locale","maskParams","isNaN","parseFloat","decimalPos","indexOf","integerLimit","limit","integers","split","isNegative","decimals","slice","shouldHaveDecimals","allowDecimal","decimalLimit","number_format","options","format","decimalSymbol","replace","localNumberValue","numberValue","endsWithDecimal","endsWith","endsWithZeroAndDecimal","startsWith","test","correctCaretPosition","element","correction","suffix","prefix","start","selectionStart","end","selectionEnd","suffixStart","suffixEnd","pos","placeholderChar","prefixStart","prefixEnd","char","safeSetSelection","mask","chars","l","RegExp","n","_mask$test","e","warn","window","requestAnimationFrame","handlePercentMask","_ref4","_String","_String$match","percent","match","handleCurrencyMask","_ref5","mask_options","currency_mask","showMask","fix","currency","handleNumberMask","_ref6","number_mask","getInputModeFromMask","IS_ANDROID","IS_IOS","allowNegative","instanceOf","handleThousandsSeparator","getThousandsSeparator","handleDecimalSeparator","getDecimalSeparator","fromJSON","str","fallback","JSON","parse"],"sources":["../../../../src/components/input-masked/InputMaskedUtils.js"],"sourcesContent":["/**\n * Web InputMasked Component\n *\n */\n\nimport {\n format,\n getDecimalSeparator,\n getThousandsSeparator,\n} from '../number-format/NumberUtils'\nimport { warn } from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { safeSetSelection } from './text-mask/createTextMaskInputElement'\n\nconst enableLocaleSupportWhen = ['as_number', 'as_percent', 'as_currency']\nconst enableNumberMaskWhen = [\n 'as_number',\n 'as_percent',\n 'as_currency',\n 'number_mask',\n 'currency_mask',\n]\n\nexport const invisibleSpace = '\\u200B'\n\n/**\n * Will return true if a prop needs Locale support\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingLocaleSupport = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableLocaleSupportWhen.includes(k)\n )\n}\n\n/**\n * Will return true if a prop will enable the internal NumberMask\n *\n * @param {object} props object with given component props\n * @returns boolean\n */\nexport const isRequestingNumberMask = (props) => {\n return Object.entries(props).some(\n ([k, v]) => v && enableNumberMaskWhen.includes(k)\n )\n}\n\n/**\n * Probably the most complex part of this component\n * It will modify a given value based on certain criteria's\n *\n * @param {object} param0 object with properties\n * @property {string} localValue optional – if given, it will uses its ending to determine of what to return\n * @property {number|string} value component property value\n * @property {object} context Eufemia Context\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns string Value\n */\nexport const correctNumberValue = ({\n localValue = null,\n props,\n locale,\n maskParams,\n}) => {\n let value = String(props.value)\n\n if (isNaN(parseFloat(value))) {\n return value\n }\n\n const decimalPos = value.indexOf('.')\n\n if (\n maskParams.integerLimit &&\n typeof maskParams.integerLimit === 'number'\n ) {\n const limit = maskParams.integerLimit\n const integers = value.split('.')[0]\n const isNegative = parseFloat(integers) < 0\n if (integers.length - (isNegative ? 1 : 0) > limit) {\n const decimals = decimalPos > 0 ? value.slice(decimalPos) : ''\n value = integers.slice(0, limit + (isNegative ? 1 : 0)) + decimals\n }\n }\n\n const shouldHaveDecimals =\n maskParams.allowDecimal ||\n (maskParams.decimalLimit > 0 && maskParams.allowDecimal !== false)\n\n if (!shouldHaveDecimals) {\n if (decimalPos > -1) {\n value = value.slice(0, decimalPos)\n }\n }\n\n /**\n * This only runs IF \"number_format\" is set – we do not use it else\n */\n if (props.number_format) {\n const options = {\n locale,\n decimals: 0,\n ...props.number_format,\n }\n if (shouldHaveDecimals) {\n options.decimals = maskParams.decimalLimit\n }\n value = format(value, options)\n }\n\n const decimalSymbol = maskParams.decimalSymbol\n value = value.replace('.', decimalSymbol)\n\n if (localValue !== null) {\n const localNumberValue = localValue.replace(/[^\\d,.-]/g, '')\n const numberValue = value.replace(/[^\\d,.-]/g, '')\n\n const endsWithDecimal = localNumberValue.endsWith(decimalSymbol)\n const endsWithZeroAndDecimal = localNumberValue.endsWith(\n `${decimalSymbol}0`\n )\n\n if (endsWithDecimal) {\n value = `${value}${decimalSymbol}`\n } else if (\n endsWithZeroAndDecimal &&\n !numberValue.endsWith(`${decimalSymbol}0`)\n ) {\n /**\n * When the users has 20,02, then hits \"backspace\",\n * the returned {numberValue} in the onChange event would then be \"20\",\n * but we want it to be 20,0\n */\n value = `${value}${decimalSymbol}0`\n }\n\n /**\n * If the user removes a leading digit and we have left a leading zero.\n *\n * The users enters these steps:\n * Step 1. 1012\n * Step 2. 012 -> user removes 1, now use \"localValue\"\n * Step 3. 2012\n *\n * If a dev listens on_change and sends the number value back in,\n * for this, we also ensure that \"numberValue\" and \"localNumberValue\" is the same.\n */\n if (\n localNumberValue !== '0' &&\n localNumberValue.startsWith('0') &&\n parseFloat(numberValue.replace(decimalSymbol, '.')) ===\n parseFloat(localNumberValue.replace(decimalSymbol, '.'))\n ) {\n value = localValue\n }\n\n /**\n * While typing;\n * If the local value is - or -0 we use it.\n * Also, because of invisible whitespace we remove everything else\n */\n if (/^(-|-0)$/.test(localValue.replace(/[^\\d-0]/g, ''))) {\n value = localValue\n } else if (localNumberValue === '' && numberValue === '0') {\n value = ''\n }\n }\n\n return value\n}\n\n/**\n * This is a helper for setting the cursor position,\n * when it is on a not allowed position\n *\n * @param {Element} element Input Element\n * @param {Object} maskParams Mask parameters, containing eventually suffix or prefix\n */\nexport const correctCaretPosition = (element, maskParams, props) => {\n const correction = () => {\n try {\n const suffix = maskParams?.suffix\n const prefix = maskParams?.prefix\n\n const start = element.selectionStart\n const end = element.selectionEnd\n\n if (start !== end) {\n return // stop here\n }\n\n if (suffix || prefix) {\n const suffixStart = element.value.indexOf(suffix)\n const suffixEnd = suffixStart + suffix?.length\n let pos = undefined\n\n if (start >= suffixStart && start <= suffixEnd) {\n pos = suffixStart\n\n // If there is a placeholder,\n // and the user clicks after the suffix\n // we want the position to be \"before\" the placeholderChar\n if (\n maskParams.placeholderChar !== invisibleSpace &&\n element.value.length - 1 === String(suffix + prefix).length\n ) {\n pos = pos - 1\n }\n } else {\n const prefixStart = element.value.indexOf(prefix)\n const prefixEnd = prefixStart + prefix?.length || 0\n\n if (start >= prefixStart && start <= prefixEnd) {\n pos = prefixEnd\n }\n }\n\n const char = element.value.slice(pos - 1, pos)\n if (char === invisibleSpace) {\n pos = suffixStart - 1\n }\n\n if (!isNaN(parseFloat(pos))) {\n safeSetSelection(element, pos)\n }\n } else if (props?.mask && element.value.length === end) {\n const chars = element.value.split('')\n\n for (let l = chars.length, i = l - 1; i >= 0; i--) {\n const char = chars[i]\n const mask = props.mask[i]\n if (\n char &&\n char !== invisibleSpace &&\n mask instanceof RegExp &&\n mask.test(char)\n ) {\n for (let n = i + 1; n < l; n++) {\n const mask = props.mask[n]\n if (mask?.test?.(mask) === false) {\n safeSetSelection(element, n)\n break\n }\n }\n\n break\n }\n }\n }\n } catch (e) {\n warn(e)\n }\n }\n\n if (typeof window !== 'undefined') {\n window.requestAnimationFrame(correction)\n }\n}\n\n/**\n * Manipulate needed mask for handle: percent\n *\n * @param {object} param0 object with properties\n * @property {object} props Component property\n * @property {string} locale Eufemia locale (either from component or context)\n * @property {object} maskParams predefined mask parameters\n * @returns object maskParams\n */\nexport const handlePercentMask = ({ props, locale, maskParams }) => {\n const value = format(props.value, { locale, percent: true })\n maskParams.suffix = String(value)?.match(/((\\s|)%)$/g, '$1')?.[0] || ' %'\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: currency\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} currency_mask Component property for change the currency parameters\n * @returns object maskParams\n */\nexport const handleCurrencyMask = ({ mask_options, currency_mask }) => {\n const maskParams = {\n showMask: true,\n placeholderChar: null,\n allowDecimal: true,\n decimalLimit: 2,\n decimalSymbol: ',',\n ...mask_options,\n ...currency_mask,\n }\n\n const fix =\n typeof currency_mask === 'string'\n ? currency_mask\n : typeof maskParams.currency === 'string'\n ? maskParams.currency\n : 'kr'\n\n maskParams.suffix = ` ${fix}`\n\n return maskParams\n}\n\n/**\n * Return needed mask for handle: number\n *\n * @param {object} param0 object with properties\n * @property {object} context Eufemia context\n * @property {object} mask_options Component property for change the mask parameters\n * @property {object} number_mask Component property for change the number parameters\n * @returns object maskParams\n */\nexport const handleNumberMask = ({ mask_options, number_mask }) => {\n const maskParams = {\n decimalSymbol: ',',\n ...mask_options,\n ...number_mask,\n }\n\n if (typeof maskParams.allowDecimal === 'undefined') {\n maskParams.allowDecimal = maskParams.decimalLimit > 0\n }\n\n return maskParams\n}\n\n/**\n * Returns the type of what inputMode should be used\n *\n * @param {function} mask mask function\n * @returns undefined|decimal|numeric\n */\nexport function getInputModeFromMask(mask) {\n const maskParams = mask?.maskParams\n\n // because of the missing minus key, we still have to use text on Android and iOS\n if ((IS_ANDROID || IS_IOS) && maskParams?.allowNegative !== false) {\n return undefined\n }\n\n if (maskParams && mask?.instanceOf === 'createNumberMask') {\n return maskParams.allowDecimal && maskParams.decimalLimit !== 0\n ? 'decimal'\n : 'numeric'\n }\n return undefined\n}\n\n/**\n * Returns the thousands separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleThousandsSeparator(locale) {\n return getThousandsSeparator(locale).replace(' ', ' ') // replace non-breaking space with a regular space\n}\n\n/**\n * Returns the decimal separator character\n *\n * @param {string} locale Component or context locale\n * @returns string\n */\nexport function handleDecimalSeparator(locale) {\n let decimalSymbol = getDecimalSeparator(locale)\n\n return decimalSymbol\n}\n\n/**\n * Will take a JSON and return it parsed\n *\n * @param {string} str\n * @param {*} fallback optional fallback\n * @returns parsed json\n */\nexport function fromJSON(str, fallback = null) {\n if (typeof str === 'string' && str[0] === '{') {\n return JSON.parse(str)\n }\n\n return str || fallback\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextMask.js","names":["_react","_interopRequireDefault","require","_propTypes","_createTextMaskInputElement","_utilities","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","TextMask","React","PureComponent","constructor","props","event","textMaskInputElement","update","onChange","inputRef","createRef","componentDidMount","initTextMask","createTextMaskInputElement","inputElement","current","componentDidUpdate","prevProps","pipe","mask","guide","placeholderChar","showMask","settings","isPipeChanged","toString","isNil","isMaskChanged","isSettingChanged","some","prop","isValueChanged","render","_this$props","keepCharPositions","params","defaultValue","cloneElement","createElement","ref","exports","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","array","func","bool","shape","isRequired","node","string","number"],"sources":["../../../../src/components/input-masked/TextMask.js"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport createTextMaskInputElement from './text-mask/createTextMaskInputElement'\nimport { isNil } from './text-mask/utilities'\n\nexport default class TextMask extends React.PureComponent {\n static propTypes = {\n mask: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.bool,\n PropTypes.shape({\n mask: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n pipe: PropTypes.func,\n }),\n ]).isRequired,\n inputRef: PropTypes.object,\n inputElement: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n onChange: PropTypes.func,\n guide: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n pipe: PropTypes.func,\n placeholderChar: PropTypes.string,\n keepCharPositions: PropTypes.bool,\n showMask: PropTypes.bool,\n }\n\n static defaultProps = {\n inputElement: null,\n inputRef: null,\n onChange: null,\n guide: null,\n value: null,\n pipe: null,\n placeholderChar: null,\n keepCharPositions: null,\n showMask: null,\n }\n\n constructor(props) {\n super(props)\n\n this.inputRef = props.inputRef || React.createRef()\n }\n\n componentDidMount() {\n this.initTextMask()\n }\n\n initTextMask() {\n const {\n props,\n props: { value },\n } = this\n\n this.textMaskInputElement = createTextMaskInputElement({\n ...props,\n inputElement: this.inputRef.current,\n })\n this.textMaskInputElement.update(value)\n }\n\n onChange = (event) => {\n this.textMaskInputElement.update()\n\n if (typeof this.props.onChange === 'function') {\n return this.props.onChange(event)\n }\n }\n\n componentDidUpdate(prevProps) {\n // Getting props affecting value\n const { value, pipe, mask, guide, placeholderChar, showMask } =\n this.props\n\n // Сalculate that settings was changed:\n // - `pipe` converting to string, to compare function content\n // - `mask` converting to string, to compare values or function content\n // - `keepCharPositions` exludes, because it affect only cursor position\n const settings = { guide, placeholderChar, showMask }\n const isPipeChanged =\n typeof pipe === 'function' && typeof prevProps.pipe === 'function'\n ? pipe.toString() !== prevProps.pipe.toString()\n : (isNil(pipe) && !isNil(prevProps.pipe)) ||\n (!isNil(pipe) && isNil(prevProps.pipe))\n const isMaskChanged = mask.toString() !== prevProps.mask.toString()\n const isSettingChanged =\n Object.keys(settings).some(\n (prop) => settings[prop] !== prevProps[prop]\n ) ||\n isMaskChanged ||\n isPipeChanged\n\n // Сalculate that value was changed\n const isValueChanged =\n value !== this.inputRef.current.value || prevProps.value !== value\n\n // Check value and settings to prevent duplicating update() call\n if (isValueChanged || isSettingChanged) {\n this.initTextMask()\n }\n }\n\n render() {\n const {\n inputElement,\n inputRef, // eslint-disable-line\n mask, // eslint-disable-line\n guide, // eslint-disable-line\n pipe, // eslint-disable-line\n placeholderChar, // eslint-disable-line\n keepCharPositions, // eslint-disable-line\n value, // eslint-disable-line\n onChange, // eslint-disable-line\n showMask, // eslint-disable-line\n\n ...props\n } = this.props\n\n const params = {\n onChange: this.onChange,\n defaultValue: this.props.value,\n ...props,\n }\n\n return inputElement ? (\n React.cloneElement(inputElement, params)\n ) : (\n <input ref={this.inputRef} {...params} />\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TextMask.js","names":["_react","_interopRequireDefault","require","_propTypes","_createTextMaskInputElement","_utilities","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","TextMask","React","PureComponent","constructor","props","event","textMaskInputElement","update","onChange","inputRef","createRef","componentDidMount","initTextMask","createTextMaskInputElement","inputElement","current","componentDidUpdate","prevProps","pipe","mask","guide","placeholderChar","showMask","settings","isPipeChanged","toString","isNil","isMaskChanged","isSettingChanged","some","prop","isValueChanged","render","_this$props","keepCharPositions","params","defaultValue","cloneElement","createElement","ref","exports","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","array","func","bool","shape","isRequired","node","string","number"],"sources":["../../../../src/components/input-masked/TextMask.js"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport createTextMaskInputElement from './text-mask/createTextMaskInputElement'\nimport { isNil } from './text-mask/utilities'\n\nexport default class TextMask extends React.PureComponent {\n static propTypes = {\n mask: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.func,\n PropTypes.bool,\n PropTypes.shape({\n mask: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n pipe: PropTypes.func,\n }),\n ]).isRequired,\n inputRef: PropTypes.object,\n inputElement: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n onChange: PropTypes.func,\n guide: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n pipe: PropTypes.func,\n placeholderChar: PropTypes.string,\n keepCharPositions: PropTypes.bool,\n showMask: PropTypes.bool,\n }\n\n static defaultProps = {\n inputElement: null,\n inputRef: null,\n onChange: null,\n guide: null,\n value: null,\n pipe: null,\n placeholderChar: null,\n keepCharPositions: null,\n showMask: null,\n }\n\n constructor(props) {\n super(props)\n\n this.inputRef = props.inputRef || React.createRef()\n }\n\n componentDidMount() {\n this.initTextMask()\n }\n\n initTextMask() {\n const {\n props,\n props: { value },\n } = this\n\n this.textMaskInputElement = createTextMaskInputElement({\n ...props,\n inputElement: this.inputRef.current,\n })\n this.textMaskInputElement.update(value)\n }\n\n onChange = (event) => {\n this.textMaskInputElement.update()\n\n if (typeof this.props.onChange === 'function') {\n return this.props.onChange(event)\n }\n }\n\n componentDidUpdate(prevProps) {\n // Getting props affecting value\n const { value, pipe, mask, guide, placeholderChar, showMask } =\n this.props\n\n // Сalculate that settings was changed:\n // - `pipe` converting to string, to compare function content\n // - `mask` converting to string, to compare values or function content\n // - `keepCharPositions` excludes, because it affect only cursor position\n const settings = { guide, placeholderChar, showMask }\n const isPipeChanged =\n typeof pipe === 'function' && typeof prevProps.pipe === 'function'\n ? pipe.toString() !== prevProps.pipe.toString()\n : (isNil(pipe) && !isNil(prevProps.pipe)) ||\n (!isNil(pipe) && isNil(prevProps.pipe))\n const isMaskChanged = mask.toString() !== prevProps.mask.toString()\n const isSettingChanged =\n Object.keys(settings).some(\n (prop) => settings[prop] !== prevProps[prop]\n ) ||\n isMaskChanged ||\n isPipeChanged\n\n // Сalculate that value was changed\n const isValueChanged =\n value !== this.inputRef.current.value || prevProps.value !== value\n\n // Check value and settings to prevent duplicating update() call\n if (isValueChanged || isSettingChanged) {\n this.initTextMask()\n }\n }\n\n render() {\n const {\n inputElement,\n inputRef, // eslint-disable-line\n mask, // eslint-disable-line\n guide, // eslint-disable-line\n pipe, // eslint-disable-line\n placeholderChar, // eslint-disable-line\n keepCharPositions, // eslint-disable-line\n value, // eslint-disable-line\n onChange, // eslint-disable-line\n showMask, // eslint-disable-line\n\n ...props\n } = this.props\n\n const params = {\n onChange: this.onChange,\n defaultValue: this.props.value,\n ...props,\n }\n\n return inputElement ? (\n React.cloneElement(inputElement, params)\n ) : (\n <input ref={this.inputRef} {...params} />\n )\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,2BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAA6C,MAAAI,SAAA;AAAA,SAAAL,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAAA,SAAAmB,QAAAC,MAAA,EAAAC,cAAA,QAAAH,IAAA,GAAArB,MAAA,CAAAqB,IAAA,CAAAE,MAAA,OAAAvB,MAAA,CAAAgB,qBAAA,QAAAS,OAAA,GAAAzB,MAAA,CAAAgB,qBAAA,CAAAO,MAAA,GAAAC,cAAA,KAAAC,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAA3B,MAAA,CAAA4B,wBAAA,CAAAL,MAAA,EAAAI,GAAA,EAAAE,UAAA,OAAAR,IAAA,CAAAS,IAAA,CAAAlB,KAAA,CAAAS,IAAA,EAAAI,OAAA,YAAAJ,IAAA;AAAA,SAAAU,cAAA5B,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAkB,OAAA,CAAAtB,MAAA,CAAAO,MAAA,OAAAyB,OAAA,WAAAxB,GAAA,IAAAyB,eAAA,CAAA9B,MAAA,EAAAK,GAAA,EAAAD,MAAA,CAAAC,GAAA,SAAAR,MAAA,CAAAkC,yBAAA,GAAAlC,MAAA,CAAAmC,gBAAA,CAAAhC,MAAA,EAAAH,MAAA,CAAAkC,yBAAA,CAAA3B,MAAA,KAAAe,OAAA,CAAAtB,MAAA,CAAAO,MAAA,GAAAyB,OAAA,WAAAxB,GAAA,IAAAR,MAAA,CAAAoC,cAAA,CAAAjC,MAAA,EAAAK,GAAA,EAAAR,MAAA,CAAA4B,wBAAA,CAAArB,MAAA,EAAAC,GAAA,iBAAAL,MAAA;AAAA,SAAA8B,gBAAArC,GAAA,EAAAY,GAAA,EAAA6B,KAAA,IAAA7B,GAAA,GAAA8B,cAAA,CAAA9B,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAAoC,cAAA,CAAAxC,GAAA,EAAAY,GAAA,IAAA6B,KAAA,EAAAA,KAAA,EAAAR,UAAA,QAAAU,YAAA,QAAAC,QAAA,oBAAA5C,GAAA,CAAAY,GAAA,IAAA6B,KAAA,WAAAzC,GAAA;AAAA,SAAA0C,eAAAG,GAAA,QAAAjC,GAAA,GAAAkC,YAAA,CAAAD,GAAA,2BAAAjC,GAAA,gBAAAA,GAAA,GAAAmC,MAAA,CAAAnC,GAAA;AAAA,SAAAkC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAnC,IAAA,CAAAiC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAE9B,MAAMS,QAAQ,SAASC,cAAK,CAACC,aAAa,CAAC;EAkCxDC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAAxB,eAAA,mBAsBFyB,KAAK,IAAK;MACpB,IAAI,CAACC,oBAAoB,CAACC,MAAM,CAAC,CAAC;MAElC,IAAI,OAAO,IAAI,CAACH,KAAK,CAACI,QAAQ,KAAK,UAAU,EAAE;QAC7C,OAAO,IAAI,CAACJ,KAAK,CAACI,QAAQ,CAACH,KAAK,CAAC;MACnC;IACF,CAAC;IA1BC,IAAI,CAACI,QAAQ,GAAGL,KAAK,CAACK,QAAQ,IAAIR,cAAK,CAACS,SAAS,CAAC,CAAC;EACrD;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACC,YAAY,CAAC,CAAC;EACrB;EAEAA,YAAYA,CAAA,EAAG;IACb,MAAM;MACJR,KAAK;MACLA,KAAK,EAAE;QAAEpB;MAAM;IACjB,CAAC,GAAG,IAAI;IAER,IAAI,CAACsB,oBAAoB,GAAG,IAAAO,mCAA0B,EAAAnC,aAAA,CAAAA,aAAA,KACjD0B,KAAK;MACRU,YAAY,EAAE,IAAI,CAACL,QAAQ,CAACM;IAAO,EACpC,CAAC;IACF,IAAI,CAACT,oBAAoB,CAACC,MAAM,CAACvB,KAAK,CAAC;EACzC;EAUAgC,kBAAkBA,CAACC,SAAS,EAAE;IAE5B,MAAM;MAAEjC,KAAK;MAAEkC,IAAI;MAAEC,IAAI;MAAEC,KAAK;MAAEC,eAAe;MAAEC;IAAS,CAAC,GAC3D,IAAI,CAAClB,KAAK;IAMZ,MAAMmB,QAAQ,GAAG;MAAEH,KAAK;MAAEC,eAAe;MAAEC;IAAS,CAAC;IACrD,MAAME,aAAa,GACjB,OAAON,IAAI,KAAK,UAAU,IAAI,OAAOD,SAAS,CAACC,IAAI,KAAK,UAAU,GAC9DA,IAAI,CAACO,QAAQ,CAAC,CAAC,KAAKR,SAAS,CAACC,IAAI,CAACO,QAAQ,CAAC,CAAC,GAC5C,IAAAC,gBAAK,EAACR,IAAI,CAAC,IAAI,CAAC,IAAAQ,gBAAK,EAACT,SAAS,CAACC,IAAI,CAAC,IACrC,CAAC,IAAAQ,gBAAK,EAACR,IAAI,CAAC,IAAI,IAAAQ,gBAAK,EAACT,SAAS,CAACC,IAAI,CAAE;IAC7C,MAAMS,aAAa,GAAGR,IAAI,CAACM,QAAQ,CAAC,CAAC,KAAKR,SAAS,CAACE,IAAI,CAACM,QAAQ,CAAC,CAAC;IACnE,MAAMG,gBAAgB,GACpBjF,MAAM,CAACqB,IAAI,CAACuD,QAAQ,CAAC,CAACM,IAAI,CACvBC,IAAI,IAAKP,QAAQ,CAACO,IAAI,CAAC,KAAKb,SAAS,CAACa,IAAI,CAC7C,CAAC,IACDH,aAAa,IACbH,aAAa;IAGf,MAAMO,cAAc,GAClB/C,KAAK,KAAK,IAAI,CAACyB,QAAQ,CAACM,OAAO,CAAC/B,KAAK,IAAIiC,SAAS,CAACjC,KAAK,KAAKA,KAAK;IAGpE,IAAI+C,cAAc,IAAIH,gBAAgB,EAAE;MACtC,IAAI,CAAChB,YAAY,CAAC,CAAC;IACrB;EACF;EAEAoB,MAAMA,CAAA,EAAG;IACP,MAAAC,WAAA,GAaI,IAAI,CAAC7B,KAAK;MAbR;QACJU,YAAY;QACZL,QAAQ;QACRU,IAAI;QACJC,KAAK;QACLF,IAAI;QACJG,eAAe;QACfa,iBAAiB;QACjBlD,KAAK;QACLwB,QAAQ;QACRc;MAGF,CAAC,GAAAW,WAAA;MADI7B,KAAK,GAAA5C,wBAAA,CAAAyE,WAAA,EAAA3F,SAAA;IAGV,MAAM6F,MAAM,GAAAzD,aAAA;MACV8B,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvB4B,YAAY,EAAE,IAAI,CAAChC,KAAK,CAACpB;IAAK,GAC3BoB,KAAK,CACT;IAED,OAAOU,YAAY,GACjBb,cAAK,CAACoC,YAAY,CAACvB,YAAY,EAAEqB,MAAM,CAAC,GAExCnG,MAAA,CAAAS,OAAA,CAAA6F,aAAA,UAAA5F,QAAA;MAAO6F,GAAG,EAAE,IAAI,CAAC9B;IAAS,GAAK0B,MAAM,CAAG,CACzC;EACH;AACF;AAACK,OAAA,CAAA/F,OAAA,GAAAuD,QAAA;AAAApB,eAAA,CA9HoBoB,QAAQ,kBAsBL;EACpBc,YAAY,EAAE,IAAI;EAClBL,QAAQ,EAAE,IAAI;EACdD,QAAQ,EAAE,IAAI;EACdY,KAAK,EAAE,IAAI;EACXpC,KAAK,EAAE,IAAI;EACXkC,IAAI,EAAE,IAAI;EACVG,eAAe,EAAE,IAAI;EACrBa,iBAAiB,EAAE,IAAI;EACvBZ,QAAQ,EAAE;AACZ,CAAC;AAAAmB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAhCkB3C,QAAQ,CACpB4C,SAAS,GAAG;EACjBzB,IAAI,EAAE0B,kBAAS,CAACC,SAAS,CAAC,CACxBD,kBAAS,CAACE,KAAK,EACfF,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,EACdJ,kBAAS,CAACK,KAAK,CAAC;IACd/B,IAAI,EAAE0B,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,KAAK,EAAEF,kBAAS,CAACG,IAAI,CAAC,CAAC;IAC5D9B,IAAI,EAAE2B,kBAAS,CAACG;EAClB,CAAC,CAAC,CACH,CAAC,CAACG,UAAU;EACb1C,QAAQ,EAAEoC,kBAAS,CAAC3E,MAAM;EAC1B4C,YAAY,EAAE+B,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACO,IAAI,EAAEP,kBAAS,CAACG,IAAI,CAAC,CAAC;EACnExC,QAAQ,EAAEqC,kBAAS,CAACG,IAAI;EACxB5B,KAAK,EAAEyB,kBAAS,CAACI,IAAI;EACrBjE,KAAK,EAAE6D,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACQ,MAAM,EAAER,kBAAS,CAACS,MAAM,CAAC,CAAC;EAChEpC,IAAI,EAAE2B,kBAAS,CAACG,IAAI;EACpB3B,eAAe,EAAEwB,kBAAS,CAACQ,MAAM;EACjCnB,iBAAiB,EAAEW,kBAAS,CAACI,IAAI;EACjC3B,QAAQ,EAAEuB,kBAAS,CAACI;AACtB,CAAC"}
@@ -271,7 +271,6 @@ class Modal extends _react.default.PureComponent {
271
271
  }
272
272
  try {
273
273
  document.documentElement.removeAttribute('data-dnb-modal-active');
274
- document.body.setAttribute('data-dnb-modal-active', 'false');
275
274
  } catch (e) {
276
275
  (0, _componentHelper.warn)('Modal: Error on remove "data-dnb-modal-active"', e);
277
276
  }
@@ -283,7 +282,6 @@ class Modal extends _react.default.PureComponent {
283
282
  if (typeof document !== 'undefined') {
284
283
  try {
285
284
  document.documentElement.setAttribute('data-dnb-modal-active', modalId);
286
- document.body.setAttribute('data-dnb-modal-active', 'true');
287
285
  } catch (e) {
288
286
  (0, _componentHelper.warn)('Modal: Error on set "data-dnb-modal-active"', e);
289
287
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","open_state","_open_state","hide","isTrue","no_animation","modalActive","constructor","_this","this","event","showModal","preventDefault","toggleNow","animation_duration","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","body","warn","modalId","render","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","class","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n class: null,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(props.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(props.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.props\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay, no_animation } = this.props\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive } = this.state\n const { close_modal, open_state, animation_duration } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n\n this.setActiveState(this._id)\n } else if (modalActive === false) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n }, parseFloat(String(animation_duration)) / 3)\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n\n // Deprecated\n document.body.setAttribute('data-dnb-modal-active', 'false')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n\n // Deprecated\n document.body.setAttribute('data-dnb-modal-active', 'true')\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.class,\n triggerAttributes.className\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","open_state","_open_state","hide","isTrue","no_animation","modalActive","constructor","_this","this","event","showModal","preventDefault","toggleNow","animation_duration","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","warn","modalId","render","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","class","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n class: null,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(props.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(props.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.props\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay, no_animation } = this.props\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive } = this.state\n const { close_modal, open_state, animation_duration } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n\n this.setActiveState(this._id)\n } else if (modalActive === false) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n }, parseFloat(String(animation_duration)) / 3)\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.class,\n triggerAttributes.className\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}