no-frills-ui 0.0.13 → 0.0.14-alpha.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.
- package/README.md +56 -23
- package/dist/index.js +1899 -3579
- package/dist/index.js.map +1 -1
- package/lib-esm/components/Accordion/Accordion.d.ts +2 -2
- package/lib-esm/components/Accordion/Accordion.js +8 -7
- package/lib-esm/components/Accordion/Accordion.js.map +1 -1
- package/lib-esm/components/Accordion/AccordionStep.d.ts +10 -5
- package/lib-esm/components/Accordion/AccordionStep.js +3 -12
- package/lib-esm/components/Accordion/AccordionStep.js.map +1 -1
- package/lib-esm/components/Badge/Badge.d.ts +3 -2
- package/lib-esm/components/Badge/Badge.js +6 -4
- package/lib-esm/components/Badge/Badge.js.map +1 -1
- package/lib-esm/components/Button/ActionButton.d.ts +4 -2
- package/lib-esm/components/Button/Button.d.ts +4 -2
- package/lib-esm/components/Button/IconButton.d.ts +4 -2
- package/lib-esm/components/Button/LinkButton.d.ts +4 -2
- package/lib-esm/components/Button/RaisedButton.d.ts +4 -2
- package/lib-esm/components/Card/Card.d.ts +4 -2
- package/lib-esm/components/Card/index.d.ts +1 -0
- package/lib-esm/components/Card/index.js +1 -0
- package/lib-esm/components/Card/index.js.map +1 -1
- package/lib-esm/components/Chip/Chip.d.ts +8 -0
- package/lib-esm/components/Chip/Chip.js +48 -0
- package/lib-esm/components/Chip/Chip.js.map +1 -0
- package/lib-esm/components/Chip/index.d.ts +1 -0
- package/lib-esm/components/Chip/index.js +2 -0
- package/lib-esm/components/Chip/index.js.map +1 -0
- package/lib-esm/components/ChipInput/ChipInput.d.ts +33 -0
- package/lib-esm/components/ChipInput/ChipInput.js +216 -0
- package/lib-esm/components/ChipInput/ChipInput.js.map +1 -0
- package/lib-esm/components/ChipInput/index.d.ts +1 -0
- package/lib-esm/components/ChipInput/index.js +2 -0
- package/lib-esm/components/ChipInput/index.js.map +1 -0
- package/lib-esm/components/Dialog/AlertDialog.d.ts +3 -3
- package/lib-esm/components/Dialog/AlertDialog.js +5 -7
- package/lib-esm/components/Dialog/AlertDialog.js.map +1 -1
- package/lib-esm/components/Dialog/ConfirmDialog.d.ts +2 -2
- package/lib-esm/components/Dialog/ConfirmDialog.js +4 -7
- package/lib-esm/components/Dialog/ConfirmDialog.js.map +1 -1
- package/lib-esm/components/Dialog/Dialog.d.ts +8 -11
- package/lib-esm/components/Dialog/Dialog.js +3 -2
- package/lib-esm/components/Dialog/Dialog.js.map +1 -1
- package/lib-esm/components/Dialog/PromptDialog.d.ts +2 -2
- package/lib-esm/components/Dialog/PromptDialog.js +4 -11
- package/lib-esm/components/Dialog/PromptDialog.js.map +1 -1
- package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts +45 -0
- package/lib-esm/components/DragAndDrop/DragAndDrop.js +61 -0
- package/lib-esm/components/DragAndDrop/DragAndDrop.js.map +1 -0
- package/lib-esm/components/DragAndDrop/DragItem.d.ts +46 -0
- package/lib-esm/components/DragAndDrop/DragItem.js +187 -0
- package/lib-esm/components/DragAndDrop/DragItem.js.map +1 -0
- package/lib-esm/components/DragAndDrop/index.d.ts +2 -0
- package/lib-esm/components/DragAndDrop/index.js +3 -0
- package/lib-esm/components/DragAndDrop/index.js.map +1 -0
- package/lib-esm/components/DragAndDrop/types.d.ts +12 -0
- package/lib-esm/components/DragAndDrop/types.js +8 -0
- package/lib-esm/components/DragAndDrop/types.js.map +1 -0
- package/lib-esm/components/Drawer/Drawer.d.ts +3 -3
- package/lib-esm/components/Drawer/Drawer.js +5 -3
- package/lib-esm/components/Drawer/Drawer.js.map +1 -1
- package/lib-esm/components/Groups/Group.d.ts +1 -1
- package/lib-esm/components/Groups/Group.js +2 -4
- package/lib-esm/components/Groups/Group.js.map +1 -1
- package/lib-esm/components/Groups/GroupLabel.d.ts +4 -2
- package/lib-esm/components/Input/Checkbox.d.ts +2 -2
- package/lib-esm/components/Input/Checkbox.js +4 -4
- package/lib-esm/components/Input/Checkbox.js.map +1 -1
- package/lib-esm/components/Input/Dropdown.d.ts +2 -2
- package/lib-esm/components/Input/Dropdown.js +7 -6
- package/lib-esm/components/Input/Dropdown.js.map +1 -1
- package/lib-esm/components/Input/Input.d.ts +5 -2
- package/lib-esm/components/Input/Input.js +3 -5
- package/lib-esm/components/Input/Input.js.map +1 -1
- package/lib-esm/components/Input/Radio.d.ts +2 -1
- package/lib-esm/components/Input/Radio.js +2 -4
- package/lib-esm/components/Input/Radio.js.map +1 -1
- package/lib-esm/components/Input/RadioButton.d.ts +5 -2
- package/lib-esm/components/Input/RadioButton.js +2 -4
- package/lib-esm/components/Input/RadioButton.js.map +1 -1
- package/lib-esm/components/Input/Select.d.ts +1 -1
- package/lib-esm/components/Input/Select.js +4 -9
- package/lib-esm/components/Input/Select.js.map +1 -1
- package/lib-esm/components/Input/TextArea.d.ts +1 -1
- package/lib-esm/components/Input/TextArea.js +3 -5
- package/lib-esm/components/Input/TextArea.js.map +1 -1
- package/lib-esm/components/Input/Toggle.d.ts +3 -2
- package/lib-esm/components/Input/Toggle.js +2 -5
- package/lib-esm/components/Input/Toggle.js.map +1 -1
- package/lib-esm/components/Menu/Menu.d.ts +1 -1
- package/lib-esm/components/Menu/Menu.js +3 -3
- package/lib-esm/components/Menu/Menu.js.map +1 -1
- package/lib-esm/components/Menu/MenuContext.d.ts +0 -1
- package/lib-esm/components/Menu/MenuItem.d.ts +1 -1
- package/lib-esm/components/Menu/MenuItem.js +4 -5
- package/lib-esm/components/Menu/MenuItem.js.map +1 -1
- package/lib-esm/components/Modal/Modal.d.ts +3 -3
- package/lib-esm/components/Modal/Modal.js +5 -3
- package/lib-esm/components/Modal/Modal.js.map +1 -1
- package/lib-esm/components/Notification/Notification.d.ts +4 -36
- package/lib-esm/components/Notification/Notification.js +4 -19
- package/lib-esm/components/Notification/Notification.js.map +1 -1
- package/lib-esm/components/Notification/NotificationManager.d.ts +2 -2
- package/lib-esm/components/Notification/NotificationManager.js +6 -18
- package/lib-esm/components/Notification/NotificationManager.js.map +1 -1
- package/lib-esm/components/Notification/index.d.ts +2 -1
- package/lib-esm/components/Notification/index.js +2 -1
- package/lib-esm/components/Notification/index.js.map +1 -1
- package/lib-esm/components/Notification/style.d.ts +38 -17
- package/lib-esm/components/Notification/style.js +1 -1
- package/lib-esm/components/Notification/style.js.map +1 -1
- package/lib-esm/components/Notification/types.d.ts +34 -0
- package/lib-esm/components/Notification/types.js +18 -0
- package/lib-esm/components/Notification/types.js.map +1 -0
- package/lib-esm/components/Popover/Popover.d.ts +1 -1
- package/lib-esm/components/Popover/Popover.js +15 -7
- package/lib-esm/components/Popover/Popover.js.map +1 -1
- package/lib-esm/components/Spinner/Spinner.d.ts +2 -2
- package/lib-esm/components/Spinner/Spinner.js +2 -2
- package/lib-esm/components/Spinner/Spinner.js.map +1 -1
- package/lib-esm/components/Stepper/Step.d.ts +2 -1
- package/lib-esm/components/Stepper/Step.js +2 -2
- package/lib-esm/components/Stepper/Step.js.map +1 -1
- package/lib-esm/components/Stepper/Stepper.d.ts +2 -2
- package/lib-esm/components/Stepper/Stepper.js +3 -14
- package/lib-esm/components/Stepper/Stepper.js.map +1 -1
- package/lib-esm/components/Tabs/Tab.d.ts +1 -1
- package/lib-esm/components/Tabs/Tab.js +2 -2
- package/lib-esm/components/Tabs/Tab.js.map +1 -1
- package/lib-esm/components/Tabs/Tabs.d.ts +1 -1
- package/lib-esm/components/Tabs/Tabs.js +3 -4
- package/lib-esm/components/Tabs/Tabs.js.map +1 -1
- package/lib-esm/components/Toast/Toast.js +3 -5
- package/lib-esm/components/Toast/Toast.js.map +1 -1
- package/lib-esm/components/Toast/ToastStory.d.ts +3 -1
- package/lib-esm/components/Toast/ToastStory.js +2 -1
- package/lib-esm/components/Toast/ToastStory.js.map +1 -1
- package/lib-esm/components/Tooltip/Tooltip.d.ts +3 -3
- package/lib-esm/components/Tooltip/Tooltip.js +3 -5
- package/lib-esm/components/Tooltip/Tooltip.js.map +1 -1
- package/lib-esm/components/index.d.ts +3 -1
- package/lib-esm/components/index.js +3 -1
- package/lib-esm/components/index.js.map +1 -1
- package/lib-esm/icons/CheckCircle.d.ts +1 -1
- package/lib-esm/icons/CheckCircle.js +2 -4
- package/lib-esm/icons/CheckCircle.js.map +1 -1
- package/lib-esm/icons/Close.d.ts +1 -1
- package/lib-esm/icons/Close.js +2 -4
- package/lib-esm/icons/Close.js.map +1 -1
- package/lib-esm/icons/DragIndicator.d.ts +1 -0
- package/lib-esm/icons/DragIndicator.js +5 -0
- package/lib-esm/icons/DragIndicator.js.map +1 -0
- package/lib-esm/icons/ErrorOutline.d.ts +1 -1
- package/lib-esm/icons/ErrorOutline.js +2 -3
- package/lib-esm/icons/ErrorOutline.js.map +1 -1
- package/lib-esm/icons/ExpandMore.d.ts +1 -1
- package/lib-esm/icons/ExpandMore.js +2 -4
- package/lib-esm/icons/ExpandMore.js.map +1 -1
- package/lib-esm/icons/FiberManualRecord.d.ts +1 -1
- package/lib-esm/icons/FiberManualRecord.js +2 -4
- package/lib-esm/icons/FiberManualRecord.js.map +1 -1
- package/lib-esm/icons/Info.d.ts +1 -1
- package/lib-esm/icons/Info.js +2 -4
- package/lib-esm/icons/Info.js.map +1 -1
- package/lib-esm/icons/ReportProblem.d.ts +1 -1
- package/lib-esm/icons/ReportProblem.js +2 -4
- package/lib-esm/icons/ReportProblem.js.map +1 -1
- package/lib-esm/icons/index.d.ts +1 -0
- package/lib-esm/icons/index.js +1 -0
- package/lib-esm/icons/index.js.map +1 -1
- package/lib-esm/shared/LayerManager.js +3 -2
- package/lib-esm/shared/LayerManager.js.map +1 -1
- package/lib-esm/shared/styles.d.ts +16 -5
- package/package.json +27 -24
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import styled from '@emotion/styled';
|
|
4
|
+
import DragItem from './DragItem';
|
|
5
|
+
import { ORIENTATION, DragContext } from './types';
|
|
6
|
+
/** Container Component */
|
|
7
|
+
const Container = styled.div `
|
|
8
|
+
flex: 1;
|
|
9
|
+
display: flex;
|
|
10
|
+
position: relative;
|
|
11
|
+
flex-wrap: wrap;
|
|
12
|
+
flex-direction: ${props => props.orientation === ORIENTATION.HORIZONTAL ? 'row' : 'column'};
|
|
13
|
+
`;
|
|
14
|
+
/**
|
|
15
|
+
* A drag and drop container component that enables reordering of child elements.
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <DragAndDrop
|
|
21
|
+
* orientation={ORIENTATION.VERTICAL}
|
|
22
|
+
* onDrop={(start, end) => handleReorder(start, end)}
|
|
23
|
+
* showIndicator={true}
|
|
24
|
+
* >
|
|
25
|
+
* <div>Item 1</div>
|
|
26
|
+
* <div>Item 2</div>
|
|
27
|
+
* <div>Item 3</div>
|
|
28
|
+
* </DragAndDrop>
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @param {DragAndDropProps} props - The component props
|
|
32
|
+
* @param {ORIENTATION} props.orientation - Determines the layout direction (horizontal or vertical). Defaults to VERTICAL.
|
|
33
|
+
* @param {(start: number, end: number) => void} props.onDrop - Callback fired when an item is dropped, receives the start and end indices
|
|
34
|
+
* @param {boolean} props.showIndicator - Whether to display drag indicators for each list item. Defaults to false.
|
|
35
|
+
* @param {React.ReactNode} props.children - Child elements to be rendered as draggable items
|
|
36
|
+
*
|
|
37
|
+
* @returns {JSX.Element} A draggable container with reorderable items
|
|
38
|
+
*/
|
|
39
|
+
export default function DragAndDrop(props) {
|
|
40
|
+
const { orientation, children, onDrop, showIndicator } = props;
|
|
41
|
+
const [startIndex, setStartIndex] = useState(null);
|
|
42
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
43
|
+
const [dragOver, setDragOver] = useState(null);
|
|
44
|
+
/**
|
|
45
|
+
* Drop handler invoked when a draggable item is released.
|
|
46
|
+
* @param index
|
|
47
|
+
*/
|
|
48
|
+
const drop = (index) => {
|
|
49
|
+
startIndex !== null && (onDrop === null || onDrop === void 0 ? void 0 : onDrop(startIndex, index));
|
|
50
|
+
setStartIndex(null);
|
|
51
|
+
setIsDragging(false);
|
|
52
|
+
};
|
|
53
|
+
return (_jsx(DragContext.Provider, { value: { startIndex, setStartIndex, drop, isDragging, setIsDragging, setDragOver }, children: _jsx(Container, { orientation: orientation, children: React.Children.map(children, (child, index) => (_jsx(DragItem, { index: index, orientation: orientation, showIndicator: showIndicator, dragOver: dragOver, children: child }))) }) }));
|
|
54
|
+
}
|
|
55
|
+
DragAndDrop.defaultProps = {
|
|
56
|
+
/** Orientation of the list layout */
|
|
57
|
+
orientation: ORIENTATION.VERTICAL,
|
|
58
|
+
/** Whether to display drag indicators for each list item */
|
|
59
|
+
showIndicator: false,
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=DragAndDrop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragAndDrop.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/DragAndDrop.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAqB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWnD,0BAA0B;AAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAA4B;;;;;sBAKlC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;CAC7F,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAuB;IACvD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,IAAI,CAAC,CAAC;IAEvD;;;OAGG;IACH,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE;QAC3B,UAAU,KAAK,IAAI,KAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,UAAU,EAAE,KAAK,CAAC,CAAA,CAAC;QACnD,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,aAAa,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAA;IAED,OAAO,CAAC,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,YAC5G,KAAC,SAAS,IAAC,WAAW,EAAE,WAAW,YAC9B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC5C,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,YAC7F,KAAK,GACC,CACd,CAAC,GACM,GACO,CAAC,CAAC;AAC7B,CAAC;AAED,WAAW,CAAC,YAAY,GAAG;IACvB,qCAAqC;IACrC,WAAW,EAAE,WAAW,CAAC,QAAQ;IACjC,4DAA4D;IAC5D,aAAa,EAAE,KAAK;CACvB,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { ORIENTATION } from './types';
|
|
3
|
+
interface DragItemProps {
|
|
4
|
+
/** Position index of the draggable item */
|
|
5
|
+
index: number;
|
|
6
|
+
/** Orientation of the drag operation (VERTICAL or HORIZONTAL) */
|
|
7
|
+
orientation: ORIENTATION;
|
|
8
|
+
/** Whether to show a drag handle indicator instead of making the entire item draggable */
|
|
9
|
+
showIndicator: boolean;
|
|
10
|
+
/** The index of the item currently being dragged over */
|
|
11
|
+
dragOver: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A draggable item component that supports both mouse and touch interactions for drag-and-drop functionality.
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <DragItem
|
|
20
|
+
* index={0}
|
|
21
|
+
* orientation={ORIENTATION.VERTICAL}
|
|
22
|
+
* showIndicator={true}
|
|
23
|
+
* dragOver={-1}
|
|
24
|
+
* >
|
|
25
|
+
* <div>Draggable content</div>
|
|
26
|
+
* </DragItem>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @param props - The component props
|
|
30
|
+
* @param props.index - The position index of this item in the draggable list
|
|
31
|
+
* @param props.orientation - The orientation of the drag operation (VERTICAL or HORIZONTAL)
|
|
32
|
+
* @param props.showIndicator - Whether to show a drag handle indicator instead of making the entire item draggable
|
|
33
|
+
* @param props.dragOver - The index of the item currently being dragged over
|
|
34
|
+
* @param props.children - The content to be rendered inside the draggable item
|
|
35
|
+
*
|
|
36
|
+
* @remarks
|
|
37
|
+
* - Uses the DragContext to manage drag state across items
|
|
38
|
+
* - Provides visual feedback with borders during drag operations
|
|
39
|
+
* - Supports haptic feedback (vibration) on touch devices
|
|
40
|
+
* - For touch devices, requires a 200ms hold before drag starts
|
|
41
|
+
* - When showIndicator is true, only the drag handle can initiate drag operations
|
|
42
|
+
*
|
|
43
|
+
* @returns A draggable item with optional drag indicator and visual feedback
|
|
44
|
+
*/
|
|
45
|
+
export default function DragItem(props: PropsWithChildren<DragItemProps>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useContext, useState, useEffect } from 'react';
|
|
3
|
+
import styled from '@emotion/styled';
|
|
4
|
+
import constants from '../../shared/constants';
|
|
5
|
+
import { ORIENTATION, DragContext } from './types';
|
|
6
|
+
import { DragIndicator } from '../../icons';
|
|
7
|
+
/** Styled component for the draggable item container */
|
|
8
|
+
const Item = styled.div `
|
|
9
|
+
cursor: ${props => props.showIndicator ? 'default' : 'move'};
|
|
10
|
+
display: flex;
|
|
11
|
+
user-select: ${props => props.showIndicator ? 'auto' : 'none'};
|
|
12
|
+
border-top: 2px solid ${props => props.orientation === ORIENTATION.VERTICAL && props.active > 0
|
|
13
|
+
? constants.PRIMARY : 'transparent'};
|
|
14
|
+
border-bottom: 2px solid ${props => props.orientation === ORIENTATION.VERTICAL && props.active < 0
|
|
15
|
+
? constants.PRIMARY : 'transparent'};
|
|
16
|
+
border-left: 2px solid ${props => props.orientation === ORIENTATION.HORIZONTAL && props.active > 0
|
|
17
|
+
? constants.PRIMARY : 'transparent'};
|
|
18
|
+
border-right: 2px solid ${props => props.orientation === ORIENTATION.HORIZONTAL && props.active < 0
|
|
19
|
+
? constants.PRIMARY : 'transparent'};
|
|
20
|
+
opacity: ${props => props.dragging ? 0.5 : 1};
|
|
21
|
+
`;
|
|
22
|
+
/** Styled component for the drag handle indicator */
|
|
23
|
+
const DragKnob = styled.div `
|
|
24
|
+
padding-top: 8px;
|
|
25
|
+
cursor: move;
|
|
26
|
+
touch-action: none;
|
|
27
|
+
color: var(--disabled, ${constants.DISABLED});
|
|
28
|
+
`;
|
|
29
|
+
/** Container for the children */
|
|
30
|
+
const Container = styled.div `
|
|
31
|
+
flex: 1;
|
|
32
|
+
`;
|
|
33
|
+
/**
|
|
34
|
+
* A draggable item component that supports both mouse and touch interactions for drag-and-drop functionality.
|
|
35
|
+
*
|
|
36
|
+
* @component
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <DragItem
|
|
40
|
+
* index={0}
|
|
41
|
+
* orientation={ORIENTATION.VERTICAL}
|
|
42
|
+
* showIndicator={true}
|
|
43
|
+
* dragOver={-1}
|
|
44
|
+
* >
|
|
45
|
+
* <div>Draggable content</div>
|
|
46
|
+
* </DragItem>
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @param props - The component props
|
|
50
|
+
* @param props.index - The position index of this item in the draggable list
|
|
51
|
+
* @param props.orientation - The orientation of the drag operation (VERTICAL or HORIZONTAL)
|
|
52
|
+
* @param props.showIndicator - Whether to show a drag handle indicator instead of making the entire item draggable
|
|
53
|
+
* @param props.dragOver - The index of the item currently being dragged over
|
|
54
|
+
* @param props.children - The content to be rendered inside the draggable item
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
* - Uses the DragContext to manage drag state across items
|
|
58
|
+
* - Provides visual feedback with borders during drag operations
|
|
59
|
+
* - Supports haptic feedback (vibration) on touch devices
|
|
60
|
+
* - For touch devices, requires a 200ms hold before drag starts
|
|
61
|
+
* - When showIndicator is true, only the drag handle can initiate drag operations
|
|
62
|
+
*
|
|
63
|
+
* @returns A draggable item with optional drag indicator and visual feedback
|
|
64
|
+
*/
|
|
65
|
+
export default function DragItem(props) {
|
|
66
|
+
const { index, orientation, children, showIndicator, dragOver } = props;
|
|
67
|
+
const [active, setActive] = useState(0);
|
|
68
|
+
const [touchTimer, setTouchTimer] = useState(null);
|
|
69
|
+
const context = useContext(DragContext);
|
|
70
|
+
/**
|
|
71
|
+
* Vibrate the device for haptic feedback
|
|
72
|
+
* @param duration Duration of the vibration in milliseconds
|
|
73
|
+
*/
|
|
74
|
+
const vibrate = (duration) => {
|
|
75
|
+
if (navigator.vibrate) {
|
|
76
|
+
navigator.vibrate(duration);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Drag start event handler
|
|
81
|
+
* @param e Event
|
|
82
|
+
*/
|
|
83
|
+
const dragStartHandler = (e) => {
|
|
84
|
+
context.setStartIndex(index);
|
|
85
|
+
context.setIsDragging(true);
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Drag over event handler
|
|
89
|
+
* @param e Event
|
|
90
|
+
*/
|
|
91
|
+
const dragOverHandler = (e) => {
|
|
92
|
+
e.preventDefault();
|
|
93
|
+
e.stopPropagation();
|
|
94
|
+
setActive(context.startIndex - index);
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Drag leave event handler
|
|
98
|
+
*/
|
|
99
|
+
const dragExitHandler = () => {
|
|
100
|
+
setActive(0);
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Drop event handler
|
|
104
|
+
* @param e Event
|
|
105
|
+
*/
|
|
106
|
+
const dropHandler = (e) => {
|
|
107
|
+
e.preventDefault();
|
|
108
|
+
setActive(0);
|
|
109
|
+
context.drop(index);
|
|
110
|
+
context.setIsDragging(false);
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Touch start event handler
|
|
114
|
+
* @param e Event
|
|
115
|
+
*/
|
|
116
|
+
const touchStartHandler = (e) => {
|
|
117
|
+
const timer = setTimeout(() => {
|
|
118
|
+
context.setStartIndex(index);
|
|
119
|
+
context.setIsDragging(true);
|
|
120
|
+
context.setDragOver(index);
|
|
121
|
+
document.body.style.overflow = 'hidden';
|
|
122
|
+
vibrate(50);
|
|
123
|
+
}, 200);
|
|
124
|
+
setTouchTimer(timer);
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Touch move event handler
|
|
128
|
+
* @param e Event
|
|
129
|
+
* @returns void
|
|
130
|
+
*/
|
|
131
|
+
const touchMoveHandler = (e) => {
|
|
132
|
+
var _a;
|
|
133
|
+
const touch = e.touches[0];
|
|
134
|
+
if (!touch)
|
|
135
|
+
return;
|
|
136
|
+
if (context.isDragging) {
|
|
137
|
+
e.preventDefault();
|
|
138
|
+
// get the element under the touch point
|
|
139
|
+
const el = document.elementFromPoint(touch.clientX, touch.clientY);
|
|
140
|
+
const overAttr = (_a = el === null || el === void 0 ? void 0 : el.closest('[data-drag-index]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-drag-index');
|
|
141
|
+
const overIndex = overAttr != null ? parseInt(overAttr, 10) : null;
|
|
142
|
+
// if we know which index we're over, update visual state
|
|
143
|
+
if (overIndex !== null) {
|
|
144
|
+
context.setDragOver(overIndex);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else if (touchTimer) {
|
|
148
|
+
clearTimeout(touchTimer);
|
|
149
|
+
setTouchTimer(null);
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Touch end event handler
|
|
154
|
+
* @param e Event
|
|
155
|
+
*/
|
|
156
|
+
const touchEndHandler = (e) => {
|
|
157
|
+
if (touchTimer) {
|
|
158
|
+
clearTimeout(touchTimer);
|
|
159
|
+
setTouchTimer(null);
|
|
160
|
+
}
|
|
161
|
+
if (context.isDragging) {
|
|
162
|
+
context.drop(dragOver);
|
|
163
|
+
vibrate(50);
|
|
164
|
+
context.setIsDragging(false);
|
|
165
|
+
document.body.style.overflow = 'auto';
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
/** Cleanup touch timer on unmount */
|
|
169
|
+
useEffect(() => {
|
|
170
|
+
return () => {
|
|
171
|
+
if (touchTimer)
|
|
172
|
+
clearTimeout(touchTimer);
|
|
173
|
+
document.body.style.overflow = 'auto';
|
|
174
|
+
};
|
|
175
|
+
}, [touchTimer]);
|
|
176
|
+
/** Update active state based on dragOver changes */
|
|
177
|
+
useEffect(() => {
|
|
178
|
+
if (context.isDragging && dragOver === index) {
|
|
179
|
+
setActive(context.startIndex - index);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
setActive(0);
|
|
183
|
+
}
|
|
184
|
+
}, [dragOver, context.startIndex, index, context.isDragging]);
|
|
185
|
+
return _jsxs(Item, { draggable: !showIndicator, showIndicator: showIndicator, active: active, dragging: context.isDragging && context.startIndex === index, orientation: orientation, "data-drag-index": index, onDragStart: !showIndicator ? dragStartHandler : undefined, onDragOver: dragOverHandler, onDragLeave: dragExitHandler, onDrop: dropHandler, onTouchStart: !showIndicator ? touchStartHandler : undefined, onTouchMove: touchMoveHandler, onTouchEnd: touchEndHandler, onTouchCancel: touchEndHandler, children: [showIndicator && _jsx(DragKnob, { draggable: true, onDragStart: dragStartHandler, onTouchStart: touchStartHandler, children: _jsx(DragIndicator, {}) }), _jsx(Container, { children: children })] });
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=DragItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragItem.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/DragItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum ORIENTATION {
|
|
2
|
+
HORIZONTAL = "horizontal",
|
|
3
|
+
VERTICAL = "vertical"
|
|
4
|
+
}
|
|
5
|
+
export declare const DragContext: import("react").Context<{
|
|
6
|
+
startIndex: number;
|
|
7
|
+
setStartIndex: (value: number) => void;
|
|
8
|
+
drop: (index: number) => void;
|
|
9
|
+
isDragging: boolean;
|
|
10
|
+
setIsDragging: (value: boolean) => void;
|
|
11
|
+
setDragOver: (value: number) => void;
|
|
12
|
+
}>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createContext } from "react";
|
|
2
|
+
export var ORIENTATION;
|
|
3
|
+
(function (ORIENTATION) {
|
|
4
|
+
ORIENTATION["HORIZONTAL"] = "horizontal";
|
|
5
|
+
ORIENTATION["VERTICAL"] = "vertical";
|
|
6
|
+
})(ORIENTATION || (ORIENTATION = {}));
|
|
7
|
+
export const DragContext = createContext(null);
|
|
8
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/DragAndDrop/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;AACvB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAOrC,IAAI,CAAC,CAAC"}
|
|
@@ -6,11 +6,11 @@ export declare enum DRAWER_POSITION {
|
|
|
6
6
|
RIGHT = "RIGHT",
|
|
7
7
|
BOTTOM = "BOTTOM"
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
type DrawerProps = PropTypes.InferProps<typeof Drawer.propTypes>;
|
|
10
10
|
interface DrawerState {
|
|
11
11
|
open: boolean;
|
|
12
12
|
}
|
|
13
|
-
export default class Drawer extends React.Component<DrawerProps
|
|
13
|
+
export default class Drawer extends React.Component<React.PropsWithChildren<DrawerProps>, DrawerState> {
|
|
14
14
|
state: {
|
|
15
15
|
open: boolean;
|
|
16
16
|
};
|
|
@@ -43,5 +43,5 @@ export default class Drawer extends React.Component<DrawerProps, DrawerState> {
|
|
|
43
43
|
private closeCallback;
|
|
44
44
|
private onClose;
|
|
45
45
|
getSnapshotBeforeUpdate(prevProps: DrawerProps): void;
|
|
46
|
-
render(): JSX.Element;
|
|
46
|
+
render(): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
47
47
|
}
|
|
@@ -9,6 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
12
13
|
import React from 'react';
|
|
13
14
|
import PropTypes from 'prop-types';
|
|
14
15
|
import styled from '@emotion/styled';
|
|
@@ -60,7 +61,7 @@ const positionMap = {
|
|
|
60
61
|
[DRAWER_POSITION.RIGHT]: LAYER_POSITION.TOP_RIGHT,
|
|
61
62
|
[DRAWER_POSITION.BOTTOM]: LAYER_POSITION.BOTTOM_LEFT,
|
|
62
63
|
};
|
|
63
|
-
|
|
64
|
+
class Drawer extends React.Component {
|
|
64
65
|
constructor() {
|
|
65
66
|
super(...arguments);
|
|
66
67
|
this.state = {
|
|
@@ -96,7 +97,7 @@ export default class Drawer extends React.Component {
|
|
|
96
97
|
closeCallback: this.onClose,
|
|
97
98
|
closeOnEsc,
|
|
98
99
|
closeOnOverlayClick,
|
|
99
|
-
component: (
|
|
100
|
+
component: (_jsx(DrawerDiv, Object.assign({}, rest, { position: position, size: size, onClick: e => e.stopPropagation(), children: children })))
|
|
100
101
|
});
|
|
101
102
|
this.closeCallback = this.layer[1];
|
|
102
103
|
this.forceUpdate();
|
|
@@ -105,7 +106,7 @@ export default class Drawer extends React.Component {
|
|
|
105
106
|
render() {
|
|
106
107
|
if (this.state.open && this.layer) {
|
|
107
108
|
const [Component] = this.layer;
|
|
108
|
-
return
|
|
109
|
+
return _jsx(Component, {});
|
|
109
110
|
}
|
|
110
111
|
return null;
|
|
111
112
|
}
|
|
@@ -136,4 +137,5 @@ Drawer.defaultProps = {
|
|
|
136
137
|
closeOnEsc: true,
|
|
137
138
|
closeOnOverlayClick: true,
|
|
138
139
|
};
|
|
140
|
+
export default Drawer;
|
|
139
141
|
//# sourceMappingURL=Drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,YAAY,EAAE,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EACH,MAAM,IAAI,YAAY,EACtB,IAAI,IAAI,UAAU,EAClB,MAAM,IAAI,YAAY,GACzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,oCAAiB,CAAA;AACrB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QACpB,MAAM,EAAE,6BAA6B,IAAI,IAAI,OAAO,iCAAiC;QACrF,KAAK,EAAC,4BAA4B;KACrC;IACD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QACrB,MAAM,EAAE,6BAA6B,IAAI,IAAI,OAAO,gCAAgC;QACpF,KAAK,EAAC,4BAA4B;KACrC;IACD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACtB,MAAM,EAAE;;;;sBAIM,IAAI,IAAI,MAAM;;;SAG3B;QACD,KAAK,EAAC,4BAA4B;KACrC;CACJ,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAA2C;;;;;sCAKjC,SAAS,CAAC,YAAY;MACtD,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM;;;;UAIrD,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK;;CAEjE,CAAC;AAOF,MAAM,WAAW,GAAG;IAChB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,QAAQ;IAC/C,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,SAAS;IACjD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,WAAW;CACvD,CAAA;AAED,MAAqB,MAAO,SAAQ,KAAK,CAAC,SAA4D;IAAtG;;QACI,UAAK,GAAG;YACJ,IAAI,EAAE,KAAK;SACd,CAAA;QA2CO,YAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC;gBACV,IAAI,EAAE,KAAK;aACd,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,CAAA;IAsCL,CAAC;IA1DG,MAAM,CAAC,wBAAwB,CAAC,KAAkB;QAC9C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,OAAO;gBACH,IAAI,EAAE,IAAI;aACb,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAeD,uBAAuB,CAAC,SAAsB;QAC1C,MAAM,KAE6C,IAAI,CAAC,KAAK,EAFvD,EACF,IAAI,EAAE,UAAU,EAAE,mBAAmB,EACrC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,OAAwB,EAAnB,IAAI,cAFxC,wFAE0C,CAAa,CAAC;QAE9D,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC;gBAClC,OAAO;gBACP,SAAS,EAAE,GAAG;gBACd,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;gBAC/B,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,UAAU;gBACV,mBAAmB;gBACnB,SAAS,EAAE,CACP,KAAC,SAAS,oBAAK,IAAI,IAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,YACjF,QAAQ,IACD,CACf;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/B,OAAO,KAAC,SAAS,KAAG,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;;AArFM,gBAAS,GAAG;IACf,uBAAuB;IACvB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;IAC/B,6BAA6B;IAC7B,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC;QACtB,eAAe,CAAC,IAAI;QACpB,eAAe,CAAC,KAAK;QACrB,eAAe,CAAC,MAAM;KACzB,CAAC;IACF,yBAAyB;IACzB,IAAI,EAAE,SAAS,CAAC,MAAM;IACtB,0CAA0C;IAC1C,OAAO,EAAE,SAAS,CAAC,IAAI;IACvB,+BAA+B;IAC/B,UAAU,EAAE,SAAS,CAAC,IAAI;IAC1B,yCAAyC;IACzC,mBAAmB,EAAE,SAAS,CAAC,IAAI;IACnC,wDAAwD;IACxD,OAAO,EAAE,SAAS,CAAC,IAAI;CAC1B,AAnBe,CAmBf;AAEM,mBAAY,GAAG;IAClB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,eAAe,CAAC,IAAI;IAC9B,UAAU,EAAE,IAAI;IAChB,mBAAmB,EAAE,IAAI;CAC5B,AALkB,CAKlB;eA/BgB,MAAM"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
declare function Group(props: React.PropsWithChildren<PropTypes.InferProps<typeof Group.propTypes>>): JSX.Element;
|
|
3
|
+
declare function Group(props: React.PropsWithChildren<PropTypes.InferProps<typeof Group.propTypes>>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
4
4
|
declare namespace Group {
|
|
5
5
|
var propTypes: {
|
|
6
6
|
/** Error Message for the group */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
4
|
import constants from '../../shared/constants';
|
|
@@ -76,9 +76,7 @@ const ErrorContainer = styled.div `
|
|
|
76
76
|
font-size: 12px;
|
|
77
77
|
`;
|
|
78
78
|
export default function Group(props) {
|
|
79
|
-
return (
|
|
80
|
-
React.createElement(Container, Object.assign({}, props), props.children),
|
|
81
|
-
props.errorText && React.createElement(ErrorContainer, null, props.errorText)));
|
|
79
|
+
return (_jsxs(_Fragment, { children: [_jsx(Container, Object.assign({}, props, { children: props.children })), props.errorText && _jsx(ErrorContainer, { children: props.errorText })] }));
|
|
82
80
|
}
|
|
83
81
|
Group.propTypes = {
|
|
84
82
|
/** Error Message for the group */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../src/components/Groups/Group.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../src/components/Groups/Group.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAA8C;;4CAE9B,SAAS,CAAC,YAAY;;;;;;;;;qDASb,SAAS,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA8CjC,SAAS,CAAC,YAAY;;;MAG1D,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;qCACI,SAAS,CAAC,KAAK;;;yCAGX,SAAS,CAAC,KAAK;;KAEnD,CAAA,CAAC,CAAC,EAAE;CACR,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA;0BACP,SAAS,CAAC,KAAK;;;CAGxC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAA4E;IACtG,OAAO,CACH,8BACI,KAAC,SAAS,oBAAK,KAAK,cACf,KAAK,CAAC,QAAQ,IACP,EACV,KAAK,CAAC,SAAS,IAAI,KAAC,cAAc,cAAE,KAAK,CAAC,SAAS,GAAkB,IACxE,CACN,CAAA;AACL,CAAC;AAED,KAAK,CAAC,SAAS,GAAG;IACd,kCAAkC;IAClC,SAAS,EAAE,SAAS,CAAC,MAAM;CAC9B,CAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare const _default: import("@emotion/styled").StyledComponent<{
|
|
2
|
+
theme?: import("@emotion/react").Theme;
|
|
3
|
+
as?: React.ElementType;
|
|
4
|
+
}, import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, {}>;
|
|
3
5
|
export default _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
declare function Checkbox(props: CheckboxProps): JSX.Element;
|
|
3
|
+
type CheckboxProps = Omit<React.HTMLProps<HTMLInputElement>, 'as'> & PropTypes.InferProps<typeof Checkbox.propTypes>;
|
|
4
|
+
declare function Checkbox(props: CheckboxProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
5
|
declare namespace Checkbox {
|
|
6
6
|
var propTypes: {
|
|
7
7
|
/** Label for the field */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useCallback } from 'react';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
4
|
import styled from '@emotion/styled';
|
|
4
5
|
import constants from '../../shared/constants';
|
|
@@ -9,6 +10,7 @@ const Label = styled.label `
|
|
|
9
10
|
const Input = styled.input `
|
|
10
11
|
appearance: none;
|
|
11
12
|
position: relative;
|
|
13
|
+
margin: 0;
|
|
12
14
|
|
|
13
15
|
&::before {
|
|
14
16
|
content: '';
|
|
@@ -104,9 +106,7 @@ export default function Checkbox(props) {
|
|
|
104
106
|
}
|
|
105
107
|
}
|
|
106
108
|
}, []);
|
|
107
|
-
return (
|
|
108
|
-
React.createElement(Input, Object.assign({}, props, { ref: ref, type: "checkbox" })),
|
|
109
|
-
React.createElement("span", null, props.label)));
|
|
109
|
+
return (_jsxs(Label, { children: [_jsx(Input, Object.assign({}, props, { ref: ref, type: "checkbox" })), _jsx("span", { children: props.label })] }));
|
|
110
110
|
}
|
|
111
111
|
Checkbox.propTypes = {
|
|
112
112
|
/** Label for the field */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/Input/Checkbox.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/Input/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;;;CAGzB,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;;;;;;;;;gDASsB,SAAS,CAAC,YAAY;;;;;;;8CAOxB,SAAS,CAAC,UAAU;;;;;;;;;;;;;;;;;;;2CAmBvB,SAAS,CAAC,OAAO;uCACrB,SAAS,CAAC,OAAO;;;;;;;;;;;;2CAYb,SAAS,CAAC,OAAO;uCACrB,SAAS;;;;;;;;;;;;uCAYT,SAAS,CAAC,OAAO;+CACT,SAAS,CAAC,aAAa;;;;gCAItC,SAAS,CAAC,OAAO;;;;;uCAKV,SAAS,CAAC,OAAO;;;;gCAIxB,SAAS,CAAC,OAAO;;;;;;;;;;;;;;;CAehD,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAoB;IACjD,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,IAAS,EAAE,EAAE;QAClC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,MAAC,KAAK,eACF,KAAC,KAAK,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,UAAU,IAAG,EAC9C,yBAAO,KAAK,CAAC,KAAK,GAAQ,IACtB,CACX,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,SAAS,GAAG;IACjB,0BAA0B;IAC1B,KAAK,EAAE,SAAS,CAAC,MAAM;IACvB,6CAA6C;IAC7C,aAAa,EAAE,SAAS,CAAC,IAAI;CAChC,CAAA;AAED,QAAQ,CAAC,YAAY,GAAG;IACpB,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,EAAE;CACZ,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
type DropdownProps<T> = {
|
|
3
3
|
/** Value of the control */
|
|
4
4
|
value?: T | T[];
|
|
5
5
|
/** If multiple elements can be selected */
|
|
@@ -15,7 +15,7 @@ declare type DropdownProps<T> = {
|
|
|
15
15
|
/** Disables the field */
|
|
16
16
|
disabled?: boolean;
|
|
17
17
|
} & React.PropsWithChildren<{}>;
|
|
18
|
-
declare function Dropdown<T>(props: DropdownProps<T>): JSX.Element;
|
|
18
|
+
declare function Dropdown<T>(props: DropdownProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
19
19
|
declare namespace Dropdown {
|
|
20
20
|
var defaultProps: {
|
|
21
21
|
multiSelect: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
2
3
|
import styled from '@emotion/styled';
|
|
3
4
|
import { Menu } from '../Menu';
|
|
4
5
|
import { Popover, POPOVER_POSITION } from '../Popover';
|
|
@@ -52,12 +53,12 @@ export default function Dropdown(props) {
|
|
|
52
53
|
const changeHandler = (val) => {
|
|
53
54
|
setValue(val);
|
|
54
55
|
onChange === null || onChange === void 0 ? void 0 : onChange(val);
|
|
56
|
+
// Close dropdown after selection if not multiSelect
|
|
57
|
+
if (!multiSelect) {
|
|
58
|
+
setOpen(false);
|
|
59
|
+
}
|
|
55
60
|
};
|
|
56
|
-
return (
|
|
57
|
-
React.createElement(Input, { type: 'text', value: value && String(value), label: props.label, errorText: props.errorText, onClick: clickHandler, onKeyUp: keyUp, required: props.required, disabled: props.disabled }),
|
|
58
|
-
React.createElement(ArrowContainer, null,
|
|
59
|
-
React.createElement(ExpandMore, null)))), onClose: () => setOpen(false) },
|
|
60
|
-
React.createElement(Menu, { value: value, multiSelect: multiSelect, onChange: changeHandler }, props.children)));
|
|
61
|
+
return (_jsx(Popover, { position: POPOVER_POSITION.BOTTOM_LEFT, open: open, element: () => (_jsxs(_Fragment, { children: [_jsx(Input, { type: 'text', value: value && String(value), label: props.label, errorText: props.errorText, onClick: clickHandler, onKeyUp: keyUp, required: props.required, disabled: props.disabled }), _jsx(ArrowContainer, { children: _jsx(ExpandMore, {}) })] })), onClose: () => setOpen(false), children: _jsx(Menu, { value: value, multiSelect: multiSelect, onChange: changeHandler, children: props.children }) }));
|
|
61
62
|
}
|
|
62
63
|
Dropdown.defaultProps = {
|
|
63
64
|
multiSelect: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/components/Input/Dropdown.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/components/Input/Dropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
type InputProps = React.AllHTMLAttributes<HTMLInputElement> & {
|
|
3
|
+
/** Label for the field */
|
|
3
4
|
label?: string;
|
|
5
|
+
/** Error message for the field */
|
|
4
6
|
errorText?: string;
|
|
5
|
-
}
|
|
7
|
+
};
|
|
8
|
+
declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "as"> & React.RefAttributes<HTMLInputElement>>;
|
|
6
9
|
export default Input;
|