@artsy/palette 45.14.0-canary.1497.33065.0 → 45.14.0-canary.1497.33070.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 (225) hide show
  1. package/dist/cjs/elements/FilterSelect/index.d.ts +1 -1
  2. package/dist/cjs/elements/FilterSelect/index.js +7 -0
  3. package/dist/cjs/elements/FilterSelect/index.js.map +1 -1
  4. package/dist/esm/Theme.js +1 -1
  5. package/dist/esm/Theme.js.map +1 -1
  6. package/dist/esm/elements/AutocompleteInput/AutocompleteInput.js +2 -0
  7. package/dist/esm/elements/AutocompleteInput/AutocompleteInput.js.map +1 -1
  8. package/dist/esm/elements/AutocompleteInput/AutocompleteInputOption.js +1 -1
  9. package/dist/esm/elements/AutocompleteInput/AutocompleteInputOption.js.map +1 -1
  10. package/dist/esm/elements/AutocompleteInput/AutocompleteInputOptionLabel.js +1 -1
  11. package/dist/esm/elements/AutocompleteInput/AutocompleteInputOptionLabel.js.map +1 -1
  12. package/dist/esm/elements/Avatar/Avatar.js +3 -2
  13. package/dist/esm/elements/Avatar/Avatar.js.map +1 -1
  14. package/dist/esm/elements/Banner/Banner.js +1 -1
  15. package/dist/esm/elements/Banner/Banner.js.map +1 -1
  16. package/dist/esm/elements/BaseTabs/BaseTab.js +2 -1
  17. package/dist/esm/elements/BaseTabs/BaseTab.js.map +1 -1
  18. package/dist/esm/elements/BaseTabs/BaseTabs.js +1 -1
  19. package/dist/esm/elements/BaseTabs/BaseTabs.js.map +1 -1
  20. package/dist/esm/elements/BorderBox/BorderBox.js +1 -1
  21. package/dist/esm/elements/BorderBox/BorderBox.js.map +1 -1
  22. package/dist/esm/elements/BorderBox/BorderBoxBase.js +1 -1
  23. package/dist/esm/elements/BorderBox/BorderBoxBase.js.map +1 -1
  24. package/dist/esm/elements/BorderedRadio/BorderedRadio.js +1 -1
  25. package/dist/esm/elements/BorderedRadio/BorderedRadio.js.map +1 -1
  26. package/dist/esm/elements/Box/Box.js +2 -2
  27. package/dist/esm/elements/Box/Box.js.map +1 -1
  28. package/dist/esm/elements/Breadcrumbs/Breadcrumbs.js +1 -1
  29. package/dist/esm/elements/Breadcrumbs/Breadcrumbs.js.map +1 -1
  30. package/dist/esm/elements/Button/Button.js +5 -3
  31. package/dist/esm/elements/Button/Button.js.map +1 -1
  32. package/dist/esm/elements/Button/tokens.js +2 -0
  33. package/dist/esm/elements/Button/tokens.js.map +1 -1
  34. package/dist/esm/elements/CSSGrid/CSSGrid.js +2 -2
  35. package/dist/esm/elements/CSSGrid/CSSGrid.js.map +1 -1
  36. package/dist/esm/elements/Cards/Card.js +2 -2
  37. package/dist/esm/elements/Cards/Card.js.map +1 -1
  38. package/dist/esm/elements/Cards/TriptychCard.js +2 -2
  39. package/dist/esm/elements/Cards/TriptychCard.js.map +1 -1
  40. package/dist/esm/elements/Carousel/Carousel.js +4 -3
  41. package/dist/esm/elements/Carousel/Carousel.js.map +1 -1
  42. package/dist/esm/elements/Carousel/Carousel.story.js +1 -1
  43. package/dist/esm/elements/Carousel/Carousel.story.js.map +1 -1
  44. package/dist/esm/elements/Carousel/CarouselNavigation.js +2 -1
  45. package/dist/esm/elements/Carousel/CarouselNavigation.js.map +1 -1
  46. package/dist/esm/elements/CarouselBar/CarouselBar.js +1 -1
  47. package/dist/esm/elements/CarouselBar/CarouselBar.js.map +1 -1
  48. package/dist/esm/elements/Checkbox/Checkbox.js +1 -1
  49. package/dist/esm/elements/Checkbox/Checkbox.js.map +1 -1
  50. package/dist/esm/elements/CleanTag/CleanTag.js +1 -1
  51. package/dist/esm/elements/CleanTag/CleanTag.js.map +1 -1
  52. package/dist/esm/elements/Clickable/Clickable.js +3 -2
  53. package/dist/esm/elements/Clickable/Clickable.js.map +1 -1
  54. package/dist/esm/elements/Drawer/Drawer.js +1 -1
  55. package/dist/esm/elements/Drawer/Drawer.js.map +1 -1
  56. package/dist/esm/elements/Dropdown/Dropdown.js +2 -2
  57. package/dist/esm/elements/Dropdown/Dropdown.js.map +1 -1
  58. package/dist/esm/elements/Dropdown/Dropdown.story.js +1 -0
  59. package/dist/esm/elements/Dropdown/Dropdown.story.js.map +1 -1
  60. package/dist/esm/elements/EntityHeader/EntityHeader.js +3 -2
  61. package/dist/esm/elements/EntityHeader/EntityHeader.js.map +1 -1
  62. package/dist/esm/elements/Expandable/Expandable.js +1 -1
  63. package/dist/esm/elements/Expandable/Expandable.js.map +1 -1
  64. package/dist/esm/elements/FilterSelect/Components/FilterInput.js +1 -0
  65. package/dist/esm/elements/FilterSelect/Components/FilterInput.js.map +1 -1
  66. package/dist/esm/elements/FilterSelect/Components/FilterSelectResultItem.js +1 -1
  67. package/dist/esm/elements/FilterSelect/Components/FilterSelectResultItem.js.map +1 -1
  68. package/dist/esm/elements/FilterSelect/FilterSelect.js +1 -1
  69. package/dist/esm/elements/FilterSelect/FilterSelect.js.map +1 -1
  70. package/dist/esm/elements/FilterSelect/index.js +1 -1
  71. package/dist/esm/elements/FilterSelect/index.js.map +1 -1
  72. package/dist/esm/elements/Flex/Flex.js +1 -1
  73. package/dist/esm/elements/Flex/Flex.js.map +1 -1
  74. package/dist/esm/elements/FullBleed/FullBleed.js +1 -1
  75. package/dist/esm/elements/FullBleed/FullBleed.js.map +1 -1
  76. package/dist/esm/elements/GridColumns/GridColumns.js +4 -4
  77. package/dist/esm/elements/GridColumns/GridColumns.js.map +1 -1
  78. package/dist/esm/elements/HTML/HTML.js +2 -2
  79. package/dist/esm/elements/HTML/HTML.js.map +1 -1
  80. package/dist/esm/elements/HorizontalOverflow/HorizontalOverflow.js +2 -2
  81. package/dist/esm/elements/HorizontalOverflow/HorizontalOverflow.js.map +1 -1
  82. package/dist/esm/elements/Image/Image.js +1 -1
  83. package/dist/esm/elements/Image/Image.js.map +1 -1
  84. package/dist/esm/elements/Input/Input.js +1 -1
  85. package/dist/esm/elements/Input/Input.js.map +1 -1
  86. package/dist/esm/elements/Input/tokens.js +1 -0
  87. package/dist/esm/elements/Input/tokens.js.map +1 -1
  88. package/dist/esm/elements/Label/Label.js +1 -1
  89. package/dist/esm/elements/Label/Label.js.map +1 -1
  90. package/dist/esm/elements/Label/Label.story.js +1 -1
  91. package/dist/esm/elements/Label/Label.story.js.map +1 -1
  92. package/dist/esm/elements/LabeledInput/LabeledInput.js +1 -1
  93. package/dist/esm/elements/LabeledInput/LabeledInput.js.map +1 -1
  94. package/dist/esm/elements/Link/Link.js +2 -2
  95. package/dist/esm/elements/Link/Link.js.map +1 -1
  96. package/dist/esm/elements/Marquee/Marquee.js +1 -1
  97. package/dist/esm/elements/Marquee/Marquee.js.map +1 -1
  98. package/dist/esm/elements/Message/Message.js +1 -1
  99. package/dist/esm/elements/Message/Message.js.map +1 -1
  100. package/dist/esm/elements/Message/Message.story.js +1 -1
  101. package/dist/esm/elements/Message/Message.story.js.map +1 -1
  102. package/dist/esm/elements/Modal/ModalBase.js +2 -2
  103. package/dist/esm/elements/Modal/ModalBase.js.map +1 -1
  104. package/dist/esm/elements/Modal/ModalBase.story.js +1 -1
  105. package/dist/esm/elements/Modal/ModalBase.story.js.map +1 -1
  106. package/dist/esm/elements/ModalDialog/ModalDialog.js +2 -2
  107. package/dist/esm/elements/ModalDialog/ModalDialog.js.map +1 -1
  108. package/dist/esm/elements/ModalDialog/ModalDialogContent.js +3 -3
  109. package/dist/esm/elements/ModalDialog/ModalDialogContent.js.map +1 -1
  110. package/dist/esm/elements/MultiSelect/MultiSelect.js +2 -2
  111. package/dist/esm/elements/MultiSelect/MultiSelect.js.map +1 -1
  112. package/dist/esm/elements/MultiSelect/tokens.js +2 -1
  113. package/dist/esm/elements/MultiSelect/tokens.js.map +1 -1
  114. package/dist/esm/elements/Pagination/Pagination.js +3 -3
  115. package/dist/esm/elements/Pagination/Pagination.js.map +1 -1
  116. package/dist/esm/elements/PasswordInput/PasswordInput.js +1 -0
  117. package/dist/esm/elements/PasswordInput/PasswordInput.js.map +1 -1
  118. package/dist/esm/elements/Pill/Pill.js +3 -1
  119. package/dist/esm/elements/Pill/Pill.js.map +1 -1
  120. package/dist/esm/elements/Pill/Pill.story.js +1 -1
  121. package/dist/esm/elements/Pill/Pill.story.js.map +1 -1
  122. package/dist/esm/elements/Pill/tokens.js +2 -1
  123. package/dist/esm/elements/Pill/tokens.js.map +1 -1
  124. package/dist/esm/elements/Pointer/Pointer.js +2 -1
  125. package/dist/esm/elements/Pointer/Pointer.js.map +1 -1
  126. package/dist/esm/elements/Popover/Popover.js +2 -2
  127. package/dist/esm/elements/Popover/Popover.js.map +1 -1
  128. package/dist/esm/elements/Popover/Popover.story.js +2 -2
  129. package/dist/esm/elements/Popover/Popover.story.js.map +1 -1
  130. package/dist/esm/elements/ProgressBar/ProgressBar.js +2 -1
  131. package/dist/esm/elements/ProgressBar/ProgressBar.js.map +1 -1
  132. package/dist/esm/elements/ProgressDots/ProgressDots.js +1 -1
  133. package/dist/esm/elements/ProgressDots/ProgressDots.js.map +1 -1
  134. package/dist/esm/elements/Radio/Radio.js +1 -1
  135. package/dist/esm/elements/Radio/Radio.js.map +1 -1
  136. package/dist/esm/elements/Radio/tokens.js +2 -0
  137. package/dist/esm/elements/Radio/tokens.js.map +1 -1
  138. package/dist/esm/elements/RadioGroup/RadioGroup.js +2 -1
  139. package/dist/esm/elements/RadioGroup/RadioGroup.js.map +1 -1
  140. package/dist/esm/elements/Range/Range.js +1 -1
  141. package/dist/esm/elements/Range/Range.js.map +1 -1
  142. package/dist/esm/elements/ResponsiveBox/ResponsiveBox.js +1 -1
  143. package/dist/esm/elements/ResponsiveBox/ResponsiveBox.js.map +1 -1
  144. package/dist/esm/elements/ResponsiveBox/ResponsiveBox.story.js +1 -1
  145. package/dist/esm/elements/ResponsiveBox/ResponsiveBox.story.js.map +1 -1
  146. package/dist/esm/elements/Select/Select.js +2 -2
  147. package/dist/esm/elements/Select/Select.js.map +1 -1
  148. package/dist/esm/elements/Select/tokens.js +2 -1
  149. package/dist/esm/elements/Select/tokens.js.map +1 -1
  150. package/dist/esm/elements/SelectInput/SelectInput.js +4 -3
  151. package/dist/esm/elements/SelectInput/SelectInput.js.map +1 -1
  152. package/dist/esm/elements/SelectInput/SelectInputList.js +2 -1
  153. package/dist/esm/elements/SelectInput/SelectInputList.js.map +1 -1
  154. package/dist/esm/elements/Separator/Separator.js +1 -1
  155. package/dist/esm/elements/Separator/Separator.js.map +1 -1
  156. package/dist/esm/elements/Shelf/Shelf.js +2 -1
  157. package/dist/esm/elements/Shelf/Shelf.js.map +1 -1
  158. package/dist/esm/elements/Shelf/ShelfNavigation.js +1 -1
  159. package/dist/esm/elements/Shelf/ShelfNavigation.js.map +1 -1
  160. package/dist/esm/elements/Shelf/ShelfScrollBar.js +1 -1
  161. package/dist/esm/elements/Shelf/ShelfScrollBar.js.map +1 -1
  162. package/dist/esm/elements/ShowMore/ShowMore.js +2 -2
  163. package/dist/esm/elements/ShowMore/ShowMore.js.map +1 -1
  164. package/dist/esm/elements/Skeleton/Skeleton.js +3 -3
  165. package/dist/esm/elements/Skeleton/Skeleton.js.map +1 -1
  166. package/dist/esm/elements/Skip/Skip.js +1 -1
  167. package/dist/esm/elements/Skip/Skip.js.map +1 -1
  168. package/dist/esm/elements/Spacer/Spacer.js +1 -1
  169. package/dist/esm/elements/Spacer/Spacer.js.map +1 -1
  170. package/dist/esm/elements/Spinner/Spinner.js +2 -2
  171. package/dist/esm/elements/Spinner/Spinner.js.map +1 -1
  172. package/dist/esm/elements/Stack/Stack.js +2 -1
  173. package/dist/esm/elements/Stack/Stack.js.map +1 -1
  174. package/dist/esm/elements/StackableBorderBox/StackableBorderBox.js +1 -1
  175. package/dist/esm/elements/StackableBorderBox/StackableBorderBox.js.map +1 -1
  176. package/dist/esm/elements/Stepper/Stepper.js +1 -1
  177. package/dist/esm/elements/Stepper/Stepper.js.map +1 -1
  178. package/dist/esm/elements/Sup/Sup.js +1 -1
  179. package/dist/esm/elements/Sup/Sup.js.map +1 -1
  180. package/dist/esm/elements/Swiper/Swiper.js +1 -1
  181. package/dist/esm/elements/Swiper/Swiper.js.map +1 -1
  182. package/dist/esm/elements/Swiper/Swiper.story.js +1 -1
  183. package/dist/esm/elements/Swiper/Swiper.story.js.map +1 -1
  184. package/dist/esm/elements/Tabs/Tabs.js +1 -1
  185. package/dist/esm/elements/Tabs/Tabs.js.map +1 -1
  186. package/dist/esm/elements/Text/Text.js +4 -3
  187. package/dist/esm/elements/Text/Text.js.map +1 -1
  188. package/dist/esm/elements/TextArea/TextArea.js +1 -1
  189. package/dist/esm/elements/TextArea/TextArea.js.map +1 -1
  190. package/dist/esm/elements/TextArea/tokens.js +1 -0
  191. package/dist/esm/elements/TextArea/tokens.js.map +1 -1
  192. package/dist/esm/elements/Toasts/Toast.js +1 -1
  193. package/dist/esm/elements/Toasts/Toast.js.map +1 -1
  194. package/dist/esm/elements/Toasts/Toasts.js +1 -1
  195. package/dist/esm/elements/Toasts/Toasts.js.map +1 -1
  196. package/dist/esm/elements/Toasts/Toasts.story.js +1 -1
  197. package/dist/esm/elements/Toasts/Toasts.story.js.map +1 -1
  198. package/dist/esm/elements/Toasts/useToasts.js +1 -0
  199. package/dist/esm/elements/Toasts/useToasts.js.map +1 -1
  200. package/dist/esm/elements/Toggle/Toggle.js +1 -1
  201. package/dist/esm/elements/Toggle/Toggle.js.map +1 -1
  202. package/dist/esm/elements/Tooltip/Tooltip.js +2 -2
  203. package/dist/esm/elements/Tooltip/Tooltip.js.map +1 -1
  204. package/dist/esm/elements/Tooltip/Tooltip.story.js +2 -2
  205. package/dist/esm/elements/Tooltip/Tooltip.story.js.map +1 -1
  206. package/dist/esm/elements/VisuallyHidden/VisuallyHidden.js +1 -1
  207. package/dist/esm/elements/VisuallyHidden/VisuallyHidden.js.map +1 -1
  208. package/dist/esm/helpers/color.js +1 -1
  209. package/dist/esm/helpers/color.js.map +1 -1
  210. package/dist/esm/helpers/injectGlobalStyles.js +1 -1
  211. package/dist/esm/helpers/injectGlobalStyles.js.map +1 -1
  212. package/dist/esm/helpers/isText.js +1 -1
  213. package/dist/esm/helpers/isText.js.map +1 -1
  214. package/dist/esm/helpers/space.js +1 -1
  215. package/dist/esm/helpers/space.js.map +1 -1
  216. package/dist/esm/shared/RequiredField.js +1 -1
  217. package/dist/esm/shared/RequiredField.js.map +1 -1
  218. package/dist/esm/themes/Themes.story.js +2 -1
  219. package/dist/esm/themes/Themes.story.js.map +1 -1
  220. package/dist/esm/utils/splitProps.js +1 -0
  221. package/dist/esm/utils/splitProps.js.map +1 -1
  222. package/dist/esm/utils/usePortal.js +1 -1
  223. package/dist/esm/utils/usePortal.js.map +1 -1
  224. package/dist/tsconfig.tsbuildinfo +1 -1
  225. package/package.json +2 -2
@@ -1,2 +1,2 @@
1
- export { FilterSelectChangeState, Items as FilterSelectItems, } from "./Components/FilterSelectContext";
1
+ export { FilterSelectChangeState, Item as FilterSelectItem, Items as FilterSelectItems, } from "./Components/FilterSelectContext";
2
2
  export * from "./FilterSelect";
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  FilterSelectChangeState: true,
8
+ FilterSelectItem: true,
8
9
  FilterSelectItems: true
9
10
  };
10
11
  Object.defineProperty(exports, "FilterSelectChangeState", {
@@ -13,6 +14,12 @@ Object.defineProperty(exports, "FilterSelectChangeState", {
13
14
  return _FilterSelectContext.FilterSelectChangeState;
14
15
  }
15
16
  });
17
+ Object.defineProperty(exports, "FilterSelectItem", {
18
+ enumerable: true,
19
+ get: function get() {
20
+ return _FilterSelectContext.Item;
21
+ }
22
+ });
16
23
  Object.defineProperty(exports, "FilterSelectItems", {
17
24
  enumerable: true,
18
25
  get: function get() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_FilterSelectContext","require","_FilterSelect","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../../../src/elements/FilterSelect/index.tsx"],"sourcesContent":["export {\n FilterSelectChangeState,\n Items as FilterSelectItems,\n} from \"./Components/FilterSelectContext\"\nexport * from \"./FilterSelect\"\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAIA,IAAAC,aAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,aAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,aAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAZ,aAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_FilterSelectContext","require","_FilterSelect","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../../../src/elements/FilterSelect/index.tsx"],"sourcesContent":["export {\n FilterSelectChangeState,\n Item as FilterSelectItem,\n Items as FilterSelectItems,\n} from \"./Components/FilterSelectContext\"\nexport * from \"./FilterSelect\"\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAKA,IAAAC,aAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,aAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,aAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAZ,aAAA,CAAAI,GAAA;IAAA;EAAA;AAAA"}
package/dist/esm/Theme.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import React, { useContext } from "react";
2
2
  import { ThemeContext, ThemeProvider } from "styled-components";
3
- import { THEME } from "./themes";
3
+ import { THEME, Theme as TTheme } from "./themes";
4
4
  export * from "@artsy/palette-tokens/dist/themes/v3";
5
5
  import { THEME_DARK } from "@artsy/palette-tokens/dist/themes/v3Dark";
6
6
  export { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.js","names":["React","useContext","ThemeContext","ThemeProvider","THEME","THEME_DARK","TextVariant","THEMES","light","dark","DEFAULT_THEME","Theme","_ref","children","_ref$theme","theme","selectedTheme","createElement","displayName","useTheme"],"sources":["../../src/Theme.tsx"],"sourcesContent":["import React, { useContext } from \"react\"\nimport { ThemeContext, ThemeProvider } from \"styled-components\"\nimport { THEME, Theme as TTheme } from \"./themes\"\n\nexport * from \"@artsy/palette-tokens/dist/themes/v3\"\nimport { THEME_DARK } from \"@artsy/palette-tokens/dist/themes/v3Dark\"\nexport { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\n\nexport const THEMES = {\n light: THEME,\n dark: THEME_DARK,\n}\n\nconst DEFAULT_THEME = THEME\n\ninterface ThemeProps {\n children?: React.ReactNode\n theme?: \"light\" | \"dark\"\n}\n\n/**\n * A wrapper component for passing down the Artsy theme context\n */\nexport const Theme: React.FC<React.PropsWithChildren<ThemeProps>> = ({\n children,\n theme = \"light\",\n}) => {\n const selectedTheme = THEMES[theme]\n return <ThemeProvider theme={selectedTheme}>{children}</ThemeProvider>\n}\n\n/** Returns the current theme */\nexport const useTheme = <T extends TTheme>() => {\n const theme: T = (useContext(ThemeContext) || DEFAULT_THEME) as T\n return { theme }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,YAAY,EAAEC,aAAa,QAAQ,mBAAmB;AAC/D,SAASC,KAAK;AAEd,cAAc,sCAAsC;AACpD,SAASC,UAAU,QAAQ,0CAA0C;AACrE,SAASC,WAAW,QAAQ,0CAA0C;AAEtE,OAAO,IAAMC,MAAM,GAAG;EACpBC,KAAK,EAAEJ,KAAK;EACZK,IAAI,EAAEJ;AACR,CAAC;AAED,IAAMK,aAAa,GAAGN,KAAK;AAO3B;AACA;AACA;AACA,OAAO,IAAMO,KAAoD,GAAG,SAAvDA,KAAoDA,CAAAC,IAAA,EAG3D;EAAA,IAFJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAC,UAAA,GAAAF,IAAA,CACRG,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,OAAO,GAAAA,UAAA;EAEf,IAAME,aAAa,GAAGT,MAAM,CAACQ,KAAK,CAAC;EACnC,oBAAOf,KAAA,CAAAiB,aAAA,CAACd,aAAa;IAACY,KAAK,EAAEC;EAAc,GAAEH,QAAQ,CAAiB;AACxE,CAAC;AANYF,KAAoD,CAAAO,WAAA;AAQjE;AACA,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAA2B;EAC9C,IAAMJ,KAAQ,GAAId,UAAU,CAACC,YAAY,CAAC,IAAIQ,aAAmB;EACjE,OAAO;IAAEK,KAAK,EAALA;EAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"Theme.js","names":["React","useContext","ThemeContext","ThemeProvider","THEME","Theme","TTheme","THEME_DARK","TextVariant","THEMES","light","dark","DEFAULT_THEME","_ref","children","_ref$theme","theme","selectedTheme","createElement","displayName","useTheme"],"sources":["../../src/Theme.tsx"],"sourcesContent":["import React, { useContext } from \"react\"\nimport { ThemeContext, ThemeProvider } from \"styled-components\"\nimport { THEME, Theme as TTheme } from \"./themes\"\n\nexport * from \"@artsy/palette-tokens/dist/themes/v3\"\nimport { THEME_DARK } from \"@artsy/palette-tokens/dist/themes/v3Dark\"\nexport { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\n\nexport const THEMES = {\n light: THEME,\n dark: THEME_DARK,\n}\n\nconst DEFAULT_THEME = THEME\n\ninterface ThemeProps {\n children?: React.ReactNode\n theme?: \"light\" | \"dark\"\n}\n\n/**\n * A wrapper component for passing down the Artsy theme context\n */\nexport const Theme: React.FC<React.PropsWithChildren<ThemeProps>> = ({\n children,\n theme = \"light\",\n}) => {\n const selectedTheme = THEMES[theme]\n return <ThemeProvider theme={selectedTheme}>{children}</ThemeProvider>\n}\n\n/** Returns the current theme */\nexport const useTheme = <T extends TTheme>() => {\n const theme: T = (useContext(ThemeContext) || DEFAULT_THEME) as T\n return { theme }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,YAAY,EAAEC,aAAa,QAAQ,mBAAmB;AAC/D,SAASC,KAAK,EAAEC,KAAK,IAAIC,MAAM;AAE/B,cAAc,sCAAsC;AACpD,SAASC,UAAU,QAAQ,0CAA0C;AACrE,SAASC,WAAW,QAAQ,0CAA0C;AAEtE,OAAO,IAAMC,MAAM,GAAG;EACpBC,KAAK,EAAEN,KAAK;EACZO,IAAI,EAAEJ;AACR,CAAC;AAED,IAAMK,aAAa,GAAGR,KAAK;AAO3B;AACA;AACA;AACA,OAAO,IAAMC,KAAoD,GAAG,SAAvDA,KAAoDA,CAAAQ,IAAA,EAG3D;EAAA,IAFJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAC,UAAA,GAAAF,IAAA,CACRG,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,OAAO,GAAAA,UAAA;EAEf,IAAME,aAAa,GAAGR,MAAM,CAACO,KAAK,CAAC;EACnC,oBAAOhB,KAAA,CAAAkB,aAAA,CAACf,aAAa;IAACa,KAAK,EAAEC;EAAc,GAAEH,QAAQ,CAAiB;AACxE,CAAC;AANYT,KAAoD,CAAAc,WAAA;AAQjE;AACA,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAA2B;EAC9C,IAAMJ,KAAQ,GAAIf,UAAU,CAACC,YAAY,CAAC,IAAIU,aAAmB;EACjE,OAAO;IAAEI,KAAK,EAALA;EAAM,CAAC;AAClB,CAAC"}
@@ -20,12 +20,14 @@ import composeRefs from "@seznam/compose-react-refs";
20
20
  import { themeGet } from "@styled-system/theme-get";
21
21
  import React, { createRef, useCallback, useEffect, useMemo, useReducer, useRef } from "react";
22
22
  import styled from "styled-components";
23
+ import { ResponsiveValue } from "styled-system";
23
24
  import { useKeyboardListNavigation } from "use-keyboard-list-navigation";
24
25
  import { useClickOutside, useContainsFocus, usePosition } from "../../utils";
25
26
  import { useMouseActivity } from "../../utils/useMouseActivity";
26
27
  import { useWidthOf } from "../../utils/useWidthOf";
27
28
  import { Box, splitBoxProps } from "../Box";
28
29
  import { Clickable } from "../Clickable";
30
+ import { InputProps } from "../Input";
29
31
  import { LabeledInput } from "../LabeledInput";
30
32
  import { Spinner } from "../Spinner";
31
33
  import { VisuallyHidden } from "../VisuallyHidden";
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteInput.js","names":["CloseIcon","SearchIcon","composeRefs","themeGet","React","createRef","useCallback","useEffect","useMemo","useReducer","useRef","styled","useKeyboardListNavigation","useClickOutside","useContainsFocus","usePosition","useMouseActivity","useWidthOf","Box","splitBoxProps","Clickable","LabeledInput","Spinner","VisuallyHidden","AutocompleteInputOption","AutocompleteInputOptionLabel","reducer","state","action","type","_objectSpread","open","query","payload","AutocompleteInput","_ref","_staged$text","_ref$clamp","clamp","_ref$defaultValue","defaultValue","_ref$dropdownMaxHeigh","dropdownMaxHeight","dropdownMinWidth","_ref$flip","flip","footer","forwardedRef","forwardRef","header","height","id","loading","onChange","onClear","onClose","onKeyDown","onSelect","onSubmit","options","_ref$renderOption","renderOption","option","createElement","rest","_objectWithoutProperties","_excluded","inputRef","containerRef","headerRef","footerRef","_splitBoxProps","_splitBoxProps2","_slicedToArray","boxProps","inputProps","_useReducer","_useReducer2","dispatch","optionsWithRefs","map","ref","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","list","waitForInteractive","onEnter","_ref2","element","i","event","preventDefault","stopPropagation","set","isDropdownVisible","length","_usePosition","active","key","offset","position","anchorRef","tooltipRef","_useWidthOf","width","handleFocus","handleMouseDown","handleClick","_useMouseActivity","lastMouseMoveTimestamp","handleMouseEnter","now","performance","cursor","interactive","handleChange","value","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_optionsWithRefs$inde","_optionsWithRefs$inde2","el","isPointerInteraction","preventScroll","scrollIntoView","block","_unused","handleFocusChange","focused","_useContainsFocus","containsFocusRef","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","_extends","role","concat","label","size","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdownContainer","minWidth","pt","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","onMouseEnter","tabIndex","displayName","withConfig","componentId"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInput.tsx"],"sourcesContent":["import CloseIcon from \"@artsy/icons/CloseIcon\"\nimport SearchIcon from \"@artsy/icons/SearchIcon\"\nimport composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { ResponsiveValue } from \"styled-system\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { useClickOutside, useContainsFocus, usePosition } from \"../../utils\"\nimport { useMouseActivity } from \"../../utils/useMouseActivity\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { InputProps } from \"../Input\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { Spinner } from \"../Spinner\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { AutocompleteInputOption } from \"./AutocompleteInputOption\"\nimport { AutocompleteInputOptionLabel } from \"./AutocompleteInputOptionLabel\"\n\nexport interface AutocompleteFooterActions {\n /** Call to close dropdown */\n onClose(): void\n}\n\n/** Base option type — can be expanded */\nexport interface AutocompleteInputOptionType {\n text: string\n value: string\n}\n\ninterface State {\n open: boolean\n query: string\n}\n\ntype Action =\n | { type: \"OPEN\" }\n | { type: \"CLOSE\" }\n | { type: \"CLEAR\" }\n | { type: \"CHANGE\"; payload: { query: string } }\n | { type: \"SELECT\"; payload: { query: string } }\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"OPEN\":\n return { ...state, open: true }\n case \"CLOSE\":\n return { ...state, open: false }\n case \"CLEAR\":\n return { ...state, query: \"\" }\n case \"CHANGE\":\n return { ...state, query: action.payload.query, open: true }\n case \"SELECT\":\n return { ...state, query: action.payload.query, open: false }\n }\n}\n\nexport interface AutocompleteInputProps<T extends AutocompleteInputOptionType>\n extends Omit<InputProps, \"onSelect\" | \"onSubmit\"> {\n /** Optionally enable clamping (default: `false`) */\n clamp?: boolean\n defaultValue?: string\n dropdownMaxHeight?: ResponsiveValue<string | number>\n dropdownMinWidth?: ResponsiveValue<string | number>\n loading?: boolean\n header?: React.ReactNode\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n footer?:\n | React.ReactNode\n | ((dropdownActions: AutocompleteFooterActions) => React.ReactNode)\n /** Ref to the input; workaround generics */\n forwardRef?: React.Ref<HTMLInputElement>\n /** on <enter> when no option is selected */\n onSubmit?(query: string): void\n /** on <click> or <enter> when an option is selected */\n onSelect?(option: T, index: number): void\n /** on <click> of the 'x' (clear) button */\n onClear?(): void\n /** Callback that runs when options are hidden */\n onClose?(): void\n options: T[]\n renderOption?(\n option: T,\n i: number\n ): React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/** AutocompleteInput */\nexport const AutocompleteInput = <T extends AutocompleteInputOptionType>({\n clamp = false,\n defaultValue = \"\",\n dropdownMaxHeight = 308, // 308 = roughly 5.5 options\n dropdownMinWidth,\n flip = true,\n footer,\n forwardRef: forwardedRef,\n header,\n height,\n id,\n loading,\n onChange,\n onClear,\n onClose,\n onKeyDown,\n onSelect,\n onSubmit,\n options,\n renderOption = (option) => <AutocompleteInputOptionLabel {...option} />,\n ...rest\n}: AutocompleteInputProps<T>) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const headerRef = useRef<HTMLDivElement | null>(null)\n const footerRef = useRef<HTMLDivElement | null>(null)\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n\n const [state, dispatch] = useReducer(reducer, {\n open: false,\n query: defaultValue,\n })\n\n const optionsWithRefs = useMemo(() => {\n return options.map((option) => ({\n option,\n ref: createRef<HTMLButtonElement>(),\n }))\n }, [options])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n dispatch({ type: \"CLOSE\" })\n }, 100)\n }\n\n const handleSelect = (option: T, index: number) => {\n dispatch({ type: \"SELECT\", payload: { query: option.text } })\n inputRef.current?.focus()\n onSelect?.(option, index)\n }\n\n const { index, reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: options,\n waitForInteractive: true,\n onEnter: ({ element: option, index: i, event }) => {\n event.preventDefault()\n event.stopPropagation()\n handleSelect(option, i)\n resetUI()\n },\n })\n\n const isDropdownVisible = state.open && options.length > 0\n\n // Reset keyboard navigation when options change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(reset, [options])\n\n // Reset keyboard navigation when query is empty\n useEffect(() => {\n if (state.query === \"\") reset()\n }, [reset, state.query])\n\n const { anchorRef, tooltipRef } = usePosition({\n active: isDropdownVisible,\n clamp,\n flip,\n key: options.length,\n offset: 0,\n position: \"bottom\",\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const handleFocus = () => {\n reset()\n dispatch({ type: \"OPEN\" })\n }\n\n const handleMouseDown = (option: T, i: number) => () => {\n handleSelect(option, i)\n resetUI()\n }\n\n const handleClick = () => {\n dispatch({ type: \"OPEN\" })\n }\n\n // Records the latest mouse movement and, inside the `handleMouseEnter` callback,\n // only treat the event as genuine if the mouse has moved very recently.\n // Otherwise, the event is presumed to have been triggered by scrolling and is ignored.\n const { lastMouseMoveTimestamp } = useMouseActivity()\n\n const handleMouseEnter = (i: number) => () => {\n const now = performance.now()\n\n // 50ms mouse move window\n if (now - lastMouseMoveTimestamp.current < 50) {\n set({ cursor: i, interactive: true })\n }\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const {\n currentTarget: { value },\n } = event\n\n dispatch({ type: \"CHANGE\", payload: { query: value } })\n onChange?.(event)\n }\n\n const handleClearOrSubmit = () => {\n if (state.query === \"\") {\n onSubmit?.(state.query)\n return\n }\n\n dispatch({ type: \"CLEAR\" })\n inputRef.current?.focus()\n onClear?.()\n }\n\n const handleClose = useCallback(() => {\n dispatch({ type: \"CLOSE\" })\n reset()\n onClose?.()\n }, [onClose, reset])\n\n const ignoreFocusChangeRef = useRef<boolean>(false)\n const ignoreFocusChange = {\n onMouseDown: () => (ignoreFocusChangeRef.current = true),\n onMouseUp: () => (ignoreFocusChangeRef.current = false),\n }\n\n // Moves focus to different options when keyboard navigating using up/down\n useEffect(() => {\n const el = optionsWithRefs[index]?.ref?.current\n if (!el) return\n\n const isPointerInteraction =\n performance.now() - lastMouseMoveTimestamp.current < 50\n\n if (isPointerInteraction) {\n // Pointer interactions should not cause scroll\n el.focus({ preventScroll: true })\n return\n }\n\n // Keyboard navigation: focus and ensure visibility\n el.focus({ preventScroll: true })\n try {\n el.scrollIntoView({ block: \"nearest\" })\n } catch {}\n }, [index, optionsWithRefs])\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (ignoreFocusChangeRef.current || focused || !isDropdownVisible) return\n\n handleClose()\n },\n\n [isDropdownVisible, handleClose]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n useClickOutside({\n ref: containsFocusRef,\n onClickOutside: handleClose,\n when: isDropdownVisible,\n type: \"click\",\n })\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n // Handle <Enter> when nothing is selected\n case \"Enter\":\n if (state.query !== \"\" && index === -1) {\n onSubmit?.(state.query)\n resetUI()\n }\n return\n\n // <Esc> to close dropdown\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n\n return\n\n default:\n break\n }\n\n onKeyDown?.(event)\n }\n\n // Moves focus back to input when typing\n const handleContainerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Alt\":\n case \"ArrowDown\":\n case \"ArrowUp\":\n case \"Control\":\n case \"Enter\":\n case \"Meta\":\n case \"Shift\":\n case \"Tab\":\n // Ignore\n return\n\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n reset()\n\n return\n\n default:\n inputRef.current?.focus()\n }\n }\n\n // Option that is being hovered or keyed into\n const staged = options[index]\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n onKeyDown={handleContainerKeydown}\n {...boxProps}\n >\n <LabeledInput\n ref={composeRefs(inputRef, anchorRef, forwardedRef) as any}\n role=\"combobox\"\n aria-expanded={isDropdownVisible}\n aria-autocomplete=\"list\"\n {...(id ? { id, \"aria-describedby\": `${id}__assistiveHint` } : {})}\n label={\n loading ? (\n <Box width={18}>\n <Spinner size=\"small\" />\n </Box>\n ) : state.query ? (\n <Clickable\n onClick={handleClearOrSubmit}\n height=\"100%\"\n display=\"flex\"\n alignItems=\"center\"\n aria-label=\"Clear input\"\n >\n <CloseIcon fill=\"mono60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"mono60\" aria-hidden />\n )\n }\n value={staged?.text ?? state.query}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeydown}\n onClick={handleClick}\n autoComplete=\"off\"\n height={height}\n {...inputProps}\n />\n\n {isDropdownVisible && (\n <AutocompleteInputDropdownContainer\n ref={tooltipRef as any}\n role=\"listbox\"\n width={width}\n minWidth={200}\n pt={1} // Gap in place of `offset` for `usePosition`\n >\n <AutocompleteInputDropdown minWidth={dropdownMinWidth}>\n <div ref={headerRef} {...ignoreFocusChange}>\n {header}\n </div>\n\n <AutocompleteInputOptions maxHeight={dropdownMaxHeight}>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <AutocompleteInputOption\n key={i}\n ref={ref}\n role=\"option\"\n aria-selected={i === index}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n onMouseDown={handleMouseDown(option, i)}\n onMouseEnter={handleMouseEnter(i)}\n tabIndex={-1}\n >\n {renderOption(option, i)}\n </AutocompleteInputOption>\n )\n })}\n </AutocompleteInputOptions>\n\n <div ref={footerRef} {...ignoreFocusChange}>\n {typeof footer === \"function\"\n ? footer({ onClose: handleClose })\n : footer}\n </div>\n </AutocompleteInputDropdown>\n </AutocompleteInputDropdownContainer>\n )}\n\n <VisuallyHidden {...(id ? { id: `${id}__assistiveHint` } : {})}>\n When autocomplete results are available use up and down arrows to review\n and enter to select. Touch device users, explore by touch or with swipe\n gestures.\n </VisuallyHidden>\n\n {isDropdownVisible && (\n <VisuallyHidden role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {options.length === 1\n ? `1 result is available`\n : `${options.length} results are available`}\n </VisuallyHidden>\n )}\n </Box>\n )\n}\n\nconst AutocompleteInputDropdownContainer = styled(Box)`\n z-index: 1;\n`\n\nconst AutocompleteInputDropdown = styled(Box)`\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n`\n\nconst AutocompleteInputOptions = styled(Box)`\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,SAAS,MAAM,wBAAwB;AAC9C,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,WAAW,MAAM,4BAA4B;AACpD,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,KAAK,IACVC,SAAS,EACTC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,UAAU,EACVC,MAAM,QACD,OAAO;AACd,OAAOC,MAAM,MAAM,mBAAmB;AAEtC,SAASC,yBAAyB,QAAQ,8BAA8B;AACxE,SAASC,eAAe,EAAEC,gBAAgB,EAAEC,WAAW;AACvD,SAASC,gBAAgB;AACzB,SAASC,UAAU;AACnB,SAASC,GAAG,EAAEC,aAAa;AAC3B,SAASC,SAAS;AAElB,SAASC,YAAY;AACrB,SAASC,OAAO;AAChB,SAASC,cAAc;AACvB,SAASC,uBAAuB;AAChC,SAASC,4BAA4B;;AAOrC;;AAkBA,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,KAAY,EAAEC,MAAc,EAAY;EACvD,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,MAAM;MACT,OAAAC,aAAA,CAAAA,aAAA,KAAYH,KAAK;QAAEI,IAAI,EAAE;MAAI;IAC/B,KAAK,OAAO;MACV,OAAAD,aAAA,CAAAA,aAAA,KAAYH,KAAK;QAAEI,IAAI,EAAE;MAAK;IAChC,KAAK,OAAO;MACV,OAAAD,aAAA,CAAAA,aAAA,KAAYH,KAAK;QAAEK,KAAK,EAAE;MAAE;IAC9B,KAAK,QAAQ;MACX,OAAAF,aAAA,CAAAA,aAAA,KAAYH,KAAK;QAAEK,KAAK,EAAEJ,MAAM,CAACK,OAAO,CAACD,KAAK;QAAED,IAAI,EAAE;MAAI;IAC5D,KAAK,QAAQ;MACX,OAAAD,aAAA,CAAAA,aAAA,KAAYH,KAAK;QAAEK,KAAK,EAAEJ,MAAM,CAACK,OAAO,CAACD,KAAK;QAAED,IAAI,EAAE;MAAK;EAAE;AAEnE,CAAC;AAiCD;AACA,OAAO,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAqBG;EAAA,IAAAC,YAAA;EAAA,IAAAC,UAAA,GAAAF,IAAA,CApB/BG,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,KAAK,GAAAA,UAAA;IAAAE,iBAAA,GAAAJ,IAAA,CACbK,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,EAAE,GAAAA,iBAAA;IAAAE,qBAAA,GAAAN,IAAA,CACjBO,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,GAAG,GAAAA,qBAAA;IACvBE,gBAAgB,GAAAR,IAAA,CAAhBQ,gBAAgB;IAAAC,SAAA,GAAAT,IAAA,CAChBU,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,IAAI,GAAAA,SAAA;IACXE,MAAM,GAAAX,IAAA,CAANW,MAAM;IACMC,YAAY,GAAAZ,IAAA,CAAxBa,UAAU;IACVC,MAAM,GAAAd,IAAA,CAANc,MAAM;IACNC,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,EAAE,GAAAhB,IAAA,CAAFgB,EAAE;IACFC,OAAO,GAAAjB,IAAA,CAAPiB,OAAO;IACPC,QAAQ,GAAAlB,IAAA,CAARkB,QAAQ;IACRC,OAAO,GAAAnB,IAAA,CAAPmB,OAAO;IACPC,OAAO,GAAApB,IAAA,CAAPoB,OAAO;IACPC,SAAS,GAAArB,IAAA,CAATqB,SAAS;IACTC,QAAQ,GAAAtB,IAAA,CAARsB,QAAQ;IACRC,QAAQ,GAAAvB,IAAA,CAARuB,QAAQ;IACRC,OAAO,GAAAxB,IAAA,CAAPwB,OAAO;IAAAC,iBAAA,GAAAzB,IAAA,CACP0B,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,UAACE,MAAM;MAAA,oBAAK1D,KAAA,CAAA2D,aAAA,CAACtC,4BAA4B,EAAKqC,MAAM,CAAI;IAAA,IAAAF,iBAAA;IACpEI,IAAI,GAAAC,wBAAA,CAAA9B,IAAA,EAAA+B,SAAA;EAEP,IAAMC,QAAQ,GAAGzD,MAAM,CAA0B,IAAI,CAAC;EACtD,IAAM0D,YAAY,GAAG1D,MAAM,CAAwB,IAAI,CAAC;EACxD,IAAM2D,SAAS,GAAG3D,MAAM,CAAwB,IAAI,CAAC;EACrD,IAAM4D,SAAS,GAAG5D,MAAM,CAAwB,IAAI,CAAC;EAErD,IAAA6D,cAAA,GAA+BpD,aAAa,CAAC6C,IAAI,CAAC;IAAAQ,eAAA,GAAAC,cAAA,CAAAF,cAAA;IAA3CG,QAAQ,GAAAF,eAAA;IAAEG,UAAU,GAAAH,eAAA;EAE3B,IAAAI,WAAA,GAA0BnE,UAAU,CAACiB,OAAO,EAAE;MAC5CK,IAAI,EAAE,KAAK;MACXC,KAAK,EAAEQ;IACT,CAAC,CAAC;IAAAqC,YAAA,GAAAJ,cAAA,CAAAG,WAAA;IAHKjD,KAAK,GAAAkD,YAAA;IAAEC,QAAQ,GAAAD,YAAA;EAKtB,IAAME,eAAe,GAAGvE,OAAO,CAAC,YAAM;IACpC,OAAOmD,OAAO,CAACqB,GAAG,CAAC,UAAClB,MAAM;MAAA,OAAM;QAC9BA,MAAM,EAANA,MAAM;QACNmB,GAAG,eAAE5E,SAAS;MAChB,CAAC;IAAA,CAAC,CAAC;EACL,CAAC,EAAE,CAACsD,OAAO,CAAC,CAAC;EAEb,IAAMuB,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IACpBC,UAAU,CAAC,YAAM;MAAA,IAAAC,iBAAA;MACf,CAAAA,iBAAA,GAAAjB,QAAQ,CAACkB,OAAO,cAAAD,iBAAA,uBAAhBA,iBAAA,CAAkBE,KAAK,EAAE;MACzBC,KAAK,EAAE;MACPT,QAAQ,CAAC;QAAEjD,IAAI,EAAE;MAAQ,CAAC,CAAC;IAC7B,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,IAAM2D,YAAY,GAAG,SAAfA,YAAYA,CAAI1B,MAAS,EAAE2B,KAAa,EAAK;IAAA,IAAAC,kBAAA;IACjDZ,QAAQ,CAAC;MAAEjD,IAAI,EAAE,QAAQ;MAAEI,OAAO,EAAE;QAAED,KAAK,EAAE8B,MAAM,CAAC6B;MAAK;IAAE,CAAC,CAAC;IAC7D,CAAAD,kBAAA,GAAAvB,QAAQ,CAACkB,OAAO,cAAAK,kBAAA,uBAAhBA,kBAAA,CAAkBJ,KAAK,EAAE;IACzB7B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGK,MAAM,EAAE2B,KAAK,CAAC;EAC3B,CAAC;EAED,IAAAG,qBAAA,GAA8BhF,yBAAyB,CAAC;MACtDqE,GAAG,EAAEb,YAAY;MACjByB,IAAI,EAAElC,OAAO;MACbmC,kBAAkB,EAAE,IAAI;MACxBC,OAAO,EAAE,SAATA,OAAOA,CAAAC,KAAA,EAA4C;QAAA,IAA9BlC,MAAM,GAAAkC,KAAA,CAAfC,OAAO;UAAiBC,CAAC,GAAAF,KAAA,CAARP,KAAK;UAAKU,KAAK,GAAAH,KAAA,CAALG,KAAK;QAC1CA,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QACvBb,YAAY,CAAC1B,MAAM,EAAEoC,CAAC,CAAC;QACvBhB,OAAO,EAAE;MACX;IACF,CAAC,CAAC;IAVMO,KAAK,GAAAG,qBAAA,CAALH,KAAK;IAAEF,KAAK,GAAAK,qBAAA,CAALL,KAAK;IAAEe,GAAG,GAAAV,qBAAA,CAAHU,GAAG;EAYzB,IAAMC,iBAAiB,GAAG5E,KAAK,CAACI,IAAI,IAAI4B,OAAO,CAAC6C,MAAM,GAAG,CAAC;;EAE1D;EACA;EACAjG,SAAS,CAACgF,KAAK,EAAE,CAAC5B,OAAO,CAAC,CAAC;;EAE3B;EACApD,SAAS,CAAC,YAAM;IACd,IAAIoB,KAAK,CAACK,KAAK,KAAK,EAAE,EAAEuD,KAAK,EAAE;EACjC,CAAC,EAAE,CAACA,KAAK,EAAE5D,KAAK,CAACK,KAAK,CAAC,CAAC;EAExB,IAAAyE,YAAA,GAAkC1F,WAAW,CAAC;MAC5C2F,MAAM,EAAEH,iBAAiB;MACzBjE,KAAK,EAALA,KAAK;MACLO,IAAI,EAAJA,IAAI;MACJ8D,GAAG,EAAEhD,OAAO,CAAC6C,MAAM;MACnBI,MAAM,EAAE,CAAC;MACTC,QAAQ,EAAE;IACZ,CAAC,CAAC;IAPMC,SAAS,GAAAL,YAAA,CAATK,SAAS;IAAEC,UAAU,GAAAN,YAAA,CAAVM,UAAU;EAS7B,IAAAC,WAAA,GAAkB/F,UAAU,CAAC;MAAEgE,GAAG,EAAE6B;IAAU,CAAC,CAAC;IAAxCG,KAAK,GAAAD,WAAA,CAALC,KAAK;EAEb,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB3B,KAAK,EAAE;IACPT,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;EAED,IAAMsF,eAAe,GAAG,SAAlBA,eAAeA,CAAIrD,MAAS,EAAEoC,CAAS;IAAA,OAAK,YAAM;MACtDV,YAAY,CAAC1B,MAAM,EAAEoC,CAAC,CAAC;MACvBhB,OAAO,EAAE;IACX,CAAC;EAAA;EAED,IAAMkC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxBtC,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;;EAED;EACA;EACA;EACA,IAAAwF,iBAAA,GAAmCrG,gBAAgB,EAAE;IAA7CsG,sBAAsB,GAAAD,iBAAA,CAAtBC,sBAAsB;EAE9B,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIrB,CAAS;IAAA,OAAK,YAAM;MAC5C,IAAMsB,GAAG,GAAGC,WAAW,CAACD,GAAG,EAAE;;MAE7B;MACA,IAAIA,GAAG,GAAGF,sBAAsB,CAACjC,OAAO,GAAG,EAAE,EAAE;QAC7CiB,GAAG,CAAC;UAAEoB,MAAM,EAAExB,CAAC;UAAEyB,WAAW,EAAE;QAAK,CAAC,CAAC;MACvC;IACF,CAAC;EAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIzB,KAA0C,EAAK;IACnE,IACmB0B,KAAK,GACpB1B,KAAK,CADP2B,aAAa,CAAID,KAAK;IAGxB/C,QAAQ,CAAC;MAAEjD,IAAI,EAAE,QAAQ;MAAEI,OAAO,EAAE;QAAED,KAAK,EAAE6F;MAAM;IAAE,CAAC,CAAC;IACvDxE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG8C,KAAK,CAAC;EACnB,CAAC;EAED,IAAM4B,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;IAAA,IAAAC,kBAAA;IAChC,IAAIrG,KAAK,CAACK,KAAK,KAAK,EAAE,EAAE;MACtB0B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG/B,KAAK,CAACK,KAAK,CAAC;MACvB;IACF;IAEA8C,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B,CAAAmG,kBAAA,GAAA7D,QAAQ,CAACkB,OAAO,cAAA2C,kBAAA,uBAAhBA,kBAAA,CAAkB1C,KAAK,EAAE;IACzBhC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC;EAED,IAAM2E,WAAW,GAAG3H,WAAW,CAAC,YAAM;IACpCwE,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B0D,KAAK,EAAE;IACPhC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC,EAAE,CAACA,OAAO,EAAEgC,KAAK,CAAC,CAAC;EAEpB,IAAM2C,oBAAoB,GAAGxH,MAAM,CAAU,KAAK,CAAC;EACnD,IAAMyH,iBAAiB,GAAG;IACxBC,WAAW,EAAE,SAAbA,WAAWA,CAAA;MAAA,OAASF,oBAAoB,CAAC7C,OAAO,GAAG,IAAI;IAAA,CAAC;IACxDgD,SAAS,EAAE,SAAXA,SAASA,CAAA;MAAA,OAASH,oBAAoB,CAAC7C,OAAO,GAAG,KAAK;IAAA;EACxD,CAAC;;EAED;EACA9E,SAAS,CAAC,YAAM;IAAA,IAAA+H,qBAAA,EAAAC,sBAAA;IACd,IAAMC,EAAE,IAAAF,qBAAA,GAAGvD,eAAe,CAACU,KAAK,CAAC,cAAA6C,qBAAA,wBAAAC,sBAAA,GAAtBD,qBAAA,CAAwBrD,GAAG,cAAAsD,sBAAA,uBAA3BA,sBAAA,CAA6BlD,OAAO;IAC/C,IAAI,CAACmD,EAAE,EAAE;IAET,IAAMC,oBAAoB,GACxBhB,WAAW,CAACD,GAAG,EAAE,GAAGF,sBAAsB,CAACjC,OAAO,GAAG,EAAE;IAEzD,IAAIoD,oBAAoB,EAAE;MACxB;MACAD,EAAE,CAAClD,KAAK,CAAC;QAAEoD,aAAa,EAAE;MAAK,CAAC,CAAC;MACjC;IACF;;IAEA;IACAF,EAAE,CAAClD,KAAK,CAAC;MAAEoD,aAAa,EAAE;IAAK,CAAC,CAAC;IACjC,IAAI;MACFF,EAAE,CAACG,cAAc,CAAC;QAAEC,KAAK,EAAE;MAAU,CAAC,CAAC;IACzC,CAAC,CAAC,OAAAC,OAAA,EAAM,CAAC;EACX,CAAC,EAAE,CAACpD,KAAK,EAAEV,eAAe,CAAC,CAAC;EAE5B,IAAM+D,iBAAiB,GAAGxI,WAAW,CACnC,UAACyI,OAAgB,EAAK;IACpB,IAAIb,oBAAoB,CAAC7C,OAAO,IAAI0D,OAAO,IAAI,CAACxC,iBAAiB,EAAE;IAEnE0B,WAAW,EAAE;EACf,CAAC,EAED,CAAC1B,iBAAiB,EAAE0B,WAAW,CAAC,CACjC;;EAED;EACA;EACA,IAAAe,iBAAA,GAAkClI,gBAAgB,CAAC;MACjDuC,QAAQ,EAAEyF;IACZ,CAAC,CAAC;IAFWG,gBAAgB,GAAAD,iBAAA,CAArB/D,GAAG;EAIXpE,eAAe,CAAC;IACdoE,GAAG,EAAEgE,gBAAgB;IACrBC,cAAc,EAAEjB,WAAW;IAC3BkB,IAAI,EAAE5C,iBAAiB;IACvB1E,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,IAAMuH,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIjD,KAA4C,EAAK;IAAA,IAAAkD,kBAAA;IAC3E,QAAQlD,KAAK,CAACQ,GAAG;MACf;MACA,KAAK,OAAO;QACV,IAAIhF,KAAK,CAACK,KAAK,KAAK,EAAE,IAAIyD,KAAK,KAAK,CAAC,CAAC,EAAE;UACtC/B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG/B,KAAK,CAACK,KAAK,CAAC;UACvBkD,OAAO,EAAE;QACX;QACA;;MAEF;MACA,KAAK,QAAQ;QACXiB,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBvB,QAAQ,CAAC;UAAEjD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAAwH,kBAAA,GAAAlF,QAAQ,CAACkB,OAAO,cAAAgE,kBAAA,uBAAhBA,kBAAA,CAAkBC,IAAI,EAAE;QAExB;MAEF;QACE;IAAK;IAGT9F,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG2C,KAAK,CAAC;EACpB,CAAC;;EAED;EACA,IAAMoD,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAC1BpD,KAA0C,EACvC;IAAA,IAAAqD,kBAAA,EAAAC,kBAAA;IACH,QAAQtD,KAAK,CAACQ,GAAG;MACf,KAAK,KAAK;MACV,KAAK,WAAW;MAChB,KAAK,SAAS;MACd,KAAK,SAAS;MACd,KAAK,OAAO;MACZ,KAAK,MAAM;MACX,KAAK,OAAO;MACZ,KAAK,KAAK;QACR;QACA;MAEF,KAAK,QAAQ;QACXR,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBvB,QAAQ,CAAC;UAAEjD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAA2H,kBAAA,GAAArF,QAAQ,CAACkB,OAAO,cAAAmE,kBAAA,uBAAhBA,kBAAA,CAAkBF,IAAI,EAAE;QACxB/D,KAAK,EAAE;QAEP;MAEF;QACE,CAAAkE,kBAAA,GAAAtF,QAAQ,CAACkB,OAAO,cAAAoE,kBAAA,uBAAhBA,kBAAA,CAAkBnE,KAAK,EAAE;IAAA;EAE/B,CAAC;;EAED;EACA,IAAMoE,MAAM,GAAG/F,OAAO,CAAC8B,KAAK,CAAC;EAE7B,oBACErF,KAAA,CAAA2D,aAAA,CAAC7C,GAAG,EAAAyI,QAAA;IACF1E,GAAG,EAAE/E,WAAW,CAACkE,YAAY,EAAE6E,gBAAgB,CAAS;IACxDzF,SAAS,EAAE+F;EAAuB,GAC9B7E,QAAQ,gBAEZtE,KAAA,CAAA2D,aAAA,CAAC1C,YAAY,EAAAsI,QAAA;IACX1E,GAAG,EAAE/E,WAAW,CAACiE,QAAQ,EAAE2C,SAAS,EAAE/D,YAAY,CAAS;IAC3D6G,IAAI,EAAC,UAAU;IACf,iBAAerD,iBAAkB;IACjC,qBAAkB;EAAM,GACnBpD,EAAE,GAAG;IAAEA,EAAE,EAAFA,EAAE;IAAE,kBAAkB,KAAA0G,MAAA,CAAK1G,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC;IACjE2G,KAAK,EACH1G,OAAO,gBACLhD,KAAA,CAAA2D,aAAA,CAAC7C,GAAG;MAAC+F,KAAK,EAAE;IAAG,gBACb7G,KAAA,CAAA2D,aAAA,CAACzC,OAAO;MAACyI,IAAI,EAAC;IAAO,EAAG,CACpB,GACJpI,KAAK,CAACK,KAAK,gBACb5B,KAAA,CAAA2D,aAAA,CAAC3C,SAAS;MACR4I,OAAO,EAAEjC,mBAAoB;MAC7B7E,MAAM,EAAC,MAAM;MACb+G,OAAO,EAAC,MAAM;MACdC,UAAU,EAAC,QAAQ;MACnB,cAAW;IAAa,gBAExB9J,KAAA,CAAA2D,aAAA,CAAC/D,SAAS;MAACmK,IAAI,EAAC,QAAQ;MAAC;IAAW,EAAG,CAC7B,gBAEZ/J,KAAA,CAAA2D,aAAA,CAAC9D,UAAU;MAACkK,IAAI,EAAC,QAAQ;MAAC;IAAW,EAExC;IACDtC,KAAK,GAAAzF,YAAA,GAAEsH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE/D,IAAI,cAAAvD,YAAA,cAAAA,YAAA,GAAIT,KAAK,CAACK,KAAM;IACnCqB,QAAQ,EAAEuE,YAAa;IACvBwC,OAAO,EAAElD,WAAY;IACrB1D,SAAS,EAAE4F,kBAAmB;IAC9BY,OAAO,EAAE5C,WAAY;IACrBiD,YAAY,EAAC,KAAK;IAClBnH,MAAM,EAAEA;EAAO,GACXyB,UAAU,EACd,EAED4B,iBAAiB,iBAChBnG,KAAA,CAAA2D,aAAA,CAACuG,kCAAkC;IACjCrF,GAAG,EAAE8B,UAAkB;IACvB6C,IAAI,EAAC,SAAS;IACd3C,KAAK,EAAEA,KAAM;IACbsD,QAAQ,EAAE,GAAI;IACdC,EAAE,EAAE,CAAE,CAAC;EAAA,gBAEPpK,KAAA,CAAA2D,aAAA,CAAC0G,yBAAyB;IAACF,QAAQ,EAAE5H;EAAiB,gBACpDvC,KAAA,CAAA2D,aAAA,QAAA4F,QAAA;IAAK1E,GAAG,EAAEZ;EAAU,GAAK8D,iBAAiB,GACvClF,MAAM,CACH,eAEN7C,KAAA,CAAA2D,aAAA,CAAC2G,wBAAwB;IAACC,SAAS,EAAEjI;EAAkB,GACpDqC,eAAe,CAACC,GAAG,CAAC,UAAA4F,KAAA,EAAkB1E,CAAC,EAAK;IAAA,IAArBpC,MAAM,GAAA8G,KAAA,CAAN9G,MAAM;MAAEmB,GAAG,GAAA2F,KAAA,CAAH3F,GAAG;IACjC,oBACE7E,KAAA,CAAA2D,aAAA,CAACvC,uBAAuB;MACtBmF,GAAG,EAAET,CAAE;MACPjB,GAAG,EAAEA,GAAI;MACT2E,IAAI,EAAC,QAAQ;MACb,iBAAe1D,CAAC,KAAKT,KAAM;MAC3B,iBAAeS,CAAC,GAAG,CAAE;MACrB,gBAAcvC,OAAO,CAAC6C,MAAO;MAC7B4B,WAAW,EAAEjB,eAAe,CAACrD,MAAM,EAAEoC,CAAC,CAAE;MACxC2E,YAAY,EAAEtD,gBAAgB,CAACrB,CAAC,CAAE;MAClC4E,QAAQ,EAAE,CAAC;IAAE,GAEZjH,YAAY,CAACC,MAAM,EAAEoC,CAAC,CAAC,CACA;EAE9B,CAAC,CAAC,CACuB,eAE3B9F,KAAA,CAAA2D,aAAA,QAAA4F,QAAA;IAAK1E,GAAG,EAAEX;EAAU,GAAK6D,iBAAiB,GACvC,OAAOrF,MAAM,KAAK,UAAU,GACzBA,MAAM,CAAC;IAAES,OAAO,EAAE0E;EAAY,CAAC,CAAC,GAChCnF,MAAM,CACN,CACoB,CAE/B,eAED1C,KAAA,CAAA2D,aAAA,CAACxC,cAAc,EAAM4B,EAAE,GAAG;IAAEA,EAAE,KAAA0G,MAAA,CAAK1G,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC,EAAG,4JAIhE,CAAiB,EAEhBoD,iBAAiB,iBAChBnG,KAAA,CAAA2D,aAAA,CAACxC,cAAc;IAACqI,IAAI,EAAC,QAAQ;IAAC,eAAY,MAAM;IAAC,aAAU;EAAQ,GAChEjG,OAAO,CAAC6C,MAAM,KAAK,CAAC,gCAAAqD,MAAA,CAEdlG,OAAO,CAAC6C,MAAM,2BAAwB,CAEhD,CACG;AAEV,CAAC;AAhWYtE,iBAAiB,CAAA6I,WAAA;AAkW9B,IAAMT,kCAAkC,GAAG3J,MAAM,CAACO,GAAG,CAAC,CAAA8J,UAAA;EAAAD,WAAA;EAAAE,WAAA;AAAA,kBAErD;AAED,IAAMR,yBAAyB,GAAG9J,MAAM,CAACO,GAAG,CAAC,CAAA8J,UAAA;EAAAD,WAAA;EAAAE,WAAA;AAAA,yBAC7B9K,QAAQ,CAAC,oBAAoB,CAAC,CAC7C;AAED,IAAMuK,wBAAwB,GAAG/J,MAAM,CAACO,GAAG,CAAC,CAAA8J,UAAA;EAAAD,WAAA;EAAAE,WAAA;AAAA,yDAG3C"}
1
+ {"version":3,"file":"AutocompleteInput.js","names":["CloseIcon","SearchIcon","composeRefs","themeGet","React","createRef","useCallback","useEffect","useMemo","useReducer","useRef","styled","ResponsiveValue","useKeyboardListNavigation","useClickOutside","useContainsFocus","usePosition","useMouseActivity","useWidthOf","Box","splitBoxProps","Clickable","InputProps","LabeledInput","Spinner","VisuallyHidden","AutocompleteInputOption","AutocompleteInputOptionLabel","reducer","state","action","type","_objectSpread","open","query","payload","AutocompleteInput","_ref","_staged$text","_ref$clamp","clamp","_ref$defaultValue","defaultValue","_ref$dropdownMaxHeigh","dropdownMaxHeight","dropdownMinWidth","_ref$flip","flip","footer","forwardedRef","forwardRef","header","height","id","loading","onChange","onClear","onClose","onKeyDown","onSelect","onSubmit","options","_ref$renderOption","renderOption","option","createElement","rest","_objectWithoutProperties","_excluded","inputRef","containerRef","headerRef","footerRef","_splitBoxProps","_splitBoxProps2","_slicedToArray","boxProps","inputProps","_useReducer","_useReducer2","dispatch","optionsWithRefs","map","ref","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","list","waitForInteractive","onEnter","_ref2","element","i","event","preventDefault","stopPropagation","set","isDropdownVisible","length","_usePosition","active","key","offset","position","anchorRef","tooltipRef","_useWidthOf","width","handleFocus","handleMouseDown","handleClick","_useMouseActivity","lastMouseMoveTimestamp","handleMouseEnter","now","performance","cursor","interactive","handleChange","value","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_optionsWithRefs$inde","_optionsWithRefs$inde2","el","isPointerInteraction","preventScroll","scrollIntoView","block","_unused","handleFocusChange","focused","_useContainsFocus","containsFocusRef","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","_extends","role","concat","label","size","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdownContainer","minWidth","pt","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","onMouseEnter","tabIndex","displayName","withConfig","componentId"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInput.tsx"],"sourcesContent":["import CloseIcon from \"@artsy/icons/CloseIcon\"\nimport SearchIcon from \"@artsy/icons/SearchIcon\"\nimport composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { ResponsiveValue } from \"styled-system\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { useClickOutside, useContainsFocus, usePosition } from \"../../utils\"\nimport { useMouseActivity } from \"../../utils/useMouseActivity\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { InputProps } from \"../Input\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { Spinner } from \"../Spinner\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { AutocompleteInputOption } from \"./AutocompleteInputOption\"\nimport { AutocompleteInputOptionLabel } from \"./AutocompleteInputOptionLabel\"\n\nexport interface AutocompleteFooterActions {\n /** Call to close dropdown */\n onClose(): void\n}\n\n/** Base option type — can be expanded */\nexport interface AutocompleteInputOptionType {\n text: string\n value: string\n}\n\ninterface State {\n open: boolean\n query: string\n}\n\ntype Action =\n | { type: \"OPEN\" }\n | { type: \"CLOSE\" }\n | { type: \"CLEAR\" }\n | { type: \"CHANGE\"; payload: { query: string } }\n | { type: \"SELECT\"; payload: { query: string } }\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"OPEN\":\n return { ...state, open: true }\n case \"CLOSE\":\n return { ...state, open: false }\n case \"CLEAR\":\n return { ...state, query: \"\" }\n case \"CHANGE\":\n return { ...state, query: action.payload.query, open: true }\n case \"SELECT\":\n return { ...state, query: action.payload.query, open: false }\n }\n}\n\nexport interface AutocompleteInputProps<T extends AutocompleteInputOptionType>\n extends Omit<InputProps, \"onSelect\" | \"onSubmit\"> {\n /** Optionally enable clamping (default: `false`) */\n clamp?: boolean\n defaultValue?: string\n dropdownMaxHeight?: ResponsiveValue<string | number>\n dropdownMinWidth?: ResponsiveValue<string | number>\n loading?: boolean\n header?: React.ReactNode\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n footer?:\n | React.ReactNode\n | ((dropdownActions: AutocompleteFooterActions) => React.ReactNode)\n /** Ref to the input; workaround generics */\n forwardRef?: React.Ref<HTMLInputElement>\n /** on <enter> when no option is selected */\n onSubmit?(query: string): void\n /** on <click> or <enter> when an option is selected */\n onSelect?(option: T, index: number): void\n /** on <click> of the 'x' (clear) button */\n onClear?(): void\n /** Callback that runs when options are hidden */\n onClose?(): void\n options: T[]\n renderOption?(\n option: T,\n i: number\n ): React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/** AutocompleteInput */\nexport const AutocompleteInput = <T extends AutocompleteInputOptionType>({\n clamp = false,\n defaultValue = \"\",\n dropdownMaxHeight = 308, // 308 = roughly 5.5 options\n dropdownMinWidth,\n flip = true,\n footer,\n forwardRef: forwardedRef,\n header,\n height,\n id,\n loading,\n onChange,\n onClear,\n onClose,\n onKeyDown,\n onSelect,\n onSubmit,\n options,\n renderOption = (option) => <AutocompleteInputOptionLabel {...option} />,\n ...rest\n}: AutocompleteInputProps<T>) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const headerRef = useRef<HTMLDivElement | null>(null)\n const footerRef = useRef<HTMLDivElement | null>(null)\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n\n const [state, dispatch] = useReducer(reducer, {\n open: false,\n query: defaultValue,\n })\n\n const optionsWithRefs = useMemo(() => {\n return options.map((option) => ({\n option,\n ref: createRef<HTMLButtonElement>(),\n }))\n }, [options])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n dispatch({ type: \"CLOSE\" })\n }, 100)\n }\n\n const handleSelect = (option: T, index: number) => {\n dispatch({ type: \"SELECT\", payload: { query: option.text } })\n inputRef.current?.focus()\n onSelect?.(option, index)\n }\n\n const { index, reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: options,\n waitForInteractive: true,\n onEnter: ({ element: option, index: i, event }) => {\n event.preventDefault()\n event.stopPropagation()\n handleSelect(option, i)\n resetUI()\n },\n })\n\n const isDropdownVisible = state.open && options.length > 0\n\n // Reset keyboard navigation when options change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(reset, [options])\n\n // Reset keyboard navigation when query is empty\n useEffect(() => {\n if (state.query === \"\") reset()\n }, [reset, state.query])\n\n const { anchorRef, tooltipRef } = usePosition({\n active: isDropdownVisible,\n clamp,\n flip,\n key: options.length,\n offset: 0,\n position: \"bottom\",\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const handleFocus = () => {\n reset()\n dispatch({ type: \"OPEN\" })\n }\n\n const handleMouseDown = (option: T, i: number) => () => {\n handleSelect(option, i)\n resetUI()\n }\n\n const handleClick = () => {\n dispatch({ type: \"OPEN\" })\n }\n\n // Records the latest mouse movement and, inside the `handleMouseEnter` callback,\n // only treat the event as genuine if the mouse has moved very recently.\n // Otherwise, the event is presumed to have been triggered by scrolling and is ignored.\n const { lastMouseMoveTimestamp } = useMouseActivity()\n\n const handleMouseEnter = (i: number) => () => {\n const now = performance.now()\n\n // 50ms mouse move window\n if (now - lastMouseMoveTimestamp.current < 50) {\n set({ cursor: i, interactive: true })\n }\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const {\n currentTarget: { value },\n } = event\n\n dispatch({ type: \"CHANGE\", payload: { query: value } })\n onChange?.(event)\n }\n\n const handleClearOrSubmit = () => {\n if (state.query === \"\") {\n onSubmit?.(state.query)\n return\n }\n\n dispatch({ type: \"CLEAR\" })\n inputRef.current?.focus()\n onClear?.()\n }\n\n const handleClose = useCallback(() => {\n dispatch({ type: \"CLOSE\" })\n reset()\n onClose?.()\n }, [onClose, reset])\n\n const ignoreFocusChangeRef = useRef<boolean>(false)\n const ignoreFocusChange = {\n onMouseDown: () => (ignoreFocusChangeRef.current = true),\n onMouseUp: () => (ignoreFocusChangeRef.current = false),\n }\n\n // Moves focus to different options when keyboard navigating using up/down\n useEffect(() => {\n const el = optionsWithRefs[index]?.ref?.current\n if (!el) return\n\n const isPointerInteraction =\n performance.now() - lastMouseMoveTimestamp.current < 50\n\n if (isPointerInteraction) {\n // Pointer interactions should not cause scroll\n el.focus({ preventScroll: true })\n return\n }\n\n // Keyboard navigation: focus and ensure visibility\n el.focus({ preventScroll: true })\n try {\n el.scrollIntoView({ block: \"nearest\" })\n } catch {}\n }, [index, optionsWithRefs])\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (ignoreFocusChangeRef.current || focused || !isDropdownVisible) return\n\n handleClose()\n },\n\n [isDropdownVisible, handleClose]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n useClickOutside({\n ref: containsFocusRef,\n onClickOutside: handleClose,\n when: isDropdownVisible,\n type: \"click\",\n })\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n // Handle <Enter> when nothing is selected\n case \"Enter\":\n if (state.query !== \"\" && index === -1) {\n onSubmit?.(state.query)\n resetUI()\n }\n return\n\n // <Esc> to close dropdown\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n\n return\n\n default:\n break\n }\n\n onKeyDown?.(event)\n }\n\n // Moves focus back to input when typing\n const handleContainerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Alt\":\n case \"ArrowDown\":\n case \"ArrowUp\":\n case \"Control\":\n case \"Enter\":\n case \"Meta\":\n case \"Shift\":\n case \"Tab\":\n // Ignore\n return\n\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n reset()\n\n return\n\n default:\n inputRef.current?.focus()\n }\n }\n\n // Option that is being hovered or keyed into\n const staged = options[index]\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n onKeyDown={handleContainerKeydown}\n {...boxProps}\n >\n <LabeledInput\n ref={composeRefs(inputRef, anchorRef, forwardedRef) as any}\n role=\"combobox\"\n aria-expanded={isDropdownVisible}\n aria-autocomplete=\"list\"\n {...(id ? { id, \"aria-describedby\": `${id}__assistiveHint` } : {})}\n label={\n loading ? (\n <Box width={18}>\n <Spinner size=\"small\" />\n </Box>\n ) : state.query ? (\n <Clickable\n onClick={handleClearOrSubmit}\n height=\"100%\"\n display=\"flex\"\n alignItems=\"center\"\n aria-label=\"Clear input\"\n >\n <CloseIcon fill=\"mono60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"mono60\" aria-hidden />\n )\n }\n value={staged?.text ?? state.query}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeydown}\n onClick={handleClick}\n autoComplete=\"off\"\n height={height}\n {...inputProps}\n />\n\n {isDropdownVisible && (\n <AutocompleteInputDropdownContainer\n ref={tooltipRef as any}\n role=\"listbox\"\n width={width}\n minWidth={200}\n pt={1} // Gap in place of `offset` for `usePosition`\n >\n <AutocompleteInputDropdown minWidth={dropdownMinWidth}>\n <div ref={headerRef} {...ignoreFocusChange}>\n {header}\n </div>\n\n <AutocompleteInputOptions maxHeight={dropdownMaxHeight}>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <AutocompleteInputOption\n key={i}\n ref={ref}\n role=\"option\"\n aria-selected={i === index}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n onMouseDown={handleMouseDown(option, i)}\n onMouseEnter={handleMouseEnter(i)}\n tabIndex={-1}\n >\n {renderOption(option, i)}\n </AutocompleteInputOption>\n )\n })}\n </AutocompleteInputOptions>\n\n <div ref={footerRef} {...ignoreFocusChange}>\n {typeof footer === \"function\"\n ? footer({ onClose: handleClose })\n : footer}\n </div>\n </AutocompleteInputDropdown>\n </AutocompleteInputDropdownContainer>\n )}\n\n <VisuallyHidden {...(id ? { id: `${id}__assistiveHint` } : {})}>\n When autocomplete results are available use up and down arrows to review\n and enter to select. Touch device users, explore by touch or with swipe\n gestures.\n </VisuallyHidden>\n\n {isDropdownVisible && (\n <VisuallyHidden role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {options.length === 1\n ? `1 result is available`\n : `${options.length} results are available`}\n </VisuallyHidden>\n )}\n </Box>\n )\n}\n\nconst AutocompleteInputDropdownContainer = styled(Box)`\n z-index: 1;\n`\n\nconst AutocompleteInputDropdown = styled(Box)`\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n`\n\nconst AutocompleteInputOptions = styled(Box)`\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ import composeRefs from "@seznam/compose-react-refs";
6
6
  import { themeGet } from "@styled-system/theme-get";
7
7
  import React, { forwardRef, useRef } from "react";
8
8
  import styled from "styled-components";
9
- import { Clickable } from "../Clickable";
9
+ import { Clickable, ClickableProps } from "../Clickable";
10
10
  export var AutocompleteInputOption = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
11
11
  var children = _ref.children,
12
12
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteInputOption.js","names":["composeRefs","themeGet","React","forwardRef","useRef","styled","Clickable","AutocompleteInputOption","_ref","forwardedRef","children","rest","_objectWithoutProperties","_excluded","ref","createElement","Container","_extends","bg","displayName","withConfig","componentId"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInputOption.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, { forwardRef, useRef } from \"react\"\nimport styled from \"styled-components\"\nimport { Clickable, ClickableProps } from \"../Clickable\"\n\nexport type AutocompleteInputOptionProps = ClickableProps\n\nexport const AutocompleteInputOption = forwardRef<\n HTMLButtonElement,\n AutocompleteInputOptionProps\n>(({ children, ...rest }, forwardedRef) => {\n const ref = useRef<HTMLButtonElement | null>(null)\n\n return (\n <Container ref={composeRefs(ref, forwardedRef) as any} bg=\"mono0\" {...rest}>\n {children}\n </Container>\n )\n})\n\nAutocompleteInputOption.displayName = \"AutocompleteInputOption\"\n\nconst Container = styled(Clickable)`\n display: block;\n width: 100%;\n\n &:focus,\n &:active {\n outline: 0;\n background-color: ${themeGet(\"colors.mono5\")};\n }\n`\n"],"mappings":";;;;AAAA,OAAOA,WAAW,MAAM,4BAA4B;AACpD,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACjD,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,SAAS;AAIlB,OAAO,IAAMC,uBAAuB,gBAAGJ,UAAU,CAG/C,UAAAK,IAAA,EAAwBC,YAAY,EAAK;EAAA,IAAtCC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACpB,IAAMC,GAAG,GAAGV,MAAM,CAA2B,IAAI,CAAC;EAElD,oBACEF,KAAA,CAAAa,aAAA,CAACC,SAAS,EAAAC,QAAA;IAACH,GAAG,EAAEd,WAAW,CAACc,GAAG,EAAEL,YAAY,CAAS;IAACS,EAAE,EAAC;EAAO,GAAKP,IAAI,GACvED,QAAQ,CACC;AAEhB,CAAC,CAAC;AAEFH,uBAAuB,CAACY,WAAW,GAAG,yBAAyB;AAE/D,IAAMH,SAAS,GAAGX,MAAM,CAACC,SAAS,CAAC,CAAAc,UAAA;EAAAD,WAAA;EAAAE,WAAA;AAAA,oFAOXpB,QAAQ,CAAC,cAAc,CAAC,CAE/C"}
1
+ {"version":3,"file":"AutocompleteInputOption.js","names":["composeRefs","themeGet","React","forwardRef","useRef","styled","Clickable","ClickableProps","AutocompleteInputOption","_ref","forwardedRef","children","rest","_objectWithoutProperties","_excluded","ref","createElement","Container","_extends","bg","displayName","withConfig","componentId"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInputOption.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport React, { forwardRef, useRef } from \"react\"\nimport styled from \"styled-components\"\nimport { Clickable, ClickableProps } from \"../Clickable\"\n\nexport type AutocompleteInputOptionProps = ClickableProps\n\nexport const AutocompleteInputOption = forwardRef<\n HTMLButtonElement,\n AutocompleteInputOptionProps\n>(({ children, ...rest }, forwardedRef) => {\n const ref = useRef<HTMLButtonElement | null>(null)\n\n return (\n <Container ref={composeRefs(ref, forwardedRef) as any} bg=\"mono0\" {...rest}>\n {children}\n </Container>\n )\n})\n\nAutocompleteInputOption.displayName = \"AutocompleteInputOption\"\n\nconst Container = styled(Clickable)`\n display: block;\n width: 100%;\n\n &:focus,\n &:active {\n outline: 0;\n background-color: ${themeGet(\"colors.mono5\")};\n }\n`\n"],"mappings":";;;;AAAA,OAAOA,WAAW,MAAM,4BAA4B;AACpD,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,KAAK,IAAIC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACjD,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,SAAS,EAAEC,cAAc;AAIlC,OAAO,IAAMC,uBAAuB,gBAAGL,UAAU,CAG/C,UAAAM,IAAA,EAAwBC,YAAY,EAAK;EAAA,IAAtCC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACpB,IAAMC,GAAG,GAAGX,MAAM,CAA2B,IAAI,CAAC;EAElD,oBACEF,KAAA,CAAAc,aAAA,CAACC,SAAS,EAAAC,QAAA;IAACH,GAAG,EAAEf,WAAW,CAACe,GAAG,EAAEL,YAAY,CAAS;IAACS,EAAE,EAAC;EAAO,GAAKP,IAAI,GACvED,QAAQ,CACC;AAEhB,CAAC,CAAC;AAEFH,uBAAuB,CAACY,WAAW,GAAG,yBAAyB;AAE/D,IAAMH,SAAS,GAAGZ,MAAM,CAACC,SAAS,CAAC,CAAAe,UAAA;EAAAD,WAAA;EAAAE,WAAA;AAAA,oFAOXrB,QAAQ,CAAC,cAAc,CAAC,CAE/C"}
@@ -3,7 +3,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
3
3
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
5
  import React from "react";
6
- import { Text } from "../Text";
6
+ import { Text, TextProps } from "../Text";
7
7
  export var AutocompleteInputOptionLabel = function AutocompleteInputOptionLabel(_ref) {
8
8
  var text = _ref.text,
9
9
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteInputOptionLabel.js","names":["React","Text","AutocompleteInputOptionLabel","_ref","text","rest","_objectWithoutProperties","_excluded","createElement","_extends","variant","lineHeight","p","overflowEllipsis","displayName"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInputOptionLabel.tsx"],"sourcesContent":["import React from \"react\"\nimport { Text, TextProps } from \"../Text\"\n\nexport interface AutocompleteInputOptionLabelProps extends TextProps {\n text: string\n}\n\nexport const AutocompleteInputOptionLabel: React.FC<React.PropsWithChildren<AutocompleteInputOptionLabelProps>> = ({\n text,\n ...rest\n}) => {\n return (\n <Text variant=\"sm-display\" lineHeight={1} p={2} overflowEllipsis {...rest}>\n {text}\n </Text>\n )\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI;AAMb,OAAO,IAAMC,4BAAkG,GAAG,SAArGA,4BAAkGA,CAAAC,IAAA,EAGzG;EAAA,IAFJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACDC,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAEP,oBACEP,KAAA,CAAAQ,aAAA,CAACP,IAAI,EAAAQ,QAAA;IAACC,OAAO,EAAC,YAAY;IAACC,UAAU,EAAE,CAAE;IAACC,CAAC,EAAE,CAAE;IAACC,gBAAgB;EAAA,GAAKR,IAAI,GACtED,IAAI,CACA;AAEX,CAAC;AATYF,4BAAkG,CAAAY,WAAA"}
1
+ {"version":3,"file":"AutocompleteInputOptionLabel.js","names":["React","Text","TextProps","AutocompleteInputOptionLabel","_ref","text","rest","_objectWithoutProperties","_excluded","createElement","_extends","variant","lineHeight","p","overflowEllipsis","displayName"],"sources":["../../../../src/elements/AutocompleteInput/AutocompleteInputOptionLabel.tsx"],"sourcesContent":["import React from \"react\"\nimport { Text, TextProps } from \"../Text\"\n\nexport interface AutocompleteInputOptionLabelProps extends TextProps {\n text: string\n}\n\nexport const AutocompleteInputOptionLabel: React.FC<React.PropsWithChildren<AutocompleteInputOptionLabelProps>> = ({\n text,\n ...rest\n}) => {\n return (\n <Text variant=\"sm-display\" lineHeight={1} p={2} overflowEllipsis {...rest}>\n {text}\n </Text>\n )\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,SAAS;AAMxB,OAAO,IAAMC,4BAAkG,GAAG,SAArGA,4BAAkGA,CAAAC,IAAA,EAGzG;EAAA,IAFJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACDC,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAEP,oBACER,KAAA,CAAAS,aAAA,CAACR,IAAI,EAAAS,QAAA;IAACC,OAAO,EAAC,YAAY;IAACC,UAAU,EAAE,CAAE;IAACC,CAAC,EAAE,CAAE;IAACC,gBAAgB;EAAA,GAAKR,IAAI,GACtED,IAAI,CACA;AAEX,CAAC;AATYF,4BAAkG,CAAAY,WAAA"}
@@ -8,10 +8,11 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
+ import { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
11
12
  import React, { useState } from "react";
12
13
  import { splitBoxProps } from "../Box";
13
- import { Flex } from "../Flex";
14
- import { Image } from "../Image";
14
+ import { Flex, FlexProps } from "../Flex";
15
+ import { Image, ImageProps } from "../Image";
15
16
  import { Text } from "../Text";
16
17
  var LENGTHS = {
17
18
  xxs: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","names":["React","useState","splitBoxProps","Flex","Image","Text","LENGTHS","xxs","xs","sm","md","TOKENS","fontWeight","color","bg","diameter","variant","Avatar","_ref","_TOKENS$size","src","initials","_ref$size","size","_ref$lazyLoad","lazyLoad","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","mode","setMode","_splitBoxProps","_splitBoxProps2","boxProps","imageProps","_ref2","createElement","_extends","border","borderColor","borderRadius","alignItems","justifyContent","position","overflow","flexShrink","lineHeight","slice","top","left","width","height","alt","onError","displayName"],"sources":["../../../../src/elements/Avatar/Avatar.tsx"],"sourcesContent":["import { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\nimport React, { useState } from \"react\"\nimport { splitBoxProps } from \"../Box\"\nimport { Flex, FlexProps } from \"../Flex\"\nimport { Image, ImageProps } from \"../Image\"\nimport { Text } from \"../Text\"\n\nexport interface AvatarProps extends FlexProps, Partial<ImageProps> {\n /** If an image is missing, show initials instead */\n initials?: string\n /** The size of the Avatar */\n size?: \"xxs\" | \"xs\" | \"sm\" | \"md\"\n}\n\nconst LENGTHS = {\n xxs: 2,\n xs: 2,\n sm: 3,\n md: 4,\n}\n\nconst TOKENS = {\n fontWeight: \"normal\",\n color: \"mono100\",\n bg: \"transparent\",\n xxs: {\n diameter: 30,\n variant: \"xs\" as TextVariant,\n },\n xs: {\n diameter: 45,\n variant: \"sm-display\" as TextVariant,\n },\n sm: {\n diameter: 70,\n variant: \"md\" as TextVariant,\n },\n md: {\n diameter: 100,\n variant: \"lg-display\" as TextVariant,\n },\n}\n\n/** An circular Avatar component containing an image or initials */\nexport const Avatar: React.FC<React.PropsWithChildren<AvatarProps>> = ({\n src,\n initials,\n size = \"md\",\n lazyLoad = false,\n ...rest\n}) => {\n const [mode, setMode] = useState<\"OK\" | \"Error\">(\"OK\")\n\n const [boxProps, imageProps] = splitBoxProps(rest)\n\n const { diameter, variant } = TOKENS[size] ?? TOKENS.sm\n\n return (\n <Flex\n size={diameter}\n bg={TOKENS.bg}\n border={src ? \"transparent\" : \"1px solid\"}\n borderColor=\"mono15\"\n borderRadius=\"50%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"relative\"\n overflow=\"hidden\"\n flexShrink={0}\n {...boxProps}\n >\n {initials && (\n <Text\n variant={variant}\n fontWeight={TOKENS.fontWeight}\n color={TOKENS.color}\n lineHeight={1}\n >\n {initials.slice(0, LENGTHS[size])}\n </Text>\n )}\n\n {src && mode !== \"Error\" && (\n <Flex position=\"absolute\" top={0} left={0} width=\"100%\" height=\"100%\">\n <Image\n src={src}\n width=\"100%\"\n height=\"100%\"\n lazyLoad={lazyLoad}\n alt={initials ?? \"\"}\n onError={() => {\n setMode(\"Error\")\n }}\n {...imageProps}\n />\n </Flex>\n )}\n </Flex>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","names":["TextVariant","React","useState","splitBoxProps","Flex","FlexProps","Image","ImageProps","Text","LENGTHS","xxs","xs","sm","md","TOKENS","fontWeight","color","bg","diameter","variant","Avatar","_ref","_TOKENS$size","src","initials","_ref$size","size","_ref$lazyLoad","lazyLoad","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","mode","setMode","_splitBoxProps","_splitBoxProps2","boxProps","imageProps","_ref2","createElement","_extends","border","borderColor","borderRadius","alignItems","justifyContent","position","overflow","flexShrink","lineHeight","slice","top","left","width","height","alt","onError","displayName"],"sources":["../../../../src/elements/Avatar/Avatar.tsx"],"sourcesContent":["import { TextVariant } from \"@artsy/palette-tokens/dist/typography/v3\"\nimport React, { useState } from \"react\"\nimport { splitBoxProps } from \"../Box\"\nimport { Flex, FlexProps } from \"../Flex\"\nimport { Image, ImageProps } from \"../Image\"\nimport { Text } from \"../Text\"\n\nexport interface AvatarProps extends FlexProps, Partial<ImageProps> {\n /** If an image is missing, show initials instead */\n initials?: string\n /** The size of the Avatar */\n size?: \"xxs\" | \"xs\" | \"sm\" | \"md\"\n}\n\nconst LENGTHS = {\n xxs: 2,\n xs: 2,\n sm: 3,\n md: 4,\n}\n\nconst TOKENS = {\n fontWeight: \"normal\",\n color: \"mono100\",\n bg: \"transparent\",\n xxs: {\n diameter: 30,\n variant: \"xs\" as TextVariant,\n },\n xs: {\n diameter: 45,\n variant: \"sm-display\" as TextVariant,\n },\n sm: {\n diameter: 70,\n variant: \"md\" as TextVariant,\n },\n md: {\n diameter: 100,\n variant: \"lg-display\" as TextVariant,\n },\n}\n\n/** An circular Avatar component containing an image or initials */\nexport const Avatar: React.FC<React.PropsWithChildren<AvatarProps>> = ({\n src,\n initials,\n size = \"md\",\n lazyLoad = false,\n ...rest\n}) => {\n const [mode, setMode] = useState<\"OK\" | \"Error\">(\"OK\")\n\n const [boxProps, imageProps] = splitBoxProps(rest)\n\n const { diameter, variant } = TOKENS[size] ?? TOKENS.sm\n\n return (\n <Flex\n size={diameter}\n bg={TOKENS.bg}\n border={src ? \"transparent\" : \"1px solid\"}\n borderColor=\"mono15\"\n borderRadius=\"50%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n position=\"relative\"\n overflow=\"hidden\"\n flexShrink={0}\n {...boxProps}\n >\n {initials && (\n <Text\n variant={variant}\n fontWeight={TOKENS.fontWeight}\n color={TOKENS.color}\n lineHeight={1}\n >\n {initials.slice(0, LENGTHS[size])}\n </Text>\n )}\n\n {src && mode !== \"Error\" && (\n <Flex position=\"absolute\" top={0} left={0} width=\"100%\" height=\"100%\">\n <Image\n src={src}\n width=\"100%\"\n height=\"100%\"\n lazyLoad={lazyLoad}\n alt={initials ?? \"\"}\n onError={() => {\n setMode(\"Error\")\n }}\n {...imageProps}\n />\n </Flex>\n )}\n </Flex>\n )\n}\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ import styled from "styled-components";
13
13
  import { variant } from "styled-system";
14
14
  import CloseIcon from "@artsy/icons/CloseIcon";
15
15
  import { Clickable } from "../Clickable";
16
- import { Flex } from "../Flex";
16
+ import { Flex, FlexProps } from "../Flex";
17
17
  import { Text } from "../Text";
18
18
  /** A banner */
19
19
  export var Banner = function Banner(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","names":["React","useState","styled","variant","CloseIcon","Clickable","Flex","Text","Banner","_ref","_ref$dismissable","dismissable","_ref$variant","onClose","children","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","dismissed","setDismissed","handleClick","createElement","Container","_extends","position","py","px","display","alignItems","justifyContent","textAlign","flex","top","right","bottom","p","color","onClick","style","fill","displayName","BANNER_VARIANTS","defaultLight","backgroundColor","defaultDark","success","error","brand","withConfig","componentId","variants"],"sources":["../../../../src/elements/Banner/Banner.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport styled from \"styled-components\"\nimport { variant } from \"styled-system\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex, FlexProps } from \"../Flex\"\nimport { Text } from \"../Text\"\n\nexport type BannerVariant = keyof typeof BANNER_VARIANTS\n\nexport interface BannerProps extends FlexProps {\n variant?: BannerVariant\n dismissable?: boolean\n onClose?: () => void\n}\n\n/** A banner */\nexport const Banner: React.FC<React.PropsWithChildren<BannerProps>> = ({\n dismissable = false,\n variant = \"defaultLight\",\n onClose,\n children,\n ...rest\n}) => {\n const [dismissed, setDismissed] = useState(false)\n\n const handleClick = () => {\n if (onClose) {\n onClose()\n }\n setDismissed(true)\n }\n\n if (dismissed) return null\n\n return (\n <Container position=\"relative\" py={1} px={4} variant={variant} {...rest}>\n <Text\n variant=\"xs\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n textAlign=\"center\"\n flex={1}\n >\n {children}\n </Text>\n\n {dismissable && (\n <Clickable\n position=\"absolute\"\n top={0}\n right={0}\n bottom={0}\n p={1}\n display=\"flex\"\n alignItems=\"center\"\n color=\"currentColor\"\n onClick={handleClick}\n >\n <CloseIcon style={{ fill: \"currentcolor\" }} />\n </Clickable>\n )}\n </Container>\n )\n}\n\nexport const BANNER_VARIANTS = {\n defaultLight: {\n backgroundColor: \"mono10\",\n color: \"mono100\",\n },\n defaultDark: {\n backgroundColor: \"mono100\",\n color: \"mono0\",\n },\n success: {\n backgroundColor: \"green100\",\n color: \"mono0\",\n },\n error: {\n backgroundColor: \"red100\",\n color: \"mono0\",\n },\n brand: {\n backgroundColor: \"brand\",\n color: \"mono0\",\n },\n}\n\nconst Container = styled(Flex)<{ variant: BannerVariant }>`\n ${variant({ variants: BANNER_VARIANTS })}\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","names":["React","useState","styled","variant","CloseIcon","Clickable","Flex","FlexProps","Text","Banner","_ref","_ref$dismissable","dismissable","_ref$variant","onClose","children","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","dismissed","setDismissed","handleClick","createElement","Container","_extends","position","py","px","display","alignItems","justifyContent","textAlign","flex","top","right","bottom","p","color","onClick","style","fill","displayName","BANNER_VARIANTS","defaultLight","backgroundColor","defaultDark","success","error","brand","withConfig","componentId","variants"],"sources":["../../../../src/elements/Banner/Banner.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport styled from \"styled-components\"\nimport { variant } from \"styled-system\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\nimport { Clickable } from \"../Clickable\"\nimport { Flex, FlexProps } from \"../Flex\"\nimport { Text } from \"../Text\"\n\nexport type BannerVariant = keyof typeof BANNER_VARIANTS\n\nexport interface BannerProps extends FlexProps {\n variant?: BannerVariant\n dismissable?: boolean\n onClose?: () => void\n}\n\n/** A banner */\nexport const Banner: React.FC<React.PropsWithChildren<BannerProps>> = ({\n dismissable = false,\n variant = \"defaultLight\",\n onClose,\n children,\n ...rest\n}) => {\n const [dismissed, setDismissed] = useState(false)\n\n const handleClick = () => {\n if (onClose) {\n onClose()\n }\n setDismissed(true)\n }\n\n if (dismissed) return null\n\n return (\n <Container position=\"relative\" py={1} px={4} variant={variant} {...rest}>\n <Text\n variant=\"xs\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n textAlign=\"center\"\n flex={1}\n >\n {children}\n </Text>\n\n {dismissable && (\n <Clickable\n position=\"absolute\"\n top={0}\n right={0}\n bottom={0}\n p={1}\n display=\"flex\"\n alignItems=\"center\"\n color=\"currentColor\"\n onClick={handleClick}\n >\n <CloseIcon style={{ fill: \"currentcolor\" }} />\n </Clickable>\n )}\n </Container>\n )\n}\n\nexport const BANNER_VARIANTS = {\n defaultLight: {\n backgroundColor: \"mono10\",\n color: \"mono100\",\n },\n defaultDark: {\n backgroundColor: \"mono100\",\n color: \"mono0\",\n },\n success: {\n backgroundColor: \"green100\",\n color: \"mono0\",\n },\n error: {\n backgroundColor: \"red100\",\n color: \"mono0\",\n },\n brand: {\n backgroundColor: \"brand\",\n color: \"mono0\",\n },\n}\n\nconst Container = styled(Flex)<{ variant: BannerVariant }>`\n ${variant({ variants: BANNER_VARIANTS })}\n`\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import React from "react";
1
2
  import styled, { css } from "styled-components";
2
3
  import { Clickable } from "../Clickable";
3
- import { Text } from "../Text";
4
+ import { Text, TextProps } from "../Text";
4
5
  import { STATES } from "./tokens";
5
6
 
6
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTab.js","names":["styled","css","Clickable","Text","STATES","BaseTab","withConfig","displayName","componentId","props","default","hover","focus","active","defaultProps","variant","mb","alignItems","justifyContent","textAlign","__Ignore__"],"sources":["../../../../src/elements/BaseTabs/BaseTab.tsx"],"sourcesContent":["import React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { Clickable } from \"../Clickable\"\nimport { Text, TextProps } from \"../Text\"\nimport { STATES } from \"./tokens\"\n\n/**\n * Utilize as=\"a\" or as={Component} to alter functionality\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type BaseTabProps<C extends React.ComponentType<React.PropsWithChildren<unknown>> = any> = TextProps & {\n active?: boolean\n focus?: boolean\n hover?: boolean\n} & React.ComponentPropsWithoutRef<C> & { as?: C }\n\n/**\n * Extends `Text`. Should always be nested within a `BaseTabs` container.\n *\n * Use the `as` prop to alter behavior.\n * E.g.: `<BaseTab as={RouterLink} to=\"/foo\">Foo</BaseTab>`\n * or `<BaseTab as={Clickable} onClick={handleClick}>Foo</BaseTab>`\n */\nexport const BaseTab = styled(Text)<BaseTabProps>`\n display: flex;\n width: 100%;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n z-index: 1;\n\n ${(props) => {\n return css`\n ${STATES.default}\n ${props.hover && STATES.hover}\n ${props.focus && STATES.focus}\n ${props.active && STATES.active}\n\n &:hover:not(:disabled) {\n ${STATES.hover}\n }\n\n &:focus {\n outline: 0;\n ${STATES.focus}\n }\n `\n }}\n`\n\nBaseTab.defaultProps = {\n variant: \"sm\",\n mb: \"-1px\",\n alignItems: \"flex-start\",\n justifyContent: \"center\",\n textAlign: \"center\",\n}\n\nBaseTab.displayName = \"BaseTab\"\n\n/**\n * So this is interesting: We can trick styled-components into correcting the CSS specificity (Text > Clickable)\n * by simply including a Clickable here.\n */\n// @ts-expect-error MIGRATE_STRICT_MODE\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst __Ignore__ = Clickable\n"],"mappings":"AACA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,SAAS;AAClB,SAASC,IAAI;AACb,SAASC,MAAM;;AAEf;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,OAAO,GAAGL,MAAM,CAACG,IAAI,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yGAQ/B,UAACC,KAAK,EAAK;EACX,OAAOR,GAAG,8EACNG,MAAM,CAACM,OAAO,EACdD,KAAK,CAACE,KAAK,IAAIP,MAAM,CAACO,KAAK,EAC3BF,KAAK,CAACG,KAAK,IAAIR,MAAM,CAACQ,KAAK,EAC3BH,KAAK,CAACI,MAAM,IAAIT,MAAM,CAACS,MAAM,EAG3BT,MAAM,CAACO,KAAK,EAKZP,MAAM,CAACQ,KAAK;AAGpB,CAAC,CACF;AAEDP,OAAO,CAACS,YAAY,GAAG;EACrBC,OAAO,EAAE,IAAI;EACbC,EAAE,EAAE,MAAM;EACVC,UAAU,EAAE,YAAY;EACxBC,cAAc,EAAE,QAAQ;EACxBC,SAAS,EAAE;AACb,CAAC;AAEDd,OAAO,CAACE,WAAW,GAAG,SAAS;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,IAAMa,UAAU,GAAGlB,SAAS"}
1
+ {"version":3,"file":"BaseTab.js","names":["React","styled","css","Clickable","Text","TextProps","STATES","BaseTab","withConfig","displayName","componentId","props","default","hover","focus","active","defaultProps","variant","mb","alignItems","justifyContent","textAlign","__Ignore__"],"sources":["../../../../src/elements/BaseTabs/BaseTab.tsx"],"sourcesContent":["import React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { Clickable } from \"../Clickable\"\nimport { Text, TextProps } from \"../Text\"\nimport { STATES } from \"./tokens\"\n\n/**\n * Utilize as=\"a\" or as={Component} to alter functionality\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type BaseTabProps<C extends React.ComponentType<React.PropsWithChildren<unknown>> = any> = TextProps & {\n active?: boolean\n focus?: boolean\n hover?: boolean\n} & React.ComponentPropsWithoutRef<C> & { as?: C }\n\n/**\n * Extends `Text`. Should always be nested within a `BaseTabs` container.\n *\n * Use the `as` prop to alter behavior.\n * E.g.: `<BaseTab as={RouterLink} to=\"/foo\">Foo</BaseTab>`\n * or `<BaseTab as={Clickable} onClick={handleClick}>Foo</BaseTab>`\n */\nexport const BaseTab = styled(Text)<BaseTabProps>`\n display: flex;\n width: 100%;\n position: relative;\n text-decoration: none;\n white-space: nowrap;\n z-index: 1;\n\n ${(props) => {\n return css`\n ${STATES.default}\n ${props.hover && STATES.hover}\n ${props.focus && STATES.focus}\n ${props.active && STATES.active}\n\n &:hover:not(:disabled) {\n ${STATES.hover}\n }\n\n &:focus {\n outline: 0;\n ${STATES.focus}\n }\n `\n }}\n`\n\nBaseTab.defaultProps = {\n variant: \"sm\",\n mb: \"-1px\",\n alignItems: \"flex-start\",\n justifyContent: \"center\",\n textAlign: \"center\",\n}\n\nBaseTab.displayName = \"BaseTab\"\n\n/**\n * So this is interesting: We can trick styled-components into correcting the CSS specificity (Text > Clickable)\n * by simply including a Clickable here.\n */\n// @ts-expect-error MIGRATE_STRICT_MODE\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst __Ignore__ = Clickable\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,SAAS;AAClB,SAASC,IAAI,EAAEC,SAAS;AACxB,SAASC,MAAM;;AAEf;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,OAAO,GAAGN,MAAM,CAACG,IAAI,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yGAQ/B,UAACC,KAAK,EAAK;EACX,OAAOT,GAAG,8EACNI,MAAM,CAACM,OAAO,EACdD,KAAK,CAACE,KAAK,IAAIP,MAAM,CAACO,KAAK,EAC3BF,KAAK,CAACG,KAAK,IAAIR,MAAM,CAACQ,KAAK,EAC3BH,KAAK,CAACI,MAAM,IAAIT,MAAM,CAACS,MAAM,EAG3BT,MAAM,CAACO,KAAK,EAKZP,MAAM,CAACQ,KAAK;AAGpB,CAAC,CACF;AAEDP,OAAO,CAACS,YAAY,GAAG;EACrBC,OAAO,EAAE,IAAI;EACbC,EAAE,EAAE,MAAM;EACVC,UAAU,EAAE,YAAY;EACxBC,cAAc,EAAE,QAAQ;EACxBC,SAAS,EAAE;AACb,CAAC;AAEDd,OAAO,CAACE,WAAW,GAAG,SAAS;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,IAAMa,UAAU,GAAGnB,SAAS"}
@@ -4,7 +4,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
5
  import React, { forwardRef, useMemo } from "react";
6
6
  import { flattenChildren } from "../../helpers/flattenChildren";
7
- import { Box } from "../Box";
7
+ import { Box, BoxProps } from "../Box";
8
8
  import { HorizontalOverflow } from "../HorizontalOverflow/HorizontalOverflow";
9
9
  import { Join } from "../Join";
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTabs.js","names":["React","forwardRef","useMemo","flattenChildren","Box","HorizontalOverflow","Join","BaseTabs","_ref","forwardedRef","fill","children","rest","_objectWithoutProperties","_excluded","cells","createElement","_extends","ref","borderBottom","borderBottomColor","separator","Fragment","map","child","i","key","display","textAlign","flex","undefined","displayName"],"sources":["../../../../src/elements/BaseTabs/BaseTabs.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { Box, BoxProps } from \"../Box\"\nimport { HorizontalOverflow } from \"../HorizontalOverflow/HorizontalOverflow\"\nimport { Join } from \"../Join\"\n\n/** Extends `Box` */\nexport type BaseTabsProps = BoxProps &\n Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> & {\n /**\n * Enable if tabs should fill the width of the container\n * (as opposed to left-align)\n */\n fill?: boolean\n children: React.ReactNode\n }\n\n/** Extends `Box`, provides configurable gutter */\nexport const BaseTabs: React.ForwardRefExoticComponent<\n BaseTabsProps & React.RefAttributes<HTMLDivElement>\n> = forwardRef(({ fill, children, ...rest }, forwardedRef) => {\n const cells = useMemo(() => flattenChildren(children), [children])\n\n return (\n <HorizontalOverflow\n ref={forwardedRef}\n borderBottom=\"1px solid\"\n borderBottomColor=\"mono10\"\n {...rest}\n >\n <Join separator={<></>}>\n {cells.map((child, i) => {\n return (\n <Box\n key={i}\n display=\"inline-flex\"\n textAlign=\"center\"\n flex={fill ? 1 : undefined}\n >\n {child}\n </Box>\n )\n })}\n </Join>\n </HorizontalOverflow>\n )\n})\n\nBaseTabs.displayName = \"BaseTabs\"\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,SAASC,eAAe;AACxB,SAASC,GAAG;AACZ,SAASC,kBAAkB;AAC3B,SAASC,IAAI;;AAEb;;AAWA;AACA,OAAO,IAAMC,QAEZ,gBAAGN,UAAU,CAAC,UAAAO,IAAA,EAA8BC,YAAY,EAAK;EAAA,IAA5CC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EACvC,IAAMC,KAAK,GAAGb,OAAO,CAAC;IAAA,OAAMC,eAAe,CAACQ,QAAQ,CAAC;EAAA,GAAE,CAACA,QAAQ,CAAC,CAAC;EAElE,oBACEX,KAAA,CAAAgB,aAAA,CAACX,kBAAkB,EAAAY,QAAA;IACjBC,GAAG,EAAET,YAAa;IAClBU,YAAY,EAAC,WAAW;IACxBC,iBAAiB,EAAC;EAAQ,GACtBR,IAAI,gBAERZ,KAAA,CAAAgB,aAAA,CAACV,IAAI;IAACe,SAAS,eAAErB,KAAA,CAAAgB,aAAA,CAAAhB,KAAA,CAAAsB,QAAA;EAAM,GACpBP,KAAK,CAACQ,GAAG,CAAC,UAACC,KAAK,EAAEC,CAAC,EAAK;IACvB,oBACEzB,KAAA,CAAAgB,aAAA,CAACZ,GAAG;MACFsB,GAAG,EAAED,CAAE;MACPE,OAAO,EAAC,aAAa;MACrBC,SAAS,EAAC,QAAQ;MAClBC,IAAI,EAAEnB,IAAI,GAAG,CAAC,GAAGoB;IAAU,GAE1BN,KAAK,CACF;EAEV,CAAC,CAAC,CACG,CACY;AAEzB,CAAC,CAAC;AAEFjB,QAAQ,CAACwB,WAAW,GAAG,UAAU"}
1
+ {"version":3,"file":"BaseTabs.js","names":["React","forwardRef","useMemo","flattenChildren","Box","BoxProps","HorizontalOverflow","Join","BaseTabs","_ref","forwardedRef","fill","children","rest","_objectWithoutProperties","_excluded","cells","createElement","_extends","ref","borderBottom","borderBottomColor","separator","Fragment","map","child","i","key","display","textAlign","flex","undefined","displayName"],"sources":["../../../../src/elements/BaseTabs/BaseTabs.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { Box, BoxProps } from \"../Box\"\nimport { HorizontalOverflow } from \"../HorizontalOverflow/HorizontalOverflow\"\nimport { Join } from \"../Join\"\n\n/** Extends `Box` */\nexport type BaseTabsProps = BoxProps &\n Omit<React.HTMLAttributes<HTMLDivElement>, \"onChange\"> & {\n /**\n * Enable if tabs should fill the width of the container\n * (as opposed to left-align)\n */\n fill?: boolean\n children: React.ReactNode\n }\n\n/** Extends `Box`, provides configurable gutter */\nexport const BaseTabs: React.ForwardRefExoticComponent<\n BaseTabsProps & React.RefAttributes<HTMLDivElement>\n> = forwardRef(({ fill, children, ...rest }, forwardedRef) => {\n const cells = useMemo(() => flattenChildren(children), [children])\n\n return (\n <HorizontalOverflow\n ref={forwardedRef}\n borderBottom=\"1px solid\"\n borderBottomColor=\"mono10\"\n {...rest}\n >\n <Join separator={<></>}>\n {cells.map((child, i) => {\n return (\n <Box\n key={i}\n display=\"inline-flex\"\n textAlign=\"center\"\n flex={fill ? 1 : undefined}\n >\n {child}\n </Box>\n )\n })}\n </Join>\n </HorizontalOverflow>\n )\n})\n\nBaseTabs.displayName = \"BaseTabs\"\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,SAASC,eAAe;AACxB,SAASC,GAAG,EAAEC,QAAQ;AACtB,SAASC,kBAAkB;AAC3B,SAASC,IAAI;;AAEb;;AAWA;AACA,OAAO,IAAMC,QAEZ,gBAAGP,UAAU,CAAC,UAAAQ,IAAA,EAA8BC,YAAY,EAAK;EAAA,IAA5CC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EACvC,IAAMC,KAAK,GAAGd,OAAO,CAAC;IAAA,OAAMC,eAAe,CAACS,QAAQ,CAAC;EAAA,GAAE,CAACA,QAAQ,CAAC,CAAC;EAElE,oBACEZ,KAAA,CAAAiB,aAAA,CAACX,kBAAkB,EAAAY,QAAA;IACjBC,GAAG,EAAET,YAAa;IAClBU,YAAY,EAAC,WAAW;IACxBC,iBAAiB,EAAC;EAAQ,GACtBR,IAAI,gBAERb,KAAA,CAAAiB,aAAA,CAACV,IAAI;IAACe,SAAS,eAAEtB,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAuB,QAAA;EAAM,GACpBP,KAAK,CAACQ,GAAG,CAAC,UAACC,KAAK,EAAEC,CAAC,EAAK;IACvB,oBACE1B,KAAA,CAAAiB,aAAA,CAACb,GAAG;MACFuB,GAAG,EAAED,CAAE;MACPE,OAAO,EAAC,aAAa;MACrBC,SAAS,EAAC,QAAQ;MAClBC,IAAI,EAAEnB,IAAI,GAAG,CAAC,GAAGoB;IAAU,GAE1BN,KAAK,CACF;EAEV,CAAC,CAAC,CACG,CACY;AAEzB,CAAC,CAAC;AAEFjB,QAAQ,CAACwB,WAAW,GAAG,UAAU"}
@@ -1,5 +1,5 @@
1
1
  import styled from "styled-components";
2
- import { Box } from "../Box";
2
+ import { Box, BoxProps } from "../Box";
3
3
  /**
4
4
  * A `div` that has a common border and padding set by default
5
5
  * @deprecated: Use `Box` along with props e.g. `border="1px solid" borderColor="mono10" p={2}`,
@@ -1 +1 @@
1
- {"version":3,"file":"BorderBox.js","names":["styled","Box","BorderBox","withConfig","displayName","componentId","defaultProps","borderColor","p"],"sources":["../../../../src/elements/BorderBox/BorderBox.tsx"],"sourcesContent":["import styled from \"styled-components\"\nimport { Box, BoxProps } from \"../Box\"\n\nexport type BorderBoxProps = BoxProps\n\n/**\n * A `div` that has a common border and padding set by default\n * @deprecated: Use `Box` along with props e.g. `border=\"1px solid\" borderColor=\"mono10\" p={2}`,\n * as needed.\n */\nexport const BorderBox = styled(Box)`\n border-width: 1px;\n border-style: solid;\n`\n\nBorderBox.displayName = \"BorderBox\"\n\nBorderBox.defaultProps = {\n borderColor: \"mono10\",\n p: 2,\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,GAAG;AAIZ;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAGF,MAAM,CAACC,GAAG,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4CAGnC;AAEDH,SAAS,CAACE,WAAW,GAAG,WAAW;AAEnCF,SAAS,CAACI,YAAY,GAAG;EACvBC,WAAW,EAAE,QAAQ;EACrBC,CAAC,EAAE;AACL,CAAC"}
1
+ {"version":3,"file":"BorderBox.js","names":["styled","Box","BoxProps","BorderBox","withConfig","displayName","componentId","defaultProps","borderColor","p"],"sources":["../../../../src/elements/BorderBox/BorderBox.tsx"],"sourcesContent":["import styled from \"styled-components\"\nimport { Box, BoxProps } from \"../Box\"\n\nexport type BorderBoxProps = BoxProps\n\n/**\n * A `div` that has a common border and padding set by default\n * @deprecated: Use `Box` along with props e.g. `border=\"1px solid\" borderColor=\"mono10\" p={2}`,\n * as needed.\n */\nexport const BorderBox = styled(Box)`\n border-width: 1px;\n border-style: solid;\n`\n\nBorderBox.displayName = \"BorderBox\"\n\nBorderBox.defaultProps = {\n borderColor: \"mono10\",\n p: 2,\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,GAAG,EAAEC,QAAQ;AAItB;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAGH,MAAM,CAACC,GAAG,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4CAGnC;AAEDH,SAAS,CAACE,WAAW,GAAG,WAAW;AAEnCF,SAAS,CAACI,YAAY,GAAG;EACvBC,WAAW,EAAE,QAAQ;EACrBC,CAAC,EAAE;AACL,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import styled from "styled-components";
2
- import { Flex } from "../Flex";
2
+ import { Flex, FlexProps } from "../Flex";
3
3
  /**
4
4
  * A `div` that has a common border and padding set by default
5
5
  * @deprecated: Use `Box`
@@ -1 +1 @@
1
- {"version":3,"file":"BorderBoxBase.js","names":["styled","Flex","BorderBoxBase","withConfig","displayName","componentId","defaultProps","borderColor","p"],"sources":["../../../../src/elements/BorderBox/BorderBoxBase.tsx"],"sourcesContent":["import styled from \"styled-components\"\nimport { Flex, FlexProps } from \"../Flex\"\n\nexport interface BorderBoxProps extends FlexProps {\n hover?: boolean\n}\n\n/**\n * A `div` that has a common border and padding set by default\n * @deprecated: Use `Box`\n */\nexport const BorderBoxBase = styled(Flex)<BorderBoxProps>`\n border-width: 1px;\n border-style: solid;\n`\n\nBorderBoxBase.defaultProps = {\n borderColor: \"mono10\",\n p: 2,\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,IAAI;AAMb;AACA;AACA;AACA;AACA,OAAO,IAAMC,aAAa,GAAGF,MAAM,CAACC,IAAI,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4CAGxC;AAEDH,aAAa,CAACI,YAAY,GAAG;EAC3BC,WAAW,EAAE,QAAQ;EACrBC,CAAC,EAAE;AACL,CAAC"}
1
+ {"version":3,"file":"BorderBoxBase.js","names":["styled","Flex","FlexProps","BorderBoxBase","withConfig","displayName","componentId","defaultProps","borderColor","p"],"sources":["../../../../src/elements/BorderBox/BorderBoxBase.tsx"],"sourcesContent":["import styled from \"styled-components\"\nimport { Flex, FlexProps } from \"../Flex\"\n\nexport interface BorderBoxProps extends FlexProps {\n hover?: boolean\n}\n\n/**\n * A `div` that has a common border and padding set by default\n * @deprecated: Use `Box`\n */\nexport const BorderBoxBase = styled(Flex)<BorderBoxProps>`\n border-width: 1px;\n border-style: solid;\n`\n\nBorderBoxBase.defaultProps = {\n borderColor: \"mono10\",\n p: 2,\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,mBAAmB;AACtC,SAASC,IAAI,EAAEC,SAAS;AAMxB;AACA;AACA;AACA;AACA,OAAO,IAAMC,aAAa,GAAGH,MAAM,CAACC,IAAI,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4CAGxC;AAEDH,aAAa,CAACI,YAAY,GAAG;EAC3BC,WAAW,EAAE,QAAQ;EACrBC,CAAC,EAAE;AACL,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { themeGet } from "@styled-system/theme-get";
2
2
  import styled from "styled-components";
3
- import { Radio } from "../Radio";
3
+ import { Radio, RadioProps } from "../Radio";
4
4
  /** A radio button with a border */
5
5
  export var BorderedRadio = styled(Radio).withConfig({
6
6
  displayName: "BorderedRadio",
@@ -1 +1 @@
1
- {"version":3,"file":"BorderedRadio.js","names":["themeGet","styled","Radio","BorderedRadio","withConfig","displayName","componentId"],"sources":["../../../../src/elements/BorderedRadio/BorderedRadio.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport styled from \"styled-components\"\nimport { Radio, RadioProps } from \"../Radio\"\n\nexport type BorderedRadioProps<T = any> = RadioProps<T>\n\n/** A radio button with a border */\nexport const BorderedRadio = styled(Radio)<BorderedRadioProps>`\n padding: ${themeGet(\"space.2\")};\n border-radius: 2px;\n border: 1px solid ${themeGet(\"colors.mono10\")};\n transition: background-color 0.25s;\n\n &:hover:not(:disabled) {\n background-color: ${themeGet(\"colors.mono5\")};\n }\n\n &:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n &:not(:last-child) {\n border-bottom: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n`\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,KAAK;AAId;AACA,OAAO,IAAMC,aAAa,GAAGF,MAAM,CAACC,KAAK,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mTAC7BN,QAAQ,CAAC,SAAS,CAAC,EAEVA,QAAQ,CAAC,eAAe,CAAC,EAIvBA,QAAQ,CAAC,cAAc,CAAC,CAa/C"}
1
+ {"version":3,"file":"BorderedRadio.js","names":["themeGet","styled","Radio","RadioProps","BorderedRadio","withConfig","displayName","componentId"],"sources":["../../../../src/elements/BorderedRadio/BorderedRadio.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport styled from \"styled-components\"\nimport { Radio, RadioProps } from \"../Radio\"\n\nexport type BorderedRadioProps<T = any> = RadioProps<T>\n\n/** A radio button with a border */\nexport const BorderedRadio = styled(Radio)<BorderedRadioProps>`\n padding: ${themeGet(\"space.2\")};\n border-radius: 2px;\n border: 1px solid ${themeGet(\"colors.mono10\")};\n transition: background-color 0.25s;\n\n &:hover:not(:disabled) {\n background-color: ${themeGet(\"colors.mono5\")};\n }\n\n &:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n &:not(:last-child) {\n border-bottom: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n`\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,KAAK,EAAEC,UAAU;AAI1B;AACA,OAAO,IAAMC,aAAa,GAAGH,MAAM,CAACC,KAAK,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mTAC7BP,QAAQ,CAAC,SAAS,CAAC,EAEVA,QAAQ,CAAC,eAAe,CAAC,EAIvBA,QAAQ,CAAC,cAAc,CAAC,CAa/C"}
@@ -1,5 +1,5 @@
1
- import styled from "styled-components";
2
- import { background, border, boxShadow, color, compose, flexbox, gridArea, layout, position, space, system, textAlign } from "styled-system";
1
+ import styled, { CSSProperties } from "styled-components";
2
+ import { background, BackgroundProps, border, BorderProps, boxShadow, BoxShadowProps, color, ColorProps, compose, flexbox, FlexboxProps, gridArea, GridAreaProps, layout, LayoutProps, position, PositionProps, ResponsiveValue, space, SpaceProps, system, textAlign, TextAlignProps } from "styled-system";
3
3
  import { splitProps } from "../../utils/splitProps";
4
4
  var gap = system({
5
5
  gap: {
@@ -1 +1 @@
1
- {"version":3,"file":"Box.js","names":["styled","background","border","boxShadow","color","compose","flexbox","gridArea","layout","position","space","system","textAlign","splitProps","gap","property","scale","pointerEvents","boxMixin","Box","div","withConfig","displayName","componentId","splitBoxProps"],"sources":["../../../../src/elements/Box/Box.tsx"],"sourcesContent":["import styled, { CSSProperties } from \"styled-components\"\nimport {\n background,\n BackgroundProps,\n border,\n BorderProps,\n boxShadow,\n BoxShadowProps,\n color,\n ColorProps,\n compose,\n flexbox,\n FlexboxProps,\n gridArea,\n GridAreaProps,\n layout,\n LayoutProps,\n position,\n PositionProps,\n ResponsiveValue,\n space,\n SpaceProps,\n system,\n textAlign,\n TextAlignProps,\n} from \"styled-system\"\nimport { splitProps } from \"../../utils/splitProps\"\n\nconst gap = system({\n gap: {\n property: \"gap\",\n scale: \"space\",\n },\n})\n\nexport const pointerEvents = system({\n pointerEvents: {\n property: \"pointerEvents\",\n scale: \"pointerEvents\", // Optional if you're using a theme scale\n },\n})\n\nexport interface BoxProps\n extends BackgroundProps,\n BorderProps,\n BoxShadowProps,\n Omit<ColorProps, \"color\">,\n FlexboxProps,\n GridAreaProps,\n LayoutProps,\n PositionProps,\n SpaceProps,\n TextAlignProps {\n gap?: ResponsiveValue<string | number>\n pointerEvents?: ResponsiveValue<CSSProperties[\"pointerEvents\"]>\n}\n\n/**\n * All the system functions for Box\n */\nexport const boxMixin = compose(\n background,\n border,\n boxShadow,\n color,\n flexbox,\n gap,\n gridArea,\n layout,\n pointerEvents,\n position,\n space,\n textAlign\n)\n\n/**\n * Box is just a `View` or `div` (depending on the platform) with common styled-systems\n * hooks.\n */\nexport const Box = styled.div<BoxProps>`\n ${boxMixin}\n`\n\nBox.displayName = \"Box\"\n\n/** Splits out props into valid and invalid BoxProps */\nexport const splitBoxProps = splitProps<BoxProps>(boxMixin)\n"],"mappings":"AAAA,OAAOA,MAAM,MAAyB,mBAAmB;AACzD,SACEC,UAAU,EAEVC,MAAM,EAENC,SAAS,EAETC,KAAK,EAELC,OAAO,EACPC,OAAO,EAEPC,QAAQ,EAERC,MAAM,EAENC,QAAQ,EAGRC,KAAK,EAELC,MAAM,EACNC,SAAS,QAEJ,eAAe;AACtB,SAASC,UAAU;AAEnB,IAAMC,GAAG,GAAGH,MAAM,CAAC;EACjBG,GAAG,EAAE;IACHC,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,OAAO,IAAMC,aAAa,GAAGN,MAAM,CAAC;EAClCM,aAAa,EAAE;IACbF,QAAQ,EAAE,eAAe;IACzBC,KAAK,EAAE,eAAe,CAAE;EAC1B;AACF,CAAC,CAAC;;AAiBF;AACA;AACA;AACA,OAAO,IAAME,QAAQ,GAAGb,OAAO,CAC7BJ,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,KAAK,EACLE,OAAO,EACPQ,GAAG,EACHP,QAAQ,EACRC,MAAM,EACNS,aAAa,EACbR,QAAQ,EACRC,KAAK,EACLE,SAAS,CACV;;AAED;AACA;AACA;AACA;AACA,OAAO,IAAMO,GAAG,GAAGnB,MAAM,CAACoB,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACzBL,QAAQ,CACX;AAEDC,GAAG,CAACG,WAAW,GAAG,KAAK;;AAEvB;AACA,OAAO,IAAME,aAAa,GAAGX,UAAU,CAAWK,QAAQ,CAAC"}
1
+ {"version":3,"file":"Box.js","names":["styled","CSSProperties","background","BackgroundProps","border","BorderProps","boxShadow","BoxShadowProps","color","ColorProps","compose","flexbox","FlexboxProps","gridArea","GridAreaProps","layout","LayoutProps","position","PositionProps","ResponsiveValue","space","SpaceProps","system","textAlign","TextAlignProps","splitProps","gap","property","scale","pointerEvents","boxMixin","Box","div","withConfig","displayName","componentId","splitBoxProps"],"sources":["../../../../src/elements/Box/Box.tsx"],"sourcesContent":["import styled, { CSSProperties } from \"styled-components\"\nimport {\n background,\n BackgroundProps,\n border,\n BorderProps,\n boxShadow,\n BoxShadowProps,\n color,\n ColorProps,\n compose,\n flexbox,\n FlexboxProps,\n gridArea,\n GridAreaProps,\n layout,\n LayoutProps,\n position,\n PositionProps,\n ResponsiveValue,\n space,\n SpaceProps,\n system,\n textAlign,\n TextAlignProps,\n} from \"styled-system\"\nimport { splitProps } from \"../../utils/splitProps\"\n\nconst gap = system({\n gap: {\n property: \"gap\",\n scale: \"space\",\n },\n})\n\nexport const pointerEvents = system({\n pointerEvents: {\n property: \"pointerEvents\",\n scale: \"pointerEvents\", // Optional if you're using a theme scale\n },\n})\n\nexport interface BoxProps\n extends BackgroundProps,\n BorderProps,\n BoxShadowProps,\n Omit<ColorProps, \"color\">,\n FlexboxProps,\n GridAreaProps,\n LayoutProps,\n PositionProps,\n SpaceProps,\n TextAlignProps {\n gap?: ResponsiveValue<string | number>\n pointerEvents?: ResponsiveValue<CSSProperties[\"pointerEvents\"]>\n}\n\n/**\n * All the system functions for Box\n */\nexport const boxMixin = compose(\n background,\n border,\n boxShadow,\n color,\n flexbox,\n gap,\n gridArea,\n layout,\n pointerEvents,\n position,\n space,\n textAlign\n)\n\n/**\n * Box is just a `View` or `div` (depending on the platform) with common styled-systems\n * hooks.\n */\nexport const Box = styled.div<BoxProps>`\n ${boxMixin}\n`\n\nBox.displayName = \"Box\"\n\n/** Splits out props into valid and invalid BoxProps */\nexport const splitBoxProps = splitProps<BoxProps>(boxMixin)\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,aAAa,QAAQ,mBAAmB;AACzD,SACEC,UAAU,EACVC,eAAe,EACfC,MAAM,EACNC,WAAW,EACXC,SAAS,EACTC,cAAc,EACdC,KAAK,EACLC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,YAAY,EACZC,QAAQ,EACRC,aAAa,EACbC,MAAM,EACNC,WAAW,EACXC,QAAQ,EACRC,aAAa,EACbC,eAAe,EACfC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTC,cAAc,QACT,eAAe;AACtB,SAASC,UAAU;AAEnB,IAAMC,GAAG,GAAGJ,MAAM,CAAC;EACjBI,GAAG,EAAE;IACHC,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,OAAO,IAAMC,aAAa,GAAGP,MAAM,CAAC;EAClCO,aAAa,EAAE;IACbF,QAAQ,EAAE,eAAe;IACzBC,KAAK,EAAE,eAAe,CAAE;EAC1B;AACF,CAAC,CAAC;;AAiBF;AACA;AACA;AACA,OAAO,IAAME,QAAQ,GAAGpB,OAAO,CAC7BR,UAAU,EACVE,MAAM,EACNE,SAAS,EACTE,KAAK,EACLG,OAAO,EACPe,GAAG,EACHb,QAAQ,EACRE,MAAM,EACNc,aAAa,EACbZ,QAAQ,EACRG,KAAK,EACLG,SAAS,CACV;;AAED;AACA;AACA;AACA;AACA,OAAO,IAAMQ,GAAG,GAAG/B,MAAM,CAACgC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,aACzBL,QAAQ,CACX;AAEDC,GAAG,CAACG,WAAW,GAAG,KAAK;;AAEvB;AACA,OAAO,IAAME,aAAa,GAAGX,UAAU,CAAWK,QAAQ,CAAC"}
@@ -6,7 +6,7 @@ import { themeGet } from "@styled-system/theme-get";
6
6
  import React from "react";
7
7
  import styled from "styled-components";
8
8
  import { flattenChildren } from "../../helpers/flattenChildren";
9
- import { Box } from "../Box";
9
+ import { Box, BoxProps } from "../Box";
10
10
  import { Flex } from "../Flex";
11
11
  import { Join } from "../Join";
12
12
  import { Text } from "../Text";
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","names":["themeGet","React","styled","flattenChildren","Box","Flex","Join","Text","Li","withConfig","displayName","componentId","Breadcrumbs","_ref","children","rest","_objectWithoutProperties","_excluded","cells","createElement","_extends","as","separator","size","color","mx","map","cell","i","key","length","cloneElement"],"sources":["../../../../src/elements/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React from \"react\"\nimport styled from \"styled-components\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Flex } from \"../Flex\"\nimport { Join } from \"../Join\"\nimport { Text } from \"../Text\"\n\nconst Li = styled(Text)`\n > a {\n color: ${themeGet(\"colors.mono60\")};\n text-decoration: none;\n\n &:hover {\n color: ${themeGet(\"colors.blue100\")};\n text-decoration: underline;\n }\n }\n\n &:last-of-type {\n > a {\n color: ${themeGet(\"colors.mono100\")};\n\n &:hover {\n color: ${themeGet(\"colors.mono100\")};\n text-decoration: none;\n }\n }\n }\n`\n\n/** Breadcrumbs extends Box */\nexport type BreadcrumbsProps = BoxProps\n\n/**\n * A breadcrumb trail consists of a list of links to the parent pages of the\n * current page in hierarchical order. It helps users find their place within\n * a website or web application. Breadcrumbs are often placed horizontally\n * before a page's main content.\n */\nexport const Breadcrumbs: React.FC<\n React.PropsWithChildren<BreadcrumbsProps>\n> = ({ children, ...rest }) => {\n const cells = flattenChildren(children)\n\n return (\n <Box as=\"nav\" aria-label=\"Breadcrumb\" {...rest}>\n <Flex as=\"ol\">\n <Join\n separator={\n <Text as=\"span\" size=\"xs\" color=\"mono60\" mx={1} aria-hidden=\"true\">\n /\n </Text>\n }\n >\n {cells.map((cell: React.ReactElement<any>, i) => {\n return (\n <Li as=\"li\" size=\"xs\" key={i}>\n {i === cells.length - 1\n ? React.cloneElement(cell, { \"aria-current\": \"page\" })\n : cell}\n </Li>\n )\n })}\n </Join>\n </Flex>\n </Box>\n )\n}\n"],"mappings":";;;;AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,eAAe;AACxB,SAASC,GAAG;AACZ,SAASC,IAAI;AACb,SAASC,IAAI;AACb,SAASC,IAAI;AAEb,IAAMC,EAAE,GAAGN,MAAM,CAACK,IAAI,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qKAEVX,QAAQ,CAAC,eAAe,CAAC,EAIvBA,QAAQ,CAAC,gBAAgB,CAAC,EAO1BA,QAAQ,CAAC,gBAAgB,CAAC,EAGxBA,QAAQ,CAAC,gBAAgB,CAAC,CAK1C;;AAED;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMY,WAEZ,GAAG,SAFSA,WAEZA,CAAAC,IAAA,EAA8B;EAAA,IAAxBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACtB,IAAMC,KAAK,GAAGf,eAAe,CAACW,QAAQ,CAAC;EAEvC,oBACEb,KAAA,CAAAkB,aAAA,CAACf,GAAG,EAAAgB,QAAA;IAACC,EAAE,EAAC,KAAK;IAAC,cAAW;EAAY,GAAKN,IAAI,gBAC5Cd,KAAA,CAAAkB,aAAA,CAACd,IAAI;IAACgB,EAAE,EAAC;EAAI,gBACXpB,KAAA,CAAAkB,aAAA,CAACb,IAAI;IACHgB,SAAS,eACPrB,KAAA,CAAAkB,aAAA,CAACZ,IAAI;MAACc,EAAE,EAAC,MAAM;MAACE,IAAI,EAAC,IAAI;MAACC,KAAK,EAAC,QAAQ;MAACC,EAAE,EAAE,CAAE;MAAC,eAAY;IAAM,GAAC,GAEnE;EACD,GAEAP,KAAK,CAACQ,GAAG,CAAC,UAACC,IAA6B,EAAEC,CAAC,EAAK;IAC/C,oBACE3B,KAAA,CAAAkB,aAAA,CAACX,EAAE;MAACa,EAAE,EAAC,IAAI;MAACE,IAAI,EAAC,IAAI;MAACM,GAAG,EAAED;IAAE,GAC1BA,CAAC,KAAKV,KAAK,CAACY,MAAM,GAAG,CAAC,gBACnB7B,KAAK,CAAC8B,YAAY,CAACJ,IAAI,EAAE;MAAE,cAAc,EAAE;IAAO,CAAC,CAAC,GACpDA,IAAI,CACL;EAET,CAAC,CAAC,CACG,CACF,CACH;AAEV,CAAC;AA5BYf,WAEZ,CAAAF,WAAA"}
1
+ {"version":3,"file":"Breadcrumbs.js","names":["themeGet","React","styled","flattenChildren","Box","BoxProps","Flex","Join","Text","Li","withConfig","displayName","componentId","Breadcrumbs","_ref","children","rest","_objectWithoutProperties","_excluded","cells","createElement","_extends","as","separator","size","color","mx","map","cell","i","key","length","cloneElement"],"sources":["../../../../src/elements/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React from \"react\"\nimport styled from \"styled-components\"\nimport { flattenChildren } from \"../../helpers/flattenChildren\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Flex } from \"../Flex\"\nimport { Join } from \"../Join\"\nimport { Text } from \"../Text\"\n\nconst Li = styled(Text)`\n > a {\n color: ${themeGet(\"colors.mono60\")};\n text-decoration: none;\n\n &:hover {\n color: ${themeGet(\"colors.blue100\")};\n text-decoration: underline;\n }\n }\n\n &:last-of-type {\n > a {\n color: ${themeGet(\"colors.mono100\")};\n\n &:hover {\n color: ${themeGet(\"colors.mono100\")};\n text-decoration: none;\n }\n }\n }\n`\n\n/** Breadcrumbs extends Box */\nexport type BreadcrumbsProps = BoxProps\n\n/**\n * A breadcrumb trail consists of a list of links to the parent pages of the\n * current page in hierarchical order. It helps users find their place within\n * a website or web application. Breadcrumbs are often placed horizontally\n * before a page's main content.\n */\nexport const Breadcrumbs: React.FC<\n React.PropsWithChildren<BreadcrumbsProps>\n> = ({ children, ...rest }) => {\n const cells = flattenChildren(children)\n\n return (\n <Box as=\"nav\" aria-label=\"Breadcrumb\" {...rest}>\n <Flex as=\"ol\">\n <Join\n separator={\n <Text as=\"span\" size=\"xs\" color=\"mono60\" mx={1} aria-hidden=\"true\">\n /\n </Text>\n }\n >\n {cells.map((cell: React.ReactElement<any>, i) => {\n return (\n <Li as=\"li\" size=\"xs\" key={i}>\n {i === cells.length - 1\n ? React.cloneElement(cell, { \"aria-current\": \"page\" })\n : cell}\n </Li>\n )\n })}\n </Join>\n </Flex>\n </Box>\n )\n}\n"],"mappings":";;;;AAAA,SAASA,QAAQ,QAAQ,0BAA0B;AACnD,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,eAAe;AACxB,SAASC,GAAG,EAAEC,QAAQ;AACtB,SAASC,IAAI;AACb,SAASC,IAAI;AACb,SAASC,IAAI;AAEb,IAAMC,EAAE,GAAGP,MAAM,CAACM,IAAI,CAAC,CAAAE,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qKAEVZ,QAAQ,CAAC,eAAe,CAAC,EAIvBA,QAAQ,CAAC,gBAAgB,CAAC,EAO1BA,QAAQ,CAAC,gBAAgB,CAAC,EAGxBA,QAAQ,CAAC,gBAAgB,CAAC,CAK1C;;AAED;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMa,WAEZ,GAAG,SAFSA,WAEZA,CAAAC,IAAA,EAA8B;EAAA,IAAxBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAKC,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACtB,IAAMC,KAAK,GAAGhB,eAAe,CAACY,QAAQ,CAAC;EAEvC,oBACEd,KAAA,CAAAmB,aAAA,CAAChB,GAAG,EAAAiB,QAAA;IAACC,EAAE,EAAC,KAAK;IAAC,cAAW;EAAY,GAAKN,IAAI,gBAC5Cf,KAAA,CAAAmB,aAAA,CAACd,IAAI;IAACgB,EAAE,EAAC;EAAI,gBACXrB,KAAA,CAAAmB,aAAA,CAACb,IAAI;IACHgB,SAAS,eACPtB,KAAA,CAAAmB,aAAA,CAACZ,IAAI;MAACc,EAAE,EAAC,MAAM;MAACE,IAAI,EAAC,IAAI;MAACC,KAAK,EAAC,QAAQ;MAACC,EAAE,EAAE,CAAE;MAAC,eAAY;IAAM,GAAC,GAEnE;EACD,GAEAP,KAAK,CAACQ,GAAG,CAAC,UAACC,IAA6B,EAAEC,CAAC,EAAK;IAC/C,oBACE5B,KAAA,CAAAmB,aAAA,CAACX,EAAE;MAACa,EAAE,EAAC,IAAI;MAACE,IAAI,EAAC,IAAI;MAACM,GAAG,EAAED;IAAE,GAC1BA,CAAC,KAAKV,KAAK,CAACY,MAAM,GAAG,CAAC,gBACnB9B,KAAK,CAAC+B,YAAY,CAACJ,IAAI,EAAE;MAAE,cAAc,EAAE;IAAO,CAAC,CAAC,GACpDA,IAAI,CACL;EAET,CAAC,CAAC,CACG,CACF,CACH;AAEV,CAAC;AA5BYf,WAEZ,CAAAF,WAAA"}
@@ -5,13 +5,15 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
5
5
  import composeRefs from "@seznam/compose-react-refs";
6
6
  import React, { useEffect, useRef } from "react";
7
7
  import styled, { css } from "styled-components";
8
- import { variant } from "styled-system";
8
+ import { ResponsiveValue, variant } from "styled-system";
9
9
  import CheckmarkIcon from "@artsy/icons/CheckmarkIcon";
10
+ import { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
10
11
  import { THEME } from "../../themes";
11
- import { boxMixin } from "../Box";
12
+ import { boxMixin, BoxProps } from "../Box";
12
13
  import { Spinner } from "../Spinner";
13
- import { Text } from "../Text";
14
+ import { Text, TextProps } from "../Text";
14
15
  import { BUTTON_SIZES, BUTTON_TEXT_SIZES, BUTTON_VARIANTS } from "./tokens";
16
+ import { ButtonSize, ButtonVariant } from "./types";
15
17
  export var Button = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
16
18
  var children = _ref.children,
17
19
  loading = _ref.loading,