@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":"TableAccordion.js","names":["_react","_interopRequireDefault","require","_classnames","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_keycode","_helpers","_TableAccordionContent","_interopRequireWildcard","_TableTdAccordionIcon","_TableThAccordionIcon","_Td","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","useTableAccordion","_ref","_tableContext$allProp","_tableContext$allProp2","children","className","props","expanded","disabled","noAnimation","onClick","onOpened","onClosed","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","content","Children","toArray","allProps","accordion","accordionContent","find","element","type","TableAccordionContent","hasAccordionContent","isValidElement","countTds","filter","Td","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","hasContent","tdElem","createElement","TableTdAccordionIcon","accordionChevronPlacement","push","unshift","isTh","some","Th","thElem","TableThAccordionIcon","TrContext","Provider","value","tabIndex","undefined","classnames","event","keycode","document","activeElement","tagName","preventDefault","hasSelectedText","TableAccordionToggleButton","_React$useContext","trContext","iconSize","size","icon","accordionToggleButtonSR","Boolean","on_click","_tableContext$allProp3"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport TableContext from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\nimport { TableTrProps } from './TableTr'\n\nimport TableAccordionContent, { TrContext } from './TableAccordionContent'\nimport type { TableAccordionContentProps } from './TableAccordionContent'\n\nexport function useTableAccordion({\n children,\n className,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n}) {\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let content = React.Children.toArray(children)\n\n if (!tableContext?.allProps?.accordion) {\n return null\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = content.find((element: React.ReactElement) => {\n return element.type === TableAccordionContent\n }) as React.ReactElement<TableAccordionContentProps>\n const hasAccordionContent = React.isValidElement(accordionContent)\n const countTds = hasAccordionContent\n ? children.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length + 1 // +1 because we push the TableAccordionToggleButton\n : null\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n content = content.filter((element) => {\n const hasContent =\n (element as React.ReactElement<TableTrProps>).type ===\n TableAccordionContent\n return !hasContent\n })\n\n const tdElem = <TableTdAccordionIcon key=\"td-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(tdElem)\n } else {\n content.unshift(tdElem)\n }\n } else if (tableContext?.allProps?.accordion) {\n const isTh = content.some((element) => {\n return (element as React.ReactElement<TableTrProps>).type === Th\n })\n\n if (isTh) {\n const thElem = <TableThAccordionIcon key=\"th-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(thElem)\n } else {\n content.unshift(thElem)\n }\n }\n }\n\n return (\n <TrContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {content}\n </tr>\n {accordionContent}\n </TrContext.Provider>\n )\n\n function onKeydownHandler(event: KeyboardEvent) {\n switch (keycode(event)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(event: MouseEvent) {\n const target = event.target as HTMLElement\n if (\n /**\n * Interactive elements to set activeElement on mouseDown,\n * we we can check agains it.\n */\n document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n /**\n * Let the user select text,\n * without triggering the accrodion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const trContext = React.useContext(TrContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(trContext?.trIsOpen)}\n on_click={trContext?.toggleOpenTr}\n />\n </span>\n )\n}\n\nfunction TableThAccordionIcon() {\n const tableContext = React.useContext(TableContext)\n return (\n <Th aria-hidden className=\"dnb-table__th__accordion-icon\">\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n}\n\nfunction TableTdAccordionIcon() {\n return (\n <Td className=\"dnb-table__td__accordion-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableAccordion.js","names":["_react","_interopRequireDefault","require","_classnames","_Button","_IconPrimary","_TableTh","_TableTd","_TableContext","_keycode","_helpers","_TableAccordionContent","_interopRequireWildcard","_TableTdAccordionIcon","_TableThAccordionIcon","_Td","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","useTableAccordion","_ref","_tableContext$allProp","_tableContext$allProp2","children","className","props","expanded","disabled","noAnimation","onClick","onOpened","onClosed","tableContext","React","useContext","TableContext","trIsOpen","setOpen","useState","location","id","hash","trIsHover","setHover","trHadClick","setHadClick","content","Children","toArray","allProps","accordion","accordionContent","find","element","type","TableAccordionContent","hasAccordionContent","isValidElement","countTds","filter","Td","trParams","toggleOpenTr","onMouseEnter","onMouseEnterHandler","onMouseLeave","onMouseLeaveHandler","onKeyDown","onKeydownHandler","hasContent","tdElem","createElement","TableTdAccordionIcon","accordionChevronPlacement","push","unshift","isTh","some","Th","thElem","TableThAccordionIcon","TrContext","Provider","value","tabIndex","undefined","classnames","event","keycode","document","activeElement","tagName","preventDefault","hasSelectedText","TableAccordionToggleButton","_React$useContext","trContext","iconSize","size","icon","accordionToggleButtonSR","Boolean","on_click","_tableContext$allProp3"],"sources":["../../../../src/components/table/TableAccordion.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Button from '../button/Button'\nimport IconPrimary from '../icon/IconPrimary'\nimport Th from './TableTh'\nimport Td from './TableTd'\nimport TableContext from './TableContext'\nimport keycode from 'keycode'\nimport { hasSelectedText } from '../../shared/helpers'\nimport { TableTrProps } from './TableTr'\n\nimport TableAccordionContent, { TrContext } from './TableAccordionContent'\nimport type { TableAccordionContentProps } from './TableAccordionContent'\n\nexport function useTableAccordion({\n children,\n className,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n}) {\n const tableContext = React.useContext(TableContext)\n\n const [trIsOpen, setOpen] = React.useState(() => {\n if (typeof expanded === 'boolean') {\n return expanded\n } else if (typeof location !== 'undefined') {\n const id = props?.id\n if (id && '#' + id === location.hash) {\n return true\n }\n }\n\n return false\n })\n const [trIsHover, setHover] = React.useState(false)\n const [trHadClick, setHadClick] = React.useState(false)\n\n let content = React.Children.toArray(children)\n\n if (!tableContext?.allProps?.accordion) {\n return null\n }\n\n /**\n * Handle Accordion Content\n */\n const accordionContent = content.find((element: React.ReactElement) => {\n return element.type === TableAccordionContent\n }) as React.ReactElement<TableAccordionContentProps>\n const hasAccordionContent = React.isValidElement(accordionContent)\n const countTds = hasAccordionContent\n ? children.filter((element: React.ReactElement) => {\n return element.type === Td // TODO: We may need to include this in future --> || component.type === Td.MainCell\n }).length + 1 // +1 because we push the TableAccordionToggleButton\n : null\n\n const trParams =\n !disabled && hasAccordionContent\n ? {\n onClick: toggleOpenTr,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeydownHandler,\n }\n : {}\n\n if (hasAccordionContent) {\n // Remove the AccordionContent, and use it outside of the tr\n content = content.filter((element) => {\n const hasContent =\n (element as React.ReactElement<TableTrProps>).type ===\n TableAccordionContent\n return !hasContent\n })\n\n const tdElem = <TableTdAccordionIcon key=\"td-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(tdElem)\n } else {\n content.unshift(tdElem)\n }\n } else if (tableContext?.allProps?.accordion) {\n const isTh = content.some((element) => {\n return (element as React.ReactElement<TableTrProps>).type === Th\n })\n\n if (isTh) {\n const thElem = <TableThAccordionIcon key=\"th-icon\" />\n\n if (tableContext.allProps.accordionChevronPlacement === 'end') {\n content.push(thElem)\n } else {\n content.unshift(thElem)\n }\n }\n }\n\n return (\n <TrContext.Provider\n value={{\n toggleOpenTr,\n trIsOpen,\n noAnimation,\n countTds,\n hasAccordionContent,\n onOpened,\n onClosed,\n }}\n >\n <tr\n tabIndex={accordionContent && !disabled ? 0 : undefined}\n className={classnames(\n className,\n hasAccordionContent && 'dnb-table__tr--has-accordion-content',\n trIsOpen && 'dnb-table__tr--expanded',\n disabled && 'dnb-table__tr--disabled',\n noAnimation && 'dnb-table__tr--no-animation',\n trIsHover && trHadClick && 'dnb-table__tr--hover'\n )}\n {...trParams}\n {...props}\n >\n {content}\n </tr>\n {accordionContent}\n </TrContext.Provider>\n )\n\n function onKeydownHandler(event: KeyboardEvent) {\n switch (keycode(event)) {\n case 'space':\n case 'enter':\n {\n const target = event.target as HTMLElement\n if (\n document.activeElement !== target ||\n target.tagName === 'TR'\n ) {\n setOpen(!trIsOpen)\n event.preventDefault()\n }\n }\n break\n }\n }\n function onMouseEnterHandler() {\n setHover(true)\n }\n function onMouseLeaveHandler() {\n setHover(false)\n setHadClick(false)\n }\n function toggleOpenTr(event: MouseEvent) {\n const target = event.target as HTMLElement\n if (\n /**\n * Interactive elements to set activeElement on mouseDown,\n * we we can check against it.\n */\n document.activeElement !== target &&\n /**\n * Safari on macOS needs this extra check:\n *\n * > For example, on macOS systems, elements that aren't text input elements are not typically focusable by default.\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/activeElement\n */\n target.tagName !== 'INPUT' &&\n /**\n * Let the user select text,\n * without triggering the accordion.\n */\n !hasSelectedText()\n ) {\n setOpen(!trIsOpen)\n setHadClick(true)\n\n onClick?.(event)\n }\n }\n}\n\nexport function TableAccordionToggleButton() {\n const trContext = React.useContext(TrContext)\n const allProps = React.useContext(TableContext)?.allProps\n const iconSize =\n allProps.size === 'medium' || allProps.size === 'small'\n ? 'basis'\n : 'medium'\n\n return (\n <span className=\"dnb-table__toggle-button\">\n <IconPrimary icon=\"chevron_down\" size={iconSize} />\n <Button\n className=\"dnb-sr-only\"\n tabIndex={-1}\n aria-label={allProps?.accordionToggleButtonSR}\n aria-expanded={Boolean(trContext?.trIsOpen)}\n on_click={trContext?.toggleOpenTr}\n />\n </span>\n )\n}\n\nfunction TableThAccordionIcon() {\n const tableContext = React.useContext(TableContext)\n return (\n <Th aria-hidden className=\"dnb-table__th__accordion-icon\">\n <div>{tableContext?.allProps?.accordionToggleButtonSR}</div>\n </Th>\n )\n}\n\nfunction TableTdAccordionIcon() {\n return (\n <Td className=\"dnb-table__td__accordion-icon\">\n <TableAccordionToggleButton />\n </Td>\n )\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableTr.js","names":["_react","_interopRequireDefault","require","_classnames","_TableAccordion","_TableContext","_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","Tr","componentProps","variant","noWrap","expanded","disabled","noAnimation","onClick","onOpened","onClosed","children","className","_className","props","currentVariant","useHandleTrVariant","classnames","accordionTr","useTableAccordion","createElement","role","_ref","tableContext","React","useContext","TableContext","countRef","trCountRef","current","increment","count","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","useRef","setRerenderAlias","isMounted","forceRerender"],"sources":["../../../../src/components/table/TableTr.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { useTableAccordion } from './TableAccordion'\nimport { TableTdProps } from './TableTd'\nimport TableContext from './TableContext'\n\nexport type TableTrProps = {\n /**\n * The variant of the tr\n */\n variant?: 'even' | 'odd'\n\n /**\n * If set to true, the inherited header text will not wrap to new lines\n * Default: false\n */\n noWrap?: boolean\n\n /**\n * Set true to render the tr initially as expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n expanded?: boolean\n\n /**\n * Set true to disable the tr to be accessible as an interactive element\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n disabled?: boolean\n\n /**\n * Set to true to skip animation\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Will emit when user clicks/expands the table row\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClick?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onOpened?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is closed (after it was open)\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClosed?: (event?: React.SyntheticEvent) => void\n\n /**\n * The content of the component.\n */\n children:\n | React.ReactElement<TableTdProps>\n | Array<React.ReactElement<TableTdProps>>\n}\n\nexport default function Tr(\n componentProps: TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n variant,\n noWrap,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n children,\n className: _className,\n ...props\n } = componentProps\n\n const { currentVariant } = useHandleTrVariant({ variant })\n\n const className = classnames(\n 'dnb-table__tr',\n currentVariant && `dnb-table__tr--${currentVariant}`,\n noWrap && 'dnb-table--no-wrap',\n _className\n )\n\n const accordionTr = useTableAccordion({\n className,\n children,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n })\n\n if (accordionTr) {\n return accordionTr\n }\n\n return (\n <tr role=\"row\" className={className} {...props}>\n {children}\n </tr>\n )\n}\n\nfunction useHandleTrVariant({ variant }) {\n const tableContext = React.useContext(TableContext)\n\n /**\n * Handle odd/even\n */\n const countRef = tableContext?.trCountRef.current\n const increment = () => {\n if (typeof countRef === 'undefined') {\n return 0\n }\n if (\n !variant ||\n (variant === 'even' && countRef.count % 2 === 1) ||\n (variant === 'odd' && countRef.count % 2 === 0)\n ) {\n countRef.count++\n }\n\n return countRef.count\n }\n\n const [count, setCount] = React.useState(() => {\n // SSR Support\n if (typeof window === 'undefined') {\n return increment()\n }\n })\n\n // StrictMode support\n React.useEffect(() => {\n // SSR will not execute useEffect\n setCount(increment())\n }, [tableContext?.rerenderAlias]) // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Find out the current odd/even when \"accordionContent\" is used.\n * Because we have now an additional \"tr\" element.\n * Then the CSS can't figure out the correct nth element (nth-of-type)\n * and we need to set it manually (nth-child and nth-of-type do not respect classes, so we can't ignore this one).\n */\n let currentVariant = variant\n if (!currentVariant) {\n currentVariant = count % 2 ? 'odd' : 'even'\n }\n\n return {\n currentVariant,\n }\n}\n\n/**\n * Handle odd/even on re-render and React.StrictMode\n */\nexport function useHandleOddEven({ children }) {\n // Create this ref in order to \"auto\" set even/odd class in tr elements\n const trCountRef = React.useRef({ count: 0 })\n\n // When the alias changes, all tr's will rerender and get a new even/odd color\n // This is usefull, when one tr gets removed\n const [rerenderAlias, setRerenderAlias] = React.useState({}) // eslint-disable-line no-unused-vars\n\n const isMounted = React.useRef(false)\n React.useEffect(() => {\n if (isMounted.current) {\n forceRerender()\n }\n isMounted.current = true\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return { trCountRef, rerenderAlias, setRerenderAlias }\n\n function forceRerender() {\n trCountRef.current.count = 0\n setRerenderAlias({})\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAyC,MAAAI,SAAA;AAAA,SAAAL,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,yBAAAN,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,GAAAY,6BAAA,CAAAR,MAAA,EAAAO,QAAA,OAAAN,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAgB,qBAAA,QAAAC,gBAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAT,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAa,gBAAA,CAAAX,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAS,gBAAA,CAAAb,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAAU,oBAAA,CAAAR,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAAY,8BAAAR,MAAA,EAAAO,QAAA,QAAAP,MAAA,yBAAAJ,MAAA,WAAAiB,UAAA,GAAApB,MAAA,CAAAqB,IAAA,CAAAd,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgB,UAAA,CAAAd,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAY,UAAA,CAAAhB,CAAA,OAAAU,QAAA,CAAAI,OAAA,CAAAV,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AA6D1B,SAASmB,EAAEA,CACxBC,cACgD,EAChD;EACA,MAAM;MACJC,OAAO;MACPC,MAAM;MACNC,QAAQ;MACRC,QAAQ;MACRC,WAAW;MACXC,OAAO;MACPC,QAAQ;MACRC,QAAQ;MACRC,QAAQ;MACRC,SAAS,EAAEC;IAEb,CAAC,GAAGX,cAAc;IADbY,KAAK,GAAAtB,wBAAA,CACNU,cAAc,EAAA5B,SAAA;EAElB,MAAM;IAAEyC;EAAe,CAAC,GAAGC,kBAAkB,CAAC;IAAEb;EAAQ,CAAC,CAAC;EAE1D,MAAMS,SAAS,GAAG,IAAAK,mBAAU,EAC1B,eAAe,EAGfJ,UAAU,EAFVE,cAAc,IAAK,kBAAiBA,cAAe,EAAC,EACpDX,MAAM,IAAI,oBAEZ,CAAC;EAED,MAAMc,WAAW,GAAG,IAAAC,iCAAiB,EAAC;IACpCP,SAAS;IACTD,QAAQ;IACRG,KAAK;IACLT,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,QAAQ;IACRC;EACF,CAAC,CAAC;EAEF,IAAIQ,WAAW,EAAE;IACf,OAAOA,WAAW;EACpB;EAEA,OACElD,MAAA,CAAAS,OAAA,CAAA2C,aAAA,OAAA1C,QAAA;IAAI2C,IAAI,EAAC,KAAK;IAACT,SAAS,EAAEA;EAAU,GAAKE,KAAK,GAC3CH,QACC,CAAC;AAET;AAEA,SAASK,kBAAkBA,CAAAM,IAAA,EAAc;EAAA,IAAb;IAAEnB;EAAQ,CAAC,GAAAmB,IAAA;EACrC,MAAMC,YAAY,GAAGC,cAAK,CAACC,UAAU,CAACC,qBAAY,CAAC;EAKnD,MAAMC,QAAQ,GAAGJ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEK,UAAU,CAACC,OAAO;EACjD,MAAMC,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,OAAOH,QAAQ,KAAK,WAAW,EAAE;MACnC,OAAO,CAAC;IACV;IACA,IACE,CAACxB,OAAO,IACPA,OAAO,KAAK,MAAM,IAAIwB,QAAQ,CAACI,KAAK,GAAG,CAAC,KAAK,CAAE,IAC/C5B,OAAO,KAAK,KAAK,IAAIwB,QAAQ,CAACI,KAAK,GAAG,CAAC,KAAK,CAAE,EAC/C;MACAJ,QAAQ,CAACI,KAAK,EAAE;IAClB;IAEA,OAAOJ,QAAQ,CAACI,KAAK;EACvB,CAAC;EAED,MAAM,CAACA,KAAK,EAAEC,QAAQ,CAAC,GAAGR,cAAK,CAACS,QAAQ,CAAC,MAAM;IAE7C,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;MACjC,OAAOJ,SAAS,CAAC,CAAC;IACpB;EACF,CAAC,CAAC;EAGFN,cAAK,CAACW,SAAS,CAAC,MAAM;IAEpBH,QAAQ,CAACF,SAAS,CAAC,CAAC,CAAC;EACvB,CAAC,EAAE,CAACP,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEa,aAAa,CAAC,CAAC;EAQjC,IAAIrB,cAAc,GAAGZ,OAAO;EAC5B,IAAI,CAACY,cAAc,EAAE;IACnBA,cAAc,GAAGgB,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM;EAC7C;EAEA,OAAO;IACLhB;EACF,CAAC;AACH;AAKO,SAASsB,gBAAgBA,CAAAC,KAAA,EAAe;EAAA,IAAd;IAAE3B;EAAS,CAAC,GAAA2B,KAAA;EAE3C,MAAMV,UAAU,GAAGJ,cAAK,CAACe,MAAM,CAAC;IAAER,KAAK,EAAE;EAAE,CAAC,CAAC;EAI7C,MAAM,CAACK,aAAa,EAAEI,gBAAgB,CAAC,GAAGhB,cAAK,CAACS,QAAQ,CAAC,CAAC,CAAC,CAAC;EAE5D,MAAMQ,SAAS,GAAGjB,cAAK,CAACe,MAAM,CAAC,KAAK,CAAC;EACrCf,cAAK,CAACW,SAAS,CAAC,MAAM;IACpB,IAAIM,SAAS,CAACZ,OAAO,EAAE;MACrBa,aAAa,CAAC,CAAC;IACjB;IACAD,SAAS,CAACZ,OAAO,GAAG,IAAI;EAC1B,CAAC,EAAE,CAAClB,QAAQ,CAAC,CAAC;EAEd,OAAO;IAAEiB,UAAU;IAAEQ,aAAa;IAAEI;EAAiB,CAAC;EAEtD,SAASE,aAAaA,CAAA,EAAG;IACvBd,UAAU,CAACC,OAAO,CAACE,KAAK,GAAG,CAAC;IAC5BS,gBAAgB,CAAC,CAAC,CAAC,CAAC;EACtB;AACF"}
1
+ {"version":3,"file":"TableTr.js","names":["_react","_interopRequireDefault","require","_classnames","_TableAccordion","_TableContext","_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","Tr","componentProps","variant","noWrap","expanded","disabled","noAnimation","onClick","onOpened","onClosed","children","className","_className","props","currentVariant","useHandleTrVariant","classnames","accordionTr","useTableAccordion","createElement","role","_ref","tableContext","React","useContext","TableContext","countRef","trCountRef","current","increment","count","setCount","useState","window","useEffect","rerenderAlias","useHandleOddEven","_ref2","useRef","setRerenderAlias","isMounted","forceRerender"],"sources":["../../../../src/components/table/TableTr.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport { useTableAccordion } from './TableAccordion'\nimport { TableTdProps } from './TableTd'\nimport TableContext from './TableContext'\n\nexport type TableTrProps = {\n /**\n * The variant of the tr\n */\n variant?: 'even' | 'odd'\n\n /**\n * If set to true, the inherited header text will not wrap to new lines\n * Default: false\n */\n noWrap?: boolean\n\n /**\n * Set true to render the tr initially as expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n expanded?: boolean\n\n /**\n * Set true to disable the tr to be accessible as an interactive element\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n disabled?: boolean\n\n /**\n * Set to true to skip animation\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n * Default: false\n */\n noAnimation?: boolean\n\n /**\n * Will emit when user clicks/expands the table row\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClick?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is expanded\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onOpened?: (event?: React.SyntheticEvent) => void\n\n /**\n * Will emit when table row is closed (after it was open)\n * Is part of the accordion feature and needs to be enabled with `accordion` prop in main Table\n */\n onClosed?: (event?: React.SyntheticEvent) => void\n\n /**\n * The content of the component.\n */\n children:\n | React.ReactElement<TableTdProps>\n | Array<React.ReactElement<TableTdProps>>\n}\n\nexport default function Tr(\n componentProps: TableTrProps &\n React.TableHTMLAttributes<HTMLTableRowElement>\n) {\n const {\n variant,\n noWrap,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n children,\n className: _className,\n ...props\n } = componentProps\n\n const { currentVariant } = useHandleTrVariant({ variant })\n\n const className = classnames(\n 'dnb-table__tr',\n currentVariant && `dnb-table__tr--${currentVariant}`,\n noWrap && 'dnb-table--no-wrap',\n _className\n )\n\n const accordionTr = useTableAccordion({\n className,\n children,\n props,\n expanded,\n disabled,\n noAnimation,\n onClick,\n onOpened,\n onClosed,\n })\n\n if (accordionTr) {\n return accordionTr\n }\n\n return (\n <tr role=\"row\" className={className} {...props}>\n {children}\n </tr>\n )\n}\n\nfunction useHandleTrVariant({ variant }) {\n const tableContext = React.useContext(TableContext)\n\n /**\n * Handle odd/even\n */\n const countRef = tableContext?.trCountRef.current\n const increment = () => {\n if (typeof countRef === 'undefined') {\n return 0\n }\n if (\n !variant ||\n (variant === 'even' && countRef.count % 2 === 1) ||\n (variant === 'odd' && countRef.count % 2 === 0)\n ) {\n countRef.count++\n }\n\n return countRef.count\n }\n\n const [count, setCount] = React.useState(() => {\n // SSR Support\n if (typeof window === 'undefined') {\n return increment()\n }\n })\n\n // StrictMode support\n React.useEffect(() => {\n // SSR will not execute useEffect\n setCount(increment())\n }, [tableContext?.rerenderAlias]) // eslint-disable-line react-hooks/exhaustive-deps\n\n /**\n * Find out the current odd/even when \"accordionContent\" is used.\n * Because we have now an additional \"tr\" element.\n * Then the CSS can't figure out the correct nth element (nth-of-type)\n * and we need to set it manually (nth-child and nth-of-type do not respect classes, so we can't ignore this one).\n */\n let currentVariant = variant\n if (!currentVariant) {\n currentVariant = count % 2 ? 'odd' : 'even'\n }\n\n return {\n currentVariant,\n }\n}\n\n/**\n * Handle odd/even on re-render and React.StrictMode\n */\nexport function useHandleOddEven({ children }) {\n // Create this ref in order to \"auto\" set even/odd class in tr elements\n const trCountRef = React.useRef({ count: 0 })\n\n // When the alias changes, all tr's will rerender and get a new even/odd color\n // This is useful, when one tr gets removed\n const [rerenderAlias, setRerenderAlias] = React.useState({}) // eslint-disable-line no-unused-vars\n\n const isMounted = React.useRef(false)\n React.useEffect(() => {\n if (isMounted.current) {\n forceRerender()\n }\n isMounted.current = true\n }, [children]) // eslint-disable-line react-hooks/exhaustive-deps\n\n return { trCountRef, rerenderAlias, setRerenderAlias }\n\n function forceRerender() {\n trCountRef.current.count = 0\n setRerenderAlias({})\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_FormLabel","_FormStatus","_componentHelper","_FormRowHelpers","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_Context","_Suffix","_AlignmentHelper","_span","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Textarea","React","PureComponent","getDerivedStateFromProps","props","state","getValue","_listenForPropChanges","_value","on_state_update","dispatchCustomElementEvent","textarea_state","textareaState","hasValue","processChildren","constructor","_this","this","event","_ref","current","setState","isTrue","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","warn","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","inner_ref","createRef","_id","id","makeUniqueId","componentDidMount","window","resizeObserver","ResizeObserver","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","render","_this$context","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","getTranslation","includeValidProps","FormRow","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","align","textarea_class","readOnly","textarea_attributes","class","_className","className","children","textarea_element","_textarea_element","attributes","showStatus","getStatusState","TextareaElement","textareaAttributes","JSON","parse","textareaParams","classnames","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","combineDescribedBy","mainParams","createSkeletonClass","createSpacingClasses","innerParams","shellParams","placeholderStyle","skeletonDOMAttributes","validateDOMAttributes","createElement","for_id","text","sr_only","show","text_id","no_animation","ref","exports","Context","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","func","node","oneOf","bool","shape","message","number","spacingPropTypes"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.string,\n align: PropTypes.oneOf(['left', 'right']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n class: PropTypes.string,\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n align: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n textarea_class: null,\n class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n state._listenForPropChanges &&\n value !== 'initval' &&\n value !== state.value\n ) {\n if (\n value !== state.value &&\n value !== state._value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._listenForPropChanges = true\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n // make sure we don't trigger getDerivedStateFromProps on startup\n this.state._listenForPropChanges = true\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n this.state._value = props.value\n }\n componentDidMount() {\n if (isTrue(this.props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver(this.setAutosize)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n if (isTrue(this.props.autoresize)) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value, _listenForPropChanges: false })\n if (isTrue(this.props.autoresize)) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const maxRows = parseFloat(this.props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n includeValidProps(this.context.FormRow),\n this.context.Textarea\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n align,\n textarea_class,\n readOnly,\n textarea_attributes,\n class: _className,\n className,\n\n autoresize,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames('dnb-textarea__textarea', textarea_class),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may considder using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(this.props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(this.props.rows),\n // '--textarea-cols': parseFloat(this.props.cols)\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {placeholder && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_FormLabel","_FormStatus","_componentHelper","_FormRowHelpers","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_Context","_Suffix","_AlignmentHelper","_span","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Textarea","React","PureComponent","getDerivedStateFromProps","props","state","getValue","_listenForPropChanges","_value","on_state_update","dispatchCustomElementEvent","textarea_state","textareaState","hasValue","processChildren","constructor","_this","this","event","_ref","current","setState","isTrue","autoresize","prepareAutosize","rows","getRows","ret","setAutosize","elem","style","height","e","warn","_heightOffset","offsetHeight","clientHeight","lineHeight","getLineHeight","newHeight","scrollHeight","maxRows","parseFloat","autoresize_max_rows","maxHeight","inner_ref","createRef","_id","id","makeUniqueId","componentDidMount","window","resizeObserver","ResizeObserver","observe","document","body","addEventListener","componentWillUnmount","disconnect","removeEventListener","Math","floor","getComputedStyle","render","_this$context","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","getTranslation","includeValidProps","FormRow","label","label_direction","label_sr_only","status","status_state","status_props","status_no_animation","globalStatus","suffix","disabled","stretch","placeholder","align","textarea_class","readOnly","textarea_attributes","class","_className","className","children","textarea_element","_textarea_element","attributes","showStatus","getStatusState","TextareaElement","textareaAttributes","JSON","parse","textareaParams","classnames","role","name","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","onKeyDown","onKeyDownHandler","combineDescribedBy","mainParams","createSkeletonClass","createSpacingClasses","innerParams","shellParams","placeholderStyle","skeletonDOMAttributes","validateDOMAttributes","createElement","for_id","text","sr_only","show","text_id","no_animation","ref","exports","Context","cols","on_change","on_focus","on_blur","on_key_down","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","func","node","oneOf","bool","shape","message","number","spacingPropTypes"],"sources":["../../../../src/components/textarea/Textarea.js"],"sourcesContent":["/**\n * Web Textarea Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n combineDescribedBy,\n warn,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The textarea component is an umbrella component for all textareas which share the same style as the classic `text` textarea field.\n */\nexport default class Textarea extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n value: PropTypes.string,\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n textarea_state: PropTypes.string,\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n placeholder: PropTypes.string,\n align: PropTypes.oneOf(['left', 'right']),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n autoresize_max_rows: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n class: PropTypes.string,\n textarea_class: PropTypes.string,\n textarea_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n cols: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n textarea_element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.node,\n ]),\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_key_down: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n textarea_state: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n placeholder: null,\n align: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n autoresize: null,\n autoresize_max_rows: null,\n textarea_class: null,\n class: null,\n textarea_attributes: null,\n readOnly: false,\n rows: null,\n cols: null,\n inner_ref: null,\n\n className: null,\n textarea_element: null,\n children: null,\n\n on_change: null,\n on_focus: null,\n on_blur: null,\n on_key_down: null,\n on_state_update: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Textarea.getValue(props)\n if (\n state._listenForPropChanges &&\n value !== 'initval' &&\n value !== state.value\n ) {\n if (\n value !== state.value &&\n value !== state._value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.textarea_state) {\n state.textareaState = props.textarea_state\n }\n state._listenForPropChanges = true\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Textarea.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = {\n textareaState: 'virgin',\n value: null,\n _value: null,\n }\n\n constructor(props) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n // make sure we don't trigger getDerivedStateFromProps on startup\n this.state._listenForPropChanges = true\n if (props.textarea_state) {\n this.state.textareaState = props.textarea_state\n }\n this.state._value = props.value\n }\n componentDidMount() {\n if (isTrue(this.props.autoresize) && typeof window !== 'undefined') {\n this.setAutosize()\n try {\n this.resizeObserver = new ResizeObserver(this.setAutosize)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setAutosize)\n }\n }\n }\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n if (typeof window !== 'undefined') {\n window.removeEventListener('resize', this.setAutosize)\n }\n }\n onFocusHandler = (event) => {\n const { value } = this._ref.current\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n this.setState({\n value,\n _listenForPropChanges: false,\n textareaState: Textarea.hasValue(value) ? 'dirty' : 'initial',\n })\n dispatchCustomElementEvent(this, 'on_blur', { value, event })\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n\n if (isTrue(this.props.autoresize)) {\n this.prepareAutosize()\n }\n\n const rows = this.getRows(value)\n\n const ret = dispatchCustomElementEvent(this, 'on_change', {\n value,\n rows,\n event,\n })\n if (ret !== false) {\n this.setState({ value, _listenForPropChanges: false })\n if (isTrue(this.props.autoresize)) {\n this.setAutosize(rows)\n }\n }\n }\n onKeyDownHandler = (event) => {\n const rows = this.getRows()\n const { value } = event.target\n dispatchCustomElementEvent(this, 'on_key_down', {\n value,\n rows,\n event,\n })\n }\n prepareAutosize = () => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n elem.style.height = 'auto'\n } catch (e) {\n warn(e)\n }\n }\n setAutosize = (rows = null) => {\n const elem = this._ref.current\n if (!elem) {\n return // stop here if no element was gotten\n }\n try {\n if (typeof this._heightOffset === 'undefined') {\n this._heightOffset = elem.offsetHeight - elem.clientHeight\n }\n\n elem.style.height = 'auto'\n\n // get rows after we set height to auto, this way we get 100% correct rows\n const lineHeight = this.getLineHeight()\n let newHeight = elem.scrollHeight + this._heightOffset\n if (!rows) {\n rows = this.getRows()\n }\n\n if (rows === 1) {\n if (newHeight > lineHeight) {\n newHeight = lineHeight\n }\n }\n\n const maxRows = parseFloat(this.props.autoresize_max_rows)\n if (maxRows > 0) {\n const maxHeight = maxRows * lineHeight\n\n if (rows > maxRows || newHeight > maxHeight) {\n newHeight = maxHeight\n }\n }\n\n elem.style.height = newHeight + 'px'\n } catch (e) {\n warn(e)\n }\n }\n getRows() {\n return (\n Math.floor(this._ref.current.scrollHeight / this.getLineHeight()) ||\n 1\n )\n }\n getLineHeight() {\n return parseFloat(getComputedStyle(this._ref.current).lineHeight) || 0\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Textarea.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Textarea,\n includeValidProps(this.context.FormRow),\n this.context.Textarea\n )\n\n const {\n label,\n label_direction,\n label_sr_only,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n disabled,\n skeleton,\n stretch,\n placeholder,\n align,\n textarea_class,\n readOnly,\n textarea_attributes,\n class: _className,\n className,\n\n autoresize,\n autoresize_max_rows, //eslint-disable-line\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n textarea_element: _textarea_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n const { value, textareaState } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasValue = Textarea.hasValue(value)\n\n // pass along all props we wish to have as params\n let { textarea_element: TextareaElement } = props\n\n const textareaAttributes = textarea_attributes\n ? typeof textarea_attributes === 'string'\n ? JSON.parse(textarea_attributes)\n : textarea_attributes\n : {}\n\n const textareaParams = {\n className: classnames('dnb-textarea__textarea', textarea_class),\n role: 'textbox',\n value: hasValue ? value : '',\n id,\n disabled: isTrue(disabled) || isTrue(skeleton),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...textareaAttributes,\n onChange: this.onChangeHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n // onPaste: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix) {\n textareaParams['aria-describedby'] = combineDescribedBy(\n textareaParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n textareaParams['aria-readonly'] = textareaParams.readOnly = true\n }\n\n const mainParams = {\n className: classnames(\n 'dnb-textarea',\n `dnb-textarea--${textareaState}`,\n hasValue && 'dnb-textarea--has-content',\n align && `dnb-textarea__align--${align}`,\n status && `dnb-textarea__status--${status_state}`,\n autoresize && 'dnb-textarea__autoresize',\n label_direction && `dnb-textarea--${label_direction}`,\n isTrue(stretch) && `dnb-textarea--stretch`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n const innerParams = {\n className: classnames(\n 'dnb-textarea__inner',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n const shellParams = {\n className: classnames('dnb-textarea__shell'),\n }\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n shellParams['aria-disabled'] = true\n }\n\n // to show the ending dots on a placeholder, if the text is longer\n const placeholderStyle =\n parseFloat(this.props.rows) > 0\n ? {\n '--textarea-rows': parseFloat(this.props.rows),\n // '--textarea-cols': parseFloat(this.props.cols)\n }\n : null\n\n skeletonDOMAttributes(innerParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, textareaParams)\n validateDOMAttributes(null, innerParams)\n validateDOMAttributes(null, shellParams)\n\n if (TextareaElement && typeof TextareaElement === 'function') {\n TextareaElement = TextareaElement(textareaParams, this._ref)\n } else if (!TextareaElement && _textarea_element) {\n TextareaElement = _textarea_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-textarea__row\">\n <span {...shellParams}>\n {TextareaElement || (\n <textarea ref={this._ref} {...textareaParams} />\n )}\n\n {placeholder && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-textarea__placeholder',\n align ? `dnb-textarea__align--${align}` : null\n )}\n style={placeholderStyle}\n >\n {placeholder}\n </span>\n )}\n\n <span className=\"dnb-textarea__state\" />\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-textarea__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,WAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAWA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AAIA,IAAAS,eAAA,GAAAT,OAAA;AAKA,IAAAU,QAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,OAAA,GAAAZ,sBAAA,CAAAC,OAAA;AAAgD,IAAAY,gBAAA,EAAAC,KAAA;AAAA,MAAAC,SAAA;AAAA,SAAAf,uBAAAgB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAhB,MAAA,CAAAgB,IAAA,CAAAF,MAAA,OAAAd,MAAA,CAAAiB,qBAAA,QAAAC,OAAA,GAAAlB,MAAA,CAAAiB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAApB,MAAA,CAAAqB,wBAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAE,UAAA,OAAAN,IAAA,CAAAO,IAAA,CAAAX,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAArB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAS,OAAA,CAAAb,MAAA,CAAAO,MAAA,OAAAkB,OAAA,WAAAjB,GAAA,IAAAkB,eAAA,CAAAvB,MAAA,EAAAK,GAAA,EAAAD,MAAA,CAAAC,GAAA,SAAAR,MAAA,CAAA2B,yBAAA,GAAA3B,MAAA,CAAA4B,gBAAA,CAAAzB,MAAA,EAAAH,MAAA,CAAA2B,yBAAA,CAAApB,MAAA,KAAAM,OAAA,CAAAb,MAAA,CAAAO,MAAA,GAAAkB,OAAA,WAAAjB,GAAA,IAAAR,MAAA,CAAA6B,cAAA,CAAA1B,MAAA,EAAAK,GAAA,EAAAR,MAAA,CAAAqB,wBAAA,CAAAd,MAAA,EAAAC,GAAA,iBAAAL,MAAA;AAAA,SAAA2B,yBAAAvB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,GAAA6B,6BAAA,CAAAzB,MAAA,EAAAwB,QAAA,OAAAvB,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAiB,qBAAA,QAAAgB,gBAAA,GAAAjC,MAAA,CAAAiB,qBAAA,CAAAV,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA6B,gBAAA,CAAA3B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAyB,gBAAA,CAAA7B,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAA0B,oBAAA,CAAAxB,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAA6B,8BAAAzB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,WAAAiC,UAAA,GAAApC,MAAA,CAAAgB,IAAA,CAAAT,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgC,UAAA,CAAA9B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAA4B,UAAA,CAAAhC,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAAA,SAAAuB,gBAAA9B,GAAA,EAAAY,GAAA,EAAA6B,KAAA,IAAA7B,GAAA,GAAA8B,cAAA,CAAA9B,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAA6B,cAAA,CAAAjC,GAAA,EAAAY,GAAA,IAAA6B,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA5C,GAAA,CAAAY,GAAA,IAAA6B,KAAA,WAAAzC,GAAA;AAAA,SAAA0C,eAAAG,GAAA,QAAAjC,GAAA,GAAAkC,YAAA,CAAAD,GAAA,2BAAAjC,GAAA,gBAAAA,GAAA,GAAAmC,MAAA,CAAAnC,GAAA;AAAA,SAAAkC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAnC,IAAA,CAAAiC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAKjC,MAAMS,QAAQ,SAASC,cAAK,CAACC,aAAa,CAAC;EA+GxD,OAAOC,wBAAwBA,CAACC,KAAK,EAAEC,KAAK,EAAE;IAC5C,MAAMrB,KAAK,GAAGgB,QAAQ,CAACM,QAAQ,CAACF,KAAK,CAAC;IACtC,IACEC,KAAK,CAACE,qBAAqB,IAC3BvB,KAAK,KAAK,SAAS,IACnBA,KAAK,KAAKqB,KAAK,CAACrB,KAAK,EACrB;MACA,IACEA,KAAK,KAAKqB,KAAK,CAACrB,KAAK,IACrBA,KAAK,KAAKqB,KAAK,CAACG,MAAM,IACtB,OAAOJ,KAAK,CAACK,eAAe,KAAK,UAAU,EAC3C;QACA,IAAAC,2CAA0B,EAAC;UAAEN;QAAM,CAAC,EAAE,iBAAiB,EAAE;UAAEpB;QAAM,CAAC,CAAC;MACrE;MACAqB,KAAK,CAACrB,KAAK,GAAGA,KAAK;IACrB;IACA,IAAIoB,KAAK,CAACO,cAAc,EAAE;MACxBN,KAAK,CAACO,aAAa,GAAGR,KAAK,CAACO,cAAc;IAC5C;IACAN,KAAK,CAACE,qBAAqB,GAAG,IAAI;IAClC,OAAOF,KAAK;EACd;EAEA,OAAOQ,QAAQA,CAAC7B,KAAK,EAAE;IACrB,OACG,CAAC,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,KACtDM,MAAM,CAACN,KAAK,CAAC,CAAC/B,MAAM,GAAG,CAAC,IAC1B,KAAK;EAET;EAEA,OAAOqD,QAAQA,CAACF,KAAK,EAAE;IACrB,MAAMpB,KAAK,GAAG,IAAA8B,gCAAe,EAACV,KAAK,CAAC;IACpC,IAAIpB,KAAK,KAAK,EAAE,IAAIgB,QAAQ,CAACa,QAAQ,CAAC7B,KAAK,CAAC,EAAE;MAC5C,OAAOA,KAAK;IACd;IACA,OAAOoB,KAAK,CAACpB,KAAK;EACpB;EAQA+B,WAAWA,CAACX,KAAK,EAAE;IAAA,IAAAY,KAAA;IACjB,KAAK,CAACZ,KAAK,CAAC;IAAAY,KAAA,GAAAC,IAAA;IAAA5C,eAAA,gBAPN;MACNuC,aAAa,EAAE,QAAQ;MACvB5B,KAAK,EAAE,IAAI;MACXwB,MAAM,EAAE;IACV,CAAC;IAAAnC,eAAA,yBAmCiB6C,KAAK,IAAK;MAC1B,MAAM;QAAElC;MAAM,CAAC,GAAG,IAAI,CAACmC,IAAI,CAACC,OAAO;MACnC,IAAI,CAACC,QAAQ,CAAC;QACZrC,KAAK;QACLuB,qBAAqB,EAAE,KAAK;QAC5BK,aAAa,EAAE;MACjB,CAAC,CAAC;MACF,IAAAF,2CAA0B,EAAC,IAAI,EAAE,UAAU,EAAE;QAAE1B,KAAK;QAAEkC;MAAM,CAAC,CAAC;IAChE,CAAC;IAAA7C,eAAA,wBACgB6C,KAAK,IAAK;MACzB,MAAM;QAAElC;MAAM,CAAC,GAAGkC,KAAK,CAACpE,MAAM;MAC9B,IAAI,CAACuE,QAAQ,CAAC;QACZrC,KAAK;QACLuB,qBAAqB,EAAE,KAAK;QAC5BK,aAAa,EAAEZ,QAAQ,CAACa,QAAQ,CAAC7B,KAAK,CAAC,GAAG,OAAO,GAAG;MACtD,CAAC,CAAC;MACF,IAAA0B,2CAA0B,EAAC,IAAI,EAAE,SAAS,EAAE;QAAE1B,KAAK;QAAEkC;MAAM,CAAC,CAAC;IAC/D,CAAC;IAAA7C,eAAA,0BACkB6C,KAAK,IAAK;MAC3B,MAAM;QAAElC;MAAM,CAAC,GAAGkC,KAAK,CAACpE,MAAM;MAE9B,IAAI,IAAAwE,uBAAM,EAAC,IAAI,CAAClB,KAAK,CAACmB,UAAU,CAAC,EAAE;QACjC,IAAI,CAACC,eAAe,CAAC,CAAC;MACxB;MAEA,MAAMC,IAAI,GAAG,IAAI,CAACC,OAAO,CAAC1C,KAAK,CAAC;MAEhC,MAAM2C,GAAG,GAAG,IAAAjB,2CAA0B,EAAC,IAAI,EAAE,WAAW,EAAE;QACxD1B,KAAK;QACLyC,IAAI;QACJP;MACF,CAAC,CAAC;MACF,IAAIS,GAAG,KAAK,KAAK,EAAE;QACjB,IAAI,CAACN,QAAQ,CAAC;UAAErC,KAAK;UAAEuB,qBAAqB,EAAE;QAAM,CAAC,CAAC;QACtD,IAAI,IAAAe,uBAAM,EAAC,IAAI,CAAClB,KAAK,CAACmB,UAAU,CAAC,EAAE;UACjC,IAAI,CAACK,WAAW,CAACH,IAAI,CAAC;QACxB;MACF;IACF,CAAC;IAAApD,eAAA,2BACmB6C,KAAK,IAAK;MAC5B,MAAMO,IAAI,GAAG,IAAI,CAACC,OAAO,CAAC,CAAC;MAC3B,MAAM;QAAE1C;MAAM,CAAC,GAAGkC,KAAK,CAACpE,MAAM;MAC9B,IAAA4D,2CAA0B,EAAC,IAAI,EAAE,aAAa,EAAE;QAC9C1B,KAAK;QACLyC,IAAI;QACJP;MACF,CAAC,CAAC;IACJ,CAAC;IAAA7C,eAAA,0BACiB,MAAM;MACtB,MAAMwD,IAAI,GAAG,IAAI,CAACV,IAAI,CAACC,OAAO;MAC9B,IAAI,CAACS,IAAI,EAAE;QACT;MACF;MACA,IAAI;QACFA,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,MAAM;MAC5B,CAAC,CAAC,OAAOC,CAAC,EAAE;QACV,IAAAC,qBAAI,EAACD,CAAC,CAAC;MACT;IACF,CAAC;IAAA3D,eAAA,sBACa,YAAiB;MAAA,IAAhBoD,IAAI,GAAAzE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4C,SAAA,GAAA5C,SAAA,MAAG,IAAI;MACxB,MAAM6E,IAAI,GAAGb,KAAI,CAACG,IAAI,CAACC,OAAO;MAC9B,IAAI,CAACS,IAAI,EAAE;QACT;MACF;MACA,IAAI;QACF,IAAI,OAAOb,KAAI,CAACkB,aAAa,KAAK,WAAW,EAAE;UAC7ClB,KAAI,CAACkB,aAAa,GAAGL,IAAI,CAACM,YAAY,GAAGN,IAAI,CAACO,YAAY;QAC5D;QAEAP,IAAI,CAACC,KAAK,CAACC,MAAM,GAAG,MAAM;QAG1B,MAAMM,UAAU,GAAGrB,KAAI,CAACsB,aAAa,CAAC,CAAC;QACvC,IAAIC,SAAS,GAAGV,IAAI,CAACW,YAAY,GAAGxB,KAAI,CAACkB,aAAa;QACtD,IAAI,CAACT,IAAI,EAAE;UACTA,IAAI,GAAGT,KAAI,CAACU,OAAO,CAAC,CAAC;QACvB;QAEA,IAAID,IAAI,KAAK,CAAC,EAAE;UACd,IAAIc,SAAS,GAAGF,UAAU,EAAE;YAC1BE,SAAS,GAAGF,UAAU;UACxB;QACF;QAEA,MAAMI,OAAO,GAAGC,UAAU,CAAC1B,KAAI,CAACZ,KAAK,CAACuC,mBAAmB,CAAC;QAC1D,IAAIF,OAAO,GAAG,CAAC,EAAE;UACf,MAAMG,SAAS,GAAGH,OAAO,GAAGJ,UAAU;UAEtC,IAAIZ,IAAI,GAAGgB,OAAO,IAAIF,SAAS,GAAGK,SAAS,EAAE;YAC3CL,SAAS,GAAGK,SAAS;UACvB;QACF;QAEAf,IAAI,CAACC,KAAK,CAACC,MAAM,GAAGQ,SAAS,GAAG,IAAI;MACtC,CAAC,CAAC,OAAOP,CAAC,EAAE;QACV,IAAAC,qBAAI,EAACD,CAAC,CAAC;MACT;IACF,CAAC;IA/HC,IAAI,CAACb,IAAI,GAAGf,KAAK,CAACyC,SAAS,IAAI5C,cAAK,CAAC6C,SAAS,CAAC,CAAC;IAChD,IAAI,CAACC,GAAG,GAAG3C,KAAK,CAAC4C,EAAE,IAAI,IAAAC,6BAAY,EAAC,CAAC;IAGrC,IAAI,CAAC5C,KAAK,CAACE,qBAAqB,GAAG,IAAI;IACvC,IAAIH,KAAK,CAACO,cAAc,EAAE;MACxB,IAAI,CAACN,KAAK,CAACO,aAAa,GAAGR,KAAK,CAACO,cAAc;IACjD;IACA,IAAI,CAACN,KAAK,CAACG,MAAM,GAAGJ,KAAK,CAACpB,KAAK;EACjC;EACAkE,iBAAiBA,CAAA,EAAG;IAClB,IAAI,IAAA5B,uBAAM,EAAC,IAAI,CAAClB,KAAK,CAACmB,UAAU,CAAC,IAAI,OAAO4B,MAAM,KAAK,WAAW,EAAE;MAClE,IAAI,CAACvB,WAAW,CAAC,CAAC;MAClB,IAAI;QACF,IAAI,CAACwB,cAAc,GAAG,IAAIC,cAAc,CAAC,IAAI,CAACzB,WAAW,CAAC;QAC1D,IAAI,CAACwB,cAAc,CAACE,OAAO,CAACC,QAAQ,CAACC,IAAI,CAAC;MAC5C,CAAC,CAAC,OAAOxB,CAAC,EAAE;QACVmB,MAAM,CAACM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC7B,WAAW,CAAC;MACrD;IACF;EACF;EACA8B,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACN,cAAc,EAAE;MACvB,IAAI,CAACA,cAAc,CAACO,UAAU,CAAC,CAAC;MAChC,IAAI,CAACP,cAAc,GAAG,IAAI;IAC5B;IACA,IAAI,OAAOD,MAAM,KAAK,WAAW,EAAE;MACjCA,MAAM,CAACS,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAChC,WAAW,CAAC;IACxD;EACF;EAmGAF,OAAOA,CAAA,EAAG;IACR,OACEmC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC3C,IAAI,CAACC,OAAO,CAACoB,YAAY,GAAG,IAAI,CAACF,aAAa,CAAC,CAAC,CAAC,IACjE,CAAC;EAEL;EACAA,aAAaA,CAAA,EAAG;IACd,OAAOI,UAAU,CAACqB,gBAAgB,CAAC,IAAI,CAAC5C,IAAI,CAACC,OAAO,CAAC,CAACiB,UAAU,CAAC,IAAI,CAAC;EACxE;EACA2B,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA;IAEP,MAAM7D,KAAK,GAAG,IAAA8D,uDAAsC,EAClD,IAAI,CAAC9D,KAAK,EACVJ,QAAQ,CAACmE,YAAY,EACrB;MAAEC,QAAQ,GAAAH,aAAA,GAAE,IAAI,CAACI,OAAO,cAAAJ,aAAA,uBAAZA,aAAA,CAAcG;IAAS,CAAC,EACpC,IAAI,CAACC,OAAO,CAACC,cAAc,CAAC,IAAI,CAAClE,KAAK,CAAC,CAACJ,QAAQ,EAChD,IAAAuE,iCAAiB,EAAC,IAAI,CAACF,OAAO,CAACG,OAAO,CAAC,EACvC,IAAI,CAACH,OAAO,CAACrE,QACf,CAAC;IAED,MAAM;QACJyE,KAAK;QACLC,eAAe;QACfC,aAAa;QACbC,MAAM;QACNC,YAAY;QACZC,YAAY;QACZC,mBAAmB;QACnBC,YAAY;QACZC,MAAM;QACNC,QAAQ;QACRd,QAAQ;QACRe,OAAO;QACPC,WAAW;QACXC,KAAK;QACLC,cAAc;QACdC,QAAQ;QACRC,mBAAmB;QACnBC,KAAK,EAAEC,UAAU;QACjBC,SAAS;QAETpE,UAAU;QACVoB,mBAAmB;QACnBK,EAAE,EAAED,GAAG;QACP6C,QAAQ;QACR5G,KAAK,EAAEwB,MAAM;QACbqF,gBAAgB,EAAEC;MAGpB,CAAC,GAAG1F,KAAK;MADJ2F,UAAU,GAAAtH,wBAAA,CACX2B,KAAK,EAAA9D,SAAA;IAET,MAAM;MAAE0C,KAAK;MAAE4B;IAAc,CAAC,GAAG,IAAI,CAACP,KAAK;IAE3C,MAAM2C,EAAE,GAAG,IAAI,CAACD,GAAG;IACnB,MAAMiD,UAAU,GAAG,IAAAC,+BAAc,EAACrB,MAAM,CAAC;IACzC,MAAM/D,QAAQ,GAAGb,QAAQ,CAACa,QAAQ,CAAC7B,KAAK,CAAC;IAGzC,IAAI;MAAE6G,gBAAgB,EAAEK;IAAgB,CAAC,GAAG9F,KAAK;IAEjD,MAAM+F,kBAAkB,GAAGX,mBAAmB,GAC1C,OAAOA,mBAAmB,KAAK,QAAQ,GACrCY,IAAI,CAACC,KAAK,CAACb,mBAAmB,CAAC,GAC/BA,mBAAmB,GACrB,CAAC,CAAC;IAEN,MAAMc,cAAc,GAAAnI,aAAA,CAAAA,aAAA,CAAAA,aAAA;MAClBwH,SAAS,EAAE,IAAAY,mBAAU,EAAC,wBAAwB,EAAEjB,cAAc,CAAC;MAC/DkB,IAAI,EAAE,SAAS;MACfxH,KAAK,EAAE6B,QAAQ,GAAG7B,KAAK,GAAG,EAAE;MAC5BgE,EAAE;MACFkC,QAAQ,EAAE,IAAA5D,uBAAM,EAAC4D,QAAQ,CAAC,IAAI,IAAA5D,uBAAM,EAAC8C,QAAQ,CAAC;MAC9CqC,IAAI,EAAEzD,EAAE;MACR,kBAAkB,EAAEoC;IAAW,GAC5BW,UAAU,GACVI,kBAAkB;MACrBO,QAAQ,EAAE,IAAI,CAACC,eAAe;MAC9BC,OAAO,EAAE,IAAI,CAACC,cAAc;MAC5BC,MAAM,EAAE,IAAI,CAACC,aAAa;MAE1BC,SAAS,EAAE,IAAI,CAACC;IAAgB,EACjC;IAGD,IAAIjB,UAAU,IAAIf,MAAM,EAAE;MACxBqB,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAAY,mCAAkB,EACrDZ,cAAc,EACdN,UAAU,GAAGhD,EAAE,GAAG,SAAS,GAAG,IAAI,EAClCiC,MAAM,GAAGjC,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;IACH;IACA,IAAIuC,QAAQ,EAAE;MACZe,cAAc,CAAC,eAAe,CAAC,GAAGA,cAAc,CAACf,QAAQ,GAAG,IAAI;IAClE;IAEA,MAAM4B,UAAU,GAAG;MACjBxB,SAAS,EAAE,IAAAY,mBAAU,gCAEF3F,aAAa,uBAQ9B,IAAAwG,mCAAmB,EAAC,IAAI,EAAEhD,QAAQ,CAAC,EACnC,IAAAiD,mCAAoB,EAACjH,KAAK,CAAC,EAC3BsF,UAAU,EACVC,SAAS,EAVT9E,QAAQ,IAAI,2BAA2B,EACvCwE,KAAK,IAAK,wBAAuBA,KAAM,EAAC,EACxCT,MAAM,IAAK,yBAAwBC,YAAa,EAAC,EACjDtD,UAAU,IAAI,0BAA0B,EACxCmD,eAAe,IAAK,iBAAgBA,eAAgB,EAAC,EACrD,IAAApD,uBAAM,EAAC6D,OAAO,CAAC,IAAK,uBAMtB;IACF,CAAC;IAED,MAAMmC,WAAW,GAAG;MAClB3B,SAAS,EAAE,IAAAY,mBAAU,EACnB,qBAAqB,EACrB,IAAAa,mCAAmB,EAAC,OAAO,EAAEhD,QAAQ,EAAE,IAAI,CAACC,OAAO,CACrD;IACF,CAAC;IAED,MAAMkD,WAAW,GAAG;MAClB5B,SAAS,EAAa;IACxB,CAAC;IAED,IAAI,IAAArE,uBAAM,EAAC4D,QAAQ,CAAC,IAAI,IAAA5D,uBAAM,EAAC8C,QAAQ,CAAC,EAAE;MACxCmD,WAAW,CAAC,eAAe,CAAC,GAAG,IAAI;IACrC;IAGA,MAAMC,gBAAgB,GACpB9E,UAAU,CAAC,IAAI,CAACtC,KAAK,CAACqB,IAAI,CAAC,GAAG,CAAC,GAC3B;MACE,iBAAiB,EAAEiB,UAAU,CAAC,IAAI,CAACtC,KAAK,CAACqB,IAAI;IAE/C,CAAC,GACD,IAAI;IAEV,IAAAgG,qCAAqB,EAACH,WAAW,EAAElD,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAG1D,IAAAqD,sCAAqB,EAAC,IAAI,CAACtH,KAAK,EAAEkG,cAAc,CAAC;IACjD,IAAAoB,sCAAqB,EAAC,IAAI,EAAEJ,WAAW,CAAC;IACxC,IAAAI,sCAAqB,EAAC,IAAI,EAAEH,WAAW,CAAC;IAExC,IAAIrB,eAAe,IAAI,OAAOA,eAAe,KAAK,UAAU,EAAE;MAC5DA,eAAe,GAAGA,eAAe,CAACI,cAAc,EAAE,IAAI,CAACnF,IAAI,CAAC;IAC9D,CAAC,MAAM,IAAI,CAAC+E,eAAe,IAAIJ,iBAAiB,EAAE;MAChDI,eAAe,GAAGJ,iBAAiB;IACrC;IAEA,OACExK,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,SAAUR,UAAU,EACjB1C,KAAK,IACJnJ,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,CAAChM,UAAA,CAAAc,OAAS;MACRuG,EAAE,EAAEA,EAAE,GAAG,QAAS;MAClB4E,MAAM,EAAE5E,EAAG;MACX6E,IAAI,EAAEpD,KAAM;MACZC,eAAe,EAAEA,eAAgB;MACjCoD,OAAO,EAAEnD,aAAc;MACvBO,QAAQ,EAAEA,QAAS;MACnBd,QAAQ,EAAEA;IAAS,CACpB,CACF,EAED9I,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,SAAUL,WAAW,EAAAlL,gBAAA,KAAAA,gBAAA,GACnBd,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,CAAC5L,iBAAA,CAAAU,OAAe,MAAE,CAAC,GAEnBnB,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,CAAC/L,WAAA,CAAAa,OAAU,EAAAC,QAAA;MACTqL,IAAI,EAAE/B,UAAW;MACjBhD,EAAE,EAAEA,EAAE,GAAG,cAAe;MACxBgC,YAAY,EAAEA,YAAa;MAC3BP,KAAK,EAAEA,KAAM;MACbuD,OAAO,EAAEhF,EAAE,GAAG,SAAU;MACxB6E,IAAI,EAAEjD,MAAO;MACbvE,KAAK,EAAEwE,YAAa;MACpBoD,YAAY,EAAElD,mBAAoB;MAClCX,QAAQ,EAAEA;IAAS,GACfU,YAAY,CACjB,CAAC,EAEFxJ,MAAA,CAAAmB,OAAA,CAAAkL,aAAA;MAAMhC,SAAS,EAAC;IAAmB,GACjCrK,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,SAAUJ,WAAW,EAClBrB,eAAe,IACd5K,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,aAAAjL,QAAA;MAAUwL,GAAG,EAAE,IAAI,CAAC/G;IAAK,GAAKmF,cAAc,CAAG,CAChD,EAEAlB,WAAW,IACV9J,MAAA,CAAAmB,OAAA,CAAAkL,aAAA;MACE,mBAAW;MACXhC,SAAS,EACP,2BAA2B,IAC3BN,KAAK,4BAA2BA,KAAM,QACtC;MACFvD,KAAK,EAAE0F;IAAiB,GAEvBpC,WACG,CACP,EAAA/I,KAAA,KAAAA,KAAA,GAEDf,MAAA,CAAAmB,OAAA,CAAAkL,aAAA;MAAMhC,SAAS,EAAC;IAAqB,CAAE,CAAC,CACpC,CAAC,EAENV,MAAM,IACL3J,MAAA,CAAAmB,OAAA,CAAAkL,aAAA,CAACxL,OAAA,CAAAM,OAAM;MACLkJ,SAAS,EAAC,sBAAsB;MAChC3C,EAAE,EAAEA,EAAE,GAAG,SAAU;MACnBqB,OAAO,EAAEjE;IAAM,GAEd6E,MACK,CAEN,CACF,CACF,CAAC;EAEX;AACF;AAACkD,OAAA,CAAA1L,OAAA,GAAAuD,QAAA;AAAA3B,eAAA,CAvfoB2B,QAAQ,iBACNoI,gBAAO;AAAA/J,eAAA,CADT2B,QAAQ,kBAwEL;EACpBhB,KAAK,EAAE,SAAS;EAChBgE,EAAE,EAAE,IAAI;EACRyB,KAAK,EAAE,IAAI;EACXC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,MAAM,EAAE,IAAI;EACZjE,cAAc,EAAE,IAAI;EACpBkE,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE,IAAI;EACZG,WAAW,EAAE,IAAI;EACjBC,KAAK,EAAE,IAAI;EACXF,OAAO,EAAE,IAAI;EACbD,QAAQ,EAAE,IAAI;EACdd,QAAQ,EAAE,IAAI;EACd7C,UAAU,EAAE,IAAI;EAChBoB,mBAAmB,EAAE,IAAI;EACzB2C,cAAc,EAAE,IAAI;EACpBG,KAAK,EAAE,IAAI;EACXD,mBAAmB,EAAE,IAAI;EACzBD,QAAQ,EAAE,KAAK;EACf9D,IAAI,EAAE,IAAI;EACV4G,IAAI,EAAE,IAAI;EACVxF,SAAS,EAAE,IAAI;EAEf8C,SAAS,EAAE,IAAI;EACfE,gBAAgB,EAAE,IAAI;EACtBD,QAAQ,EAAE,IAAI;EAEd0C,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EACdC,OAAO,EAAE,IAAI;EACbC,WAAW,EAAE,IAAI;EACjBhI,eAAe,EAAE;AACnB,CAAC;AAAAiI,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBA7GkB5I,QAAQ,CAGpB6I,SAAS,GAAA1K,aAAA,CAAAA,aAAA;EACda,KAAK,EAAE8J,kBAAS,CAACC,MAAM;EACvB/F,EAAE,EAAE8F,kBAAS,CAACC,MAAM;EACpBtE,KAAK,EAAEqE,kBAAS,CAACE,SAAS,CAAC,CACzBF,kBAAS,CAACC,MAAM,EAChBD,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,CACf,CAAC;EACFxE,eAAe,EAAEoE,kBAAS,CAACK,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5DxE,aAAa,EAAEmE,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,IAAI,CAAC,CAAC;EACtExE,MAAM,EAAEkE,kBAAS,CAACE,SAAS,CAAC,CAC1BF,kBAAS,CAACC,MAAM,EAChBD,kBAAS,CAACM,IAAI,EACdN,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,CACf,CAAC;EACFvI,cAAc,EAAEmI,kBAAS,CAACC,MAAM;EAChClE,YAAY,EAAEiE,kBAAS,CAACC,MAAM;EAC9BjE,YAAY,EAAEgE,kBAAS,CAACrL,MAAM;EAC9BsH,mBAAmB,EAAE+D,kBAAS,CAACE,SAAS,CAAC,CACvCF,kBAAS,CAACC,MAAM,EAChBD,kBAAS,CAACM,IAAI,CACf,CAAC;EACFpE,YAAY,EAAE8D,kBAAS,CAACO,KAAK,CAAC;IAC5BrG,EAAE,EAAE8F,kBAAS,CAACC,MAAM;IACpBO,OAAO,EAAER,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACI,IAAI,CAAC;EACjE,CAAC,CAAC;EACFjE,MAAM,EAAE6D,kBAAS,CAACE,SAAS,CAAC,CAC1BF,kBAAS,CAACC,MAAM,EAChBD,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,CACf,CAAC;EACF9D,WAAW,EAAE0D,kBAAS,CAACC,MAAM;EAC7B1D,KAAK,EAAEyD,kBAAS,CAACK,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACzChE,OAAO,EAAE2D,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,IAAI,CAAC,CAAC;EAChElE,QAAQ,EAAE4D,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,IAAI,CAAC,CAAC;EACjEhF,QAAQ,EAAE0E,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,IAAI,CAAC,CAAC;EACjE7H,UAAU,EAAEuH,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,IAAI,CAAC,CAAC;EACnEzG,mBAAmB,EAAEmG,kBAAS,CAACE,SAAS,CAAC,CACvCF,kBAAS,CAACC,MAAM,EAChBD,kBAAS,CAACS,MAAM,CACjB,CAAC;EACF9D,KAAK,EAAEqD,kBAAS,CAACC,MAAM;EACvBzD,cAAc,EAAEwD,kBAAS,CAACC,MAAM;EAChCvD,mBAAmB,EAAEsD,kBAAS,CAACE,SAAS,CAAC,CACvCF,kBAAS,CAACC,MAAM,EAChBD,kBAAS,CAACrL,MAAM,CACjB,CAAC;EACF8H,QAAQ,EAAEuD,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACM,IAAI,CAAC,CAAC;EACjE3H,IAAI,EAAEqH,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACS,MAAM,EAAET,kBAAS,CAACC,MAAM,CAAC,CAAC;EAC/DV,IAAI,EAAES,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACS,MAAM,EAAET,kBAAS,CAACC,MAAM,CAAC,CAAC;EAC/DlG,SAAS,EAAEiG,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACG,IAAI,EAAEH,kBAAS,CAACrL,MAAM,CAAC;AAAC,GAE/D+L,+BAAgB;EAEnB7D,SAAS,EAAEmD,kBAAS,CAACC,MAAM;EAC3BlD,gBAAgB,EAAEiD,kBAAS,CAACE,SAAS,CAAC,CACpCF,kBAAS,CAACG,IAAI,EACdH,kBAAS,CAACI,IAAI,CACf,CAAC;EACFtD,QAAQ,EAAEkD,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACI,IAAI,EAAEJ,kBAAS,CAACG,IAAI,CAAC,CAAC;EAE/DX,SAAS,EAAEQ,kBAAS,CAACG,IAAI;EACzBV,QAAQ,EAAEO,kBAAS,CAACG,IAAI;EACxBT,OAAO,EAAEM,kBAAS,CAACG,IAAI;EACvBR,WAAW,EAAEK,kBAAS,CAACG,IAAI;EAC3BxI,eAAe,EAAEqI,kBAAS,CAACG;AAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_AlignmentHelper2","_FormRowHelpers","_SpacingHelper","_Radio","_Checkbox","_Button","_FormLabel","_FormStatus","_ToggleButtonGroup","_ToggleButtonGroupContext","_Context","_Suffix","_AlignmentHelper","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ToggleButton","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","context","event","keycode","onClickHandler","_ref","isTrue","readOnly","preventDefault","persist","multiselect","setState","callOnChange","_refButton","current","focus","e","warn","_ref2","onChange","_id","id","makeUniqueId","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","extendPropsWithContextInClassComponent","defaultProps","translation","includeValidProps","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","contextValue","contextValues","showStatus","getStatusState","mainParams","classnames","createSpacingClasses","validateDOMAttributes","buttonParams","componentParams","element","role","type","combineDescribedBy","leftComponent","for_id","sr_only","show","text_id","no_animation","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","exports","ToggleButtonGroup","ToggleButtonGroupContext","attributes","test","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","func","node","oneOf","bool","shape","message","number","array","spacingPropTypes"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine theese arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n includeValidProps(context.FormRow),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleButton.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_AlignmentHelper2","_FormRowHelpers","_SpacingHelper","_Radio","_Checkbox","_Button","_FormLabel","_FormStatus","_ToggleButtonGroup","_ToggleButtonGroupContext","_Context","_Suffix","_AlignmentHelper","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ToggleButton","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","context","event","keycode","onClickHandler","_ref","isTrue","readOnly","preventDefault","persist","multiselect","setState","callOnChange","_refButton","current","focus","e","warn","_ref2","onChange","_id","id","makeUniqueId","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","extendPropsWithContextInClassComponent","defaultProps","translation","includeValidProps","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","contextValue","contextValues","showStatus","getStatusState","mainParams","classnames","createSpacingClasses","validateDOMAttributes","buttonParams","componentParams","element","role","type","combineDescribedBy","leftComponent","for_id","sr_only","show","text_id","no_animation","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","exports","ToggleButtonGroup","ToggleButtonGroupContext","attributes","test","process","env","NODE_ENV","propTypes","PropTypes","string","oneOfType","func","node","oneOf","bool","shape","message","number","array","spacingPropTypes"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\n // group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = ToggleButton.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n includeValidProps(context.FormRow),\n context.ToggleButton\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":"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"}