@navikt/ds-react 8.6.0 → 8.8.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 (465) hide show
  1. package/cjs/alert/base-alert/root/BaseAlertRoot.js +1 -2
  2. package/cjs/alert/base-alert/root/BaseAlertRoot.js.map +1 -1
  3. package/cjs/alert/info-card/index.d.ts +2 -2
  4. package/cjs/alert/info-card/index.js +2 -1
  5. package/cjs/alert/info-card/index.js.map +1 -1
  6. package/cjs/alert/info-card/message/InfoCardMessage.d.ts +23 -0
  7. package/cjs/alert/info-card/message/InfoCardMessage.js +73 -0
  8. package/cjs/alert/info-card/message/InfoCardMessage.js.map +1 -0
  9. package/cjs/alert/info-card/root/InfoCardRoot.d.ts +15 -2
  10. package/cjs/alert/info-card/root/InfoCardRoot.js +4 -1
  11. package/cjs/alert/info-card/root/InfoCardRoot.js.map +1 -1
  12. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.d.ts +21 -0
  13. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js +24 -0
  14. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js.map +1 -0
  15. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.d.ts +27 -0
  16. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.js +41 -0
  17. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.js.map +1 -0
  18. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.d.ts +8 -0
  19. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.js +10 -0
  20. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.js.map +1 -0
  21. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.d.ts +34 -0
  22. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.js +61 -0
  23. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.js.map +1 -0
  24. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +22 -0
  25. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +35 -0
  26. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +1 -0
  27. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +27 -0
  28. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js +86 -0
  29. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +1 -0
  30. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +5 -0
  31. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js +6 -0
  32. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +1 -0
  33. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +24 -0
  34. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js +108 -0
  35. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +1 -0
  36. package/cjs/data/table/empty-state/DataTableEmptyState.d.ts +5 -0
  37. package/cjs/data/table/empty-state/DataTableEmptyState.js +57 -0
  38. package/cjs/data/table/empty-state/DataTableEmptyState.js.map +1 -0
  39. package/cjs/data/table/helpers/table-focus.js +7 -1
  40. package/cjs/data/table/helpers/table-focus.js.map +1 -1
  41. package/cjs/data/table/helpers/table-keyboard.js +1 -1
  42. package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
  43. package/cjs/data/table/loading-state/DataTableLoadingState.d.ts +5 -0
  44. package/cjs/data/table/loading-state/DataTableLoadingState.js +57 -0
  45. package/cjs/data/table/loading-state/DataTableLoadingState.js.map +1 -0
  46. package/cjs/data/table/root/DataTable.types.d.ts +13 -0
  47. package/cjs/data/table/root/DataTable.types.js +3 -0
  48. package/cjs/data/table/root/DataTable.types.js.map +1 -0
  49. package/cjs/data/table/root/DataTableAuto.d.ts +60 -0
  50. package/cjs/data/table/root/DataTableAuto.js +99 -0
  51. package/cjs/data/table/root/DataTableAuto.js.map +1 -0
  52. package/cjs/data/table/root/DataTableRoot.context.d.ts +9 -0
  53. package/cjs/data/table/root/DataTableRoot.context.js +11 -0
  54. package/cjs/data/table/root/DataTableRoot.context.js.map +1 -0
  55. package/cjs/data/table/root/DataTableRoot.d.ts +30 -3
  56. package/cjs/data/table/root/DataTableRoot.js +12 -4
  57. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  58. package/cjs/data/table/root/useTableKeyboardNav.js +1 -0
  59. package/cjs/data/table/root/useTableKeyboardNav.js.map +1 -1
  60. package/cjs/data/table/root/useTableSelection.d.ts +55 -0
  61. package/cjs/data/table/root/useTableSelection.js +79 -0
  62. package/cjs/data/table/root/useTableSelection.js.map +1 -0
  63. package/cjs/data/table/td/DataTableTd.d.ts +10 -0
  64. package/cjs/data/table/td/DataTableTd.js +4 -2
  65. package/cjs/data/table/td/DataTableTd.js.map +1 -1
  66. package/cjs/data/table/th/DataTableTh.d.ts +27 -5
  67. package/cjs/data/table/th/DataTableTh.js +49 -22
  68. package/cjs/data/table/th/DataTableTh.js.map +1 -1
  69. package/cjs/data/table/th/useTableColumnResize.d.ts +64 -0
  70. package/cjs/data/table/th/useTableColumnResize.js +144 -0
  71. package/cjs/data/table/th/useTableColumnResize.js.map +1 -0
  72. package/cjs/data/table/thead/DataTableThead.context.d.ts +4 -0
  73. package/cjs/data/table/thead/DataTableThead.context.js +45 -0
  74. package/cjs/data/table/thead/DataTableThead.context.js.map +1 -0
  75. package/cjs/data/table/thead/DataTableThead.js +3 -1
  76. package/cjs/data/table/thead/DataTableThead.js.map +1 -1
  77. package/cjs/data/table/tr/DataTableTr.js +10 -2
  78. package/cjs/data/table/tr/DataTableTr.js.map +1 -1
  79. package/cjs/data/token-filter/AutoSuggest.d.ts +6 -2
  80. package/cjs/data/token-filter/AutoSuggest.js +44 -11
  81. package/cjs/data/token-filter/AutoSuggest.js.map +1 -1
  82. package/cjs/data/token-filter/TokenFilter.d.ts +5 -5
  83. package/cjs/data/token-filter/TokenFilter.js +105 -42
  84. package/cjs/data/token-filter/TokenFilter.js.map +1 -1
  85. package/cjs/data/token-filter/TokenFilter.types.d.ts +51 -33
  86. package/cjs/data/token-filter/helpers/generate-autocomplete-options.d.ts +2 -3
  87. package/cjs/data/token-filter/helpers/generate-autocomplete-options.js +11 -15
  88. package/cjs/data/token-filter/helpers/generate-autocomplete-options.js.map +1 -1
  89. package/cjs/data/token-filter/helpers/operators.d.ts +6 -6
  90. package/cjs/data/token-filter/helpers/operators.js +3 -4
  91. package/cjs/data/token-filter/helpers/operators.js.map +1 -1
  92. package/cjs/data/token-filter/helpers/parse-query-text.d.ts +2 -20
  93. package/cjs/data/token-filter/helpers/parse-query-text.js +1 -1
  94. package/cjs/data/token-filter/helpers/parse-query-text.js.map +1 -1
  95. package/cjs/data/token-filter/helpers/query-builder.d.ts +2 -2
  96. package/cjs/data/token-filter/helpers/query-builder.js.map +1 -1
  97. package/cjs/date/Date.Dialog.d.ts +5 -1
  98. package/cjs/date/Date.Dialog.js +6 -2
  99. package/cjs/date/Date.Dialog.js.map +1 -1
  100. package/cjs/date/Date.Input.js +1 -1
  101. package/cjs/date/Date.Input.js.map +1 -1
  102. package/cjs/date/datepicker/DatePicker.js +3 -2
  103. package/cjs/date/datepicker/DatePicker.js.map +1 -1
  104. package/cjs/date/datepicker/hooks/useDatepicker.d.ts +12 -1
  105. package/cjs/date/datepicker/hooks/useDatepicker.js +5 -2
  106. package/cjs/date/datepicker/hooks/useDatepicker.js.map +1 -1
  107. package/cjs/date/datepicker/hooks/useRangeDatepicker.js +3 -1
  108. package/cjs/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  109. package/cjs/date/datepicker/parts/DatePicker.Months.d.ts +2 -1
  110. package/cjs/date/datepicker/parts/DatePicker.Months.js +3 -3
  111. package/cjs/date/datepicker/parts/DatePicker.Months.js.map +1 -1
  112. package/cjs/date/datepicker/parts/DatePicker.RDP.d.ts +5 -1
  113. package/cjs/date/datepicker/parts/DatePicker.RDP.js +2 -2
  114. package/cjs/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  115. package/cjs/date/monthpicker/MonthPicker.js +3 -2
  116. package/cjs/date/monthpicker/MonthPicker.js.map +1 -1
  117. package/cjs/date/monthpicker/hooks/useMonthPicker.d.ts +11 -1
  118. package/cjs/date/monthpicker/hooks/useMonthPicker.js +3 -1
  119. package/cjs/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  120. package/cjs/date/monthpicker/parts/MonthPicker.Caption.d.ts +4 -1
  121. package/cjs/date/monthpicker/parts/MonthPicker.Caption.js +3 -2
  122. package/cjs/date/monthpicker/parts/MonthPicker.Caption.js.map +1 -1
  123. package/cjs/dropdown/Toggle.js +5 -12
  124. package/cjs/dropdown/Toggle.js.map +1 -1
  125. package/cjs/form/checkbox/CheckboxGroup.js +1 -1
  126. package/cjs/form/checkbox/CheckboxGroup.js.map +1 -1
  127. package/cjs/form/combobox/Input/Input.js +1 -1
  128. package/cjs/form/combobox/Input/Input.js.map +1 -1
  129. package/cjs/form/fieldset/Fieldset.d.ts +25 -5
  130. package/cjs/form/fieldset/Fieldset.js +19 -2
  131. package/cjs/form/fieldset/Fieldset.js.map +1 -1
  132. package/cjs/form/radio/RadioGroup.js +1 -1
  133. package/cjs/form/radio/RadioGroup.js.map +1 -1
  134. package/cjs/index.d.ts +1 -1
  135. package/cjs/index.js.map +1 -1
  136. package/cjs/inline-message/root/InlineMessage.js +2 -2
  137. package/cjs/inline-message/root/InlineMessage.js.map +1 -1
  138. package/cjs/provider/Provider.d.ts +2 -2
  139. package/cjs/read-more/ReadMore.d.ts +10 -0
  140. package/cjs/read-more/ReadMore.js +4 -6
  141. package/cjs/read-more/ReadMore.js.map +1 -1
  142. package/cjs/tooltip/Tooltip.js +1 -3
  143. package/cjs/tooltip/Tooltip.js.map +1 -1
  144. package/cjs/types/index.d.ts +1 -1
  145. package/cjs/types/index.js +0 -15
  146. package/cjs/types/index.js.map +1 -1
  147. package/cjs/utils/components/HighlightText/HighlightText.d.ts +8 -0
  148. package/cjs/utils/components/HighlightText/HighlightText.js +27 -0
  149. package/cjs/utils/components/HighlightText/HighlightText.js.map +1 -0
  150. package/cjs/utils/components/Listbox/group/ListboxGroup.d.ts +7 -0
  151. package/cjs/utils/components/Listbox/group/ListboxGroup.js +15 -0
  152. package/cjs/utils/components/Listbox/group/ListboxGroup.js.map +1 -0
  153. package/cjs/utils/components/Listbox/input-slot/ListboxInputSlot.d.ts +7 -0
  154. package/cjs/utils/components/Listbox/input-slot/ListboxInputSlot.js +15 -0
  155. package/cjs/utils/components/Listbox/input-slot/ListboxInputSlot.js.map +1 -0
  156. package/cjs/utils/components/Listbox/option/ListboxOption.d.ts +24 -0
  157. package/cjs/utils/components/Listbox/option/ListboxOption.js +33 -0
  158. package/cjs/utils/components/Listbox/option/ListboxOption.js.map +1 -0
  159. package/cjs/utils/components/Listbox/options/ListboxOptions.d.ts +8 -0
  160. package/cjs/utils/components/Listbox/options/ListboxOptions.js +32 -0
  161. package/cjs/utils/components/Listbox/options/ListboxOptions.js.map +1 -0
  162. package/cjs/utils/components/Listbox/root/ListboxRoot.d.ts +20 -0
  163. package/cjs/utils/components/Listbox/root/ListboxRoot.js +84 -0
  164. package/cjs/utils/components/Listbox/root/ListboxRoot.js.map +1 -0
  165. package/cjs/utils/components/Listbox/root/domHelpers.d.ts +3 -0
  166. package/cjs/utils/components/Listbox/root/domHelpers.js +53 -0
  167. package/cjs/utils/components/Listbox/root/domHelpers.js.map +1 -0
  168. package/cjs/utils/components/floating/Floating.d.ts +1 -1
  169. package/cjs/utils/components/floating/Floating.js +1 -1
  170. package/cjs/utils/components/floating/Floating.js.map +1 -1
  171. package/cjs/utils/components/focus-boundary/FocusBoundary.d.ts +0 -1
  172. package/cjs/utils/components/focus-boundary/FocusBoundary.js +9 -64
  173. package/cjs/utils/components/focus-boundary/FocusBoundary.js.map +1 -1
  174. package/cjs/utils/components/link-anchor/LinkAnchor.js +10 -0
  175. package/cjs/utils/components/link-anchor/LinkAnchor.js.map +1 -1
  176. package/cjs/utils/helpers/className.js +1 -1
  177. package/cjs/utils/helpers/className.js.map +1 -1
  178. package/cjs/utils/helpers/focus.d.ts +16 -0
  179. package/cjs/utils/helpers/focus.js +63 -0
  180. package/cjs/utils/helpers/focus.js.map +1 -0
  181. package/cjs/utils/helpers/index.d.ts +9 -9
  182. package/cjs/utils/helpers/index.js +22 -23
  183. package/cjs/utils/helpers/index.js.map +1 -1
  184. package/cjs/utils/hooks/index.d.ts +13 -13
  185. package/cjs/utils/hooks/index.js +31 -28
  186. package/cjs/utils/hooks/index.js.map +1 -1
  187. package/cjs/utils/hooks/useDeferredValue.d.ts +1 -0
  188. package/cjs/utils/hooks/useDeferredValue.js +14 -0
  189. package/cjs/utils/hooks/useDeferredValue.js.map +1 -0
  190. package/cjs/utils/hooks/useScrollLock.js +41 -11
  191. package/cjs/utils/hooks/useScrollLock.js.map +1 -1
  192. package/esm/alert/base-alert/root/BaseAlertRoot.js +1 -2
  193. package/esm/alert/base-alert/root/BaseAlertRoot.js.map +1 -1
  194. package/esm/alert/info-card/index.d.ts +2 -2
  195. package/esm/alert/info-card/index.js +1 -1
  196. package/esm/alert/info-card/index.js.map +1 -1
  197. package/esm/alert/info-card/message/InfoCardMessage.d.ts +23 -0
  198. package/esm/alert/info-card/message/InfoCardMessage.js +37 -0
  199. package/esm/alert/info-card/message/InfoCardMessage.js.map +1 -0
  200. package/esm/alert/info-card/root/InfoCardRoot.d.ts +15 -2
  201. package/esm/alert/info-card/root/InfoCardRoot.js +3 -1
  202. package/esm/alert/info-card/root/InfoCardRoot.js.map +1 -1
  203. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.d.ts +21 -0
  204. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js +18 -0
  205. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js.map +1 -0
  206. package/esm/data/drag-and-drop/item/DataDragAndDropItem.d.ts +27 -0
  207. package/esm/data/drag-and-drop/item/DataDragAndDropItem.js +35 -0
  208. package/esm/data/drag-and-drop/item/DataDragAndDropItem.js.map +1 -0
  209. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.d.ts +8 -0
  210. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.js +6 -0
  211. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.js.map +1 -0
  212. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.d.ts +34 -0
  213. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.js +21 -0
  214. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.js.map +1 -0
  215. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +22 -0
  216. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +29 -0
  217. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +1 -0
  218. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.d.ts +27 -0
  219. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js +50 -0
  220. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +1 -0
  221. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.d.ts +5 -0
  222. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js +3 -0
  223. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +1 -0
  224. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.d.ts +24 -0
  225. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js +68 -0
  226. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +1 -0
  227. package/esm/data/table/empty-state/DataTableEmptyState.d.ts +5 -0
  228. package/esm/data/table/empty-state/DataTableEmptyState.js +21 -0
  229. package/esm/data/table/empty-state/DataTableEmptyState.js.map +1 -0
  230. package/esm/data/table/helpers/table-focus.js +7 -1
  231. package/esm/data/table/helpers/table-focus.js.map +1 -1
  232. package/esm/data/table/helpers/table-keyboard.js +1 -1
  233. package/esm/data/table/helpers/table-keyboard.js.map +1 -1
  234. package/esm/data/table/loading-state/DataTableLoadingState.d.ts +5 -0
  235. package/esm/data/table/loading-state/DataTableLoadingState.js +21 -0
  236. package/esm/data/table/loading-state/DataTableLoadingState.js.map +1 -0
  237. package/esm/data/table/root/DataTable.types.d.ts +13 -0
  238. package/esm/data/table/root/DataTable.types.js +2 -0
  239. package/esm/data/table/root/DataTable.types.js.map +1 -0
  240. package/esm/data/table/root/DataTableAuto.d.ts +60 -0
  241. package/esm/data/table/root/DataTableAuto.js +63 -0
  242. package/esm/data/table/root/DataTableAuto.js.map +1 -0
  243. package/esm/data/table/root/DataTableRoot.context.d.ts +9 -0
  244. package/esm/data/table/root/DataTableRoot.context.js +7 -0
  245. package/esm/data/table/root/DataTableRoot.context.js.map +1 -0
  246. package/esm/data/table/root/DataTableRoot.d.ts +30 -3
  247. package/esm/data/table/root/DataTableRoot.js +10 -4
  248. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  249. package/esm/data/table/root/useTableKeyboardNav.js +1 -0
  250. package/esm/data/table/root/useTableKeyboardNav.js.map +1 -1
  251. package/esm/data/table/root/useTableSelection.d.ts +55 -0
  252. package/esm/data/table/root/useTableSelection.js +77 -0
  253. package/esm/data/table/root/useTableSelection.js.map +1 -0
  254. package/esm/data/table/td/DataTableTd.d.ts +10 -0
  255. package/esm/data/table/td/DataTableTd.js +4 -2
  256. package/esm/data/table/td/DataTableTd.js.map +1 -1
  257. package/esm/data/table/th/DataTableTh.d.ts +27 -5
  258. package/esm/data/table/th/DataTableTh.js +51 -24
  259. package/esm/data/table/th/DataTableTh.js.map +1 -1
  260. package/esm/data/table/th/useTableColumnResize.d.ts +64 -0
  261. package/esm/data/table/th/useTableColumnResize.js +142 -0
  262. package/esm/data/table/th/useTableColumnResize.js.map +1 -0
  263. package/esm/data/table/thead/DataTableThead.context.d.ts +4 -0
  264. package/esm/data/table/thead/DataTableThead.context.js +8 -0
  265. package/esm/data/table/thead/DataTableThead.context.js.map +1 -0
  266. package/esm/data/table/thead/DataTableThead.js +3 -1
  267. package/esm/data/table/thead/DataTableThead.js.map +1 -1
  268. package/esm/data/table/tr/DataTableTr.js +10 -2
  269. package/esm/data/table/tr/DataTableTr.js.map +1 -1
  270. package/esm/data/token-filter/AutoSuggest.d.ts +6 -2
  271. package/esm/data/token-filter/AutoSuggest.js +43 -13
  272. package/esm/data/token-filter/AutoSuggest.js.map +1 -1
  273. package/esm/data/token-filter/TokenFilter.d.ts +5 -5
  274. package/esm/data/token-filter/TokenFilter.js +105 -42
  275. package/esm/data/token-filter/TokenFilter.js.map +1 -1
  276. package/esm/data/token-filter/TokenFilter.types.d.ts +51 -33
  277. package/esm/data/token-filter/helpers/generate-autocomplete-options.d.ts +2 -3
  278. package/esm/data/token-filter/helpers/generate-autocomplete-options.js +11 -15
  279. package/esm/data/token-filter/helpers/generate-autocomplete-options.js.map +1 -1
  280. package/esm/data/token-filter/helpers/operators.d.ts +6 -6
  281. package/esm/data/token-filter/helpers/operators.js +3 -4
  282. package/esm/data/token-filter/helpers/operators.js.map +1 -1
  283. package/esm/data/token-filter/helpers/parse-query-text.d.ts +2 -20
  284. package/esm/data/token-filter/helpers/parse-query-text.js +1 -1
  285. package/esm/data/token-filter/helpers/parse-query-text.js.map +1 -1
  286. package/esm/data/token-filter/helpers/query-builder.d.ts +2 -2
  287. package/esm/data/token-filter/helpers/query-builder.js.map +1 -1
  288. package/esm/date/Date.Dialog.d.ts +5 -1
  289. package/esm/date/Date.Dialog.js +6 -2
  290. package/esm/date/Date.Dialog.js.map +1 -1
  291. package/esm/date/Date.Input.js +1 -1
  292. package/esm/date/Date.Input.js.map +1 -1
  293. package/esm/date/datepicker/DatePicker.js +3 -2
  294. package/esm/date/datepicker/DatePicker.js.map +1 -1
  295. package/esm/date/datepicker/hooks/useDatepicker.d.ts +12 -1
  296. package/esm/date/datepicker/hooks/useDatepicker.js +5 -2
  297. package/esm/date/datepicker/hooks/useDatepicker.js.map +1 -1
  298. package/esm/date/datepicker/hooks/useRangeDatepicker.js +3 -1
  299. package/esm/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  300. package/esm/date/datepicker/parts/DatePicker.Months.d.ts +2 -1
  301. package/esm/date/datepicker/parts/DatePicker.Months.js +3 -3
  302. package/esm/date/datepicker/parts/DatePicker.Months.js.map +1 -1
  303. package/esm/date/datepicker/parts/DatePicker.RDP.d.ts +5 -1
  304. package/esm/date/datepicker/parts/DatePicker.RDP.js +2 -2
  305. package/esm/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  306. package/esm/date/monthpicker/MonthPicker.js +3 -2
  307. package/esm/date/monthpicker/MonthPicker.js.map +1 -1
  308. package/esm/date/monthpicker/hooks/useMonthPicker.d.ts +11 -1
  309. package/esm/date/monthpicker/hooks/useMonthPicker.js +3 -1
  310. package/esm/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  311. package/esm/date/monthpicker/parts/MonthPicker.Caption.d.ts +4 -1
  312. package/esm/date/monthpicker/parts/MonthPicker.Caption.js +3 -2
  313. package/esm/date/monthpicker/parts/MonthPicker.Caption.js.map +1 -1
  314. package/esm/dropdown/Toggle.js +5 -12
  315. package/esm/dropdown/Toggle.js.map +1 -1
  316. package/esm/form/checkbox/CheckboxGroup.js +1 -1
  317. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  318. package/esm/form/combobox/Input/Input.js +1 -1
  319. package/esm/form/combobox/Input/Input.js.map +1 -1
  320. package/esm/form/fieldset/Fieldset.d.ts +25 -5
  321. package/esm/form/fieldset/Fieldset.js +19 -2
  322. package/esm/form/fieldset/Fieldset.js.map +1 -1
  323. package/esm/form/radio/RadioGroup.js +1 -1
  324. package/esm/form/radio/RadioGroup.js.map +1 -1
  325. package/esm/index.d.ts +1 -1
  326. package/esm/index.js.map +1 -1
  327. package/esm/inline-message/root/InlineMessage.js +3 -3
  328. package/esm/inline-message/root/InlineMessage.js.map +1 -1
  329. package/esm/provider/Provider.d.ts +2 -2
  330. package/esm/read-more/ReadMore.d.ts +10 -0
  331. package/esm/read-more/ReadMore.js +4 -6
  332. package/esm/read-more/ReadMore.js.map +1 -1
  333. package/esm/tooltip/Tooltip.js +1 -3
  334. package/esm/tooltip/Tooltip.js.map +1 -1
  335. package/esm/types/index.d.ts +1 -1
  336. package/esm/types/index.js +1 -1
  337. package/esm/types/index.js.map +1 -1
  338. package/esm/utils/components/HighlightText/HighlightText.d.ts +8 -0
  339. package/esm/utils/components/HighlightText/HighlightText.js +21 -0
  340. package/esm/utils/components/HighlightText/HighlightText.js.map +1 -0
  341. package/esm/utils/components/Listbox/group/ListboxGroup.d.ts +7 -0
  342. package/esm/utils/components/Listbox/group/ListboxGroup.js +10 -0
  343. package/esm/utils/components/Listbox/group/ListboxGroup.js.map +1 -0
  344. package/esm/utils/components/Listbox/input-slot/ListboxInputSlot.d.ts +7 -0
  345. package/esm/utils/components/Listbox/input-slot/ListboxInputSlot.js +9 -0
  346. package/esm/utils/components/Listbox/input-slot/ListboxInputSlot.js.map +1 -0
  347. package/esm/utils/components/Listbox/option/ListboxOption.d.ts +24 -0
  348. package/esm/utils/components/Listbox/option/ListboxOption.js +27 -0
  349. package/esm/utils/components/Listbox/option/ListboxOption.js.map +1 -0
  350. package/esm/utils/components/Listbox/options/ListboxOptions.d.ts +8 -0
  351. package/esm/utils/components/Listbox/options/ListboxOptions.js +27 -0
  352. package/esm/utils/components/Listbox/options/ListboxOptions.js.map +1 -0
  353. package/esm/utils/components/Listbox/root/ListboxRoot.d.ts +20 -0
  354. package/esm/utils/components/Listbox/root/ListboxRoot.js +79 -0
  355. package/esm/utils/components/Listbox/root/ListboxRoot.js.map +1 -0
  356. package/esm/utils/components/Listbox/root/domHelpers.d.ts +3 -0
  357. package/esm/utils/components/Listbox/root/domHelpers.js +50 -0
  358. package/esm/utils/components/Listbox/root/domHelpers.js.map +1 -0
  359. package/esm/utils/components/floating/Floating.d.ts +1 -1
  360. package/esm/utils/components/floating/Floating.js +1 -1
  361. package/esm/utils/components/floating/Floating.js.map +1 -1
  362. package/esm/utils/components/focus-boundary/FocusBoundary.d.ts +0 -1
  363. package/esm/utils/components/focus-boundary/FocusBoundary.js +9 -64
  364. package/esm/utils/components/focus-boundary/FocusBoundary.js.map +1 -1
  365. package/esm/utils/components/link-anchor/LinkAnchor.js +10 -0
  366. package/esm/utils/components/link-anchor/LinkAnchor.js.map +1 -1
  367. package/esm/utils/helpers/className.js +1 -1
  368. package/esm/utils/helpers/className.js.map +1 -1
  369. package/esm/utils/helpers/focus.d.ts +16 -0
  370. package/esm/utils/helpers/focus.js +60 -0
  371. package/esm/utils/helpers/focus.js.map +1 -0
  372. package/esm/utils/helpers/index.d.ts +9 -9
  373. package/esm/utils/helpers/index.js +9 -9
  374. package/esm/utils/helpers/index.js.map +1 -1
  375. package/esm/utils/hooks/index.d.ts +13 -13
  376. package/esm/utils/hooks/index.js +13 -13
  377. package/esm/utils/hooks/index.js.map +1 -1
  378. package/esm/utils/hooks/useDeferredValue.d.ts +1 -0
  379. package/esm/utils/hooks/useDeferredValue.js +7 -0
  380. package/esm/utils/hooks/useDeferredValue.js.map +1 -0
  381. package/esm/utils/hooks/useScrollLock.js +41 -11
  382. package/esm/utils/hooks/useScrollLock.js.map +1 -1
  383. package/package.json +9 -9
  384. package/src/alert/base-alert/root/BaseAlertRoot.tsx +1 -1
  385. package/src/alert/info-card/index.ts +2 -0
  386. package/src/alert/info-card/message/InfoCardMessage.tsx +48 -0
  387. package/src/alert/info-card/root/InfoCardRoot.tsx +20 -1
  388. package/src/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.tsx +63 -0
  389. package/src/data/drag-and-drop/item/DataDragAndDropItem.tsx +54 -0
  390. package/src/data/drag-and-drop/root/DataDragAndDrop.context.tsx +14 -0
  391. package/src/data/drag-and-drop/root/DataDragAndDropRoot.tsx +54 -0
  392. package/src/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.tsx +104 -0
  393. package/src/data/drag-and-drop-old/item/DataDragAndDropItem.tsx +74 -0
  394. package/src/data/drag-and-drop-old/root/DataDragAndDrop.context.tsx +11 -0
  395. package/src/data/drag-and-drop-old/root/DataDragAndDropRoot.tsx +96 -0
  396. package/src/data/table/empty-state/DataTableEmptyState.tsx +26 -0
  397. package/src/data/table/helpers/table-focus.ts +10 -1
  398. package/src/data/table/helpers/table-keyboard.ts +1 -1
  399. package/src/data/table/loading-state/DataTableLoadingState.tsx +26 -0
  400. package/src/data/table/root/DataTable.types.ts +16 -0
  401. package/src/data/table/root/DataTableAuto.tsx +182 -0
  402. package/src/data/table/root/DataTableRoot.context.ts +14 -0
  403. package/src/data/table/root/DataTableRoot.tsx +60 -14
  404. package/src/data/table/root/useTableKeyboardNav.ts +1 -0
  405. package/src/data/table/root/useTableSelection.ts +126 -0
  406. package/src/data/table/td/DataTableTd.tsx +14 -1
  407. package/src/data/table/th/DataTableTh.tsx +133 -65
  408. package/src/data/table/th/useTableColumnResize.ts +276 -0
  409. package/src/data/table/thead/DataTableThead.context.ts +10 -0
  410. package/src/data/table/thead/DataTableThead.tsx +8 -5
  411. package/src/data/table/tr/DataTableTr.tsx +18 -2
  412. package/src/data/token-filter/AutoSuggest.tsx +141 -29
  413. package/src/data/token-filter/TokenFilter.tsx +174 -79
  414. package/src/data/token-filter/TokenFilter.types.ts +70 -42
  415. package/src/data/token-filter/helpers/generate-autocomplete-options.test.ts +97 -97
  416. package/src/data/token-filter/helpers/generate-autocomplete-options.ts +31 -38
  417. package/src/data/token-filter/helpers/operators.test.ts +29 -29
  418. package/src/data/token-filter/helpers/operators.ts +16 -16
  419. package/src/data/token-filter/helpers/parse-query-text.test.ts +37 -35
  420. package/src/data/token-filter/helpers/parse-query-text.ts +7 -26
  421. package/src/data/token-filter/helpers/query-builder.ts +2 -2
  422. package/src/date/Date.Dialog.tsx +15 -0
  423. package/src/date/Date.Input.tsx +1 -1
  424. package/src/date/datepicker/DatePicker.tsx +3 -0
  425. package/src/date/datepicker/hooks/useDatepicker.tsx +19 -3
  426. package/src/date/datepicker/hooks/useRangeDatepicker.tsx +5 -1
  427. package/src/date/datepicker/parts/DatePicker.Months.tsx +9 -1
  428. package/src/date/datepicker/parts/DatePicker.RDP.tsx +7 -1
  429. package/src/date/monthpicker/MonthPicker.tsx +3 -1
  430. package/src/date/monthpicker/hooks/useMonthPicker.tsx +16 -2
  431. package/src/date/monthpicker/parts/MonthPicker.Caption.tsx +20 -2
  432. package/src/dropdown/Toggle.tsx +6 -12
  433. package/src/form/checkbox/CheckboxGroup.tsx +1 -1
  434. package/src/form/combobox/Input/Input.tsx +2 -2
  435. package/src/form/fieldset/Fieldset.tsx +31 -7
  436. package/src/form/radio/RadioGroup.tsx +1 -1
  437. package/src/index.ts +1 -0
  438. package/src/inline-message/root/InlineMessage.tsx +5 -5
  439. package/src/provider/Provider.tsx +2 -2
  440. package/src/read-more/ReadMore.tsx +15 -16
  441. package/src/tooltip/Tooltip.tsx +1 -3
  442. package/src/types/index.ts +1 -1
  443. package/src/utils/components/HighlightText/HighlightText.tsx +34 -0
  444. package/src/utils/components/Listbox/group/ListboxGroup.tsx +26 -0
  445. package/src/utils/components/Listbox/input-slot/ListboxInputSlot.tsx +22 -0
  446. package/src/utils/components/Listbox/option/ListboxOption.tsx +57 -0
  447. package/src/utils/components/Listbox/options/ListboxOptions.tsx +38 -0
  448. package/src/utils/components/Listbox/root/ListboxRoot.tsx +104 -0
  449. package/src/utils/components/Listbox/root/domHelpers.ts +60 -0
  450. package/src/utils/components/floating/Floating.tsx +2 -2
  451. package/src/utils/components/focus-boundary/FocusBoundary.tsx +9 -80
  452. package/src/utils/components/link-anchor/LinkAnchor.tsx +11 -0
  453. package/src/utils/helpers/className.ts +1 -1
  454. package/src/utils/helpers/focus.ts +78 -0
  455. package/src/utils/helpers/index.ts +9 -9
  456. package/src/utils/hooks/index.ts +20 -13
  457. package/src/utils/hooks/useDeferredValue.ts +12 -0
  458. package/src/utils/hooks/useScrollLock.ts +57 -13
  459. package/cjs/data/table/th/DataTableThSortHandle.d.ts +0 -6
  460. package/cjs/data/table/th/DataTableThSortHandle.js +0 -82
  461. package/cjs/data/table/th/DataTableThSortHandle.js.map +0 -1
  462. package/esm/data/table/th/DataTableThSortHandle.d.ts +0 -6
  463. package/esm/data/table/th/DataTableThSortHandle.js +0 -47
  464. package/esm/data/table/th/DataTableThSortHandle.js.map +0 -1
  465. package/src/data/table/th/DataTableThSortHandle.tsx +0 -67
@@ -1,51 +1,53 @@
1
1
  import { describe, expect, test } from "vitest";
2
2
  import type { AutoCompleteOption } from "../AutoSuggest.types";
3
3
  import type {
4
- ParsedOption,
5
- ParsedProperty,
6
- QueryFilteringOption,
7
- QueryFilteringProperty,
4
+ ExternalOption,
5
+ ExternalPropertyDefinition,
6
+ InternalParsedTextState,
7
+ InternalPropertyDefinition,
8
+ InternalPropertyOption,
8
9
  } from "../TokenFilter.types";
9
10
  import { generateAutoCompleteOptions } from "./generate-autocomplete-options";
10
- import type { ParsedText } from "./parse-query-text";
11
11
 
12
- const properties: QueryFilteringProperty[] = [
12
+ const properties: ExternalPropertyDefinition[] = [
13
13
  {
14
- groupValuesLabel: "Status values",
14
+ groupLabel: "Status values",
15
15
  group: "Metadata",
16
16
  key: "status",
17
- propertyLabel: "Status",
17
+ label: "Status",
18
18
  },
19
19
  {
20
- groupValuesLabel: "Region values",
20
+ groupLabel: "Region values",
21
21
  group: "Location",
22
22
  key: "region",
23
- propertyLabel: "Region",
23
+ label: "Region",
24
24
  },
25
25
  {
26
- groupValuesLabel: "Type values",
26
+ groupLabel: "Type values",
27
27
  group: "",
28
28
  key: "type",
29
- propertyLabel: "Type",
29
+ label: "Type",
30
30
  },
31
31
  ];
32
32
 
33
- const parsedProperties: ParsedProperty[] = properties.map((prop) => ({
34
- propertyKey: prop.key,
35
- propertyLabel: prop.propertyLabel,
36
- groupValuesLabel: prop.groupValuesLabel ?? "",
37
- propertyGroup: prop.group ?? "",
38
- externalProperty: prop,
39
- operators: prop.operators ?? [],
40
- }));
41
-
42
- const statusOptions: QueryFilteringOption[] = [
33
+ const parsedProperties: InternalPropertyDefinition[] = properties.map(
34
+ (prop) => ({
35
+ key: prop.key,
36
+ label: prop.label,
37
+ groupLabel: prop.groupLabel ?? "",
38
+ group: prop.group ?? "",
39
+ externalProperty: prop,
40
+ operators: prop.operators ?? [],
41
+ }),
42
+ );
43
+
44
+ const statusOptions: ExternalOption[] = [
43
45
  { propertyKey: "status", value: "active", label: "Active" },
44
46
  { propertyKey: "status", value: "pending", label: "Pending" },
45
47
  { propertyKey: "status", value: "inactive", label: "Inactive" },
46
48
  ];
47
49
 
48
- const regionOptions: QueryFilteringOption[] = [
50
+ const regionOptions: ExternalOption[] = [
49
51
  {
50
52
  propertyKey: "region",
51
53
  value: "us-east-1",
@@ -60,12 +62,10 @@ const regionOptions: QueryFilteringOption[] = [
60
62
  },
61
63
  ];
62
64
 
63
- const allOptions: QueryFilteringOption[] = [...statusOptions, ...regionOptions];
65
+ const allOptions: ExternalOption[] = [...statusOptions, ...regionOptions];
64
66
 
65
- const parsedOptions: ParsedOption[] = allOptions.map((option) => {
66
- const property = parsedProperties.find(
67
- (p) => p.propertyKey === option.propertyKey,
68
- );
67
+ const parsedOptions: InternalPropertyOption[] = allOptions.map((option) => {
68
+ const property = parsedProperties.find((p) => p.key === option.propertyKey);
69
69
  return {
70
70
  property: property || null,
71
71
  value: option.value,
@@ -77,7 +77,7 @@ const parsedOptions: ParsedOption[] = allOptions.map((option) => {
77
77
  describe("generateAutoCompleteOptions v2", () => {
78
78
  describe("free-text step", () => {
79
79
  test("empty value: should return all properties", () => {
80
- const queryState: ParsedText = {
80
+ const queryState: InternalParsedTextState = {
81
81
  step: "free-text",
82
82
  value: "",
83
83
  };
@@ -102,7 +102,7 @@ describe("generateAutoCompleteOptions v2", () => {
102
102
  });
103
103
 
104
104
  test("non-empty value: should return filtered properties and values", () => {
105
- const queryState: ParsedText = {
105
+ const queryState: InternalParsedTextState = {
106
106
  step: "free-text",
107
107
  value: "statu",
108
108
  };
@@ -124,7 +124,7 @@ describe("generateAutoCompleteOptions v2", () => {
124
124
  });
125
125
 
126
126
  test("non-empty value with operator '!:': should skip property suggestions", () => {
127
- const queryState: ParsedText = {
127
+ const queryState: InternalParsedTextState = {
128
128
  step: "free-text",
129
129
  value: "test",
130
130
  operator: "!:",
@@ -144,7 +144,7 @@ describe("generateAutoCompleteOptions v2", () => {
144
144
  });
145
145
 
146
146
  test("non-empty value: case-insensitive filtering", () => {
147
- const queryState: ParsedText = {
147
+ const queryState: InternalParsedTextState = {
148
148
  step: "free-text",
149
149
  value: "STATU",
150
150
  };
@@ -166,7 +166,7 @@ describe("generateAutoCompleteOptions v2", () => {
166
166
  });
167
167
 
168
168
  test("non-empty value: should match tags", () => {
169
- const queryState: ParsedText = {
169
+ const queryState: InternalParsedTextState = {
170
170
  step: "free-text",
171
171
  value: "europe",
172
172
  };
@@ -183,12 +183,12 @@ describe("generateAutoCompleteOptions v2", () => {
183
183
  expect(valueGroup).toBeDefined();
184
184
  expect(valueGroup?.options).toHaveLength(1);
185
185
  expect((valueGroup?.options[0] as AutoCompleteOption).label).toBe(
186
- "EU West",
186
+ "Region = eu-west-1",
187
187
  );
188
188
  });
189
189
 
190
190
  test("non-empty value: whitespace-aware matching", () => {
191
- const queryState: ParsedText = {
191
+ const queryState: InternalParsedTextState = {
192
192
  step: "free-text",
193
193
  value: "us east",
194
194
  };
@@ -205,7 +205,7 @@ describe("generateAutoCompleteOptions v2", () => {
205
205
  expect(valueGroup).toBeDefined();
206
206
  expect(valueGroup?.options).toHaveLength(1);
207
207
  expect((valueGroup?.options[0] as AutoCompleteOption).label).toBe(
208
- "US East",
208
+ "Region = us-east-1",
209
209
  );
210
210
  });
211
211
  });
@@ -214,7 +214,7 @@ describe("generateAutoCompleteOptions v2", () => {
214
214
  const statusProperty = parsedProperties[0];
215
215
 
216
216
  test("empty value: should return all values for selected property", () => {
217
- const queryState: ParsedText = {
217
+ const queryState: InternalParsedTextState = {
218
218
  step: "property",
219
219
  property: statusProperty,
220
220
  operator: "=",
@@ -234,7 +234,7 @@ describe("generateAutoCompleteOptions v2", () => {
234
234
  });
235
235
 
236
236
  test("non-empty value: should return filtered values", () => {
237
- const queryState: ParsedText = {
237
+ const queryState: InternalParsedTextState = {
238
238
  step: "property",
239
239
  property: statusProperty,
240
240
  operator: "=",
@@ -251,12 +251,12 @@ describe("generateAutoCompleteOptions v2", () => {
251
251
  expect(result.options).toHaveLength(1);
252
252
  expect(result.options[0].options).toHaveLength(2);
253
253
  const labels = result.options[0].options.map((o) => o.label);
254
- expect(labels).toContain("Active");
255
- expect(labels).toContain("Inactive");
254
+ expect(labels).toContain("Status = active");
255
+ expect(labels).toContain("Status = inactive");
256
256
  });
257
257
 
258
258
  test("should use specified operator in value suggestions", () => {
259
- const queryState: ParsedText = {
259
+ const queryState: InternalParsedTextState = {
260
260
  step: "property",
261
261
  property: statusProperty,
262
262
  operator: "!=",
@@ -279,7 +279,7 @@ describe("generateAutoCompleteOptions v2", () => {
279
279
  const statusProperty = parsedProperties[0];
280
280
 
281
281
  test("empty prefix: should return all operators", () => {
282
- const queryState: ParsedText = {
282
+ const queryState: InternalParsedTextState = {
283
283
  step: "operator",
284
284
  property: statusProperty,
285
285
  operatorPrefix: "",
@@ -297,7 +297,7 @@ describe("generateAutoCompleteOptions v2", () => {
297
297
  });
298
298
 
299
299
  test("operator prefix '!': should filter operators starting with '!'", () => {
300
- const queryState: ParsedText = {
300
+ const queryState: InternalParsedTextState = {
301
301
  step: "operator",
302
302
  property: statusProperty,
303
303
  operatorPrefix: "!",
@@ -319,7 +319,7 @@ describe("generateAutoCompleteOptions v2", () => {
319
319
  });
320
320
 
321
321
  test("operator prefix '>=': should filter to single operator", () => {
322
- const queryState: ParsedText = {
322
+ const queryState: InternalParsedTextState = {
323
323
  step: "operator",
324
324
  property: statusProperty,
325
325
  operatorPrefix: ">=",
@@ -339,7 +339,7 @@ describe("generateAutoCompleteOptions v2", () => {
339
339
  });
340
340
 
341
341
  test("invalid prefix: should return empty suggestions", () => {
342
- const queryState: ParsedText = {
342
+ const queryState: InternalParsedTextState = {
343
343
  step: "operator",
344
344
  property: statusProperty,
345
345
  operatorPrefix: "invalid",
@@ -358,7 +358,7 @@ describe("generateAutoCompleteOptions v2", () => {
358
358
 
359
359
  describe("operator filtering by description", () => {
360
360
  test("should filter operators by description text", () => {
361
- const queryState: ParsedText = {
361
+ const queryState: InternalParsedTextState = {
362
362
  step: "operator",
363
363
  property: parsedProperties[0],
364
364
  operatorPrefix: "",
@@ -379,7 +379,7 @@ describe("generateAutoCompleteOptions v2", () => {
379
379
 
380
380
  describe("empty groups filtering", () => {
381
381
  test("should not return empty option groups", () => {
382
- const queryState: ParsedText = {
382
+ const queryState: InternalParsedTextState = {
383
383
  step: "free-text",
384
384
  value: "nonexistent",
385
385
  };
@@ -398,7 +398,7 @@ describe("generateAutoCompleteOptions v2", () => {
398
398
 
399
399
  describe("value suggestions use correct operator", () => {
400
400
  test("free-text step uses '=' operator for all values", () => {
401
- const queryState: ParsedText = {
401
+ const queryState: InternalParsedTextState = {
402
402
  step: "free-text",
403
403
  value: "active",
404
404
  };
@@ -419,7 +419,7 @@ describe("generateAutoCompleteOptions v2", () => {
419
419
  });
420
420
 
421
421
  test("property step uses selected operator", () => {
422
- const queryState: ParsedText = {
422
+ const queryState: InternalParsedTextState = {
423
423
  step: "property",
424
424
  property: parsedProperties[0],
425
425
  operator: "!:",
@@ -440,20 +440,20 @@ describe("generateAutoCompleteOptions v2", () => {
440
440
 
441
441
  describe("custom operators configuration", () => {
442
442
  test("property with string-format operators should filter to only those operators", () => {
443
- const propertyWithCustomOps: ParsedProperty = {
444
- propertyKey: "custom",
445
- propertyLabel: "Custom",
446
- groupValuesLabel: "Custom values",
447
- propertyGroup: "Custom",
443
+ const propertyWithCustomOps: InternalPropertyDefinition = {
444
+ key: "custom",
445
+ label: "Custom",
446
+ groupLabel: "Custom values",
447
+ group: "Custom",
448
448
  operators: ["=", "!="],
449
449
  externalProperty: {
450
450
  key: "custom",
451
- propertyLabel: "Custom",
451
+ label: "Custom",
452
452
  operators: ["=", "!="],
453
453
  },
454
454
  };
455
455
 
456
- const queryState: ParsedText = {
456
+ const queryState: InternalParsedTextState = {
457
457
  step: "operator",
458
458
  property: propertyWithCustomOps,
459
459
  operatorPrefix: "",
@@ -473,26 +473,26 @@ describe("generateAutoCompleteOptions v2", () => {
473
473
  });
474
474
 
475
475
  test("property with object-format operators should extract operator strings", () => {
476
- const propertyWithObjectOps: ParsedProperty = {
477
- propertyKey: "custom2",
478
- propertyLabel: "Custom2",
479
- groupValuesLabel: "Custom2 values",
480
- propertyGroup: "Custom",
476
+ const propertyWithObjectOps: InternalPropertyDefinition = {
477
+ key: "custom2",
478
+ label: "Custom2",
479
+ groupLabel: "Custom2 values",
480
+ group: "Custom",
481
481
  operators: [
482
- { operator: ":", tokenType: "single" },
483
- { operator: "!:", tokenType: "single" },
482
+ { operator: ":", type: "single" },
483
+ { operator: "!:", type: "single" },
484
484
  ],
485
485
  externalProperty: {
486
486
  key: "custom2",
487
- propertyLabel: "Custom2",
487
+ label: "Custom2",
488
488
  operators: [
489
- { operator: ":", tokenType: "single" },
490
- { operator: "!:", tokenType: "single" },
489
+ { operator: ":", type: "single" },
490
+ { operator: "!:", type: "single" },
491
491
  ],
492
492
  },
493
493
  };
494
494
 
495
- const queryState: ParsedText = {
495
+ const queryState: InternalParsedTextState = {
496
496
  step: "operator",
497
497
  property: propertyWithObjectOps,
498
498
  operatorPrefix: "",
@@ -512,28 +512,28 @@ describe("generateAutoCompleteOptions v2", () => {
512
512
  });
513
513
 
514
514
  test("property with mixed operator formats should normalize and filter", () => {
515
- const propertyWithMixedOps: ParsedProperty = {
516
- propertyKey: "mixed",
517
- propertyLabel: "Mixed",
518
- groupValuesLabel: "Mixed values",
519
- propertyGroup: "Custom",
515
+ const propertyWithMixedOps: InternalPropertyDefinition = {
516
+ key: "mixed",
517
+ label: "Mixed",
518
+ groupLabel: "Mixed values",
519
+ group: "Custom",
520
520
  operators: [
521
521
  "=",
522
- { operator: "!=", tokenType: "single" },
522
+ { operator: "!=", type: "single" },
523
523
  "invalid-operator",
524
524
  ],
525
525
  externalProperty: {
526
526
  key: "mixed",
527
- propertyLabel: "Mixed",
527
+ label: "Mixed",
528
528
  operators: [
529
529
  "=",
530
- { operator: "!=", tokenType: "single" },
530
+ { operator: "!=", type: "single" },
531
531
  "invalid-operator",
532
532
  ],
533
533
  },
534
534
  };
535
535
 
536
- const queryState: ParsedText = {
536
+ const queryState: InternalParsedTextState = {
537
537
  step: "operator",
538
538
  property: propertyWithMixedOps,
539
539
  operatorPrefix: "",
@@ -555,7 +555,7 @@ describe("generateAutoCompleteOptions v2", () => {
555
555
 
556
556
  describe("edge case: operator without value", () => {
557
557
  test("should return empty options when operator is present but value is empty", () => {
558
- const queryState: ParsedText = {
558
+ const queryState: InternalParsedTextState = {
559
559
  step: "free-text",
560
560
  value: "",
561
561
  operator: "!=",
@@ -572,7 +572,7 @@ describe("generateAutoCompleteOptions v2", () => {
572
572
  });
573
573
 
574
574
  test("should return empty options when operator-start input has no value", () => {
575
- const queryState: ParsedText = {
575
+ const queryState: InternalParsedTextState = {
576
576
  step: "free-text",
577
577
  value: "",
578
578
  operator: ":",
@@ -593,7 +593,7 @@ describe("generateAutoCompleteOptions v2", () => {
593
593
  test("scoped to property should only show values from that property", () => {
594
594
  const statusProperty = parsedProperties[0];
595
595
 
596
- const queryState: ParsedText = {
596
+ const queryState: InternalParsedTextState = {
597
597
  step: "property",
598
598
  property: statusProperty,
599
599
  operator: "=",
@@ -615,7 +615,7 @@ describe("generateAutoCompleteOptions v2", () => {
615
615
  });
616
616
 
617
617
  test("non-scoped (free-text) with empty value should show all properties", () => {
618
- const queryState: ParsedText = {
618
+ const queryState: InternalParsedTextState = {
619
619
  step: "free-text",
620
620
  value: "",
621
621
  };
@@ -635,7 +635,7 @@ describe("generateAutoCompleteOptions v2", () => {
635
635
  test("scoped property search should not include property labels in search fields", () => {
636
636
  const statusProperty = parsedProperties[0];
637
637
 
638
- const queryState: ParsedText = {
638
+ const queryState: InternalParsedTextState = {
639
639
  step: "property",
640
640
  property: statusProperty,
641
641
  operator: "=",
@@ -652,7 +652,7 @@ describe("generateAutoCompleteOptions v2", () => {
652
652
  });
653
653
 
654
654
  test("non-scoped search should include property labels in search", () => {
655
- const queryState: ParsedText = {
655
+ const queryState: InternalParsedTextState = {
656
656
  step: "free-text",
657
657
  value: "region",
658
658
  };
@@ -672,19 +672,19 @@ describe("generateAutoCompleteOptions v2", () => {
672
672
 
673
673
  describe("properties with no groupValuesLabel", () => {
674
674
  test("should default to 'Values' when groupValuesLabel is empty", () => {
675
- const propertyWithoutGroupLabel: ParsedProperty = {
676
- propertyKey: "nogroup",
677
- propertyLabel: "NoGroup",
678
- groupValuesLabel: "",
679
- propertyGroup: "Custom",
675
+ const propertyWithoutGroupLabel: InternalPropertyDefinition = {
676
+ key: "nogroup",
677
+ label: "NoGroup",
678
+ groupLabel: "",
679
+ group: "Custom",
680
680
  operators: [],
681
681
  externalProperty: {
682
682
  key: "nogroup",
683
- propertyLabel: "NoGroup",
683
+ label: "NoGroup",
684
684
  },
685
685
  };
686
686
 
687
- const optionsForProperty: ParsedOption[] = [
687
+ const optionsForProperty: InternalPropertyOption[] = [
688
688
  {
689
689
  property: propertyWithoutGroupLabel,
690
690
  value: "val1",
@@ -693,7 +693,7 @@ describe("generateAutoCompleteOptions v2", () => {
693
693
  },
694
694
  ];
695
695
 
696
- const queryState: ParsedText = {
696
+ const queryState: InternalParsedTextState = {
697
697
  step: "property",
698
698
  property: propertyWithoutGroupLabel,
699
699
  operator: "=",
@@ -712,7 +712,7 @@ describe("generateAutoCompleteOptions v2", () => {
712
712
 
713
713
  describe("null or missing property references", () => {
714
714
  test("should skip options with null property reference", () => {
715
- const optionsWithNull: ParsedOption[] = [
715
+ const optionsWithNull: InternalPropertyOption[] = [
716
716
  {
717
717
  property: null,
718
718
  value: "orphaned",
@@ -722,7 +722,7 @@ describe("generateAutoCompleteOptions v2", () => {
722
722
  ...parsedOptions,
723
723
  ];
724
724
 
725
- const queryState: ParsedText = {
725
+ const queryState: InternalParsedTextState = {
726
726
  step: "free-text",
727
727
  value: "orphaned",
728
728
  };
@@ -740,7 +740,7 @@ describe("generateAutoCompleteOptions v2", () => {
740
740
  });
741
741
 
742
742
  test("should skip properties with no data", () => {
743
- const queryState: ParsedText = {
743
+ const queryState: InternalParsedTextState = {
744
744
  step: "free-text",
745
745
  value: "",
746
746
  };
@@ -753,7 +753,7 @@ describe("generateAutoCompleteOptions v2", () => {
753
753
 
754
754
  describe("operator prefix filtering", () => {
755
755
  test("prefix ':' should match ':' and '!:' operators", () => {
756
- const queryState: ParsedText = {
756
+ const queryState: InternalParsedTextState = {
757
757
  step: "operator",
758
758
  property: parsedProperties[0],
759
759
  operatorPrefix: ":",
@@ -773,7 +773,7 @@ describe("generateAutoCompleteOptions v2", () => {
773
773
  });
774
774
 
775
775
  test("prefix '>' should match '>', '>=', '!>' operators", () => {
776
- const queryState: ParsedText = {
776
+ const queryState: InternalParsedTextState = {
777
777
  step: "operator",
778
778
  property: parsedProperties[0],
779
779
  operatorPrefix: ">",
@@ -796,7 +796,7 @@ describe("generateAutoCompleteOptions v2", () => {
796
796
 
797
797
  describe("buildQueryString integration", () => {
798
798
  test("query string should contain property, operator, and value", () => {
799
- const queryState: ParsedText = {
799
+ const queryState: InternalParsedTextState = {
800
800
  step: "property",
801
801
  property: parsedProperties[0],
802
802
  operator: "=",
@@ -818,7 +818,7 @@ describe("generateAutoCompleteOptions v2", () => {
818
818
  });
819
819
 
820
820
  test("operator-step value should only contain property and operator", () => {
821
- const queryState: ParsedText = {
821
+ const queryState: InternalParsedTextState = {
822
822
  step: "operator",
823
823
  property: parsedProperties[0],
824
824
  operatorPrefix: "=",