@darajs/ui-components 0.4.8

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 (278) hide show
  1. package/LICENSE +201 -0
  2. package/dist/accordion/accordion-item.d.ts +24 -0
  3. package/dist/accordion/accordion-item.d.ts.map +1 -0
  4. package/dist/accordion/accordion-item.js +92 -0
  5. package/dist/accordion/accordion-item.js.map +1 -0
  6. package/dist/accordion/accordion.d.ts +32 -0
  7. package/dist/accordion/accordion.d.ts.map +1 -0
  8. package/dist/accordion/accordion.js +87 -0
  9. package/dist/accordion/accordion.js.map +1 -0
  10. package/dist/badge/badge.d.ts +20 -0
  11. package/dist/badge/badge.d.ts.map +1 -0
  12. package/dist/badge/badge.js +42 -0
  13. package/dist/badge/badge.js.map +1 -0
  14. package/dist/button/button.d.ts +35 -0
  15. package/dist/button/button.d.ts.map +1 -0
  16. package/dist/button/button.js +169 -0
  17. package/dist/button/button.js.map +1 -0
  18. package/dist/button-bar/button-bar.d.ts +19 -0
  19. package/dist/button-bar/button-bar.d.ts.map +1 -0
  20. package/dist/button-bar/button-bar.js +124 -0
  21. package/dist/button-bar/button-bar.js.map +1 -0
  22. package/dist/carousel/carousel.d.ts +23 -0
  23. package/dist/carousel/carousel.d.ts.map +1 -0
  24. package/dist/carousel/carousel.js +178 -0
  25. package/dist/carousel/carousel.js.map +1 -0
  26. package/dist/chat/chat.d.ts +28 -0
  27. package/dist/chat/chat.d.ts.map +1 -0
  28. package/dist/chat/chat.js +182 -0
  29. package/dist/chat/chat.js.map +1 -0
  30. package/dist/chat/message.d.ts +28 -0
  31. package/dist/chat/message.d.ts.map +1 -0
  32. package/dist/chat/message.js +220 -0
  33. package/dist/chat/message.js.map +1 -0
  34. package/dist/checkbox/checkbox-group.d.ts +35 -0
  35. package/dist/checkbox/checkbox-group.d.ts.map +1 -0
  36. package/dist/checkbox/checkbox-group.js +116 -0
  37. package/dist/checkbox/checkbox-group.js.map +1 -0
  38. package/dist/checkbox/checkbox.d.ts +27 -0
  39. package/dist/checkbox/checkbox.d.ts.map +1 -0
  40. package/dist/checkbox/checkbox.js +164 -0
  41. package/dist/checkbox/checkbox.js.map +1 -0
  42. package/dist/checkbox/tri-state-checkbox.d.ts +22 -0
  43. package/dist/checkbox/tri-state-checkbox.d.ts.map +1 -0
  44. package/dist/checkbox/tri-state-checkbox.js +87 -0
  45. package/dist/checkbox/tri-state-checkbox.js.map +1 -0
  46. package/dist/code-viewer/code-viewer.d.ts +31 -0
  47. package/dist/code-viewer/code-viewer.d.ts.map +1 -0
  48. package/dist/code-viewer/code-viewer.js +115 -0
  49. package/dist/code-viewer/code-viewer.js.map +1 -0
  50. package/dist/combo-box/combo-box.d.ts +39 -0
  51. package/dist/combo-box/combo-box.d.ts.map +1 -0
  52. package/dist/combo-box/combo-box.js +176 -0
  53. package/dist/combo-box/combo-box.js.map +1 -0
  54. package/dist/component-select-list/component-select-list.d.ts +27 -0
  55. package/dist/component-select-list/component-select-list.d.ts.map +1 -0
  56. package/dist/component-select-list/component-select-list.js +131 -0
  57. package/dist/component-select-list/component-select-list.js.map +1 -0
  58. package/dist/constants.d.ts +33 -0
  59. package/dist/constants.d.ts.map +1 -0
  60. package/dist/constants.js +47 -0
  61. package/dist/constants.js.map +1 -0
  62. package/dist/context-menu/context-menu.d.ts +24 -0
  63. package/dist/context-menu/context-menu.d.ts.map +1 -0
  64. package/dist/context-menu/context-menu.js +116 -0
  65. package/dist/context-menu/context-menu.js.map +1 -0
  66. package/dist/datepicker/datepicker-select.d.ts +48 -0
  67. package/dist/datepicker/datepicker-select.d.ts.map +1 -0
  68. package/dist/datepicker/datepicker-select.js +219 -0
  69. package/dist/datepicker/datepicker-select.js.map +1 -0
  70. package/dist/datepicker/datepicker.d.ts +56 -0
  71. package/dist/datepicker/datepicker.d.ts.map +1 -0
  72. package/dist/datepicker/datepicker.js +669 -0
  73. package/dist/datepicker/datepicker.js.map +1 -0
  74. package/dist/dropzone/dropzone.d.ts +21 -0
  75. package/dist/dropzone/dropzone.d.ts.map +1 -0
  76. package/dist/dropzone/dropzone.js +80 -0
  77. package/dist/dropzone/dropzone.js.map +1 -0
  78. package/dist/error-boundary/error-boundary.d.ts +33 -0
  79. package/dist/error-boundary/error-boundary.d.ts.map +1 -0
  80. package/dist/error-boundary/error-boundary.js +72 -0
  81. package/dist/error-boundary/error-boundary.js.map +1 -0
  82. package/dist/filter/categorical-filter.d.ts +26 -0
  83. package/dist/filter/categorical-filter.d.ts.map +1 -0
  84. package/dist/filter/categorical-filter.js +153 -0
  85. package/dist/filter/categorical-filter.js.map +1 -0
  86. package/dist/filter/datetime-filter.d.ts +28 -0
  87. package/dist/filter/datetime-filter.d.ts.map +1 -0
  88. package/dist/filter/datetime-filter.js +174 -0
  89. package/dist/filter/datetime-filter.js.map +1 -0
  90. package/dist/filter/numeric-filter.d.ts +24 -0
  91. package/dist/filter/numeric-filter.d.ts.map +1 -0
  92. package/dist/filter/numeric-filter.js +148 -0
  93. package/dist/filter/numeric-filter.js.map +1 -0
  94. package/dist/hierarchy-selector/hierarchy-selector.d.ts +31 -0
  95. package/dist/hierarchy-selector/hierarchy-selector.d.ts.map +1 -0
  96. package/dist/hierarchy-selector/hierarchy-selector.js +65 -0
  97. package/dist/hierarchy-selector/hierarchy-selector.js.map +1 -0
  98. package/dist/hierarchy-selector/node/branch.d.ts +47 -0
  99. package/dist/hierarchy-selector/node/branch.d.ts.map +1 -0
  100. package/dist/hierarchy-selector/node/branch.js +132 -0
  101. package/dist/hierarchy-selector/node/branch.js.map +1 -0
  102. package/dist/index.d.ts +57 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +55 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/input/input.d.ts +44 -0
  107. package/dist/input/input.d.ts.map +1 -0
  108. package/dist/input/input.js +91 -0
  109. package/dist/input/input.js.map +1 -0
  110. package/dist/jest-setup.d.ts +18 -0
  111. package/dist/jest-setup.d.ts.map +1 -0
  112. package/dist/jest-setup.js +18 -0
  113. package/dist/jest-setup.js.map +1 -0
  114. package/dist/markdown/markdown.d.ts +18 -0
  115. package/dist/markdown/markdown.d.ts.map +1 -0
  116. package/dist/markdown/markdown.js +356 -0
  117. package/dist/markdown/markdown.js.map +1 -0
  118. package/dist/modal/modal.d.ts +37 -0
  119. package/dist/modal/modal.d.ts.map +1 -0
  120. package/dist/modal/modal.js +121 -0
  121. package/dist/modal/modal.js.map +1 -0
  122. package/dist/multiselect/multiselect.d.ts +31 -0
  123. package/dist/multiselect/multiselect.d.ts.map +1 -0
  124. package/dist/multiselect/multiselect.js +231 -0
  125. package/dist/multiselect/multiselect.js.map +1 -0
  126. package/dist/numeric-input/input-stepper.d.ts +33 -0
  127. package/dist/numeric-input/input-stepper.d.ts.map +1 -0
  128. package/dist/numeric-input/input-stepper.js +54 -0
  129. package/dist/numeric-input/input-stepper.js.map +1 -0
  130. package/dist/numeric-input/numeric-input.d.ts +42 -0
  131. package/dist/numeric-input/numeric-input.d.ts.map +1 -0
  132. package/dist/numeric-input/numeric-input.js +234 -0
  133. package/dist/numeric-input/numeric-input.js.map +1 -0
  134. package/dist/progress-bar/progress-bar.d.ts +23 -0
  135. package/dist/progress-bar/progress-bar.d.ts.map +1 -0
  136. package/dist/progress-bar/progress-bar.js +90 -0
  137. package/dist/progress-bar/progress-bar.js.map +1 -0
  138. package/dist/radio/radio-group.d.ts +19 -0
  139. package/dist/radio/radio-group.d.ts.map +1 -0
  140. package/dist/radio/radio-group.js +160 -0
  141. package/dist/radio/radio-group.js.map +1 -0
  142. package/dist/search-bar/search-bar.d.ts +34 -0
  143. package/dist/search-bar/search-bar.d.ts.map +1 -0
  144. package/dist/search-bar/search-bar.js +39 -0
  145. package/dist/search-bar/search-bar.js.map +1 -0
  146. package/dist/sectioned-list/sectioned-list.d.ts +29 -0
  147. package/dist/sectioned-list/sectioned-list.d.ts.map +1 -0
  148. package/dist/sectioned-list/sectioned-list.js +205 -0
  149. package/dist/sectioned-list/sectioned-list.js.map +1 -0
  150. package/dist/select/select.d.ts +54 -0
  151. package/dist/select/select.d.ts.map +1 -0
  152. package/dist/select/select.js +143 -0
  153. package/dist/select/select.js.map +1 -0
  154. package/dist/shared/chevron-button.d.ts +13 -0
  155. package/dist/shared/chevron-button.d.ts.map +1 -0
  156. package/dist/shared/chevron-button.js +35 -0
  157. package/dist/shared/chevron-button.js.map +1 -0
  158. package/dist/shared/dropdown-list.d.ts +34 -0
  159. package/dist/shared/dropdown-list.d.ts.map +1 -0
  160. package/dist/shared/dropdown-list.js +33 -0
  161. package/dist/shared/dropdown-list.js.map +1 -0
  162. package/dist/shared/list-item.d.ts +35 -0
  163. package/dist/shared/list-item.d.ts.map +1 -0
  164. package/dist/shared/list-item.js +69 -0
  165. package/dist/shared/list-item.js.map +1 -0
  166. package/dist/slider/slider-inputs.d.ts +36 -0
  167. package/dist/slider/slider-inputs.d.ts.map +1 -0
  168. package/dist/slider/slider-inputs.js +88 -0
  169. package/dist/slider/slider-inputs.js.map +1 -0
  170. package/dist/slider/slider.d.ts +53 -0
  171. package/dist/slider/slider.d.ts.map +1 -0
  172. package/dist/slider/slider.js +273 -0
  173. package/dist/slider/slider.js.map +1 -0
  174. package/dist/spinner/spinner.d.ts +19 -0
  175. package/dist/spinner/spinner.d.ts.map +1 -0
  176. package/dist/spinner/spinner.js +144 -0
  177. package/dist/spinner/spinner.js.map +1 -0
  178. package/dist/switch/sun-icon.d.ts +3 -0
  179. package/dist/switch/sun-icon.d.ts.map +1 -0
  180. package/dist/switch/sun-icon.js +24 -0
  181. package/dist/switch/sun-icon.js.map +1 -0
  182. package/dist/switch/switch.d.ts +16 -0
  183. package/dist/switch/switch.d.ts.map +1 -0
  184. package/dist/switch/switch.js +92 -0
  185. package/dist/switch/switch.js.map +1 -0
  186. package/dist/table/cells/action-cell.d.ts +34 -0
  187. package/dist/table/cells/action-cell.d.ts.map +1 -0
  188. package/dist/table/cells/action-cell.js +68 -0
  189. package/dist/table/cells/action-cell.js.map +1 -0
  190. package/dist/table/cells/datetime-cell.d.ts +12 -0
  191. package/dist/table/cells/datetime-cell.d.ts.map +1 -0
  192. package/dist/table/cells/datetime-cell.js +36 -0
  193. package/dist/table/cells/datetime-cell.js.map +1 -0
  194. package/dist/table/cells/edit-cell-utils.d.ts +32 -0
  195. package/dist/table/cells/edit-cell-utils.d.ts.map +1 -0
  196. package/dist/table/cells/edit-cell-utils.js +2 -0
  197. package/dist/table/cells/edit-cell-utils.js.map +1 -0
  198. package/dist/table/cells/edit-input-cell.d.ts +10 -0
  199. package/dist/table/cells/edit-input-cell.d.ts.map +1 -0
  200. package/dist/table/cells/edit-input-cell.js +61 -0
  201. package/dist/table/cells/edit-input-cell.js.map +1 -0
  202. package/dist/table/cells/edit-select-cell.d.ts +12 -0
  203. package/dist/table/cells/edit-select-cell.d.ts.map +1 -0
  204. package/dist/table/cells/edit-select-cell.js +55 -0
  205. package/dist/table/cells/edit-select-cell.js.map +1 -0
  206. package/dist/table/filters.d.ts +46 -0
  207. package/dist/table/filters.d.ts.map +1 -0
  208. package/dist/table/filters.js +226 -0
  209. package/dist/table/filters.js.map +1 -0
  210. package/dist/table/headers/select-header.d.ts +14 -0
  211. package/dist/table/headers/select-header.d.ts.map +1 -0
  212. package/dist/table/headers/select-header.js +41 -0
  213. package/dist/table/headers/select-header.js.map +1 -0
  214. package/dist/table/options-menu.d.ts +25 -0
  215. package/dist/table/options-menu.d.ts.map +1 -0
  216. package/dist/table/options-menu.js +123 -0
  217. package/dist/table/options-menu.js.map +1 -0
  218. package/dist/table/render-row.d.ts +25 -0
  219. package/dist/table/render-row.d.ts.map +1 -0
  220. package/dist/table/render-row.js +163 -0
  221. package/dist/table/render-row.js.map +1 -0
  222. package/dist/table/table.d.ts +95 -0
  223. package/dist/table/table.d.ts.map +1 -0
  224. package/dist/table/table.js +422 -0
  225. package/dist/table/table.js.map +1 -0
  226. package/dist/table/types.d.ts +30 -0
  227. package/dist/table/types.d.ts.map +1 -0
  228. package/dist/table/types.js +2 -0
  229. package/dist/table/types.js.map +1 -0
  230. package/dist/tabs/tabs.d.ts +22 -0
  231. package/dist/tabs/tabs.d.ts.map +1 -0
  232. package/dist/tabs/tabs.js +91 -0
  233. package/dist/tabs/tabs.js.map +1 -0
  234. package/dist/textarea/textarea.d.ts +47 -0
  235. package/dist/textarea/textarea.d.ts.map +1 -0
  236. package/dist/textarea/textarea.js +121 -0
  237. package/dist/textarea/textarea.js.map +1 -0
  238. package/dist/tooltip/tooltip.d.ts +48 -0
  239. package/dist/tooltip/tooltip.d.ts.map +1 -0
  240. package/dist/tooltip/tooltip.js +116 -0
  241. package/dist/tooltip/tooltip.js.map +1 -0
  242. package/dist/types.d.ts +94 -0
  243. package/dist/types.d.ts.map +1 -0
  244. package/dist/types.js +2 -0
  245. package/dist/types.js.map +1 -0
  246. package/dist/utils/chevron.d.ts +34 -0
  247. package/dist/utils/chevron.d.ts.map +1 -0
  248. package/dist/utils/chevron.js +38 -0
  249. package/dist/utils/chevron.js.map +1 -0
  250. package/dist/utils/index.d.ts +22 -0
  251. package/dist/utils/index.d.ts.map +1 -0
  252. package/dist/utils/index.js +22 -0
  253. package/dist/utils/index.js.map +1 -0
  254. package/dist/utils/label.d.ts +3 -0
  255. package/dist/utils/label.d.ts.map +1 -0
  256. package/dist/utils/label.js +24 -0
  257. package/dist/utils/label.js.map +1 -0
  258. package/dist/utils/list-styles.d.ts +8 -0
  259. package/dist/utils/list-styles.d.ts.map +1 -0
  260. package/dist/utils/list-styles.js +43 -0
  261. package/dist/utils/list-styles.js.map +1 -0
  262. package/dist/utils/match-width-to-reference.d.ts +24 -0
  263. package/dist/utils/match-width-to-reference.d.ts.map +1 -0
  264. package/dist/utils/match-width-to-reference.js +30 -0
  265. package/dist/utils/match-width-to-reference.js.map +1 -0
  266. package/dist/utils/syncKbdHighlightIdx.d.ts +23 -0
  267. package/dist/utils/syncKbdHighlightIdx.d.ts.map +1 -0
  268. package/dist/utils/syncKbdHighlightIdx.js +41 -0
  269. package/dist/utils/syncKbdHighlightIdx.js.map +1 -0
  270. package/dist/utils/use-infinite-loader.d.ts +32 -0
  271. package/dist/utils/use-infinite-loader.d.ts.map +1 -0
  272. package/dist/utils/use-infinite-loader.js +119 -0
  273. package/dist/utils/use-infinite-loader.js.map +1 -0
  274. package/dist/utils/use-on-click-outside.d.ts +3 -0
  275. package/dist/utils/use-on-click-outside.d.ts.map +1 -0
  276. package/dist/utils/use-on-click-outside.js +36 -0
  277. package/dist/utils/use-on-click-outside.js.map +1 -0
  278. package/package.json +106 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-select.d.ts","sourceRoot":"","sources":["../../src/datepicker/datepicker-select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,EAA0E,MAAM,oBAAoB,CAAC;AAEvH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAqO3D,MAAM,WAAW,WAAY,SAAQ,yBAAyB,CAAC,IAAI,CAAC;IAChE,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,gDAAgD;IAChD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,iBAAS,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CAyGzD;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,219 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ /**
14
+ * Copyright 2023 Impulse Innovations Limited
15
+ *
16
+ *
17
+ * Licensed under the Apache License, Version 2.0 (the "License");
18
+ * you may not use this file except in compliance with the License.
19
+ * You may obtain a copy of the License at
20
+ *
21
+ * http://www.apache.org/licenses/LICENSE-2.0
22
+ *
23
+ * Unless required by applicable law or agreed to in writing, software
24
+ * distributed under the License is distributed on an "AS IS" BASIS,
25
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
+ * See the License for the specific language governing permissions and
27
+ * limitations under the License.
28
+ */
29
+ import { autoUpdate, flip, offset, shift, useFloating, useInteractions, useRole } from '@floating-ui/react';
30
+ import { useSelect } from 'downshift';
31
+ import * as React from 'react';
32
+ import ReactDOM from 'react-dom';
33
+ import styled from '@darajs/styled-components';
34
+ import DropdownList from '../shared/dropdown-list';
35
+ import Tooltip from '../tooltip/tooltip';
36
+ import { Chevron } from '../utils';
37
+ import { syncKbdHighlightIdx } from '../utils/syncKbdHighlightIdx';
38
+ const { stateChangeTypes } = useSelect;
39
+ const SelectedItem = styled.div `
40
+ width: 100%;
41
+ font-size: ${(props) => (props.size ? `${props.size}rem` : props.theme.font.size)};
42
+ font-weight: 300;
43
+ `;
44
+ const Wrapper = styled.div `
45
+ display: inline-flex;
46
+ width: 6.25rem;
47
+ height: 1.5rem;
48
+ border-radius: 0.25rem;
49
+
50
+ ${(props) => {
51
+ if (props.isDisabled) {
52
+ return `
53
+ border: 1px solid ${props.theme.colors.grey1};
54
+ cursor: not-allowed;
55
+ `;
56
+ }
57
+ if (props.isErrored) {
58
+ return `border: 1px solid ${props.theme.colors.error};`;
59
+ }
60
+ return `
61
+ border: 1px solid ${props.theme.colors.grey1};
62
+ `;
63
+ }}
64
+ `;
65
+ const SelectButton = styled.button `
66
+ cursor: pointer;
67
+
68
+ display: inline-flex;
69
+ flex: 1 1 auto;
70
+ align-items: center;
71
+ justify-content: space-between;
72
+
73
+ width: 100%;
74
+ height: 100%;
75
+ padding: 0 0.5rem 0 1rem;
76
+
77
+ font-size: ${(props) => props.theme.font.size};
78
+
79
+ border: none;
80
+ outline: 0;
81
+
82
+ :not(:enabled) {
83
+ cursor: not-allowed;
84
+ }
85
+ `;
86
+ const SelectButtonPrimary = styled(SelectButton) `
87
+ justify-content: start;
88
+
89
+ width: 100%;
90
+ padding: 0 0.25rem;
91
+
92
+ font-size: 0.875rem;
93
+ color: ${(props) => props.theme.colors.text};
94
+
95
+ background-color: ${(props) => props.theme.colors.grey1};
96
+ border-radius: 0.25rem;
97
+
98
+ :hover:enabled {
99
+ background-color: ${(props) => props.theme.colors.grey2};
100
+ }
101
+
102
+ svg {
103
+ width: 1rem !important;
104
+ height: 0.8rem;
105
+ margin-left: 0.5rem !important;
106
+ }
107
+
108
+ :disabled {
109
+ color: ${(props) => props.theme.colors.grey2};
110
+
111
+ svg {
112
+ color: ${(props) => props.theme.colors.grey2};
113
+ }
114
+ }
115
+ `;
116
+ const StyledDatepickerListItem = styled.span `
117
+ cursor: pointer;
118
+ user-select: none;
119
+
120
+ overflow: hidden;
121
+ display: flex;
122
+ align-items: center;
123
+
124
+ width: 100%;
125
+ min-height: 2rem;
126
+ padding: 0.25rem 1.5rem;
127
+
128
+ font-size: 0.75rem;
129
+ font-weight: 300;
130
+ color: ${(props) => (props.isSelected ? '#FFF' : props.theme.colors.text)};
131
+ text-overflow: ellipsis;
132
+ white-space: nowrap;
133
+
134
+ background-color: ${(props) => {
135
+ if (props.isSelected) {
136
+ return props.theme.colors.primary;
137
+ }
138
+ if (props.isHighlighted) {
139
+ return props.theme.colors.grey2;
140
+ }
141
+ return props.theme.colors.grey1;
142
+ }};
143
+ border-radius: 0.25rem;
144
+
145
+ :hover {
146
+ background-color: ${(props) => (props.isSelected ? props.theme.colors.primary : props.theme.colors.grey2)};
147
+ }
148
+
149
+ :active {
150
+ background-color: ${(props) => props.theme.colors.grey1};
151
+ }
152
+
153
+ &:last-child {
154
+ border-bottom: none;
155
+ }
156
+ `;
157
+ const DatepickerListItem = React.memo(({ item, index, getItemProps, isSelected, size, isHighlighted }) => {
158
+ const _a = getItemProps({ index, item }), { itemClassName } = _a, itemProps = __rest(_a, ["itemClassName"]);
159
+ return (_jsx(StyledDatepickerListItem, Object.assign({}, itemProps, { isSelected: isSelected, title: item.label, item: item, index: index, size: size, isHighlighted: isHighlighted, children: item.label })));
160
+ });
161
+ const StyledDropdownList = React.memo(styled(DropdownList) `
162
+ overflow-y: auto;
163
+ display: ${(props) => (props.isOpen ? 'flex' : 'none')};
164
+ flex-direction: column;
165
+ gap: 0.125rem;
166
+
167
+ width: 16.25rem;
168
+ max-height: calc(
169
+ ${(props) => (props.maxItems || 5) * 2}em + 2px + (${(props) => (props.maxItems || 5) - 1}) * 0.125em
170
+ );
171
+ margin-left: ${(props) => props.displacement}rem;
172
+
173
+ background-color: ${(props) => props.theme.colors.grey1};
174
+ border: none;
175
+ box-shadow: none;
176
+ `);
177
+ const DatepickerSelectButtonPrimary = React.memo(({ disabled, getToggleButtonProps, setReference, getReferenceProps, size, isOpen, selectedItem, }) => (_jsxs(SelectButtonPrimary, Object.assign({ disabled: disabled }, getToggleButtonProps({ disabled, ref: setReference }), getReferenceProps(), { type: "button", children: [_jsx(SelectedItem, { size: size, children: selectedItem ? selectedItem.label : 'Select' }), _jsx(Chevron, { disabled: disabled, isOpen: isOpen })] }))));
178
+ /**
179
+ * A single select dropdown component that has no search capability, accepts a list of items to select from and an
180
+ * onSelect handler to listen for changes in the selection
181
+ *
182
+ * @param {SelectProps} props - the props of the component
183
+ */
184
+ function DatepickerSelect(props) {
185
+ var _a;
186
+ const [kbdHighlightIdx, setKbdHighlightIdx] = React.useState();
187
+ const { isOpen, selectedItem, getToggleButtonProps, getMenuProps, getItemProps } = useSelect(Object.assign(Object.assign(Object.assign({ initialSelectedItem: props.initialValue, itemToString: (item) => item.label, items: props.items, onSelectedItemChange: (changes) => {
188
+ const selected = changes.selectedItem;
189
+ if (props.onSelect) {
190
+ props.onSelect(selected);
191
+ }
192
+ } }, syncKbdHighlightIdx(setKbdHighlightIdx)), { stateReducer: (state, { changes, type }) => {
193
+ // Hack to scroll to the selected item when the menu is opened
194
+ // https://github.com/downshift-js/downshift/issues/645
195
+ if (type === stateChangeTypes.ToggleButtonClick && (changes === null || changes === void 0 ? void 0 : changes.isOpen) && props.selectedItem) {
196
+ return Object.assign(Object.assign({}, changes), { highlightedIndex: props.items.findIndex((i) => i.value === changes.selectedItem.value) });
197
+ }
198
+ return changes;
199
+ } }), (props.selectedItem && { selectedItem: props.selectedItem })));
200
+ const { refs, floatingStyles, context } = useFloating({
201
+ open: isOpen,
202
+ placement: props.placement || 'bottom-start',
203
+ middleware: [offset(8), flip(), shift()],
204
+ whileElementsMounted: isOpen ? autoUpdate : undefined,
205
+ });
206
+ const role = useRole(context, { role: 'listbox' });
207
+ const { getReferenceProps, getFloatingProps } = useInteractions([role]);
208
+ const setFloatingRef = refs.setFloating;
209
+ const { dropdownRef } = props;
210
+ const mergedDropdownRef = React.useCallback((node) => {
211
+ setFloatingRef(node);
212
+ dropdownRef === null || dropdownRef === void 0 ? void 0 : dropdownRef(node);
213
+ }, [setFloatingRef, dropdownRef]);
214
+ const menuProps = React.useMemo(() => getMenuProps({ ref: mergedDropdownRef }), [mergedDropdownRef, getMenuProps]);
215
+ const renderListItem = React.useCallback((item, index) => (_jsx(DatepickerListItem, { item: item, index: index, getItemProps: getItemProps, isSelected: (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label) === item.label, isHighlighted: isOpen && kbdHighlightIdx !== undefined && kbdHighlightIdx === index }, `item-${index}-${isOpen && (selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label) === item.label}`)), [getItemProps, selectedItem, isOpen, kbdHighlightIdx]);
216
+ return (_jsx(Tooltip, { content: props.errorMsg, disabled: !props.errorMsg, styling: "error", children: _jsxs(Wrapper, { className: props.className, isDisabled: props.disabled, isErrored: !!props.errorMsg, onClick: props.onClick, style: props.style, children: [_jsx(DatepickerSelectButtonPrimary, { disabled: props.disabled, getToggleButtonProps: getToggleButtonProps, setReference: refs.setReference, getReferenceProps: getReferenceProps, size: props.size, isOpen: isOpen, selectedItem: selectedItem }), ReactDOM.createPortal(_jsx(StyledDropdownList, { items: props.items, getItemProps: getItemProps, getFloatingProps: getFloatingProps, style: floatingStyles, isOpen: isOpen, getMenuProps: getMenuProps, size: props.size, className: `${(_a = menuProps === null || menuProps === void 0 ? void 0 : menuProps.className) !== null && _a !== void 0 ? _a : ''} ${props.itemClass}`, itemClass: props.itemClass, displacement: props.displacement, maxItems: 7, ref: mergedDropdownRef, kbdHighlightIdx: kbdHighlightIdx, children: renderListItem }), document.body)] }) }));
217
+ }
218
+ export default DatepickerSelect;
219
+ //# sourceMappingURL=datepicker-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker-select.js","sourceRoot":"","sources":["../../src/datepicker/datepicker-select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import 'react-datepicker/dist/react-datepicker.css';
2
+ import { InteractiveComponentProps } from '../types';
3
+ type DatepickerValue = Date | [Date, Date];
4
+ /**
5
+ * Change type of the value used based on `selectsRange` prop
6
+ *
7
+ * @prop selectsRange - whether the datepicker is in range select mode
8
+ * @prop onChange - an optional onChange handler, will be called whenever the state of the datepicker changes
9
+ * @prop value - the value of the datepicker puts it in controlled mode
10
+ * @prop initialValue - the initial value of the datepicker
11
+ */
12
+ type ConditionalProps = {
13
+ initialValue?: [Date, Date];
14
+ onChange?: (date: [Date, Date], e?: React.SyntheticEvent<SVGSVGElement, Event>) => void | Promise<void>;
15
+ selectsRange: true;
16
+ value?: [Date, Date];
17
+ } | {
18
+ initialValue?: Date;
19
+ onChange?: (date: Date, e?: React.SyntheticEvent<SVGSVGElement, Event>) => void | Promise<void>;
20
+ selectsRange?: false;
21
+ value?: Date;
22
+ };
23
+ /**
24
+ * Omitting props which are explicitly set in the conditional part of props.
25
+ */
26
+ interface CommonDatePickerProps extends Omit<InteractiveComponentProps<DatepickerValue>, 'initialValue' | 'value'> {
27
+ /** Dateformat string - how the dateformat will be shown - default dd/MM/yyyy */
28
+ dateFormat?: string;
29
+ /** Optional property to disable the date picker */
30
+ disabled?: boolean;
31
+ /** Whether to show the datepicker inline */
32
+ inline?: boolean;
33
+ /** Maximum date available - default is off */
34
+ maxDate?: Date;
35
+ /** Minimum date available - default is off */
36
+ minDate?: Date;
37
+ /** Controls popper positioning strategy */
38
+ popperStrategy?: 'absolute' | 'fixed';
39
+ /** Accepts ref to be passed to select dropdowns */
40
+ portalsRef?: React.MutableRefObject<HTMLElement[]>;
41
+ /** Optional classname to pass down to items of select components used in datepicker */
42
+ selectItemClass?: string;
43
+ /** Controls if the datepicker will be closed when a date is selected */
44
+ shouldCloseOnSelect: boolean;
45
+ /** Controls if the time input should be enabled - default is off */
46
+ showTimeInput?: boolean;
47
+ }
48
+ export type DatePickerProps = CommonDatePickerProps & ConditionalProps;
49
+ /**
50
+ * A simple datepicker component
51
+ *
52
+ * @param {DatePickerProps} props - the component props
53
+ */
54
+ declare function DatePicker(props: DatePickerProps): JSX.Element;
55
+ export default DatePicker;
56
+ //# sourceMappingURL=datepicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../src/datepicker/datepicker.tsx"],"names":[],"mappings":"AAwBA,OAAO,4CAA4C,CAAC;AAQpD,OAAO,EAAE,yBAAyB,EAAQ,MAAM,UAAU,CAAC;AA6X3D,KAAK,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAG3C;;;;;;;GAOG;AACH,KAAK,gBAAgB,GACf;IACI,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxG,YAAY,EAAE,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CACxB,GACD;IACI,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,KAAK,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAER;;GAEG;AACH,UAAU,qBAAsB,SAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAC9G,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8CAA8C;IAC9C,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,2CAA2C;IAC3C,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IACtC,mDAAmD;IACnD,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAqJvE;;;;GAIG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CA2RvD;AAED,eAAe,UAAU,CAAC"}