@laerdal/life-react-components 1.3.1 → 1.3.2-dev.12

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 (157) hide show
  1. package/dist/esm/Accordion/ContentAccordion.js +238 -0
  2. package/dist/esm/Accordion/ContentAccordion.js.map +1 -0
  3. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js +137 -0
  4. package/dist/esm/Accordion/__tests__/ContetnAccordion.test.js.map +1 -0
  5. package/dist/esm/Accordion/index.js +1 -0
  6. package/dist/esm/Accordion/index.js.map +1 -1
  7. package/dist/esm/AuthPage/AuthPage.js +1 -1
  8. package/dist/esm/AuthPage/AuthPage.js.map +1 -1
  9. package/dist/esm/AuthPage/Information.js +1 -1
  10. package/dist/esm/AuthPage/Information.js.map +1 -1
  11. package/dist/esm/Banners/Banner.js +16 -16
  12. package/dist/esm/Banners/Banner.js.map +1 -1
  13. package/dist/esm/Button/Button.js +8 -53
  14. package/dist/esm/Button/Button.js.map +1 -1
  15. package/dist/esm/Button/DualFunctionButton.js +4 -0
  16. package/dist/esm/Button/DualFunctionButton.js.map +1 -1
  17. package/dist/esm/Button/Iconbutton.js +0 -1
  18. package/dist/esm/Button/Iconbutton.js.map +1 -1
  19. package/dist/esm/Dropdown/CommonStyling.js +4 -0
  20. package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
  21. package/dist/esm/Dropdown/DropdownButton.js +5 -2
  22. package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
  23. package/dist/esm/Dropdown/DropdownContent.js +6 -6
  24. package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
  25. package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
  26. package/dist/esm/HyperLink/HyperLink.js +2 -1
  27. package/dist/esm/HyperLink/HyperLink.js.map +1 -1
  28. package/dist/esm/InputFields/Checkbox.js +23 -13
  29. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  30. package/dist/esm/Modals/__tests__/Modal.test.js +154 -0
  31. package/dist/esm/Modals/__tests__/Modal.test.js.map +1 -0
  32. package/dist/esm/Table/Table.js +113 -181
  33. package/dist/esm/Table/Table.js.map +1 -1
  34. package/dist/esm/Table/TableBody.js +135 -0
  35. package/dist/esm/Table/TableBody.js.map +1 -0
  36. package/dist/esm/Table/TableFooter.js +60 -0
  37. package/dist/esm/Table/TableFooter.js.map +1 -0
  38. package/dist/esm/Table/TableHeaders.js +55 -0
  39. package/dist/esm/Table/TableHeaders.js.map +1 -0
  40. package/dist/esm/Table/TableStyles.js +130 -117
  41. package/dist/esm/Table/TableStyles.js.map +1 -1
  42. package/dist/esm/Table/__tests__/Table.test.js +0 -21
  43. package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
  44. package/dist/esm/Tabs/TabLink.js +1 -0
  45. package/dist/esm/Tabs/TabLink.js.map +1 -1
  46. package/dist/esm/styles/typography.js +66 -66
  47. package/dist/esm/styles/typography.js.map +1 -1
  48. package/dist/js/Accordion/ContentAccordion.d.ts +18 -0
  49. package/dist/js/Accordion/ContentAccordion.js +151 -0
  50. package/dist/js/Accordion/ContentAccordion.js.map +1 -0
  51. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js +151 -0
  52. package/dist/js/Accordion/__tests__/ContetnAccordion.test.js.map +1 -0
  53. package/dist/js/Accordion/index.d.ts +1 -0
  54. package/dist/js/Accordion/index.js +8 -0
  55. package/dist/js/Accordion/index.js.map +1 -1
  56. package/dist/js/AuthPage/AuthPage.js +1 -1
  57. package/dist/js/AuthPage/AuthPage.js.map +1 -1
  58. package/dist/js/AuthPage/Information.d.ts +1 -1
  59. package/dist/js/AuthPage/Information.js +1 -1
  60. package/dist/js/AuthPage/Information.js.map +1 -1
  61. package/dist/js/Banners/Banner.js +16 -19
  62. package/dist/js/Banners/Banner.js.map +1 -1
  63. package/dist/js/Button/Button.js +6 -12
  64. package/dist/js/Button/Button.js.map +1 -1
  65. package/dist/js/Button/DualFunctionButton.js +4 -0
  66. package/dist/js/Button/DualFunctionButton.js.map +1 -1
  67. package/dist/js/Button/Iconbutton.d.ts +2 -2
  68. package/dist/js/Button/Iconbutton.js +0 -1
  69. package/dist/js/Button/Iconbutton.js.map +1 -1
  70. package/dist/js/Dropdown/CommonStyling.js +1 -1
  71. package/dist/js/Dropdown/CommonStyling.js.map +1 -1
  72. package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
  73. package/dist/js/Dropdown/DropdownButton.js +5 -2
  74. package/dist/js/Dropdown/DropdownButton.js.map +1 -1
  75. package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
  76. package/dist/js/Dropdown/DropdownContent.js +8 -8
  77. package/dist/js/Dropdown/DropdownContent.js.map +1 -1
  78. package/dist/js/Dropdown/DropdownFilter.d.ts +1 -1
  79. package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
  80. package/dist/js/HyperLink/HyperLink.d.ts +1 -1
  81. package/dist/js/HyperLink/HyperLink.js +2 -2
  82. package/dist/js/HyperLink/HyperLink.js.map +1 -1
  83. package/dist/js/InputFields/Checkbox.d.ts +3 -2
  84. package/dist/js/InputFields/Checkbox.js +13 -11
  85. package/dist/js/InputFields/Checkbox.js.map +1 -1
  86. package/dist/js/Modals/__tests__/Modal.test.js +231 -0
  87. package/dist/js/Modals/__tests__/Modal.test.js.map +1 -0
  88. package/dist/js/Table/Table.js +143 -209
  89. package/dist/js/Table/Table.js.map +1 -1
  90. package/dist/js/Table/TableBody.d.ts +9 -0
  91. package/dist/js/Table/TableBody.js +167 -0
  92. package/dist/js/Table/TableBody.js.map +1 -0
  93. package/dist/js/Table/TableFooter.d.ts +13 -0
  94. package/dist/js/Table/TableFooter.js +82 -0
  95. package/dist/js/Table/TableFooter.js.map +1 -0
  96. package/dist/js/Table/TableHeaders.d.ts +9 -0
  97. package/dist/js/Table/TableHeaders.js +77 -0
  98. package/dist/js/Table/TableHeaders.js.map +1 -0
  99. package/dist/js/Table/TableStyles.d.ts +17 -7
  100. package/dist/js/Table/TableStyles.js +58 -16
  101. package/dist/js/Table/TableStyles.js.map +1 -1
  102. package/dist/js/Table/TableTypes.d.ts +23 -16
  103. package/dist/js/Table/__tests__/Table.test.js +8 -30
  104. package/dist/js/Table/__tests__/Table.test.js.map +1 -1
  105. package/dist/js/Tabs/TabLink.js +1 -1
  106. package/dist/js/Tabs/TabLink.js.map +1 -1
  107. package/dist/js/styles/typography.d.ts +6 -6
  108. package/dist/js/styles/typography.js +66 -66
  109. package/dist/js/styles/typography.js.map +1 -1
  110. package/dist/umd/Accordion/ContentAccordion.js +266 -0
  111. package/dist/umd/Accordion/ContentAccordion.js.map +1 -0
  112. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js +165 -0
  113. package/dist/umd/Accordion/__tests__/ContetnAccordion.test.js.map +1 -0
  114. package/dist/umd/Accordion/index.js +10 -4
  115. package/dist/umd/Accordion/index.js.map +1 -1
  116. package/dist/umd/AuthPage/AuthPage.js +1 -1
  117. package/dist/umd/AuthPage/AuthPage.js.map +1 -1
  118. package/dist/umd/AuthPage/Information.js +1 -1
  119. package/dist/umd/AuthPage/Information.js.map +1 -1
  120. package/dist/umd/Banners/Banner.js +16 -16
  121. package/dist/umd/Banners/Banner.js.map +1 -1
  122. package/dist/umd/Button/Button.js +8 -53
  123. package/dist/umd/Button/Button.js.map +1 -1
  124. package/dist/umd/Button/DualFunctionButton.js +4 -0
  125. package/dist/umd/Button/DualFunctionButton.js.map +1 -1
  126. package/dist/umd/Button/Iconbutton.js +0 -1
  127. package/dist/umd/Button/Iconbutton.js.map +1 -1
  128. package/dist/umd/Dropdown/CommonStyling.js +4 -0
  129. package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
  130. package/dist/umd/Dropdown/DropdownButton.js +5 -2
  131. package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
  132. package/dist/umd/Dropdown/DropdownContent.js +6 -6
  133. package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
  134. package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
  135. package/dist/umd/HyperLink/HyperLink.js +2 -1
  136. package/dist/umd/HyperLink/HyperLink.js.map +1 -1
  137. package/dist/umd/InputFields/Checkbox.js +23 -13
  138. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  139. package/dist/umd/Modals/__tests__/Modal.test.js +173 -0
  140. package/dist/umd/Modals/__tests__/Modal.test.js.map +1 -0
  141. package/dist/umd/Table/Table.js +139 -188
  142. package/dist/umd/Table/Table.js.map +1 -1
  143. package/dist/umd/Table/TableBody.js +270 -0
  144. package/dist/umd/Table/TableBody.js.map +1 -0
  145. package/dist/umd/Table/TableFooter.js +82 -0
  146. package/dist/umd/Table/TableFooter.js.map +1 -0
  147. package/dist/umd/Table/TableHeaders.js +91 -0
  148. package/dist/umd/Table/TableHeaders.js.map +1 -0
  149. package/dist/umd/Table/TableStyles.js +134 -122
  150. package/dist/umd/Table/TableStyles.js.map +1 -1
  151. package/dist/umd/Table/__tests__/Table.test.js +0 -21
  152. package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
  153. package/dist/umd/Tabs/TabLink.js +1 -0
  154. package/dist/umd/Tabs/TabLink.js.map +1 -1
  155. package/dist/umd/styles/typography.js +66 -66
  156. package/dist/umd/styles/typography.js.map +1 -1
  157. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Button/Button.tsx"],"names":["getBorderRadius","radius","tabbedHereStyle","css","COLORS","focus_25","focus","colorTheme","primary_700","white","primary","primary_500","Primary","styled","button","props","Size","ComponentLStyling","ComponentTextStyle","ComponentSStyling","ComponentMStyling","width","minWidth","primary_800","neutral_100","neutral_300","Secondary","Tertiary","primary_20","primary_100","Correct","correct_500","correct_700","correct_800","Critical","critical_500","critical_700","critical_800","variant","role","title","loading","testId","tabbedHere","icon","iconOnly","Button","children","type","size","renderProps","supressFocusRef","React","renderContent","e","setTabbedHere"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS, TYPOGRAPHY } from '../styles';\nimport { Size } from '../types';\n\nconst getBorderRadius = (flatEdge : string | undefined, radius: number) => {\n switch(flatEdge)\n {\n case 'left':\n return `0px ${radius}px ${radius}px 0px`;\n \n case 'right':\n return `${radius}px 0px 0px ${radius}px`;\n\n case 'none':\n default:\n return `${radius}px`;\n }\n}\n\n\nconst tabbedHereStyle = (variant: string, colorTheme?: string) => {\n switch (variant) {\n case 'primary':\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n color: ${colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white};\n }\n `;\n case 'secondary':\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${colorTheme === 'dark' ? 'transparent' : COLORS.white};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1 : colorTheme === 'dark' ? COLORS.primary_800 : COLORS.primary};\n color: ${colorTheme === 'dark' ? COLORS.white : COLORS.primary_500};\n }\n `;\n case 'tertiary':\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${COLORS.white};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary};\n color: ${colorTheme === 'teal' ? COLORS.accent1_500 : COLORS.primary_500};\n }\n `;\n\n default:\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n color: ${colorTheme === 'dark' ? COLORS.primary_500 : COLORS.white};\n }\n `;\n }\n};\n\nconst Primary = styled.button<ButtonProps>`\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\n &.loading-state {\n cursor: wait;\n }\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n }\n div.button-content {\n ${(props) =>\n props.size === Size.Large\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : props.size === Size.Small\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-radius: ${props => getBorderRadius(props.flatEdge, 8)};\n border-width: 2px;\n border-style: solid;\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n\n width: ${(props) => props.width};\n position: relative;\n\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\n min-width: ${props => props.minWidth};\n\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n // paddings have -2px for border\n padding: ${(props) => (props.size === Size.Large ? '14px 18px' : props.size === Size.Small ? '4px 10px' : '6px 14px')};\n\n span.loading {\n opacity: 0;\n }\n .icon {\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '-2px -4px' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '-2px -4px' : '-2px -8px' ))};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n svg {\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n }\n }\n\n .extramargin {\n margin-right: 4px;\n }\n\n div {\n position: absolute;\n width: 100%;\n svg {\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n path {\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\n }\n }\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n box-shadow: none !important;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('primary', props.colorTheme) : '')}\n &.focus-state {\n ${(props) => tabbedHereStyle('primary', props?.colorTheme)};\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\n border-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n cursor: not-allowed;\n &:hover,\n &:active {\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\n border-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n }\n }\n`;\n\nconst Secondary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n background-color: transparent;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n background-color: white;\n }\n\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: white;\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\n }\n }\n }\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: transparent;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\n border-color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n cursor: not-allowed;\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('secondary', props.colorTheme) : '')}\n &.focus-state {\n ${(props) => tabbedHereStyle('secondary', props?.colorTheme)};\n\n }\n`;\n\nconst Tertiary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary_500)};\n border-color: transparent;\n background-color: transparent;\n border-width: 1px;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n }\n }\n }\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: white !important;\n color: ${COLORS.neutral_300};\n border-color: transparent;\n cursor: not-allowed;\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: white !important;\n color: ${COLORS.neutral_300};\n border-color: transparent !important;\n cursor: not-allowed;\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('tertiary', props.colorTheme) : '')}\n &.focus-state {\n ${(props) => tabbedHereStyle('tertiary', props?.colorTheme)};\n }\n`;\n\nconst Correct = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.correct_500};\n background-color: ${COLORS.correct_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.correct_800};\n background-color: ${COLORS.correct_800};\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n cursor: not-allowed;\n &:hover,\n &:active {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n }\n`;\n\nconst Critical = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.critical_500};\n background-color: ${COLORS.critical_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.critical_800};\n background-color: ${COLORS.critical_800};\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n cursor: not-allowed;\n &:hover,\n &:active {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n }\n`;\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'primary' | 'secondary' | 'tertiary' | 'correct' | 'critical';\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n role?: 'button' | string;\n title?: string;\n size?: Size;\n colorTheme?: 'teal' | 'dark';\n width?: 'auto' | string;\n loading?: boolean;\n testId?: string;\n tabbedHere?: boolean;\n icon?: React.ReactNode;\n minWidth?: string;\n iconOnly?: boolean;\n}\n\nconst Button: React.FunctionComponent<ButtonProps> = ({\n children = '',\n variant = 'primary',\n type = 'button',\n size = Size.Medium,\n width = 'auto',\n minWidth = '64px',\n testId,\n disabled,\n flatEdge,\n icon,\n ...props\n}) => {\n // Let's filter out properties that we don't need to render.\n const { loading, ...renderProps } = props;\n const supressFocusRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const renderContent = () => (\n <>\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\n {loading && <LoadingIndicator></LoadingIndicator>}\n </>\n );\n\n // Let's render button\n switch (variant) {\n case 'primary':\n return (\n <Primary\n {...renderProps}\n disabled={disabled}\n iconOnly={!children}\n type={type}\n size={size}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Primary>\n );\n case 'secondary':\n return (\n <Secondary\n {...renderProps}\n disabled={disabled}\n type={type}\n size={size}\n iconOnly={!children}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Secondary>\n );\n case 'tertiary':\n return (\n <Tertiary\n {...renderProps}\n disabled={disabled}\n type={type}\n flatEdge={flatEdge}\n size={size}\n width={width}\n iconOnly={!children}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Tertiary>\n );\n case 'correct':\n return (\n <Correct\n {...renderProps}\n disabled={disabled}\n type={type}\n size={size}\n iconOnly={!children}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Correct>\n );\n case 'critical':\n return (\n <Critical\n {...renderProps}\n disabled={disabled}\n flatEdge={flatEdge}\n iconOnly={!children}\n type={type}\n size={size}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Critical>\n );\n default:\n return (\n <Primary\n {...renderProps}\n flatEdge={flatEdge}\n disabled={disabled}\n iconOnly={!children}\n type={type}\n size={size}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Primary>\n );\n }\n};\n\nexport default Button;\n"],"file":"Button.js"}
1
+ {"version":3,"sources":["../../../src/Button/Button.tsx"],"names":["getBorderRadius","radius","tabbedHereStyle","css","COLORS","focus_25","focus","colorTheme","primary_700","white","primary","primary_500","Primary","styled","button","props","Size","ComponentLStyling","ComponentTextStyle","ComponentSStyling","ComponentMStyling","width","minWidth","primary_800","neutral_100","neutral_300","Secondary","Tertiary","primary_20","primary_100","Correct","correct_500","correct_700","correct_800","Critical","critical_500","critical_700","critical_800","variant","role","title","loading","testId","tabbedHere","icon","iconOnly","Button","children","type","size","renderProps","supressFocusRef","React","renderContent","e","setTabbedHere"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS, TYPOGRAPHY } from '../styles';\nimport { Size } from '../types';\n\nconst getBorderRadius = (flatEdge : string | undefined, radius: number) => {\n switch(flatEdge)\n {\n case 'left':\n return `0px ${radius}px ${radius}px 0px`;\n \n case 'right':\n return `${radius}px 0px 0px ${radius}px`;\n\n case 'none':\n default:\n return `${radius}px`;\n }\n}\n\n\nconst tabbedHereStyle = (variant: string, colorTheme?: string) => {\n switch (variant) {\n case 'primary':\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n color: ${colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white};\n }\n `;\n case 'secondary':\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${colorTheme === 'dark' ? 'transparent' : COLORS.white};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1 : colorTheme === 'dark' ? COLORS.primary_800 : COLORS.primary};\n color: ${colorTheme === 'dark' ? COLORS.white : COLORS.primary_500};\n }\n `;\n case 'tertiary':\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${COLORS.white};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary};\n color: ${colorTheme === 'teal' ? COLORS.accent1_500 : COLORS.primary_500};\n }\n `;\n\n default:\n return css`\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n border-color: ${colorTheme === 'teal' ? COLORS.accent1_700 : colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n color: ${colorTheme === 'dark' ? COLORS.primary_500 : COLORS.white};\n }\n `;\n }\n};\n\nconst Primary = styled.button<ButtonProps>`\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\n &.loading-state {\n cursor: wait;\n }\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n }\n div.button-content {\n ${(props) =>\n props.size === Size.Large\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : props.size === Size.Small\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-radius: ${props => getBorderRadius(props.flatEdge, 8)};\n border-width: 2px;\n border-style: solid;\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n\n width: ${(props) => props.width};\n position: relative;\n\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\n min-width: ${props => props.minWidth};\n\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n // paddings have -2px for border\n padding: ${(props) => (props.size === Size.Large ? '14px 18px' : props.size === Size.Small ? '4px 10px' : '6px 14px')};\n\n span.loading {\n opacity: 0;\n }\n .icon {\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '-2px -4px' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '-2px -4px' : '-2px -8px' ))};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n svg {\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n }\n }\n\n .extramargin {\n margin-right: 4px;\n }\n\n div {\n position: absolute;\n width: 100%;\n svg {\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n path {\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\n }\n }\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n box-shadow: none !important;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('primary', props.colorTheme) : '')}\n &.focus-state {\n ${(props) => tabbedHereStyle('primary', props?.colorTheme)};\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n pointer-events: none;\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\n border-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n }\n`;\n\nconst Secondary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n background-color: transparent;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n }\n\n\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: transparent;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\n border-color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('secondary', props.colorTheme) : '')}\n\n &:focus,\n &.focus-state {\n ${(props) => tabbedHereStyle('secondary', props?.colorTheme)};\n }\n`;\n\nconst Tertiary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary_500)};\n border-color: transparent;\n background-color: transparent;\n border-width: 1px;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: white !important;\n color: ${COLORS.neutral_300};\n border-color: transparent !important;\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('tertiary', props.colorTheme) : '')}\n &.focus-state {\n ${(props) => tabbedHereStyle('tertiary', props?.colorTheme)};\n }\n`;\n\nconst Correct = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.correct_500};\n background-color: ${COLORS.correct_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.correct_800};\n background-color: ${COLORS.correct_800};\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n`;\n\nconst Critical = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.critical_500};\n background-color: ${COLORS.critical_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.critical_800};\n background-color: ${COLORS.critical_800};\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n`;\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'primary' | 'secondary' | 'tertiary' | 'correct' | 'critical';\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n role?: 'button' | string;\n title?: string;\n size?: Size;\n colorTheme?: 'teal' | 'dark';\n width?: 'auto' | string;\n loading?: boolean;\n testId?: string;\n tabbedHere?: boolean;\n icon?: React.ReactNode;\n minWidth?: string;\n iconOnly?: boolean;\n}\n\nconst Button: React.FunctionComponent<ButtonProps> = ({\n children = '',\n variant = 'primary',\n type = 'button',\n size = Size.Medium,\n width = 'auto',\n minWidth = '64px',\n testId,\n disabled,\n flatEdge,\n icon,\n ...props\n}) => {\n // Let's filter out properties that we don't need to render.\n const { loading, ...renderProps } = props;\n const supressFocusRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const renderContent = () => (\n <>\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\n {loading && <LoadingIndicator></LoadingIndicator>}\n </>\n );\n\n // Let's render button\n switch (variant) {\n case 'primary':\n return (\n <Primary\n {...renderProps}\n disabled={disabled}\n iconOnly={!children}\n type={type}\n size={size}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Primary>\n );\n case 'secondary':\n return (\n <Secondary\n {...renderProps}\n disabled={disabled}\n type={type}\n size={size}\n iconOnly={!children}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Secondary>\n );\n case 'tertiary':\n return (\n <Tertiary\n {...renderProps}\n disabled={disabled}\n type={type}\n flatEdge={flatEdge}\n size={size}\n width={width}\n iconOnly={!children}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Tertiary>\n );\n case 'correct':\n return (\n <Correct\n {...renderProps}\n disabled={disabled}\n type={type}\n size={size}\n iconOnly={!children}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Correct>\n );\n case 'critical':\n return (\n <Critical\n {...renderProps}\n disabled={disabled}\n flatEdge={flatEdge}\n iconOnly={!children}\n type={type}\n size={size}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Critical>\n );\n default:\n return (\n <Primary\n {...renderProps}\n flatEdge={flatEdge}\n disabled={disabled}\n iconOnly={!children}\n type={type}\n size={size}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => setTabbedHere(false)}\n tabbedHere={tabbedHere}>\n <div className=\"button-content\">{renderContent()}</div>\n </Primary>\n );\n }\n};\n\nexport default Button;\n"],"file":"Button.js"}
@@ -218,6 +218,10 @@
218
218
  })), /*#__PURE__*/React.createElement(_Button2.default, _extends({
219
219
  variant: variant
220
220
  }, renderProps, {
221
+ onKeyPress: e => {
222
+ if (isOpen) return;
223
+ if (e.key == 'Enter' || e.key == ' ') setFocused(0);
224
+ },
221
225
  disabled: disabled,
222
226
  type: type,
223
227
  size: size,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Button/DualFunctionButton.tsx"],"names":["ButtonsContainer","styled","div","props","Size","dropdownMenuValues","setDropdownMenuValues","DualFunctionButton","children","variant","type","size","width","dropdownCustomizationProps","onClick","renderProps","React","dropdownContainerRef","id","setIsOpen","isOpen"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport Button, { ButtonProps } from './Button'\nimport { ArrowDropDown, ArrowDropUp } from '../icons/systemicons/SystemIcons';\nimport { Dropdown } from '../Dropdown/CommonStyling';\nimport { Size } from '../types';\nimport DropdownContent, { DropdownCustomizationProps } from '../Dropdown/DropdownContent';\nimport styled from 'styled-components';\n\nconst ButtonsContainer = styled.div<{ size?: Size }>`\n display: flex;\n align-items: center;\n\n button:first-child {\n margin-right: 2px;\n }\n\n div.button-content {\n gap: 0px;\n padding: ${ props => props.size == Size.Large ? '4px 18px' : props.size == Size.Medium ? '4px 14px' : '4px 10px' };\n }\n`;\n\nexport interface ButtonOption {\n label: string;\n}\n\nexport interface DualButtonProps extends ButtonProps {\n dropdownCustomizationProps: DropdownCustomizationProps;\n dropdownMenuValues?: string[];\n setDropdownMenuValues?: (values: string[]) => void | boolean | undefined;\n}\n\nconst DualFunctionButton: React.FunctionComponent<DualButtonProps> = ({\n children = 'Primary Button',\n variant = 'primary',\n type = 'button',\n size = Size.Medium,\n width = 'auto',\n testId,\n disabled,\n id,\n dropdownMenuValues,\n setDropdownMenuValues,\n dropdownCustomizationProps,\n ...props\n}) => {\n // Let's filter out properties that we don't need to render.\n const { loading, icon, onClick, ...renderProps } = props;\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [focused, setFocused] = React.useState<number | null>(null);\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n\n return <ButtonsContainer ref={dropdownContainerRef} size={size}>\n <Dropdown isButton={true} locked={false} disabled={false} margin=''>\n <Button\n {...renderProps}\n onClick={onClick}\n disabled={disabled}\n type={type}\n loading={loading}\n icon={icon}\n size={size}\n width={width}\n variant={variant}\n flatEdge=\"right\">\n {children}\n </Button>\n <DropdownContent\n customizationProps={dropdownCustomizationProps}\n filter=''\n selectedValues={dropdownCustomizationProps.itemsType == 'normal' ? [] : (dropdownMenuValues ?? selectedValues)}\n setSelectedValues={setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues}\n isButton={true}\n setIsOpen={setIsOpen}\n focused={focused}\n setFocused={setFocused}\n hideOnClickOutside={true}\n size={size}\n isOpen={isOpen}\n id={id ?? 'dropdownId'}\n messageOnNoResults=''\n alignLeft={true} />\n </Dropdown>\n <Button variant={variant}\n {...renderProps}\n disabled={disabled}\n type={type}\n size={size}\n minWidth={'unset'}\n onClick={() => setIsOpen(!isOpen)}\n icon={isOpen ? <ArrowDropUp size=\"16px\" /> : <ArrowDropDown size=\"16px\"/>}\n flatEdge=\"left\" />\n </ButtonsContainer>;\n };\n\n\nexport default DualFunctionButton;\n"],"file":"DualFunctionButton.js"}
1
+ {"version":3,"sources":["../../../src/Button/DualFunctionButton.tsx"],"names":["ButtonsContainer","styled","div","props","Size","dropdownMenuValues","setDropdownMenuValues","DualFunctionButton","children","variant","type","size","width","dropdownCustomizationProps","onClick","renderProps","React","dropdownContainerRef","id","e","setFocused","setIsOpen","isOpen"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport Button, { ButtonProps } from './Button'\nimport { ArrowDropDown, ArrowDropUp } from '../icons/systemicons/SystemIcons';\nimport { Dropdown } from '../Dropdown/CommonStyling';\nimport { Size } from '../types';\nimport DropdownContent, { DropdownCustomizationProps } from '../Dropdown/DropdownContent';\nimport styled from 'styled-components';\n\nconst ButtonsContainer = styled.div<{ size?: Size }>`\n display: flex;\n align-items: center;\n\n button:first-child {\n margin-right: 2px;\n }\n\n div.button-content {\n gap: 0px;\n padding: ${ props => props.size == Size.Large ? '4px 18px' : props.size == Size.Medium ? '4px 14px' : '4px 10px' };\n }\n`;\n\nexport interface ButtonOption {\n label: string;\n}\n\nexport interface DualButtonProps extends ButtonProps {\n dropdownCustomizationProps: DropdownCustomizationProps;\n dropdownMenuValues?: string[];\n setDropdownMenuValues?: (values: string[]) => void | boolean | undefined;\n}\n\nconst DualFunctionButton: React.FunctionComponent<DualButtonProps> = ({\n children = 'Primary Button',\n variant = 'primary',\n type = 'button',\n size = Size.Medium,\n width = 'auto',\n testId,\n disabled,\n id,\n dropdownMenuValues,\n setDropdownMenuValues,\n dropdownCustomizationProps,\n ...props\n}) => {\n // Let's filter out properties that we don't need to render.\n const { loading, icon, onClick, ...renderProps } = props;\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [focused, setFocused] = React.useState<number | null>(null);\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n\n return <ButtonsContainer ref={dropdownContainerRef} size={size}>\n <Dropdown isButton={true} locked={false} disabled={false} margin=''>\n <Button\n {...renderProps}\n onClick={onClick}\n disabled={disabled}\n type={type}\n loading={loading}\n icon={icon}\n size={size}\n width={width}\n variant={variant}\n flatEdge=\"right\">\n {children}\n </Button>\n <DropdownContent\n customizationProps={dropdownCustomizationProps}\n filter=''\n selectedValues={dropdownCustomizationProps.itemsType == 'normal' ? [] : (dropdownMenuValues ?? selectedValues)}\n setSelectedValues={setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues}\n isButton={true}\n setIsOpen={setIsOpen}\n focused={focused}\n setFocused={setFocused}\n hideOnClickOutside={true}\n size={size}\n isOpen={isOpen}\n id={id ?? 'dropdownId'}\n messageOnNoResults=''\n alignLeft={true} />\n </Dropdown>\n <Button variant={variant}\n {...renderProps}\n onKeyPress={(e:any) => {\n if(isOpen)\n return;\n\n if (e.key == 'Enter' || e.key == ' ')\n setFocused(0); \n }}\n\n disabled={disabled}\n type={type}\n size={size}\n minWidth={'unset'}\n onClick={() => setIsOpen(!isOpen)}\n icon={isOpen ? <ArrowDropUp size=\"16px\" /> : <ArrowDropDown size=\"16px\"/>}\n flatEdge=\"left\" />\n </ButtonsContainer>;\n };\n\n\nexport default DualFunctionButton;\n"],"file":"DualFunctionButton.js"}
@@ -206,7 +206,6 @@
206
206
 
207
207
  ${props => props.tabbedHere ? tabbedHereStyle('secondary', props.tabbedHereBackgroundColor) : ''};
208
208
  `;
209
- ;
210
209
 
211
210
  const IconButton = /*#__PURE__*/_react2.default.forwardRef(({
212
211
  id,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Button/Iconbutton.tsx"],"names":["tabbedHereStyle","css","tabbedHereBackgroundColor","COLORS","primary_500","neutral_600","primary_700","white","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","StyledIconButton","styled","button","BREAKPOINTS","MEDIUM","StyledPrimaryIconButton","primary_800","neutral_200","StyledSecondaryIconButton","primary_20","primary_100","neutral_300","id","variant","shape","action","hideOnLowWidth","isInMobileMenu","disabled","useTransparentBackground","iconColor","unsetIconSize","tabIndex","onKeyPress","children","hidden","IconButton","supressFocusRef","React","isPressingEnter","e","setTabbedHere","type","event"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n tabbedHere?: boolean;\n tabbedHereBackgroundColor?: string;\n}\n\nconst tabbedHereStyle = (variant: string, tabbedHereBackgroundColor?: string) => {\n switch (variant) {\n case 'secondary':\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || 'transparent'} !important;\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n `;\n case 'primary':\n default:\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n `;\n }\n};\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px'); \n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none;\n }\n }\n`;\n\nconst StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('primary', props.tabbedHereBackgroundColor) : '')};\n`;\n\nconst StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n ${(props) => (props.tabbedHere ? tabbedHereStyle('secondary', props.tabbedHereBackgroundColor) : '')};\n`;\n\ninterface Props {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n tabbedHereBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n};\n\nconst IconButton = React.forwardRef<HTMLButtonElement, Props>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n tabbedHereBackgroundColor,\n type,\n hidden\n}: Props, ref) => {\n const supressFocusRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n React.useEffect(() => {\n !!disabled && setTabbedHere(false)\n }, [disabled]);\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.js"}
1
+ {"version":3,"sources":["../../../src/Button/Iconbutton.tsx"],"names":["tabbedHereStyle","css","tabbedHereBackgroundColor","COLORS","primary_500","neutral_600","primary_700","white","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","StyledIconButton","styled","button","BREAKPOINTS","MEDIUM","StyledPrimaryIconButton","primary_800","neutral_200","StyledSecondaryIconButton","primary_20","primary_100","neutral_300","id","variant","shape","action","hideOnLowWidth","isInMobileMenu","disabled","useTransparentBackground","iconColor","unsetIconSize","tabIndex","onKeyPress","children","hidden","IconButton","supressFocusRef","React","isPressingEnter","e","setTabbedHere","type","event"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n tabbedHere?: boolean;\n tabbedHereBackgroundColor?: string;\n}\n\nconst tabbedHereStyle = (variant: string, tabbedHereBackgroundColor?: string) => {\n switch (variant) {\n case 'secondary':\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || 'transparent'} !important;\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n `;\n case 'primary':\n default:\n return css`\n div {\n background-color: ${tabbedHereBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n `;\n }\n};\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px'); \n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none;\n }\n }\n`;\n\nconst StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n ${(props) => (props.tabbedHere ? tabbedHereStyle('primary', props.tabbedHereBackgroundColor) : '')};\n`;\n\nconst StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n ${(props) => (props.tabbedHere ? tabbedHereStyle('secondary', props.tabbedHereBackgroundColor) : '')};\n`;\n\nexport interface IconButtonProps {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n tabbedHereBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n tabbedHereBackgroundColor,\n type,\n hidden\n}: IconButtonProps, ref) => {\n const supressFocusRef = React.useRef<any>(null);\n const [tabbedHere, setTabbedHere] = React.useState<boolean>(false);\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n React.useEffect(() => {\n !!disabled && setTabbedHere(false)\n }, [disabled]);\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => action(event)}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={(e: any) => {\n if (!disabled && !tabbedHere) supressFocusRef.current = true;\n }}\n onFocus={(e: any) => {\n if (!disabled) {\n if (!supressFocusRef.current) setTabbedHere(true);\n else supressFocusRef.current = false;\n }\n }}\n onBlur={() => {\n setTabbedHere(false);\n }}\n tabbedHere={tabbedHere}\n onKeyPress={onKeyPress}\n hidden={hidden}\n tabbedHereBackgroundColor={tabbedHereBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.js"}
@@ -309,6 +309,10 @@
309
309
 
310
310
  div.item-icon {
311
311
  margin-right: 6px;
312
+ svg {
313
+ display: block;
314
+ margin: auto;
315
+ }
312
316
  }
313
317
  div.item-icon-old {
314
318
  flex: 1 0 40px;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Dropdown/CommonStyling.tsx"],"names":["Dropdown","styled","div","props","minWidth","margin","COLORS","primary_600","primary_800","lockedState","css","neutral_100","neutral_300","neutral_600","disabledState","white","activeValidationMessage","warning_400","placeholderStyling","ComponentMStyling","ComponentTextStyle","InputField","input","black","ComponentSStyling","BREAKPOINTS","MEDIUM","StyledField","neutral_400","ComponentXXSStyling","ComponentXSStyling","primary_200","primary_300","neutral_800","neutral_20","CommonInteractionStyling","ButtonDropdownContentStyling","DropdownContentStyling","Z_INDEXES","dropdown","neutral_200","DropdownButton","button","DropdownButtonCSS","size","Size","ComponentLStyling","primary_500","primary_20","primary_100","ButtonDropdownWrapper","primary_700"],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { ComponentMStyling, ComponentLStyling, ComponentSStyling, ComponentXSStyling, ComponentXXSStyling } from '../styles/typography';\nimport { Size } from '../types';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const Dropdown = styled.div<{ isButton: boolean; locked?: boolean; disabled?: boolean; margin?: string; minWidth?: string }>`\n position: relative;\n display: inline-block;\n ${(props) => !props.isButton && (props?.minWidth ? `width: 100%; min-width: ${props.minWidth};` : 'width: 100%; min-width: 344px;')}\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : '')}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n\n .show {\n display: block;\n }\n\n .value {\n flex-grow: 1;\n }\n\n input:hover + div {\n color: ${COLORS.primary_600};\n }\n\n input:active + div {\n color: ${COLORS.primary_800};\n }\n`;\n\nconst lockedState = css`\n background-color: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n color: ${COLORS.neutral_600};\n pointer-events: none;\n cursor: not-allowed;\n input {\n color: ${COLORS.neutral_600} !important;\n }\n`;\n\nconst disabledState = css`\n background-color: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n pointer-events: none;\n cursor: not-allowed;\n svg {\n color: ${COLORS.neutral_300} !important;\n }\n input {\n color: ${COLORS.neutral_300} !important;\n ::placeholder {\n color: ${COLORS.neutral_300} !important;\n }\n }\n`;\n\nconst activeValidationMessage = css`\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n`;\n\nconst placeholderStyling = css`\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n`;\n\nexport const InputField = styled.input`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n`;\n\nexport const StyledField = styled.div<{ disabled: boolean; locked: boolean; showValidationMessage?: boolean; isPlaceholder?: boolean; fontSize?: string; minWidth?: string }>`\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n\n padding: 12px 16px;\n height: 48px;\n min-width: ${(props) => (props.minWidth ? `${props.minWidth}` : '344px')};\n width: 100%;\n\n background: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n box-sizing: border-box;\n border-radius: 4px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n input {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 16px;\n height: 56px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 12px 16px;\n height: 48px;\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n height: 56px;\n padding: 16px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &:focus {\n outline: 3px solid #ddd;\n }\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n &:hover {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_200};\n input {\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n }\n cursor: pointer;\n }\n &:active {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_300};\n input {\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.button {\n ${(props) => ComponentSStyling(ComponentTextStyle.Bold, props.disabled ? COLORS.neutral_300 : COLORS.neutral_600)}\n\n box-sizing: border-box;\n height: 32px;\n padding: 0 8px;\n width: initial;\n min-width: initial;\n border: none !important;\n box-shadow: none;\n border-radius: 4px;\n\n &.expanded {\n color: ${COLORS.neutral_800};\n background: ${COLORS.neutral_20};\n }\n }\n\n ${(props) => (props.disabled ? disabledState : '')}\n ${(props) => (props.locked ? lockedState : '')}\n ${(props) => (props.showValidationMessage ? activeValidationMessage : '')}\n ${(props) => (props.isPlaceholder ? placeholderStyling : '')}\n\n ${CommonInteractionStyling};\n`;\n\nexport const ButtonDropdownContentStyling = css`\n min-width: 344px;\n right: 0;\n`;\n\nexport const DropdownContentStyling = styled.div<{ isButton: boolean }>`\n display: none;\n position: absolute;\n background-color: ${COLORS.white};\n width: 100%;\n z-index: ${Z_INDEXES.dropdown};\n margin-top: ${(props) => (props.isButton ? '-4px' : '2px')};\n\n &.show {\n display: block;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\n\n border: 1px solid ${COLORS.neutral_100};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n padding: 4px 0;\n\n max-height: 240px;\n overflow-y: auto;\n\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n cursor: pointer;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: ${COLORS.white};\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: ${COLORS.neutral_200};\n border-radius: 8px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: ${COLORS.neutral_400};\n }\n`;\n\nexport const DropdownButton = styled.button<{ size?: Size }>`\n ${(props) => DropdownButtonCSS(props.size)}\n`;\n\nexport const DropdownButtonCSS = (size?: Size) => {\n return css`\n ${size == Size.Small && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ${size == Size.Large ? '64px' : size == Size.Medium ? '56px' : '48px'};\n background-color: ${COLORS.white};\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n div.item-content {\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n div.item-label {\n flex: 1 0 calc(100% - 40px);\n }\n\n div.item-icon {\n margin-right: 6px;\n }\n div.item-icon-old {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n }\n\n ${CommonInteractionStyling};\n\n &.active {\n background: ${COLORS.neutral_20};\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ${COLORS.neutral_200};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_600};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n `;\n};\n\nexport const ButtonDropdownWrapper = styled.div<{ locked?: boolean; disabled?: boolean }>`\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n align-items: center;\n width: fit-content;\n\n .button {\n min-width: 64px;\n }\n\n .value {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n }\n\n .dropdown-arrow {\n width: 24px;\n height: 24px;\n }\n\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : 'cursor: pointer;')}\n ${(props) => (props.disabled ? 'pointer-events: none;' : '')}\n \n &:hover .button,\n & > .button:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:focus .button,\n & > .button:focus {\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2e7fa1;\n outline: none;\n }\n\n &:active .button,\n & > .button:active {\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n}`;\n"],"file":"CommonStyling.js"}
1
+ {"version":3,"sources":["../../../src/Dropdown/CommonStyling.tsx"],"names":["Dropdown","styled","div","props","minWidth","margin","COLORS","primary_600","primary_800","lockedState","css","neutral_100","neutral_300","neutral_600","disabledState","white","activeValidationMessage","warning_400","placeholderStyling","ComponentMStyling","ComponentTextStyle","InputField","input","black","ComponentSStyling","BREAKPOINTS","MEDIUM","StyledField","neutral_400","ComponentXXSStyling","ComponentXSStyling","primary_200","primary_300","neutral_800","neutral_20","CommonInteractionStyling","ButtonDropdownContentStyling","DropdownContentStyling","Z_INDEXES","dropdown","neutral_200","DropdownButton","button","DropdownButtonCSS","size","Size","ComponentLStyling","primary_500","primary_20","primary_100","ButtonDropdownWrapper","primary_700"],"mappings":"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","sourcesContent":["import styled, { css } from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { ComponentMStyling, ComponentLStyling, ComponentSStyling, ComponentXSStyling, ComponentXXSStyling } from '../styles/typography';\nimport { Size } from '../types';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const Dropdown = styled.div<{ isButton: boolean; locked?: boolean; disabled?: boolean; margin?: string; minWidth?: string }>`\n position: relative;\n display: inline-block;\n ${(props) => !props.isButton && (props?.minWidth ? `width: 100%; min-width: ${props.minWidth};` : 'width: 100%; min-width: 344px;')}\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : '')}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n\n .show {\n display: block;\n }\n\n .value {\n flex-grow: 1;\n }\n\n input:hover + div {\n color: ${COLORS.primary_600};\n }\n\n input:active + div {\n color: ${COLORS.primary_800};\n }\n`;\n\nconst lockedState = css`\n background-color: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n color: ${COLORS.neutral_600};\n pointer-events: none;\n cursor: not-allowed;\n input {\n color: ${COLORS.neutral_600} !important;\n }\n`;\n\nconst disabledState = css`\n background-color: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n pointer-events: none;\n cursor: not-allowed;\n svg {\n color: ${COLORS.neutral_300} !important;\n }\n input {\n color: ${COLORS.neutral_300} !important;\n ::placeholder {\n color: ${COLORS.neutral_300} !important;\n }\n }\n`;\n\nconst activeValidationMessage = css`\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.warning_400};\n`;\n\nconst placeholderStyling = css`\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n`;\n\nexport const InputField = styled.input`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n ::placeholder {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n`;\n\nexport const StyledField = styled.div<{ disabled: boolean; locked: boolean; showValidationMessage?: boolean; isPlaceholder?: boolean; fontSize?: string; minWidth?: string }>`\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n\n padding: 12px 16px;\n height: 48px;\n min-width: ${(props) => (props.minWidth ? `${props.minWidth}` : '344px')};\n width: 100%;\n\n background: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n box-sizing: border-box;\n border-radius: 4px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 4px;\n\n input {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 16px;\n height: 56px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 12px 16px;\n height: 48px;\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n height: 56px;\n padding: 16px;\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &:focus {\n outline: 3px solid #ddd;\n }\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n &:hover {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_200};\n input {\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n }\n cursor: pointer;\n }\n &:active {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_300};\n input {\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.button {\n ${(props) => ComponentSStyling(ComponentTextStyle.Bold, props.disabled ? COLORS.neutral_300 : COLORS.neutral_600)}\n\n box-sizing: border-box;\n height: 32px;\n padding: 0 8px;\n width: initial;\n min-width: initial;\n border: none !important;\n box-shadow: none;\n border-radius: 4px;\n\n &.expanded {\n color: ${COLORS.neutral_800};\n background: ${COLORS.neutral_20};\n }\n }\n\n ${(props) => (props.disabled ? disabledState : '')}\n ${(props) => (props.locked ? lockedState : '')}\n ${(props) => (props.showValidationMessage ? activeValidationMessage : '')}\n ${(props) => (props.isPlaceholder ? placeholderStyling : '')}\n\n ${CommonInteractionStyling};\n`;\n\nexport const ButtonDropdownContentStyling = css`\n min-width: 344px;\n right: 0;\n`;\n\nexport const DropdownContentStyling = styled.div<{ isButton: boolean }>`\n display: none;\n position: absolute;\n background-color: ${COLORS.white};\n width: 100%;\n z-index: ${Z_INDEXES.dropdown};\n margin-top: ${(props) => (props.isButton ? '-4px' : '2px')};\n\n &.show {\n display: block;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\n\n border: 1px solid ${COLORS.neutral_100};\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n padding: 4px 0;\n\n max-height: 240px;\n overflow-y: auto;\n\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n cursor: pointer;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: ${COLORS.white};\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: ${COLORS.neutral_200};\n border-radius: 8px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: ${COLORS.neutral_400};\n }\n`;\n\nexport const DropdownButton = styled.button<{ size?: Size }>`\n ${(props) => DropdownButtonCSS(props.size)}\n`;\n\nexport const DropdownButtonCSS = (size?: Size) => {\n return css`\n ${size == Size.Small && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ${size == Size.Large ? '64px' : size == Size.Medium ? '56px' : '48px'};\n background-color: ${COLORS.white};\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n div.item-content {\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n div.item-label {\n flex: 1 0 calc(100% - 40px);\n }\n\n div.item-icon {\n margin-right: 6px;\n svg {\n display: block;\n margin: auto;\n }\n }\n div.item-icon-old {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n }\n\n ${CommonInteractionStyling};\n\n &.active {\n background: ${COLORS.neutral_20};\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ${COLORS.neutral_200};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_600};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n `;\n};\n\nexport const ButtonDropdownWrapper = styled.div<{ locked?: boolean; disabled?: boolean }>`\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n align-items: center;\n width: fit-content;\n\n .button {\n min-width: 64px;\n }\n\n .value {\n flex-grow: 1;\n display: flex;\n justify-content: center;\n }\n\n .dropdown-arrow {\n width: 24px;\n height: 24px;\n }\n\n ${(props) => (props.locked || props.disabled ? 'cursor: not-allowed;' : 'cursor: pointer;')}\n ${(props) => (props.disabled ? 'pointer-events: none;' : '')}\n \n &:hover .button,\n & > .button:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &:focus .button,\n & > .button:focus {\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2e7fa1;\n outline: none;\n }\n\n &:active .button,\n & > .button:active {\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n}`;\n"],"file":"CommonStyling.js"}
@@ -112,7 +112,8 @@
112
112
  multiSelect = false,
113
113
  scrollable = false,
114
114
  pinTopItem = false,
115
- maxHeight
115
+ maxHeight,
116
+ className
116
117
  }) => {
117
118
  // Globally used variables within the view.
118
119
  const [dropdownOpen, setDropdownOpen] = React.useState(false);
@@ -166,7 +167,9 @@
166
167
  }, icon);
167
168
  };
168
169
 
169
- return /*#__PURE__*/React.createElement(Wrapper, null, renderIconButton(), /*#__PURE__*/React.createElement(_DropdownContent2.default, {
170
+ return /*#__PURE__*/React.createElement(Wrapper, {
171
+ className: className
172
+ }, renderIconButton(), /*#__PURE__*/React.createElement(_DropdownContent2.default, {
170
173
  customizationProps: {
171
174
  itemsType: itemsType,
172
175
  action: action ?? (() => {}),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Dropdown/DropdownButton.tsx"],"names":["Wrapper","styled","div","DropdownButton","itemsType","actionLabel","multiSelect","scrollable","pinTopItem","maxHeight","React","buttonRef","handleValueSelect","values","onClick","handleKeyDown","e","setFocused","document","renderIconButton","event","setDropdownOpen","disabled","action","actionVariant","onValueUpdate","actionIcon","actionLoading","items"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport { IconButton } from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport { DropdownButtonProps } from './DropdownButtonTypes';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = ({ \n items, \n icon, \n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n width,\n size,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight }: DropdownButtonProps) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n \n const handleKeyDown = (e: any) => {\n if (buttonRef?.current && buttonRef.current.contains(e.target)) {\n if (e.keyCode === 13 || e.keyCode === 40 || e.keyCode === 32) {\n if(!dropdownOpen)\n setFocused(0);\n \n if(e.keyCode != 40)\n {\n e.preventDefault();\n buttonRef?.current.click();\n }\n }\n }\n };\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown); \n };\n });\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderIconButton = () => {\n return (\n <IconButton ref={buttonRef} variant=\"secondary\" shape=\"circular\" action={(event: any) => \n {\n if(!event) { //if no event details passed, then this means that user pressed 'enter'\n if(!dropdownOpen)\n setFocused(0);\n }\n setDropdownOpen(!dropdownOpen);\n }} disabled={disabled}>\n {icon}\n </IconButton>\n );\n };\n\n return (\n <Wrapper>\n {renderIconButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {}),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n hideOnClickOutside={true}\n filter=''\n selectedValues={itemsType == 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults='No results'\n isButton={true}\n id='dropdown-content'\n />\n </Wrapper>\n );\n};\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
1
+ {"version":3,"sources":["../../../src/Dropdown/DropdownButton.tsx"],"names":["Wrapper","styled","div","DropdownButton","itemsType","actionLabel","multiSelect","scrollable","pinTopItem","className","React","buttonRef","handleValueSelect","values","onClick","handleKeyDown","e","setFocused","document","renderIconButton","event","setDropdownOpen","disabled","action","actionVariant","onValueUpdate","actionIcon","actionLoading","maxHeight","items"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport { IconButton } from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport { DropdownButtonProps } from './DropdownButtonTypes';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = ({ \n items, \n icon, \n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n width,\n size,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className }: DropdownButtonProps) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n \n const handleKeyDown = (e: any) => {\n if (buttonRef?.current && buttonRef.current.contains(e.target)) {\n if (e.keyCode === 13 || e.keyCode === 40 || e.keyCode === 32) {\n if(!dropdownOpen)\n setFocused(0);\n \n if(e.keyCode != 40)\n {\n e.preventDefault();\n buttonRef?.current.click();\n }\n }\n }\n };\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown); \n };\n });\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderIconButton = () => {\n return (\n <IconButton ref={buttonRef} variant=\"secondary\" shape=\"circular\" action={(event: any) => \n {\n if(!event) { //if no event details passed, then this means that user pressed 'enter'\n if(!dropdownOpen)\n setFocused(0);\n }\n setDropdownOpen(!dropdownOpen);\n }} disabled={disabled}>\n {icon}\n </IconButton>\n );\n };\n\n return (\n <Wrapper className={className}>\n {renderIconButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {}),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n hideOnClickOutside={true}\n filter=''\n selectedValues={itemsType == 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults='No results'\n isButton={true}\n id='dropdown-content'\n />\n </Wrapper>\n );\n};\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
@@ -238,14 +238,14 @@
238
238
 
239
239
  if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {
240
240
  const filtered = getFilteredItems();
241
-
242
- for (let i = focusedNow - 1; i > 0; i--) {
243
- if (!filtered[i - 1]?.disabled) {
244
- focusedNow = i;
245
- break;
241
+ if (focusedNow == 1 && haveTopItem()) focusedNow = 0;else {
242
+ for (let i = focusedNow - 1; i > 0; i--) {
243
+ if (!filtered[i - 1]?.disabled) {
244
+ focusedNow = i;
245
+ break;
246
+ }
246
247
  }
247
248
  }
248
-
249
249
  setNewFocusedElement(focusedNow);
250
250
  }
251
251
  } else if (e.keyCode === 40) {