@flipdish/ui-library 0.45.1 → 0.45.3
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/components/molecules/Select/components/MultiSelect.cjs +20 -2
- package/dist/components/molecules/Select/components/MultiSelect.cjs.map +1 -1
- package/dist/components/molecules/Select/components/MultiSelect.d.ts.map +1 -1
- package/dist/components/molecules/Select/components/MultiSelect.js +21 -3
- package/dist/components/molecules/Select/components/MultiSelect.js.map +1 -1
- package/dist/components/organisms/Table/components/TableSortIcon.cjs +15 -0
- package/dist/components/organisms/Table/components/TableSortIcon.cjs.map +1 -0
- package/dist/components/organisms/Table/components/TableSortIcon.d.ts +4 -0
- package/dist/components/organisms/Table/components/TableSortIcon.d.ts.map +1 -0
- package/dist/components/organisms/Table/components/TableSortIcon.js +13 -0
- package/dist/components/organisms/Table/components/TableSortIcon.js.map +1 -0
- package/dist/components/organisms/Table/hooks/useSelectableRowRegistry.cjs +35 -0
- package/dist/components/organisms/Table/hooks/useSelectableRowRegistry.cjs.map +1 -0
- package/dist/components/organisms/Table/hooks/useSelectableRowRegistry.d.ts +22 -0
- package/dist/components/organisms/Table/hooks/useSelectableRowRegistry.d.ts.map +1 -0
- package/dist/components/organisms/Table/hooks/useSelectableRowRegistry.js +32 -0
- package/dist/components/organisms/Table/hooks/useSelectableRowRegistry.js.map +1 -0
- package/dist/components/organisms/Table/index.cjs +8 -16
- package/dist/components/organisms/Table/index.cjs.map +1 -1
- package/dist/components/organisms/Table/index.d.ts.map +1 -1
- package/dist/components/organisms/Table/index.js +11 -19
- package/dist/components/organisms/Table/index.js.map +1 -1
- package/dist/components/organisms/Table/table.utils.cjs +24 -0
- package/dist/components/organisms/Table/table.utils.cjs.map +1 -1
- package/dist/components/organisms/Table/table.utils.d.ts +26 -0
- package/dist/components/organisms/Table/table.utils.d.ts.map +1 -1
- package/dist/components/organisms/Table/table.utils.js +23 -1
- package/dist/components/organisms/Table/table.utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -58,11 +58,29 @@ const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSe
|
|
|
58
58
|
const handleClearSearch = React.useCallback(() => {
|
|
59
59
|
setSearchValue('');
|
|
60
60
|
}, []);
|
|
61
|
-
|
|
61
|
+
// Escape, a click outside and a scroll all close without clearing the search, which would otherwise hide options when the list reopens.
|
|
62
|
+
const handleOpenChange = React.useCallback((isOpen) => {
|
|
63
|
+
if (isOpen)
|
|
64
|
+
setSearchValue('');
|
|
65
|
+
}, []);
|
|
66
|
+
return (jsxRuntime.jsx(SelectShared.SelectContext.Provider, { value: { size, testIdPrefix: rootTestId }, children: jsxRuntime.jsxs("div", { ref: ref, "data-testid": rootTestId, className: cx.cx('flex flex-col gap-1.5', className), children: [label && (jsxRuntime.jsx(Input.Label, { isRequired: hideRequiredIndicator ? false : isRequired, isInvalid: isInvalid, tooltip: tooltip, children: label })), jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { onOpenChange: handleOpenChange, children: [jsxRuntime.jsx(reactAriaComponents.Button, { ref: triggerRef, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), isDisabled: isDisabled, "aria-label": label ? undefined : ariaLabel, "data-invalid": isInvalid || undefined, "data-required": isRequired || undefined, onClick: onResize, className: (state) => cx.cx('relative flex w-full cursor-pointer items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset', (state.isFocusVisible || state.isPressed) && 'ring-2 ring-brand', state.isDisabled && 'cursor-not-allowed opacity-50'), children: jsxRuntime.jsxs("span", { className: cx.cx('flex w-full items-center truncate text-left', SelectShared.sizes[size].root, '*:data-icon:shrink-0 *:data-icon:text-fg-quaternary'), children: [hasSelection ? (jsxRuntime.jsxs("span", { className: cx.cx('flex items-center', SelectShared.sizes[size].textContainer), children: [jsxRuntime.jsx("span", { className: cx.cx('font-medium text-primary', SelectShared.sizes[size].text), children: selectedCountFormatter ? selectedCountFormatter(selectedCount) : `${selectedCount} selected` }), supportingText && jsxRuntime.jsx("span", { className: cx.cx('text-tertiary', SelectShared.sizes[size].text), children: supportingText })] })) : (jsxRuntime.jsx("span", { className: cx.cx('text-placeholder', SelectShared.sizes[size].text), children: placeholder })), jsxRuntime.jsx(uiIcons.ChevronDown, { "aria-hidden": "true", className: cx.cx('ml-auto shrink-0 text-fg-quaternary', size === 'lg' ? 'size-5' : 'size-4 stroke-[2.25px]') })] }) }), jsxRuntime.jsx(ScrollClosingPopover.ScrollClosingPopover, { placement: "bottom", offset: 4, containerPadding: 0, style: { width: popoverWidth || undefined }, className: (state) => cx.cx('w-(--trigger-width) origin-(--trigger-anchor-point) overflow-hidden rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt outline-hidden',
|
|
62
67
|
// Only while animating: a resting `will-change: transform` stops iOS WebKit touch-scrolling the nested list.
|
|
63
68
|
(state.isEntering || state.isExiting) && 'will-change-transform', state.isEntering &&
|
|
64
69
|
'duration-150 ease-out animate-in fade-in placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', state.isExiting &&
|
|
65
|
-
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children: jsxRuntime.
|
|
70
|
+
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children: jsxRuntime.jsx(reactAriaComponents.Dialog, { className: "flex max-h-[inherit] flex-col outline-hidden", children: ({ close }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(reactAriaComponents.Autocomplete, { filter: contains, inputValue: searchValue, onInputChange: setSearchValue, children: [showSearch && (jsxRuntime.jsx("div", { className: cx.cx('shrink-0 border-b border-secondary', searchSizes[size].wrapper), children: jsxRuntime.jsx(reactAriaComponents.SearchField, { "aria-label": "Search", value: searchValue, onChange: setSearchValue, autoFocus: true, children: jsxRuntime.jsxs("div", { className: cx.cx('flex items-center', searchSizes[size].root), children: [jsxRuntime.jsx(uiIcons.SearchLg, { "data-icon": true, "aria-hidden": "true", className: "shrink-0 text-fg-quaternary" }), jsxRuntime.jsx(reactAriaComponents.Input
|
|
71
|
+
// Runs before SearchField, which would spend the first Escape clearing the text (refilling the list as it fades out); the text resets on the next open instead.
|
|
72
|
+
, {
|
|
73
|
+
// Runs before SearchField, which would spend the first Escape clearing the text (refilling the list as it fades out); the text resets on the next open instead.
|
|
74
|
+
onKeyDownCapture: (e) => {
|
|
75
|
+
if (e.key !== 'Escape')
|
|
76
|
+
return;
|
|
77
|
+
e.stopPropagation();
|
|
78
|
+
// An Escape mid IME composition only cancels the composition, so leave the browser default and the popover alone.
|
|
79
|
+
if (e.nativeEvent.isComposing)
|
|
80
|
+
return;
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
close();
|
|
83
|
+
}, placeholder: "Search", className: cx.cx('w-full appearance-none bg-transparent text-primary caret-alpha-black/90 outline-hidden placeholder:text-placeholder', searchSizes[size].text) })] }) }) })), jsxRuntime.jsx(reactAriaComponents.ListBox, { "aria-label": label || 'Options', items: items, selectionMode: "multiple", selectedKeys: currentSelectedKeys, onSelectionChange: handleSelectionChange, renderEmptyState: () => (jsxRuntime.jsx(MultiSelectEmptyState, { title: emptyStateTitle, description: emptyStateDescription, onClearSearch: searchValue ? handleClearSearch : undefined })), className: cx.cx('min-h-0 overflow-y-auto py-1 outline-hidden', popoverMaxHeights[size]), children: children })] }), showFooter && jsxRuntime.jsx(MultiSelectFooter, { size: size, onReset: handleReset, onSelectAll: handleSelectAll })] })) }) })] }), hint && (jsxRuntime.jsx(Input.HintText, { isInvalid: isInvalid, className: cx.cx(size === 'sm' && 'text-xs'), children: hint }))] }) }));
|
|
66
84
|
};
|
|
67
85
|
/**
|
|
68
86
|
* An interactive dropdown that lets the user select multiple options from a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.cjs","sources":["../../../../../src/components/molecules/Select/components/MultiSelect.tsx"],"sourcesContent":[null],"names":["_jsxs","cx","_jsx","Button","FeaturedIcon","SearchLg","useFilter","useState","useResolvedTestId","useRef","useCallback","useMultiSelectSelection","SelectContext","Label","AriaDialogTrigger","AriaButton","joinTestId","sizes","ChevronDown","ScrollClosingPopover","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox","HintText","SelectItem"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MultiSelect.cjs","sources":["../../../../../src/components/molecules/Select/components/MultiSelect.tsx"],"sourcesContent":[null],"names":["_jsxs","cx","_jsx","Button","FeaturedIcon","SearchLg","useFilter","useState","useResolvedTestId","useRef","useCallback","useMultiSelectSelection","SelectContext","Label","AriaDialogTrigger","AriaButton","joinTestId","sizes","ChevronDown","ScrollClosingPopover","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox","HintText","SelectItem"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/MultiSelect.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAavD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,WAAW,EAAiB,KAAK,cAAc,EAAS,MAAM,gBAAgB,CAAC;AAoB7F,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,iBAAiB,GAAI,2CAAkD,sBAAsB,gCAalG,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,qBAAqB,GAAI,mDAK5B,0BAA0B,gCAe5B,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,aAAa,CAAC,cAAc,CAAC,EAAE,WAAW;IAClF,2CAA2C;IAC3C,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC;IAC5D,gDAAgD;IAChD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9C,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACtD,2EAA2E;IAC3E,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,eAAe,GAAI,mYA4BtB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/MultiSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { ChevronDown, SearchLg } from '@flipdish/ui-icons';
|
|
3
3
|
import { Button as Button$1 } from '@flipdish/ui-library/components/atoms/Button';
|
|
4
4
|
import { FeaturedIcon } from '@flipdish/ui-library/components/atoms/FeaturedIcon';
|
|
@@ -56,11 +56,29 @@ const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSe
|
|
|
56
56
|
const handleClearSearch = useCallback(() => {
|
|
57
57
|
setSearchValue('');
|
|
58
58
|
}, []);
|
|
59
|
-
|
|
59
|
+
// Escape, a click outside and a scroll all close without clearing the search, which would otherwise hide options when the list reopens.
|
|
60
|
+
const handleOpenChange = useCallback((isOpen) => {
|
|
61
|
+
if (isOpen)
|
|
62
|
+
setSearchValue('');
|
|
63
|
+
}, []);
|
|
64
|
+
return (jsx(SelectContext.Provider, { value: { size, testIdPrefix: rootTestId }, children: jsxs("div", { ref: ref, "data-testid": rootTestId, className: cx('flex flex-col gap-1.5', className), children: [label && (jsx(Label, { isRequired: hideRequiredIndicator ? false : isRequired, isInvalid: isInvalid, tooltip: tooltip, children: label })), jsxs(DialogTrigger, { onOpenChange: handleOpenChange, children: [jsx(Button, { ref: triggerRef, "data-testid": joinTestId(rootTestId, 'trigger'), isDisabled: isDisabled, "aria-label": label ? undefined : ariaLabel, "data-invalid": isInvalid || undefined, "data-required": isRequired || undefined, onClick: onResize, className: (state) => cx('relative flex w-full cursor-pointer items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset', (state.isFocusVisible || state.isPressed) && 'ring-2 ring-brand', state.isDisabled && 'cursor-not-allowed opacity-50'), children: jsxs("span", { className: cx('flex w-full items-center truncate text-left', sizes[size].root, '*:data-icon:shrink-0 *:data-icon:text-fg-quaternary'), children: [hasSelection ? (jsxs("span", { className: cx('flex items-center', sizes[size].textContainer), children: [jsx("span", { className: cx('font-medium text-primary', sizes[size].text), children: selectedCountFormatter ? selectedCountFormatter(selectedCount) : `${selectedCount} selected` }), supportingText && jsx("span", { className: cx('text-tertiary', sizes[size].text), children: supportingText })] })) : (jsx("span", { className: cx('text-placeholder', sizes[size].text), children: placeholder })), jsx(ChevronDown, { "aria-hidden": "true", className: cx('ml-auto shrink-0 text-fg-quaternary', size === 'lg' ? 'size-5' : 'size-4 stroke-[2.25px]') })] }) }), jsx(ScrollClosingPopover, { placement: "bottom", offset: 4, containerPadding: 0, style: { width: popoverWidth || undefined }, className: (state) => cx('w-(--trigger-width) origin-(--trigger-anchor-point) overflow-hidden rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt outline-hidden',
|
|
60
65
|
// Only while animating: a resting `will-change: transform` stops iOS WebKit touch-scrolling the nested list.
|
|
61
66
|
(state.isEntering || state.isExiting) && 'will-change-transform', state.isEntering &&
|
|
62
67
|
'duration-150 ease-out animate-in fade-in placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', state.isExiting &&
|
|
63
|
-
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children:
|
|
68
|
+
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children: jsx(Dialog, { className: "flex max-h-[inherit] flex-col outline-hidden", children: ({ close }) => (jsxs(Fragment, { children: [jsxs(Autocomplete, { filter: contains, inputValue: searchValue, onInputChange: setSearchValue, children: [showSearch && (jsx("div", { className: cx('shrink-0 border-b border-secondary', searchSizes[size].wrapper), children: jsx(SearchField, { "aria-label": "Search", value: searchValue, onChange: setSearchValue, autoFocus: true, children: jsxs("div", { className: cx('flex items-center', searchSizes[size].root), children: [jsx(SearchLg, { "data-icon": true, "aria-hidden": "true", className: "shrink-0 text-fg-quaternary" }), jsx(Input
|
|
69
|
+
// Runs before SearchField, which would spend the first Escape clearing the text (refilling the list as it fades out); the text resets on the next open instead.
|
|
70
|
+
, {
|
|
71
|
+
// Runs before SearchField, which would spend the first Escape clearing the text (refilling the list as it fades out); the text resets on the next open instead.
|
|
72
|
+
onKeyDownCapture: (e) => {
|
|
73
|
+
if (e.key !== 'Escape')
|
|
74
|
+
return;
|
|
75
|
+
e.stopPropagation();
|
|
76
|
+
// An Escape mid IME composition only cancels the composition, so leave the browser default and the popover alone.
|
|
77
|
+
if (e.nativeEvent.isComposing)
|
|
78
|
+
return;
|
|
79
|
+
e.preventDefault();
|
|
80
|
+
close();
|
|
81
|
+
}, placeholder: "Search", className: cx('w-full appearance-none bg-transparent text-primary caret-alpha-black/90 outline-hidden placeholder:text-placeholder', searchSizes[size].text) })] }) }) })), jsx(ListBox, { "aria-label": label || 'Options', items: items, selectionMode: "multiple", selectedKeys: currentSelectedKeys, onSelectionChange: handleSelectionChange, renderEmptyState: () => (jsx(MultiSelectEmptyState, { title: emptyStateTitle, description: emptyStateDescription, onClearSearch: searchValue ? handleClearSearch : undefined })), className: cx('min-h-0 overflow-y-auto py-1 outline-hidden', popoverMaxHeights[size]), children: children })] }), showFooter && jsx(MultiSelectFooter, { size: size, onReset: handleReset, onSelectAll: handleSelectAll })] })) }) })] }), hint && (jsx(HintText, { isInvalid: isInvalid, className: cx(size === 'sm' && 'text-xs'), children: hint }))] }) }));
|
|
64
82
|
};
|
|
65
83
|
/**
|
|
66
84
|
* An interactive dropdown that lets the user select multiple options from a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.js","sources":["../../../../../src/components/molecules/Select/components/MultiSelect.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","Button","AriaDialogTrigger","AriaButton","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MultiSelect.js","sources":["../../../../../src/components/molecules/Select/components/MultiSelect.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","Button","AriaDialogTrigger","AriaButton","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var uiIcons = require('@flipdish/ui-icons');
|
|
5
|
+
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
6
|
+
|
|
7
|
+
const TableSortIcon = ({ sortDirection }) => {
|
|
8
|
+
if (!sortDirection) {
|
|
9
|
+
return jsxRuntime.jsx(uiIcons.ChevronSelectorVertical, { size: 12, strokeWidth: 3, className: "text-fg-quaternary" });
|
|
10
|
+
}
|
|
11
|
+
return jsxRuntime.jsx(uiIcons.ArrowDown, { className: cx.cx('size-3 stroke-[3px] text-fg-quaternary', sortDirection === 'ascending' && 'rotate-180') });
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.TableSortIcon = TableSortIcon;
|
|
15
|
+
//# sourceMappingURL=TableSortIcon.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSortIcon.cjs","sources":["../../../../../src/components/organisms/Table/components/TableSortIcon.tsx"],"sourcesContent":[null],"names":["_jsx","ChevronSelectorVertical","ArrowDown","cx"],"mappings":";;;;;;MAKa,aAAa,GAAG,CAAC,EAAE,aAAa,EAAkD,KAAI;IACjG,IAAI,CAAC,aAAa,EAAE;AAClB,QAAA,OAAOA,cAAA,CAACC,+BAAuB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,oBAAoB,GAAG;IAC7F;AAEA,IAAA,OAAOD,eAACE,iBAAS,EAAA,EAAC,SAAS,EAAEC,KAAE,CAAC,wCAAwC,EAAE,aAAa,KAAK,WAAW,IAAI,YAAY,CAAC,GAAI;AAC9H;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSortIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Table/components/TableSortIcon.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,GAAI,mBAAmB;IAAE,aAAa,CAAC,EAAE,WAAW,GAAG,YAAY,CAAA;CAAE,gCAM9F,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ChevronSelectorVertical, ArrowDown } from '@flipdish/ui-icons';
|
|
3
|
+
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
4
|
+
|
|
5
|
+
const TableSortIcon = ({ sortDirection }) => {
|
|
6
|
+
if (!sortDirection) {
|
|
7
|
+
return jsx(ChevronSelectorVertical, { size: 12, strokeWidth: 3, className: "text-fg-quaternary" });
|
|
8
|
+
}
|
|
9
|
+
return jsx(ArrowDown, { className: cx('size-3 stroke-[3px] text-fg-quaternary', sortDirection === 'ascending' && 'rotate-180') });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { TableSortIcon };
|
|
13
|
+
//# sourceMappingURL=TableSortIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSortIcon.js","sources":["../../../../../src/components/organisms/Table/components/TableSortIcon.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;MAKa,aAAa,GAAG,CAAC,EAAE,aAAa,EAAkD,KAAI;IACjG,IAAI,CAAC,aAAa,EAAE;AAClB,QAAA,OAAOA,GAAA,CAAC,uBAAuB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,oBAAoB,GAAG;IAC7F;AAEA,IAAA,OAAOA,IAAC,SAAS,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,wCAAwC,EAAE,aAAa,KAAK,WAAW,IAAI,YAAY,CAAC,GAAI;AAC9H;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Remembers which selectable rows are mounted so "select all" can name them instead of react-aria's `'all'`.
|
|
7
|
+
*
|
|
8
|
+
* @returns `register`, whose cleanup drops that row, and `rowIds`, the live set a selection handler reads.
|
|
9
|
+
*/
|
|
10
|
+
const useSelectableRowRegistry = () => {
|
|
11
|
+
// react-aria reports "select all" as `'all'`; the rendered rows say which ids that covers, in mount order rather than display order.
|
|
12
|
+
const rowIds = React.useRef(new Set());
|
|
13
|
+
const register = React.useCallback((id) => {
|
|
14
|
+
rowIds.current.add(id);
|
|
15
|
+
return () => {
|
|
16
|
+
rowIds.current.delete(id);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
return { register, rowIds };
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Joins one row to the table's selectable-row set for as long as it has an id and is not disabled.
|
|
23
|
+
*
|
|
24
|
+
* @param register The table's registrar, or omitted when the table is not reporting selection.
|
|
25
|
+
* @param id The row's id. A row without one is left out of "select all".
|
|
26
|
+
* @param isDisabled Whether the row is disabled. Disabled rows stay out of the set, and leave it if they become disabled.
|
|
27
|
+
* @returns Nothing. Membership is updated while the row is rendered.
|
|
28
|
+
*/
|
|
29
|
+
const useRegisterSelectableRow = (register, id, isDisabled) => {
|
|
30
|
+
React.useEffect(() => (id === undefined || isDisabled ? undefined : register?.(id)), [register, id, isDisabled]);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.useRegisterSelectableRow = useRegisterSelectableRow;
|
|
34
|
+
exports.useSelectableRowRegistry = useSelectableRowRegistry;
|
|
35
|
+
//# sourceMappingURL=useSelectableRowRegistry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSelectableRowRegistry.cjs","sources":["../../../../../src/components/organisms/Table/hooks/useSelectableRowRegistry.ts"],"sourcesContent":[null],"names":["useRef","useCallback","useEffect"],"mappings":";;;;AAOA;;;;AAIG;AACI,MAAM,wBAAwB,GAAG,MAAK;;IAE3C,MAAM,MAAM,GAAGA,YAAM,CAAC,IAAI,GAAG,EAAS,CAAC;AACvC,IAAA,MAAM,QAAQ,GAAGC,iBAAW,CAAC,CAAC,EAAS,KAAI;AACzC,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACtB,QAAA,OAAO,MAAK;AACV,YAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;AAC3B,QAAA,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC7B;AAEA;;;;;;;AAOG;AACI,MAAM,wBAAwB,GAAG,CACtC,QAAiD,EACjD,EAAqB,EACrB,UAA+B,KAC7B;AACF,IAAAC,eAAS,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;AAC5G;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** A row id. Same values as react-aria's `Key`, without importing that package into a hook. */
|
|
2
|
+
type RowId = string | number;
|
|
3
|
+
/**
|
|
4
|
+
* Remembers which selectable rows are mounted so "select all" can name them instead of react-aria's `'all'`.
|
|
5
|
+
*
|
|
6
|
+
* @returns `register`, whose cleanup drops that row, and `rowIds`, the live set a selection handler reads.
|
|
7
|
+
*/
|
|
8
|
+
export declare const useSelectableRowRegistry: () => {
|
|
9
|
+
register: (id: RowId) => () => void;
|
|
10
|
+
rowIds: import("react").RefObject<Set<RowId>>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Joins one row to the table's selectable-row set for as long as it has an id and is not disabled.
|
|
14
|
+
*
|
|
15
|
+
* @param register The table's registrar, or omitted when the table is not reporting selection.
|
|
16
|
+
* @param id The row's id. A row without one is left out of "select all".
|
|
17
|
+
* @param isDisabled Whether the row is disabled. Disabled rows stay out of the set, and leave it if they become disabled.
|
|
18
|
+
* @returns Nothing. Membership is updated while the row is rendered.
|
|
19
|
+
*/
|
|
20
|
+
export declare const useRegisterSelectableRow: (register: ((id: RowId) => () => void) | undefined, id: RowId | undefined, isDisabled: boolean | undefined) => void;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=useSelectableRowRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSelectableRowRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/Table/hooks/useSelectableRowRegistry.ts"],"names":[],"mappings":"AAIA,+FAA+F;AAC/F,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7B;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;mBAGD,KAAK;;CAQxC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK,MAAM,IAAI,CAAC,GAAG,SAAS,EACjD,IAAI,KAAK,GAAG,SAAS,EACrB,YAAY,OAAO,GAAG,SAAS,SAGhC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useRef, useCallback, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Remembers which selectable rows are mounted so "select all" can name them instead of react-aria's `'all'`.
|
|
5
|
+
*
|
|
6
|
+
* @returns `register`, whose cleanup drops that row, and `rowIds`, the live set a selection handler reads.
|
|
7
|
+
*/
|
|
8
|
+
const useSelectableRowRegistry = () => {
|
|
9
|
+
// react-aria reports "select all" as `'all'`; the rendered rows say which ids that covers, in mount order rather than display order.
|
|
10
|
+
const rowIds = useRef(new Set());
|
|
11
|
+
const register = useCallback((id) => {
|
|
12
|
+
rowIds.current.add(id);
|
|
13
|
+
return () => {
|
|
14
|
+
rowIds.current.delete(id);
|
|
15
|
+
};
|
|
16
|
+
}, []);
|
|
17
|
+
return { register, rowIds };
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Joins one row to the table's selectable-row set for as long as it has an id and is not disabled.
|
|
21
|
+
*
|
|
22
|
+
* @param register The table's registrar, or omitted when the table is not reporting selection.
|
|
23
|
+
* @param id The row's id. A row without one is left out of "select all".
|
|
24
|
+
* @param isDisabled Whether the row is disabled. Disabled rows stay out of the set, and leave it if they become disabled.
|
|
25
|
+
* @returns Nothing. Membership is updated while the row is rendered.
|
|
26
|
+
*/
|
|
27
|
+
const useRegisterSelectableRow = (register, id, isDisabled) => {
|
|
28
|
+
useEffect(() => (id === undefined || isDisabled ? undefined : register?.(id)), [register, id, isDisabled]);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { useRegisterSelectableRow, useSelectableRowRegistry };
|
|
32
|
+
//# sourceMappingURL=useSelectableRowRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSelectableRowRegistry.js","sources":["../../../../../src/components/organisms/Table/hooks/useSelectableRowRegistry.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAOA;;;;AAIG;AACI,MAAM,wBAAwB,GAAG,MAAK;;IAE3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,EAAS,CAAC;AACvC,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAS,KAAI;AACzC,QAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;AACtB,QAAA,OAAO,MAAK;AACV,YAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;AAC3B,QAAA,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC7B;AAEA;;;;;;;AAOG;AACI,MAAM,wBAAwB,GAAG,CACtC,QAAiD,EACjD,EAAqB,EACrB,UAA+B,KAC7B;AACF,IAAA,SAAS,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;AAC5G;;"}
|
|
@@ -10,6 +10,8 @@ var cx = require('@flipdish/ui-library/utilities/cx');
|
|
|
10
10
|
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
11
11
|
var React = require('react');
|
|
12
12
|
var reactAriaComponents = require('react-aria-components');
|
|
13
|
+
var TableSortIcon = require('./components/TableSortIcon.cjs');
|
|
14
|
+
var useSelectableRowRegistry = require('./hooks/useSelectableRowRegistry.cjs');
|
|
13
15
|
var table_utils = require('./table.utils.cjs');
|
|
14
16
|
|
|
15
17
|
/** Row actions menu behind a dots button with fixed Edit, Copy link and Delete items, for use in a table's last column. */
|
|
@@ -36,24 +38,15 @@ const TableRoot = ({ className, size: sizeProp, selectedKey, onSelectedKeyChange
|
|
|
36
38
|
const inherited = React.useContext(TableContext);
|
|
37
39
|
const size = sizeProp ?? inherited.size;
|
|
38
40
|
const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'table', rootName: 'table' });
|
|
39
|
-
|
|
40
|
-
const rowKeys = React.useRef(new Set());
|
|
41
|
-
const registerRow = React.useCallback((id) => {
|
|
42
|
-
rowKeys.current.add(id);
|
|
43
|
-
return () => {
|
|
44
|
-
rowKeys.current.delete(id);
|
|
45
|
-
};
|
|
46
|
-
}, []);
|
|
41
|
+
const { register: registerRow, rowIds } = useSelectableRowRegistry.useSelectableRowRegistry();
|
|
47
42
|
const { onSelectionChange } = props;
|
|
48
|
-
const
|
|
43
|
+
const selectionListeners = { onSelectionChange, onSelectedKeyChange, onSelectedKeysChange };
|
|
49
44
|
const handleSelectionChange = (selection) => {
|
|
50
|
-
|
|
51
|
-
onSelectedKeyChange?.(table_utils.keyOfSelection(selection));
|
|
52
|
-
onSelectedKeysChange?.(table_utils.keysOfSelection(selection, rowKeys.current, props.disabledKeys));
|
|
45
|
+
table_utils.reportSelectionChange(selection, rowIds.current, props.disabledKeys, selectionListeners);
|
|
53
46
|
};
|
|
54
47
|
return (
|
|
55
48
|
// A row cannot see the table-level `onRowAction`, so the context carries whether one exists.
|
|
56
|
-
jsxRuntime.jsx(TableContext.Provider, { value: { size, testIdPrefix: rootTestId, hasRowAction: props.onRowAction !== undefined, registerRow }, children: jsxRuntime.jsx("div", { className: "overflow-x-auto", children: jsxRuntime.jsx(reactAriaComponents.Table, { "data-testid": rootTestId, className: (state) => cx.cx('w-full overflow-x-hidden', typeof className === 'function' ? className(state) : className), ...props, selectedKeys: selectedKey !== undefined ? table_utils.selectionOfKey(selectedKey) : props.selectedKeys, onSelectionChange:
|
|
49
|
+
jsxRuntime.jsx(TableContext.Provider, { value: { size, testIdPrefix: rootTestId, hasRowAction: props.onRowAction !== undefined, registerRow }, children: jsxRuntime.jsx("div", { className: "overflow-x-auto", children: jsxRuntime.jsx(reactAriaComponents.Table, { "data-testid": rootTestId, className: (state) => cx.cx('w-full overflow-x-hidden', typeof className === 'function' ? className(state) : className), ...props, selectedKeys: selectedKey !== undefined ? table_utils.selectionOfKey(selectedKey) : props.selectedKeys, onSelectionChange: table_utils.hasSelectionListener(selectionListeners) ? handleSelectionChange : undefined }) }) }));
|
|
57
50
|
};
|
|
58
51
|
TableRoot.displayName = 'Table';
|
|
59
52
|
const TableHeader = ({ columns, children, bordered = true, className, size: sizeProp, ...props }) => {
|
|
@@ -70,8 +63,7 @@ const TableHead = ({ className, tooltip, label, children, 'data-testid': dataTes
|
|
|
70
63
|
const { selectionBehavior } = reactAriaComponents.useTableOptions();
|
|
71
64
|
const { testIdPrefix } = React.useContext(TableContext);
|
|
72
65
|
const colTestId = dataTestId ?? (testIdPrefix && props.id !== undefined ? testIdUtils.joinTestId(testIdPrefix, `col-${testIdUtils.slugifyTestId(String(props.id))}`) : undefined);
|
|
73
|
-
return (jsxRuntime.jsx(reactAriaComponents.Column, { ...props, "data-testid": colTestId, className: (state) => cx.cx('relative p-0 px-6 py-2 outline-hidden focus-visible:z-1 focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-bg-primary focus-visible:ring-inset', selectionBehavior === 'toggle' && 'nth-2:pl-3', state.allowsSorting && 'cursor-pointer', typeof className === 'function' ? className(state) : className), children: (state) => (jsxRuntime.jsxs(reactAriaComponents.Group, { className: "flex items-center gap-1", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [label && jsxRuntime.jsx("span", { className: "text-xs font-semibold whitespace-nowrap text-quaternary", children: label }), typeof children === 'function' ? children(state) : children] }), tooltip && (jsxRuntime.jsx(Tooltip.Tooltip, { title: tooltip, placement: "top", children: jsxRuntime.jsx(Tooltip.TooltipTrigger, { "aria-label": tooltip, className: "cursor-pointer text-fg-quaternary transition duration-100 ease-linear hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover", children: jsxRuntime.jsx(uiIcons.HelpCircle, { className: "size-4" }) }) })), state.allowsSorting &&
|
|
74
|
-
(state.sortDirection ? (jsxRuntime.jsx(uiIcons.ArrowDown, { className: cx.cx('size-3 stroke-[3px] text-fg-quaternary', state.sortDirection === 'ascending' && 'rotate-180') })) : (jsxRuntime.jsx(uiIcons.ChevronSelectorVertical, { size: 12, strokeWidth: 3, className: "text-fg-quaternary" })))] })) }));
|
|
66
|
+
return (jsxRuntime.jsx(reactAriaComponents.Column, { ...props, "data-testid": colTestId, className: (state) => cx.cx('relative p-0 px-6 py-2 outline-hidden focus-visible:z-1 focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-bg-primary focus-visible:ring-inset', selectionBehavior === 'toggle' && 'nth-2:pl-3', state.allowsSorting && 'cursor-pointer', typeof className === 'function' ? className(state) : className), children: (state) => (jsxRuntime.jsxs(reactAriaComponents.Group, { className: "flex items-center gap-1", children: [jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [label && jsxRuntime.jsx("span", { className: "text-xs font-semibold whitespace-nowrap text-quaternary", children: label }), typeof children === 'function' ? children(state) : children] }), tooltip && (jsxRuntime.jsx(Tooltip.Tooltip, { title: tooltip, placement: "top", children: jsxRuntime.jsx(Tooltip.TooltipTrigger, { "aria-label": tooltip, className: "cursor-pointer text-fg-quaternary transition duration-100 ease-linear hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover", children: jsxRuntime.jsx(uiIcons.HelpCircle, { className: "size-4" }) }) })), state.allowsSorting && jsxRuntime.jsx(TableSortIcon.TableSortIcon, { sortDirection: state.sortDirection })] })) }));
|
|
75
67
|
};
|
|
76
68
|
TableHead.displayName = 'TableHead';
|
|
77
69
|
const TableRow = ({ columns, children, className, highlightSelectedRow = true, size: sizeProp, 'data-testid': dataTestId, ...props }) => {
|
|
@@ -84,7 +76,7 @@ const TableRow = ({ columns, children, className, highlightSelectedRow = true, s
|
|
|
84
76
|
(context.testIdPrefix && props.id !== undefined ? testIdUtils.joinTestId(context.testIdPrefix, `row-${testIdUtils.slugifyTestId(String(props.id))}`) : undefined);
|
|
85
77
|
const { registerRow } = context;
|
|
86
78
|
const { id, isDisabled } = props;
|
|
87
|
-
|
|
79
|
+
useSelectableRowRegistry.useRegisterSelectableRow(registerRow, id, isDisabled);
|
|
88
80
|
return (jsxRuntime.jsxs(reactAriaComponents.Row, { ...props, "data-testid": rowTestId, className: (state) => cx.cx('relative outline-focus-ring transition-colors after:pointer-events-none hover:bg-secondary focus-visible:outline-2 focus-visible:-outline-offset-2', size === 'sm' ? 'h-14' : 'h-18', highlightSelectedRow && 'selected:bg-secondary', isInteractive && (state.isDisabled ? 'cursor-default' : 'cursor-pointer'),
|
|
89
81
|
// Row border—using an "after" pseudo-element to avoid the border taking up space.
|
|
90
82
|
'[&>td]:after:absolute [&>td]:after:inset-x-0 [&>td]:after:bottom-0 [&>td]:after:h-px [&>td]:after:w-full [&>td]:after:bg-border-secondary last:[&>td]:after:hidden [&>td]:focus-visible:after:opacity-0 focus-visible:[&>td]:after:opacity-0', typeof className === 'function' ? className(state) : className), children: [selectionBehavior === 'toggle' && (jsxRuntime.jsx(reactAriaComponents.Cell, { className: cx.cx('relative py-2 pr-0 pl-4', size === 'sm' ? 'md:pl-5' : 'md:pl-6'), children: jsxRuntime.jsx("div", { className: "flex items-end", children: jsxRuntime.jsx(Checkbox.Checkbox, { slot: "selection", size: "md", "data-testid": rowTestId ? testIdUtils.joinTestId(rowTestId, 'selection') : undefined }) }) })), jsxRuntime.jsx(reactAriaComponents.Collection, { items: columns, children: children })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/Table/index.tsx"],"sourcesContent":[null],"names":["_jsxs","Dropdown","_jsx","Edit01","Copy01","Trash01","createContext","cx","useContext","isValidElement","Badge","useResolvedTestId","
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/Table/index.tsx"],"sourcesContent":[null],"names":["_jsxs","Dropdown","_jsx","Edit01","Copy01","Trash01","createContext","cx","useContext","isValidElement","Badge","useResolvedTestId","useSelectableRowRegistry","reportSelectionChange","AriaTable","selectionOfKey","hasSelectionListener","useTableOptions","AriaTableHeader","AriaColumn","Checkbox","AriaCollection","joinTestId","slugifyTestId","AriaGroup","Tooltip","TooltipTrigger","HelpCircle","TableSortIcon","useRegisterSelectableRow","AriaRow","AriaCell","AriaTableBody"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEvH,OAAO,KAAK,EACV,SAAS,IAAI,aAAa,EAC1B,WAAW,IAAI,eAAe,EAC9B,QAAQ,IAAI,YAAY,EACxB,gBAAgB,IAAI,oBAAoB,EACxC,UAAU,IAAI,cAAc,EAC5B,GAAG,EAEJ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAOL,SAAS,IAAI,aAAa,EAG3B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { Edit01, Copy01, Trash01, HelpCircle
|
|
2
|
+
import { Edit01, Copy01, Trash01, HelpCircle } from '@flipdish/ui-icons';
|
|
3
3
|
import { Badge } from '@flipdish/ui-library/components/atoms/Badge';
|
|
4
4
|
import { Checkbox } from '@flipdish/ui-library/components/atoms/Checkbox';
|
|
5
5
|
import { Tooltip, TooltipTrigger } from '@flipdish/ui-library/components/atoms/Tooltip';
|
|
6
6
|
import { Dropdown } from '@flipdish/ui-library/components/molecules/Dropdown';
|
|
7
7
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
8
8
|
import { useResolvedTestId, joinTestId, slugifyTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
9
|
-
import { createContext, useContext,
|
|
9
|
+
import { createContext, useContext, isValidElement } from 'react';
|
|
10
10
|
import { Table as Table$1, TableBody, useTableOptions, TableHeader as TableHeader$1, Column, Collection, Group, Row, Cell } from 'react-aria-components';
|
|
11
|
-
import {
|
|
11
|
+
import { TableSortIcon } from './components/TableSortIcon.js';
|
|
12
|
+
import { useSelectableRowRegistry, useRegisterSelectableRow } from './hooks/useSelectableRowRegistry.js';
|
|
13
|
+
import { hasSelectionListener, selectionOfKey, reportSelectionChange } from './table.utils.js';
|
|
12
14
|
|
|
13
15
|
/** Row actions menu behind a dots button with fixed Edit, Copy link and Delete items, for use in a table's last column. */
|
|
14
16
|
const TableRowActionsDropdown = () => (jsxs(Dropdown.Root, { children: [jsx(Dropdown.DotsButton, { color: "tertiary" }), jsx(Dropdown.Popover, { className: "w-min", children: jsxs(Dropdown.Menu, { children: [jsx(Dropdown.Item, { icon: Edit01, children: jsx("span", { className: "pr-4", children: "Edit" }) }), jsx(Dropdown.Item, { icon: Copy01, children: jsx("span", { className: "pr-4", children: "Copy link" }) }), jsx(Dropdown.Item, { icon: Trash01, children: jsx("span", { className: "pr-4", children: "Delete" }) })] }) })] }));
|
|
@@ -34,24 +36,15 @@ const TableRoot = ({ className, size: sizeProp, selectedKey, onSelectedKeyChange
|
|
|
34
36
|
const inherited = useContext(TableContext);
|
|
35
37
|
const size = sizeProp ?? inherited.size;
|
|
36
38
|
const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'table', rootName: 'table' });
|
|
37
|
-
|
|
38
|
-
const rowKeys = useRef(new Set());
|
|
39
|
-
const registerRow = useCallback((id) => {
|
|
40
|
-
rowKeys.current.add(id);
|
|
41
|
-
return () => {
|
|
42
|
-
rowKeys.current.delete(id);
|
|
43
|
-
};
|
|
44
|
-
}, []);
|
|
39
|
+
const { register: registerRow, rowIds } = useSelectableRowRegistry();
|
|
45
40
|
const { onSelectionChange } = props;
|
|
46
|
-
const
|
|
41
|
+
const selectionListeners = { onSelectionChange, onSelectedKeyChange, onSelectedKeysChange };
|
|
47
42
|
const handleSelectionChange = (selection) => {
|
|
48
|
-
|
|
49
|
-
onSelectedKeyChange?.(keyOfSelection(selection));
|
|
50
|
-
onSelectedKeysChange?.(keysOfSelection(selection, rowKeys.current, props.disabledKeys));
|
|
43
|
+
reportSelectionChange(selection, rowIds.current, props.disabledKeys, selectionListeners);
|
|
51
44
|
};
|
|
52
45
|
return (
|
|
53
46
|
// A row cannot see the table-level `onRowAction`, so the context carries whether one exists.
|
|
54
|
-
jsx(TableContext.Provider, { value: { size, testIdPrefix: rootTestId, hasRowAction: props.onRowAction !== undefined, registerRow }, children: jsx("div", { className: "overflow-x-auto", children: jsx(Table$1, { "data-testid": rootTestId, className: (state) => cx('w-full overflow-x-hidden', typeof className === 'function' ? className(state) : className), ...props, selectedKeys: selectedKey !== undefined ? selectionOfKey(selectedKey) : props.selectedKeys, onSelectionChange:
|
|
47
|
+
jsx(TableContext.Provider, { value: { size, testIdPrefix: rootTestId, hasRowAction: props.onRowAction !== undefined, registerRow }, children: jsx("div", { className: "overflow-x-auto", children: jsx(Table$1, { "data-testid": rootTestId, className: (state) => cx('w-full overflow-x-hidden', typeof className === 'function' ? className(state) : className), ...props, selectedKeys: selectedKey !== undefined ? selectionOfKey(selectedKey) : props.selectedKeys, onSelectionChange: hasSelectionListener(selectionListeners) ? handleSelectionChange : undefined }) }) }));
|
|
55
48
|
};
|
|
56
49
|
TableRoot.displayName = 'Table';
|
|
57
50
|
const TableHeader = ({ columns, children, bordered = true, className, size: sizeProp, ...props }) => {
|
|
@@ -68,8 +61,7 @@ const TableHead = ({ className, tooltip, label, children, 'data-testid': dataTes
|
|
|
68
61
|
const { selectionBehavior } = useTableOptions();
|
|
69
62
|
const { testIdPrefix } = useContext(TableContext);
|
|
70
63
|
const colTestId = dataTestId ?? (testIdPrefix && props.id !== undefined ? joinTestId(testIdPrefix, `col-${slugifyTestId(String(props.id))}`) : undefined);
|
|
71
|
-
return (jsx(Column, { ...props, "data-testid": colTestId, className: (state) => cx('relative p-0 px-6 py-2 outline-hidden focus-visible:z-1 focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-bg-primary focus-visible:ring-inset', selectionBehavior === 'toggle' && 'nth-2:pl-3', state.allowsSorting && 'cursor-pointer', typeof className === 'function' ? className(state) : className), children: (state) => (jsxs(Group, { className: "flex items-center gap-1", children: [jsxs("div", { className: "flex items-center gap-1", children: [label && jsx("span", { className: "text-xs font-semibold whitespace-nowrap text-quaternary", children: label }), typeof children === 'function' ? children(state) : children] }), tooltip && (jsx(Tooltip, { title: tooltip, placement: "top", children: jsx(TooltipTrigger, { "aria-label": tooltip, className: "cursor-pointer text-fg-quaternary transition duration-100 ease-linear hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover", children: jsx(HelpCircle, { className: "size-4" }) }) })), state.allowsSorting &&
|
|
72
|
-
(state.sortDirection ? (jsx(ArrowDown, { className: cx('size-3 stroke-[3px] text-fg-quaternary', state.sortDirection === 'ascending' && 'rotate-180') })) : (jsx(ChevronSelectorVertical, { size: 12, strokeWidth: 3, className: "text-fg-quaternary" })))] })) }));
|
|
64
|
+
return (jsx(Column, { ...props, "data-testid": colTestId, className: (state) => cx('relative p-0 px-6 py-2 outline-hidden focus-visible:z-1 focus-visible:ring-2 focus-visible:ring-focus-ring focus-visible:ring-offset-bg-primary focus-visible:ring-inset', selectionBehavior === 'toggle' && 'nth-2:pl-3', state.allowsSorting && 'cursor-pointer', typeof className === 'function' ? className(state) : className), children: (state) => (jsxs(Group, { className: "flex items-center gap-1", children: [jsxs("div", { className: "flex items-center gap-1", children: [label && jsx("span", { className: "text-xs font-semibold whitespace-nowrap text-quaternary", children: label }), typeof children === 'function' ? children(state) : children] }), tooltip && (jsx(Tooltip, { title: tooltip, placement: "top", children: jsx(TooltipTrigger, { "aria-label": tooltip, className: "cursor-pointer text-fg-quaternary transition duration-100 ease-linear hover:text-fg-quaternary_hover focus:text-fg-quaternary_hover", children: jsx(HelpCircle, { className: "size-4" }) }) })), state.allowsSorting && jsx(TableSortIcon, { sortDirection: state.sortDirection })] })) }));
|
|
73
65
|
};
|
|
74
66
|
TableHead.displayName = 'TableHead';
|
|
75
67
|
const TableRow = ({ columns, children, className, highlightSelectedRow = true, size: sizeProp, 'data-testid': dataTestId, ...props }) => {
|
|
@@ -82,7 +74,7 @@ const TableRow = ({ columns, children, className, highlightSelectedRow = true, s
|
|
|
82
74
|
(context.testIdPrefix && props.id !== undefined ? joinTestId(context.testIdPrefix, `row-${slugifyTestId(String(props.id))}`) : undefined);
|
|
83
75
|
const { registerRow } = context;
|
|
84
76
|
const { id, isDisabled } = props;
|
|
85
|
-
|
|
77
|
+
useRegisterSelectableRow(registerRow, id, isDisabled);
|
|
86
78
|
return (jsxs(Row, { ...props, "data-testid": rowTestId, className: (state) => cx('relative outline-focus-ring transition-colors after:pointer-events-none hover:bg-secondary focus-visible:outline-2 focus-visible:-outline-offset-2', size === 'sm' ? 'h-14' : 'h-18', highlightSelectedRow && 'selected:bg-secondary', isInteractive && (state.isDisabled ? 'cursor-default' : 'cursor-pointer'),
|
|
87
79
|
// Row border—using an "after" pseudo-element to avoid the border taking up space.
|
|
88
80
|
'[&>td]:after:absolute [&>td]:after:inset-x-0 [&>td]:after:bottom-0 [&>td]:after:h-px [&>td]:after:w-full [&>td]:after:bg-border-secondary last:[&>td]:after:hidden [&>td]:focus-visible:after:opacity-0 focus-visible:[&>td]:after:opacity-0', typeof className === 'function' ? className(state) : className), children: [selectionBehavior === 'toggle' && (jsx(Cell, { className: cx('relative py-2 pr-0 pl-4', size === 'sm' ? 'md:pl-5' : 'md:pl-6'), children: jsx("div", { className: "flex items-end", children: jsx(Checkbox, { slot: "selection", size: "md", "data-testid": rowTestId ? joinTestId(rowTestId, 'selection') : undefined }) }) })), jsx(Collection, { items: columns, children: children })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/Table/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","AriaTable","AriaTableHeader","AriaColumn","AriaCollection","AriaGroup","AriaRow","AriaCell","AriaTableBody"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/organisms/Table/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","AriaTable","AriaTableHeader","AriaColumn","AriaCollection","AriaGroup","AriaRow","AriaCell","AriaTableBody"],"mappings":"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"}
|
|
@@ -30,8 +30,32 @@ const keysOfSelection = (selection, rowKeys, disabledKeys = []) => {
|
|
|
30
30
|
const disabled = new Set(disabledKeys);
|
|
31
31
|
return [...rowKeys].filter((key) => !disabled.has(key));
|
|
32
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* Reports whether the table should replace react-aria's selection handler.
|
|
35
|
+
* Passing a handler when nobody is listening would override react-aria's own bookkeeping.
|
|
36
|
+
*
|
|
37
|
+
* @param listeners The three selection callbacks a table may be given.
|
|
38
|
+
* @returns `true` when at least one listener is set.
|
|
39
|
+
*/
|
|
40
|
+
const hasSelectionListener = (listeners) => listeners.onSelectionChange !== undefined || listeners.onSelectedKeyChange !== undefined || listeners.onSelectedKeysChange !== undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Forwards one selection change to every listener the consumer passed, in that order.
|
|
43
|
+
*
|
|
44
|
+
* @param selection What react-aria reports, including `'all'` after the header checkbox.
|
|
45
|
+
* @param rowKeys Mounted selectable row ids, in mount order, used to expand `'all'`.
|
|
46
|
+
* @param disabledKeys Rows "select all" leaves out. Omitted when the table disables none.
|
|
47
|
+
* @param listeners The callbacks to notify. Each runs only when the consumer passed it.
|
|
48
|
+
* @returns Nothing. Each provided listener is called.
|
|
49
|
+
*/
|
|
50
|
+
const reportSelectionChange = (selection, rowKeys, disabledKeys, listeners) => {
|
|
51
|
+
listeners.onSelectionChange?.(selection);
|
|
52
|
+
listeners.onSelectedKeyChange?.(keyOfSelection(selection));
|
|
53
|
+
listeners.onSelectedKeysChange?.(keysOfSelection(selection, rowKeys, disabledKeys));
|
|
54
|
+
};
|
|
33
55
|
|
|
56
|
+
exports.hasSelectionListener = hasSelectionListener;
|
|
34
57
|
exports.keyOfSelection = keyOfSelection;
|
|
35
58
|
exports.keysOfSelection = keysOfSelection;
|
|
59
|
+
exports.reportSelectionChange = reportSelectionChange;
|
|
36
60
|
exports.selectionOfKey = selectionOfKey;
|
|
37
61
|
//# sourceMappingURL=table.utils.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.utils.cjs","sources":["../../../../src/components/organisms/Table/table.utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,GAAe,KAAgB,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;AAE/F;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,SAAoB,KAAgB;IACjE,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,IAAI;AACpC,IAAA,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;IACzB,OAAO,KAAK,IAAI,IAAI;AACtB;AAEA;;;;;;AAMG;AACI,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,OAAsB,EAAE,YAAA,GAA8B,EAAE,KAAW;IACvH,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,CAAC,GAAG,SAAS,CAAC;AAC9C,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC;IACtC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzD
|
|
1
|
+
{"version":3,"file":"table.utils.cjs","sources":["../../../../src/components/organisms/Table/table.utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,GAAe,KAAgB,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;AAE/F;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,SAAoB,KAAgB;IACjE,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,IAAI;AACpC,IAAA,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;IACzB,OAAO,KAAK,IAAI,IAAI;AACtB;AAEA;;;;;;AAMG;AACI,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,OAAsB,EAAE,YAAA,GAA8B,EAAE,KAAW;IACvH,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,CAAC,GAAG,SAAS,CAAC;AAC9C,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC;IACtC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzD;AAWA;;;;;;AAMG;AACI,MAAM,oBAAoB,GAAG,CAAC,SAAmC,KACtE,SAAS,CAAC,iBAAiB,KAAK,SAAS,IAAI,SAAS,CAAC,mBAAmB,KAAK,SAAS,IAAI,SAAS,CAAC,oBAAoB,KAAK;AAEjI;;;;;;;;AAQG;AACI,MAAM,qBAAqB,GAAG,CACnC,SAAoB,EACpB,OAAsB,EACtB,YAAuC,EACvC,SAAmC,KAC3B;AACR,IAAA,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,mBAAmB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAC1D,IAAA,SAAS,CAAC,oBAAoB,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACrF;;;;;;"}
|
|
@@ -19,4 +19,30 @@ export declare const keyOfSelection: (selection: Selection) => Key | null;
|
|
|
19
19
|
* @returns The selected rows' ids.
|
|
20
20
|
*/
|
|
21
21
|
export declare const keysOfSelection: (selection: Selection, rowKeys: Iterable<Key>, disabledKeys?: Iterable<Key>) => Key[];
|
|
22
|
+
export interface SelectionChangeListeners {
|
|
23
|
+
/** React Aria's own selection callback, forwarded unchanged. */
|
|
24
|
+
onSelectionChange?: (selection: Selection) => void;
|
|
25
|
+
/** Single-select callback. Receives the one key, or `null` when the selection is empty or `'all'`. */
|
|
26
|
+
onSelectedKeyChange?: (key: Key | null) => void;
|
|
27
|
+
/** Multi-select callback. Receives row ids, with `'all'` expanded to the mounted selectable rows. */
|
|
28
|
+
onSelectedKeysChange?: (keys: Key[]) => void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Reports whether the table should replace react-aria's selection handler.
|
|
32
|
+
* Passing a handler when nobody is listening would override react-aria's own bookkeeping.
|
|
33
|
+
*
|
|
34
|
+
* @param listeners The three selection callbacks a table may be given.
|
|
35
|
+
* @returns `true` when at least one listener is set.
|
|
36
|
+
*/
|
|
37
|
+
export declare const hasSelectionListener: (listeners: SelectionChangeListeners) => boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Forwards one selection change to every listener the consumer passed, in that order.
|
|
40
|
+
*
|
|
41
|
+
* @param selection What react-aria reports, including `'all'` after the header checkbox.
|
|
42
|
+
* @param rowKeys Mounted selectable row ids, in mount order, used to expand `'all'`.
|
|
43
|
+
* @param disabledKeys Rows "select all" leaves out. Omitted when the table disables none.
|
|
44
|
+
* @param listeners The callbacks to notify. Each runs only when the consumer passed it.
|
|
45
|
+
* @returns Nothing. Each provided listener is called.
|
|
46
|
+
*/
|
|
47
|
+
export declare const reportSelectionChange: (selection: Selection, rowKeys: Iterable<Key>, disabledKeys: Iterable<Key> | undefined, listeners: SelectionChangeListeners) => void;
|
|
22
48
|
//# sourceMappingURL=table.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/table.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,GAAG,IAAI,KAAG,SAA+C,CAAC;AAEjG;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,KAAG,GAAG,GAAG,IAI3D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS,EAAE,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAc,QAAQ,CAAC,GAAG,CAAM,KAAG,GAAG,EAInH,CAAC"}
|
|
1
|
+
{"version":3,"file":"table.utils.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Table/table.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,GAAG,IAAI,KAAG,SAA+C,CAAC;AAEjG;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,KAAG,GAAG,GAAG,IAI3D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS,EAAE,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAc,QAAQ,CAAC,GAAG,CAAM,KAAG,GAAG,EAInH,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACnD,sGAAsG;IACtG,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,qGAAqG;IACrG,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,wBAAwB,KAAG,OAC+D,CAAC;AAE3I;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAChC,WAAW,SAAS,EACpB,SAAS,QAAQ,CAAC,GAAG,CAAC,EACtB,cAAc,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,EACvC,WAAW,wBAAwB,KAClC,IAIF,CAAC"}
|
|
@@ -28,6 +28,28 @@ const keysOfSelection = (selection, rowKeys, disabledKeys = []) => {
|
|
|
28
28
|
const disabled = new Set(disabledKeys);
|
|
29
29
|
return [...rowKeys].filter((key) => !disabled.has(key));
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Reports whether the table should replace react-aria's selection handler.
|
|
33
|
+
* Passing a handler when nobody is listening would override react-aria's own bookkeeping.
|
|
34
|
+
*
|
|
35
|
+
* @param listeners The three selection callbacks a table may be given.
|
|
36
|
+
* @returns `true` when at least one listener is set.
|
|
37
|
+
*/
|
|
38
|
+
const hasSelectionListener = (listeners) => listeners.onSelectionChange !== undefined || listeners.onSelectedKeyChange !== undefined || listeners.onSelectedKeysChange !== undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Forwards one selection change to every listener the consumer passed, in that order.
|
|
41
|
+
*
|
|
42
|
+
* @param selection What react-aria reports, including `'all'` after the header checkbox.
|
|
43
|
+
* @param rowKeys Mounted selectable row ids, in mount order, used to expand `'all'`.
|
|
44
|
+
* @param disabledKeys Rows "select all" leaves out. Omitted when the table disables none.
|
|
45
|
+
* @param listeners The callbacks to notify. Each runs only when the consumer passed it.
|
|
46
|
+
* @returns Nothing. Each provided listener is called.
|
|
47
|
+
*/
|
|
48
|
+
const reportSelectionChange = (selection, rowKeys, disabledKeys, listeners) => {
|
|
49
|
+
listeners.onSelectionChange?.(selection);
|
|
50
|
+
listeners.onSelectedKeyChange?.(keyOfSelection(selection));
|
|
51
|
+
listeners.onSelectedKeysChange?.(keysOfSelection(selection, rowKeys, disabledKeys));
|
|
52
|
+
};
|
|
31
53
|
|
|
32
|
-
export { keyOfSelection, keysOfSelection, selectionOfKey };
|
|
54
|
+
export { hasSelectionListener, keyOfSelection, keysOfSelection, reportSelectionChange, selectionOfKey };
|
|
33
55
|
//# sourceMappingURL=table.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.utils.js","sources":["../../../../src/components/organisms/Table/table.utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,GAAe,KAAgB,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;AAE/F;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,SAAoB,KAAgB;IACjE,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,IAAI;AACpC,IAAA,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;IACzB,OAAO,KAAK,IAAI,IAAI;AACtB;AAEA;;;;;;AAMG;AACI,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,OAAsB,EAAE,YAAA,GAA8B,EAAE,KAAW;IACvH,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,CAAC,GAAG,SAAS,CAAC;AAC9C,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC;IACtC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzD;;"}
|
|
1
|
+
{"version":3,"file":"table.utils.js","sources":["../../../../src/components/organisms/Table/table.utils.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,GAAe,KAAgB,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;AAE/F;;;;AAIG;AACI,MAAM,cAAc,GAAG,CAAC,SAAoB,KAAgB;IACjE,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,IAAI;AACpC,IAAA,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;IACzB,OAAO,KAAK,IAAI,IAAI;AACtB;AAEA;;;;;;AAMG;AACI,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAE,OAAsB,EAAE,YAAA,GAA8B,EAAE,KAAW;IACvH,IAAI,SAAS,KAAK,KAAK;AAAE,QAAA,OAAO,CAAC,GAAG,SAAS,CAAC;AAC9C,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC;IACtC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzD;AAWA;;;;;;AAMG;AACI,MAAM,oBAAoB,GAAG,CAAC,SAAmC,KACtE,SAAS,CAAC,iBAAiB,KAAK,SAAS,IAAI,SAAS,CAAC,mBAAmB,KAAK,SAAS,IAAI,SAAS,CAAC,oBAAoB,KAAK;AAEjI;;;;;;;;AAQG;AACI,MAAM,qBAAqB,GAAG,CACnC,SAAoB,EACpB,OAAsB,EACtB,YAAuC,EACvC,SAAmC,KAC3B;AACR,IAAA,SAAS,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,mBAAmB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAC1D,IAAA,SAAS,CAAC,oBAAoB,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACrF;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flipdish/ui-library",
|
|
3
|
-
"version": "0.45.
|
|
3
|
+
"version": "0.45.3",
|
|
4
4
|
"description": "Flipdish Design System — atomic-design component library (Tailwind v4 + UntitledUI + React Aria).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"imports": {
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
"@storybook/addon-a11y": "^10.5.8",
|
|
231
231
|
"@storybook/addon-docs": "^10.5.8",
|
|
232
232
|
"@storybook/addon-mcp": "^0.7.0",
|
|
233
|
-
"@storybook/addon-vitest": "10.6.
|
|
233
|
+
"@storybook/addon-vitest": "10.6.4",
|
|
234
234
|
"@storybook/react-vite": "^10.5.8",
|
|
235
235
|
"@tailwindcss/vite": "^4.3.1",
|
|
236
236
|
"@tanstack/react-query": "^5.104.3",
|