@dnb/eufemia 10.4.1 → 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 (282) hide show
  1. package/CHANGELOG.md +20 -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/HeightAnimationInstance.js +14 -10
  28. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  29. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  30. package/cjs/components/icon/lib/SvgComparison.js.map +1 -1
  31. package/cjs/components/input/style/dnb-input.scss +1 -1
  32. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  33. package/cjs/components/input-masked/TextMask.js.map +1 -1
  34. package/cjs/components/modal/Modal.js +0 -2
  35. package/cjs/components/modal/Modal.js.map +1 -1
  36. package/cjs/components/modal/bodyScrollLock.js.map +1 -1
  37. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  38. package/cjs/components/number-format/style/dnb-number-format.css +0 -7
  39. package/cjs/components/number-format/style/dnb-number-format.scss +0 -1
  40. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  41. package/cjs/components/radio/Radio.js.map +1 -1
  42. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  43. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  44. package/cjs/components/slider/hooks/useSliderEvents.js.map +1 -1
  45. package/cjs/components/slider/types.d.ts +1 -1
  46. package/cjs/components/slider/types.js.map +1 -1
  47. package/cjs/components/space/SpacingHelper.js.map +1 -1
  48. package/cjs/components/table/TableAccordion.js.map +1 -1
  49. package/cjs/components/table/TableTr.js.map +1 -1
  50. package/cjs/components/tabs/Tabs.js +29 -23
  51. package/cjs/components/tabs/Tabs.js.map +1 -1
  52. package/cjs/components/textarea/Textarea.js.map +1 -1
  53. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  54. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  55. package/cjs/components/tooltip/TooltipContainer.js.map +1 -1
  56. package/cjs/components/upload/Upload.js +2 -2
  57. package/cjs/components/upload/Upload.js.map +1 -1
  58. package/cjs/components/upload/useUpload.d.ts +1 -1
  59. package/cjs/components/upload/useUpload.js +2 -2
  60. package/cjs/components/upload/useUpload.js.map +1 -1
  61. package/cjs/elements/blockquote/Blockquote.d.ts +1 -1
  62. package/cjs/elements/blockquote/Blockquote.js.map +1 -1
  63. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  64. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  65. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  66. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  67. package/cjs/shared/Eufemia.d.ts +1 -1
  68. package/cjs/shared/Eufemia.js +2 -2
  69. package/cjs/shared/Eufemia.js.map +1 -1
  70. package/cjs/shared/VisibilityByTheme.d.ts +1 -1
  71. package/cjs/shared/VisibilityByTheme.js.map +1 -1
  72. package/cjs/shared/helpers.d.ts +2 -2
  73. package/cjs/shared/helpers.js.map +1 -1
  74. package/cjs/style/dnb-ui-components.css +26 -22
  75. package/cjs/style/dnb-ui-components.min.css +1 -1
  76. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  77. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  78. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  79. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  80. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  81. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  82. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  83. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  84. package/cjs/style/themes/theme-ui/ui-theme-basis.css +17 -11
  85. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  86. package/cjs/style/themes/theme-ui/ui-theme-components.css +60 -39
  87. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  88. package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -11
  89. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  90. package/cjs/style/themes/theme-ui/ui-theme-tags.css +23 -11
  91. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  92. package/components/anchor/style/anchor-mixins.scss +17 -23
  93. package/components/anchor/style/dnb-anchor.css +26 -15
  94. package/components/anchor/style/dnb-anchor.min.css +1 -1
  95. package/components/anchor/style/dnb-anchor.scss +1 -1
  96. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  97. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  98. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  99. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  100. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  101. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  102. package/components/autocomplete/Autocomplete.js +2 -2
  103. package/components/autocomplete/Autocomplete.js.map +1 -1
  104. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  105. package/components/dialog/Dialog.d.ts +1 -1
  106. package/components/dialog/DialogContent.d.ts +1 -1
  107. package/components/dialog/DialogContent.js +4 -2
  108. package/components/dialog/DialogContent.js.map +1 -1
  109. package/components/dialog/parts/DialogAction.d.ts +5 -1
  110. package/components/dialog/parts/DialogAction.js +3 -2
  111. package/components/dialog/parts/DialogAction.js.map +1 -1
  112. package/components/form-row/FormRow.js.map +1 -1
  113. package/components/form-row/style/dnb-form-row.scss +2 -2
  114. package/components/form-set/FormSet.js.map +1 -1
  115. package/components/height-animation/HeightAnimation.d.ts +1 -1
  116. package/components/height-animation/HeightAnimation.js.map +1 -1
  117. package/components/height-animation/HeightAnimationInstance.js +14 -10
  118. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  119. package/components/height-animation/useHeightAnimation.js.map +1 -1
  120. package/components/icon/lib/SvgComparison.js.map +1 -1
  121. package/components/input/style/dnb-input.scss +1 -1
  122. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  123. package/components/input-masked/TextMask.js.map +1 -1
  124. package/components/modal/Modal.js +0 -2
  125. package/components/modal/Modal.js.map +1 -1
  126. package/components/modal/bodyScrollLock.js.map +1 -1
  127. package/components/number-format/NumberUtils.js.map +1 -1
  128. package/components/number-format/style/dnb-number-format.css +0 -7
  129. package/components/number-format/style/dnb-number-format.scss +0 -1
  130. package/components/pagination/PaginationInfinity.js.map +1 -1
  131. package/components/radio/Radio.js.map +1 -1
  132. package/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  133. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  134. package/components/slider/hooks/useSliderEvents.js.map +1 -1
  135. package/components/slider/types.d.ts +1 -1
  136. package/components/slider/types.js.map +1 -1
  137. package/components/space/SpacingHelper.js.map +1 -1
  138. package/components/table/TableAccordion.js.map +1 -1
  139. package/components/table/TableTr.js.map +1 -1
  140. package/components/tabs/Tabs.js +29 -23
  141. package/components/tabs/Tabs.js.map +1 -1
  142. package/components/textarea/Textarea.js.map +1 -1
  143. package/components/toggle-button/ToggleButton.js.map +1 -1
  144. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  145. package/components/tooltip/TooltipContainer.js.map +1 -1
  146. package/components/upload/Upload.js +2 -2
  147. package/components/upload/Upload.js.map +1 -1
  148. package/components/upload/useUpload.d.ts +1 -1
  149. package/components/upload/useUpload.js +2 -2
  150. package/components/upload/useUpload.js.map +1 -1
  151. package/elements/blockquote/Blockquote.d.ts +1 -1
  152. package/elements/blockquote/Blockquote.js.map +1 -1
  153. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  154. package/es/components/anchor/style/anchor-mixins.scss +17 -23
  155. package/es/components/anchor/style/dnb-anchor.css +26 -15
  156. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  157. package/es/components/anchor/style/dnb-anchor.scss +1 -1
  158. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  159. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  160. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  161. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  162. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  163. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  164. package/es/components/autocomplete/Autocomplete.js +2 -2
  165. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  166. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  167. package/es/components/dialog/Dialog.d.ts +1 -1
  168. package/es/components/dialog/DialogContent.d.ts +1 -1
  169. package/es/components/dialog/DialogContent.js +4 -2
  170. package/es/components/dialog/DialogContent.js.map +1 -1
  171. package/es/components/dialog/parts/DialogAction.d.ts +5 -1
  172. package/es/components/dialog/parts/DialogAction.js +3 -2
  173. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  174. package/es/components/form-row/FormRow.js.map +1 -1
  175. package/es/components/form-row/style/dnb-form-row.scss +2 -2
  176. package/es/components/form-set/FormSet.js.map +1 -1
  177. package/es/components/height-animation/HeightAnimation.d.ts +1 -1
  178. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  179. package/es/components/height-animation/HeightAnimationInstance.js +14 -10
  180. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  181. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  182. package/es/components/icon/lib/SvgComparison.js.map +1 -1
  183. package/es/components/input/style/dnb-input.scss +1 -1
  184. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  185. package/es/components/input-masked/TextMask.js.map +1 -1
  186. package/es/components/modal/Modal.js +0 -2
  187. package/es/components/modal/Modal.js.map +1 -1
  188. package/es/components/modal/bodyScrollLock.js.map +1 -1
  189. package/es/components/number-format/NumberUtils.js.map +1 -1
  190. package/es/components/number-format/style/dnb-number-format.css +0 -7
  191. package/es/components/number-format/style/dnb-number-format.scss +0 -1
  192. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  193. package/es/components/radio/Radio.js.map +1 -1
  194. package/es/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  195. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  196. package/es/components/slider/hooks/useSliderEvents.js.map +1 -1
  197. package/es/components/slider/types.d.ts +1 -1
  198. package/es/components/slider/types.js.map +1 -1
  199. package/es/components/space/SpacingHelper.js.map +1 -1
  200. package/es/components/table/TableAccordion.js.map +1 -1
  201. package/es/components/table/TableTr.js.map +1 -1
  202. package/es/components/tabs/Tabs.js +29 -23
  203. package/es/components/tabs/Tabs.js.map +1 -1
  204. package/es/components/textarea/Textarea.js.map +1 -1
  205. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  206. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  207. package/es/components/tooltip/TooltipContainer.js.map +1 -1
  208. package/es/components/upload/Upload.js +2 -2
  209. package/es/components/upload/Upload.js.map +1 -1
  210. package/es/components/upload/useUpload.d.ts +1 -1
  211. package/es/components/upload/useUpload.js +2 -2
  212. package/es/components/upload/useUpload.js.map +1 -1
  213. package/es/elements/blockquote/Blockquote.d.ts +1 -1
  214. package/es/elements/blockquote/Blockquote.js.map +1 -1
  215. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  216. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  217. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  218. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  219. package/es/shared/Eufemia.d.ts +1 -1
  220. package/es/shared/Eufemia.js +2 -2
  221. package/es/shared/Eufemia.js.map +1 -1
  222. package/es/shared/VisibilityByTheme.d.ts +1 -1
  223. package/es/shared/VisibilityByTheme.js.map +1 -1
  224. package/es/shared/helpers.d.ts +2 -2
  225. package/es/shared/helpers.js.map +1 -1
  226. package/es/style/dnb-ui-components.css +26 -22
  227. package/es/style/dnb-ui-components.min.css +1 -1
  228. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  229. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  230. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  231. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  232. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  233. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  234. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  235. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  236. package/es/style/themes/theme-ui/ui-theme-basis.css +17 -11
  237. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  238. package/es/style/themes/theme-ui/ui-theme-components.css +60 -39
  239. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  240. package/es/style/themes/theme-ui/ui-theme-elements.css +17 -11
  241. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  242. package/es/style/themes/theme-ui/ui-theme-tags.css +23 -11
  243. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  244. package/esm/dnb-ui-basis.min.mjs +1 -1
  245. package/esm/dnb-ui-components.min.mjs +1 -1
  246. package/esm/dnb-ui-elements.min.mjs +1 -1
  247. package/esm/dnb-ui-extensions.min.mjs +1 -1
  248. package/esm/dnb-ui-lib.min.mjs +1 -1
  249. package/extensions/payment-card/utils/Types.js.map +1 -1
  250. package/fragments/drawer-list/DrawerList.js.map +1 -1
  251. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  252. package/package.json +1 -1
  253. package/shared/Eufemia.d.ts +1 -1
  254. package/shared/Eufemia.js +2 -2
  255. package/shared/Eufemia.js.map +1 -1
  256. package/shared/VisibilityByTheme.d.ts +1 -1
  257. package/shared/VisibilityByTheme.js.map +1 -1
  258. package/shared/helpers.d.ts +2 -2
  259. package/shared/helpers.js.map +1 -1
  260. package/style/dnb-ui-components.css +26 -22
  261. package/style/dnb-ui-components.min.css +1 -1
  262. package/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  263. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  264. package/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  265. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  266. package/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  267. package/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  268. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  269. package/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  270. package/style/themes/theme-ui/ui-theme-basis.css +17 -11
  271. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  272. package/style/themes/theme-ui/ui-theme-components.css +60 -39
  273. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  274. package/style/themes/theme-ui/ui-theme-elements.css +17 -11
  275. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  276. package/style/themes/theme-ui/ui-theme-tags.css +23 -11
  277. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  278. package/umd/dnb-ui-basis.min.js +1 -1
  279. package/umd/dnb-ui-components.min.js +1 -1
  280. package/umd/dnb-ui-elements.min.js +1 -1
  281. package/umd/dnb-ui-extensions.min.js +1 -1
  282. 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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"}
@@ -32,11 +32,13 @@ class HeightAnimation {
32
32
  this.opts = opts;
33
33
  }
34
34
  _callOnStart() {
35
- this.onStartStack.forEach(fn => {
36
- if (typeof fn === 'function') {
37
- fn(this.state);
38
- }
39
- });
35
+ if (this.onStartStack) {
36
+ this.onStartStack.forEach(fn => {
37
+ if (typeof fn === 'function') {
38
+ fn(this.state);
39
+ }
40
+ });
41
+ }
40
42
  }
41
43
  _callOnEnd() {
42
44
  this.isAnimating = false;
@@ -44,11 +46,13 @@ class HeightAnimation {
44
46
  delete this.__currentHeight;
45
47
  }
46
48
  this._removeEndEvents();
47
- this.onEndStack.forEach(fn => {
48
- if (typeof fn === 'function') {
49
- fn(this.state);
50
- }
51
- });
49
+ if (this.onEndStack) {
50
+ this.onEndStack.forEach(fn => {
51
+ if (typeof fn === 'function') {
52
+ fn(this.state);
53
+ }
54
+ });
55
+ }
52
56
  }
53
57
  reset() {
54
58
  this.state = 'init';
@@ -1 +1 @@
1
- {"version":3,"file":"HeightAnimationInstance.js","names":["_componentHelper","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HeightAnimation","constructor","opts","arguments","length","isInBrowser","window","state","onStartStack","onEndStack","events","_callOnStart","forEach","fn","_callOnEnd","isAnimating","__currentHeight","_removeEndEvents","reset","_restore","elem","parentElement","style","position","visibility","height","width","_addEndEvents","listener","push","addEventListener","i","removeEventListener","splice","_emitTransitionEnd","event","CustomEvent","dispatchEvent","e","warn","setElement","_this$elem","document","createElement","nodeName","toLowerCase","remove","stop","onResize","clearTimeout","resizeTimeout","getHeight","_this$elem2","parseFloat","clientHeight","getWidth","getComputedStyle","getUnknownHeight","onStart","onEnd","start","fromHeight","toHeight","_window","_window$location","_window$location$href","_this$opts","animate","location","href","includes","requestAnimationFrame","reqId1","reqId2","cancelAnimationFrame","adjustFrom","adjustTo","target","currentTarget","open","close","exports","default"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["import { warn } from '../../shared/component-helper'\n\nexport type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n isInBrowser: boolean\n state: HeightAnimationStates\n onStartStack: HeightAnimationOnStartStack\n onEndStack: HeightAnimationOnEndStack\n events: HeightAnimationEvents\n opts: HeightAnimationOptions\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n isAnimating: boolean\n __currentHeight: number\n onResize: () => void\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.state = 'init'\n this.onStartStack = []\n this.onEndStack = []\n this.events = []\n this.opts = opts\n }\n\n // Private methods\n _callOnStart() {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n _callOnEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this._removeEndEvents()\n\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n reset() {\n this.state = 'init'\n this.isAnimating = false\n this._removeEndEvents()\n this._restore()\n }\n _restore() {\n if (this.elem.parentElement) {\n this.elem.parentElement.style.position = ''\n }\n this.elem.style.position = ''\n this.elem.style.visibility = ''\n this.elem.style.height = '' // not sure about this\n this.elem.style.width = ''\n }\n _addEndEvents(listener: HeightAnimationEventListener) {\n this._removeEndEvents() // also, remove events on every open (but not on close!)\n\n this.events.push(listener)\n this.elem.addEventListener('transitionend', listener)\n }\n _removeEndEvents() {\n if (!this.elem) {\n return // stop here\n }\n\n this.events.forEach((listener, i) => {\n this.elem.removeEventListener('transitionend', listener)\n this.events.splice(i, 1)\n })\n }\n _emitTransitionEnd() {\n try {\n const event = new CustomEvent('transitionend')\n this.elem.dispatchEvent(event)\n } catch (e) {\n warn(e)\n }\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this._removeEndEvents() // in case element gets set several times\n\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n }\n remove() {\n this.stop()\n this._removeEndEvents()\n this.isAnimating = false\n this.onStartStack = null\n this.onEndStack = null\n this.elem = null\n this.state = 'init'\n if (this.onResize && this.isInBrowser) {\n clearTimeout(this.resizeTimeout)\n window.removeEventListener('resize', this.onResize)\n }\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getWidth() {\n if (!this.isInBrowser) {\n return null\n }\n return window.getComputedStyle(this.elem).width\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && this.__currentHeight) {\n return this.__currentHeight\n }\n\n this.elem.style.width = this.getWidth()\n\n if (this.elem.parentElement) {\n this.elem.parentElement.style.position = 'relative'\n }\n this.elem.style.position = 'absolute'\n this.elem.style.visibility = 'hidden'\n this.elem.style.height = 'auto'\n\n this.__currentHeight = this.getHeight()\n\n this._restore()\n\n return this.__currentHeight\n }\n\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight,\n { animate = true }: HeightAnimationOptions = {}\n ) {\n if (window?.location?.href?.includes('data-visual-test')) {\n animate = false\n }\n\n if (\n fromHeight === toHeight ||\n animate === false ||\n this.opts?.animate === false\n ) {\n this.elem.style.height = `${toHeight}px`\n\n this._callOnStart()\n\n this._emitTransitionEnd()\n\n return // stop here\n }\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n this.stop()\n\n this.isAnimating = true\n\n // call the callbacks here, because then we do not call this during startup. This way we get an instant startup\n this._callOnStart()\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return // stop here\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n }\n stop() {\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n /**\n * Deprecated\n * \"adjustFrom\" is only used by GlobalStatus.js\n * it should be replaced with \"useHeightAnimation\"\n */\n adjustFrom(height: HeightAnimationFromHeight = null) {\n if (!this.elem) {\n return\n }\n\n height = height || this.getHeight()\n this.elem.style.height = `${height}px`\n return height\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null,\n { animate = true }: HeightAnimationOptions = {}\n ) {\n if (!this.elem) {\n return\n }\n\n if (fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n this._addEndEvents((e) => {\n if (e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.state = 'adjusted'\n this._callOnEnd()\n }\n })\n\n this.state = 'adjusting'\n this.start(fromHeight, toHeight, { animate })\n }\n open({ animate = true }: HeightAnimationOptions = {}) {\n if (\n !this.elem ||\n this.state === 'opened' ||\n this.state === 'opening'\n ) {\n return\n }\n\n const height = this.getUnknownHeight()\n\n this._addEndEvents((e) => {\n if (e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.state = 'opened'\n this._callOnEnd()\n }\n })\n\n this.state = 'opening'\n this.start(0, height, { animate })\n }\n close({ animate = true }: HeightAnimationOptions = {}) {\n if (\n !this.elem ||\n this.state === 'closed' ||\n this.state === 'closing'\n ) {\n return\n }\n\n let height = this.getHeight()\n if (this.state === 'init') {\n height = this.getUnknownHeight()\n }\n\n this._addEndEvents((e) => {\n if (e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n }\n\n this.state = 'closed'\n this._callOnEnd()\n }\n })\n\n this.state = 'closing'\n this.start(height, 0, { animate })\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"HeightAnimationInstance.js","names":["_componentHelper","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HeightAnimation","constructor","opts","arguments","length","isInBrowser","window","state","onStartStack","onEndStack","events","_callOnStart","forEach","fn","_callOnEnd","isAnimating","__currentHeight","_removeEndEvents","reset","_restore","elem","parentElement","style","position","visibility","height","width","_addEndEvents","listener","push","addEventListener","i","removeEventListener","splice","_emitTransitionEnd","event","CustomEvent","dispatchEvent","e","warn","setElement","_this$elem","document","createElement","nodeName","toLowerCase","remove","stop","onResize","clearTimeout","resizeTimeout","getHeight","_this$elem2","parseFloat","clientHeight","getWidth","getComputedStyle","getUnknownHeight","onStart","onEnd","start","fromHeight","toHeight","_window","_window$location","_window$location$href","_this$opts","animate","location","href","includes","requestAnimationFrame","reqId1","reqId2","cancelAnimationFrame","adjustFrom","adjustTo","target","currentTarget","open","close","exports","default"],"sources":["../../../../src/components/height-animation/HeightAnimationInstance.ts"],"sourcesContent":["import { warn } from '../../shared/component-helper'\n\nexport type HeightAnimationOnStartStates =\n | 'opening'\n | 'closing'\n | 'adjusting'\nexport type HeightAnimationOnEndStates = 'opened' | 'closed' | 'adjusted'\nexport type HeightAnimationStates =\n | HeightAnimationOnStartStates\n | HeightAnimationOnEndStates\n | 'init'\nexport type HeightAnimationOptions = {\n animate?: boolean\n}\nexport type HeightAnimationOnStartCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnEndCallback = (\n state: HeightAnimationStates\n) => void\nexport type HeightAnimationOnStartStack =\n Array<HeightAnimationOnStartCallback>\nexport type HeightAnimationOnEndStack = Array<HeightAnimationOnEndCallback>\nexport type HeightAnimationEventListener = (e: Event) => void\nexport type HeightAnimationEvents = Array<HeightAnimationEventListener>\nexport type HeightAnimationElement = HTMLElement\nexport type HeightAnimationContainer = HTMLElement\nexport type HeightAnimationFromHeight = number\nexport type HeightAnimationToHeight = number\n\nexport default class HeightAnimation {\n isInBrowser: boolean\n state: HeightAnimationStates\n onStartStack: HeightAnimationOnStartStack\n onEndStack: HeightAnimationOnEndStack\n events: HeightAnimationEvents\n opts: HeightAnimationOptions\n elem: HeightAnimationElement\n reqId1: number\n reqId2: number\n resizeTimeout: NodeJS.Timeout\n isAnimating: boolean\n __currentHeight: number\n onResize: () => void\n\n constructor(opts: HeightAnimationOptions = {}) {\n this.isInBrowser = typeof window !== 'undefined'\n this.state = 'init'\n this.onStartStack = []\n this.onEndStack = []\n this.events = []\n this.opts = opts\n }\n\n // Private methods\n _callOnStart() {\n if (this.onStartStack) {\n this.onStartStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n _callOnEnd() {\n this.isAnimating = false\n\n if (this.state !== 'opened') {\n delete this.__currentHeight\n }\n\n this._removeEndEvents()\n\n if (this.onEndStack) {\n this.onEndStack.forEach((fn) => {\n if (typeof fn === 'function') {\n fn(this.state)\n }\n })\n }\n }\n reset() {\n this.state = 'init'\n this.isAnimating = false\n this._removeEndEvents()\n this._restore()\n }\n _restore() {\n if (this.elem.parentElement) {\n this.elem.parentElement.style.position = ''\n }\n this.elem.style.position = ''\n this.elem.style.visibility = ''\n this.elem.style.height = '' // not sure about this\n this.elem.style.width = ''\n }\n _addEndEvents(listener: HeightAnimationEventListener) {\n this._removeEndEvents() // also, remove events on every open (but not on close!)\n\n this.events.push(listener)\n this.elem.addEventListener('transitionend', listener)\n }\n _removeEndEvents() {\n if (!this.elem) {\n return // stop here\n }\n\n this.events.forEach((listener, i) => {\n this.elem.removeEventListener('transitionend', listener)\n this.events.splice(i, 1)\n })\n }\n _emitTransitionEnd() {\n try {\n const event = new CustomEvent('transitionend')\n this.elem.dispatchEvent(event)\n } catch (e) {\n warn(e)\n }\n }\n\n // Public methods\n setElement(elem: HeightAnimationElement) {\n this._removeEndEvents() // in case element gets set several times\n\n this.elem =\n elem ||\n (typeof document !== 'undefined' && document.createElement('div'))\n\n // TODO: remove when responsive tables are supported\n if (String(this.elem?.nodeName).toLowerCase() === 'td') {\n this.elem = this.elem.parentElement\n }\n }\n remove() {\n this.stop()\n this._removeEndEvents()\n this.isAnimating = false\n this.onStartStack = null\n this.onEndStack = null\n this.elem = null\n this.state = 'init'\n if (this.onResize && this.isInBrowser) {\n clearTimeout(this.resizeTimeout)\n window.removeEventListener('resize', this.onResize)\n }\n }\n getHeight() {\n return parseFloat(String(this.elem?.clientHeight)) || null\n }\n getWidth() {\n if (!this.isInBrowser) {\n return null\n }\n return window.getComputedStyle(this.elem).width\n }\n getUnknownHeight() {\n if (!this.elem) {\n return null\n }\n\n if (this.isAnimating && this.__currentHeight) {\n return this.__currentHeight\n }\n\n this.elem.style.width = this.getWidth()\n\n if (this.elem.parentElement) {\n this.elem.parentElement.style.position = 'relative'\n }\n this.elem.style.position = 'absolute'\n this.elem.style.visibility = 'hidden'\n this.elem.style.height = 'auto'\n\n this.__currentHeight = this.getHeight()\n\n this._restore()\n\n return this.__currentHeight\n }\n\n onStart(fn: HeightAnimationOnStartCallback) {\n this.onStartStack.push(fn)\n }\n onEnd(fn: HeightAnimationOnEndCallback) {\n this.onEndStack.push(fn)\n }\n start(\n fromHeight: HeightAnimationFromHeight,\n toHeight: HeightAnimationToHeight,\n { animate = true }: HeightAnimationOptions = {}\n ) {\n if (window?.location?.href?.includes('data-visual-test')) {\n animate = false\n }\n\n if (\n fromHeight === toHeight ||\n animate === false ||\n this.opts?.animate === false\n ) {\n this.elem.style.height = `${toHeight}px`\n\n this._callOnStart()\n\n this._emitTransitionEnd()\n\n return // stop here\n }\n\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n this.stop()\n\n this.isAnimating = true\n\n // call the callbacks here, because then we do not call this during startup. This way we get an instant startup\n this._callOnStart()\n\n // make the animation\n this.reqId1 = window.requestAnimationFrame(() => {\n if (!this.elem) {\n return // stop here\n }\n\n this.elem.style.height = `${fromHeight}px`\n\n this.reqId2 = window.requestAnimationFrame(() => {\n this.elem.style.height = `${toHeight}px`\n })\n })\n }\n }\n stop() {\n if (\n this.isInBrowser &&\n typeof window.requestAnimationFrame === 'function'\n ) {\n window.cancelAnimationFrame(this.reqId1)\n window.cancelAnimationFrame(this.reqId2)\n }\n }\n /**\n * Deprecated\n * \"adjustFrom\" is only used by GlobalStatus.js\n * it should be replaced with \"useHeightAnimation\"\n */\n adjustFrom(height: HeightAnimationFromHeight = null) {\n if (!this.elem) {\n return\n }\n\n height = height || this.getHeight()\n this.elem.style.height = `${height}px`\n return height\n }\n adjustTo(\n fromHeight: HeightAnimationFromHeight = null,\n toHeight: HeightAnimationToHeight = null,\n { animate = true }: HeightAnimationOptions = {}\n ) {\n if (!this.elem) {\n return\n }\n\n if (fromHeight === null) {\n fromHeight = this.getHeight()\n }\n if (toHeight === null) {\n toHeight = this.getUnknownHeight()\n }\n\n this._addEndEvents((e) => {\n if (e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.state = 'adjusted'\n this._callOnEnd()\n }\n })\n\n this.state = 'adjusting'\n this.start(fromHeight, toHeight, { animate })\n }\n open({ animate = true }: HeightAnimationOptions = {}) {\n if (\n !this.elem ||\n this.state === 'opened' ||\n this.state === 'opening'\n ) {\n return\n }\n\n const height = this.getUnknownHeight()\n\n this._addEndEvents((e) => {\n if (e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.height = 'auto'\n }\n\n this.state = 'opened'\n this._callOnEnd()\n }\n })\n\n this.state = 'opening'\n this.start(0, height, { animate })\n }\n close({ animate = true }: HeightAnimationOptions = {}) {\n if (\n !this.elem ||\n this.state === 'closed' ||\n this.state === 'closing'\n ) {\n return\n }\n\n let height = this.getHeight()\n if (this.state === 'init') {\n height = this.getUnknownHeight()\n }\n\n this._addEndEvents((e) => {\n if (e.target === e.currentTarget) {\n if (this.elem) {\n this.elem.style.visibility = 'hidden'\n }\n\n this.state = 'closed'\n this._callOnEnd()\n }\n })\n\n this.state = 'closing'\n this.start(height, 0, { animate })\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":"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"}
@@ -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
  }