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

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 (699) hide show
  1. package/.node-version +1 -0
  2. package/.storybook/ThemeProvider.tsx +15 -0
  3. package/.storybook/main.js +13 -0
  4. package/.storybook/preview.js +20 -0
  5. package/dist/alert.js +34148 -0
  6. package/dist/alert.js.map +1 -0
  7. package/dist/forms.js +101816 -0
  8. package/dist/forms.js.map +1 -0
  9. package/dist/types/components/Alert.d.ts +24 -0
  10. package/dist/types/components/Alert.d.ts.map +1 -0
  11. package/dist/types/components/Drawer.d.ts +18 -0
  12. package/dist/types/components/Drawer.d.ts.map +1 -0
  13. package/dist/types/components/Icon.d.ts +15 -0
  14. package/dist/types/components/Icon.d.ts.map +1 -0
  15. package/dist/types/components/Modal.d.ts +31 -0
  16. package/dist/types/components/Modal.d.ts.map +1 -0
  17. package/dist/types/components/StyledComponentProps.type.d.ts +4 -0
  18. package/dist/types/components/StyledComponentProps.type.d.ts.map +1 -0
  19. package/dist/types/components/StyledProps.type.d.ts +4 -0
  20. package/dist/types/components/StyledProps.type.d.ts.map +1 -0
  21. package/dist/types/components/calendars/Legendable.type.d.ts +5 -0
  22. package/dist/types/components/calendars/Legendable.type.d.ts.map +1 -0
  23. package/dist/types/components/calendars/TinyCalendar.d.ts +25 -0
  24. package/dist/types/components/calendars/TinyCalendar.d.ts.map +1 -0
  25. package/dist/types/components/calendars/TinyMonthYearCalendar.d.ts +11 -0
  26. package/dist/types/components/calendars/TinyMonthYearCalendar.d.ts.map +1 -0
  27. package/dist/types/components/calendars/blocks/Legend.d.ts +12 -0
  28. package/dist/types/components/calendars/blocks/Legend.d.ts.map +1 -0
  29. package/dist/types/components/calendars/blocks/MonthPicker.d.ts +8 -0
  30. package/dist/types/components/calendars/blocks/MonthPicker.d.ts.map +1 -0
  31. package/dist/types/components/calendars/blocks/MonthYearPicker.d.ts +16 -0
  32. package/dist/types/components/calendars/blocks/MonthYearPicker.d.ts.map +1 -0
  33. package/dist/types/components/calendars/blocks/YearPicker.d.ts +10 -0
  34. package/dist/types/components/calendars/blocks/YearPicker.d.ts.map +1 -0
  35. package/dist/types/components/forms/Button.d.ts +41 -0
  36. package/dist/types/components/forms/Button.d.ts.map +1 -0
  37. package/dist/types/components/forms/Checkbox.d.ts +10 -0
  38. package/dist/types/components/forms/Checkbox.d.ts.map +1 -0
  39. package/dist/types/components/forms/CycleButton.d.ts +14 -0
  40. package/dist/types/components/forms/CycleButton.d.ts.map +1 -0
  41. package/dist/types/components/forms/CycleButton.stories.d.ts +16 -0
  42. package/dist/types/components/forms/CycleButton.stories.d.ts.map +1 -0
  43. package/dist/types/components/forms/Form.d.ts +9 -0
  44. package/dist/types/components/forms/Form.d.ts.map +1 -0
  45. package/dist/types/components/forms/Hint.d.ts +2 -0
  46. package/dist/types/components/forms/Hint.d.ts.map +1 -0
  47. package/dist/types/components/forms/IconButton.d.ts +6 -0
  48. package/dist/types/components/forms/IconButton.d.ts.map +1 -0
  49. package/dist/types/components/forms/Label.d.ts +2 -0
  50. package/dist/types/components/forms/Label.d.ts.map +1 -0
  51. package/dist/types/components/forms/TaggedToggle.d.ts +8 -0
  52. package/dist/types/components/forms/TaggedToggle.d.ts.map +1 -0
  53. package/dist/types/components/forms/TaggedToggle.stories.d.ts +12 -0
  54. package/dist/types/components/forms/TaggedToggle.stories.d.ts.map +1 -0
  55. package/dist/types/components/forms/Toggle.d.ts +12 -0
  56. package/dist/types/components/forms/Toggle.d.ts.map +1 -0
  57. package/dist/types/components/forms/Toggle.stories.d.ts +18 -0
  58. package/dist/types/components/forms/Toggle.stories.d.ts.map +1 -0
  59. package/dist/types/components/forms/ValidatedFormProps.type.d.ts +6 -0
  60. package/dist/types/components/forms/ValidatedFormProps.type.d.ts.map +1 -0
  61. package/dist/types/components/forms/Validation.type.d.ts +9 -0
  62. package/dist/types/components/forms/Validation.type.d.ts.map +1 -0
  63. package/dist/types/components/forms/buttonMixins.d.ts +23 -0
  64. package/dist/types/components/forms/buttonMixins.d.ts.map +1 -0
  65. package/dist/types/components/forms/formField.types.d.ts +23 -0
  66. package/dist/types/components/forms/formField.types.d.ts.map +1 -0
  67. package/dist/types/components/forms/selectors/BooleanSelector.d.ts +11 -0
  68. package/dist/types/components/forms/selectors/BooleanSelector.d.ts.map +1 -0
  69. package/dist/types/components/forms/selectors/DatePickerSelector.d.ts +19 -0
  70. package/dist/types/components/forms/selectors/DatePickerSelector.d.ts.map +1 -0
  71. package/dist/types/components/forms/selectors/Dropdown/Item.d.ts +19 -0
  72. package/dist/types/components/forms/selectors/Dropdown/Item.d.ts.map +1 -0
  73. package/dist/types/components/forms/selectors/Dropdown.d.ts +28 -0
  74. package/dist/types/components/forms/selectors/Dropdown.d.ts.map +1 -0
  75. package/dist/types/components/forms/selectors/MonthYearSelector.d.ts +9 -0
  76. package/dist/types/components/forms/selectors/MonthYearSelector.d.ts.map +1 -0
  77. package/dist/types/components/forms/selectors/MultiSelector.d.ts +9 -0
  78. package/dist/types/components/forms/selectors/MultiSelector.d.ts.map +1 -0
  79. package/dist/types/components/forms/selectors/SearchableSelector.d.ts +8 -0
  80. package/dist/types/components/forms/selectors/SearchableSelector.d.ts.map +1 -0
  81. package/dist/types/components/forms/selectors/Selector.d.ts +4 -0
  82. package/dist/types/components/forms/selectors/Selector.d.ts.map +1 -0
  83. package/dist/types/components/forms/selectors/SelectorEmptyState.d.ts +2 -0
  84. package/dist/types/components/forms/selectors/SelectorEmptyState.d.ts.map +1 -0
  85. package/dist/types/components/forms/selectors/types.d.ts +41 -0
  86. package/dist/types/components/forms/selectors/types.d.ts.map +1 -0
  87. package/dist/types/components/forms/textfields/EmailTextField.d.ts +4 -0
  88. package/dist/types/components/forms/textfields/EmailTextField.d.ts.map +1 -0
  89. package/dist/types/components/forms/textfields/NumberTextField.d.ts +4 -0
  90. package/dist/types/components/forms/textfields/NumberTextField.d.ts.map +1 -0
  91. package/dist/types/components/forms/textfields/PasswordTextField.d.ts +8 -0
  92. package/dist/types/components/forms/textfields/PasswordTextField.d.ts.map +1 -0
  93. package/dist/types/components/forms/textfields/TextArea.d.ts +9 -0
  94. package/dist/types/components/forms/textfields/TextArea.d.ts.map +1 -0
  95. package/dist/types/components/forms/textfields/TextField.d.ts +14 -0
  96. package/dist/types/components/forms/textfields/TextField.d.ts.map +1 -0
  97. package/dist/types/components/forms/textfields/TextFieldWrapper.d.ts +13 -0
  98. package/dist/types/components/forms/textfields/TextFieldWrapper.d.ts.map +1 -0
  99. package/dist/types/components/forms/validationStates.d.ts +7 -0
  100. package/dist/types/components/forms/validationStates.d.ts.map +1 -0
  101. package/dist/types/components/layout/AppBar.d.ts +14 -0
  102. package/dist/types/components/layout/AppBar.d.ts.map +1 -0
  103. package/dist/types/components/layout/AppBarLayout.d.ts +15 -0
  104. package/dist/types/components/layout/AppBarLayout.d.ts.map +1 -0
  105. package/dist/types/components/layout/Carousel.d.ts +13 -0
  106. package/dist/types/components/layout/Carousel.d.ts.map +1 -0
  107. package/dist/types/components/layout/Container.d.ts +4 -0
  108. package/dist/types/components/layout/Container.d.ts.map +1 -0
  109. package/dist/types/components/layout/FlexBlock.d.ts +19 -0
  110. package/dist/types/components/layout/FlexBlock.d.ts.map +1 -0
  111. package/dist/types/components/layout/FlexBox.d.ts +18 -0
  112. package/dist/types/components/layout/FlexBox.d.ts.map +1 -0
  113. package/dist/types/components/layout/Grid.d.ts +4 -0
  114. package/dist/types/components/layout/Grid.d.ts.map +1 -0
  115. package/dist/types/components/layout/Line.d.ts +6 -0
  116. package/dist/types/components/layout/Line.d.ts.map +1 -0
  117. package/dist/types/components/layout/OpacityTransition.d.ts +4 -0
  118. package/dist/types/components/layout/OpacityTransition.d.ts.map +1 -0
  119. package/dist/types/components/layout/OverflowMenu.d.ts +13 -0
  120. package/dist/types/components/layout/OverflowMenu.d.ts.map +1 -0
  121. package/dist/types/components/layout/Section.d.ts +6 -0
  122. package/dist/types/components/layout/Section.d.ts.map +1 -0
  123. package/dist/types/components/layout/Sidebar.d.ts +12 -0
  124. package/dist/types/components/layout/Sidebar.d.ts.map +1 -0
  125. package/dist/types/components/layout/SidebarLayout.d.ts +5 -0
  126. package/dist/types/components/layout/SidebarLayout.d.ts.map +1 -0
  127. package/dist/types/components/layout/Tabs.d.ts +3 -0
  128. package/dist/types/components/layout/Tabs.d.ts.map +1 -0
  129. package/dist/types/components/loaders/AsyncLoadable.d.ts +13 -0
  130. package/dist/types/components/loaders/AsyncLoadable.d.ts.map +1 -0
  131. package/dist/types/components/loaders/Dots.d.ts +9 -0
  132. package/dist/types/components/loaders/Dots.d.ts.map +1 -0
  133. package/dist/types/components/loaders/Loadable.d.ts +10 -0
  134. package/dist/types/components/loaders/Loadable.d.ts.map +1 -0
  135. package/dist/types/components/loaders/Loader.d.ts +15 -0
  136. package/dist/types/components/loaders/Loader.d.ts.map +1 -0
  137. package/dist/types/components/loaders/TranslucentLoader.d.ts +9 -0
  138. package/dist/types/components/loaders/TranslucentLoader.d.ts.map +1 -0
  139. package/dist/types/components/mobx/Alert.d.ts +4 -0
  140. package/dist/types/components/mobx/Alert.d.ts.map +1 -0
  141. package/dist/types/components/mobx/Drawer.d.ts +5 -0
  142. package/dist/types/components/mobx/Drawer.d.ts.map +1 -0
  143. package/dist/types/components/mobx/ErrorBoundary.d.ts +24 -0
  144. package/dist/types/components/mobx/ErrorBoundary.d.ts.map +1 -0
  145. package/dist/types/components/mobx/Modal.d.ts +4 -0
  146. package/dist/types/components/mobx/Modal.d.ts.map +1 -0
  147. package/dist/types/components/navigation/Breadcrumbs.d.ts +3 -0
  148. package/dist/types/components/navigation/Breadcrumbs.d.ts.map +1 -0
  149. package/dist/types/components/navigation/ButtonLink.d.ts +25 -0
  150. package/dist/types/components/navigation/ButtonLink.d.ts.map +1 -0
  151. package/dist/types/components/navigation/InlineButtonLink.d.ts +3 -0
  152. package/dist/types/components/navigation/InlineButtonLink.d.ts.map +1 -0
  153. package/dist/types/components/notification/InfoPanel.d.ts +18 -0
  154. package/dist/types/components/notification/InfoPanel.d.ts.map +1 -0
  155. package/dist/types/components/notification/Notification.d.ts +14 -0
  156. package/dist/types/components/notification/Notification.d.ts.map +1 -0
  157. package/dist/types/components/tables/MobileTable/Row.d.ts +14 -0
  158. package/dist/types/components/tables/MobileTable/Row.d.ts.map +1 -0
  159. package/dist/types/components/tables/MobileTable.d.ts +9 -0
  160. package/dist/types/components/tables/MobileTable.d.ts.map +1 -0
  161. package/dist/types/components/tables/NiceTable.d.ts +12 -0
  162. package/dist/types/components/tables/NiceTable.d.ts.map +1 -0
  163. package/dist/types/components/tables/Row.d.ts +19 -0
  164. package/dist/types/components/tables/Row.d.ts.map +1 -0
  165. package/dist/types/components/tables/SimpleTable.d.ts +9 -0
  166. package/dist/types/components/tables/SimpleTable.d.ts.map +1 -0
  167. package/dist/types/components/tables/Table.d.ts +73 -0
  168. package/dist/types/components/tables/Table.d.ts.map +1 -0
  169. package/dist/types/components/tables/blocks/Header.d.ts +17 -0
  170. package/dist/types/components/tables/blocks/Header.d.ts.map +1 -0
  171. package/dist/types/components/tables/blocks/HelpText.d.ts +5 -0
  172. package/dist/types/components/tables/blocks/HelpText.d.ts.map +1 -0
  173. package/dist/types/components/tables/blocks/Pagination.d.ts +8 -0
  174. package/dist/types/components/tables/blocks/Pagination.d.ts.map +1 -0
  175. package/dist/types/components/tables/blocks/TableFilter.d.ts +9 -0
  176. package/dist/types/components/tables/blocks/TableFilter.d.ts.map +1 -0
  177. package/dist/types/components/tables/blocks/Title.d.ts +7 -0
  178. package/dist/types/components/tables/blocks/Title.d.ts.map +1 -0
  179. package/dist/types/components/tables/index.d.ts +9 -0
  180. package/dist/types/components/tables/index.d.ts.map +1 -0
  181. package/dist/types/components/tables/utils.d.ts +2 -0
  182. package/dist/types/components/tables/utils.d.ts.map +1 -0
  183. package/dist/types/components/tags/Chip.d.ts +18 -0
  184. package/dist/types/components/tags/Chip.d.ts.map +1 -0
  185. package/dist/types/components/tags/Tag.d.ts +8 -0
  186. package/dist/types/components/tags/Tag.d.ts.map +1 -0
  187. package/dist/types/components/text/Text.d.ts +7 -0
  188. package/dist/types/components/text/Text.d.ts.map +1 -0
  189. package/dist/types/components/tooltips/IconTooltip.d.ts +10 -0
  190. package/dist/types/components/tooltips/IconTooltip.d.ts.map +1 -0
  191. package/dist/types/components/tooltips/IconTooltip.stories.d.ts +18 -0
  192. package/dist/types/components/tooltips/IconTooltip.stories.d.ts.map +1 -0
  193. package/dist/types/components/tooltips/Tooltip.d.ts +14 -0
  194. package/dist/types/components/tooltips/Tooltip.d.ts.map +1 -0
  195. package/dist/types/hooks/useIsMounted.d.ts +2 -0
  196. package/dist/types/hooks/useIsMounted.d.ts.map +1 -0
  197. package/dist/types/hooks/useLoader.d.ts +10 -0
  198. package/dist/types/hooks/useLoader.d.ts.map +1 -0
  199. package/dist/types/hooks/useLoaderV2.d.ts +15 -0
  200. package/dist/types/hooks/useLoaderV2.d.ts.map +1 -0
  201. package/dist/types/stores/useStores.d.ts +5 -0
  202. package/dist/types/stores/useStores.d.ts.map +1 -0
  203. package/dist/types/styles/DeviceSizeWatcher.d.ts +27 -0
  204. package/dist/types/styles/DeviceSizeWatcher.d.ts.map +1 -0
  205. package/dist/types/styles/alignments.d.ts +8 -0
  206. package/dist/types/styles/alignments.d.ts.map +1 -0
  207. package/dist/types/styles/colors.d.ts +35 -0
  208. package/dist/types/styles/colors.d.ts.map +1 -0
  209. package/dist/types/styles/deviceSizes.d.ts +9 -0
  210. package/dist/types/styles/deviceSizes.d.ts.map +1 -0
  211. package/dist/types/styles/mediaQueries.d.ts +21 -0
  212. package/dist/types/styles/mediaQueries.d.ts.map +1 -0
  213. package/dist/types/styles/mixins.d.ts +8 -0
  214. package/dist/types/styles/mixins.d.ts.map +1 -0
  215. package/dist/types/styles/spacings.d.ts +15 -0
  216. package/dist/types/styles/spacings.d.ts.map +1 -0
  217. package/dist/types/styles/theme/Theme.type.d.ts +79 -0
  218. package/dist/types/styles/theme/Theme.type.d.ts.map +1 -0
  219. package/dist/types/styles/theme/base.d.ts +3 -0
  220. package/dist/types/styles/theme/base.d.ts.map +1 -0
  221. package/dist/types/styles/theme/dark.d.ts +3 -0
  222. package/dist/types/styles/theme/dark.d.ts.map +1 -0
  223. package/dist/types/styles/theme/light.d.ts +3 -0
  224. package/dist/types/styles/theme/light.d.ts.map +1 -0
  225. package/dist/types/styles/theme/light2.d.ts +3 -0
  226. package/dist/types/styles/theme/light2.d.ts.map +1 -0
  227. package/dist/types/styles/theme/useTheme.d.ts +3 -0
  228. package/dist/types/styles/theme/useTheme.d.ts.map +1 -0
  229. package/dist/types/styles/types.d.ts +17 -0
  230. package/dist/types/styles/types.d.ts.map +1 -0
  231. package/dist/types/styles/typography.d.ts +56 -0
  232. package/dist/types/styles/typography.d.ts.map +1 -0
  233. package/dist/types/utils/NavBarScrollWatcher.d.ts +7 -0
  234. package/dist/types/utils/NavBarScrollWatcher.d.ts.map +1 -0
  235. package/dist/types/utils/arrayHelpers.d.ts +23 -0
  236. package/dist/types/utils/arrayHelpers.d.ts.map +1 -0
  237. package/dist/types/utils/dateTime/DateRange.type.d.ts +6 -0
  238. package/dist/types/utils/dateTime/DateRange.type.d.ts.map +1 -0
  239. package/dist/types/utils/dateTime/calendar.d.ts +18 -0
  240. package/dist/types/utils/dateTime/calendar.d.ts.map +1 -0
  241. package/dist/types/utils/dateTimeHelpers.d.ts +23 -0
  242. package/dist/types/utils/dateTimeHelpers.d.ts.map +1 -0
  243. package/dist/types/utils/function.types.d.ts +2 -0
  244. package/dist/types/utils/function.types.d.ts.map +1 -0
  245. package/dist/types/utils/functionHelpers.d.ts +7 -0
  246. package/dist/types/utils/functionHelpers.d.ts.map +1 -0
  247. package/dist/types/utils/idGenerator.d.ts +3 -0
  248. package/dist/types/utils/idGenerator.d.ts.map +1 -0
  249. package/dist/types/utils/logging/Logger.d.ts +16 -0
  250. package/dist/types/utils/logging/Logger.d.ts.map +1 -0
  251. package/dist/types/utils/logging/Logger.type.d.ts +7 -0
  252. package/dist/types/utils/logging/Logger.type.d.ts.map +1 -0
  253. package/dist/types/utils/logging/loggable.d.ts +7 -0
  254. package/dist/types/utils/logging/loggable.d.ts.map +1 -0
  255. package/dist/types/utils/logging/with_module_logging.d.ts +3 -0
  256. package/dist/types/utils/logging/with_module_logging.d.ts.map +1 -0
  257. package/dist/types/utils/numberHelpers.d.ts +3 -0
  258. package/dist/types/utils/numberHelpers.d.ts.map +1 -0
  259. package/dist/types/utils/typeCheckers.d.ts +5 -0
  260. package/dist/types/utils/typeCheckers.d.ts.map +1 -0
  261. package/dist/types/utils/validateFields.d.ts +13 -0
  262. package/dist/types/utils/validateFields.d.ts.map +1 -0
  263. package/{dist → entries}/alert.ts +0 -0
  264. package/{dist → entries}/forms.ts +0 -0
  265. package/{dist → entries}/hooks.ts +0 -0
  266. package/{dist → entries}/icon.ts +0 -0
  267. package/{dist → entries}/layouts.ts +0 -0
  268. package/{dist → entries}/loaders.ts +0 -0
  269. package/{dist → entries}/mobx.ts +0 -0
  270. package/{dist → entries}/modal.ts +0 -0
  271. package/{dist → entries}/navigation.ts +0 -0
  272. package/{dist → entries}/notifications.ts +0 -0
  273. package/{dist → entries}/styles.ts +0 -0
  274. package/{dist → entries}/tables.ts +0 -0
  275. package/{dist → entries}/tags.ts +0 -0
  276. package/{dist → entries}/text.ts +0 -0
  277. package/{dist → entries}/tooltips.ts +0 -0
  278. package/{dist → entries}/types.ts +0 -0
  279. package/{dist → entries}/utils.ts +0 -0
  280. package/package.json +7 -5
  281. package/react_components_zendesk.iml +9 -0
  282. package/rollup.config.js +40 -0
  283. package/src/GlobalStyle.js +43 -0
  284. package/src/calendarCss.js +2 -0
  285. package/src/components/Alert.tsx +175 -0
  286. package/src/components/Drawer.tsx +244 -0
  287. package/src/components/Icon.tsx +43 -0
  288. package/src/components/Modal.tsx +206 -0
  289. package/src/components/StyledComponentProps.type.ts +3 -0
  290. package/src/components/StyledProps.type.ts +4 -0
  291. package/src/components/calendars/Legendable.type.tsx +4 -0
  292. package/src/components/calendars/TinyCalendar.tsx +185 -0
  293. package/src/components/calendars/TinyMonthYearCalendar.tsx +57 -0
  294. package/src/components/calendars/blocks/Legend.tsx +44 -0
  295. package/src/components/calendars/blocks/MonthPicker.tsx +54 -0
  296. package/src/components/calendars/blocks/MonthYearPicker.tsx +101 -0
  297. package/src/components/calendars/blocks/YearPicker.tsx +44 -0
  298. package/src/components/forms/Button.tsx +214 -0
  299. package/src/components/forms/Checkbox.tsx +99 -0
  300. package/src/components/forms/CycleButton.stories.tsx +23 -0
  301. package/src/components/forms/CycleButton.tsx +52 -0
  302. package/src/components/forms/Form.tsx +43 -0
  303. package/src/components/forms/Hint.tsx +12 -0
  304. package/src/components/forms/IconButton.tsx +29 -0
  305. package/src/components/forms/Label.tsx +9 -0
  306. package/src/components/forms/TaggedToggle.stories.tsx +18 -0
  307. package/src/components/forms/TaggedToggle.tsx +19 -0
  308. package/src/components/forms/Toggle.stories.tsx +30 -0
  309. package/src/components/forms/Toggle.tsx +62 -0
  310. package/src/components/forms/ValidatedFormProps.type.ts +3 -0
  311. package/src/components/forms/Validation.type.ts +10 -0
  312. package/src/components/forms/buttonMixins.ts +74 -0
  313. package/src/components/forms/formField.types.ts +26 -0
  314. package/src/components/forms/selectors/BooleanSelector.tsx +71 -0
  315. package/src/components/forms/selectors/DatePickerSelector.tsx +88 -0
  316. package/src/components/forms/selectors/Dropdown/Item.tsx +34 -0
  317. package/src/components/forms/selectors/Dropdown.tsx +410 -0
  318. package/src/components/forms/selectors/MonthYearSelector.tsx +54 -0
  319. package/src/components/forms/selectors/MultiSelector.tsx +58 -0
  320. package/src/components/forms/selectors/SearchableSelector.tsx +120 -0
  321. package/src/components/forms/selectors/Selector.tsx +55 -0
  322. package/src/components/forms/selectors/SelectorEmptyState.tsx +5 -0
  323. package/src/components/forms/selectors/types.ts +43 -0
  324. package/src/components/forms/textfields/EmailTextField.tsx +7 -0
  325. package/src/components/forms/textfields/NumberTextField.tsx +17 -0
  326. package/src/components/forms/textfields/PasswordTextField.tsx +12 -0
  327. package/src/components/forms/textfields/TextArea.tsx +25 -0
  328. package/src/components/forms/textfields/TextField.tsx +45 -0
  329. package/src/components/forms/textfields/TextFieldWrapper.tsx +120 -0
  330. package/src/components/forms/validationStates.ts +6 -0
  331. package/src/components/layout/AppBar.tsx +137 -0
  332. package/src/components/layout/AppBarLayout.tsx +55 -0
  333. package/src/components/layout/Carousel.tsx +44 -0
  334. package/src/components/layout/Container.tsx +43 -0
  335. package/src/components/layout/FlexBlock.tsx +122 -0
  336. package/src/components/layout/FlexBox.tsx +69 -0
  337. package/src/components/layout/Grid.tsx +23 -0
  338. package/src/components/layout/Line.tsx +13 -0
  339. package/src/components/layout/OpacityTransition.tsx +6 -0
  340. package/src/components/layout/OverflowMenu.tsx +45 -0
  341. package/src/components/layout/Section.tsx +41 -0
  342. package/src/components/layout/Sidebar.tsx +107 -0
  343. package/src/components/layout/SidebarLayout.tsx +32 -0
  344. package/src/components/layout/Tabs.tsx +39 -0
  345. package/src/components/loaders/AsyncLoadable.tsx +57 -0
  346. package/src/components/loaders/Dots.tsx +16 -0
  347. package/src/components/loaders/Loadable.tsx +99 -0
  348. package/src/components/loaders/Loader.tsx +52 -0
  349. package/src/components/loaders/TranslucentLoader.tsx +49 -0
  350. package/src/components/mobx/Alert.tsx +33 -0
  351. package/src/components/mobx/Drawer.tsx +13 -0
  352. package/src/components/mobx/ErrorBoundary.tsx +56 -0
  353. package/src/components/mobx/Modal.tsx +44 -0
  354. package/src/components/navigation/Breadcrumbs.tsx +49 -0
  355. package/src/components/navigation/ButtonLink.tsx +55 -0
  356. package/src/components/navigation/InlineButtonLink.tsx +9 -0
  357. package/src/components/notification/InfoPanel.tsx +70 -0
  358. package/src/components/notification/Notification.tsx +51 -0
  359. package/src/components/tables/MobileTable/Row.tsx +147 -0
  360. package/src/components/tables/MobileTable.tsx +67 -0
  361. package/src/components/tables/NiceTable.tsx +81 -0
  362. package/src/components/tables/Row.tsx +84 -0
  363. package/src/components/tables/SimpleTable.tsx +99 -0
  364. package/src/components/tables/Table.tsx +153 -0
  365. package/src/components/tables/blocks/Header.tsx +119 -0
  366. package/src/components/tables/blocks/HelpText.tsx +9 -0
  367. package/src/components/tables/blocks/Pagination.tsx +85 -0
  368. package/src/components/tables/blocks/TableFilter.tsx +56 -0
  369. package/src/components/tables/blocks/Title.tsx +6 -0
  370. package/src/components/tables/index.tsx +106 -0
  371. package/src/components/tables/utils.ts +1 -0
  372. package/src/components/tags/Chip.tsx +44 -0
  373. package/src/components/tags/Tag.tsx +23 -0
  374. package/src/components/text/Header.js +55 -0
  375. package/src/components/text/Hint.js +25 -0
  376. package/src/components/text/Label.js +18 -0
  377. package/src/components/text/Paragraph.js +35 -0
  378. package/src/components/text/Text.tsx +33 -0
  379. package/src/components/tooltips/IconTooltip.stories.tsx +20 -0
  380. package/src/components/tooltips/IconTooltip.tsx +25 -0
  381. package/src/components/tooltips/Tooltip.tsx +30 -0
  382. package/src/global.d.ts +29 -0
  383. package/src/hooks/useIsMounted.ts +11 -0
  384. package/src/hooks/useLoader.tsx +73 -0
  385. package/src/hooks/useLoaderV2.tsx +51 -0
  386. package/src/index.css +34 -0
  387. package/src/stores/useStores.tsx +11 -0
  388. package/src/stories/Introduction.stories.mdx +211 -0
  389. package/src/stories/assets/code-brackets.svg +1 -0
  390. package/src/stories/assets/colors.svg +1 -0
  391. package/src/stories/assets/comments.svg +1 -0
  392. package/src/stories/assets/direction.svg +1 -0
  393. package/src/stories/assets/flow.svg +1 -0
  394. package/src/stories/assets/plugin.svg +1 -0
  395. package/src/stories/assets/repo.svg +1 -0
  396. package/src/stories/assets/stackalt.svg +1 -0
  397. package/src/styles/DeviceSizeWatcher.ts +113 -0
  398. package/src/styles/alignments.ts +9 -0
  399. package/src/styles/colors.ts +51 -0
  400. package/src/styles/deviceSizes.ts +28 -0
  401. package/src/styles/mediaQueries.ts +83 -0
  402. package/src/styles/mixins.ts +23 -0
  403. package/src/styles/spacings.ts +16 -0
  404. package/src/styles/theme/Theme.type.ts +76 -0
  405. package/src/styles/theme/base.ts +47 -0
  406. package/src/styles/theme/dark.ts +36 -0
  407. package/src/styles/theme/light.ts +44 -0
  408. package/src/styles/theme/light2.ts +22 -0
  409. package/src/styles/theme/useTheme.ts +5 -0
  410. package/src/styles/types.ts +18 -0
  411. package/src/styles/typography.ts +67 -0
  412. package/src/utils/NavBarScrollWatcher.ts +59 -0
  413. package/src/utils/arrayHelpers.ts +56 -0
  414. package/src/utils/dateTime/DateRange.type.ts +6 -0
  415. package/src/utils/dateTime/calendar.ts +23 -0
  416. package/src/utils/dateTimeHelpers.ts +105 -0
  417. package/src/utils/function.types.ts +1 -0
  418. package/src/utils/functionHelpers.ts +23 -0
  419. package/src/utils/idGenerator.ts +8 -0
  420. package/src/utils/logging/Logger.ts +34 -0
  421. package/src/utils/logging/Logger.type.ts +7 -0
  422. package/src/utils/logging/loggable.tsx +17 -0
  423. package/src/utils/logging/with_module_logging.ts +8 -0
  424. package/src/utils/numberHelpers.ts +4 -0
  425. package/src/utils/typeCheckers.ts +6 -0
  426. package/src/utils/types.d.ts +1 -0
  427. package/src/utils/validateFields.ts +14 -0
  428. package/src/zendeskGardenCss.js +15 -0
  429. package/tsconfig.json +30 -0
  430. package/type_defs/GlobalStyle.d.ts +2 -0
  431. package/type_defs/GlobalStyle.d.ts.map +1 -0
  432. package/type_defs/calendarCss.d.ts +2 -0
  433. package/type_defs/calendarCss.d.ts.map +1 -0
  434. package/type_defs/components/Alert.d.ts +24 -0
  435. package/type_defs/components/Alert.d.ts.map +1 -0
  436. package/type_defs/components/Drawer.d.ts +18 -0
  437. package/type_defs/components/Drawer.d.ts.map +1 -0
  438. package/type_defs/components/Icon.d.ts +15 -0
  439. package/type_defs/components/Icon.d.ts.map +1 -0
  440. package/type_defs/components/Modal.d.ts +31 -0
  441. package/type_defs/components/Modal.d.ts.map +1 -0
  442. package/type_defs/components/StyledComponentProps.type.d.ts +4 -0
  443. package/type_defs/components/StyledComponentProps.type.d.ts.map +1 -0
  444. package/type_defs/components/StyledProps.type.d.ts +4 -0
  445. package/type_defs/components/StyledProps.type.d.ts.map +1 -0
  446. package/type_defs/components/calendars/Legendable.type.d.ts +5 -0
  447. package/type_defs/components/calendars/Legendable.type.d.ts.map +1 -0
  448. package/type_defs/components/calendars/TinyCalendar.d.ts +25 -0
  449. package/type_defs/components/calendars/TinyCalendar.d.ts.map +1 -0
  450. package/type_defs/components/calendars/TinyMonthYearCalendar.d.ts +11 -0
  451. package/type_defs/components/calendars/TinyMonthYearCalendar.d.ts.map +1 -0
  452. package/type_defs/components/calendars/blocks/Legend.d.ts +12 -0
  453. package/type_defs/components/calendars/blocks/Legend.d.ts.map +1 -0
  454. package/type_defs/components/calendars/blocks/MonthPicker.d.ts +8 -0
  455. package/type_defs/components/calendars/blocks/MonthPicker.d.ts.map +1 -0
  456. package/type_defs/components/calendars/blocks/MonthYearPicker.d.ts +16 -0
  457. package/type_defs/components/calendars/blocks/MonthYearPicker.d.ts.map +1 -0
  458. package/type_defs/components/calendars/blocks/YearPicker.d.ts +10 -0
  459. package/type_defs/components/calendars/blocks/YearPicker.d.ts.map +1 -0
  460. package/type_defs/components/forms/Button.d.ts +41 -0
  461. package/type_defs/components/forms/Button.d.ts.map +1 -0
  462. package/type_defs/components/forms/Checkbox.d.ts +10 -0
  463. package/type_defs/components/forms/Checkbox.d.ts.map +1 -0
  464. package/type_defs/components/forms/CycleButton.d.ts +14 -0
  465. package/type_defs/components/forms/CycleButton.d.ts.map +1 -0
  466. package/type_defs/components/forms/CycleButton.stories.d.ts +16 -0
  467. package/type_defs/components/forms/CycleButton.stories.d.ts.map +1 -0
  468. package/type_defs/components/forms/Form.d.ts +9 -0
  469. package/type_defs/components/forms/Form.d.ts.map +1 -0
  470. package/type_defs/components/forms/Hint.d.ts +2 -0
  471. package/type_defs/components/forms/Hint.d.ts.map +1 -0
  472. package/type_defs/components/forms/IconButton.d.ts +6 -0
  473. package/type_defs/components/forms/IconButton.d.ts.map +1 -0
  474. package/type_defs/components/forms/Label.d.ts +2 -0
  475. package/type_defs/components/forms/Label.d.ts.map +1 -0
  476. package/type_defs/components/forms/TaggedToggle.d.ts +8 -0
  477. package/type_defs/components/forms/TaggedToggle.d.ts.map +1 -0
  478. package/type_defs/components/forms/TaggedToggle.stories.d.ts +12 -0
  479. package/type_defs/components/forms/TaggedToggle.stories.d.ts.map +1 -0
  480. package/type_defs/components/forms/Toggle.d.ts +12 -0
  481. package/type_defs/components/forms/Toggle.d.ts.map +1 -0
  482. package/type_defs/components/forms/Toggle.stories.d.ts +18 -0
  483. package/type_defs/components/forms/Toggle.stories.d.ts.map +1 -0
  484. package/type_defs/components/forms/ValidatedFormProps.type.d.ts +6 -0
  485. package/type_defs/components/forms/ValidatedFormProps.type.d.ts.map +1 -0
  486. package/type_defs/components/forms/Validation.type.d.ts +9 -0
  487. package/type_defs/components/forms/Validation.type.d.ts.map +1 -0
  488. package/type_defs/components/forms/buttonMixins.d.ts +23 -0
  489. package/type_defs/components/forms/buttonMixins.d.ts.map +1 -0
  490. package/type_defs/components/forms/formField.types.d.ts +23 -0
  491. package/type_defs/components/forms/formField.types.d.ts.map +1 -0
  492. package/type_defs/components/forms/selectors/BooleanSelector.d.ts +11 -0
  493. package/type_defs/components/forms/selectors/BooleanSelector.d.ts.map +1 -0
  494. package/type_defs/components/forms/selectors/DatePickerSelector.d.ts +19 -0
  495. package/type_defs/components/forms/selectors/DatePickerSelector.d.ts.map +1 -0
  496. package/type_defs/components/forms/selectors/Dropdown/Item.d.ts +19 -0
  497. package/type_defs/components/forms/selectors/Dropdown/Item.d.ts.map +1 -0
  498. package/type_defs/components/forms/selectors/Dropdown.d.ts +28 -0
  499. package/type_defs/components/forms/selectors/Dropdown.d.ts.map +1 -0
  500. package/type_defs/components/forms/selectors/MonthYearSelector.d.ts +9 -0
  501. package/type_defs/components/forms/selectors/MonthYearSelector.d.ts.map +1 -0
  502. package/type_defs/components/forms/selectors/MultiSelector.d.ts +9 -0
  503. package/type_defs/components/forms/selectors/MultiSelector.d.ts.map +1 -0
  504. package/type_defs/components/forms/selectors/SearchableSelector.d.ts +8 -0
  505. package/type_defs/components/forms/selectors/SearchableSelector.d.ts.map +1 -0
  506. package/type_defs/components/forms/selectors/Selector.d.ts +4 -0
  507. package/type_defs/components/forms/selectors/Selector.d.ts.map +1 -0
  508. package/type_defs/components/forms/selectors/SelectorEmptyState.d.ts +2 -0
  509. package/type_defs/components/forms/selectors/SelectorEmptyState.d.ts.map +1 -0
  510. package/type_defs/components/forms/selectors/types.d.ts +41 -0
  511. package/type_defs/components/forms/selectors/types.d.ts.map +1 -0
  512. package/type_defs/components/forms/textfields/EmailTextField.d.ts +4 -0
  513. package/type_defs/components/forms/textfields/EmailTextField.d.ts.map +1 -0
  514. package/type_defs/components/forms/textfields/NumberTextField.d.ts +4 -0
  515. package/type_defs/components/forms/textfields/NumberTextField.d.ts.map +1 -0
  516. package/type_defs/components/forms/textfields/PasswordTextField.d.ts +8 -0
  517. package/type_defs/components/forms/textfields/PasswordTextField.d.ts.map +1 -0
  518. package/type_defs/components/forms/textfields/TextArea.d.ts +9 -0
  519. package/type_defs/components/forms/textfields/TextArea.d.ts.map +1 -0
  520. package/type_defs/components/forms/textfields/TextField.d.ts +14 -0
  521. package/type_defs/components/forms/textfields/TextField.d.ts.map +1 -0
  522. package/type_defs/components/forms/textfields/TextFieldWrapper.d.ts +13 -0
  523. package/type_defs/components/forms/textfields/TextFieldWrapper.d.ts.map +1 -0
  524. package/type_defs/components/forms/validationStates.d.ts +7 -0
  525. package/type_defs/components/forms/validationStates.d.ts.map +1 -0
  526. package/type_defs/components/layout/AppBar.d.ts +14 -0
  527. package/type_defs/components/layout/AppBar.d.ts.map +1 -0
  528. package/type_defs/components/layout/AppBarLayout.d.ts +15 -0
  529. package/type_defs/components/layout/AppBarLayout.d.ts.map +1 -0
  530. package/type_defs/components/layout/Carousel.d.ts +13 -0
  531. package/type_defs/components/layout/Carousel.d.ts.map +1 -0
  532. package/type_defs/components/layout/Container.d.ts +4 -0
  533. package/type_defs/components/layout/Container.d.ts.map +1 -0
  534. package/type_defs/components/layout/FlexBlock.d.ts +19 -0
  535. package/type_defs/components/layout/FlexBlock.d.ts.map +1 -0
  536. package/type_defs/components/layout/FlexBox.d.ts +18 -0
  537. package/type_defs/components/layout/FlexBox.d.ts.map +1 -0
  538. package/type_defs/components/layout/Grid.d.ts +4 -0
  539. package/type_defs/components/layout/Grid.d.ts.map +1 -0
  540. package/type_defs/components/layout/Line.d.ts +6 -0
  541. package/type_defs/components/layout/Line.d.ts.map +1 -0
  542. package/type_defs/components/layout/OpacityTransition.d.ts +4 -0
  543. package/type_defs/components/layout/OpacityTransition.d.ts.map +1 -0
  544. package/type_defs/components/layout/OverflowMenu.d.ts +13 -0
  545. package/type_defs/components/layout/OverflowMenu.d.ts.map +1 -0
  546. package/type_defs/components/layout/Section.d.ts +6 -0
  547. package/type_defs/components/layout/Section.d.ts.map +1 -0
  548. package/type_defs/components/layout/Sidebar.d.ts +12 -0
  549. package/type_defs/components/layout/Sidebar.d.ts.map +1 -0
  550. package/type_defs/components/layout/SidebarLayout.d.ts +5 -0
  551. package/type_defs/components/layout/SidebarLayout.d.ts.map +1 -0
  552. package/type_defs/components/layout/Tabs.d.ts +3 -0
  553. package/type_defs/components/layout/Tabs.d.ts.map +1 -0
  554. package/type_defs/components/loaders/AsyncLoadable.d.ts +13 -0
  555. package/type_defs/components/loaders/AsyncLoadable.d.ts.map +1 -0
  556. package/type_defs/components/loaders/Dots.d.ts +9 -0
  557. package/type_defs/components/loaders/Dots.d.ts.map +1 -0
  558. package/type_defs/components/loaders/Loadable.d.ts +10 -0
  559. package/type_defs/components/loaders/Loadable.d.ts.map +1 -0
  560. package/type_defs/components/loaders/Loader.d.ts +15 -0
  561. package/type_defs/components/loaders/Loader.d.ts.map +1 -0
  562. package/type_defs/components/loaders/TranslucentLoader.d.ts +9 -0
  563. package/type_defs/components/loaders/TranslucentLoader.d.ts.map +1 -0
  564. package/type_defs/components/mobx/Alert.d.ts +4 -0
  565. package/type_defs/components/mobx/Alert.d.ts.map +1 -0
  566. package/type_defs/components/mobx/Drawer.d.ts +5 -0
  567. package/type_defs/components/mobx/Drawer.d.ts.map +1 -0
  568. package/type_defs/components/mobx/ErrorBoundary.d.ts +24 -0
  569. package/type_defs/components/mobx/ErrorBoundary.d.ts.map +1 -0
  570. package/type_defs/components/mobx/Modal.d.ts +4 -0
  571. package/type_defs/components/mobx/Modal.d.ts.map +1 -0
  572. package/type_defs/components/navigation/Breadcrumbs.d.ts +3 -0
  573. package/type_defs/components/navigation/Breadcrumbs.d.ts.map +1 -0
  574. package/type_defs/components/navigation/ButtonLink.d.ts +25 -0
  575. package/type_defs/components/navigation/ButtonLink.d.ts.map +1 -0
  576. package/type_defs/components/navigation/InlineButtonLink.d.ts +3 -0
  577. package/type_defs/components/navigation/InlineButtonLink.d.ts.map +1 -0
  578. package/type_defs/components/notification/InfoPanel.d.ts +18 -0
  579. package/type_defs/components/notification/InfoPanel.d.ts.map +1 -0
  580. package/type_defs/components/notification/Notification.d.ts +14 -0
  581. package/type_defs/components/notification/Notification.d.ts.map +1 -0
  582. package/type_defs/components/tables/MobileTable/Row.d.ts +14 -0
  583. package/type_defs/components/tables/MobileTable/Row.d.ts.map +1 -0
  584. package/type_defs/components/tables/MobileTable.d.ts +9 -0
  585. package/type_defs/components/tables/MobileTable.d.ts.map +1 -0
  586. package/type_defs/components/tables/NiceTable.d.ts +12 -0
  587. package/type_defs/components/tables/NiceTable.d.ts.map +1 -0
  588. package/type_defs/components/tables/Row.d.ts +19 -0
  589. package/type_defs/components/tables/Row.d.ts.map +1 -0
  590. package/type_defs/components/tables/SimpleTable.d.ts +9 -0
  591. package/type_defs/components/tables/SimpleTable.d.ts.map +1 -0
  592. package/type_defs/components/tables/Table.d.ts +73 -0
  593. package/type_defs/components/tables/Table.d.ts.map +1 -0
  594. package/type_defs/components/tables/blocks/Header.d.ts +17 -0
  595. package/type_defs/components/tables/blocks/Header.d.ts.map +1 -0
  596. package/type_defs/components/tables/blocks/HelpText.d.ts +5 -0
  597. package/type_defs/components/tables/blocks/HelpText.d.ts.map +1 -0
  598. package/type_defs/components/tables/blocks/Pagination.d.ts +8 -0
  599. package/type_defs/components/tables/blocks/Pagination.d.ts.map +1 -0
  600. package/type_defs/components/tables/blocks/TableFilter.d.ts +9 -0
  601. package/type_defs/components/tables/blocks/TableFilter.d.ts.map +1 -0
  602. package/type_defs/components/tables/blocks/Title.d.ts +7 -0
  603. package/type_defs/components/tables/blocks/Title.d.ts.map +1 -0
  604. package/type_defs/components/tables/index.d.ts +9 -0
  605. package/type_defs/components/tables/index.d.ts.map +1 -0
  606. package/type_defs/components/tables/utils.d.ts +2 -0
  607. package/type_defs/components/tables/utils.d.ts.map +1 -0
  608. package/type_defs/components/tags/Chip.d.ts +18 -0
  609. package/type_defs/components/tags/Chip.d.ts.map +1 -0
  610. package/type_defs/components/tags/Tag.d.ts +8 -0
  611. package/type_defs/components/tags/Tag.d.ts.map +1 -0
  612. package/type_defs/components/text/Header.d.ts +31 -0
  613. package/type_defs/components/text/Header.d.ts.map +1 -0
  614. package/type_defs/components/text/Hint.d.ts +10 -0
  615. package/type_defs/components/text/Hint.d.ts.map +1 -0
  616. package/type_defs/components/text/Label.d.ts +7 -0
  617. package/type_defs/components/text/Label.d.ts.map +1 -0
  618. package/type_defs/components/text/Paragraph.d.ts +37 -0
  619. package/type_defs/components/text/Paragraph.d.ts.map +1 -0
  620. package/type_defs/components/text/Text.d.ts +7 -0
  621. package/type_defs/components/text/Text.d.ts.map +1 -0
  622. package/type_defs/components/tooltips/IconTooltip.d.ts +10 -0
  623. package/type_defs/components/tooltips/IconTooltip.d.ts.map +1 -0
  624. package/type_defs/components/tooltips/IconTooltip.stories.d.ts +18 -0
  625. package/type_defs/components/tooltips/IconTooltip.stories.d.ts.map +1 -0
  626. package/type_defs/components/tooltips/Tooltip.d.ts +14 -0
  627. package/type_defs/components/tooltips/Tooltip.d.ts.map +1 -0
  628. package/type_defs/hooks/useIsMounted.d.ts +2 -0
  629. package/type_defs/hooks/useIsMounted.d.ts.map +1 -0
  630. package/type_defs/hooks/useLoader.d.ts +10 -0
  631. package/type_defs/hooks/useLoader.d.ts.map +1 -0
  632. package/type_defs/hooks/useLoaderV2.d.ts +15 -0
  633. package/type_defs/hooks/useLoaderV2.d.ts.map +1 -0
  634. package/type_defs/index.d.ts +2 -0
  635. package/type_defs/index.d.ts.map +1 -0
  636. package/type_defs/stores/useStores.d.ts +5 -0
  637. package/type_defs/stores/useStores.d.ts.map +1 -0
  638. package/type_defs/styles/DeviceSizeWatcher.d.ts +21 -0
  639. package/type_defs/styles/DeviceSizeWatcher.d.ts.map +1 -0
  640. package/type_defs/styles/alignments.d.ts +8 -0
  641. package/type_defs/styles/alignments.d.ts.map +1 -0
  642. package/type_defs/styles/colors.d.ts +35 -0
  643. package/type_defs/styles/colors.d.ts.map +1 -0
  644. package/type_defs/styles/deviceSizes.d.ts +9 -0
  645. package/type_defs/styles/deviceSizes.d.ts.map +1 -0
  646. package/type_defs/styles/mediaQueries.d.ts +21 -0
  647. package/type_defs/styles/mediaQueries.d.ts.map +1 -0
  648. package/type_defs/styles/mixins.d.ts +8 -0
  649. package/type_defs/styles/mixins.d.ts.map +1 -0
  650. package/type_defs/styles/spacings.d.ts +15 -0
  651. package/type_defs/styles/spacings.d.ts.map +1 -0
  652. package/type_defs/styles/theme/Theme.type.d.ts +79 -0
  653. package/type_defs/styles/theme/Theme.type.d.ts.map +1 -0
  654. package/type_defs/styles/theme/base.d.ts +3 -0
  655. package/type_defs/styles/theme/base.d.ts.map +1 -0
  656. package/type_defs/styles/theme/dark.d.ts +3 -0
  657. package/type_defs/styles/theme/dark.d.ts.map +1 -0
  658. package/type_defs/styles/theme/light.d.ts +3 -0
  659. package/type_defs/styles/theme/light.d.ts.map +1 -0
  660. package/type_defs/styles/theme/light2.d.ts +3 -0
  661. package/type_defs/styles/theme/light2.d.ts.map +1 -0
  662. package/type_defs/styles/theme/useTheme.d.ts +3 -0
  663. package/type_defs/styles/theme/useTheme.d.ts.map +1 -0
  664. package/type_defs/styles/types.d.ts +17 -0
  665. package/type_defs/styles/types.d.ts.map +1 -0
  666. package/type_defs/styles/typography.d.ts +56 -0
  667. package/type_defs/styles/typography.d.ts.map +1 -0
  668. package/type_defs/utils/NavBarScrollWatcher.d.ts +7 -0
  669. package/type_defs/utils/NavBarScrollWatcher.d.ts.map +1 -0
  670. package/type_defs/utils/arrayHelpers.d.ts +23 -0
  671. package/type_defs/utils/arrayHelpers.d.ts.map +1 -0
  672. package/type_defs/utils/dateTime/DateRange.type.d.ts +6 -0
  673. package/type_defs/utils/dateTime/DateRange.type.d.ts.map +1 -0
  674. package/type_defs/utils/dateTime/calendar.d.ts +18 -0
  675. package/type_defs/utils/dateTime/calendar.d.ts.map +1 -0
  676. package/type_defs/utils/dateTimeHelpers.d.ts +23 -0
  677. package/type_defs/utils/dateTimeHelpers.d.ts.map +1 -0
  678. package/type_defs/utils/function.types.d.ts +2 -0
  679. package/type_defs/utils/function.types.d.ts.map +1 -0
  680. package/type_defs/utils/functionHelpers.d.ts +7 -0
  681. package/type_defs/utils/functionHelpers.d.ts.map +1 -0
  682. package/type_defs/utils/idGenerator.d.ts +3 -0
  683. package/type_defs/utils/idGenerator.d.ts.map +1 -0
  684. package/type_defs/utils/logging/Logger.d.ts +10 -0
  685. package/type_defs/utils/logging/Logger.d.ts.map +1 -0
  686. package/type_defs/utils/logging/Logger.type.d.ts +7 -0
  687. package/type_defs/utils/logging/Logger.type.d.ts.map +1 -0
  688. package/type_defs/utils/logging/loggable.d.ts +7 -0
  689. package/type_defs/utils/logging/loggable.d.ts.map +1 -0
  690. package/type_defs/utils/logging/with_module_logging.d.ts +3 -0
  691. package/type_defs/utils/logging/with_module_logging.d.ts.map +1 -0
  692. package/type_defs/utils/numberHelpers.d.ts +3 -0
  693. package/type_defs/utils/numberHelpers.d.ts.map +1 -0
  694. package/type_defs/utils/typeCheckers.d.ts +5 -0
  695. package/type_defs/utils/typeCheckers.d.ts.map +1 -0
  696. package/type_defs/utils/validateFields.d.ts +13 -0
  697. package/type_defs/utils/validateFields.d.ts.map +1 -0
  698. package/type_defs/zendeskGardenCss.d.ts +2 -0
  699. package/type_defs/zendeskGardenCss.d.ts.map +1 -0
@@ -0,0 +1,206 @@
1
+ import {
2
+ Body,
3
+ Close,
4
+ Footer,
5
+ FooterItem,
6
+ Header as ZenHeader,
7
+ Modal as ZenModal,
8
+ /* @ts-ignore */
9
+ } from "@zendeskgarden/react-modals"
10
+ import {
11
+ Button,
12
+ Props as ButtonProps
13
+ } from "components/forms/Button"
14
+ import { StyledComponentProps } from "components/StyledComponentProps.type"
15
+ import React, { MouseEvent, ReactElement, useState } from "react"
16
+ import styled, { css } from "styled-components"
17
+ import { textWithColor } from "styles/mixins"
18
+
19
+ type ButtonType =
20
+ ReactElement
21
+ & { props: { disableable: boolean } & ButtonProps }
22
+
23
+ export type ModalContent = {
24
+ autoClose?: boolean,
25
+ blocking?: boolean,
26
+ body: any,
27
+ buttons?: ButtonType[],
28
+ isDanger?: boolean,
29
+ isNotDismissible?: boolean,
30
+ isSuccess?: boolean,
31
+ isWarning?: boolean,
32
+ title?: string,
33
+ withCancelButton?: boolean,
34
+ withNoActions?: boolean,
35
+ onClose?: () => void,
36
+ }
37
+
38
+ const Header = styled(ZenHeader).attrs(({
39
+ danger,
40
+ success,
41
+ warning,
42
+ theme,
43
+ }) => {
44
+ // Color is overwritten by a class style from zendesk :(
45
+ let color = theme.styles.textColorPrimary
46
+ if (danger) color = theme.styles.colorDanger
47
+ if (success) color = theme.styles.colorSuccess
48
+ if (warning) color = theme.styles.colorWarning
49
+
50
+ return { color }
51
+ })`
52
+ ${textWithColor}
53
+ `
54
+
55
+ const createButtons = (
56
+ buttons: ButtonType[],
57
+ closeModal: () => void,
58
+ shouldDisable: boolean,
59
+ autoClose: boolean,
60
+ adjustModalState: () => void,
61
+ ) => (
62
+ buttons.map((b: ButtonType) => {
63
+ const { onClick, disabled, disableable } = b.props
64
+ return (
65
+ <FooterItem key={b.key}>
66
+ {React.cloneElement(
67
+ b,
68
+ {
69
+ onClick: async () => {
70
+ adjustModalState()
71
+ await onClick()
72
+ if (autoClose) closeModal()
73
+ },
74
+ disabled: disableable ? shouldDisable : disabled,
75
+ },
76
+ )}
77
+ </FooterItem>
78
+ )
79
+ })
80
+ )
81
+
82
+ type Props = {
83
+ isVisible: boolean,
84
+ closeModal: () => void,
85
+ disableActions: boolean,
86
+ modalContent: ModalContent | null | undefined,
87
+ } & StyledComponentProps
88
+
89
+ export let Modal = ({
90
+ isVisible,
91
+ closeModal,
92
+ disableActions,
93
+ modalContent,
94
+ className,
95
+ }: Props) => {
96
+
97
+ const [isProcessing, setIsProcessingTo] = useState(false)
98
+ if (!isVisible) return null
99
+ if (!modalContent) throw new Error("Modal found null modal content")
100
+
101
+ const {
102
+ autoClose = true,
103
+ body,
104
+ buttons,
105
+ isDanger,
106
+ isSuccess,
107
+ isWarning,
108
+ title,
109
+ withCancelButton,
110
+ withNoActions,
111
+ onClose,
112
+ }: ModalContent = modalContent
113
+
114
+ const handleClose = () => {
115
+ closeModal()
116
+ setIsProcessingTo(false)
117
+ if (onClose) onClose()
118
+ }
119
+
120
+ const setProcessingState = () => setIsProcessingTo(true)
121
+
122
+ const footerItems = () => (
123
+ buttons
124
+ ? createButtons(
125
+ buttons,
126
+ handleClose,
127
+ disableActions,
128
+ autoClose,
129
+ setProcessingState
130
+ )
131
+ : <FooterItem>
132
+ <Button onClick={handleClose}
133
+ primary
134
+ disabled={disableActions}
135
+ success={isSuccess}
136
+ danger={isDanger}
137
+ warning={isWarning}>
138
+ OK
139
+ </Button>
140
+ </FooterItem>
141
+ )
142
+
143
+ return (
144
+ <ZenModal onClose={handleClose}
145
+ className={className}
146
+ animate
147
+ backdropProps={{
148
+ onClick: (e: MouseEvent<HTMLElement>) => {
149
+ e.preventDefault()
150
+ },
151
+ }}>
152
+ {
153
+ title
154
+ ? <Header danger={isDanger} success={isSuccess} warning={isWarning}>
155
+ {title}
156
+ </Header>
157
+ : null
158
+ }
159
+
160
+ <Body>{body}</Body>
161
+ {
162
+ withNoActions
163
+ ? null
164
+ : <Footer>
165
+ {withCancelButton
166
+ ? <FooterItem>
167
+ <Button onClick={handleClose}
168
+ flat
169
+ loading={isProcessing}
170
+ success={isSuccess}
171
+ danger={isDanger}
172
+ warning={isWarning}>
173
+ Cancel
174
+ </Button>
175
+ </FooterItem>
176
+ : null}
177
+
178
+ {footerItems()}
179
+ </Footer>
180
+ }
181
+ <Close aria-label="Close modal" />
182
+ </ZenModal>
183
+ )
184
+ }
185
+
186
+ const hideCloseButton = css`
187
+ button[data-garden-id="modals.close"] {
188
+ display: none;
189
+ }
190
+ `
191
+
192
+ Modal = styled(Modal)<Props>`
193
+ &&&& {
194
+ color: ${({ theme }) => theme.styles.textColorPrimary};
195
+
196
+ ${({ modalContent }) => modalContent?.isNotDismissible
197
+ ? hideCloseButton
198
+ : ""}
199
+ ${Body} {
200
+ font-size: inherit;
201
+ }
202
+ }
203
+ `
204
+
205
+ // @ts-ignore
206
+ Modal.COMPONENT_NAME = "Modal"
@@ -0,0 +1,3 @@
1
+ export type StyledComponentProps = {
2
+ className?: string, /* Ignore. Passed in by Styled Components*/
3
+ }
@@ -0,0 +1,4 @@
1
+ import { Theme } from "styles/theme/Theme.type"
2
+ import { ThemedStyledProps } from "styled-components"
3
+
4
+ export type StyledProps<Props = {}> = ThemedStyledProps<Props, Theme>
@@ -0,0 +1,4 @@
1
+ export type Legendable = {
2
+ color? :string,
3
+ label :string,
4
+ } & any
@@ -0,0 +1,185 @@
1
+ import { Legend } from "components/calendars/blocks/Legend"
2
+ import { MonthYearPickerChange } from "components/calendars/blocks/MonthYearPicker"
3
+ import { MonthYearPicker } from "components/calendars/blocks/MonthYearPicker"
4
+ import { Legendable } from "components/calendars/Legendable.type"
5
+ import { PaddedFlexBlock } from "components/layout/FlexBlock"
6
+ import moment, { Moment } from "moment"
7
+ import React, { useEffect, useRef, useState } from "react"
8
+ import { Calendar, Range } from "react-date-range"
9
+ import styled from "styled-components"
10
+ import { COLORS, fade } from "styles/colors"
11
+ import { SPACINGS } from "styles/spacings"
12
+ import { useTheme } from "styles/theme/useTheme"
13
+ import { FONT_WEIGHTS } from "styles/typography"
14
+ import { flatten } from "utils/arrayHelpers"
15
+ import { DateRange } from "utils/dateTime/DateRange.type"
16
+ import { maxDateBetween, momentListToDateList, } from "utils/dateTimeHelpers"
17
+ import { DO_NOTHING } from "utils/functionHelpers"
18
+
19
+ export type LabeledRangeList = {
20
+ color?: string,
21
+ label: string,
22
+ ranges: Array<DateRange>,
23
+ }
24
+
25
+ type ColoredDateRange = DateRange & { color?: string }
26
+
27
+ type Props = {
28
+ disabledDates: Array<Moment>,
29
+ displayMode?: "dateRange" | "date",
30
+ fluid?: boolean,
31
+ initialDate?: Moment,
32
+ labeledRanges?: Array<LabeledRangeList>,
33
+ minDate?: Moment,
34
+ ranges?: Array<ColoredDateRange>,
35
+ showLegend?: boolean,
36
+ onChange: (d: Date) => void,
37
+ }
38
+
39
+ export let TinyCalendar = ({
40
+ disabledDates = [],
41
+ displayMode,
42
+ fluid = false,
43
+ initialDate = moment(),
44
+ labeledRanges,
45
+ minDate,
46
+ ranges,
47
+ showLegend = false,
48
+ onChange = DO_NOTHING,
49
+ }: Props) => {
50
+ const [date, setDate] = useState<Moment>(minDate || initialDate)
51
+ const theme = useTheme()
52
+ const outOfMinRange = minDate && date.isBefore(minDate)
53
+ const usableDate: Moment = outOfMinRange ? minDate : date
54
+ const changeShownDate = useRef<(d: Date) => void>()
55
+
56
+ useEffect(() => {
57
+ if (changeShownDate.current != null) {
58
+ changeShownDate.current(usableDate.toDate())
59
+ }
60
+ }, [usableDate])
61
+
62
+ const changeDateState = ({ month, year }: MonthYearPickerChange) => {
63
+ const newDate = moment(usableDate).month(month).year(year)
64
+ const newUsableDate = maxDateBetween(
65
+ newDate, (minDate || moment().year(Number.MIN_VALUE)),
66
+ )
67
+ setDate(newUsableDate)
68
+ }
69
+
70
+ const rangeColors = [
71
+ COLORS.PURPLE,
72
+ COLORS.GREEN,
73
+ COLORS.YELLOW,
74
+ ].map((color: string) => fade(color))
75
+
76
+ let numUsedColors = 0
77
+ const labelColors: { [key: string]: Legendable } = {}
78
+ if (labeledRanges) {
79
+ labeledRanges.forEach((l: LabeledRangeList) => {
80
+ labelColors[l.label] = {
81
+ label: l.label,
82
+ color: l.color || rangeColors[numUsedColors++],
83
+ }
84
+ })
85
+
86
+ ranges = flatten<ColoredDateRange>(labeledRanges.map(
87
+ (l: LabeledRangeList) => (
88
+ l.ranges.map((r: DateRange) => ({
89
+ ...r,
90
+ color: labelColors[l.label].color,
91
+ }))
92
+ ),
93
+ ))
94
+ }
95
+
96
+ displayMode = displayMode || (ranges ? "dateRange" : "date")
97
+
98
+ return <Container fluid={fluid}
99
+ withRows
100
+ spacing={SPACINGS.SM}>
101
+ <Calendar
102
+ color={theme.styles.colorPrimary}
103
+ // date={usableDate.toDate()}
104
+ displayMode={displayMode}
105
+ disabledDates={momentListToDateList(disabledDates)}
106
+ dragSelectionEnabled={false}
107
+ minDate={minDate ? minDate.toDate() : undefined}
108
+ /*
109
+ navigatorRenderer causes library's month and year pickers to be hidden.
110
+ showMonthAndYearPickers prop doesnt need to be set to false at the moment
111
+ but will be done anyway just in case.
112
+ */
113
+ navigatorRenderer={(_, changeShownDateFunc) => {
114
+ changeShownDate.current = changeShownDateFunc
115
+ return <MonthYearPicker
116
+ month={usableDate.month()}
117
+ year={usableDate.year()}
118
+ minDate={minDate}
119
+ pastFutureYearRangeSize={3}
120
+ onChange={({ month, year }: MonthYearPickerChange) => {
121
+ // changeShownDate(
122
+ // moment(usableDate).month(month).year(year).toDate(),
123
+ // )
124
+ changeDateState({ month, year })
125
+ }}
126
+ />
127
+ }}
128
+ ranges={ranges as any as Range[]}
129
+ rangeColors={rangeColors}
130
+ shownDate={usableDate.toDate()}
131
+ showMonthAndYearPickers={false}
132
+ showMonthArrow={false}
133
+ showPreview={true}
134
+ showDateDisplay={false}
135
+ onChange={onChange}
136
+ onShownDateChange={DO_NOTHING}
137
+ onPreviewChange={DO_NOTHING}
138
+ />
139
+ {
140
+ showLegend && labeledRanges
141
+ ?
142
+ <Legend legendables={Object.values(labelColors)}
143
+ defaultColor={theme.styles.colorPrimary} />
144
+ :
145
+ null
146
+ }
147
+ </Container>
148
+ }
149
+
150
+ const Container = styled(PaddedFlexBlock)`
151
+ width: ${({ fluid }) => fluid ? "100%" : "24.5rem"};
152
+
153
+ .rdrMonth {
154
+ width: 100%;
155
+ }
156
+
157
+ .rdrDay.rdrDayToday .rdrDayNumber span:after {
158
+ background: ${({ theme }) => theme.styles.colorPrimary};
159
+ }
160
+
161
+ .rdrDay.rdrDayHovered {
162
+ .rdrDayNumber {
163
+ background: ${({ theme }) => theme.styles.colorPrimary};
164
+ border-radius: 2em;
165
+
166
+ span {
167
+ color: ${({ theme }) => theme.styles.textColorOverPrimaryBg};
168
+ }
169
+
170
+ ::after {
171
+ display: none;
172
+ }
173
+ }
174
+ }
175
+
176
+ .rdrDayNumber {
177
+ font-weight: ${FONT_WEIGHTS.REGULAR};
178
+ top: 2px;
179
+ bottom: 2px;
180
+ }
181
+
182
+ .rdrMonthAndYearWrapper {
183
+ display: none;
184
+ }
185
+ `
@@ -0,0 +1,57 @@
1
+ import { YearPicker } from "components/calendars/blocks/YearPicker"
2
+ import { FlexBlock, PaddedFlexBlock } from "components/layout/FlexBlock"
3
+ import moment, { Moment } from "moment"
4
+ import * as React from "react"
5
+ import { useState } from "react"
6
+ import styled from "styled-components"
7
+ import { SPACINGS } from "styles/spacings"
8
+ import { useTheme } from "styles/theme/useTheme"
9
+ import { maxDateBetween, } from "utils/dateTimeHelpers"
10
+ import { DO_NOTHING } from "utils/functionHelpers"
11
+ import { maxNumberBetween } from "utils/numberHelpers"
12
+
13
+ type Props = {
14
+ fluid: boolean,
15
+ initialDate: Moment,
16
+ minDate?: Moment,
17
+ onChange: () => void,
18
+ }
19
+
20
+ export let TinyMonthYearCalendar = ({
21
+ fluid = false,
22
+ initialDate = moment(),
23
+ minDate = moment().year(Number.MIN_VALUE),
24
+ onChange = DO_NOTHING,
25
+ }: Props) => {
26
+ const [date, setDate] = useState<Moment>(initialDate)
27
+ const theme = useTheme()
28
+
29
+ const currentYear = moment().year()
30
+ const maxYear = currentYear + 10
31
+ const minYear = maxNumberBetween(
32
+ currentYear - 5,
33
+ minDate ? minDate.year() : Number.NEGATIVE_INFINITY,
34
+ )
35
+
36
+ const changeDateState = (year: string) => {
37
+ const newDate = moment(date).year(Number(year))
38
+ setDate(maxDateBetween(newDate, minDate))
39
+ }
40
+
41
+ return <Container fluid={fluid}
42
+ withRows
43
+ spacing={SPACINGS.SM}>
44
+ <YearPicker minYear={minYear}
45
+ maxYear={maxYear}
46
+ year={date.year()}
47
+ onYearSelected={changeDateState}
48
+ />
49
+ <FlexBlock>
50
+
51
+ </FlexBlock>
52
+ </Container>
53
+ }
54
+
55
+ const Container = styled(PaddedFlexBlock)`
56
+ width: ${({ fluid }) => fluid ? "100%" : "24.5rem"};
57
+ `
@@ -0,0 +1,44 @@
1
+ // @flow
2
+
3
+ import { Legendable } from "components/calendars/Legendable.type"
4
+ import { FlexBlock } from "components/layout/FlexBlock"
5
+ import { Text } from "components/text/Text"
6
+ import * as React from "react"
7
+ import styled from "styled-components"
8
+ import { SPACINGS } from "styles/spacings"
9
+ import { FONT_SIZES } from "styles/typography"
10
+
11
+ type Props = {
12
+ legendables :Array<Legendable>,
13
+ defaultColor :string,
14
+ }
15
+
16
+ export const Legend = ({ legendables, defaultColor } :Props) => {
17
+ const foundLabels = new Set()
18
+
19
+ return <LegendContainer withRows spacing={SPACINGS.XS}>
20
+ {legendables.map(({ color, label } :Legendable) => {
21
+ if (foundLabels.has(label)) return null
22
+ foundLabels.add(label)
23
+
24
+ return <FlexBlock key={label}
25
+ alignItems={"center"}
26
+ spacing={SPACINGS.SM}>
27
+ <ColorBlock color={color || defaultColor} />
28
+ <Text>{label}</Text>
29
+ </FlexBlock>
30
+ })}
31
+ </LegendContainer>
32
+ }
33
+
34
+ Legend.COMPONENT_NAME = "Legend"
35
+
36
+ const LegendContainer = styled(FlexBlock)`
37
+ font-size: ${FONT_SIZES.XS};
38
+ `
39
+
40
+ const ColorBlock = styled.div`
41
+ background: ${({ color }) => color};
42
+ height: .75rem;
43
+ width: .75rem;
44
+ `
@@ -0,0 +1,54 @@
1
+ import { SearchableSelector } from "components/forms/selectors/SearchableSelector"
2
+ import React from "react"
3
+ import { Month, MONTH_MAP } from "utils/dateTime/calendar"
4
+
5
+ const parseNumberAndCall = (action: (n: number) => void) => (s: string) => {
6
+ action(Number(s))
7
+ }
8
+
9
+ const toTitleCase = (s: string) => (
10
+ s.toLowerCase()
11
+ .split(" ")
12
+ .map((str: string) => str.charAt(0).toUpperCase() + str.substring(1))
13
+ .join(" ")
14
+ )
15
+
16
+ const keyField = "monthNum"
17
+ const valueField = "monthName"
18
+ const [MONTH_OPTIONS, OPTIONS_KEY_MAP] = Object.keys(MONTH_MAP).reduce(
19
+ ([monthOptions, optionsKeyMap], m: string) => {
20
+ const op = {
21
+ [keyField]: MONTH_MAP[m as Month],
22
+ [valueField]: toTitleCase(m),
23
+ }
24
+ // @ts-ignore
25
+ monthOptions.push(op)
26
+ // @ts-ignore
27
+ optionsKeyMap[MONTH_MAP[m as Month]] = op
28
+
29
+ return [monthOptions, optionsKeyMap]
30
+ },
31
+ [[], {}],
32
+ )
33
+
34
+ type Props = {
35
+ month: number,
36
+ onMonthSelected: (n: number) => void
37
+ }
38
+
39
+ export const MonthPicker = ({ month, onMonthSelected }: Props) => {
40
+ return (
41
+ <SearchableSelector compact
42
+ flat
43
+ maxMenuHeight={"10rem"}
44
+ options={MONTH_OPTIONS}
45
+ optionsKeyMap={OPTIONS_KEY_MAP}
46
+ keyField={keyField}
47
+ valueField={valueField}
48
+ selectedKey={month.toString()}
49
+ emptyState={"Type or Select Month"}
50
+ // @ts-ignore
51
+ onChange={parseNumberAndCall(onMonthSelected)}
52
+ />
53
+ )
54
+ }
@@ -0,0 +1,101 @@
1
+ import { mdiArrowLeft, mdiArrowRight } from "@mdi/js"
2
+ import { MonthPicker } from "components/calendars/blocks/MonthPicker"
3
+ import { YearPicker } from "components/calendars/blocks/YearPicker"
4
+ import { IconButton } from "components/forms/IconButton"
5
+ import { FlexBlock } from "components/layout/FlexBlock"
6
+ import moment, { Moment } from "moment"
7
+ import React from "react"
8
+ import styled from "styled-components"
9
+ import { SPACINGS } from "styles/spacings"
10
+ import { getNextMonth, getPrevMonth, MONTH_MAP } from "utils/dateTime/calendar"
11
+ import { maxNumberBetween } from "utils/numberHelpers"
12
+
13
+ export type MonthYearPickerChange = { month: number, year: number }
14
+
15
+ type Props = {
16
+ month: number,
17
+ year: number,
18
+ minDate?: Moment,
19
+ pastFutureYearRangeSize: number,
20
+ onChange: (c: MonthYearPickerChange) => void,
21
+ }
22
+
23
+ export const MonthYearPicker = ({
24
+ month,
25
+ year,
26
+ minDate,
27
+ pastFutureYearRangeSize,
28
+ onChange,
29
+ }: Props) => {
30
+
31
+ const currentYear = moment().year()
32
+ const maxYear = currentYear + pastFutureYearRangeSize
33
+ const minYear = maxNumberBetween(
34
+ currentYear - pastFutureYearRangeSize,
35
+ minDate ? minDate.year() : Number.NEGATIVE_INFINITY,
36
+ )
37
+
38
+ const sendPreviousMonth = () => {
39
+ const changes = {
40
+ month: getPrevMonth(month),
41
+ year: month === MONTH_MAP.JANUARY ? year - 1 : year,
42
+ }
43
+
44
+ if (changes.year < minYear) return
45
+
46
+ // @ts-ignore
47
+ onChange(changes)
48
+ }
49
+
50
+ const sendNextMonth = () => {
51
+ const changes = {
52
+ month: getNextMonth(month),
53
+ year: month === MONTH_MAP.DECEMBER ? year + 1 : year,
54
+ }
55
+
56
+ if (changes.year > maxYear) return
57
+
58
+ // @ts-ignore
59
+ onChange(changes)
60
+ }
61
+
62
+ const sendSelectedMonth = (m: string) => {
63
+ onChange({ month: Number(m), year })
64
+ }
65
+
66
+ const sendSelectedYear = (y: string) => {
67
+ onChange({ month, year: Number(y) })
68
+ }
69
+
70
+ return <Container alignItems={"center"}>
71
+ <NavButton icon={mdiArrowLeft}
72
+ onClick={sendPreviousMonth} />
73
+ <PickersContainer>
74
+ {/*@ts-ignore*/}
75
+ <MonthPicker month={month} onMonthSelected={sendSelectedMonth} />
76
+ <YearPicker year={year}
77
+ minYear={minYear}
78
+ maxYear={maxYear}
79
+ onYearSelected={sendSelectedYear} />
80
+ </PickersContainer>
81
+ <NavButton icon={mdiArrowRight}
82
+ onClick={sendNextMonth} />
83
+ </Container>
84
+ }
85
+
86
+ const NavButton = styled(IconButton).attrs({
87
+ flat: true,
88
+ })``
89
+
90
+ const Container = styled(FlexBlock)`
91
+ margin-bottom: ${SPACINGS.XS};
92
+ align-items: center;
93
+ `
94
+
95
+ const PickersContainer = styled(FlexBlock).attrs({
96
+ spacing: SPACINGS.XS,
97
+ })`
98
+ margin-left: ${SPACINGS.XS};
99
+ flex: 1;
100
+ justify-content: center;
101
+ `