@servicetitan/anvil2 3.9.0 → 3.10.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/CHANGELOG.md +28 -0
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-CRzQKN_P.js → DataTable-D-SKKt5w.js} +53 -16
- package/dist/DataTable-D-SKKt5w.js.map +1 -0
- package/dist/{DateFieldRange-CHbrYgsD.js → DateFieldRange-DUFfyknZ.js} +51 -31
- package/dist/DateFieldRange-DUFfyknZ.js.map +1 -0
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-D-KZ3NL0.js → DateFieldSingle-BZjlO0hX.js} +49 -28
- package/dist/DateFieldSingle-BZjlO0hX.js.map +1 -0
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-DouEX24o.js → DateFieldYearless-TcKb9jE2.js} +4 -2
- package/dist/DateFieldYearless-TcKb9jE2.js.map +1 -0
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-B_bImgyn.js → DateFieldYearlessRange-D9XtRNWi.js} +16 -4
- package/dist/DateFieldYearlessRange-D9XtRNWi.js.map +1 -0
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/DrillDown.js +1 -1
- package/dist/{FilterBar-CBTAkEri.js → FilterBar-luqnJzAK.js} +27 -6
- package/dist/FilterBar-luqnJzAK.js.map +1 -0
- package/dist/FilterBar.js +1 -1
- package/dist/{MenuFooter-BXcNxNnX.js → MenuFooter--lBF8OjJ.js} +5 -1
- package/dist/MenuFooter--lBF8OjJ.js.map +1 -0
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-CpfsWecG.js → MultiSelectFieldSync-HhFKGtQM.js} +60 -15
- package/dist/MultiSelectFieldSync-HhFKGtQM.js.map +1 -0
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-CtyLYyDE.js → MultiSelectMenuSync-C3Y7jnJQ.js} +22 -8
- package/dist/MultiSelectMenuSync-C3Y7jnJQ.js.map +1 -0
- package/dist/{Page-B6E3Gbji.js → Page-Pk0-Sxf_.js} +11 -10
- package/dist/Page-Pk0-Sxf_.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/{Pagination-DF7iMeJe.js → Pagination-Bx_u6Uea.js} +32 -6
- package/dist/Pagination-Bx_u6Uea.js.map +1 -0
- package/dist/Pagination.js +1 -1
- package/dist/{RichTextEditor-CLo8yoUP.js → RichTextEditor-CTIGe6xA.js} +3 -3
- package/dist/{RichTextEditor-CLo8yoUP.js.map → RichTextEditor-CTIGe6xA.js.map} +1 -1
- package/dist/RichTextEditor.js +1 -1
- package/dist/{SavedFiltersButton-FcYVncxU.js → SavedFiltersButton-CpnoAIrw.js} +250 -164
- package/dist/SavedFiltersButton-CpnoAIrw.js.map +1 -0
- package/dist/SavedFiltersButton.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldSync-Bi8HsMYP.js → SelectFieldSync-Dyug8Fgk.js} +35 -7
- package/dist/SelectFieldSync-Dyug8Fgk.js.map +1 -0
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DKg4g5nN.js → SelectMenuSync-BkC0FD5P.js} +22 -8
- package/dist/SelectMenuSync-BkC0FD5P.js.map +1 -0
- package/dist/{SelectOptions-DszNAjxB.js → SelectOptions-B3Vmtb_k.js} +2 -2
- package/dist/{SelectOptions-DszNAjxB.js.map → SelectOptions-B3Vmtb_k.js.map} +1 -1
- package/dist/{SelectTrigger-DNIc5ttg.js → SelectTrigger-Do1puyA_.js} +2 -2
- package/dist/{SelectTrigger-DNIc5ttg.js.map → SelectTrigger-Do1puyA_.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-1Cc6EUBw.js → SelectTriggerBase-rxHXMSb4.js} +3 -1
- package/dist/SelectTriggerBase-rxHXMSb4.js.map +1 -0
- package/dist/Table.js +1 -1
- package/dist/{Toolbar-2VQIjU5b.js → Toolbar-BOgHhw7K.js} +12 -3
- package/dist/Toolbar-BOgHhw7K.js.map +1 -0
- package/dist/{Toolbar-BbImThIu.js → Toolbar-DDWUuQm_.js} +24 -2
- package/dist/Toolbar-DDWUuQm_.js.map +1 -0
- package/dist/Toolbar.js +2 -2
- package/dist/{ToolbarButtonToggle-Bc0XvCM9.js → ToolbarButtonToggle-BbtKfezH.js} +18 -2
- package/dist/ToolbarButtonToggle-BbtKfezH.js.map +1 -0
- package/dist/TreeSelectField.js +1 -1
- package/dist/{TreeSelectFieldSync-DUHVmOQa.js → TreeSelectFieldSync-Cd87uR6b.js} +35 -12
- package/dist/TreeSelectFieldSync-Cd87uR6b.js.map +1 -0
- package/dist/TreeSelectMenu.js +1 -1
- package/dist/{TreeSelectMenuSync-DVoYUG7F.js → TreeSelectMenuSync-88q0ydo5.js} +18 -6
- package/dist/TreeSelectMenuSync-88q0ydo5.js.map +1 -0
- package/dist/{YearlessDateInputWithPicker-CM9mmz8s.js → YearlessDateInputWithPicker-BquY4bCd.js} +19 -5
- package/dist/YearlessDateInputWithPicker-BquY4bCd.js.map +1 -0
- package/dist/anvParts-BGg5dgfl.js +43 -0
- package/dist/anvParts-BGg5dgfl.js.map +1 -0
- package/dist/beta.js +13 -13
- package/dist/{bulkActionTypes-BnZNAru6.js → bulkActionTypes-CWcUhKFS.js} +2 -2
- package/dist/{bulkActionTypes-BnZNAru6.js.map → bulkActionTypes-CWcUhKFS.js.map} +1 -1
- package/dist/{filter-state-XmqhkURU.js → filter-state-BQOX7_rO.js} +152 -80
- package/dist/filter-state-BQOX7_rO.js.map +1 -0
- package/dist/{index-BwNeldDw.js → index-DjirBR0l.js} +2 -2
- package/dist/{index-BwNeldDw.js.map → index-DjirBR0l.js.map} +1 -1
- package/dist/index.js +14 -14
- package/dist/src/beta/components/FilterBar/FilterBar.d.ts +3 -3
- package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +17 -3
- package/dist/src/beta/components/FilterBar/parts.d.ts +38 -0
- package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +37 -0
- package/dist/src/beta/components/SavedFiltersButton/types.d.ts +2 -1
- package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +3 -2
- package/dist/src/beta/components/Table/DataTable/parts.d.ts +30 -0
- package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +3 -2
- package/dist/src/beta/components/Toolbar/Toolbar.d.ts +4 -4
- package/dist/src/beta/components/Toolbar/parts.d.ts +19 -0
- package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +6 -5
- package/dist/src/beta/components/TreeSelectField/parts.d.ts +23 -0
- package/dist/src/beta/components/TreeSelectField/types.d.ts +11 -4
- package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +33 -2
- package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +12 -0
- package/dist/src/beta/components/TreeSelectMenu/types.d.ts +3 -2
- package/dist/src/components/Combobox/ComboboxTypes.d.ts +2 -2
- package/dist/src/components/Combobox/parts.d.ts +19 -0
- package/dist/src/components/DateFieldRange/DateFieldRange.d.ts +2 -2
- package/dist/src/components/DateFieldRange/parts.d.ts +16 -0
- package/dist/src/components/DateFieldSingle/DateFieldSingle.d.ts +2 -2
- package/dist/src/components/DateFieldSingle/parts.d.ts +16 -0
- package/dist/src/components/DateFieldYearless/DateFieldYearless.d.ts +2 -2
- package/dist/src/components/DateFieldYearless/parts.d.ts +15 -0
- package/dist/src/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +2 -2
- package/dist/src/components/DateFieldYearlessRange/parts.d.ts +12 -0
- package/dist/src/components/DrillDown/DrillDown.d.ts +11 -0
- package/dist/src/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
- package/dist/src/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
- package/dist/src/components/MultiSelectField/internal/types.d.ts +3 -1
- package/dist/src/components/MultiSelectField/parts.d.ts +20 -0
- package/dist/src/components/MultiSelectField/types.d.ts +2 -2
- package/dist/src/components/MultiSelectMenu/parts.d.ts +12 -0
- package/dist/src/components/MultiSelectMenu/types.d.ts +3 -2
- package/dist/src/components/Pagination/Pagination.d.ts +4 -3
- package/dist/src/components/Pagination/parts.d.ts +28 -0
- package/dist/src/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
- package/dist/src/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
- package/dist/src/components/SelectField/parts.d.ts +18 -0
- package/dist/src/components/SelectField/types.d.ts +7 -2
- package/dist/src/components/SelectMenu/internal/useMenuInteraction.d.ts +8 -6
- package/dist/src/components/SelectMenu/parts.d.ts +12 -0
- package/dist/src/components/SelectMenu/types.d.ts +3 -2
- package/dist/src/components/SelectTrigger/internal/SelectTriggerBase.d.ts +6 -5
- package/dist/src/components/Toolbar/Toolbar.d.ts +3 -3
- package/dist/src/components/Toolbar/parts.d.ts +18 -0
- package/dist/src/internal/constants/anvParts.d.ts +81 -0
- package/dist/src/internal/testing/anvPartsContract.d.ts +24 -0
- package/dist/src/internal/types/selectFieldInternalTypes.d.ts +3 -1
- package/dist/{syncFilterUtils-UVNoFsDr.js → syncFilterUtils-YB6gRuuR.js} +11 -4
- package/dist/syncFilterUtils-YB6gRuuR.js.map +1 -0
- package/dist/{treeSync-CiU5d6rF.js → treeSync-DOen59wP.js} +24 -4
- package/dist/treeSync-DOen59wP.js.map +1 -0
- package/dist/{useAdaptiveView-C_WvM4-P.js → useAdaptiveView-DmhhcX-B.js} +3 -1
- package/dist/useAdaptiveView-DmhhcX-B.js.map +1 -0
- package/dist/{useDrilldown-D7DKSs7E.js → useDrilldown-UAm0-l1l.js} +10 -3
- package/dist/{useDrilldown-D7DKSs7E.js.map → useDrilldown-UAm0-l1l.js.map} +1 -1
- package/dist/{useInfiniteCombobox-COJTJxCZ.js → useInfiniteCombobox-V94SoOiU.js} +70 -23
- package/dist/useInfiniteCombobox-V94SoOiU.js.map +1 -0
- package/dist/{useMenuInteraction-AgrXU8kv.js → useMenuInteraction-nNF1dsrp.js} +7 -4
- package/dist/useMenuInteraction-nNF1dsrp.js.map +1 -0
- package/package.json +7 -5
- package/dist/DataTable-CRzQKN_P.js.map +0 -1
- package/dist/DateFieldRange-CHbrYgsD.js.map +0 -1
- package/dist/DateFieldSingle-D-KZ3NL0.js.map +0 -1
- package/dist/DateFieldYearless-DouEX24o.js.map +0 -1
- package/dist/DateFieldYearlessRange-B_bImgyn.js.map +0 -1
- package/dist/FilterBar-CBTAkEri.js.map +0 -1
- package/dist/MenuFooter-BXcNxNnX.js.map +0 -1
- package/dist/MultiSelectFieldSync-CpfsWecG.js.map +0 -1
- package/dist/MultiSelectMenuSync-CtyLYyDE.js.map +0 -1
- package/dist/Page-B6E3Gbji.js.map +0 -1
- package/dist/Pagination-DF7iMeJe.js.map +0 -1
- package/dist/SavedFiltersButton-FcYVncxU.js.map +0 -1
- package/dist/SelectFieldSync-Bi8HsMYP.js.map +0 -1
- package/dist/SelectMenuSync-DKg4g5nN.js.map +0 -1
- package/dist/SelectTriggerBase-1Cc6EUBw.js.map +0 -1
- package/dist/Toolbar-2VQIjU5b.js.map +0 -1
- package/dist/Toolbar-BbImThIu.js.map +0 -1
- package/dist/ToolbarButtonToggle-Bc0XvCM9.js.map +0 -1
- package/dist/TreeSelectFieldSync-DUHVmOQa.js.map +0 -1
- package/dist/TreeSelectMenuSync-DVoYUG7F.js.map +0 -1
- package/dist/YearlessDateInputWithPicker-CM9mmz8s.js.map +0 -1
- package/dist/filter-state-XmqhkURU.js.map +0 -1
- package/dist/syncFilterUtils-UVNoFsDr.js.map +0 -1
- package/dist/treeSync-CiU5d6rF.js.map +0 -1
- package/dist/useAdaptiveView-C_WvM4-P.js.map +0 -1
- package/dist/useInfiniteCombobox-COJTJxCZ.js.map +0 -1
- package/dist/useMenuInteraction-AgrXU8kv.js.map +0 -1
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { createContext, useContext, useEffect, useMemo, useState, useRef, forwardRef, useId, useLayoutEffect, useDeferredValue, useCallback } from 'react';
|
|
3
3
|
import { P as Popover, u as usePopoverContext } from './Popover-CjsE5FG0.js';
|
|
4
|
-
import { i as isMultiple, b as SELECT_ALL, a as defaultItemToKey, d as defaultItemToString, g as getScrollParent, A as ADD_NEW, S as SelectTriggerBase } from './SelectTriggerBase-
|
|
4
|
+
import { i as isMultiple, b as SELECT_ALL, a as defaultItemToKey, d as defaultItemToString, g as getScrollParent, A as ADD_NEW, S as SelectTriggerBase } from './SelectTriggerBase-rxHXMSb4.js';
|
|
5
5
|
import { c as cx } from './index-De1g9FRV.js';
|
|
6
6
|
import { u as useDownshiftEnvironment, c as useMultipleSelection, b as useSelect, a as useCombobox$1 } from './downshift.esm-xtSnQp44.js';
|
|
7
7
|
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjqeAJZ9.js';
|
|
8
8
|
import { l as listboxStyles } from './Listbox.module-K85jTwXo.js';
|
|
9
9
|
import { T as Text } from './Text-CIoD_RK4.js';
|
|
10
10
|
import { D as Divider } from './Divider-C7fp5Xb6.js';
|
|
11
|
+
import { C as COMMON_PART, A as ANV_PART_ATTR } from './anvParts-BGg5dgfl.js';
|
|
11
12
|
import { F as Flex } from './Flex-CRF7gj0_.js';
|
|
12
13
|
import { S as Spinner } from './Spinner-B7tTWcP6.js';
|
|
13
14
|
import { s as styles$1 } from './ListView.module-DfqtCL3Q.js';
|
|
@@ -104,6 +105,15 @@ function useGroups({
|
|
|
104
105
|
return { groups, orderedItems };
|
|
105
106
|
}
|
|
106
107
|
|
|
108
|
+
function splitDataAttributes$1(rest) {
|
|
109
|
+
const dataAttributes = Object.fromEntries(
|
|
110
|
+
Object.entries(rest).filter(([key]) => key.startsWith("data-"))
|
|
111
|
+
);
|
|
112
|
+
const restWithoutData = Object.fromEntries(
|
|
113
|
+
Object.entries(rest).filter(([key]) => !key.startsWith("data-"))
|
|
114
|
+
);
|
|
115
|
+
return { dataAttributes, restWithoutData };
|
|
116
|
+
}
|
|
107
117
|
const SelectSingle = (props) => {
|
|
108
118
|
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
109
119
|
const {
|
|
@@ -130,6 +140,7 @@ const SelectSingle = (props) => {
|
|
|
130
140
|
groupSorter,
|
|
131
141
|
...rest
|
|
132
142
|
} = componentProps;
|
|
143
|
+
const { dataAttributes, restWithoutData } = splitDataAttributes$1(rest);
|
|
133
144
|
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
134
145
|
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
135
146
|
const [hasEmpty, setHasEmpty] = useState(false);
|
|
@@ -166,7 +177,7 @@ const SelectSingle = (props) => {
|
|
|
166
177
|
inputValue,
|
|
167
178
|
closeMenu
|
|
168
179
|
} = useSelect({
|
|
169
|
-
...
|
|
180
|
+
...restWithoutData,
|
|
170
181
|
items: orderedItems,
|
|
171
182
|
itemToString,
|
|
172
183
|
itemToKey,
|
|
@@ -214,11 +225,6 @@ const SelectSingle = (props) => {
|
|
|
214
225
|
useEffect(() => {
|
|
215
226
|
setIsReadOnly(readOnly);
|
|
216
227
|
}, [readOnly]);
|
|
217
|
-
useEffect(() => {
|
|
218
|
-
if (disabled || readOnly) {
|
|
219
|
-
closeMenu();
|
|
220
|
-
}
|
|
221
|
-
}, [disabled, readOnly, closeMenu]);
|
|
222
228
|
return /* @__PURE__ */ jsx(
|
|
223
229
|
ComboboxContext.Provider,
|
|
224
230
|
{
|
|
@@ -263,6 +269,7 @@ const SelectSingle = (props) => {
|
|
|
263
269
|
children: /* @__PURE__ */ jsx(
|
|
264
270
|
"div",
|
|
265
271
|
{
|
|
272
|
+
...dataAttributes,
|
|
266
273
|
className: ComboboxClassNames,
|
|
267
274
|
"data-anv": "combobox",
|
|
268
275
|
style: { ...style, ...layoutStyles },
|
|
@@ -323,6 +330,7 @@ const SelectMultiple = (props) => {
|
|
|
323
330
|
selectAll,
|
|
324
331
|
...rest
|
|
325
332
|
} = componentProps;
|
|
333
|
+
const { dataAttributes, restWithoutData } = splitDataAttributes$1(rest);
|
|
326
334
|
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
327
335
|
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
328
336
|
const [hasEmpty, setHasEmpty] = useState(false);
|
|
@@ -399,7 +407,7 @@ const SelectMultiple = (props) => {
|
|
|
399
407
|
inputValue,
|
|
400
408
|
closeMenu
|
|
401
409
|
} = useSelect({
|
|
402
|
-
...
|
|
410
|
+
...restWithoutData,
|
|
403
411
|
items: orderedItems,
|
|
404
412
|
itemToString,
|
|
405
413
|
itemToKey,
|
|
@@ -485,11 +493,6 @@ const SelectMultiple = (props) => {
|
|
|
485
493
|
useEffect(() => {
|
|
486
494
|
setIsReadOnly(readOnly);
|
|
487
495
|
}, [readOnly]);
|
|
488
|
-
useEffect(() => {
|
|
489
|
-
if (disabled || readOnly) {
|
|
490
|
-
closeMenu();
|
|
491
|
-
}
|
|
492
|
-
}, [disabled, readOnly, closeMenu]);
|
|
493
496
|
return /* @__PURE__ */ jsx(
|
|
494
497
|
ComboboxContext.Provider,
|
|
495
498
|
{
|
|
@@ -540,6 +543,7 @@ const SelectMultiple = (props) => {
|
|
|
540
543
|
children: /* @__PURE__ */ jsx(
|
|
541
544
|
"div",
|
|
542
545
|
{
|
|
546
|
+
...dataAttributes,
|
|
543
547
|
className: ComboboxClassNames,
|
|
544
548
|
"data-anv": "combobox",
|
|
545
549
|
style: { ...style, ...layoutStyles },
|
|
@@ -767,6 +771,17 @@ const ComboboxGroupList = ({
|
|
|
767
771
|
|
|
768
772
|
const ComboboxGroupProvider = ComboboxGroupContext.Provider;
|
|
769
773
|
|
|
774
|
+
const PARTS = {
|
|
775
|
+
input: COMMON_PART.input,
|
|
776
|
+
trigger: COMMON_PART.trigger,
|
|
777
|
+
clearButton: COMMON_PART.clearButton,
|
|
778
|
+
toggleButton: COMMON_PART.toggleButton,
|
|
779
|
+
chip: COMMON_PART.chip,
|
|
780
|
+
menu: COMMON_PART.menu,
|
|
781
|
+
option: COMMON_PART.option,
|
|
782
|
+
popover: COMMON_PART.popover
|
|
783
|
+
};
|
|
784
|
+
|
|
770
785
|
const ComboboxContentElement = ({
|
|
771
786
|
children,
|
|
772
787
|
className,
|
|
@@ -872,6 +887,7 @@ const ComboboxContentElement = ({
|
|
|
872
887
|
{
|
|
873
888
|
"data-anv": "combobox-content",
|
|
874
889
|
...rest,
|
|
890
|
+
...{ [ANV_PART_ATTR]: PARTS.popover },
|
|
875
891
|
className: popoverContentClassNames,
|
|
876
892
|
ref: getMenuProps({ ref: contentRef }, { suppressRefError: true }).ref,
|
|
877
893
|
tabIndex: -1,
|
|
@@ -1001,7 +1017,10 @@ const ComboboxTrigger = (props) => {
|
|
|
1001
1017
|
ref: context?.invoker.ref
|
|
1002
1018
|
}
|
|
1003
1019
|
};
|
|
1004
|
-
const toggleButtonProps = select ? {} :
|
|
1020
|
+
const toggleButtonProps = select ? {} : {
|
|
1021
|
+
...getToggleButtonProps(),
|
|
1022
|
+
[ANV_PART_ATTR]: PARTS.toggleButton
|
|
1023
|
+
};
|
|
1005
1024
|
const handleClearButtonClick = (_e) => {
|
|
1006
1025
|
if (onClear) {
|
|
1007
1026
|
onClear();
|
|
@@ -1036,6 +1055,7 @@ const ComboboxTrigger = (props) => {
|
|
|
1036
1055
|
labelProps,
|
|
1037
1056
|
inputWrapperProps,
|
|
1038
1057
|
toggleButtonProps,
|
|
1058
|
+
clearButtonProps: { [ANV_PART_ATTR]: PARTS.clearButton },
|
|
1039
1059
|
itemToString,
|
|
1040
1060
|
removeSelectedItem,
|
|
1041
1061
|
variant: select ? "select" : "combobox",
|
|
@@ -1055,9 +1075,12 @@ const ComboboxTrigger = (props) => {
|
|
|
1055
1075
|
selectedItem: item,
|
|
1056
1076
|
index
|
|
1057
1077
|
});
|
|
1058
|
-
return
|
|
1078
|
+
return {
|
|
1079
|
+
...chipProps,
|
|
1080
|
+
[ANV_PART_ATTR]: PARTS.chip
|
|
1081
|
+
};
|
|
1059
1082
|
}
|
|
1060
|
-
return {};
|
|
1083
|
+
return { [ANV_PART_ATTR]: PARTS.chip };
|
|
1061
1084
|
},
|
|
1062
1085
|
inputProps: select ? {
|
|
1063
1086
|
...getDropdownProps != null ? getDropdownProps({
|
|
@@ -1068,7 +1091,8 @@ const ComboboxTrigger = (props) => {
|
|
|
1068
1091
|
},
|
|
1069
1092
|
["aria-expanded"]: context?.invoker["aria-expanded"],
|
|
1070
1093
|
["aria-details"]: getMenuProps().id,
|
|
1071
|
-
["aria-haspopup"]: context?.invoker["aria-haspopup"]
|
|
1094
|
+
["aria-haspopup"]: context?.invoker["aria-haspopup"],
|
|
1095
|
+
[ANV_PART_ATTR]: PARTS.trigger
|
|
1072
1096
|
} : {
|
|
1073
1097
|
["aria-expanded"]: context?.invoker["aria-expanded"],
|
|
1074
1098
|
["aria-details"]: getMenuProps().id,
|
|
@@ -1093,7 +1117,8 @@ const ComboboxTrigger = (props) => {
|
|
|
1093
1117
|
autoComplete: "off",
|
|
1094
1118
|
id,
|
|
1095
1119
|
ref: inputRef
|
|
1096
|
-
}) : {}
|
|
1120
|
+
}) : {},
|
|
1121
|
+
[ANV_PART_ATTR]: PARTS.input
|
|
1097
1122
|
}
|
|
1098
1123
|
}
|
|
1099
1124
|
);
|
|
@@ -1172,6 +1197,9 @@ const ComboboxSelectTrigger = ({
|
|
|
1172
1197
|
);
|
|
1173
1198
|
};
|
|
1174
1199
|
|
|
1200
|
+
function optionDataId(key) {
|
|
1201
|
+
return typeof key === "string" || typeof key === "number" ? { "data-id": String(key) } : {};
|
|
1202
|
+
}
|
|
1175
1203
|
const CoreComboboxItemElement = ({
|
|
1176
1204
|
children,
|
|
1177
1205
|
disabled: disabledProp,
|
|
@@ -1292,7 +1320,9 @@ const CoreComboboxItemElement = ({
|
|
|
1292
1320
|
item,
|
|
1293
1321
|
index,
|
|
1294
1322
|
"aria-selected": highlightedIndex === index,
|
|
1295
|
-
...rest
|
|
1323
|
+
...rest,
|
|
1324
|
+
[ANV_PART_ATTR]: PARTS.option,
|
|
1325
|
+
...optionDataId(itemToKey(item))
|
|
1296
1326
|
}),
|
|
1297
1327
|
disabled,
|
|
1298
1328
|
checked,
|
|
@@ -1309,7 +1339,9 @@ const CoreComboboxItemElement = ({
|
|
|
1309
1339
|
item,
|
|
1310
1340
|
index,
|
|
1311
1341
|
"aria-selected": highlightedIndex === index,
|
|
1312
|
-
...rest
|
|
1342
|
+
...rest,
|
|
1343
|
+
[ANV_PART_ATTR]: PARTS.option,
|
|
1344
|
+
...optionDataId(itemToKey(item))
|
|
1313
1345
|
}),
|
|
1314
1346
|
"data-anv": "combobox-item",
|
|
1315
1347
|
"data-checked": itemToKey(selectedItem) === itemToKey(item),
|
|
@@ -1441,6 +1473,7 @@ const ComboboxListElement = ({
|
|
|
1441
1473
|
...getMenuProps(rest),
|
|
1442
1474
|
ref: listRef,
|
|
1443
1475
|
"data-anv": "combobox-list",
|
|
1476
|
+
...{ [ANV_PART_ATTR]: PARTS.menu },
|
|
1444
1477
|
className: cx(styles["listview"], styles$1["listview"], {
|
|
1445
1478
|
[styles.scrolled]: isScrolled
|
|
1446
1479
|
}),
|
|
@@ -1464,6 +1497,7 @@ const ComboboxListElement = ({
|
|
|
1464
1497
|
...getMenuProps(rest),
|
|
1465
1498
|
ref: listRef,
|
|
1466
1499
|
"data-anv": "combobox-list",
|
|
1500
|
+
...{ [ANV_PART_ATTR]: PARTS.menu },
|
|
1467
1501
|
className: listboxStyles["listbox"],
|
|
1468
1502
|
style: {
|
|
1469
1503
|
display: items.length || hasAddNew ? void 0 : "none"
|
|
@@ -1481,6 +1515,15 @@ const ComboboxList = ({
|
|
|
1481
1515
|
...rest
|
|
1482
1516
|
}) => /* @__PURE__ */ jsx(ComboboxListElement, { className, ...rest, children });
|
|
1483
1517
|
|
|
1518
|
+
function splitDataAttributes(rest) {
|
|
1519
|
+
const dataAttributes = Object.fromEntries(
|
|
1520
|
+
Object.entries(rest).filter(([key]) => key.startsWith("data-"))
|
|
1521
|
+
);
|
|
1522
|
+
const restWithoutData = Object.fromEntries(
|
|
1523
|
+
Object.entries(rest).filter(([key]) => !key.startsWith("data-"))
|
|
1524
|
+
);
|
|
1525
|
+
return { dataAttributes, restWithoutData };
|
|
1526
|
+
}
|
|
1484
1527
|
const COMBOBOX_DEPRECATION_MESSAGE = "[Anvil2] Combobox is deprecated. Use SelectField or MultiSelectField instead. Combobox will be removed in Anvil2 5.0.";
|
|
1485
1528
|
const ComboboxSingle = (props) => {
|
|
1486
1529
|
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
@@ -1510,6 +1553,7 @@ const ComboboxSingle = (props) => {
|
|
|
1510
1553
|
groupSorter,
|
|
1511
1554
|
...rest
|
|
1512
1555
|
} = componentProps;
|
|
1556
|
+
const { dataAttributes, restWithoutData } = splitDataAttributes(rest);
|
|
1513
1557
|
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
1514
1558
|
const [items, setItems] = useState(itemsProp);
|
|
1515
1559
|
const [hasAddNew, setHasAddNew] = useState(false);
|
|
@@ -1563,7 +1607,7 @@ const ComboboxSingle = (props) => {
|
|
|
1563
1607
|
inputValue,
|
|
1564
1608
|
closeMenu
|
|
1565
1609
|
} = useCombobox$1({
|
|
1566
|
-
...
|
|
1610
|
+
...restWithoutData,
|
|
1567
1611
|
items: combinedItems,
|
|
1568
1612
|
itemToString,
|
|
1569
1613
|
itemToKey,
|
|
@@ -1811,6 +1855,7 @@ const ComboboxSingle = (props) => {
|
|
|
1811
1855
|
return /* @__PURE__ */ jsx(ComboboxContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
1812
1856
|
"div",
|
|
1813
1857
|
{
|
|
1858
|
+
...dataAttributes,
|
|
1814
1859
|
className: ComboboxClassNames,
|
|
1815
1860
|
"data-anv": "combobox",
|
|
1816
1861
|
style: { ...style, ...layoutStyles },
|
|
@@ -1873,6 +1918,7 @@ const ComboboxMultiple = (props) => {
|
|
|
1873
1918
|
groupSorter,
|
|
1874
1919
|
...rest
|
|
1875
1920
|
} = componentProps;
|
|
1921
|
+
const { dataAttributes, restWithoutData } = splitDataAttributes(rest);
|
|
1876
1922
|
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
1877
1923
|
const [items, setItems] = useState(itemsProp);
|
|
1878
1924
|
const [hasAddNew, setHasAddNew] = useState(false);
|
|
@@ -1983,7 +2029,7 @@ const ComboboxMultiple = (props) => {
|
|
|
1983
2029
|
inputValue,
|
|
1984
2030
|
closeMenu
|
|
1985
2031
|
} = useCombobox$1({
|
|
1986
|
-
...
|
|
2032
|
+
...restWithoutData,
|
|
1987
2033
|
items: combinedItems,
|
|
1988
2034
|
itemToString,
|
|
1989
2035
|
itemToKey,
|
|
@@ -2271,6 +2317,7 @@ const ComboboxMultiple = (props) => {
|
|
|
2271
2317
|
return /* @__PURE__ */ jsx(ComboboxContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
2272
2318
|
"div",
|
|
2273
2319
|
{
|
|
2320
|
+
...dataAttributes,
|
|
2274
2321
|
className: ComboboxClassNames,
|
|
2275
2322
|
"data-anv": "combobox",
|
|
2276
2323
|
style: { ...style, ...layoutStyles },
|
|
@@ -2656,4 +2703,4 @@ function useInfiniteCombobox({
|
|
|
2656
2703
|
}
|
|
2657
2704
|
|
|
2658
2705
|
export { Combobox as C, ComboboxElement as a, ComboboxSelect as b, ComboboxList as c, useInfiniteCombobox as u };
|
|
2659
|
-
//# sourceMappingURL=useInfiniteCombobox-
|
|
2706
|
+
//# sourceMappingURL=useInfiniteCombobox-V94SoOiU.js.map
|