@artsy/palette 40.2.0 → 40.3.0-canary.20ffe4c1.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 (289) hide show
  1. package/dist/elements/FilterSelect/Components/FilterSelectContext.js +11 -8
  2. package/dist/elements/FilterSelect/Components/FilterSelectContext.js.map +1 -1
  3. package/dist/elements/FilterSelect/FilterSelect.js +54 -3
  4. package/dist/elements/FilterSelect/FilterSelect.js.map +1 -1
  5. package/dist/elements/FilterSelect/FilterSelect.story.js +19 -3
  6. package/dist/elements/FilterSelect/FilterSelect.story.js.map +1 -1
  7. package/package.json +2 -2
  8. package/dist/Theme.d.ts +0 -83
  9. package/dist/elements/AutocompleteInput/AutocompleteInput.d.ts +0 -37
  10. package/dist/elements/AutocompleteInput/AutocompleteInput.story.d.ts +0 -9
  11. package/dist/elements/AutocompleteInput/AutocompleteInputOption.d.ts +0 -6
  12. package/dist/elements/AutocompleteInput/AutocompleteInputOptionLabel.d.ts +0 -6
  13. package/dist/elements/AutocompleteInput/index.d.ts +0 -3
  14. package/dist/elements/Avatar/Avatar.d.ts +0 -11
  15. package/dist/elements/Avatar/Avatar.story.d.ts +0 -8
  16. package/dist/elements/Avatar/index.d.ts +0 -1
  17. package/dist/elements/Banner/Banner.d.ts +0 -32
  18. package/dist/elements/Banner/Banner.story.d.ts +0 -6
  19. package/dist/elements/Banner/index.d.ts +0 -1
  20. package/dist/elements/BaseTabs/BaseTab.d.ts +0 -31
  21. package/dist/elements/BaseTabs/BaseTabs.d.ts +0 -13
  22. package/dist/elements/BaseTabs/BaseTabs.story.d.ts +0 -39
  23. package/dist/elements/BaseTabs/index.d.ts +0 -2
  24. package/dist/elements/BaseTabs/tokens.d.ts +0 -6
  25. package/dist/elements/BorderBox/BorderBox.d.ts +0 -11
  26. package/dist/elements/BorderBox/BorderBoxBase.d.ts +0 -12
  27. package/dist/elements/BorderBox/index.d.ts +0 -2
  28. package/dist/elements/BorderedRadio/BorderedRadio.d.ts +0 -5
  29. package/dist/elements/BorderedRadio/BorderedRadio.story.d.ts +0 -6
  30. package/dist/elements/BorderedRadio/index.d.ts +0 -1
  31. package/dist/elements/Box/Box.d.ts +0 -16
  32. package/dist/elements/Box/Box.story.d.ts +0 -6
  33. package/dist/elements/Box/index.d.ts +0 -1
  34. package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts +0 -11
  35. package/dist/elements/Breadcrumbs/Breadcrumbs.story.d.ts +0 -6
  36. package/dist/elements/Breadcrumbs/index.d.ts +0 -1
  37. package/dist/elements/Button/Button.d.ts +0 -35
  38. package/dist/elements/Button/Button.story.d.ts +0 -29
  39. package/dist/elements/Button/index.d.ts +0 -4
  40. package/dist/elements/Button/tokens.d.ts +0 -22
  41. package/dist/elements/Button/types.d.ts +0 -11
  42. package/dist/elements/CSSGrid/CSSGrid.d.ts +0 -14
  43. package/dist/elements/CSSGrid/CSSGrid.story.d.ts +0 -17
  44. package/dist/elements/CSSGrid/index.d.ts +0 -1
  45. package/dist/elements/Cards/Card.d.ts +0 -16
  46. package/dist/elements/Cards/Cards.story.d.ts +0 -25
  47. package/dist/elements/Cards/TriptychCard.d.ts +0 -19
  48. package/dist/elements/Cards/index.d.ts +0 -2
  49. package/dist/elements/Carousel/Carousel.d.ts +0 -45
  50. package/dist/elements/Carousel/Carousel.story.d.ts +0 -93
  51. package/dist/elements/Carousel/CarouselNavigation.d.ts +0 -22
  52. package/dist/elements/Carousel/index.d.ts +0 -3
  53. package/dist/elements/Carousel/paginate.d.ts +0 -31
  54. package/dist/elements/CarouselBar/CarouselBar.d.ts +0 -4
  55. package/dist/elements/CarouselBar/CarouselBar.story.d.ts +0 -6
  56. package/dist/elements/CarouselBar/index.d.ts +0 -1
  57. package/dist/elements/Checkbox/Check.d.ts +0 -10
  58. package/dist/elements/Checkbox/Check.story.d.ts +0 -6
  59. package/dist/elements/Checkbox/Checkbox.d.ts +0 -18
  60. package/dist/elements/Checkbox/Checkbox.story.d.ts +0 -8
  61. package/dist/elements/Checkbox/index.d.ts +0 -1
  62. package/dist/elements/Checkbox/tokens.d.ts +0 -30
  63. package/dist/elements/CleanTag/CleanTag.d.ts +0 -44
  64. package/dist/elements/CleanTag/index.d.ts +0 -1
  65. package/dist/elements/Clickable/Clickable.d.ts +0 -14
  66. package/dist/elements/Clickable/Clickable.story.d.ts +0 -12
  67. package/dist/elements/Clickable/index.d.ts +0 -1
  68. package/dist/elements/Collapse/Collapse.d.ts +0 -19
  69. package/dist/elements/Collapse/index.d.ts +0 -1
  70. package/dist/elements/Drawer/Drawer.d.ts +0 -8
  71. package/dist/elements/Drawer/Drawer.story.d.ts +0 -10
  72. package/dist/elements/Drawer/index.d.ts +0 -1
  73. package/dist/elements/Dropdown/Dropdown.d.ts +0 -38
  74. package/dist/elements/Dropdown/Dropdown.story.d.ts +0 -31
  75. package/dist/elements/Dropdown/index.d.ts +0 -1
  76. package/dist/elements/EntityHeader/EntityHeader.d.ts +0 -23
  77. package/dist/elements/EntityHeader/EntityHeader.story.d.ts +0 -6
  78. package/dist/elements/EntityHeader/index.d.ts +0 -1
  79. package/dist/elements/Expandable/Expandable.d.ts +0 -17
  80. package/dist/elements/Expandable/Expandable.story.d.ts +0 -7
  81. package/dist/elements/Expandable/index.d.ts +0 -1
  82. package/dist/elements/FilterSelect/Components/FilterInput.d.ts +0 -4
  83. package/dist/elements/FilterSelect/Components/FilterSelectContext.d.ts +0 -33
  84. package/dist/elements/FilterSelect/Components/FilterSelectResultItem.d.ts +0 -3
  85. package/dist/elements/FilterSelect/FilterSelect.d.ts +0 -5
  86. package/dist/elements/FilterSelect/FilterSelect.story.d.ts +0 -6
  87. package/dist/elements/FilterSelect/index.d.ts +0 -2
  88. package/dist/elements/Flex/Flex.d.ts +0 -12
  89. package/dist/elements/Flex/index.d.ts +0 -1
  90. package/dist/elements/FullBleed/FullBleed.d.ts +0 -10
  91. package/dist/elements/FullBleed/FullBleed.story.d.ts +0 -6
  92. package/dist/elements/FullBleed/index.d.ts +0 -1
  93. package/dist/elements/GridColumns/GridColumns.d.ts +0 -26
  94. package/dist/elements/GridColumns/GridColumns.story.d.ts +0 -23
  95. package/dist/elements/GridColumns/calculateGridColumn.d.ts +0 -23
  96. package/dist/elements/GridColumns/index.d.ts +0 -2
  97. package/dist/elements/HTML/HTML.d.ts +0 -20
  98. package/dist/elements/HTML/HTML.story.d.ts +0 -17
  99. package/dist/elements/HTML/index.d.ts +0 -1
  100. package/dist/elements/HorizontalOverflow/HorizontalOverflow.d.ts +0 -8
  101. package/dist/elements/HorizontalOverflow/HorizontalOverflow.story.d.ts +0 -7
  102. package/dist/elements/HorizontalOverflow/index.d.ts +0 -1
  103. package/dist/elements/Image/Image.d.ts +0 -16
  104. package/dist/elements/Image/Image.story.d.ts +0 -35
  105. package/dist/elements/Image/LazyImage.d.ts +0 -15
  106. package/dist/elements/Image/index.d.ts +0 -1
  107. package/dist/elements/Input/Input.d.ts +0 -16
  108. package/dist/elements/Input/Input.story.d.ts +0 -10
  109. package/dist/elements/Input/index.d.ts +0 -1
  110. package/dist/elements/Input/tokens.d.ts +0 -2
  111. package/dist/elements/Input/types.d.ts +0 -1
  112. package/dist/elements/Join/Join.d.ts +0 -26
  113. package/dist/elements/Join/Join.story.d.ts +0 -24
  114. package/dist/elements/Join/index.d.ts +0 -1
  115. package/dist/elements/Label/Label.d.ts +0 -22
  116. package/dist/elements/Label/Label.story.d.ts +0 -7
  117. package/dist/elements/Label/index.d.ts +0 -1
  118. package/dist/elements/LabeledInput/LabeledInput.d.ts +0 -8
  119. package/dist/elements/LabeledInput/LabeledInput.story.d.ts +0 -8
  120. package/dist/elements/LabeledInput/index.d.ts +0 -1
  121. package/dist/elements/Link/Link.d.ts +0 -13
  122. package/dist/elements/Link/index.d.ts +0 -1
  123. package/dist/elements/Marquee/Marquee.d.ts +0 -25
  124. package/dist/elements/Marquee/Marquee.story.d.ts +0 -6
  125. package/dist/elements/Marquee/index.d.ts +0 -1
  126. package/dist/elements/Message/Message.d.ts +0 -41
  127. package/dist/elements/Message/Message.story.d.ts +0 -6
  128. package/dist/elements/Message/index.d.ts +0 -1
  129. package/dist/elements/Modal/ModalBase.d.ts +0 -20
  130. package/dist/elements/Modal/ModalBase.story.d.ts +0 -9
  131. package/dist/elements/Modal/index.d.ts +0 -1
  132. package/dist/elements/ModalDialog/ModalDialog.d.ts +0 -8
  133. package/dist/elements/ModalDialog/ModalDialog.story.d.ts +0 -6
  134. package/dist/elements/ModalDialog/ModalDialogContent.d.ts +0 -16
  135. package/dist/elements/ModalDialog/ModalDialogContent.story.d.ts +0 -6
  136. package/dist/elements/ModalDialog/index.d.ts +0 -2
  137. package/dist/elements/MultiSelect/MultiSelect.d.ts +0 -19
  138. package/dist/elements/MultiSelect/MultiSelect.story.d.ts +0 -7
  139. package/dist/elements/MultiSelect/index.d.ts +0 -1
  140. package/dist/elements/MultiSelect/tokens.d.ts +0 -2
  141. package/dist/elements/Pagination/Pagination.d.ts +0 -33
  142. package/dist/elements/Pagination/Pagination.story.d.ts +0 -12
  143. package/dist/elements/Pagination/index.d.ts +0 -1
  144. package/dist/elements/PasswordInput/PasswordInput.d.ts +0 -6
  145. package/dist/elements/PasswordInput/PasswordInput.story.d.ts +0 -6
  146. package/dist/elements/PasswordInput/index.d.ts +0 -1
  147. package/dist/elements/PhoneInput/PhoneInput.d.ts +0 -31
  148. package/dist/elements/PhoneInput/PhoneInput.story.d.ts +0 -6
  149. package/dist/elements/PhoneInput/index.d.ts +0 -1
  150. package/dist/elements/PhoneInput/tokens.d.ts +0 -9
  151. package/dist/elements/Pill/Pill.d.ts +0 -48
  152. package/dist/elements/Pill/Pill.story.d.ts +0 -14
  153. package/dist/elements/Pill/index.d.ts +0 -1
  154. package/dist/elements/Pill/tokens.d.ts +0 -3
  155. package/dist/elements/Pointer/Pointer.d.ts +0 -23
  156. package/dist/elements/Pointer/index.d.ts +0 -1
  157. package/dist/elements/Popover/Popover.d.ts +0 -46
  158. package/dist/elements/Popover/Popover.story.d.ts +0 -27
  159. package/dist/elements/Popover/index.d.ts +0 -1
  160. package/dist/elements/ProgressBar/ProgressBar.d.ts +0 -11
  161. package/dist/elements/ProgressBar/ProgressBar.story.d.ts +0 -16
  162. package/dist/elements/ProgressBar/index.d.ts +0 -1
  163. package/dist/elements/ProgressDots/ProgressDots.d.ts +0 -26
  164. package/dist/elements/ProgressDots/ProgressDots.story.d.ts +0 -16
  165. package/dist/elements/ProgressDots/index.d.ts +0 -1
  166. package/dist/elements/Radio/Radio.d.ts +0 -30
  167. package/dist/elements/Radio/Radio.story.d.ts +0 -7
  168. package/dist/elements/Radio/RadioDot.d.ts +0 -11
  169. package/dist/elements/Radio/index.d.ts +0 -1
  170. package/dist/elements/Radio/tokens.d.ts +0 -39
  171. package/dist/elements/RadioGroup/RadioGroup.d.ts +0 -35
  172. package/dist/elements/RadioGroup/RadioGroup.story.d.ts +0 -13
  173. package/dist/elements/RadioGroup/index.d.ts +0 -1
  174. package/dist/elements/Range/Range.d.ts +0 -12
  175. package/dist/elements/Range/Range.story.d.ts +0 -18
  176. package/dist/elements/Range/index.d.ts +0 -1
  177. package/dist/elements/ReadMore/ReadMore.d.ts +0 -12
  178. package/dist/elements/ReadMore/ReadMore.story.d.ts +0 -53
  179. package/dist/elements/ReadMore/index.d.ts +0 -1
  180. package/dist/elements/ResponsiveBox/ResponsiveBox.d.ts +0 -21
  181. package/dist/elements/ResponsiveBox/ResponsiveBox.story.d.ts +0 -13
  182. package/dist/elements/ResponsiveBox/index.d.ts +0 -1
  183. package/dist/elements/Select/Select.d.ts +0 -23
  184. package/dist/elements/Select/Select.story.d.ts +0 -6
  185. package/dist/elements/Select/index.d.ts +0 -1
  186. package/dist/elements/Select/tokens.d.ts +0 -2
  187. package/dist/elements/Select/types.d.ts +0 -1
  188. package/dist/elements/Separator/Separator.d.ts +0 -8
  189. package/dist/elements/Separator/Separator.story.d.ts +0 -6
  190. package/dist/elements/Separator/index.d.ts +0 -1
  191. package/dist/elements/Shelf/Shelf.d.ts +0 -15
  192. package/dist/elements/Shelf/Shelf.story.d.ts +0 -18
  193. package/dist/elements/Shelf/ShelfNavigation.d.ts +0 -16
  194. package/dist/elements/Shelf/ShelfScrollBar.d.ts +0 -29
  195. package/dist/elements/Shelf/index.d.ts +0 -3
  196. package/dist/elements/Shelf/useClickScroll.d.ts +0 -10
  197. package/dist/elements/Shelf/useDragScroll.d.ts +0 -11
  198. package/dist/elements/ShowMore/ShowMore.d.ts +0 -12
  199. package/dist/elements/ShowMore/ShowMore.story.d.ts +0 -12
  200. package/dist/elements/ShowMore/index.d.ts +0 -1
  201. package/dist/elements/Skeleton/Skeleton.d.ts +0 -20
  202. package/dist/elements/Skeleton/Skeleton.story.d.ts +0 -9
  203. package/dist/elements/Skeleton/index.d.ts +0 -1
  204. package/dist/elements/Skip/Skip.d.ts +0 -16
  205. package/dist/elements/Skip/Skip.story.d.ts +0 -23
  206. package/dist/elements/Skip/index.d.ts +0 -1
  207. package/dist/elements/Spacer/Spacer.d.ts +0 -13
  208. package/dist/elements/Spacer/Spacer.story.d.ts +0 -11
  209. package/dist/elements/Spacer/index.d.ts +0 -1
  210. package/dist/elements/Spinner/Spinner.d.ts +0 -35
  211. package/dist/elements/Spinner/Spinner.story.d.ts +0 -18
  212. package/dist/elements/Spinner/index.d.ts +0 -1
  213. package/dist/elements/Stack/Stack.d.ts +0 -13
  214. package/dist/elements/Stack/Stack.story.d.ts +0 -6
  215. package/dist/elements/Stack/index.d.ts +0 -1
  216. package/dist/elements/StackableBorderBox/StackableBorderBox.d.ts +0 -9
  217. package/dist/elements/StackableBorderBox/StackableBorderBox.story.d.ts +0 -6
  218. package/dist/elements/StackableBorderBox/index.d.ts +0 -1
  219. package/dist/elements/Stepper/Stepper.d.ts +0 -17
  220. package/dist/elements/Stepper/Stepper.story.d.ts +0 -7
  221. package/dist/elements/Stepper/index.d.ts +0 -1
  222. package/dist/elements/Sup/Sup.d.ts +0 -15
  223. package/dist/elements/Sup/Sup.story.d.ts +0 -6
  224. package/dist/elements/Sup/index.d.ts +0 -1
  225. package/dist/elements/Swiper/Swiper.d.ts +0 -41
  226. package/dist/elements/Swiper/Swiper.story.d.ts +0 -72
  227. package/dist/elements/Swiper/activeIndex.d.ts +0 -9
  228. package/dist/elements/Swiper/index.d.ts +0 -1
  229. package/dist/elements/Swiper/percentage.d.ts +0 -12
  230. package/dist/elements/Tabs/Tabs.d.ts +0 -52
  231. package/dist/elements/Tabs/Tabs.story.d.ts +0 -30
  232. package/dist/elements/Tabs/index.d.ts +0 -1
  233. package/dist/elements/Text/Text.d.ts +0 -43
  234. package/dist/elements/Text/Text.story.d.ts +0 -9
  235. package/dist/elements/Text/index.d.ts +0 -1
  236. package/dist/elements/TextArea/TextArea.d.ts +0 -22
  237. package/dist/elements/TextArea/TextArea.story.d.ts +0 -7
  238. package/dist/elements/TextArea/index.d.ts +0 -1
  239. package/dist/elements/TextArea/tokens.d.ts +0 -2
  240. package/dist/elements/TextArea/types.d.ts +0 -1
  241. package/dist/elements/Toasts/Toast.d.ts +0 -33
  242. package/dist/elements/Toasts/Toast.story.d.ts +0 -6
  243. package/dist/elements/Toasts/Toasts.d.ts +0 -6
  244. package/dist/elements/Toasts/Toasts.story.d.ts +0 -9
  245. package/dist/elements/Toasts/index.d.ts +0 -3
  246. package/dist/elements/Toasts/useToasts.d.ts +0 -32
  247. package/dist/elements/Toggle/Toggle.d.ts +0 -14
  248. package/dist/elements/Toggle/Toggle.story.d.ts +0 -7
  249. package/dist/elements/Toggle/index.d.ts +0 -1
  250. package/dist/elements/Toggle/tokens.d.ts +0 -13
  251. package/dist/elements/Tooltip/Tooltip.d.ts +0 -29
  252. package/dist/elements/Tooltip/Tooltip.story.d.ts +0 -31
  253. package/dist/elements/Tooltip/index.d.ts +0 -1
  254. package/dist/elements/VisuallyHidden/VisuallyHidden.d.ts +0 -27
  255. package/dist/elements/VisuallyHidden/index.d.ts +0 -1
  256. package/dist/elements/index.d.ts +0 -70
  257. package/dist/helpers/color.d.ts +0 -8
  258. package/dist/helpers/flattenChildren.d.ts +0 -5
  259. package/dist/helpers/index.d.ts +0 -7
  260. package/dist/helpers/injectGlobalStyles.d.ts +0 -9
  261. package/dist/helpers/isReactNative.d.ts +0 -5
  262. package/dist/helpers/isText.d.ts +0 -5
  263. package/dist/helpers/media.d.ts +0 -21
  264. package/dist/helpers/space.d.ts +0 -8
  265. package/dist/helpers/transition.d.ts +0 -3
  266. package/dist/helpers/visuallyDisableScrollbar.d.ts +0 -4
  267. package/dist/index.d.ts +0 -4
  268. package/dist/shared/RequiredField.d.ts +0 -5
  269. package/dist/themes/Themes.story.d.ts +0 -14
  270. package/dist/themes/index.d.ts +0 -1
  271. package/dist/themes/types.d.ts +0 -1
  272. package/dist/utils/FocusLocking.story.d.ts +0 -8
  273. package/dist/utils/index.d.ts +0 -12
  274. package/dist/utils/remapValue.d.ts +0 -15
  275. package/dist/utils/splitProps.d.ts +0 -7
  276. package/dist/utils/useClickOutside.d.ts +0 -12
  277. package/dist/utils/useContainsFocus.d.ts +0 -6
  278. package/dist/utils/useDidMount.d.ts +0 -4
  279. package/dist/utils/useInterval.d.ts +0 -2
  280. package/dist/utils/useIsomorphicLayoutEffect.d.ts +0 -5
  281. package/dist/utils/useLatest.d.ts +0 -2
  282. package/dist/utils/useMutationObserver.d.ts +0 -15
  283. package/dist/utils/usePortal.d.ts +0 -4
  284. package/dist/utils/usePosition.d.ts +0 -68
  285. package/dist/utils/usePrevious.d.ts +0 -5
  286. package/dist/utils/useResizeObserver.d.ts +0 -9
  287. package/dist/utils/useSentinelVisibility.d.ts +0 -8
  288. package/dist/utils/useUpdateEffect.d.ts +0 -5
  289. package/dist/utils/useWidthOf.d.ts +0 -9
@@ -36,6 +36,8 @@ var filterSelectReducer = function filterSelectReducer(state, action) {
36
36
  case "SET_QUERY":
37
37
  {
38
38
  var _query = action.payload.query;
39
+ var _items = state.items,
40
+ searchableText = state.searchableText;
39
41
  if (_query === "") {
40
42
  return _objectSpread(_objectSpread({}, state), {}, {
41
43
  query: _query,
@@ -43,9 +45,10 @@ var filterSelectReducer = function filterSelectReducer(state, action) {
43
45
  filteredItems: []
44
46
  });
45
47
  }
46
- var filteredItems = state.items.filter(function (_ref) {
47
- var name = _ref.label;
48
- return name.toLowerCase().includes(_query.toLowerCase());
48
+ var filteredItems = _items.filter(function (item) {
49
+ var _searchableText;
50
+ var text = (_searchableText = searchableText === null || searchableText === void 0 ? void 0 : searchableText(item)) !== null && _searchableText !== void 0 ? _searchableText : item.label;
51
+ return text.toLowerCase().includes(_query.toLowerCase());
49
52
  });
50
53
  return _objectSpread(_objectSpread({}, state), {}, {
51
54
  query: _query,
@@ -72,9 +75,9 @@ var filterSelectReducer = function filterSelectReducer(state, action) {
72
75
  }
73
76
  case "SET_SELECTED_ITEMS":
74
77
  {
75
- var _items = action.payload.items;
78
+ var _items2 = action.payload.items;
76
79
  return _objectSpread(_objectSpread({}, state), {}, {
77
- selectedItems: _items
80
+ selectedItems: _items2
78
81
  });
79
82
  }
80
83
  }
@@ -95,10 +98,10 @@ var initialState = {
95
98
  selectedItems: []
96
99
  };
97
100
  var FilterSelectContext = /*#__PURE__*/(0, _react.createContext)({});
98
- var FilterSelectContextProvider = function FilterSelectContextProvider(_ref2) {
101
+ var FilterSelectContextProvider = function FilterSelectContextProvider(_ref) {
99
102
  var _props$selectedItems;
100
- var children = _ref2.children,
101
- props = _objectWithoutProperties(_ref2, _excluded);
103
+ var children = _ref.children,
104
+ props = _objectWithoutProperties(_ref, _excluded);
102
105
  var _useReducer = (0, _react.useReducer)(filterSelectReducer, _objectSpread(_objectSpread({}, initialState), props)),
103
106
  _useReducer2 = _slicedToArray(_useReducer, 2),
104
107
  state = _useReducer2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelectContext.js","names":["_react","_interopRequireWildcard","require","_utils","_ShowMore","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","length","err","return","Array","isArray","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","iter","len","arr2","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","filterSelectReducer","state","action","type","query","payload","isFiltered","filteredItems","items","_ref","label","toLowerCase","includes","isFound","selectedItems","find","item","multiselect","concat","initialState","initialItemsToShow","INITIAL_ITEMS_TO_SHOW","onChange","x","order","placeholder","renderItemLabel","FilterSelectContext","createContext","FilterSelectContextProvider","_ref2","_props$selectedItems","children","props","_useReducer","useReducer","_useReducer2","dispatch","contextValue","toggleSelectedItem","setQuery","setSelectedItems","useUpdateEffect","useLayoutEffect","_props$query","createElement","Provider","exports","displayName","useFilterSelectContext","useContext"],"sources":["../../../../src/elements/FilterSelect/Components/FilterSelectContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useReducer,\n} from \"react\"\nimport { useUpdateEffect } from \"../../../utils\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../../ShowMore\"\n\nexport interface Item {\n label: string\n value: string\n [key: string]: string | number | boolean\n}\n\n// In order to satisfy the Relay compilers readonly list types. This is in\n// support for passing different kinds of item types as props, like aggregations\nexport type Items = ReadonlyArray<Item>\n\nexport interface FilterSelectChangeState {\n items: FilterSelectContextProps[\"items\"]\n filteredItems: FilterSelectContextProps[\"filteredItems\"]\n selectedItems: FilterSelectContextProps[\"selectedItems\"]\n query: FilterSelectContextProps[\"query\"]\n}\n\ninterface FilterSelectContextProps {\n items: Items\n filteredItems: Items\n initialItemsToShow: number\n isFiltered: boolean\n multiselect: boolean\n onChange: (state: FilterSelectChangeState) => void\n order: [string[], Array<\"asc\" | \"desc\">] // See: https://lodash.com/docs/4.17.15#orderBy\n placeholder: string\n query: string\n renderItemLabel?: (item: any) => string\n selectedItems: Items\n toggleSelectedItem: (item: Item) => void\n setQuery: (query: string) => void\n setSelectedItems: (items: Items) => void\n}\n\nexport type FilterSelectState = Pick<\n FilterSelectContextProps,\n | \"filteredItems\"\n | \"initialItemsToShow\"\n | \"items\"\n | \"isFiltered\"\n | \"multiselect\"\n | \"onChange\"\n | \"order\"\n | \"placeholder\"\n | \"renderItemLabel\"\n | \"query\"\n | \"selectedItems\"\n>\n\ntype Action =\n | { type: \"SET_QUERY\"; payload: { query: string } }\n | { type: \"TOGGLE_SELECTED_ITEM\"; payload: { item: Item } }\n | { type: \"SET_SELECTED_ITEMS\"; payload: { items: Items } }\n\nconst filterSelectReducer = (state: FilterSelectState, action: Action) => {\n switch (action.type) {\n case \"SET_QUERY\": {\n const { query } = action.payload\n\n if (query === \"\") {\n return {\n ...state,\n query,\n isFiltered: false,\n filteredItems: [],\n }\n }\n\n const filteredItems = state.items.filter(({ label: name }) => {\n return name.toLowerCase().includes(query.toLowerCase())\n })\n\n return {\n ...state,\n query,\n isFiltered: true,\n filteredItems,\n }\n }\n\n case \"TOGGLE_SELECTED_ITEM\": {\n const isFound = !!state.selectedItems.find(\n (item) => item.value === action.payload.item.value\n )\n\n let selectedItems\n if (isFound) {\n selectedItems = state.selectedItems.filter(\n (item) => item.value !== action.payload.item.value\n )\n } else {\n selectedItems = state.multiselect\n ? [...state.selectedItems, action.payload.item]\n : [action.payload.item]\n }\n\n return {\n ...state,\n selectedItems,\n }\n }\n\n case \"SET_SELECTED_ITEMS\": {\n const { items } = action.payload\n\n return {\n ...state,\n selectedItems: items,\n }\n }\n }\n}\n\nconst initialState: FilterSelectState = {\n filteredItems: [],\n initialItemsToShow: INITIAL_ITEMS_TO_SHOW,\n isFiltered: false,\n items: [],\n multiselect: true,\n onChange: (x) => x,\n order: [[\"label\"], [\"asc\"]],\n placeholder: \"\",\n query: \"\",\n renderItemLabel: undefined,\n selectedItems: [],\n}\n\nconst FilterSelectContext = createContext<FilterSelectContextProps>({} as any)\n\nexport const FilterSelectContextProvider: React.FC<React.PropsWithChildren<Partial<FilterSelectState>>> = ({ children, ...props }) => {\n const [state, dispatch] = useReducer(filterSelectReducer, {\n ...initialState,\n ...props,\n })\n\n const contextValue = {\n ...state,\n\n toggleSelectedItem: (item) => {\n dispatch({\n type: \"TOGGLE_SELECTED_ITEM\",\n payload: { item },\n })\n },\n setQuery: (query) => {\n dispatch({\n type: \"SET_QUERY\",\n payload: { query },\n })\n },\n setSelectedItems: (items) => {\n dispatch({\n type: \"SET_SELECTED_ITEMS\",\n payload: {\n items,\n },\n })\n },\n }\n\n useUpdateEffect(() => {\n if (props.selectedItems) {\n contextValue.setSelectedItems(props.selectedItems)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectedItems?.length])\n\n useLayoutEffect(() => {\n if (props.query?.length) {\n contextValue.setQuery(props.query)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <FilterSelectContext.Provider value={contextValue}>\n {children}\n </FilterSelectContext.Provider>\n )\n}\n\nexport const useFilterSelectContext = () => {\n return useContext(FilterSelectContext)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterSelectContext.js","names":["_react","_interopRequireWildcard","require","_utils","_ShowMore","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","length","err","return","Array","isArray","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","iter","len","arr2","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","filterSelectReducer","state","action","type","query","payload","items","searchableText","isFiltered","filteredItems","item","_searchableText","text","label","toLowerCase","includes","isFound","selectedItems","find","multiselect","concat","initialState","initialItemsToShow","INITIAL_ITEMS_TO_SHOW","onChange","x","order","placeholder","renderItemLabel","FilterSelectContext","createContext","FilterSelectContextProvider","_ref","_props$selectedItems","children","props","_useReducer","useReducer","_useReducer2","dispatch","contextValue","toggleSelectedItem","setQuery","setSelectedItems","useUpdateEffect","useLayoutEffect","_props$query","createElement","Provider","exports","displayName","useFilterSelectContext","useContext"],"sources":["../../../../src/elements/FilterSelect/Components/FilterSelectContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useReducer,\n} from \"react\"\nimport { useUpdateEffect } from \"../../../utils\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../../ShowMore\"\n\nexport interface Item {\n label: string\n value: string\n [key: string]: string | number | boolean\n}\n\n// In order to satisfy the Relay compilers readonly list types. This is in\n// support for passing different kinds of item types as props, like aggregations\nexport type Items = ReadonlyArray<Item>\n\nexport interface FilterSelectChangeState {\n items: FilterSelectContextProps[\"items\"]\n filteredItems: FilterSelectContextProps[\"filteredItems\"]\n selectedItems: FilterSelectContextProps[\"selectedItems\"]\n query: FilterSelectContextProps[\"query\"]\n}\n\ninterface FilterSelectContextProps {\n enableSelectAll?: boolean\n filteredItems: Items\n initialItemsToShow: number\n isFiltered: boolean\n items: Items\n multiselect: boolean\n onChange: (state: FilterSelectChangeState) => void\n onSelectAll?: (state: FilterSelectChangeState) => void\n order: [string[], Array<\"asc\" | \"desc\">] // See: https://lodash.com/docs/4.17.15#orderBy\n placeholder: string\n query: string\n renderItemLabel?: (item: any) => string\n searchableText?: (item: Item) => string\n selectedItems: Items\n setQuery: (query: string) => void\n setSelectedItems: (items: Items) => void\n toggleSelectedItem: (item: Item) => void\n}\n\nexport type FilterSelectState = Pick<\n FilterSelectContextProps,\n | \"enableSelectAll\"\n | \"filteredItems\"\n | \"initialItemsToShow\"\n | \"isFiltered\"\n | \"items\"\n | \"multiselect\"\n | \"onChange\"\n | \"onSelectAll\"\n | \"order\"\n | \"placeholder\"\n | \"query\"\n | \"renderItemLabel\"\n | \"searchableText\"\n | \"selectedItems\"\n>\n\ntype Action =\n | { type: \"SET_QUERY\"; payload: { query: string } }\n | { type: \"TOGGLE_SELECTED_ITEM\"; payload: { item: Item } }\n | { type: \"SET_SELECTED_ITEMS\"; payload: { items: Items } }\n\nconst filterSelectReducer = (state: FilterSelectState, action: Action) => {\n switch (action.type) {\n case \"SET_QUERY\": {\n const { query } = action.payload\n const { items, searchableText } = state\n\n if (query === \"\") {\n return {\n ...state,\n query,\n isFiltered: false,\n filteredItems: [],\n }\n }\n\n const filteredItems = items.filter((item) => {\n const text = searchableText?.(item) ?? item.label\n return text.toLowerCase().includes(query.toLowerCase())\n })\n\n return {\n ...state,\n query,\n isFiltered: true,\n filteredItems,\n }\n }\n\n case \"TOGGLE_SELECTED_ITEM\": {\n const isFound = !!state.selectedItems.find(\n (item) => item.value === action.payload.item.value\n )\n\n let selectedItems\n if (isFound) {\n selectedItems = state.selectedItems.filter(\n (item) => item.value !== action.payload.item.value\n )\n } else {\n selectedItems = state.multiselect\n ? [...state.selectedItems, action.payload.item]\n : [action.payload.item]\n }\n\n return {\n ...state,\n selectedItems,\n }\n }\n\n case \"SET_SELECTED_ITEMS\": {\n const { items } = action.payload\n\n return {\n ...state,\n selectedItems: items,\n }\n }\n }\n}\n\nconst initialState: FilterSelectState = {\n filteredItems: [],\n initialItemsToShow: INITIAL_ITEMS_TO_SHOW,\n isFiltered: false,\n items: [],\n multiselect: true,\n onChange: (x) => x,\n order: [[\"label\"], [\"asc\"]],\n placeholder: \"\",\n query: \"\",\n renderItemLabel: undefined,\n selectedItems: [],\n}\n\nconst FilterSelectContext = createContext<FilterSelectContextProps>({} as any)\n\nexport const FilterSelectContextProvider: React.FC<\n React.PropsWithChildren<Partial<FilterSelectState>>\n> = ({ children, ...props }) => {\n const [state, dispatch] = useReducer(filterSelectReducer, {\n ...initialState,\n ...props,\n })\n\n const contextValue = {\n ...state,\n\n toggleSelectedItem: (item) => {\n dispatch({\n type: \"TOGGLE_SELECTED_ITEM\",\n payload: { item },\n })\n },\n setQuery: (query) => {\n dispatch({\n type: \"SET_QUERY\",\n payload: { query },\n })\n },\n setSelectedItems: (items) => {\n dispatch({\n type: \"SET_SELECTED_ITEMS\",\n payload: {\n items,\n },\n })\n },\n }\n\n useUpdateEffect(() => {\n if (props.selectedItems) {\n contextValue.setSelectedItems(props.selectedItems)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectedItems?.length])\n\n useLayoutEffect(() => {\n if (props.query?.length) {\n contextValue.setQuery(props.query)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <FilterSelectContext.Provider value={contextValue}>\n {children}\n </FilterSelectContext.Provider>\n )\n}\n\nexport const useFilterSelectContext = () => {\n return useContext(FilterSelectContext)\n}\n"],"mappings":"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"}
@@ -15,6 +15,9 @@ var _FilterInput = require("./Components/FilterInput");
15
15
  var _VisuallyHidden = require("../VisuallyHidden");
16
16
  var _Text = require("../Text");
17
17
  var _utils = require("../../utils");
18
+ var _Box = require("../Box");
19
+ var _Clickable = require("../Clickable");
20
+ var _Stack = require("../Stack");
18
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
23
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -31,6 +34,7 @@ exports.FilterSelect = FilterSelect;
31
34
  FilterSelect.displayName = "FilterSelect";
32
35
  var _FilterSelect = function _FilterSelect() {
33
36
  var _useFilterSelectConte = (0, _FilterSelectContext.useFilterSelectContext)(),
37
+ enableSelectAll = _useFilterSelectConte.enableSelectAll,
34
38
  filteredItems = _useFilterSelectConte.filteredItems,
35
39
  initialItemsToShow = _useFilterSelectConte.initialItemsToShow,
36
40
  isFiltered = _useFilterSelectConte.isFiltered,
@@ -40,6 +44,9 @@ var _FilterSelect = function _FilterSelect() {
40
44
  order = _useFilterSelectConte.order,
41
45
  query = _useFilterSelectConte.query,
42
46
  selectedItems = _useFilterSelectConte.selectedItems;
47
+ if (!multiselect && enableSelectAll) {
48
+ console.error("FilterSelect: enableSelectAll is only available with multiselect mode.");
49
+ }
43
50
 
44
51
  // Dispatch change event
45
52
  (0, _utils.useUpdateEffect)(function () {
@@ -60,7 +67,7 @@ var _FilterSelect = function _FilterSelect() {
60
67
  return (0, _esToolkit.orderBy)(_toConsumableArray(items), order[0], order[1]);
61
68
  };
62
69
  var itemsOrdered = orderItems(items);
63
- var filterdItemsOrdered = orderItems(filteredItems);
70
+ var filteredItemsOrdered = orderItems(filteredItems);
64
71
  var itemsSorted = multiselect ?
65
72
  // Move selected items to the top
66
73
  (0, _esToolkit.uniqBy)(selectedItems.concat(itemsOrdered), function (x) {
@@ -68,6 +75,7 @@ var _FilterSelect = function _FilterSelect() {
68
75
  }) : itemsOrdered;
69
76
  var expanded = isBelowTheFoldSelected(selectedItems, itemsSorted);
70
77
  var showNoResults = filteredItems.length === 0 && query !== "";
78
+ var showSelectAll = multiselect && enableSelectAll && !showNoResults;
71
79
  return /*#__PURE__*/React.createElement(_Flex.Flex, {
72
80
  flexDirection: "column"
73
81
  }, /*#__PURE__*/React.createElement(_FilterInput.FilterInput, {
@@ -76,11 +84,11 @@ var _FilterSelect = function _FilterSelect() {
76
84
  "aria-live": "polite"
77
85
  }, "".concat(filteredItems.length, " result").concat(filteredItems.length === 1 ? "" : "s")), showNoResults && /*#__PURE__*/React.createElement(_Text.Text, {
78
86
  variant: "sm"
79
- }, "No results."), isFiltered ? filterdItemsOrdered.map(function (item) {
87
+ }, "No results."), isFiltered ? /*#__PURE__*/React.createElement(React.Fragment, null, showSelectAll && /*#__PURE__*/React.createElement(SelectAll, null), filteredItemsOrdered.map(function (item) {
80
88
  return /*#__PURE__*/React.createElement(_FilterSelectResultItem.FilterSelectResultItem, _extends({
81
89
  key: item.value
82
90
  }, item));
83
- }) : /*#__PURE__*/React.createElement(_ShowMore.ShowMore, {
91
+ })) : /*#__PURE__*/React.createElement(_ShowMore.ShowMore, {
84
92
  expanded: expanded,
85
93
  initial: initialItemsToShow,
86
94
  variant: "xs",
@@ -107,4 +115,47 @@ var isBelowTheFoldSelected = function isBelowTheFoldSelected(selectedItems, resu
107
115
  return isSelected;
108
116
  };
109
117
  exports.isBelowTheFoldSelected = isBelowTheFoldSelected;
118
+ var SelectAll = function SelectAll() {
119
+ var _useFilterSelectConte2 = (0, _FilterSelectContext.useFilterSelectContext)(),
120
+ items = _useFilterSelectConte2.items,
121
+ filteredItems = _useFilterSelectConte2.filteredItems,
122
+ onSelectAll = _useFilterSelectConte2.onSelectAll,
123
+ query = _useFilterSelectConte2.query,
124
+ selectedItems = _useFilterSelectConte2.selectedItems,
125
+ setSelectedItems = _useFilterSelectConte2.setSelectedItems;
126
+ var isClearDisabled = selectedItems.length === 0;
127
+ return /*#__PURE__*/React.createElement(_Box.Box, {
128
+ my: 1
129
+ }, /*#__PURE__*/React.createElement(_Stack.Stack, {
130
+ gap: 2,
131
+ flexDirection: "row"
132
+ }, /*#__PURE__*/React.createElement(_Clickable.Clickable, {
133
+ "data-testid": "filterSelect-selectAll",
134
+ className: "selectAll",
135
+ onClick: function onClick() {
136
+ setSelectedItems(filteredItems);
137
+ onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll({
138
+ items: items,
139
+ filteredItems: filteredItems,
140
+ selectedItems: filteredItems,
141
+ query: query
142
+ });
143
+ },
144
+ textDecoration: "underline"
145
+ }, /*#__PURE__*/React.createElement(_Text.Text, {
146
+ variant: "xs"
147
+ }, "Select all")), /*#__PURE__*/React.createElement(_Clickable.Clickable, {
148
+ "data-testid": "filterSelect-clear",
149
+ className: "clear",
150
+ onClick: function onClick() {
151
+ return setSelectedItems([]);
152
+ },
153
+ textDecoration: "underline",
154
+ disabled: isClearDisabled,
155
+ color: isClearDisabled ? "black60" : "black100"
156
+ }, /*#__PURE__*/React.createElement(_Text.Text, {
157
+ variant: "xs"
158
+ }, "Clear"))));
159
+ };
160
+ SelectAll.displayName = "SelectAll";
110
161
  //# sourceMappingURL=FilterSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelect.js","names":["_esToolkit","require","React","_interopRequireWildcard","_ShowMore","_Flex","_FilterSelectResultItem","_FilterSelectContext","_FilterInput","_VisuallyHidden","_Text","_utils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","FilterSelect","props","createElement","FilterSelectContextProvider","_FilterSelect","exports","displayName","_useFilterSelectConte","useFilterSelectContext","filteredItems","initialItemsToShow","isFiltered","items","multiselect","onChange","order","query","selectedItems","useUpdateEffect","orderItems","orderBy","itemsOrdered","filterdItemsOrdered","itemsSorted","uniqBy","concat","x","value","expanded","isBelowTheFoldSelected","showNoResults","Flex","flexDirection","FilterInput","mb","VisuallyHidden","Text","variant","map","item","FilterSelectResultItem","ShowMore","initial","textDecoration","mt","textAlign","resultsSorted","selected","_ref","results","INITIAL_ITEMS_TO_SHOW","_ref2","isSelected","intersection"],"sources":["../../../src/elements/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import { intersection, orderBy, uniqBy } from \"es-toolkit\"\nimport * as React from \"react\"\nimport { ShowMore } from \"../ShowMore\"\nimport { Flex } from \"../Flex\"\nimport { FilterSelectResultItem } from \"./Components/FilterSelectResultItem\"\nimport {\n FilterSelectContextProvider,\n FilterSelectState,\n Items,\n useFilterSelectContext,\n} from \"./Components/FilterSelectContext\"\nimport { FilterInput } from \"./Components/FilterInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { Text } from \"../Text\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../ShowMore\"\nimport { useUpdateEffect } from \"../../utils\"\n\nexport type FilterSelectProps = Partial<FilterSelectState>\n\nexport const FilterSelect: React.FC<React.PropsWithChildren<FilterSelectProps>> = (props) => {\n return (\n <FilterSelectContextProvider {...props}>\n <_FilterSelect />\n </FilterSelectContextProvider>\n )\n}\n\nconst _FilterSelect: React.FC<React.PropsWithChildren<unknown>> = () => {\n const {\n filteredItems,\n initialItemsToShow,\n isFiltered,\n items,\n multiselect,\n onChange,\n order,\n query,\n selectedItems,\n } = useFilterSelectContext()\n\n // Dispatch change event\n useUpdateEffect(() => {\n if (onChange) {\n onChange({\n items,\n filteredItems,\n selectedItems,\n query,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onChange, selectedItems])\n\n if (items.length === 0) {\n return null\n }\n\n const orderItems = (items: Items) => orderBy([...items], order[0], order[1])\n const itemsOrdered = orderItems(items)\n const filterdItemsOrdered = orderItems(filteredItems)\n const itemsSorted = multiselect\n ? // Move selected items to the top\n uniqBy(selectedItems.concat(itemsOrdered), (x) => x.value)\n : itemsOrdered\n const expanded = isBelowTheFoldSelected(selectedItems, itemsSorted)\n const showNoResults = filteredItems.length === 0 && query !== \"\"\n\n return (\n <Flex flexDirection=\"column\">\n <FilterInput mb={1} />\n\n {query !== \"\" && (\n <VisuallyHidden aria-live=\"polite\">\n {`${filteredItems.length} result${\n filteredItems.length === 1 ? \"\" : \"s\"\n }`}\n </VisuallyHidden>\n )}\n\n {showNoResults && <Text variant=\"sm\">No results.</Text>}\n\n {isFiltered ? (\n filterdItemsOrdered.map((item) => (\n <FilterSelectResultItem key={item.value} {...item} />\n ))\n ) : (\n <ShowMore\n expanded={expanded}\n initial={initialItemsToShow}\n variant={\"xs\"}\n textDecoration={\"underline\"}\n mt={1}\n textAlign=\"left\"\n >\n {itemsSorted.map((item) => {\n return <FilterSelectResultItem key={item.value} {...item} />\n })}\n </ShowMore>\n )}\n </Flex>\n )\n}\n\nexport const isBelowTheFoldSelected = (selectedItems, resultsSorted) => {\n const selected = selectedItems.map(({ value }) => value)\n const results = resultsSorted\n .slice(INITIAL_ITEMS_TO_SHOW)\n .map(({ value }) => value)\n const isSelected = intersection(selected, results).length > 0\n return isSelected\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterSelect.js","names":["_esToolkit","require","React","_interopRequireWildcard","_ShowMore","_Flex","_FilterSelectResultItem","_FilterSelectContext","_FilterInput","_VisuallyHidden","_Text","_utils","_Box","_Clickable","_Stack","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","FilterSelect","props","createElement","FilterSelectContextProvider","_FilterSelect","exports","displayName","_useFilterSelectConte","useFilterSelectContext","enableSelectAll","filteredItems","initialItemsToShow","isFiltered","items","multiselect","onChange","order","query","selectedItems","console","error","useUpdateEffect","orderItems","orderBy","itemsOrdered","filteredItemsOrdered","itemsSorted","uniqBy","concat","x","value","expanded","isBelowTheFoldSelected","showNoResults","showSelectAll","Flex","flexDirection","FilterInput","mb","VisuallyHidden","Text","variant","Fragment","SelectAll","map","item","FilterSelectResultItem","ShowMore","initial","textDecoration","mt","textAlign","resultsSorted","selected","_ref","results","INITIAL_ITEMS_TO_SHOW","_ref2","isSelected","intersection","_useFilterSelectConte2","onSelectAll","setSelectedItems","isClearDisabled","Box","my","Stack","gap","Clickable","className","onClick","disabled","color"],"sources":["../../../src/elements/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import { intersection, orderBy, uniqBy } from \"es-toolkit\"\nimport * as React from \"react\"\nimport { ShowMore } from \"../ShowMore\"\nimport { Flex } from \"../Flex\"\nimport { FilterSelectResultItem } from \"./Components/FilterSelectResultItem\"\nimport {\n FilterSelectContextProvider,\n FilterSelectState,\n Items,\n useFilterSelectContext,\n} from \"./Components/FilterSelectContext\"\nimport { FilterInput } from \"./Components/FilterInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { Text } from \"../Text\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../ShowMore\"\nimport { useUpdateEffect } from \"../../utils\"\nimport { Box } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Stack } from \"../Stack\"\n\nexport type FilterSelectProps = Partial<FilterSelectState>\n\nexport const FilterSelect: React.FC<\n React.PropsWithChildren<FilterSelectProps>\n> = (props) => {\n return (\n <FilterSelectContextProvider {...props}>\n <_FilterSelect />\n </FilterSelectContextProvider>\n )\n}\n\nconst _FilterSelect: React.FC<React.PropsWithChildren<unknown>> = () => {\n const {\n enableSelectAll,\n filteredItems,\n initialItemsToShow,\n isFiltered,\n items,\n multiselect,\n onChange,\n order,\n query,\n selectedItems,\n } = useFilterSelectContext()\n\n if (!multiselect && enableSelectAll) {\n console.error(\n \"FilterSelect: enableSelectAll is only available with multiselect mode.\"\n )\n }\n\n // Dispatch change event\n useUpdateEffect(() => {\n if (onChange) {\n onChange({\n items,\n filteredItems,\n selectedItems,\n query,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onChange, selectedItems])\n\n if (items.length === 0) {\n return null\n }\n\n const orderItems = (items: Items) => orderBy([...items], order[0], order[1])\n const itemsOrdered = orderItems(items)\n const filteredItemsOrdered = orderItems(filteredItems)\n const itemsSorted = multiselect\n ? // Move selected items to the top\n uniqBy(selectedItems.concat(itemsOrdered), (x) => x.value)\n : itemsOrdered\n const expanded = isBelowTheFoldSelected(selectedItems, itemsSorted)\n const showNoResults = filteredItems.length === 0 && query !== \"\"\n const showSelectAll = multiselect && enableSelectAll && !showNoResults\n\n return (\n <Flex flexDirection=\"column\">\n <FilterInput mb={1} />\n\n {query !== \"\" && (\n <VisuallyHidden aria-live=\"polite\">\n {`${filteredItems.length} result${\n filteredItems.length === 1 ? \"\" : \"s\"\n }`}\n </VisuallyHidden>\n )}\n\n {showNoResults && <Text variant=\"sm\">No results.</Text>}\n\n {isFiltered ? (\n <>\n {showSelectAll && <SelectAll />}\n {filteredItemsOrdered.map((item) => (\n <FilterSelectResultItem key={item.value} {...item} />\n ))}\n </>\n ) : (\n <ShowMore\n expanded={expanded}\n initial={initialItemsToShow}\n variant={\"xs\"}\n textDecoration=\"underline\"\n mt={1}\n textAlign=\"left\"\n >\n {itemsSorted.map((item) => {\n return <FilterSelectResultItem key={item.value} {...item} />\n })}\n </ShowMore>\n )}\n </Flex>\n )\n}\n\nexport const isBelowTheFoldSelected = (selectedItems, resultsSorted) => {\n const selected = selectedItems.map(({ value }) => value)\n const results = resultsSorted\n .slice(INITIAL_ITEMS_TO_SHOW)\n .map(({ value }) => value)\n const isSelected = intersection(selected, results).length > 0\n return isSelected\n}\n\nconst SelectAll: React.FC = () => {\n const {\n items,\n filteredItems,\n onSelectAll,\n query,\n selectedItems,\n setSelectedItems,\n } = useFilterSelectContext()\n\n const isClearDisabled = selectedItems.length === 0\n\n return (\n <Box my={1}>\n <Stack gap={2} flexDirection={\"row\"}>\n <Clickable\n data-testid=\"filterSelect-selectAll\"\n className=\"selectAll\"\n onClick={() => {\n setSelectedItems(filteredItems)\n onSelectAll?.({\n items,\n filteredItems,\n selectedItems: filteredItems,\n query,\n })\n }}\n textDecoration=\"underline\"\n >\n <Text variant=\"xs\">Select all</Text>\n </Clickable>\n\n <Clickable\n data-testid=\"filterSelect-clear\"\n className=\"clear\"\n onClick={() => setSelectedItems([])}\n textDecoration=\"underline\"\n disabled={isClearDisabled}\n color={isClearDisabled ? \"black60\" : \"black100\"}\n >\n <Text variant=\"xs\">Clear</Text>\n </Clickable>\n </Stack>\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -15,10 +15,26 @@ var _default = {
15
15
  exports.default = _default;
16
16
  var Default = function Default() {
17
17
  return /*#__PURE__*/_react.default.createElement(_storybookStates.States, {
18
- states: [{
19
- multiselect: true
20
- }, {
18
+ states: [
19
+ // radio
20
+ {
21
21
  multiselect: false
22
+ },
23
+ // checkboxes
24
+ {
25
+ multiselect: true
26
+ },
27
+ // checkboxes with searchable hidden text and quick select-all
28
+ {
29
+ multiselect: true,
30
+ enableSelectAll: true,
31
+ onSelectAll: function onSelectAll(state) {
32
+ return console.log("onSelectAll", state);
33
+ },
34
+ searchableText: function searchableText(item) {
35
+ var extraSearchTerms = item.country === "American" ? "USA; Yankee; Murican" : "";
36
+ return "".concat(item.label, "; ").concat(item.country, "; ").concat(extraSearchTerms);
37
+ }
22
38
  }]
23
39
  }, /*#__PURE__*/_react.default.createElement(_FilterSelect.FilterSelect, {
24
40
  placeholder: "Filter by artist name",
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelect.story.js","names":["_addonActions","require","_react","_interopRequireDefault","_storybookStates","_FilterSelect","obj","__esModule","default","_default","title","exports","Default","createElement","States","states","multiselect","FilterSelect","placeholder","initialItemsToShow","order","renderItemLabel","item","concat","label","country","onChange","action","items","value","displayName"],"sources":["../../../src/elements/FilterSelect/FilterSelect.story.tsx"],"sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport { FilterSelect } from \"./FilterSelect\"\nimport { FilterSelectProps } from \"./FilterSelect\"\n\nexport default {\n title: \"Components/FilterSelect\",\n}\n\nexport const Default = () => {\n return (\n <States<FilterSelectProps>\n states={[{ multiselect: true }, { multiselect: false }]}\n >\n <FilterSelect\n placeholder=\"Filter by artist name\"\n initialItemsToShow={6}\n order={[\n [\"country\", \"name\"],\n [\"asc\", \"asc\"],\n ]}\n renderItemLabel={(item) => `${item.label}, ${item.country}`}\n onChange={action(\"onChange\")}\n items={[\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger\",\n country: \"American\",\n },\n {\n label: \"Carrie Mae Weems\",\n value: \"carrie-weems\",\n country: \"American\",\n },\n {\n label: \"Daniel Arsham\",\n value: \"daniel-asham\",\n country: \"American\",\n },\n {\n label: \"Takashi Murakami\",\n value: \"takashi-muakami\",\n country: \"American\",\n },\n {\n label: \"Tracey Emin\",\n value: \"tracey-emin\",\n country: \"British-Nigerian\",\n },\n {\n label: \"Yinka Shonibare\",\n value: \"yinka-shonibare\",\n country: \"Japanese\",\n },\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger-2\",\n country: \"British-Nigerian\",\n },\n ]}\n />\n </States>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA6C,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAG9B;EACbC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA;AAEM,IAAMG,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;EAC3B,oBACEV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACT,gBAAA,CAAAU,MAAM;IACLC,MAAM,EAAE,CAAC;MAAEC,WAAW,EAAE;IAAK,CAAC,EAAE;MAAEA,WAAW,EAAE;IAAM,CAAC;EAAE,gBAExDd,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,aAAA,CAAAY,YAAY;IACXC,WAAW,EAAC,uBAAuB;IACnCC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE,CACL,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,KAAK,EAAE,KAAK,CAAC,CACd;IACFC,eAAe,EAAE,SAAAA,gBAACC,IAAI;MAAA,UAAAC,MAAA,CAAQD,IAAI,CAACE,KAAK,QAAAD,MAAA,CAAKD,IAAI,CAACG,OAAO;IAAA,CAAG;IAC5DC,QAAQ,EAAE,IAAAC,oBAAM,EAAC,UAAU,CAAE;IAC7BC,KAAK,EAAE,CACL;MACEJ,KAAK,EAAE,gBAAgB;MACvBK,KAAK,EAAE,gBAAgB;MACvBJ,OAAO,EAAE;IACX,CAAC,EACD;MACED,KAAK,EAAE,kBAAkB;MACzBK,KAAK,EAAE,cAAc;MACrBJ,OAAO,EAAE;IACX,CAAC,EACD;MACED,KAAK,EAAE,eAAe;MACtBK,KAAK,EAAE,cAAc;MACrBJ,OAAO,EAAE;IACX,CAAC,EACD;MACED,KAAK,EAAE,kBAAkB;MACzBK,KAAK,EAAE,iBAAiB;MACxBJ,OAAO,EAAE;IACX,CAAC,EACD;MACED,KAAK,EAAE,aAAa;MACpBK,KAAK,EAAE,aAAa;MACpBJ,OAAO,EAAE;IACX,CAAC,EACD;MACED,KAAK,EAAE,iBAAiB;MACxBK,KAAK,EAAE,iBAAiB;MACxBJ,OAAO,EAAE;IACX,CAAC,EACD;MACED,KAAK,EAAE,gBAAgB;MACvBK,KAAK,EAAE,kBAAkB;MACzBJ,OAAO,EAAE;IACX,CAAC;EACD,EACF,CACK;AAEb,CAAC;AAAAd,OAAA,CAAAC,OAAA,GAAAA,OAAA;AAtDYA,OAAO,CAAAkB,WAAA"}
1
+ {"version":3,"file":"FilterSelect.story.js","names":["_addonActions","require","_react","_interopRequireDefault","_storybookStates","_FilterSelect","obj","__esModule","default","_default","title","exports","Default","createElement","States","states","multiselect","enableSelectAll","onSelectAll","state","console","log","searchableText","item","extraSearchTerms","country","concat","label","FilterSelect","placeholder","initialItemsToShow","order","renderItemLabel","onChange","action","items","value","displayName"],"sources":["../../../src/elements/FilterSelect/FilterSelect.story.tsx"],"sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport { FilterSelect } from \"./FilterSelect\"\nimport { FilterSelectProps } from \"./FilterSelect\"\n\nexport default {\n title: \"Components/FilterSelect\",\n}\n\nexport const Default = () => {\n return (\n <States<FilterSelectProps>\n states={[\n // radio\n { multiselect: false },\n\n // checkboxes\n { multiselect: true },\n\n // checkboxes with searchable hidden text and quick select-all\n {\n multiselect: true,\n enableSelectAll: true,\n onSelectAll: (state) => console.log(\"onSelectAll\", state),\n searchableText: (item) => {\n const extraSearchTerms =\n item.country === \"American\" ? \"USA; Yankee; Murican\" : \"\"\n return `${item.label}; ${item.country}; ${extraSearchTerms}`\n },\n },\n ]}\n >\n <FilterSelect\n placeholder=\"Filter by artist name\"\n initialItemsToShow={6}\n order={[\n [\"country\", \"name\"],\n [\"asc\", \"asc\"],\n ]}\n renderItemLabel={(item) => `${item.label}, ${item.country}`}\n onChange={action(\"onChange\")}\n items={[\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger\",\n country: \"American\",\n },\n {\n label: \"Carrie Mae Weems\",\n value: \"carrie-weems\",\n country: \"American\",\n },\n {\n label: \"Daniel Arsham\",\n value: \"daniel-asham\",\n country: \"American\",\n },\n {\n label: \"Takashi Murakami\",\n value: \"takashi-muakami\",\n country: \"American\",\n },\n {\n label: \"Tracey Emin\",\n value: \"tracey-emin\",\n country: \"British-Nigerian\",\n },\n {\n label: \"Yinka Shonibare\",\n value: \"yinka-shonibare\",\n country: \"Japanese\",\n },\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger-2\",\n country: \"British-Nigerian\",\n },\n ]}\n />\n </States>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA6C,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAG9B;EACbC,KAAK,EAAE;AACT,CAAC;AAAAC,OAAA,CAAAH,OAAA,GAAAC,QAAA;AAEM,IAAMG,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;EAC3B,oBACEV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACT,gBAAA,CAAAU,MAAM;IACLC,MAAM,EAAE;IACN;IACA;MAAEC,WAAW,EAAE;IAAM,CAAC;IAEtB;IACA;MAAEA,WAAW,EAAE;IAAK,CAAC;IAErB;IACA;MACEA,WAAW,EAAE,IAAI;MACjBC,eAAe,EAAE,IAAI;MACrBC,WAAW,EAAE,SAAAA,YAACC,KAAK;QAAA,OAAKC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,KAAK,CAAC;MAAA;MACzDG,cAAc,EAAE,SAAAA,eAACC,IAAI,EAAK;QACxB,IAAMC,gBAAgB,GACpBD,IAAI,CAACE,OAAO,KAAK,UAAU,GAAG,sBAAsB,GAAG,EAAE;QAC3D,UAAAC,MAAA,CAAUH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO,QAAAC,MAAA,CAAKF,gBAAgB;MAC5D;IACF,CAAC;EACD,gBAEFtB,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,aAAA,CAAAuB,YAAY;IACXC,WAAW,EAAC,uBAAuB;IACnCC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE,CACL,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,KAAK,EAAE,KAAK,CAAC,CACd;IACFC,eAAe,EAAE,SAAAA,gBAACT,IAAI;MAAA,UAAAG,MAAA,CAAQH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO;IAAA,CAAG;IAC5DQ,QAAQ,EAAE,IAAAC,oBAAM,EAAC,UAAU,CAAE;IAC7BC,KAAK,EAAE,CACL;MACER,KAAK,EAAE,gBAAgB;MACvBS,KAAK,EAAE,gBAAgB;MACvBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBS,KAAK,EAAE,cAAc;MACrBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,eAAe;MACtBS,KAAK,EAAE,cAAc;MACrBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBS,KAAK,EAAE,iBAAiB;MACxBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,aAAa;MACpBS,KAAK,EAAE,aAAa;MACpBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,iBAAiB;MACxBS,KAAK,EAAE,iBAAiB;MACxBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,gBAAgB;MACvBS,KAAK,EAAE,kBAAkB;MACzBX,OAAO,EAAE;IACX,CAAC;EACD,EACF,CACK;AAEb,CAAC;AAAAd,OAAA,CAAAC,OAAA,GAAAA,OAAA;AAxEYA,OAAO,CAAAyB,WAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artsy/palette",
3
- "version": "40.2.0",
3
+ "version": "40.3.0-canary.20ffe4c1.0",
4
4
  "description": "Design system library for react components",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
@@ -189,5 +189,5 @@
189
189
  "url": "http://localhost"
190
190
  }
191
191
  },
192
- "gitHead": "ac61a49fefdec3156f58534ce36469e5c277f650"
192
+ "gitHead": "20ffe4c12cfe52ad605ed2b307a6915a105a643a"
193
193
  }
package/dist/Theme.d.ts DELETED
@@ -1,83 +0,0 @@
1
- import React from "react";
2
- export * from "@artsy/palette-tokens/dist/themes/v3";
3
- export { TextVariant } from "@artsy/palette-tokens/dist/typography/v3";
4
- interface ThemeProps {
5
- children?: React.ReactNode;
6
- theme?: "light" | "dark";
7
- }
8
- /**
9
- * A wrapper component for passing down the Artsy theme context
10
- */
11
- export declare const Theme: React.FC<React.PropsWithChildren<ThemeProps>>;
12
- /** Returns the current theme */
13
- export declare const useTheme: <T extends {
14
- id: string;
15
- name: string;
16
- breakpoints: string[] & {
17
- lg: string;
18
- md: string;
19
- sm: string;
20
- xs: string;
21
- };
22
- colors: {
23
- black100: string;
24
- black60: string;
25
- black30: string;
26
- black15: string;
27
- black10: string;
28
- black5: string;
29
- white100: string;
30
- blue200: string;
31
- blue150: string;
32
- blue100: string;
33
- brand: string;
34
- blue15: string;
35
- blue10: string;
36
- green150: string;
37
- green100: string;
38
- green10: string;
39
- yellow150: string;
40
- yellow100: string;
41
- yellow10: string;
42
- orange150: string;
43
- orange100: string;
44
- orange10: string;
45
- red150: string;
46
- red100: string;
47
- red50: string;
48
- red10: string;
49
- };
50
- effects: {
51
- dropShadow: string;
52
- innerShadow: string;
53
- flatShadow: string;
54
- textShadow: string;
55
- overlayGradient: string;
56
- fadeRight: string;
57
- backdrop: string;
58
- };
59
- fonts: {
60
- sans: string;
61
- };
62
- mediaQueries: {
63
- lg: string;
64
- md: string;
65
- sm: string;
66
- xs: string;
67
- hover: string;
68
- };
69
- grid: {
70
- breakpoints: {};
71
- };
72
- space: {
73
- 0.5: string;
74
- 1: string;
75
- 2: string;
76
- 4: string;
77
- 6: string;
78
- 12: string;
79
- };
80
- textVariants: Record<"xxxl" | "xxl" | "xl" | "lg" | "lg-display" | "md" | "sm" | "sm-display" | "xs" | "xxs" | "bq", import("@artsy/palette-tokens/dist/typography/v3").TextTreatment>;
81
- }>() => {
82
- theme: T;
83
- };
@@ -1,37 +0,0 @@
1
- import React from "react";
2
- import { InputProps } from "../Input";
3
- import { ResponsiveValue } from "styled-system";
4
- export interface AutocompleteFooterActions {
5
- /** Call to close dropdown */
6
- onClose(): void;
7
- }
8
- /** Base option type — can be expanded */
9
- export interface AutocompleteInputOptionType {
10
- text: string;
11
- value: string;
12
- }
13
- export interface AutocompleteInputProps<T extends AutocompleteInputOptionType> extends Omit<InputProps, "onSelect" | "onSubmit"> {
14
- /** Optionally enable clamping (default: `false`) */
15
- clamp?: boolean;
16
- defaultValue?: string;
17
- dropdownMaxHeight?: ResponsiveValue<string | number>;
18
- loading?: boolean;
19
- header?: React.ReactNode;
20
- /** Optionally disable flipping (default: `true`) */
21
- flip?: boolean;
22
- footer?: React.ReactNode | ((dropdownActions: AutocompleteFooterActions) => React.ReactNode);
23
- /** Ref to the input; workaround generics */
24
- forwardRef?: React.Ref<HTMLInputElement>;
25
- /** on <enter> when no option is selected */
26
- onSubmit?(query: string): void;
27
- /** on <click> or <enter> when an option is selected */
28
- onSelect?(option: T, index: number): void;
29
- /** on <click> of the 'x' (clear) button */
30
- onClear?(): void;
31
- /** Callback that runs when options are hidden */
32
- onClose?(): void;
33
- options: T[];
34
- renderOption?(option: T, i: number): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
35
- }
36
- /** AutocompleteInput */
37
- export declare const AutocompleteInput: <T extends AutocompleteInputOptionType>({ clamp, defaultValue, dropdownMaxHeight, flip, footer, forwardRef: forwardedRef, header, height, id, loading, onChange, onClear, onClose, onKeyDown, onSelect, onSubmit, options, renderOption, ...rest }: AutocompleteInputProps<T>) => React.JSX.Element;
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- declare const _default: {
3
- title: string;
4
- };
5
- export default _default;
6
- export declare const Default: () => React.JSX.Element;
7
- export declare const Demo: () => React.JSX.Element;
8
- export declare const FilterDemo: () => React.JSX.Element;
9
- export declare const ProgrammaticFocus: () => React.JSX.Element;
@@ -1,6 +0,0 @@
1
- import React from "react";
2
- import { ClickableProps } from "../Clickable";
3
- export interface AutocompleteInputOptionProps extends ClickableProps {
4
- selected: boolean;
5
- }
6
- export declare const AutocompleteInputOption: React.ForwardRefExoticComponent<AutocompleteInputOptionProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1,6 +0,0 @@
1
- import React from "react";
2
- import { TextProps } from "../Text";
3
- export interface AutocompleteInputOptionLabelProps extends TextProps {
4
- text: string;
5
- }
6
- export declare const AutocompleteInputOptionLabel: React.FC<React.PropsWithChildren<AutocompleteInputOptionLabelProps>>;
@@ -1,3 +0,0 @@
1
- export * from "./AutocompleteInput";
2
- export * from "./AutocompleteInputOption";
3
- export * from "./AutocompleteInputOptionLabel";
@@ -1,11 +0,0 @@
1
- import React from "react";
2
- import { FlexProps } from "../Flex";
3
- import { ImageProps } from "../Image";
4
- export interface AvatarProps extends FlexProps, Partial<ImageProps> {
5
- /** If an image is missing, show initials instead */
6
- initials?: string;
7
- /** The size of the Avatar */
8
- size?: "xxs" | "xs" | "sm" | "md";
9
- }
10
- /** An circular Avatar component containing an image or initials */
11
- export declare const Avatar: React.FC<React.PropsWithChildren<AvatarProps>>;
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- declare const _default: {
3
- title: string;
4
- };
5
- export default _default;
6
- export declare const Sizes: () => React.JSX.Element;
7
- export declare const WithImage: () => React.JSX.Element;
8
- export declare const WithBrokenImage: () => React.JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./Avatar";
@@ -1,32 +0,0 @@
1
- import React from "react";
2
- import { FlexProps } from "../Flex";
3
- export declare type BannerVariant = keyof typeof BANNER_VARIANTS;
4
- export interface BannerProps extends FlexProps {
5
- variant?: BannerVariant;
6
- dismissable?: boolean;
7
- onClose?: () => void;
8
- }
9
- /** A banner */
10
- export declare const Banner: React.FC<React.PropsWithChildren<BannerProps>>;
11
- export declare const BANNER_VARIANTS: {
12
- defaultLight: {
13
- backgroundColor: string;
14
- color: string;
15
- };
16
- defaultDark: {
17
- backgroundColor: string;
18
- color: string;
19
- };
20
- success: {
21
- backgroundColor: string;
22
- color: string;
23
- };
24
- error: {
25
- backgroundColor: string;
26
- color: string;
27
- };
28
- brand: {
29
- backgroundColor: string;
30
- color: string;
31
- };
32
- };
@@ -1,6 +0,0 @@
1
- import React from "react";
2
- declare const _default: {
3
- title: string;
4
- };
5
- export default _default;
6
- export declare const Default: () => React.JSX.Element;
@@ -1 +0,0 @@
1
- export * from "./Banner";