@darajs/ui-components 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/chat.d.ts.map +1 -1
- package/dist/chat/chat.js +0 -1
- package/dist/chat/chat.js.map +1 -1
- package/dist/combo-box/combo-box.d.ts +1 -1
- package/dist/combo-box/combo-box.d.ts.map +1 -1
- package/dist/combo-box/combo-box.js +18 -25
- package/dist/combo-box/combo-box.js.map +1 -1
- package/dist/context-menu/context-menu.js +27 -21
- package/dist/context-menu/context-menu.js.map +1 -1
- package/dist/datepicker/datepicker-select.d.ts +1 -1
- package/dist/datepicker/datepicker-select.d.ts.map +1 -1
- package/dist/datepicker/datepicker-select.js +37 -33
- package/dist/datepicker/datepicker-select.js.map +1 -1
- package/dist/multiselect/multiselect.d.ts.map +1 -1
- package/dist/multiselect/multiselect.js +21 -29
- package/dist/multiselect/multiselect.js.map +1 -1
- package/dist/sectioned-list/sectioned-list.d.ts.map +1 -1
- package/dist/sectioned-list/sectioned-list.js +18 -24
- package/dist/sectioned-list/sectioned-list.js.map +1 -1
- package/dist/select/select.d.ts +1 -1
- package/dist/select/select.d.ts.map +1 -1
- package/dist/select/select.js +37 -35
- package/dist/select/select.js.map +1 -1
- package/dist/table/options-menu.d.ts.map +1 -1
- package/dist/table/options-menu.js +24 -25
- package/dist/table/options-menu.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/{same-width-modifier.d.ts → match-width-to-reference.d.ts} +6 -5
- 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/package.json +9 -10
- package/dist/utils/same-width-modifier.d.ts.map +0 -1
- package/dist/utils/same-width-modifier.js +0 -17
- package/dist/utils/same-width-modifier.js.map +0 -1
package/dist/chat/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/chat/chat.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/chat/chat.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAqExE,MAAM,WAAW,SAAU,SAAQ,yBAAyB,CAAC,OAAO,EAAE,CAAC;IACnE,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,mDAAmD;IACnD,UAAU,EAAE,QAAQ,CAAC;CACxB;AA0BD;;;;GAIG;AACH,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAmG3C;AAED,eAAe,IAAI,CAAC"}
|
package/dist/chat/chat.js
CHANGED
package/dist/chat/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat/chat.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat/chat.tsx"],"names":[],"mappings":"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"}
|
|
@@ -300,7 +300,7 @@ export declare const ChevronButton: import("styled-components").StyledComponent<
|
|
|
300
300
|
ref?: import("react").Ref<HTMLButtonElement>;
|
|
301
301
|
key?: import("react").Key;
|
|
302
302
|
theme: import("@darajs/styled-components").DefaultTheme;
|
|
303
|
-
}, "form" | "slot" | "style" | "title" | "type" | "name" | "theme" | "ref" | "children" | "suppressHydrationWarning" | "className" | "color" | "id" | "lang" | "role" | "tabIndex" | "href" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "disabled" | "hidden" | "content" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "
|
|
303
|
+
}, "form" | "slot" | "style" | "title" | "type" | "name" | "theme" | "ref" | "children" | "suppressHydrationWarning" | "className" | "color" | "id" | "lang" | "role" | "tabIndex" | "href" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "disabled" | "hidden" | "content" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "download" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "loading" | "outline" | "styling">;
|
|
304
304
|
export interface ComboBoxProps extends InteractiveComponentProps<Item> {
|
|
305
305
|
/** Whether to open the select dropdown on load or not, defaults to false */
|
|
306
306
|
initialIsOpen?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-box.d.ts","sourceRoot":"","sources":["../../src/combo-box/combo-box.tsx"],"names":[],"mappings":";AAyBA,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAK3D,UAAU,YAAY;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,2HAgCnB,CAAC;AAEF,UAAU,iBAAiB;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,gIAuBxB,CAAC;AAEF,eAAO,MAAM,KAAK,mHAuBjB,CAAC;AAEF,eAAO,MAAM,YAAY,kHAYxB,CAAC;AAQF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;k5JAOzB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,IAAI,CAAC;IAClE,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+HAA+H;IAC/H,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"combo-box.d.ts","sourceRoot":"","sources":["../../src/combo-box/combo-box.tsx"],"names":[],"mappings":";AAyBA,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAK3D,UAAU,YAAY;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,2HAgCnB,CAAC;AAEF,UAAU,iBAAiB;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,gIAuBxB,CAAC;AAEF,eAAO,MAAM,KAAK,mHAuBjB,CAAC;AAEF,eAAO,MAAM,YAAY,kHAYxB,CAAC;AAQF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;k5JAOzB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,yBAAyB,CAAC,IAAI,CAAC;IAClE,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+HAA+H;IAC/H,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED;;;;;GAKG;AACH,iBAAS,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAmKnD;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -16,14 +16,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
+
import { autoUpdate, flip, offset, shift, useFloating, useInteractions, useRole } from '@floating-ui/react';
|
|
19
20
|
import { useCombobox } from 'downshift';
|
|
20
|
-
import {
|
|
21
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
21
22
|
import ReactDOM from 'react-dom';
|
|
22
|
-
import { usePopper } from 'react-popper';
|
|
23
23
|
import styled from '@darajs/styled-components';
|
|
24
24
|
import Button from '../button/button';
|
|
25
25
|
import Tooltip from '../tooltip/tooltip';
|
|
26
|
-
import { Chevron, List, ListItem,
|
|
26
|
+
import { Chevron, List, ListItem, matchWidthToReference } from '../utils';
|
|
27
27
|
const { stateChangeTypes } = useCombobox;
|
|
28
28
|
export const Wrapper = styled.div `
|
|
29
29
|
display: inline-flex;
|
|
@@ -137,13 +137,7 @@ export const ChevronButton = styled(Button).attrs((attrs) => (Object.assign(Obje
|
|
|
137
137
|
* @param {ComboBoxProps} props - the component props
|
|
138
138
|
*/
|
|
139
139
|
function ComboBox(props) {
|
|
140
|
-
var _a, _b, _c, _d, _e, _f
|
|
141
|
-
const referenceElement = useRef(null);
|
|
142
|
-
const popperElement = useRef(null);
|
|
143
|
-
const { styles, attributes, update } = usePopper(referenceElement.current, popperElement.current, {
|
|
144
|
-
modifiers: [sameWidthModifier],
|
|
145
|
-
placement: 'bottom-start',
|
|
146
|
-
});
|
|
140
|
+
var _a, _b, _c, _d, _e, _f;
|
|
147
141
|
const [inputValue, setInputValue] = useState((_d = (_b = (_a = props.initialValue) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : (_c = props.selectedItem) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : '');
|
|
148
142
|
const [pendingHighlight, setPendingHighlight] = useState(null);
|
|
149
143
|
const filteredItems = props.items.filter((item) => { var _a; return inputValue ? (_a = item.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase()) : true; });
|
|
@@ -190,24 +184,23 @@ function ComboBox(props) {
|
|
|
190
184
|
setInputValue('');
|
|
191
185
|
}
|
|
192
186
|
}, [props.selectedItem]);
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
// these refs into a single function that can be applied to the elements
|
|
187
|
+
const { refs, floatingStyles, context } = useFloating({
|
|
188
|
+
open: isOpen,
|
|
189
|
+
middleware: [flip(), shift(), offset({ crossAxis: 1 }), matchWidthToReference(+2)],
|
|
190
|
+
whileElementsMounted: isOpen ? autoUpdate : undefined,
|
|
191
|
+
});
|
|
192
|
+
const role = useRole(context, { role: 'combobox' });
|
|
193
|
+
const { getReferenceProps, getFloatingProps } = useInteractions([role]);
|
|
201
194
|
const menuProps = getMenuProps();
|
|
202
195
|
const setMenuRef = menuProps.ref;
|
|
203
|
-
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
};
|
|
208
|
-
return (_jsx(Tooltip, { content: props.errorMsg, disabled: !props.errorMsg, styling: "error", children: _jsxs(Wrapper, { className: props.className, isDisabled: props.disabled, isErrored: !!props.errorMsg, isOpen: isOpen, style: props.style, children: [_jsxs(InputWrapper, { disabled: props.disabled, isOpen: isOpen, ref:
|
|
196
|
+
const setFloatingRef = refs.setFloating;
|
|
197
|
+
const mergedRefs = useCallback((node) => {
|
|
198
|
+
setFloatingRef(node);
|
|
199
|
+
setMenuRef(node);
|
|
200
|
+
}, [setFloatingRef, setMenuRef]);
|
|
201
|
+
return (_jsx(Tooltip, { content: props.errorMsg, disabled: !props.errorMsg, styling: "error", children: _jsxs(Wrapper, { className: props.className, isDisabled: props.disabled, isErrored: !!props.errorMsg, isOpen: isOpen, style: props.style, children: [_jsxs(InputWrapper, { disabled: props.disabled, isOpen: isOpen, ref: refs.setReference, children: [_jsx(Input, Object.assign({}, getInputProps({
|
|
209
202
|
disabled: props.disabled,
|
|
210
|
-
}), { placeholder: (_f = (selectedItem === null ? props.placeholder : selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label)) !== null && _f !== void 0 ? _f : props.placeholder, size: props.size })), _jsx(ChevronButton, Object.assign({}, getToggleButtonProps(), { children: _jsx(Chevron, { disabled: props.disabled, isOpen: isOpen }) }))] }), ReactDOM.createPortal(_jsxs(DropdownList, Object.assign({}, menuProps,
|
|
203
|
+
}), getReferenceProps(), { placeholder: (_f = (selectedItem === null ? props.placeholder : selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.label)) !== null && _f !== void 0 ? _f : props.placeholder, size: props.size })), _jsx(ChevronButton, Object.assign({}, getToggleButtonProps(), { children: _jsx(Chevron, { disabled: props.disabled, isOpen: isOpen }) }))] }), ReactDOM.createPortal(_jsxs(DropdownList, Object.assign({}, menuProps, getFloatingProps(), { ref: mergedRefs, isOpen: isOpen, style: Object.assign(Object.assign({}, floatingStyles), { zIndex: 9999 }), children: [filteredItems.length > 0 &&
|
|
211
204
|
filteredItems.map((item, index) => (_createElement(ListItem, Object.assign({}, getItemProps({ index, item }), { hovered: index === highlightedIndex, key: `item-${index}`, size: props.size, title: item.label }), item.label))), filteredItems.length === 0 && _jsx(NoItemsLabel, { children: "No Items" })] })), document.body)] }) }));
|
|
212
205
|
}
|
|
213
206
|
export default ComboBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-box.js","sourceRoot":"","sources":["../../src/combo-box/combo-box.tsx"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"combo-box.js","sourceRoot":"","sources":["../../src/combo-box/combo-box.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,9 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { flip, offset, shift, useFloating, useInteractions, useRole } from '@floating-ui/react';
|
|
19
|
+
import { useEffect, useState } from 'react';
|
|
19
20
|
import ReactDOM from 'react-dom';
|
|
20
|
-
import { usePopper } from 'react-popper';
|
|
21
21
|
import styled from '@darajs/styled-components';
|
|
22
22
|
import { Key } from '../constants';
|
|
23
23
|
import { List, ListItem } from '../utils';
|
|
@@ -33,23 +33,8 @@ const DropdownList = styled(List) `
|
|
|
33
33
|
*/
|
|
34
34
|
function ContextMenu(Component) {
|
|
35
35
|
function WrappedContextMenu(props) {
|
|
36
|
-
const [popperElement, setPopperElement] = useState(null);
|
|
37
36
|
const [showMenu, setShowMenu] = useState(false);
|
|
38
37
|
const [hoveredItem, setHoveredItem] = useState(-1);
|
|
39
|
-
// This ref is updated with the current mouse position each time the context menu is open, but as it's the same
|
|
40
|
-
// element, popper doesn't need to recreate everything.
|
|
41
|
-
const boundingRectRef = useRef({
|
|
42
|
-
bottom: 0,
|
|
43
|
-
height: 0,
|
|
44
|
-
left: 0,
|
|
45
|
-
right: 0,
|
|
46
|
-
top: 0,
|
|
47
|
-
width: 0,
|
|
48
|
-
});
|
|
49
|
-
const fakeElement = useMemo(() => ({
|
|
50
|
-
contextElement: document.body,
|
|
51
|
-
getBoundingClientRect: () => boundingRectRef.current,
|
|
52
|
-
}), []);
|
|
53
38
|
// Handle clicking outside the menu or hitting escape and make sure the menu closes.
|
|
54
39
|
useEffect(() => {
|
|
55
40
|
const keyHandler = (e) => {
|
|
@@ -86,16 +71,35 @@ function ContextMenu(Component) {
|
|
|
86
71
|
};
|
|
87
72
|
}
|
|
88
73
|
}, [showMenu]);
|
|
89
|
-
const {
|
|
74
|
+
const { refs, floatingStyles, context } = useFloating({
|
|
75
|
+
open: showMenu,
|
|
90
76
|
placement: 'bottom-start',
|
|
77
|
+
middleware: [
|
|
78
|
+
offset({
|
|
79
|
+
mainAxis: 4,
|
|
80
|
+
alignmentAxis: 4,
|
|
81
|
+
}),
|
|
82
|
+
shift(),
|
|
83
|
+
flip(),
|
|
84
|
+
],
|
|
91
85
|
});
|
|
92
86
|
const onContextMenu = (e) => {
|
|
93
87
|
// dispatch event of a right click to close other context menu in the page
|
|
94
88
|
document.dispatchEvent(new Event('contextmenu'));
|
|
95
89
|
e.preventDefault();
|
|
96
90
|
e.stopPropagation();
|
|
97
|
-
|
|
98
|
-
|
|
91
|
+
refs.setReference({
|
|
92
|
+
getBoundingClientRect: () => ({
|
|
93
|
+
x: e.clientX,
|
|
94
|
+
y: e.clientY,
|
|
95
|
+
width: 0,
|
|
96
|
+
height: 0,
|
|
97
|
+
top: e.clientY,
|
|
98
|
+
right: e.clientX,
|
|
99
|
+
bottom: e.clientY,
|
|
100
|
+
left: e.clientX,
|
|
101
|
+
}),
|
|
102
|
+
});
|
|
99
103
|
setShowMenu(true);
|
|
100
104
|
};
|
|
101
105
|
const onAction = (action) => {
|
|
@@ -104,7 +108,9 @@ function ContextMenu(Component) {
|
|
|
104
108
|
action.action();
|
|
105
109
|
}
|
|
106
110
|
};
|
|
107
|
-
|
|
111
|
+
const role = useRole(context, { role: 'menu' });
|
|
112
|
+
const { getFloatingProps } = useInteractions([role]);
|
|
113
|
+
return (_jsxs(_Fragment, { children: [_jsx(Component, Object.assign({}, props.elementProps, { className: props.className, onContextMenu: onContextMenu, children: props.children })), ReactDOM.createPortal(_jsx(DropdownList, Object.assign({}, getFloatingProps(), { ref: refs.setFloating, isOpen: showMenu, style: Object.assign(Object.assign({}, floatingStyles), { minWidth: 150, zIndex: 9999 }), children: props.actions.map((action, index) => (_jsx(ListItem, { hovered: hoveredItem === index, onMouseEnter: () => setHoveredItem(index), onMouseLeave: () => setHoveredItem(-1), onMouseUp: () => onAction(action), title: action.label, children: action.label }, `item-${index}`))) })), document.body)] }));
|
|
108
114
|
}
|
|
109
115
|
return WrappedContextMenu;
|
|
110
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-menu.js","sourceRoot":"","sources":["../../src/context-menu/context-menu.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context-menu.js","sourceRoot":"","sources":["../../src/context-menu/context-menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { Placement } from '@
|
|
17
|
+
import { Placement } from '@floating-ui/react';
|
|
18
18
|
import * as React from 'react';
|
|
19
19
|
import { InteractiveComponentProps, Item } from '../types';
|
|
20
20
|
export interface SelectProps extends InteractiveComponentProps<Item> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-select.d.ts","sourceRoot":"","sources":["../../src/datepicker/datepicker-select.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,
|
|
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;AAGvH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAgK3D,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,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,CA4HzD;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -11,13 +11,30 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import { createElement as _createElement } from "react";
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
/**
|
|
15
|
+
* Copyright 2023 Impulse Innovations Limited
|
|
16
|
+
*
|
|
17
|
+
*
|
|
18
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
19
|
+
* you may not use this file except in compliance with the License.
|
|
20
|
+
* You may obtain a copy of the License at
|
|
21
|
+
*
|
|
22
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
23
|
+
*
|
|
24
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
25
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
26
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
27
|
+
* See the License for the specific language governing permissions and
|
|
28
|
+
* limitations under the License.
|
|
29
|
+
*/
|
|
30
|
+
import { autoUpdate, flip, offset, shift, useFloating, useInteractions, useRole } from '@floating-ui/react';
|
|
14
31
|
import { useSelect } from 'downshift';
|
|
15
|
-
import { useEffect,
|
|
32
|
+
import { useEffect, useState } from 'react';
|
|
33
|
+
import * as React from 'react';
|
|
16
34
|
import ReactDOM from 'react-dom';
|
|
17
|
-
import { usePopper } from 'react-popper';
|
|
18
35
|
import styled from '@darajs/styled-components';
|
|
19
36
|
import Tooltip from '../tooltip/tooltip';
|
|
20
|
-
import { Chevron
|
|
37
|
+
import { Chevron } from '../utils';
|
|
21
38
|
const { stateChangeTypes } = useSelect;
|
|
22
39
|
const SelectedItem = styled.div `
|
|
23
40
|
width: 100%;
|
|
@@ -152,13 +169,7 @@ const DropdownList = styled.div `
|
|
|
152
169
|
* @param {SelectProps} props - the props of the component
|
|
153
170
|
*/
|
|
154
171
|
function DatepickerSelect(props) {
|
|
155
|
-
var _a
|
|
156
|
-
const referenceElement = useRef(null);
|
|
157
|
-
const popperElement = useRef(null);
|
|
158
|
-
const { styles, attributes, update } = usePopper(referenceElement.current, popperElement.current, {
|
|
159
|
-
modifiers: [sameWidthModifier],
|
|
160
|
-
placement: props.placement || 'bottom-start',
|
|
161
|
-
});
|
|
172
|
+
var _a;
|
|
162
173
|
const [pendingHighlight, setPendingHighlight] = useState(null);
|
|
163
174
|
const { isOpen, selectedItem, getToggleButtonProps, getMenuProps, highlightedIndex, getItemProps, setHighlightedIndex, } = useSelect(Object.assign({ initialSelectedItem: props.initialValue, itemToString: (item) => item.label, items: props.items, onSelectedItemChange: (changes) => {
|
|
164
175
|
const selected = changes.selectedItem;
|
|
@@ -178,31 +189,24 @@ function DatepickerSelect(props) {
|
|
|
178
189
|
setPendingHighlight(null);
|
|
179
190
|
}
|
|
180
191
|
}, [isOpen, pendingHighlight, setHighlightedIndex]);
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const buttonProps = getToggleButtonProps({ disabled: props.disabled });
|
|
190
|
-
const setButtonRef = buttonProps.ref;
|
|
191
|
-
delete buttonProps.ref;
|
|
192
|
-
const setButtonReference = (value) => {
|
|
193
|
-
setButtonRef(value);
|
|
194
|
-
referenceElement.current = value;
|
|
195
|
-
};
|
|
192
|
+
const { refs, floatingStyles, context } = useFloating({
|
|
193
|
+
open: isOpen,
|
|
194
|
+
placement: props.placement || 'bottom-start',
|
|
195
|
+
middleware: [offset(8), flip(), shift()],
|
|
196
|
+
whileElementsMounted: isOpen ? autoUpdate : undefined,
|
|
197
|
+
});
|
|
198
|
+
const role = useRole(context, { role: 'listbox' });
|
|
199
|
+
const { getReferenceProps, getFloatingProps } = useInteractions([role]);
|
|
196
200
|
const menuProps = getMenuProps();
|
|
197
201
|
const setMenuRef = menuProps.ref;
|
|
198
|
-
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
};
|
|
205
|
-
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: [_jsxs(SelectButtonPrimary, Object.assign({ disabled: props.disabled },
|
|
202
|
+
const setFloatingRef = refs.setFloating;
|
|
203
|
+
const { dropdownRef } = props;
|
|
204
|
+
const mergedRefs = React.useCallback((node) => {
|
|
205
|
+
setFloatingRef(node);
|
|
206
|
+
setMenuRef(node);
|
|
207
|
+
dropdownRef === null || dropdownRef === void 0 ? void 0 : dropdownRef(node);
|
|
208
|
+
}, [setFloatingRef, setMenuRef, dropdownRef]);
|
|
209
|
+
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: [_jsxs(SelectButtonPrimary, Object.assign({ disabled: props.disabled }, getToggleButtonProps({ disabled: props.disabled }), { ref: refs.setReference }, getReferenceProps(), { type: "button", children: [_jsx(SelectedItem, { size: props.size, children: selectedItem ? selectedItem.label : 'Select' }), _jsx(Chevron, { disabled: props.disabled, isOpen: isOpen })] })), ReactDOM.createPortal(_jsx(DropdownList, Object.assign({}, menuProps, getFloatingProps(), { ref: mergedRefs, className: `${(_a = menuProps === null || menuProps === void 0 ? void 0 : menuProps.className) !== null && _a !== void 0 ? _a : ''} ${props.itemClass}`, displacement: props.displacement, isOpen: isOpen, maxItems: 7, style: Object.assign(Object.assign({}, floatingStyles), { width: '16.25rem', zIndex: 9999 }), children: props.items.map((item, index) => {
|
|
206
210
|
const _a = getItemProps({ index, item }), { itemClassName } = _a, itemProps = __rest(_a, ["itemClassName"]);
|
|
207
211
|
return (_createElement(DatepickerListItem, Object.assign({}, itemProps, { "aria-selected": selectedItem.label === item.label, className: `${itemClassName} ${props.itemClass}`, hovered: index === highlightedIndex, isSelected: selectedItem.label === item.label, key: `item-${index}`, size: props.size, title: item.label }), item.label));
|
|
208
212
|
}) })), document.body)] }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-select.js","sourceRoot":"","sources":["../../src/datepicker/datepicker-select.tsx"],"names":[],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"datepicker-select.js","sourceRoot":"","sources":["../../src/datepicker/datepicker-select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiselect.d.ts","sourceRoot":"","sources":["../../src/multiselect/multiselect.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAuM3D,MAAM,WAAW,gBAAiB,SAAQ,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,iBAAS,WAAW,CAAC,EAAE,QAAiB,EAAE,OAAW,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"multiselect.d.ts","sourceRoot":"","sources":["../../src/multiselect/multiselect.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAE,yBAAyB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAuM3D,MAAM,WAAW,gBAAiB,SAAQ,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,sGAAsG;IACtG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,iBAAS,WAAW,CAAC,EAAE,QAAiB,EAAE,OAAW,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAoKhG;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -27,15 +27,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
27
27
|
* See the License for the specific language governing permissions and
|
|
28
28
|
* limitations under the License.
|
|
29
29
|
*/
|
|
30
|
+
import { autoUpdate, flip, shift, useFloating, useInteractions, useRole } from '@floating-ui/react';
|
|
30
31
|
import { useCombobox, useMultipleSelection } from 'downshift';
|
|
31
|
-
import { useCallback,
|
|
32
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
32
33
|
import ReactDOM from 'react-dom';
|
|
33
|
-
import { usePopper } from 'react-popper';
|
|
34
34
|
import styled from '@darajs/styled-components';
|
|
35
35
|
import { Cross } from '@darajs/ui-icons';
|
|
36
36
|
import Button from '../button/button';
|
|
37
37
|
import Tooltip from '../tooltip/tooltip';
|
|
38
|
-
import { Chevron, List, ListItem,
|
|
38
|
+
import { Chevron, List, ListItem, matchWidthToReference } from '../utils';
|
|
39
39
|
const { stateChangeTypes } = useCombobox;
|
|
40
40
|
const tagHeight = 2;
|
|
41
41
|
const tagTopMargin = 0.5;
|
|
@@ -202,20 +202,13 @@ const ChevronButton = styled(Button).attrs((attrs) => (Object.assign(Object.assi
|
|
|
202
202
|
* @param {MultiSelectProps} props - the component props
|
|
203
203
|
*/
|
|
204
204
|
function MultiSelect(_a) {
|
|
205
|
-
var _b
|
|
205
|
+
var _b;
|
|
206
206
|
var { maxWidth = '100%', maxRows = 3 } = _a, props = __rest(_a, ["maxWidth", "maxRows"]);
|
|
207
|
-
const referenceElement = useRef(null);
|
|
208
|
-
const popperElement = useRef(null);
|
|
209
|
-
const { styles, attributes, update } = usePopper(referenceElement.current, popperElement.current, {
|
|
210
|
-
modifiers: [sameWidthModifier],
|
|
211
|
-
placement: 'bottom-start',
|
|
212
|
-
});
|
|
213
207
|
const [inputValue, setInputValue] = useState('');
|
|
214
208
|
const { getSelectedItemProps, getDropdownProps, addSelectedItem, removeSelectedItem, selectedItems } = useMultipleSelection(Object.assign({ initialSelectedItems: (_b = props.initialValue) !== null && _b !== void 0 ? _b : [], onSelectedItemsChange: (changes) => {
|
|
215
209
|
if (props.onSelect) {
|
|
216
210
|
props.onSelect(changes.selectedItems);
|
|
217
211
|
}
|
|
218
|
-
update();
|
|
219
212
|
} }, ('selectedItems' in props && { selectedItems: props.selectedItems })));
|
|
220
213
|
const onTermChange = useCallback((term) => {
|
|
221
214
|
setInputValue(term);
|
|
@@ -226,10 +219,10 @@ function MultiSelect(_a) {
|
|
|
226
219
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
227
220
|
[props.onTermChange]);
|
|
228
221
|
// If there is a term change function passed in then don't filter locally
|
|
229
|
-
const filteredItems = props.onTermChange ?
|
|
222
|
+
const filteredItems = useMemo(() => props.onTermChange ?
|
|
230
223
|
props.items
|
|
231
|
-
: props.items.filter((item) => { var _a; return !selectedItems.includes(item) && ((_a = item.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(inputValue.toLowerCase())); });
|
|
232
|
-
const { isOpen, getMenuProps, getInputProps, highlightedIndex, getItemProps,
|
|
224
|
+
: props.items.filter((item) => { var _a; return !selectedItems.includes(item) && ((_a = item.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(inputValue.toLowerCase())); }), [props.onTermChange, props.items, selectedItems, inputValue]);
|
|
225
|
+
const { isOpen, getMenuProps, getInputProps, highlightedIndex, getItemProps, getToggleButtonProps } = useCombobox({
|
|
233
226
|
defaultHighlightedIndex: -1,
|
|
234
227
|
initialIsOpen: props.initialIsOpen,
|
|
235
228
|
inputValue,
|
|
@@ -258,26 +251,25 @@ function MultiSelect(_a) {
|
|
|
258
251
|
return changes;
|
|
259
252
|
},
|
|
260
253
|
});
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
// these refs into a single function that can be applied to the elements
|
|
254
|
+
const { refs, floatingStyles, context } = useFloating({
|
|
255
|
+
open: isOpen,
|
|
256
|
+
middleware: [flip(), shift(), matchWidthToReference()],
|
|
257
|
+
whileElementsMounted: isOpen ? autoUpdate : undefined,
|
|
258
|
+
});
|
|
259
|
+
const role = useRole(context, { role: 'listbox' });
|
|
260
|
+
const { getReferenceProps, getFloatingProps } = useInteractions([role]);
|
|
269
261
|
const menuProps = getMenuProps();
|
|
270
262
|
const setMenuRef = menuProps.ref;
|
|
271
|
-
|
|
272
|
-
const
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
};
|
|
276
|
-
return (_jsxs(Wrapper, { className: props.className, isDisabled: props.disabled, isOpen: isOpen, maxRows: maxRows, maxWidth: maxWidth, style: props.style, children: [_jsx(Tooltip, { content: props.errorMsg, disabled: !props.errorMsg, styling: "error", children: _jsxs(InputWrapper, { isDisabled: props.disabled, isOpen: isOpen, ref:
|
|
263
|
+
const setFloatingRef = refs.setFloating;
|
|
264
|
+
const mergedRefs = useCallback((node) => {
|
|
265
|
+
setFloatingRef(node);
|
|
266
|
+
setMenuRef(node);
|
|
267
|
+
}, [setFloatingRef, setMenuRef]);
|
|
268
|
+
return (_jsxs(Wrapper, { className: props.className, isDisabled: props.disabled, isOpen: isOpen, maxRows: maxRows, maxWidth: maxWidth, style: props.style, children: [_jsx(Tooltip, { content: props.errorMsg, disabled: !props.errorMsg, styling: "error", children: _jsxs(InputWrapper, { isDisabled: props.disabled, isOpen: isOpen, ref: refs.setReference, children: [_jsxs(TagWrapper, { maxRows: maxRows, children: [selectedItems.map((selectedItem, index) => (_jsxs(Tag, Object.assign({ disabled: props.disabled }, getSelectedItemProps({ index, selectedItem }), { children: [_jsx(TagText, { children: selectedItem.label }), _jsx(Cross, { asButton: true, onClick: (e) => {
|
|
277
269
|
// See https://github.com/downshift-js/downshift/issues/1188
|
|
278
270
|
e.stopPropagation();
|
|
279
271
|
return removeSelectedItem(selectedItem);
|
|
280
|
-
} })] }), selectedItem.value))), _jsx(Input, Object.assign({}, getInputProps(getDropdownProps({ preventKeyAction: isOpen })), { disabled: props.disabled,
|
|
272
|
+
} })] }), selectedItem.value))), _jsx(Input, Object.assign({}, getInputProps(getDropdownProps({ preventKeyAction: isOpen })), getReferenceProps(), { disabled: props.disabled, placeholder: props.placeholder, size: props.size, style: { flex: '1 1 5ch' } }))] }), _jsx(ChevronButton, Object.assign({}, getToggleButtonProps(), { children: _jsx(Chevron, { disabled: props.disabled, isOpen: isOpen }) }))] }) }), ReactDOM.createPortal(_jsxs(DropdownList, Object.assign({}, menuProps, getFloatingProps(), { ref: mergedRefs, isOpen: isOpen, style: Object.assign(Object.assign({}, floatingStyles), { zIndex: 9999 }), children: [filteredItems.length > 0 &&
|
|
281
273
|
filteredItems.map((item, index) => (_createElement(ListItem, Object.assign({}, getItemProps({ index, item }), { hovered: index === highlightedIndex, key: `item-${index}`, size: props.size, title: item.label }), item.label))), filteredItems.length === 0 && _jsx(NoItemsLabel, { children: "No Items" })] })), document.body)] }));
|
|
282
274
|
}
|
|
283
275
|
export default MultiSelect;
|