@blateral/b.kit 2.8.2 → 2.8.4-patch-1.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 (128) hide show
  1. package/cjs/{Checkbox-8dccd42f.js → Checkbox-ddc9a87d.js} +2 -2
  2. package/cjs/{Checkbox-8dccd42f.js.map → Checkbox-ddc9a87d.js.map} +1 -1
  3. package/cjs/Copy-2a9d4b5d.js +2 -0
  4. package/cjs/Copy-2a9d4b5d.js.map +1 -0
  5. package/cjs/{EventBlock-4e406696.js → EventBlock-0b0f0dd3.js} +2 -2
  6. package/cjs/{EventBlock-4e406696.js.map → EventBlock-0b0f0dd3.js.map} +1 -1
  7. package/cjs/{FilterBar-0781490f.js → FilterBar-bfd9db6e.js} +2 -2
  8. package/cjs/FilterBar-bfd9db6e.js.map +1 -0
  9. package/cjs/{FilterField-7efcacb7.js → FilterField-d204feb1.js} +2 -2
  10. package/cjs/FilterField-d204feb1.js.map +1 -0
  11. package/cjs/{Image-94820dfd.js → Image-69a9c116.js} +2 -2
  12. package/cjs/{Image-94820dfd.js.map → Image-69a9c116.js.map} +1 -1
  13. package/cjs/{InfoList-e416058c.js → InfoList-f040b8fb.js} +2 -2
  14. package/cjs/{InfoList-e416058c.js.map → InfoList-f040b8fb.js.map} +1 -1
  15. package/cjs/{LanguageSwitcher-aa96cc7d.js → LanguageSwitcher-c6fd04df.js} +2 -2
  16. package/cjs/{LanguageSwitcher-aa96cc7d.js.map → LanguageSwitcher-c6fd04df.js.map} +1 -1
  17. package/cjs/MultiselectDropdown-d46ae36f.js +2 -0
  18. package/cjs/MultiselectDropdown-d46ae36f.js.map +1 -0
  19. package/cjs/{Navigation-6abb6213.js → Navigation-6c5d9dee.js} +2 -2
  20. package/cjs/{Navigation-6abb6213.js.map → Navigation-6c5d9dee.js.map} +1 -1
  21. package/cjs/Pointer-0f69256f.js +2 -0
  22. package/cjs/Pointer-0f69256f.js.map +1 -0
  23. package/cjs/{SocialList-aec9a5c2.js → SocialList-73af56b5.js} +2 -2
  24. package/cjs/{SocialList-aec9a5c2.js.map → SocialList-73af56b5.js.map} +1 -1
  25. package/cjs/{TableBlock-c545ca8d.js → TableBlock-532c7e1e.js} +2 -2
  26. package/cjs/{TableBlock-c545ca8d.js.map → TableBlock-532c7e1e.js.map} +1 -1
  27. package/cjs/{Tag-937849ad.js → Tag-232f7aa9.js} +2 -2
  28. package/cjs/{Tag-937849ad.js.map → Tag-232f7aa9.js.map} +1 -1
  29. package/cjs/{Textarea-599e94a4.js → Textarea-d30682bd.js} +2 -2
  30. package/cjs/{Textarea-599e94a4.js.map → Textarea-d30682bd.js.map} +1 -1
  31. package/cjs/{Textfield-24f468be.js → Textfield-b3769184.js} +2 -2
  32. package/cjs/{Textfield-24f468be.js.map → Textfield-b3769184.js.map} +1 -1
  33. package/cjs/{VideoBlock-1fbf598b.js → VideoBlock-0cae22f0.js} +2 -2
  34. package/cjs/{VideoBlock-1fbf598b.js.map → VideoBlock-0cae22f0.js.map} +1 -1
  35. package/cjs/{VideoCard-905c08d2.js → VideoCard-c9d4f46a.js} +2 -2
  36. package/cjs/{VideoCard-905c08d2.js.map → VideoCard-c9d4f46a.js.map} +1 -1
  37. package/cjs/blocks.js +1 -1
  38. package/cjs/buttons.js +1 -1
  39. package/cjs/cookies.js +1 -1
  40. package/cjs/fields.js +1 -1
  41. package/cjs/footer.js +1 -1
  42. package/cjs/{formFieldText-046fcbf4.js → formFieldText-21f5f620.js} +2 -2
  43. package/cjs/{formFieldText-046fcbf4.js.map → formFieldText-21f5f620.js.map} +1 -1
  44. package/cjs/headers.js +1 -1
  45. package/cjs/navigation.js +1 -1
  46. package/cjs/sections.dynamicform.js +1 -1
  47. package/cjs/sections.dynamicform.js.map +1 -1
  48. package/cjs/sections.events.js +1 -1
  49. package/cjs/sections.forms.js +1 -1
  50. package/cjs/sections.jobs.js +1 -1
  51. package/cjs/sections.js +1 -1
  52. package/cjs/sections.news.js +1 -1
  53. package/cjs/sections.pois.js +1 -1
  54. package/cjs/typography.js +1 -1
  55. package/esm/{Checkbox-1957067a.js → Checkbox-962fea67.js} +2 -2
  56. package/esm/{Checkbox-1957067a.js.map → Checkbox-962fea67.js.map} +1 -1
  57. package/esm/{Copy-c6786949.js → Copy-fd9e25c0.js} +2 -2
  58. package/esm/Copy-fd9e25c0.js.map +1 -0
  59. package/esm/{EventBlock-8e130f6b.js → EventBlock-12361860.js} +4 -4
  60. package/esm/{EventBlock-8e130f6b.js.map → EventBlock-12361860.js.map} +1 -1
  61. package/esm/{FilterBar-2a2a09b7.js → FilterBar-8c258534.js} +26 -26
  62. package/esm/FilterBar-8c258534.js.map +1 -0
  63. package/esm/{FilterField-bec061bc.js → FilterField-8e64b355.js} +3 -3
  64. package/esm/FilterField-8e64b355.js.map +1 -0
  65. package/esm/{Image-b26692a9.js → Image-c67870d4.js} +2 -2
  66. package/esm/{Image-b26692a9.js.map → Image-c67870d4.js.map} +1 -1
  67. package/esm/{InfoList-b6980a42.js → InfoList-d853db58.js} +2 -2
  68. package/esm/{InfoList-b6980a42.js.map → InfoList-d853db58.js.map} +1 -1
  69. package/esm/{LanguageSwitcher-f9218fdc.js → LanguageSwitcher-c9aa594a.js} +2 -2
  70. package/esm/{LanguageSwitcher-f9218fdc.js.map → LanguageSwitcher-c9aa594a.js.map} +1 -1
  71. package/esm/{MultiselectDropdown-a97be6bc.js → MultiselectDropdown-61a5a1a6.js} +22 -17
  72. package/esm/MultiselectDropdown-61a5a1a6.js.map +1 -0
  73. package/esm/{Navigation-bb79a1eb.js → Navigation-6581bcdf.js} +4 -4
  74. package/esm/{Navigation-bb79a1eb.js.map → Navigation-6581bcdf.js.map} +1 -1
  75. package/esm/{Pointer-b4abee91.js → Pointer-3e965d7b.js} +2 -2
  76. package/esm/Pointer-3e965d7b.js.map +1 -0
  77. package/esm/{SocialList-336b7f6d.js → SocialList-abaf970d.js} +2 -2
  78. package/esm/{SocialList-336b7f6d.js.map → SocialList-abaf970d.js.map} +1 -1
  79. package/esm/{TableBlock-1ddfd539.js → TableBlock-a65315ca.js} +2 -2
  80. package/esm/{TableBlock-1ddfd539.js.map → TableBlock-a65315ca.js.map} +1 -1
  81. package/esm/{Tag-c3bd6b7f.js → Tag-217cd89b.js} +2 -2
  82. package/esm/{Tag-c3bd6b7f.js.map → Tag-217cd89b.js.map} +1 -1
  83. package/esm/{Textarea-95352f50.js → Textarea-60503eb7.js} +3 -3
  84. package/esm/{Textarea-95352f50.js.map → Textarea-60503eb7.js.map} +1 -1
  85. package/esm/{Textfield-99d91b4e.js → Textfield-e8f48b5f.js} +3 -3
  86. package/esm/{Textfield-99d91b4e.js.map → Textfield-e8f48b5f.js.map} +1 -1
  87. package/esm/{VideoBlock-474e0aa4.js → VideoBlock-3f150172.js} +4 -4
  88. package/esm/{VideoBlock-474e0aa4.js.map → VideoBlock-3f150172.js.map} +1 -1
  89. package/esm/{VideoCard-91438667.js → VideoCard-aa60fbe5.js} +2 -2
  90. package/esm/{VideoCard-91438667.js.map → VideoCard-aa60fbe5.js.map} +1 -1
  91. package/esm/blocks.js +15 -15
  92. package/esm/buttons.js +1 -1
  93. package/esm/cookies.js +2 -2
  94. package/esm/fields.js +7 -7
  95. package/esm/footer.js +3 -3
  96. package/esm/{formFieldText-f4188e55.js → formFieldText-c6fcd370.js} +2 -2
  97. package/esm/{formFieldText-f4188e55.js.map → formFieldText-c6fcd370.js.map} +1 -1
  98. package/esm/headers.js +4 -4
  99. package/esm/navigation.js +6 -6
  100. package/esm/sections.dynamicform.js +40 -12
  101. package/esm/sections.dynamicform.js.map +1 -1
  102. package/esm/sections.events.js +6 -6
  103. package/esm/sections.forms.js +3 -3
  104. package/esm/sections.jobs.js +2 -2
  105. package/esm/sections.js +8 -8
  106. package/esm/sections.news.js +6 -6
  107. package/esm/sections.pois.js +11 -11
  108. package/esm/typography.js +1 -1
  109. package/package.json +1 -1
  110. package/types/components/blocks/FilterBar.d.ts.map +1 -1
  111. package/types/components/fields/FilterField.d.ts.map +1 -1
  112. package/types/components/fields/MultiselectDropdown.d.ts.map +1 -1
  113. package/types/components/sections/form/DynamicForm.d.ts +7 -0
  114. package/types/components/sections/form/DynamicForm.d.ts.map +1 -1
  115. package/types/components/typography/Copy.d.ts.map +1 -1
  116. package/cjs/Copy-a0bc570d.js +0 -2
  117. package/cjs/Copy-a0bc570d.js.map +0 -1
  118. package/cjs/FilterBar-0781490f.js.map +0 -1
  119. package/cjs/FilterField-7efcacb7.js.map +0 -1
  120. package/cjs/MultiselectDropdown-a16ea1c9.js +0 -2
  121. package/cjs/MultiselectDropdown-a16ea1c9.js.map +0 -1
  122. package/cjs/Pointer-331140b6.js +0 -2
  123. package/cjs/Pointer-331140b6.js.map +0 -1
  124. package/esm/Copy-c6786949.js.map +0 -1
  125. package/esm/FilterBar-2a2a09b7.js.map +0 -1
  126. package/esm/FilterField-bec061bc.js.map +0 -1
  127. package/esm/MultiselectDropdown-a97be6bc.js.map +0 -1
  128. package/esm/Pointer-b4abee91.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";var n=require("./Filter-89286db9.js"),e=require("./Copy-a0bc570d.js"),t=require("react"),o=require("styled-components"),i=require("./LibThemeProvider-69109901.js"),r=require("./styles-13e5d9ac.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function l(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return n[t]}})}})),e.default=n,Object.freeze(e)}var s,d,c,u,p,m,v=l(t),f=a(o),g=function(n,e){if(n&&e&&!isNaN(n)&&!isNaN(e))return n/e},w=function(n){return!!(n&&(null==n?void 0:n.w)&&(null==n?void 0:n.h))},h=function(e){return o.css(s||(s=n.__makeTemplateObject(["\n @supports not (aspect-ratio: auto) {\n height: ",";\n padding-top: ",";\n }\n"],["\n @supports not (aspect-ratio: auto) {\n height: ",";\n padding-top: ",";\n }\n"])),w(e)&&0,w(e)&&"calc(100% / ".concat(g(null==e?void 0:e.w,null==e?void 0:e.h),")"))},b=f.default.div.withConfig({displayName:"Image__AspectContainer",componentId:"sc-10qjgzr-0"})(u||(u=n.__makeTemplateObject(["\n display: inline-block;\n position: relative;\n border-radius: ",";\n overflow: hidden;\n\n aspect-ratio: ",";\n\n width: ",";\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ","\n\n // fallback if browsers do not support aspect-ratio\n ","\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n ","\n"],["\n display: inline-block;\n position: relative;\n border-radius: ",";\n overflow: hidden;\n\n aspect-ratio: ",";\n\n width: ",";\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ","\n\n // fallback if browsers do not support aspect-ratio\n ","\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n ","\n"])),(function(n){var e=n.theme;return n.allowEdgeRadius&&r.getGlobals(e).sections.edgeRadius}),(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.small)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.small)||void 0===t?void 0:t.h)}),(function(n){var e,t,o=n.ratios;return!n.coverSpace&&(null===(e=null==o?void 0:o.small)||void 0===e?void 0:e.w)?"".concat(null===(t=null==o?void 0:o.small)||void 0===t?void 0:t.w,"px"):""}),(function(e){return e.coverSpace&&o.css(d||(d=n.__makeTemplateObject(["\n width: 100%;\n\n img {\n object-fit: cover;\n }\n "],["\n width: 100%;\n\n img {\n object-fit: cover;\n }\n "])))}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.small)}),r.mq.medium,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.medium)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.medium)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.medium)}),r.mq.semilarge,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.semilarge)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.semilarge)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.semilarge)}),r.mq.large,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.large)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.large)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.large)}),r.mq.xlarge,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.xlarge)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.xlarge)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.xlarge)}),(function(e){var t=e.ratios,i=e.coverSpace;return t&&o.css(c||(c=n.__makeTemplateObject(["\n img {\n height: 100%;\n width: 100%;\n object-fit: ",";\n\n @supports not (aspect-ratio: auto) {\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n }\n }\n "],["\n img {\n height: 100%;\n width: 100%;\n object-fit: ",";\n\n @supports not (aspect-ratio: auto) {\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n }\n }\n "])),i?"cover":"contain",i&&"absolute")})),k=f.default.img.withConfig({displayName:"Image__Img",componentId:"sc-10qjgzr-1"})(p||(p=n.__makeTemplateObject(["\n display: block;\n color: ",";\n\n &[data-img-loaded='false'] {\n background: ",";\n }\n"],["\n display: block;\n color: ",";\n\n &[data-img-loaded='false'] {\n background: ",";\n }\n"])),(function(n){var e=n.theme;return n.isInverted?r.getColors(e).text.inverted:r.getColors(e).text.default}),(function(n){var e=n.theme,t=n.isInverted;return n.showPlaceholder?t?r.getGlobals(e).sections.imagePlaceholderBg.inverted:r.getGlobals(e).sections.imagePlaceholderBg.default:void 0})),y=f.default(e.Copy).withConfig({displayName:"Image__Copyright",componentId:"sc-10qjgzr-2"})(m||(m=n.__makeTemplateObject(["\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ","px ","px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n"],["\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ","px ","px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n"])),2*r.spacings.nudge,r.spacings.nudge);exports.Image=function(n){var e=n.className,o=n.small,a=n.medium,l=n.semilarge,s=n.large,d=n.xlarge,c=n.alt,u=n.ratios,p=n.coverSpace,m=n.onClick,f=n.isInverted,g=n.showPlaceholder,w=void 0===g||g,h=n.allowEdgeRadius,j=n.copyright,x=i.useLibTheme().colors,O=t.useRef(null),_=t.useState(!1),E=_[0],q=_[1];return t.useEffect((function(){if(O.current){var n=O.current,e=function(){q(!0)},t=function(){q(!1)};return n.complete?(n.removeEventListener("load",e),n.removeEventListener("error",t),e()):(n.addEventListener("load",e),n.addEventListener("error",t)),function(){n.removeEventListener("load",e),n.removeEventListener("error",t)}}}),[]),v.createElement(b,{ratios:u,coverSpace:p,allowEdgeRadius:h,className:e},v.createElement("picture",{onClick:m},d&&v.createElement("source",{srcSet:d,media:r.mq.xlarge}),s&&v.createElement("source",{srcSet:s,media:r.mq.large}),l&&v.createElement("source",{srcSet:l,media:r.mq.semilarge}),a&&v.createElement("source",{srcSet:a,media:r.mq.medium}),v.createElement(k,{ref:O,"data-img-loaded":E,showPlaceholder:w,isInverted:f,srcSet:o,alt:c||"",loading:"lazy"})),j&&v.createElement(y,{size:"small",textColor:x.text.inverted,innerHTML:"© ".concat(j),renderAs:"span"}))};
2
- //# sourceMappingURL=Image-94820dfd.js.map
1
+ "use strict";var n=require("./Filter-89286db9.js"),e=require("./Copy-2a9d4b5d.js"),t=require("react"),o=require("styled-components"),i=require("./LibThemeProvider-69109901.js"),r=require("./styles-13e5d9ac.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function l(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return n[t]}})}})),e.default=n,Object.freeze(e)}var s,d,c,u,p,m,v=l(t),f=a(o),g=function(n,e){if(n&&e&&!isNaN(n)&&!isNaN(e))return n/e},w=function(n){return!!(n&&(null==n?void 0:n.w)&&(null==n?void 0:n.h))},h=function(e){return o.css(s||(s=n.__makeTemplateObject(["\n @supports not (aspect-ratio: auto) {\n height: ",";\n padding-top: ",";\n }\n"],["\n @supports not (aspect-ratio: auto) {\n height: ",";\n padding-top: ",";\n }\n"])),w(e)&&0,w(e)&&"calc(100% / ".concat(g(null==e?void 0:e.w,null==e?void 0:e.h),")"))},b=f.default.div.withConfig({displayName:"Image__AspectContainer",componentId:"sc-10qjgzr-0"})(u||(u=n.__makeTemplateObject(["\n display: inline-block;\n position: relative;\n border-radius: ",";\n overflow: hidden;\n\n aspect-ratio: ",";\n\n width: ",";\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ","\n\n // fallback if browsers do not support aspect-ratio\n ","\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n ","\n"],["\n display: inline-block;\n position: relative;\n border-radius: ",";\n overflow: hidden;\n\n aspect-ratio: ",";\n\n width: ",";\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ","\n\n // fallback if browsers do not support aspect-ratio\n ","\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n ","\n"])),(function(n){var e=n.theme;return n.allowEdgeRadius&&r.getGlobals(e).sections.edgeRadius}),(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.small)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.small)||void 0===t?void 0:t.h)}),(function(n){var e,t,o=n.ratios;return!n.coverSpace&&(null===(e=null==o?void 0:o.small)||void 0===e?void 0:e.w)?"".concat(null===(t=null==o?void 0:o.small)||void 0===t?void 0:t.w,"px"):""}),(function(e){return e.coverSpace&&o.css(d||(d=n.__makeTemplateObject(["\n width: 100%;\n\n img {\n object-fit: cover;\n }\n "],["\n width: 100%;\n\n img {\n object-fit: cover;\n }\n "])))}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.small)}),r.mq.medium,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.medium)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.medium)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.medium)}),r.mq.semilarge,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.semilarge)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.semilarge)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.semilarge)}),r.mq.large,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.large)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.large)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.large)}),r.mq.xlarge,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.xlarge)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.xlarge)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.xlarge)}),(function(e){var t=e.ratios,i=e.coverSpace;return t&&o.css(c||(c=n.__makeTemplateObject(["\n img {\n height: 100%;\n width: 100%;\n object-fit: ",";\n\n @supports not (aspect-ratio: auto) {\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n }\n }\n "],["\n img {\n height: 100%;\n width: 100%;\n object-fit: ",";\n\n @supports not (aspect-ratio: auto) {\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n }\n }\n "])),i?"cover":"contain",i&&"absolute")})),k=f.default.img.withConfig({displayName:"Image__Img",componentId:"sc-10qjgzr-1"})(p||(p=n.__makeTemplateObject(["\n display: block;\n color: ",";\n\n &[data-img-loaded='false'] {\n background: ",";\n }\n"],["\n display: block;\n color: ",";\n\n &[data-img-loaded='false'] {\n background: ",";\n }\n"])),(function(n){var e=n.theme;return n.isInverted?r.getColors(e).text.inverted:r.getColors(e).text.default}),(function(n){var e=n.theme,t=n.isInverted;return n.showPlaceholder?t?r.getGlobals(e).sections.imagePlaceholderBg.inverted:r.getGlobals(e).sections.imagePlaceholderBg.default:void 0})),y=f.default(e.Copy).withConfig({displayName:"Image__Copyright",componentId:"sc-10qjgzr-2"})(m||(m=n.__makeTemplateObject(["\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ","px ","px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n"],["\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ","px ","px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n"])),2*r.spacings.nudge,r.spacings.nudge);exports.Image=function(n){var e=n.className,o=n.small,a=n.medium,l=n.semilarge,s=n.large,d=n.xlarge,c=n.alt,u=n.ratios,p=n.coverSpace,m=n.onClick,f=n.isInverted,g=n.showPlaceholder,w=void 0===g||g,h=n.allowEdgeRadius,j=n.copyright,x=i.useLibTheme().colors,O=t.useRef(null),_=t.useState(!1),E=_[0],q=_[1];return t.useEffect((function(){if(O.current){var n=O.current,e=function(){q(!0)},t=function(){q(!1)};return n.complete?(n.removeEventListener("load",e),n.removeEventListener("error",t),e()):(n.addEventListener("load",e),n.addEventListener("error",t)),function(){n.removeEventListener("load",e),n.removeEventListener("error",t)}}}),[]),v.createElement(b,{ratios:u,coverSpace:p,allowEdgeRadius:h,className:e},v.createElement("picture",{onClick:m},d&&v.createElement("source",{srcSet:d,media:r.mq.xlarge}),s&&v.createElement("source",{srcSet:s,media:r.mq.large}),l&&v.createElement("source",{srcSet:l,media:r.mq.semilarge}),a&&v.createElement("source",{srcSet:a,media:r.mq.medium}),v.createElement(k,{ref:O,"data-img-loaded":E,showPlaceholder:w,isInverted:f,srcSet:o,alt:c||"",loading:"lazy"})),j&&v.createElement(y,{size:"small",textColor:x.text.inverted,innerHTML:"© ".concat(j),renderAs:"span"}))};
2
+ //# sourceMappingURL=Image-69a9c116.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Image-94820dfd.js","sources":["../src/components/blocks/Image.tsx"],"sourcesContent":["import Copy from 'components/typography/Copy';\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport {\n mq,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\n\nexport interface ImageAspectRatios {\n small: { w: number; h: number };\n medium?: { w: number; h: number };\n semilarge?: { w: number; h: number };\n large?: { w: number; h: number };\n xlarge?: { w: number; h: number };\n}\n\nexport interface ImageProps {\n /** Alternative text if image cannot be loaded */\n alt?: string;\n\n /** Image URL for small breakpoint */\n small: string;\n /** Image URL for medium breakpoint */\n medium?: string;\n /** Image URL for semilarge breakpoint */\n semilarge?: string;\n /** Image URL for large breakpoint */\n large?: string;\n /** Image URL for xlarge breakpoint */\n xlarge?: string;\n\n /** Cover full width of parent container */\n coverSpace?: boolean;\n\n /**\n * Image ratios for each breakpoint to avoid layout shifting.\n * Only works if coverSpace = true!\n * */\n ratios?: ImageAspectRatios;\n\n /** Show image placeholder background */\n showPlaceholder?: boolean;\n\n /** Image copyright text (richtext) */\n copyright?: string;\n}\n\nconst getAspectRatio = (width?: number, height?: number) => {\n if (!width || !height) return undefined;\n if (isNaN(width) || isNaN(height)) return undefined;\n\n return width / height;\n};\n\nconst isValid = (ratio?: { w?: number; h?: number }) => {\n return ratio && ratio?.w && ratio?.h ? true : false;\n};\n\nconst aspectFallback = (ratio?: { w?: number; h?: number }) => css`\n @supports not (aspect-ratio: auto) {\n height: ${isValid(ratio) && 0};\n padding-top: ${isValid(ratio) &&\n `calc(100% / ${getAspectRatio(ratio?.w, ratio?.h)})`};\n }\n`;\n\nconst AspectContainer = styled.div<{\n ratios?: ImageAspectRatios;\n coverSpace?: boolean;\n allowEdgeRadius?: boolean;\n}>`\n display: inline-block;\n position: relative;\n border-radius: ${({ theme, allowEdgeRadius }) =>\n allowEdgeRadius && global(theme).sections.edgeRadius};\n overflow: hidden;\n\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.small?.w, ratios?.small?.h)};\n\n width: ${({ ratios, coverSpace }) =>\n !coverSpace && ratios?.small?.w ? `${ratios?.small?.w}px` : ''};\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ${({ coverSpace }) =>\n coverSpace &&\n css`\n width: 100%;\n\n img {\n object-fit: cover;\n }\n `}\n\n // fallback if browsers do not support aspect-ratio\n ${({ ratios, coverSpace }) => coverSpace && aspectFallback(ratios?.small)}\n\n @media ${mq.medium} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.medium?.w, ratios?.medium?.h)};\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.medium)}\n }\n\n @media ${mq.semilarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.semilarge?.w, ratios?.semilarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.semilarge)}\n }\n\n @media ${mq.large} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.large?.w, ratios?.large?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.large)}\n }\n\n @media ${mq.xlarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.xlarge?.w, ratios?.xlarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.xlarge)}\n }\n\n ${({ ratios, coverSpace }) =>\n ratios &&\n css`\n img {\n height: 100%;\n width: 100%;\n object-fit: ${coverSpace ? 'cover' : 'contain'};\n\n @supports not (aspect-ratio: auto) {\n position: ${coverSpace && 'absolute'};\n top: 0;\n left: 0;\n right: 0;\n }\n }\n `}\n`;\n\nconst Img = styled.img<{ isInverted?: boolean; showPlaceholder?: boolean }>`\n display: block;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n &[data-img-loaded='false'] {\n background: ${({ theme, isInverted, showPlaceholder }) =>\n showPlaceholder\n ? isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default\n : undefined};\n }\n`;\n\nconst Copyright = styled(Copy)`\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ${spacings.nudge * 2}px ${spacings.nudge}px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n`;\n\nconst Image: React.FC<\n {\n className?: string;\n\n /** Click handler */\n onClick?: () => void;\n\n /** Show inverted image placeholder background */\n isInverted?: boolean;\n\n /** Allow edge radius defined by theme settings */\n allowEdgeRadius?: boolean;\n } & ImageProps\n> = ({\n className,\n small,\n medium,\n semilarge,\n large,\n xlarge,\n alt,\n ratios,\n coverSpace,\n onClick,\n isInverted,\n showPlaceholder = true,\n allowEdgeRadius,\n copyright,\n}) => {\n const { colors } = useLibTheme();\n const imgRef = useRef<HTMLImageElement>(null);\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n\n useEffect(() => {\n if (!imgRef.current) return;\n const ref = imgRef.current;\n\n const handleLoad = () => {\n setIsLoaded(true);\n };\n\n const handleError = () => {\n setIsLoaded(false);\n };\n\n if (!ref.complete) {\n ref.addEventListener('load', handleLoad);\n ref.addEventListener('error', handleError);\n } else {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n handleLoad();\n }\n\n return () => {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n };\n }, []);\n\n return (\n <AspectContainer\n ratios={ratios}\n coverSpace={coverSpace}\n allowEdgeRadius={allowEdgeRadius}\n className={className}\n >\n <picture onClick={onClick}>\n {xlarge && <source srcSet={xlarge} media={mq.xlarge} />}\n {large && <source srcSet={large} media={mq.large} />}\n {semilarge && (\n <source srcSet={semilarge} media={mq.semilarge} />\n )}\n {medium && <source srcSet={medium} media={mq.medium} />}\n <Img\n ref={imgRef}\n data-img-loaded={isLoaded}\n showPlaceholder={showPlaceholder}\n isInverted={isInverted}\n srcSet={small}\n alt={alt || ''}\n loading=\"lazy\"\n />\n </picture>\n {copyright && (\n <Copyright\n size=\"small\"\n textColor={colors.text.inverted}\n innerHTML={`&copy; ${copyright}`}\n renderAs=\"span\"\n />\n )}\n </AspectContainer>\n );\n};\n\nexport default Image;\n"],"names":["getAspectRatio","width","height","isNaN","isValid","ratio","w","h","aspectFallback","css","templateObject_1","__makeTemplateObject","concat","AspectContainer","styled","div","withConfig","displayName","componentId","templateObject_4","_a","theme","allowEdgeRadius","global","getGlobals","sections","edgeRadius","ratios","_b","small","_c","coverSpace","templateObject_2","mq","medium","semilarge","large","xlarge","templateObject_3","Img","img","templateObject_5","isInverted","color","text","inverted","default","showPlaceholder","imagePlaceholderBg","undefined","Copyright","Copy","templateObject_6","spacings","nudge","className","alt","onClick","copyright","colors","useLibTheme","imgRef","useRef","useState","isLoaded","setIsLoaded","useEffect","current","ref","handleLoad","handleError","complete","removeEventListener","addEventListener","React","createElement","srcSet","media","loading","size","textColor","innerHTML","renderAs"],"mappings":"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"}
1
+ {"version":3,"file":"Image-69a9c116.js","sources":["../src/components/blocks/Image.tsx"],"sourcesContent":["import Copy from 'components/typography/Copy';\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport {\n mq,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\n\nexport interface ImageAspectRatios {\n small: { w: number; h: number };\n medium?: { w: number; h: number };\n semilarge?: { w: number; h: number };\n large?: { w: number; h: number };\n xlarge?: { w: number; h: number };\n}\n\nexport interface ImageProps {\n /** Alternative text if image cannot be loaded */\n alt?: string;\n\n /** Image URL for small breakpoint */\n small: string;\n /** Image URL for medium breakpoint */\n medium?: string;\n /** Image URL for semilarge breakpoint */\n semilarge?: string;\n /** Image URL for large breakpoint */\n large?: string;\n /** Image URL for xlarge breakpoint */\n xlarge?: string;\n\n /** Cover full width of parent container */\n coverSpace?: boolean;\n\n /**\n * Image ratios for each breakpoint to avoid layout shifting.\n * Only works if coverSpace = true!\n * */\n ratios?: ImageAspectRatios;\n\n /** Show image placeholder background */\n showPlaceholder?: boolean;\n\n /** Image copyright text (richtext) */\n copyright?: string;\n}\n\nconst getAspectRatio = (width?: number, height?: number) => {\n if (!width || !height) return undefined;\n if (isNaN(width) || isNaN(height)) return undefined;\n\n return width / height;\n};\n\nconst isValid = (ratio?: { w?: number; h?: number }) => {\n return ratio && ratio?.w && ratio?.h ? true : false;\n};\n\nconst aspectFallback = (ratio?: { w?: number; h?: number }) => css`\n @supports not (aspect-ratio: auto) {\n height: ${isValid(ratio) && 0};\n padding-top: ${isValid(ratio) &&\n `calc(100% / ${getAspectRatio(ratio?.w, ratio?.h)})`};\n }\n`;\n\nconst AspectContainer = styled.div<{\n ratios?: ImageAspectRatios;\n coverSpace?: boolean;\n allowEdgeRadius?: boolean;\n}>`\n display: inline-block;\n position: relative;\n border-radius: ${({ theme, allowEdgeRadius }) =>\n allowEdgeRadius && global(theme).sections.edgeRadius};\n overflow: hidden;\n\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.small?.w, ratios?.small?.h)};\n\n width: ${({ ratios, coverSpace }) =>\n !coverSpace && ratios?.small?.w ? `${ratios?.small?.w}px` : ''};\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ${({ coverSpace }) =>\n coverSpace &&\n css`\n width: 100%;\n\n img {\n object-fit: cover;\n }\n `}\n\n // fallback if browsers do not support aspect-ratio\n ${({ ratios, coverSpace }) => coverSpace && aspectFallback(ratios?.small)}\n\n @media ${mq.medium} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.medium?.w, ratios?.medium?.h)};\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.medium)}\n }\n\n @media ${mq.semilarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.semilarge?.w, ratios?.semilarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.semilarge)}\n }\n\n @media ${mq.large} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.large?.w, ratios?.large?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.large)}\n }\n\n @media ${mq.xlarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.xlarge?.w, ratios?.xlarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.xlarge)}\n }\n\n ${({ ratios, coverSpace }) =>\n ratios &&\n css`\n img {\n height: 100%;\n width: 100%;\n object-fit: ${coverSpace ? 'cover' : 'contain'};\n\n @supports not (aspect-ratio: auto) {\n position: ${coverSpace && 'absolute'};\n top: 0;\n left: 0;\n right: 0;\n }\n }\n `}\n`;\n\nconst Img = styled.img<{ isInverted?: boolean; showPlaceholder?: boolean }>`\n display: block;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n &[data-img-loaded='false'] {\n background: ${({ theme, isInverted, showPlaceholder }) =>\n showPlaceholder\n ? isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default\n : undefined};\n }\n`;\n\nconst Copyright = styled(Copy)`\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ${spacings.nudge * 2}px ${spacings.nudge}px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n`;\n\nconst Image: React.FC<\n {\n className?: string;\n\n /** Click handler */\n onClick?: () => void;\n\n /** Show inverted image placeholder background */\n isInverted?: boolean;\n\n /** Allow edge radius defined by theme settings */\n allowEdgeRadius?: boolean;\n } & ImageProps\n> = ({\n className,\n small,\n medium,\n semilarge,\n large,\n xlarge,\n alt,\n ratios,\n coverSpace,\n onClick,\n isInverted,\n showPlaceholder = true,\n allowEdgeRadius,\n copyright,\n}) => {\n const { colors } = useLibTheme();\n const imgRef = useRef<HTMLImageElement>(null);\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n\n useEffect(() => {\n if (!imgRef.current) return;\n const ref = imgRef.current;\n\n const handleLoad = () => {\n setIsLoaded(true);\n };\n\n const handleError = () => {\n setIsLoaded(false);\n };\n\n if (!ref.complete) {\n ref.addEventListener('load', handleLoad);\n ref.addEventListener('error', handleError);\n } else {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n handleLoad();\n }\n\n return () => {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n };\n }, []);\n\n return (\n <AspectContainer\n ratios={ratios}\n coverSpace={coverSpace}\n allowEdgeRadius={allowEdgeRadius}\n className={className}\n >\n <picture onClick={onClick}>\n {xlarge && <source srcSet={xlarge} media={mq.xlarge} />}\n {large && <source srcSet={large} media={mq.large} />}\n {semilarge && (\n <source srcSet={semilarge} media={mq.semilarge} />\n )}\n {medium && <source srcSet={medium} media={mq.medium} />}\n <Img\n ref={imgRef}\n data-img-loaded={isLoaded}\n showPlaceholder={showPlaceholder}\n isInverted={isInverted}\n srcSet={small}\n alt={alt || ''}\n loading=\"lazy\"\n />\n </picture>\n {copyright && (\n <Copyright\n size=\"small\"\n textColor={colors.text.inverted}\n innerHTML={`&copy; ${copyright}`}\n renderAs=\"span\"\n />\n )}\n </AspectContainer>\n );\n};\n\nexport default Image;\n"],"names":["getAspectRatio","width","height","isNaN","isValid","ratio","w","h","aspectFallback","css","templateObject_1","__makeTemplateObject","concat","AspectContainer","styled","div","withConfig","displayName","componentId","templateObject_4","_a","theme","allowEdgeRadius","global","getGlobals","sections","edgeRadius","ratios","_b","small","_c","coverSpace","templateObject_2","mq","medium","semilarge","large","xlarge","templateObject_3","Img","img","templateObject_5","isInverted","color","text","inverted","default","showPlaceholder","imagePlaceholderBg","undefined","Copyright","Copy","templateObject_6","spacings","nudge","className","alt","onClick","copyright","colors","useLibTheme","imgRef","useRef","useState","isLoaded","setIsLoaded","useEffect","current","ref","handleLoad","handleError","complete","removeEventListener","addEventListener","React","createElement","srcSet","media","loading","size","textColor","innerHTML","renderAs"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var n=require("./Filter-89286db9.js"),e=require("./Copy-a0bc570d.js"),t=require("react"),i=require("styled-components"),a=require("./arrays-c272ed59.js"),l=require("./styles-13e5d9ac.js");function o(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var r,s,d,p,m,c,g,f=o(t),u=o(i),x=u.default.div.withConfig({displayName:"InfoList__View",componentId:"sc-1bggeo0-0"})(r||(r=n.__makeTemplateObject([""],[""]))),y=u.default.ul.withConfig({displayName:"InfoList__Container",componentId:"sc-1bggeo0-1"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -","px;\n margin-top: -","px;\n list-style: none;\n"],["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -","px;\n margin-top: -","px;\n list-style: none;\n"])),l.spacings.spacer,5*l.spacings.nudge),_=u.default.li.withConfig({displayName:"InfoList__Item",componentId:"sc-1bggeo0-2"})(d||(d=n.__makeTemplateObject(["\n flex: 1 1 100%;\n padding-left: ","px;\n padding-top: ","px;\n\n @media "," {\n flex: 1 1 300px;\n }\n"],["\n flex: 1 1 100%;\n padding-left: ","px;\n padding-top: ","px;\n\n @media "," {\n flex: 1 1 300px;\n }\n"])),l.spacings.spacer,5*l.spacings.nudge,l.mq.medium),w=u.default(e.Copy).withConfig({displayName:"InfoList__Title",componentId:"sc-1bggeo0-3"})(p||(p=n.__makeTemplateObject(["\n display: block;\n margin-bottom: ","px;\n"],["\n display: block;\n margin-bottom: ","px;\n"])),3*l.spacings.nudge),I=u.default.ul.withConfig({displayName:"InfoList__Infos",componentId:"sc-1bggeo0-4"})(m||(m=n.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n"]))),b=u.default.li.withConfig({displayName:"InfoList__Content",componentId:"sc-1bggeo0-5"})(c||(c=n.__makeTemplateObject(["\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),2*l.spacings.nudge,2*l.spacings.nudge),h=u.default(e.Copy).withConfig({displayName:"InfoList__Icon",componentId:"sc-1bggeo0-6"})(g||(g=n.__makeTemplateObject(["\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"],["\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"])));exports.InfoList=function(n){var t=n.isInverted,i=n.items,l=n.className;return f.default.createElement(x,{className:l},f.default.createElement(y,null,null==i?void 0:i.map((function(n,i){var l,o=(null===(l=null==n?void 0:n.items)||void 0===l?void 0:l.filter((function(n){return n.text})))||[],r=a.isValidArray(o,!1);return f.default.createElement(_,{key:i},n.title&&f.default.createElement(w,{size:"small",type:"copy-b",renderAs:"span",isInverted:t},n.title),r&&f.default.createElement(I,null,o.map((function(n,i){return f.default.createElement(b,{key:i},f.default.createElement(h,{isInverted:t},n.icon&&n.icon(t)),n.text&&f.default.createElement(e.Copy,{size:"small",isInverted:t,innerHTML:n.text,allowLinkIcons:!1}))}))))}))))};
2
- //# sourceMappingURL=InfoList-e416058c.js.map
1
+ "use strict";var n=require("./Filter-89286db9.js"),e=require("./Copy-2a9d4b5d.js"),t=require("react"),i=require("styled-components"),a=require("./arrays-c272ed59.js"),l=require("./styles-13e5d9ac.js");function o(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var r,s,d,p,m,g,c,f=o(t),u=o(i),x=u.default.div.withConfig({displayName:"InfoList__View",componentId:"sc-1bggeo0-0"})(r||(r=n.__makeTemplateObject([""],[""]))),y=u.default.ul.withConfig({displayName:"InfoList__Container",componentId:"sc-1bggeo0-1"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -","px;\n margin-top: -","px;\n list-style: none;\n"],["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -","px;\n margin-top: -","px;\n list-style: none;\n"])),l.spacings.spacer,5*l.spacings.nudge),_=u.default.li.withConfig({displayName:"InfoList__Item",componentId:"sc-1bggeo0-2"})(d||(d=n.__makeTemplateObject(["\n flex: 1 1 100%;\n padding-left: ","px;\n padding-top: ","px;\n\n @media "," {\n flex: 1 1 300px;\n }\n"],["\n flex: 1 1 100%;\n padding-left: ","px;\n padding-top: ","px;\n\n @media "," {\n flex: 1 1 300px;\n }\n"])),l.spacings.spacer,5*l.spacings.nudge,l.mq.medium),w=u.default(e.Copy).withConfig({displayName:"InfoList__Title",componentId:"sc-1bggeo0-3"})(p||(p=n.__makeTemplateObject(["\n display: block;\n margin-bottom: ","px;\n"],["\n display: block;\n margin-bottom: ","px;\n"])),3*l.spacings.nudge),I=u.default.ul.withConfig({displayName:"InfoList__Infos",componentId:"sc-1bggeo0-4"})(m||(m=n.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n"]))),b=u.default.li.withConfig({displayName:"InfoList__Content",componentId:"sc-1bggeo0-5"})(g||(g=n.__makeTemplateObject(["\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),2*l.spacings.nudge,2*l.spacings.nudge),h=u.default(e.Copy).withConfig({displayName:"InfoList__Icon",componentId:"sc-1bggeo0-6"})(c||(c=n.__makeTemplateObject(["\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"],["\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"])));exports.InfoList=function(n){var t=n.isInverted,i=n.items,l=n.className;return f.default.createElement(x,{className:l},f.default.createElement(y,null,null==i?void 0:i.map((function(n,i){var l,o=(null===(l=null==n?void 0:n.items)||void 0===l?void 0:l.filter((function(n){return n.text})))||[],r=a.isValidArray(o,!1);return f.default.createElement(_,{key:i},n.title&&f.default.createElement(w,{size:"small",type:"copy-b",renderAs:"span",isInverted:t},n.title),r&&f.default.createElement(I,null,o.map((function(n,i){return f.default.createElement(b,{key:i},f.default.createElement(h,{isInverted:t},n.icon&&n.icon(t)),n.text&&f.default.createElement(e.Copy,{size:"small",isInverted:t,innerHTML:n.text,allowLinkIcons:!1}))}))))}))))};
2
+ //# sourceMappingURL=InfoList-f040b8fb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InfoList-e416058c.js","sources":["../src/components/blocks/InfoList.tsx"],"sourcesContent":["import Copy from 'components/typography/Copy';\nimport React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\n\nimport { mq, spacings } from 'utils/styles';\n\nconst View = styled.div``;\n\nconst Container = styled.ul`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -${spacings.spacer}px;\n margin-top: -${spacings.nudge * 5}px;\n list-style: none;\n`;\n\nconst Item = styled.li`\n flex: 1 1 100%;\n padding-left: ${spacings.spacer}px;\n padding-top: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n flex: 1 1 300px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: block;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst Infos = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst Content = styled.li`\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled(Copy)`\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nexport interface InfoGroup {\n title?: string;\n items: Info[];\n}\n\nexport interface Info {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** info text (richtText) */\n text?: string;\n}\n\nconst InfoList: FC<{\n /** Invert text and icon color for dark backgrounds */\n isInverted?: boolean;\n\n /** Array of info groups */\n items?: InfoGroup[];\n\n className?: string;\n}> = ({ isInverted, items, className }) => {\n return (\n <View className={className}>\n <Container>\n {items?.map((group, i) => {\n const groupItems =\n group?.items?.filter((item) => item.text) || [];\n const hasItems = isValidArray(groupItems, false);\n\n return (\n <Item key={i}>\n {group.title && (\n <Title\n size=\"small\"\n type=\"copy-b\"\n renderAs=\"span\"\n isInverted={isInverted}\n >\n {group.title}\n </Title>\n )}\n {hasItems && (\n <Infos>\n {groupItems.map((info, ii) => (\n <Content key={ii}>\n <Icon isInverted={isInverted}>\n {info.icon &&\n info.icon(isInverted)}\n </Icon>\n {info.text && (\n <Copy\n size=\"small\"\n isInverted={isInverted}\n innerHTML={info.text}\n allowLinkIcons={false}\n />\n )}\n </Content>\n ))}\n </Infos>\n )}\n </Item>\n );\n })}\n </Container>\n </View>\n );\n};\n\nexport default InfoList;\n"],"names":["View","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Container","ul","templateObject_2","spacings","spacer","nudge","Item","li","templateObject_3","mq","medium","Title","Copy","templateObject_4","Infos","templateObject_5","Content","Icon","templateObject_7","_a","isInverted","items","className","React","createElement","map","group","i","groupItems","filter","item","text","hasItems","isValidArray","key","title","size","type","renderAs","info","ii","icon","innerHTML","allowLinkIcons"],"mappings":"iTAOMA,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAAUK,IAAAA,EAAAC,uBAAA,CAAA,IAAA,CAAA,OAEjBC,EAAYP,EAAAA,QAAOQ,GAAVN,WAAA,CAAAC,YAAA,sBAAAC,YAAA,gBAAGJ,CAASS,IAAAA,EAAAH,EAAAA,qBAAA,CAAA,8HAAA,yBAAA,gCAAA,CAAA,8HAOQ,yBACE,kCADjBI,EAAQA,SAACC,OACO,EAAjBD,WAASE,OAItBC,EAAOb,EAAAA,QAAOc,GAAVZ,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAASe,IAAAA,EAAAT,EAAAA,qBAAA,CAAA,4CAAA,yBAAA,qBAAA,yCAAA,CAAA,4CAEa,yBACE,qBAEf,2CAHFI,EAAAA,SAASC,OACO,EAAjBD,WAASE,MAEfI,KAAGC,QAKVC,EAAQlB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAGJ,CAAYoB,IAAAA,EAAAd,EAAAA,qBAAA,CAAA,6CAAA,SAAA,CAAA,6CAEa,WAAD,EAAjBI,EAAQA,SAACE,OAGxBS,EAAQrB,EAAAA,QAAOQ,GAAVN,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAGJ,CAASsB,IAAAA,EAAAhB,uBAAA,CAAA,8DAAA,CAAA,iEAMjBiB,EAAUvB,EAAAA,QAAOc,GAAVZ,WAAA,CAAAC,YAAA,oBAAAC,YAAA,gBAAGJ,6WAAS,sQAWe,uDAIC,kBAJF,EAAjBU,WAASE,MAIS,EAAjBF,EAAQA,SAACE,OAI1BY,EAAOxB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAAYyB,IAAAA,EAAAnB,uBAAA,CAAA,8GAAA,CAAA,kIA8BpB,SAACoB,GAAE,IAAAC,eAAYC,EAAKF,EAAAE,MAAEC,EAASH,EAAAG,UAChC,OACIC,EAAC,QAAAC,cAAAhC,EAAK,CAAA8B,UAAWA,GACbC,EAAAA,QAAAC,cAACxB,EAAS,KACLqB,MAAAA,OAAK,EAALA,EAAOI,KAAI,SAACC,EAAOC,SACVC,GACY,QAAdT,EAAAO,MAAAA,OAAA,EAAAA,EAAOL,aAAO,IAAAF,OAAA,EAAAA,EAAAU,QAAO,SAACC,GAASA,OAAAA,EAAKC,UAAS,GAC3CC,EAAWC,EAAAA,aAAaL,GAAY,GAE1C,OACIL,EAAC,QAAAC,cAAAlB,EAAK,CAAA4B,IAAKP,GACND,EAAMS,OACHZ,UAAAC,cAACb,EAAK,CACFyB,KAAK,QACLC,KAAK,SACLC,SAAS,OACTlB,WAAYA,GAEXM,EAAMS,OAGdH,GACGT,EAAC,QAAAC,cAAAV,OACIc,EAAWH,KAAI,SAACc,EAAMC,GAAO,OAC1BjB,wBAACP,EAAO,CAACkB,IAAKM,GACVjB,EAAC,QAAAC,cAAAP,GAAKG,WAAYA,GACbmB,EAAKE,MACFF,EAAKE,KAAKrB,IAEjBmB,EAAKR,MACFR,wBAACX,EAAAA,KAAI,CACDwB,KAAK,QACLhB,WAAYA,EACZsB,UAAWH,EAAKR,KAChBY,gBAAgB"}
1
+ {"version":3,"file":"InfoList-f040b8fb.js","sources":["../src/components/blocks/InfoList.tsx"],"sourcesContent":["import Copy from 'components/typography/Copy';\nimport React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\n\nimport { mq, spacings } from 'utils/styles';\n\nconst View = styled.div``;\n\nconst Container = styled.ul`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -${spacings.spacer}px;\n margin-top: -${spacings.nudge * 5}px;\n list-style: none;\n`;\n\nconst Item = styled.li`\n flex: 1 1 100%;\n padding-left: ${spacings.spacer}px;\n padding-top: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n flex: 1 1 300px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: block;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst Infos = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst Content = styled.li`\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled(Copy)`\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nexport interface InfoGroup {\n title?: string;\n items: Info[];\n}\n\nexport interface Info {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** info text (richtText) */\n text?: string;\n}\n\nconst InfoList: FC<{\n /** Invert text and icon color for dark backgrounds */\n isInverted?: boolean;\n\n /** Array of info groups */\n items?: InfoGroup[];\n\n className?: string;\n}> = ({ isInverted, items, className }) => {\n return (\n <View className={className}>\n <Container>\n {items?.map((group, i) => {\n const groupItems =\n group?.items?.filter((item) => item.text) || [];\n const hasItems = isValidArray(groupItems, false);\n\n return (\n <Item key={i}>\n {group.title && (\n <Title\n size=\"small\"\n type=\"copy-b\"\n renderAs=\"span\"\n isInverted={isInverted}\n >\n {group.title}\n </Title>\n )}\n {hasItems && (\n <Infos>\n {groupItems.map((info, ii) => (\n <Content key={ii}>\n <Icon isInverted={isInverted}>\n {info.icon &&\n info.icon(isInverted)}\n </Icon>\n {info.text && (\n <Copy\n size=\"small\"\n isInverted={isInverted}\n innerHTML={info.text}\n allowLinkIcons={false}\n />\n )}\n </Content>\n ))}\n </Infos>\n )}\n </Item>\n );\n })}\n </Container>\n </View>\n );\n};\n\nexport default InfoList;\n"],"names":["View","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Container","ul","templateObject_2","spacings","spacer","nudge","Item","li","templateObject_3","mq","medium","Title","Copy","templateObject_4","Infos","templateObject_5","Content","Icon","templateObject_7","_a","isInverted","items","className","React","createElement","map","group","i","groupItems","filter","item","text","hasItems","isValidArray","key","title","size","type","renderAs","info","ii","icon","innerHTML","allowLinkIcons"],"mappings":"iTAOMA,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAAUK,IAAAA,EAAAC,uBAAA,CAAA,IAAA,CAAA,OAEjBC,EAAYP,EAAAA,QAAOQ,GAAVN,WAAA,CAAAC,YAAA,sBAAAC,YAAA,gBAAGJ,CAASS,IAAAA,EAAAH,EAAAA,qBAAA,CAAA,8HAAA,yBAAA,gCAAA,CAAA,8HAOQ,yBACE,kCADjBI,EAAQA,SAACC,OACO,EAAjBD,WAASE,OAItBC,EAAOb,EAAAA,QAAOc,GAAVZ,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAASe,IAAAA,EAAAT,EAAAA,qBAAA,CAAA,4CAAA,yBAAA,qBAAA,yCAAA,CAAA,4CAEa,yBACE,qBAEf,2CAHFI,EAAAA,SAASC,OACO,EAAjBD,WAASE,MAEfI,KAAGC,QAKVC,EAAQlB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAGJ,CAAYoB,IAAAA,EAAAd,EAAAA,qBAAA,CAAA,6CAAA,SAAA,CAAA,6CAEa,WAAD,EAAjBI,EAAQA,SAACE,OAGxBS,EAAQrB,EAAAA,QAAOQ,GAAVN,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAGJ,CAASsB,IAAAA,EAAAhB,uBAAA,CAAA,8DAAA,CAAA,iEAMjBiB,EAAUvB,EAAAA,QAAOc,GAAVZ,WAAA,CAAAC,YAAA,oBAAAC,YAAA,gBAAGJ,6WAAS,sQAWe,uDAIC,kBAJF,EAAjBU,WAASE,MAIS,EAAjBF,EAAQA,SAACE,OAI1BY,EAAOxB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAAYyB,IAAAA,EAAAnB,uBAAA,CAAA,8GAAA,CAAA,kIA8BpB,SAACoB,GAAE,IAAAC,eAAYC,EAAKF,EAAAE,MAAEC,EAASH,EAAAG,UAChC,OACIC,EAAC,QAAAC,cAAAhC,EAAK,CAAA8B,UAAWA,GACbC,EAAAA,QAAAC,cAACxB,EAAS,KACLqB,MAAAA,OAAK,EAALA,EAAOI,KAAI,SAACC,EAAOC,SACVC,GACY,QAAdT,EAAAO,MAAAA,OAAA,EAAAA,EAAOL,aAAO,IAAAF,OAAA,EAAAA,EAAAU,QAAO,SAACC,GAASA,OAAAA,EAAKC,UAAS,GAC3CC,EAAWC,EAAAA,aAAaL,GAAY,GAE1C,OACIL,EAAC,QAAAC,cAAAlB,EAAK,CAAA4B,IAAKP,GACND,EAAMS,OACHZ,UAAAC,cAACb,EAAK,CACFyB,KAAK,QACLC,KAAK,SACLC,SAAS,OACTlB,WAAYA,GAEXM,EAAMS,OAGdH,GACGT,EAAC,QAAAC,cAAAV,OACIc,EAAWH,KAAI,SAACc,EAAMC,GAAO,OAC1BjB,wBAACP,EAAO,CAACkB,IAAKM,GACVjB,EAAC,QAAAC,cAAAP,GAAKG,WAAYA,GACbmB,EAAKE,MACFF,EAAKE,KAAKrB,IAEjBmB,EAAKR,MACFR,wBAACX,EAAAA,KAAI,CACDwB,KAAK,QACLhB,WAAYA,EACZsB,UAAWH,EAAKR,KAChBY,gBAAgB"}
@@ -1,2 +1,2 @@
1
- "use strict";var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),i=require("./Link-8951180c.js"),o=require("./styles-13e5d9ac.js"),r=require("./Copy-a0bc570d.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var l,c,d,s,u=a(e),g=a(t),p=g.default.div.withConfig({displayName:"LanguageSwitcher__View",componentId:"sc-16ygxbi-0"})(l||(l=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge/2),f=g.default.div.withConfig({displayName:"LanguageSwitcher__Icon",componentId:"sc-16ygxbi-1"})(c||(c=n.__makeTemplateObject(["\n color: ",";\n\n & > * {\n margin-right: ","px;\n }\n"],["\n color: ",";\n\n & > * {\n margin-right: ","px;\n }\n"])),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}),o.spacings.nudge),m=g.default.div.withConfig({displayName:"LanguageSwitcher__SelectView",componentId:"sc-16ygxbi-2"})(d||(d=n.__makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"],["\n display: inline-flex;\n align-items: center;\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"])),o.spacings.nudge,(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default})),v=g.default(i.Link).withConfig({displayName:"LanguageSwitcher__LanguageLink",componentId:"sc-16ygxbi-3"})(s||(s=n.__makeTemplateObject(["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"],["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"])),o.spacings.nudge,(function(n){var e=n.size;return r.copyStyle("copy",e||"medium")}),(function(n){return n.isActive&&"700"}),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}));exports.LanguageSwitcher=function(e){var t=e.langs,i=e.isInverted,o=e.languageIcon,r=e.textSize,a=void 0===r?"medium":r;return u.default.createElement(p,null,o&&u.default.createElement(f,{isInverted:i},o(i)),u.default.createElement(m,{isInverted:i},null==t?void 0:t.map((function(e,t){return u.default.createElement(v,n.__assign({key:t},e.link,{isInverted:i,isActive:e.isActive,size:a}),e.label)}))))};
2
- //# sourceMappingURL=LanguageSwitcher-aa96cc7d.js.map
1
+ "use strict";var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),i=require("./Link-8951180c.js"),o=require("./styles-13e5d9ac.js"),r=require("./Copy-2a9d4b5d.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var l,d,c,s,u=a(e),g=a(t),p=g.default.div.withConfig({displayName:"LanguageSwitcher__View",componentId:"sc-16ygxbi-0"})(l||(l=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge/2),f=g.default.div.withConfig({displayName:"LanguageSwitcher__Icon",componentId:"sc-16ygxbi-1"})(d||(d=n.__makeTemplateObject(["\n color: ",";\n\n & > * {\n margin-right: ","px;\n }\n"],["\n color: ",";\n\n & > * {\n margin-right: ","px;\n }\n"])),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}),o.spacings.nudge),m=g.default.div.withConfig({displayName:"LanguageSwitcher__SelectView",componentId:"sc-16ygxbi-2"})(c||(c=n.__makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"],["\n display: inline-flex;\n align-items: center;\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"])),o.spacings.nudge,(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default})),v=g.default(i.Link).withConfig({displayName:"LanguageSwitcher__LanguageLink",componentId:"sc-16ygxbi-3"})(s||(s=n.__makeTemplateObject(["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"],["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"])),o.spacings.nudge,(function(n){var e=n.size;return r.copyStyle("copy",e||"medium")}),(function(n){return n.isActive&&"700"}),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}));exports.LanguageSwitcher=function(e){var t=e.langs,i=e.isInverted,o=e.languageIcon,r=e.textSize,a=void 0===r?"medium":r;return u.default.createElement(p,null,o&&u.default.createElement(f,{isInverted:i},o(i)),u.default.createElement(m,{isInverted:i},null==t?void 0:t.map((function(e,t){return u.default.createElement(v,n.__assign({key:t},e.link,{isInverted:i,isActive:e.isActive,size:a}),e.label)}))))};
2
+ //# sourceMappingURL=LanguageSwitcher-c6fd04df.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LanguageSwitcher-aa96cc7d.js","sources":["../src/components/blocks/LanguageSwitcher.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { spacings, getColors as color, FontOptions } from 'utils/styles';\nimport { copyStyle } from 'components/typography/Copy';\n\nconst View = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge / 2}px;\n }\n`;\n\nconst Icon = styled.div<{ isInverted?: boolean }>`\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n & > * {\n margin-right: ${spacings.nudge}px;\n }\n`;\n\nconst SelectView = styled.div<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n margin: 0 -${spacings.nudge}px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n`;\n\nconst LanguageLink = styled(Link)<{\n isInverted?: boolean;\n isActive?: boolean;\n size?: keyof FontOptions;\n}>`\n display: inline-block;\n position: relative;\n padding: 0 ${spacings.nudge}px;\n\n ${({ size }) => copyStyle('copy', size || 'medium')}\n font-weight: ${({ isActive }) => isActive && '700'};\n\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-decoration: underline;\n }\n }\n`;\n\nexport interface Language {\n isActive?: boolean;\n label: string;\n link: LinkProps;\n}\n\nconst LanguageSwitcher: FC<{\n langs?: Language[];\n isInverted?: boolean;\n languageIcon?: (isInverted?: boolean) => React.ReactNode;\n textSize?: keyof FontOptions;\n}> = ({ langs, isInverted, languageIcon, textSize = 'medium' }) => {\n return (\n <View>\n {languageIcon && (\n <Icon isInverted={isInverted}>{languageIcon(isInverted)}</Icon>\n )}\n <SelectView isInverted={isInverted}>\n {langs?.map((lang, i) => (\n <LanguageLink\n key={i}\n {...lang.link}\n isInverted={isInverted}\n isActive={lang.isActive}\n size={textSize}\n >\n {lang.label}\n </LanguageLink>\n ))}\n </SelectView>\n </View>\n );\n};\n\nexport default LanguageSwitcher;\n"],"names":["View","styled","div","withConfig","displayName","componentId","spacings","nudge","Icon","templateObject_2","__makeTemplateObject","_a","isInverted","theme","color","text","inverted","default","SelectView","LanguageLink","Link","templateObject_4","size","copyStyle","isActive","langs","languageIcon","_b","textSize","React","createElement","map","lang","i","__assign","key","link","label"],"mappings":"ySAOMA,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,qKAAU,qHAMkB,kBAAlBK,EAAQA,SAACC,MAAQ,GAIlCC,EAAOP,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,CAAUQ,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,gBAAA,2CAAA,gBAAA,CAA0B,gBAE0B,2CAGrC,mBAJzB,SAACC,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EAAaE,EAAAA,UAAMD,GAAOE,KAAKC,SAAWF,EAAAA,UAAMD,GAAOE,KAAKE,UAG5CX,EAAAA,SAASC,OAI3BW,EAAajB,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,+BAAAC,YAAA,gBAAGJ,qcAAoC,yEAGxB,qQAcgB,yFAd9BK,EAAAA,SAASC,OAWM,SAACI,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACpC,OAAAD,EACME,EAAAA,UAAMD,GAAOE,KAAKC,SAClBF,EAAAA,UAAMD,GAAOE,KAAKE,WAOlCE,EAAelB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,iCAAAC,YAAA,gBAAGJ,CAInBoB,IAAAA,EAAAX,EAAAA,qBAAA,CAAA,yEAAA,cAAA,sBAAA,mBAAA,2HAAA,kEAAA,CAAA,yEAG6B,cAEwB,sBACD,mBAGqB,2HAQ5B,oEAd9BJ,EAAQA,SAACC,OAEpB,SAACI,GAAE,IAAAW,EAAIX,EAAAW,KAAO,OAAAC,YAAU,OAAQD,GAAQ,aAC3B,SAACX,GAAiBa,OAAPb,EAAAa,UAAmB,SAEpC,SAACb,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EAAaE,EAAAA,UAAMD,GAAOE,KAAKC,SAAWF,EAAAA,UAAMD,GAAOE,KAAKE,WAK/C,SAACN,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EACME,EAAAA,UAAMD,GAAOE,KAAKC,SAClBF,EAAAA,UAAMD,GAAOE,KAAKE,oCAiBnC,SAACN,GAAE,IAAAc,EAAKd,EAAAc,MAAEb,EAAUD,EAAAC,WAAEc,EAAYf,EAAAe,aAAEC,EAAmBhB,EAAAiB,SAAnBA,OAAQ,IAAAD,EAAG,SAAQA,EACxD,OACIE,wBAAC7B,EAAI,KACA0B,GACGG,EAAC,QAAAC,cAAAtB,GAAKI,WAAYA,GAAac,EAAad,IAEhDiB,EAAAA,QAACC,cAAAZ,EAAW,CAAAN,WAAYA,GACnBa,MAAAA,OAAA,EAAAA,EAAOM,KAAI,SAACC,EAAMC,GAAM,OACrBJ,UAAAC,cAACX,EAAYe,WAAA,CACTC,IAAKF,GACDD,EAAKI,KACT,CAAAxB,WAAYA,EACZY,SAAUQ,EAAKR,SACfF,KAAMM,IAELI,EAAKK"}
1
+ {"version":3,"file":"LanguageSwitcher-c6fd04df.js","sources":["../src/components/blocks/LanguageSwitcher.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { spacings, getColors as color, FontOptions } from 'utils/styles';\nimport { copyStyle } from 'components/typography/Copy';\n\nconst View = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge / 2}px;\n }\n`;\n\nconst Icon = styled.div<{ isInverted?: boolean }>`\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n & > * {\n margin-right: ${spacings.nudge}px;\n }\n`;\n\nconst SelectView = styled.div<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n margin: 0 -${spacings.nudge}px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n`;\n\nconst LanguageLink = styled(Link)<{\n isInverted?: boolean;\n isActive?: boolean;\n size?: keyof FontOptions;\n}>`\n display: inline-block;\n position: relative;\n padding: 0 ${spacings.nudge}px;\n\n ${({ size }) => copyStyle('copy', size || 'medium')}\n font-weight: ${({ isActive }) => isActive && '700'};\n\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-decoration: underline;\n }\n }\n`;\n\nexport interface Language {\n isActive?: boolean;\n label: string;\n link: LinkProps;\n}\n\nconst LanguageSwitcher: FC<{\n langs?: Language[];\n isInverted?: boolean;\n languageIcon?: (isInverted?: boolean) => React.ReactNode;\n textSize?: keyof FontOptions;\n}> = ({ langs, isInverted, languageIcon, textSize = 'medium' }) => {\n return (\n <View>\n {languageIcon && (\n <Icon isInverted={isInverted}>{languageIcon(isInverted)}</Icon>\n )}\n <SelectView isInverted={isInverted}>\n {langs?.map((lang, i) => (\n <LanguageLink\n key={i}\n {...lang.link}\n isInverted={isInverted}\n isActive={lang.isActive}\n size={textSize}\n >\n {lang.label}\n </LanguageLink>\n ))}\n </SelectView>\n </View>\n );\n};\n\nexport default LanguageSwitcher;\n"],"names":["View","styled","div","withConfig","displayName","componentId","spacings","nudge","Icon","templateObject_2","__makeTemplateObject","_a","isInverted","theme","color","text","inverted","default","SelectView","LanguageLink","Link","templateObject_4","size","copyStyle","isActive","langs","languageIcon","_b","textSize","React","createElement","map","lang","i","__assign","key","link","label"],"mappings":"ySAOMA,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,qKAAU,qHAMkB,kBAAlBK,EAAQA,SAACC,MAAQ,GAIlCC,EAAOP,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,CAAUQ,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,gBAAA,2CAAA,gBAAA,CAA0B,gBAE0B,2CAGrC,mBAJzB,SAACC,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EAAaE,EAAAA,UAAMD,GAAOE,KAAKC,SAAWF,EAAAA,UAAMD,GAAOE,KAAKE,UAG5CX,EAAAA,SAASC,OAI3BW,EAAajB,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,+BAAAC,YAAA,gBAAGJ,qcAAoC,yEAGxB,qQAcgB,yFAd9BK,EAAAA,SAASC,OAWM,SAACI,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACpC,OAAAD,EACME,EAAAA,UAAMD,GAAOE,KAAKC,SAClBF,EAAAA,UAAMD,GAAOE,KAAKE,WAOlCE,EAAelB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,iCAAAC,YAAA,gBAAGJ,CAInBoB,IAAAA,EAAAX,EAAAA,qBAAA,CAAA,yEAAA,cAAA,sBAAA,mBAAA,2HAAA,kEAAA,CAAA,yEAG6B,cAEwB,sBACD,mBAGqB,2HAQ5B,oEAd9BJ,EAAQA,SAACC,OAEpB,SAACI,GAAE,IAAAW,EAAIX,EAAAW,KAAO,OAAAC,YAAU,OAAQD,GAAQ,aAC3B,SAACX,GAAiBa,OAAPb,EAAAa,UAAmB,SAEpC,SAACb,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EAAaE,EAAAA,UAAMD,GAAOE,KAAKC,SAAWF,EAAAA,UAAMD,GAAOE,KAAKE,WAK/C,SAACN,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EACME,EAAAA,UAAMD,GAAOE,KAAKC,SAClBF,EAAAA,UAAMD,GAAOE,KAAKE,oCAiBnC,SAACN,GAAE,IAAAc,EAAKd,EAAAc,MAAEb,EAAUD,EAAAC,WAAEc,EAAYf,EAAAe,aAAEC,EAAmBhB,EAAAiB,SAAnBA,OAAQ,IAAAD,EAAG,SAAQA,EACxD,OACIE,wBAAC7B,EAAI,KACA0B,GACGG,EAAC,QAAAC,cAAAtB,GAAKI,WAAYA,GAAac,EAAad,IAEhDiB,EAAAA,QAACC,cAAAZ,EAAW,CAAAN,WAAYA,GACnBa,MAAAA,OAAA,EAAAA,EAAOM,KAAI,SAACC,EAAMC,GAAM,OACrBJ,UAAAC,cAACX,EAAYe,WAAA,CACTC,IAAKF,GACDD,EAAKI,KACT,CAAAxB,WAAYA,EACZY,SAAUQ,EAAKR,SACfF,KAAMM,IAELI,EAAKK"}
@@ -0,0 +1,2 @@
1
+ "use strict";var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),r=require("./Copy-2a9d4b5d.js"),o=require("./LibThemeProvider-69109901.js"),i=require("./styles-13e5d9ac.js"),l=require("./formFieldText-21f5f620.js"),a=require("./useMounted-0bba9869.js"),s=require("./Checkbox-ddc9a87d.js");function d(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var u,c,p,f,m,g,h,b,x,v,w,y=d(e),k=d(t),_=k.default.button.withConfig({displayName:"MultiselectDropdown__Select",componentId:"sc-rrwdl0-0"})(c||(c=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 45px;\n box-shadow: none;\n position: relative;\n\n -webkit-appearance: none;\n outline: none;\n cursor: ",";\n\n padding: ","px;\n\n border: 1px solid\n ",";\n border-radius: ",";\n\n background: transparent;\n transition: background-color 0.2s ease-in-out;\n\n ","\n /** Clamping min font size to 16px to prevent browser zooming */\n ","\n \n color: ",";\n line-height: normal;\n\n @media (hover: hover) and (pointer: fine) {\n ","\n }\n\n &:focus {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 45px;\n box-shadow: none;\n position: relative;\n\n -webkit-appearance: none;\n outline: none;\n cursor: ",";\n\n padding: ","px;\n\n border: 1px solid\n ",";\n border-radius: ",";\n\n background: transparent;\n transition: background-color 0.2s ease-in-out;\n\n ","\n /** Clamping min font size to 16px to prevent browser zooming */\n ","\n \n color: ",";\n line-height: normal;\n\n @media (hover: hover) and (pointer: fine) {\n ","\n }\n\n &:focus {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),(function(n){return n.inlined?"default":"pointer"}),i.spacings.nudge,(function(n){var e=n.theme,t=n.isInverted,r=n.hasError;return t?r?i.getColors(e).errorInverted:i.getColors(e).elementBg.light:r?i.getColors(e).error:i.getColors(e).elementBg.dark}),(function(n){var e=n.theme;return i.getGlobals(e).sections.edgeRadius}),r.copyStyle("copy","small"),(function(n){var e=n.theme;return i.withRange(l.getFormFieldTextSize(e),"font-size")}),(function(n){var e=n.theme,t=n.isInverted,r=n.hasError;return t?r?i.getColors(e).text.errorInverted:i.getFonts(e).copy.small.colorInverted:r?i.getColors(e).text.error:i.getFonts(e).copy.small.color}),(function(e){var r=e.isInverted,o=e.theme,l=e.isOpen;return t.css(u||(u=n.__makeTemplateObject(["\n &:hover {\n outline: ",";\n outline-offset: 0;\n }\n "],["\n &:hover {\n outline: ",";\n outline-offset: 0;\n }\n "])),"1px solid ".concat(l?"transparent":r?i.getColors(o).primary.inverted:i.getColors(o).primary.default))}),(function(n){var e=n.theme,t=n.isInverted,r=n.isOpen;return"1px solid ".concat(r?"transparent":t?i.getColors(e).primary.inverted:i.getColors(e).primary.default)}),i.spacings.nudge),C=k.default(r.Copy).withConfig({displayName:"MultiselectDropdown__SelectMain",componentId:"sc-rrwdl0-1"})(p||(p=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n align-items: center;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),i.spacings.nudge),I=k.default.span.withConfig({displayName:"MultiselectDropdown__Indicator",componentId:"sc-rrwdl0-2"})(f||(f=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n pointer-events: none;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n align-items: center;\n pointer-events: none;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),i.spacings.nudge),E=k.default.ul.withConfig({displayName:"MultiselectDropdown__Flyout",componentId:"sc-rrwdl0-3"})(m||(m=n.__makeTemplateObject(["\n list-style: none;\n padding: ","px ","px;\n margin: 0;\n margin-top: ",";\n\n position: ",";\n top: calc(100% + 3px);\n left: 0;\n width: 100%;\n z-index: 2;\n\n display: ",";\n background: ",";\n border: 1px solid\n ",";\n border-radius: ",";\n\n max-height: 300px;\n overflow-y: auto;\n scrollbar-width: none;\n\n outline: none;\n\n ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 14px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: ",";\n border: 4px solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n }\n"],["\n list-style: none;\n padding: ","px ","px;\n margin: 0;\n margin-top: ",";\n\n position: ",";\n top: calc(100% + 3px);\n left: 0;\n width: 100%;\n z-index: 2;\n\n display: ",";\n background: ",";\n border: 1px solid\n ",";\n border-radius: ",";\n\n max-height: 300px;\n overflow-y: auto;\n scrollbar-width: none;\n\n outline: none;\n\n ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 14px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: ",";\n border: 4px solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n }\n"])),i.spacings.nudge,2*i.spacings.nudge,(function(n){return n.inlined&&"3px"}),(function(n){return n.inlined?"relative":"absolute"}),(function(n){return n.isVisible?"block":"none"}),(function(n){var e=n.theme;return i.getColors(e).elementBg.light}),(function(n){var e=n.theme;return n.isInverted?i.getColors(e).elementBg.light:i.getColors(e).elementBg.dark}),(function(n){var e=n.theme;return i.getGlobals(e).sections.edgeRadius}),(function(n){var e=n.theme;return i.getColors(e).elementBg.medium})),M=k.default.li.withConfig({displayName:"MultiselectDropdown__ItemStyle",componentId:"sc-rrwdl0-4"})(g||(g=n.__makeTemplateObject(["\n width: 100%;\n cursor: pointer;\n position: relative;\n\n padding: 5px 0px;\n"],["\n width: 100%;\n cursor: pointer;\n position: relative;\n\n padding: 5px 0px;\n"]))),j=k.default(s.Checkbox).withConfig({displayName:"MultiselectDropdown__ItemCheckbox",componentId:"sc-rrwdl0-5"})(h||(h=n.__makeTemplateObject(["\n width: 100%;\n"],["\n width: 100%;\n"]))),D=k.default.div.withConfig({displayName:"MultiselectDropdown__Container",componentId:"sc-rrwdl0-6"})(b||(b=n.__makeTemplateObject(["\n position: relative;\n outline: none;\n"],["\n position: relative;\n outline: none;\n"]))),T=k.default(r.Copy).withConfig({displayName:"MultiselectDropdown__Counter",componentId:"sc-rrwdl0-7"})(x||(x=n.__makeTemplateObject(["\n flex: 0 0 20px;\n\n position: relative;\n background: ",";\n\n line-height: normal;\n color: ",";\n\n max-height: 20px;\n max-width: 20px;\n\n height: 20px;\n width: 20px;\n\n border-radius: 50px;\n\n & > * {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n"],["\n flex: 0 0 20px;\n\n position: relative;\n background: ",";\n\n line-height: normal;\n color: ",";\n\n max-height: 20px;\n max-width: 20px;\n\n height: 20px;\n width: 20px;\n\n border-radius: 50px;\n\n & > * {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n"])),(function(n){var e=n.theme;return i.getColors(e).text.default}),(function(n){var e=n.theme;return i.getColors(e).text.inverted})),O=k.default.button.withConfig({displayName:"MultiselectDropdown__Reset",componentId:"sc-rrwdl0-8"})(v||(v=n.__makeTemplateObject(["\n background: none;\n border: none;\n padding: 0;\n\n ",";\n margin-top: ","px;\n\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n outline: 1px dashed ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"],["\n background: none;\n border: none;\n padding: 0;\n\n ",";\n margin-top: ","px;\n\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n outline: 1px dashed ",";\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"])),r.copyStyle("copy","small"),2*i.spacings.nudge,(function(n){var e=n.theme;return i.getFonts(e).link.color})),B=k.default.div.withConfig({displayName:"MultiselectDropdown__Icon",componentId:"sc-rrwdl0-9"})(w||(w=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"],["\n display: flex;\n align-items: center;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"])),i.spacings.nudge),F=y.default.memo((function(t){var r=t.label,i=t.isRequired,s=t.errorMessage,d=t.infoMessage,u=t.isDisabled,c=t.isInverted,p=t.items,f=t.name,m=t.selectedItems,g=t.placeholder,h=t.resetLabel,b=t.inlined,x=t.icon,v=t.onChange,w=t.onBlur,k=t.indicator,F=t.className,N=o.useLibTheme().colors,q=e.useState(b||!1),z=q[0],R=q[1],S=e.useState(m||[]),L=S[0],A=S[1],V=e.useRef(null),W=e.useRef(null),G=a.useMounted(),H=e.useRef(!1);e.useEffect((function(){m&&A(m)}),[m]),e.useEffect((function(){G&&(null==v||v(L))}),[L]),u&&(s="");var P=null==x?void 0:x(c);return y.default.createElement(l.FieldWrapper.View,{isDisabled:u,className:F},y.default.createElement(l.FieldWrapper.Head,{label:r,isRequired:i,isInverted:c}),y.default.createElement(l.FieldWrapper.Content,null,y.default.createElement(D,{ref:W,onBlur:function(n){var e;b||(null===(e=W.current)||void 0===e?void 0:e.contains(n.relatedTarget))||H.current||(R(!1),null==w||w())}},y.default.createElement(_,{ref:V,type:"button",isOpen:z,inlined:b,isInverted:c,hasError:!!s,onClick:function(){b||R((function(n){return!n}))},"aria-expanded":z},y.default.createElement(C,null,P&&y.default.createElement(B,null,P),y.default.createElement("span",null,g)),y.default.createElement(I,null,L.length>0&&y.default.createElement(T,{size:"small"},y.default.createElement("span",null,L.length)),k&&k({isOpen:z,isDisabled:u}),!k&&(z?y.default.createElement(n.AngleUp,{iconColor:u?N.elementBg.medium:N.elementBg.dark}):y.default.createElement(n.AngleDown,{iconColor:u?N.elementBg.medium:N.elementBg.dark})))),y.default.createElement(E,{isVisible:z,inlined:b},p.map((function(e,t){var r=L.includes(e.value);return y.default.createElement(M,{key:"key_".concat(t+1),onMouseDown:function(){H.current=!0}},y.default.createElement(j,{isSelected:r,value:e.value,onChange:function(){var t;t=e.value,L.includes(t)?A((function(n){return n.filter((function(n){return n!==t}))})):A((function(e){return n.__spreadArray(n.__spreadArray([],e,!0),[t],!1)})),H.current=!1},label:e.label}))})),h&&y.default.createElement(O,{onClick:function(){return A([])}},h))),y.default.createElement("select",{name:f,multiple:!0,hidden:!0,defaultValue:L},p.map((function(n,e){return y.default.createElement("option",{key:"key_".concat(e),value:n.value},n.label)})))),y.default.createElement(l.FieldWrapper.Messages,{infoMessage:d,errorMessage:s,isInverted:c}))}),(function(n,e){if(!n.enableMemo)return!1;if(n.selectedItems!==e.selectedItems)return!1;if(n.errorMessage!==e.errorMessage)return!1;if(n.infoMessage!==e.infoMessage)return!1;if(n.label!==e.label)return!1;if(n.placeholder!==e.placeholder)return!1;if(n.resetLabel!==e.resetLabel)return!1;if(n.isInverted!==e.isInverted)return!1;if(n.isDisabled!==e.isDisabled)return!1;if(n.inlined!==e.inlined)return!1;if(n.items.length!==e.items.length)return!1;for(var t=0;t<n.items.length;t++)if(n.items[t].label!==e.items[t].label||n.items[t].value!==e.items[t].value)return!1;return!0}));exports.MultiselectDropdown=F;
2
+ //# sourceMappingURL=MultiselectDropdown-d46ae36f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiselectDropdown-d46ae36f.js","sources":["../src/components/fields/MultiselectDropdown.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport AngleDown from 'components/base/icons/AngleDown';\nimport AngleUp from 'components/base/icons/AngleUp';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport FieldWrapper from './FormField';\nimport { FormProps } from './Textfield';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\nimport useMounted from 'utils/useMounted';\nimport Checkbox from './Checkbox';\n\nconst Select = styled.button<{\n hasError?: boolean;\n isOpen?: boolean;\n isInverted?: boolean;\n inlined?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 45px;\n box-shadow: none;\n position: relative;\n\n -webkit-appearance: none;\n outline: none;\n cursor: ${({ inlined }) => (inlined ? 'default' : 'pointer')};\n\n padding: ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: transparent;\n transition: background-color 0.2s ease-in-out;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n \n color: ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).text.errorInverted\n : font(theme).copy.small.colorInverted;\n }\n return hasError\n ? color(theme).text.error\n : font(theme).copy.small.color;\n }};\n line-height: normal;\n\n @media (hover: hover) and (pointer: fine) {\n ${({ isInverted, theme, isOpen }) =>\n css`\n &:hover {\n outline: ${`1px solid ${\n isOpen\n ? 'transparent'\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n `}\n }\n\n &:focus {\n outline: ${({ theme, isInverted, isOpen }) =>\n `1px solid ${\n isOpen\n ? 'transparent'\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst SelectMain = styled(Copy)`\n display: flex;\n align-items: center;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst Indicator = styled.span`\n display: flex;\n align-items: center;\n pointer-events: none;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst Flyout = styled.ul<{\n isVisible?: boolean;\n isInverted?: boolean;\n inlined?: boolean;\n}>`\n list-style: none;\n padding: ${spacings.nudge}px ${spacings.nudge * 2}px;\n margin: 0;\n margin-top: ${({ inlined }) => inlined && '3px'};\n\n position: ${({ inlined }) => (inlined ? 'relative' : 'absolute')};\n top: calc(100% + 3px);\n left: 0;\n width: 100%;\n z-index: 2;\n\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n background: ${({ theme }) => color(theme).elementBg.light};\n border: 1px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n max-height: 300px;\n overflow-y: auto;\n scrollbar-width: none;\n\n outline: none;\n\n ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 14px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n border: 4px solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n }\n`;\n\nconst ItemStyle = styled.li`\n width: 100%;\n cursor: pointer;\n position: relative;\n\n padding: 5px 0px;\n`;\n\nconst ItemCheckbox = styled(Checkbox)`\n width: 100%;\n`;\n\nconst Container = styled.div`\n position: relative;\n outline: none;\n`;\n\nconst Counter = styled(Copy)`\n flex: 0 0 20px;\n\n position: relative;\n background: ${({ theme }) => color(theme).text.default};\n\n line-height: normal;\n color: ${({ theme }) => color(theme).text.inverted};\n\n max-height: 20px;\n max-width: 20px;\n\n height: 20px;\n width: 20px;\n\n border-radius: 50px;\n\n & > * {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n`;\n\nconst Reset = styled.button`\n background: none;\n border: none;\n padding: 0;\n\n ${copyStyle('copy', 'small')};\n margin-top: ${spacings.nudge * 2}px;\n\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n text-decoration: underline;\n }\n }\n\n &:focus {\n outline: 1px dashed ${({ theme }) => font(theme).link.color};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n padding-left: ${spacings.nudge}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n`;\n\ninterface FilterItem {\n value: string;\n label: string;\n}\n\nexport type MultiselectDropdownProps = Omit<FormProps, 'value'> & {\n enableMemo?: boolean;\n inlined?: boolean;\n placeholder?: string;\n name?: string;\n selectedItems?: string[];\n items: FilterItem[];\n resetLabel?: string;\n\n onChange?: (values: string[]) => void;\n onBlur?: () => void;\n icon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n};\n\nconst MultiselectDropdown: React.FC<\n MultiselectDropdownProps & { className?: string }\n> = ({\n label,\n isRequired,\n errorMessage,\n infoMessage,\n isDisabled,\n isInverted,\n items,\n name,\n selectedItems,\n placeholder,\n resetLabel,\n inlined,\n icon,\n onChange,\n onBlur,\n indicator,\n className,\n}) => {\n const { colors } = useLibTheme();\n const [isOpen, setIsOpen] = useState(inlined || false);\n const [selected, setSelected] = useState<string[]>(selectedItems || []);\n\n const selectBtnRef = useRef<HTMLButtonElement>(null);\n const selectContainerRef = useRef<HTMLDivElement>(null);\n const isMounted = useMounted();\n const itemHasBeenClicked = useRef<boolean>(false);\n\n useEffect(() => {\n if (selectedItems) {\n setSelected(selectedItems);\n }\n }, [selectedItems]);\n\n useEffect(() => {\n if (isMounted) {\n onChange?.(selected);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n if (isDisabled) {\n errorMessage = '';\n }\n\n const toggleSelected = (value: string) => {\n if (selected.includes(value)) {\n setSelected((prev) => prev.filter((v) => v !== value));\n return;\n }\n\n setSelected((prev) => [...prev, value]);\n };\n\n const iconElement = icon?.(isInverted);\n\n return (\n <FieldWrapper.View isDisabled={isDisabled} className={className}>\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n <FieldWrapper.Content>\n <Container\n ref={selectContainerRef}\n onBlur={(ev) => {\n if (\n !inlined &&\n !selectContainerRef.current?.contains(\n ev.relatedTarget\n ) &&\n !itemHasBeenClicked.current\n ) {\n setIsOpen(false);\n onBlur?.();\n }\n }}\n >\n <Select\n ref={selectBtnRef}\n type=\"button\"\n isOpen={isOpen}\n inlined={inlined}\n isInverted={isInverted}\n hasError={!!errorMessage}\n onClick={() => {\n if (inlined) return;\n setIsOpen((prev) => !prev);\n }}\n aria-expanded={isOpen}\n >\n <SelectMain>\n {iconElement && <Icon>{iconElement}</Icon>}\n <span>{placeholder}</span>\n </SelectMain>\n <Indicator>\n {selected.length > 0 && (\n <Counter size=\"small\">\n <span>{selected.length}</span>\n </Counter>\n )}\n {indicator &&\n indicator({ isOpen, isDisabled: isDisabled })}\n {!indicator &&\n (isOpen ? (\n <AngleUp\n iconColor={\n isDisabled\n ? colors.elementBg.medium\n : colors.elementBg.dark\n }\n />\n ) : (\n <AngleDown\n iconColor={\n isDisabled\n ? colors.elementBg.medium\n : colors.elementBg.dark\n }\n />\n ))}\n </Indicator>\n </Select>\n <Flyout isVisible={isOpen} inlined={inlined}>\n {items.map((item, i) => {\n const isSelected = selected.includes(item.value);\n\n return (\n <ItemStyle\n key={`key_${i + 1}`}\n onMouseDown={() => {\n itemHasBeenClicked.current = true;\n }}\n >\n <ItemCheckbox\n isSelected={isSelected}\n value={item.value}\n onChange={() => {\n toggleSelected(item.value);\n itemHasBeenClicked.current = false;\n }}\n label={item.label}\n />\n </ItemStyle>\n );\n })}\n {resetLabel && (\n <Reset onClick={() => setSelected([])}>\n {resetLabel}\n </Reset>\n )}\n </Flyout>\n </Container>\n <select name={name} multiple hidden defaultValue={selected}>\n {items.map((item, i) => {\n return (\n <option key={`key_${i}`} value={item.value}>\n {item.label}\n </option>\n );\n })}\n </select>\n </FieldWrapper.Content>\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldWrapper.View>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (\n prev: MultiselectDropdownProps,\n next: MultiselectDropdownProps\n) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.selectedItems !== next.selectedItems) return false;\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.label !== next.label) return false;\n if (prev.placeholder !== next.placeholder) return false;\n if (prev.resetLabel !== next.resetLabel) return false;\n if (prev.isInverted !== next.isInverted) return false;\n if (prev.isDisabled !== next.isDisabled) return false;\n if (prev.inlined !== next.inlined) return false;\n\n // compare items\n if (prev.items.length !== next.items.length) return false;\n for (let i = 0; i < prev.items.length; i++) {\n if (\n prev.items[i].label !== next.items[i].label ||\n prev.items[i].value !== next.items[i].value\n ) {\n return false;\n }\n }\n\n return true;\n};\n\nexport default React.memo(MultiselectDropdown, areEqual);\n"],"names":["Select","styled","button","withConfig","displayName","componentId","templateObject_2","__makeTemplateObject","_a","inlined","spacings","nudge","theme","isInverted","hasError","color","errorInverted","elementBg","light","error","dark","global","sections","edgeRadius","copyStyle","withRange","getFormFieldTextSize","text","font","getFonts","copy","small","colorInverted","isOpen","css","templateObject_1","primary","inverted","default","getColors","SelectMain","Copy","templateObject_3","Indicator","span","templateObject_4","Flyout","ul","isVisible","medium","ItemStyle","li","templateObject_6","ItemCheckbox","Checkbox","templateObject_7","Container","div","templateObject_8","Counter","templateObject_9","Reset","templateObject_10","link","Icon","templateObject_11","React","memo","label","isRequired","errorMessage","infoMessage","isDisabled","items","name","selectedItems","placeholder","resetLabel","icon","onChange","onBlur","indicator","className","colors","useLibTheme","_b","useState","setIsOpen","_c","selected","setSelected","selectBtnRef","useRef","selectContainerRef","isMounted","useMounted","itemHasBeenClicked","useEffect","iconElement","createElement","FieldWrapper","View","Head","Content","ref","ev","current","contains","relatedTarget","type","onClick","prev","length","size","AngleUp","iconColor","AngleDown","map","item","i","isSelected","includes","value","key","concat","onMouseDown","filter","v","__spreadArray","multiple","hidden","defaultValue","Messages","next","enableMemo"],"mappings":"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"}