@idea-fragments/react-components-zendesk 0.1.1 → 0.1.2

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 (452) hide show
  1. package/dist/alert.js +2701 -3288
  2. package/dist/alert.js.map +1 -1
  3. package/dist/index.js +1002 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/types/components/forms/selectors/Dropdown/Item.d.ts +1 -1
  6. package/dist/types/components/tags/Chip.d.ts +1 -1
  7. package/dist/types/index.d.ts +5 -0
  8. package/dist/types/index.d.ts.map +1 -0
  9. package/package.json +14 -3
  10. package/.node-version +0 -1
  11. package/.storybook/ThemeProvider.tsx +0 -15
  12. package/.storybook/main.js +0 -13
  13. package/.storybook/preview.js +0 -20
  14. package/dist/forms.js +0 -101816
  15. package/dist/forms.js.map +0 -1
  16. package/entries/alert.ts +0 -1
  17. package/entries/forms.ts +0 -46
  18. package/entries/hooks.ts +0 -3
  19. package/entries/icon.ts +0 -1
  20. package/entries/layouts.ts +0 -15
  21. package/entries/loaders.ts +0 -3
  22. package/entries/mobx.ts +0 -6
  23. package/entries/modal.ts +0 -1
  24. package/entries/navigation.ts +0 -3
  25. package/entries/notifications.ts +0 -2
  26. package/entries/styles.ts +0 -16
  27. package/entries/tables.ts +0 -4
  28. package/entries/tags.ts +0 -2
  29. package/entries/text.ts +0 -7
  30. package/entries/tooltips.ts +0 -2
  31. package/entries/types.ts +0 -3
  32. package/entries/utils.ts +0 -4
  33. package/react_components_zendesk.iml +0 -9
  34. package/rollup.config.js +0 -40
  35. package/src/GlobalStyle.js +0 -43
  36. package/src/calendarCss.js +0 -2
  37. package/src/components/Alert.tsx +0 -175
  38. package/src/components/Drawer.tsx +0 -244
  39. package/src/components/Icon.tsx +0 -43
  40. package/src/components/Modal.tsx +0 -206
  41. package/src/components/StyledComponentProps.type.ts +0 -3
  42. package/src/components/StyledProps.type.ts +0 -4
  43. package/src/components/calendars/Legendable.type.tsx +0 -4
  44. package/src/components/calendars/TinyCalendar.tsx +0 -185
  45. package/src/components/calendars/TinyMonthYearCalendar.tsx +0 -57
  46. package/src/components/calendars/blocks/Legend.tsx +0 -44
  47. package/src/components/calendars/blocks/MonthPicker.tsx +0 -54
  48. package/src/components/calendars/blocks/MonthYearPicker.tsx +0 -101
  49. package/src/components/calendars/blocks/YearPicker.tsx +0 -44
  50. package/src/components/forms/Button.tsx +0 -214
  51. package/src/components/forms/Checkbox.tsx +0 -99
  52. package/src/components/forms/CycleButton.stories.tsx +0 -23
  53. package/src/components/forms/CycleButton.tsx +0 -52
  54. package/src/components/forms/Form.tsx +0 -43
  55. package/src/components/forms/Hint.tsx +0 -12
  56. package/src/components/forms/IconButton.tsx +0 -29
  57. package/src/components/forms/Label.tsx +0 -9
  58. package/src/components/forms/TaggedToggle.stories.tsx +0 -18
  59. package/src/components/forms/TaggedToggle.tsx +0 -19
  60. package/src/components/forms/Toggle.stories.tsx +0 -30
  61. package/src/components/forms/Toggle.tsx +0 -62
  62. package/src/components/forms/ValidatedFormProps.type.ts +0 -3
  63. package/src/components/forms/Validation.type.ts +0 -10
  64. package/src/components/forms/buttonMixins.ts +0 -74
  65. package/src/components/forms/formField.types.ts +0 -26
  66. package/src/components/forms/selectors/BooleanSelector.tsx +0 -71
  67. package/src/components/forms/selectors/DatePickerSelector.tsx +0 -88
  68. package/src/components/forms/selectors/Dropdown/Item.tsx +0 -34
  69. package/src/components/forms/selectors/Dropdown.tsx +0 -410
  70. package/src/components/forms/selectors/MonthYearSelector.tsx +0 -54
  71. package/src/components/forms/selectors/MultiSelector.tsx +0 -58
  72. package/src/components/forms/selectors/SearchableSelector.tsx +0 -120
  73. package/src/components/forms/selectors/Selector.tsx +0 -55
  74. package/src/components/forms/selectors/SelectorEmptyState.tsx +0 -5
  75. package/src/components/forms/selectors/types.ts +0 -43
  76. package/src/components/forms/textfields/EmailTextField.tsx +0 -7
  77. package/src/components/forms/textfields/NumberTextField.tsx +0 -17
  78. package/src/components/forms/textfields/PasswordTextField.tsx +0 -12
  79. package/src/components/forms/textfields/TextArea.tsx +0 -25
  80. package/src/components/forms/textfields/TextField.tsx +0 -45
  81. package/src/components/forms/textfields/TextFieldWrapper.tsx +0 -120
  82. package/src/components/forms/validationStates.ts +0 -6
  83. package/src/components/layout/AppBar.tsx +0 -137
  84. package/src/components/layout/AppBarLayout.tsx +0 -55
  85. package/src/components/layout/Carousel.tsx +0 -44
  86. package/src/components/layout/Container.tsx +0 -43
  87. package/src/components/layout/FlexBlock.tsx +0 -122
  88. package/src/components/layout/FlexBox.tsx +0 -69
  89. package/src/components/layout/Grid.tsx +0 -23
  90. package/src/components/layout/Line.tsx +0 -13
  91. package/src/components/layout/OpacityTransition.tsx +0 -6
  92. package/src/components/layout/OverflowMenu.tsx +0 -45
  93. package/src/components/layout/Section.tsx +0 -41
  94. package/src/components/layout/Sidebar.tsx +0 -107
  95. package/src/components/layout/SidebarLayout.tsx +0 -32
  96. package/src/components/layout/Tabs.tsx +0 -39
  97. package/src/components/loaders/AsyncLoadable.tsx +0 -57
  98. package/src/components/loaders/Dots.tsx +0 -16
  99. package/src/components/loaders/Loadable.tsx +0 -99
  100. package/src/components/loaders/Loader.tsx +0 -52
  101. package/src/components/loaders/TranslucentLoader.tsx +0 -49
  102. package/src/components/mobx/Alert.tsx +0 -33
  103. package/src/components/mobx/Drawer.tsx +0 -13
  104. package/src/components/mobx/ErrorBoundary.tsx +0 -56
  105. package/src/components/mobx/Modal.tsx +0 -44
  106. package/src/components/navigation/Breadcrumbs.tsx +0 -49
  107. package/src/components/navigation/ButtonLink.tsx +0 -55
  108. package/src/components/navigation/InlineButtonLink.tsx +0 -9
  109. package/src/components/notification/InfoPanel.tsx +0 -70
  110. package/src/components/notification/Notification.tsx +0 -51
  111. package/src/components/tables/MobileTable/Row.tsx +0 -147
  112. package/src/components/tables/MobileTable.tsx +0 -67
  113. package/src/components/tables/NiceTable.tsx +0 -81
  114. package/src/components/tables/Row.tsx +0 -84
  115. package/src/components/tables/SimpleTable.tsx +0 -99
  116. package/src/components/tables/Table.tsx +0 -153
  117. package/src/components/tables/blocks/Header.tsx +0 -119
  118. package/src/components/tables/blocks/HelpText.tsx +0 -9
  119. package/src/components/tables/blocks/Pagination.tsx +0 -85
  120. package/src/components/tables/blocks/TableFilter.tsx +0 -56
  121. package/src/components/tables/blocks/Title.tsx +0 -6
  122. package/src/components/tables/index.tsx +0 -106
  123. package/src/components/tables/utils.ts +0 -1
  124. package/src/components/tags/Chip.tsx +0 -44
  125. package/src/components/tags/Tag.tsx +0 -23
  126. package/src/components/text/Header.js +0 -55
  127. package/src/components/text/Hint.js +0 -25
  128. package/src/components/text/Label.js +0 -18
  129. package/src/components/text/Paragraph.js +0 -35
  130. package/src/components/text/Text.tsx +0 -33
  131. package/src/components/tooltips/IconTooltip.stories.tsx +0 -20
  132. package/src/components/tooltips/IconTooltip.tsx +0 -25
  133. package/src/components/tooltips/Tooltip.tsx +0 -30
  134. package/src/global.d.ts +0 -29
  135. package/src/hooks/useIsMounted.ts +0 -11
  136. package/src/hooks/useLoader.tsx +0 -73
  137. package/src/hooks/useLoaderV2.tsx +0 -51
  138. package/src/index.css +0 -34
  139. package/src/index.js +0 -4
  140. package/src/stores/useStores.tsx +0 -11
  141. package/src/stories/Introduction.stories.mdx +0 -211
  142. package/src/stories/assets/code-brackets.svg +0 -1
  143. package/src/stories/assets/colors.svg +0 -1
  144. package/src/stories/assets/comments.svg +0 -1
  145. package/src/stories/assets/direction.svg +0 -1
  146. package/src/stories/assets/flow.svg +0 -1
  147. package/src/stories/assets/plugin.svg +0 -1
  148. package/src/stories/assets/repo.svg +0 -1
  149. package/src/stories/assets/stackalt.svg +0 -1
  150. package/src/styles/DeviceSizeWatcher.ts +0 -113
  151. package/src/styles/alignments.ts +0 -9
  152. package/src/styles/colors.ts +0 -51
  153. package/src/styles/deviceSizes.ts +0 -28
  154. package/src/styles/mediaQueries.ts +0 -83
  155. package/src/styles/mixins.ts +0 -23
  156. package/src/styles/spacings.ts +0 -16
  157. package/src/styles/theme/Theme.type.ts +0 -76
  158. package/src/styles/theme/base.ts +0 -47
  159. package/src/styles/theme/dark.ts +0 -36
  160. package/src/styles/theme/light.ts +0 -44
  161. package/src/styles/theme/light2.ts +0 -22
  162. package/src/styles/theme/useTheme.ts +0 -5
  163. package/src/styles/types.ts +0 -18
  164. package/src/styles/typography.ts +0 -67
  165. package/src/utils/NavBarScrollWatcher.ts +0 -59
  166. package/src/utils/arrayHelpers.ts +0 -56
  167. package/src/utils/dateTime/DateRange.type.ts +0 -6
  168. package/src/utils/dateTime/calendar.ts +0 -23
  169. package/src/utils/dateTimeHelpers.ts +0 -105
  170. package/src/utils/function.types.ts +0 -1
  171. package/src/utils/functionHelpers.ts +0 -23
  172. package/src/utils/idGenerator.ts +0 -8
  173. package/src/utils/logging/Logger.ts +0 -34
  174. package/src/utils/logging/Logger.type.ts +0 -7
  175. package/src/utils/logging/loggable.tsx +0 -17
  176. package/src/utils/logging/with_module_logging.ts +0 -8
  177. package/src/utils/numberHelpers.ts +0 -4
  178. package/src/utils/typeCheckers.ts +0 -6
  179. package/src/utils/types.d.ts +0 -1
  180. package/src/utils/validateFields.ts +0 -14
  181. package/src/zendeskGardenCss.js +0 -15
  182. package/tsconfig.json +0 -30
  183. package/type_defs/GlobalStyle.d.ts +0 -2
  184. package/type_defs/GlobalStyle.d.ts.map +0 -1
  185. package/type_defs/calendarCss.d.ts +0 -2
  186. package/type_defs/calendarCss.d.ts.map +0 -1
  187. package/type_defs/components/Alert.d.ts +0 -24
  188. package/type_defs/components/Alert.d.ts.map +0 -1
  189. package/type_defs/components/Drawer.d.ts +0 -18
  190. package/type_defs/components/Drawer.d.ts.map +0 -1
  191. package/type_defs/components/Icon.d.ts +0 -15
  192. package/type_defs/components/Icon.d.ts.map +0 -1
  193. package/type_defs/components/Modal.d.ts +0 -31
  194. package/type_defs/components/Modal.d.ts.map +0 -1
  195. package/type_defs/components/StyledComponentProps.type.d.ts +0 -4
  196. package/type_defs/components/StyledComponentProps.type.d.ts.map +0 -1
  197. package/type_defs/components/StyledProps.type.d.ts +0 -4
  198. package/type_defs/components/StyledProps.type.d.ts.map +0 -1
  199. package/type_defs/components/calendars/Legendable.type.d.ts +0 -5
  200. package/type_defs/components/calendars/Legendable.type.d.ts.map +0 -1
  201. package/type_defs/components/calendars/TinyCalendar.d.ts +0 -25
  202. package/type_defs/components/calendars/TinyCalendar.d.ts.map +0 -1
  203. package/type_defs/components/calendars/TinyMonthYearCalendar.d.ts +0 -11
  204. package/type_defs/components/calendars/TinyMonthYearCalendar.d.ts.map +0 -1
  205. package/type_defs/components/calendars/blocks/Legend.d.ts +0 -12
  206. package/type_defs/components/calendars/blocks/Legend.d.ts.map +0 -1
  207. package/type_defs/components/calendars/blocks/MonthPicker.d.ts +0 -8
  208. package/type_defs/components/calendars/blocks/MonthPicker.d.ts.map +0 -1
  209. package/type_defs/components/calendars/blocks/MonthYearPicker.d.ts +0 -16
  210. package/type_defs/components/calendars/blocks/MonthYearPicker.d.ts.map +0 -1
  211. package/type_defs/components/calendars/blocks/YearPicker.d.ts +0 -10
  212. package/type_defs/components/calendars/blocks/YearPicker.d.ts.map +0 -1
  213. package/type_defs/components/forms/Button.d.ts +0 -41
  214. package/type_defs/components/forms/Button.d.ts.map +0 -1
  215. package/type_defs/components/forms/Checkbox.d.ts +0 -10
  216. package/type_defs/components/forms/Checkbox.d.ts.map +0 -1
  217. package/type_defs/components/forms/CycleButton.d.ts +0 -14
  218. package/type_defs/components/forms/CycleButton.d.ts.map +0 -1
  219. package/type_defs/components/forms/CycleButton.stories.d.ts +0 -16
  220. package/type_defs/components/forms/CycleButton.stories.d.ts.map +0 -1
  221. package/type_defs/components/forms/Form.d.ts +0 -9
  222. package/type_defs/components/forms/Form.d.ts.map +0 -1
  223. package/type_defs/components/forms/Hint.d.ts +0 -2
  224. package/type_defs/components/forms/Hint.d.ts.map +0 -1
  225. package/type_defs/components/forms/IconButton.d.ts +0 -6
  226. package/type_defs/components/forms/IconButton.d.ts.map +0 -1
  227. package/type_defs/components/forms/Label.d.ts +0 -2
  228. package/type_defs/components/forms/Label.d.ts.map +0 -1
  229. package/type_defs/components/forms/TaggedToggle.d.ts +0 -8
  230. package/type_defs/components/forms/TaggedToggle.d.ts.map +0 -1
  231. package/type_defs/components/forms/TaggedToggle.stories.d.ts +0 -12
  232. package/type_defs/components/forms/TaggedToggle.stories.d.ts.map +0 -1
  233. package/type_defs/components/forms/Toggle.d.ts +0 -12
  234. package/type_defs/components/forms/Toggle.d.ts.map +0 -1
  235. package/type_defs/components/forms/Toggle.stories.d.ts +0 -18
  236. package/type_defs/components/forms/Toggle.stories.d.ts.map +0 -1
  237. package/type_defs/components/forms/ValidatedFormProps.type.d.ts +0 -6
  238. package/type_defs/components/forms/ValidatedFormProps.type.d.ts.map +0 -1
  239. package/type_defs/components/forms/Validation.type.d.ts +0 -9
  240. package/type_defs/components/forms/Validation.type.d.ts.map +0 -1
  241. package/type_defs/components/forms/buttonMixins.d.ts +0 -23
  242. package/type_defs/components/forms/buttonMixins.d.ts.map +0 -1
  243. package/type_defs/components/forms/formField.types.d.ts +0 -23
  244. package/type_defs/components/forms/formField.types.d.ts.map +0 -1
  245. package/type_defs/components/forms/selectors/BooleanSelector.d.ts +0 -11
  246. package/type_defs/components/forms/selectors/BooleanSelector.d.ts.map +0 -1
  247. package/type_defs/components/forms/selectors/DatePickerSelector.d.ts +0 -19
  248. package/type_defs/components/forms/selectors/DatePickerSelector.d.ts.map +0 -1
  249. package/type_defs/components/forms/selectors/Dropdown/Item.d.ts +0 -19
  250. package/type_defs/components/forms/selectors/Dropdown/Item.d.ts.map +0 -1
  251. package/type_defs/components/forms/selectors/Dropdown.d.ts +0 -28
  252. package/type_defs/components/forms/selectors/Dropdown.d.ts.map +0 -1
  253. package/type_defs/components/forms/selectors/MonthYearSelector.d.ts +0 -9
  254. package/type_defs/components/forms/selectors/MonthYearSelector.d.ts.map +0 -1
  255. package/type_defs/components/forms/selectors/MultiSelector.d.ts +0 -9
  256. package/type_defs/components/forms/selectors/MultiSelector.d.ts.map +0 -1
  257. package/type_defs/components/forms/selectors/SearchableSelector.d.ts +0 -8
  258. package/type_defs/components/forms/selectors/SearchableSelector.d.ts.map +0 -1
  259. package/type_defs/components/forms/selectors/Selector.d.ts +0 -4
  260. package/type_defs/components/forms/selectors/Selector.d.ts.map +0 -1
  261. package/type_defs/components/forms/selectors/SelectorEmptyState.d.ts +0 -2
  262. package/type_defs/components/forms/selectors/SelectorEmptyState.d.ts.map +0 -1
  263. package/type_defs/components/forms/selectors/types.d.ts +0 -41
  264. package/type_defs/components/forms/selectors/types.d.ts.map +0 -1
  265. package/type_defs/components/forms/textfields/EmailTextField.d.ts +0 -4
  266. package/type_defs/components/forms/textfields/EmailTextField.d.ts.map +0 -1
  267. package/type_defs/components/forms/textfields/NumberTextField.d.ts +0 -4
  268. package/type_defs/components/forms/textfields/NumberTextField.d.ts.map +0 -1
  269. package/type_defs/components/forms/textfields/PasswordTextField.d.ts +0 -8
  270. package/type_defs/components/forms/textfields/PasswordTextField.d.ts.map +0 -1
  271. package/type_defs/components/forms/textfields/TextArea.d.ts +0 -9
  272. package/type_defs/components/forms/textfields/TextArea.d.ts.map +0 -1
  273. package/type_defs/components/forms/textfields/TextField.d.ts +0 -14
  274. package/type_defs/components/forms/textfields/TextField.d.ts.map +0 -1
  275. package/type_defs/components/forms/textfields/TextFieldWrapper.d.ts +0 -13
  276. package/type_defs/components/forms/textfields/TextFieldWrapper.d.ts.map +0 -1
  277. package/type_defs/components/forms/validationStates.d.ts +0 -7
  278. package/type_defs/components/forms/validationStates.d.ts.map +0 -1
  279. package/type_defs/components/layout/AppBar.d.ts +0 -14
  280. package/type_defs/components/layout/AppBar.d.ts.map +0 -1
  281. package/type_defs/components/layout/AppBarLayout.d.ts +0 -15
  282. package/type_defs/components/layout/AppBarLayout.d.ts.map +0 -1
  283. package/type_defs/components/layout/Carousel.d.ts +0 -13
  284. package/type_defs/components/layout/Carousel.d.ts.map +0 -1
  285. package/type_defs/components/layout/Container.d.ts +0 -4
  286. package/type_defs/components/layout/Container.d.ts.map +0 -1
  287. package/type_defs/components/layout/FlexBlock.d.ts +0 -19
  288. package/type_defs/components/layout/FlexBlock.d.ts.map +0 -1
  289. package/type_defs/components/layout/FlexBox.d.ts +0 -18
  290. package/type_defs/components/layout/FlexBox.d.ts.map +0 -1
  291. package/type_defs/components/layout/Grid.d.ts +0 -4
  292. package/type_defs/components/layout/Grid.d.ts.map +0 -1
  293. package/type_defs/components/layout/Line.d.ts +0 -6
  294. package/type_defs/components/layout/Line.d.ts.map +0 -1
  295. package/type_defs/components/layout/OpacityTransition.d.ts +0 -4
  296. package/type_defs/components/layout/OpacityTransition.d.ts.map +0 -1
  297. package/type_defs/components/layout/OverflowMenu.d.ts +0 -13
  298. package/type_defs/components/layout/OverflowMenu.d.ts.map +0 -1
  299. package/type_defs/components/layout/Section.d.ts +0 -6
  300. package/type_defs/components/layout/Section.d.ts.map +0 -1
  301. package/type_defs/components/layout/Sidebar.d.ts +0 -12
  302. package/type_defs/components/layout/Sidebar.d.ts.map +0 -1
  303. package/type_defs/components/layout/SidebarLayout.d.ts +0 -5
  304. package/type_defs/components/layout/SidebarLayout.d.ts.map +0 -1
  305. package/type_defs/components/layout/Tabs.d.ts +0 -3
  306. package/type_defs/components/layout/Tabs.d.ts.map +0 -1
  307. package/type_defs/components/loaders/AsyncLoadable.d.ts +0 -13
  308. package/type_defs/components/loaders/AsyncLoadable.d.ts.map +0 -1
  309. package/type_defs/components/loaders/Dots.d.ts +0 -9
  310. package/type_defs/components/loaders/Dots.d.ts.map +0 -1
  311. package/type_defs/components/loaders/Loadable.d.ts +0 -10
  312. package/type_defs/components/loaders/Loadable.d.ts.map +0 -1
  313. package/type_defs/components/loaders/Loader.d.ts +0 -15
  314. package/type_defs/components/loaders/Loader.d.ts.map +0 -1
  315. package/type_defs/components/loaders/TranslucentLoader.d.ts +0 -9
  316. package/type_defs/components/loaders/TranslucentLoader.d.ts.map +0 -1
  317. package/type_defs/components/mobx/Alert.d.ts +0 -4
  318. package/type_defs/components/mobx/Alert.d.ts.map +0 -1
  319. package/type_defs/components/mobx/Drawer.d.ts +0 -5
  320. package/type_defs/components/mobx/Drawer.d.ts.map +0 -1
  321. package/type_defs/components/mobx/ErrorBoundary.d.ts +0 -24
  322. package/type_defs/components/mobx/ErrorBoundary.d.ts.map +0 -1
  323. package/type_defs/components/mobx/Modal.d.ts +0 -4
  324. package/type_defs/components/mobx/Modal.d.ts.map +0 -1
  325. package/type_defs/components/navigation/Breadcrumbs.d.ts +0 -3
  326. package/type_defs/components/navigation/Breadcrumbs.d.ts.map +0 -1
  327. package/type_defs/components/navigation/ButtonLink.d.ts +0 -25
  328. package/type_defs/components/navigation/ButtonLink.d.ts.map +0 -1
  329. package/type_defs/components/navigation/InlineButtonLink.d.ts +0 -3
  330. package/type_defs/components/navigation/InlineButtonLink.d.ts.map +0 -1
  331. package/type_defs/components/notification/InfoPanel.d.ts +0 -18
  332. package/type_defs/components/notification/InfoPanel.d.ts.map +0 -1
  333. package/type_defs/components/notification/Notification.d.ts +0 -14
  334. package/type_defs/components/notification/Notification.d.ts.map +0 -1
  335. package/type_defs/components/tables/MobileTable/Row.d.ts +0 -14
  336. package/type_defs/components/tables/MobileTable/Row.d.ts.map +0 -1
  337. package/type_defs/components/tables/MobileTable.d.ts +0 -9
  338. package/type_defs/components/tables/MobileTable.d.ts.map +0 -1
  339. package/type_defs/components/tables/NiceTable.d.ts +0 -12
  340. package/type_defs/components/tables/NiceTable.d.ts.map +0 -1
  341. package/type_defs/components/tables/Row.d.ts +0 -19
  342. package/type_defs/components/tables/Row.d.ts.map +0 -1
  343. package/type_defs/components/tables/SimpleTable.d.ts +0 -9
  344. package/type_defs/components/tables/SimpleTable.d.ts.map +0 -1
  345. package/type_defs/components/tables/Table.d.ts +0 -73
  346. package/type_defs/components/tables/Table.d.ts.map +0 -1
  347. package/type_defs/components/tables/blocks/Header.d.ts +0 -17
  348. package/type_defs/components/tables/blocks/Header.d.ts.map +0 -1
  349. package/type_defs/components/tables/blocks/HelpText.d.ts +0 -5
  350. package/type_defs/components/tables/blocks/HelpText.d.ts.map +0 -1
  351. package/type_defs/components/tables/blocks/Pagination.d.ts +0 -8
  352. package/type_defs/components/tables/blocks/Pagination.d.ts.map +0 -1
  353. package/type_defs/components/tables/blocks/TableFilter.d.ts +0 -9
  354. package/type_defs/components/tables/blocks/TableFilter.d.ts.map +0 -1
  355. package/type_defs/components/tables/blocks/Title.d.ts +0 -7
  356. package/type_defs/components/tables/blocks/Title.d.ts.map +0 -1
  357. package/type_defs/components/tables/index.d.ts +0 -9
  358. package/type_defs/components/tables/index.d.ts.map +0 -1
  359. package/type_defs/components/tables/utils.d.ts +0 -2
  360. package/type_defs/components/tables/utils.d.ts.map +0 -1
  361. package/type_defs/components/tags/Chip.d.ts +0 -18
  362. package/type_defs/components/tags/Chip.d.ts.map +0 -1
  363. package/type_defs/components/tags/Tag.d.ts +0 -8
  364. package/type_defs/components/tags/Tag.d.ts.map +0 -1
  365. package/type_defs/components/text/Header.d.ts +0 -31
  366. package/type_defs/components/text/Header.d.ts.map +0 -1
  367. package/type_defs/components/text/Hint.d.ts +0 -10
  368. package/type_defs/components/text/Hint.d.ts.map +0 -1
  369. package/type_defs/components/text/Label.d.ts +0 -7
  370. package/type_defs/components/text/Label.d.ts.map +0 -1
  371. package/type_defs/components/text/Paragraph.d.ts +0 -37
  372. package/type_defs/components/text/Paragraph.d.ts.map +0 -1
  373. package/type_defs/components/text/Text.d.ts +0 -7
  374. package/type_defs/components/text/Text.d.ts.map +0 -1
  375. package/type_defs/components/tooltips/IconTooltip.d.ts +0 -10
  376. package/type_defs/components/tooltips/IconTooltip.d.ts.map +0 -1
  377. package/type_defs/components/tooltips/IconTooltip.stories.d.ts +0 -18
  378. package/type_defs/components/tooltips/IconTooltip.stories.d.ts.map +0 -1
  379. package/type_defs/components/tooltips/Tooltip.d.ts +0 -14
  380. package/type_defs/components/tooltips/Tooltip.d.ts.map +0 -1
  381. package/type_defs/hooks/useIsMounted.d.ts +0 -2
  382. package/type_defs/hooks/useIsMounted.d.ts.map +0 -1
  383. package/type_defs/hooks/useLoader.d.ts +0 -10
  384. package/type_defs/hooks/useLoader.d.ts.map +0 -1
  385. package/type_defs/hooks/useLoaderV2.d.ts +0 -15
  386. package/type_defs/hooks/useLoaderV2.d.ts.map +0 -1
  387. package/type_defs/index.d.ts +0 -2
  388. package/type_defs/index.d.ts.map +0 -1
  389. package/type_defs/stores/useStores.d.ts +0 -5
  390. package/type_defs/stores/useStores.d.ts.map +0 -1
  391. package/type_defs/styles/DeviceSizeWatcher.d.ts +0 -21
  392. package/type_defs/styles/DeviceSizeWatcher.d.ts.map +0 -1
  393. package/type_defs/styles/alignments.d.ts +0 -8
  394. package/type_defs/styles/alignments.d.ts.map +0 -1
  395. package/type_defs/styles/colors.d.ts +0 -35
  396. package/type_defs/styles/colors.d.ts.map +0 -1
  397. package/type_defs/styles/deviceSizes.d.ts +0 -9
  398. package/type_defs/styles/deviceSizes.d.ts.map +0 -1
  399. package/type_defs/styles/mediaQueries.d.ts +0 -21
  400. package/type_defs/styles/mediaQueries.d.ts.map +0 -1
  401. package/type_defs/styles/mixins.d.ts +0 -8
  402. package/type_defs/styles/mixins.d.ts.map +0 -1
  403. package/type_defs/styles/spacings.d.ts +0 -15
  404. package/type_defs/styles/spacings.d.ts.map +0 -1
  405. package/type_defs/styles/theme/Theme.type.d.ts +0 -79
  406. package/type_defs/styles/theme/Theme.type.d.ts.map +0 -1
  407. package/type_defs/styles/theme/base.d.ts +0 -3
  408. package/type_defs/styles/theme/base.d.ts.map +0 -1
  409. package/type_defs/styles/theme/dark.d.ts +0 -3
  410. package/type_defs/styles/theme/dark.d.ts.map +0 -1
  411. package/type_defs/styles/theme/light.d.ts +0 -3
  412. package/type_defs/styles/theme/light.d.ts.map +0 -1
  413. package/type_defs/styles/theme/light2.d.ts +0 -3
  414. package/type_defs/styles/theme/light2.d.ts.map +0 -1
  415. package/type_defs/styles/theme/useTheme.d.ts +0 -3
  416. package/type_defs/styles/theme/useTheme.d.ts.map +0 -1
  417. package/type_defs/styles/types.d.ts +0 -17
  418. package/type_defs/styles/types.d.ts.map +0 -1
  419. package/type_defs/styles/typography.d.ts +0 -56
  420. package/type_defs/styles/typography.d.ts.map +0 -1
  421. package/type_defs/utils/NavBarScrollWatcher.d.ts +0 -7
  422. package/type_defs/utils/NavBarScrollWatcher.d.ts.map +0 -1
  423. package/type_defs/utils/arrayHelpers.d.ts +0 -23
  424. package/type_defs/utils/arrayHelpers.d.ts.map +0 -1
  425. package/type_defs/utils/dateTime/DateRange.type.d.ts +0 -6
  426. package/type_defs/utils/dateTime/DateRange.type.d.ts.map +0 -1
  427. package/type_defs/utils/dateTime/calendar.d.ts +0 -18
  428. package/type_defs/utils/dateTime/calendar.d.ts.map +0 -1
  429. package/type_defs/utils/dateTimeHelpers.d.ts +0 -23
  430. package/type_defs/utils/dateTimeHelpers.d.ts.map +0 -1
  431. package/type_defs/utils/function.types.d.ts +0 -2
  432. package/type_defs/utils/function.types.d.ts.map +0 -1
  433. package/type_defs/utils/functionHelpers.d.ts +0 -7
  434. package/type_defs/utils/functionHelpers.d.ts.map +0 -1
  435. package/type_defs/utils/idGenerator.d.ts +0 -3
  436. package/type_defs/utils/idGenerator.d.ts.map +0 -1
  437. package/type_defs/utils/logging/Logger.d.ts +0 -10
  438. package/type_defs/utils/logging/Logger.d.ts.map +0 -1
  439. package/type_defs/utils/logging/Logger.type.d.ts +0 -7
  440. package/type_defs/utils/logging/Logger.type.d.ts.map +0 -1
  441. package/type_defs/utils/logging/loggable.d.ts +0 -7
  442. package/type_defs/utils/logging/loggable.d.ts.map +0 -1
  443. package/type_defs/utils/logging/with_module_logging.d.ts +0 -3
  444. package/type_defs/utils/logging/with_module_logging.d.ts.map +0 -1
  445. package/type_defs/utils/numberHelpers.d.ts +0 -3
  446. package/type_defs/utils/numberHelpers.d.ts.map +0 -1
  447. package/type_defs/utils/typeCheckers.d.ts +0 -5
  448. package/type_defs/utils/typeCheckers.d.ts.map +0 -1
  449. package/type_defs/utils/validateFields.d.ts +0 -13
  450. package/type_defs/utils/validateFields.d.ts.map +0 -1
  451. package/type_defs/zendeskGardenCss.d.ts +0 -2
  452. package/type_defs/zendeskGardenCss.d.ts.map +0 -1
@@ -1,410 +0,0 @@
1
- import {
2
- AddItem,
3
- Autocomplete as ZenAutocomplete,
4
- Dropdown as ZenDropdown,
5
- Field,
6
- HeaderItem,
7
- Hint,
8
- Item as ZItem,
9
- Label as ZenLabel,
10
- Menu,
11
- Message,
12
- Multiselect as ZenMultiSelect,
13
- NextItem,
14
- PreviousItem,
15
- Select as ZenSelect,
16
- Trigger,
17
- } from "@zendeskgarden/react-dropdowns"
18
- import { IItemProps } from "@zendeskgarden/react-dropdowns/dist/typings/Menu/Items/Item"
19
- import { VALIDATION } from "@zendeskgarden/react-dropdowns/dist/typings/styled/field/StyledMessage"
20
- import { buttonLikeHoverable } from "components/forms/buttonMixins"
21
- import {
22
- getItemType,
23
- Item
24
- } from "components/forms/selectors/Dropdown/Item"
25
- import {
26
- MultiSelectorProps,
27
- SelectorItemKey,
28
- SelectorOption,
29
- SelectorProps,
30
- StateChange,
31
- } from "components/forms/selectors/types"
32
- import { VALIDATION_STATES } from "components/forms/validationStates"
33
- import { Loadable } from "components/loaders/Loadable"
34
- import { StateChangeOptions } from "downshift"
35
- import { debounce } from "lodash"
36
- import * as React from "react"
37
- import {
38
- ComponentType,
39
- FC, PropsWithChildren,
40
- ReactNode,
41
- useCallback,
42
- useEffect,
43
- useRef,
44
- useState
45
- } from "react"
46
- import styled, { css, FlattenSimpleInterpolation } from "styled-components"
47
- import { Theme } from "styles/theme/Theme.type"
48
- import { FONT_SIZES } from "styles/typography"
49
- import {
50
- isEmpty,
51
- isNotEmpty
52
- } from "utils/arrayHelpers"
53
- import { DO_NOTHING } from "utils/functionHelpers"
54
- import { Logger } from "utils/logging/Logger"
55
- import {
56
- isArray,
57
- isNumber,
58
- isString
59
- } from "utils/typeCheckers"
60
-
61
- export type MenuPlacement =
62
- "start"
63
- | "auto"
64
- | "top"
65
- | "top-start"
66
- | "top-end"
67
- | "bottom"
68
- | "bottom-start"
69
- | "bottom-end"
70
- | "end"
71
- | "end-top"
72
- | "end-bottom"
73
- | "start-top"
74
- | "start-bottom"
75
-
76
- type OptionalSelectorProps = {
77
- keyField?: string,
78
- valueField?: string,
79
- }
80
-
81
- type CommonProps = {
82
- async?: boolean,
83
- isOpen?:boolean,
84
- maxMenuHeight?: string,
85
- menuCSS?: string,
86
- menuItemComponent?: ComponentType<any>,
87
- placement?: MenuPlacement,
88
- returnItemOnChange?: boolean,
89
- shouldFilterOptions?: boolean,
90
- trigger?: ReactNode,
91
- useRawOptions?: boolean,
92
- }
93
-
94
- type SelectorsProps = (CommonProps & SelectorProps)
95
- | (CommonProps & MultiSelectorProps)
96
-
97
- type Props =
98
- Omit<SelectorsProps, "keyField" | "valueField">
99
- & OptionalSelectorProps
100
-
101
- const menuStyles = (extraStyles: string = "") => css`
102
- && { width: 100%; }
103
-
104
- &&, && * {
105
- font-size: inherit;
106
- }
107
-
108
- ${extraStyles}
109
- `
110
-
111
- const CLEAR_OPTION = {
112
- label: "-- None --",
113
- value: "_cleared",
114
- isClearingItem: true,
115
- }
116
-
117
- const logger = new Logger("Dropdown")
118
-
119
- export let Dropdown: FC<PropsWithChildren<Props>> = (props) => {
120
- const [state, setState] = useState({ isOpen: false })
121
- const controlledState = { ...state, ...props }
122
- const [filteringOptions, setFilteringOptionsTo] = useState<boolean>(false)
123
- const [searchFilter, setSearchFilter] = useState<string>("")
124
-
125
- const [
126
- filteredOptions, setFilteredOptions,
127
- ] = useState<SelectorOption[]>(props.options)
128
-
129
- const {
130
- async,
131
- children,
132
- className,
133
- clearable,
134
- shouldFilterOptions,
135
- hint,
136
- keyField,
137
- label,
138
- maxMenuHeight,
139
- menuCSS,
140
- menuItemComponent,
141
- options,
142
- placement,
143
- returnItemOnChange,
144
- trigger,
145
- useRawOptions,
146
- validation,
147
- valueField,
148
- onChange,
149
- onStateChange,
150
- } = props
151
-
152
- const { selectedKey } = props as SelectorProps
153
- const { selectedKeys } = props as MultiSelectorProps
154
-
155
- const filterFunc = useCallback((value: string) => {
156
- const searchText = value.trim().toLowerCase()
157
- let matchingOptions = options
158
-
159
- if (searchText !== "") {
160
- matchingOptions = options.filter(option => {
161
- return (
162
- option[valueField!]
163
- .trim()
164
- .toLowerCase()
165
- .indexOf(value.trim().toLowerCase()) !== -1
166
- )
167
- })
168
- }
169
-
170
- setFilteredOptions(matchingOptions)
171
- setFilteringOptionsTo(false)
172
- }, [options, valueField])
173
-
174
- const filterMatchingOptionsRef = useRef(debounce(filterFunc, 300))
175
-
176
- useEffect(() => {
177
- if (!shouldFilterOptions) return
178
- filterMatchingOptionsRef.current = debounce(filterFunc, 300)
179
- setFilteredOptions(options)
180
- setSearchFilter("")
181
- }, [filterFunc, shouldFilterOptions, options])
182
-
183
- useEffect(() => {
184
- if (!shouldFilterOptions) return
185
-
186
- setFilteringOptionsTo(true)
187
- filterMatchingOptionsRef.current(searchFilter)
188
- }, [searchFilter, shouldFilterOptions])
189
-
190
- let { message } = props
191
- const optionNodes = useRawOptions ? options as JSX.Element[] : createOptions(
192
- shouldFilterOptions ? filteredOptions : options,
193
- keyField!,
194
- valueField!,
195
- menuItemComponent,
196
- filteringOptions,
197
- clearable,
198
- )
199
- message = validation?.message ?? message
200
- const messageNode = message
201
- ?
202
- <Message validation={validation!.validation as VALIDATION}>
203
- {message}
204
- </Message>
205
- : null
206
- const hintNode = hint ? <Hint>{hint}</Hint> : null
207
- const labelNode = label ? <Label>{label}</Label> : null
208
-
209
- const handleChange = (item: SelectorOption | SelectorOption[]) => {
210
- logger.writeInfo("selection made", item)
211
- if ((item as SelectorOption).isClearingItem) {
212
- onChange!(null)
213
- return
214
- }
215
-
216
- if (isArray(item)) {
217
- handleMultiSelectChange(item as SelectorOption[])
218
- return
219
- }
220
-
221
- if (useRawOptions || returnItemOnChange) {
222
- // @ts-ignore
223
- onChange!(item)
224
- return
225
- }
226
-
227
- onChange!((item as SelectorOption)[keyField!])
228
- }
229
-
230
- const handleMultiSelectChange = (items: Array<SelectorItemKey | SelectorOption>) => {
231
- if (useRawOptions || returnItemOnChange) {
232
- const rawSet = new Set(items)
233
- // @ts-ignore
234
- onChange!([...rawSet])
235
- return
236
- }
237
- // When using the Dropdown with a MultiSelector, the dropdown
238
- // spits back the item keys its given and will append the SelectorOption
239
- // item to the end of the list. So we need to transform the last item
240
- // into the SelectorItemKey
241
- const changes = items.map((i: SelectorItemKey | SelectorOption) => {
242
- if (isNumber(i) || isString(i)) return i as SelectorItemKey
243
- return (i as SelectorOption)[keyField!] as SelectorItemKey
244
- })
245
-
246
- // @ts-ignore
247
- onChange!([...new Set(changes)])
248
- }
249
-
250
- const handleStateChange = (changes: StateChange) => {
251
- logger.writeInfo("state change", changes)
252
- const item = changes.selectedItem || {}
253
-
254
- onStateChange!({
255
- ...changes,
256
- selectedItem: item.isClearingItem ? null : item,
257
- })
258
-
259
- if (changes.hasOwnProperty("isOpen")) {
260
- if (useRawOptions) {
261
- setState({ ...state, ...changes })
262
- return
263
- }
264
-
265
- setState({
266
- ...state,
267
- isOpen: item.isNextItem || item.isBackItem || changes.isOpen || false,
268
- })
269
- return
270
- }
271
-
272
- if (changes.hasOwnProperty("inputValue")) {
273
- setSearchFilter(changes.inputValue || "")
274
- }
275
- }
276
-
277
- const optionsLoaded = optionNodes && isNotEmpty(optionNodes)
278
-
279
- return (
280
- // @ts-ignore
281
- <ZenDropdown
282
- selectedItem={selectedKey}
283
- selectedItems={selectedKeys
284
- ? [...new Set(selectedKeys)]
285
- : undefined}
286
- isOpen={controlledState.isOpen}
287
- onSelect={handleChange}
288
- onStateChange={handleStateChange}
289
- downshiftProps={{ itemToString: (item: any) => item }}
290
- >
291
- {
292
- trigger
293
- ? <Trigger>{trigger}</Trigger>
294
- : <Field className={className}>
295
- {labelNode}
296
- {hintNode}
297
- {children}
298
- {messageNode}
299
- </Field>
300
- }
301
-
302
- {controlledState.isOpen
303
- ? <Menu css={menuStyles(menuCSS)}
304
- maxHeight={maxMenuHeight}
305
- placement={placement}
306
- // popperModifiers={getPopperModifiers(fluid)}
307
- >
308
- {
309
- async
310
- ? <Loadable css={`flex-direction: column; min-height: 50px`}
311
- showSpinner={controlledState.isOpen && !optionsLoaded}>
312
- {optionNodes}
313
- </Loadable>
314
- : optionNodes
315
- }
316
- </Menu>
317
- : null}
318
-
319
- </ZenDropdown>
320
- )
321
- }
322
-
323
- // const getPopperModifiers = (fluid) => {
324
- // if (!fluid) return null
325
- // return {
326
- // computeStyle: {
327
- // fn: (data) => {
328
- // const { width, left, right } = data.offsets.reference
329
- //
330
- // data.styles.width = width
331
- // data.offsets.popper.width = width
332
- // data.offsets.popper.left = left
333
- // data.offsets.popper.right = right
334
- //
335
- // return data
336
- // },
337
- // },
338
- // }
339
- // }
340
-
341
- // @ts-ignore
342
- Dropdown = styled(Dropdown)`
343
- &&, && * {
344
- font-size: inherit;
345
- }
346
-
347
- && {
348
- ${({ fluid }) => fluid ? "width: 100%;" : ""}
349
- ${Message as any} {
350
- font-size: ${FONT_SIZES.XS};
351
- }
352
- }
353
- `
354
-
355
- Dropdown.defaultProps = {
356
- async: false,
357
- useRawOptions: false,
358
- emptyState: "Select One",
359
- returnItemOnChange: false,
360
- validation: { validation: VALIDATION_STATES.NONE },
361
- // maxMenuHeight: "20rem",
362
- onChange: DO_NOTHING,
363
- onStateChange: DO_NOTHING,
364
- }
365
-
366
- export const Autocomplete = ZenAutocomplete as ComponentType<any>
367
- export const Select = ZenSelect as ComponentType<any>
368
- export const MultiSelect = styled(ZenMultiSelect as ComponentType<any>)`
369
- && {
370
- div { max-width: 100%; }
371
- }
372
- `
373
-
374
- const Label = styled(ZenLabel)`
375
- && { color: ${(p) => p.theme.styles.textColorPrimary}; }
376
- `
377
-
378
- const createOptions = (
379
- options: SelectorOption[],
380
- key: string,
381
- value: string,
382
- menuItemComponent: ComponentType<any> | undefined,
383
- isFilteringOptions: boolean,
384
- isClearable: boolean = false,
385
- ) => {
386
- if (isFilteringOptions) return [<Item disabled>Loading items...</Item>]
387
- if (isEmpty(options)) return [<Item disabled>No matches found</Item>]
388
-
389
- const nodes = options.map((o) => {
390
- const ItemType = getItemType(o)
391
- const Component = menuItemComponent
392
-
393
- return <ItemType key={o[key]}
394
- value={o}
395
- disabled={false}
396
- danger={o.danger}>
397
- {Component ? <Component {...o} /> : o[value]}
398
- </ItemType>
399
- })
400
-
401
- if (isClearable) {
402
- nodes.unshift(
403
- <Item key={CLEAR_OPTION.value} value={CLEAR_OPTION}>
404
- {CLEAR_OPTION.label}
405
- </Item>,
406
- )
407
- }
408
-
409
- return nodes
410
- }
@@ -1,54 +0,0 @@
1
- // --- UNFINISHED ----
2
-
3
- import { TextFieldProps } from "components/forms/formField.types"
4
- import { Dropdown, Select } from "components/forms/selectors/Dropdown"
5
- import { Moment } from "moment"
6
- import moment from "moment"
7
- import * as React from "react"
8
- import { useState } from "react"
9
-
10
- type Props = {
11
- minimumDate?: Moment,
12
- } & TextFieldProps<string, string>
13
-
14
- type State = {
15
- isOpen: boolean
16
- }
17
-
18
- export const MonthYearSelector = (props: Props) => {
19
- const [state, setState] = useState<State>({ isOpen: false })
20
-
21
- const {
22
- value,
23
- emptyState,
24
- disabled,
25
- onChange,
26
- }: Props = props
27
-
28
- const setDropdownState = ({ isOpen }: State) => {
29
- if (disabled || isOpen == null) return
30
- setState({ isOpen })
31
- }
32
-
33
- // eslint-disable-next-line no-unused-vars
34
- const handleCalendarChange = (d: Date) => {
35
- // @ts-ignore
36
- onChange(moment(d))
37
- closeCalendar()
38
- }
39
-
40
- const closeCalendar = () => { setState({ isOpen: false }) }
41
- return <Dropdown {...props}
42
- // @ts-ignore
43
- onStateChange={setDropdownState}
44
- isOpen={state.isOpen}
45
- useRawOptions
46
- options={[]}
47
- menuCSS={`width: auto !important;`}>
48
- {/*@ts-ignore*/}
49
- <Select validation={props.validation.validation}
50
- disabled={disabled}>
51
- {value ? value : emptyState}
52
- </Select>
53
- </Dropdown>
54
- }
@@ -1,58 +0,0 @@
1
- import { Dropdown, MultiSelect } from "components/forms/selectors/Dropdown"
2
- import {
3
- MultiSelectorProps,
4
- SelectorItemKey,
5
- SelectorOption,
6
- } from "components/forms/selectors/types"
7
- import { VALIDATION_STATES } from "components/forms/validationStates"
8
- import {
9
- Close,
10
- Tag
11
- } from "components/tags/Tag"
12
- import React from "react"
13
-
14
- type Props = {
15
- maxItems: 2,
16
- selectedKeys: Array<SelectorItemKey>,
17
- } & MultiSelectorProps
18
-
19
- export let MultiSelector = ({ maxItems, ...props }: Props) => {
20
- let {
21
- keyField,
22
- options,
23
- optionsKeyMap,
24
- valueField,
25
- validation,
26
- } = props
27
-
28
- if (optionsKeyMap == null && options != null) {
29
- optionsKeyMap = options.reduce(
30
- (m: { [key: string]: SelectorOption }, o: SelectorOption) => {
31
- m[o[keyField]] = o
32
- return m
33
- }, {},
34
- )
35
- }
36
-
37
- return (
38
- <Dropdown {...props} shouldFilterOptions>
39
- <MultiSelect
40
- maxItems={maxItems}
41
- validation={validation?.validation}
42
- renderItem={({ value, removeValue }: any) => (
43
- <Tag size="large">
44
- <span>{optionsKeyMap?.[value]?.[valueField]}</span>
45
- <Close onClick={() => removeValue()} />
46
- </Tag>
47
- )}
48
- />
49
- </Dropdown>
50
- )
51
- }
52
-
53
- // @ts-ignore
54
- MultiSelector.defaultProps = {
55
- invalidOnNoSelection: true,
56
- validation: { validation: VALIDATION_STATES.NONE },
57
- }
58
-
@@ -1,120 +0,0 @@
1
- import { Autocomplete, Dropdown } from "components/forms/selectors/Dropdown"
2
- import {
3
- SelectorOption,
4
- SelectorProps,
5
- StateChange,
6
- } from "components/forms/selectors/types"
7
- import React, {
8
- FC,
9
- PropsWithChildren,
10
- useEffect,
11
- useRef,
12
- useState
13
- } from "react"
14
- import styled from "styled-components"
15
- import {
16
- COLORS,
17
- veryLight
18
- } from "styles/colors"
19
- import { FONT_WEIGHTS } from "styles/typography"
20
- import { DO_NOTHING } from "utils/functionHelpers"
21
- import { isFunction } from "utils/typeCheckers"
22
-
23
- /* optionsKeyMap prop is not needed here. SearchableSelector uses Zendesk's Autocomplete
24
- * component which generates its own display value from options prop, unlike
25
- * our Selector component, which relies on you passing in the display value as a
26
- * child.
27
- *
28
- * SearchableSelector will take passed in options props and create required options
29
- * prop for Autocomplete based on passed in keyField and valueField.
30
- * */
31
- type Props = PropsWithChildren<{
32
- onSearchTextChange?: (s: string) => void,
33
- }> & SelectorProps
34
-
35
- /*
36
- * If we need this full width, maybe add a Block wrapper here
37
- * */
38
- export let SearchableSelector: FC<Props> = ({ children, ...props }) => {
39
- const {
40
- emptyState,
41
- keyField,
42
- options,
43
- selectedKey,
44
- valueField,
45
- } = props
46
- let { optionsKeyMap } = props
47
-
48
- const [searchText, setSearchText] = useState("")
49
- const [matchingOptions, setMatchingOptions] = useState(options)
50
-
51
- const filterOptions = useRef((value: any) => {
52
- const matchingOptions = options.filter(option => {
53
- return (
54
- option[valueField]
55
- .trim()
56
- .toLowerCase()
57
- .indexOf(String(value).trim().toLowerCase()) !== -1
58
- )
59
- })
60
-
61
- setMatchingOptions(matchingOptions)
62
- })
63
-
64
- useEffect(() => {
65
- filterOptions.current(searchText)
66
- }, [searchText])
67
-
68
- const handleStateChange = (state: StateChange) => {
69
- if (state.hasOwnProperty("inputValue")) {
70
- setSearchText(state.inputValue!)
71
- }
72
- }
73
-
74
- if (optionsKeyMap == null && options != null) {
75
- optionsKeyMap = options.reduce(
76
- (m: { [key: string]: SelectorOption }, o: SelectorOption) => {
77
- m[o[keyField]] = o
78
- return m
79
- }, {},
80
- )
81
- }
82
-
83
- if (!optionsKeyMap) return null
84
-
85
- return (
86
- <Dropdown {...props}
87
- onStateChange={handleStateChange}
88
- options={matchingOptions}>
89
- <Autocomplete>
90
- {
91
- !!selectedKey
92
- ? isFunction(children)
93
- /*@ts-ignore*/
94
- ? (children as Function)(optionsKeyMap[selectedKey])
95
- : optionsKeyMap[selectedKey][valueField]
96
- : emptyState
97
- }
98
- </Autocomplete>
99
- </Dropdown>
100
- )
101
- }
102
-
103
- SearchableSelector.defaultProps = {
104
- onSearchTextChange: DO_NOTHING,
105
- }
106
-
107
- SearchableSelector = styled(SearchableSelector)`
108
- font-weight: ${({ flat }: Props) => flat ? FONT_WEIGHTS.BOLD : "inherit"};
109
-
110
- &&& * {
111
- ${({ flat }: Props) => flat ? "border: none;" : ""}
112
- cursor: ${({ flat }: Props) => flat ? "pointer !important" : "inherit"};
113
- }
114
-
115
- :hover > div {
116
- ${({ flat }: Props) => flat
117
- ? `background: ${veryLight(COLORS.GREY)};`
118
- : ""};
119
- }
120
- `
@@ -1,55 +0,0 @@
1
- import { Dropdown, Select } from "components/forms/selectors/Dropdown"
2
- import { SelectorEmptyState } from "components/forms/selectors/SelectorEmptyState"
3
- import {
4
- SelectorOption,
5
- SelectorProps,
6
- } from "components/forms/selectors/types"
7
- import { VALIDATION_STATES } from "components/forms/validationStates"
8
- import React from "react"
9
-
10
- export let Selector = ({ disabled, ...props }: SelectorProps) => {
11
- let {
12
- keyField,
13
- options,
14
- optionsKeyMap,
15
- emptyState,
16
- selectedKey,
17
- small,
18
- valueField,
19
- validation,
20
- } = props
21
-
22
- if (optionsKeyMap == null && options != null) {
23
- optionsKeyMap = options.reduce(
24
- (m: { [key: string]: SelectorOption }, o: SelectorOption) => {
25
- m[o[keyField]] = o
26
- return m
27
- }, {},
28
- )
29
- }
30
-
31
- // TODO validation
32
- // const getValidation = () => (
33
- // (invalidOnNoSelection && !selectedKey) ?
34
- // VALIDATION_RESULTS.ERROR : validation
35
- // )
36
-
37
- return (
38
- <Dropdown {...props}>
39
- <Select small={small}
40
- disabled={disabled}
41
- validation={validation?.validation}>
42
- {selectedKey && optionsKeyMap?.hasOwnProperty(selectedKey)
43
- ? optionsKeyMap[selectedKey][valueField]
44
- : <SelectorEmptyState>{emptyState}</SelectorEmptyState>}
45
- </Select>
46
- </Dropdown>
47
- )
48
- }
49
-
50
- // @ts-ignore
51
- Selector.defaultProps = {
52
- invalidOnNoSelection: true,
53
- validation: { validation: VALIDATION_STATES.NONE },
54
- optionNodes: [],
55
- }
@@ -1,5 +0,0 @@
1
- import styled from "styled-components"
2
-
3
- export const SelectorEmptyState = styled.span`
4
- color: ${p => p.theme.styles.textColorSecondary};
5
- `