@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.
- package/LICENSE +201 -0
- package/dist/accordion/accordion-item.d.ts +24 -0
- package/dist/accordion/accordion-item.d.ts.map +1 -0
- package/dist/accordion/accordion-item.js +92 -0
- package/dist/accordion/accordion-item.js.map +1 -0
- package/dist/accordion/accordion.d.ts +32 -0
- package/dist/accordion/accordion.d.ts.map +1 -0
- package/dist/accordion/accordion.js +87 -0
- package/dist/accordion/accordion.js.map +1 -0
- package/dist/badge/badge.d.ts +20 -0
- package/dist/badge/badge.d.ts.map +1 -0
- package/dist/badge/badge.js +42 -0
- package/dist/badge/badge.js.map +1 -0
- package/dist/button/button.d.ts +35 -0
- package/dist/button/button.d.ts.map +1 -0
- package/dist/button/button.js +169 -0
- package/dist/button/button.js.map +1 -0
- package/dist/button-bar/button-bar.d.ts +19 -0
- package/dist/button-bar/button-bar.d.ts.map +1 -0
- package/dist/button-bar/button-bar.js +124 -0
- package/dist/button-bar/button-bar.js.map +1 -0
- package/dist/carousel/carousel.d.ts +23 -0
- package/dist/carousel/carousel.d.ts.map +1 -0
- package/dist/carousel/carousel.js +178 -0
- package/dist/carousel/carousel.js.map +1 -0
- package/dist/chat/chat.d.ts +28 -0
- package/dist/chat/chat.d.ts.map +1 -0
- package/dist/chat/chat.js +182 -0
- package/dist/chat/chat.js.map +1 -0
- package/dist/chat/message.d.ts +28 -0
- package/dist/chat/message.d.ts.map +1 -0
- package/dist/chat/message.js +220 -0
- package/dist/chat/message.js.map +1 -0
- package/dist/checkbox/checkbox-group.d.ts +35 -0
- package/dist/checkbox/checkbox-group.d.ts.map +1 -0
- package/dist/checkbox/checkbox-group.js +116 -0
- package/dist/checkbox/checkbox-group.js.map +1 -0
- package/dist/checkbox/checkbox.d.ts +27 -0
- package/dist/checkbox/checkbox.d.ts.map +1 -0
- package/dist/checkbox/checkbox.js +164 -0
- package/dist/checkbox/checkbox.js.map +1 -0
- package/dist/checkbox/tri-state-checkbox.d.ts +22 -0
- package/dist/checkbox/tri-state-checkbox.d.ts.map +1 -0
- package/dist/checkbox/tri-state-checkbox.js +87 -0
- package/dist/checkbox/tri-state-checkbox.js.map +1 -0
- package/dist/code-viewer/code-viewer.d.ts +31 -0
- package/dist/code-viewer/code-viewer.d.ts.map +1 -0
- package/dist/code-viewer/code-viewer.js +115 -0
- package/dist/code-viewer/code-viewer.js.map +1 -0
- package/dist/combo-box/combo-box.d.ts +39 -0
- package/dist/combo-box/combo-box.d.ts.map +1 -0
- package/dist/combo-box/combo-box.js +176 -0
- package/dist/combo-box/combo-box.js.map +1 -0
- package/dist/component-select-list/component-select-list.d.ts +27 -0
- package/dist/component-select-list/component-select-list.d.ts.map +1 -0
- package/dist/component-select-list/component-select-list.js +131 -0
- package/dist/component-select-list/component-select-list.js.map +1 -0
- package/dist/constants.d.ts +33 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +47 -0
- package/dist/constants.js.map +1 -0
- package/dist/context-menu/context-menu.d.ts +24 -0
- package/dist/context-menu/context-menu.d.ts.map +1 -0
- package/dist/context-menu/context-menu.js +116 -0
- package/dist/context-menu/context-menu.js.map +1 -0
- package/dist/datepicker/datepicker-select.d.ts +48 -0
- package/dist/datepicker/datepicker-select.d.ts.map +1 -0
- package/dist/datepicker/datepicker-select.js +219 -0
- package/dist/datepicker/datepicker-select.js.map +1 -0
- package/dist/datepicker/datepicker.d.ts +56 -0
- package/dist/datepicker/datepicker.d.ts.map +1 -0
- package/dist/datepicker/datepicker.js +669 -0
- package/dist/datepicker/datepicker.js.map +1 -0
- package/dist/dropzone/dropzone.d.ts +21 -0
- package/dist/dropzone/dropzone.d.ts.map +1 -0
- package/dist/dropzone/dropzone.js +80 -0
- package/dist/dropzone/dropzone.js.map +1 -0
- package/dist/error-boundary/error-boundary.d.ts +33 -0
- package/dist/error-boundary/error-boundary.d.ts.map +1 -0
- package/dist/error-boundary/error-boundary.js +72 -0
- package/dist/error-boundary/error-boundary.js.map +1 -0
- package/dist/filter/categorical-filter.d.ts +26 -0
- package/dist/filter/categorical-filter.d.ts.map +1 -0
- package/dist/filter/categorical-filter.js +153 -0
- package/dist/filter/categorical-filter.js.map +1 -0
- package/dist/filter/datetime-filter.d.ts +28 -0
- package/dist/filter/datetime-filter.d.ts.map +1 -0
- package/dist/filter/datetime-filter.js +174 -0
- package/dist/filter/datetime-filter.js.map +1 -0
- package/dist/filter/numeric-filter.d.ts +24 -0
- package/dist/filter/numeric-filter.d.ts.map +1 -0
- package/dist/filter/numeric-filter.js +148 -0
- package/dist/filter/numeric-filter.js.map +1 -0
- package/dist/hierarchy-selector/hierarchy-selector.d.ts +31 -0
- package/dist/hierarchy-selector/hierarchy-selector.d.ts.map +1 -0
- package/dist/hierarchy-selector/hierarchy-selector.js +65 -0
- package/dist/hierarchy-selector/hierarchy-selector.js.map +1 -0
- package/dist/hierarchy-selector/node/branch.d.ts +47 -0
- package/dist/hierarchy-selector/node/branch.d.ts.map +1 -0
- package/dist/hierarchy-selector/node/branch.js +132 -0
- package/dist/hierarchy-selector/node/branch.js.map +1 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/input/input.d.ts +44 -0
- package/dist/input/input.d.ts.map +1 -0
- package/dist/input/input.js +91 -0
- package/dist/input/input.js.map +1 -0
- package/dist/jest-setup.d.ts +18 -0
- package/dist/jest-setup.d.ts.map +1 -0
- package/dist/jest-setup.js +18 -0
- package/dist/jest-setup.js.map +1 -0
- package/dist/markdown/markdown.d.ts +18 -0
- package/dist/markdown/markdown.d.ts.map +1 -0
- package/dist/markdown/markdown.js +356 -0
- package/dist/markdown/markdown.js.map +1 -0
- package/dist/modal/modal.d.ts +37 -0
- package/dist/modal/modal.d.ts.map +1 -0
- package/dist/modal/modal.js +121 -0
- package/dist/modal/modal.js.map +1 -0
- package/dist/multiselect/multiselect.d.ts +31 -0
- package/dist/multiselect/multiselect.d.ts.map +1 -0
- package/dist/multiselect/multiselect.js +231 -0
- package/dist/multiselect/multiselect.js.map +1 -0
- package/dist/numeric-input/input-stepper.d.ts +33 -0
- package/dist/numeric-input/input-stepper.d.ts.map +1 -0
- package/dist/numeric-input/input-stepper.js +54 -0
- package/dist/numeric-input/input-stepper.js.map +1 -0
- package/dist/numeric-input/numeric-input.d.ts +42 -0
- package/dist/numeric-input/numeric-input.d.ts.map +1 -0
- package/dist/numeric-input/numeric-input.js +234 -0
- package/dist/numeric-input/numeric-input.js.map +1 -0
- package/dist/progress-bar/progress-bar.d.ts +23 -0
- package/dist/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/progress-bar/progress-bar.js +90 -0
- package/dist/progress-bar/progress-bar.js.map +1 -0
- package/dist/radio/radio-group.d.ts +19 -0
- package/dist/radio/radio-group.d.ts.map +1 -0
- package/dist/radio/radio-group.js +160 -0
- package/dist/radio/radio-group.js.map +1 -0
- package/dist/search-bar/search-bar.d.ts +34 -0
- package/dist/search-bar/search-bar.d.ts.map +1 -0
- package/dist/search-bar/search-bar.js +39 -0
- package/dist/search-bar/search-bar.js.map +1 -0
- package/dist/sectioned-list/sectioned-list.d.ts +29 -0
- package/dist/sectioned-list/sectioned-list.d.ts.map +1 -0
- package/dist/sectioned-list/sectioned-list.js +205 -0
- package/dist/sectioned-list/sectioned-list.js.map +1 -0
- package/dist/select/select.d.ts +54 -0
- package/dist/select/select.d.ts.map +1 -0
- package/dist/select/select.js +143 -0
- package/dist/select/select.js.map +1 -0
- package/dist/shared/chevron-button.d.ts +13 -0
- package/dist/shared/chevron-button.d.ts.map +1 -0
- package/dist/shared/chevron-button.js +35 -0
- package/dist/shared/chevron-button.js.map +1 -0
- package/dist/shared/dropdown-list.d.ts +34 -0
- package/dist/shared/dropdown-list.d.ts.map +1 -0
- package/dist/shared/dropdown-list.js +33 -0
- package/dist/shared/dropdown-list.js.map +1 -0
- package/dist/shared/list-item.d.ts +35 -0
- package/dist/shared/list-item.d.ts.map +1 -0
- package/dist/shared/list-item.js +69 -0
- package/dist/shared/list-item.js.map +1 -0
- package/dist/slider/slider-inputs.d.ts +36 -0
- package/dist/slider/slider-inputs.d.ts.map +1 -0
- package/dist/slider/slider-inputs.js +88 -0
- package/dist/slider/slider-inputs.js.map +1 -0
- package/dist/slider/slider.d.ts +53 -0
- package/dist/slider/slider.d.ts.map +1 -0
- package/dist/slider/slider.js +273 -0
- package/dist/slider/slider.js.map +1 -0
- package/dist/spinner/spinner.d.ts +19 -0
- package/dist/spinner/spinner.d.ts.map +1 -0
- package/dist/spinner/spinner.js +144 -0
- package/dist/spinner/spinner.js.map +1 -0
- package/dist/switch/sun-icon.d.ts +3 -0
- package/dist/switch/sun-icon.d.ts.map +1 -0
- package/dist/switch/sun-icon.js +24 -0
- package/dist/switch/sun-icon.js.map +1 -0
- package/dist/switch/switch.d.ts +16 -0
- package/dist/switch/switch.d.ts.map +1 -0
- package/dist/switch/switch.js +92 -0
- package/dist/switch/switch.js.map +1 -0
- package/dist/table/cells/action-cell.d.ts +34 -0
- package/dist/table/cells/action-cell.d.ts.map +1 -0
- package/dist/table/cells/action-cell.js +68 -0
- package/dist/table/cells/action-cell.js.map +1 -0
- package/dist/table/cells/datetime-cell.d.ts +12 -0
- package/dist/table/cells/datetime-cell.d.ts.map +1 -0
- package/dist/table/cells/datetime-cell.js +36 -0
- package/dist/table/cells/datetime-cell.js.map +1 -0
- package/dist/table/cells/edit-cell-utils.d.ts +32 -0
- package/dist/table/cells/edit-cell-utils.d.ts.map +1 -0
- package/dist/table/cells/edit-cell-utils.js +2 -0
- package/dist/table/cells/edit-cell-utils.js.map +1 -0
- package/dist/table/cells/edit-input-cell.d.ts +10 -0
- package/dist/table/cells/edit-input-cell.d.ts.map +1 -0
- package/dist/table/cells/edit-input-cell.js +61 -0
- package/dist/table/cells/edit-input-cell.js.map +1 -0
- package/dist/table/cells/edit-select-cell.d.ts +12 -0
- package/dist/table/cells/edit-select-cell.d.ts.map +1 -0
- package/dist/table/cells/edit-select-cell.js +55 -0
- package/dist/table/cells/edit-select-cell.js.map +1 -0
- package/dist/table/filters.d.ts +46 -0
- package/dist/table/filters.d.ts.map +1 -0
- package/dist/table/filters.js +226 -0
- package/dist/table/filters.js.map +1 -0
- package/dist/table/headers/select-header.d.ts +14 -0
- package/dist/table/headers/select-header.d.ts.map +1 -0
- package/dist/table/headers/select-header.js +41 -0
- package/dist/table/headers/select-header.js.map +1 -0
- package/dist/table/options-menu.d.ts +25 -0
- package/dist/table/options-menu.d.ts.map +1 -0
- package/dist/table/options-menu.js +123 -0
- package/dist/table/options-menu.js.map +1 -0
- package/dist/table/render-row.d.ts +25 -0
- package/dist/table/render-row.d.ts.map +1 -0
- package/dist/table/render-row.js +163 -0
- package/dist/table/render-row.js.map +1 -0
- package/dist/table/table.d.ts +95 -0
- package/dist/table/table.d.ts.map +1 -0
- package/dist/table/table.js +422 -0
- package/dist/table/table.js.map +1 -0
- package/dist/table/types.d.ts +30 -0
- package/dist/table/types.d.ts.map +1 -0
- package/dist/table/types.js +2 -0
- package/dist/table/types.js.map +1 -0
- package/dist/tabs/tabs.d.ts +22 -0
- package/dist/tabs/tabs.d.ts.map +1 -0
- package/dist/tabs/tabs.js +91 -0
- package/dist/tabs/tabs.js.map +1 -0
- package/dist/textarea/textarea.d.ts +47 -0
- package/dist/textarea/textarea.d.ts.map +1 -0
- package/dist/textarea/textarea.js +121 -0
- package/dist/textarea/textarea.js.map +1 -0
- package/dist/tooltip/tooltip.d.ts +48 -0
- package/dist/tooltip/tooltip.d.ts.map +1 -0
- package/dist/tooltip/tooltip.js +116 -0
- package/dist/tooltip/tooltip.js.map +1 -0
- package/dist/types.d.ts +94 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/chevron.d.ts +34 -0
- package/dist/utils/chevron.d.ts.map +1 -0
- package/dist/utils/chevron.js +38 -0
- package/dist/utils/chevron.js.map +1 -0
- package/dist/utils/index.d.ts +22 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/label.d.ts +3 -0
- package/dist/utils/label.d.ts.map +1 -0
- package/dist/utils/label.js +24 -0
- package/dist/utils/label.js.map +1 -0
- package/dist/utils/list-styles.d.ts +8 -0
- package/dist/utils/list-styles.d.ts.map +1 -0
- package/dist/utils/list-styles.js +43 -0
- package/dist/utils/list-styles.js.map +1 -0
- package/dist/utils/match-width-to-reference.d.ts +24 -0
- package/dist/utils/match-width-to-reference.d.ts.map +1 -0
- package/dist/utils/match-width-to-reference.js +30 -0
- package/dist/utils/match-width-to-reference.js.map +1 -0
- package/dist/utils/syncKbdHighlightIdx.d.ts +23 -0
- package/dist/utils/syncKbdHighlightIdx.d.ts.map +1 -0
- package/dist/utils/syncKbdHighlightIdx.js +41 -0
- package/dist/utils/syncKbdHighlightIdx.js.map +1 -0
- package/dist/utils/use-infinite-loader.d.ts +32 -0
- package/dist/utils/use-infinite-loader.d.ts.map +1 -0
- package/dist/utils/use-infinite-loader.js +119 -0
- package/dist/utils/use-infinite-loader.js.map +1 -0
- package/dist/utils/use-on-click-outside.d.ts +3 -0
- package/dist/utils/use-on-click-outside.d.ts.map +1 -0
- package/dist/utils/use-on-click-outside.js +36 -0
- package/dist/utils/use-on-click-outside.js.map +1 -0
- 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"}
|