@persona/design-system 0.10.1 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/{CheckboxGroupField-4dc7YXJY.d.mts → CheckboxGroupField-BrPGNIyD.d.mts} +2 -2
- package/dist/CheckboxGroupField.d.mts +1 -1
- package/dist/{Combobox-CcFJo68g.mjs → Combobox-BXHCfVpE.mjs} +2 -2
- package/dist/{Combobox-CcFJo68g.mjs.map → Combobox-BXHCfVpE.mjs.map} +1 -1
- package/dist/{Combobox-Bm2eSg56.d.mts → Combobox-D0dMN5eY.d.mts} +3 -3
- package/dist/Combobox.d.mts +2 -2
- package/dist/{ComboboxBase-B7ZcqU9p.d.mts → ComboboxBase-BlNi9OnF.d.mts} +2 -2
- package/dist/ComboboxBase.d.mts +1 -1
- package/dist/{ComboboxMultiSelect-BkdRrH6K.d.mts → ComboboxMultiSelect-DbTYO-Yz.d.mts} +2 -2
- package/dist/ComboboxMultiSelect.d.mts +1 -1
- package/dist/{ComboboxSingleSelect-DIBRZmvS.d.mts → ComboboxSingleSelect-Cd6VYdwr.d.mts} +3 -3
- package/dist/ComboboxSingleSelect.d.mts +1 -1
- package/dist/{ConfigFormGroup-CidT_cE9.mjs → ConfigFormGroup-BE3yR_VU.mjs} +1 -1
- package/dist/{ConfigFormGroup-CidT_cE9.mjs.map → ConfigFormGroup-BE3yR_VU.mjs.map} +1 -1
- package/dist/{DataTable--_f1Obhj.d.mts → DataTable-BdKUCgcZ.d.mts} +5 -5
- package/dist/{DataTable-BoAAKhVH.mjs → DataTable-F9R-aQCg.mjs} +7 -7
- package/dist/{DataTable-BoAAKhVH.mjs.map → DataTable-F9R-aQCg.mjs.map} +1 -1
- package/dist/DataTable.d.mts +1 -1
- package/dist/{DatePicker-D0cvVbzq.mjs → DatePicker-CkNQjfCN.mjs} +2 -2
- package/dist/{DatePicker-D0cvVbzq.mjs.map → DatePicker-CkNQjfCN.mjs.map} +1 -1
- package/dist/DropdownButton.d.mts +1 -1
- package/dist/{DropdownMenu-Bie2cWjb.d.mts → DropdownMenu-nxFNS1kH.d.mts} +2 -2
- package/dist/DropdownMenu.d.mts +1 -1
- package/dist/{FormField-C4B2qFgh.mjs → FormField-D0y1uRV5.mjs} +5 -5
- package/dist/{FormField-C4B2qFgh.mjs.map → FormField-D0y1uRV5.mjs.map} +1 -1
- package/dist/{HoverCopyableField-D-BubaRd.mjs → HoverCopyableField-DkOosH8z.mjs} +2 -2
- package/dist/{HoverCopyableField-D-BubaRd.mjs.map → HoverCopyableField-DkOosH8z.mjs.map} +1 -1
- package/dist/ImageThumbnail.d.mts +43 -0
- package/dist/IndexTableLayout.d.mts +3 -3
- package/dist/InlineCombobox.d.mts +1 -1
- package/dist/InlineInput.d.mts +1 -1
- package/dist/{Link-Cf__H8gD.mjs → Link-BSuXrvTu.mjs} +1 -1
- package/dist/{Link-Cf__H8gD.mjs.map → Link-BSuXrvTu.mjs.map} +1 -1
- package/dist/{ListBox-eoyBHtnJ.mjs → ListBox-BLoJVezh.mjs} +2 -2
- package/dist/{ListBox-eoyBHtnJ.mjs.map → ListBox-BLoJVezh.mjs.map} +1 -1
- package/dist/{ListBox-DIk8suJM.d.mts → ListBox-CXFI-0nG.d.mts} +2 -2
- package/dist/ListBox.d.mts +1 -1
- package/dist/{ListBoxField-DF8rqPsu.d.mts → ListBoxField-BCOrph2k.d.mts} +4 -4
- package/dist/ListBoxField.d.mts +1 -1
- package/dist/{LogicRow-uxpe1vZ1.d.mts → LogicRow-8oYRkwz5.d.mts} +2 -2
- package/dist/LogicRow.d.mts +1 -1
- package/dist/MaskedInput.d.mts +1 -1
- package/dist/{Menu-CrThaUX2.d.mts → Menu-DHnQZ5yN.d.mts} +2 -2
- package/dist/Menu.d.mts +1 -1
- package/dist/{Modal-kjUptzg1.mjs → Modal-IJdbLORi.mjs} +1 -1
- package/dist/{Modal-kjUptzg1.mjs.map → Modal-IJdbLORi.mjs.map} +1 -1
- package/dist/{Pagination-DtK-jbEY.mjs → Pagination-C5ANr9M0.mjs} +2 -2
- package/dist/{Pagination-DtK-jbEY.mjs.map → Pagination-C5ANr9M0.mjs.map} +1 -1
- package/dist/{Pii-DueIK287.mjs → Pii-G16_b7Yk.mjs} +1 -1
- package/dist/{Pii-DueIK287.mjs.map → Pii-G16_b7Yk.mjs.map} +1 -1
- package/dist/{Popover-BcII7usF.mjs → Popover-532iYFek.mjs} +1 -1
- package/dist/{Popover-BcII7usF.mjs.map → Popover-532iYFek.mjs.map} +1 -1
- package/dist/{Select-CsxK6A5m.d.mts → Select-CSbamhJO.d.mts} +2 -2
- package/dist/{Select-BJ9ACmRD.mjs → Select-hnXfPywt.mjs} +1 -1
- package/dist/{Select-BJ9ACmRD.mjs.map → Select-hnXfPywt.mjs.map} +1 -1
- package/dist/Select.d.mts +1 -1
- package/dist/SelectionCard.d.mts +51 -0
- package/dist/SelectionCardGroup.d.mts +37 -0
- package/dist/SmartTextInputField.d.mts +2 -2
- package/dist/{Spinner-uVZyOh1T.mjs → Spinner-AnIk8d9M.mjs} +1 -1
- package/dist/{Spinner-uVZyOh1T.mjs.map → Spinner-AnIk8d9M.mjs.map} +1 -1
- package/dist/{Table--o4ZLRbb.mjs → Table-CmuWqmVN.mjs} +2 -2
- package/dist/{Table--o4ZLRbb.mjs.map → Table-CmuWqmVN.mjs.map} +1 -1
- package/dist/{TableBox-3qunC9Nl.mjs → TableBox-BRJunn09.mjs} +4 -4
- package/dist/{TableBox-3qunC9Nl.mjs.map → TableBox-BRJunn09.mjs.map} +1 -1
- package/dist/TableBox.d.mts +1 -1
- package/dist/{TableBoxCell-okcOQ5Ec.d.mts → TableBoxCell-Cag3ZYRs.d.mts} +4 -4
- package/dist/TableBoxCell.d.mts +1 -1
- package/dist/{TableBoxField-DR-SJY9z.d.mts → TableBoxField-C3Cg6Lv5.d.mts} +5 -5
- package/dist/TableBoxField.d.mts +1 -1
- package/dist/{TableBoxRow-DiuAB_rV.d.mts → TableBoxRow-y5ay5lMt.d.mts} +2 -2
- package/dist/TableBoxRow.d.mts +1 -1
- package/dist/{TableBoxRowActions-Cm4KJsAD.d.mts → TableBoxRowActions-CDdVjAPQ.d.mts} +2 -2
- package/dist/TableBoxRowActions.d.mts +1 -1
- package/dist/{TableControls-n16XKO9S.mjs → TableControls-C5fNNdmT.mjs} +64 -25
- package/dist/TableControls-C5fNNdmT.mjs.map +1 -0
- package/dist/{TableControls-B9bvsNUc.d.mts → TableControls-DCtTiWk6.d.mts} +3 -3
- package/dist/TableControls.d.mts +1 -1
- package/dist/{TableControlsContext-CZThYoj5.d.mts → TableControlsContext-CzJCMrSe.d.mts} +2 -2
- package/dist/TableControlsContext.d.mts +1 -1
- package/dist/{TableViewConfigurationDropdown-CvN7tE98.d.mts → TableViewConfigurationDropdown-BvOlDkJy.d.mts} +2 -2
- package/dist/TableViewConfigurationDropdown.d.mts +1 -1
- package/dist/{clientFilterUtils-BXEpzorX.d.mts → clientFilterUtils-BqDn44aM.d.mts} +2 -2
- package/dist/clientFilterUtils.d.mts +1 -1
- package/dist/components/Combobox/index.d.mts +2 -2
- package/dist/components/Combobox/index.mjs +1 -1
- package/dist/components/ConfigFormGroup/index.mjs +1 -1
- package/dist/components/DataTable/TableControls/index.d.mts +5 -5
- package/dist/components/DataTable/TableControls/index.mjs +1 -1
- package/dist/components/DataTable/index.d.mts +5 -5
- package/dist/components/DataTable/index.mjs +1 -1
- package/dist/components/DataTable/types.d.mts +1 -1
- package/dist/components/DatePicker/index.mjs +1 -1
- package/dist/components/DropdownMenu/index.d.mts +1 -1
- package/dist/components/FormField/index.d.mts +4 -4
- package/dist/components/FormField/index.mjs +1 -1
- package/dist/components/HoverCopyableField/index.mjs +1 -1
- package/dist/components/ImageTile/index.mjs +82 -52
- package/dist/components/ImageTile/index.mjs.map +1 -1
- package/dist/components/Link/index.mjs +1 -1
- package/dist/components/ListBox/index.d.mts +3 -3
- package/dist/components/ListBox/index.mjs +1 -1
- package/dist/components/Menu/index.d.mts +1 -1
- package/dist/components/Modal/index.mjs +1 -1
- package/dist/components/Pagination/index.mjs +1 -1
- package/dist/components/Pii/index.mjs +1 -1
- package/dist/components/Popover/index.mjs +1 -1
- package/dist/components/Select/index.d.mts +1 -1
- package/dist/components/Select/index.mjs +1 -1
- package/dist/components/SelectionCard/index.d.mts +3 -0
- package/dist/components/SelectionCard/index.mjs +264 -0
- package/dist/components/SelectionCard/index.mjs.map +1 -0
- package/dist/components/SmartTextInput/index.mjs +1 -1
- package/dist/components/Spinner/index.mjs +1 -1
- package/dist/components/Table/index.mjs +1 -1
- package/dist/components/TableBox/index.d.mts +1 -1
- package/dist/components/TableBox/index.mjs +1 -1
- package/dist/components/VersionHistory/index.mjs +2 -2
- package/dist/fieldPickerOptions.d.mts +1 -1
- package/dist/{filters-ogUUmLEf.d.mts → filters-jG9Y3UKb.d.mts} +2 -2
- package/dist/filters.d.mts +1 -1
- package/dist/{helpers-Dqw5PEva.d.mts → helpers-DCIto6aY.d.mts} +2 -2
- package/dist/helpers.d.mts +1 -1
- package/dist/{index-Ck939aXd.d.mts → index-C3uFHTo0.d.mts} +3 -3
- package/dist/{inputFields-DVLg_2wz.d.mts → inputFields-mUsms2tO.d.mts} +4 -4
- package/dist/inputFields.d.mts +1 -1
- package/dist/patterns/IndexTableLayout/index.mjs +1 -1
- package/dist/patterns/LayoutLoadingShimmer/index.mjs +1 -1
- package/dist/patterns/WizardModal/index.mjs +1 -1
- package/dist/{types-Bdi8Y7ll.d.mts → types-CrRWZ0Ia.d.mts} +3 -3
- package/dist/{types-BQP14Fng.d.mts → types-DxJyE_U8.d.mts} +2 -2
- package/dist/types5.d.mts +1 -1
- package/dist/useColumnConfiguration.d.mts +2 -2
- package/dist/useComboboxFooterAction.d.mts +1 -1
- package/dist/{useTableColumns-DdU0CLcU.d.mts → useTableColumns-DSXRInPb.d.mts} +2 -2
- package/dist/useTableColumns.d.mts +1 -1
- package/dist/useTruncation.d.mts +1 -1
- package/package.json +3 -1
- package/skills/ui-authoring/COMPONENTS.md +1 -0
- package/skills/ui-authoring/PATTERNS.md +5 -1
- package/dist/TableControls-n16XKO9S.mjs.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { o as ComboboxOptionsOrGroups } from "./ComboboxBase-
|
|
1
|
+
import { o as ComboboxOptionsOrGroups } from "./ComboboxBase-BlNi9OnF.mjs";
|
|
2
2
|
import { a as TableCellProps, i as TableCell } from "./TableCell-4u5_BgTC.mjs";
|
|
3
|
-
import { r as TableBoxRowProps } from "./TableBoxRow-
|
|
3
|
+
import { r as TableBoxRowProps } from "./TableBoxRow-y5ay5lMt.mjs";
|
|
4
4
|
import { n as ReorderConfig, t as DragDirection } from "./useTableBoxDragAndDrop-CKPIY98e.mjs";
|
|
5
|
-
import { t as RowAction } from "./TableBoxRowActions-
|
|
5
|
+
import { t as RowAction } from "./TableBoxRowActions-CDdVjAPQ.mjs";
|
|
6
6
|
import * as _$react from "react";
|
|
7
7
|
import { ComponentPropsWithoutRef, PropsWithChildren } from "react";
|
|
8
8
|
import * as _$styled_components0 from "styled-components";
|
|
@@ -273,4 +273,4 @@ declare const TableBoxCell: ({
|
|
|
273
273
|
}: TableBoxCellProps) => _$react_jsx_runtime0.JSX.Element;
|
|
274
274
|
//#endregion
|
|
275
275
|
export { TableBox as a, PinnedActionsCell as i, TableBoxCellProps as n, TableBoxContext as o, InlineEditConfig as r, TableBoxProps as s, TableBoxCell as t };
|
|
276
|
-
//# sourceMappingURL=TableBoxCell-
|
|
276
|
+
//# sourceMappingURL=TableBoxCell-Cag3ZYRs.d.mts.map
|
package/dist/TableBoxCell.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TableBoxCellProps, t as TableBoxCell } from "./TableBoxCell-
|
|
1
|
+
import { n as TableBoxCellProps, t as TableBoxCell } from "./TableBoxCell-Cag3ZYRs.mjs";
|
|
2
2
|
export { TableBoxCellProps, TableBoxCell as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { l as MenuItemProps } from "./Menu-
|
|
2
|
-
import { o as ImplementsFormField } from "./inputFields-
|
|
3
|
-
import { r as TableBoxRowProps } from "./TableBoxRow-
|
|
4
|
-
import { n as TableBoxCellProps, s as TableBoxProps } from "./TableBoxCell-
|
|
1
|
+
import { l as MenuItemProps } from "./Menu-DHnQZ5yN.mjs";
|
|
2
|
+
import { o as ImplementsFormField } from "./inputFields-mUsms2tO.mjs";
|
|
3
|
+
import { r as TableBoxRowProps } from "./TableBoxRow-y5ay5lMt.mjs";
|
|
4
|
+
import { n as TableBoxCellProps, s as TableBoxProps } from "./TableBoxCell-Cag3ZYRs.mjs";
|
|
5
5
|
import { MouseEvent, ReactNode } from "react";
|
|
6
6
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
7
7
|
|
|
@@ -100,4 +100,4 @@ declare const TableBoxField: {
|
|
|
100
100
|
};
|
|
101
101
|
//#endregion
|
|
102
102
|
export { TableBoxFieldActionGroup as a, TableBoxFieldActionEntry as i, TableBoxField as n, TableBoxFieldAction as r, TABLE_BOX_FIELD_ADD_BUTTON_ARIA_LABEL as t };
|
|
103
|
-
//# sourceMappingURL=TableBoxField-
|
|
103
|
+
//# sourceMappingURL=TableBoxField-C3Cg6Lv5.d.mts.map
|
package/dist/TableBoxField.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TableBoxFieldActionGroup, i as TableBoxFieldActionEntry, n as TableBoxField, r as TableBoxFieldAction, t as TABLE_BOX_FIELD_ADD_BUTTON_ARIA_LABEL } from "./TableBoxField-
|
|
1
|
+
import { a as TableBoxFieldActionGroup, i as TableBoxFieldActionEntry, n as TableBoxField, r as TableBoxFieldAction, t as TABLE_BOX_FIELD_ADD_BUTTON_ARIA_LABEL } from "./TableBoxField-C3Cg6Lv5.mjs";
|
|
2
2
|
export { TABLE_BOX_FIELD_ADD_BUTTON_ARIA_LABEL, TableBoxFieldAction, TableBoxFieldActionEntry, TableBoxFieldActionGroup, TableBoxField as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as MenuItemProps } from "./Menu-
|
|
1
|
+
import { l as MenuItemProps } from "./Menu-DHnQZ5yN.mjs";
|
|
2
2
|
import { t as TableRow } from "./TableRow-lCsvG0a-.mjs";
|
|
3
3
|
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
4
4
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
@@ -83,4 +83,4 @@ declare const TableBoxRowOverlay: ({
|
|
|
83
83
|
}) => _$react_jsx_runtime0.JSX.Element;
|
|
84
84
|
//#endregion
|
|
85
85
|
export { TableBoxRowOverlay as n, TableBoxRowProps as r, TableBoxRow as t };
|
|
86
|
-
//# sourceMappingURL=TableBoxRow-
|
|
86
|
+
//# sourceMappingURL=TableBoxRow-y5ay5lMt.d.mts.map
|
package/dist/TableBoxRow.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as TableBoxRowOverlay, r as TableBoxRowProps, t as TableBoxRow } from "./TableBoxRow-
|
|
1
|
+
import { n as TableBoxRowOverlay, r as TableBoxRowProps, t as TableBoxRow } from "./TableBoxRow-y5ay5lMt.mjs";
|
|
2
2
|
export { TableBoxRowOverlay, TableBoxRowProps, TableBoxRow as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { l as MenuItemProps } from "./Menu-
|
|
1
|
+
import { l as MenuItemProps } from "./Menu-DHnQZ5yN.mjs";
|
|
2
2
|
import * as _$styled_components0 from "styled-components";
|
|
3
3
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
@@ -54,4 +54,4 @@ declare const RowActions: ({
|
|
|
54
54
|
}: RowActionsProps) => _$react_jsx_runtime0.JSX.Element | null;
|
|
55
55
|
//#endregion
|
|
56
56
|
export { RowActionsContainerWithFadeWidth as i, RowActions as n, RowActionsContainer as r, RowAction as t };
|
|
57
|
-
//# sourceMappingURL=TableBoxRowActions-
|
|
57
|
+
//# sourceMappingURL=TableBoxRowActions-CDdVjAPQ.d.mts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as RowActionsContainerWithFadeWidth, n as RowActions, r as RowActionsContainer, t as RowAction } from "./TableBoxRowActions-
|
|
1
|
+
import { i as RowActionsContainerWithFadeWidth, n as RowActions, r as RowActionsContainer, t as RowAction } from "./TableBoxRowActions-CDdVjAPQ.mjs";
|
|
2
2
|
export { RowAction, RowActions, RowActionsContainer, RowActionsContainerWithFadeWidth };
|
|
@@ -23,14 +23,14 @@ import { r as InputGroup } from "./Input-Dap055xf.mjs";
|
|
|
23
23
|
import Input_default from "./components/Input/index.mjs";
|
|
24
24
|
import { c as MenuList, s as MenuItem } from "./Menu-Dw6Rcpk6.mjs";
|
|
25
25
|
import { n as DropdownMenu_default } from "./DropdownMenu-CedsmO5h.mjs";
|
|
26
|
-
import { t as
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import { r as DateRangePicker, t as DatePicker } from "./DatePicker-
|
|
31
|
-
import { t as ListBox } from "./ListBox-
|
|
26
|
+
import { n as Select, r as SelectHeader, t as Option } from "./Select-hnXfPywt.mjs";
|
|
27
|
+
import { s as Popover_default } from "./Popover-532iYFek.mjs";
|
|
28
|
+
import { i as Modal_default } from "./Modal-IJdbLORi.mjs";
|
|
29
|
+
import { t as Combobox } from "./Combobox-BXHCfVpE.mjs";
|
|
30
|
+
import { r as DateRangePicker, t as DatePicker } from "./DatePicker-CkNQjfCN.mjs";
|
|
31
|
+
import { t as ListBox } from "./ListBox-BLoJVezh.mjs";
|
|
32
32
|
import { i as selectedPresetFor, n as parseDateFilterValue, r as resolveDateFilterValue, t as formatDateFilterValue } from "./date-filter-D0ys8s0D.mjs";
|
|
33
|
-
import { m as FormField, o as ComboboxField } from "./FormField-
|
|
33
|
+
import { m as FormField, o as ComboboxField } from "./FormField-D0y1uRV5.mjs";
|
|
34
34
|
import { t as Toggle } from "./Toggle-BsqSNYok.mjs";
|
|
35
35
|
import { BorderRadius, Color, Spacing, Typography } from "@persona/design-tokens";
|
|
36
36
|
import { Fragment, createContext, createElement, forwardRef, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
@@ -41,11 +41,11 @@ import { CaretDownIcon as CaretDownIcon$1, CircleInfoIcon as CircleInfoIcon$1, L
|
|
|
41
41
|
import { debounce, isEqual, noop, partition, startCase, union, uniqueId } from "lodash-es";
|
|
42
42
|
import { useId } from "react-aria";
|
|
43
43
|
import { mergeRefs } from "@react-aria/utils";
|
|
44
|
-
import Fuse from "fuse.js";
|
|
45
44
|
import { DragIcon as DragIcon$1 } from "@persona/icons/24px";
|
|
46
45
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
47
46
|
import { DndContext, PointerSensor, closestCenter, pointerWithin, useSensor, useSensors } from "@dnd-kit/core";
|
|
48
47
|
import { SortableContext, horizontalListSortingStrategy, useSortable } from "@dnd-kit/sortable";
|
|
48
|
+
import Fuse from "fuse.js";
|
|
49
49
|
import { parseAbsolute, parseDate, toCalendarDate, toZoned } from "@internationalized/date";
|
|
50
50
|
import { v4 } from "uuid";
|
|
51
51
|
import { DragDropContext, Draggable, Droppable } from "@hello-pangea/dnd";
|
|
@@ -696,13 +696,36 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
696
696
|
const allViews = views ?? [];
|
|
697
697
|
return [allViews.filter((view) => !hiddenIds.has(view.id)), allViews.filter((view) => hiddenIds.has(view.id))];
|
|
698
698
|
}, [views, hiddenViewIds]);
|
|
699
|
+
const shownViewsKey = shownViews.map((view) => view.id).join("\n");
|
|
700
|
+
const [selectedSlot, setSelectedSlot] = useState(null);
|
|
701
|
+
const selectedSlotIndex = selectedSlot != null && selectedSlot.viewId === currentView && selectedSlot.shownViewsKey === shownViewsKey ? selectedSlot.index : null;
|
|
702
|
+
const stripViews = useMemo(() => {
|
|
703
|
+
const selectedView = shownViews.find((view) => view.id === currentView);
|
|
704
|
+
if (selectedSlotIndex == null || !selectedView) return shownViews;
|
|
705
|
+
const otherViews = shownViews.filter((view) => view !== selectedView);
|
|
706
|
+
return [
|
|
707
|
+
...otherViews.slice(0, selectedSlotIndex),
|
|
708
|
+
selectedView,
|
|
709
|
+
...otherViews.slice(selectedSlotIndex)
|
|
710
|
+
];
|
|
711
|
+
}, [
|
|
712
|
+
shownViews,
|
|
713
|
+
currentView,
|
|
714
|
+
selectedSlotIndex
|
|
715
|
+
]);
|
|
699
716
|
const onResize = useCallback(() => {
|
|
700
717
|
if (!tabListRef.current) return;
|
|
701
718
|
const containerRect = tabListRef.current.getBoundingClientRect();
|
|
702
719
|
const tabListContainer = tabListRef.current;
|
|
703
720
|
const firstOverflowIndex = Array.from(tabListContainer.querySelectorAll("[data-tab-view]")).findIndex((el) => !rectContainsRect(containerRect, el.getBoundingClientRect()));
|
|
704
|
-
const nextOverflowViews = firstOverflowIndex === -1 ? [] :
|
|
721
|
+
const nextOverflowViews = firstOverflowIndex === -1 ? [] : stripViews.slice(firstOverflowIndex);
|
|
705
722
|
setOverflowViews((prev) => prev.length === nextOverflowViews.length && prev.every((view, index) => view === nextOverflowViews[index]) ? prev : nextOverflowViews);
|
|
723
|
+
const selectedIndex = stripViews.findIndex((view) => view.id === currentView);
|
|
724
|
+
if (onReorderViews && currentView && firstOverflowIndex > 0 && selectedIndex >= firstOverflowIndex) setSelectedSlot({
|
|
725
|
+
viewId: currentView,
|
|
726
|
+
shownViewsKey,
|
|
727
|
+
index: firstOverflowIndex - 1
|
|
728
|
+
});
|
|
706
729
|
const firstRowElements = Array.from(tabListContainer.children).filter((el) => el instanceof HTMLElement && el !== tabOverflowRef.current && rectContainsRect(containerRect, el.getBoundingClientRect()));
|
|
707
730
|
const anchor = firstRowElements[firstRowElements.length - 1];
|
|
708
731
|
setOverflowLeft(anchor ? anchor.offsetLeft + anchor.offsetWidth + OVERFLOW_GAP : null);
|
|
@@ -710,7 +733,12 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
710
733
|
setIsAddViewOverflowing(addViewButton instanceof HTMLElement && !firstRowElements.includes(addViewButton));
|
|
711
734
|
const tabOverflowWidth = tabOverflowRef.current?.getBoundingClientRect().width;
|
|
712
735
|
if (tabOverflowWidth) setTabOverflowWidth((prev) => prev != null && prev > tabOverflowWidth && prev - tabOverflowWidth < OVERFLOW_WIDTH_SHRINK_THRESHOLD ? prev : tabOverflowWidth);
|
|
713
|
-
}, [
|
|
736
|
+
}, [
|
|
737
|
+
currentView,
|
|
738
|
+
onReorderViews,
|
|
739
|
+
shownViewsKey,
|
|
740
|
+
stripViews
|
|
741
|
+
]);
|
|
714
742
|
useLayoutEffect(() => {
|
|
715
743
|
const tabList = tabListRef.current;
|
|
716
744
|
if (!showViews || !tabList) return;
|
|
@@ -735,7 +763,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
735
763
|
}, [
|
|
736
764
|
onResize,
|
|
737
765
|
showViews,
|
|
738
|
-
|
|
766
|
+
stripViews
|
|
739
767
|
]);
|
|
740
768
|
const isCurrentViewInOverflow = useMemo(() => !!currentView && [...overflowViews, ...hiddenViews].some((view) => view.id === currentView), [
|
|
741
769
|
currentView,
|
|
@@ -781,13 +809,22 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
781
809
|
y: 0
|
|
782
810
|
};
|
|
783
811
|
}, []);
|
|
812
|
+
const orderedViewIds = useMemo(() => {
|
|
813
|
+
let shownIndex = 0;
|
|
814
|
+
const hiddenIds = new Set(hiddenViews.map((view) => view.id));
|
|
815
|
+
return (views ?? []).map((view) => hiddenIds.has(view.id) ? view.id : stripViews[shownIndex++].id);
|
|
816
|
+
}, [
|
|
817
|
+
views,
|
|
818
|
+
hiddenViews,
|
|
819
|
+
stripViews
|
|
820
|
+
]);
|
|
784
821
|
const moveView = (viewId, toIndex) => {
|
|
785
822
|
if (!views || !onReorderViews) return;
|
|
786
|
-
const viewIds =
|
|
823
|
+
const viewIds = orderedViewIds;
|
|
787
824
|
const reordered = moveItemByIndex(viewIds, viewIds.indexOf(viewId), toIndex);
|
|
788
825
|
if (reordered !== viewIds) onReorderViews(reordered);
|
|
789
826
|
};
|
|
790
|
-
const indexOfView = (viewId) =>
|
|
827
|
+
const indexOfView = (viewId) => orderedViewIds.indexOf(viewId);
|
|
791
828
|
const openViewFromMenu = (viewId) => {
|
|
792
829
|
if (hiddenViews.some((view) => view.id === viewId)) onViewHiddenChange?.(viewId, false);
|
|
793
830
|
moveView(viewId, 0);
|
|
@@ -798,7 +835,7 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
798
835
|
};
|
|
799
836
|
const hideView = (viewId) => {
|
|
800
837
|
const overflowIds = new Set(overflowViews.map((view) => view.id));
|
|
801
|
-
const visibleViews =
|
|
838
|
+
const visibleViews = stripViews.filter((view) => !overflowIds.has(view.id));
|
|
802
839
|
const index = visibleViews.findIndex((view) => view.id === viewId);
|
|
803
840
|
const isCurrent = viewId === currentView;
|
|
804
841
|
const focusTarget = isCurrent || index === -1 ? void 0 : visibleViews[index + 1] ?? visibleViews[index - 1];
|
|
@@ -807,8 +844,10 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
807
844
|
document.getElementById(`${TAB_ID_PREFIX}${focusTarget ? focusTarget.id : "default"}`)?.focus({ preventScroll: true });
|
|
808
845
|
};
|
|
809
846
|
const moveViewWithKeyboard = (viewId, direction) => {
|
|
810
|
-
const neighbor =
|
|
847
|
+
const neighbor = stripViews[stripViews.findIndex((view) => view.id === viewId) + direction];
|
|
811
848
|
if (!neighbor) return;
|
|
849
|
+
const swapIds = [viewId, neighbor.id];
|
|
850
|
+
if (currentView != null && swapIds.includes(currentView) && swapIds.some((id) => overflowViews.some((view) => view.id === id))) return;
|
|
812
851
|
moveView(viewId, indexOfView(neighbor.id));
|
|
813
852
|
};
|
|
814
853
|
const handleAddView = async () => {
|
|
@@ -996,10 +1035,10 @@ const ControlBar = ({ presetViews, currentView, onSelectView, views, hiddenViewI
|
|
|
996
1035
|
}, view.id);
|
|
997
1036
|
}),
|
|
998
1037
|
onReorderViews ? /* @__PURE__ */ jsx(SortableContext, {
|
|
999
|
-
items:
|
|
1038
|
+
items: stripViews.map((view) => view.id),
|
|
1000
1039
|
strategy: horizontalListSortingStrategy,
|
|
1001
|
-
children:
|
|
1002
|
-
}) :
|
|
1040
|
+
children: stripViews.map((view) => /* @__PURE__ */ jsx(SortableSavedViewTab, { ...getSavedViewTabProps(view) }, view.id))
|
|
1041
|
+
}) : stripViews.map((view) => /* @__PURE__ */ jsx(SavedViewTabSlot, { ...getSavedViewTabProps(view) }, view.id)),
|
|
1003
1042
|
canEditViews && onAddView && /* @__PURE__ */ jsx(AddViewButton, {
|
|
1004
1043
|
id: ADD_VIEW_BUTTON_ID,
|
|
1005
1044
|
size: "md",
|
|
@@ -1174,7 +1213,7 @@ const FilterCombobox = styled.div`
|
|
|
1174
1213
|
`}
|
|
1175
1214
|
`;
|
|
1176
1215
|
const InputFilter = ({ config, compact, onActiveChange }) => {
|
|
1177
|
-
const [value, setValue] = useState(config.value);
|
|
1216
|
+
const [value, setValue] = useState(config.value ?? "");
|
|
1178
1217
|
const onChangeRef = useRef(config.onChange);
|
|
1179
1218
|
onChangeRef.current = config.onChange;
|
|
1180
1219
|
const onActiveChangeRef = useRef(onActiveChange);
|
|
@@ -1183,13 +1222,13 @@ const InputFilter = ({ config, compact, onActiveChange }) => {
|
|
|
1183
1222
|
onActiveChangeRef.current(nextValue.length > 0);
|
|
1184
1223
|
onChangeRef.current(nextValue);
|
|
1185
1224
|
}, 300), []);
|
|
1186
|
-
useEffect(() => setValue(config.value), [config.value]);
|
|
1225
|
+
useEffect(() => setValue(config.value ?? ""), [config.value]);
|
|
1187
1226
|
useEffect(() => () => debouncedOnChange.cancel(), [debouncedOnChange]);
|
|
1188
1227
|
return /* @__PURE__ */ jsx(Input_default, {
|
|
1189
1228
|
"aria-label": config.name,
|
|
1190
1229
|
placeholder: config.placeholder,
|
|
1191
1230
|
size: compact ? "sm" : void 0,
|
|
1192
|
-
value,
|
|
1231
|
+
value: value ?? "",
|
|
1193
1232
|
onChange: ({ target: { value: nextValue } }) => {
|
|
1194
1233
|
setValue(nextValue);
|
|
1195
1234
|
debouncedOnChange(nextValue);
|
|
@@ -1201,7 +1240,7 @@ const SelectFilter = ({ config, compact, onActiveChange }) => {
|
|
|
1201
1240
|
return /* @__PURE__ */ jsx(Select, {
|
|
1202
1241
|
"aria-label": config.name,
|
|
1203
1242
|
placeholder: config.placeholder ?? strings.selectFilterOption,
|
|
1204
|
-
value: config.value,
|
|
1243
|
+
value: config.value ?? null,
|
|
1205
1244
|
width: "auto",
|
|
1206
1245
|
minWidth: 150,
|
|
1207
1246
|
size: compact ? "sm" : void 0,
|
|
@@ -1382,7 +1421,7 @@ const synchronizeActiveFilters = (filters, activeFilters, filterResolver) => {
|
|
|
1382
1421
|
...activeFromConfig,
|
|
1383
1422
|
...retainedDefaultVisible,
|
|
1384
1423
|
...configuring
|
|
1385
|
-
].sort((first, second) => first.id - second.id);
|
|
1424
|
+
].filter((active, index, all) => all.findIndex((other) => other.id === active.id) === index).sort((first, second) => first.id - second.id);
|
|
1386
1425
|
return next.length === 0 ? [createUnsetFilter(activeFilters)] : next;
|
|
1387
1426
|
};
|
|
1388
1427
|
const Filter = ({ config, compact, hideFilterSelection, filterResolver }) => {
|
|
@@ -1452,7 +1491,7 @@ const FilterSelection = ({ value, disabled, compact, filterResolver }) => {
|
|
|
1452
1491
|
width: "auto",
|
|
1453
1492
|
minWidth: 120,
|
|
1454
1493
|
placeholder: strings.selectFilterType,
|
|
1455
|
-
value,
|
|
1494
|
+
value: value ?? null,
|
|
1456
1495
|
size: compact ? "sm" : void 0,
|
|
1457
1496
|
disabled,
|
|
1458
1497
|
onValueChange: replaceFilter,
|
|
@@ -5504,4 +5543,4 @@ function decodeBase64(input) {
|
|
|
5504
5543
|
//#endregion
|
|
5505
5544
|
export { isNumericComparisonOperator as A, useTableControls as B, useFilterBarSize as C, getOperatorsForField as D, getDefaultOperatorForType as E, getActiveFilters as F, DataTableCompactBar as H, isFilterActive as I, resolveFilterTypeDefinition as L, isValuelessOperator as M, reconcileValueForOperator as N, getOperatorsForType as O, FiltersContainer as P, TableControlsContext as R, FILTER_SIZE_TOKENS as S, emptyValueForRule as T, ControlBar as V, EMPTY_FILTER_STATE as _, encodeFilterStateToUrlParam as a, resolveValueControl as b, FilterBar_default as c, TableViewConfiguration as d, TableViewConfigurationDropdown as f, pruneToRegistry as g, isFilterStateV2 as h, decodeFilterStateFromUrl as i, isRangeOperator as j, isCompleteDateRange as k, resolveDateRangeRuleValue as l, hasCompleteValue as m, applyFilterStateToSearchParams as n, FieldRegistry as o, useFilterStateV2 as p, decodeFilterStateFromString as r, buildFieldRegistry as s, FILTER_STATE_URL_PARAM as t, TableControls as u, isEmptyState as v, NUMERIC_COMPARISON_OPERATORS as w, dateRuleIntent as x, PillShell as y, TableControlsProvider as z };
|
|
5506
5545
|
|
|
5507
|
-
//# sourceMappingURL=TableControls-
|
|
5546
|
+
//# sourceMappingURL=TableControls-C5fNNdmT.mjs.map
|