@redsift/design-system-legacy 6.0.0 → 6.1.0-alpha.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 (206) hide show
  1. package/CONTRIBUTING.md +382 -0
  2. package/index.js +5708 -0
  3. package/index.js.map +1 -0
  4. package/package.json +7 -23
  5. package/esm/_internal/Alert.js +0 -10
  6. package/esm/_internal/Alert.js.map +0 -1
  7. package/esm/_internal/Alert2.js +0 -59
  8. package/esm/_internal/Alert2.js.map +0 -1
  9. package/esm/_internal/Button.js +0 -5
  10. package/esm/_internal/Button.js.map +0 -1
  11. package/esm/_internal/Button2.js +0 -56
  12. package/esm/_internal/Button2.js.map +0 -1
  13. package/esm/_internal/Card.js +0 -6
  14. package/esm/_internal/Card.js.map +0 -1
  15. package/esm/_internal/Card2.js +0 -33
  16. package/esm/_internal/Card2.js.map +0 -1
  17. package/esm/_internal/CardHeader.js +0 -7
  18. package/esm/_internal/CardHeader.js.map +0 -1
  19. package/esm/_internal/CardHeader2.js +0 -35
  20. package/esm/_internal/CardHeader2.js.map +0 -1
  21. package/esm/_internal/Checkbox.js +0 -7
  22. package/esm/_internal/Checkbox.js.map +0 -1
  23. package/esm/_internal/Checkbox2.js +0 -53
  24. package/esm/_internal/Checkbox2.js.map +0 -1
  25. package/esm/_internal/CheckboxTree.js +0 -8
  26. package/esm/_internal/CheckboxTree.js.map +0 -1
  27. package/esm/_internal/CheckboxTree2.js +0 -185
  28. package/esm/_internal/CheckboxTree2.js.map +0 -1
  29. package/esm/_internal/IconContainer.js +0 -6
  30. package/esm/_internal/IconContainer.js.map +0 -1
  31. package/esm/_internal/IconContainer2.js +0 -37
  32. package/esm/_internal/IconContainer2.js.map +0 -1
  33. package/esm/_internal/Input.js +0 -7
  34. package/esm/_internal/Input.js.map +0 -1
  35. package/esm/_internal/Input2.js +0 -185
  36. package/esm/_internal/Input2.js.map +0 -1
  37. package/esm/_internal/Pagination.js +0 -10
  38. package/esm/_internal/Pagination.js.map +0 -1
  39. package/esm/_internal/Pagination2.js +0 -82
  40. package/esm/_internal/Pagination2.js.map +0 -1
  41. package/esm/_internal/Radio.js +0 -7
  42. package/esm/_internal/Radio.js.map +0 -1
  43. package/esm/_internal/Radio2.js +0 -51
  44. package/esm/_internal/Radio2.js.map +0 -1
  45. package/esm/_internal/Select.js +0 -9
  46. package/esm/_internal/Select.js.map +0 -1
  47. package/esm/_internal/Select2.js +0 -458
  48. package/esm/_internal/Select2.js.map +0 -1
  49. package/esm/_internal/Switch.js +0 -7
  50. package/esm/_internal/Switch.js.map +0 -1
  51. package/esm/_internal/Switch2.js +0 -55
  52. package/esm/_internal/Switch2.js.map +0 -1
  53. package/esm/_internal/Table.js +0 -27
  54. package/esm/_internal/Table.js.map +0 -1
  55. package/esm/_internal/Table2.js +0 -1252
  56. package/esm/_internal/Table2.js.map +0 -1
  57. package/esm/_internal/Tabs.js +0 -7
  58. package/esm/_internal/Tabs.js.map +0 -1
  59. package/esm/_internal/Tabs2.js +0 -121
  60. package/esm/_internal/Tabs2.js.map +0 -1
  61. package/esm/_internal/Typography.js +0 -6
  62. package/esm/_internal/Typography.js.map +0 -1
  63. package/esm/_internal/Typography2.js +0 -75
  64. package/esm/_internal/Typography2.js.map +0 -1
  65. package/esm/_internal/_rollupPluginBabelHelpers.js +0 -108
  66. package/esm/_internal/_rollupPluginBabelHelpers.js.map +0 -1
  67. package/esm/_internal/icons/ActionsIcon.js +0 -20
  68. package/esm/_internal/icons/ActionsIcon.js.map +0 -1
  69. package/esm/_internal/icons/AddIcon.js +0 -16
  70. package/esm/_internal/icons/AddIcon.js.map +0 -1
  71. package/esm/_internal/icons/Arrow.js +0 -36
  72. package/esm/_internal/icons/Arrow.js.map +0 -1
  73. package/esm/_internal/icons/ArrowDown.js +0 -17
  74. package/esm/_internal/icons/ArrowDown.js.map +0 -1
  75. package/esm/_internal/icons/ArrowIcon.js +0 -29
  76. package/esm/_internal/icons/ArrowIcon.js.map +0 -1
  77. package/esm/_internal/icons/ArrowUp.js +0 -16
  78. package/esm/_internal/icons/ArrowUp.js.map +0 -1
  79. package/esm/_internal/icons/BarchartHorizontal.js +0 -26
  80. package/esm/_internal/icons/BarchartHorizontal.js.map +0 -1
  81. package/esm/_internal/icons/BellIcon.js +0 -27
  82. package/esm/_internal/icons/BellIcon.js.map +0 -1
  83. package/esm/_internal/icons/BimiSetupIcon.js +0 -21
  84. package/esm/_internal/icons/BimiSetupIcon.js.map +0 -1
  85. package/esm/_internal/icons/Chevron.js +0 -40
  86. package/esm/_internal/icons/Chevron.js.map +0 -1
  87. package/esm/_internal/icons/ChevronLeft.js +0 -16
  88. package/esm/_internal/icons/ChevronLeft.js.map +0 -1
  89. package/esm/_internal/icons/ChevronRight.js +0 -16
  90. package/esm/_internal/icons/ChevronRight.js.map +0 -1
  91. package/esm/_internal/icons/ClearIcon.js +0 -16
  92. package/esm/_internal/icons/ClearIcon.js.map +0 -1
  93. package/esm/_internal/icons/Cloud.js +0 -28
  94. package/esm/_internal/icons/Cloud.js.map +0 -1
  95. package/esm/_internal/icons/Cross.js +0 -26
  96. package/esm/_internal/icons/Cross.js.map +0 -1
  97. package/esm/_internal/icons/DeleteIcon.js +0 -24
  98. package/esm/_internal/icons/DeleteIcon.js.map +0 -1
  99. package/esm/_internal/icons/DynamicDmarcIcon.js +0 -36
  100. package/esm/_internal/icons/DynamicDmarcIcon.js.map +0 -1
  101. package/esm/_internal/icons/EditOutline.js +0 -16
  102. package/esm/_internal/icons/EditOutline.js.map +0 -1
  103. package/esm/_internal/icons/Email.js +0 -55
  104. package/esm/_internal/icons/Email.js.map +0 -1
  105. package/esm/_internal/icons/EmailSourcesIcon.js +0 -29
  106. package/esm/_internal/icons/EmailSourcesIcon.js.map +0 -1
  107. package/esm/_internal/icons/ExpandLayoutIcon.js +0 -35
  108. package/esm/_internal/icons/ExpandLayoutIcon.js.map +0 -1
  109. package/esm/_internal/icons/ExportIcon.js +0 -12
  110. package/esm/_internal/icons/ExportIcon.js.map +0 -1
  111. package/esm/_internal/icons/Eye.js +0 -35
  112. package/esm/_internal/icons/Eye.js.map +0 -1
  113. package/esm/_internal/icons/Facebook.js +0 -32
  114. package/esm/_internal/icons/Facebook.js.map +0 -1
  115. package/esm/_internal/icons/FilterList.js +0 -16
  116. package/esm/_internal/icons/FilterList.js.map +0 -1
  117. package/esm/_internal/icons/FindOutHowIcon.js +0 -41
  118. package/esm/_internal/icons/FindOutHowIcon.js.map +0 -1
  119. package/esm/_internal/icons/FlatArrow.js +0 -34
  120. package/esm/_internal/icons/FlatArrow.js.map +0 -1
  121. package/esm/_internal/icons/ForwardArrowIcon.js +0 -53
  122. package/esm/_internal/icons/ForwardArrowIcon.js.map +0 -1
  123. package/esm/_internal/icons/Github.js +0 -33
  124. package/esm/_internal/icons/Github.js.map +0 -1
  125. package/esm/_internal/icons/Globe.js +0 -61
  126. package/esm/_internal/icons/Globe.js.map +0 -1
  127. package/esm/_internal/icons/Hand.js +0 -25
  128. package/esm/_internal/icons/Hand.js.map +0 -1
  129. package/esm/_internal/icons/InfinityLoop.js +0 -22
  130. package/esm/_internal/icons/InfinityLoop.js.map +0 -1
  131. package/esm/_internal/icons/InfinityLoopBreak.js +0 -31
  132. package/esm/_internal/icons/InfinityLoopBreak.js.map +0 -1
  133. package/esm/_internal/icons/IngrainIcon.js +0 -39
  134. package/esm/_internal/icons/IngrainIcon.js.map +0 -1
  135. package/esm/_internal/icons/LanguageIcon.js +0 -37
  136. package/esm/_internal/icons/LanguageIcon.js.map +0 -1
  137. package/esm/_internal/icons/Linkedin.js +0 -29
  138. package/esm/_internal/icons/Linkedin.js.map +0 -1
  139. package/esm/_internal/icons/LocationPin.js +0 -31
  140. package/esm/_internal/icons/LocationPin.js.map +0 -1
  141. package/esm/_internal/icons/MicrosoftShield.js +0 -40
  142. package/esm/_internal/icons/MicrosoftShield.js.map +0 -1
  143. package/esm/_internal/icons/News.js +0 -44
  144. package/esm/_internal/icons/News.js.map +0 -1
  145. package/esm/_internal/icons/Nodes.js +0 -27
  146. package/esm/_internal/icons/Nodes.js.map +0 -1
  147. package/esm/_internal/icons/OnDmarcIcon.js +0 -34
  148. package/esm/_internal/icons/OnDmarcIcon.js.map +0 -1
  149. package/esm/_internal/icons/OnDmarcLogo.js +0 -52
  150. package/esm/_internal/icons/OnDmarcLogo.js.map +0 -1
  151. package/esm/_internal/icons/OnDomainIcon.js +0 -32
  152. package/esm/_internal/icons/OnDomainIcon.js.map +0 -1
  153. package/esm/_internal/icons/OnInboxIcon.js +0 -48
  154. package/esm/_internal/icons/OnInboxIcon.js.map +0 -1
  155. package/esm/_internal/icons/OnInboxLogo.js +0 -68
  156. package/esm/_internal/icons/OnInboxLogo.js.map +0 -1
  157. package/esm/_internal/icons/OnInboxManagerIcon.js +0 -49
  158. package/esm/_internal/icons/OnInboxManagerIcon.js.map +0 -1
  159. package/esm/_internal/icons/OpenInNewTabIcon.js +0 -23
  160. package/esm/_internal/icons/OpenInNewTabIcon.js.map +0 -1
  161. package/esm/_internal/icons/Padlock.js +0 -33
  162. package/esm/_internal/icons/Padlock.js.map +0 -1
  163. package/esm/_internal/icons/PlusIcon.js +0 -18
  164. package/esm/_internal/icons/PlusIcon.js.map +0 -1
  165. package/esm/_internal/icons/Question.js +0 -24
  166. package/esm/_internal/icons/Question.js.map +0 -1
  167. package/esm/_internal/icons/Recruiting.js +0 -23
  168. package/esm/_internal/icons/Recruiting.js.map +0 -1
  169. package/esm/_internal/icons/ReportsIcon.js +0 -21
  170. package/esm/_internal/icons/ReportsIcon.js.map +0 -1
  171. package/esm/_internal/icons/SearchIcon.js +0 -16
  172. package/esm/_internal/icons/SearchIcon.js.map +0 -1
  173. package/esm/_internal/icons/Shield.js +0 -22
  174. package/esm/_internal/icons/Shield.js.map +0 -1
  175. package/esm/_internal/icons/ShieldPassIcon.js +0 -19
  176. package/esm/_internal/icons/ShieldPassIcon.js.map +0 -1
  177. package/esm/_internal/icons/ShieldSolid.js +0 -31
  178. package/esm/_internal/icons/ShieldSolid.js.map +0 -1
  179. package/esm/_internal/icons/ShieldWarningIcon.js +0 -34
  180. package/esm/_internal/icons/ShieldWarningIcon.js.map +0 -1
  181. package/esm/_internal/icons/ShieldWarningInvertedIcon.js +0 -29
  182. package/esm/_internal/icons/ShieldWarningInvertedIcon.js.map +0 -1
  183. package/esm/_internal/icons/Spinner.js +0 -75
  184. package/esm/_internal/icons/Spinner.js.map +0 -1
  185. package/esm/_internal/icons/Team.js +0 -81
  186. package/esm/_internal/icons/Team.js.map +0 -1
  187. package/esm/_internal/icons/ThreeDotsIcon.js +0 -19
  188. package/esm/_internal/icons/ThreeDotsIcon.js.map +0 -1
  189. package/esm/_internal/icons/Thumb.js +0 -22
  190. package/esm/_internal/icons/Thumb.js.map +0 -1
  191. package/esm/_internal/icons/Traffic.js +0 -28
  192. package/esm/_internal/icons/Traffic.js.map +0 -1
  193. package/esm/_internal/icons/Twitter.js +0 -37
  194. package/esm/_internal/icons/Twitter.js.map +0 -1
  195. package/esm/_internal/icons/Upload.js +0 -25
  196. package/esm/_internal/icons/Upload.js.map +0 -1
  197. package/esm/_internal/icons/VerticalDots.js +0 -40
  198. package/esm/_internal/icons/VerticalDots.js.map +0 -1
  199. package/esm/_internal/icons/Warning.js +0 -36
  200. package/esm/_internal/icons/Warning.js.map +0 -1
  201. package/esm/_internal/icons/WarningTriangle.js +0 -39
  202. package/esm/_internal/icons/WarningTriangle.js.map +0 -1
  203. package/esm/_internal/icons/Youtube.js +0 -29
  204. package/esm/_internal/icons/Youtube.js.map +0 -1
  205. package/esm/index.js +0 -132
  206. package/esm/index.js.map +0 -1
@@ -1,51 +0,0 @@
1
- import { _ as _taggedTemplateLiteral, c as _objectWithoutProperties, a as _extends } from './_rollupPluginBabelHelpers.js';
2
- import React from 'react';
3
- import styled, { keyframes } from 'styled-components';
4
- import { T as Typography } from './Typography2.js';
5
-
6
- const _excluded = ["color", "inputProps", "labelProps", "checked", "disabled", "onChange", "label", "checkProps", "borderColor", "name", "defaultChecked"];
7
-
8
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
9
- const ripple = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% {\n box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.0);\n }\n 50% { \n box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);\n }\n 100% {\n box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);\n }\n"])));
10
- const Wrapper = styled.label(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: center;\n cursor: ", ";\n"])), props => props.disabled ? "default" : "pointer");
11
- const Input = styled.input(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: none;\n :checked + span:before {\n border-color: ", ";\n animation: ", " 0.2s linear forwards;\n }\n :checked + span:after {\n transform: scale(1);\n }\n /* Create the background for disabled status */\n :disabled + span:before {\n cursor: initial;\n border-color: #ccc;\n }\n :checked:disabled + span:after {\n cursor: initial;\n background-color: #ccc;\n border-color: #ccc;\n }\n"])), props => props.checkedColor || "#000", ripple);
12
- const CheckIndicator = styled.span(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: relative;\n display: inline-block;\n height: 20px;\n padding: 0 (20px + 10px);\n margin-bottom: 0;\n cursor: pointer;\n vertical-align: bottom;\n :before,\n :after {\n box-sizing: border-box;\n position: absolute;\n content: \"\";\n border-radius: 50%;\n transition: all 0.3s ease;\n transition-property: transform, border-color;\n }\n /* The box */\n :before {\n width: 22px;\n height: 22px;\n border: 2px solid ", ";\n }\n /* The check indicator */\n :after {\n content: \"\";\n top: 6px;\n left: 6px;\n width: 10px;\n height: 10px;\n transform: scale(0);\n background: ", ";\n }\n"])), props => props.borderColor || "rgba(0, 0, 0, 0.54)", props => props.checkedColor || "#000");
13
- const Text = styled(Typography)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-left: 30px;\n margin-bottom: 1px;\n"])));
14
- const Radio = _ref => {
15
- let {
16
- color,
17
- inputProps,
18
- labelProps,
19
- checked,
20
- disabled,
21
- onChange,
22
- label,
23
- checkProps,
24
- borderColor,
25
- name,
26
- defaultChecked
27
- } = _ref,
28
- rest = _objectWithoutProperties(_ref, _excluded);
29
-
30
- return /*#__PURE__*/React.createElement(Wrapper, _extends({}, rest, {
31
- disabled: disabled
32
- }), /*#__PURE__*/React.createElement(Input, _extends({
33
- checkedColor: color,
34
- checked: checked,
35
- defaultChecked: defaultChecked,
36
- disabled: disabled,
37
- onChange: onChange,
38
- name: name
39
- }, inputProps, {
40
- type: "radio"
41
- })), /*#__PURE__*/React.createElement(CheckIndicator, _extends({
42
- borderColor: borderColor,
43
- checkedColor: color
44
- }, checkProps)), /*#__PURE__*/React.createElement(Text, _extends({
45
- component: "span",
46
- color: disabled ? "#ccc" : "#333"
47
- }, labelProps), label));
48
- };
49
-
50
- export { Radio as R };
51
- //# sourceMappingURL=Radio2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Radio2.js","sources":["../../../src/components/Radio/Radio.jsx"],"sourcesContent":["import React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { Typography } from '../Typography';\n\nconst ripple = keyframes`\n 0% {\n box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.0);\n }\n 50% { \n box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);\n }\n 100% {\n box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);\n }\n`;\n\nconst Wrapper = styled.label`\n position: relative;\n display: flex;\n align-items: center;\n cursor: ${props => (props.disabled ? \"default\" : \"pointer\")};\n`;\n\nconst Input = styled.input`\n display: none;\n :checked + span:before {\n border-color: ${props => props.checkedColor || \"#000\"};\n animation: ${ripple} 0.2s linear forwards;\n }\n :checked + span:after {\n transform: scale(1);\n }\n /* Create the background for disabled status */\n :disabled + span:before {\n cursor: initial;\n border-color: #ccc;\n }\n :checked:disabled + span:after {\n cursor: initial;\n background-color: #ccc;\n border-color: #ccc;\n }\n`;\n\nconst CheckIndicator = styled.span`\n position: relative;\n display: inline-block;\n height: 20px;\n padding: 0 (20px + 10px);\n margin-bottom: 0;\n cursor: pointer;\n vertical-align: bottom;\n :before,\n :after {\n box-sizing: border-box;\n position: absolute;\n content: \"\";\n border-radius: 50%;\n transition: all 0.3s ease;\n transition-property: transform, border-color;\n }\n /* The box */\n :before {\n width: 22px;\n height: 22px;\n border: 2px solid ${props => props.borderColor || \"rgba(0, 0, 0, 0.54)\"};\n }\n /* The check indicator */\n :after {\n content: \"\";\n top: 6px;\n left: 6px;\n width: 10px;\n height: 10px;\n transform: scale(0);\n background: ${props => props.checkedColor || \"#000\"};\n }\n`;\n\nconst Text = styled(Typography)`\n margin-left: 30px;\n margin-bottom: 1px;\n`;\n\nexport const Radio = ({\n color,\n inputProps,\n labelProps,\n checked,\n disabled,\n onChange,\n label,\n checkProps,\n borderColor,\n name,\n defaultChecked,\n ...rest\n}) => {\n return (\n <Wrapper {...rest} disabled={disabled}>\n <Input\n checkedColor={color}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n onChange={onChange}\n name={name}\n {...inputProps}\n type=\"radio\"\n />\n <CheckIndicator\n borderColor={borderColor}\n checkedColor={color}\n {...checkProps}\n />\n <Text component=\"span\" color={disabled ? \"#ccc\" : \"#333\"} {...labelProps}>\n {label}\n </Text>\n </Wrapper>\n );\n};\n"],"names":["ripple","keyframes","Wrapper","styled","label","props","disabled","Input","input","checkedColor","CheckIndicator","span","borderColor","Text","Typography","Radio","color","inputProps","labelProps","checked","onChange","checkProps","name","defaultChecked","rest"],"mappings":";;;;;;;;AAIA,MAAMA,MAAM,GAAGC,SAAH,CAAZ,eAAA,KAAA,eAAA,GAAA,sBAAA,CAAA,CAAA,8MAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAYA,MAAMC,OAAO,GAAGC,MAAM,CAACC,KAAV,CAIDC,gBAAAA,KAAAA,gBAAAA,GAAAA,sBAAAA,CAAAA,CAAAA,+EAAAA,EAAAA,KAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,IAAKA,KAAK,CAACC,QAAN,GAAiB,SAAjB,GAA6B,SAJtC,CAAb,CAAA;AAOA,MAAMC,KAAK,GAAGJ,MAAM,CAACK,KAAV,CAGSH,gBAAAA,KAAAA,gBAAAA,GAAAA,sBAAAA,CAAAA,CAAAA,oEAAAA,EAAAA,oBAAAA,EAAAA,kVAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,IAAIA,KAAK,CAACI,YAAN,IAAsB,MAHxC,EAIMT,MAJN,CAAX,CAAA;AAqBA,MAAMU,cAAc,GAAGP,MAAM,CAACQ,IAAV,CAqBIN,gBAAAA,KAAAA,gBAAAA,GAAAA,sBAAAA,CAAAA,CAAAA,mdAAAA,EAAAA,qLAAAA,EAAAA,UAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAK,IAAIA,KAAK,CAACO,WAAN,IAAqB,qBArBlC,EA+BFP,KAAK,IAAIA,KAAK,CAACI,YAAN,IAAsB,MA/B7B,CAApB,CAAA;AAmCA,MAAMI,IAAI,GAAGV,MAAM,CAACW,UAAD,CAAT,CAAV,gBAAA,KAAA,gBAAA,GAAA,sBAAA,CAAA,CAAA,iDAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAKO,MAAMC,KAAK,GAAG,IAaf,IAAA;EAAA,IAbgB;IACpBC,KADoB;IAEpBC,UAFoB;IAGpBC,UAHoB;IAIpBC,OAJoB;IAKpBb,QALoB;IAMpBc,QANoB;IAOpBhB,KAPoB;IAQpBiB,UARoB;IASpBT,WAToB;IAUpBU,IAVoB;AAWpBC,IAAAA,cAAAA;GAEI,GAAA,IAAA;AAAA,MADDC,IACC,GAAA,wBAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;;EACJ,oBACE,KAAA,CAAA,aAAA,CAAC,OAAD,EAAA,QAAA,CAAA,EAAA,EAAaA,IAAb,EAAA;AAAmB,IAAA,QAAQ,EAAElB,QAAAA;AAA7B,GAAA,CAAA,eACE,oBAAC,KAAD,EAAA,QAAA,CAAA;AACE,IAAA,YAAY,EAAEU,KADhB;AAEE,IAAA,OAAO,EAAEG,OAFX;AAGE,IAAA,cAAc,EAAEI,cAHlB;AAIE,IAAA,QAAQ,EAAEjB,QAJZ;AAKE,IAAA,QAAQ,EAAEc,QALZ;AAME,IAAA,IAAI,EAAEE,IAAAA;AANR,GAAA,EAOML,UAPN,EAAA;AAQE,IAAA,IAAI,EAAC,OAAA;GATT,CAAA,CAAA,eAWE,oBAAC,cAAD,EAAA,QAAA,CAAA;AACE,IAAA,WAAW,EAAEL,WADf;AAEE,IAAA,YAAY,EAAEI,KAAAA;AAFhB,GAAA,EAGMK,UAHN,CAAA,CAXF,eAgBE,KAAA,CAAA,aAAA,CAAC,IAAD,EAAA,QAAA,CAAA;AAAM,IAAA,SAAS,EAAC,MAAhB;AAAuB,IAAA,KAAK,EAAEf,QAAQ,GAAG,MAAH,GAAY,MAAA;AAAlD,GAAA,EAA8DY,UAA9D,CAAA,EACGd,KADH,CAhBF,CADF,CAAA;AAsBD;;;;"}
@@ -1,9 +0,0 @@
1
- export { S as Select } from './Select2.js';
2
- import './_rollupPluginBabelHelpers.js';
3
- import 'react';
4
- import 'styled-components';
5
- import 'react-window';
6
- import './Typography2.js';
7
- import 'prop-types';
8
- import './icons/FlatArrow.js';
9
- //# sourceMappingURL=Select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,458 +0,0 @@
1
- import { _ as _taggedTemplateLiteral, a as _extends, b as _objectSpread2, c as _objectWithoutProperties } from './_rollupPluginBabelHelpers.js';
2
- import React, { useRef, useEffect, useState, createRef } from 'react';
3
- import styled, { css } from 'styled-components';
4
- import { FixedSizeList } from 'react-window';
5
- import { T as Typography, f as fontSizes } from './Typography2.js';
6
- import { FlatArrow } from './icons/FlatArrow.js';
7
-
8
- const useOnClickOutside = callback => {
9
- const ref = useRef(null);
10
- useEffect(() => {
11
- const onClickOutside = evt => {
12
- if (ref.current && !ref.current.contains(evt.target)) callback();
13
- };
14
-
15
- document.addEventListener("click", onClickOutside);
16
- return () => document.removeEventListener("click", onClickOutside);
17
- }, [callback]);
18
- return ref;
19
- };
20
-
21
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
22
- /*--------------------------*/
23
- // Styled components
24
-
25
- /*--------------------------*/
26
-
27
- const colors = {
28
- lightViolet: "#ebedf4",
29
- lightGrey: "#f9f8f8",
30
- lightMidGrey: "#d8d8d8",
31
- midGrey: "#d5d5d5",
32
- darkMidGrey: "#bfbfbf",
33
- darkGrey: "#76767a"
34
- };
35
- const Row = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"])));
36
- const IconAndTextContainer = styled(Row)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 0 1.15rem 0 0;\n ::selection,\n *::selection {\n background-color: transparent;\n }\n"])));
37
- const IconAndSelectedValueRenderContainer = styled(Row)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n flex: 1;\n"])));
38
- const SelectOuterContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n position: relative;\n flex: 1;\n margin: 0 0.5rem;\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n margin-right: 0;\n }\n"])));
39
- const SelectLegendText = styled(Typography)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin: 0;\n width: auto;\n font-size: 0.8125rem;\n color: ", ";\n transition: color 0.1s;\n font-weight: 600;\n margin: 0 0.25rem;\n"])), props => props.color);
40
-
41
- const handleSelectContainer = _ref => {
42
- let {
43
- variant,
44
- color
45
- } = _ref;
46
-
47
- switch (variant) {
48
- case "minimal":
49
- return "\n padding: 0 .5rem; \n border: 1px solid transparent;\n transition: border-color 125ms;\n &:hover {\n border: 1px solid ".concat(color, ";\n }\n ").concat(IconAndTextContainer, " {\n padding: 0;\n }\n ");
50
-
51
- case "basic":
52
- return "\n padding: 0.22rem;\n transition: border-color 250ms;\n border-radius: 0;\n border-top: 0;\n border-left: 0;\n border-right: 0;\n border-bottom: 2px solid ".concat(color, ";\n legend {\n height: 0.6rem;\n }\n ").concat(SelectLegendText, " {\n font-size: 0.75rem;\n font-weight: 300;\n margin-left: 0;\n color: ").concat(color, ";\n }\n ").concat(SelectedValueText, " {\n margin-left: 0.2rem;\n }\n ");
53
-
54
- case "outlined":
55
- return "\n padding: 0.5rem;\n transition: border-color 250ms;\n border: 2px solid ".concat(color, ";\n ");
56
-
57
- default:
58
- return "";
59
- }
60
- };
61
-
62
- const SelectContainer = styled.fieldset(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n border-radius: 5px;\n ", "\n cursor: ", ";\n box-sizing: border-box;\n g {\n transition: transform 0.25s ease;\n }\n path {\n transition: fill 0.25s;\n }\n ", ";\n"])), props => handleSelectContainer(props), props => props.disabled ? "default" : "pointer", props => props.disabled && "background-color: ".concat(colors.lightGrey));
63
- const SelectValueContainer = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n flex-direction: row;\n flex: 1;\n height: 1.75rem;\n padding: 0 0.5rem 0 0;\n pointer-events: none;\n"])));
64
- const SelectedValueText = styled(Typography)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n text-align: left;\n flex: 1;\n font-weight: 500;\n margin-left: ", ";\n ", ";\n"])), props => props.withIcon ? "0.65rem" : "1rem", props => props.disabled && "color: ".concat(colors.darkMidGrey));
65
- const OptionsContainer = styled.ul(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n display: ", ";\n background-color: white;\n border-radius: 5px;\n border: 1px solid ", ";\n box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);\n list-style: none;\n margin-top: 0.83rem;\n overflow: hidden;\n padding: 0;\n position: absolute;\n top: 100%;\n width: 100%;\n z-index: 1;\n"])), props => props["aria-expanded"] === "true" ? "block" : "none", colors.lightMidGrey);
66
- const OptionBase = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n background-color: ", ";\n border: none;\n font-family: Raleway, sans-serif;\n font-size: 0.8125rem;\n font-weight: 500;\n color: ", ";\n cursor: ", ";\n :hover,\n :focus {\n outline: none;\n &:not([disabled]) {\n background-color: ", ";\n }\n }\n ::selection {\n background-color: transparent;\n }\n"])), p => p.selected && !p.disabled ? colors.lightViolet : "transparent", props => props.disabled ? "#aaa" : "#222", props => props.disabled ? "default" : "pointer", colors.lightGrey);
67
- const Option = styled.li(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n ", ";\n display: ", ";\n line-height: 1.3rem;\n padding: 10px 23px;\n"])), OptionBase, p => p.display === "true" ? "auto" : "none");
68
- const OptionWindowed = styled.li(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n ", ";\n display: flex;\n align-items: center;\n padding: 0 23px;\n"])), OptionBase);
69
- const SelectSearchTextInput = styled.input(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n flex: 1;\n font-weight: 500;\n margin-left: ", ";\n height: 100%;\n font-family: Raleway;\n font-size: ", ";\n border: 0;\n &:focus {\n outline: none;\n }\n"])), props => props.withIcon ? "0.65rem" : "1rem", fontSizes.body);
70
- /*--------------------------*/
71
- // Auxiliar components
72
-
73
- /*--------------------------*/
74
-
75
- const optValue = (label, value) => {
76
- if (label && typeof label === "string") {
77
- return label;
78
- } else if (label) {
79
- return label(value);
80
- }
81
-
82
- return value;
83
- };
84
-
85
- const OptionComponent = props => {
86
- const {
87
- value,
88
- windowed,
89
- label,
90
- optionRef
91
- } = props;
92
- const OptionComp = windowed ? OptionWindowed : Option;
93
- return /*#__PURE__*/React.createElement(OptionComp, _extends({}, props, {
94
- ref: optionRef,
95
- "aria-labelledby": "dropdown_".concat(value, " dropdown_").concat(value, "_option"),
96
- tabIndex: "0",
97
- role: "button"
98
- }), optValue(label, value));
99
- };
100
-
101
- const OptionsContainerWindowedComponent = _ref2 => {
102
- let {
103
- selectWindowedRef,
104
- selectWindowedHeight,
105
- visibleItems,
106
- displayOptions,
107
- disabled,
108
- itemSize,
109
- selectedIndex,
110
- selectOptionIndex,
111
- optionRefs,
112
- options
113
- } = _ref2;
114
- const InnerElementType = React.useMemo(() => /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement("div", _extends({}, props, {
115
- ref: ref
116
- }))), []);
117
- const OuterElementType = React.useMemo(() => /*#__PURE__*/React.forwardRef((props, ref) => {
118
- return /*#__PURE__*/React.createElement(OptionsContainer, _extends({
119
- "aria-expanded": displayOptions ? "true" : "false"
120
- }, props, {
121
- ref: ref,
122
- style: _objectSpread2(_objectSpread2({}, props.style), {}, {
123
- position: "absolute"
124
- })
125
- }));
126
- }), [displayOptions]);
127
- useEffect(() => {
128
- if (!displayOptions) {
129
- selectWindowedRef.current && selectWindowedRef.current.scrollToItem(0);
130
- }
131
- }, [displayOptions]);
132
- return /*#__PURE__*/React.createElement(FixedSizeList, {
133
- ref: selectWindowedRef,
134
- height: selectWindowedHeight,
135
- itemCount: visibleItems.length,
136
- itemSize: itemSize,
137
- itemData: visibleItems,
138
- outerElementType: OuterElementType,
139
- innerElementType: InnerElementType
140
- }, _ref3 => {
141
- let {
142
- data,
143
- index,
144
- style
145
- } = _ref3;
146
- const {
147
- value,
148
- label,
149
- disabled: optDisabled
150
- } = data[index];
151
- return /*#__PURE__*/React.createElement(OptionComponent, {
152
- style: style,
153
- value: value,
154
- label: label,
155
- disabled: disabled || optDisabled,
156
- selected: selectedIndex === index,
157
- onClick: () => {
158
- const index = options.findIndex(opt => opt.value === value);
159
- return selectOptionIndex(index);
160
- },
161
- optionRef: optionRefs.current[index],
162
- windowed: true
163
- });
164
- });
165
- };
166
-
167
- const OptionsContainerComponent = _ref4 => {
168
- let {
169
- displayOptions,
170
- disabled,
171
- selectedIndex,
172
- selectOptionIndex,
173
- optionRefs,
174
- options,
175
- isOptionVisibleForIndex
176
- } = _ref4;
177
- return /*#__PURE__*/React.createElement(OptionsContainer, {
178
- "aria-expanded": displayOptions ? "true" : "false"
179
- }, options.map((props, index) => {
180
- const {
181
- value,
182
- disabled: optDisabled
183
- } = props;
184
- return /*#__PURE__*/React.createElement(OptionComponent, _extends({}, props, {
185
- disabled: disabled || optDisabled,
186
- selected: selectedIndex === index,
187
- key: value,
188
- onClick: () => selectOptionIndex(index),
189
- optionRef: optionRefs.current[index],
190
- display: isOptionVisibleForIndex[index] ? "true" : "false"
191
- }));
192
- }));
193
- };
194
-
195
- const _excluded = ["disabled", "icon", "id", "isSearchable", "label", "onChange", "options", "tintColor", "useWindowed", "value", "variant"];
196
- const WINDOWED_ITEM_SIZE = 40;
197
- const WINDOWED_MAX_HEIGHT = 400;
198
- const USE_WINDOWED_SELECT_THRESHOLD = 500;
199
-
200
- const selectedText = (options, selected, defaultValue) => {
201
- if (selected) {
202
- const {
203
- label,
204
- value
205
- } = selected;
206
- return !label ? value : typeof label === "string" ? label : label(value);
207
- }
208
-
209
- if (!selected && defaultValue) {
210
- const item = options.find(i => i.value === defaultValue);
211
- return item && item.label ? item.label : defaultValue;
212
- }
213
-
214
- return null;
215
- };
216
-
217
- const Select = _ref => {
218
- let {
219
- disabled,
220
- icon,
221
- id,
222
- isSearchable,
223
- label,
224
- onChange = () => {},
225
- options = [],
226
- tintColor = "#000",
227
- useWindowed = false,
228
- value,
229
- variant = "outlined"
230
- } = _ref,
231
- rest = _objectWithoutProperties(_ref, _excluded);
232
-
233
- const isMinimal = variant === "minimal";
234
- const isBasic = variant === "basic";
235
- const [selectedIndex, setSelectedIndex] = useState(-1);
236
-
237
- const selectOptionIndex = index => {
238
- if (disabled || !options[index] || options[index].disabled) return;
239
- setSelectedIndex(index);
240
- };
241
-
242
- const [isOptionVisibleForIndex, setIsOptionVisibleForIndex] = useState(options.map(() => true));
243
- const [displayOptions, setDisplayOptions] = useState(false);
244
- const outsideClickRef = useOnClickOutside(() => setDisplayOptions(false));
245
- const optionRefs = useRef([]);
246
- const selectedOption = options[selectedIndex];
247
- const [searchInputRef, setSearchInput] = useState(null);
248
- const [search, setSearch] = useState("");
249
- const [focusInputRef, setFocusInput] = useState(null);
250
- const selectWindowedRef = /*#__PURE__*/React.createRef();
251
- useEffect(() => {
252
- if (displayOptions) {
253
- setIsOptionVisibleForIndex(options.map(() => true));
254
- }
255
-
256
- if (selectedIndex > -1 && (!options[selectedIndex] || options[selectedIndex].disabled)) {
257
- setSelectedIndex(-1);
258
- }
259
- }, [displayOptions, options]);
260
- useEffect(() => {
261
- if (!isSearchable || !searchInputRef) {
262
- return;
263
- }
264
-
265
- const setSearchResults = () => {
266
- const searchResults = options.map(option => {
267
- const {
268
- value,
269
- label
270
- } = option;
271
- const text = typeof label === "string" ? label : value;
272
- return !search || text.toLowerCase().startsWith(search.toLowerCase());
273
- });
274
- setIsOptionVisibleForIndex(searchResults);
275
- };
276
-
277
- const handleKeyUp = () => {
278
- setSearchResults();
279
- };
280
-
281
- const handleKeyDown = e => {
282
- if (e.keyCode === 13 || // enter
283
- e.keyCode === 40 || // down arrow
284
- e.keyCode === 9 && !e.shiftKey // tab without shift
285
- ) {
286
- e.preventDefault();
287
- const firstEnabledOptionIndex = isOptionVisibleForIndex.findIndex(i => i);
288
-
289
- if (e.keyCode === 13) {
290
- searchInputRef.blur();
291
- selectOptionIndex(firstEnabledOptionIndex);
292
- return;
293
- }
294
-
295
- optionRefs.current[firstEnabledOptionIndex].current.focus();
296
- }
297
- };
298
-
299
- searchInputRef.addEventListener("keyup", handleKeyUp);
300
- searchInputRef.addEventListener("keydown", handleKeyDown);
301
- return () => {
302
- searchInputRef.removeEventListener("keyup", handleKeyUp);
303
- searchInputRef.removeEventListener("keydown", handleKeyDown);
304
- };
305
- }, [searchInputRef, isOptionVisibleForIndex, options, isSearchable, search]); // keyboard focus only
306
-
307
- useEffect(() => {
308
- if (focusInputRef === null) {
309
- return;
310
- }
311
-
312
- const handleKeyPress = e => {
313
- //TODO: accessibility: when up/down is pressed, the 'focused' item should be the top/bottom item in the options list, and not always the top item
314
- // up
315
- if (e.keyCode === 38) {
316
- e.preventDefault();
317
- setDisplayOptions(true);
318
- } // down
319
-
320
-
321
- if (e.keyCode === 40) {
322
- e.preventDefault();
323
- setDisplayOptions(true);
324
- }
325
- };
326
-
327
- focusInputRef.addEventListener("keydown", handleKeyPress);
328
- return () => {
329
- focusInputRef.removeEventListener("keydown", handleKeyPress);
330
- };
331
- }, [focusInputRef, options, selectedOption]);
332
- useEffect(() => {
333
- // pass the selected value to parent component
334
- if (selectedIndex >= 0 && onChange) {
335
- onChange(options[selectedIndex].value);
336
- }
337
- }, [selectedIndex]);
338
- useEffect(() => {
339
- // if value is defined (null is still a valid value)
340
- // and we still don't have a selected index or the value is different
341
- // let's update internal state's selectedIndex
342
- if (value !== undefined && (selectedIndex === -1 || value !== (options[selectedIndex] && options[selectedIndex].value))) {
343
- selectOptionIndex(options.findIndex(opt => opt.value === value));
344
- }
345
- }, [value]);
346
- useEffect(() => {
347
- if (options.length !== optionRefs.current.length) {
348
- optionRefs.current = options.map((_, idx) => optionRefs.current[idx] || /*#__PURE__*/createRef());
349
- }
350
- }, [options]); // option selection and event listeners
351
-
352
- useEffect(() => {
353
- if (displayOptions && ( // if we still have no reference, wait until the next cycle
354
- !isSearchable || searchInputRef !== null)) {
355
- const evtListenersToUnmount = [];
356
-
357
- if (isSearchable) {
358
- searchInputRef.focus();
359
- } else {
360
- optionRefs.current[// select first visible
361
- isOptionVisibleForIndex.findIndex(i => i)].current.focus();
362
- } // attach keyboard events:
363
-
364
-
365
- optionRefs.current.forEach((ref, idx) => {
366
- const evtListener = e => {
367
- e.preventDefault(); // down arrow or tab without shift
368
-
369
- if (e.keyCode === 40 || e.keyCode === 9 && !e.shiftKey) {
370
- const nextAvailableIndex = isOptionVisibleForIndex.findIndex((isOptionVisible, itemIdx) => isOptionVisible && !options[itemIdx].disabled && itemIdx > idx);
371
- optionRefs.current[nextAvailableIndex >= 0 ? nextAvailableIndex : optionRefs.current.length - 1].current.focus({
372
- preventScroll: true
373
- }); // up arrow or tab with shift
374
- } else if (e.keyCode === 38 || e.keyCode === 9 && e.shiftKey) {
375
- const previousAvailableIndex = isOptionVisibleForIndex.reduce((previousIndex, isOptionEnabled, itemIndex) => {
376
- return !isOptionEnabled || options[itemIndex].disabled || itemIndex >= idx ? previousIndex : itemIndex;
377
- }, -1);
378
- optionRefs.current[previousAvailableIndex >= 0 ? previousAvailableIndex : 0].current.focus({
379
- preventScroll: true
380
- }); // space space enter
381
- } else if ([0, 32, 13].includes(e.keyCode)) {
382
- optionRefs.current[idx].current.click();
383
- } else if (e.keyCode === 27) {
384
- setDisplayOptions(false);
385
- }
386
- }; // ref.current is lost if an option unmounts
387
-
388
-
389
- ref.current && ref.current.addEventListener("keydown", evtListener);
390
- evtListenersToUnmount.push(() => ref.current && ref.current.removeEventListener("keydown", evtListener));
391
- });
392
-
393
- if (evtListenersToUnmount.length) {
394
- return () => evtListenersToUnmount.forEach(unmount => unmount());
395
- }
396
- }
397
- }, [displayOptions, searchInputRef, isOptionVisibleForIndex, isSearchable]);
398
- const textColor = displayOptions || isMinimal ? tintColor : disabled ? colors.darkMidGrey : colors.darkGrey;
399
- const visibleItems = options.filter((_, index) => isOptionVisibleForIndex[index]);
400
- const countVisibleItems = visibleItems.length;
401
- const useSelectWindowed = useWindowed || options.length > USE_WINDOWED_SELECT_THRESHOLD;
402
- const selectWindowedHeight = Math.floor(Math.min(countVisibleItems * WINDOWED_ITEM_SIZE, WINDOWED_MAX_HEIGHT));
403
- const optionsContainerProps = {
404
- selectWindowedRef,
405
- selectWindowedHeight,
406
- visibleItems,
407
- displayOptions,
408
- disabled,
409
- selectedIndex,
410
- selectOptionIndex,
411
- optionRefs,
412
- options,
413
- isOptionVisibleForIndex,
414
- itemSize: WINDOWED_ITEM_SIZE
415
- };
416
- const OptionsContainer = useSelectWindowed ? OptionsContainerWindowedComponent : OptionsContainerComponent;
417
- return /*#__PURE__*/React.createElement(SelectOuterContainer, _extends({
418
- ref: outsideClickRef,
419
- onClick: () => !disabled && setDisplayOptions(displayOptions => !displayOptions)
420
- }, rest), /*#__PURE__*/React.createElement(SelectContainer, {
421
- variant: variant,
422
- color: isMinimal || isBasic || displayOptions ? tintColor : colors.midGrey,
423
- disabled: disabled
424
- }, !isMinimal && /*#__PURE__*/React.createElement("legend", null, /*#__PURE__*/React.createElement(SelectLegendText, {
425
- id: id,
426
- color: textColor
427
- }, label)), /*#__PURE__*/React.createElement(IconAndTextContainer, null, /*#__PURE__*/React.createElement(SelectValueContainer, {
428
- tabIndex: "0",
429
- "aria-haspopup": "listbox",
430
- role: "listbox",
431
- "aria-labelledby": "dropdown_".concat(id, " dropdown_").concat(id, "_button"),
432
- onKeyPress: e => {
433
- if (!disabled && e.charCode === 13) {
434
- e.preventDefault();
435
- setDisplayOptions(displayOptions => !displayOptions);
436
- }
437
- },
438
- ref: setFocusInput
439
- }, !displayOptions || isSearchable || isMinimal ? /*#__PURE__*/React.createElement(IconAndSelectedValueRenderContainer, null, icon, displayOptions && isSearchable ? /*#__PURE__*/React.createElement(SelectSearchTextInput, {
440
- withIcon: !!icon,
441
- value: search,
442
- placeholder: selectedOption ? typeof selectedOption.label === "string" ? selectedOption.label : selectedOption.value : "",
443
- onChange: evt => !disabled && setSearch(evt.target.value),
444
- ref: setSearchInput
445
- }) : /*#__PURE__*/React.createElement(SelectedValueText, {
446
- withIcon: !!icon,
447
- disabled: disabled,
448
- color: isMinimal ? tintColor : undefined
449
- }, selectedText(options, selectedOption, value))) : null), /*#__PURE__*/React.createElement(FlatArrow, {
450
- width: 9,
451
- direction: displayOptions ? "up" : "down",
452
- fill: textColor,
453
- title: "Open drop down"
454
- }))), /*#__PURE__*/React.createElement(OptionsContainer, optionsContainerProps));
455
- };
456
-
457
- export { Select as S, useOnClickOutside as u };
458
- //# sourceMappingURL=Select2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select2.js","sources":["../../../src/hooks/useOnClickOutside.jsx","../../../src/components/Select/SelectComponents.jsx","../../../src/components/Select/Select.jsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport const useOnClickOutside = callback => {\n const ref = useRef(null);\n useEffect(() => {\n const onClickOutside = evt => {\n if (ref.current && !ref.current.contains(evt.target)) callback();\n };\n document.addEventListener(\"click\", onClickOutside);\n return () => document.removeEventListener(\"click\", onClickOutside);\n }, [callback]);\n\n return ref;\n};\n","import React, { useEffect } from 'react';\nimport styled, { css } from 'styled-components';\nimport { FixedSizeList as OptionsContainerWindowed } from \"react-window\";\n\nimport { Typography, fontSizes } from '../Typography';\n\n/*--------------------------*/\n// Styled components\n/*--------------------------*/\n\nconst colors = {\n lightViolet: \"#ebedf4\",\n lightGrey: \"#f9f8f8\",\n lightMidGrey: \"#d8d8d8\",\n midGrey: \"#d5d5d5\",\n darkMidGrey: \"#bfbfbf\",\n darkGrey: \"#76767a\",\n};\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\nconst IconAndTextContainer = styled(Row)`\n padding: 0 1.15rem 0 0;\n ::selection,\n *::selection {\n background-color: transparent;\n }\n`;\nconst IconAndSelectedValueRenderContainer = styled(Row)`\n flex: 1;\n`;\nconst SelectOuterContainer = styled.div`\n display: flex;\n flex-direction: column;\n position: relative;\n flex: 1;\n margin: 0 0.5rem;\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n margin-right: 0;\n }\n`;\n\nconst SelectLegendText = styled(Typography)`\n margin: 0;\n width: auto;\n font-size: 0.8125rem;\n color: ${(props) => props.color};\n transition: color 0.1s;\n font-weight: 600;\n margin: 0 0.25rem;\n`;\n\nconst handleSelectContainer = ({ variant, color }) => {\n switch (variant) {\n case \"minimal\":\n return `\n padding: 0 .5rem; \n border: 1px solid transparent;\n transition: border-color 125ms;\n &:hover {\n border: 1px solid ${color};\n }\n ${IconAndTextContainer} {\n padding: 0;\n }\n `;\n case \"basic\":\n return `\n padding: 0.22rem;\n transition: border-color 250ms;\n border-radius: 0;\n border-top: 0;\n border-left: 0;\n border-right: 0;\n border-bottom: 2px solid ${color};\n legend {\n height: 0.6rem;\n }\n ${SelectLegendText} {\n font-size: 0.75rem;\n font-weight: 300;\n margin-left: 0;\n color: ${color};\n }\n ${SelectedValueText} {\n margin-left: 0.2rem;\n }\n `;\n case \"outlined\":\n return `\n padding: 0.5rem;\n transition: border-color 250ms;\n border: 2px solid ${color};\n `;\n default:\n return \"\";\n }\n};\nconst SelectContainer = styled.fieldset`\n border-radius: 5px;\n ${(props) => handleSelectContainer(props)}\n cursor: ${(props) => (props.disabled ? \"default\" : \"pointer\")};\n box-sizing: border-box;\n g {\n transition: transform 0.25s ease;\n }\n path {\n transition: fill 0.25s;\n }\n ${(props) => props.disabled && `background-color: ${colors.lightGrey}`};\n`;\n\nconst SelectValueContainer = styled.div`\n align-items: center;\n display: flex;\n flex-direction: row;\n flex: 1;\n height: 1.75rem;\n padding: 0 0.5rem 0 0;\n pointer-events: none;\n`;\nconst SelectedValueText = styled(Typography)`\n text-align: left;\n flex: 1;\n font-weight: 500;\n margin-left: ${(props) => (props.withIcon ? \"0.65rem\" : \"1rem\")};\n ${(props) => props.disabled && `color: ${colors.darkMidGrey}`};\n`;\nconst OptionsContainer = styled.ul`\n display: ${(props) => (props[\"aria-expanded\"] === \"true\" ? \"block\" : \"none\")};\n background-color: white;\n border-radius: 5px;\n border: 1px solid ${colors.lightMidGrey};\n box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);\n list-style: none;\n margin-top: 0.83rem;\n overflow: hidden;\n padding: 0;\n position: absolute;\n top: 100%;\n width: 100%;\n z-index: 1;\n`;\n\nconst OptionBase = css`\n background-color: ${(p) =>\n p.selected && !p.disabled ? colors.lightViolet : \"transparent\"};\n border: none;\n font-family: Raleway, sans-serif;\n font-size: 0.8125rem;\n font-weight: 500;\n color: ${(props) => (props.disabled ? \"#aaa\" : \"#222\")};\n cursor: ${(props) => (props.disabled ? \"default\" : \"pointer\")};\n :hover,\n :focus {\n outline: none;\n &:not([disabled]) {\n background-color: ${colors.lightGrey};\n }\n }\n ::selection {\n background-color: transparent;\n }\n`;\n\nconst Option = styled.li`\n ${OptionBase};\n display: ${(p) => (p.display === \"true\" ? \"auto\" : \"none\")};\n line-height: 1.3rem;\n padding: 10px 23px;\n`;\n\nconst OptionWindowed = styled.li`\n ${OptionBase};\n display: flex;\n align-items: center;\n padding: 0 23px;\n`;\n\nconst SelectSearchTextInput = styled.input`\n flex: 1;\n font-weight: 500;\n margin-left: ${(props) => (props.withIcon ? \"0.65rem\" : \"1rem\")};\n height: 100%;\n font-family: Raleway;\n font-size: ${fontSizes.body};\n border: 0;\n &:focus {\n outline: none;\n }\n`;\n\n/*--------------------------*/\n// Auxiliar components\n/*--------------------------*/\n\nconst optValue = (label, value) => {\n if (label && typeof label === \"string\") {\n return label;\n } else if (label) {\n return label(value);\n }\n return value;\n};\n\nconst OptionComponent = (props) => {\n const { value, windowed, label, optionRef } = props;\n const OptionComp = windowed ? OptionWindowed : Option;\n return (\n <OptionComp\n {...props}\n ref={optionRef}\n aria-labelledby={`dropdown_${value} dropdown_${value}_option`}\n tabIndex=\"0\"\n role=\"button\"\n >\n {optValue(label, value)}\n </OptionComp>\n );\n};\n\nconst OptionsContainerWindowedComponent = ({\n selectWindowedRef,\n selectWindowedHeight,\n visibleItems,\n displayOptions,\n disabled,\n itemSize,\n selectedIndex,\n selectOptionIndex,\n optionRefs,\n options,\n}) => {\n const InnerElementType = React.useMemo(\n () => React.forwardRef((props, ref) => <div {...props} ref={ref} />),\n []\n );\n\n const OuterElementType = React.useMemo(\n () =>\n React.forwardRef((props, ref) => {\n return (\n <OptionsContainer\n aria-expanded={displayOptions ? \"true\" : \"false\"}\n {...props}\n ref={ref}\n style={{ ...props.style, position: \"absolute\" }}\n />\n );\n }),\n [displayOptions]\n );\n\n useEffect(() => {\n if (!displayOptions) {\n selectWindowedRef.current && selectWindowedRef.current.scrollToItem(0);\n }\n }, [displayOptions]);\n\n return (\n <OptionsContainerWindowed\n ref={selectWindowedRef}\n height={selectWindowedHeight}\n itemCount={visibleItems.length}\n itemSize={itemSize}\n itemData={visibleItems}\n outerElementType={OuterElementType}\n innerElementType={InnerElementType}\n >\n {({ data, index, style }) => {\n const { value, label, disabled: optDisabled } = data[index];\n return (\n <OptionComponent\n style={style}\n value={value}\n label={label}\n disabled={disabled || optDisabled}\n selected={selectedIndex === index}\n onClick={() => {\n const index = options.findIndex((opt) => opt.value === value);\n return selectOptionIndex(index);\n }}\n optionRef={optionRefs.current[index]}\n windowed\n />\n );\n }}\n </OptionsContainerWindowed>\n );\n};\n\nconst OptionsContainerComponent = ({\n displayOptions,\n disabled,\n selectedIndex,\n selectOptionIndex,\n optionRefs,\n options,\n isOptionVisibleForIndex,\n}) => {\n return (\n <OptionsContainer aria-expanded={displayOptions ? \"true\" : \"false\"}>\n {options.map((props, index) => {\n const { value, disabled: optDisabled } = props;\n return (\n <OptionComponent\n {...props}\n disabled={disabled || optDisabled}\n selected={selectedIndex === index}\n key={value}\n onClick={() => selectOptionIndex(index)}\n optionRef={optionRefs.current[index]}\n display={isOptionVisibleForIndex[index] ? \"true\" : \"false\"}\n />\n );\n })}\n </OptionsContainer>\n );\n};\n\nexport {\n colors,\n IconAndTextContainer,\n IconAndSelectedValueRenderContainer,\n SelectOuterContainer,\n SelectContainer,\n SelectLegendText,\n SelectValueContainer,\n SelectedValueText,\n OptionsContainer,\n OptionsContainerWindowedComponent,\n OptionsContainerComponent,\n Option,\n OptionWindowed,\n SelectSearchTextInput,\n};\n","import React, { createRef, useState, useEffect, useRef } from 'react';\nimport { useOnClickOutside } from '../../hooks/useOnClickOutside';\nimport { FlatArrow } from '../icons';\nimport {\n colors,\n IconAndTextContainer,\n IconAndSelectedValueRenderContainer,\n SelectOuterContainer,\n SelectContainer,\n SelectLegendText,\n SelectValueContainer,\n SelectedValueText,\n SelectSearchTextInput,\n OptionsContainerWindowedComponent,\n OptionsContainerComponent,\n} from \"./SelectComponents\";\n\nconst WINDOWED_ITEM_SIZE = 40;\nconst WINDOWED_MAX_HEIGHT = 400;\nconst USE_WINDOWED_SELECT_THRESHOLD = 500;\n\nconst selectedText = (options, selected, defaultValue) => {\n if (selected) {\n const { label, value } = selected;\n return !label ? value : typeof label === \"string\" ? label : label(value);\n }\n if (!selected && defaultValue) {\n const item = options.find((i) => i.value === defaultValue);\n return item && item.label ? item.label : defaultValue;\n }\n return null;\n};\n\nexport const Select = ({\n disabled,\n icon,\n id,\n isSearchable,\n label,\n onChange = () => {},\n options = [],\n tintColor = \"#000\",\n useWindowed = false,\n value,\n variant = \"outlined\",\n ...rest\n}) => {\n const isMinimal = variant === \"minimal\";\n const isBasic = variant === \"basic\";\n const [selectedIndex, setSelectedIndex] = useState(-1);\n const selectOptionIndex = (index) => {\n if (disabled || !options[index] || options[index].disabled) return;\n setSelectedIndex(index);\n };\n\n const [isOptionVisibleForIndex, setIsOptionVisibleForIndex] = useState(\n options.map(() => true)\n );\n const [displayOptions, setDisplayOptions] = useState(false);\n const outsideClickRef = useOnClickOutside(() => setDisplayOptions(false));\n\n const optionRefs = useRef([]);\n const selectedOption = options[selectedIndex];\n\n const [searchInputRef, setSearchInput] = useState(null);\n const [search, setSearch] = useState(\"\");\n\n const [focusInputRef, setFocusInput] = useState(null);\n const selectWindowedRef = React.createRef();\n\n useEffect(() => {\n if (displayOptions) {\n setIsOptionVisibleForIndex(options.map(() => true));\n }\n if (\n selectedIndex > -1 &&\n (!options[selectedIndex] || options[selectedIndex].disabled)\n ) {\n setSelectedIndex(-1);\n }\n }, [displayOptions, options]);\n\n useEffect(() => {\n if (!isSearchable || !searchInputRef) {\n return;\n }\n const setSearchResults = () => {\n const searchResults = options.map((option) => {\n const { value, label } = option;\n const text = typeof label === \"string\" ? label : value;\n return !search || text.toLowerCase().startsWith(search.toLowerCase());\n });\n setIsOptionVisibleForIndex(searchResults);\n };\n const handleKeyUp = () => {\n setSearchResults();\n };\n const handleKeyDown = (e) => {\n if (\n e.keyCode === 13 || // enter\n e.keyCode === 40 || // down arrow\n (e.keyCode === 9 && !e.shiftKey) // tab without shift\n ) {\n e.preventDefault();\n const firstEnabledOptionIndex = isOptionVisibleForIndex.findIndex(\n (i) => i\n );\n if (e.keyCode === 13) {\n searchInputRef.blur();\n selectOptionIndex(firstEnabledOptionIndex);\n return;\n }\n optionRefs.current[firstEnabledOptionIndex].current.focus();\n }\n };\n searchInputRef.addEventListener(\"keyup\", handleKeyUp);\n searchInputRef.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n searchInputRef.removeEventListener(\"keyup\", handleKeyUp);\n searchInputRef.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [searchInputRef, isOptionVisibleForIndex, options, isSearchable, search]);\n\n // keyboard focus only\n useEffect(() => {\n if (focusInputRef === null) {\n return;\n }\n const handleKeyPress = (e) => {\n //TODO: accessibility: when up/down is pressed, the 'focused' item should be the top/bottom item in the options list, and not always the top item\n // up\n if (e.keyCode === 38) {\n e.preventDefault();\n setDisplayOptions(true);\n }\n\n // down\n if (e.keyCode === 40) {\n e.preventDefault();\n setDisplayOptions(true);\n }\n };\n focusInputRef.addEventListener(\"keydown\", handleKeyPress);\n return () => {\n focusInputRef.removeEventListener(\"keydown\", handleKeyPress);\n };\n }, [focusInputRef, options, selectedOption]);\n\n useEffect(() => {\n // pass the selected value to parent component\n if (selectedIndex >= 0 && onChange) {\n onChange(options[selectedIndex].value);\n }\n }, [selectedIndex]);\n\n useEffect(() => {\n // if value is defined (null is still a valid value)\n // and we still don't have a selected index or the value is different\n // let's update internal state's selectedIndex\n if (\n value !== undefined &&\n (selectedIndex === -1 ||\n value !== (options[selectedIndex] && options[selectedIndex].value))\n ) {\n selectOptionIndex(options.findIndex((opt) => opt.value === value));\n }\n }, [value]);\n\n useEffect(() => {\n if (options.length !== optionRefs.current.length) {\n optionRefs.current = options.map(\n (_, idx) => optionRefs.current[idx] || createRef()\n );\n }\n }, [options]);\n\n // option selection and event listeners\n useEffect(() => {\n if (\n displayOptions &&\n // if we still have no reference, wait until the next cycle\n (!isSearchable || searchInputRef !== null)\n ) {\n const evtListenersToUnmount = [];\n if (isSearchable) {\n searchInputRef.focus();\n } else {\n optionRefs.current[\n // select first visible\n isOptionVisibleForIndex.findIndex((i) => i)\n ].current.focus();\n }\n\n // attach keyboard events:\n optionRefs.current.forEach((ref, idx) => {\n const evtListener = (e) => {\n e.preventDefault();\n // down arrow or tab without shift\n if (e.keyCode === 40 || (e.keyCode === 9 && !e.shiftKey)) {\n const nextAvailableIndex = isOptionVisibleForIndex.findIndex(\n (isOptionVisible, itemIdx) =>\n isOptionVisible && !options[itemIdx].disabled && itemIdx > idx\n );\n optionRefs.current[\n nextAvailableIndex >= 0\n ? nextAvailableIndex\n : optionRefs.current.length - 1\n ].current.focus({ preventScroll: true });\n // up arrow or tab with shift\n } else if (e.keyCode === 38 || (e.keyCode === 9 && e.shiftKey)) {\n const previousAvailableIndex = isOptionVisibleForIndex.reduce(\n (previousIndex, isOptionEnabled, itemIndex) => {\n return !isOptionEnabled ||\n options[itemIndex].disabled ||\n itemIndex >= idx\n ? previousIndex\n : itemIndex;\n },\n -1\n );\n optionRefs.current[\n previousAvailableIndex >= 0 ? previousAvailableIndex : 0\n ].current.focus({\n preventScroll: true,\n });\n // space space enter\n } else if ([0, 32, 13].includes(e.keyCode)) {\n optionRefs.current[idx].current.click();\n } else if (e.keyCode === 27) {\n setDisplayOptions(false);\n }\n };\n\n // ref.current is lost if an option unmounts\n ref.current && ref.current.addEventListener(\"keydown\", evtListener);\n evtListenersToUnmount.push(\n () =>\n ref.current &&\n ref.current.removeEventListener(\"keydown\", evtListener)\n );\n });\n if (evtListenersToUnmount.length) {\n return () => evtListenersToUnmount.forEach((unmount) => unmount());\n }\n }\n }, [displayOptions, searchInputRef, isOptionVisibleForIndex, isSearchable]);\n\n const textColor =\n displayOptions || isMinimal\n ? tintColor\n : disabled\n ? colors.darkMidGrey\n : colors.darkGrey;\n\n const visibleItems = options.filter(\n (_, index) => isOptionVisibleForIndex[index]\n );\n\n const countVisibleItems = visibleItems.length;\n const useSelectWindowed =\n useWindowed || options.length > USE_WINDOWED_SELECT_THRESHOLD;\n const selectWindowedHeight = Math.floor(\n Math.min(countVisibleItems * WINDOWED_ITEM_SIZE, WINDOWED_MAX_HEIGHT)\n );\n\n const optionsContainerProps = {\n selectWindowedRef,\n selectWindowedHeight,\n visibleItems,\n displayOptions,\n disabled,\n selectedIndex,\n selectOptionIndex,\n optionRefs,\n options,\n isOptionVisibleForIndex,\n itemSize: WINDOWED_ITEM_SIZE,\n };\n\n const OptionsContainer = useSelectWindowed\n ? OptionsContainerWindowedComponent\n : OptionsContainerComponent;\n\n return (\n <SelectOuterContainer\n ref={outsideClickRef}\n onClick={() =>\n !disabled && setDisplayOptions((displayOptions) => !displayOptions)\n }\n {...rest}\n >\n <SelectContainer\n variant={variant}\n color={\n isMinimal || isBasic || displayOptions ? tintColor : colors.midGrey\n }\n disabled={disabled}\n >\n {!isMinimal && (\n <legend>\n <SelectLegendText id={id} color={textColor}>\n {label}\n </SelectLegendText>\n </legend>\n )}\n <IconAndTextContainer>\n <SelectValueContainer\n tabIndex=\"0\"\n aria-haspopup=\"listbox\"\n role=\"listbox\"\n aria-labelledby={`dropdown_${id} dropdown_${id}_button`}\n onKeyPress={(e) => {\n if (!disabled && e.charCode === 13) {\n e.preventDefault();\n setDisplayOptions((displayOptions) => !displayOptions);\n }\n }}\n ref={setFocusInput}\n >\n {!displayOptions || isSearchable || isMinimal ? (\n <IconAndSelectedValueRenderContainer>\n {icon}\n {displayOptions && isSearchable ? (\n <SelectSearchTextInput\n withIcon={!!icon}\n value={search}\n placeholder={\n selectedOption\n ? typeof selectedOption.label === \"string\"\n ? selectedOption.label\n : selectedOption.value\n : \"\"\n }\n onChange={(evt) => !disabled && setSearch(evt.target.value)}\n ref={setSearchInput}\n />\n ) : (\n <SelectedValueText\n withIcon={!!icon}\n disabled={disabled}\n color={isMinimal ? tintColor : undefined}\n >\n {selectedText(options, selectedOption, value)}\n </SelectedValueText>\n )}\n </IconAndSelectedValueRenderContainer>\n ) : null}\n </SelectValueContainer>\n <FlatArrow\n width={9}\n direction={displayOptions ? \"up\" : \"down\"}\n fill={textColor}\n title=\"Open drop down\"\n />\n </IconAndTextContainer>\n </SelectContainer>\n <OptionsContainer {...optionsContainerProps} />\n </SelectOuterContainer>\n );\n};\n"],"names":["useOnClickOutside","callback","ref","useRef","useEffect","onClickOutside","evt","current","contains","target","document","addEventListener","removeEventListener","colors","lightViolet","lightGrey","lightMidGrey","midGrey","darkMidGrey","darkGrey","Row","styled","div","IconAndTextContainer","IconAndSelectedValueRenderContainer","SelectOuterContainer","SelectLegendText","Typography","props","color","handleSelectContainer","variant","SelectedValueText","SelectContainer","fieldset","disabled","SelectValueContainer","withIcon","OptionsContainer","ul","OptionBase","css","p","selected","Option","li","display","OptionWindowed","SelectSearchTextInput","input","fontSizes","body","optValue","label","value","OptionComponent","windowed","optionRef","OptionComp","OptionsContainerWindowedComponent","selectWindowedRef","selectWindowedHeight","visibleItems","displayOptions","itemSize","selectedIndex","selectOptionIndex","optionRefs","options","InnerElementType","React","useMemo","forwardRef","OuterElementType","_objectSpread","style","position","scrollToItem","OptionsContainerWindowed","length","data","index","optDisabled","findIndex","opt","OptionsContainerComponent","isOptionVisibleForIndex","map","WINDOWED_ITEM_SIZE","WINDOWED_MAX_HEIGHT","USE_WINDOWED_SELECT_THRESHOLD","selectedText","defaultValue","item","find","i","Select","icon","id","isSearchable","onChange","tintColor","useWindowed","rest","isMinimal","isBasic","setSelectedIndex","useState","setIsOptionVisibleForIndex","setDisplayOptions","outsideClickRef","selectedOption","searchInputRef","setSearchInput","search","setSearch","focusInputRef","setFocusInput","createRef","setSearchResults","searchResults","option","text","toLowerCase","startsWith","handleKeyUp","handleKeyDown","e","keyCode","shiftKey","preventDefault","firstEnabledOptionIndex","blur","focus","handleKeyPress","undefined","_","idx","evtListenersToUnmount","forEach","evtListener","nextAvailableIndex","isOptionVisible","itemIdx","preventScroll","previousAvailableIndex","reduce","previousIndex","isOptionEnabled","itemIndex","includes","click","push","unmount","textColor","filter","countVisibleItems","useSelectWindowed","Math","floor","min","optionsContainerProps","charCode"],"mappings":";;;;;;;AAEaA,MAAAA,iBAAiB,GAAGC,QAAQ,IAAI;AAC3C,EAAA,MAAMC,GAAG,GAAGC,MAAM,CAAC,IAAD,CAAlB,CAAA;AACAC,EAAAA,SAAS,CAAC,MAAM;IACd,MAAMC,cAAc,GAAGC,GAAG,IAAI;AAC5B,MAAA,IAAIJ,GAAG,CAACK,OAAJ,IAAe,CAACL,GAAG,CAACK,OAAJ,CAAYC,QAAZ,CAAqBF,GAAG,CAACG,MAAzB,CAApB,EAAsDR,QAAQ,EAAA,CAAA;KADhE,CAAA;;AAGAS,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCN,cAAnC,CAAA,CAAA;IACA,OAAO,MAAMK,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCP,cAAtC,CAAb,CAAA;AACD,GANQ,EAMN,CAACJ,QAAD,CANM,CAAT,CAAA;AAQA,EAAA,OAAOC,GAAP,CAAA;AACD;;;ACPD;AACA;;AACA;;AAEA,MAAMW,MAAM,GAAG;AACbC,EAAAA,WAAW,EAAE,SADA;AAEbC,EAAAA,SAAS,EAAE,SAFE;AAGbC,EAAAA,YAAY,EAAE,SAHD;AAIbC,EAAAA,OAAO,EAAE,SAJI;AAKbC,EAAAA,WAAW,EAAE,SALA;AAMbC,EAAAA,QAAQ,EAAE,SAAA;AANG,CAAf,CAAA;AASA,MAAMC,GAAG,GAAGC,MAAM,CAACC,GAAV,CAAT,eAAA,KAAA,eAAA,GAAA,sBAAA,CAAA,CAAA,sEAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAKA,MAAMC,oBAAoB,GAAGF,MAAM,CAACD,GAAD,CAAT,CAA1B,gBAAA,KAAA,gBAAA,GAAA,sBAAA,CAAA,CAAA,0GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAOA,MAAMI,mCAAmC,GAAGH,MAAM,CAACD,GAAD,CAAT,CAAzC,gBAAA,KAAA,gBAAA,GAAA,sBAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGA,MAAMK,oBAAoB,GAAGJ,MAAM,CAACC,GAAV,CAA1B,gBAAA,KAAA,gBAAA,GAAA,sBAAA,CAAA,CAAA,mMAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAcA,MAAMI,gBAAgB,GAAGL,MAAM,CAACM,UAAD,CAAT,CAIVC,gBAAAA,KAAAA,gBAAAA,GAAAA,sBAAAA,CAAAA,CAAAA,oEAAAA,EAAAA,2EAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAD,IAAWA,KAAK,CAACC,KAJN,CAAtB,CAAA;;AAUA,MAAMC,qBAAqB,GAAG,IAAwB,IAAA;EAAA,IAAvB;IAAEC,OAAF;AAAWF,IAAAA,KAAAA;GAAY,GAAA,IAAA,CAAA;;AACpD,EAAA,QAAQE,OAAR;AACE,IAAA,KAAK,SAAL;MACE,OAKwBF,gKAAAA,CAAAA,MAAAA,CAAAA,KALxB,mCAOIN,oBAPJ,EAAA,4CAAA,CAAA,CAAA;;AAWF,IAAA,KAAK,OAAL;AACE,MAAA,OAAA,+MAAA,CAAA,MAAA,CAO6BM,KAP7B,EAWIH,qEAAAA,CAAAA,CAAAA,MAAAA,CAAAA,gBAXJ,EAeaG,8GAAAA,CAAAA,CAAAA,MAAAA,CAAAA,KAfb,mCAiBIG,iBAjBJ,EAAA,qDAAA,CAAA,CAAA;;AAqBF,IAAA,KAAK,UAAL;AACE,MAAA,OAAA,iGAAA,CAAA,MAAA,CAGsBH,KAHtB,EAAA,SAAA,CAAA,CAAA;;AAKF,IAAA;AACE,MAAA,OAAO,EAAP,CAAA;AA1CJ,GAAA;AA4CD,CA7CD,CAAA;;AA8CA,MAAMI,eAAe,GAAGZ,MAAM,CAACa,QAAV,CAEhBN,gBAAAA,KAAAA,gBAAAA,GAAAA,sBAAAA,CAAAA,CAAAA,6BAAAA,EAAAA,cAAAA,EAAAA,iIAAAA,EAAAA,KAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAD,IAAWE,qBAAqB,CAACF,KAAD,CAFf,EAGRA,KAAD,IAAYA,KAAK,CAACO,QAAN,GAAiB,SAAjB,GAA6B,SAHhC,EAWhBP,KAAD,IAAWA,KAAK,CAACO,QAAN,IAAuCtB,oBAAAA,CAAAA,MAAAA,CAAAA,MAAM,CAACE,SAA9C,CAXM,CAArB,CAAA;AAcA,MAAMqB,oBAAoB,GAAGf,MAAM,CAACC,GAAV,CAA1B,gBAAA,KAAA,gBAAA,GAAA,sBAAA,CAAA,CAAA,yJAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AASA,MAAMU,iBAAiB,GAAGX,MAAM,CAACM,UAAD,CAAT,CAAA,gBAAA,KAAA,gBAAA,GAAA,sBAAA,CAAA,CAAA,yEAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAILC,KAAD,IAAYA,KAAK,CAACS,QAAN,GAAiB,SAAjB,GAA6B,MAJnC,EAKlBT,KAAD,IAAWA,KAAK,CAACO,QAAN,IAAA,SAAA,CAAA,MAAA,CAA4BtB,MAAM,CAACK,WAAnC,CALQ,CAAvB,CAAA;AAOA,MAAMoB,gBAAgB,GAAGjB,MAAM,CAACkB,EAAV,CACRX,gBAAAA,KAAAA,gBAAAA,GAAAA,sBAAAA,CAAAA,CAAAA,eAAAA,EAAAA,4EAAAA,EAAAA,2MAAAA,CAAAA,CAAAA,CAAAA,EAAAA,KAAD,IAAYA,KAAK,CAAC,eAAD,CAAL,KAA2B,MAA3B,GAAoC,OAApC,GAA8C,MADjD,EAIAf,MAAM,CAACG,YAJP,CAAtB,CAAA;AAgBA,MAAMwB,UAAU,GAAGC,GAAH,CAAA,iBAAA,KAAA,iBAAA,GAAA,sBAAA,CAAA,CAAA,wBAAA,EAAA,kHAAA,EAAA,eAAA,EAAA,iGAAA,EAAA,2EAAA,CAAA,CAAA,CAAA,EACOC,CAAD,IAClBA,CAAC,CAACC,QAAF,IAAc,CAACD,CAAC,CAACP,QAAjB,GAA4BtB,MAAM,CAACC,WAAnC,GAAiD,aAFrC,EAOJc,KAAD,IAAYA,KAAK,CAACO,QAAN,GAAiB,MAAjB,GAA0B,MAPjC,EAQHP,KAAD,IAAYA,KAAK,CAACO,QAAN,GAAiB,SAAjB,GAA6B,SARrC,EAaUtB,MAAM,CAACE,SAbjB,CAAhB,CAAA;AAqBA,MAAM6B,MAAM,GAAGvB,MAAM,CAACwB,EAAV,CAAA,iBAAA,KAAA,iBAAA,GAAA,sBAAA,CAAA,CAAA,MAAA,EAAA,gBAAA,EAAA,oDAAA,CAAA,CAAA,CAAA,EACRL,UADQ,EAEEE,CAAD,IAAQA,CAAC,CAACI,OAAF,KAAc,MAAd,GAAuB,MAAvB,GAAgC,MAFzC,CAAZ,CAAA;AAOA,MAAMC,cAAc,GAAG1B,MAAM,CAACwB,EAAV,CAAA,iBAAA,KAAA,iBAAA,GAAA,sBAAA,CAAA,CAAA,MAAA,EAAA,mEAAA,CAAA,CAAA,CAAA,EAChBL,UADgB,CAApB,CAAA;AAOA,MAAMQ,qBAAqB,GAAG3B,MAAM,CAAC4B,KAAV,CAAA,iBAAA,KAAA,iBAAA,GAAA,sBAAA,CAAA,CAAA,oDAAA,EAAA,4DAAA,EAAA,yDAAA,CAAA,CAAA,CAAA,EAGTrB,KAAD,IAAYA,KAAK,CAACS,QAAN,GAAiB,SAAjB,GAA6B,MAH/B,EAMZa,SAAS,CAACC,IANE,CAA3B,CAAA;AAaA;AACA;;AACA;;AAEA,MAAMC,QAAQ,GAAG,CAACC,KAAD,EAAQC,KAAR,KAAkB;AACjC,EAAA,IAAID,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EAAwC;AACtC,IAAA,OAAOA,KAAP,CAAA;GADF,MAEO,IAAIA,KAAJ,EAAW;IAChB,OAAOA,KAAK,CAACC,KAAD,CAAZ,CAAA;AACD,GAAA;;AACD,EAAA,OAAOA,KAAP,CAAA;AACD,CAPD,CAAA;;AASA,MAAMC,eAAe,GAAI3B,KAAD,IAAW;EACjC,MAAM;IAAE0B,KAAF;IAASE,QAAT;IAAmBH,KAAnB;AAA0BI,IAAAA,SAAAA;AAA1B,GAAA,GAAwC7B,KAA9C,CAAA;AACA,EAAA,MAAM8B,UAAU,GAAGF,QAAQ,GAAGT,cAAH,GAAoBH,MAA/C,CAAA;EACA,oBACE,KAAA,CAAA,aAAA,CAAC,UAAD,EAAA,QAAA,CAAA,EAAA,EACMhB,KADN,EAAA;AAEE,IAAA,GAAG,EAAE6B,SAFP;IAGE,iBAA6BH,EAAAA,WAAAA,CAAAA,MAAAA,CAAAA,KAA7B,EAA+CA,YAAAA,CAAAA,CAAAA,MAAAA,CAAAA,KAA/C,EAHF,SAAA,CAAA;AAIE,IAAA,QAAQ,EAAC,GAJX;AAKE,IAAA,IAAI,EAAC,QAAA;AALP,GAAA,CAAA,EAOGF,QAAQ,CAACC,KAAD,EAAQC,KAAR,CAPX,CADF,CAAA;AAWD,CAdD,CAAA;;AAgBA,MAAMK,iCAAiC,GAAG,KAWpC,IAAA;EAAA,IAXqC;IACzCC,iBADyC;IAEzCC,oBAFyC;IAGzCC,YAHyC;IAIzCC,cAJyC;IAKzC5B,QALyC;IAMzC6B,QANyC;IAOzCC,aAPyC;IAQzCC,iBARyC;IASzCC,UATyC;AAUzCC,IAAAA,OAAAA;GACI,GAAA,KAAA,CAAA;AACJ,EAAA,MAAMC,gBAAgB,GAAGC,KAAK,CAACC,OAAN,CACvB,mBAAMD,KAAK,CAACE,UAAN,CAAiB,CAAC5C,KAAD,EAAQ1B,GAAR,kBAAgB,wCAAS0B,KAAT,EAAA;AAAgB,IAAA,GAAG,EAAE1B,GAAAA;GAAtD,CAAA,CAAA,CADiB,EAEvB,EAFuB,CAAzB,CAAA;AAKA,EAAA,MAAMuE,gBAAgB,GAAGH,KAAK,CAACC,OAAN,CACvB,mBACED,KAAK,CAACE,UAAN,CAAiB,CAAC5C,KAAD,EAAQ1B,GAAR,KAAgB;AAC/B,IAAA,oBACE,oBAAC,gBAAD,EAAA,QAAA,CAAA;MACE,eAAe6D,EAAAA,cAAc,GAAG,MAAH,GAAY,OAAA;AAD3C,KAAA,EAEMnC,KAFN,EAAA;AAGE,MAAA,GAAG,EAAE1B,GAHP;MAIE,KAAK,EAAAwE,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAO9C,KAAK,CAAC+C,KAAb,CAAA,EAAA,EAAA,EAAA;AAAoBC,QAAAA,QAAQ,EAAE,UAAA;AAA9B,OAAA,CAAA;KALT,CAAA,CAAA,CAAA;AAQD,GATD,CAFqB,EAYvB,CAACb,cAAD,CAZuB,CAAzB,CAAA;AAeA3D,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI,CAAC2D,cAAL,EAAqB;MACnBH,iBAAiB,CAACrD,OAAlB,IAA6BqD,iBAAiB,CAACrD,OAAlB,CAA0BsE,YAA1B,CAAuC,CAAvC,CAA7B,CAAA;AACD,KAAA;AACF,GAJQ,EAIN,CAACd,cAAD,CAJM,CAAT,CAAA;AAMA,EAAA,oBACE,oBAACe,aAAD,EAAA;AACE,IAAA,GAAG,EAAElB,iBADP;AAEE,IAAA,MAAM,EAAEC,oBAFV;IAGE,SAAS,EAAEC,YAAY,CAACiB,MAH1B;AAIE,IAAA,QAAQ,EAAEf,QAJZ;AAKE,IAAA,QAAQ,EAAEF,YALZ;AAME,IAAA,gBAAgB,EAAEW,gBANpB;AAOE,IAAA,gBAAgB,EAAEJ,gBAAAA;AAPpB,GAAA,EASG,KAA4B,IAAA;IAAA,IAA3B;MAAEW,IAAF;MAAQC,KAAR;AAAeN,MAAAA,KAAAA;KAAY,GAAA,KAAA,CAAA;IAC3B,MAAM;MAAErB,KAAF;MAASD,KAAT;AAAgBlB,MAAAA,QAAQ,EAAE+C,WAAAA;KAAgBF,GAAAA,IAAI,CAACC,KAAD,CAApD,CAAA;AACA,IAAA,oBACE,oBAAC,eAAD,EAAA;AACE,MAAA,KAAK,EAAEN,KADT;AAEE,MAAA,KAAK,EAAErB,KAFT;AAGE,MAAA,KAAK,EAAED,KAHT;MAIE,QAAQ,EAAElB,QAAQ,IAAI+C,WAJxB;MAKE,QAAQ,EAAEjB,aAAa,KAAKgB,KAL9B;AAME,MAAA,OAAO,EAAE,MAAM;AACb,QAAA,MAAMA,KAAK,GAAGb,OAAO,CAACe,SAAR,CAAmBC,GAAD,IAASA,GAAG,CAAC9B,KAAJ,KAAcA,KAAzC,CAAd,CAAA;QACA,OAAOY,iBAAiB,CAACe,KAAD,CAAxB,CAAA;OARJ;AAUE,MAAA,SAAS,EAAEd,UAAU,CAAC5D,OAAX,CAAmB0E,KAAnB,CAVb;MAWE,QAAQ,EAAA,IAAA;KAZZ,CAAA,CAAA;AAeD,GA1BH,CADF,CAAA;AA8BD,CApED,CAAA;;AAsEA,MAAMI,yBAAyB,GAAG,KAQ5B,IAAA;EAAA,IAR6B;IACjCtB,cADiC;IAEjC5B,QAFiC;IAGjC8B,aAHiC;IAIjCC,iBAJiC;IAKjCC,UALiC;IAMjCC,OANiC;AAOjCkB,IAAAA,uBAAAA;GACI,GAAA,KAAA,CAAA;AACJ,EAAA,oBACE,oBAAC,gBAAD,EAAA;IAAkB,eAAevB,EAAAA,cAAc,GAAG,MAAH,GAAY,OAAA;GACxDK,EAAAA,OAAO,CAACmB,GAAR,CAAY,CAAC3D,KAAD,EAAQqD,KAAR,KAAkB;IAC7B,MAAM;MAAE3B,KAAF;AAASnB,MAAAA,QAAQ,EAAE+C,WAAAA;AAAnB,KAAA,GAAmCtD,KAAzC,CAAA;IACA,oBACE,KAAA,CAAA,aAAA,CAAC,eAAD,EAAA,QAAA,CAAA,EAAA,EACMA,KADN,EAAA;MAEE,QAAQ,EAAEO,QAAQ,IAAI+C,WAFxB;MAGE,QAAQ,EAAEjB,aAAa,KAAKgB,KAH9B;AAIE,MAAA,GAAG,EAAE3B,KAJP;AAKE,MAAA,OAAO,EAAE,MAAMY,iBAAiB,CAACe,KAAD,CALlC;AAME,MAAA,SAAS,EAAEd,UAAU,CAAC5D,OAAX,CAAmB0E,KAAnB,CANb;AAOE,MAAA,OAAO,EAAEK,uBAAuB,CAACL,KAAD,CAAvB,GAAiC,MAAjC,GAA0C,OAAA;KARvD,CAAA,CAAA,CAAA;AAWD,GAbA,CADH,CADF,CAAA;AAkBD,CA3BD;;;ACxRA,MAAMO,kBAAkB,GAAG,EAA3B,CAAA;AACA,MAAMC,mBAAmB,GAAG,GAA5B,CAAA;AACA,MAAMC,6BAA6B,GAAG,GAAtC,CAAA;;AAEA,MAAMC,YAAY,GAAG,CAACvB,OAAD,EAAUzB,QAAV,EAAoBiD,YAApB,KAAqC;AACxD,EAAA,IAAIjD,QAAJ,EAAc;IACZ,MAAM;MAAEU,KAAF;AAASC,MAAAA,KAAAA;AAAT,KAAA,GAAmBX,QAAzB,CAAA;AACA,IAAA,OAAO,CAACU,KAAD,GAASC,KAAT,GAAiB,OAAOD,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCA,KAAK,CAACC,KAAD,CAAjE,CAAA;AACD,GAAA;;AACD,EAAA,IAAI,CAACX,QAAD,IAAaiD,YAAjB,EAA+B;AAC7B,IAAA,MAAMC,IAAI,GAAGzB,OAAO,CAAC0B,IAAR,CAAcC,CAAD,IAAOA,CAAC,CAACzC,KAAF,KAAYsC,YAAhC,CAAb,CAAA;IACA,OAAOC,IAAI,IAAIA,IAAI,CAACxC,KAAb,GAAqBwC,IAAI,CAACxC,KAA1B,GAAkCuC,YAAzC,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD,CAVD,CAAA;;AAYO,MAAMI,MAAM,GAAG,IAahB,IAAA;EAAA,IAbiB;IACrB7D,QADqB;IAErB8D,IAFqB;IAGrBC,EAHqB;IAIrBC,YAJqB;IAKrB9C,KALqB;IAMrB+C,QAAQ,GAAG,MAAM,EANI;AAOrBhC,IAAAA,OAAO,GAAG,EAPW;AAQrBiC,IAAAA,SAAS,GAAG,MARS;AASrBC,IAAAA,WAAW,GAAG,KATO;IAUrBhD,KAVqB;AAWrBvB,IAAAA,OAAO,GAAG,UAAA;GAEN,GAAA,IAAA;AAAA,MADDwE,IACC,GAAA,wBAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;;AACJ,EAAA,MAAMC,SAAS,GAAGzE,OAAO,KAAK,SAA9B,CAAA;AACA,EAAA,MAAM0E,OAAO,GAAG1E,OAAO,KAAK,OAA5B,CAAA;EACA,MAAM,CAACkC,aAAD,EAAgByC,gBAAhB,IAAoCC,QAAQ,CAAC,CAAC,CAAF,CAAlD,CAAA;;EACA,MAAMzC,iBAAiB,GAAIe,KAAD,IAAW;AACnC,IAAA,IAAI9C,QAAQ,IAAI,CAACiC,OAAO,CAACa,KAAD,CAApB,IAA+Bb,OAAO,CAACa,KAAD,CAAP,CAAe9C,QAAlD,EAA4D,OAAA;IAC5DuE,gBAAgB,CAACzB,KAAD,CAAhB,CAAA;GAFF,CAAA;;AAKA,EAAA,MAAM,CAACK,uBAAD,EAA0BsB,0BAA1B,IAAwDD,QAAQ,CACpEvC,OAAO,CAACmB,GAAR,CAAY,MAAM,IAAlB,CADoE,CAAtE,CAAA;EAGA,MAAM,CAACxB,cAAD,EAAiB8C,iBAAjB,IAAsCF,QAAQ,CAAC,KAAD,CAApD,CAAA;EACA,MAAMG,eAAe,GAAG9G,iBAAiB,CAAC,MAAM6G,iBAAiB,CAAC,KAAD,CAAxB,CAAzC,CAAA;AAEA,EAAA,MAAM1C,UAAU,GAAGhE,MAAM,CAAC,EAAD,CAAzB,CAAA;AACA,EAAA,MAAM4G,cAAc,GAAG3C,OAAO,CAACH,aAAD,CAA9B,CAAA;EAEA,MAAM,CAAC+C,cAAD,EAAiBC,cAAjB,IAAmCN,QAAQ,CAAC,IAAD,CAAjD,CAAA;EACA,MAAM,CAACO,MAAD,EAASC,SAAT,IAAsBR,QAAQ,CAAC,EAAD,CAApC,CAAA;EAEA,MAAM,CAACS,aAAD,EAAgBC,aAAhB,IAAiCV,QAAQ,CAAC,IAAD,CAA/C,CAAA;AACA,EAAA,MAAM/C,iBAAiB,gBAAGU,KAAK,CAACgD,SAAN,EAA1B,CAAA;AAEAlH,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI2D,cAAJ,EAAoB;MAClB6C,0BAA0B,CAACxC,OAAO,CAACmB,GAAR,CAAY,MAAM,IAAlB,CAAD,CAA1B,CAAA;AACD,KAAA;;AACD,IAAA,IACEtB,aAAa,GAAG,CAAC,CAAjB,KACC,CAACG,OAAO,CAACH,aAAD,CAAR,IAA2BG,OAAO,CAACH,aAAD,CAAP,CAAuB9B,QADnD,CADF,EAGE;MACAuE,gBAAgB,CAAC,CAAC,CAAF,CAAhB,CAAA;AACD,KAAA;AACF,GAVQ,EAUN,CAAC3C,cAAD,EAAiBK,OAAjB,CAVM,CAAT,CAAA;AAYAhE,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAAC+F,YAAD,IAAiB,CAACa,cAAtB,EAAsC;AACpC,MAAA,OAAA;AACD,KAAA;;IACD,MAAMO,gBAAgB,GAAG,MAAM;AAC7B,MAAA,MAAMC,aAAa,GAAGpD,OAAO,CAACmB,GAAR,CAAakC,MAAD,IAAY;QAC5C,MAAM;UAAEnE,KAAF;AAASD,UAAAA,KAAAA;AAAT,SAAA,GAAmBoE,MAAzB,CAAA;QACA,MAAMC,IAAI,GAAG,OAAOrE,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoCC,KAAjD,CAAA;AACA,QAAA,OAAO,CAAC4D,MAAD,IAAWQ,IAAI,CAACC,WAAL,EAAmBC,CAAAA,UAAnB,CAA8BV,MAAM,CAACS,WAAP,EAA9B,CAAlB,CAAA;AACD,OAJqB,CAAtB,CAAA;MAKAf,0BAA0B,CAACY,aAAD,CAA1B,CAAA;KANF,CAAA;;IAQA,MAAMK,WAAW,GAAG,MAAM;MACxBN,gBAAgB,EAAA,CAAA;KADlB,CAAA;;IAGA,MAAMO,aAAa,GAAIC,CAAD,IAAO;AAC3B,MAAA,IACEA,CAAC,CAACC,OAAF,KAAc,EAAd;AACAD,MAAAA,CAAC,CAACC,OAAF,KAAc,EADd;MAECD,CAAC,CAACC,OAAF,KAAc,CAAd,IAAmB,CAACD,CAAC,CAACE,QAHzB;QAIE;AACAF,QAAAA,CAAC,CAACG,cAAF,EAAA,CAAA;QACA,MAAMC,uBAAuB,GAAG7C,uBAAuB,CAACH,SAAxB,CAC7BY,CAAD,IAAOA,CADuB,CAAhC,CAAA;;AAGA,QAAA,IAAIgC,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;AACpBhB,UAAAA,cAAc,CAACoB,IAAf,EAAA,CAAA;UACAlE,iBAAiB,CAACiE,uBAAD,CAAjB,CAAA;AACA,UAAA,OAAA;AACD,SAAA;;AACDhE,QAAAA,UAAU,CAAC5D,OAAX,CAAmB4H,uBAAnB,CAA4C5H,CAAAA,OAA5C,CAAoD8H,KAApD,EAAA,CAAA;AACD,OAAA;KAhBH,CAAA;;AAkBArB,IAAAA,cAAc,CAACrG,gBAAf,CAAgC,OAAhC,EAAyCkH,WAAzC,CAAA,CAAA;AACAb,IAAAA,cAAc,CAACrG,gBAAf,CAAgC,SAAhC,EAA2CmH,aAA3C,CAAA,CAAA;AACA,IAAA,OAAO,MAAM;AACXd,MAAAA,cAAc,CAACpG,mBAAf,CAAmC,OAAnC,EAA4CiH,WAA5C,CAAA,CAAA;AACAb,MAAAA,cAAc,CAACpG,mBAAf,CAAmC,SAAnC,EAA8CkH,aAA9C,CAAA,CAAA;KAFF,CAAA;AAID,GAvCQ,EAuCN,CAACd,cAAD,EAAiB1B,uBAAjB,EAA0ClB,OAA1C,EAAmD+B,YAAnD,EAAiEe,MAAjE,CAvCM,CAAT,CApCI;;AA8EJ9G,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIgH,aAAa,KAAK,IAAtB,EAA4B;AAC1B,MAAA,OAAA;AACD,KAAA;;IACD,MAAMkB,cAAc,GAAIP,CAAD,IAAO;AAC5B;AACA;AACA,MAAA,IAAIA,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;AACpBD,QAAAA,CAAC,CAACG,cAAF,EAAA,CAAA;QACArB,iBAAiB,CAAC,IAAD,CAAjB,CAAA;AACD,OAN2B;;;AAS5B,MAAA,IAAIkB,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;AACpBD,QAAAA,CAAC,CAACG,cAAF,EAAA,CAAA;QACArB,iBAAiB,CAAC,IAAD,CAAjB,CAAA;AACD,OAAA;KAZH,CAAA;;AAcAO,IAAAA,aAAa,CAACzG,gBAAd,CAA+B,SAA/B,EAA0C2H,cAA1C,CAAA,CAAA;AACA,IAAA,OAAO,MAAM;AACXlB,MAAAA,aAAa,CAACxG,mBAAd,CAAkC,SAAlC,EAA6C0H,cAA7C,CAAA,CAAA;KADF,CAAA;GAnBO,EAsBN,CAAClB,aAAD,EAAgBhD,OAAhB,EAAyB2C,cAAzB,CAtBM,CAAT,CAAA;AAwBA3G,EAAAA,SAAS,CAAC,MAAM;AACd;AACA,IAAA,IAAI6D,aAAa,IAAI,CAAjB,IAAsBmC,QAA1B,EAAoC;AAClCA,MAAAA,QAAQ,CAAChC,OAAO,CAACH,aAAD,CAAP,CAAuBX,KAAxB,CAAR,CAAA;AACD,KAAA;AACF,GALQ,EAKN,CAACW,aAAD,CALM,CAAT,CAAA;AAOA7D,EAAAA,SAAS,CAAC,MAAM;AACd;AACA;AACA;IACA,IACEkD,KAAK,KAAKiF,SAAV,KACCtE,aAAa,KAAK,CAAC,CAAnB,IACCX,KAAK,MAAMc,OAAO,CAACH,aAAD,CAAP,IAA0BG,OAAO,CAACH,aAAD,CAAP,CAAuBX,KAAvD,CAFP,CADF,EAIE;AACAY,MAAAA,iBAAiB,CAACE,OAAO,CAACe,SAAR,CAAmBC,GAAD,IAASA,GAAG,CAAC9B,KAAJ,KAAcA,KAAzC,CAAD,CAAjB,CAAA;AACD,KAAA;AACF,GAXQ,EAWN,CAACA,KAAD,CAXM,CAAT,CAAA;AAaAlD,EAAAA,SAAS,CAAC,MAAM;IACd,IAAIgE,OAAO,CAACW,MAAR,KAAmBZ,UAAU,CAAC5D,OAAX,CAAmBwE,MAA1C,EAAkD;MAChDZ,UAAU,CAAC5D,OAAX,GAAqB6D,OAAO,CAACmB,GAAR,CACnB,CAACiD,CAAD,EAAIC,GAAJ,KAAYtE,UAAU,CAAC5D,OAAX,CAAmBkI,GAAnB,CAA2BnB,iBAAAA,SAAS,EAD7B,CAArB,CAAA;AAGD,KAAA;AACF,GANQ,EAMN,CAAClD,OAAD,CANM,CAAT,CA1HI;;AAmIJhE,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IACE2D,cAAc;AAEb,IAAA,CAACoC,YAAD,IAAiBa,cAAc,KAAK,IAFvB,CADhB,EAIE;MACA,MAAM0B,qBAAqB,GAAG,EAA9B,CAAA;;AACA,MAAA,IAAIvC,YAAJ,EAAkB;AAChBa,QAAAA,cAAc,CAACqB,KAAf,EAAA,CAAA;AACD,OAFD,MAEO;QACLlE,UAAU,CAAC5D,OAAX;QAEE+E,uBAAuB,CAACH,SAAxB,CAAmCY,CAAD,IAAOA,CAAzC,CAFF,CAAA,CAGExF,OAHF,CAGU8H,KAHV,EAAA,CAAA;AAID,OATD;;;MAYAlE,UAAU,CAAC5D,OAAX,CAAmBoI,OAAnB,CAA2B,CAACzI,GAAD,EAAMuI,GAAN,KAAc;QACvC,MAAMG,WAAW,GAAIb,CAAD,IAAO;UACzBA,CAAC,CAACG,cAAF,EAAA,CADyB;;AAGzB,UAAA,IAAIH,CAAC,CAACC,OAAF,KAAc,EAAd,IAAqBD,CAAC,CAACC,OAAF,KAAc,CAAd,IAAmB,CAACD,CAAC,CAACE,QAA/C,EAA0D;YACxD,MAAMY,kBAAkB,GAAGvD,uBAAuB,CAACH,SAAxB,CACzB,CAAC2D,eAAD,EAAkBC,OAAlB,KACED,eAAe,IAAI,CAAC1E,OAAO,CAAC2E,OAAD,CAAP,CAAiB5G,QAArC,IAAiD4G,OAAO,GAAGN,GAFpC,CAA3B,CAAA;YAIAtE,UAAU,CAAC5D,OAAX,CACEsI,kBAAkB,IAAI,CAAtB,GACIA,kBADJ,GAEI1E,UAAU,CAAC5D,OAAX,CAAmBwE,MAAnB,GAA4B,CAHlC,EAIExE,OAJF,CAIU8H,KAJV,CAIgB;AAAEW,cAAAA,aAAa,EAAE,IAAA;AAAjB,aAJhB,EALwD;AAWzD,WAXD,MAWO,IAAIjB,CAAC,CAACC,OAAF,KAAc,EAAd,IAAqBD,CAAC,CAACC,OAAF,KAAc,CAAd,IAAmBD,CAAC,CAACE,QAA9C,EAAyD;AAC9D,YAAA,MAAMgB,sBAAsB,GAAG3D,uBAAuB,CAAC4D,MAAxB,CAC7B,CAACC,aAAD,EAAgBC,eAAhB,EAAiCC,SAAjC,KAA+C;AAC7C,cAAA,OAAO,CAACD,eAAD,IACLhF,OAAO,CAACiF,SAAD,CAAP,CAAmBlH,QADd,IAELkH,SAAS,IAAIZ,GAFR,GAGHU,aAHG,GAIHE,SAJJ,CAAA;aAF2B,EAQ7B,CAAC,CAR4B,CAA/B,CAAA;AAUAlF,YAAAA,UAAU,CAAC5D,OAAX,CACE0I,sBAAsB,IAAI,CAA1B,GAA8BA,sBAA9B,GAAuD,CADzD,CAAA,CAEE1I,OAFF,CAEU8H,KAFV,CAEgB;AACdW,cAAAA,aAAa,EAAE,IAAA;AADD,aAFhB,EAX8D;AAiB/D,WAjBM,MAiBA,IAAI,CAAC,CAAD,EAAI,EAAJ,EAAQ,EAAR,CAAA,CAAYM,QAAZ,CAAqBvB,CAAC,CAACC,OAAvB,CAAJ,EAAqC;AAC1C7D,YAAAA,UAAU,CAAC5D,OAAX,CAAmBkI,GAAnB,CAAwBlI,CAAAA,OAAxB,CAAgCgJ,KAAhC,EAAA,CAAA;AACD,WAFM,MAEA,IAAIxB,CAAC,CAACC,OAAF,KAAc,EAAlB,EAAsB;YAC3BnB,iBAAiB,CAAC,KAAD,CAAjB,CAAA;AACD,WAAA;AACF,SApCD,CADuC;;;AAwCvC3G,QAAAA,GAAG,CAACK,OAAJ,IAAeL,GAAG,CAACK,OAAJ,CAAYI,gBAAZ,CAA6B,SAA7B,EAAwCiI,WAAxC,CAAf,CAAA;AACAF,QAAAA,qBAAqB,CAACc,IAAtB,CACE,MACEtJ,GAAG,CAACK,OAAJ,IACAL,GAAG,CAACK,OAAJ,CAAYK,mBAAZ,CAAgC,SAAhC,EAA2CgI,WAA3C,CAHJ,CAAA,CAAA;OAzCF,CAAA,CAAA;;MA+CA,IAAIF,qBAAqB,CAAC3D,MAA1B,EAAkC;QAChC,OAAO,MAAM2D,qBAAqB,CAACC,OAAtB,CAA+Bc,OAAD,IAAaA,OAAO,EAAlD,CAAb,CAAA;AACD,OAAA;AACF,KAAA;GAnEM,EAoEN,CAAC1F,cAAD,EAAiBiD,cAAjB,EAAiC1B,uBAAjC,EAA0Da,YAA1D,CApEM,CAAT,CAAA;AAsEA,EAAA,MAAMuD,SAAS,GACb3F,cAAc,IAAIyC,SAAlB,GACIH,SADJ,GAEIlE,QAAQ,GACRtB,MAAM,CAACK,WADC,GAERL,MAAM,CAACM,QALb,CAAA;AAOA,EAAA,MAAM2C,YAAY,GAAGM,OAAO,CAACuF,MAAR,CACnB,CAACnB,CAAD,EAAIvD,KAAJ,KAAcK,uBAAuB,CAACL,KAAD,CADlB,CAArB,CAAA;AAIA,EAAA,MAAM2E,iBAAiB,GAAG9F,YAAY,CAACiB,MAAvC,CAAA;EACA,MAAM8E,iBAAiB,GACrBvD,WAAW,IAAIlC,OAAO,CAACW,MAAR,GAAiBW,6BADlC,CAAA;AAEA,EAAA,MAAM7B,oBAAoB,GAAGiG,IAAI,CAACC,KAAL,CAC3BD,IAAI,CAACE,GAAL,CAASJ,iBAAiB,GAAGpE,kBAA7B,EAAiDC,mBAAjD,CAD2B,CAA7B,CAAA;AAIA,EAAA,MAAMwE,qBAAqB,GAAG;IAC5BrG,iBAD4B;IAE5BC,oBAF4B;IAG5BC,YAH4B;IAI5BC,cAJ4B;IAK5B5B,QAL4B;IAM5B8B,aAN4B;IAO5BC,iBAP4B;IAQ5BC,UAR4B;IAS5BC,OAT4B;IAU5BkB,uBAV4B;AAW5BtB,IAAAA,QAAQ,EAAEwB,kBAAAA;GAXZ,CAAA;AAcA,EAAA,MAAMlD,gBAAgB,GAAGuH,iBAAiB,GACtClG,iCADsC,GAEtC0B,yBAFJ,CAAA;AAIA,EAAA,oBACE,oBAAC,oBAAD,EAAA,QAAA,CAAA;AACE,IAAA,GAAG,EAAEyB,eADP;IAEE,OAAO,EAAE,MACP,CAAC3E,QAAD,IAAa0E,iBAAiB,CAAE9C,cAAD,IAAoB,CAACA,cAAtB,CAAA;GAE5BwC,EAAAA,IALN,CAOE,eAAA,KAAA,CAAA,aAAA,CAAC,eAAD,EAAA;AACE,IAAA,OAAO,EAAExE,OADX;IAEE,KAAK,EACHyE,SAAS,IAAIC,OAAb,IAAwB1C,cAAxB,GAAyCsC,SAAzC,GAAqDxF,MAAM,CAACI,OAHhE;AAKE,IAAA,QAAQ,EAAEkB,QAAAA;AALZ,GAAA,EAOG,CAACqE,SAAD,iBACC,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,IAAA,eACE,oBAAC,gBAAD,EAAA;AAAkB,IAAA,EAAE,EAAEN,EAAtB;AAA0B,IAAA,KAAK,EAAEwD,SAAAA;GAC9BrG,EAAAA,KADH,CADF,CARJ,eAcE,oBAAC,oBAAD,EAAA,IAAA,eACE,oBAAC,oBAAD,EAAA;AACE,IAAA,QAAQ,EAAC,GADX;AAEE,IAAA,eAAA,EAAc,SAFhB;AAGE,IAAA,IAAI,EAAC,SAHP;IAIE,iBAA6B6C,EAAAA,WAAAA,CAAAA,MAAAA,CAAAA,EAA7B,EAA4CA,YAAAA,CAAAA,CAAAA,MAAAA,CAAAA,EAA5C,EAJF,SAAA,CAAA;IAKE,UAAU,EAAG6B,CAAD,IAAO;MACjB,IAAI,CAAC5F,QAAD,IAAa4F,CAAC,CAACmC,QAAF,KAAe,EAAhC,EAAoC;AAClCnC,QAAAA,CAAC,CAACG,cAAF,EAAA,CAAA;AACArB,QAAAA,iBAAiB,CAAE9C,cAAD,IAAoB,CAACA,cAAtB,CAAjB,CAAA;AACD,OAAA;KATL;AAWE,IAAA,GAAG,EAAEsD,aAAAA;AAXP,GAAA,EAaG,CAACtD,cAAD,IAAmBoC,YAAnB,IAAmCK,SAAnC,gBACC,KAAA,CAAA,aAAA,CAAC,mCAAD,EAAA,IAAA,EACGP,IADH,EAEGlC,cAAc,IAAIoC,YAAlB,gBACC,oBAAC,qBAAD,EAAA;IACE,QAAQ,EAAE,CAAC,CAACF,IADd;AAEE,IAAA,KAAK,EAAEiB,MAFT;AAGE,IAAA,WAAW,EACTH,cAAc,GACV,OAAOA,cAAc,CAAC1D,KAAtB,KAAgC,QAAhC,GACE0D,cAAc,CAAC1D,KADjB,GAEE0D,cAAc,CAACzD,KAHP,GAIV,EARR;AAUE,IAAA,QAAQ,EAAGhD,GAAD,IAAS,CAAC6B,QAAD,IAAagF,SAAS,CAAC7G,GAAG,CAACG,MAAJ,CAAW6C,KAAZ,CAV3C;AAWE,IAAA,GAAG,EAAE2D,cAAAA;GAZR,CAAA,gBAeC,oBAAC,iBAAD,EAAA;IACE,QAAQ,EAAE,CAAC,CAAChB,IADd;AAEE,IAAA,QAAQ,EAAE9D,QAFZ;AAGE,IAAA,KAAK,EAAEqE,SAAS,GAAGH,SAAH,GAAekC,SAAAA;AAHjC,GAAA,EAKG5C,YAAY,CAACvB,OAAD,EAAU2C,cAAV,EAA0BzD,KAA1B,CALf,CAjBJ,CADD,GA2BG,IAxCN,CADF,eA2CE,oBAAC,SAAD,EAAA;AACE,IAAA,KAAK,EAAE,CADT;AAEE,IAAA,SAAS,EAAES,cAAc,GAAG,IAAH,GAAU,MAFrC;AAGE,IAAA,IAAI,EAAE2F,SAHR;AAIE,IAAA,KAAK,EAAC,gBAAA;GA/CV,CAAA,CAdF,CAPF,eAwEE,KAAA,CAAA,aAAA,CAAC,gBAAD,EAAsBO,qBAAtB,CAxEF,CADF,CAAA;AA4ED;;;;"}
@@ -1,7 +0,0 @@
1
- export { S as Switch } from './Switch2.js';
2
- import './_rollupPluginBabelHelpers.js';
3
- import 'react';
4
- import 'styled-components';
5
- import './Typography2.js';
6
- import 'prop-types';
7
- //# sourceMappingURL=Switch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Switch.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}