@audius/harmony 0.1.0 → 0.2.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 (279) hide show
  1. package/dist/_virtual/_tslib.js +11 -1
  2. package/dist/_virtual/_tslib.js.map +1 -1
  3. package/dist/assets/icons/LogoPhantomPlain.svg.js +78 -0
  4. package/dist/assets/icons/LogoPhantomPlain.svg.js.map +1 -0
  5. package/dist/assets/icons/PaperAirplane.svg.js +76 -0
  6. package/dist/assets/icons/PaperAirplane.svg.js.map +1 -0
  7. package/dist/assets/icons/Pin.svg.js +76 -0
  8. package/dist/assets/icons/Pin.svg.js.map +1 -0
  9. package/dist/assets/icons/QrCode.svg.js +78 -0
  10. package/dist/assets/icons/QrCode.svg.js.map +1 -0
  11. package/dist/assets/icons/Send.svg.js +6 -3
  12. package/dist/assets/icons/Send.svg.js.map +1 -1
  13. package/dist/assets/icons/TowerBroadcast.svg.js +75 -0
  14. package/dist/assets/icons/TowerBroadcast.svg.js.map +1 -0
  15. package/dist/components/artwork/Artwork.d.ts.map +1 -1
  16. package/dist/components/artwork/Artwork.js +5 -4
  17. package/dist/components/artwork/Artwork.js.map +1 -1
  18. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  19. package/dist/components/avatar/Avatar.js +1 -1
  20. package/dist/components/avatar/Avatar.js.map +1 -1
  21. package/dist/components/button/BaseButton/BaseButton.d.ts +1 -0
  22. package/dist/components/button/BaseButton/BaseButton.d.ts.map +1 -1
  23. package/dist/components/button/BaseButton/BaseButton.js +2 -2
  24. package/dist/components/button/BaseButton/BaseButton.js.map +1 -1
  25. package/dist/components/button/BaseButton/types.d.ts +1 -0
  26. package/dist/components/button/BaseButton/types.d.ts.map +1 -1
  27. package/dist/components/button/FilterButton/FilterButton.d.ts +1 -1
  28. package/dist/components/button/FilterButton/FilterButton.d.ts.map +1 -1
  29. package/dist/components/button/FilterButton/FilterButton.js +85 -61
  30. package/dist/components/button/FilterButton/FilterButton.js.map +1 -1
  31. package/dist/components/button/{OptionsFilterButton/OptionsFilterButton.stories.d.ts → FilterButton/FilterButton.stories.d.ts} +5 -4
  32. package/dist/components/button/FilterButton/FilterButton.stories.d.ts.map +1 -0
  33. package/dist/components/button/FilterButton/FilterButtonKeyHandler.d.ts +18 -0
  34. package/dist/components/button/FilterButton/FilterButtonKeyHandler.d.ts.map +1 -0
  35. package/dist/components/button/FilterButton/FilterButtonOption.d.ts +11 -0
  36. package/dist/components/button/FilterButton/FilterButtonOption.d.ts.map +1 -0
  37. package/dist/components/button/FilterButton/FilterButtonOption.js +57 -0
  38. package/dist/components/button/FilterButton/FilterButtonOption.js.map +1 -0
  39. package/dist/components/button/FilterButton/FilterButtonOptionsList.d.ts +21 -0
  40. package/dist/components/button/FilterButton/FilterButtonOptionsList.d.ts.map +1 -0
  41. package/dist/components/button/FilterButton/FilterButtonOptionsList.js +40 -0
  42. package/dist/components/button/FilterButton/FilterButtonOptionsList.js.map +1 -0
  43. package/dist/components/button/FilterButton/types.d.ts +51 -24
  44. package/dist/components/button/FilterButton/types.d.ts.map +1 -1
  45. package/dist/components/button/IconButton/IconButton.d.ts +19 -2
  46. package/dist/components/button/IconButton/IconButton.d.ts.map +1 -1
  47. package/dist/components/button/IconButton/IconButton.js +3 -2
  48. package/dist/components/button/IconButton/IconButton.js.map +1 -1
  49. package/dist/components/button/index.d.ts +3 -4
  50. package/dist/components/button/index.d.ts.map +1 -1
  51. package/dist/components/checkbox/Checkbox.d.ts +7 -0
  52. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  53. package/dist/components/checkbox/Checkbox.js +64 -0
  54. package/dist/components/checkbox/Checkbox.js.map +1 -0
  55. package/dist/components/checkbox/Checkbox.stories.d.ts +9 -0
  56. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -0
  57. package/dist/components/checkbox/Indeterminate.svg.js +114 -0
  58. package/dist/components/checkbox/Indeterminate.svg.js.map +1 -0
  59. package/dist/components/checkbox/Select.svg.js +118 -0
  60. package/dist/components/checkbox/Select.svg.js.map +1 -0
  61. package/dist/components/checkbox/index.d.ts +3 -0
  62. package/dist/components/checkbox/index.d.ts.map +1 -0
  63. package/dist/components/checkbox/types.d.ts +7 -0
  64. package/dist/components/checkbox/types.d.ts.map +1 -0
  65. package/dist/components/comments/ArtistPick/ArtistPick.d.ts +3 -0
  66. package/dist/components/comments/ArtistPick/ArtistPick.d.ts.map +1 -0
  67. package/dist/components/comments/ArtistPick/ArtistPick.js +20 -0
  68. package/dist/components/comments/ArtistPick/ArtistPick.js.map +1 -0
  69. package/dist/components/comments/ArtistPick/ArtistPick.stories.d.ts +7 -0
  70. package/dist/components/comments/ArtistPick/ArtistPick.stories.d.ts.map +1 -0
  71. package/dist/components/comments/ArtistPick/index.d.ts +3 -0
  72. package/dist/components/comments/ArtistPick/index.d.ts.map +1 -0
  73. package/dist/components/comments/ArtistPick/types.d.ts +5 -0
  74. package/dist/components/comments/ArtistPick/types.d.ts.map +1 -0
  75. package/dist/components/comments/CommentText/CommentText.d.ts +3 -0
  76. package/dist/components/comments/CommentText/CommentText.d.ts.map +1 -0
  77. package/dist/components/comments/CommentText/CommentText.js +36 -0
  78. package/dist/components/comments/CommentText/CommentText.js.map +1 -0
  79. package/dist/components/comments/CommentText/CommentText.stories.d.ts +10 -0
  80. package/dist/components/comments/CommentText/CommentText.stories.d.ts.map +1 -0
  81. package/dist/components/comments/CommentText/index.d.ts +3 -0
  82. package/dist/components/comments/CommentText/index.d.ts.map +1 -0
  83. package/dist/components/comments/CommentText/types.d.ts +5 -0
  84. package/dist/components/comments/CommentText/types.d.ts.map +1 -0
  85. package/dist/components/comments/IconText/IconText.d.ts +3 -0
  86. package/dist/components/comments/IconText/IconText.d.ts.map +1 -0
  87. package/dist/components/comments/IconText/IconText.js +19 -0
  88. package/dist/components/comments/IconText/IconText.js.map +1 -0
  89. package/dist/components/comments/IconText/IconText.stories.d.ts +7 -0
  90. package/dist/components/comments/IconText/IconText.stories.d.ts.map +1 -0
  91. package/dist/components/comments/IconText/index.d.ts +3 -0
  92. package/dist/components/comments/IconText/index.d.ts.map +1 -0
  93. package/dist/components/comments/IconText/types.d.ts +14 -0
  94. package/dist/components/comments/IconText/types.d.ts.map +1 -0
  95. package/dist/components/comments/Identifier/Identifier.d.ts +3 -0
  96. package/dist/components/comments/Identifier/Identifier.d.ts.map +1 -0
  97. package/dist/components/comments/Identifier/Identifier.js +30 -0
  98. package/dist/components/comments/Identifier/Identifier.js.map +1 -0
  99. package/dist/components/comments/Identifier/Identifier.stories.d.ts +7 -0
  100. package/dist/components/comments/Identifier/Identifier.stories.d.ts.map +1 -0
  101. package/dist/components/comments/Identifier/index.d.ts +3 -0
  102. package/dist/components/comments/Identifier/index.d.ts.map +1 -0
  103. package/dist/components/comments/Identifier/types.d.ts +5 -0
  104. package/dist/components/comments/Identifier/types.d.ts.map +1 -0
  105. package/dist/components/comments/SendIcon/SendIcon.d.ts +3 -0
  106. package/dist/components/comments/SendIcon/SendIcon.d.ts.map +1 -0
  107. package/dist/components/comments/SendIcon/SendIcon.js +36 -0
  108. package/dist/components/comments/SendIcon/SendIcon.js.map +1 -0
  109. package/dist/components/comments/SendIcon/SendIcon.stories.d.ts +7 -0
  110. package/dist/components/comments/SendIcon/SendIcon.stories.d.ts.map +1 -0
  111. package/dist/components/comments/SendIcon/index.d.ts +3 -0
  112. package/dist/components/comments/SendIcon/index.d.ts.map +1 -0
  113. package/dist/components/comments/SendIcon/types.d.ts +5 -0
  114. package/dist/components/comments/SendIcon/types.d.ts.map +1 -0
  115. package/dist/components/comments/Timestamp/Timestamp.d.ts +3 -0
  116. package/dist/components/comments/Timestamp/Timestamp.d.ts.map +1 -0
  117. package/dist/components/comments/Timestamp/Timestamp.js +13 -0
  118. package/dist/components/comments/Timestamp/Timestamp.js.map +1 -0
  119. package/dist/components/comments/Timestamp/Timestamp.stories.d.ts +7 -0
  120. package/dist/components/comments/Timestamp/Timestamp.stories.d.ts.map +1 -0
  121. package/dist/components/comments/Timestamp/index.d.ts +4 -0
  122. package/dist/components/comments/Timestamp/index.d.ts.map +1 -0
  123. package/dist/components/comments/Timestamp/types.d.ts +11 -0
  124. package/dist/components/comments/Timestamp/types.d.ts.map +1 -0
  125. package/dist/components/comments/Timestamp/types.js +10 -0
  126. package/dist/components/comments/Timestamp/types.js.map +1 -0
  127. package/dist/components/comments/Timestamp/util.d.ts +2 -0
  128. package/dist/components/comments/Timestamp/util.d.ts.map +1 -0
  129. package/dist/components/comments/Timestamp/util.js +26 -0
  130. package/dist/components/comments/Timestamp/util.js.map +1 -0
  131. package/dist/components/icon.d.ts +2 -1
  132. package/dist/components/icon.d.ts.map +1 -1
  133. package/dist/components/index.d.ts +8 -0
  134. package/dist/components/index.d.ts.map +1 -1
  135. package/dist/components/input/PasswordInput/PasswordInput.js +2 -2
  136. package/dist/components/input/SelectablePill/SelectablePill.d.ts.map +1 -1
  137. package/dist/components/input/SelectablePill/SelectablePill.js +1 -3
  138. package/dist/components/input/SelectablePill/SelectablePill.js.map +1 -1
  139. package/dist/components/input/TextInput/TextInput.d.ts +2 -0
  140. package/dist/components/input/TextInput/TextInput.d.ts.map +1 -1
  141. package/dist/components/input/TextInput/TextInput.js +10 -6
  142. package/dist/components/input/TextInput/TextInput.js.map +1 -1
  143. package/dist/components/input/TextInput/types.d.ts +8 -1
  144. package/dist/components/input/TextInput/types.d.ts.map +1 -1
  145. package/dist/components/input/TextInput/types.js.map +1 -1
  146. package/dist/components/internal/Menu.d.ts +22 -0
  147. package/dist/components/internal/Menu.d.ts.map +1 -0
  148. package/dist/components/internal/Menu.js +17 -0
  149. package/dist/components/internal/Menu.js.map +1 -0
  150. package/dist/components/internal/MenuItem.d.ts +19 -0
  151. package/dist/components/internal/MenuItem.d.ts.map +1 -0
  152. package/dist/components/internal/MenuItem.js +57 -0
  153. package/dist/components/internal/MenuItem.js.map +1 -0
  154. package/dist/components/internal/OptionKeyHandler.d.ts +30 -0
  155. package/dist/components/internal/OptionKeyHandler.d.ts.map +1 -0
  156. package/dist/components/{button/OptionsFilterButton/SelectPopupKeyHandler.js → internal/OptionKeyHandler.js} +6 -11
  157. package/dist/components/internal/OptionKeyHandler.js.map +1 -0
  158. package/dist/components/layout/Box/Box.js +4 -4
  159. package/dist/components/layout/Box/Box.js.map +1 -1
  160. package/dist/components/layout/Box/types.d.ts +6 -6
  161. package/dist/components/layout/Box/types.d.ts.map +1 -1
  162. package/dist/components/layout/Flex/Flex.d.ts.map +1 -1
  163. package/dist/components/layout/Flex/Flex.js +2 -2
  164. package/dist/components/layout/Flex/Flex.js.map +1 -1
  165. package/dist/components/layout/Flex/types.d.ts +2 -0
  166. package/dist/components/layout/Flex/types.d.ts.map +1 -1
  167. package/dist/components/modal/Modal.js +3 -3
  168. package/dist/components/modal/Modal.js.map +1 -1
  169. package/dist/components/modal/ModalContentPages.d.ts +10 -10
  170. package/dist/components/modal/ModalContentPages.d.ts.map +1 -1
  171. package/dist/components/modal/ModalContentPages.js +2 -2
  172. package/dist/components/modal/ModalContentPages.js.map +1 -1
  173. package/dist/components/modal/ModalHeader.js +2 -2
  174. package/dist/components/music-badge/MusicBadge.d.ts.map +1 -1
  175. package/dist/components/music-badge/MusicBadge.js +1 -1
  176. package/dist/components/music-badge/MusicBadge.js.map +1 -1
  177. package/dist/components/pill/Pill.d.ts +1 -0
  178. package/dist/components/pill/Pill.d.ts.map +1 -1
  179. package/dist/components/popup/Popup.d.ts +6 -1
  180. package/dist/components/popup/Popup.d.ts.map +1 -1
  181. package/dist/components/popup/Popup.js +47 -37
  182. package/dist/components/popup/Popup.js.map +1 -1
  183. package/dist/components/popup/types.d.ts +4 -0
  184. package/dist/components/popup/types.d.ts.map +1 -1
  185. package/dist/components/scrubber/Scrubber.d.ts.map +1 -1
  186. package/dist/components/scrubber/Scrubber.js +3 -13
  187. package/dist/components/scrubber/Scrubber.js.map +1 -1
  188. package/dist/components/scrubber/Slider.js +1 -1
  189. package/dist/components/scrubber/Slider.js.map +1 -1
  190. package/dist/components/segmented-control/SegmentedControl.js +1 -3
  191. package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
  192. package/dist/components/select/Select/Select.d.ts +21 -0
  193. package/dist/components/select/Select/Select.d.ts.map +1 -0
  194. package/dist/components/select/Select/Select.js +115 -0
  195. package/dist/components/select/Select/Select.js.map +1 -0
  196. package/dist/components/select/Select/Select.stories.d.ts +8 -0
  197. package/dist/components/select/Select/Select.stories.d.ts.map +1 -0
  198. package/dist/components/select/Select/index.d.ts +3 -0
  199. package/dist/components/select/Select/index.d.ts.map +1 -0
  200. package/dist/components/select/Select/types.d.ts +46 -0
  201. package/dist/components/select/Select/types.d.ts.map +1 -0
  202. package/dist/components/select/index.d.ts +2 -0
  203. package/dist/components/select/index.d.ts.map +1 -0
  204. package/dist/components/tag/Tag.d.ts.map +1 -1
  205. package/dist/components/tag/Tag.js +1 -1
  206. package/dist/components/tag/Tag.js.map +1 -1
  207. package/dist/components/text/Text.d.ts.map +1 -1
  208. package/dist/components/text/Text.js +15 -5
  209. package/dist/components/text/Text.js.map +1 -1
  210. package/dist/components/text/constants.d.ts +18 -0
  211. package/dist/components/text/constants.d.ts.map +1 -1
  212. package/dist/components/text/constants.js +7 -1
  213. package/dist/components/text/constants.js.map +1 -1
  214. package/dist/components/text/types.d.ts +2 -0
  215. package/dist/components/text/types.d.ts.map +1 -1
  216. package/dist/components/text-link/TextLink.d.ts.map +1 -1
  217. package/dist/components/text-link/TextLink.js +1 -1
  218. package/dist/components/text-link/TextLink.js.map +1 -1
  219. package/dist/foundations/color/color.d.ts +116 -0
  220. package/dist/foundations/color/color.d.ts.map +1 -1
  221. package/dist/foundations/color/color.js +2 -1
  222. package/dist/foundations/color/color.js.map +1 -1
  223. package/dist/foundations/color/primitive.d.ts +52 -0
  224. package/dist/foundations/color/primitive.d.ts.map +1 -1
  225. package/dist/foundations/color/primitive.js +52 -0
  226. package/dist/foundations/color/primitive.js.map +1 -1
  227. package/dist/foundations/color/semantic.d.ts +66 -0
  228. package/dist/foundations/color/semantic.d.ts.map +1 -1
  229. package/dist/foundations/color/semantic.js +8 -3
  230. package/dist/foundations/color/semantic.js.map +1 -1
  231. package/dist/foundations/theme/theme.d.ts +2 -0
  232. package/dist/foundations/theme/theme.d.ts.map +1 -1
  233. package/dist/foundations/theme/theme.js +4 -2
  234. package/dist/foundations/theme/theme.js.map +1 -1
  235. package/dist/foundations/theme/types.d.ts +6 -1
  236. package/dist/foundations/theme/types.d.ts.map +1 -1
  237. package/dist/foundations/typography/typography.d.ts +1 -0
  238. package/dist/foundations/typography/typography.d.ts.map +1 -1
  239. package/dist/foundations/typography/typography.js +2 -0
  240. package/dist/foundations/typography/typography.js.map +1 -1
  241. package/dist/harmony.css +1 -1
  242. package/dist/hooks/useClickOutside.d.ts +1 -1
  243. package/dist/hooks/useClickOutside.d.ts.map +1 -1
  244. package/dist/hooks/useClickOutside.js +11 -8
  245. package/dist/hooks/useClickOutside.js.map +1 -1
  246. package/dist/hooks/useControlled.d.ts +1 -1
  247. package/dist/hooks/useControlled.js.map +1 -1
  248. package/dist/hooks/useHotKeys.d.ts.map +1 -1
  249. package/dist/hooks/useHotKeys.js +2 -1
  250. package/dist/hooks/useHotKeys.js.map +1 -1
  251. package/dist/icons/logos.d.ts +1 -0
  252. package/dist/icons/logos.d.ts.map +1 -1
  253. package/dist/icons/logos.js +3 -1
  254. package/dist/icons/logos.js.map +1 -1
  255. package/dist/icons/utilityIcons.d.ts +4 -0
  256. package/dist/icons/utilityIcons.d.ts.map +1 -1
  257. package/dist/icons/utilityIcons.js +9 -1
  258. package/dist/icons/utilityIcons.js.map +1 -1
  259. package/dist/index.d.ts +1 -0
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +19 -6
  262. package/dist/index.js.map +1 -1
  263. package/dist/utils/formatTrackTimestamp.d.ts +6 -0
  264. package/dist/utils/formatTrackTimestamp.d.ts.map +1 -0
  265. package/dist/utils/formatTrackTimestamp.js +18 -0
  266. package/dist/utils/formatTrackTimestamp.js.map +1 -0
  267. package/dist/utils/index.d.ts +5 -0
  268. package/dist/utils/index.d.ts.map +1 -0
  269. package/package.json +4 -2
  270. package/dist/components/button/OptionsFilterButton/OptionsFilterButton.d.ts +0 -18
  271. package/dist/components/button/OptionsFilterButton/OptionsFilterButton.d.ts.map +0 -1
  272. package/dist/components/button/OptionsFilterButton/OptionsFilterButton.js +0 -123
  273. package/dist/components/button/OptionsFilterButton/OptionsFilterButton.js.map +0 -1
  274. package/dist/components/button/OptionsFilterButton/OptionsFilterButton.stories.d.ts.map +0 -1
  275. package/dist/components/button/OptionsFilterButton/SelectPopupKeyHandler.d.ts +0 -18
  276. package/dist/components/button/OptionsFilterButton/SelectPopupKeyHandler.d.ts.map +0 -1
  277. package/dist/components/button/OptionsFilterButton/SelectPopupKeyHandler.js.map +0 -1
  278. package/dist/components/button/OptionsFilterButton/types.d.ts +0 -62
  279. package/dist/components/button/OptionsFilterButton/types.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterButtonOption.js","sources":["../../../../src/components/button/FilterButton/FilterButtonOption.tsx"],"sourcesContent":["import { forwardRef, MouseEventHandler, Ref, useCallback } from 'react'\n\nimport { CSSObject } from '@emotion/react'\n\nimport { Text } from 'components/text/Text'\nimport { useTheme } from 'foundations'\n\nimport { BaseButton } from '../BaseButton/BaseButton'\n\nimport { FilterButtonOptionType } from './types'\n\ntype FilterButtonOptionProps<Value extends string> = {\n activeValue?: Value | null\n isActive?: boolean\n option: FilterButtonOptionType<Value>\n onChange: (option: Value) => void\n}\n\nexport const FilterButtonOption = forwardRef(function <Value extends string>(\n props: FilterButtonOptionProps<Value>,\n ref: Ref<HTMLButtonElement>\n) {\n const { activeValue, option, onChange, isActive } = props\n const { color, cornerRadius, spacing, typography } = useTheme()\n\n // Popup Styles\n const optionIconCss: CSSObject = {\n width: spacing.unit4,\n height: spacing.unit4\n }\n\n const activeOptionCss: CSSObject = {\n transform: 'none',\n backgroundColor: color.secondary.s300,\n color: color.static.white\n }\n\n const optionCss: CSSObject = {\n background: 'transparent',\n border: 'none',\n color: color.text.default,\n fontWeight: typography.weight.medium,\n gap: spacing.s,\n paddingLeft: spacing.m,\n paddingRight: spacing.m,\n paddingTop: spacing.s,\n paddingBottom: spacing.s,\n width: '100%',\n borderRadius: cornerRadius.s,\n justifyContent: 'flex-start',\n\n '&:hover': activeOptionCss,\n '&:hover .helperText': {\n color: color.static.white\n },\n\n '&:active': {\n transform: 'none'\n }\n }\n\n const handleChange = useCallback<MouseEventHandler>(\n (e) => {\n e.stopPropagation()\n onChange(option.value)\n },\n [option.value, onChange]\n )\n\n return (\n <BaseButton\n ref={ref}\n key={option.value}\n iconLeft={option.icon}\n styles={{\n button: {\n ...optionCss,\n ...(option.value === activeValue || isActive ? activeOptionCss : {})\n },\n icon: optionIconCss\n }}\n aria-label={option.label ?? option.value}\n role='option'\n onClick={handleChange}\n >\n {option.leadingElement ?? null}\n <Text variant='body' strength='strong'>\n {option.label ?? option.value}\n </Text>\n {option.helperText ? (\n <Text\n variant='body'\n strength='strong'\n color={option.value === activeValue ? 'staticWhite' : 'subdued'}\n className='helperText'\n >\n {option.helperText}\n </Text>\n ) : null}\n </BaseButton>\n )\n})\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { RefObject } from 'react';
2
+ import { CSSObject } from '@emotion/react';
3
+ import { FilterButtonOptionType } from './types';
4
+ type OptionsListProps<Value extends string> = {
5
+ options: FilterButtonOptionType<Value>[];
6
+ isOpen: boolean;
7
+ optionRefs: RefObject<HTMLButtonElement[]>;
8
+ scrollRef: RefObject<HTMLDivElement>;
9
+ onChange: (value: Value) => void;
10
+ };
11
+ type VirtualizedOptionsListProps<Value extends string> = {
12
+ options: FilterButtonOptionType<Value>[];
13
+ optionRefs: RefObject<HTMLButtonElement[]>;
14
+ onChange: (value: Value) => void;
15
+ height: CSSObject['height'];
16
+ width: CSSObject['width'];
17
+ };
18
+ export declare const VirtualizedOptionsList: <Value extends string>({ options, optionRefs, onChange, height, width }: VirtualizedOptionsListProps<Value>) => import("@emotion/react/jsx-runtime").JSX.Element;
19
+ export declare const OptionsList: <Value extends string>({ options, isOpen, optionRefs, scrollRef, onChange }: OptionsListProps<Value>) => import("@emotion/react/jsx-runtime").JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=FilterButtonOptionsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterButtonOptionsList.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FilterButton/FilterButtonOptionsList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAM1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAEhD,KAAK,gBAAgB,CAAC,KAAK,SAAS,MAAM,IAAI;IAC5C,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAA;IACxC,MAAM,EAAE,OAAO,CAAA;IACf,UAAU,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC1C,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,KAAK,2BAA2B,CAAC,KAAK,SAAS,MAAM,IAAI;IACvD,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAA;IACxC,UAAU,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC3B,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,sBAAsB,kKA6ClC,CAAA;AAED,eAAO,MAAM,WAAW,2JAiCvB,CAAA"}
@@ -0,0 +1,40 @@
1
+ import { __assign } from '../../../_virtual/_tslib.js';
2
+ import { jsx } from '@emotion/react/jsx-runtime';
3
+ import { useState, useEffect, useCallback } from 'react';
4
+ import { List } from 'react-virtualized';
5
+ import { MenuItem } from '../../internal/MenuItem.js';
6
+ import { OptionKeyHandler } from '../../internal/OptionKeyHandler.js';
7
+
8
+ var VirtualizedOptionsList = function (_a) {
9
+ var options = _a.options, optionRefs = _a.optionRefs, onChange = _a.onChange, _b = _a.height, height = _b === void 0 ? 100 : _b, _c = _a.width, width = _c === void 0 ? 100 : _c;
10
+ var _d = useState(50), rowHeight = _d[0], setRowHeight = _d[1];
11
+ useEffect(function () {
12
+ var _a, _b;
13
+ if ((_a = optionRefs.current) === null || _a === void 0 ? void 0 : _a[0]) {
14
+ setRowHeight((_b = optionRefs.current) === null || _b === void 0 ? void 0 : _b[0].offsetHeight);
15
+ }
16
+ }, [optionRefs]);
17
+ var renderItem = useCallback(function (_a) {
18
+ var index = _a.index, style = _a.style;
19
+ var option = options[index];
20
+ return (jsx(MenuItem, __assign({ style: style, variant: 'option', ref: function (el) {
21
+ if (optionRefs && optionRefs.current && el) {
22
+ optionRefs.current[index] = el;
23
+ }
24
+ } }, option, { onChange: onChange }), option.value));
25
+ }, [onChange, optionRefs, options]);
26
+ return (jsx(List, { width: Number(width), height: Number(height), rowCount: options.length, rowHeight: rowHeight, rowRenderer: renderItem }));
27
+ };
28
+ var OptionsList = function (_a) {
29
+ var options = _a.options, isOpen = _a.isOpen, optionRefs = _a.optionRefs, scrollRef = _a.scrollRef, onChange = _a.onChange;
30
+ return (jsx(OptionKeyHandler, __assign({ options: options, disabled: !isOpen, onChange: onChange, optionRefs: optionRefs, scrollRef: scrollRef }, { children: function (activeValue) {
31
+ return options.map(function (option, index) { return (jsx(MenuItem, __assign({ variant: 'option', ref: function (el) {
32
+ if (optionRefs && optionRefs.current && el) {
33
+ optionRefs.current[index] = el;
34
+ }
35
+ } }, option, { onChange: onChange, isActive: option.value === activeValue }), option.value)); });
36
+ } })));
37
+ };
38
+
39
+ export { OptionsList, VirtualizedOptionsList };
40
+ //# sourceMappingURL=FilterButtonOptionsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterButtonOptionsList.js","sources":["../../../../src/components/button/FilterButton/FilterButtonOptionsList.tsx"],"sourcesContent":["import { useState, useCallback, useEffect, RefObject } from 'react'\n\nimport { CSSObject } from '@emotion/react'\nimport { List, ListRowProps } from 'react-virtualized'\n\nimport { MenuItem } from 'components/internal/MenuItem'\nimport { OptionKeyHandler } from 'components/internal/OptionKeyHandler'\n\nimport { FilterButtonOptionType } from './types'\n\ntype OptionsListProps<Value extends string> = {\n options: FilterButtonOptionType<Value>[]\n isOpen: boolean\n optionRefs: RefObject<HTMLButtonElement[]>\n scrollRef: RefObject<HTMLDivElement>\n onChange: (value: Value) => void\n}\n\ntype VirtualizedOptionsListProps<Value extends string> = {\n options: FilterButtonOptionType<Value>[]\n optionRefs: RefObject<HTMLButtonElement[]>\n onChange: (value: Value) => void\n height: CSSObject['height']\n width: CSSObject['width']\n}\n\nexport const VirtualizedOptionsList = <Value extends string>({\n options,\n optionRefs,\n onChange,\n height = 100,\n width = 100\n}: VirtualizedOptionsListProps<Value>) => {\n const [rowHeight, setRowHeight] = useState(50)\n useEffect(() => {\n if (optionRefs.current?.[0]) {\n setRowHeight(optionRefs.current?.[0].offsetHeight)\n }\n }, [optionRefs])\n\n const renderItem = useCallback(\n ({ index, style }: ListRowProps) => {\n const option = options[index]\n\n return (\n <MenuItem\n style={style}\n variant='option'\n ref={(el) => {\n if (optionRefs && optionRefs.current && el) {\n optionRefs.current[index] = el\n }\n }}\n key={option.value}\n {...option}\n onChange={onChange}\n />\n )\n },\n [onChange, optionRefs, options]\n )\n\n return (\n <List\n width={Number(width)}\n height={Number(height)}\n rowCount={options.length}\n rowHeight={rowHeight}\n rowRenderer={renderItem}\n />\n )\n}\n\nexport const OptionsList = <Value extends string>({\n options,\n isOpen,\n optionRefs,\n scrollRef,\n onChange\n}: OptionsListProps<Value>) => {\n return (\n <OptionKeyHandler\n options={options}\n disabled={!isOpen}\n onChange={onChange}\n optionRefs={optionRefs}\n scrollRef={scrollRef}\n >\n {(activeValue) =>\n options.map((option, index) => (\n <MenuItem\n variant='option'\n ref={(el) => {\n if (optionRefs && optionRefs.current && el) {\n optionRefs.current[index] = el\n }\n }}\n key={option.value}\n {...option}\n onChange={onChange}\n isActive={option.value === activeValue}\n />\n ))\n }\n </OptionKeyHandler>\n )\n}\n"],"names":["_jsx"],"mappings":"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"}
@@ -1,40 +1,54 @@
1
1
  import { ReactNode } from 'react';
2
+ import { CSSObject } from '@emotion/react';
2
3
  import { IconComponent } from "../../icon";
4
+ import { TextInputProps } from "../../input";
5
+ import { MenuContentProps, MenuProps } from "../../internal/Menu";
3
6
  export type FilterButtonSize = 'default' | 'small';
4
7
  export type FilterButtonVariant = 'fillContainer' | 'replaceLabel';
5
- export type FilterButtonOption = {
6
- value: string;
8
+ export type FilterButtonOptionType<Value extends string> = {
9
+ value: Value;
7
10
  /**
8
11
  * The label to display. If not provided, uses the value.
9
12
  */
10
13
  label?: string;
11
14
  icon?: IconComponent;
12
- };
13
- type ChildrenProps = {
14
15
  /**
15
- * State representing whether the FilterButton is open.
16
- * This can be used to implement a popup via `children`
16
+ * A leading element to display before the option label. Useful for icons/emojis
17
17
  */
18
- isOpen: boolean;
18
+ leadingElement?: JSX.Element;
19
19
  /**
20
- * Set open state
20
+ * A leading element to display before the filter button label
21
21
  */
22
- setIsOpen: (isOpen: boolean) => void;
22
+ labelLeadingElement?: JSX.Element;
23
23
  /**
24
- * A function to handle when the value is changed
24
+ * Text to display after the element
25
25
  */
26
- handleChange: (value: string, label: string) => void;
26
+ helperText?: string;
27
+ };
28
+ type ChildrenProps<Value> = {
27
29
  /**
28
- * A ref to the anchor element (button)
30
+ * Callback when a value is selected
29
31
  */
30
- anchorRef: React.RefObject<HTMLButtonElement>;
32
+ onChange: (value: Value) => void;
33
+ options: ReactNode;
34
+ setIsOpen: (isOpen: boolean) => void;
31
35
  };
32
- export type FilterButtonProps = {
36
+ export type FilterButtonProps<Value extends string = string> = {
37
+ value?: Value | null;
38
+ /**
39
+ * Callback when a value is selected
40
+ */
41
+ onChange?: (value: Value) => void;
42
+ /**
43
+ * Selection options
44
+ * e.g. { label: 'Option A', icon: IconRadar }
45
+ */
46
+ options?: FilterButtonOptionType<Value>[];
33
47
  /**
34
48
  * Children render prop. This can be used to render a dropdown component
35
49
  * for example
36
50
  */
37
- children?: (props: ChildrenProps) => ReactNode;
51
+ children?: (props: ChildrenProps<Value>) => ReactNode;
38
52
  /**
39
53
  * The text that appears on the button component.
40
54
  * If no label is provided, a different Icon can be specified
@@ -45,10 +59,6 @@ export type FilterButtonProps = {
45
59
  * If no label is provided, specify an optional aria-label
46
60
  */
47
61
  'aria-label'?: string;
48
- /**
49
- * The value
50
- */
51
- value?: string | null;
52
62
  /**
53
63
  * The button size
54
64
  * @default FilterButtonSize.DEFAULT
@@ -56,7 +66,7 @@ export type FilterButtonProps = {
56
66
  size?: FilterButtonSize;
57
67
  /**
58
68
  * The type of filter button
59
- * @default FilterButtonType.FILL_CONTAINER
69
+ * @default 'fillContainer'
60
70
  */
61
71
  variant?: FilterButtonVariant;
62
72
  /**
@@ -67,10 +77,6 @@ export type FilterButtonProps = {
67
77
  * Optional icon element to include on the right side of the button
68
78
  */
69
79
  iconRight?: IconComponent | null;
70
- /**
71
- * What to do when the value is changed
72
- */
73
- onChange?: (value: string) => void;
74
80
  /**
75
81
  * What to do when the filter button is opened
76
82
  */
@@ -88,6 +94,27 @@ export type FilterButtonProps = {
88
94
  * Whether interaction is disabled
89
95
  */
90
96
  disabled?: boolean;
97
+ /**
98
+ * Optional leading element to include on the left side of the button
99
+ */
100
+ leadingElement?: ReactNode;
101
+ /**
102
+ * Show a text input to filter the options
103
+ */
104
+ showFilterInput?: boolean;
105
+ filterInputProps?: TextInputProps;
106
+ /**
107
+ * Label to display above options
108
+ */
109
+ optionsLabel?: string;
110
+ menuProps?: Partial<MenuProps> & Partial<MenuContentProps> & {
111
+ css?: CSSObject;
112
+ };
113
+ renderLabel?: (label: string) => ReactNode;
114
+ /**
115
+ * Whether or not to virtualize the options
116
+ */
117
+ virtualized?: boolean;
91
118
  };
92
119
  export {};
93
120
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FilterButton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,mBAAuB;AAE/C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAA;AAGlD,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,cAAc,CAAA;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,aAAa,CAAA;CACrB,CAAA;AAED,KAAK,aAAa,GAAG;IACnB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD;;OAEG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAAA;IAE9C;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAErB;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAElC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/button/FilterButton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,mBAAuB;AAC/C,OAAO,EAAE,cAAc,EAAE,oBAAwB;AACjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,4BAAgC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAA;AAElD,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,cAAc,CAAA;AAElB,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,MAAM,IAAI;IACzD,KAAK,EAAE,KAAK,CAAA;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,aAAa,CAAC,KAAK,IAAI;IAC1B;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,SAAS,CAAA;IAClB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;IAC7D,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAA;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;IAErD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAA;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IAEhC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAA;IAE1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB,gBAAgB,CAAC,EAAE,cAAc,CAAA;IAEjC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC5B,OAAO,CAAC,gBAAgB,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,SAAS,CAAA;KAAE,CAAA;IAEjD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAA;IAC1C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,CAAA"}
@@ -7,7 +7,7 @@ export type IconButtonProps = {
7
7
  ripple?: boolean;
8
8
  'aria-label': string;
9
9
  iconCss?: CSSObject;
10
- } & Pick<IconProps, 'color' | 'size' | 'shadow' | 'height' | 'width'> & Pick<BaseButtonProps, 'onClick' | 'disabled' | 'className' | 'type' | 'children' | 'isLoading'>;
10
+ } & Pick<IconProps, 'color' | 'size' | 'shadow' | 'height' | 'width'> & BaseButtonProps;
11
11
  /**
12
12
  * The icon component allows you to pass in an icon and
13
13
  * apply color and sizing properties.
@@ -17,5 +17,22 @@ export declare const IconButton: (props: {
17
17
  ripple?: boolean | undefined;
18
18
  'aria-label': string;
19
19
  iconCss?: CSSObject | undefined;
20
- } & Pick<IconProps, "color" | "size" | "shadow" | "height" | "width"> & Pick<BaseButtonProps, "disabled" | "type" | "className" | "children" | "onClick" | "isLoading"> & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
20
+ } & Pick<IconProps, "color" | "size" | "shadow" | "height" | "width"> & {
21
+ iconLeft?: IconComponent | null | undefined;
22
+ iconRight?: IconComponent | null | undefined;
23
+ isStaticIcon?: boolean | undefined;
24
+ isLoading?: boolean | undefined;
25
+ widthToHideText?: number | undefined;
26
+ minWidth?: number | undefined;
27
+ fullWidth?: boolean | undefined;
28
+ styles?: {
29
+ button?: CSSObject | undefined;
30
+ icon?: CSSObject | undefined;
31
+ } | undefined;
32
+ asChild?: boolean | undefined;
33
+ slotted?: boolean | undefined;
34
+ } & Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
35
+ _isHovered?: boolean | undefined;
36
+ _isPressed?: boolean | undefined;
37
+ } & import("react").RefAttributes<HTMLButtonElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
21
38
  //# sourceMappingURL=IconButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GACnE,IAAI,CACF,eAAe,EACf,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CACzE,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU;UAdf,aAAa;;kBAEL,MAAM;;4TAkGrB,CAAA"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAGzD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,GACnE,eAAe,CAAA;AAEjB;;;GAGG;AACH,eAAO,MAAM,UAAU;UAXf,aAAa;;kBAEL,MAAM;;;;;;;;;;;;;;;;;;;sJAgGrB,CAAA"}
@@ -2,6 +2,7 @@ import { __rest, __assign } from '../../../_virtual/_tslib.js';
2
2
  import { jsxs, jsx } from '@emotion/react/jsx-runtime';
3
3
  import { forwardRef } from 'react';
4
4
  import { useTheme } from '@emotion/react';
5
+ import { Slottable } from '@radix-ui/react-slot';
5
6
  import { BaseButton } from '../BaseButton/BaseButton.js';
6
7
 
7
8
  /**
@@ -10,7 +11,7 @@ import { BaseButton } from '../BaseButton/BaseButton.js';
10
11
  */
11
12
  var IconButton = forwardRef(function (props, ref) {
12
13
  var Icon = props.icon, iconColor = props.color, _a = props.size, size = _a === void 0 ? 'l' : _a, shadow = props.shadow, ripple = props.ripple, height = props.height, width = props.width, iconCss = props.iconCss, children = props.children, other = __rest(props, ["icon", "color", "size", "shadow", "ripple", "height", "width", "iconCss", "children"]);
13
- var disabled = other.disabled, isLoading = other.isLoading;
14
+ var disabled = other.disabled, isLoading = other.isLoading, asChild = other.asChild;
14
15
  var _b = useTheme(), color = _b.color, cornerRadius = _b.cornerRadius, spacing = _b.spacing, motion = _b.motion, iconSizes = _b.iconSizes;
15
16
  var buttonCss = {
16
17
  background: 'transparent',
@@ -47,7 +48,7 @@ var IconButton = forwardRef(function (props, ref) {
47
48
  }
48
49
  };
49
50
  var loadingIconCss = __assign(__assign({}, iconCss), { height: iconSizes[size], width: iconSizes[size], color: color.icon[iconColor !== null && iconColor !== void 0 ? iconColor : 'default'] });
50
- return (jsxs(BaseButton, __assign({ ref: ref, type: 'button' }, other, { css: [buttonCss, ripple && rippleCss], styles: { icon: loadingIconCss } }, { children: [isLoading ? null : (jsx(Icon, { "aria-hidden": true, color: disabled ? 'disabled' : iconColor, size: size, shadow: shadow, height: height, width: width, css: iconCss })), children] })));
51
+ return (jsxs(BaseButton, __assign({ ref: ref, type: asChild ? undefined : 'button' }, other, { css: [buttonCss, ripple && rippleCss], styles: { icon: loadingIconCss }, slotted: true }, { children: [isLoading ? null : (jsx(Icon, { "aria-hidden": true, color: disabled ? 'disabled' : iconColor, size: size, shadow: shadow, height: height, width: width, css: iconCss })), jsx(Slottable, { children: children })] })));
51
52
  });
52
53
 
53
54
  export { IconButton };
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport { useTheme, type CSSObject } from '@emotion/react'\n\nimport type { IconComponent, IconProps } from '../../icon'\nimport { BaseButton } from '../BaseButton/BaseButton'\nimport type { BaseButtonProps } from '../BaseButton/types'\n\nexport type IconButtonProps = {\n icon: IconComponent\n ripple?: boolean\n 'aria-label': string\n iconCss?: CSSObject\n} & Pick<IconProps, 'color' | 'size' | 'shadow' | 'height' | 'width'> &\n Pick<\n BaseButtonProps,\n 'onClick' | 'disabled' | 'className' | 'type' | 'children' | 'isLoading'\n >\n\n/**\n * The icon component allows you to pass in an icon and\n * apply color and sizing properties.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n (props: IconButtonProps, ref) => {\n const {\n icon: Icon,\n color: iconColor,\n size = 'l',\n shadow,\n ripple,\n height,\n width,\n iconCss,\n children,\n ...other\n } = props\n const { disabled, isLoading } = other\n const { color, cornerRadius, spacing, motion, iconSizes } = useTheme()\n\n const buttonCss: CSSObject = {\n background: 'transparent',\n border: 'none',\n borderRadius: '50%',\n padding: spacing.xs,\n overflow: 'unset',\n svg: {\n transition: `\n transform ${motion.hover},\n color ${motion.hover}\n `\n },\n '&:hover': {\n transform: 'scale(1.0)',\n svg: {\n transform: 'scale(1.1)'\n }\n },\n '&:active': {\n transform: 'scale(1.0)',\n svg: {\n transform: 'scale(0.98)'\n }\n }\n }\n\n const rippleCss: CSSObject = {\n '&:hover': {\n backgroundColor: color.neutral.n100\n },\n '&:active': {\n backgroundColor: color.neutral.n150\n },\n '&:focus-visible': {\n border: `1px solid ${color.secondary.secondary}`,\n borderRadius: cornerRadius.s\n }\n }\n\n const loadingIconCss: CSSObject = {\n ...iconCss,\n height: iconSizes[size],\n width: iconSizes[size],\n color: color.icon[iconColor ?? 'default']\n }\n\n return (\n <BaseButton\n ref={ref}\n type='button'\n {...other}\n css={[buttonCss, ripple && rippleCss]}\n styles={{ icon: loadingIconCss }}\n >\n {isLoading ? null : (\n <Icon\n aria-hidden\n color={disabled ? 'disabled' : iconColor}\n size={size}\n shadow={shadow}\n height={height}\n width={width}\n css={iconCss}\n />\n )}\n {children}\n </BaseButton>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"IconButton.js","sources":["../../../../src/components/button/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react'\n\nimport { useTheme, type CSSObject } from '@emotion/react'\nimport { Slottable } from '@radix-ui/react-slot'\n\nimport type { IconComponent, IconProps } from '../../icon'\nimport { BaseButton } from '../BaseButton/BaseButton'\nimport type { BaseButtonProps } from '../BaseButton/types'\n\nexport type IconButtonProps = {\n icon: IconComponent\n ripple?: boolean\n 'aria-label': string\n iconCss?: CSSObject\n} & Pick<IconProps, 'color' | 'size' | 'shadow' | 'height' | 'width'> &\n BaseButtonProps\n\n/**\n * The icon component allows you to pass in an icon and\n * apply color and sizing properties.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n (props: IconButtonProps, ref) => {\n const {\n icon: Icon,\n color: iconColor,\n size = 'l',\n shadow,\n ripple,\n height,\n width,\n iconCss,\n children,\n ...other\n } = props\n const { disabled, isLoading, asChild } = other\n const { color, cornerRadius, spacing, motion, iconSizes } = useTheme()\n\n const buttonCss: CSSObject = {\n background: 'transparent',\n border: 'none',\n borderRadius: '50%',\n padding: spacing.xs,\n overflow: 'unset',\n svg: {\n transition: `\n transform ${motion.hover},\n color ${motion.hover}\n `\n },\n '&:hover': {\n transform: 'scale(1.0)',\n svg: {\n transform: 'scale(1.1)'\n }\n },\n '&:active': {\n transform: 'scale(1.0)',\n svg: {\n transform: 'scale(0.98)'\n }\n }\n }\n\n const rippleCss: CSSObject = {\n '&:hover': {\n backgroundColor: color.neutral.n100\n },\n '&:active': {\n backgroundColor: color.neutral.n150\n },\n '&:focus-visible': {\n border: `1px solid ${color.secondary.secondary}`,\n borderRadius: cornerRadius.s\n }\n }\n\n const loadingIconCss: CSSObject = {\n ...iconCss,\n height: iconSizes[size],\n width: iconSizes[size],\n color: color.icon[iconColor ?? 'default']\n }\n\n return (\n <BaseButton\n ref={ref}\n type={asChild ? undefined : 'button'}\n {...other}\n css={[buttonCss, ripple && rippleCss]}\n styles={{ icon: loadingIconCss }}\n slotted\n >\n {isLoading ? null : (\n <Icon\n aria-hidden\n color={disabled ? 'disabled' : iconColor}\n size={size}\n shadow={shadow}\n height={height}\n width={width}\n css={iconCss}\n />\n )}\n <Slottable>{children}</Slottable>\n </BaseButton>\n )\n }\n)\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -5,10 +5,9 @@ export * from './PlainButton/types';
5
5
  export { SocialButton, SocialButtonProps } from './SocialButton/SocialButton';
6
6
  export { FollowButton } from './FollowButton/FollowButton';
7
7
  export * from './FollowButton/types';
8
- export { FilterButton } from './FilterButton/FilterButton';
9
- export * from './FilterButton/types';
10
- export { OptionsFilterButton, FilterButtonOptions } from './OptionsFilterButton/OptionsFilterButton';
11
- export * from './OptionsFilterButton/types';
12
8
  export { IconButton, IconButtonProps } from './IconButton/IconButton';
13
9
  export { UnstyledButton } from './UnstyledButton';
10
+ export { FilterButton } from './FilterButton/FilterButton';
11
+ export { FilterButtonOption } from './FilterButton/FilterButtonOption';
12
+ export type { FilterButtonProps } from './FilterButton/types';
14
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,cAAc,sBAAsB,CAAA;AACpC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,2CAA2C,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export declare const Checkbox: (props: Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & {
3
+ indeterminate?: boolean | undefined;
4
+ _isHovered?: boolean | undefined;
5
+ _isFocused?: boolean | undefined;
6
+ } & import("react").RefAttributes<HTMLInputElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
7
+ //# sourceMappingURL=Checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.tsx"],"names":[],"mappings":";AAgBA,eAAO,MAAM,QAAQ;;;;qJA4GpB,CAAA"}
@@ -0,0 +1,64 @@
1
+ import { __rest, __assign } from '../../_virtual/_tslib.js';
2
+ import { jsxs, jsx } from '@emotion/react/jsx-runtime';
3
+ import { forwardRef, useCallback } from 'react';
4
+ import '../../foundations/color/semantic.js';
5
+ import '../../foundations/color/color.js';
6
+ import { useTheme } from '@emotion/react';
7
+ import '../../foundations/theme/theme.js';
8
+ import { useControlled } from '../../hooks/useControlled.js';
9
+ import { Box } from '../layout/Box/Box.js';
10
+ import { Flex } from '../layout/Flex/Flex.js';
11
+ import '../layout/Paper/Paper.js';
12
+ import SvgIndeterminate from './Indeterminate.svg.js';
13
+ import SvgSelect from './Select.svg.js';
14
+
15
+ /*
16
+ * An input for choosing from predefined options:
17
+ * (1) when used alone, it gives a binary choice (checked/unchecked)
18
+ * (2) in a group it allows the user to select multiple values from a list of options.
19
+ */
20
+ var Checkbox = forwardRef(function (props, ref) {
21
+ var checkedProp = props.checked, defaultChecked = props.defaultChecked, indeterminate = props.indeterminate, onChange = props.onChange, _isFocused = props._isFocused, _isHovered = props._isHovered, other = __rest(props, ["checked", "defaultChecked", "indeterminate", "onChange", "_isFocused", "_isHovered"]);
22
+ var _a = useTheme(), color = _a.color, motion = _a.motion;
23
+ var _b = useControlled({
24
+ controlledProp: checkedProp,
25
+ defaultValue: defaultChecked,
26
+ stateName: 'checked',
27
+ componentName: 'Checkbox'
28
+ }), checked = _b[0], setChecked = _b[1];
29
+ var handleChange = useCallback(function (e) {
30
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
31
+ setChecked(e.target.checked);
32
+ }, [onChange, setChecked]);
33
+ var Icon = !checked
34
+ ? null
35
+ : indeterminate
36
+ ? SvgIndeterminate
37
+ : SvgSelect;
38
+ var hoverCss = {
39
+ backgroundColor: checked ? color.secondary.s200 : color.neutral.n150
40
+ };
41
+ var focusCss = {
42
+ borderRadius: 6,
43
+ border: "2px solid ".concat(color.border.accent)
44
+ };
45
+ return (jsxs(Flex, __assign({ h: 'unit7', w: 'unit7', as: 'span', alignItems: 'center', justifyContent: 'center' }, { children: [jsx("input", __assign({ ref: ref, type: 'checkbox', css: {
46
+ position: 'absolute',
47
+ top: 0,
48
+ left: 0,
49
+ opacity: 0,
50
+ width: '100%',
51
+ height: '100%',
52
+ zIndex: 1,
53
+ margin: 0,
54
+ padding: 0,
55
+ cursor: 'pointer',
56
+ ':hover ~ [data-span="background"]': hoverCss,
57
+ ':focus-visible ~ [data-span="focus"]': focusCss
58
+ }, "data-indeterminate": indeterminate, checked: checked, onChange: handleChange }, other)), jsx(Box, { h: 'unit7', w: 'unit7', as: 'span', "data-span": 'focus', css: __assign({ position: 'absolute', width: '100%', height: '100%' }, (_isFocused && focusCss)) }), jsx(Flex, __assign({ borderRadius: 's', backgroundColor: checked ? 'accent' : 'default', h: 'unit5', w: 'unit5', as: 'span', "data-span": 'background', alignItems: 'center', justifyContent: 'center', css: __assign({ backgroundColor: checked
59
+ ? color.background.accent
60
+ : color.neutral.n200, boxShadow: 'inset 2px 2px 2px 0px rgba(0, 0, 0, 0.10)', transition: "background-color ".concat(motion.hover) }, (_isHovered && hoverCss)) }, { children: Icon ? jsx(Icon, {}) : null }))] })));
61
+ });
62
+
63
+ export { Checkbox };
64
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["import { ChangeEvent, forwardRef, Ref, useCallback } from 'react'\n\nimport { useTheme } from 'foundations'\nimport { useControlled } from 'hooks/useControlled'\n\nimport { Flex, Box } from '../layout'\n\nimport IconIndeterminate from './Indeterminate.svg'\nimport IconSelect from './Select.svg'\nimport { CheckboxProps } from './types'\n\n/*\n * An input for choosing from predefined options:\n * (1) when used alone, it gives a binary choice (checked/unchecked)\n * (2) in a group it allows the user to select multiple values from a list of options.\n */\nexport const Checkbox = forwardRef(\n (props: CheckboxProps, ref: Ref<HTMLInputElement>) => {\n const {\n checked: checkedProp,\n defaultChecked,\n indeterminate,\n onChange,\n _isFocused,\n _isHovered,\n ...other\n } = props\n const { color, motion } = useTheme()\n\n const [checked, setChecked] = useControlled({\n controlledProp: checkedProp,\n defaultValue: defaultChecked,\n stateName: 'checked',\n componentName: 'Checkbox'\n })\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onChange?.(e)\n setChecked(e.target.checked)\n },\n [onChange, setChecked]\n )\n\n const Icon = !checked\n ? null\n : indeterminate\n ? IconIndeterminate\n : IconSelect\n\n const hoverCss = {\n backgroundColor: checked ? color.secondary.s200 : color.neutral.n150\n }\n\n const focusCss = {\n borderRadius: 6,\n border: `2px solid ${color.border.accent}`\n }\n\n return (\n <Flex\n h='unit7'\n w='unit7'\n as='span'\n alignItems='center'\n justifyContent='center'\n >\n <input\n ref={ref}\n type='checkbox'\n css={{\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n width: '100%',\n height: '100%',\n zIndex: 1,\n margin: 0,\n padding: 0,\n cursor: 'pointer',\n ':hover ~ [data-span=\"background\"]': hoverCss,\n ':focus-visible ~ [data-span=\"focus\"]': focusCss\n }}\n data-indeterminate={indeterminate}\n checked={checked}\n onChange={handleChange}\n {...other}\n />\n <Box\n h='unit7'\n w='unit7'\n as='span'\n data-span='focus'\n css={{\n position: 'absolute',\n width: '100%',\n height: '100%',\n ...(_isFocused && focusCss)\n }}\n />\n <Flex\n borderRadius='s'\n backgroundColor={checked ? 'accent' : 'default'}\n h='unit5'\n w='unit5'\n as='span'\n data-span='background'\n alignItems='center'\n justifyContent='center'\n css={{\n backgroundColor: checked\n ? color.background.accent\n : color.neutral.n200,\n boxShadow: 'inset 2px 2px 2px 0px rgba(0, 0, 0, 0.10)',\n transition: `background-color ${motion.hover}`,\n ...(_isHovered && hoverCss)\n }}\n >\n {Icon ? <Icon /> : null}\n </Flex>\n </Flex>\n )\n }\n)\n"],"names":["IconIndeterminate","IconSelect","_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Checkbox } from './Checkbox';
3
+ declare const meta: Meta<typeof Checkbox>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Checkbox>;
6
+ export declare const Variants: Story;
7
+ export declare const States: Story;
8
+ export declare const Indeterminate: Story;
9
+ //# sourceMappingURL=Checkbox.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAG/B,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAA;AAqBtC,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAoBpB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAA"}
@@ -0,0 +1,114 @@
1
+ import * as React from 'react';
2
+ import { forwardRef } from 'react';
3
+ import { useTheme } from '@emotion/react';
4
+ import { css, cx } from '@emotion/css';
5
+
6
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
+ var _g, _defs;
8
+ var _excluded = ["title", "titleId", "desc", "descId"],
9
+ _excluded2 = ["color", "size", "sizeH", "sizeW", "height", "width", "shadow"];
10
+ 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); }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
15
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
+ 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; }
17
+ 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; }
18
+ var SvgIndeterminate = /*#__PURE__*/forwardRef(function (_ref, ref) {
19
+ var _theme$iconSizes, _theme$iconSizes2, _ref2, _other$fill, _theme$color;
20
+ var title = _ref.title,
21
+ titleId = _ref.titleId,
22
+ desc = _ref.desc,
23
+ descId = _ref.descId,
24
+ props = _objectWithoutProperties(_ref, _excluded);
25
+ var theme = useTheme();
26
+ var _props = props,
27
+ color = _props.color,
28
+ size = _props.size,
29
+ sizeH = _props.sizeH,
30
+ sizeW = _props.sizeW,
31
+ heightProp = _props.height,
32
+ widthProp = _props.width,
33
+ shadow = _props.shadow,
34
+ other = _objectWithoutProperties(_props, _excluded2);
35
+ var height = heightProp !== null && heightProp !== void 0 ? heightProp : (_theme$iconSizes = theme.iconSizes) === null || _theme$iconSizes === void 0 ? void 0 : _theme$iconSizes[sizeH !== null && sizeH !== void 0 ? sizeH : size];
36
+ if (height) {
37
+ other.height = height;
38
+ }
39
+ var width = widthProp !== null && widthProp !== void 0 ? widthProp : (_theme$iconSizes2 = theme.iconSizes) === null || _theme$iconSizes2 === void 0 ? void 0 : _theme$iconSizes2[sizeW !== null && sizeW !== void 0 ? sizeW : size];
40
+ if (width) {
41
+ other.width = width;
42
+ }
43
+ var fillColor = (_ref2 = (_other$fill = other.fill) !== null && _other$fill !== void 0 ? _other$fill : (_theme$color = theme.color) === null || _theme$color === void 0 ? void 0 : _theme$color.icon[color]) !== null && _ref2 !== void 0 ? _ref2 : 'red';
44
+ var classNameProp = other.className;
45
+ var className = css({
46
+ filter: shadow ? theme.shadows.drop : undefined,
47
+ minHeight: height,
48
+ minWidth: width
49
+ });
50
+ other.className = cx(className, classNameProp);
51
+ other.role = title ? 'img' : undefined;
52
+ other['aria-hidden'] = title ? undefined : true;
53
+ props = _objectSpread(_objectSpread({}, other), {}, {
54
+ ref: ref,
55
+ fillColor: fillColor
56
+ });
57
+ return /*#__PURE__*/React.createElement("svg", _extends({
58
+ xmlns: "http://www.w3.org/2000/svg",
59
+ width: 16,
60
+ height: 16,
61
+ fill: "none",
62
+ viewBox: "0 0 16 16",
63
+ "aria-labelledby": titleId,
64
+ "aria-describedby": descId
65
+ }, props), desc ? /*#__PURE__*/React.createElement("desc", {
66
+ id: descId
67
+ }, desc) : null, title ? /*#__PURE__*/React.createElement("title", {
68
+ id: titleId
69
+ }, title) : null, _g || (_g = /*#__PURE__*/React.createElement("g", {
70
+ filter: "url(#filter0_d_6946_1483)"
71
+ }, /*#__PURE__*/React.createElement("rect", {
72
+ width: 13.333,
73
+ height: 2.667,
74
+ x: 1.333,
75
+ y: 6.667,
76
+ fill: "#fff",
77
+ rx: 1.333
78
+ }))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("filter", {
79
+ id: "filter0_d_6946_1483",
80
+ width: 17.333,
81
+ height: 6.667,
82
+ x: 1.333,
83
+ y: 6.667,
84
+ colorInterpolationFilters: "sRGB",
85
+ filterUnits: "userSpaceOnUse"
86
+ }, /*#__PURE__*/React.createElement("feFlood", {
87
+ floodOpacity: 0,
88
+ result: "BackgroundImageFix"
89
+ }), /*#__PURE__*/React.createElement("feColorMatrix", {
90
+ "in": "SourceAlpha",
91
+ result: "hardAlpha",
92
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
93
+ }), /*#__PURE__*/React.createElement("feOffset", {
94
+ dx: 2,
95
+ dy: 2
96
+ }), /*#__PURE__*/React.createElement("feGaussianBlur", {
97
+ stdDeviation: 1
98
+ }), /*#__PURE__*/React.createElement("feComposite", {
99
+ in2: "hardAlpha",
100
+ operator: "out"
101
+ }), /*#__PURE__*/React.createElement("feColorMatrix", {
102
+ values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"
103
+ }), /*#__PURE__*/React.createElement("feBlend", {
104
+ in2: "BackgroundImageFix",
105
+ result: "effect1_dropShadow_6946_1483"
106
+ }), /*#__PURE__*/React.createElement("feBlend", {
107
+ "in": "SourceGraphic",
108
+ in2: "effect1_dropShadow_6946_1483",
109
+ result: "shape"
110
+ })))));
111
+ });
112
+
113
+ export { SvgIndeterminate as default };
114
+ //# sourceMappingURL=Indeterminate.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Indeterminate.svg.js","sources":["../../../src/components/checkbox/Indeterminate.svg"],"sourcesContent":["<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <g filter=\"url(#filter0_d_6946_1483)\">\n <rect x=\"1.33337\" y=\"6.66675\" width=\"13.3333\" height=\"2.66667\" rx=\"1.33333\" fill=\"white\"/>\n </g>\n <defs>\n <filter id=\"filter0_d_6946_1483\" x=\"1.33337\" y=\"6.66675\" width=\"17.3334\" height=\"6.66675\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\">\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/>\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\" result=\"hardAlpha\"/>\n <feOffset dx=\"2\" dy=\"2\"/>\n <feGaussianBlur stdDeviation=\"1\"/>\n <feComposite in2=\"hardAlpha\" operator=\"out\"/>\n <feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\"/>\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\" result=\"effect1_dropShadow_6946_1483\"/>\n <feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"effect1_dropShadow_6946_1483\" result=\"shape\"/>\n </filter>\n </defs>\n</svg>"],"names":[],"mappings":"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"}