@dnb/eufemia 10.4.2 → 10.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/cjs/components/anchor/style/anchor-mixins.scss +17 -23
  3. package/cjs/components/anchor/style/dnb-anchor.css +26 -15
  4. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  5. package/cjs/components/anchor/style/dnb-anchor.scss +1 -1
  6. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  7. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  8. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  12. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  13. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  14. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  15. package/cjs/components/dialog/Dialog.d.ts +1 -1
  16. package/cjs/components/dialog/DialogContent.d.ts +1 -1
  17. package/cjs/components/dialog/DialogContent.js +4 -2
  18. package/cjs/components/dialog/DialogContent.js.map +1 -1
  19. package/cjs/components/dialog/parts/DialogAction.d.ts +5 -1
  20. package/cjs/components/dialog/parts/DialogAction.js +3 -2
  21. package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
  22. package/cjs/components/form-row/FormRow.js.map +1 -1
  23. package/cjs/components/form-row/style/dnb-form-row.scss +2 -2
  24. package/cjs/components/form-set/FormSet.js.map +1 -1
  25. package/cjs/components/height-animation/HeightAnimation.d.ts +1 -1
  26. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  27. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  28. package/cjs/components/icon/lib/SvgComparison.js.map +1 -1
  29. package/cjs/components/input/style/dnb-input.scss +1 -1
  30. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  31. package/cjs/components/input-masked/TextMask.js.map +1 -1
  32. package/cjs/components/modal/Modal.js +0 -2
  33. package/cjs/components/modal/Modal.js.map +1 -1
  34. package/cjs/components/modal/bodyScrollLock.js.map +1 -1
  35. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  36. package/cjs/components/number-format/style/dnb-number-format.css +0 -7
  37. package/cjs/components/number-format/style/dnb-number-format.scss +0 -1
  38. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  39. package/cjs/components/radio/Radio.js.map +1 -1
  40. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  41. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  42. package/cjs/components/slider/hooks/useSliderEvents.js.map +1 -1
  43. package/cjs/components/slider/types.d.ts +1 -1
  44. package/cjs/components/slider/types.js.map +1 -1
  45. package/cjs/components/space/SpacingHelper.js.map +1 -1
  46. package/cjs/components/table/TableAccordion.js.map +1 -1
  47. package/cjs/components/table/TableTr.js.map +1 -1
  48. package/cjs/components/textarea/Textarea.js.map +1 -1
  49. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  50. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  51. package/cjs/components/tooltip/TooltipContainer.js.map +1 -1
  52. package/cjs/components/upload/Upload.js +2 -2
  53. package/cjs/components/upload/Upload.js.map +1 -1
  54. package/cjs/components/upload/useUpload.d.ts +1 -1
  55. package/cjs/components/upload/useUpload.js +2 -2
  56. package/cjs/components/upload/useUpload.js.map +1 -1
  57. package/cjs/elements/blockquote/Blockquote.d.ts +1 -1
  58. package/cjs/elements/blockquote/Blockquote.js.map +1 -1
  59. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  60. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  61. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  62. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  63. package/cjs/shared/Eufemia.d.ts +1 -1
  64. package/cjs/shared/Eufemia.js +2 -2
  65. package/cjs/shared/Eufemia.js.map +1 -1
  66. package/cjs/shared/VisibilityByTheme.d.ts +1 -1
  67. package/cjs/shared/VisibilityByTheme.js.map +1 -1
  68. package/cjs/shared/helpers.d.ts +2 -2
  69. package/cjs/shared/helpers.js.map +1 -1
  70. package/cjs/style/dnb-ui-components.css +26 -22
  71. package/cjs/style/dnb-ui-components.min.css +1 -1
  72. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  73. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  74. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  75. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  76. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  77. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  78. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  79. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  80. package/cjs/style/themes/theme-ui/ui-theme-basis.css +17 -11
  81. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  82. package/cjs/style/themes/theme-ui/ui-theme-components.css +60 -39
  83. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  84. package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -11
  85. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  86. package/cjs/style/themes/theme-ui/ui-theme-tags.css +23 -11
  87. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  88. package/components/anchor/style/anchor-mixins.scss +17 -23
  89. package/components/anchor/style/dnb-anchor.css +26 -15
  90. package/components/anchor/style/dnb-anchor.min.css +1 -1
  91. package/components/anchor/style/dnb-anchor.scss +1 -1
  92. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  93. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  94. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  95. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  96. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  97. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  98. package/components/autocomplete/Autocomplete.js +2 -2
  99. package/components/autocomplete/Autocomplete.js.map +1 -1
  100. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  101. package/components/dialog/Dialog.d.ts +1 -1
  102. package/components/dialog/DialogContent.d.ts +1 -1
  103. package/components/dialog/DialogContent.js +4 -2
  104. package/components/dialog/DialogContent.js.map +1 -1
  105. package/components/dialog/parts/DialogAction.d.ts +5 -1
  106. package/components/dialog/parts/DialogAction.js +3 -2
  107. package/components/dialog/parts/DialogAction.js.map +1 -1
  108. package/components/form-row/FormRow.js.map +1 -1
  109. package/components/form-row/style/dnb-form-row.scss +2 -2
  110. package/components/form-set/FormSet.js.map +1 -1
  111. package/components/height-animation/HeightAnimation.d.ts +1 -1
  112. package/components/height-animation/HeightAnimation.js.map +1 -1
  113. package/components/height-animation/useHeightAnimation.js.map +1 -1
  114. package/components/icon/lib/SvgComparison.js.map +1 -1
  115. package/components/input/style/dnb-input.scss +1 -1
  116. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  117. package/components/input-masked/TextMask.js.map +1 -1
  118. package/components/modal/Modal.js +0 -2
  119. package/components/modal/Modal.js.map +1 -1
  120. package/components/modal/bodyScrollLock.js.map +1 -1
  121. package/components/number-format/NumberUtils.js.map +1 -1
  122. package/components/number-format/style/dnb-number-format.css +0 -7
  123. package/components/number-format/style/dnb-number-format.scss +0 -1
  124. package/components/pagination/PaginationInfinity.js.map +1 -1
  125. package/components/radio/Radio.js.map +1 -1
  126. package/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  127. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  128. package/components/slider/hooks/useSliderEvents.js.map +1 -1
  129. package/components/slider/types.d.ts +1 -1
  130. package/components/slider/types.js.map +1 -1
  131. package/components/space/SpacingHelper.js.map +1 -1
  132. package/components/table/TableAccordion.js.map +1 -1
  133. package/components/table/TableTr.js.map +1 -1
  134. package/components/textarea/Textarea.js.map +1 -1
  135. package/components/toggle-button/ToggleButton.js.map +1 -1
  136. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  137. package/components/tooltip/TooltipContainer.js.map +1 -1
  138. package/components/upload/Upload.js +2 -2
  139. package/components/upload/Upload.js.map +1 -1
  140. package/components/upload/useUpload.d.ts +1 -1
  141. package/components/upload/useUpload.js +2 -2
  142. package/components/upload/useUpload.js.map +1 -1
  143. package/elements/blockquote/Blockquote.d.ts +1 -1
  144. package/elements/blockquote/Blockquote.js.map +1 -1
  145. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  146. package/es/components/anchor/style/anchor-mixins.scss +17 -23
  147. package/es/components/anchor/style/dnb-anchor.css +26 -15
  148. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  149. package/es/components/anchor/style/dnb-anchor.scss +1 -1
  150. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +40 -21
  151. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  152. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +2 -7
  153. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  154. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  155. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  156. package/es/components/autocomplete/Autocomplete.js +2 -2
  157. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  158. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  159. package/es/components/dialog/Dialog.d.ts +1 -1
  160. package/es/components/dialog/DialogContent.d.ts +1 -1
  161. package/es/components/dialog/DialogContent.js +4 -2
  162. package/es/components/dialog/DialogContent.js.map +1 -1
  163. package/es/components/dialog/parts/DialogAction.d.ts +5 -1
  164. package/es/components/dialog/parts/DialogAction.js +3 -2
  165. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  166. package/es/components/form-row/FormRow.js.map +1 -1
  167. package/es/components/form-row/style/dnb-form-row.scss +2 -2
  168. package/es/components/form-set/FormSet.js.map +1 -1
  169. package/es/components/height-animation/HeightAnimation.d.ts +1 -1
  170. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  171. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  172. package/es/components/icon/lib/SvgComparison.js.map +1 -1
  173. package/es/components/input/style/dnb-input.scss +1 -1
  174. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  175. package/es/components/input-masked/TextMask.js.map +1 -1
  176. package/es/components/modal/Modal.js +0 -2
  177. package/es/components/modal/Modal.js.map +1 -1
  178. package/es/components/modal/bodyScrollLock.js.map +1 -1
  179. package/es/components/number-format/NumberUtils.js.map +1 -1
  180. package/es/components/number-format/style/dnb-number-format.css +0 -7
  181. package/es/components/number-format/style/dnb-number-format.scss +0 -1
  182. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  183. package/es/components/radio/Radio.js.map +1 -1
  184. package/es/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  185. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  186. package/es/components/slider/hooks/useSliderEvents.js.map +1 -1
  187. package/es/components/slider/types.d.ts +1 -1
  188. package/es/components/slider/types.js.map +1 -1
  189. package/es/components/space/SpacingHelper.js.map +1 -1
  190. package/es/components/table/TableAccordion.js.map +1 -1
  191. package/es/components/table/TableTr.js.map +1 -1
  192. package/es/components/textarea/Textarea.js.map +1 -1
  193. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  194. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  195. package/es/components/tooltip/TooltipContainer.js.map +1 -1
  196. package/es/components/upload/Upload.js +2 -2
  197. package/es/components/upload/Upload.js.map +1 -1
  198. package/es/components/upload/useUpload.d.ts +1 -1
  199. package/es/components/upload/useUpload.js +2 -2
  200. package/es/components/upload/useUpload.js.map +1 -1
  201. package/es/elements/blockquote/Blockquote.d.ts +1 -1
  202. package/es/elements/blockquote/Blockquote.js.map +1 -1
  203. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  204. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  205. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  206. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  207. package/es/shared/Eufemia.d.ts +1 -1
  208. package/es/shared/Eufemia.js +2 -2
  209. package/es/shared/Eufemia.js.map +1 -1
  210. package/es/shared/VisibilityByTheme.d.ts +1 -1
  211. package/es/shared/VisibilityByTheme.js.map +1 -1
  212. package/es/shared/helpers.d.ts +2 -2
  213. package/es/shared/helpers.js.map +1 -1
  214. package/es/style/dnb-ui-components.css +26 -22
  215. package/es/style/dnb-ui-components.min.css +1 -1
  216. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  217. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  218. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  219. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  220. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  221. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  222. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  223. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  224. package/es/style/themes/theme-ui/ui-theme-basis.css +17 -11
  225. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  226. package/es/style/themes/theme-ui/ui-theme-components.css +60 -39
  227. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  228. package/es/style/themes/theme-ui/ui-theme-elements.css +17 -11
  229. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  230. package/es/style/themes/theme-ui/ui-theme-tags.css +23 -11
  231. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  232. package/esm/dnb-ui-basis.min.mjs +1 -1
  233. package/esm/dnb-ui-components.min.mjs +1 -1
  234. package/esm/dnb-ui-elements.min.mjs +1 -1
  235. package/esm/dnb-ui-extensions.min.mjs +1 -1
  236. package/esm/dnb-ui-lib.min.mjs +1 -1
  237. package/extensions/payment-card/utils/Types.js.map +1 -1
  238. package/fragments/drawer-list/DrawerList.js.map +1 -1
  239. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  240. package/package.json +1 -1
  241. package/shared/Eufemia.d.ts +1 -1
  242. package/shared/Eufemia.js +2 -2
  243. package/shared/Eufemia.js.map +1 -1
  244. package/shared/VisibilityByTheme.d.ts +1 -1
  245. package/shared/VisibilityByTheme.js.map +1 -1
  246. package/shared/helpers.d.ts +2 -2
  247. package/shared/helpers.js.map +1 -1
  248. package/style/dnb-ui-components.css +26 -22
  249. package/style/dnb-ui-components.min.css +1 -1
  250. package/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  251. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  252. package/style/themes/theme-eiendom/eiendom-theme-components.css +60 -39
  253. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  254. package/style/themes/theme-sbanken/sbanken-theme-basis.css +0 -7
  255. package/style/themes/theme-sbanken/sbanken-theme-components.css +80 -50
  256. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  257. package/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  258. package/style/themes/theme-ui/ui-theme-basis.css +17 -11
  259. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  260. package/style/themes/theme-ui/ui-theme-components.css +60 -39
  261. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  262. package/style/themes/theme-ui/ui-theme-elements.css +17 -11
  263. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  264. package/style/themes/theme-ui/ui-theme-tags.css +23 -11
  265. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  266. package/umd/dnb-ui-basis.min.js +1 -1
  267. package/umd/dnb-ui-components.min.js +1 -1
  268. package/umd/dnb-ui-elements.min.js +1 -1
  269. package/umd/dnb-ui-extensions.min.js +1 -1
  270. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Types.js","names":["daggy","createDaggy","DNB","taggedSum","Colored","Visa","Platinum","Mastercard","Default","Dark","CardType","None","BankAxept","White","Black","Gold","Black20","Gray","Saga","PB","ProductType","Pluss","Intro","Bedrift","Business","PrivateBanking","BankAxeptType","Types","TAG","VALUES","TYPE","RET_TYPE","TAGS","typeName","constructors","proto","cata","sum$cata","toString","sum$toString","tags","Object","keys","typeRep","constructor","typeRepToString","prototype","is","isType","forEach","tag","fields","tagProto","create","defProp","length","makeValue","sum$isUnit","makeConstructor","sum$isVariant","sum$ctrToString","from","makeConstructorFromObject","fs","idx","TypeError","apply","arrToString","variant","$sum$isVariant","val","Boolean","unit","$sum$isUnit","$isType","values","argumentsLength","obj","prop","desc","enumerable","writable","configurable","value","defineProperty","arr","str","String","a","arguments","b","c","d","e","f","g","h","i","j","field","hasOwnProperty","call","push"],"sources":["../../../../../src/extensions/payment-card/utils/Types.js"],"sourcesContent":["// import daggy from 'daggy';\n\nconst daggy = createDaggy()\n\nconst DNB = daggy.taggedSum('DNB', {\n Colored: ['color'],\n})\n\nconst Visa = daggy.taggedSum('Visa', {\n Colored: ['color'],\n Platinum: [],\n})\n\nconst Mastercard = daggy.taggedSum('Mastercard', {\n Default: [],\n Dark: [],\n})\n\nconst CardType = daggy.taggedSum('CardType', {\n Visa: [],\n Mastercard: [],\n None: [],\n})\n\nconst BankAxept = daggy.taggedSum('BankAxept', {\n White: [],\n Black: [],\n Gold: [],\n Black20: [],\n Gray: [],\n})\n\nconst Saga = daggy.taggedSum('Saga', {\n Gold: [],\n Platinum: [],\n None: [],\n})\n\n// PrivateBanking\nconst PB = daggy.taggedSum('PB', {\n Default: [],\n None: [],\n})\n\nconst ProductType = daggy.taggedSum('ProductType', {\n Saga: [],\n Pluss: [],\n Intro: [],\n Bedrift: [],\n Business: [],\n PrivateBanking: [],\n None: [],\n})\n\nconst BankAxeptType = daggy.taggedSum('BankAxeptType', {\n BankAxept: [],\n None: [],\n})\n\nexport {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nconst Types = {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nexport default Types\n\nfunction createDaggy() {\n // Names of prop used to store:\n // * name of variant of a sum type\n const TAG = '@@tag'\n // * array of arguments used to create a value (to speed up `cata`)\n const VALUES = '@@values'\n // * `@@type` of its returned results\n const TYPE = '@@type'\n // * `@@type` of variant constructor's returned results\n const RET_TYPE = '@@ret_type'\n // * names of all variants of a sum type\n const TAGS = '@@tags'\n\n function taggedSum(typeName, constructors) {\n const proto = { cata: sum$cata, toString: sum$toString }\n const tags = Object.keys(constructors)\n const typeRep = (proto.constructor = {\n toString: typeRepToString,\n prototype: proto,\n is: isType(typeName),\n '@@type': typeName,\n '@@tags': tags,\n })\n tags.forEach(function (tag) {\n const fields = constructors[tag]\n const tagProto = Object.create(proto)\n defProp(tagProto, TAG, tag)\n if (fields.length === 0) {\n typeRep[tag] = makeValue(fields, tagProto, [], 0)\n typeRep[tag].is = sum$isUnit(typeRep[tag])\n return\n }\n typeRep[tag] = makeConstructor(fields, tagProto)\n typeRep[tag].is = sum$isVariant(typeRep[tag])\n typeRep[tag][TAG] = tag\n typeRep[tag][RET_TYPE] = typeName\n typeRep[tag].toString = sum$ctrToString\n typeRep[tag].from = makeConstructorFromObject(fields, tagProto)\n })\n return typeRep\n }\n\n function sum$cata(fs) {\n const tags = this.constructor[TAGS]\n let tag\n for (let idx = 0; idx < tags.length; idx += 1) {\n tag = tags[idx]\n if (!fs[tag]) {\n throw new TypeError(\n \"Constructors given to cata didn't include: \" + tag\n )\n }\n }\n return fs[this[TAG]].apply(fs, this[VALUES])\n }\n\n function sum$ctrToString() {\n return this[RET_TYPE] + '.' + this[TAG]\n }\n\n function sum$toString() {\n return (\n this.constructor[TYPE] + '.' + this[TAG] + arrToString(this[VALUES])\n )\n }\n\n function typeRepToString() {\n return this[TYPE]\n }\n\n // function tagged$toString() {\n // return this.constructor[TYPE] + arrToString(this[VALUES])\n // }\n\n function sum$isVariant(variant) {\n return function $sum$isVariant(val) {\n return (\n Boolean(val) &&\n variant[TAG] === val[TAG] &&\n variant[RET_TYPE] === typeof val\n )\n }\n }\n\n function sum$isUnit(unit) {\n return function $sum$isUnit(val) {\n return (\n unit === val ||\n (Boolean(val) &&\n unit[TAG] === val[TAG] &&\n typeof unit === typeof val)\n )\n }\n }\n\n function isType(typeName) {\n return function $isType(val) {\n return typeName === typeof val\n }\n }\n\n function makeValue(fields, proto, values, argumentsLength) {\n if (argumentsLength !== fields.length) {\n throw new TypeError(\n 'Expected ' + fields.length + ' arguments, got ' + argumentsLength\n )\n }\n const obj = Object.create(proto)\n defProp(obj, VALUES, values)\n for (let idx = 0; idx < fields.length; idx += 1) {\n obj[fields[idx]] = values[idx]\n }\n return obj\n }\n\n // adopted version of withValue from https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n function defProp(obj, prop, val) {\n const desc =\n defProp.desc ||\n (defProp.desc = {\n enumerable: false,\n writable: false,\n configurable: false,\n value: null,\n })\n desc.value = val\n Object.defineProperty(obj, prop, desc)\n }\n\n // optimised version of `arr.map(toString).join(', ')`\n function arrToString(arr) {\n if (arr.length === 0) return ''\n let str = '(' + String(arr[0])\n for (let idx = 1; idx < arr.length; idx += 1) {\n str = str + ', ' + String(arr[idx])\n }\n return str + ')'\n }\n\n function makeConstructor(fields, proto) {\n switch (fields.length) {\n /* eslint-disable max-len */\n case 1:\n return function (a) {\n return makeValue(fields, proto, [a], arguments.length)\n }\n case 2:\n return function (a, b) {\n return makeValue(fields, proto, [a, b], arguments.length)\n }\n case 3:\n return function (a, b, c) {\n return makeValue(fields, proto, [a, b, c], arguments.length)\n }\n case 4:\n return function (a, b, c, d) {\n return makeValue(fields, proto, [a, b, c, d], arguments.length)\n }\n case 5:\n return function (a, b, c, d, e) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e],\n arguments.length\n )\n }\n case 6:\n return function (a, b, c, d, e, f) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f],\n arguments.length\n )\n }\n case 7:\n return function (a, b, c, d, e, f, g) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g],\n arguments.length\n )\n }\n case 8:\n return function (a, b, c, d, e, f, g, h) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h],\n arguments.length\n )\n }\n case 9:\n return function (a, b, c, d, e, f, g, h, i) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i],\n arguments.length\n )\n }\n case 10:\n return function (a, b, c, d, e, f, g, h, i, j) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i, j],\n arguments.length\n )\n }\n /* eslint-enable max-len */\n default:\n return Object.defineProperty(\n function () {\n return makeValue(fields, proto, arguments, arguments.length)\n },\n 'length',\n { value: fields.length }\n )\n }\n }\n\n function makeConstructorFromObject(fields, proto) {\n return function (obj) {\n const values = []\n for (let idx = 0; idx < fields.length; idx += 1) {\n const field = fields[idx]\n if (!Object.prototype.hasOwnProperty.call(obj, field)) {\n throw new TypeError('Missing field: ' + field)\n }\n values.push(obj[field])\n }\n return makeValue(fields, proto, values, values.length)\n }\n }\n\n return { taggedSum }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Types.js","names":["daggy","createDaggy","DNB","taggedSum","Colored","Visa","Platinum","Mastercard","Default","Dark","CardType","None","BankAxept","White","Black","Gold","Black20","Gray","Saga","PB","ProductType","Pluss","Intro","Bedrift","Business","PrivateBanking","BankAxeptType","Types","TAG","VALUES","TYPE","RET_TYPE","TAGS","typeName","constructors","proto","cata","sum$cata","toString","sum$toString","tags","Object","keys","typeRep","constructor","typeRepToString","prototype","is","isType","forEach","tag","fields","tagProto","create","defProp","length","makeValue","sum$isUnit","makeConstructor","sum$isVariant","sum$ctrToString","from","makeConstructorFromObject","fs","idx","TypeError","apply","arrToString","variant","$sum$isVariant","val","Boolean","unit","$sum$isUnit","$isType","values","argumentsLength","obj","prop","desc","enumerable","writable","configurable","value","defineProperty","arr","str","String","a","arguments","b","c","d","e","f","g","h","i","j","field","hasOwnProperty","call","push"],"sources":["../../../../../src/extensions/payment-card/utils/Types.js"],"sourcesContent":["// import daggy from 'daggy';\n\nconst daggy = createDaggy()\n\nconst DNB = daggy.taggedSum('DNB', {\n Colored: ['color'],\n})\n\nconst Visa = daggy.taggedSum('Visa', {\n Colored: ['color'],\n Platinum: [],\n})\n\nconst Mastercard = daggy.taggedSum('Mastercard', {\n Default: [],\n Dark: [],\n})\n\nconst CardType = daggy.taggedSum('CardType', {\n Visa: [],\n Mastercard: [],\n None: [],\n})\n\nconst BankAxept = daggy.taggedSum('BankAxept', {\n White: [],\n Black: [],\n Gold: [],\n Black20: [],\n Gray: [],\n})\n\nconst Saga = daggy.taggedSum('Saga', {\n Gold: [],\n Platinum: [],\n None: [],\n})\n\n// PrivateBanking\nconst PB = daggy.taggedSum('PB', {\n Default: [],\n None: [],\n})\n\nconst ProductType = daggy.taggedSum('ProductType', {\n Saga: [],\n Pluss: [],\n Intro: [],\n Bedrift: [],\n Business: [],\n PrivateBanking: [],\n None: [],\n})\n\nconst BankAxeptType = daggy.taggedSum('BankAxeptType', {\n BankAxept: [],\n None: [],\n})\n\nexport {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nconst Types = {\n DNB,\n Saga,\n PB,\n Mastercard,\n ProductType,\n CardType,\n BankAxept,\n BankAxeptType,\n Visa,\n}\n\nexport default Types\n\nfunction createDaggy() {\n // Names of prop used to store:\n // * name of variant of a sum type\n const TAG = '@@tag'\n // * array of arguments used to create a value (to speed up `cata`)\n const VALUES = '@@values'\n // * `@@type` of its returned results\n const TYPE = '@@type'\n // * `@@type` of variant constructor's returned results\n const RET_TYPE = '@@ret_type'\n // * names of all variants of a sum type\n const TAGS = '@@tags'\n\n function taggedSum(typeName, constructors) {\n const proto = { cata: sum$cata, toString: sum$toString }\n const tags = Object.keys(constructors)\n const typeRep = (proto.constructor = {\n toString: typeRepToString,\n prototype: proto,\n is: isType(typeName),\n '@@type': typeName,\n '@@tags': tags,\n })\n tags.forEach(function (tag) {\n const fields = constructors[tag]\n const tagProto = Object.create(proto)\n defProp(tagProto, TAG, tag)\n if (fields.length === 0) {\n typeRep[tag] = makeValue(fields, tagProto, [], 0)\n typeRep[tag].is = sum$isUnit(typeRep[tag])\n return\n }\n typeRep[tag] = makeConstructor(fields, tagProto)\n typeRep[tag].is = sum$isVariant(typeRep[tag])\n typeRep[tag][TAG] = tag\n typeRep[tag][RET_TYPE] = typeName\n typeRep[tag].toString = sum$ctrToString\n typeRep[tag].from = makeConstructorFromObject(fields, tagProto)\n })\n return typeRep\n }\n\n function sum$cata(fs) {\n const tags = this.constructor[TAGS]\n let tag\n for (let idx = 0; idx < tags.length; idx += 1) {\n tag = tags[idx]\n if (!fs[tag]) {\n throw new TypeError(\n \"Constructors given to cata didn't include: \" + tag\n )\n }\n }\n return fs[this[TAG]].apply(fs, this[VALUES])\n }\n\n function sum$ctrToString() {\n return this[RET_TYPE] + '.' + this[TAG]\n }\n\n function sum$toString() {\n return (\n this.constructor[TYPE] + '.' + this[TAG] + arrToString(this[VALUES])\n )\n }\n\n function typeRepToString() {\n return this[TYPE]\n }\n\n // function tagged$toString() {\n // return this.constructor[TYPE] + arrToString(this[VALUES])\n // }\n\n function sum$isVariant(variant) {\n return function $sum$isVariant(val) {\n return (\n Boolean(val) &&\n variant[TAG] === val[TAG] &&\n variant[RET_TYPE] === typeof val\n )\n }\n }\n\n function sum$isUnit(unit) {\n return function $sum$isUnit(val) {\n return (\n unit === val ||\n (Boolean(val) &&\n unit[TAG] === val[TAG] &&\n typeof unit === typeof val)\n )\n }\n }\n\n function isType(typeName) {\n return function $isType(val) {\n return typeName === typeof val\n }\n }\n\n function makeValue(fields, proto, values, argumentsLength) {\n if (argumentsLength !== fields.length) {\n throw new TypeError(\n 'Expected ' + fields.length + ' arguments, got ' + argumentsLength\n )\n }\n const obj = Object.create(proto)\n defProp(obj, VALUES, values)\n for (let idx = 0; idx < fields.length; idx += 1) {\n obj[fields[idx]] = values[idx]\n }\n return obj\n }\n\n // adopted version of withValue from https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\n function defProp(obj, prop, val) {\n const desc =\n defProp.desc ||\n (defProp.desc = {\n enumerable: false,\n writable: false,\n configurable: false,\n value: null,\n })\n desc.value = val\n Object.defineProperty(obj, prop, desc)\n }\n\n // optimized version of `arr.map(toString).join(', ')`\n function arrToString(arr) {\n if (arr.length === 0) return ''\n let str = '(' + String(arr[0])\n for (let idx = 1; idx < arr.length; idx += 1) {\n str = str + ', ' + String(arr[idx])\n }\n return str + ')'\n }\n\n function makeConstructor(fields, proto) {\n switch (fields.length) {\n /* eslint-disable max-len */\n case 1:\n return function (a) {\n return makeValue(fields, proto, [a], arguments.length)\n }\n case 2:\n return function (a, b) {\n return makeValue(fields, proto, [a, b], arguments.length)\n }\n case 3:\n return function (a, b, c) {\n return makeValue(fields, proto, [a, b, c], arguments.length)\n }\n case 4:\n return function (a, b, c, d) {\n return makeValue(fields, proto, [a, b, c, d], arguments.length)\n }\n case 5:\n return function (a, b, c, d, e) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e],\n arguments.length\n )\n }\n case 6:\n return function (a, b, c, d, e, f) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f],\n arguments.length\n )\n }\n case 7:\n return function (a, b, c, d, e, f, g) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g],\n arguments.length\n )\n }\n case 8:\n return function (a, b, c, d, e, f, g, h) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h],\n arguments.length\n )\n }\n case 9:\n return function (a, b, c, d, e, f, g, h, i) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i],\n arguments.length\n )\n }\n case 10:\n return function (a, b, c, d, e, f, g, h, i, j) {\n return makeValue(\n fields,\n proto,\n [a, b, c, d, e, f, g, h, i, j],\n arguments.length\n )\n }\n /* eslint-enable max-len */\n default:\n return Object.defineProperty(\n function () {\n return makeValue(fields, proto, arguments, arguments.length)\n },\n 'length',\n { value: fields.length }\n )\n }\n }\n\n function makeConstructorFromObject(fields, proto) {\n return function (obj) {\n const values = []\n for (let idx = 0; idx < fields.length; idx += 1) {\n const field = fields[idx]\n if (!Object.prototype.hasOwnProperty.call(obj, field)) {\n throw new TypeError('Missing field: ' + field)\n }\n values.push(obj[field])\n }\n return makeValue(fields, proto, values, values.length)\n }\n }\n\n return { taggedSum }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerList.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","dispatchCustomElementEvent","getThemeClasses","createSpacingClasses","DrawerListContext","DrawerListProvider","DrawerListPortal","drawerListPropTypes","drawerListDefaultProps","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","PureComponent","constructor","props","_id","id","render","_this$context","hasProvider","context","drawerList","createElement","DrawerListInstance","_extends","data","children","_defineProperty","blurDelay","_objectSpread","process","env","NODE_ENV","propTypes","e","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","setState","Object","entries","reduce","acc","_ref","key","triangle_position","_this$context2","defaultProps","getTranslation","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","class","_className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","prepared_data","_prepared_data","raw_data","_raw_data","opened","_opened","value","_value","attributes","_objectWithoutProperties","_excluded","hidden","active_item","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","listParams","ulParams","tabIndex","style","maxHeight","ref","assign","ignoreEvents","Items","map","dataItem","i","__id","hash","liParams","class_name","length","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","theme","memo","forwardRef","rest","_excluded2","prevProps","nextProps","displayName","oneOfType","node","func","isRequired","string","bool","object","on_click","_excluded3","params","ItemContent","number","_ref2","content","Array","isArray","item","n","prototype","hasOwnProperty","call","suffix_value","HorizontalItem","_ref3","_excluded4","componentDidMount","componentWillUnmount"],"sources":["../../../../src/fragments/drawer-list/DrawerList.js"],"sourcesContent":["/**\n * Web List Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport {\n drawerListPropTypes,\n drawerListDefaultProps,\n} from './DrawerListHelpers'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport default class DrawerList extends React.PureComponent {\n static contextType = DrawerListContext // only used for the hasProvide check\n\n static blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n const hasProvider = this.context?.drawerList\n\n if (hasProvider) {\n return <DrawerListInstance {...this.props} />\n }\n\n return (\n <DrawerListProvider\n id={this._id}\n {...this.props}\n data={this.props.data || this.props.children}\n >\n <DrawerListInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DrawerListInstance extends React.PureComponent {\n static propTypes = DrawerList.propTypes\n static defaultProps = DrawerList.defaultProps\n static contextType = DrawerListContext\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n\n // send along the event handlers to the provider state\n context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (props[key]) {\n acc[key] = props[key]\n }\n return acc\n }, {})\n )\n\n context.drawerList.setState({\n triangle_position: props.triangle_position,\n })\n }\n\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerList.defaultProps,\n this.context.getTranslation(this.props).DrawerList\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n class: _className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n prepared_data: _prepared_data, // eslint-disable-line\n raw_data: _raw_data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = this.context.drawerList\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n isTrue(independent_width) ||\n (isTrue(action_menu) && 'dnb-drawer-list--independent-width'),\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n _className,\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may considder to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: '-1',\n style: {\n maxHeight: max_height > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item) > -1 ||\n (!(parseFloat(active_item) > -1) &&\n !(parseFloat(selected_item) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n active_item || 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = '0'\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n children && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef((props, ref) => {\n const {\n children,\n className,\n class: _className,\n triangleRef = null,\n cache_hash, // eslint-disable-line\n showFocusRing,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className,\n _className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\nDrawerList.Options.displayName = 'DrawerList.Options'\nDrawerList.Options.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n cache_hash: PropTypes.string,\n showFocusRing: PropTypes.bool,\n className: PropTypes.string,\n class: PropTypes.string,\n triangleRef: PropTypes.object,\n}\nDrawerList.Options.defaultProps = {\n cache_hash: null,\n showFocusRing: false,\n className: null,\n class: null,\n triangleRef: null,\n}\n\n// DrawerList Item\nDrawerList.Item = React.forwardRef((props, ref) => {\n const {\n role, // eslint-disable-line\n hash, // eslint-disable-line\n children, // eslint-disable-line\n className, // eslint-disable-line\n class: _className, // eslint-disable-line\n on_click, // eslint-disable-line\n selected, // eslint-disable-line\n active, // eslint-disable-line\n value, // eslint-disable-line\n ...rest\n } = props\n\n const params = {\n className: classnames(\n className,\n _className,\n 'dnb-drawer-list__option',\n selected && 'dnb-drawer-list__option--selected',\n active && 'dnb-drawer-list__option--focus'\n ),\n role,\n tabIndex: selected ? '0' : '-1',\n 'aria-selected': active,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click) {\n params.onClick = () =>\n dispatchCustomElementEvent(\n {\n props: { ...props, displayName: DrawerList.Item.displayName },\n },\n 'on_click',\n {\n selected,\n value,\n ...rest,\n }\n )\n }\n\n return (\n <li {...params} {...rest} ref={ref} key={'li' + hash}>\n <span className=\"dnb-drawer-list__option__inner\">\n <ItemContent hash={hash}>{children}</ItemContent>\n </span>\n </li>\n )\n})\nDrawerList.Item.displayName = 'DrawerList.Item'\nDrawerList.Item.propTypes = {\n role: PropTypes.string,\n hash: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.object,\n ]).isRequired,\n className: PropTypes.string,\n class: PropTypes.string,\n on_click: PropTypes.func,\n selected: PropTypes.bool,\n active: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\nDrawerList.Item.defaultProps = {\n role: 'option',\n hash: '',\n className: null,\n class: null,\n on_click: null,\n selected: null,\n active: null,\n value: null,\n}\n\nexport function ItemContent({ hash = '', children }) {\n let content = null\n\n if (Array.isArray(children.content || children)) {\n content = (children.content || children).map((item, n) => (\n <span\n key={hash + n}\n className={`dnb-drawer-list__option__item item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {children.render ? children.render(item, hash + n) : item}\n </span>\n ))\n } else if (Object.prototype.hasOwnProperty.call(children, 'content')) {\n content = children.render\n ? children.render(children.content, hash, children)\n : children.content\n if (content) {\n content = (\n <span className=\"dnb-drawer-list__option__item\">{content}</span>\n )\n }\n } else {\n content = children && (\n <span className=\"dnb-drawer-list__option__item\">{children}</span>\n )\n }\n\n return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? (\n <>\n {content}\n\n <span className=\"dnb-drawer-list__option__item dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </span>\n </>\n ) : (\n content\n )\n}\nItemContent.propTypes = {\n hash: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n}\n\nDrawerList.HorizontalItem = ({ className, ...props }) => (\n <span\n className={classnames([\n 'dnb-drawer-list__option__item dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n)\nDrawerList.HorizontalItem.propTypes = {\n className: PropTypes.string,\n}\nDrawerList.HorizontalItem.defaultProps = {\n className: null,\n}\n\nclass OnMounted extends React.PureComponent {\n static propTypes = {\n addObservers: PropTypes.func.isRequired,\n removeObservers: PropTypes.func.isRequired,\n }\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DrawerList.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","dispatchCustomElementEvent","getThemeClasses","createSpacingClasses","DrawerListContext","DrawerListProvider","DrawerListPortal","drawerListPropTypes","drawerListDefaultProps","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","PureComponent","constructor","props","_id","id","render","_this$context","hasProvider","context","drawerList","createElement","DrawerListInstance","_extends","data","children","_defineProperty","blurDelay","_objectSpread","process","env","NODE_ENV","propTypes","e","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","setState","Object","entries","reduce","acc","_ref","key","triangle_position","_this$context2","defaultProps","getTranslation","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","class","_className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","prepared_data","_prepared_data","raw_data","_raw_data","opened","_opened","value","_value","attributes","_objectWithoutProperties","_excluded","hidden","active_item","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","listParams","ulParams","tabIndex","style","maxHeight","ref","assign","ignoreEvents","Items","map","dataItem","i","__id","hash","liParams","class_name","length","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","theme","memo","forwardRef","rest","_excluded2","prevProps","nextProps","displayName","oneOfType","node","func","isRequired","string","bool","object","on_click","_excluded3","params","ItemContent","number","_ref2","content","Array","isArray","item","n","prototype","hasOwnProperty","call","suffix_value","HorizontalItem","_ref3","_excluded4","componentDidMount","componentWillUnmount"],"sources":["../../../../src/fragments/drawer-list/DrawerList.js"],"sourcesContent":["/**\n * Web List Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport {\n drawerListPropTypes,\n drawerListDefaultProps,\n} from './DrawerListHelpers'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport default class DrawerList extends React.PureComponent {\n static contextType = DrawerListContext // only used for the hasProvide check\n\n static blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n const hasProvider = this.context?.drawerList\n\n if (hasProvider) {\n return <DrawerListInstance {...this.props} />\n }\n\n return (\n <DrawerListProvider\n id={this._id}\n {...this.props}\n data={this.props.data || this.props.children}\n >\n <DrawerListInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DrawerListInstance extends React.PureComponent {\n static propTypes = DrawerList.propTypes\n static defaultProps = DrawerList.defaultProps\n static contextType = DrawerListContext\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n\n // send along the event handlers to the provider state\n context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (props[key]) {\n acc[key] = props[key]\n }\n return acc\n }, {})\n )\n\n context.drawerList.setState({\n triangle_position: props.triangle_position,\n })\n }\n\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerList.defaultProps,\n this.context.getTranslation(this.props).DrawerList\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n class: _className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n prepared_data: _prepared_data, // eslint-disable-line\n raw_data: _raw_data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = this.context.drawerList\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n isTrue(independent_width) ||\n (isTrue(action_menu) && 'dnb-drawer-list--independent-width'),\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n _className,\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may consider to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: '-1',\n style: {\n maxHeight: max_height > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item) > -1 ||\n (!(parseFloat(active_item) > -1) &&\n !(parseFloat(selected_item) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n active_item || 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = '0'\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n children && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef((props, ref) => {\n const {\n children,\n className,\n class: _className,\n triangleRef = null,\n cache_hash, // eslint-disable-line\n showFocusRing,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className,\n _className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\nDrawerList.Options.displayName = 'DrawerList.Options'\nDrawerList.Options.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n cache_hash: PropTypes.string,\n showFocusRing: PropTypes.bool,\n className: PropTypes.string,\n class: PropTypes.string,\n triangleRef: PropTypes.object,\n}\nDrawerList.Options.defaultProps = {\n cache_hash: null,\n showFocusRing: false,\n className: null,\n class: null,\n triangleRef: null,\n}\n\n// DrawerList Item\nDrawerList.Item = React.forwardRef((props, ref) => {\n const {\n role, // eslint-disable-line\n hash, // eslint-disable-line\n children, // eslint-disable-line\n className, // eslint-disable-line\n class: _className, // eslint-disable-line\n on_click, // eslint-disable-line\n selected, // eslint-disable-line\n active, // eslint-disable-line\n value, // eslint-disable-line\n ...rest\n } = props\n\n const params = {\n className: classnames(\n className,\n _className,\n 'dnb-drawer-list__option',\n selected && 'dnb-drawer-list__option--selected',\n active && 'dnb-drawer-list__option--focus'\n ),\n role,\n tabIndex: selected ? '0' : '-1',\n 'aria-selected': active,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click) {\n params.onClick = () =>\n dispatchCustomElementEvent(\n {\n props: { ...props, displayName: DrawerList.Item.displayName },\n },\n 'on_click',\n {\n selected,\n value,\n ...rest,\n }\n )\n }\n\n return (\n <li {...params} {...rest} ref={ref} key={'li' + hash}>\n <span className=\"dnb-drawer-list__option__inner\">\n <ItemContent hash={hash}>{children}</ItemContent>\n </span>\n </li>\n )\n})\nDrawerList.Item.displayName = 'DrawerList.Item'\nDrawerList.Item.propTypes = {\n role: PropTypes.string,\n hash: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.object,\n ]).isRequired,\n className: PropTypes.string,\n class: PropTypes.string,\n on_click: PropTypes.func,\n selected: PropTypes.bool,\n active: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\nDrawerList.Item.defaultProps = {\n role: 'option',\n hash: '',\n className: null,\n class: null,\n on_click: null,\n selected: null,\n active: null,\n value: null,\n}\n\nexport function ItemContent({ hash = '', children }) {\n let content = null\n\n if (Array.isArray(children.content || children)) {\n content = (children.content || children).map((item, n) => (\n <span\n key={hash + n}\n className={`dnb-drawer-list__option__item item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {children.render ? children.render(item, hash + n) : item}\n </span>\n ))\n } else if (Object.prototype.hasOwnProperty.call(children, 'content')) {\n content = children.render\n ? children.render(children.content, hash, children)\n : children.content\n if (content) {\n content = (\n <span className=\"dnb-drawer-list__option__item\">{content}</span>\n )\n }\n } else {\n content = children && (\n <span className=\"dnb-drawer-list__option__item\">{children}</span>\n )\n }\n\n return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? (\n <>\n {content}\n\n <span className=\"dnb-drawer-list__option__item dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </span>\n </>\n ) : (\n content\n )\n}\nItemContent.propTypes = {\n hash: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n}\n\nDrawerList.HorizontalItem = ({ className, ...props }) => (\n <span\n className={classnames([\n 'dnb-drawer-list__option__item dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n)\nDrawerList.HorizontalItem.propTypes = {\n className: PropTypes.string,\n}\nDrawerList.HorizontalItem.defaultProps = {\n className: null,\n}\n\nclass OnMounted extends React.PureComponent {\n static propTypes = {\n addObservers: PropTypes.func.isRequired,\n removeObservers: PropTypes.func.isRequired,\n }\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\n"],"mappings":"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"}