@aivenio/aquarium 1.12.0 → 1.13.0
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/_variables.scss +1 -1
- package/dist/_variables_timescale.scss +1 -1
- package/dist/atoms.cjs +13 -6
- package/dist/atoms.mjs +13 -6
- package/dist/src/atoms/DropdownMenu/DropdownMenu.js +3 -3
- package/dist/src/atoms/Popover/Popover.d.ts +2 -0
- package/dist/src/atoms/Popover/Popover.js +6 -2
- package/dist/src/molecules/Combobox/Combobox.js +25 -24
- package/dist/src/molecules/DataList/DataList.d.ts +3 -3
- package/dist/src/molecules/DataList/DataList.js +7 -7
- package/dist/src/molecules/DataTable/DataTable.d.ts +3 -3
- package/dist/src/molecules/DataTable/DataTable.js +5 -5
- package/dist/src/molecules/Dialog/Dialog.d.ts +3 -3
- package/dist/src/molecules/Dialog/Dialog.js +26 -22
- package/dist/src/molecules/Dropdown/Dropdown.js +2 -2
- package/dist/src/molecules/DropdownMenu/DropdownMenu.js +4 -13
- package/dist/src/molecules/Modal/Modal.d.ts +5 -0
- package/dist/src/molecules/Modal/Modal.js +35 -32
- package/dist/src/molecules/MultiSelect/MultiSelect.js +26 -25
- package/dist/src/molecules/Popover/Dialog.d.ts +2 -0
- package/dist/src/molecules/Popover/Dialog.js +9 -0
- package/dist/src/molecules/Popover/Popover.d.ts +8 -6
- package/dist/src/molecules/Popover/Popover.js +8 -17
- package/dist/src/molecules/Popover/PopoverOverlay.d.ts +21 -0
- package/dist/src/molecules/Popover/PopoverOverlay.js +35 -0
- package/dist/src/molecules/PopoverDialog/PopoverDialog.js +2 -2
- package/dist/src/molecules/Select/Select.js +18 -24
- package/dist/src/utils/table/types.d.ts +25 -12
- package/dist/src/utils/table/types.js +2 -1
- package/dist/src/utils/table/useTableSort.d.ts +2 -2
- package/dist/src/utils/table/useTableSort.js +5 -5
- package/dist/src/utils/table/utils.d.ts +2 -0
- package/dist/src/utils/table/utils.js +16 -0
- package/dist/styles.css +6 -0
- package/dist/styles_timescaledb.css +6 -0
- package/dist/system.cjs +720 -681
- package/dist/system.mjs +687 -649
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +3 -3
- package/dist/src/molecules/Popover/PopoverWrapper.d.ts +0 -16
- package/dist/src/molecules/Popover/PopoverWrapper.js +0 -34
package/dist/_variables.scss
CHANGED
package/dist/atoms.cjs
CHANGED
@@ -3287,9 +3287,10 @@ var ContentContainer = ({ children }) => /* @__PURE__ */ import_react20.default.
|
|
3287
3287
|
DropdownMenu.ContentContainer = ContentContainer;
|
3288
3288
|
var List = import_react20.default.forwardRef(
|
3289
3289
|
(_a, ref) => {
|
3290
|
-
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
3290
|
+
var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
|
3291
3291
|
return /* @__PURE__ */ import_react20.default.createElement("ul", __spreadValues({
|
3292
|
-
ref
|
3292
|
+
ref,
|
3293
|
+
className: classNames(className, "outline-none ring-0")
|
3293
3294
|
}, props), children);
|
3294
3295
|
}
|
3295
3296
|
);
|
@@ -3548,14 +3549,20 @@ var PopoverPanel = import_react25.default.forwardRef((_a, ref) => {
|
|
3548
3549
|
ref,
|
3549
3550
|
className: classNames(
|
3550
3551
|
className,
|
3551
|
-
tw(
|
3552
|
-
"rounded-sm shadow-16dp bg-white mt-1 overflow-y-auto flex flex-col focus-visible:outline-0 focus-visible:border-info-70 border border-grey-20"
|
3553
|
-
)
|
3552
|
+
tw("rounded-sm shadow-16dp bg-white mt-1 overflow-y-auto flex flex-col border border-grey-20 outline-none")
|
3554
3553
|
)
|
3555
3554
|
}, props), children);
|
3556
3555
|
});
|
3556
|
+
PopoverPanel.displayName = "Popover.Panel";
|
3557
|
+
var PopoverUnderlay = import_react25.default.forwardRef((props, ref) => /* @__PURE__ */ import_react25.default.createElement("div", __spreadProps(__spreadValues({
|
3558
|
+
ref
|
3559
|
+
}, props), {
|
3560
|
+
className: tw("fixed inset-0")
|
3561
|
+
})));
|
3562
|
+
PopoverUnderlay.displayName = "Popover.Underlay";
|
3557
3563
|
var Popover = {
|
3558
|
-
Panel: PopoverPanel
|
3564
|
+
Panel: PopoverPanel,
|
3565
|
+
Underlay: PopoverUnderlay
|
3559
3566
|
};
|
3560
3567
|
|
3561
3568
|
// src/atoms/PopoverDialog/PopoverDialog.tsx
|
package/dist/atoms.mjs
CHANGED
@@ -3251,9 +3251,10 @@ var ContentContainer = ({ children }) => /* @__PURE__ */ React16.createElement("
|
|
3251
3251
|
DropdownMenu.ContentContainer = ContentContainer;
|
3252
3252
|
var List = React16.forwardRef(
|
3253
3253
|
(_a, ref) => {
|
3254
|
-
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
3254
|
+
var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
|
3255
3255
|
return /* @__PURE__ */ React16.createElement("ul", __spreadValues({
|
3256
|
-
ref
|
3256
|
+
ref,
|
3257
|
+
className: classNames(className, "outline-none ring-0")
|
3257
3258
|
}, props), children);
|
3258
3259
|
}
|
3259
3260
|
);
|
@@ -3512,14 +3513,20 @@ var PopoverPanel = React21.forwardRef((_a, ref) => {
|
|
3512
3513
|
ref,
|
3513
3514
|
className: classNames(
|
3514
3515
|
className,
|
3515
|
-
tw(
|
3516
|
-
"rounded-sm shadow-16dp bg-white mt-1 overflow-y-auto flex flex-col focus-visible:outline-0 focus-visible:border-info-70 border border-grey-20"
|
3517
|
-
)
|
3516
|
+
tw("rounded-sm shadow-16dp bg-white mt-1 overflow-y-auto flex flex-col border border-grey-20 outline-none")
|
3518
3517
|
)
|
3519
3518
|
}, props), children);
|
3520
3519
|
});
|
3520
|
+
PopoverPanel.displayName = "Popover.Panel";
|
3521
|
+
var PopoverUnderlay = React21.forwardRef((props, ref) => /* @__PURE__ */ React21.createElement("div", __spreadProps(__spreadValues({
|
3522
|
+
ref
|
3523
|
+
}, props), {
|
3524
|
+
className: tw("fixed inset-0")
|
3525
|
+
})));
|
3526
|
+
PopoverUnderlay.displayName = "Popover.Underlay";
|
3521
3527
|
var Popover = {
|
3522
|
-
Panel: PopoverPanel
|
3528
|
+
Panel: PopoverPanel,
|
3529
|
+
Underlay: PopoverUnderlay
|
3523
3530
|
};
|
3524
3531
|
|
3525
3532
|
// src/atoms/PopoverDialog/PopoverDialog.tsx
|
@@ -21,8 +21,8 @@ export const DropdownMenu = React.forwardRef((_a, ref) => {
|
|
21
21
|
const ContentContainer = ({ children }) => (React.createElement("div", { className: tw('p-3 overflow-y-auto overflow-x-hidden') }, children));
|
22
22
|
DropdownMenu.ContentContainer = ContentContainer;
|
23
23
|
const List = React.forwardRef((_a, ref) => {
|
24
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
25
|
-
return (React.createElement("ul", Object.assign({ ref: ref }, props), children));
|
24
|
+
var { children, className } = _a, props = __rest(_a, ["children", "className"]);
|
25
|
+
return (React.createElement("ul", Object.assign({ ref: ref, className: classNames(className, 'outline-none ring-0') }, props), children));
|
26
26
|
});
|
27
27
|
DropdownMenu.List = List;
|
28
28
|
const Group = React.forwardRef((_a, ref) => {
|
@@ -59,4 +59,4 @@ const EmptyStateContainer = (_a) => {
|
|
59
59
|
return (React.createElement("div", Object.assign({ className: classNames(tw('border border-dashed border-grey-10 p-3'), className) }, props), children));
|
60
60
|
};
|
61
61
|
DropdownMenu.EmptyStateContainer = EmptyStateContainer;
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F0b21zL0Ryb3Bkb3duTWVudS9Ecm9wZG93bk1lbnUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUE2QixNQUFNLE9BQU8sQ0FBQztBQUVsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFzQmxDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBMEIsS0FBSyxDQUFDLFVBQVUsQ0FDakUsQ0FBQyxFQUFvRixFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQTdGLEVBQUUsU0FBUyxHQUFHLE9BQU8sRUFBRSxRQUFRLEdBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxPQUFZLEVBQVAsS0FBSyxjQUFsRiw4REFBb0YsQ0FBRjtJQUFZLE9BQUEsQ0FDN0YsMkNBQ0UsR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUN4QyxTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVMsRUFBRSwrRUFBK0UsQ0FBQyxJQUM3RyxLQUFLLEdBRVIsUUFBUSxDQUNMLENBQ1AsQ0FBQTtDQUFBLENBQ3VCLENBQUM7QUFFM0IsTUFBTSxnQkFBZ0IsR0FBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQ25ELDZCQUFLLFNBQVMsRUFBRSxFQUFFLENBQUMsdUNBQXVDLENBQUMsSUFBRyxRQUFRLENBQU8sQ0FDOUUsQ0FBQztBQUVGLFlBQVksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0Is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
|
@@ -1,8 +1,10 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
declare type DivProps = React.HTMLProps<HTMLDivElement>;
|
3
3
|
declare const PopoverPanel: React.ForwardRefExoticComponent<Pick<DivProps, "default" | "start" | "hidden" | "color" | "content" | "size" | "style" | "wrap" | "open" | "height" | "translate" | "width" | "multiple" | "disabled" | "prefix" | "src" | "cite" | "data" | "form" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "children" | "key" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "name" | "nonce" | "noValidate" | "optimum" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "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-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "target" | "type" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "srcDoc" | "srcLang" | "srcSet" | "step" | "useMap" | "value" | "wmode" | "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" | "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"> & React.RefAttributes<HTMLDivElement>>;
|
4
|
+
declare const PopoverUnderlay: React.ForwardRefExoticComponent<Pick<DivProps, "default" | "start" | "hidden" | "color" | "content" | "size" | "style" | "wrap" | "open" | "height" | "translate" | "width" | "multiple" | "disabled" | "prefix" | "src" | "cite" | "data" | "form" | "label" | "slot" | "span" | "summary" | "title" | "pattern" | "children" | "key" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "as" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "list" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "name" | "nonce" | "noValidate" | "optimum" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "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-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "target" | "type" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "srcDoc" | "srcLang" | "srcSet" | "step" | "useMap" | "value" | "wmode" | "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" | "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"> & React.RefAttributes<HTMLDivElement>>;
|
4
5
|
declare type Popover = {
|
5
6
|
Panel: typeof PopoverPanel;
|
7
|
+
Underlay: typeof PopoverUnderlay;
|
6
8
|
};
|
7
9
|
export declare const Popover: Popover;
|
8
10
|
export {};
|
@@ -13,9 +13,13 @@ import React from 'react';
|
|
13
13
|
import { classNames, tw } from '../../../src/utils/tailwind';
|
14
14
|
const PopoverPanel = React.forwardRef((_a, ref) => {
|
15
15
|
var { className, children } = _a, props = __rest(_a, ["className", "children"]);
|
16
|
-
return (React.createElement("div", Object.assign({ ref: ref, className: classNames(className, tw('rounded-sm shadow-16dp bg-white mt-1 overflow-y-auto flex flex-col
|
16
|
+
return (React.createElement("div", Object.assign({ ref: ref, className: classNames(className, tw('rounded-sm shadow-16dp bg-white mt-1 overflow-y-auto flex flex-col border border-grey-20 outline-none')) }, props), children));
|
17
17
|
});
|
18
|
+
PopoverPanel.displayName = 'Popover.Panel';
|
19
|
+
const PopoverUnderlay = React.forwardRef((props, ref) => (React.createElement("div", Object.assign({ ref: ref }, props, { className: tw('fixed inset-0') }))));
|
20
|
+
PopoverUnderlay.displayName = 'Popover.Underlay';
|
18
21
|
export const Popover = {
|
19
22
|
Panel: PopoverPanel,
|
23
|
+
Underlay: PopoverUnderlay,
|
20
24
|
};
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdG9tcy9Qb3BvdmVyL1BvcG92ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNcEQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBb0MsQ0FBQyxFQUFpQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQTFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsT0FBWSxFQUFQLEtBQUssY0FBL0IseUJBQWlDLENBQUY7SUFBWSxPQUFBLENBQ25ILDJDQUNFLEdBQUcsRUFBRSxHQUFHLEVBQ1IsU0FBUyxFQUFFLFVBQVUsQ0FDbkIsU0FBUyxFQUNULEVBQUUsQ0FBQyx1R0FBdUcsQ0FBQyxDQUM1RyxJQUNHLEtBQUssR0FFUixRQUFRLENBQ0wsQ0FDUCxDQUFBO0NBQUEsQ0FBQyxDQUFDO0FBQ0gsWUFBWSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFJM0MsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBdUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUM3RiwyQ0FBSyxHQUFHLEVBQUUsR0FBRyxJQUFNLEtBQUssSUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQzdELENBQUMsQ0FBQztBQUNILGVBQWUsQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7QUFPakQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFZO0lBQzlCLEtBQUssRUFBRSxZQUFZO0lBQ25CLFFBQVEsRUFBRSxlQUFlO0NBQzFCLENBQUMifQ==
|
@@ -11,12 +11,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
11
11
|
};
|
12
12
|
// https://www.w3.org/TR/wai-aria-practices/examples/listbox/listbox-collapsible.html
|
13
13
|
import React, { useEffect, useRef, useState } from 'react';
|
14
|
-
import {
|
14
|
+
import { ariaHideOutside } from '@react-aria/overlays';
|
15
15
|
import { useCombobox } from 'downshift';
|
16
16
|
import omit from 'lodash/omit';
|
17
17
|
import uniqueId from 'lodash/uniqueId';
|
18
18
|
import { matchSorter } from 'match-sorter';
|
19
|
-
import {
|
19
|
+
import { PopoverOverlay } from '../../../src/molecules/Popover/PopoverOverlay';
|
20
20
|
import { Skeleton } from '../../../src/molecules/Skeleton/Skeleton';
|
21
21
|
import { getOptionLabelBuiltin, isOptionDisabledBuiltin, Select } from '../../../src/atoms/Select/Select';
|
22
22
|
import { getLabelControlProps, LabelControl } from '../../../src/utils/form/Label/Label';
|
@@ -24,15 +24,17 @@ import { tw } from '../../../src/utils/tailwind';
|
|
24
24
|
export const ComboboxBase = (_a) => {
|
25
25
|
var _b;
|
26
26
|
var { id, name, placeholder, maxHeight, options, optionKeys = ['label', 'value'], noResults, optionToString: itemToString = getOptionLabelBuiltin, createOption, renderOption = (opt) => itemToString(opt), isOptionDisabled = isOptionDisabledBuiltin, defaultValue, value, onChange, children, valid = true, disabled = false, readOnly = false } = _a, props = __rest(_a, ["id", "name", "placeholder", "maxHeight", "options", "optionKeys", "noResults", "optionToString", "createOption", "renderOption", "isOptionDisabled", "defaultValue", "value", "onChange", "children", "valid", "disabled", "readOnly"]);
|
27
|
+
const popoverRef = useRef(null);
|
27
28
|
const targetRef = useRef(null);
|
28
|
-
const
|
29
|
+
const menuRef = useRef(null);
|
30
|
+
const inputRef = useRef(null);
|
29
31
|
const [inputItems, setInputItems] = useState(options);
|
30
32
|
const [hasFocus, setFocus] = useState(false);
|
31
33
|
const updateInputItems = (query) => {
|
32
34
|
const keys = typeof options[0] === 'string' ? undefined : optionKeys;
|
33
35
|
setInputItems(query ? matchSorter(options, query, { keys }) : options);
|
34
36
|
};
|
35
|
-
const { isOpen, getToggleButtonProps, getMenuProps, getInputProps, highlightedIndex, inputValue, getItemProps, selectedItem,
|
37
|
+
const { isOpen, openMenu, closeMenu, toggleMenu, getToggleButtonProps, getMenuProps, getInputProps, highlightedIndex, inputValue, getItemProps, selectedItem, } = useCombobox({
|
36
38
|
id,
|
37
39
|
selectedItem: value,
|
38
40
|
defaultSelectedItem: defaultValue,
|
@@ -50,23 +52,27 @@ export const ComboboxBase = (_a) => {
|
|
50
52
|
onSelectedItemChange: (e) => onChange === null || onChange === void 0 ? void 0 : onChange(e.selectedItem),
|
51
53
|
onInputValueChange: ({ inputValue }) => updateInputItems(inputValue),
|
52
54
|
});
|
53
|
-
const
|
54
|
-
targetRef,
|
55
|
-
overlayRef,
|
56
|
-
placement: 'bottom start',
|
57
|
-
shouldFlip: true,
|
55
|
+
const state = {
|
58
56
|
isOpen,
|
59
|
-
|
57
|
+
close: closeMenu,
|
58
|
+
open: openMenu,
|
59
|
+
toggle: toggleMenu,
|
60
|
+
setOpen: (isOpen) => (isOpen ? openMenu() : closeMenu()),
|
61
|
+
};
|
60
62
|
useEffect(() => {
|
61
63
|
updateInputItems(inputValue);
|
62
64
|
}, [JSON.stringify(options)]);
|
63
|
-
|
65
|
+
useEffect(() => {
|
66
|
+
if (state.isOpen && inputRef.current && popoverRef.current) {
|
67
|
+
return ariaHideOutside([inputRef.current, popoverRef.current]);
|
68
|
+
}
|
69
|
+
}, [state.isOpen, inputRef, popoverRef]);
|
70
|
+
const menuProps = getMenuProps({ ref: menuRef }, { suppressRefError: !isOpen });
|
71
|
+
const inputProps = getInputProps({ ref: inputRef, disabled: disabled || readOnly });
|
64
72
|
const hasNoResults = options.length === 0 || inputItems.length === 0;
|
65
|
-
const width = (_b = targetRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth;
|
66
|
-
const style = isOpen ? Object.assign(Object.assign({}, overlayProps.style), { width }) : { display: 'none' };
|
67
73
|
return (React.createElement("div", { className: tw('relative') },
|
68
74
|
React.createElement(Select.InputContainer, { ref: targetRef, variant: disabled ? 'disabled' : !valid ? 'error' : readOnly ? 'readOnly' : hasFocus ? 'focused' : 'default' },
|
69
|
-
React.createElement(Select.Input, Object.assign({ id: id, name: name, placeholder: readOnly ? undefined : placeholder }, inputProps, props, { disabled: disabled, readOnly: readOnly, onClick: readOnly ? undefined : openMenu, onFocus: () => {
|
75
|
+
React.createElement(Select.Input, Object.assign({ id: id, ref: inputRef, name: name, placeholder: readOnly ? undefined : placeholder }, inputProps, props, { disabled: disabled, readOnly: readOnly, onClick: readOnly ? undefined : openMenu, onFocus: () => {
|
70
76
|
setFocus(true);
|
71
77
|
}, onBlur: (e) => {
|
72
78
|
var _a;
|
@@ -78,15 +84,10 @@ export const ComboboxBase = (_a) => {
|
|
78
84
|
(_a = inputProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(inputProps, e);
|
79
85
|
}, onKeyUp: (e) => e.stopPropagation() })),
|
80
86
|
!readOnly && React.createElement(Select.Toggle, Object.assign({ hasFocus: hasFocus, isOpen: isOpen }, getToggleButtonProps({ disabled })))),
|
81
|
-
React.createElement(
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
isOpen: true, isDismissable: true, autoFocus: true }, getMenuProps({ ref: overlayRef }), { style: style, onClose: closeMenu }),
|
86
|
-
React.createElement(Select.Menu, { maxHeight: maxHeight },
|
87
|
-
isOpen && hasNoResults && React.createElement(Select.NoResults, null, noResults),
|
88
|
-
isOpen &&
|
89
|
-
inputItems.map((item, index) => (React.createElement(Select.Item, Object.assign({ key: itemToString(item), selected: item === selectedItem, highlighted: index === highlightedIndex }, getItemProps({ item, index, disabled: isOptionDisabled(item, index) })), renderOption(item))))))));
|
87
|
+
isOpen && (React.createElement(PopoverOverlay, { ref: popoverRef, triggerRef: targetRef, state: state, placement: "bottom-left", shouldFlip: true, isNonModal: true, style: { width: (_b = targetRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth } },
|
88
|
+
React.createElement(Select.Menu, Object.assign({ ref: menuRef, maxHeight: maxHeight }, menuProps),
|
89
|
+
hasNoResults && React.createElement(Select.NoResults, null, noResults),
|
90
|
+
inputItems.map((item, index) => (React.createElement(Select.Item, Object.assign({ key: itemToString(item), selected: item === selectedItem, highlighted: index === highlightedIndex }, getItemProps({ item, index, disabled: isOptionDisabled(item, index) })), renderOption(item)))))))));
|
90
91
|
};
|
91
92
|
const ComboboxBaseSkeleton = () => React.createElement(Skeleton, { height: 38 });
|
92
93
|
ComboboxBase.Skeleton = ComboboxBaseSkeleton;
|
@@ -106,4 +107,4 @@ const ComboboxSkeleton = () => (React.createElement(LabelControl.Skeleton, null,
|
|
106
107
|
React.createElement(ComboboxBase.Skeleton, null)));
|
107
108
|
Combobox.Skeleton = ComboboxSkeleton;
|
108
109
|
Combobox.Skeleton.displayName = 'Combobox.Skeleton';
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tYm9ib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0NvbWJvYm94L0NvbWJvYm94LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLHFGQUFxRjtBQUNyRixPQUFPLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpHLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBc0J4QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBeUIsRUFvQkEsRUFBaUQsRUFBRTs7UUFwQm5ELEVBQ25ELEVBQUUsRUFDRixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUMvQixTQUFTLEVBQ1QsY0FBYyxFQUFFLFlBQVksR0FBRyxxQkFBcUIsRUFDcEQsWUFBWSxFQUNaLFlBQVksR0FBRyxDQUFDLEdB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
|
@@ -1,10 +1,10 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { type DataListColumn, type DataTableRow } from '../../../src/utils/table/types';
|
3
|
-
export declare type DataListProps<R extends DataTableRow> = {
|
3
|
+
export declare type DataListProps<C extends DataListColumn<R>, R extends DataTableRow> = {
|
4
4
|
/**
|
5
5
|
* Array of column definitions that correspond to the data rows.
|
6
6
|
*/
|
7
|
-
columns:
|
7
|
+
columns: C[];
|
8
8
|
/**
|
9
9
|
* Array of data rows to be displayed.
|
10
10
|
*/
|
@@ -16,4 +16,4 @@ export declare type DataListProps<R extends DataTableRow> = {
|
|
16
16
|
*/
|
17
17
|
sticky?: boolean;
|
18
18
|
};
|
19
|
-
export declare const DataList: <R extends DataTableRow>({ columns, rows, sticky }: DataListProps<R>) => JSX.Element;
|
19
|
+
export declare const DataList: <C extends DataListColumn<R>, R extends DataTableRow>({ columns, rows, sticky, }: DataListProps<C, R>) => JSX.Element;
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import orderBy from 'lodash/orderBy';
|
3
2
|
import { SecondaryButton } from '../../../src/molecules/Button/Button';
|
4
3
|
import { StatusChip } from '../../../src/molecules/Chip/Chip';
|
5
4
|
import { Template } from '../../../src/molecules/Template/Template';
|
@@ -7,18 +6,19 @@ import { DataList as DataListBase } from '../../../src/atoms/DataList/DataList';
|
|
7
6
|
import { Item } from '../../../src/atoms/Table/Table';
|
8
7
|
import { List } from '../../../src/molecules';
|
9
8
|
import { renameProperty } from '../../../src/utils/object';
|
10
|
-
import { cellProps,
|
9
|
+
import { cellProps, columnIsFieldColumn } from '../../../src/utils/table/types';
|
11
10
|
import { useTableSort } from '../../../src/utils/table/useTableSort';
|
12
|
-
|
11
|
+
import { sortRowsBy } from '../../../src/utils/table/utils';
|
12
|
+
export const DataList = ({ columns, rows, sticky, }) => {
|
13
13
|
const [sort, updateSort] = useTableSort();
|
14
|
-
const sortedRows =
|
14
|
+
const sortedRows = sortRowsBy(rows, sort);
|
15
15
|
const templateColumns = columns.map((column) => { var _a; return (_a = column.width) !== null && _a !== void 0 ? _a : 'auto'; });
|
16
16
|
return (React.createElement(Template, { columns: templateColumns },
|
17
|
-
columns.map((column) => (column
|
17
|
+
columns.map((column) => (columnIsFieldColumn(column) && column.sortable) || column.sort ? (React.createElement(DataListBase.SortCell, Object.assign({ direction: sort && sort.column.headerName === column.headerName ? sort.direction : 'none', onClick: () => updateSort(column), sticky: sticky }, cellProps(column)), column.headerName)) : (React.createElement(DataListBase.HeadCell, Object.assign({}, cellProps(column), { sticky: sticky }), column.headerName))),
|
18
18
|
React.createElement(List, { items: sortedRows, renderItem: (row, index) => (React.createElement(DataListBase.Row, { key: row.id },
|
19
19
|
React.createElement(List, { items: columns, renderItem: (column) => column.type === 'status' ? (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)),
|
20
20
|
React.createElement(StatusChip, Object.assign({ dense: true }, column.status(row, index, sortedRows))))) : column.type === 'action' ? (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)),
|
21
|
-
React.createElement(SecondaryButton, Object.assign({ dense: true }, renameProperty('text', 'children', column.action(row, index, sortedRows)))))) : column.type === 'custom' ? (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)), column.UNSAFE_render(row, index, sortedRows))) : column.type === 'item' ? (React.createElement(DataListBase.Cell,
|
21
|
+
React.createElement(SecondaryButton, Object.assign({ dense: true }, renameProperty('text', 'children', column.action(row, index, sortedRows)))))) : column.type === 'custom' ? (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)), column.UNSAFE_render(row, index, sortedRows))) : column.type === 'item' ? (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)),
|
22
22
|
React.createElement(Item, Object.assign({}, column.item(row, index, sortedRows))))) : (React.createElement(DataListBase.Cell, Object.assign({}, cellProps(column)), column.formatter ? column.formatter(row[column.field], row, index, sortedRows) : row[column.field])) }))) })));
|
23
23
|
};
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0RhdGFMaXN0L0RhdGFMaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUEwQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBcUJuRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBc0QsRUFDNUUsT0FBTyxFQUNQLElBQUksRUFDSixNQUFNLEdBQ2MsRUFBZSxFQUFFO0lBQ3JDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEdBQUcsWUFBWSxFQUFRLENBQUM7SUFDaEQsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUUxQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBQyxPQUFBLE1BQUEsTUFBTSxDQUFDLEtB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
|
@@ -1,11 +1,11 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { type TableProps } from '../../../src/molecules/Table/Table';
|
3
3
|
import { type DataTableColumn, type DataTableRow } from '../../../src/utils/table/types';
|
4
|
-
export declare type DataTableProps<R extends DataTableRow> = {
|
4
|
+
export declare type DataTableProps<C extends DataTableColumn<R>, R extends DataTableRow> = {
|
5
5
|
/**
|
6
6
|
* Array of column definitions that correspond to the data rows.
|
7
7
|
*/
|
8
|
-
columns:
|
8
|
+
columns: C[];
|
9
9
|
/**
|
10
10
|
* Array of data rows to be displayed.
|
11
11
|
*/
|
@@ -26,4 +26,4 @@ export declare type DataTableProps<R extends DataTableRow> = {
|
|
26
26
|
*/
|
27
27
|
sticky?: boolean;
|
28
28
|
} & Pick<TableProps, 'ariaLabel' | 'onNext' | 'onPrev'>;
|
29
|
-
export declare const DataTable: <
|
29
|
+
export declare const DataTable: <C extends DataTableColumn<R>, R extends DataTableRow>({ columns, rows, noWrap, layout, sticky, ...rest }: DataTableProps<C, R>) => JSX.Element;
|
@@ -10,26 +10,26 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React from 'react';
|
13
|
-
import orderBy from 'lodash/orderBy';
|
14
13
|
import { SecondaryButton } from '../../../src/molecules/Button/Button';
|
15
14
|
import { StatusChip } from '../../../src/molecules/Chip/Chip';
|
16
15
|
import { Table } from '../../../src/molecules/Table/Table';
|
17
16
|
import { Item } from '../../../src/atoms/Table/Table';
|
18
17
|
import { List } from '../../../src/molecules';
|
19
18
|
import { renameProperty } from '../../../src/utils/object';
|
20
|
-
import { cellProps,
|
19
|
+
import { cellProps, columnIsFieldColumn } from '../../../src/utils/table/types';
|
21
20
|
import { useTableSort } from '../../../src/utils/table/useTableSort';
|
21
|
+
import { sortRowsBy } from '../../../src/utils/table/utils';
|
22
22
|
import { tw } from '../../../src/utils/tailwind';
|
23
23
|
export const DataTable = (_a) => {
|
24
24
|
var { columns, rows, noWrap = false, layout = 'auto', sticky } = _a, rest = __rest(_a, ["columns", "rows", "noWrap", "layout", "sticky"]);
|
25
25
|
const [sort, updateSort] = useTableSort();
|
26
|
-
const sortedRows =
|
26
|
+
const sortedRows = sortRowsBy(rows, sort);
|
27
27
|
return (React.createElement(Table, Object.assign({}, rest, { className: tw({
|
28
28
|
'whitespace-nowrap': noWrap,
|
29
29
|
'table-auto': layout === 'auto',
|
30
30
|
'table-fixed': layout === 'fixed',
|
31
31
|
}) }),
|
32
|
-
React.createElement(Table.Head, { sticky: sticky }, columns.map((column) => (column
|
32
|
+
React.createElement(Table.Head, { sticky: sticky }, columns.map((column) => (columnIsFieldColumn(column) && column.sortable) || column.sort ? (React.createElement(Table.SortCell, Object.assign({ direction: sort && sort.column.headerName === column.headerName ? sort.direction : 'none', onClick: () => updateSort(column), style: { width: column.width }, "aria-label": column.headerInvisible ? column.headerName : undefined }, cellProps(column)), !column.headerInvisible && column.headerName)) : (React.createElement(Table.Cell, Object.assign({}, cellProps(column), { style: { width: column.width }, "aria-label": column.headerInvisible ? column.headerName : undefined }), !column.headerInvisible && column.headerName)))),
|
33
33
|
React.createElement(Table.Body, null,
|
34
34
|
React.createElement(List, { items: sortedRows, renderItem: (row, index) => (React.createElement(Table.Row, { key: row.id },
|
35
35
|
React.createElement(List, { items: columns, renderItem: (column) => column.type === 'status' ? (React.createElement(Table.Cell, Object.assign({}, cellProps(column)),
|
@@ -39,4 +39,4 @@ export const DataTable = (_a) => {
|
|
39
39
|
? column.formatter(row[column.field], row, index, sortedRows)
|
40
40
|
: row[column.field])) }))) }))));
|
41
41
|
};
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRhVGFibGUvRGF0YVRhYmxlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBbUIsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBMkMsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFnQ3hDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUF1RCxFQU96RCxFQUFlLEVBQUU7UUFQd0MsRUFDOUUsT0FBTyxFQUNQLElBQUksRUFDSixNQUFNLEdBQUcsS0FBSyxFQUNkLE1BQU0sR0FBRyxNQUFNLEVBQ2YsTUFBTSxPQUVlLEVBRGxCLElBQUksY0FOdUUsaURBTy9FLENBRFE7SUFFUCxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHLFlBQVksRUFBUSxDQUFDO0lBQ2hELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFF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
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { type DialogType } from '../../../src/atoms/Dialog/Dialog';
|
3
|
-
import { Modal } from '../../../src/atoms/Modal/Modal';
|
3
|
+
import { Modal as BaseModal } from '../../../src/atoms/Modal/Modal';
|
4
4
|
import { type ActionType, type AsyncActionType } from '../../../types/ActionType';
|
5
5
|
export declare type DialogProps = {
|
6
6
|
/** Title of the dialog. Use 'Confirmation', 'Warning' or 'Danger'. */
|
@@ -8,9 +8,9 @@ export declare type DialogProps = {
|
|
8
8
|
/** Type of the dialog. Will determine title and icon color. */
|
9
9
|
type: DialogType;
|
10
10
|
/** State of the dialog */
|
11
|
-
open: React.ComponentProps<typeof
|
11
|
+
open: React.ComponentProps<typeof BaseModal>['open'];
|
12
12
|
/** Dialog body text or content. */
|
13
|
-
children: React.ComponentProps<typeof
|
13
|
+
children: React.ComponentProps<typeof BaseModal.Body>['children'];
|
14
14
|
/** Primary action. Maximum of one is allowed. */
|
15
15
|
primaryAction: AsyncActionType;
|
16
16
|
/** Secondary actions. Maximum of one is allowed. */
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { useDialog } from '@react-aria/dialog';
|
3
|
-
import { FocusScope } from '@react-aria/focus';
|
4
3
|
import { Overlay, useModalOverlay } from '@react-aria/overlays';
|
5
4
|
import { useId } from '@react-aria/utils';
|
6
5
|
import { useOverlayTriggerState } from '@react-stately/overlays';
|
@@ -8,11 +7,23 @@ import omit from 'lodash/omit';
|
|
8
7
|
import { GhostButton, SecondaryButton } from '../../../src/molecules/Button/Button';
|
9
8
|
import { Icon } from '../../../src/molecules/Icon/Icon';
|
10
9
|
import { DIALOG_ICONS_AND_COLORS } from '../../../src/atoms/Dialog/Dialog';
|
11
|
-
import { Modal } from '../../../src/atoms/Modal/Modal';
|
12
|
-
|
10
|
+
import { Modal as BaseModal } from '../../../src/atoms/Modal/Modal';
|
11
|
+
import { tw } from '../../../src/utils/tailwind';
|
12
|
+
export const Dialog = (props) => {
|
13
|
+
const ref = React.useRef(null);
|
14
|
+
const state = useOverlayTriggerState({ isOpen: props.open });
|
15
|
+
const { modalProps, underlayProps } = useModalOverlay({}, state, ref);
|
16
|
+
if (!state.isOpen) {
|
17
|
+
return null;
|
18
|
+
}
|
19
|
+
return (React.createElement(Overlay, null,
|
20
|
+
React.createElement(BaseModal, { open: true },
|
21
|
+
React.createElement(BaseModal.BackDrop, Object.assign({}, underlayProps)),
|
22
|
+
React.createElement(BaseModal.Dialog, Object.assign({ ref: ref, size: "sm" }, modalProps),
|
23
|
+
React.createElement(DialogWrapper, Object.assign({}, props))))));
|
24
|
+
};
|
25
|
+
const DialogWrapper = ({ title, type = 'confirmation', children, primaryAction, secondaryAction, }) => {
|
13
26
|
const ref = React.useRef(null);
|
14
|
-
const state = useOverlayTriggerState({ isOpen: open });
|
15
|
-
const { modalProps, underlayProps } = useModalOverlay({ isDismissable: false }, state, ref);
|
16
27
|
const labelledBy = useId();
|
17
28
|
const describedBy = useId();
|
18
29
|
// useDialog() also returns 'titleProps', but it doesn't work correctly
|
@@ -21,21 +32,14 @@ export const Dialog = ({ title, type = 'confirmation', open, children, primaryAc
|
|
21
32
|
// it render twice when it is opened and that causes the useSlotId() hook
|
22
33
|
// in react-aria to think that the title is not rendered correctly.
|
23
34
|
const { dialogProps } = useDialog({ 'role': 'alertdialog', 'aria-labelledby': labelledBy, 'aria-describedby': describedBy }, ref);
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
React.createElement(
|
29
|
-
|
30
|
-
React.createElement(
|
31
|
-
React.createElement(
|
32
|
-
|
33
|
-
React.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }),
|
34
|
-
React.createElement(Modal.Title, { id: labelledBy, variant: "large-strong", color: DIALOG_ICONS_AND_COLORS[type].color }, title)),
|
35
|
-
React.createElement(Modal.Body, { id: describedBy }, children),
|
36
|
-
React.createElement(Modal.Footer, null,
|
37
|
-
React.createElement(Modal.Actions, null,
|
38
|
-
secondaryAction && (React.createElement(GhostButton, Object.assign({ key: secondaryAction.text }, omit(secondaryAction, 'text')), secondaryAction.text)),
|
39
|
-
React.createElement(SecondaryButton, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text))))))));
|
35
|
+
return (React.createElement("div", Object.assign({ ref: ref }, dialogProps, { className: tw('outline-none') }),
|
36
|
+
React.createElement(BaseModal.Header, null,
|
37
|
+
React.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }),
|
38
|
+
React.createElement(BaseModal.Title, { id: labelledBy, variant: "large-strong", color: DIALOG_ICONS_AND_COLORS[type].color }, title)),
|
39
|
+
React.createElement(BaseModal.Body, { id: describedBy }, children),
|
40
|
+
React.createElement(BaseModal.Footer, null,
|
41
|
+
React.createElement(BaseModal.Actions, null,
|
42
|
+
secondaryAction && (React.createElement(GhostButton, Object.assign({ key: secondaryAction.text }, omit(secondaryAction, 'text')), secondaryAction.text)),
|
43
|
+
React.createElement(SecondaryButton, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text)))));
|
40
44
|
};
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EaWFsb2cvRGlhbG9nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvQyxPQUFPLEVBQW1CLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkYsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUF1QnhDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBMEIsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNyRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFpQixJQUFJLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxPQUFPLENBQ0wsb0JBQUMsT0FBTztRQUNOLG9CQUFDLFNBQVMsSUFBQyxJQUFJO1lBQ2Isb0JBQUMsU0FBUyxDQUFDLFFBQVEsb0JBQUssYUFBYSxFQUFJO1lBQ3pDLG9CQUFDLFNBQVMsQ0FBQyxNQUFNLGtCQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLElBQUksSUFBSyxVQUFVO2dCQUNsRCxvQkFBQyxhQUFhLG9CQUFLLEtBQUssRUFBSSxDQUNYLENBQ1QsQ0FDSixDQUNYLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBMEIsQ0FBQyxFQUM1QyxLQUFLLEVBQ0wsSUFBSSxHQUFHLGNBQWMsRUFDckIsUUFBUSxFQUNSLGFBQWEsRUFDYixlQUFlLEdBQ2hCLEVBQUUsRUFBRTtJQUNILE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO0lBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzNCLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzVCLHVFQUF1RTtJQUN2RSw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLHlFQUF5RTtJQUN6RSxtRUFBbUU7SUFDbkUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FDL0IsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsRUFDekYsR0FBRyxDQUNKLENBQUM7SUFFRixPQUFPLENBQ0wsMkNBQUssR0FBRyxFQUFFLEdBQUcsSUFBTSxXQUFXLElBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUM7UUFLM0Qsb0JBQUMsU0FBUyxDQUFDLE1BQU07WUFDZixvQkFBQyxJQUFJLElBQUMsSUFBSSxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUk7WUFDNUcsb0JBQUMsU0FBUyxDQUFDLEtBQUssSUFBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxjQUFjLEVBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFDL0YsS0FBSyxDQUNVLENBQ0Q7UUFDbkIsb0JBQUMsU0FBUyxDQUFDLElBQUksSUFBQyxFQUFFLEVBQUUsV0FBVyxJQUFHLFFBQVEsQ0FBa0I7UUFDNUQsb0JBQUMsU0FBUyxDQUFDLE1BQU07WUFDZixvQkFBQyxTQUFTLENBQUMsT0FBTztnQkFDZixlQUFlLElBQUksQ0FDbEIsb0JBQUMsV0FBVyxrQkFBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLElBQUksSUFBTSxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxHQUN0RSxlQUFlLENBQUMsSUFBSSxDQUNULENBQ2Y7Z0JBQ0Qsb0JBQUMsZUFBZSxrQkFBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLElBQUksSUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxHQUN0RSxhQUFhLENBQUMsSUFBSSxDQUNILENBQ0EsQ0FDSCxDQUNmLENBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|