@lidofinance/lido-ui 3.8.1 → 3.9.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 (203) hide show
  1. package/dist/cjs/accordion/AccordionStyles.js +3 -1
  2. package/dist/cjs/accordion/AccordionStyles.js.map +1 -1
  3. package/dist/cjs/accordion/useExpanded.js.map +1 -1
  4. package/dist/cjs/address/AddressStyles.js +1 -4
  5. package/dist/cjs/address/AddressStyles.js.map +1 -1
  6. package/dist/cjs/addressBadge/AddressBadge.js.map +1 -1
  7. package/dist/cjs/addressBadge/AddressBadgeStyles.js +2 -0
  8. package/dist/cjs/addressBadge/AddressBadgeStyles.js.map +1 -1
  9. package/dist/cjs/button/ButtonIcon.js.map +1 -1
  10. package/dist/cjs/button/ButtonIconStyles.js +1 -1
  11. package/dist/cjs/button/ButtonIconStyles.js.map +1 -1
  12. package/dist/cjs/button/ButtonStyles.js +16 -15
  13. package/dist/cjs/button/ButtonStyles.js.map +1 -1
  14. package/dist/cjs/button/useRipple.js.map +1 -1
  15. package/dist/cjs/checkbox/Checkbox.js.map +1 -1
  16. package/dist/cjs/checkbox/CheckboxStyles.js +3 -1
  17. package/dist/cjs/checkbox/CheckboxStyles.js.map +1 -1
  18. package/dist/cjs/chip/ChipStyles.js +0 -1
  19. package/dist/cjs/chip/ChipStyles.js.map +1 -1
  20. package/dist/cjs/content-theme/content-theme.js.map +1 -1
  21. package/dist/cjs/cookies-tooltip/styles.js +3 -1
  22. package/dist/cjs/cookies-tooltip/styles.js.map +1 -1
  23. package/dist/cjs/cookies-tooltip/utils.js.map +1 -1
  24. package/dist/cjs/data-table/DataTable.js.map +1 -1
  25. package/dist/cjs/data-table/DataTableStyles.js +1 -1
  26. package/dist/cjs/data-table/DataTableStyles.js.map +1 -1
  27. package/dist/cjs/divider/DividerStyles.js +2 -2
  28. package/dist/cjs/divider/DividerStyles.js.map +1 -1
  29. package/dist/cjs/heading/Heading.js.map +1 -1
  30. package/dist/cjs/hooks/useBreakpoint.js.map +1 -1
  31. package/dist/cjs/hooks/useEscape.js.map +1 -1
  32. package/dist/cjs/hooks/useInterceptFocus.js.map +1 -1
  33. package/dist/cjs/hooks/useLockScroll.js.map +1 -1
  34. package/dist/cjs/hooks/useMergeRefs.js.map +1 -1
  35. package/dist/cjs/hooks/useOutsideClick.js.map +1 -1
  36. package/dist/cjs/icons/converter/index.js.map +1 -1
  37. package/dist/cjs/icons/converter/template.component.js.map +1 -1
  38. package/dist/cjs/icons/index.js.map +1 -1
  39. package/dist/cjs/identicon/IdenticonBadge.js.map +1 -1
  40. package/dist/cjs/input/InputGroup.js.map +1 -1
  41. package/dist/cjs/input/SliderInputStyles.js +3 -1
  42. package/dist/cjs/input/SliderInputStyles.js.map +1 -1
  43. package/dist/cjs/loaders/InlineLoader.js.map +1 -1
  44. package/dist/cjs/loaders/InlineLoaderStyles.js +2 -5
  45. package/dist/cjs/loaders/InlineLoaderStyles.js.map +1 -1
  46. package/dist/cjs/loaders/LoaderStyles.js +2 -2
  47. package/dist/cjs/loaders/LoaderStyles.js.map +1 -1
  48. package/dist/cjs/main-menu/MainMenuItem.js.map +1 -1
  49. package/dist/cjs/main-menu/MainMenuStyles.js +1 -0
  50. package/dist/cjs/main-menu/MainMenuStyles.js.map +1 -1
  51. package/dist/cjs/modal/ModalButton.js.map +1 -1
  52. package/dist/cjs/modal/ModalButtonStyles.js +1 -3
  53. package/dist/cjs/modal/ModalButtonStyles.js.map +1 -1
  54. package/dist/cjs/modal/ModalExtra.js.map +1 -1
  55. package/dist/cjs/modal/ModalOverlay.js.map +1 -1
  56. package/dist/cjs/modal/ModalOverlayStyles.js +2 -8
  57. package/dist/cjs/modal/ModalOverlayStyles.js.map +1 -1
  58. package/dist/cjs/modal/useModalClose.js.map +1 -1
  59. package/dist/cjs/modal/useModalFocus.js.map +1 -1
  60. package/dist/cjs/pagination/Pagination.js.map +1 -1
  61. package/dist/cjs/pagination/getShowingPages.js.map +1 -1
  62. package/dist/cjs/popover/PopoverRoot.js.map +1 -1
  63. package/dist/cjs/popover/calculatePosition.js.map +1 -1
  64. package/dist/cjs/popover/usePopoverPosition.js.map +1 -1
  65. package/dist/cjs/popup-menu/PopupMenu.js.map +1 -1
  66. package/dist/cjs/popup-menu/PopupMenuItem.js.map +1 -1
  67. package/dist/cjs/popup-menu/PopupMenuProvider.js.map +1 -1
  68. package/dist/cjs/popup-menu/usePopupFocus.js.map +1 -1
  69. package/dist/cjs/select/Option.js.map +1 -1
  70. package/dist/cjs/select/SelectIcon.js.map +1 -1
  71. package/dist/cjs/select/SelectIconStyles.js +0 -1
  72. package/dist/cjs/select/SelectIconStyles.js.map +1 -1
  73. package/dist/cjs/select/useSelect.js.map +1 -1
  74. package/dist/cjs/select/useSelectWidth.js.map +1 -1
  75. package/dist/cjs/service-page/ServicePage.js.map +1 -1
  76. package/dist/cjs/stack/StackItemStyles.js +4 -6
  77. package/dist/cjs/stack/StackItemStyles.js.map +1 -1
  78. package/dist/cjs/stack/StackStyles.js +2 -3
  79. package/dist/cjs/stack/StackStyles.js.map +1 -1
  80. package/dist/cjs/styled-system/withStyledSystem.js.map +1 -1
  81. package/dist/cjs/table/styles.js.map +1 -1
  82. package/dist/cjs/theme/cookie-theme-provider.js.map +1 -1
  83. package/dist/cjs/theme/utils/generate-css-color-variables.js.map +1 -1
  84. package/dist/cjs/toast/ToastDefault.js.map +1 -1
  85. package/dist/cjs/toast/ToastError.js.map +1 -1
  86. package/dist/cjs/toast/ToastInfo.js.map +1 -1
  87. package/dist/cjs/toast/ToastPending.js.map +1 -1
  88. package/dist/cjs/toast/ToastPendingStyles.js +1 -0
  89. package/dist/cjs/toast/ToastPendingStyles.js.map +1 -1
  90. package/dist/cjs/toast/ToastSuccess.js.map +1 -1
  91. package/dist/cjs/transition/withTransition.js.map +1 -1
  92. package/dist/cjs/utils/cookies-client-side.js.map +1 -1
  93. package/dist/cjs/utils/types.js.map +1 -1
  94. package/dist/esm/accordion/AccordionStyles.js +3 -1
  95. package/dist/esm/accordion/AccordionStyles.js.map +1 -1
  96. package/dist/esm/accordion/useExpanded.js.map +1 -1
  97. package/dist/esm/address/AddressStyles.js +1 -4
  98. package/dist/esm/address/AddressStyles.js.map +1 -1
  99. package/dist/esm/addressBadge/AddressBadge.js.map +1 -1
  100. package/dist/esm/addressBadge/AddressBadgeStyles.js +2 -0
  101. package/dist/esm/addressBadge/AddressBadgeStyles.js.map +1 -1
  102. package/dist/esm/button/ButtonIcon.js.map +1 -1
  103. package/dist/esm/button/ButtonIconStyles.js +1 -1
  104. package/dist/esm/button/ButtonIconStyles.js.map +1 -1
  105. package/dist/esm/button/ButtonStyles.js +16 -15
  106. package/dist/esm/button/ButtonStyles.js.map +1 -1
  107. package/dist/esm/button/useRipple.js.map +1 -1
  108. package/dist/esm/checkbox/Checkbox.js.map +1 -1
  109. package/dist/esm/checkbox/CheckboxStyles.js +3 -1
  110. package/dist/esm/checkbox/CheckboxStyles.js.map +1 -1
  111. package/dist/esm/chip/ChipStyles.js +0 -1
  112. package/dist/esm/chip/ChipStyles.js.map +1 -1
  113. package/dist/esm/content-theme/content-theme.js.map +1 -1
  114. package/dist/esm/cookies-tooltip/styles.js +3 -1
  115. package/dist/esm/cookies-tooltip/styles.js.map +1 -1
  116. package/dist/esm/cookies-tooltip/utils.js.map +1 -1
  117. package/dist/esm/data-table/DataTable.js.map +1 -1
  118. package/dist/esm/data-table/DataTableStyles.js +1 -1
  119. package/dist/esm/data-table/DataTableStyles.js.map +1 -1
  120. package/dist/esm/divider/DividerStyles.js +2 -2
  121. package/dist/esm/divider/DividerStyles.js.map +1 -1
  122. package/dist/esm/heading/Heading.js.map +1 -1
  123. package/dist/esm/hooks/useBreakpoint.js.map +1 -1
  124. package/dist/esm/hooks/useEscape.js.map +1 -1
  125. package/dist/esm/hooks/useInterceptFocus.js.map +1 -1
  126. package/dist/esm/hooks/useLockScroll.js.map +1 -1
  127. package/dist/esm/hooks/useMergeRefs.js.map +1 -1
  128. package/dist/esm/hooks/useOutsideClick.js.map +1 -1
  129. package/dist/esm/icons/converter/index.js.map +1 -1
  130. package/dist/esm/icons/converter/template.component.js.map +1 -1
  131. package/dist/esm/icons/index.js.map +1 -1
  132. package/dist/esm/identicon/IdenticonBadge.js.map +1 -1
  133. package/dist/esm/input/InputGroup.js.map +1 -1
  134. package/dist/esm/input/SliderInputStyles.js +3 -1
  135. package/dist/esm/input/SliderInputStyles.js.map +1 -1
  136. package/dist/esm/loaders/InlineLoader.js.map +1 -1
  137. package/dist/esm/loaders/InlineLoaderStyles.js +2 -5
  138. package/dist/esm/loaders/InlineLoaderStyles.js.map +1 -1
  139. package/dist/esm/loaders/LoaderStyles.js +2 -2
  140. package/dist/esm/loaders/LoaderStyles.js.map +1 -1
  141. package/dist/esm/main-menu/MainMenuItem.js.map +1 -1
  142. package/dist/esm/main-menu/MainMenuStyles.js +1 -0
  143. package/dist/esm/main-menu/MainMenuStyles.js.map +1 -1
  144. package/dist/esm/modal/ModalButton.js.map +1 -1
  145. package/dist/esm/modal/ModalButtonStyles.js +1 -3
  146. package/dist/esm/modal/ModalButtonStyles.js.map +1 -1
  147. package/dist/esm/modal/ModalExtra.js.map +1 -1
  148. package/dist/esm/modal/ModalOverlay.js.map +1 -1
  149. package/dist/esm/modal/ModalOverlayStyles.js +2 -8
  150. package/dist/esm/modal/ModalOverlayStyles.js.map +1 -1
  151. package/dist/esm/modal/useModalClose.js.map +1 -1
  152. package/dist/esm/modal/useModalFocus.js.map +1 -1
  153. package/dist/esm/pagination/Pagination.js.map +1 -1
  154. package/dist/esm/pagination/getShowingPages.js.map +1 -1
  155. package/dist/esm/popover/PopoverRoot.js.map +1 -1
  156. package/dist/esm/popover/calculatePosition.js.map +1 -1
  157. package/dist/esm/popover/usePopoverPosition.js.map +1 -1
  158. package/dist/esm/popup-menu/PopupMenu.js.map +1 -1
  159. package/dist/esm/popup-menu/PopupMenuItem.js.map +1 -1
  160. package/dist/esm/popup-menu/PopupMenuProvider.js.map +1 -1
  161. package/dist/esm/popup-menu/usePopupFocus.js.map +1 -1
  162. package/dist/esm/select/Option.js.map +1 -1
  163. package/dist/esm/select/SelectIcon.js.map +1 -1
  164. package/dist/esm/select/SelectIconStyles.js +0 -1
  165. package/dist/esm/select/SelectIconStyles.js.map +1 -1
  166. package/dist/esm/select/useSelect.js.map +1 -1
  167. package/dist/esm/select/useSelectWidth.js.map +1 -1
  168. package/dist/esm/service-page/ServicePage.js.map +1 -1
  169. package/dist/esm/stack/StackItemStyles.js +4 -6
  170. package/dist/esm/stack/StackItemStyles.js.map +1 -1
  171. package/dist/esm/stack/StackStyles.js +2 -3
  172. package/dist/esm/stack/StackStyles.js.map +1 -1
  173. package/dist/esm/styled-system/withStyledSystem.js.map +1 -1
  174. package/dist/esm/table/styles.js.map +1 -1
  175. package/dist/esm/theme/cookie-theme-provider.js.map +1 -1
  176. package/dist/esm/theme/utils/generate-css-color-variables.js.map +1 -1
  177. package/dist/esm/toast/ToastDefault.js.map +1 -1
  178. package/dist/esm/toast/ToastError.js.map +1 -1
  179. package/dist/esm/toast/ToastInfo.js.map +1 -1
  180. package/dist/esm/toast/ToastPending.js.map +1 -1
  181. package/dist/esm/toast/ToastPendingStyles.js +1 -0
  182. package/dist/esm/toast/ToastPendingStyles.js.map +1 -1
  183. package/dist/esm/toast/ToastSuccess.js.map +1 -1
  184. package/dist/esm/transition/withTransition.js.map +1 -1
  185. package/dist/esm/utils/cookies-client-side.js.map +1 -1
  186. package/dist/esm/utils/types.js.map +1 -1
  187. package/dist/types/accordion/AccordionStyles.d.ts.map +1 -1
  188. package/dist/types/address/AddressStyles.d.ts.map +1 -1
  189. package/dist/types/addressBadge/AddressBadgeStyles.d.ts.map +1 -1
  190. package/dist/types/button/ButtonStyles.d.ts.map +1 -1
  191. package/dist/types/checkbox/CheckboxStyles.d.ts.map +1 -1
  192. package/dist/types/chip/ChipStyles.d.ts.map +1 -1
  193. package/dist/types/cookies-tooltip/styles.d.ts.map +1 -1
  194. package/dist/types/input/SliderInputStyles.d.ts.map +1 -1
  195. package/dist/types/loaders/InlineLoaderStyles.d.ts.map +1 -1
  196. package/dist/types/main-menu/MainMenuStyles.d.ts.map +1 -1
  197. package/dist/types/modal/ModalButtonStyles.d.ts.map +1 -1
  198. package/dist/types/modal/ModalOverlayStyles.d.ts.map +1 -1
  199. package/dist/types/select/SelectIconStyles.d.ts.map +1 -1
  200. package/dist/types/stack/StackItemStyles.d.ts.map +1 -1
  201. package/dist/types/stack/StackStyles.d.ts.map +1 -1
  202. package/dist/types/toast/ToastPendingStyles.d.ts.map +1 -1
  203. package/package.json +22 -13
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/identicon/IdenticonBadge.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { Address } from '@lidofinance/address'\nimport { IdenticonBadgeProps } from './types'\nimport { IdenticonBadgeStyle, AddressWrapperStyle } from './IdenticonStyles'\nimport Identicon from './Identicon'\n\nfunction IdenticonBadge(\n props: IdenticonBadgeProps,\n ref?: ForwardedRef<HTMLDivElement>\n) {\n const {\n symbols = 3,\n color = 'background',\n diameter,\n address,\n paperStyles,\n svgStyles,\n ...rest\n } = props\n const identiconProps = { address, diameter, paperStyles, svgStyles }\n\n return (\n <IdenticonBadgeStyle $color={color} {...rest} ref={ref}>\n {symbols > 0 ? (\n <AddressWrapperStyle>\n <Address address={address} symbols={symbols} />\n </AddressWrapperStyle>\n ) : (\n ''\n )}\n <Identicon {...identiconProps} />\n </IdenticonBadgeStyle>\n )\n}\n\nexport default forwardRef(IdenticonBadge)\n"],"names":["React","forwardRef","Address","IdenticonBadgeStyle","AddressWrapperStyle","Identicon","IdenticonBadge","props","ref","symbols","color","diameter","address","paperStyles","svgStyles","rest","identiconProps","$color"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SAASC,OAAO,QAAQ,kBAAsB,CAAA;AAE9C,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,mBAAmB,CAAA;AAC5E,OAAOC,SAAS,MAAM,aAAa,CAAA;AAEnC,SAASC,cAAc,CACrBC,KAA0B,EAC1BC,GAAkC,EAClC;IACA,MAAM,EACJC,OAAO,EAAG,CAAC,CAAA,EACXC,KAAK,EAAG,YAAY,CAAA,EACpBC,QAAQ,CAAA,EACRC,OAAO,CAAA,EACPC,WAAW,CAAA,EACXC,SAAS,CAAA,EACT,GAAGC,IAAI,EACR,GAAGR,KAAK;IACT,MAAMS,cAAc,GAAG;QAAEJ,OAAO;QAAED,QAAQ;QAAEE,WAAW;QAAEC,SAAS;KAAE;IAEpE,qBACE,oBAACX,mBAAmB;QAACc,MAAM,EAAEP,KAAK;OAAMK,IAAI;QAAEP,GAAG,EAAEA,GAAG;QACnDC,OAAO,GAAG,CAAC,iBACV,oBAACL,mBAAmB,sBAClB,oBAACF,OAAO;QAACU,OAAO,EAAEA,OAAO;QAAEH,OAAO,EAAEA,OAAO;MAAI,CAC3B,GAEtB,EAAE,AACH,gBACD,oBAACJ,SAAS,eAAKW,cAAc,EAAI,CACb,CACvB;AACH,CAAC;AAED,6BAAef,UAAU,CAACK,cAAc,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/identicon/IdenticonBadge.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { Address } from '@lidofinance/address'\nimport { IdenticonBadgeProps } from './types'\nimport { IdenticonBadgeStyle, AddressWrapperStyle } from './IdenticonStyles'\nimport Identicon from './Identicon'\n\nfunction IdenticonBadge(\n props: IdenticonBadgeProps,\n ref?: ForwardedRef<HTMLDivElement>,\n) {\n const {\n symbols = 3,\n color = 'background',\n diameter,\n address,\n paperStyles,\n svgStyles,\n ...rest\n } = props\n const identiconProps = { address, diameter, paperStyles, svgStyles }\n\n return (\n <IdenticonBadgeStyle $color={color} {...rest} ref={ref}>\n {symbols > 0 ? (\n <AddressWrapperStyle>\n <Address address={address} symbols={symbols} />\n </AddressWrapperStyle>\n ) : (\n ''\n )}\n <Identicon {...identiconProps} />\n </IdenticonBadgeStyle>\n )\n}\n\nexport default forwardRef(IdenticonBadge)\n"],"names":["React","forwardRef","Address","IdenticonBadgeStyle","AddressWrapperStyle","Identicon","IdenticonBadge","props","ref","symbols","color","diameter","address","paperStyles","svgStyles","rest","identiconProps","$color"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SAASC,OAAO,QAAQ,kBAAsB,CAAA;AAE9C,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,mBAAmB,CAAA;AAC5E,OAAOC,SAAS,MAAM,aAAa,CAAA;AAEnC,SAASC,cAAc,CACrBC,KAA0B,EAC1BC,GAAkC,EAClC;IACA,MAAM,EACJC,OAAO,EAAG,CAAC,CAAA,EACXC,KAAK,EAAG,YAAY,CAAA,EACpBC,QAAQ,CAAA,EACRC,OAAO,CAAA,EACPC,WAAW,CAAA,EACXC,SAAS,CAAA,EACT,GAAGC,IAAI,EACR,GAAGR,KAAK;IACT,MAAMS,cAAc,GAAG;QAAEJ,OAAO;QAAED,QAAQ;QAAEE,WAAW;QAAEC,SAAS;KAAE;IAEpE,qBACE,oBAACX,mBAAmB;QAACc,MAAM,EAAEP,KAAK;OAAMK,IAAI;QAAEP,GAAG,EAAEA,GAAG;QACnDC,OAAO,GAAG,CAAC,iBACV,oBAACL,mBAAmB,sBAClB,oBAACF,OAAO;QAACU,OAAO,EAAEA,OAAO;QAAEH,OAAO,EAAEA,OAAO;MAAI,CAC3B,GAEtB,EAAE,AACH,gBACD,oBAACJ,SAAS,eAAKW,cAAc,EAAI,CACb,CACvB;AACH,CAAC;AAED,6BAAef,UAAU,CAACK,cAAc,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/input/InputGroup.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { InputMessageStyle } from './InputStyles'\nimport { InputGroupStyle, InputGroupContentStyle } from './InputGroupStyles'\nimport { InputGroupProps } from './types'\n\nfunction InputGroup(\n props: InputGroupProps,\n ref?: ForwardedRef<HTMLSpanElement>\n) {\n const { fullwidth = false, error, success, children, ...rest } = props\n\n const hasError = !!error\n const hasSuccess = !!success && !error\n\n return (\n <InputGroupStyle $fullwidth={fullwidth} {...rest} ref={ref}>\n <InputGroupContentStyle>{children}</InputGroupContentStyle>\n {hasError && (\n <InputMessageStyle $variant='error'>{error}</InputMessageStyle>\n )}\n {hasSuccess && (\n <InputMessageStyle $variant='success'>{success}</InputMessageStyle>\n )}\n </InputGroupStyle>\n )\n}\n\nexport default forwardRef(InputGroup)\n"],"names":["React","forwardRef","InputMessageStyle","InputGroupStyle","InputGroupContentStyle","InputGroup","props","ref","fullwidth","error","success","children","rest","hasError","hasSuccess","$fullwidth","$variant"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SAASC,iBAAiB,QAAQ,eAAe,CAAA;AACjD,SAASC,eAAe,EAAEC,sBAAsB,QAAQ,oBAAoB,CAAA;AAG5E,SAASC,UAAU,CACjBC,KAAsB,EACtBC,GAAmC,EACnC;IACA,MAAM,EAAEC,SAAS,EAAG,KAAK,CAAA,EAAEC,KAAK,CAAA,EAAEC,OAAO,CAAA,EAAEC,QAAQ,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGN,KAAK;IAEtE,MAAMO,QAAQ,GAAG,CAAC,CAACJ,KAAK;IACxB,MAAMK,UAAU,GAAG,CAAC,CAACJ,OAAO,IAAI,CAACD,KAAK;IAEtC,qBACE,oBAACN,eAAe;QAACY,UAAU,EAAEP,SAAS;OAAMI,IAAI;QAAEL,GAAG,EAAEA,GAAG;sBACxD,oBAACH,sBAAsB,QAAEO,QAAQ,CAA0B,EAC1DE,QAAQ,kBACP,oBAACX,iBAAiB;QAACc,QAAQ,EAAC,OAAO;OAAEP,KAAK,CAAqB,AAChE,EACAK,UAAU,kBACT,oBAACZ,iBAAiB;QAACc,QAAQ,EAAC,SAAS;OAAEN,OAAO,CAAqB,AACpE,CACe,CACnB;AACH,CAAC;AAED,6BAAeT,UAAU,CAACI,UAAU,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/input/InputGroup.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { InputMessageStyle } from './InputStyles'\nimport { InputGroupStyle, InputGroupContentStyle } from './InputGroupStyles'\nimport { InputGroupProps } from './types'\n\nfunction InputGroup(\n props: InputGroupProps,\n ref?: ForwardedRef<HTMLSpanElement>,\n) {\n const { fullwidth = false, error, success, children, ...rest } = props\n\n const hasError = !!error\n const hasSuccess = !!success && !error\n\n return (\n <InputGroupStyle $fullwidth={fullwidth} {...rest} ref={ref}>\n <InputGroupContentStyle>{children}</InputGroupContentStyle>\n {hasError && (\n <InputMessageStyle $variant='error'>{error}</InputMessageStyle>\n )}\n {hasSuccess && (\n <InputMessageStyle $variant='success'>{success}</InputMessageStyle>\n )}\n </InputGroupStyle>\n )\n}\n\nexport default forwardRef(InputGroup)\n"],"names":["React","forwardRef","InputMessageStyle","InputGroupStyle","InputGroupContentStyle","InputGroup","props","ref","fullwidth","error","success","children","rest","hasError","hasSuccess","$fullwidth","$variant"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SAASC,iBAAiB,QAAQ,eAAe,CAAA;AACjD,SAASC,eAAe,EAAEC,sBAAsB,QAAQ,oBAAoB,CAAA;AAG5E,SAASC,UAAU,CACjBC,KAAsB,EACtBC,GAAmC,EACnC;IACA,MAAM,EAAEC,SAAS,EAAG,KAAK,CAAA,EAAEC,KAAK,CAAA,EAAEC,OAAO,CAAA,EAAEC,QAAQ,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGN,KAAK;IAEtE,MAAMO,QAAQ,GAAG,CAAC,CAACJ,KAAK;IACxB,MAAMK,UAAU,GAAG,CAAC,CAACJ,OAAO,IAAI,CAACD,KAAK;IAEtC,qBACE,oBAACN,eAAe;QAACY,UAAU,EAAEP,SAAS;OAAMI,IAAI;QAAEL,GAAG,EAAEA,GAAG;sBACxD,oBAACH,sBAAsB,QAAEO,QAAQ,CAA0B,EAC1DE,QAAQ,kBACP,oBAACX,iBAAiB;QAACc,QAAQ,EAAC,OAAO;OAAEP,KAAK,CAAqB,AAChE,EACAK,UAAU,kBACT,oBAACZ,iBAAiB;QAACc,QAAQ,EAAC,SAAS;OAAEN,OAAO,CAAqB,AACpE,CACe,CACnB;AACH,CAAC;AAED,6BAAeT,UAAU,CAACI,UAAU,CAAC,CAAA"}
@@ -29,7 +29,9 @@ export const RangeInputSlider = styled.input.attrs({
29
29
  width: 18px;
30
30
  height: 18px;
31
31
  background: #ffffff;
32
- box-shadow: 0 0.5px 4px rgba(0, 0, 0, 0.12), 0 6px 13px rgba(0, 0, 0, 0.12);
32
+ box-shadow:
33
+ 0 0.5px 4px rgba(0, 0, 0, 0.12),
34
+ 0 6px 13px rgba(0, 0, 0, 0.12);
33
35
  border: 0;
34
36
  border-radius: 50px;
35
37
  cursor: pointer;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/input/SliderInputStyles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const RangeInputSlider = styled.input.attrs({ type: 'range' })`\n width: 100%;\n background-color: transparent;\n -webkit-appearance: none;\n position: absolute;\n margin: 0;\n top: 56px;\n left: 0;\n right: 0;\n\n &:focus {\n outline: none;\n }\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n border: 0;\n border-radius: 10px;\n width: 100%;\n height: 2px;\n cursor: pointer;\n }\n\n &::-webkit-slider-thumb {\n margin-top: -8px;\n width: 18px;\n height: 18px;\n background: #ffffff;\n box-shadow: 0 0.5px 4px rgba(0, 0, 0, 0.12), 0 6px 13px rgba(0, 0, 0, 0.12);\n border: 0;\n border-radius: 50px;\n cursor: pointer;\n -webkit-appearance: none;\n }\n\n &::-moz-range-track {\n background: #00a3ff;\n border: 0;\n border-radius: 10px;\n width: 100%;\n height: 2px;\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n width: 18px;\n height: 18px;\n background: #ffffff;\n border: 0;\n border-radius: 50px;\n cursor: pointer;\n }\n\n &::-ms-track {\n background: transparent;\n color: transparent;\n width: 100%;\n height: 2px;\n cursor: pointer;\n }\n`\n\nexport const Track = styled.div<{\n fillPercentage: number\n borderNone?: boolean\n}>`\n height: 1px;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background: var(--lido-color-border);\n\n ${(props) =>\n props.borderNone &&\n `\n background: none;\n `};\n\n &:before {\n content: '';\n position: absolute;\n display: block;\n height: 2px;\n bottom: 0;\n left: 0;\n background: var(--lido-color-primary);\n width: ${(props) => props.fillPercentage || 0}%;\n }\n`\n\nexport const Slider = styled.div<{\n borderNone?: boolean\n}>`\n position: relative;\n height: 56px;\n padding: 16px 20px;\n box-sizing: border-box;\n\n background: var(--lido-color-accentControlBg);\n border-right: 1px solid var(--lido-color-border);\n border-left: 1px solid var(--lido-color-border);\n border-top: 1px solid var(--lido-color-border);\n\n ${(props) =>\n props.borderNone &&\n `\n border-right: none;\n border-left: none;\n border-top: none;\n `};\n\n border-radius: 10px;\n overflow: hidden;\n`\n\nexport const SliderWrapper = styled.div`\n position: relative;\n`\n\nexport const LabelContainer = styled.div`\n display: flex;\n justify-content: space-between;\n margin-top: 8px;\n`\n\nexport const Label = styled.span`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 20px;\n color: var(--lido-color-text);\n opacity: 0.5;\n`\n\nexport const LabelButton = styled.button`\n border: none;\n background-color: transparent;\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 20px;\n color: var(--lido-color-text);\n opacity: 0.5;\n cursor: pointer;\n`\n"],"names":["styled","RangeInputSlider","input","attrs","type","Track","div","props","borderNone","fillPercentage","Slider","SliderWrapper","LabelContainer","Label","span","LabelButton","button"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,MAAMC,gBAAgB,GAAGD,MAAM,CAACE,KAAK,CAACC,KAAK,CAAC;IAAEC,IAAI,EAAE,OAAO;CAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DtE,CAAC,CAAA;AAED,OAAO,MAAMC,KAAK,GAAGL,MAAM,CAACM,GAAG,AAG7B,CAAC;;;;;;;;EAQD,EAAE,CAACC,KAAK,GACNA,KAAK,CAACC,UAAU,IAChB,CAAC;;IAED,CAAC,CAAC;;;;;;;;;;WAUK,EAAE,CAACD,KAAK,GAAKA,KAAK,CAACE,cAAc,IAAI,CAAC,CAAC;;AAElD,CAAC,CAAA;AAED,OAAO,MAAMC,MAAM,GAAGV,MAAM,CAACM,GAAG,AAE9B,CAAC;;;;;;;;;;;EAWD,EAAE,CAACC,KAAK,GACNA,KAAK,CAACC,UAAU,IAChB,CAAC;;;;IAID,CAAC,CAAC;;;;AAIN,CAAC,CAAA;AAED,OAAO,MAAMG,aAAa,GAAGX,MAAM,CAACM,GAAG,CAAC;;AAExC,CAAC,CAAA;AAED,OAAO,MAAMM,cAAc,GAAGZ,MAAM,CAACM,GAAG,CAAC;;;;AAIzC,CAAC,CAAA;AAED,OAAO,MAAMO,KAAK,GAAGb,MAAM,CAACc,IAAI,CAAC;;;;;;;AAOjC,CAAC,CAAA;AAED,OAAO,MAAMC,WAAW,GAAGf,MAAM,CAACgB,MAAM,CAAC;;;;;;;;;;AAUzC,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/input/SliderInputStyles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const RangeInputSlider = styled.input.attrs({ type: 'range' })`\n width: 100%;\n background-color: transparent;\n -webkit-appearance: none;\n position: absolute;\n margin: 0;\n top: 56px;\n left: 0;\n right: 0;\n\n &:focus {\n outline: none;\n }\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n border: 0;\n border-radius: 10px;\n width: 100%;\n height: 2px;\n cursor: pointer;\n }\n\n &::-webkit-slider-thumb {\n margin-top: -8px;\n width: 18px;\n height: 18px;\n background: #ffffff;\n box-shadow:\n 0 0.5px 4px rgba(0, 0, 0, 0.12),\n 0 6px 13px rgba(0, 0, 0, 0.12);\n border: 0;\n border-radius: 50px;\n cursor: pointer;\n -webkit-appearance: none;\n }\n\n &::-moz-range-track {\n background: #00a3ff;\n border: 0;\n border-radius: 10px;\n width: 100%;\n height: 2px;\n cursor: pointer;\n }\n\n &::-moz-range-thumb {\n width: 18px;\n height: 18px;\n background: #ffffff;\n border: 0;\n border-radius: 50px;\n cursor: pointer;\n }\n\n &::-ms-track {\n background: transparent;\n color: transparent;\n width: 100%;\n height: 2px;\n cursor: pointer;\n }\n`\n\nexport const Track = styled.div<{\n fillPercentage: number\n borderNone?: boolean\n}>`\n height: 1px;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background: var(--lido-color-border);\n\n ${(props) =>\n props.borderNone &&\n `\n background: none;\n `};\n\n &:before {\n content: '';\n position: absolute;\n display: block;\n height: 2px;\n bottom: 0;\n left: 0;\n background: var(--lido-color-primary);\n width: ${(props) => props.fillPercentage || 0}%;\n }\n`\n\nexport const Slider = styled.div<{\n borderNone?: boolean\n}>`\n position: relative;\n height: 56px;\n padding: 16px 20px;\n box-sizing: border-box;\n\n background: var(--lido-color-accentControlBg);\n border-right: 1px solid var(--lido-color-border);\n border-left: 1px solid var(--lido-color-border);\n border-top: 1px solid var(--lido-color-border);\n\n ${(props) =>\n props.borderNone &&\n `\n border-right: none;\n border-left: none;\n border-top: none;\n `};\n\n border-radius: 10px;\n overflow: hidden;\n`\n\nexport const SliderWrapper = styled.div`\n position: relative;\n`\n\nexport const LabelContainer = styled.div`\n display: flex;\n justify-content: space-between;\n margin-top: 8px;\n`\n\nexport const Label = styled.span`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 20px;\n color: var(--lido-color-text);\n opacity: 0.5;\n`\n\nexport const LabelButton = styled.button`\n border: none;\n background-color: transparent;\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 20px;\n color: var(--lido-color-text);\n opacity: 0.5;\n cursor: pointer;\n`\n"],"names":["styled","RangeInputSlider","input","attrs","type","Track","div","props","borderNone","fillPercentage","Slider","SliderWrapper","LabelContainer","Label","span","LabelButton","button"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AAEtC,OAAO,MAAMC,gBAAgB,GAAGD,MAAM,CAACE,KAAK,CAACC,KAAK,CAAC;IAAEC,IAAI,EAAE,OAAO;CAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DtE,CAAC,CAAA;AAED,OAAO,MAAMC,KAAK,GAAGL,MAAM,CAACM,GAAG,AAG7B,CAAC;;;;;;;;EAQD,EAAE,CAACC,KAAK,GACNA,KAAK,CAACC,UAAU,IAChB,CAAC;;IAED,CAAC,CAAC;;;;;;;;;;WAUK,EAAE,CAACD,KAAK,GAAKA,KAAK,CAACE,cAAc,IAAI,CAAC,CAAC;;AAElD,CAAC,CAAA;AAED,OAAO,MAAMC,MAAM,GAAGV,MAAM,CAACM,GAAG,AAE9B,CAAC;;;;;;;;;;;EAWD,EAAE,CAACC,KAAK,GACNA,KAAK,CAACC,UAAU,IAChB,CAAC;;;;IAID,CAAC,CAAC;;;;AAIN,CAAC,CAAA;AAED,OAAO,MAAMG,aAAa,GAAGX,MAAM,CAACM,GAAG,CAAC;;AAExC,CAAC,CAAA;AAED,OAAO,MAAMM,cAAc,GAAGZ,MAAM,CAACM,GAAG,CAAC;;;;AAIzC,CAAC,CAAA;AAED,OAAO,MAAMO,KAAK,GAAGb,MAAM,CAACc,IAAI,CAAC;;;;;;;AAOjC,CAAC,CAAA;AAED,OAAO,MAAMC,WAAW,GAAGf,MAAM,CAACgB,MAAM,CAAC;;;;;;;;;;AAUzC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/loaders/InlineLoader.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { InlineLoaderProps } from './types'\nimport { InlineLoaderStyle } from './InlineLoaderStyles'\n\nfunction InlineLoader(\n props: InlineLoaderProps,\n ref?: ForwardedRef<HTMLDivElement>\n) {\n const { color, ...rest } = props\n const heightAdjuster = <>&nbsp;</>\n\n return (\n <InlineLoaderStyle $color={color} {...rest} ref={ref}>\n {heightAdjuster}\n </InlineLoaderStyle>\n )\n}\n\nexport default forwardRef(InlineLoader)\n"],"names":["React","forwardRef","InlineLoaderStyle","InlineLoader","props","ref","color","rest","heightAdjuster","$color"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,iBAAiB,QAAQ,sBAAsB,CAAA;AAExD,SAASC,YAAY,CACnBC,KAAwB,EACxBC,GAAkC,EAClC;IACA,MAAM,EAAEC,KAAK,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGH,KAAK;IAChC,MAAMI,cAAc,iBAAG,0CAAE,MAAM,CAAG;IAElC,qBACE,oBAACN,iBAAiB;QAACO,MAAM,EAAEH,KAAK;OAAMC,IAAI;QAAEF,GAAG,EAAEA,GAAG;QACjDG,cAAc,CACG,CACrB;AACH,CAAC;AAED,6BAAeP,UAAU,CAACE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/loaders/InlineLoader.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { InlineLoaderProps } from './types'\nimport { InlineLoaderStyle } from './InlineLoaderStyles'\n\nfunction InlineLoader(\n props: InlineLoaderProps,\n ref?: ForwardedRef<HTMLDivElement>,\n) {\n const { color, ...rest } = props\n const heightAdjuster = <>&nbsp;</>\n\n return (\n <InlineLoaderStyle $color={color} {...rest} ref={ref}>\n {heightAdjuster}\n </InlineLoaderStyle>\n )\n}\n\nexport default forwardRef(InlineLoader)\n"],"names":["React","forwardRef","InlineLoaderStyle","InlineLoader","props","ref","color","rest","heightAdjuster","$color"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,iBAAiB,QAAQ,sBAAsB,CAAA;AAExD,SAASC,YAAY,CACnBC,KAAwB,EACxBC,GAAkC,EAClC;IACA,MAAM,EAAEC,KAAK,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGH,KAAK;IAChC,MAAMI,cAAc,iBAAG,0CAAE,MAAM,CAAG;IAElC,qBACE,oBAACN,iBAAiB;QAACO,MAAM,EAAEH,KAAK;OAAMC,IAAI;QAAEF,GAAG,EAAEA,GAAG;QACjDG,cAAc,CACG,CACrB;AACH,CAAC;AAED,6BAAeP,UAAU,CAACE,YAAY,CAAC,CAAA"}
@@ -31,13 +31,10 @@ export const InlineLoaderStyle = styled.span`
31
31
  var(--loader-color) 100%
32
32
  );
33
33
 
34
- &:after {
34
+ &::after {
35
35
  content: '';
36
36
  position: absolute;
37
- top: 0;
38
- right: 0;
39
- bottom: 0;
40
- left: 0;
37
+ inset: 0;
41
38
  background: var(--loader-color);
42
39
  opacity: 0.2;
43
40
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/loaders/InlineLoaderStyles.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { InlineLoaderColors } from './types'\n\nexport const translation = keyframes`\n 100% {\n background-position: 0 0;\n }\n`\n\nexport const InlineLoaderStyle = styled.span<{ $color?: InlineLoaderColors }>`\n --loader-color: ${({ $color }) =>\n $color ? `var(--lido-color-${$color})` : 'currentColor'};\n\n width: 100%;\n display: inline-block;\n vertical-align: top;\n border-radius: 1000px;\n position: relative;\n overflow: hidden;\n user-select: none;\n opacity: 0.05;\n animation: ${translation} 2s infinite;\n background-size: 300% 100%;\n background-position: 100% 0;\n background-image: linear-gradient(\n 90deg,\n var(--loader-color) 0,\n var(--loader-color) 33.33%,\n transparent 44.44%,\n transparent 55.55%,\n var(--loader-color) 66.66%,\n var(--loader-color) 100%\n );\n\n &:after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: var(--loader-color);\n opacity: 0.2;\n }\n`\n"],"names":["styled","keyframes","translation","InlineLoaderStyle","span","$color"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,SAAS,QAAQ,mBAAmB,CAAA;AAGrD,OAAO,MAAMC,WAAW,GAAGD,SAAS,CAAC;;;;AAIrC,CAAC,CAAA;AAED,OAAO,MAAME,iBAAiB,GAAGH,MAAM,CAACI,IAAI,AAAiC,CAAC;kBAC5D,EAAE,SAChBC;QADiB,EAAEA,MAAM,CAAA,EAAE;WAC3BA,MAAM,GAAG,CAAC,iBAAiB,EAAEA,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc;AAAD,CAAC,CAAC;;;;;;;;;;aAU/C,EAAEH,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAuB3B,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/loaders/InlineLoaderStyles.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { InlineLoaderColors } from './types'\n\nexport const translation = keyframes`\n 100% {\n background-position: 0 0;\n }\n`\n\nexport const InlineLoaderStyle = styled.span<{ $color?: InlineLoaderColors }>`\n --loader-color: ${({ $color }) =>\n $color ? `var(--lido-color-${$color})` : 'currentColor'};\n\n width: 100%;\n display: inline-block;\n vertical-align: top;\n border-radius: 1000px;\n position: relative;\n overflow: hidden;\n user-select: none;\n opacity: 0.05;\n animation: ${translation} 2s infinite;\n background-size: 300% 100%;\n background-position: 100% 0;\n background-image: linear-gradient(\n 90deg,\n var(--loader-color) 0,\n var(--loader-color) 33.33%,\n transparent 44.44%,\n transparent 55.55%,\n var(--loader-color) 66.66%,\n var(--loader-color) 100%\n );\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: var(--loader-color);\n opacity: 0.2;\n }\n`\n"],"names":["styled","keyframes","translation","InlineLoaderStyle","span","$color"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,SAAS,QAAQ,mBAAmB,CAAA;AAGrD,OAAO,MAAMC,WAAW,GAAGD,SAAS,CAAC;;;;AAIrC,CAAC,CAAA;AAED,OAAO,MAAME,iBAAiB,GAAGH,MAAM,CAACI,IAAI,AAAiC,CAAC;kBAC5D,EAAE,SAChBC;QADiB,EAAEA,MAAM,CAAA,EAAE;WAC3BA,MAAM,GAAG,CAAC,iBAAiB,EAAEA,MAAM,CAAC,CAAC,CAAC,GAAG,cAAc;AAAD,CAAC,CAAC;;;;;;;;;;aAU/C,EAAEH,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;AAoB3B,CAAC,CAAA"}
@@ -20,13 +20,13 @@ export const LoaderStyle = styled.div`
20
20
  `;
21
21
  export const LoaderCircleBgStyle = styled.circle`
22
22
  fill: none;
23
- stroke: currentColor;
23
+ stroke: currentcolor;
24
24
  stroke-width: ${(props)=>props.$thickness};
25
25
  opacity: 0.2;
26
26
  `;
27
27
  export const LoaderCircleFgStyle = styled.circle`
28
28
  fill: none;
29
- stroke: currentColor;
29
+ stroke: currentcolor;
30
30
  stroke-linecap: round;
31
31
  stroke-width: ${(props)=>props.$thickness};
32
32
  stroke-dasharray: ${(props)=>{
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/loaders/LoaderStyles.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { LoaderColors } from './types'\n\nexport const rotation = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`\n\nexport const LoaderStyle = styled.div<{\n $size: number\n $color: LoaderColors\n}>`\n margin: 0;\n padding: 0;\n line-height: 0;\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n color: ${({ $color }) => `var(--lido-color-${$color})`};\n`\n\nexport const LoaderCircleBgStyle = styled.circle<{ $thickness: number }>`\n fill: none;\n stroke: currentColor;\n stroke-width: ${(props) => props.$thickness};\n opacity: 0.2;\n`\n\nexport const LoaderCircleFgStyle = styled.circle<{\n $thickness: number\n r: number\n}>`\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-width: ${(props) => props.$thickness};\n stroke-dasharray: ${(props) => {\n const circumference = 2 * props.r * Math.PI\n const filledPart = 0.25\n\n return `${circumference * filledPart} ${circumference * (1 - filledPart)}`\n }};\n transform: rotate(0deg);\n transform-origin: 50% 50%;\n animation: ${rotation} 1.4s linear infinite;\n`\n"],"names":["styled","keyframes","rotation","LoaderStyle","div","props","$size","$color","LoaderCircleBgStyle","circle","$thickness","LoaderCircleFgStyle","circumference","r","Math","PI","filledPart"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,SAAS,QAAQ,mBAAmB,CAAA;AAGrD,OAAO,MAAMC,QAAQ,GAAGD,SAAS,CAAC;;;;;;;AAOlC,CAAC,CAAA;AAED,OAAO,MAAME,WAAW,GAAGH,MAAM,CAACI,GAAG,AAGnC,CAAC;;;;SAIM,EAAE,CAACC,KAAK,GAAKA,KAAK,CAACC,KAAK,CAAC;UACxB,EAAE,CAACD,KAAK,GAAKA,KAAK,CAACC,KAAK,CAAC;SAC1B,EAAE,SAAgB;QAAf,EAAEC,MAAM,CAAA,EAAE;WAAK,CAAC,iBAAiB,EAAEA,MAAM,CAAC,CAAC,CAAC;AAAD,CAAC,CAAC;AACzD,CAAC,CAAA;AAED,OAAO,MAAMC,mBAAmB,GAAGR,MAAM,CAACS,MAAM,AAAwB,CAAC;;;gBAGzD,EAAE,CAACJ,KAAK,GAAKA,KAAK,CAACK,UAAU,CAAC;;AAE9C,CAAC,CAAA;AAED,OAAO,MAAMC,mBAAmB,GAAGX,MAAM,CAACS,MAAM,AAG9C,CAAC;;;;gBAIa,EAAE,CAACJ,KAAK,GAAKA,KAAK,CAACK,UAAU,CAAC;oBAC1B,EAAE,CAACL,KAAK,GAAK;IAC7B,MAAMO,aAAa,GAAG,CAAC,GAAGP,KAAK,CAACQ,CAAC,GAAGC,IAAI,CAACC,EAAE;IAC3C,MAAMC,UAAU,GAAG,IAAI;IAEvB,OAAO,CAAC,EAAEJ,aAAa,GAAGI,UAAU,CAAC,CAAC,EAAEJ,aAAa,GAAG,CAAC,CAAC,GAAGI,UAAU,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAC;;;aAGS,EAAEd,QAAQ,CAAC;AACxB,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/loaders/LoaderStyles.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components'\nimport { LoaderColors } from './types'\n\nexport const rotation = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`\n\nexport const LoaderStyle = styled.div<{\n $size: number\n $color: LoaderColors\n}>`\n margin: 0;\n padding: 0;\n line-height: 0;\n width: ${(props) => props.$size}px;\n height: ${(props) => props.$size}px;\n color: ${({ $color }) => `var(--lido-color-${$color})`};\n`\n\nexport const LoaderCircleBgStyle = styled.circle<{ $thickness: number }>`\n fill: none;\n stroke: currentcolor;\n stroke-width: ${(props) => props.$thickness};\n opacity: 0.2;\n`\n\nexport const LoaderCircleFgStyle = styled.circle<{\n $thickness: number\n r: number\n}>`\n fill: none;\n stroke: currentcolor;\n stroke-linecap: round;\n stroke-width: ${(props) => props.$thickness};\n stroke-dasharray: ${(props) => {\n const circumference = 2 * props.r * Math.PI\n const filledPart = 0.25\n\n return `${circumference * filledPart} ${circumference * (1 - filledPart)}`\n }};\n transform: rotate(0deg);\n transform-origin: 50% 50%;\n animation: ${rotation} 1.4s linear infinite;\n`\n"],"names":["styled","keyframes","rotation","LoaderStyle","div","props","$size","$color","LoaderCircleBgStyle","circle","$thickness","LoaderCircleFgStyle","circumference","r","Math","PI","filledPart"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,SAAS,QAAQ,mBAAmB,CAAA;AAGrD,OAAO,MAAMC,QAAQ,GAAGD,SAAS,CAAC;;;;;;;AAOlC,CAAC,CAAA;AAED,OAAO,MAAME,WAAW,GAAGH,MAAM,CAACI,GAAG,AAGnC,CAAC;;;;SAIM,EAAE,CAACC,KAAK,GAAKA,KAAK,CAACC,KAAK,CAAC;UACxB,EAAE,CAACD,KAAK,GAAKA,KAAK,CAACC,KAAK,CAAC;SAC1B,EAAE,SAAgB;QAAf,EAAEC,MAAM,CAAA,EAAE;WAAK,CAAC,iBAAiB,EAAEA,MAAM,CAAC,CAAC,CAAC;AAAD,CAAC,CAAC;AACzD,CAAC,CAAA;AAED,OAAO,MAAMC,mBAAmB,GAAGR,MAAM,CAACS,MAAM,AAAwB,CAAC;;;gBAGzD,EAAE,CAACJ,KAAK,GAAKA,KAAK,CAACK,UAAU,CAAC;;AAE9C,CAAC,CAAA;AAED,OAAO,MAAMC,mBAAmB,GAAGX,MAAM,CAACS,MAAM,AAG9C,CAAC;;;;gBAIa,EAAE,CAACJ,KAAK,GAAKA,KAAK,CAACK,UAAU,CAAC;oBAC1B,EAAE,CAACL,KAAK,GAAK;IAC7B,MAAMO,aAAa,GAAG,CAAC,GAAGP,KAAK,CAACQ,CAAC,GAAGC,IAAI,CAACC,EAAE;IAC3C,MAAMC,UAAU,GAAG,IAAI;IAEvB,OAAO,CAAC,EAAEJ,aAAa,GAAGI,UAAU,CAAC,CAAC,EAAEJ,aAAa,GAAG,CAAC,CAAC,GAAGI,UAAU,CAAC,CAAC,CAAC,CAAA;AAC5E,CAAC,CAAC;;;aAGS,EAAEd,QAAQ,CAAC;AACxB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/main-menu/MainMenuItem.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { MainMenuItemProps } from './types'\nimport { NavLink } from './MainMenuItemStyles'\n\nfunction MainMenuItem(\n props: MainMenuItemProps,\n ref?: ForwardedRef<HTMLDivElement>\n) {\n const { icon, children, active, ...restProps } = props\n return (\n <NavLink ref={ref} active={Boolean(active)} {...restProps}>\n {icon}\n <span>{children}</span>\n </NavLink>\n )\n}\n\nexport default forwardRef(MainMenuItem)\n"],"names":["React","forwardRef","NavLink","MainMenuItem","props","ref","icon","children","active","restProps","Boolean","span"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,OAAO,QAAQ,sBAAsB,CAAA;AAE9C,SAASC,YAAY,CACnBC,KAAwB,EACxBC,GAAkC,EAClC;IACA,MAAM,EAAEC,IAAI,CAAA,EAAEC,QAAQ,CAAA,EAAEC,MAAM,CAAA,EAAE,GAAGC,SAAS,EAAE,GAAGL,KAAK;IACtD,qBACE,oBAACF,OAAO;QAACG,GAAG,EAAEA,GAAG;QAAEG,MAAM,EAAEE,OAAO,CAACF,MAAM,CAAC;OAAMC,SAAS,GACtDH,IAAI,gBACL,oBAACK,MAAI,QAAEJ,QAAQ,CAAQ,CACf,CACX;AACH,CAAC;AAED,6BAAeN,UAAU,CAACE,YAAY,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/main-menu/MainMenuItem.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { MainMenuItemProps } from './types'\nimport { NavLink } from './MainMenuItemStyles'\n\nfunction MainMenuItem(\n props: MainMenuItemProps,\n ref?: ForwardedRef<HTMLDivElement>,\n) {\n const { icon, children, active, ...restProps } = props\n return (\n <NavLink ref={ref} active={Boolean(active)} {...restProps}>\n {icon}\n <span>{children}</span>\n </NavLink>\n )\n}\n\nexport default forwardRef(MainMenuItem)\n"],"names":["React","forwardRef","NavLink","MainMenuItem","props","ref","icon","children","active","restProps","Boolean","span"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,OAAO,QAAQ,sBAAsB,CAAA;AAE9C,SAASC,YAAY,CACnBC,KAAwB,EACxBC,GAAkC,EAClC;IACA,MAAM,EAAEC,IAAI,CAAA,EAAEC,QAAQ,CAAA,EAAEC,MAAM,CAAA,EAAE,GAAGC,SAAS,EAAE,GAAGL,KAAK;IACtD,qBACE,oBAACF,OAAO;QAACG,GAAG,EAAEA,GAAG;QAAEG,MAAM,EAAEE,OAAO,CAACF,MAAM,CAAC;OAAMC,SAAS,GACtDH,IAAI,gBACL,oBAACK,MAAI,QAAEJ,QAAQ,CAAQ,CACf,CACX;AACH,CAAC;AAED,6BAAeN,UAAU,CAACE,YAAY,CAAC,CAAA"}
@@ -33,6 +33,7 @@ export const Nav = styled.div`
33
33
  }} {
34
34
  ${mobileCss}
35
35
  }
36
+
36
37
  z-index: 5;
37
38
  `;
38
39
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/main-menu/MainMenuStyles.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\nexport const desktopCss = css`\n margin: 0 46px;\n display: flex;\n\n svg {\n margin-right: 10px;\n }\n`\n\nconst mobileCss = css`\n margin: 0;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 8px;\n background-color: var(--lido-color-foreground);\n display: flex;\n justify-content: space-around;\n align-items: center;\n border-top: 1px solid var(--lido-color-border);\n\n svg {\n margin-right: 0;\n margin-bottom: 7px;\n }\n`\n\nexport const Nav = styled.div`\n ${desktopCss}\n ${({ theme }) => theme.mediaQueries.md} {\n ${mobileCss}\n }\n z-index: 5;\n`\n"],"names":["styled","css","desktopCss","mobileCss","Nav","div","theme","mediaQueries","md"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB,CAAA;AAC/C,OAAO,MAAMC,UAAU,GAAGD,GAAG,CAAC;;;;;;;AAO9B,CAAC,CAAA;AAED,MAAME,SAAS,GAAGF,GAAG,CAAC;;;;;;;;;;;;;;;;;AAiBtB,CAAC;AAED,OAAO,MAAMG,GAAG,GAAGJ,MAAM,CAACK,GAAG,CAAC;EAC5B,EAAEH,UAAU,CAAC;EACb,EAAE,SAAeI;QAAd,EAAEA,KAAK,CAAA,EAAE;WAAKA,KAAK,CAACC,YAAY,CAACC,EAAE;AAAD,CAAC,CAAC;IACrC,EAAEL,SAAS,CAAC;;;AAGhB,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/main-menu/MainMenuStyles.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\nexport const desktopCss = css`\n margin: 0 46px;\n display: flex;\n\n svg {\n margin-right: 10px;\n }\n`\n\nconst mobileCss = css`\n margin: 0;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 8px;\n background-color: var(--lido-color-foreground);\n display: flex;\n justify-content: space-around;\n align-items: center;\n border-top: 1px solid var(--lido-color-border);\n\n svg {\n margin-right: 0;\n margin-bottom: 7px;\n }\n`\n\nexport const Nav = styled.div`\n ${desktopCss}\n ${({ theme }) => theme.mediaQueries.md} {\n ${mobileCss}\n }\n\n z-index: 5;\n`\n"],"names":["styled","css","desktopCss","mobileCss","Nav","div","theme","mediaQueries","md"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB,CAAA;AAC/C,OAAO,MAAMC,UAAU,GAAGD,GAAG,CAAC;;;;;;;AAO9B,CAAC,CAAA;AAED,MAAME,SAAS,GAAGF,GAAG,CAAC;;;;;;;;;;;;;;;;;AAiBtB,CAAC;AAED,OAAO,MAAMG,GAAG,GAAGJ,MAAM,CAACK,GAAG,CAAC;EAC5B,EAAEH,UAAU,CAAC;EACb,EAAE,SAAeI;QAAd,EAAEA,KAAK,CAAA,EAAE;WAAKA,KAAK,CAACC,YAAY,CAACC,EAAE;AAAD,CAAC,CAAC;IACrC,EAAEL,SAAS,CAAC;;;;AAIhB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/modal/ModalButton.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\n\nimport { ModalButtonStyle, ModalButtonContentStyle } from './ModalButtonStyles'\nimport { ModalButtonIconProps } from './types'\n\nconst iconSize = {\n xxs: {\n width: '16px',\n height: '16px',\n },\n xs: {\n width: '24px',\n height: '24px',\n },\n sm: {\n width: '32px',\n height: '32px',\n },\n md: {\n width: '48px',\n height: '48px',\n },\n lg: {\n width: '64px',\n height: '64px',\n },\n}\n\nfunction ModalButton(\n props: ModalButtonIconProps,\n ref?: ForwardedRef<HTMLButtonElement>\n) {\n const { size = 'md', loading = false, children, icon } = props\n\n const AdaptiveIconProps =\n icon.props.width || icon.props.height ? icon.props : { ...iconSize[size] }\n const AdaptiveIcon = React.cloneElement(icon, AdaptiveIconProps)\n\n return (\n <ModalButtonStyle\n type='button'\n size={size}\n loading={loading}\n ref={ref}\n {...props}\n >\n <ModalButtonContentStyle>\n {children} {AdaptiveIcon}\n </ModalButtonContentStyle>\n </ModalButtonStyle>\n )\n}\n\nexport default forwardRef(ModalButton)\n"],"names":["React","forwardRef","ModalButtonStyle","ModalButtonContentStyle","iconSize","xxs","width","height","xs","sm","md","lg","ModalButton","props","ref","size","loading","children","icon","AdaptiveIconProps","AdaptiveIcon","cloneElement","type"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,qBAAqB,CAAA;AAG/E,MAAMC,QAAQ,GAAG;IACfC,GAAG,EAAE;QACHC,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDC,EAAE,EAAE;QACFF,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDE,EAAE,EAAE;QACFH,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDG,EAAE,EAAE;QACFJ,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDI,EAAE,EAAE;QACFL,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;CACF;AAED,SAASK,WAAW,CAClBC,KAA2B,EAC3BC,GAAqC,EACrC;IACA,MAAM,EAAEC,IAAI,EAAG,IAAI,CAAA,EAAEC,OAAO,EAAG,KAAK,CAAA,EAAEC,QAAQ,CAAA,EAAEC,IAAI,CAAA,EAAE,GAAGL,KAAK;IAE9D,MAAMM,iBAAiB,GACrBD,IAAI,CAACL,KAAK,CAACP,KAAK,IAAIY,IAAI,CAACL,KAAK,CAACN,MAAM,GAAGW,IAAI,CAACL,KAAK,GAAG;QAAE,GAAGT,QAAQ,CAACW,IAAI,CAAC;KAAE;IAC5E,MAAMK,YAAY,iBAAGpB,KAAK,CAACqB,YAAY,CAACH,IAAI,EAAEC,iBAAiB,CAAC;IAEhE,qBACE,oBAACjB,gBAAgB;QACfoB,IAAI,EAAC,QAAQ;QACbP,IAAI,EAAEA,IAAI;QACVC,OAAO,EAAEA,OAAO;QAChBF,GAAG,EAAEA,GAAG;OACJD,KAAK,iBAET,oBAACV,uBAAuB,QACrBc,QAAQ,EAAC,GAAC,EAACG,YAAY,CACA,CACT,CACpB;AACH,CAAC;AAED,6BAAenB,UAAU,CAACW,WAAW,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/modal/ModalButton.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\n\nimport { ModalButtonStyle, ModalButtonContentStyle } from './ModalButtonStyles'\nimport { ModalButtonIconProps } from './types'\n\nconst iconSize = {\n xxs: {\n width: '16px',\n height: '16px',\n },\n xs: {\n width: '24px',\n height: '24px',\n },\n sm: {\n width: '32px',\n height: '32px',\n },\n md: {\n width: '48px',\n height: '48px',\n },\n lg: {\n width: '64px',\n height: '64px',\n },\n}\n\nfunction ModalButton(\n props: ModalButtonIconProps,\n ref?: ForwardedRef<HTMLButtonElement>,\n) {\n const { size = 'md', loading = false, children, icon } = props\n\n const AdaptiveIconProps =\n icon.props.width || icon.props.height ? icon.props : { ...iconSize[size] }\n const AdaptiveIcon = React.cloneElement(icon, AdaptiveIconProps)\n\n return (\n <ModalButtonStyle\n type='button'\n size={size}\n loading={loading}\n ref={ref}\n {...props}\n >\n <ModalButtonContentStyle>\n {children} {AdaptiveIcon}\n </ModalButtonContentStyle>\n </ModalButtonStyle>\n )\n}\n\nexport default forwardRef(ModalButton)\n"],"names":["React","forwardRef","ModalButtonStyle","ModalButtonContentStyle","iconSize","xxs","width","height","xs","sm","md","lg","ModalButton","props","ref","size","loading","children","icon","AdaptiveIconProps","AdaptiveIcon","cloneElement","type"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,gBAAgB,EAAEC,uBAAuB,QAAQ,qBAAqB,CAAA;AAG/E,MAAMC,QAAQ,GAAG;IACfC,GAAG,EAAE;QACHC,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDC,EAAE,EAAE;QACFF,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDE,EAAE,EAAE;QACFH,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDG,EAAE,EAAE;QACFJ,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;IACDI,EAAE,EAAE;QACFL,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,MAAM;KACf;CACF;AAED,SAASK,WAAW,CAClBC,KAA2B,EAC3BC,GAAqC,EACrC;IACA,MAAM,EAAEC,IAAI,EAAG,IAAI,CAAA,EAAEC,OAAO,EAAG,KAAK,CAAA,EAAEC,QAAQ,CAAA,EAAEC,IAAI,CAAA,EAAE,GAAGL,KAAK;IAE9D,MAAMM,iBAAiB,GACrBD,IAAI,CAACL,KAAK,CAACP,KAAK,IAAIY,IAAI,CAACL,KAAK,CAACN,MAAM,GAAGW,IAAI,CAACL,KAAK,GAAG;QAAE,GAAGT,QAAQ,CAACW,IAAI,CAAC;KAAE;IAC5E,MAAMK,YAAY,iBAAGpB,KAAK,CAACqB,YAAY,CAACH,IAAI,EAAEC,iBAAiB,CAAC;IAEhE,qBACE,oBAACjB,gBAAgB;QACfoB,IAAI,EAAC,QAAQ;QACbP,IAAI,EAAEA,IAAI;QACVC,OAAO,EAAEA,OAAO;QAChBF,GAAG,EAAEA,GAAG;OACJD,KAAK,iBAET,oBAACV,uBAAuB,QACrBc,QAAQ,EAAC,GAAC,EAACG,YAAY,CACA,CACT,CACpB;AACH,CAAC;AAED,6BAAenB,UAAU,CAACW,WAAW,CAAC,CAAA"}
@@ -5,17 +5,15 @@ export const ModalButtonStyle = styled(Button)`
5
5
  let { active } = param;
6
6
  return active ? `1px solid var(--lido-color-primary)` : `1px solid var(--lido-color-background)`;
7
7
  }};
8
-
9
8
  background-color: ${(param)=>{
10
9
  let { active } = param;
11
10
  return active ? 'rgba(0, 163, 255, 0.1);' : `var(--lido-color-background)`;
12
11
  }};
13
-
14
12
  color: var(--lido-color-text);
15
13
 
16
14
  :not(:disabled):hover,
17
15
  :focus-visible {
18
- background-color: rgba(0, 163, 255, 0.1);
16
+ background-color: rgb(0 163 255 / 10%);
19
17
  color: var(--lido-color-text);
20
18
  }
21
19
  `;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/modal/ModalButtonStyles.tsx"],"sourcesContent":["import styled from 'styled-components'\n\nimport { Button } from '@lidofinance/button'\n\nexport const ModalButtonStyle = styled(Button)`\n border: ${({ active }) =>\n active\n ? `1px solid var(--lido-color-primary)`\n : `1px solid var(--lido-color-background)`};\n\n background-color: ${({ active }) =>\n active ? 'rgba(0, 163, 255, 0.1);' : `var(--lido-color-background)`};\n\n color: var(--lido-color-text);\n\n :not(:disabled):hover,\n :focus-visible {\n background-color: rgba(0, 163, 255, 0.1);\n color: var(--lido-color-text);\n }\n`\n\nexport const ModalButtonContentStyle = styled.span`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`\n"],"names":["styled","Button","ModalButtonStyle","active","ModalButtonContentStyle","span"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AAEtC,SAASC,MAAM,QAAQ,iBAAqB,CAAA;AAE5C,OAAO,MAAMC,gBAAgB,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC;UACrC,EAAE,SACRE;QADS,EAAEA,MAAM,CAAA,EAAE;WACnBA,MAAM,GACF,CAAC,mCAAmC,CAAC,GACrC,CAAC,sCAAsC,CAAC;AAAD,CAAC,CAAC;;oBAE7B,EAAE,SAClBA;QADmB,EAAEA,MAAM,CAAA,EAAE;WAC7BA,MAAM,GAAG,yBAAyB,GAAG,CAAC,4BAA4B,CAAC;AAAD,CAAC,CAAC;;;;;;;;;AASxE,CAAC,CAAA;AAED,OAAO,MAAMC,uBAAuB,GAAGJ,MAAM,CAACK,IAAI,CAAC;;;;;AAKnD,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/modal/ModalButtonStyles.tsx"],"sourcesContent":["import styled from 'styled-components'\n\nimport { Button } from '@lidofinance/button'\n\nexport const ModalButtonStyle = styled(Button)`\n border: ${({ active }) =>\n active\n ? `1px solid var(--lido-color-primary)`\n : `1px solid var(--lido-color-background)`};\n background-color: ${({ active }) =>\n active ? 'rgba(0, 163, 255, 0.1);' : `var(--lido-color-background)`};\n color: var(--lido-color-text);\n\n :not(:disabled):hover,\n :focus-visible {\n background-color: rgb(0 163 255 / 10%);\n color: var(--lido-color-text);\n }\n`\n\nexport const ModalButtonContentStyle = styled.span`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`\n"],"names":["styled","Button","ModalButtonStyle","active","ModalButtonContentStyle","span"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AAEtC,SAASC,MAAM,QAAQ,iBAAqB,CAAA;AAE5C,OAAO,MAAMC,gBAAgB,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC;UACrC,EAAE,SACRE;QADS,EAAEA,MAAM,CAAA,EAAE;WACnBA,MAAM,GACF,CAAC,mCAAmC,CAAC,GACrC,CAAC,sCAAsC,CAAC;AAAD,CAAC,CAAC;oBAC7B,EAAE,SAClBA;QADmB,EAAEA,MAAM,CAAA,EAAE;WAC7BA,MAAM,GAAG,yBAAyB,GAAG,CAAC,4BAA4B,CAAC;AAAD,CAAC,CAAC;;;;;;;;AAQxE,CAAC,CAAA;AAED,OAAO,MAAMC,uBAAuB,GAAGJ,MAAM,CAACK,IAAI,CAAC;;;;;AAKnD,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/modal/ModalExtra.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\n\nimport { ModalExtraStyle } from './ModalExtraStyles'\nimport { ModalExtraProps } from './types'\n\nfunction ModalExtra(\n props: ModalExtraProps,\n ref?: ForwardedRef<HTMLDivElement>\n) {\n return <ModalExtraStyle {...props} ref={ref} />\n}\n\nexport default forwardRef(ModalExtra)\n"],"names":["React","forwardRef","ModalExtraStyle","ModalExtra","props","ref"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,eAAe,QAAQ,oBAAoB,CAAA;AAGpD,SAASC,UAAU,CACjBC,KAAsB,EACtBC,GAAkC,EAClC;IACA,qBAAO,oBAACH,eAAe,eAAKE,KAAK;QAAEC,GAAG,EAAEA,GAAG;OAAI,CAAA;AACjD,CAAC;AAED,6BAAeJ,UAAU,CAACE,UAAU,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/modal/ModalExtra.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\n\nimport { ModalExtraStyle } from './ModalExtraStyles'\nimport { ModalExtraProps } from './types'\n\nfunction ModalExtra(\n props: ModalExtraProps,\n ref?: ForwardedRef<HTMLDivElement>,\n) {\n return <ModalExtraStyle {...props} ref={ref} />\n}\n\nexport default forwardRef(ModalExtra)\n"],"names":["React","forwardRef","ModalExtraStyle","ModalExtra","props","ref"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,eAAe,QAAQ,oBAAoB,CAAA;AAGpD,SAASC,UAAU,CACjBC,KAAsB,EACtBC,GAAkC,EAClC;IACA,qBAAO,oBAACH,eAAe,eAAKE,KAAK;QAAEC,GAAG,EAAEA,GAAG;OAAI,CAAA;AACjD,CAAC;AAED,6BAAeJ,UAAU,CAACE,UAAU,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/modal/ModalOverlay.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport { useMergeRefs, useEscape, useLockScroll } from '@lidofinance/hooks'\nimport { withTransition } from '@lidofinance/transition'\nimport { modalRoot } from '@lidofinance/utils'\nimport { ModalOverlayInnerProps } from './types'\nimport {\n ModalPortalStyle,\n ModalOverflowStyle,\n ModalContentStyle,\n} from './ModalOverlayStyles'\nimport { useModalFocus } from './useModalFocus'\nimport { useModalClose } from './useModalClose'\n\nfunction ModalOverlay(\n props: ModalOverlayInnerProps,\n externalRef?: ForwardedRef<HTMLDivElement>\n) {\n const { onClose, onBack, duration, transitionStatus, ...rest } = props\n const closable = !!onClose\n\n useEscape(onClose)\n useLockScroll()\n\n const controlRef = useModalFocus()\n const { ref: closeRef, handleClick } = useModalClose(onClose)\n\n const mergedRef = useMergeRefs([controlRef, closeRef, externalRef])\n\n if (!modalRoot) return null\n\n return ReactDOM.createPortal(\n <ModalPortalStyle\n $closable={closable}\n $duration={duration}\n $transition={transitionStatus}\n onClick={handleClick}\n >\n <ModalOverflowStyle>\n <ModalContentStyle\n tabIndex={-1}\n role='dialog'\n aria-modal='true'\n ref={mergedRef}\n $transition={transitionStatus}\n $duration={duration}\n {...rest}\n />\n </ModalOverflowStyle>\n </ModalPortalStyle>,\n modalRoot\n )\n}\n\nexport default withTransition(forwardRef(ModalOverlay))\n"],"names":["React","forwardRef","ReactDOM","useMergeRefs","useEscape","useLockScroll","withTransition","modalRoot","ModalPortalStyle","ModalOverflowStyle","ModalContentStyle","useModalFocus","useModalClose","ModalOverlay","props","externalRef","onClose","onBack","duration","transitionStatus","rest","closable","controlRef","ref","closeRef","handleClick","mergedRef","createPortal","$closable","$duration","$transition","onClick","tabIndex","role","aria-modal"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,OAAOC,QAAQ,MAAM,WAAW,CAAA;AAChC,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,gBAAoB,CAAA;AAC3E,SAASC,cAAc,QAAQ,qBAAyB,CAAA;AACxD,SAASC,SAAS,QAAQ,gBAAoB,CAAA;AAE9C,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,iBAAiB,QACZ,sBAAsB,CAAA;AAC7B,SAASC,aAAa,QAAQ,iBAAiB,CAAA;AAC/C,SAASC,aAAa,QAAQ,iBAAiB,CAAA;AAE/C,SAASC,YAAY,CACnBC,KAA6B,EAC7BC,WAA0C,EAC1C;IACA,MAAM,EAAEC,OAAO,CAAA,EAAEC,MAAM,CAAA,EAAEC,QAAQ,CAAA,EAAEC,gBAAgB,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGN,KAAK;IACtE,MAAMO,QAAQ,GAAG,CAAC,CAACL,OAAO;IAE1BZ,SAAS,CAACY,OAAO,CAAC;IAClBX,aAAa,EAAE;IAEf,MAAMiB,UAAU,GAAGX,aAAa,EAAE;IAClC,MAAM,EAAEY,GAAG,EAAEC,QAAQ,CAAA,EAAEC,WAAW,CAAA,EAAE,GAAGb,aAAa,CAACI,OAAO,CAAC;IAE7D,MAAMU,SAAS,GAAGvB,YAAY,CAAC;QAACmB,UAAU;QAAEE,QAAQ;QAAET,WAAW;KAAC,CAAC;IAEnE,IAAI,CAACR,SAAS,EAAE,OAAO,IAAI,CAAA;IAE3B,qBAAOL,QAAQ,CAACyB,YAAY,eAC1B,oBAACnB,gBAAgB;QACfoB,SAAS,EAAEP,QAAQ;QACnBQ,SAAS,EAAEX,QAAQ;QACnBY,WAAW,EAAEX,gBAAgB;QAC7BY,OAAO,EAAEN,WAAW;qBAEpB,oBAAChB,kBAAkB,sBACjB,oBAACC,iBAAiB;QAChBsB,QAAQ,EAAE,CAAC,CAAC;QACZC,IAAI,EAAC,QAAQ;QACbC,YAAU,EAAC,MAAM;QACjBX,GAAG,EAAEG,SAAS;QACdI,WAAW,EAAEX,gBAAgB;QAC7BU,SAAS,EAAEX,QAAQ;OACfE,IAAI,EACR,CACiB,CACJ,EACnBb,SAAS,CACV,CAAA;AACH,CAAC;AAED,eAAeD,cAAc,eAACL,UAAU,CAACY,YAAY,CAAC,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/modal/ModalOverlay.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport { useMergeRefs, useEscape, useLockScroll } from '@lidofinance/hooks'\nimport { withTransition } from '@lidofinance/transition'\nimport { modalRoot } from '@lidofinance/utils'\nimport { ModalOverlayInnerProps } from './types'\nimport {\n ModalPortalStyle,\n ModalOverflowStyle,\n ModalContentStyle,\n} from './ModalOverlayStyles'\nimport { useModalFocus } from './useModalFocus'\nimport { useModalClose } from './useModalClose'\n\nfunction ModalOverlay(\n props: ModalOverlayInnerProps,\n externalRef?: ForwardedRef<HTMLDivElement>,\n) {\n const { onClose, onBack, duration, transitionStatus, ...rest } = props\n const closable = !!onClose\n\n useEscape(onClose)\n useLockScroll()\n\n const controlRef = useModalFocus()\n const { ref: closeRef, handleClick } = useModalClose(onClose)\n\n const mergedRef = useMergeRefs([controlRef, closeRef, externalRef])\n\n if (!modalRoot) return null\n\n return ReactDOM.createPortal(\n <ModalPortalStyle\n $closable={closable}\n $duration={duration}\n $transition={transitionStatus}\n onClick={handleClick}\n >\n <ModalOverflowStyle>\n <ModalContentStyle\n tabIndex={-1}\n role='dialog'\n aria-modal='true'\n ref={mergedRef}\n $transition={transitionStatus}\n $duration={duration}\n {...rest}\n />\n </ModalOverflowStyle>\n </ModalPortalStyle>,\n modalRoot,\n )\n}\n\nexport default withTransition(forwardRef(ModalOverlay))\n"],"names":["React","forwardRef","ReactDOM","useMergeRefs","useEscape","useLockScroll","withTransition","modalRoot","ModalPortalStyle","ModalOverflowStyle","ModalContentStyle","useModalFocus","useModalClose","ModalOverlay","props","externalRef","onClose","onBack","duration","transitionStatus","rest","closable","controlRef","ref","closeRef","handleClick","mergedRef","createPortal","$closable","$duration","$transition","onClick","tabIndex","role","aria-modal"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,OAAOC,QAAQ,MAAM,WAAW,CAAA;AAChC,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,gBAAoB,CAAA;AAC3E,SAASC,cAAc,QAAQ,qBAAyB,CAAA;AACxD,SAASC,SAAS,QAAQ,gBAAoB,CAAA;AAE9C,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,iBAAiB,QACZ,sBAAsB,CAAA;AAC7B,SAASC,aAAa,QAAQ,iBAAiB,CAAA;AAC/C,SAASC,aAAa,QAAQ,iBAAiB,CAAA;AAE/C,SAASC,YAAY,CACnBC,KAA6B,EAC7BC,WAA0C,EAC1C;IACA,MAAM,EAAEC,OAAO,CAAA,EAAEC,MAAM,CAAA,EAAEC,QAAQ,CAAA,EAAEC,gBAAgB,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGN,KAAK;IACtE,MAAMO,QAAQ,GAAG,CAAC,CAACL,OAAO;IAE1BZ,SAAS,CAACY,OAAO,CAAC;IAClBX,aAAa,EAAE;IAEf,MAAMiB,UAAU,GAAGX,aAAa,EAAE;IAClC,MAAM,EAAEY,GAAG,EAAEC,QAAQ,CAAA,EAAEC,WAAW,CAAA,EAAE,GAAGb,aAAa,CAACI,OAAO,CAAC;IAE7D,MAAMU,SAAS,GAAGvB,YAAY,CAAC;QAACmB,UAAU;QAAEE,QAAQ;QAAET,WAAW;KAAC,CAAC;IAEnE,IAAI,CAACR,SAAS,EAAE,OAAO,IAAI,CAAA;IAE3B,qBAAOL,QAAQ,CAACyB,YAAY,eAC1B,oBAACnB,gBAAgB;QACfoB,SAAS,EAAEP,QAAQ;QACnBQ,SAAS,EAAEX,QAAQ;QACnBY,WAAW,EAAEX,gBAAgB;QAC7BY,OAAO,EAAEN,WAAW;qBAEpB,oBAAChB,kBAAkB,sBACjB,oBAACC,iBAAiB;QAChBsB,QAAQ,EAAE,CAAC,CAAC;QACZC,IAAI,EAAC,QAAQ;QACbC,YAAU,EAAC,MAAM;QACjBX,GAAG,EAAEG,SAAS;QACdI,WAAW,EAAEX,gBAAgB;QAC7BU,SAAS,EAAEX,QAAQ;OACfE,IAAI,EACR,CACiB,CACJ,EACnBb,SAAS,CACV,CAAA;AACH,CAAC;AAED,eAAeD,cAAc,eAACL,UAAU,CAACY,YAAY,CAAC,CAAC,CAAA"}
@@ -8,10 +8,7 @@ const getOpacity = (param)=>{
8
8
  };
9
9
  export const ModalPortalStyle = styled.div`
10
10
  position: fixed;
11
- top: 0;
12
- right: 0;
13
- bottom: 0;
14
- left: 0;
11
+ inset: 0;
15
12
  z-index: 300;
16
13
  background: var(--lido-color-overlay);
17
14
  cursor: ${(param)=>{
@@ -26,10 +23,7 @@ export const ModalPortalStyle = styled.div`
26
23
  `;
27
24
  export const ModalOverflowStyle = styled.div`
28
25
  position: absolute;
29
- top: 0;
30
- right: 0;
31
- bottom: 0;
32
- left: 0;
26
+ inset: 0;
33
27
  z-index: 2;
34
28
  overflow: auto;
35
29
  overflow-x: hidden;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/modal/ModalOverlayStyles.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport { TransitionInnerProps } from '@lidofinance/transition'\n\ntype TransitionProps = {\n $duration: number\n $transition: TransitionInnerProps['transitionStatus']\n}\n\nconst getOpacity = ({ $transition }: TransitionProps) => {\n return ['exiting', 'exited'].includes($transition) ? 0 : 1\n}\n\nexport const ModalPortalStyle = styled.div<\n { $closable: boolean } & TransitionProps\n>`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 300;\n background: var(--lido-color-overlay);\n cursor: ${({ $closable }) => ($closable ? 'pointer' : 'default')};\n transition: opacity ${({ $duration }) => $duration}ms ease;\n opacity: ${getOpacity};\n`\n\nexport const ModalOverflowStyle = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n overflow: auto;\n overflow-x: hidden;\n display: flex;\n`\n\nconst getTransform = ({ $transition }: TransitionProps) => {\n return ['exiting', 'exited'].includes($transition)\n ? 'translateY(6px)'\n : 'translateY(0)'\n}\n\nexport const ModalContentStyle = styled.div<TransitionProps>`\n box-sizing: border-box;\n max-width: 100%;\n padding: ${({ theme }) => theme.spaceMap.lg}px;\n outline: none;\n margin: auto;\n cursor: default;\n transition: transform ${({ $duration }) => $duration}ms ease-out;\n transform: ${getTransform};\n pointer-events: none;\n\n & > * {\n pointer-events: auto;\n }\n`\n"],"names":["styled","getOpacity","$transition","includes","ModalPortalStyle","div","$closable","$duration","ModalOverflowStyle","getTransform","ModalContentStyle","theme","spaceMap","lg"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AAQtC,MAAMC,UAAU,GAAG,SAAsC;QAArC,EAAEC,WAAW,CAAA,EAAmB;IAClD,OAAO;QAAC,SAAS;QAAE,QAAQ;KAAC,CAACC,QAAQ,CAACD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,OAAO,MAAME,gBAAgB,GAAGJ,MAAM,CAACK,GAAG,AAEzC,CAAC;;;;;;;;UAQQ,EAAE,SAAmB;QAAlB,EAAEC,SAAS,CAAA,EAAE;WAAMA,SAAS,GAAG,SAAS,GAAG,SAAS;AAAA,CAAC,CAAC;sBAC7C,EAAE,SAAmBC;QAAlB,EAAEA,SAAS,CAAA,EAAE;WAAKA,SAAS;AAAD,CAAC,CAAC;WAC1C,EAAEN,UAAU,CAAC;AACxB,CAAC,CAAA;AAED,OAAO,MAAMO,kBAAkB,GAAGR,MAAM,CAACK,GAAG,CAAC;;;;;;;;;;AAU7C,CAAC,CAAA;AAED,MAAMI,YAAY,GAAG,SAAsC;QAArC,EAAEP,WAAW,CAAA,EAAmB;IACpD,OAAO;QAAC,SAAS;QAAE,QAAQ;KAAC,CAACC,QAAQ,CAACD,WAAW,CAAC,GAC9C,iBAAiB,GACjB,eAAe,CAAA;AACrB,CAAC;AAED,OAAO,MAAMQ,iBAAiB,GAAGV,MAAM,CAACK,GAAG,AAAiB,CAAC;;;WAGlD,EAAE,SAAeM;QAAd,EAAEA,KAAK,CAAA,EAAE;WAAKA,KAAK,CAACC,QAAQ,CAACC,EAAE;AAAD,CAAC,CAAC;;;;wBAItB,EAAE,SAAmBN;QAAlB,EAAEA,SAAS,CAAA,EAAE;WAAKA,SAAS;AAAD,CAAC,CAAC;aAC1C,EAAEE,YAAY,CAAC;;;;;;AAM5B,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/modal/ModalOverlayStyles.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport { TransitionInnerProps } from '@lidofinance/transition'\n\ntype TransitionProps = {\n $duration: number\n $transition: TransitionInnerProps['transitionStatus']\n}\n\nconst getOpacity = ({ $transition }: TransitionProps) => {\n return ['exiting', 'exited'].includes($transition) ? 0 : 1\n}\n\nexport const ModalPortalStyle = styled.div<\n { $closable: boolean } & TransitionProps\n>`\n position: fixed;\n inset: 0;\n z-index: 300;\n background: var(--lido-color-overlay);\n cursor: ${({ $closable }) => ($closable ? 'pointer' : 'default')};\n transition: opacity ${({ $duration }) => $duration}ms ease;\n opacity: ${getOpacity};\n`\n\nexport const ModalOverflowStyle = styled.div`\n position: absolute;\n inset: 0;\n z-index: 2;\n overflow: auto;\n overflow-x: hidden;\n display: flex;\n`\n\nconst getTransform = ({ $transition }: TransitionProps) => {\n return ['exiting', 'exited'].includes($transition)\n ? 'translateY(6px)'\n : 'translateY(0)'\n}\n\nexport const ModalContentStyle = styled.div<TransitionProps>`\n box-sizing: border-box;\n max-width: 100%;\n padding: ${({ theme }) => theme.spaceMap.lg}px;\n outline: none;\n margin: auto;\n cursor: default;\n transition: transform ${({ $duration }) => $duration}ms ease-out;\n transform: ${getTransform};\n pointer-events: none;\n\n & > * {\n pointer-events: auto;\n }\n`\n"],"names":["styled","getOpacity","$transition","includes","ModalPortalStyle","div","$closable","$duration","ModalOverflowStyle","getTransform","ModalContentStyle","theme","spaceMap","lg"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AAQtC,MAAMC,UAAU,GAAG,SAAsC;QAArC,EAAEC,WAAW,CAAA,EAAmB;IAClD,OAAO;QAAC,SAAS;QAAE,QAAQ;KAAC,CAACC,QAAQ,CAACD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,OAAO,MAAME,gBAAgB,GAAGJ,MAAM,CAACK,GAAG,AAEzC,CAAC;;;;;UAKQ,EAAE,SAAmB;QAAlB,EAAEC,SAAS,CAAA,EAAE;WAAMA,SAAS,GAAG,SAAS,GAAG,SAAS;AAAA,CAAC,CAAC;sBAC7C,EAAE,SAAmBC;QAAlB,EAAEA,SAAS,CAAA,EAAE;WAAKA,SAAS;AAAD,CAAC,CAAC;WAC1C,EAAEN,UAAU,CAAC;AACxB,CAAC,CAAA;AAED,OAAO,MAAMO,kBAAkB,GAAGR,MAAM,CAACK,GAAG,CAAC;;;;;;;AAO7C,CAAC,CAAA;AAED,MAAMI,YAAY,GAAG,SAAsC;QAArC,EAAEP,WAAW,CAAA,EAAmB;IACpD,OAAO;QAAC,SAAS;QAAE,QAAQ;KAAC,CAACC,QAAQ,CAACD,WAAW,CAAC,GAC9C,iBAAiB,GACjB,eAAe,CAAA;AACrB,CAAC;AAED,OAAO,MAAMQ,iBAAiB,GAAGV,MAAM,CAACK,GAAG,AAAiB,CAAC;;;WAGlD,EAAE,SAAeM;QAAd,EAAEA,KAAK,CAAA,EAAE;WAAKA,KAAK,CAACC,QAAQ,CAACC,EAAE;AAAD,CAAC,CAAC;;;;wBAItB,EAAE,SAAmBN;QAAlB,EAAEA,SAAS,CAAA,EAAE;WAAKA,SAAS;AAAD,CAAC,CAAC;aAC1C,EAAEE,YAAY,CAAC;;;;;;AAM5B,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/modal/useModalClose.ts"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\n\nexport const useModalClose = <T extends HTMLDivElement>(\n callback?: () => void\n): {\n ref: React.RefObject<T>\n handleClick: (event: React.MouseEvent<T, MouseEvent>) => void\n} => {\n const ref = useRef<T>(null)\n\n const handleClick = useCallback(\n (event: React.MouseEvent<T, MouseEvent>) => {\n const contentElement = ref.current\n\n if (!contentElement) return\n if (!(event.target instanceof Node)) return\n\n if (contentElement.contains(event.target)) return\n\n callback?.()\n },\n [callback]\n )\n\n return {\n ref,\n handleClick,\n }\n}\n"],"names":["React","useCallback","useRef","useModalClose","callback","ref","handleClick","event","contentElement","current","target","Node","contains"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,MAAM,QAAQ,OAAO,CAAA;AAElD,OAAO,MAAMC,aAAa,GAAG,CAC3BC,QAAqB,GAIlB;IACH,MAAMC,GAAG,GAAGH,MAAM,CAAI,IAAI,CAAC;IAE3B,MAAMI,WAAW,GAAGL,WAAW,CAC7B,CAACM,KAAsC,GAAK;QAC1C,MAAMC,cAAc,GAAGH,GAAG,CAACI,OAAO;QAElC,IAAI,CAACD,cAAc,EAAE,OAAM;QAC3B,IAAI,CAAC,CAACD,KAAK,CAACG,MAAM,YAAYC,IAAI,CAAC,EAAE,OAAM;QAE3C,IAAIH,cAAc,CAACI,QAAQ,CAACL,KAAK,CAACG,MAAM,CAAC,EAAE,OAAM;QAEjDN,QAAQ,aAARA,QAAQ,WAAI,GAAZA,KAAAA,CAAY,GAAZA,QAAQ,EAAI,CAAA;IACd,CAAC,EACD;QAACA,QAAQ;KAAC,CACX;IAED,OAAO;QACLC,GAAG;QACHC,WAAW;KACZ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/modal/useModalClose.ts"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\n\nexport const useModalClose = <T extends HTMLDivElement>(\n callback?: () => void,\n): {\n ref: React.RefObject<T>\n handleClick: (event: React.MouseEvent<T, MouseEvent>) => void\n} => {\n const ref = useRef<T>(null)\n\n const handleClick = useCallback(\n (event: React.MouseEvent<T, MouseEvent>) => {\n const contentElement = ref.current\n\n if (!contentElement) return\n if (!(event.target instanceof Node)) return\n\n if (contentElement.contains(event.target)) return\n\n callback?.()\n },\n [callback],\n )\n\n return {\n ref,\n handleClick,\n }\n}\n"],"names":["React","useCallback","useRef","useModalClose","callback","ref","handleClick","event","contentElement","current","target","Node","contains"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,MAAM,QAAQ,OAAO,CAAA;AAElD,OAAO,MAAMC,aAAa,GAAG,CAC3BC,QAAqB,GAIlB;IACH,MAAMC,GAAG,GAAGH,MAAM,CAAI,IAAI,CAAC;IAE3B,MAAMI,WAAW,GAAGL,WAAW,CAC7B,CAACM,KAAsC,GAAK;QAC1C,MAAMC,cAAc,GAAGH,GAAG,CAACI,OAAO;QAElC,IAAI,CAACD,cAAc,EAAE,OAAM;QAC3B,IAAI,CAAC,CAACD,KAAK,CAACG,MAAM,YAAYC,IAAI,CAAC,EAAE,OAAM;QAE3C,IAAIH,cAAc,CAACI,QAAQ,CAACL,KAAK,CAACG,MAAM,CAAC,EAAE,OAAM;QAEjDN,QAAQ,aAARA,QAAQ,WAAI,GAAZA,KAAAA,CAAY,GAAZA,QAAQ,EAAI,CAAA;IACd,CAAC,EACD;QAACA,QAAQ;KAAC,CACX;IAED,OAAO;QACLC,GAAG;QACHC,WAAW;KACZ,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/modal/useModalFocus.ts"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react'\nimport { useInterceptFocus } from '@lidofinance/hooks'\nimport { FOCUSABLE_ELEMENTS } from './constants'\n\nexport const useModalFocus = (): React.RefObject<HTMLDivElement> => {\n const modalRef = useRef<HTMLDivElement>(null)\n\n const getFocusableNodes = useCallback(() => {\n const nodes =\n modalRef.current?.querySelectorAll(FOCUSABLE_ELEMENTS.join(',')) ?? []\n\n return Array.from(nodes).filter(\n (node): node is HTMLElement =>\n node && node instanceof HTMLElement && node.offsetParent !== null\n )\n }, [])\n\n const handleRetainFocus = useCallback(\n (event: KeyboardEvent) => {\n const focusableNodes = getFocusableNodes()\n\n if (focusableNodes.length === 0) return\n\n const currentElement = document.activeElement\n const focusedItemIndex =\n currentElement instanceof HTMLElement &&\n focusableNodes.indexOf(currentElement)\n\n if (event.shiftKey && focusedItemIndex === 0) {\n focusableNodes[focusableNodes.length - 1].focus()\n event.preventDefault()\n }\n\n if (\n !event.shiftKey &&\n focusableNodes.length > 0 &&\n focusedItemIndex === focusableNodes.length - 1\n ) {\n focusableNodes[0].focus()\n event.preventDefault()\n }\n },\n [getFocusableNodes]\n )\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.code === 'Tab') handleRetainFocus(event)\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [handleRetainFocus])\n\n const [interceptFocus, restoreFocus] = useInterceptFocus()\n\n useEffect(() => {\n if (!modalRef.current) return\n\n interceptFocus(modalRef.current)\n return restoreFocus\n }, [interceptFocus, restoreFocus])\n\n return modalRef\n}\n"],"names":["React","useCallback","useEffect","useRef","useInterceptFocus","FOCUSABLE_ELEMENTS","useModalFocus","modalRef","getFocusableNodes","nodes","current","querySelectorAll","join","Array","from","filter","node","HTMLElement","offsetParent","handleRetainFocus","event","focusableNodes","length","currentElement","document","activeElement","focusedItemIndex","indexOf","shiftKey","focus","preventDefault","handleKeyDown","code","addEventListener","removeEventListener","interceptFocus","restoreFocus"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO,CAAA;AAC7D,SAASC,iBAAiB,QAAQ,gBAAoB,CAAA;AACtD,SAASC,kBAAkB,QAAQ,aAAa,CAAA;AAEhD,OAAO,MAAMC,aAAa,GAAG,IAAuC;IAClE,MAAMC,QAAQ,GAAGJ,MAAM,CAAiB,IAAI,CAAC;IAE7C,MAAMK,iBAAiB,GAAGP,WAAW,CAAC,IAAM;YAExCM,GAAgB;YAAhBA,IAAgE;QADlE,MAAME,KAAK,GACTF,CAAAA,IAAgE,GAAhEA,CAAAA,GAAgB,GAAhBA,QAAQ,CAACG,OAAO,cAAhBH,GAAgB,WAAkB,GAAlCA,KAAAA,CAAkC,GAAlCA,GAAgB,CAAEI,gBAAgB,CAACN,kBAAkB,CAACO,IAAI,CAAC,GAAG,CAAC,CAAC,cAAhEL,IAAgE,cAAhEA,IAAgE,GAAI,EAAE;QAExE,OAAOM,KAAK,CAACC,IAAI,CAACL,KAAK,CAAC,CAACM,MAAM,CAC7B,CAACC,IAAI,GACHA,IAAI,IAAIA,IAAI,YAAYC,WAAW,IAAID,IAAI,CAACE,YAAY,KAAK,IAAI,CACpE,CAAA;IACH,CAAC,EAAE,EAAE,CAAC;IAEN,MAAMC,iBAAiB,GAAGlB,WAAW,CACnC,CAACmB,KAAoB,GAAK;QACxB,MAAMC,cAAc,GAAGb,iBAAiB,EAAE;QAE1C,IAAIa,cAAc,CAACC,MAAM,KAAK,CAAC,EAAE,OAAM;QAEvC,MAAMC,cAAc,GAAGC,QAAQ,CAACC,aAAa;QAC7C,MAAMC,gBAAgB,GACpBH,cAAc,YAAYN,WAAW,IACrCI,cAAc,CAACM,OAAO,CAACJ,cAAc,CAAC;QAExC,IAAIH,KAAK,CAACQ,QAAQ,IAAIF,gBAAgB,KAAK,CAAC,EAAE;YAC5CL,cAAc,CAACA,cAAc,CAACC,MAAM,GAAG,CAAC,CAAC,CAACO,KAAK,EAAE;YACjDT,KAAK,CAACU,cAAc,EAAE;QACxB,CAAC;QAED,IACE,CAACV,KAAK,CAACQ,QAAQ,IACfP,cAAc,CAACC,MAAM,GAAG,CAAC,IACzBI,gBAAgB,KAAKL,cAAc,CAACC,MAAM,GAAG,CAAC,EAC9C;YACAD,cAAc,CAAC,CAAC,CAAC,CAACQ,KAAK,EAAE;YACzBT,KAAK,CAACU,cAAc,EAAE;QACxB,CAAC;IACH,CAAC,EACD;QAACtB,iBAAiB;KAAC,CACpB;IAEDN,SAAS,CAAC,IAAM;QACd,MAAM6B,aAAa,GAAG,CAACX,KAAoB,GAAK;YAC9C,IAAIA,KAAK,CAACY,IAAI,KAAK,KAAK,EAAEb,iBAAiB,CAACC,KAAK,CAAC;QACpD,CAAC;QAEDI,QAAQ,CAACS,gBAAgB,CAAC,SAAS,EAAEF,aAAa,CAAC;QACnD,OAAO,IAAMP,QAAQ,CAACU,mBAAmB,CAAC,SAAS,EAAEH,aAAa,CAAC,CAAA;IACrE,CAAC,EAAE;QAACZ,iBAAiB;KAAC,CAAC;IAEvB,MAAM,CAACgB,cAAc,EAAEC,YAAY,CAAC,GAAGhC,iBAAiB,EAAE;IAE1DF,SAAS,CAAC,IAAM;QACd,IAAI,CAACK,QAAQ,CAACG,OAAO,EAAE,OAAM;QAE7ByB,cAAc,CAAC5B,QAAQ,CAACG,OAAO,CAAC;QAChC,OAAO0B,YAAY,CAAA;IACrB,CAAC,EAAE;QAACD,cAAc;QAAEC,YAAY;KAAC,CAAC;IAElC,OAAO7B,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/modal/useModalFocus.ts"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react'\nimport { useInterceptFocus } from '@lidofinance/hooks'\nimport { FOCUSABLE_ELEMENTS } from './constants'\n\nexport const useModalFocus = (): React.RefObject<HTMLDivElement> => {\n const modalRef = useRef<HTMLDivElement>(null)\n\n const getFocusableNodes = useCallback(() => {\n const nodes =\n modalRef.current?.querySelectorAll(FOCUSABLE_ELEMENTS.join(',')) ?? []\n\n return Array.from(nodes).filter(\n (node): node is HTMLElement =>\n node && node instanceof HTMLElement && node.offsetParent !== null,\n )\n }, [])\n\n const handleRetainFocus = useCallback(\n (event: KeyboardEvent) => {\n const focusableNodes = getFocusableNodes()\n\n if (focusableNodes.length === 0) return\n\n const currentElement = document.activeElement\n const focusedItemIndex =\n currentElement instanceof HTMLElement &&\n focusableNodes.indexOf(currentElement)\n\n if (event.shiftKey && focusedItemIndex === 0) {\n focusableNodes[focusableNodes.length - 1].focus()\n event.preventDefault()\n }\n\n if (\n !event.shiftKey &&\n focusableNodes.length > 0 &&\n focusedItemIndex === focusableNodes.length - 1\n ) {\n focusableNodes[0].focus()\n event.preventDefault()\n }\n },\n [getFocusableNodes],\n )\n\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.code === 'Tab') handleRetainFocus(event)\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [handleRetainFocus])\n\n const [interceptFocus, restoreFocus] = useInterceptFocus()\n\n useEffect(() => {\n if (!modalRef.current) return\n\n interceptFocus(modalRef.current)\n return restoreFocus\n }, [interceptFocus, restoreFocus])\n\n return modalRef\n}\n"],"names":["React","useCallback","useEffect","useRef","useInterceptFocus","FOCUSABLE_ELEMENTS","useModalFocus","modalRef","getFocusableNodes","nodes","current","querySelectorAll","join","Array","from","filter","node","HTMLElement","offsetParent","handleRetainFocus","event","focusableNodes","length","currentElement","document","activeElement","focusedItemIndex","indexOf","shiftKey","focus","preventDefault","handleKeyDown","code","addEventListener","removeEventListener","interceptFocus","restoreFocus"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO,CAAA;AAC7D,SAASC,iBAAiB,QAAQ,gBAAoB,CAAA;AACtD,SAASC,kBAAkB,QAAQ,aAAa,CAAA;AAEhD,OAAO,MAAMC,aAAa,GAAG,IAAuC;IAClE,MAAMC,QAAQ,GAAGJ,MAAM,CAAiB,IAAI,CAAC;IAE7C,MAAMK,iBAAiB,GAAGP,WAAW,CAAC,IAAM;YAExCM,GAAgB;YAAhBA,IAAgE;QADlE,MAAME,KAAK,GACTF,CAAAA,IAAgE,GAAhEA,CAAAA,GAAgB,GAAhBA,QAAQ,CAACG,OAAO,cAAhBH,GAAgB,WAAkB,GAAlCA,KAAAA,CAAkC,GAAlCA,GAAgB,CAAEI,gBAAgB,CAACN,kBAAkB,CAACO,IAAI,CAAC,GAAG,CAAC,CAAC,cAAhEL,IAAgE,cAAhEA,IAAgE,GAAI,EAAE;QAExE,OAAOM,KAAK,CAACC,IAAI,CAACL,KAAK,CAAC,CAACM,MAAM,CAC7B,CAACC,IAAI,GACHA,IAAI,IAAIA,IAAI,YAAYC,WAAW,IAAID,IAAI,CAACE,YAAY,KAAK,IAAI,CACpE,CAAA;IACH,CAAC,EAAE,EAAE,CAAC;IAEN,MAAMC,iBAAiB,GAAGlB,WAAW,CACnC,CAACmB,KAAoB,GAAK;QACxB,MAAMC,cAAc,GAAGb,iBAAiB,EAAE;QAE1C,IAAIa,cAAc,CAACC,MAAM,KAAK,CAAC,EAAE,OAAM;QAEvC,MAAMC,cAAc,GAAGC,QAAQ,CAACC,aAAa;QAC7C,MAAMC,gBAAgB,GACpBH,cAAc,YAAYN,WAAW,IACrCI,cAAc,CAACM,OAAO,CAACJ,cAAc,CAAC;QAExC,IAAIH,KAAK,CAACQ,QAAQ,IAAIF,gBAAgB,KAAK,CAAC,EAAE;YAC5CL,cAAc,CAACA,cAAc,CAACC,MAAM,GAAG,CAAC,CAAC,CAACO,KAAK,EAAE;YACjDT,KAAK,CAACU,cAAc,EAAE;QACxB,CAAC;QAED,IACE,CAACV,KAAK,CAACQ,QAAQ,IACfP,cAAc,CAACC,MAAM,GAAG,CAAC,IACzBI,gBAAgB,KAAKL,cAAc,CAACC,MAAM,GAAG,CAAC,EAC9C;YACAD,cAAc,CAAC,CAAC,CAAC,CAACQ,KAAK,EAAE;YACzBT,KAAK,CAACU,cAAc,EAAE;QACxB,CAAC;IACH,CAAC,EACD;QAACtB,iBAAiB;KAAC,CACpB;IAEDN,SAAS,CAAC,IAAM;QACd,MAAM6B,aAAa,GAAG,CAACX,KAAoB,GAAK;YAC9C,IAAIA,KAAK,CAACY,IAAI,KAAK,KAAK,EAAEb,iBAAiB,CAACC,KAAK,CAAC;QACpD,CAAC;QAEDI,QAAQ,CAACS,gBAAgB,CAAC,SAAS,EAAEF,aAAa,CAAC;QACnD,OAAO,IAAMP,QAAQ,CAACU,mBAAmB,CAAC,SAAS,EAAEH,aAAa,CAAC,CAAA;IACrE,CAAC,EAAE;QAACZ,iBAAiB;KAAC,CAAC;IAEvB,MAAM,CAACgB,cAAc,EAAEC,YAAY,CAAC,GAAGhC,iBAAiB,EAAE;IAE1DF,SAAS,CAAC,IAAM;QACd,IAAI,CAACK,QAAQ,CAACG,OAAO,EAAE,OAAM;QAE7ByB,cAAc,CAAC5B,QAAQ,CAACG,OAAO,CAAC;QAChC,OAAO0B,YAAY,CAAA;IACrB,CAAC,EAAE;QAACD,cAAc;QAAEC,YAAY;KAAC,CAAC;IAElC,OAAO7B,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/pagination/Pagination.tsx"],"sourcesContent":["import React, { useMemo, useState, useEffect } from 'react'\nimport styled from 'styled-components'\n\nimport { ArrowLeft, ArrowRight } from '@lidofinance/icons'\nimport { Box } from '@lidofinance/box'\n\nimport {\n PaginationProps,\n PaginationItemProps,\n PaginationItemVariant,\n} from './types'\nimport getShowingPages from './getShowingPages'\nimport PaginationItem from './PaginationItem'\n\nconst getActiveItem = (length: number, activeItem: number): number => {\n const isActiveNotInRange: boolean = activeItem >= length || activeItem < 0\n\n if (!activeItem || isActiveNotInRange) {\n return 1 // default active item will be the first one\n }\n\n return activeItem\n}\n\nconst PaginationBlock = styled(Box)`\n display: flex;\n gap: 8px;\n`\n\nconst Pagination: React.FC<PaginationProps> = (props) => {\n const { onItemClick, pagesCount, activePage = 1, siblingCount } = props\n\n const [currentPage, setCurrPage] = useState(\n getActiveItem(pagesCount, activePage)\n )\n\n const showingPages = useMemo<(string | number)[]>(\n () => getShowingPages(pagesCount, currentPage, siblingCount),\n [pagesCount, currentPage, siblingCount]\n )\n\n useEffect(() => {\n setCurrPage((page) => (page !== activePage ? activePage : page))\n }, [activePage])\n\n if (pagesCount <= 0) {\n return null\n }\n\n const onPageItemClick = (page: number, e: React.MouseEvent) => {\n onItemClick(page, e)\n setCurrPage(page)\n }\n\n const onPreviousClick = () => {\n if (currentPage === 1) {\n return // disabled\n }\n\n onItemClick(currentPage - 1)\n setCurrPage(currentPage - 1)\n }\n\n const onNextClick = () => {\n if (currentPage === pagesCount) {\n return // disabled\n }\n\n onItemClick(currentPage + 1)\n setCurrPage(currentPage + 1)\n }\n\n return (\n <PaginationBlock>\n <PaginationItem\n disabled={currentPage === 1}\n icon={<ArrowLeft />}\n onClick={onPreviousClick}\n />\n\n {showingPages.map((page, index) => {\n const isDisabled = page === '...'\n const variant: PaginationItemProps['variant'] =\n page === currentPage\n ? PaginationItemVariant.active\n : PaginationItemVariant.default\n\n return (\n <PaginationItem\n key={page === '...' ? `${page}${index}` : page}\n icon={page}\n variant={variant}\n disabled={isDisabled}\n onClick={onPageItemClick.bind(null, page)}\n />\n )\n })}\n\n <PaginationItem\n disabled={currentPage === pagesCount}\n icon={<ArrowRight />}\n onClick={onNextClick}\n />\n </PaginationBlock>\n )\n}\n\nexport default Pagination\n"],"names":["React","useMemo","useState","useEffect","styled","ArrowLeft","ArrowRight","Box","PaginationItemVariant","getShowingPages","PaginationItem","getActiveItem","length","activeItem","isActiveNotInRange","PaginationBlock","Pagination","props","onItemClick","pagesCount","activePage","siblingCount","currentPage","setCurrPage","showingPages","page","onPageItemClick","e","onPreviousClick","onNextClick","disabled","icon","onClick","map","index","isDisabled","variant","active","default","key","bind"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO,CAAA;AAC3D,OAAOC,MAAM,MAAM,mBAAmB,CAAA;AAEtC,SAASC,SAAS,EAAEC,UAAU,QAAQ,gBAAoB,CAAA;AAC1D,SAASC,GAAG,QAAQ,cAAkB,CAAA;AAEtC,SAGEC,qBAAqB,QAChB,SAAS,CAAA;AAChB,OAAOC,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAOC,cAAc,MAAM,kBAAkB,CAAA;AAE7C,MAAMC,aAAa,GAAG,CAACC,MAAc,EAAEC,UAAkB,GAAa;IACpE,MAAMC,kBAAkB,GAAYD,UAAU,IAAID,MAAM,IAAIC,UAAU,GAAG,CAAC;IAE1E,IAAI,CAACA,UAAU,IAAIC,kBAAkB,EAAE;QACrC,OAAO,CAAC,CAAC,4CAA4C;SAA7C;IACV,CAAC;IAED,OAAOD,UAAU,CAAA;AACnB,CAAC;AAED,MAAME,eAAe,GAAGX,MAAM,CAACG,GAAG,CAAC,CAAC;;;AAGpC,CAAC;AAED,MAAMS,UAAU,GAA8B,CAACC,KAAK,GAAK;IACvD,MAAM,EAAEC,WAAW,CAAA,EAAEC,UAAU,CAAA,EAAEC,UAAU,EAAG,CAAC,CAAA,EAAEC,YAAY,CAAA,EAAE,GAAGJ,KAAK;IAEvE,MAAM,CAACK,WAAW,EAAEC,WAAW,CAAC,GAAGrB,QAAQ,CACzCS,aAAa,CAACQ,UAAU,EAAEC,UAAU,CAAC,CACtC;IAED,MAAMI,YAAY,GAAGvB,OAAO,CAC1B,IAAMQ,eAAe,CAACU,UAAU,EAAEG,WAAW,EAAED,YAAY,CAAC,EAC5D;QAACF,UAAU;QAAEG,WAAW;QAAED,YAAY;KAAC,CACxC;IAEDlB,SAAS,CAAC,IAAM;QACdoB,WAAW,CAAC,CAACE,IAAI,GAAMA,IAAI,KAAKL,UAAU,GAAGA,UAAU,GAAGK,IAAI,AAAC,CAAC;IAClE,CAAC,EAAE;QAACL,UAAU;KAAC,CAAC;IAEhB,IAAID,UAAU,IAAI,CAAC,EAAE;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAMO,eAAe,GAAG,CAACD,IAAY,EAAEE,CAAmB,GAAK;QAC7DT,WAAW,CAACO,IAAI,EAAEE,CAAC,CAAC;QACpBJ,WAAW,CAACE,IAAI,CAAC;IACnB,CAAC;IAED,MAAMG,eAAe,GAAG,IAAM;QAC5B,IAAIN,WAAW,KAAK,CAAC,EAAE;YACrB,OAAM,CAAC,WAAW;QACpB,CAAC;QAEDJ,WAAW,CAACI,WAAW,GAAG,CAAC,CAAC;QAC5BC,WAAW,CAACD,WAAW,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAMO,WAAW,GAAG,IAAM;QACxB,IAAIP,WAAW,KAAKH,UAAU,EAAE;YAC9B,OAAM,CAAC,WAAW;QACpB,CAAC;QAEDD,WAAW,CAACI,WAAW,GAAG,CAAC,CAAC;QAC5BC,WAAW,CAACD,WAAW,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,qBACE,oBAACP,eAAe,sBACd,oBAACL,cAAc;QACboB,QAAQ,EAAER,WAAW,KAAK,CAAC;QAC3BS,IAAI,gBAAE,oBAAC1B,SAAS,OAAG;QACnB2B,OAAO,EAAEJ,eAAe;MACxB,EAEDJ,YAAY,CAACS,GAAG,CAAC,CAACR,IAAI,EAAES,KAAK,GAAK;QACjC,MAAMC,UAAU,GAAGV,IAAI,KAAK,KAAK;QACjC,MAAMW,OAAO,GACXX,IAAI,KAAKH,WAAW,GAChBd,qBAAqB,CAAC6B,MAAM,GAC5B7B,qBAAqB,CAAC8B,OAAO;QAEnC,qBACE,oBAAC5B,cAAc;YACb6B,GAAG,EAAEd,IAAI,KAAK,KAAK,GAAG,CAAC,EAAEA,IAAI,CAAC,EAAES,KAAK,CAAC,CAAC,GAAGT,IAAI;YAC9CM,IAAI,EAAEN,IAAI;YACVW,OAAO,EAAEA,OAAO;YAChBN,QAAQ,EAAEK,UAAU;YACpBH,OAAO,EAAEN,eAAe,CAACc,IAAI,CAAC,IAAI,EAAEf,IAAI,CAAC;UACzC,CACH;IACH,CAAC,CAAC,gBAEF,oBAACf,cAAc;QACboB,QAAQ,EAAER,WAAW,KAAKH,UAAU;QACpCY,IAAI,gBAAE,oBAACzB,UAAU,OAAG;QACpB0B,OAAO,EAAEH,WAAW;MACpB,CACc,CACnB;AACH,CAAC;AAED,eAAeb,UAAU,CAAA"}
1
+ {"version":3,"sources":["../../../packages/pagination/Pagination.tsx"],"sourcesContent":["import React, { useMemo, useState, useEffect } from 'react'\nimport styled from 'styled-components'\n\nimport { ArrowLeft, ArrowRight } from '@lidofinance/icons'\nimport { Box } from '@lidofinance/box'\n\nimport {\n PaginationProps,\n PaginationItemProps,\n PaginationItemVariant,\n} from './types'\nimport getShowingPages from './getShowingPages'\nimport PaginationItem from './PaginationItem'\n\nconst getActiveItem = (length: number, activeItem: number): number => {\n const isActiveNotInRange: boolean = activeItem >= length || activeItem < 0\n\n if (!activeItem || isActiveNotInRange) {\n return 1 // default active item will be the first one\n }\n\n return activeItem\n}\n\nconst PaginationBlock = styled(Box)`\n display: flex;\n gap: 8px;\n`\n\nconst Pagination: React.FC<PaginationProps> = (props) => {\n const { onItemClick, pagesCount, activePage = 1, siblingCount } = props\n\n const [currentPage, setCurrPage] = useState(\n getActiveItem(pagesCount, activePage),\n )\n\n const showingPages = useMemo<(string | number)[]>(\n () => getShowingPages(pagesCount, currentPage, siblingCount),\n [pagesCount, currentPage, siblingCount],\n )\n\n useEffect(() => {\n setCurrPage((page) => (page !== activePage ? activePage : page))\n }, [activePage])\n\n if (pagesCount <= 0) {\n return null\n }\n\n const onPageItemClick = (page: number, e: React.MouseEvent) => {\n onItemClick(page, e)\n setCurrPage(page)\n }\n\n const onPreviousClick = () => {\n if (currentPage === 1) {\n return // disabled\n }\n\n onItemClick(currentPage - 1)\n setCurrPage(currentPage - 1)\n }\n\n const onNextClick = () => {\n if (currentPage === pagesCount) {\n return // disabled\n }\n\n onItemClick(currentPage + 1)\n setCurrPage(currentPage + 1)\n }\n\n return (\n <PaginationBlock>\n <PaginationItem\n disabled={currentPage === 1}\n icon={<ArrowLeft />}\n onClick={onPreviousClick}\n />\n\n {showingPages.map((page, index) => {\n const isDisabled = page === '...'\n const variant: PaginationItemProps['variant'] =\n page === currentPage\n ? PaginationItemVariant.active\n : PaginationItemVariant.default\n\n return (\n <PaginationItem\n key={page === '...' ? `${page}${index}` : page}\n icon={page}\n variant={variant}\n disabled={isDisabled}\n onClick={onPageItemClick.bind(null, page)}\n />\n )\n })}\n\n <PaginationItem\n disabled={currentPage === pagesCount}\n icon={<ArrowRight />}\n onClick={onNextClick}\n />\n </PaginationBlock>\n )\n}\n\nexport default Pagination\n"],"names":["React","useMemo","useState","useEffect","styled","ArrowLeft","ArrowRight","Box","PaginationItemVariant","getShowingPages","PaginationItem","getActiveItem","length","activeItem","isActiveNotInRange","PaginationBlock","Pagination","props","onItemClick","pagesCount","activePage","siblingCount","currentPage","setCurrPage","showingPages","page","onPageItemClick","e","onPreviousClick","onNextClick","disabled","icon","onClick","map","index","isDisabled","variant","active","default","key","bind"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/pagination/getShowingPages.ts"],"sourcesContent":["import { SiblingsCount } from './types'\n\nexport const arrayPusher = (): ((\n arr: unknown[],\n element: unknown\n) => number) => {\n const innerArray: unknown[] = []\n\n return (arr: unknown[], element: unknown) => {\n if (!innerArray.includes(element) || element === '...') {\n innerArray.push(element)\n arr.push(element)\n }\n\n return innerArray.length\n }\n}\n\nexport const numberSort = (a: number, b: number): number => a - b\n\nexport const range = (start: number, end: number): number[] => {\n const length = end - start + 1\n return Array.from({ length }, (_, i) => start + i)\n}\n\nconst getShowingPages = (\n pagesCount: number,\n currPage = 1,\n siblingCount: SiblingsCount = 1\n): (string | number)[] => {\n if (!pagesCount) {\n return []\n }\n\n const showingPagesCount = siblingCount === 1 ? 7 : 5\n if (pagesCount <= showingPagesCount) {\n return range(1, pagesCount)\n }\n\n const firstPage = 1\n const lastPage = pagesCount\n\n const firstPages: number[] = []\n const firstEllipsis: string[] = []\n const middlePages: number[] = []\n const lastEllipsis: string[] = []\n const lastPages: number[] = []\n\n const pusher = arrayPusher()\n pusher(firstPages, firstPage)\n\n // see getShowingPages.test.ts for full example\n let siblings\n switch (true) {\n case firstPage === currPage:\n siblings = [0, 1, 1 + siblingCount] //currPage=1 => [1. 2, 3?]\n break\n\n case lastPage === currPage:\n siblings = [-siblingCount - 1, -1, 0] // currPage=10 => [?8, 9, 10]\n break\n\n case siblingCount === 1 && currPage - firstPage === 3:\n siblings = [-2, -1, 0, 1] // currPage=4 => [2, 3, 4, 5]\n break\n\n case siblingCount === 1 && lastPage - currPage === 3:\n siblings = [-1, 0, 1, 2] // currPage=7 => [6, 7, 8, 9]\n break\n\n case siblingCount === 1:\n siblings = [-1, 0, 1] // currPage=5 => [4, 5, 6]\n break\n\n case siblingCount === 0 && currPage - firstPage === 2:\n siblings = [-1, 0] // currPage=3 => [1, 2, 3]\n break\n\n case siblingCount === 0 && lastPage - currPage === 2:\n siblings = [0, 1] // currPage=8 => [8, 9]\n break\n\n default:\n siblings = [0] // no siblings\n break\n }\n\n siblings.forEach((sibling) => {\n pusher(middlePages, currPage + sibling)\n })\n\n if (currPage - firstPage >= 3 + siblingCount) {\n pusher(firstEllipsis, '...')\n }\n\n if (lastPage - currPage >= 3 + siblingCount) {\n pusher(lastEllipsis, '...')\n }\n\n const count = pusher(lastPages, lastPage)\n\n const rest = showingPagesCount - count\n for (let i = rest; i > 0; i--) {\n if (currPage < pagesCount / 2) {\n pusher(lastPages, lastPage - i)\n } else {\n pusher(firstPages, firstPage + i)\n }\n }\n\n return [\n ...firstPages.sort(numberSort),\n ...firstEllipsis,\n ...middlePages,\n ...lastEllipsis,\n ...lastPages.sort(numberSort),\n ]\n}\n\nexport default getShowingPages\n"],"names":["arrayPusher","innerArray","arr","element","includes","push","length","numberSort","a","b","range","start","end","Array","from","_","i","getShowingPages","pagesCount","currPage","siblingCount","showingPagesCount","firstPage","lastPage","firstPages","firstEllipsis","middlePages","lastEllipsis","lastPages","pusher","siblings","forEach","sibling","count","rest","sort"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../packages/pagination/getShowingPages.ts"],"sourcesContent":["import { SiblingsCount } from './types'\n\nexport const arrayPusher = (): ((\n arr: unknown[],\n element: unknown,\n) => number) => {\n const innerArray: unknown[] = []\n\n return (arr: unknown[], element: unknown) => {\n if (!innerArray.includes(element) || element === '...') {\n innerArray.push(element)\n arr.push(element)\n }\n\n return innerArray.length\n }\n}\n\nexport const numberSort = (a: number, b: number): number => a - b\n\nexport const range = (start: number, end: number): number[] => {\n const length = end - start + 1\n return Array.from({ length }, (_, i) => start + i)\n}\n\nconst getShowingPages = (\n pagesCount: number,\n currPage = 1,\n siblingCount: SiblingsCount = 1,\n): (string | number)[] => {\n if (!pagesCount) {\n return []\n }\n\n const showingPagesCount = siblingCount === 1 ? 7 : 5\n if (pagesCount <= showingPagesCount) {\n return range(1, pagesCount)\n }\n\n const firstPage = 1\n const lastPage = pagesCount\n\n const firstPages: number[] = []\n const firstEllipsis: string[] = []\n const middlePages: number[] = []\n const lastEllipsis: string[] = []\n const lastPages: number[] = []\n\n const pusher = arrayPusher()\n pusher(firstPages, firstPage)\n\n // see getShowingPages.test.ts for full example\n let siblings\n switch (true) {\n case firstPage === currPage:\n siblings = [0, 1, 1 + siblingCount] //currPage=1 => [1. 2, 3?]\n break\n\n case lastPage === currPage:\n siblings = [-siblingCount - 1, -1, 0] // currPage=10 => [?8, 9, 10]\n break\n\n case siblingCount === 1 && currPage - firstPage === 3:\n siblings = [-2, -1, 0, 1] // currPage=4 => [2, 3, 4, 5]\n break\n\n case siblingCount === 1 && lastPage - currPage === 3:\n siblings = [-1, 0, 1, 2] // currPage=7 => [6, 7, 8, 9]\n break\n\n case siblingCount === 1:\n siblings = [-1, 0, 1] // currPage=5 => [4, 5, 6]\n break\n\n case siblingCount === 0 && currPage - firstPage === 2:\n siblings = [-1, 0] // currPage=3 => [1, 2, 3]\n break\n\n case siblingCount === 0 && lastPage - currPage === 2:\n siblings = [0, 1] // currPage=8 => [8, 9]\n break\n\n default:\n siblings = [0] // no siblings\n break\n }\n\n siblings.forEach((sibling) => {\n pusher(middlePages, currPage + sibling)\n })\n\n if (currPage - firstPage >= 3 + siblingCount) {\n pusher(firstEllipsis, '...')\n }\n\n if (lastPage - currPage >= 3 + siblingCount) {\n pusher(lastEllipsis, '...')\n }\n\n const count = pusher(lastPages, lastPage)\n\n const rest = showingPagesCount - count\n for (let i = rest; i > 0; i--) {\n if (currPage < pagesCount / 2) {\n pusher(lastPages, lastPage - i)\n } else {\n pusher(firstPages, firstPage + i)\n }\n }\n\n return [\n ...firstPages.sort(numberSort),\n ...firstEllipsis,\n ...middlePages,\n ...lastEllipsis,\n ...lastPages.sort(numberSort),\n ]\n}\n\nexport default getShowingPages\n"],"names":["arrayPusher","innerArray","arr","element","includes","push","length","numberSort","a","b","range","start","end","Array","from","_","i","getShowingPages","pagesCount","currPage","siblingCount","showingPagesCount","firstPage","lastPage","firstPages","firstEllipsis","middlePages","lastEllipsis","lastPages","pusher","siblings","forEach","sibling","count","rest","sort"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/popover/PopoverRoot.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport { modalRoot } from '@lidofinance/utils'\nimport { useMergeRefs, useOutsideClick, useEscape } from '@lidofinance/hooks'\nimport { withTransition } from '@lidofinance/transition'\nimport { usePopoverPosition } from './usePopoverPosition'\nimport { PopoverWrapperStyle, PopoverRootStyle } from './PopoverRootStyles'\nimport { PopoverRootInnerProps } from './types'\nimport { DEFAULT_PLACEMENT } from './constants'\n\nfunction PopoverRoot(\n props: PopoverRootInnerProps,\n externalRef?: ForwardedRef<HTMLDivElement>\n) {\n const {\n anchorRef,\n wrapperRef: externalWrapperRef,\n placement = DEFAULT_PLACEMENT,\n backdrop = true,\n transitionStatus,\n duration,\n ...rest\n } = props\n\n const { onClose } = props\n useEscape(onClose)\n const { ref: outsidePopoverRef } = useOutsideClick(onClose)\n\n const {\n popoverRef: positionPopoverRef,\n wrapperRef: positionWrapperRef,\n style,\n } = usePopoverPosition(props)\n\n const popoverRef = useMergeRefs([\n positionPopoverRef,\n outsidePopoverRef,\n externalRef,\n ])\n\n const wrapperRef = useMergeRefs([positionWrapperRef, externalWrapperRef])\n\n if (!modalRoot) return null\n\n return ReactDOM.createPortal(\n <PopoverWrapperStyle $backdrop={backdrop} ref={wrapperRef}>\n <PopoverRootStyle\n {...rest}\n $transition={transitionStatus}\n $duration={duration}\n data-placement={placement}\n style={style}\n ref={popoverRef}\n />\n </PopoverWrapperStyle>,\n modalRoot\n )\n}\n\nexport default withTransition(forwardRef(PopoverRoot))\n"],"names":["React","forwardRef","ReactDOM","modalRoot","useMergeRefs","useOutsideClick","useEscape","withTransition","usePopoverPosition","PopoverWrapperStyle","PopoverRootStyle","DEFAULT_PLACEMENT","PopoverRoot","props","externalRef","anchorRef","wrapperRef","externalWrapperRef","placement","backdrop","transitionStatus","duration","rest","onClose","ref","outsidePopoverRef","popoverRef","positionPopoverRef","positionWrapperRef","style","createPortal","$backdrop","$transition","$duration","data-placement"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,OAAOC,QAAQ,MAAM,WAAW,CAAA;AAChC,SAASC,SAAS,QAAQ,gBAAoB,CAAA;AAC9C,SAASC,YAAY,EAAEC,eAAe,EAAEC,SAAS,QAAQ,gBAAoB,CAAA;AAC7E,SAASC,cAAc,QAAQ,qBAAyB,CAAA;AACxD,SAASC,kBAAkB,QAAQ,sBAAsB,CAAA;AACzD,SAASC,mBAAmB,EAAEC,gBAAgB,QAAQ,qBAAqB,CAAA;AAE3E,SAASC,iBAAiB,QAAQ,aAAa,CAAA;AAE/C,SAASC,WAAW,CAClBC,KAA4B,EAC5BC,WAA0C,EAC1C;IACA,MAAM,EACJC,SAAS,CAAA,EACTC,UAAU,EAAEC,kBAAkB,CAAA,EAC9BC,SAAS,EAAGP,iBAAiB,CAAA,EAC7BQ,QAAQ,EAAG,IAAI,CAAA,EACfC,gBAAgB,CAAA,EAChBC,QAAQ,CAAA,EACR,GAAGC,IAAI,EACR,GAAGT,KAAK;IAET,MAAM,EAAEU,OAAO,CAAA,EAAE,GAAGV,KAAK;IACzBP,SAAS,CAACiB,OAAO,CAAC;IAClB,MAAM,EAAEC,GAAG,EAAEC,iBAAiB,CAAA,EAAE,GAAGpB,eAAe,CAACkB,OAAO,CAAC;IAE3D,MAAM,EACJG,UAAU,EAAEC,kBAAkB,CAAA,EAC9BX,UAAU,EAAEY,kBAAkB,CAAA,EAC9BC,KAAK,CAAA,IACN,GAAGrB,kBAAkB,CAACK,KAAK,CAAC;IAE7B,MAAMa,UAAU,GAAGtB,YAAY,CAAC;QAC9BuB,kBAAkB;QAClBF,iBAAiB;QACjBX,WAAW;KACZ,CAAC;IAEF,MAAME,UAAU,GAAGZ,YAAY,CAAC;QAACwB,kBAAkB;QAAEX,kBAAkB;KAAC,CAAC;IAEzE,IAAI,CAACd,SAAS,EAAE,OAAO,IAAI,CAAA;IAE3B,qBAAOD,QAAQ,CAAC4B,YAAY,eAC1B,oBAACrB,mBAAmB;QAACsB,SAAS,EAAEZ,QAAQ;QAAEK,GAAG,EAAER,UAAU;qBACvD,oBAACN,gBAAgB,eACXY,IAAI;QACRU,WAAW,EAAEZ,gBAAgB;QAC7Ba,SAAS,EAAEZ,QAAQ;QACnBa,gBAAc,EAAEhB,SAAS;QACzBW,KAAK,EAAEA,KAAK;QACZL,GAAG,EAAEE,UAAU;OACf,CACkB,EACtBvB,SAAS,CACV,CAAA;AACH,CAAC;AAED,eAAeI,cAAc,eAACN,UAAU,CAACW,WAAW,CAAC,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/popover/PopoverRoot.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport ReactDOM from 'react-dom'\nimport { modalRoot } from '@lidofinance/utils'\nimport { useMergeRefs, useOutsideClick, useEscape } from '@lidofinance/hooks'\nimport { withTransition } from '@lidofinance/transition'\nimport { usePopoverPosition } from './usePopoverPosition'\nimport { PopoverWrapperStyle, PopoverRootStyle } from './PopoverRootStyles'\nimport { PopoverRootInnerProps } from './types'\nimport { DEFAULT_PLACEMENT } from './constants'\n\nfunction PopoverRoot(\n props: PopoverRootInnerProps,\n externalRef?: ForwardedRef<HTMLDivElement>,\n) {\n const {\n anchorRef,\n wrapperRef: externalWrapperRef,\n placement = DEFAULT_PLACEMENT,\n backdrop = true,\n transitionStatus,\n duration,\n ...rest\n } = props\n\n const { onClose } = props\n useEscape(onClose)\n const { ref: outsidePopoverRef } = useOutsideClick(onClose)\n\n const {\n popoverRef: positionPopoverRef,\n wrapperRef: positionWrapperRef,\n style,\n } = usePopoverPosition(props)\n\n const popoverRef = useMergeRefs([\n positionPopoverRef,\n outsidePopoverRef,\n externalRef,\n ])\n\n const wrapperRef = useMergeRefs([positionWrapperRef, externalWrapperRef])\n\n if (!modalRoot) return null\n\n return ReactDOM.createPortal(\n <PopoverWrapperStyle $backdrop={backdrop} ref={wrapperRef}>\n <PopoverRootStyle\n {...rest}\n $transition={transitionStatus}\n $duration={duration}\n data-placement={placement}\n style={style}\n ref={popoverRef}\n />\n </PopoverWrapperStyle>,\n modalRoot,\n )\n}\n\nexport default withTransition(forwardRef(PopoverRoot))\n"],"names":["React","forwardRef","ReactDOM","modalRoot","useMergeRefs","useOutsideClick","useEscape","withTransition","usePopoverPosition","PopoverWrapperStyle","PopoverRootStyle","DEFAULT_PLACEMENT","PopoverRoot","props","externalRef","anchorRef","wrapperRef","externalWrapperRef","placement","backdrop","transitionStatus","duration","rest","onClose","ref","outsidePopoverRef","popoverRef","positionPopoverRef","positionWrapperRef","style","createPortal","$backdrop","$transition","$duration","data-placement"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,OAAOC,QAAQ,MAAM,WAAW,CAAA;AAChC,SAASC,SAAS,QAAQ,gBAAoB,CAAA;AAC9C,SAASC,YAAY,EAAEC,eAAe,EAAEC,SAAS,QAAQ,gBAAoB,CAAA;AAC7E,SAASC,cAAc,QAAQ,qBAAyB,CAAA;AACxD,SAASC,kBAAkB,QAAQ,sBAAsB,CAAA;AACzD,SAASC,mBAAmB,EAAEC,gBAAgB,QAAQ,qBAAqB,CAAA;AAE3E,SAASC,iBAAiB,QAAQ,aAAa,CAAA;AAE/C,SAASC,WAAW,CAClBC,KAA4B,EAC5BC,WAA0C,EAC1C;IACA,MAAM,EACJC,SAAS,CAAA,EACTC,UAAU,EAAEC,kBAAkB,CAAA,EAC9BC,SAAS,EAAGP,iBAAiB,CAAA,EAC7BQ,QAAQ,EAAG,IAAI,CAAA,EACfC,gBAAgB,CAAA,EAChBC,QAAQ,CAAA,EACR,GAAGC,IAAI,EACR,GAAGT,KAAK;IAET,MAAM,EAAEU,OAAO,CAAA,EAAE,GAAGV,KAAK;IACzBP,SAAS,CAACiB,OAAO,CAAC;IAClB,MAAM,EAAEC,GAAG,EAAEC,iBAAiB,CAAA,EAAE,GAAGpB,eAAe,CAACkB,OAAO,CAAC;IAE3D,MAAM,EACJG,UAAU,EAAEC,kBAAkB,CAAA,EAC9BX,UAAU,EAAEY,kBAAkB,CAAA,EAC9BC,KAAK,CAAA,IACN,GAAGrB,kBAAkB,CAACK,KAAK,CAAC;IAE7B,MAAMa,UAAU,GAAGtB,YAAY,CAAC;QAC9BuB,kBAAkB;QAClBF,iBAAiB;QACjBX,WAAW;KACZ,CAAC;IAEF,MAAME,UAAU,GAAGZ,YAAY,CAAC;QAACwB,kBAAkB;QAAEX,kBAAkB;KAAC,CAAC;IAEzE,IAAI,CAACd,SAAS,EAAE,OAAO,IAAI,CAAA;IAE3B,qBAAOD,QAAQ,CAAC4B,YAAY,eAC1B,oBAACrB,mBAAmB;QAACsB,SAAS,EAAEZ,QAAQ;QAAEK,GAAG,EAAER,UAAU;qBACvD,oBAACN,gBAAgB,eACXY,IAAI;QACRU,WAAW,EAAEZ,gBAAgB;QAC7Ba,SAAS,EAAEZ,QAAQ;QACnBa,gBAAc,EAAEhB,SAAS;QACzBW,KAAK,EAAEA,KAAK;QACZL,GAAG,EAAEE,UAAU;OACf,CACkB,EACtBvB,SAAS,CACV,CAAA;AACH,CAAC;AAED,eAAeI,cAAc,eAACN,UAAU,CAACW,WAAW,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/popover/calculatePosition.ts"],"sourcesContent":["import { CSSProperties } from 'react'\nimport { PopoverPlacements } from './types'\n\nexport const calculatePosition = (\n anchorRect: DOMRect,\n popoverRect: DOMRect,\n wrapperRect: DOMRect,\n placement: PopoverPlacements\n): CSSProperties => {\n const position: CSSProperties = {}\n\n switch (placement) {\n case 'top':\n case 'bottom':\n position.left =\n (anchorRect.left + anchorRect.right) / 2 - popoverRect.width / 2\n break\n\n case 'topLeft':\n case 'bottomLeft':\n position.left = anchorRect.left\n break\n\n case 'topRight':\n case 'bottomRight':\n position.left = anchorRect.right - popoverRect.width\n break\n\n case 'rightTop':\n case 'right':\n case 'rightBottom':\n position.left = anchorRect.right\n break\n\n case 'leftTop':\n case 'left':\n case 'leftBottom':\n position.left = anchorRect.left - popoverRect.width\n break\n }\n\n switch (placement) {\n case 'left':\n case 'right':\n position.top =\n (anchorRect.top + anchorRect.bottom) / 2 - popoverRect.height / 2\n break\n\n case 'leftTop':\n case 'rightTop':\n position.top = anchorRect.top\n break\n\n case 'leftBottom':\n case 'rightBottom':\n position.top = anchorRect.bottom - popoverRect.height\n break\n\n case 'topLeft':\n case 'top':\n case 'topRight':\n position.top = anchorRect.top - popoverRect.height\n break\n\n case 'bottomLeft':\n case 'bottom':\n case 'bottomRight':\n position.top = anchorRect.bottom\n break\n }\n\n position.top -= wrapperRect.top\n position.left -= wrapperRect.left\n\n return position\n}\n"],"names":["calculatePosition","anchorRect","popoverRect","wrapperRect","placement","position","left","right","width","top","bottom","height"],"mappings":"AAGA,OAAO,MAAMA,iBAAiB,GAAG,CAC/BC,UAAmB,EACnBC,WAAoB,EACpBC,WAAoB,EACpBC,SAA4B,GACV;IAClB,MAAMC,QAAQ,GAAkB,EAAE;IAElC,OAAQD,SAAS;QACf,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACXC,QAAQ,CAACC,IAAI,GACX,CAACL,UAAU,CAACK,IAAI,GAAGL,UAAU,CAACM,KAAK,CAAC,GAAG,CAAC,GAAGL,WAAW,CAACM,KAAK,GAAG,CAAC;YAClE,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACfH,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACK,IAAI;YAC/B,MAAK;QAEP,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa;YAChBD,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACM,KAAK,GAAGL,WAAW,CAACM,KAAK;YACpD,MAAK;QAEP,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,aAAa;YAChBH,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACM,KAAK;YAChC,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACfF,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACK,IAAI,GAAGJ,WAAW,CAACM,KAAK;YACnD,MAAK;KACR;IAED,OAAQJ,SAAS;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACVC,QAAQ,CAACI,GAAG,GACV,CAACR,UAAU,CAACQ,GAAG,GAAGR,UAAU,CAACS,MAAM,CAAC,GAAG,CAAC,GAAGR,WAAW,CAACS,MAAM,GAAG,CAAC;YACnE,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACbN,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACQ,GAAG;YAC7B,MAAK;QAEP,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChBJ,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACS,MAAM,GAAGR,WAAW,CAACS,MAAM;YACrD,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACbN,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACQ,GAAG,GAAGP,WAAW,CAACS,MAAM;YAClD,MAAK;QAEP,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa;YAChBN,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACS,MAAM;YAChC,MAAK;KACR;IAEDL,QAAQ,CAACI,GAAG,IAAIN,WAAW,CAACM,GAAG;IAC/BJ,QAAQ,CAACC,IAAI,IAAIH,WAAW,CAACG,IAAI;IAEjC,OAAOD,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/popover/calculatePosition.ts"],"sourcesContent":["import { CSSProperties } from 'react'\nimport { PopoverPlacements } from './types'\n\nexport const calculatePosition = (\n anchorRect: DOMRect,\n popoverRect: DOMRect,\n wrapperRect: DOMRect,\n placement: PopoverPlacements,\n): CSSProperties => {\n const position: CSSProperties = {}\n\n switch (placement) {\n case 'top':\n case 'bottom':\n position.left =\n (anchorRect.left + anchorRect.right) / 2 - popoverRect.width / 2\n break\n\n case 'topLeft':\n case 'bottomLeft':\n position.left = anchorRect.left\n break\n\n case 'topRight':\n case 'bottomRight':\n position.left = anchorRect.right - popoverRect.width\n break\n\n case 'rightTop':\n case 'right':\n case 'rightBottom':\n position.left = anchorRect.right\n break\n\n case 'leftTop':\n case 'left':\n case 'leftBottom':\n position.left = anchorRect.left - popoverRect.width\n break\n }\n\n switch (placement) {\n case 'left':\n case 'right':\n position.top =\n (anchorRect.top + anchorRect.bottom) / 2 - popoverRect.height / 2\n break\n\n case 'leftTop':\n case 'rightTop':\n position.top = anchorRect.top\n break\n\n case 'leftBottom':\n case 'rightBottom':\n position.top = anchorRect.bottom - popoverRect.height\n break\n\n case 'topLeft':\n case 'top':\n case 'topRight':\n position.top = anchorRect.top - popoverRect.height\n break\n\n case 'bottomLeft':\n case 'bottom':\n case 'bottomRight':\n position.top = anchorRect.bottom\n break\n }\n\n position.top -= wrapperRect.top\n position.left -= wrapperRect.left\n\n return position\n}\n"],"names":["calculatePosition","anchorRect","popoverRect","wrapperRect","placement","position","left","right","width","top","bottom","height"],"mappings":"AAGA,OAAO,MAAMA,iBAAiB,GAAG,CAC/BC,UAAmB,EACnBC,WAAoB,EACpBC,WAAoB,EACpBC,SAA4B,GACV;IAClB,MAAMC,QAAQ,GAAkB,EAAE;IAElC,OAAQD,SAAS;QACf,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACXC,QAAQ,CAACC,IAAI,GACX,CAACL,UAAU,CAACK,IAAI,GAAGL,UAAU,CAACM,KAAK,CAAC,GAAG,CAAC,GAAGL,WAAW,CAACM,KAAK,GAAG,CAAC;YAClE,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACfH,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACK,IAAI;YAC/B,MAAK;QAEP,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa;YAChBD,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACM,KAAK,GAAGL,WAAW,CAACM,KAAK;YACpD,MAAK;QAEP,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,aAAa;YAChBH,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACM,KAAK;YAChC,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YACfF,QAAQ,CAACC,IAAI,GAAGL,UAAU,CAACK,IAAI,GAAGJ,WAAW,CAACM,KAAK;YACnD,MAAK;KACR;IAED,OAAQJ,SAAS;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACVC,QAAQ,CAACI,GAAG,GACV,CAACR,UAAU,CAACQ,GAAG,GAAGR,UAAU,CAACS,MAAM,CAAC,GAAG,CAAC,GAAGR,WAAW,CAACS,MAAM,GAAG,CAAC;YACnE,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACbN,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACQ,GAAG;YAC7B,MAAK;QAEP,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa;YAChBJ,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACS,MAAM,GAAGR,WAAW,CAACS,MAAM;YACrD,MAAK;QAEP,KAAK,SAAS,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACbN,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACQ,GAAG,GAAGP,WAAW,CAACS,MAAM;YAClD,MAAK;QAEP,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa;YAChBN,QAAQ,CAACI,GAAG,GAAGR,UAAU,CAACS,MAAM;YAChC,MAAK;KACR;IAEDL,QAAQ,CAACI,GAAG,IAAIN,WAAW,CAACM,GAAG;IAC/BJ,QAAQ,CAACC,IAAI,IAAIH,WAAW,CAACG,IAAI;IAEjC,OAAOD,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/popover/usePopoverPosition.ts"],"sourcesContent":["import React, { useRef, useLayoutEffect, useState, CSSProperties } from 'react'\nimport { useWindowSize } from '@lidofinance/hooks'\nimport { PopoverRootProps } from './types'\nimport { INITIAL_STYLE, DEFAULT_PLACEMENT } from './constants'\nimport { calculatePosition } from './calculatePosition'\n\nexport const usePopoverPosition = <\n P extends HTMLDivElement,\n W extends HTMLDivElement\n>(\n props: PopoverRootProps\n): {\n popoverRef: React.RefObject<P>\n wrapperRef: React.RefObject<W>\n style: CSSProperties\n} => {\n const { placement = DEFAULT_PLACEMENT, anchorRef } = props\n\n const popoverRef = useRef<P>(null)\n const wrapperRef = useRef<W>(null)\n\n const [popoverStyle, setPopoverStyle] = useState<CSSProperties>(INITIAL_STYLE)\n const [windowWidth, windowHeight] = useWindowSize()\n\n useLayoutEffect(() => {\n if (!anchorRef.current || !popoverRef.current || !wrapperRef.current) return\n\n const anchorRect = anchorRef.current.getBoundingClientRect()\n const popoverRect = popoverRef.current.getBoundingClientRect()\n const wrapperRect = wrapperRef.current.getBoundingClientRect()\n\n const position = calculatePosition(\n anchorRect,\n popoverRect,\n wrapperRect,\n placement\n )\n setPopoverStyle(position)\n }, [anchorRef, placement, windowWidth, windowHeight])\n\n const style = {\n ...props.style,\n ...popoverStyle,\n }\n\n return {\n popoverRef,\n wrapperRef,\n style,\n }\n}\n"],"names":["React","useRef","useLayoutEffect","useState","useWindowSize","INITIAL_STYLE","DEFAULT_PLACEMENT","calculatePosition","usePopoverPosition","props","placement","anchorRef","popoverRef","wrapperRef","popoverStyle","setPopoverStyle","windowWidth","windowHeight","current","anchorRect","getBoundingClientRect","popoverRect","wrapperRect","position","style"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,eAAe,EAAEC,QAAQ,QAAuB,OAAO,CAAA;AAC/E,SAASC,aAAa,QAAQ,gBAAoB,CAAA;AAElD,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,aAAa,CAAA;AAC9D,SAASC,iBAAiB,QAAQ,qBAAqB,CAAA;AAEvD,OAAO,MAAMC,kBAAkB,GAAG,CAIhCC,KAAuB,GAKpB;IACH,MAAM,EAAEC,SAAS,EAAGJ,iBAAiB,CAAA,EAAEK,SAAS,CAAA,EAAE,GAAGF,KAAK;IAE1D,MAAMG,UAAU,GAAGX,MAAM,CAAI,IAAI,CAAC;IAClC,MAAMY,UAAU,GAAGZ,MAAM,CAAI,IAAI,CAAC;IAElC,MAAM,CAACa,YAAY,EAAEC,eAAe,CAAC,GAAGZ,QAAQ,CAAgBE,aAAa,CAAC;IAC9E,MAAM,CAACW,WAAW,EAAEC,YAAY,CAAC,GAAGb,aAAa,EAAE;IAEnDF,eAAe,CAAC,IAAM;QACpB,IAAI,CAACS,SAAS,CAACO,OAAO,IAAI,CAACN,UAAU,CAACM,OAAO,IAAI,CAACL,UAAU,CAACK,OAAO,EAAE,OAAM;QAE5E,MAAMC,UAAU,GAAGR,SAAS,CAACO,OAAO,CAACE,qBAAqB,EAAE;QAC5D,MAAMC,WAAW,GAAGT,UAAU,CAACM,OAAO,CAACE,qBAAqB,EAAE;QAC9D,MAAME,WAAW,GAAGT,UAAU,CAACK,OAAO,CAACE,qBAAqB,EAAE;QAE9D,MAAMG,QAAQ,GAAGhB,iBAAiB,CAChCY,UAAU,EACVE,WAAW,EACXC,WAAW,EACXZ,SAAS,CACV;QACDK,eAAe,CAACQ,QAAQ,CAAC;IAC3B,CAAC,EAAE;QAACZ,SAAS;QAAED,SAAS;QAAEM,WAAW;QAAEC,YAAY;KAAC,CAAC;IAErD,MAAMO,KAAK,GAAG;QACZ,GAAGf,KAAK,CAACe,KAAK;QACd,GAAGV,YAAY;KAChB;IAED,OAAO;QACLF,UAAU;QACVC,UAAU;QACVW,KAAK;KACN,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/popover/usePopoverPosition.ts"],"sourcesContent":["import React, { useRef, useLayoutEffect, useState, CSSProperties } from 'react'\nimport { useWindowSize } from '@lidofinance/hooks'\nimport { PopoverRootProps } from './types'\nimport { INITIAL_STYLE, DEFAULT_PLACEMENT } from './constants'\nimport { calculatePosition } from './calculatePosition'\n\nexport const usePopoverPosition = <\n P extends HTMLDivElement,\n W extends HTMLDivElement,\n>(\n props: PopoverRootProps,\n): {\n popoverRef: React.RefObject<P>\n wrapperRef: React.RefObject<W>\n style: CSSProperties\n} => {\n const { placement = DEFAULT_PLACEMENT, anchorRef } = props\n\n const popoverRef = useRef<P>(null)\n const wrapperRef = useRef<W>(null)\n\n const [popoverStyle, setPopoverStyle] = useState<CSSProperties>(INITIAL_STYLE)\n const [windowWidth, windowHeight] = useWindowSize()\n\n useLayoutEffect(() => {\n if (!anchorRef.current || !popoverRef.current || !wrapperRef.current) return\n\n const anchorRect = anchorRef.current.getBoundingClientRect()\n const popoverRect = popoverRef.current.getBoundingClientRect()\n const wrapperRect = wrapperRef.current.getBoundingClientRect()\n\n const position = calculatePosition(\n anchorRect,\n popoverRect,\n wrapperRect,\n placement,\n )\n setPopoverStyle(position)\n }, [anchorRef, placement, windowWidth, windowHeight])\n\n const style = {\n ...props.style,\n ...popoverStyle,\n }\n\n return {\n popoverRef,\n wrapperRef,\n style,\n }\n}\n"],"names":["React","useRef","useLayoutEffect","useState","useWindowSize","INITIAL_STYLE","DEFAULT_PLACEMENT","calculatePosition","usePopoverPosition","props","placement","anchorRef","popoverRef","wrapperRef","popoverStyle","setPopoverStyle","windowWidth","windowHeight","current","anchorRect","getBoundingClientRect","popoverRect","wrapperRect","position","style"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,eAAe,EAAEC,QAAQ,QAAuB,OAAO,CAAA;AAC/E,SAASC,aAAa,QAAQ,gBAAoB,CAAA;AAElD,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,aAAa,CAAA;AAC9D,SAASC,iBAAiB,QAAQ,qBAAqB,CAAA;AAEvD,OAAO,MAAMC,kBAAkB,GAAG,CAIhCC,KAAuB,GAKpB;IACH,MAAM,EAAEC,SAAS,EAAGJ,iBAAiB,CAAA,EAAEK,SAAS,CAAA,EAAE,GAAGF,KAAK;IAE1D,MAAMG,UAAU,GAAGX,MAAM,CAAI,IAAI,CAAC;IAClC,MAAMY,UAAU,GAAGZ,MAAM,CAAI,IAAI,CAAC;IAElC,MAAM,CAACa,YAAY,EAAEC,eAAe,CAAC,GAAGZ,QAAQ,CAAgBE,aAAa,CAAC;IAC9E,MAAM,CAACW,WAAW,EAAEC,YAAY,CAAC,GAAGb,aAAa,EAAE;IAEnDF,eAAe,CAAC,IAAM;QACpB,IAAI,CAACS,SAAS,CAACO,OAAO,IAAI,CAACN,UAAU,CAACM,OAAO,IAAI,CAACL,UAAU,CAACK,OAAO,EAAE,OAAM;QAE5E,MAAMC,UAAU,GAAGR,SAAS,CAACO,OAAO,CAACE,qBAAqB,EAAE;QAC5D,MAAMC,WAAW,GAAGT,UAAU,CAACM,OAAO,CAACE,qBAAqB,EAAE;QAC9D,MAAME,WAAW,GAAGT,UAAU,CAACK,OAAO,CAACE,qBAAqB,EAAE;QAE9D,MAAMG,QAAQ,GAAGhB,iBAAiB,CAChCY,UAAU,EACVE,WAAW,EACXC,WAAW,EACXZ,SAAS,CACV;QACDK,eAAe,CAACQ,QAAQ,CAAC;IAC3B,CAAC,EAAE;QAACZ,SAAS;QAAED,SAAS;QAAEM,WAAW;QAAEC,YAAY;KAAC,CAAC;IAErD,MAAMO,KAAK,GAAG;QACZ,GAAGf,KAAK,CAACe,KAAK;QACd,GAAGV,YAAY;KAChB;IAED,OAAO;QACLF,UAAU;QACVC,UAAU;QACVW,KAAK;KACN,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/popup-menu/PopupMenu.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { useMergeRefs } from '@lidofinance/hooks'\nimport { PopupMenuProvider } from './PopupMenuProvider'\nimport { PopupMenuStyle } from './PopupMenuStyles'\nimport { PopupMenuProps } from './types'\nimport { usePopupFocus } from './usePopupFocus'\n\nfunction PopupMenu(\n props: PopupMenuProps,\n externalRef?: ForwardedRef<HTMLDivElement>\n) {\n const { variant, children, onKeyDown, onMouseMove, ...rest } = props\n\n const {\n ref: controlRef,\n handleMouseMove,\n handleKeyDown,\n handleEnter,\n handleExit,\n } = usePopupFocus(props)\n const popupRef = useMergeRefs([controlRef, externalRef])\n\n return (\n <PopupMenuStyle\n onMouseMove={handleMouseMove}\n onKeyDown={handleKeyDown}\n onEnter={handleEnter}\n onExit={handleExit}\n tabIndex={-1}\n role='listbox'\n {...rest}\n ref={popupRef}\n >\n <PopupMenuProvider variant={variant}>{children}</PopupMenuProvider>\n </PopupMenuStyle>\n )\n}\n\nexport default forwardRef(PopupMenu)\n"],"names":["React","forwardRef","useMergeRefs","PopupMenuProvider","PopupMenuStyle","usePopupFocus","PopupMenu","props","externalRef","variant","children","onKeyDown","onMouseMove","rest","ref","controlRef","handleMouseMove","handleKeyDown","handleEnter","handleExit","popupRef","onEnter","onExit","tabIndex","role"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SAASC,YAAY,QAAQ,gBAAoB,CAAA;AACjD,SAASC,iBAAiB,QAAQ,qBAAqB,CAAA;AACvD,SAASC,cAAc,QAAQ,mBAAmB,CAAA;AAElD,SAASC,aAAa,QAAQ,iBAAiB,CAAA;AAE/C,SAASC,SAAS,CAChBC,KAAqB,EACrBC,WAA0C,EAC1C;IACA,MAAM,EAAEC,OAAO,CAAA,EAAEC,QAAQ,CAAA,EAAEC,SAAS,CAAA,EAAEC,WAAW,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGN,KAAK;IAEpE,MAAM,EACJO,GAAG,EAAEC,UAAU,CAAA,EACfC,eAAe,CAAA,EACfC,aAAa,CAAA,EACbC,WAAW,CAAA,EACXC,UAAU,CAAA,IACX,GAAGd,aAAa,CAACE,KAAK,CAAC;IACxB,MAAMa,QAAQ,GAAGlB,YAAY,CAAC;QAACa,UAAU;QAAEP,WAAW;KAAC,CAAC;IAExD,qBACE,oBAACJ,cAAc;QACbQ,WAAW,EAAEI,eAAe;QAC5BL,SAAS,EAAEM,aAAa;QACxBI,OAAO,EAAEH,WAAW;QACpBI,MAAM,EAAEH,UAAU;QAClBI,QAAQ,EAAE,CAAC,CAAC;QACZC,IAAI,EAAC,SAAS;OACVX,IAAI;QACRC,GAAG,EAAEM,QAAQ;sBAEb,oBAACjB,iBAAiB;QAACM,OAAO,EAAEA,OAAO;OAAGC,QAAQ,CAAqB,CACpD,CAClB;AACH,CAAC;AAED,6BAAeT,UAAU,CAACK,SAAS,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/popup-menu/PopupMenu.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { useMergeRefs } from '@lidofinance/hooks'\nimport { PopupMenuProvider } from './PopupMenuProvider'\nimport { PopupMenuStyle } from './PopupMenuStyles'\nimport { PopupMenuProps } from './types'\nimport { usePopupFocus } from './usePopupFocus'\n\nfunction PopupMenu(\n props: PopupMenuProps,\n externalRef?: ForwardedRef<HTMLDivElement>,\n) {\n const { variant, children, onKeyDown, onMouseMove, ...rest } = props\n\n const {\n ref: controlRef,\n handleMouseMove,\n handleKeyDown,\n handleEnter,\n handleExit,\n } = usePopupFocus(props)\n const popupRef = useMergeRefs([controlRef, externalRef])\n\n return (\n <PopupMenuStyle\n onMouseMove={handleMouseMove}\n onKeyDown={handleKeyDown}\n onEnter={handleEnter}\n onExit={handleExit}\n tabIndex={-1}\n role='listbox'\n {...rest}\n ref={popupRef}\n >\n <PopupMenuProvider variant={variant}>{children}</PopupMenuProvider>\n </PopupMenuStyle>\n )\n}\n\nexport default forwardRef(PopupMenu)\n"],"names":["React","forwardRef","useMergeRefs","PopupMenuProvider","PopupMenuStyle","usePopupFocus","PopupMenu","props","externalRef","variant","children","onKeyDown","onMouseMove","rest","ref","controlRef","handleMouseMove","handleKeyDown","handleEnter","handleExit","popupRef","onEnter","onExit","tabIndex","role"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SAASC,YAAY,QAAQ,gBAAoB,CAAA;AACjD,SAASC,iBAAiB,QAAQ,qBAAqB,CAAA;AACvD,SAASC,cAAc,QAAQ,mBAAmB,CAAA;AAElD,SAASC,aAAa,QAAQ,iBAAiB,CAAA;AAE/C,SAASC,SAAS,CAChBC,KAAqB,EACrBC,WAA0C,EAC1C;IACA,MAAM,EAAEC,OAAO,CAAA,EAAEC,QAAQ,CAAA,EAAEC,SAAS,CAAA,EAAEC,WAAW,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGN,KAAK;IAEpE,MAAM,EACJO,GAAG,EAAEC,UAAU,CAAA,EACfC,eAAe,CAAA,EACfC,aAAa,CAAA,EACbC,WAAW,CAAA,EACXC,UAAU,CAAA,IACX,GAAGd,aAAa,CAACE,KAAK,CAAC;IACxB,MAAMa,QAAQ,GAAGlB,YAAY,CAAC;QAACa,UAAU;QAAEP,WAAW;KAAC,CAAC;IAExD,qBACE,oBAACJ,cAAc;QACbQ,WAAW,EAAEI,eAAe;QAC5BL,SAAS,EAAEM,aAAa;QACxBI,OAAO,EAAEH,WAAW;QACpBI,MAAM,EAAEH,UAAU;QAClBI,QAAQ,EAAE,CAAC,CAAC;QACZC,IAAI,EAAC,SAAS;OACVX,IAAI;QACRC,GAAG,EAAEM,QAAQ;sBAEb,oBAACjB,iBAAiB;QAACM,OAAO,EAAEA,OAAO;OAAGC,QAAQ,CAAqB,CACpD,CAClB;AACH,CAAC;AAED,6BAAeT,UAAU,CAACK,SAAS,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/popup-menu/PopupMenuItem.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport {\n PopupMenuItemStyle,\n PopupMenuItemContentStyle,\n PopupMenuItemLeftDecoratorStyle,\n PopupMenuItemRightDecoratorStyle,\n} from './PopupMenuItemStyles'\nimport { usePopupMenuContext } from './PopupMenuProvider'\nimport { PopupMenuItemProps } from './types'\n\nfunction PopupMenuItem(\n props: PopupMenuItemProps,\n ref?: ForwardedRef<HTMLButtonElement>\n) {\n const {\n active = false,\n leftDecorator,\n rightDecorator,\n children,\n ...rest\n } = props\n const { variant = 'default' } = usePopupMenuContext()\n\n const hasLeftDecorator = !!leftDecorator\n const hasRightDecorator = !!rightDecorator\n\n return (\n <PopupMenuItemStyle\n $active={active}\n role='option'\n aria-selected={active}\n {...rest}\n ref={ref}\n >\n {hasLeftDecorator && (\n <PopupMenuItemLeftDecoratorStyle>\n {leftDecorator}\n </PopupMenuItemLeftDecoratorStyle>\n )}\n\n <PopupMenuItemContentStyle $variant={variant}>\n {children}\n </PopupMenuItemContentStyle>\n\n {hasRightDecorator && (\n <PopupMenuItemRightDecoratorStyle>\n {rightDecorator}\n </PopupMenuItemRightDecoratorStyle>\n )}\n </PopupMenuItemStyle>\n )\n}\n\nexport default forwardRef(PopupMenuItem)\n"],"names":["React","forwardRef","PopupMenuItemStyle","PopupMenuItemContentStyle","PopupMenuItemLeftDecoratorStyle","PopupMenuItemRightDecoratorStyle","usePopupMenuContext","PopupMenuItem","props","ref","active","leftDecorator","rightDecorator","children","rest","variant","hasLeftDecorator","hasRightDecorator","$active","role","aria-selected","$variant"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SACEC,kBAAkB,EAClBC,yBAAyB,EACzBC,+BAA+B,EAC/BC,gCAAgC,QAC3B,uBAAuB,CAAA;AAC9B,SAASC,mBAAmB,QAAQ,qBAAqB,CAAA;AAGzD,SAASC,aAAa,CACpBC,KAAyB,EACzBC,GAAqC,EACrC;IACA,MAAM,EACJC,MAAM,EAAG,KAAK,CAAA,EACdC,aAAa,CAAA,EACbC,cAAc,CAAA,EACdC,QAAQ,CAAA,EACR,GAAGC,IAAI,EACR,GAAGN,KAAK;IACT,MAAM,EAAEO,OAAO,EAAG,SAAS,CAAA,EAAE,GAAGT,mBAAmB,EAAE;IAErD,MAAMU,gBAAgB,GAAG,CAAC,CAACL,aAAa;IACxC,MAAMM,iBAAiB,GAAG,CAAC,CAACL,cAAc;IAE1C,qBACE,oBAACV,kBAAkB;QACjBgB,OAAO,EAAER,MAAM;QACfS,IAAI,EAAC,QAAQ;QACbC,eAAa,EAAEV,MAAM;OACjBI,IAAI;QACRL,GAAG,EAAEA,GAAG;QAEPO,gBAAgB,kBACf,oBAACZ,+BAA+B,QAC7BO,aAAa,CACkB,AACnC,gBAED,oBAACR,yBAAyB;QAACkB,QAAQ,EAAEN,OAAO;OACzCF,QAAQ,CACiB,EAE3BI,iBAAiB,kBAChB,oBAACZ,gCAAgC,QAC9BO,cAAc,CACkB,AACpC,CACkB,CACtB;AACH,CAAC;AAED,6BAAeX,UAAU,CAACM,aAAa,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/popup-menu/PopupMenuItem.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport {\n PopupMenuItemStyle,\n PopupMenuItemContentStyle,\n PopupMenuItemLeftDecoratorStyle,\n PopupMenuItemRightDecoratorStyle,\n} from './PopupMenuItemStyles'\nimport { usePopupMenuContext } from './PopupMenuProvider'\nimport { PopupMenuItemProps } from './types'\n\nfunction PopupMenuItem(\n props: PopupMenuItemProps,\n ref?: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n active = false,\n leftDecorator,\n rightDecorator,\n children,\n ...rest\n } = props\n const { variant = 'default' } = usePopupMenuContext()\n\n const hasLeftDecorator = !!leftDecorator\n const hasRightDecorator = !!rightDecorator\n\n return (\n <PopupMenuItemStyle\n $active={active}\n role='option'\n aria-selected={active}\n {...rest}\n ref={ref}\n >\n {hasLeftDecorator && (\n <PopupMenuItemLeftDecoratorStyle>\n {leftDecorator}\n </PopupMenuItemLeftDecoratorStyle>\n )}\n\n <PopupMenuItemContentStyle $variant={variant}>\n {children}\n </PopupMenuItemContentStyle>\n\n {hasRightDecorator && (\n <PopupMenuItemRightDecoratorStyle>\n {rightDecorator}\n </PopupMenuItemRightDecoratorStyle>\n )}\n </PopupMenuItemStyle>\n )\n}\n\nexport default forwardRef(PopupMenuItem)\n"],"names":["React","forwardRef","PopupMenuItemStyle","PopupMenuItemContentStyle","PopupMenuItemLeftDecoratorStyle","PopupMenuItemRightDecoratorStyle","usePopupMenuContext","PopupMenuItem","props","ref","active","leftDecorator","rightDecorator","children","rest","variant","hasLeftDecorator","hasRightDecorator","$active","role","aria-selected","$variant"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AACvD,SACEC,kBAAkB,EAClBC,yBAAyB,EACzBC,+BAA+B,EAC/BC,gCAAgC,QAC3B,uBAAuB,CAAA;AAC9B,SAASC,mBAAmB,QAAQ,qBAAqB,CAAA;AAGzD,SAASC,aAAa,CACpBC,KAAyB,EACzBC,GAAqC,EACrC;IACA,MAAM,EACJC,MAAM,EAAG,KAAK,CAAA,EACdC,aAAa,CAAA,EACbC,cAAc,CAAA,EACdC,QAAQ,CAAA,EACR,GAAGC,IAAI,EACR,GAAGN,KAAK;IACT,MAAM,EAAEO,OAAO,EAAG,SAAS,CAAA,EAAE,GAAGT,mBAAmB,EAAE;IAErD,MAAMU,gBAAgB,GAAG,CAAC,CAACL,aAAa;IACxC,MAAMM,iBAAiB,GAAG,CAAC,CAACL,cAAc;IAE1C,qBACE,oBAACV,kBAAkB;QACjBgB,OAAO,EAAER,MAAM;QACfS,IAAI,EAAC,QAAQ;QACbC,eAAa,EAAEV,MAAM;OACjBI,IAAI;QACRL,GAAG,EAAEA,GAAG;QAEPO,gBAAgB,kBACf,oBAACZ,+BAA+B,QAC7BO,aAAa,CACkB,AACnC,gBAED,oBAACR,yBAAyB;QAACkB,QAAQ,EAAEN,OAAO;OACzCF,QAAQ,CACiB,EAE3BI,iBAAiB,kBAChB,oBAACZ,gCAAgC,QAC9BO,cAAc,CACkB,AACpC,CACkB,CACtB;AACH,CAAC;AAED,6BAAeX,UAAU,CAACM,aAAa,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/popup-menu/PopupMenuProvider.tsx"],"sourcesContent":["import React, { PropsWithChildren, createContext, useContext, FC } from 'react'\nimport { PopupMenuVariants } from './types'\n\nexport interface PopupMenuContext {\n variant?: PopupMenuVariants\n}\n\nconst Context = createContext({} as PopupMenuContext)\n\nexport const usePopupMenuContext = (): PopupMenuContext => {\n return useContext(Context)\n}\n\nexport const PopupMenuProvider: FC<PropsWithChildren<PopupMenuContext>> = (\n props\n) => {\n const { variant, ...rest } = props\n\n return <Context.Provider value={{ variant }} {...rest} />\n}\n"],"names":["React","createContext","useContext","Context","usePopupMenuContext","PopupMenuProvider","props","variant","rest","Provider","value"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAuBC,aAAa,EAAEC,UAAU,QAAY,OAAO,CAAA;AAO/E,MAAMC,OAAO,iBAAGF,aAAa,CAAC,EAAE,CAAqB;AAErD,OAAO,MAAMG,mBAAmB,GAAG,IAAwB;IACzD,OAAOF,UAAU,CAACC,OAAO,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,OAAO,MAAME,iBAAiB,GAA4C,CACxEC,KAAK,GACF;IACH,MAAM,EAAEC,OAAO,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGF,KAAK;IAElC,qBAAO,oBAACH,OAAO,CAACM,QAAQ;QAACC,KAAK,EAAE;YAAEH,OAAO;SAAE;OAAMC,IAAI,EAAI,CAAA;AAC3D,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/popup-menu/PopupMenuProvider.tsx"],"sourcesContent":["import React, { PropsWithChildren, createContext, useContext, FC } from 'react'\nimport { PopupMenuVariants } from './types'\n\nexport interface PopupMenuContext {\n variant?: PopupMenuVariants\n}\n\nconst Context = createContext({} as PopupMenuContext)\n\nexport const usePopupMenuContext = (): PopupMenuContext => {\n return useContext(Context)\n}\n\nexport const PopupMenuProvider: FC<PropsWithChildren<PopupMenuContext>> = (\n props,\n) => {\n const { variant, ...rest } = props\n\n return <Context.Provider value={{ variant }} {...rest} />\n}\n"],"names":["React","createContext","useContext","Context","usePopupMenuContext","PopupMenuProvider","props","variant","rest","Provider","value"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAuBC,aAAa,EAAEC,UAAU,QAAY,OAAO,CAAA;AAO/E,MAAMC,OAAO,iBAAGF,aAAa,CAAC,EAAE,CAAqB;AAErD,OAAO,MAAMG,mBAAmB,GAAG,IAAwB;IACzD,OAAOF,UAAU,CAACC,OAAO,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,OAAO,MAAME,iBAAiB,GAA4C,CACxEC,KAAK,GACF;IACH,MAAM,EAAEC,OAAO,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGF,KAAK;IAElC,qBAAO,oBAACH,OAAO,CAACM,QAAQ;QAACC,KAAK,EAAE;YAAEH,OAAO;SAAE;OAAMC,IAAI,EAAI,CAAA;AAC3D,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/popup-menu/usePopupFocus.ts"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\nimport { useInterceptFocus } from '@lidofinance/hooks'\nimport { FOCUSABLE_ELEMENTS } from './constants'\nimport { PopupMenuProps } from './types'\n\nexport const usePopupFocus = <T extends HTMLDivElement>(\n props: PopupMenuProps\n): {\n ref: React.RefObject<T>\n handleMouseMove: React.MouseEventHandler<T>\n handleKeyDown: React.KeyboardEventHandler<T>\n handleEnter: () => void\n handleExit: () => void\n} => {\n const { onMouseMove, onKeyDown } = props\n const ref = useRef<T>(null)\n\n const getFocusableNodes = useCallback(() => {\n const nodes =\n ref.current?.querySelectorAll(FOCUSABLE_ELEMENTS.join(',')) ?? []\n\n return Array.from(nodes).filter(\n (node): node is HTMLElement =>\n node && node instanceof HTMLElement && node.offsetParent !== null\n )\n }, [])\n\n const handleFocusTo = useCallback(\n (event: React.KeyboardEvent<T>, offset = 1) => {\n const focusableNodes = getFocusableNodes()\n\n if (focusableNodes.length === 0) return\n\n const currentElement = document.activeElement\n const focusedItemIndex =\n currentElement instanceof HTMLElement\n ? focusableNodes.indexOf(currentElement)\n : -1\n\n const activeItemIndex = focusableNodes.findIndex(\n (node) => node.getAttribute('aria-selected') === 'true'\n )\n\n const currentIndex =\n focusedItemIndex === -1 ? activeItemIndex : focusedItemIndex\n\n let nextIndex = currentIndex + offset\n if (nextIndex < 0) nextIndex = focusableNodes.length - 1\n if (nextIndex >= focusableNodes.length) nextIndex = 0\n\n focusableNodes[nextIndex].focus()\n event.preventDefault()\n },\n [getFocusableNodes]\n )\n\n const handleMouseMove: React.MouseEventHandler<T> = useCallback(\n (event) => {\n onMouseMove?.(event)\n\n const { target } = event\n if (!(target instanceof HTMLElement)) return\n\n const focusableNodes = getFocusableNodes()\n const overed = target.closest(FOCUSABLE_ELEMENTS.join(','))\n\n if (!(overed instanceof HTMLElement)) return\n\n const isNotFocusable = !focusableNodes.includes(overed)\n const isActive = overed === document.activeElement\n\n if (isActive || isNotFocusable) return\n\n overed.focus()\n },\n [getFocusableNodes, onMouseMove]\n )\n\n const handleKeyDown: React.KeyboardEventHandler<T> = useCallback(\n (event) => {\n onKeyDown?.(event)\n const code = event.code ?? event.key\n\n if (code === 'Tab') event.preventDefault()\n if (code === 'ArrowDown') handleFocusTo(event, +1)\n if (code === 'ArrowUp') handleFocusTo(event, -1)\n },\n [handleFocusTo, onKeyDown]\n )\n\n const [interceptFocus, restoreFocus] = useInterceptFocus()\n\n const handleEnter = useCallback(() => {\n if (ref.current) interceptFocus(ref.current)\n }, [interceptFocus])\n\n const handleExit = useCallback(() => {\n restoreFocus()\n }, [restoreFocus])\n\n return {\n ref,\n handleMouseMove,\n handleKeyDown,\n handleEnter,\n handleExit,\n }\n}\n"],"names":["React","useCallback","useRef","useInterceptFocus","FOCUSABLE_ELEMENTS","usePopupFocus","props","onMouseMove","onKeyDown","ref","getFocusableNodes","nodes","current","querySelectorAll","join","Array","from","filter","node","HTMLElement","offsetParent","handleFocusTo","event","offset","focusableNodes","length","currentElement","document","activeElement","focusedItemIndex","indexOf","activeItemIndex","findIndex","getAttribute","currentIndex","nextIndex","focus","preventDefault","handleMouseMove","target","overed","closest","isNotFocusable","includes","isActive","handleKeyDown","code","key","interceptFocus","restoreFocus","handleEnter","handleExit"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../packages/popup-menu/usePopupFocus.ts"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\nimport { useInterceptFocus } from '@lidofinance/hooks'\nimport { FOCUSABLE_ELEMENTS } from './constants'\nimport { PopupMenuProps } from './types'\n\nexport const usePopupFocus = <T extends HTMLDivElement>(\n props: PopupMenuProps,\n): {\n ref: React.RefObject<T>\n handleMouseMove: React.MouseEventHandler<T>\n handleKeyDown: React.KeyboardEventHandler<T>\n handleEnter: () => void\n handleExit: () => void\n} => {\n const { onMouseMove, onKeyDown } = props\n const ref = useRef<T>(null)\n\n const getFocusableNodes = useCallback(() => {\n const nodes =\n ref.current?.querySelectorAll(FOCUSABLE_ELEMENTS.join(',')) ?? []\n\n return Array.from(nodes).filter(\n (node): node is HTMLElement =>\n node && node instanceof HTMLElement && node.offsetParent !== null,\n )\n }, [])\n\n const handleFocusTo = useCallback(\n (event: React.KeyboardEvent<T>, offset = 1) => {\n const focusableNodes = getFocusableNodes()\n\n if (focusableNodes.length === 0) return\n\n const currentElement = document.activeElement\n const focusedItemIndex =\n currentElement instanceof HTMLElement\n ? focusableNodes.indexOf(currentElement)\n : -1\n\n const activeItemIndex = focusableNodes.findIndex(\n (node) => node.getAttribute('aria-selected') === 'true',\n )\n\n const currentIndex =\n focusedItemIndex === -1 ? activeItemIndex : focusedItemIndex\n\n let nextIndex = currentIndex + offset\n if (nextIndex < 0) nextIndex = focusableNodes.length - 1\n if (nextIndex >= focusableNodes.length) nextIndex = 0\n\n focusableNodes[nextIndex].focus()\n event.preventDefault()\n },\n [getFocusableNodes],\n )\n\n const handleMouseMove: React.MouseEventHandler<T> = useCallback(\n (event) => {\n onMouseMove?.(event)\n\n const { target } = event\n if (!(target instanceof HTMLElement)) return\n\n const focusableNodes = getFocusableNodes()\n const overed = target.closest(FOCUSABLE_ELEMENTS.join(','))\n\n if (!(overed instanceof HTMLElement)) return\n\n const isNotFocusable = !focusableNodes.includes(overed)\n const isActive = overed === document.activeElement\n\n if (isActive || isNotFocusable) return\n\n overed.focus()\n },\n [getFocusableNodes, onMouseMove],\n )\n\n const handleKeyDown: React.KeyboardEventHandler<T> = useCallback(\n (event) => {\n onKeyDown?.(event)\n const code = event.code ?? event.key\n\n if (code === 'Tab') event.preventDefault()\n if (code === 'ArrowDown') handleFocusTo(event, +1)\n if (code === 'ArrowUp') handleFocusTo(event, -1)\n },\n [handleFocusTo, onKeyDown],\n )\n\n const [interceptFocus, restoreFocus] = useInterceptFocus()\n\n const handleEnter = useCallback(() => {\n if (ref.current) interceptFocus(ref.current)\n }, [interceptFocus])\n\n const handleExit = useCallback(() => {\n restoreFocus()\n }, [restoreFocus])\n\n return {\n ref,\n handleMouseMove,\n handleKeyDown,\n handleEnter,\n handleExit,\n }\n}\n"],"names":["React","useCallback","useRef","useInterceptFocus","FOCUSABLE_ELEMENTS","usePopupFocus","props","onMouseMove","onKeyDown","ref","getFocusableNodes","nodes","current","querySelectorAll","join","Array","from","filter","node","HTMLElement","offsetParent","handleFocusTo","event","offset","focusableNodes","length","currentElement","document","activeElement","focusedItemIndex","indexOf","activeItemIndex","findIndex","getAttribute","currentIndex","nextIndex","focus","preventDefault","handleMouseMove","target","overed","closest","isNotFocusable","includes","isActive","handleKeyDown","code","key","interceptFocus","restoreFocus","handleEnter","handleExit"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/select/Option.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef, useCallback } from 'react'\nimport { PopupMenuItem } from '@lidofinance/popup-menu'\nimport { OptionProps } from './types'\n\nfunction Option(props: OptionProps, ref?: ForwardedRef<HTMLButtonElement>) {\n const { value, onClick, onChange, ...rest } = props\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onChange?.(value)\n onClick?.(event)\n },\n [value, onChange, onClick]\n )\n\n return <PopupMenuItem onClick={handleClick} ref={ref} {...rest} />\n}\n\nexport default forwardRef(Option)\n"],"names":["React","forwardRef","useCallback","PopupMenuItem","Option","props","ref","value","onClick","onChange","rest","handleClick","event"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,EAAEC,WAAW,QAAQ,OAAO,CAAA;AACpE,SAASC,aAAa,QAAQ,qBAAyB,CAAA;AAGvD,SAASC,MAAM,CAACC,KAAkB,EAAEC,GAAqC,EAAE;IACzE,MAAM,EAAEC,KAAK,CAAA,EAAEC,OAAO,CAAA,EAAEC,QAAQ,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGL,KAAK;IAEnD,MAAMM,WAAW,GAAGT,WAAW,CAC7B,CAACU,KAA0C,GAAK;QAC9CH,QAAQ,aAARA,QAAQ,WAAS,GAAjBA,KAAAA,CAAiB,GAAjBA,QAAQ,CAAGF,KAAK,CAAC,CAAA;QACjBC,OAAO,aAAPA,OAAO,WAAS,GAAhBA,KAAAA,CAAgB,GAAhBA,OAAO,CAAGI,KAAK,CAAC,CAAA;IAClB,CAAC,EACD;QAACL,KAAK;QAAEE,QAAQ;QAAED,OAAO;KAAC,CAC3B;IAED,qBAAO,oBAACL,aAAa;QAACK,OAAO,EAAEG,WAAW;QAAEL,GAAG,EAAEA,GAAG;OAAMI,IAAI,EAAI,CAAA;AACpE,CAAC;AAED,6BAAeT,UAAU,CAACG,MAAM,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/select/Option.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef, useCallback } from 'react'\nimport { PopupMenuItem } from '@lidofinance/popup-menu'\nimport { OptionProps } from './types'\n\nfunction Option(props: OptionProps, ref?: ForwardedRef<HTMLButtonElement>) {\n const { value, onClick, onChange, ...rest } = props\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onChange?.(value)\n onClick?.(event)\n },\n [value, onChange, onClick],\n )\n\n return <PopupMenuItem onClick={handleClick} ref={ref} {...rest} />\n}\n\nexport default forwardRef(Option)\n"],"names":["React","forwardRef","useCallback","PopupMenuItem","Option","props","ref","value","onClick","onChange","rest","handleClick","event"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,EAAEC,WAAW,QAAQ,OAAO,CAAA;AACpE,SAASC,aAAa,QAAQ,qBAAyB,CAAA;AAGvD,SAASC,MAAM,CAACC,KAAkB,EAAEC,GAAqC,EAAE;IACzE,MAAM,EAAEC,KAAK,CAAA,EAAEC,OAAO,CAAA,EAAEC,QAAQ,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGL,KAAK;IAEnD,MAAMM,WAAW,GAAGT,WAAW,CAC7B,CAACU,KAA0C,GAAK;QAC9CH,QAAQ,aAARA,QAAQ,WAAS,GAAjBA,KAAAA,CAAiB,GAAjBA,QAAQ,CAAGF,KAAK,CAAC,CAAA;QACjBC,OAAO,aAAPA,OAAO,WAAS,GAAhBA,KAAAA,CAAgB,GAAhBA,OAAO,CAAGI,KAAK,CAAC,CAAA;IAClB,CAAC,EACD;QAACL,KAAK;QAAEE,QAAQ;QAAED,OAAO;KAAC,CAC3B;IAED,qBAAO,oBAACL,aAAa;QAACK,OAAO,EAAEG,WAAW;QAAEL,GAAG,EAAEA,GAAG;OAAMI,IAAI,EAAI,CAAA;AACpE,CAAC;AAED,6BAAeT,UAAU,CAACG,MAAM,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/select/SelectIcon.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { SelectIconProps } from './types'\nimport { SelectIconDecoratorStyle, SelectIconStyle } from './SelectIconStyles'\n\nfunction SelectIcon(\n props: SelectIconProps,\n ref?: ForwardedRef<HTMLInputElement>\n) {\n const { icon, ...rest } = props\n\n return (\n <SelectIconStyle\n {...rest}\n fullwidth={false}\n arrow='small'\n leftDecorator={\n <SelectIconDecoratorStyle>{icon}</SelectIconDecoratorStyle>\n }\n ref={ref}\n />\n )\n}\n\nexport default forwardRef(SelectIcon)\n"],"names":["React","forwardRef","SelectIconDecoratorStyle","SelectIconStyle","SelectIcon","props","ref","icon","rest","fullwidth","arrow","leftDecorator"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,wBAAwB,EAAEC,eAAe,QAAQ,oBAAoB,CAAA;AAE9E,SAASC,UAAU,CACjBC,KAAsB,EACtBC,GAAoC,EACpC;IACA,MAAM,EAAEC,IAAI,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGH,KAAK;IAE/B,qBACE,oBAACF,eAAe,eACVK,IAAI;QACRC,SAAS,EAAE,KAAK;QAChBC,KAAK,EAAC,OAAO;QACbC,aAAa,gBACX,oBAACT,wBAAwB,QAAEK,IAAI,CAA4B;QAE7DD,GAAG,EAAEA,GAAG;OACR,CACH;AACH,CAAC;AAED,6BAAeL,UAAU,CAACG,UAAU,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/select/SelectIcon.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react'\nimport { SelectIconProps } from './types'\nimport { SelectIconDecoratorStyle, SelectIconStyle } from './SelectIconStyles'\n\nfunction SelectIcon(\n props: SelectIconProps,\n ref?: ForwardedRef<HTMLInputElement>,\n) {\n const { icon, ...rest } = props\n\n return (\n <SelectIconStyle\n {...rest}\n fullwidth={false}\n arrow='small'\n leftDecorator={\n <SelectIconDecoratorStyle>{icon}</SelectIconDecoratorStyle>\n }\n ref={ref}\n />\n )\n}\n\nexport default forwardRef(SelectIcon)\n"],"names":["React","forwardRef","SelectIconDecoratorStyle","SelectIconStyle","SelectIcon","props","ref","icon","rest","fullwidth","arrow","leftDecorator"],"mappings":"AAAA;AAAA,OAAOA,KAAK,IAAkBC,UAAU,QAAQ,OAAO,CAAA;AAEvD,SAASC,wBAAwB,EAAEC,eAAe,QAAQ,oBAAoB,CAAA;AAE9E,SAASC,UAAU,CACjBC,KAAsB,EACtBC,GAAoC,EACpC;IACA,MAAM,EAAEC,IAAI,CAAA,EAAE,GAAGC,IAAI,EAAE,GAAGH,KAAK;IAE/B,qBACE,oBAACF,eAAe,eACVK,IAAI;QACRC,SAAS,EAAE,KAAK;QAChBC,KAAK,EAAC,OAAO;QACbC,aAAa,gBACX,oBAACT,wBAAwB,QAAEK,IAAI,CAA4B;QAE7DD,GAAG,EAAEA,GAAG;OACR,CACH;AACH,CAAC;AAED,6BAAeL,UAAU,CAACG,UAAU,CAAC,CAAA"}
@@ -10,7 +10,6 @@ export const SelectIconDecoratorStyle = styled.span`
10
10
  display: flex;
11
11
  align-items: center;
12
12
  justify-content: center;
13
-
14
13
  align-self: stretch;
15
14
  justify-self: stretch;
16
15
  `;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/select/SelectIconStyles.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport Select from './Select'\n\nexport const SelectIconStyle = styled(Select)`\n input {\n width: 0;\n }\n`\n\nexport const SelectIconDecoratorStyle = styled.span`\n margin-right: -24px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n align-self: stretch;\n justify-self: stretch;\n`\n"],"names":["styled","Select","SelectIconStyle","SelectIconDecoratorStyle","span"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAOC,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,MAAMC,eAAe,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC;;;;AAI9C,CAAC,CAAA;AAED,OAAO,MAAME,wBAAwB,GAAGH,MAAM,CAACI,IAAI,CAAC;;;;;;;;AAQpD,CAAC,CAAA"}
1
+ {"version":3,"sources":["../../../packages/select/SelectIconStyles.tsx"],"sourcesContent":["import styled from 'styled-components'\nimport Select from './Select'\n\nexport const SelectIconStyle = styled(Select)`\n input {\n width: 0;\n }\n`\n\nexport const SelectIconDecoratorStyle = styled.span`\n margin-right: -24px;\n display: flex;\n align-items: center;\n justify-content: center;\n align-self: stretch;\n justify-self: stretch;\n`\n"],"names":["styled","Select","SelectIconStyle","SelectIconDecoratorStyle","span"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAOC,MAAM,MAAM,UAAU,CAAA;AAE7B,OAAO,MAAMC,eAAe,GAAGF,MAAM,CAACC,MAAM,CAAC,CAAC;;;;AAI9C,CAAC,CAAA;AAED,OAAO,MAAME,wBAAwB,GAAGH,MAAM,CAACI,IAAI,CAAC;;;;;;;AAOpD,CAAC,CAAA"}