@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.
Files changed (168) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/Combobox.js +1 -1
  3. package/dist/{DataTable-CRzQKN_P.js → DataTable-D-SKKt5w.js} +53 -16
  4. package/dist/DataTable-D-SKKt5w.js.map +1 -0
  5. package/dist/{DateFieldRange-CHbrYgsD.js → DateFieldRange-DUFfyknZ.js} +51 -31
  6. package/dist/DateFieldRange-DUFfyknZ.js.map +1 -0
  7. package/dist/DateFieldRange.js +1 -1
  8. package/dist/{DateFieldSingle-D-KZ3NL0.js → DateFieldSingle-BZjlO0hX.js} +49 -28
  9. package/dist/DateFieldSingle-BZjlO0hX.js.map +1 -0
  10. package/dist/DateFieldSingle.js +1 -1
  11. package/dist/{DateFieldYearless-DouEX24o.js → DateFieldYearless-TcKb9jE2.js} +4 -2
  12. package/dist/DateFieldYearless-TcKb9jE2.js.map +1 -0
  13. package/dist/DateFieldYearless.js +1 -1
  14. package/dist/{DateFieldYearlessRange-B_bImgyn.js → DateFieldYearlessRange-D9XtRNWi.js} +16 -4
  15. package/dist/DateFieldYearlessRange-D9XtRNWi.js.map +1 -0
  16. package/dist/DateFieldYearlessRange.js +1 -1
  17. package/dist/DrillDown.js +1 -1
  18. package/dist/{FilterBar-CBTAkEri.js → FilterBar-luqnJzAK.js} +27 -6
  19. package/dist/FilterBar-luqnJzAK.js.map +1 -0
  20. package/dist/FilterBar.js +1 -1
  21. package/dist/{MenuFooter-BXcNxNnX.js → MenuFooter--lBF8OjJ.js} +5 -1
  22. package/dist/MenuFooter--lBF8OjJ.js.map +1 -0
  23. package/dist/MultiSelectField.js +1 -1
  24. package/dist/{MultiSelectFieldSync-CpfsWecG.js → MultiSelectFieldSync-HhFKGtQM.js} +60 -15
  25. package/dist/MultiSelectFieldSync-HhFKGtQM.js.map +1 -0
  26. package/dist/MultiSelectMenu.js +1 -1
  27. package/dist/{MultiSelectMenuSync-CtyLYyDE.js → MultiSelectMenuSync-C3Y7jnJQ.js} +22 -8
  28. package/dist/MultiSelectMenuSync-C3Y7jnJQ.js.map +1 -0
  29. package/dist/{Page-B6E3Gbji.js → Page-Pk0-Sxf_.js} +11 -10
  30. package/dist/Page-Pk0-Sxf_.js.map +1 -0
  31. package/dist/Page.js +1 -1
  32. package/dist/{Pagination-DF7iMeJe.js → Pagination-Bx_u6Uea.js} +32 -6
  33. package/dist/Pagination-Bx_u6Uea.js.map +1 -0
  34. package/dist/Pagination.js +1 -1
  35. package/dist/{RichTextEditor-CLo8yoUP.js → RichTextEditor-CTIGe6xA.js} +3 -3
  36. package/dist/{RichTextEditor-CLo8yoUP.js.map → RichTextEditor-CTIGe6xA.js.map} +1 -1
  37. package/dist/RichTextEditor.js +1 -1
  38. package/dist/{SavedFiltersButton-FcYVncxU.js → SavedFiltersButton-CpnoAIrw.js} +250 -164
  39. package/dist/SavedFiltersButton-CpnoAIrw.js.map +1 -0
  40. package/dist/SavedFiltersButton.js +1 -1
  41. package/dist/SelectField.js +1 -1
  42. package/dist/{SelectFieldSync-Bi8HsMYP.js → SelectFieldSync-Dyug8Fgk.js} +35 -7
  43. package/dist/SelectFieldSync-Dyug8Fgk.js.map +1 -0
  44. package/dist/SelectMenu.js +1 -1
  45. package/dist/{SelectMenuSync-DKg4g5nN.js → SelectMenuSync-BkC0FD5P.js} +22 -8
  46. package/dist/SelectMenuSync-BkC0FD5P.js.map +1 -0
  47. package/dist/{SelectOptions-DszNAjxB.js → SelectOptions-B3Vmtb_k.js} +2 -2
  48. package/dist/{SelectOptions-DszNAjxB.js.map → SelectOptions-B3Vmtb_k.js.map} +1 -1
  49. package/dist/{SelectTrigger-DNIc5ttg.js → SelectTrigger-Do1puyA_.js} +2 -2
  50. package/dist/{SelectTrigger-DNIc5ttg.js.map → SelectTrigger-Do1puyA_.js.map} +1 -1
  51. package/dist/SelectTrigger.js +1 -1
  52. package/dist/{SelectTriggerBase-1Cc6EUBw.js → SelectTriggerBase-rxHXMSb4.js} +3 -1
  53. package/dist/SelectTriggerBase-rxHXMSb4.js.map +1 -0
  54. package/dist/Table.js +1 -1
  55. package/dist/{Toolbar-2VQIjU5b.js → Toolbar-BOgHhw7K.js} +12 -3
  56. package/dist/Toolbar-BOgHhw7K.js.map +1 -0
  57. package/dist/{Toolbar-BbImThIu.js → Toolbar-DDWUuQm_.js} +24 -2
  58. package/dist/Toolbar-DDWUuQm_.js.map +1 -0
  59. package/dist/Toolbar.js +2 -2
  60. package/dist/{ToolbarButtonToggle-Bc0XvCM9.js → ToolbarButtonToggle-BbtKfezH.js} +18 -2
  61. package/dist/ToolbarButtonToggle-BbtKfezH.js.map +1 -0
  62. package/dist/TreeSelectField.js +1 -1
  63. package/dist/{TreeSelectFieldSync-DUHVmOQa.js → TreeSelectFieldSync-Cd87uR6b.js} +35 -12
  64. package/dist/TreeSelectFieldSync-Cd87uR6b.js.map +1 -0
  65. package/dist/TreeSelectMenu.js +1 -1
  66. package/dist/{TreeSelectMenuSync-DVoYUG7F.js → TreeSelectMenuSync-88q0ydo5.js} +18 -6
  67. package/dist/TreeSelectMenuSync-88q0ydo5.js.map +1 -0
  68. package/dist/{YearlessDateInputWithPicker-CM9mmz8s.js → YearlessDateInputWithPicker-BquY4bCd.js} +19 -5
  69. package/dist/YearlessDateInputWithPicker-BquY4bCd.js.map +1 -0
  70. package/dist/anvParts-BGg5dgfl.js +43 -0
  71. package/dist/anvParts-BGg5dgfl.js.map +1 -0
  72. package/dist/beta.js +13 -13
  73. package/dist/{bulkActionTypes-BnZNAru6.js → bulkActionTypes-CWcUhKFS.js} +2 -2
  74. package/dist/{bulkActionTypes-BnZNAru6.js.map → bulkActionTypes-CWcUhKFS.js.map} +1 -1
  75. package/dist/{filter-state-XmqhkURU.js → filter-state-BQOX7_rO.js} +152 -80
  76. package/dist/filter-state-BQOX7_rO.js.map +1 -0
  77. package/dist/{index-BwNeldDw.js → index-DjirBR0l.js} +2 -2
  78. package/dist/{index-BwNeldDw.js.map → index-DjirBR0l.js.map} +1 -1
  79. package/dist/index.js +14 -14
  80. package/dist/src/beta/components/FilterBar/FilterBar.d.ts +3 -3
  81. package/dist/src/beta/components/FilterBar/internal/utils/dateListLibraryOptions.d.ts +17 -3
  82. package/dist/src/beta/components/FilterBar/parts.d.ts +38 -0
  83. package/dist/src/beta/components/SavedFiltersButton/parts.d.ts +37 -0
  84. package/dist/src/beta/components/SavedFiltersButton/types.d.ts +2 -1
  85. package/dist/src/beta/components/Table/DataTable/DataTable.d.ts +3 -2
  86. package/dist/src/beta/components/Table/DataTable/parts.d.ts +30 -0
  87. package/dist/src/beta/components/Table/internal/ResizeHandle.d.ts +3 -2
  88. package/dist/src/beta/components/Toolbar/Toolbar.d.ts +4 -4
  89. package/dist/src/beta/components/Toolbar/parts.d.ts +19 -0
  90. package/dist/src/beta/components/TreeSelectField/TreeSelectField.d.ts +6 -5
  91. package/dist/src/beta/components/TreeSelectField/parts.d.ts +23 -0
  92. package/dist/src/beta/components/TreeSelectField/types.d.ts +11 -4
  93. package/dist/src/beta/components/TreeSelectMenu/TreeSelectMenu.d.ts +33 -2
  94. package/dist/src/beta/components/TreeSelectMenu/parts.d.ts +12 -0
  95. package/dist/src/beta/components/TreeSelectMenu/types.d.ts +3 -2
  96. package/dist/src/components/Combobox/ComboboxTypes.d.ts +2 -2
  97. package/dist/src/components/Combobox/parts.d.ts +19 -0
  98. package/dist/src/components/DateFieldRange/DateFieldRange.d.ts +2 -2
  99. package/dist/src/components/DateFieldRange/parts.d.ts +16 -0
  100. package/dist/src/components/DateFieldSingle/DateFieldSingle.d.ts +2 -2
  101. package/dist/src/components/DateFieldSingle/parts.d.ts +16 -0
  102. package/dist/src/components/DateFieldYearless/DateFieldYearless.d.ts +2 -2
  103. package/dist/src/components/DateFieldYearless/parts.d.ts +15 -0
  104. package/dist/src/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +2 -2
  105. package/dist/src/components/DateFieldYearlessRange/parts.d.ts +12 -0
  106. package/dist/src/components/DrillDown/DrillDown.d.ts +11 -0
  107. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldComboboxMode.d.ts +1 -1
  108. package/dist/src/components/MultiSelectField/internal/MultiSelectFieldSelectMode.d.ts +1 -1
  109. package/dist/src/components/MultiSelectField/internal/types.d.ts +3 -1
  110. package/dist/src/components/MultiSelectField/parts.d.ts +20 -0
  111. package/dist/src/components/MultiSelectField/types.d.ts +2 -2
  112. package/dist/src/components/MultiSelectMenu/parts.d.ts +12 -0
  113. package/dist/src/components/MultiSelectMenu/types.d.ts +3 -2
  114. package/dist/src/components/Pagination/Pagination.d.ts +4 -3
  115. package/dist/src/components/Pagination/parts.d.ts +28 -0
  116. package/dist/src/components/SelectField/internal/SelectFieldComboboxMode.d.ts +1 -1
  117. package/dist/src/components/SelectField/internal/SelectFieldSelectMode.d.ts +1 -1
  118. package/dist/src/components/SelectField/parts.d.ts +18 -0
  119. package/dist/src/components/SelectField/types.d.ts +7 -2
  120. package/dist/src/components/SelectMenu/internal/useMenuInteraction.d.ts +8 -6
  121. package/dist/src/components/SelectMenu/parts.d.ts +12 -0
  122. package/dist/src/components/SelectMenu/types.d.ts +3 -2
  123. package/dist/src/components/SelectTrigger/internal/SelectTriggerBase.d.ts +6 -5
  124. package/dist/src/components/Toolbar/Toolbar.d.ts +3 -3
  125. package/dist/src/components/Toolbar/parts.d.ts +18 -0
  126. package/dist/src/internal/constants/anvParts.d.ts +81 -0
  127. package/dist/src/internal/testing/anvPartsContract.d.ts +24 -0
  128. package/dist/src/internal/types/selectFieldInternalTypes.d.ts +3 -1
  129. package/dist/{syncFilterUtils-UVNoFsDr.js → syncFilterUtils-YB6gRuuR.js} +11 -4
  130. package/dist/syncFilterUtils-YB6gRuuR.js.map +1 -0
  131. package/dist/{treeSync-CiU5d6rF.js → treeSync-DOen59wP.js} +24 -4
  132. package/dist/treeSync-DOen59wP.js.map +1 -0
  133. package/dist/{useAdaptiveView-C_WvM4-P.js → useAdaptiveView-DmhhcX-B.js} +3 -1
  134. package/dist/useAdaptiveView-DmhhcX-B.js.map +1 -0
  135. package/dist/{useDrilldown-D7DKSs7E.js → useDrilldown-UAm0-l1l.js} +10 -3
  136. package/dist/{useDrilldown-D7DKSs7E.js.map → useDrilldown-UAm0-l1l.js.map} +1 -1
  137. package/dist/{useInfiniteCombobox-COJTJxCZ.js → useInfiniteCombobox-V94SoOiU.js} +70 -23
  138. package/dist/useInfiniteCombobox-V94SoOiU.js.map +1 -0
  139. package/dist/{useMenuInteraction-AgrXU8kv.js → useMenuInteraction-nNF1dsrp.js} +7 -4
  140. package/dist/useMenuInteraction-nNF1dsrp.js.map +1 -0
  141. package/package.json +7 -5
  142. package/dist/DataTable-CRzQKN_P.js.map +0 -1
  143. package/dist/DateFieldRange-CHbrYgsD.js.map +0 -1
  144. package/dist/DateFieldSingle-D-KZ3NL0.js.map +0 -1
  145. package/dist/DateFieldYearless-DouEX24o.js.map +0 -1
  146. package/dist/DateFieldYearlessRange-B_bImgyn.js.map +0 -1
  147. package/dist/FilterBar-CBTAkEri.js.map +0 -1
  148. package/dist/MenuFooter-BXcNxNnX.js.map +0 -1
  149. package/dist/MultiSelectFieldSync-CpfsWecG.js.map +0 -1
  150. package/dist/MultiSelectMenuSync-CtyLYyDE.js.map +0 -1
  151. package/dist/Page-B6E3Gbji.js.map +0 -1
  152. package/dist/Pagination-DF7iMeJe.js.map +0 -1
  153. package/dist/SavedFiltersButton-FcYVncxU.js.map +0 -1
  154. package/dist/SelectFieldSync-Bi8HsMYP.js.map +0 -1
  155. package/dist/SelectMenuSync-DKg4g5nN.js.map +0 -1
  156. package/dist/SelectTriggerBase-1Cc6EUBw.js.map +0 -1
  157. package/dist/Toolbar-2VQIjU5b.js.map +0 -1
  158. package/dist/Toolbar-BbImThIu.js.map +0 -1
  159. package/dist/ToolbarButtonToggle-Bc0XvCM9.js.map +0 -1
  160. package/dist/TreeSelectFieldSync-DUHVmOQa.js.map +0 -1
  161. package/dist/TreeSelectMenuSync-DVoYUG7F.js.map +0 -1
  162. package/dist/YearlessDateInputWithPicker-CM9mmz8s.js.map +0 -1
  163. package/dist/filter-state-XmqhkURU.js.map +0 -1
  164. package/dist/syncFilterUtils-UVNoFsDr.js.map +0 -1
  165. package/dist/treeSync-CiU5d6rF.js.map +0 -1
  166. package/dist/useAdaptiveView-C_WvM4-P.js.map +0 -1
  167. package/dist/useInfiniteCombobox-COJTJxCZ.js.map +0 -1
  168. package/dist/useMenuInteraction-AgrXU8kv.js.map +0 -1
@@ -1,26 +1,27 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { useMemo, forwardRef, createElement, createContext, useRef, useId, useState, useContext, useEffect, useCallback } from 'react';
3
3
  import { C as Chip } from './Chip-D6Q0J0Xe.js';
4
- import { d as ToolbarItemWrapper, u as useToolbarSize, T as ToolbarButtonToggle, b as ToolbarContext, g as getToolbarElements, a as updateToolbarItemsTabIndex } from './ToolbarButtonToggle-Bc0XvCM9.js';
4
+ import { C as COMMON_PART, A as ANV_PART_ATTR } from './anvParts-BGg5dgfl.js';
5
+ import { d as ToolbarItemWrapper, u as useToolbarSize, T as ToolbarButtonToggle, b as ToolbarContext, g as getToolbarElements, a as updateToolbarItemsTabIndex } from './ToolbarButtonToggle-BbtKfezH.js';
5
6
  import { S as SvgKeyboardArrowDown } from './keyboard_arrow_down-C8WQ38p1.js';
6
7
  import { S as SvgEvent, a as DateModeToFormatMap } from './TimezoneMessage-BrKB_psP.js';
7
8
  import { c as cx } from './index-De1g9FRV.js';
8
9
  import { B as Button } from './Button-Dwh_Nd4l.js';
9
- import { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-CpfsWecG.js';
10
- import { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-CtyLYyDE.js';
11
- import { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-Bi8HsMYP.js';
12
- import { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-DKg4g5nN.js';
13
- import { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-DUHVmOQa.js';
14
- import { a as TreeSelectMenu, T as TreeSelectMenuSync } from './TreeSelectMenuSync-DVoYUG7F.js';
10
+ import { M as MultiSelectField, a as MultiSelectFieldSync } from './MultiSelectFieldSync-HhFKGtQM.js';
11
+ import { M as MultiSelectMenu, a as MultiSelectMenuSync } from './MultiSelectMenuSync-C3Y7jnJQ.js';
12
+ import { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-Dyug8Fgk.js';
13
+ import { S as SelectMenu, a as SelectMenuSync } from './SelectMenuSync-BkC0FD5P.js';
14
+ import { T as TreeSelectField, a as TreeSelectFieldSync } from './TreeSelectFieldSync-Cd87uR6b.js';
15
+ import { a as TreeSelectMenu, T as TreeSelectMenuSync } from './TreeSelectMenuSync-88q0ydo5.js';
15
16
  import { C as Checkbox } from './Checkbox-4wRmrann.js';
16
- import { a as OptionsPopover } from './useAdaptiveView-C_WvM4-P.js';
17
- import { M as MenuFooter } from './MenuFooter-BXcNxNnX.js';
17
+ import { a as OptionsPopover } from './useAdaptiveView-DmhhcX-B.js';
18
+ import { M as MenuFooter } from './MenuFooter--lBF8OjJ.js';
18
19
  import { D as DateTime } from './luxon-wpz4A-OQ.js';
19
- import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-D-KZ3NL0.js';
20
+ import { u as useDateFieldSingleConversion, a as useDateFieldSingleState, M as MaskedDateInput, b as DateFieldSingleCalendar, D as DateFieldSingle } from './DateFieldSingle-BZjlO0hX.js';
20
21
  import { F as Flex } from './Flex-CRF7gj0_.js';
21
22
  import { u as useConfirmationDraft } from './confirmationTypes-CG7xl50f.js';
22
23
  import { D as Dialog } from './Dialog-Clh3jaX8.js';
23
- import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-CHbrYgsD.js';
24
+ import { u as useDateFieldRangeConversion, a as useDateFieldRangeState, M as MaskedDateRangeInput, b as DateFieldRangeCalendar, D as DateFieldRange } from './DateFieldRange-DUFfyknZ.js';
24
25
  import { w as warnOnce } from './warnOnce-Y9PRHcU4.js';
25
26
  import { F as FieldLabel } from './FieldLabel-SzH61hCb.js';
26
27
  import { G as Grid } from './Grid-CvGQrIhE.js';
@@ -51,6 +52,37 @@ import './filter-state.css';const FilterItemWrapper = ({ children }) => {
51
52
  return /* @__PURE__ */ jsx(ToolbarItemWrapper, { ...props });
52
53
  };
53
54
 
55
+ const PARTS = {
56
+ // Common roles (shared values)
57
+ trigger: COMMON_PART.trigger,
58
+ input: COMMON_PART.input,
59
+ dialog: COMMON_PART.dialog,
60
+ applyButton: COMMON_PART.applyButton,
61
+ cancelButton: COMMON_PART.cancelButton,
62
+ /** Clears text in a search/text field — not the whole bar. */
63
+ clearButton: COMMON_PART.clearButton,
64
+ drawer: COMMON_PART.drawer,
65
+ dateInput: COMMON_PART.dateInput,
66
+ dateCalendar: COMMON_PART.dateCalendar,
67
+ // FilterBar-specific roles
68
+ /** Trigger that opens the filter drawer (collapsed mode). */
69
+ drawerTrigger: "drawer-trigger",
70
+ /** Lower-bound input of a numeric range filter. */
71
+ minInput: "min-input",
72
+ /** Upper-bound input of a numeric range filter. */
73
+ maxInput: "max-input",
74
+ /**
75
+ * Clears all active filters (inline "Clear Filters" and drawer
76
+ * "Clear All Filters"). Distinct from `clear-button` on search fields.
77
+ */
78
+ clearFiltersButton: "clear-filters-button",
79
+ /**
80
+ * Numeric count badge on a filter trigger / drawer trigger (not a
81
+ * selected-value chip).
82
+ */
83
+ countBadge: "count-badge"
84
+ };
85
+
54
86
  const styles = {
55
87
  "filter-button-trigger": "_filter-button-trigger_1kmgt_1",
56
88
  "filter-button-trigger--selected": "_filter-button-trigger--selected_1kmgt_5",
@@ -80,6 +112,7 @@ const FilterTriggerButton = forwardRef(function FilterTriggerButton2({ filterId,
80
112
  "data-anv": "toolbar-button",
81
113
  className: buttonClass,
82
114
  ...rest,
115
+ ...{ [ANV_PART_ATTR]: PARTS.trigger },
83
116
  children: label
84
117
  }
85
118
  );
@@ -98,7 +131,8 @@ const formatLabel$b = (filter) => {
98
131
  label: countLabel,
99
132
  color: "#0265DC",
100
133
  size: "small",
101
- "aria-label": `${countLabel} selected items`
134
+ "aria-label": `${countLabel} selected items`,
135
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
102
136
  }
103
137
  )
104
138
  ] });
@@ -240,7 +274,8 @@ const formatLabel$9 = (filter) => {
240
274
  label: countLabel,
241
275
  color: "#0265DC",
242
276
  size: "small",
243
- "aria-label": `${countLabel} selected items`
277
+ "aria-label": `${countLabel} selected items`,
278
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
244
279
  }
245
280
  )
246
281
  ] });
@@ -320,6 +355,7 @@ const FilterToggleButton = ({
320
355
  ...props,
321
356
  className: styles["filter-button-trigger"],
322
357
  "data-anv": "toolbar-boolean-filter",
358
+ ...{ [ANV_PART_ATTR]: PARTS.trigger },
323
359
  children
324
360
  }
325
361
  ) });
@@ -348,9 +384,11 @@ const booleanAdapter = {
348
384
  renderDrawer: ({ draftFilter, onDraftChange }) => /* @__PURE__ */ jsx(
349
385
  Checkbox,
350
386
  {
387
+ "data-id": draftFilter.id,
351
388
  label: draftFilter.label,
352
389
  checked: draftFilter.checked,
353
- onChange: (e) => onDraftChange(draftFilter.id, e?.target.checked ?? false)
390
+ onChange: (e) => onDraftChange(draftFilter.id, e?.target.checked ?? false),
391
+ ...{ [ANV_PART_ATTR]: PARTS.trigger }
354
392
  },
355
393
  draftFilter.id
356
394
  ),
@@ -565,7 +603,8 @@ const formatLabel$8 = (filter) => {
565
603
  label: filter.labelChipCount.toString(),
566
604
  color: "#0265DC",
567
605
  size: "small",
568
- "aria-label": `${filter.labelChipCount} selected items`
606
+ "aria-label": `${filter.labelChipCount} selected items`,
607
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
569
608
  }
570
609
  )
571
610
  ] });
@@ -738,7 +777,8 @@ const Body$1 = ({
738
777
  onChange: handleInputChange,
739
778
  lastValidDate: value ?? null,
740
779
  autoComplete: "off",
741
- error
780
+ error,
781
+ ...{ [ANV_PART_ATTR]: PARTS.dateInput }
742
782
  }
743
783
  ),
744
784
  /* @__PURE__ */ jsx(
@@ -748,7 +788,8 @@ const Body$1 = ({
748
788
  onSelection: handleCalendarSelection,
749
789
  minDate,
750
790
  maxDate,
751
- unavailable
791
+ unavailable,
792
+ ...{ [ANV_PART_ATTR]: PARTS.dateCalendar }
752
793
  }
753
794
  )
754
795
  ] });
@@ -941,10 +982,11 @@ const Body = ({
941
982
  startDate: value?.startDate ?? null,
942
983
  endDate: value?.endDate ?? null,
943
984
  autoComplete: "off",
944
- error
985
+ error,
986
+ ...{ [ANV_PART_ATTR]: PARTS.dateInput }
945
987
  }
946
988
  ),
947
- /* @__PURE__ */ jsx(
989
+ /* @__PURE__ */ jsx("div", { ...{ [ANV_PART_ATTR]: PARTS.dateCalendar }, children: /* @__PURE__ */ jsx(
948
990
  DateFieldRangeCalendar,
949
991
  {
950
992
  startDate: value?.startDate ?? null,
@@ -954,7 +996,7 @@ const Body = ({
954
996
  maxDate,
955
997
  unavailable
956
998
  }
957
- )
999
+ ) })
958
1000
  ] });
959
1001
  };
960
1002
  const PopoverShell = ({
@@ -1072,12 +1114,20 @@ const formatRangeForLabel = (range) => {
1072
1114
  const formattedStart = sameYear ? `${start.monthShort} ${start.day}` : `${start.monthShort} ${start.day}, ${start.year}`;
1073
1115
  return `${formattedStart} – ${end.monthShort} ${end.day}, ${end.year}`;
1074
1116
  };
1117
+ const formatDateListValue = (value) => typeof value === "string" ? formatDateForLabel(value) : formatRangeForLabel(value);
1075
1118
  const formatDateListSelectionLabel = (selection) => {
1076
1119
  if (selection.value === null) return selection.label;
1077
- const formatted = typeof selection.value === "string" ? formatDateForLabel(selection.value) : formatRangeForLabel(selection.value);
1120
+ const formatted = formatDateListValue(selection.value);
1078
1121
  if (selection.id === "customRange") return formatted;
1079
1122
  return `${selection.label}: ${formatted}`;
1080
1123
  };
1124
+ const formatDateListTriggerLabel = (filterLabel, selection) => {
1125
+ if (selection.value === null) return filterLabel || selection.label;
1126
+ if (!filterLabel) return formatDateListSelectionLabel(selection);
1127
+ const formatted = formatDateListValue(selection.value);
1128
+ if (selection.id === "customRange") return `${filterLabel}: ${formatted}`;
1129
+ return `${filterLabel}: ${selection.label} (${formatted})`;
1130
+ };
1081
1131
 
1082
1132
  const DateListDialog = ({
1083
1133
  libraryId,
@@ -1126,50 +1176,67 @@ const DateListDialog = ({
1126
1176
  onCommit({ id: libraryId, label: dialogLabel, value: dateDraft });
1127
1177
  }
1128
1178
  };
1129
- return /* @__PURE__ */ jsx(Dialog, { open: dialogOpen, onClose: onCancel, children: libraryId && /* @__PURE__ */ jsxs(Fragment, { children: [
1130
- /* @__PURE__ */ jsx(Dialog.Header, { children: dialogLabel }),
1131
- /* @__PURE__ */ jsx(Dialog.Content, { children: isRange ? /* @__PURE__ */ jsx(
1132
- FilterDateRange,
1133
- {
1134
- variant: "inline",
1135
- filter: {
1136
- id: `${parentFilterId}--date-list-dialog-range`,
1137
- label: dialogLabel,
1138
- type: "dateRange",
1139
- value: rangeDraft,
1140
- mode
1141
- },
1142
- draftValue: rangeDraft,
1143
- onDraftChange: setRangeDraft
1144
- }
1145
- ) : /* @__PURE__ */ jsx(
1146
- FilterDateSingle,
1147
- {
1148
- variant: "inline",
1149
- filter: {
1150
- id: `${parentFilterId}--date-list-dialog-date`,
1151
- label: dialogLabel,
1152
- type: "date",
1153
- value: dateDraft,
1154
- mode
1155
- },
1156
- draftValue: dateDraft,
1157
- onDraftChange: setDateDraft
1158
- }
1159
- ) }),
1160
- /* @__PURE__ */ jsx(Dialog.Footer, { children: /* @__PURE__ */ jsxs(Flex, { gap: 2, justifyContent: "flex-end", children: [
1161
- /* @__PURE__ */ jsx(Dialog.CancelButton, { appearance: "ghost", "aria-label": "Cancel", children: "Cancel" }),
1162
- /* @__PURE__ */ jsx(
1163
- Button,
1164
- {
1165
- appearance: "primary",
1166
- disabled: !canCommit,
1167
- onClick: handleCommit,
1168
- children: dialogCtaLabel
1169
- }
1170
- )
1171
- ] }) })
1172
- ] }) });
1179
+ return /* @__PURE__ */ jsx(
1180
+ Dialog,
1181
+ {
1182
+ open: dialogOpen,
1183
+ onClose: onCancel,
1184
+ ...{ [ANV_PART_ATTR]: PARTS.dialog },
1185
+ children: libraryId && /* @__PURE__ */ jsxs(Fragment, { children: [
1186
+ /* @__PURE__ */ jsx(Dialog.Header, { children: dialogLabel }),
1187
+ /* @__PURE__ */ jsx(Dialog.Content, { children: isRange ? /* @__PURE__ */ jsx(
1188
+ FilterDateRange,
1189
+ {
1190
+ variant: "inline",
1191
+ filter: {
1192
+ id: `${parentFilterId}--date-list-dialog-range`,
1193
+ label: dialogLabel,
1194
+ type: "dateRange",
1195
+ value: rangeDraft,
1196
+ mode
1197
+ },
1198
+ draftValue: rangeDraft,
1199
+ onDraftChange: setRangeDraft
1200
+ }
1201
+ ) : /* @__PURE__ */ jsx(
1202
+ FilterDateSingle,
1203
+ {
1204
+ variant: "inline",
1205
+ filter: {
1206
+ id: `${parentFilterId}--date-list-dialog-date`,
1207
+ label: dialogLabel,
1208
+ type: "date",
1209
+ value: dateDraft,
1210
+ mode
1211
+ },
1212
+ draftValue: dateDraft,
1213
+ onDraftChange: setDateDraft
1214
+ }
1215
+ ) }),
1216
+ /* @__PURE__ */ jsx(Dialog.Footer, { children: /* @__PURE__ */ jsxs(Flex, { gap: 2, justifyContent: "flex-end", children: [
1217
+ /* @__PURE__ */ jsx(
1218
+ Dialog.CancelButton,
1219
+ {
1220
+ appearance: "ghost",
1221
+ "aria-label": "Cancel",
1222
+ ...{ [ANV_PART_ATTR]: PARTS.cancelButton },
1223
+ children: "Cancel"
1224
+ }
1225
+ ),
1226
+ /* @__PURE__ */ jsx(
1227
+ Button,
1228
+ {
1229
+ appearance: "primary",
1230
+ disabled: !canCommit,
1231
+ onClick: handleCommit,
1232
+ ...{ [ANV_PART_ATTR]: PARTS.applyButton },
1233
+ children: dialogCtaLabel
1234
+ }
1235
+ )
1236
+ ] }) })
1237
+ ] })
1238
+ }
1239
+ );
1173
1240
  };
1174
1241
  const FilterDateList = ({
1175
1242
  filter,
@@ -1283,11 +1350,7 @@ const FilterDateList = ({
1283
1350
  };
1284
1351
 
1285
1352
  const isSelected$7 = (filter) => filter.selectedOption !== void 0 && filter.selectedOption.value !== null;
1286
- const formatLabel$6 = (filter) => {
1287
- const selected = filter.selectedOption;
1288
- if (!selected || selected.value === null) return filter.label;
1289
- return formatDateListSelectionLabel(selected);
1290
- };
1353
+ const formatLabel$6 = (filter) => filter.selectedOption ? formatDateListTriggerLabel(filter.label, filter.selectedOption) : filter.label;
1291
1354
  const dateListAdapter = {
1292
1355
  getValue: (filter) => filter.selectedOption,
1293
1356
  setValue: (filter, value) => ({ ...filter, selectedOption: value }),
@@ -1452,7 +1515,8 @@ const formatLabel$4 = (filter) => {
1452
1515
  label: countLabel,
1453
1516
  color: "#0265DC",
1454
1517
  size: "small",
1455
- "aria-label": `${countLabel} selected items`
1518
+ "aria-label": `${countLabel} selected items`,
1519
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
1456
1520
  }
1457
1521
  )
1458
1522
  ] });
@@ -1513,6 +1577,7 @@ const multiSelectAdapter = {
1513
1577
  checked: draftFilter.selectedOptions?.some(
1514
1578
  (selected) => selected.id === option.id
1515
1579
  ) ?? false,
1580
+ ...{ [ANV_PART_ATTR]: COMMON_PART.option },
1516
1581
  onChange: (e) => {
1517
1582
  const currentSelected = draftFilter.selectedOptions ?? [];
1518
1583
  if (e?.target.checked) {
@@ -1587,7 +1652,8 @@ const FilterNumericRange = ({
1587
1652
  label: minFieldLabel,
1588
1653
  value: value?.min ?? null,
1589
1654
  onChange: (n) => update({ min: n ?? void 0, max: value?.max }),
1590
- ...sharedNumberFieldProps
1655
+ ...sharedNumberFieldProps,
1656
+ ...{ [ANV_PART_ATTR]: PARTS.minInput }
1591
1657
  }
1592
1658
  );
1593
1659
  const maxField = /* @__PURE__ */ jsx(
@@ -1596,7 +1662,8 @@ const FilterNumericRange = ({
1596
1662
  label: maxFieldLabel,
1597
1663
  value: value?.max ?? null,
1598
1664
  onChange: (n) => update({ min: value?.min, max: n ?? void 0 }),
1599
- ...sharedNumberFieldProps
1665
+ ...sharedNumberFieldProps,
1666
+ ...{ [ANV_PART_ATTR]: PARTS.maxInput }
1600
1667
  }
1601
1668
  );
1602
1669
  if (layout === "compact") {
@@ -1799,7 +1866,8 @@ const FilterSearchField = ({
1799
1866
  type: "search",
1800
1867
  autoComplete: "off",
1801
1868
  "aria-label": filter.label,
1802
- "data-tracking-id": trackingId
1869
+ "data-tracking-id": trackingId,
1870
+ ...{ [ANV_PART_ATTR]: PARTS.input }
1803
1871
  }
1804
1872
  ),
1805
1873
  /* @__PURE__ */ jsx(
@@ -1815,7 +1883,8 @@ const FilterSearchField = ({
1815
1883
  className: styles$1["clear"],
1816
1884
  style: {
1817
1885
  visibility: hasValue ? "visible" : "hidden"
1818
- }
1886
+ },
1887
+ ...{ [ANV_PART_ATTR]: PARTS.clearButton }
1819
1888
  }
1820
1889
  )
1821
1890
  ]
@@ -1855,7 +1924,8 @@ const searchAdapter = {
1855
1924
  label: draftFilter.label,
1856
1925
  placeholder: draftFilter.placeholder,
1857
1926
  value: draftFilter.value ?? "",
1858
- onChange: (e) => onDraftChange(draftFilter.id, e.target.value || void 0)
1927
+ onChange: (e) => onDraftChange(draftFilter.id, e.target.value || void 0),
1928
+ ...{ [ANV_PART_ATTR]: PARTS.input }
1859
1929
  },
1860
1930
  draftFilter.id
1861
1931
  ),
@@ -1968,7 +2038,8 @@ const FilterTextInput = ({
1968
2038
  placeholder: filter.placeholder,
1969
2039
  value,
1970
2040
  onChange: (e) => onChange(truncate(e.target.value)),
1971
- ...counterProps
2041
+ ...counterProps,
2042
+ ...{ [ANV_PART_ATTR]: PARTS.input }
1972
2043
  }
1973
2044
  );
1974
2045
  };
@@ -2040,7 +2111,8 @@ const formatLabel = (filter) => {
2040
2111
  label: countLabel,
2041
2112
  color: "#0265DC",
2042
2113
  size: "small",
2043
- "aria-label": `${countLabel} selected items`
2114
+ "aria-label": `${countLabel} selected items`,
2115
+ ...{ [ANV_PART_ATTR]: PARTS.countBadge }
2044
2116
  }
2045
2117
  )
2046
2118
  ] });
@@ -2153,5 +2225,5 @@ const cloneFiltersWithItemRefs = (filters) => filters.map(
2153
2225
  (filter) => getAdapter(filter).cloneWithItemRefs(filter)
2154
2226
  );
2155
2227
 
2156
- export { DateListDialog as D, FilterGroupContext as F, checkActiveFilters as a, getAdapter as b, cloneFiltersWithItemRefs as c, FilterItemWrapper as d, FilterTriggerButton as e, getActiveFilters as g, hasFilterSelectionChanged as h, preserveFilterState as p, resetFilters as r, styles as s, updateSingleFilter as u };
2157
- //# sourceMappingURL=filter-state-XmqhkURU.js.map
2228
+ export { DateListDialog as D, FilterGroupContext as F, PARTS as P, checkActiveFilters as a, getAdapter as b, cloneFiltersWithItemRefs as c, FilterItemWrapper as d, FilterTriggerButton as e, getActiveFilters as g, hasFilterSelectionChanged as h, preserveFilterState as p, resetFilters as r, styles as s, updateSingleFilter as u };
2229
+ //# sourceMappingURL=filter-state-BQOX7_rO.js.map