@laerdal/life-react-components 1.3.2-dev.6.full → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/esm/Button/Iconbutton.js +0 -1
  2. package/dist/esm/Button/Iconbutton.js.map +1 -1
  3. package/dist/esm/Dropdown/DropdownButton.js +5 -2
  4. package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
  5. package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
  6. package/dist/esm/HyperLink/HyperLink.js +2 -1
  7. package/dist/esm/HyperLink/HyperLink.js.map +1 -1
  8. package/dist/esm/InputFields/Checkbox.js +23 -13
  9. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  10. package/dist/esm/Modals/ModalDialog.js +7 -4
  11. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  12. package/dist/esm/Modals/ModalNote.js +1 -1
  13. package/dist/esm/Modals/ModalNote.js.map +1 -1
  14. package/dist/esm/Table/Table.js +131 -181
  15. package/dist/esm/Table/Table.js.map +1 -1
  16. package/dist/esm/Table/TableBody.js +135 -0
  17. package/dist/esm/Table/TableBody.js.map +1 -0
  18. package/dist/esm/Table/TableFooter.js +68 -0
  19. package/dist/esm/Table/TableFooter.js.map +1 -0
  20. package/dist/esm/Table/TableHeaders.js +55 -0
  21. package/dist/esm/Table/TableHeaders.js.map +1 -0
  22. package/dist/esm/Table/TableStyles.js +181 -110
  23. package/dist/esm/Table/TableStyles.js.map +1 -1
  24. package/dist/esm/Table/__tests__/Table.test.js +162 -21
  25. package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
  26. package/dist/js/Button/Iconbutton.d.ts +2 -2
  27. package/dist/js/Button/Iconbutton.js +0 -1
  28. package/dist/js/Button/Iconbutton.js.map +1 -1
  29. package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
  30. package/dist/js/Dropdown/DropdownButton.js +5 -2
  31. package/dist/js/Dropdown/DropdownButton.js.map +1 -1
  32. package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
  33. package/dist/js/Dropdown/DropdownFilter.d.ts +1 -1
  34. package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
  35. package/dist/js/HyperLink/HyperLink.d.ts +1 -1
  36. package/dist/js/HyperLink/HyperLink.js +2 -2
  37. package/dist/js/HyperLink/HyperLink.js.map +1 -1
  38. package/dist/js/InputFields/Checkbox.d.ts +3 -2
  39. package/dist/js/InputFields/Checkbox.js +13 -11
  40. package/dist/js/InputFields/Checkbox.js.map +1 -1
  41. package/dist/js/Modals/ModalDialog.d.ts +2 -1
  42. package/dist/js/Modals/ModalDialog.js +7 -4
  43. package/dist/js/Modals/ModalDialog.js.map +1 -1
  44. package/dist/js/Modals/ModalNote.d.ts +1 -1
  45. package/dist/js/Modals/ModalNote.js +1 -1
  46. package/dist/js/Modals/ModalNote.js.map +1 -1
  47. package/dist/js/Table/Table.js +166 -209
  48. package/dist/js/Table/Table.js.map +1 -1
  49. package/dist/js/Table/TableBody.d.ts +9 -0
  50. package/dist/js/Table/TableBody.js +167 -0
  51. package/dist/js/Table/TableBody.js.map +1 -0
  52. package/dist/js/Table/TableFooter.d.ts +15 -0
  53. package/dist/js/Table/TableFooter.js +95 -0
  54. package/dist/js/Table/TableFooter.js.map +1 -0
  55. package/dist/js/Table/TableHeaders.d.ts +9 -0
  56. package/dist/js/Table/TableHeaders.js +77 -0
  57. package/dist/js/Table/TableHeaders.js.map +1 -0
  58. package/dist/js/Table/TableStyles.d.ts +19 -7
  59. package/dist/js/Table/TableStyles.js +66 -16
  60. package/dist/js/Table/TableStyles.js.map +1 -1
  61. package/dist/js/Table/TableTypes.d.ts +26 -16
  62. package/dist/js/Table/__tests__/Table.test.js +172 -30
  63. package/dist/js/Table/__tests__/Table.test.js.map +1 -1
  64. package/dist/umd/Button/Iconbutton.js +0 -1
  65. package/dist/umd/Button/Iconbutton.js.map +1 -1
  66. package/dist/umd/Dropdown/DropdownButton.js +5 -2
  67. package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
  68. package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
  69. package/dist/umd/HyperLink/HyperLink.js +2 -1
  70. package/dist/umd/HyperLink/HyperLink.js.map +1 -1
  71. package/dist/umd/InputFields/Checkbox.js +23 -13
  72. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  73. package/dist/umd/Modals/ModalDialog.js +7 -4
  74. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  75. package/dist/umd/Modals/ModalNote.js +1 -1
  76. package/dist/umd/Modals/ModalNote.js.map +1 -1
  77. package/dist/umd/Table/Table.js +157 -188
  78. package/dist/umd/Table/Table.js.map +1 -1
  79. package/dist/umd/Table/TableBody.js +270 -0
  80. package/dist/umd/Table/TableBody.js.map +1 -0
  81. package/dist/umd/Table/TableFooter.js +89 -0
  82. package/dist/umd/Table/TableFooter.js.map +1 -0
  83. package/dist/umd/Table/TableHeaders.js +91 -0
  84. package/dist/umd/Table/TableHeaders.js.map +1 -0
  85. package/dist/umd/Table/TableStyles.js +185 -115
  86. package/dist/umd/Table/TableStyles.js.map +1 -1
  87. package/dist/umd/Table/__tests__/Table.test.js +164 -25
  88. package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
  89. package/package.json +1 -1
@@ -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":";;;;;;;;;;;;;;;;;;;MAGA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGA,QAAMA,OAAO,GAAGC,2BAAOC,GAAI;AAC3B;AACA;AAFA,CAAA;;AAKA,QAAMC,cAAc,GAAG,CAAC;AAAA,IAAA,KAAA;AAAA,IAAA,IAAA;AAAA,IAAA,QAAA;AAAA,IAAA,OAAA;AAKtBC,IAAAA,SAAS,GALa,QAAA;AAAA,IAAA,MAAA;AAOtBC,IAAAA,WAAW,GAPW,EAAA;AAAA,IAAA,aAAA;AAAA,IAAA,UAAA;AAAA,IAAA,aAAA;AAAA,IAAA,KAAA;AAAA,IAAA,IAAA;AAAA,IAAA,SAAA;AActBC,IAAAA,WAAW,GAdW,KAAA;AAetBC,IAAAA,UAAU,GAfY,KAAA;AAgBtBC,IAAAA,UAAU,GAhBY,KAAA;AAAA,IAAA,SAAA;AAkBtBC,IAAAA;AAlBsB,GAAD,KAkBgB;AACrC;AACA,UAAM,CAAA,YAAA,EAAA,eAAA,IAAkCC,KAAK,CAALA,QAAAA,CAAxC,KAAwCA,CAAxC;AACA,UAAM,CAAA,cAAA,EAAA,iBAAA,IAAsCA,KAAK,CAALA,QAAAA,CAA5C,EAA4CA,CAA5C;AACA,UAAM,CAAA,OAAA,EAAA,UAAA,IAAwBA,KAAK,CAALA,QAAAA,CAA9B,IAA8BA,CAA9B;AACA,UAAMC,SAAS,GAAGD,KAAK,CAALA,MAAAA,CAAlB,IAAkBA,CAAlB;;AAEA,UAAME,iBAAiB,GAAIC,MAAD,IAAsB;AAC9C;AACAC,MAAAA,OAAO,CAAPA,MAAO,CAAPA;AAFF,KAAA;;AAMA,UAAMC,aAAa,GAAIC,CAAD,IAAY;AAChC,UAAIL,SAAS,EAATA,OAAAA,IAAsBA,SAAS,CAATA,OAAAA,CAAAA,QAAAA,CAA2BK,CAAC,CAAtD,MAA0BL,CAA1B,EAAgE;AAC9D,YAAIK,CAAC,CAADA,OAAAA,KAAAA,EAAAA,IAAoBA,CAAC,CAADA,OAAAA,KAApBA,EAAAA,IAAwCA,CAAC,CAADA,OAAAA,KAA5C,EAAA,EAA8D;AAC5D,cAAG,CAAH,YAAA,EACEC,UAAU,CAAVA,CAAU,CAAVA;;AAEF,cAAGD,CAAC,CAADA,OAAAA,IAAH,EAAA,EACA;AACEA,YAAAA,CAAC,CAADA,cAAAA;AACAL,YAAAA,SAAS,EAATA,OAAAA,CAAAA,KAAAA;AACD;AACF;AACF;AAZH,KAAA;;AAeAD,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpBQ,MAAAA,QAAQ,CAARA,gBAAAA,CAAAA,SAAAA,EAAAA,aAAAA;AACA,aAAO,MAAM;AACXA,QAAAA,QAAQ,CAARA,mBAAAA,CAAAA,SAAAA,EAAAA,aAAAA;AADF,OAAA;AAFFR,KAAAA;AAOA;AACF;AACA;AACA;;AACE,UAAMS,gBAAgB,GAAG,MAAM;AAC7B,aAAA,aACE,KAAA,CAAA,aAAA,CAAA,kBAAA,EAAA;AAAY,QAAA,GAAG,EAAf,SAAA;AAA6B,QAAA,OAAO,EAApC,WAAA;AAAiD,QAAA,KAAK,EAAtD,UAAA;AAAkE,QAAA,MAAM,EAAGC,KAAD,IAC1E;AACE,cAAG,CAAH,KAAA,EAAW;AAAE;AACX,gBAAG,CAAH,YAAA,EACEH,UAAU,CAAVA,CAAU,CAAVA;AACH;;AACDI,UAAAA,eAAe,CAAC,CAAhBA,YAAe,CAAfA;AANF,SAAA;AAOG,QAAA,QAAQ,EAAEC;AAPb,OAAA,EADF,IACE,CADF;AADF,KAAA;;AAeA,WAAA,aACE,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAS,MAAA,SAAS,EAAEb;AAApB,KAAA,EACGU,gBADH,EAAA,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,yBAAA,EAAA;AACE,MAAA,kBAAkB,EAAE;AAClBf,QAAAA,SAAS,EADS,SAAA;AAElBmB,QAAAA,MAAM,EAAEA,MAAM,KAAK,MAAM,CAFP,CAEJ,CAFI;AAGlBlB,QAAAA,WAAW,EAHO,WAAA;AAIlBmB,QAAAA,aAAa,EAJK,aAAA;AAKlBC,QAAAA,aAAa,EALK,iBAAA;AAMlBnB,QAAAA,WAAW,EANO,WAAA;AAOlBoB,QAAAA,UAAU,EAPQ,UAAA;AAQlBC,QAAAA,aAAa,EARK,aAAA;AASlBpB,QAAAA,UAAU,EATQ,UAAA;AAUlBC,QAAAA,UAAU,EAVQ,UAAA;AAWlBoB,QAAAA,SAAS,EAXS,SAAA;AAYlBC,QAAAA,KAAK,EAAEA;AAZW,OADtB;AAeE,MAAA,OAAO,EAfT,OAAA;AAgBE,MAAA,UAAU,EAhBZ,UAAA;AAiBE,MAAA,IAAI,EAjBN,IAAA;AAkBE,MAAA,KAAK,EAlBP,KAAA;AAmBE,MAAA,SAAS,EAnBX,SAAA;AAoBE,MAAA,MAAM,EApBR,YAAA;AAqBE,MAAA,SAAS,EArBX,eAAA;AAsBE,MAAA,kBAAkB,EAtBpB,IAAA;AAuBE,MAAA,MAAM,EAvBR,EAAA;AAwBE,MAAA,cAAc,EAAEzB,SAAS,IAATA,QAAAA,GAAAA,EAAAA,GAxBlB,cAAA;AAyBE,MAAA,iBAAiB,EAzBnB,iBAAA;AA0BE,MAAA,kBAAkB,EA1BpB,YAAA;AA2BE,MAAA,QAAQ,EA3BV,IAAA;AA4BE,MAAA,EAAE,EAAC;AA5BL,KAAA,CAFF,CADF;AAxEF,GAAA;;oBA6GA,c","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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Dropdown/DropdownFilter.tsx"],"names":["label","customContent","id","list","placeholder","onSelect","onInputChange","initalValue","required","disableSorting","messageOnNoResults","disabled","locked","isButton","activeValidationMessage","autofilledMessage","scrollable","buttonFontSize","keepInitialValue","icon","margin","DropdownFilter","React","styledFieldRef","inputRef","handleKeyPress","e","matches","c","input","setInput","setFocused","setIsOpen","setRestartFilter","x","setPlaceholderSearch","document","setIsLoading","selectedValues","setSelectedValues","renderStandardDropdown","isOpen","size","Math","isLoading","Size","COLORS","neutral_600","renderButtonDropdown","itemsType","multiSelect","action","onValueUpdate","values","val","items","value","warning_400"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,QAAMqB,cAAc,GAAG,CAAC;AAAA,IAAA,EAAA;AAAA,IAAA,IAAA;AAAA,IAAA,WAAA;AAAA,IAAA,QAAA;AAAA,IAAA,aAAA;AAAA,IAAA,WAAA;AAAA,IAAA,QAAA;AAAA,IAAA,cAAA;AAAA,IAAA,kBAAA;AAAA,IAAA,QAAA;AAAA,IAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,QAAA;AAAA,IAAA,uBAAA;AAAA,IAAA,iBAAA;AAAA,IAAA,IAAA;AAAA,IAAA,cAAA;AAAA,IAAA,gBAAA;AAAA,IAAA,IAAA;AAoBtBD,IAAAA,MAAM,GAAG;AApBa,GAAD,KAqBI;AACzB,UAAM,CAAA,MAAA,EAAA,SAAA,IAAsBE,KAAK,CAALA,QAAAA,CAA5B,KAA4BA,CAA5B;AACA,UAAM,CAAA,SAAA,EAAA,YAAA,IAA4BA,KAAK,CAALA,QAAAA,CAAlC,KAAkCA,CAAlC;AACA,UAAM,CAAA,KAAA,EAAA,QAAA,IAAoBA,KAAK,CAALA,QAAAA,CAAuBf,WAAW,IAA5D,EAA0Be,CAA1B;AACA,UAAM,CAAA,iBAAA,EAAA,oBAAA,IAA4CA,KAAK,CAALA,QAAAA,CAAuBlB,WAAW,IAApF,EAAkDkB,CAAlD;AACA,UAAM,CAAA,aAAA,EAAA,gBAAA,IAAoCA,KAAK,CAALA,QAAAA,CAA1C,KAA0CA,CAA1C;AACA,UAAM,CAAA,cAAA,EAAA,iBAAA,IAAsCA,KAAK,CAALA,QAAAA,CAA5C,EAA4CA,CAA5C;AACA,UAAM,CAAA,OAAA,EAAA,UAAA,IAAwBA,KAAK,CAALA,QAAAA,CAA9B,IAA8BA,CAA9B;AAEA,UAAMC,cAAc,GAAGD,KAAK,CAALA,MAAAA,CAAvB,IAAuBA,CAAvB;AACA,UAAME,QAAQ,GAAGF,KAAK,CAALA,MAAAA,CAAjB,IAAiBA,CAAjB;;AAEA,UAAMG,cAAc,GAAIC,CAAD,IAAY;AACjC,UAAIH,cAAc,EAAdA,OAAAA,IAA2BA,cAAc,CAAdA,OAAAA,CAAAA,QAAAA,CAAgCG,CAAC,CAAhE,MAA+BH,CAA/B,EAA0E;AACxE,YAAIG,CAAC,CAADA,OAAAA,KAAAA,EAAAA,IAAoB,CAAxB,MAAA,EAAiC;AAC/B,gBAAMC,OAAO,GAAGxB,IAAI,EAAJA,MAAAA,CAAcyB,CAAD,IAAOA,CAAC,CAADA,KAAAA,CAAAA,WAAAA,OAA0BC,KAAK,CAAnE,WAA8DA,EAA9C1B,CAAhB;;AACA,cAAIwB,OAAO,CAAPA,MAAAA,KAAAA,CAAAA,IAAJ,QAAA,EAAsC;AACpCtB,YAAAA,QAAQ,CAACsB,OAAO,CAAPA,CAAO,CAAPA,CAATtB,KAAQ,CAARA;AACAyB,YAAAA,QAAQ,CAACH,OAAO,CAAPA,CAAO,CAAPA,CAATG,KAAQ,CAARA;AACD;;AACD,cAAG,CAAH,MAAA,EACEC,UAAU,CAAVA,CAAU,CAAVA;AACFC,UAAAA,SAAS,CAAC,CAAVA,MAAS,CAATA;;AACA,cAAIL,OAAO,CAAPA,MAAAA,KAAJ,CAAA,EAA0B;AACxBG,YAAAA,QAAQ,CAARA,EAAQ,CAARA;AACD;AAXH,SAAA,MAYO,IAAIJ,CAAC,CAADA,OAAAA,KAAJ,EAAA,EAAsB;AAC3B,cAAG,CAAH,MAAA,EACEK,UAAU,CAAVA,CAAU,CAAVA;AACFC,UAAAA,SAAS,CAAC,CAAVA,MAAS,CAATA;AACD;AACF;AAnBH,KAAA;;AAsBAV,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpB,UAAIf,WAAW,IAAIA,WAAW,KAA9B,EAAA,EAAuC;AACrCuB,QAAAA,QAAQ,CAARA,WAAQ,CAARA;AACAG,QAAAA,gBAAgB,CAAhBA,IAAgB,CAAhBA;AACD;AAJHX,KAAAA,EAKG,CALHA,WAKG,CALHA;AAOAA,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpB,UAAI,CAAA,MAAA,IAAW,CAACnB,IAAI,CAAJA,IAAAA,CAAU+B,CAAC,IAAIA,CAAC,CAADA,KAAAA,IAA/B,KAAgB/B,CAAhB,EAAkD;AAChD2B,QAAAA,QAAQ,CAARA,EAAQ,CAARA;AACAK,QAAAA,oBAAoB,CAAC/B,WAAW,IAAhC+B,EAAoB,CAApBA;AACD;AAJHb,KAAAA,EAKG,CALHA,MAKG,CALHA;AAOAA,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpBc,MAAAA,QAAQ,CAARA,gBAAAA,CAAAA,UAAAA,EAAAA,cAAAA;AACA,aAAO,MAAM;AACXA,QAAAA,QAAQ,CAARA,mBAAAA,CAAAA,UAAAA,EAAAA,cAAAA;AADF,OAAA;AAFFd,KAAAA;AAOAA,IAAAA,KAAK,CAALA,SAAAA,CAAgB,MAAM;AACpBe,MAAAA,YAAY,CAAZA,KAAY,CAAZA;AACA,UAAIC,cAAc,CAAdA,MAAAA,GAAAA,CAAAA,IAA6B,CAACnC,IAAI,CAAJA,IAAAA,CAAU+B,CAAC,IAAIA,CAAC,CAADA,KAAAA,IAAjD,KAAkC/B,CAAlC,EACEoC,iBAAiB,CAAjBA,EAAiB,CAAjBA;;AAEF,UAAGpC,IAAI,CAAJA,IAAAA,CAAU+B,CAAC,IAAIA,CAAC,CAADA,KAAAA,IAAlB,KAAG/B,CAAH,EACA;AACEoC,QAAAA,iBAAiB,CAAC,CAAlBA,KAAkB,CAAD,CAAjBA;AACAlC,QAAAA,QAAQ,IAAIA,QAAQ,CAApBA,KAAoB,CAApBA;AACD;AATHiB,KAAAA,EAUG,CAVHA,KAUG,CAVHA;;AAaA,UAAMkB,sBAAsB,GAAG,MAAM;AACnC,aAAA,aACE,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AACE,QAAA,GAAG,EADL,cAAA;AAEE,QAAA,SAAS,EAAE,CAACC,MAAM,GAAA,WAAA,GAAP,EAAA,EAAA,MAAA,CAAmCC,IAAI,GAAA,IAAA,GAFpD,EAEa,CAFb;AAGE,QAAA,OAAO,EAAGhB,CAAD,IAAY;AACnBA,UAAAA,CAAC,CAADA,eAAAA;AACAM,UAAAA,SAAS,CAAC,CAAVA,MAAS,CAATA;AACAR,UAAAA,QAAQ,CAARA,OAAAA,EAAAA,KAAAA;AANJ,SAAA;AAQE,QAAA,QAAQ,EAAEb,QAAQ,IAARA,MAAAA,GAAqB,CAArBA,CAAAA,GARZ,CAAA;AASE,QAAA,QAAQ,EAAEA,QAAQ,IATpB,KAAA;AAUE,QAAA,MAAM,EAAEC,MAAM,IAVhB,KAAA;AAWE,QAAA,qBAAqB,EAAE,CAAC,CAX1B,uBAAA;AAYE,QAAA,QAAQ,EAZV,cAAA;AAaE,uBAAc,YAAWV,EAAG;AAb9B,OAAA,EAAA,aAcE,KAAA,CAAA,aAAA,CAAA,yBAAA,EAAA;AACE,QAAA,GAAG,EADL,QAAA;AAEE,QAAA,YAAY,EAAE,SAASyC,IAAI,CAAJA,KAAAA,CAAWA,IAAI,CAAJA,MAAAA,KAFpC,YAEyBA,CAFzB;AAGE,QAAA,IAAI,EAHN,QAAA;AAIE,QAAA,WAAW,EAJb,iBAAA;AAKE,QAAA,KAAK,EALP,KAAA;AAME,QAAA,SAAS,EAAED,IAAI,GAAI,GAAEA,IAAN,QAAA,GANjB,OAAA;AAOE,QAAA,QAAQ,EAAGhB,CAAD,IAAY;AACpB,cAAI,CAAA,MAAA,IAAW,CAAf,QAAA,EAA0B;AACxBO,YAAAA,gBAAgB,CAAhBA,KAAgB,CAAhBA;AACAI,YAAAA,YAAY,CAAZA,IAAY,CAAZA;AACAL,YAAAA,SAAS,CAATA,IAAS,CAATA;AACAF,YAAAA,QAAQ,CAACJ,CAAC,CAADA,MAAAA,CAATI,KAAQ,CAARA;;AACA,gBAAA,aAAA,EAAmB;AACjBxB,cAAAA,aAAa,CAACoB,CAAC,CAADA,MAAAA,CAAAA,KAAAA,IAAdpB,EAAa,CAAbA;AACD;AACF;AAhBL,SAAA;AAkBE,QAAA,OAAO,EAAGoB,CAAD,IAAY;AACnB,cAAI,CAAA,MAAA,IAAW,CAAf,QAAA,EAA0B;AACxBA,YAAAA,CAAC,CAADA,eAAAA;AACAM,YAAAA,SAAS,CAAC,CAAVA,MAAS,CAATA;AACD;AAtBL,SAAA;AAwBE,QAAA,OAAO,EAAE,MAAMG,oBAAoB,CAxBrC,EAwBqC,CAxBrC;AAyBE,QAAA,MAAM,EAAE,MAAMA,oBAAoB,CAAC/B,WAAW,IAzBhD,EAyBoC,CAzBpC;AA0BE,QAAA,QAAQ,EA1BV,QAAA;AA2BE,QAAA,QAAQ,EAAEO,QAAQ,IAARA,MAAAA,GAAqB,CAArBA,CAAAA,GA3BZ,CAAA;AA4BE,QAAA,QAAQ,EAAEA,QAAQ,IAAI;AA5BxB,OAAA,CAdF,EA6CGiC,SAAS,GAAA,aAAG,KAAA,CAAA,aAAA,CAAA,kCAAA,EAAA;AAAkB,QAAA,IAAI,EAAEC,YAAxB,KAAA;AAAoC,QAAA,KAAK,EAAEC,eAAOC;AAAlD,OAAA,CAAH,GA7CZ,IAAA,EAAA,aA+CE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,QAAA,OAAO,EAAE,MAAMf,SAAS,CAAC,CAA9B,MAA6B,CAA7B;AAAwC,QAAA,SAAS,EAAE;AAAnD,OAAA,EACG,MAAM,IAAI,CAAV,MAAA,IAAqB,CAArB,QAAA,GAAA,aAAiC,KAAA,CAAA,aAAA,CAAA,wBAAA,EAAA;AAAa,QAAA,IAAI,EAAjB,MAAA;AAAyB,QAAA,SAAS,EAAEU,IAAI,GAAA,IAAA,GAAU;AAAlD,OAAA,CAAjC,GAAA,aAA4F,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AAAe,QAAA,IAAI,EAAnB,MAAA;AAA2B,QAAA,SAAS,EAAEA,IAAI,GAAA,IAAA,GAAU;AAApD,OAAA,CAD/F,CA/CF,CADF;AADF,KAAA;;AAwDA,UAAMM,oBAAoB,GAAG,MAAA,aAC3B,KAAA,CAAA,aAAA,CAAA,oCAAA,EAAA;AACE,MAAA,OAAO,EAAGtB,CAAD,IAAY;AACnBA,QAAAA,CAAC,CAADA,eAAAA;AACAM,QAAAA,SAAS,CAAC,CAAVA,MAAS,CAATA;AACAR,QAAAA,QAAQ,CAARA,OAAAA,EAAAA,KAAAA;AAJJ,OAAA;AAME,MAAA,QAAQ,EANV,QAAA;AAOE,MAAA,MAAM,EAAEZ;AAPV,KAAA,EAAA,aAQE,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AACE,MAAA,GAAG,EADL,cAAA;AAEE,MAAA,SAAS,EAAE,CAAC6B,MAAM,GAAA,WAAA,GAAP,EAAA,EAAA,MAAA,CAAmCC,IAAI,GAAGA,IAAI,GAAP,GAAA,GAAvC,EAAA,EAAA,MAAA,CAAkE7B,QAAQ,GAAA,QAAA,GAFvF,EAEa,CAFb;AAGE,MAAA,QAAQ,EAAEF,QAAQ,IAARA,MAAAA,GAAqB,CAArBA,CAAAA,GAHZ,CAAA;AAIE,MAAA,QAAQ,EAAEA,QAAQ,IAJpB,KAAA;AAKE,MAAA,MAAM,EAAEC,MAAM,IALhB,KAAA;AAME,MAAA,qBAAqB,EAAE,CAAC,CAN1B,uBAAA;AAOE,MAAA,QAAQ,EAAEK;AAPZ,KAAA,EAAA,IAAA,EAAA,aASE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAE;AAAhB,KAAA,EAA0BV,WAAW,IAAXA,gBAAAA,GAAAA,WAAAA,GAAgDsB,KAAK,IATjF,iBASE,CATF,EAUGe,SAAS,GAAA,aAAG,KAAA,CAAA,aAAA,CAAA,kCAAA,EAAA;AAAkB,MAAA,IAAI,EAAEC,YAAxB,KAAA;AAAoC,MAAA,KAAK,EAAEC,eAAOC;AAAlD,KAAA,CAAH,GAVZ,IAAA,EAAA,aAWE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,OAAO,EAAE,MAAMf,SAAS,CAAC,CAA9B,MAA6B,CAA7B;AAAwC,MAAA,SAAS,EAAE;AAAnD,KAAA,EACG,MAAM,IAAI,CAAV,MAAA,IAAqB,CAArB,QAAA,GAAA,aAAiC,KAAA,CAAA,aAAA,CAAA,wBAAA,EAAA;AAAa,MAAA,IAAI,EAAjB,MAAA;AAAyB,MAAA,SAAS,EAAEU,IAAI,GAAA,IAAA,GAAU;AAAlD,KAAA,CAAjC,GAAA,aAA4F,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AAAe,MAAA,IAAI,EAAnB,MAAA;AAA2B,MAAA,SAAS,EAAEA,IAAI,GAAA,IAAA,GAAU;AAApD,KAAA,CAD/F,CAXF,CARF,CADF;;AA2BA,WAAA,aACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,uBAAA,EAAA;AAAU,MAAA,QAAQ,EAAE7B,QAAQ,IAA5B,KAAA;AAAuC,MAAA,QAAQ,EAA/C,QAAA;AAA2D,MAAA,MAAM,EAAjE,MAAA;AAA2E,MAAA,SAAS,EAAE6B,IAAI,GAAA,IAAA,GAA1F,EAAA;AAAwG,MAAA,MAAM,EAAEtB;AAAhH,KAAA,EACG,CAAA,QAAA,IAAaoB,sBADhB,EAAA,EAEG,CAAC,CAAD,QAAA,IAAcQ,oBAFjB,EAAA,EAGG,CAAA,MAAA,IAAW,CAAX,QAAA,IAAA,aACC,KAAA,CAAA,aAAA,CAAA,yBAAA,EAAA;AACA,MAAA,MAAM,EADN,MAAA;AAEA,MAAA,kBAAkB,EAAEtC,kBAAkB,IAFtC,EAAA;AAGA,MAAA,cAAc,EAHd,cAAA;AAIA,MAAA,iBAAiB,EAJjB,iBAAA;AAKA,MAAA,kBAAkB,EALlB,IAAA;AAMA,MAAA,IAAI,EAAEgC,IAAI,IAAIG,YANd,KAAA;AAOA,MAAA,OAAO,EAPP,OAAA;AAQA,MAAA,UAAU,EARV,UAAA;AASA,MAAA,kBAAkB,EAAE;AAClBI,QAAAA,SAAS,EADS,QAAA;AAElBjC,QAAAA,UAAU,EAFQ,UAAA;AAGlBkC,QAAAA,WAAW,EAHO,KAAA;AAIlBC,QAAAA,MAAM,EAAE,MAAM,CAJI,CAAA;AAKlBC,QAAAA,aAAa,EAAGC,MAAD,IAAsB;AACnC,gBAAMC,GAAG,GAAGD,MAAM,CAANA,CAAM,CAANA,IAAZ,EAAA;AACApB,UAAAA,gBAAgB,CAAhBA,IAAgB,CAAhBA;AACAH,UAAAA,QAAQ,CAARA,GAAQ,CAARA;AARgB,SAAA;AAUlByB,QAAAA,KAAK,EAAE,IAAI,CAAJ,GAAA,CAASrB,CAAC,KAAK;AAAEsB,UAAAA,KAAK,EAAEtB,CAAC,CAAV,KAAA;AAAkBjC,UAAAA,aAAa,EAAEiC,CAAC,CAACjC;AAAnC,SAAL,CAAV;AAVW,OATpB;AAqBA,MAAA,MAAM,EAAE,CAAA,aAAA,GAAA,KAAA,GArBR,EAAA;AAsBA,MAAA,SAAS,EAtBT,SAAA;AAuBA,MAAA,SAAS,EAvBT,KAAA;AAwBA,MAAA,QAAQ,EAAEY,QAAQ,IAxBlB,KAAA;AAyBA,MAAA,EAAE,EAAG,GAAEX,EAAG;AAzBV,KAAA,CAJJ,CADF,EAiCGY,uBAAuB,IAAA,aACtB,KAAA,CAAA,aAAA,CAAA,uBAAA,EAAA;AAAgB,MAAA,SAAS,EAAE4B,IAAI,IAAI;AAAnC,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,MAAA,IAAI,EAAtB,MAAA;AAA8B,MAAA,KAAK,EAAEI,eAAOW;AAA5C,KAAA,CADF,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EApCN,uBAoCM,CAFF,CAlCJ,EAuCG1C,iBAAiB,IAAA,aAChB,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AAAmB,MAAA,SAAS,EAAE2B,IAAI,IAAI;AAAtC,KAAA,EAAA,aACE,KAAA,CAAA,aAAA,CAAA,wBAAA,EAAA;AAAa,MAAA,IAAI,EAAjB,MAAA;AAAyB,MAAA,KAAK,EAAEI,eAAOC;AAAvC,KAAA,CADF,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EA3CR,iBA2CQ,CAFF,CAxCJ,CADF;AA5KF,GAAA;;;AAtBE7C,IAAAA,E;AACAC,IAAAA,I;AANAH,MAAAA,K;AACAC,MAAAA,a;;AAMAG,IAAAA,W;AACAC,IAAAA,Q;AACAC,IAAAA,a;AACAC,IAAAA,W;AACAC,IAAAA,Q;AACAC,IAAAA,c;AACAC,IAAAA,kB;AACAC,IAAAA,Q;AACAC,IAAAA,M;AACAC,IAAAA,Q;AACAC,IAAAA,uB;AACAC,IAAAA,iB;AAEAC,IAAAA,U;AACAC,IAAAA,c;AACAC,IAAAA,gB;AACAC,IAAAA,I;AACAC,IAAAA,M;;oBAiOF,c","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownButton, StyledField, Dropdown, ButtonDropdownWrapper, InputField } from './CommonStyling';\nimport DropdownContent from './DropdownContent';\nimport { Size } from '../types'\nimport { AutofilledMessage, WarningMessage } from '../InputFields/styling';\nimport { ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\n\ninterface DropdownFilterItem {\n label: string;\n customContent?: React.ReactNode;\n}\n\ninterface DropdownFilterProps {\n id: string;\n list: DropdownFilterItem[];\n placeholder?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n initalValue?: string;\n required?: boolean;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n locked?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n scrollable?: boolean;\n buttonFontSize?: string;\n keepInitialValue?: boolean;\n icon?: React.ReactNode;\n margin?: string;\n}\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n initalValue,\n required,\n disableSorting,\n messageOnNoResults,\n disabled,\n locked,\n scrollable,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n buttonFontSize,\n keepInitialValue,\n icon,\n margin = '4px 0',\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [isLoading, setIsLoading] = React.useState<Boolean>(false);\n const [input, setInput] = React.useState<string>(initalValue ?? '');\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const styledFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const handleKeyPress = (e: any) => {\n if (styledFieldRef?.current && styledFieldRef.current.contains(e.target)) {\n if (e.keyCode === 13 && !locked) {\n const matches = list?.filter((c) => c.label.toLowerCase() === input.toLowerCase());\n if (matches.length === 1 && onSelect) {\n onSelect(matches[0].label);\n setInput(matches[0].label);\n }\n if(!isOpen)\n setFocused(0);\n setIsOpen(!isOpen);\n if (matches.length === 0) {\n setInput('');\n }\n } else if (e.keyCode === 40) {\n if(!isOpen)\n setFocused(0);\n setIsOpen(!isOpen);\n }\n }\n };\n\n React.useEffect(() => {\n if (initalValue || initalValue === '') {\n setInput(initalValue);\n setRestartFilter(true);\n }\n }, [initalValue]);\n\n React.useEffect(() => {\n if (!isOpen && !list.some(x => x.label == input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n }, [isOpen]);\n\n React.useEffect(() => {\n document.addEventListener('keypress', handleKeyPress);\n return () => {\n document.removeEventListener('keypress', handleKeyPress);\n };\n });\n\n React.useEffect(() => {\n setIsLoading(false);\n if (selectedValues.length > 0 && !list.some(x => x.label == input))\n setSelectedValues([]);\n\n if(list.some(x => x.label == input))\n {\n setSelectedValues([input]);\n onSelect && onSelect(input);\n }\n }, [input]);\n\n\n const renderStandardDropdown = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '')}\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}\n data-testid={`otherdiv_${id}`}>\n <InputField\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n value={input}\n className={size ? `${size} value` : 'value'}\n onChange={(e: any) => {\n if (!locked && !disabled) {\n setRestartFilter(false);\n setIsLoading(true);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onClick={(e: any) => {\n if (!locked && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n />\n\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} /> : null}\n\n <div onClick={() => setIsOpen(!isOpen)} className={'dropdown-arrow'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n const renderButtonDropdown = () => (\n <ButtonDropdownWrapper\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n disabled={disabled}\n locked={locked}>\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size + ' ' : '').concat(isButton ? 'button' : '')}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n {icon}\n <div className={'value'}>{initalValue && keepInitialValue ? initalValue : input || placeholderSearch}</div>\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} /> : null}\n <div onClick={() => setIsOpen(!isOpen)} className={'dropdown-arrow'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n </ButtonDropdownWrapper>\n );\n\n return (\n <>\n <Dropdown isButton={isButton || false} disabled={disabled} locked={locked} className={size ? size : ''} margin={margin}>\n {!isButton && renderStandardDropdown()}\n {!!isButton && renderButtonDropdown()}\n {!locked && !disabled && (\n <DropdownContent\n isOpen={isOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n hideOnClickOutside={true}\n size={size ?? Size.Small}\n focused={focused}\n setFocused={setFocused}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n const val = values[0] ?? '';\n setRestartFilter(true);\n setInput(val);\n },\n items: list.map(x => ({ value: x.label, customContent: x.customContent }))\n }}\n filter={!restartFilter ? input : ''}\n setIsOpen={setIsOpen}\n alignLeft={false}\n isButton={isButton || false}\n id={`${id}_dropdowncontent`} />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <WarningMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.warning_400} />\n <span>{activeValidationMessage}</span>\n </WarningMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information size=\"20px\" color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.js"}
1
+ {"version":3,"sources":["../../../src/Dropdown/DropdownFilter.tsx"],"names":["label","customContent","id","list","placeholder","onSelect","onInputChange","initalValue","required","disableSorting","messageOnNoResults","disabled","locked","isButton","activeValidationMessage","autofilledMessage","scrollable","buttonFontSize","keepInitialValue","icon","margin","DropdownFilter","React","styledFieldRef","inputRef","handleKeyPress","e","matches","c","input","setInput","setFocused","setIsOpen","setRestartFilter","x","setPlaceholderSearch","document","setIsLoading","selectedValues","setSelectedValues","renderStandardDropdown","isOpen","size","Math","isLoading","Size","COLORS","neutral_600","renderButtonDropdown","itemsType","multiSelect","action","onValueUpdate","values","val","items","value","warning_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { DropdownButton, StyledField, Dropdown, ButtonDropdownWrapper, InputField } from './CommonStyling';\nimport DropdownContent from './DropdownContent';\nimport { Size } from '../types'\nimport { AutofilledMessage, WarningMessage } from '../InputFields/styling';\nimport { ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\n\nexport interface DropdownFilterItem {\n label: string;\n customContent?: React.ReactNode;\n}\n\ninterface DropdownFilterProps {\n id: string;\n list: DropdownFilterItem[];\n placeholder?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n initalValue?: string;\n required?: boolean;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n locked?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n scrollable?: boolean;\n buttonFontSize?: string;\n keepInitialValue?: boolean;\n icon?: React.ReactNode;\n margin?: string;\n}\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n initalValue,\n required,\n disableSorting,\n messageOnNoResults,\n disabled,\n locked,\n scrollable,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n buttonFontSize,\n keepInitialValue,\n icon,\n margin = '4px 0',\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [isLoading, setIsLoading] = React.useState<Boolean>(false);\n const [input, setInput] = React.useState<string>(initalValue ?? '');\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const styledFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const handleKeyPress = (e: any) => {\n if (styledFieldRef?.current && styledFieldRef.current.contains(e.target)) {\n if (e.keyCode === 13 && !locked) {\n const matches = list?.filter((c) => c.label.toLowerCase() === input.toLowerCase());\n if (matches.length === 1 && onSelect) {\n onSelect(matches[0].label);\n setInput(matches[0].label);\n }\n if(!isOpen)\n setFocused(0);\n setIsOpen(!isOpen);\n if (matches.length === 0) {\n setInput('');\n }\n } else if (e.keyCode === 40) {\n if(!isOpen)\n setFocused(0);\n setIsOpen(!isOpen);\n }\n }\n };\n\n React.useEffect(() => {\n if (initalValue || initalValue === '') {\n setInput(initalValue);\n setRestartFilter(true);\n }\n }, [initalValue]);\n\n React.useEffect(() => {\n if (!isOpen && !list.some(x => x.label == input)) {\n setInput('');\n setPlaceholderSearch(placeholder || '');\n }\n }, [isOpen]);\n\n React.useEffect(() => {\n document.addEventListener('keypress', handleKeyPress);\n return () => {\n document.removeEventListener('keypress', handleKeyPress);\n };\n });\n\n React.useEffect(() => {\n setIsLoading(false);\n if (selectedValues.length > 0 && !list.some(x => x.label == input))\n setSelectedValues([]);\n\n if(list.some(x => x.label == input))\n {\n setSelectedValues([input]);\n onSelect && onSelect(input);\n }\n }, [input]);\n\n\n const renderStandardDropdown = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size : '')}\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}\n data-testid={`otherdiv_${id}`}>\n <InputField\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n value={input}\n className={size ? `${size} value` : 'value'}\n onChange={(e: any) => {\n if (!locked && !disabled) {\n setRestartFilter(false);\n setIsLoading(true);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onClick={(e: any) => {\n if (!locked && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n />\n\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} /> : null}\n\n <div onClick={() => setIsOpen(!isOpen)} className={'dropdown-arrow'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n const renderButtonDropdown = () => (\n <ButtonDropdownWrapper\n onClick={(e: any) => {\n e.stopPropagation();\n setIsOpen(!isOpen);\n inputRef.current?.focus();\n }}\n disabled={disabled}\n locked={locked}>\n <StyledField\n ref={styledFieldRef}\n className={(isOpen ? 'expanded ' : '').concat(size ? size + ' ' : '').concat(isButton ? 'button' : '')}\n tabIndex={disabled || locked ? -1 : 0}\n disabled={disabled || false}\n locked={locked || false}\n showValidationMessage={!!activeValidationMessage}\n fontSize={buttonFontSize}>\n {icon}\n <div className={'value'}>{initalValue && keepInitialValue ? initalValue : input || placeholderSearch}</div>\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} /> : null}\n <div onClick={() => setIsOpen(!isOpen)} className={'dropdown-arrow'}>\n {isOpen && !locked && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n </ButtonDropdownWrapper>\n );\n\n return (\n <>\n <Dropdown isButton={isButton || false} disabled={disabled} locked={locked} className={size ? size : ''} margin={margin}>\n {!isButton && renderStandardDropdown()}\n {!!isButton && renderButtonDropdown()}\n {!locked && !disabled && (\n <DropdownContent\n isOpen={isOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n hideOnClickOutside={true}\n size={size ?? Size.Small}\n focused={focused}\n setFocused={setFocused}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n const val = values[0] ?? '';\n setRestartFilter(true);\n setInput(val);\n },\n items: list.map(x => ({ value: x.label, customContent: x.customContent }))\n }}\n filter={!restartFilter ? input : ''}\n setIsOpen={setIsOpen}\n alignLeft={false}\n isButton={isButton || false}\n id={`${id}_dropdowncontent`} />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <WarningMessage className={size || ''}>\n <TechnicalWarning size=\"20px\" color={COLORS.warning_400} />\n <span>{activeValidationMessage}</span>\n </WarningMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information size=\"20px\" color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.js"}
@@ -136,6 +136,7 @@
136
136
  }
137
137
 
138
138
  const StyledLink = _styledComponents2.default.a`
139
+ cursor: pointer;
139
140
  ${props => props.variant === 'inverted' ? _styling.invertedStyle : _styling.defaultStyle}
140
141
  ${props => props.margin ? `margin: ${props.margin};` : ''}
141
142
  `;
@@ -156,7 +157,7 @@
156
157
  };
157
158
 
158
159
  HyperLink.propTypes = {
159
- id: _propTypes2.default.string.isRequired,
160
+ id: _propTypes2.default.string,
160
161
  variant: _propTypes2.default.oneOf(['default', 'inverted']).isRequired,
161
162
  href: _propTypes2.default.string.isRequired,
162
163
  disabled: _propTypes2.default.bool,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/HyperLink/HyperLink.tsx"],"names":["StyledLink","styled","a","props","defaultStyle","margin","id","variant","href","disabled","children","className","HyperLink","target"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,QAAMA,UAAU,GAAGC,2BAAOC,CAGvB;AACH,IAAKC,KAAD,IAAYA,KAAK,CAALA,OAAAA,KAAAA,UAAAA,GAAAA,sBAAAA,GAA+CC,qBAAc;AAC7E,IAAKD,KAAD,IAAYA,KAAK,CAALA,MAAAA,GAAgB,WAAUA,KAAK,CAACE,MAAhCF,GAAAA,GAA4C,EAAI;AALhE,CAAA;;AAkBA,QAAMS,SAAkD,GAAG,IAAA,IAAoF;AAAA,QAAnF;AAAA,MAAA,QAAA;AAAYC,MAAAA,MAAM,GAAlB,QAAA;AAA+BN,MAAAA,OAAO,GAAG;AAAzC,QAAmF,IAAA;AAAA,QAA5BJ,KAA4B,GAAA,wBAAA,CAAA,IAAA,EAAA,SAAA,CAAA;;AAC7I,WAAA,aACE,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,KAAA,EAAA;AAAuB,MAAA,OAAO,EAA9B,OAAA;AAAyC,MAAA,MAAM,EAA/C,MAAA;AAAyD,MAAA,GAAG,EAAC;AAA7D,KAAA,CAAA,EADF,QACE,CADF;AADF,GAAA;;;AATEG,IAAAA,E;AACAC,IAAAA,O,6BAAS,S,EAAY,U;AACrBC,IAAAA,I;AACAC,IAAAA,Q;AACAJ,IAAAA,M;AACAK,IAAAA,Q;AACAC,IAAAA,S;;oBAWF,S","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { defaultStyle, invertedStyle } from './styling';\n\nconst StyledLink = styled.a<{\n variant: 'default' | 'inverted';\n margin?: string;\n}>`\n ${(props) => (props.variant === 'inverted' ? invertedStyle : defaultStyle)}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n`;\n\nexport interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n id: string;\n variant: 'default' | 'inverted';\n href: string;\n disabled?: boolean;\n margin?: string;\n children?: any;\n className?: string;\n}\n\nconst HyperLink: React.FunctionComponent<HyperlinkProps> = ({ children, target = '_blank', variant = 'default', ...props }: HyperlinkProps) => {\n return (\n <StyledLink {...props} variant={variant} target={target} rel=\"noopener noreferrer\">\n {children}\n </StyledLink>\n );\n};\n\nexport default HyperLink;\n"],"file":"HyperLink.js"}
1
+ {"version":3,"sources":["../../../src/HyperLink/HyperLink.tsx"],"names":["StyledLink","styled","a","props","defaultStyle","margin","id","variant","href","disabled","children","className","HyperLink","target"],"mappings":";;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,QAAMA,UAAU,GAAGC,2BAAOC,CAGvB;AACH;AACA,IAAKC,KAAD,IAAYA,KAAK,CAALA,OAAAA,KAAAA,UAAAA,GAAAA,sBAAAA,GAA+CC,qBAAc;AAC7E,IAAKD,KAAD,IAAYA,KAAK,CAALA,MAAAA,GAAgB,WAAUA,KAAK,CAACE,MAAhCF,GAAAA,GAA4C,EAAI;AANhE,CAAA;;AAmBA,QAAMS,SAAkD,GAAG,IAAA,IAAoF;AAAA,QAAnF;AAAA,MAAA,QAAA;AAAYC,MAAAA,MAAM,GAAlB,QAAA;AAA+BN,MAAAA,OAAO,GAAG;AAAzC,QAAmF,IAAA;AAAA,QAA5BJ,KAA4B,GAAA,wBAAA,CAAA,IAAA,EAAA,SAAA,CAAA;;AAC7I,WAAA,aACE,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,KAAA,EAAA;AAAuB,MAAA,OAAO,EAA9B,OAAA;AAAyC,MAAA,MAAM,EAA/C,MAAA;AAAyD,MAAA,GAAG,EAAC;AAA7D,KAAA,CAAA,EADF,QACE,CADF;AADF,GAAA;;;AATEG,IAAAA,E;AACAC,IAAAA,O,6BAAS,S,EAAY,U;AACrBC,IAAAA,I;AACAC,IAAAA,Q;AACAJ,IAAAA,M;AACAK,IAAAA,Q;AACAC,IAAAA,S;;oBAWF,S","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { defaultStyle, invertedStyle } from './styling';\n\nconst StyledLink = styled.a<{\n variant: 'default' | 'inverted';\n margin?: string;\n}>`\n cursor: pointer;\n ${(props) => (props.variant === 'inverted' ? invertedStyle : defaultStyle)}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n`;\n\nexport interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n id?: string;\n variant: 'default' | 'inverted';\n href: string;\n disabled?: boolean;\n margin?: string;\n children?: any;\n className?: string;\n}\n\nconst HyperLink: React.FunctionComponent<HyperlinkProps> = ({ children, target = '_blank', variant = 'default', ...props }: HyperlinkProps) => {\n return (\n <StyledLink {...props} variant={variant} target={target} rel=\"noopener noreferrer\">\n {children}\n </StyledLink>\n );\n};\n\nexport default HyperLink;\n"],"file":"HyperLink.js"}
@@ -135,7 +135,7 @@
135
135
  }
136
136
  }
137
137
 
138
- &:not(.disabled):focus {
138
+ &:not(.disabled):not(.readonly):focus {
139
139
  outline: none;
140
140
 
141
141
  .checkbox-icon {
@@ -148,7 +148,7 @@
148
148
  }
149
149
  }
150
150
 
151
- &:not(.disabled):hover {
151
+ &:not(.disabled):not(.readonly):hover {
152
152
  .checkbox-icon {
153
153
  background-color: ${_styles.COLORS.primary_20};
154
154
 
@@ -158,7 +158,7 @@
158
158
  }
159
159
  }
160
160
 
161
- &:not(.disabled):active {
161
+ &:not(.disabled):not(.readonly):active {
162
162
  .checkbox-icon {
163
163
  background: ${_styles.COLORS.primary_100};
164
164
  box-shadow: none;
@@ -169,6 +169,14 @@
169
169
  }
170
170
  }
171
171
 
172
+ &.readonly{
173
+ cursor: inherit;
174
+ .checkbox-icon,
175
+ .checkbox-label {
176
+ pointer-events: none;
177
+ }
178
+ }
179
+
172
180
  &.disabled {
173
181
  box-shadow: none;
174
182
  cursor: not-allowed;
@@ -200,20 +208,21 @@
200
208
  margin,
201
209
  size,
202
210
  semiSelected,
203
- children
211
+ children,
212
+ readonly
204
213
  }, ref) => {
205
214
  const onKeyPress = e => {
206
- if (e.keyCode === 13 && !disabled) {
207
- select(!selected);
215
+ if (e.keyCode === 13 && !disabled && !readonly) {
216
+ select && select(!selected);
208
217
  }
209
218
  };
210
219
 
211
220
  const handleClick = () => {
212
- if (disabled) {
221
+ if (disabled || readonly) {
213
222
  return;
214
223
  }
215
224
 
216
- select(!selected);
225
+ select && select(!selected);
217
226
  };
218
227
 
219
228
  size = size ?? _types.Size.Medium;
@@ -221,9 +230,9 @@
221
230
  key: id,
222
231
  ref: ref,
223
232
  disabled: disabled,
224
- className: size.toString().toLowerCase().concat(disabled ? ' disabled' : ''),
233
+ className: size.toString().toLowerCase().concat(disabled ? ' disabled' : '').concat(readonly ? ' readonly' : ''),
225
234
  selected: selected,
226
- tabIndex: disabled ? -1 : 0,
235
+ tabIndex: disabled || readonly ? -1 : 0,
227
236
  showWarning: showWarning,
228
237
  margin: margin,
229
238
  onClick: handleClick,
@@ -250,15 +259,16 @@
250
259
  }, children));
251
260
  });
252
261
  Checkbox.propTypes = {
253
- id: _propTypes2.default.string.isRequired,
262
+ id: _propTypes2.default.string,
254
263
  selected: _propTypes2.default.bool.isRequired,
255
- select: _propTypes2.default.func.isRequired,
264
+ select: _propTypes2.default.func,
256
265
  label: _propTypes2.default.string,
257
266
  showWarning: _propTypes2.default.bool,
258
267
  disabled: _propTypes2.default.bool,
259
268
  margin: _propTypes2.default.string,
260
269
  iconPointerEventsTransparent: _propTypes2.default.bool,
261
- semiSelected: _propTypes2.default.bool
270
+ semiSelected: _propTypes2.default.bool,
271
+ readonly: _propTypes2.default.bool
262
272
  };
263
273
  exports.default = Checkbox;
264
274
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/InputFields/Checkbox.tsx"],"names":["StyledCheckBox","styled","div","props","margin","COLORS","black","neutral_600","ComponentSStyling","ComponentTextStyle","ComponentMStyling","ComponentLStyling","white","primary_500","primary_20","primary_700","primary_100","primary_800","neutral_300","id","selected","select","label","showWarning","disabled","iconPointerEventsTransparent","semiSelected","Checkbox","children","onKeyPress","e","handleClick","size","Size"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {CheckboxOff, CheckboxOn, CheckboxSemi} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle} from '../styles';\nimport { Size } from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling} from '../styles/typography';\n\nconst StyledCheckBox = styled.div<{ disabled?: boolean; showWarning?: boolean; selected?: boolean; margin?: string }>`\n display: flex;\n width: 100%;\n min-height: 48px;\n min-width: 48px;\n\n ${props => (props.margin ? `margin: ${props.margin};` : '')}\n cursor: pointer;\n\n color: ${COLORS.black};\n\n .pointerTransparent {\n pointer-events: none;\n }\n\n .checkbox-icon {\n margin: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n\n svg {\n color: ${props => (props.selected ? COLORS.primary_500 : props.showWarning ? COLORS.warning_400 : COLORS.neutral_600)};\n }\n }\n\n .checkbox-label {\n user-select: none;\n cursor: inherit;\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 14px;\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 12px;\n }\n }\n\n &.large {\n ${ComponentLStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 12px;\n }\n }\n\n &:not(.disabled):focus {\n outline: none;\n\n .checkbox-icon {\n background-color: ${COLORS.white};\n box-shadow: 0 0 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n\n svg {\n color: ${COLORS.neutral_600};\n }\n }\n }\n\n &:not(.disabled):hover {\n .checkbox-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n\n &:not(.disabled):active {\n .checkbox-icon {\n background: ${COLORS.primary_100};\n box-shadow: none;\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.disabled {\n box-shadow: none;\n cursor: not-allowed;\n\n color: ${COLORS.neutral_300};\n\n .checkbox-icon,\n .checkbox-label {\n pointer-events: none;\n }\n\n .checkbox-icon{\n background-color: ${COLORS.white};\n }\n\n .checkbox-icon svg {\n color: ${COLORS.neutral_300};\n }\n }\n`;\n\ninterface Props {\n id: string;\n selected: boolean;\n select: (selected: boolean) => void;\n label?: string;\n showWarning?: boolean;\n disabled?: boolean;\n margin?: string;\n size?: Size;\n iconPointerEventsTransparent?: boolean;\n semiSelected?: boolean;\n}\n\nconst Checkbox = React.forwardRef<HTMLDivElement, Props>(({\n id,\n selected,\n select,\n label,\n showWarning,\n iconPointerEventsTransparent,\n disabled,\n margin,\n size,\n semiSelected,\n children\n }, ref) => {\n const onKeyPress = (e: any) => {\n if (e.keyCode === 13 && !disabled) {\n select(!selected);\n }\n };\n\n const handleClick = () => {\n if (disabled) {\n return;\n }\n select(!selected);\n };\n\n size = size ?? Size.Medium;\n\n return (\n <StyledCheckBox key={id}\n ref={ref}\n disabled={disabled}\n className={size.toString().toLowerCase().concat(disabled ? ' disabled' : '')}\n selected={selected}\n tabIndex={disabled ? -1 : 0}\n showWarning={showWarning}\n margin={margin}\n onClick={handleClick}\n onKeyDown={onKeyPress}\n onMouseDown={e => e.preventDefault()}>\n <div id={id} className={'checkbox-icon'}>\n {\n selected\n ? <CheckboxOn className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n : semiSelected\n ? <CheckboxSemi className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n : <CheckboxOff className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n }\n </div>\n {\n label &&\n (\n <label className={'checkbox-label'}\n htmlFor={id}>\n {label}\n </label>\n )\n }\n {\n !label &&\n <label className={'checkbox-label'}\n htmlFor={id}>\n {children}\n </label>\n }\n </StyledCheckBox>\n );\n});\n\nexport default Checkbox;\n"],"file":"Checkbox.js"}
1
+ {"version":3,"sources":["../../../src/InputFields/Checkbox.tsx"],"names":["StyledCheckBox","styled","div","props","margin","COLORS","black","neutral_600","ComponentSStyling","ComponentTextStyle","ComponentMStyling","ComponentLStyling","white","primary_500","primary_20","primary_700","primary_100","primary_800","neutral_300","id","selected","select","label","showWarning","disabled","iconPointerEventsTransparent","semiSelected","readonly","Checkbox","onKeyPress","e","handleClick","size","Size"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {CheckboxOff, CheckboxOn, CheckboxSemi} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle} from '../styles';\nimport { Size } from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling} from '../styles/typography';\n\nconst StyledCheckBox = styled.div<{ disabled?: boolean; showWarning?: boolean; selected?: boolean; margin?: string }>`\n display: flex;\n width: 100%;\n min-height: 48px;\n min-width: 48px;\n\n ${props => (props.margin ? `margin: ${props.margin};` : '')}\n cursor: pointer;\n\n color: ${COLORS.black};\n\n .pointerTransparent {\n pointer-events: none;\n }\n\n .checkbox-icon {\n margin: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n\n svg {\n color: ${props => (props.selected ? COLORS.primary_500 : props.showWarning ? COLORS.warning_400 : COLORS.neutral_600)};\n }\n }\n\n .checkbox-label {\n user-select: none;\n cursor: inherit;\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 14px;\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 12px;\n }\n }\n\n &.large {\n ${ComponentLStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 12px;\n }\n }\n\n &:not(.disabled):not(.readonly):focus {\n outline: none;\n\n .checkbox-icon {\n background-color: ${COLORS.white};\n box-shadow: 0 0 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n\n svg {\n color: ${COLORS.neutral_600};\n }\n }\n }\n\n &:not(.disabled):not(.readonly):hover {\n .checkbox-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n\n &:not(.disabled):not(.readonly):active {\n .checkbox-icon {\n background: ${COLORS.primary_100};\n box-shadow: none;\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.readonly{\n cursor: inherit;\n .checkbox-icon,\n .checkbox-label {\n pointer-events: none;\n }\n }\n \n &.disabled {\n box-shadow: none;\n cursor: not-allowed;\n\n color: ${COLORS.neutral_300};\n\n .checkbox-icon,\n .checkbox-label {\n pointer-events: none;\n }\n\n .checkbox-icon{\n background-color: ${COLORS.white};\n }\n\n .checkbox-icon svg {\n color: ${COLORS.neutral_300};\n }\n }\n`;\n\ninterface Props {\n id?: string;\n selected: boolean;\n select?: (selected: boolean) => void;\n label?: string;\n showWarning?: boolean;\n disabled?: boolean;\n margin?: string;\n size?: Size;\n iconPointerEventsTransparent?: boolean;\n semiSelected?: boolean;\n readonly?: boolean;\n}\n\nconst Checkbox = React.forwardRef<HTMLDivElement, Props>(({\n id,\n selected,\n select,\n label,\n showWarning,\n iconPointerEventsTransparent,\n disabled,\n margin,\n size,\n semiSelected,\n children,\n readonly\n }, ref) => {\n const onKeyPress = (e: any) => {\n if (e.keyCode === 13 && !disabled && !readonly) {\n select && select(!selected);\n }\n };\n\n const handleClick = () => {\n if (disabled || readonly) {\n return;\n }\n select && select(!selected);\n };\n\n size = size ?? Size.Medium;\n\n return (\n <StyledCheckBox key={id}\n ref={ref}\n disabled={disabled}\n className={size.toString().toLowerCase().concat(disabled ? ' disabled' : '').concat(readonly ? ' readonly' : '')}\n selected={selected}\n tabIndex={disabled || readonly ? -1 : 0}\n showWarning={showWarning}\n margin={margin}\n onClick={handleClick}\n onKeyDown={onKeyPress}\n onMouseDown={e => e.preventDefault()}>\n <div id={id} className={'checkbox-icon'}>\n {\n selected\n ? <CheckboxOn className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n : semiSelected\n ? <CheckboxSemi className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n : <CheckboxOff className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n }\n </div>\n {\n label &&\n (\n <label className={'checkbox-label'}\n htmlFor={id}>\n {label}\n </label>\n )\n }\n {\n !label &&\n <label className={'checkbox-label'}\n htmlFor={id}>\n {children}\n </label>\n }\n </StyledCheckBox>\n );\n});\n\nexport default Checkbox;\n"],"file":"Checkbox.js"}
@@ -94,7 +94,8 @@
94
94
  tooltip,
95
95
  children,
96
96
  note,
97
- state
97
+ state,
98
+ icon
98
99
  }) => {
99
100
  const getMinWidth = () => {
100
101
  switch (size) {
@@ -317,7 +318,8 @@
317
318
  }, children), note && /*#__PURE__*/React.createElement(_ModalNote.ModalNote, {
318
319
  note: note,
319
320
  state: state,
320
- size: size
321
+ size: size,
322
+ icon: icon
321
323
  }), /*#__PURE__*/React.createElement(_ModalStyles.ModalFooter, {
322
324
  size: size
323
325
  }, leftFooterAction && LeftFooterAction(leftFooterAction), buttons?.map((b, i) => /*#__PURE__*/React.createElement(_Button.Button, {
@@ -342,8 +344,9 @@
342
344
  backButton: _propTypes2.default.func,
343
345
  closeAction: _propTypes2.default.func.isRequired,
344
346
  submitAction: _propTypes2.default.func.isRequired,
345
- note: _propTypes2.default.string,
346
- state: _propTypes2.default.string
347
+ note: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.node]),
348
+ state: _propTypes2.default.string,
349
+ icon: _propTypes2.default.node
347
350
  };
348
351
  exports.default = ModalDialog;
349
352
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Modals/ModalDialog.tsx"],"names":["isModalOpen","closeModalAndClearInput","title","topImage","buttons","tooltip","backButton","closeAction","submitAction","note","state","ModalDialog","getMinWidth","Size","getMaxWidth","getImageHeight","getMarginBottom","getPadding","ModalTitle","ComponentTextStyle","Bold","ModalTootip","COLORS","neutral_600","ModalCloseButton","onClick","size","black","ModalBackButton","getLeftActionIconElement","icon","LeftFooterAction","leftFooterAction","action","order","marginRight","b","variant"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Button, IconButton } from '../Button';\nimport { ArrowLineLeft, Close, Help } from '../icons/systemicons/SystemIcons';\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\nimport { Size } from '../types';\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n FlexContainer,\n ModalBody,\n ModalFooter,\n ModalHeaderActions,\n ModalHeaderActionsWithImage,\n ModalTitleSection,\n StyledModalHeader,\n ModalHoverModifier\n} from './ModalStyles';\n\nimport { ModalNote } from './ModalNote';\nimport { TooltipWrapper } from '../Tooltips';\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\nimport { ReactNode } from 'react';\nimport { HyperLink } from '..';\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n closeModalAndClearInput: any;\n title?: string;\n topImage?: any;\n buttons?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n note?: string;\n state?: string;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n buttons,\n leftFooterAction,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children,\n note,\n state,\n}) => {\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const ModalTitle = (title: string, size?: Size) => {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n };\n\n const ModalTootip = (tooltip: string) => {\n return (\n <ModalHoverModifier>\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\n <Help size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </TooltipWrapper>\n </ModalHoverModifier>\n );\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n const getLeftActionIconElement = (icon: ReactNode) => {\n return React.cloneElement(icon as React.ReactElement, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\n };\n\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\n const { text, actionType, disabled, icon, action } = leftFooterAction;\n switch (actionType) {\n case 'button':\n return (\n <Button\n id={'left-action-button'}\n type={(leftFooterAction as LeftFooterButton)?.type}\n disabled={disabled}\n loading={(leftFooterAction as LeftFooterButton)?.loading}\n icon={icon}\n size={size}\n onClick={action}\n variant={(leftFooterAction as LeftFooterButton)?.variant ?? 'secondary'}\n style={{ order: -1, marginRight: 'auto' }}>\n {text}\n </Button>\n );\n case 'hyperlink':\n return (\n <HyperLink id=\"left-action-hyperlink\" className=\"footer-action\" href={(leftFooterAction as LeftFooterHyperlink).href} disabled={disabled} variant=\"default\">\n {icon && getLeftActionIconElement(icon)}\n {text}\n </HyperLink>\n );\n case 'note':\n return (\n <div className=\"footer-action note\">\n {icon && getLeftActionIconElement(icon)}\n <span>{text}</span>\n </div>\n );\n }\n };\n\n return (\n <ModalContainer showModal={isModalOpen} closeModal={closeModalAndClearInput} minWidth={getMinWidth()} maxWidth={getMaxWidth()} modalHeight=\"auto\" padding={getPadding()}>\n <Column>\n <form onSubmit={submitAction}>\n {topImage && (\n <StyledModalHeader size={size} height={getImageHeight()} marginBottom={getMarginBottom()}>\n <img src={topImage} alt=\"Modal top\" />\n <ModalHeaderActionsWithImage hasBackButton={!!backButton}>\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </ModalHeaderActionsWithImage>\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n <FlexContainer>\n {!topImage && ModalBackButton()}\n {title && ModalTitle(title, size)}\n </FlexContainer>\n <ModalHeaderActions>\n {tooltip && ModalTootip(tooltip)}\n {!topImage && ModalCloseButton(closeAction)}\n </ModalHeaderActions>\n </ModalTitleSection>\n\n <ModalBody size={size}>{children}</ModalBody>\n\n {note && <ModalNote note={note} state={state} size={size} />}\n\n <ModalFooter size={size}>\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\n {buttons?.map((b, i) => (\n <Button key={b.id || i} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"file":"ModalDialog.js"}
1
+ {"version":3,"sources":["../../../src/Modals/ModalDialog.tsx"],"names":["isModalOpen","closeModalAndClearInput","title","topImage","buttons","tooltip","backButton","closeAction","submitAction","note","state","icon","ModalDialog","getMinWidth","Size","getMaxWidth","getImageHeight","getMarginBottom","getPadding","ModalTitle","ComponentTextStyle","Bold","ModalTootip","COLORS","neutral_600","ModalCloseButton","onClick","size","black","ModalBackButton","getLeftActionIconElement","LeftFooterAction","leftFooterAction","action","order","marginRight","b","variant"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Button, IconButton } from '../Button';\nimport { ArrowLineLeft, Close, Help } from '../icons/systemicons/SystemIcons';\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\nimport { Size } from '../types';\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n FlexContainer,\n ModalBody,\n ModalFooter,\n ModalHeaderActions,\n ModalHeaderActionsWithImage,\n ModalTitleSection,\n StyledModalHeader,\n ModalHoverModifier,\n} from './ModalStyles';\n\nimport { ModalNote } from './ModalNote';\nimport { TooltipWrapper } from '../Tooltips';\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\nimport { ReactNode } from 'react';\nimport { HyperLink } from '..';\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n closeModalAndClearInput: any;\n title?: string;\n topImage?: any;\n buttons?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n note?: string | React.ReactNode;\n state?: string;\n icon?: React.ReactNode;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n buttons,\n leftFooterAction,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children,\n note,\n state,\n icon,\n}) => {\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const ModalTitle = (title: string, size?: Size) => {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n };\n\n const ModalTootip = (tooltip: string) => {\n return (\n <ModalHoverModifier>\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\n <Help size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </TooltipWrapper>\n </ModalHoverModifier>\n );\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n const getLeftActionIconElement = (icon: ReactNode) => {\n return React.cloneElement(icon as React.ReactElement, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\n };\n\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\n const { text, actionType, disabled, icon, action } = leftFooterAction;\n switch (actionType) {\n case 'button':\n return (\n <Button\n id={'left-action-button'}\n type={(leftFooterAction as LeftFooterButton)?.type}\n disabled={disabled}\n loading={(leftFooterAction as LeftFooterButton)?.loading}\n icon={icon}\n size={size}\n onClick={action}\n variant={(leftFooterAction as LeftFooterButton)?.variant ?? 'secondary'}\n style={{ order: -1, marginRight: 'auto' }}>\n {text}\n </Button>\n );\n case 'hyperlink':\n return (\n <HyperLink id=\"left-action-hyperlink\" className=\"footer-action\" href={(leftFooterAction as LeftFooterHyperlink).href} disabled={disabled} variant=\"default\">\n {icon && getLeftActionIconElement(icon)}\n {text}\n </HyperLink>\n );\n case 'note':\n return (\n <div className=\"footer-action note\">\n {icon && getLeftActionIconElement(icon)}\n <span>{text}</span>\n </div>\n );\n }\n };\n\n return (\n <ModalContainer showModal={isModalOpen} closeModal={closeModalAndClearInput} minWidth={getMinWidth()} maxWidth={getMaxWidth()} modalHeight=\"auto\" padding={getPadding()}>\n <Column>\n <form onSubmit={submitAction}>\n {topImage && (\n <StyledModalHeader size={size} height={getImageHeight()} marginBottom={getMarginBottom()}>\n <img src={topImage} alt=\"Modal top\" />\n <ModalHeaderActionsWithImage hasBackButton={!!backButton}>\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </ModalHeaderActionsWithImage>\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n <FlexContainer>\n {!topImage && ModalBackButton()}\n {title && ModalTitle(title, size)}\n </FlexContainer>\n <ModalHeaderActions>\n {tooltip && ModalTootip(tooltip)}\n {!topImage && ModalCloseButton(closeAction)}\n </ModalHeaderActions>\n </ModalTitleSection>\n\n <ModalBody size={size}>{children}</ModalBody>\n\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\n\n <ModalFooter size={size}>\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\n {buttons?.map((b, i) => (\n <Button key={b.id || i} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"file":"ModalDialog.js"}
@@ -123,7 +123,7 @@
123
123
  };
124
124
 
125
125
  ModalNote.propTypes = {
126
- note: _propTypes2.default.string.isRequired,
126
+ note: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.node]).isRequired,
127
127
  icon: _propTypes2.default.node,
128
128
  state: _propTypes2.default.string,
129
129
  size: _propTypes2.default.string
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Modals/ModalNote.tsx"],"names":["note","icon","state","size","ModalNote","stateVal","COLORS","correct_500","warning_500"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,QAAMI,SAA8C,WAA9CA,SAA8C,GAAG,CAAC;AAAA,IAAA,IAAA;AAAA,IAAA,IAAA;AAAA,IAAA,IAAA;AAAmBF,IAAAA,KAAK,GAAC;AAAzB,GAAD,KAAyC;AACnG,UAAMG,QAAQ,GAAGH,KAAK,CAAtB,WAAiBA,EAAjB;;AAEA,YAAA,QAAA;AACI,WAAA,UAAA;AAAiB,eAAA,aACb,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEC;AAAzC,SAAA,EACKF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AAAe,UAAA,KAAK,EAAEK,SAAOC;AAA7B,SAAA,CADnB,EAAA,aAEI,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHS,IAGT,CAFJ,CADa;;AAOjB,WAAA,SAAA;AAAgB,eAAA,aACZ,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEJ;AAAzC,SAAA,EACKF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAEK,SAAOE;AAAhC,SAAA,CADnB,EAAA,aAEI,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHQ,IAGR,CAFJ,CADY;;AAOhB,WAAA,UAAA;AAAiB,eAAA,aACb,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEL;AAAzC,SAAA,EACKF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAEK,SAAOE;AAAhC,SAAA,CADnB,EAAA,aAEI,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHS,IAGT,CAFJ,CADa;;AAOjB;AAAS,eAAA,aACL,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEL;AAAzC,SAAA,EACKF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,wBAAA,EAAA;AAAa,UAAA,KAAK,EAAEK,SAApB,WAAA;AAAwC,UAAA,SAAS,EAAEH;AAAnD,SAAA,CADnB,EAAA,aAEI,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHC,IAGD,CAFJ,CADK;AAtBb;AAHG,GAAA;;;AANHH,IAAAA,I;AACAC,IAAAA,I;AACAC,IAAAA,K;AACAC,IAAAA,I;;oBAuCJ,S","sourcesContent":["import * as React from 'react';\nimport { COLORS } from '..';\nimport { CheckComplete, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport {ModalNoteSection} from './ModalStyles'\n\ninterface NoteProps {\n note: string;\n icon?: React.ReactNode;\n state?: string;\n size?: string;\n}\n\nexport const ModalNote : React.FunctionComponent<NoteProps> = ({note, icon, size, state='neutral'}) => { \n const stateVal = state.toLowerCase();\n\n switch(stateVal) {\n case 'positive': return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <CheckComplete color={COLORS.correct_500}/>}\n <span>{note}</span>\n </ModalNoteSection>\n );\n\n case 'warning': return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <TechnicalWarning color={COLORS.warning_500}/>}\n <span>{note}</span>\n </ModalNoteSection>\n );\n\n case 'critical': return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <TechnicalWarning color={COLORS.warning_500}/>}\n <span>{note}</span>\n </ModalNoteSection>\n );\n\n default: return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <Information color={COLORS.primary_500} className={size}/>}\n <span>{note}</span>\n </ModalNoteSection>\n );\n }\n \n \n};\n\nexport default ModalNote;"],"file":"ModalNote.js"}
1
+ {"version":3,"sources":["../../../src/Modals/ModalNote.tsx"],"names":["note","icon","state","size","ModalNote","stateVal","COLORS","correct_500","warning_500"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAAA,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,QAAMI,SAA6C,WAA7CA,SAA6C,GAAG,CAAC;AAAA,IAAA,IAAA;AAAA,IAAA,IAAA;AAAA,IAAA,IAAA;AAAoBF,IAAAA,KAAK,GAAG;AAA5B,GAAD,KAA6C;AACxG,UAAMG,QAAQ,GAAGH,KAAK,CAAtB,WAAiBA,EAAjB;;AAEA,YAAA,QAAA;AACE,WAAA,UAAA;AACE,eAAA,aACE,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEC;AAAzC,SAAA,EACGF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,0BAAA,EAAA;AAAe,UAAA,KAAK,EAAEK,SAAOC;AAA7B,SAAA,CADjB,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHJ,IAGI,CAFF,CADF;;AAOF,WAAA,SAAA;AACE,eAAA,aACE,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEJ;AAAzC,SAAA,EACGF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAEK,SAAOE;AAAhC,SAAA,CADjB,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHJ,IAGI,CAFF,CADF;;AAOF,WAAA,UAAA;AACE,eAAA,aACE,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEL;AAAzC,SAAA,EACGF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAEK,SAAOE;AAAhC,SAAA,CADjB,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHJ,IAGI,CAFF,CADF;;AAOF;AACE,eAAA,aACE,KAAA,CAAA,aAAA,CAAA,6BAAA,EAAA;AAAkB,UAAA,KAAK,EAAvB,QAAA;AAAmC,UAAA,IAAI,EAAEL;AAAzC,SAAA,EACGF,IAAI,GAAA,IAAA,GAAA,aAAU,KAAA,CAAA,aAAA,CAAA,wBAAA,EAAA;AAAa,UAAA,KAAK,EAAEK,SAApB,WAAA;AAAwC,UAAA,SAAS,EAAEH;AAAnD,SAAA,CADjB,EAAA,aAEE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,IAAA,EAHJ,IAGI,CAFF,CADF;AA1BJ;AAHK,GAAA;;;AANLH,IAAAA,I;AACAC,IAAAA,I;AACAC,IAAAA,K;AACAC,IAAAA,I;;oBAyCF,S","sourcesContent":["import * as React from 'react';\nimport { COLORS } from '..';\nimport { CheckComplete, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { ModalNoteSection } from './ModalStyles';\n\ninterface NoteProps {\n note: string | React.ReactNode;\n icon?: React.ReactNode;\n state?: string;\n size?: string;\n}\n\nexport const ModalNote: React.FunctionComponent<NoteProps> = ({ note, icon, size, state = 'neutral' }) => {\n const stateVal = state.toLowerCase();\n\n switch (stateVal) {\n case 'positive':\n return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <CheckComplete color={COLORS.correct_500} />}\n <span>{note}</span>\n </ModalNoteSection>\n );\n\n case 'warning':\n return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <TechnicalWarning color={COLORS.warning_500} />}\n <span>{note}</span>\n </ModalNoteSection>\n );\n\n case 'critical':\n return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <TechnicalWarning color={COLORS.warning_500} />}\n <span>{note}</span>\n </ModalNoteSection>\n );\n\n default:\n return (\n <ModalNoteSection state={stateVal} size={size}>\n {icon ? icon : <Information color={COLORS.primary_500} className={size} />}\n <span>{note}</span>\n </ModalNoteSection>\n );\n }\n};\n\nexport default ModalNote;\n"],"file":"ModalNote.js"}