@bookjane2/bookjane-design-library 9.0.6 → 9.0.8

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 (53) hide show
  1. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.d.ts.map +1 -1
  2. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.js +23 -9
  3. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.js.map +1 -1
  4. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.stories.d.ts +2 -0
  5. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.stories.d.ts.map +1 -1
  6. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.stories.js +7 -3
  7. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.stories.js.map +1 -1
  8. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.styled.d.ts +2 -0
  9. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.styled.d.ts.map +1 -0
  10. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.styled.js +6 -0
  11. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.styled.js.map +1 -0
  12. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.test.d.ts +2 -0
  13. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.test.d.ts.map +1 -0
  14. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.test.js +114 -0
  15. package/lib/components/BKJCheckboxListItem/BKJCheckboxListItem.test.js.map +1 -0
  16. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.d.ts +1 -1
  17. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.d.ts.map +1 -1
  18. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.js +2 -2
  19. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.js.map +1 -1
  20. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.stories.d.ts +3 -1
  21. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.stories.d.ts.map +1 -1
  22. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.stories.js +48 -0
  23. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.stories.js.map +1 -1
  24. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.test.d.ts +22 -0
  25. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.test.d.ts.map +1 -0
  26. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.test.js +561 -0
  27. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.test.js.map +1 -0
  28. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.types.d.ts +41 -0
  29. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.types.d.ts.map +1 -1
  30. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.d.ts +6 -0
  31. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.d.ts.map +1 -1
  32. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.js +14 -0
  33. package/lib/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.js.map +1 -1
  34. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.d.ts.map +1 -1
  35. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.d.ts +48 -0
  36. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.d.ts.map +1 -1
  37. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.js +99 -1
  38. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.js.map +1 -1
  39. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.js +107 -26
  40. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.js.map +1 -1
  41. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncInput.d.ts.map +1 -1
  42. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncInput.js +29 -3
  43. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncInput.js.map +1 -1
  44. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncItem.d.ts.map +1 -1
  45. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncItem.js +7 -1
  46. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncItem.js.map +1 -1
  47. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncOptions.d.ts.map +1 -1
  48. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncOptions.js +25 -6
  49. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncOptions.js.map +1 -1
  50. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncOptionsMapper.d.ts.map +1 -1
  51. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncOptionsMapper.js +6 -1
  52. package/lib/components/BKJComboBoxAsync/src/BKJComboBoxAsyncOptionsMapper.js.map +1 -1
  53. package/package.json +1 -1
@@ -50,6 +50,28 @@ export interface IBKJComboBoxAsyncProps extends Omit<IBKJTextInputProps, 'value'
50
50
  */
51
51
  subLabelPosition?: 'left' | 'right';
52
52
  showFullFocusBorder?: boolean;
53
+ /**
54
+ * WEB-4815 / FR-011a: overrides the text of the live-region "Loading
55
+ * results…" announcement fired when an async fetch exceeds the 1-second
56
+ * threshold while the dropdown is open. Defaults to "Loading results…".
57
+ */
58
+ loadingLabel?: string;
59
+ /**
60
+ * WEB-4815 / FR-011a: overrides the text of the live-region results-count
61
+ * announcement fired when an async fetch resolves with one or more
62
+ * options. Accepts either a function of the option count or a template
63
+ * string (where `{N}` is substituted with the count). Defaults to English
64
+ * singular / plural: "1 result found" / "{N} results found".
65
+ */
66
+ resultsCountLabel?: string | ((count: number) => string);
67
+ /**
68
+ * WEB-4815 / FR-011a / R1: overrides the text of the in-listbox
69
+ * `role="option" aria-disabled="true"` "No results" element rendered
70
+ * when an async fetch resolves with zero options. Defaults to `undefined`;
71
+ * when unset, the existing `i18next.t('translations:NO_RESULTS')` lookup
72
+ * is preserved (non-breaking for French-locale consumers).
73
+ */
74
+ noResultsLabel?: string;
53
75
  }
54
76
  export interface IBKJComboBoxAsyncOption {
55
77
  value: string | number;
@@ -86,6 +108,9 @@ export interface IBKJComboBoxAsyncProviderProps {
86
108
  onSearchChange: IBKJComboBoxAsyncProps['onSearchChange'];
87
109
  required?: IBKJComboBoxAsyncProps['required'];
88
110
  subLabelPosition?: IBKJComboBoxAsyncProps['subLabelPosition'];
111
+ loadingLabel?: IBKJComboBoxAsyncProps['loadingLabel'];
112
+ resultsCountLabel?: IBKJComboBoxAsyncProps['resultsCountLabel'];
113
+ noResultsLabel?: IBKJComboBoxAsyncProps['noResultsLabel'];
89
114
  }
90
115
  interface ScrollToOptions {
91
116
  align: 'start' | 'center' | 'end' | 'auto';
@@ -126,6 +151,22 @@ export interface IBKJComboBoxAsyncContextValue extends Omit<UseComboboxReturnVal
126
151
  cacheKey?: IBKJComboBoxAsyncProps['cacheKey'];
127
152
  onSearchChange: IBKJComboBoxAsyncProps['onSearchChange'];
128
153
  subLabelPosition?: IBKJComboBoxAsyncProps['subLabelPosition'];
154
+ /**
155
+ * WEB-4815 / I-A01 / I-A02: live message to announce in the async
156
+ * listbox's live region (loading or results-count). Empty string when
157
+ * no message is live. Written by `useLoadingAnnouncer`.
158
+ */
159
+ liveMessage: string;
160
+ /**
161
+ * WEB-4815 / I-A01: whether the listbox should carry `aria-busy="true"`.
162
+ * Keys off `isLoading` alone per R3. Written by `useLoadingAnnouncer`.
163
+ */
164
+ isBusy: boolean;
165
+ /**
166
+ * WEB-4815 / FR-011a / R1: consumer-supplied label that overrides the
167
+ * existing i18next lookup for the NoResults element text when defined.
168
+ */
169
+ noResultsLabel?: IBKJComboBoxAsyncProps['noResultsLabel'];
129
170
  }
130
171
  export interface IBKJComboBoxAsyncExtractInitialSelectedItem {
131
172
  value: IBKJComboBoxAsyncProps['value'];
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsync.types.d.ts","sourceRoot":"","sources":["../../../src/components/BKJComboBoxAsync/BKJComboBoxAsync.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,YAAY,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IAC5B;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,OAAO,CAAC,EAAE,CAAC;IAClD,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAChD;;;;OAIG;IACH,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B;;;;OAIG;IACH,KAAK,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,cAAc,EAAE,kBAAkB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAAC;IACzC,KAAK,CAAC,EAAE,8BAA8B,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;CAClE;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,8BAA8B,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC/C,mBAAmB,EAAE,WAAW,CAAC;IACjC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACnD,cAAc,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC9C,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CAC/D;AACD,UAAU,eAAe;IACvB,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,6BACf,SAAQ,IAAI,CACV,sBAAsB,CAAC,uBAAuB,CAAC,EAC/C,YAAY,GAAG,eAAe,GAAG,YAAY,GAAG,SAAS,CAC1D;IACD,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3F,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC/F,cAAc,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,SAAS,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC9C,cAAc,EAAE;QACd,YAAY,EAAE,WAAW,EAAE,CAAC;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;QACnE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;QAClE,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,CAAC;IACF,mBAAmB,EAAE,8BAA8B,CAAC,qBAAqB,CAAC,CAAC;IAC3E,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,8BAA8B,CAAC;IACvC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACvC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACnD,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC9C,cAAc,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,2CAA2C;IAC1D,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;CAC5C"}
1
+ {"version":3,"file":"BKJComboBoxAsync.types.d.ts","sourceRoot":"","sources":["../../../src/components/BKJComboBoxAsync/BKJComboBoxAsync.types.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,12 @@ import { IBKJTextInputProps } from '../BKJTextInput/BKJTextInput.types.js';
5
5
  import { IBKJComboBoxAsyncOption, IBKJComboBoxAsyncProps } from './BKJComboBoxAsync.types.js';
6
6
  export declare const itemToString: (option: IBKJComboBoxAsyncOption | null) => string;
7
7
  export declare const optionsVariant: 'Search';
8
+ /**
9
+ * WEB-4815 / FR-011a: resolves the results-count announcement text from
10
+ * either a function (called with `count`), a template string (with `{N}`
11
+ * substituted), or the English singular/plural default.
12
+ */
13
+ export declare function resolveResultsCountLabel(label: string | ((count: number) => string) | undefined, count: number): string;
8
14
  export declare function getPopperOptions(): {
9
15
  modifiers: Array<Modifier<'sameWidth', ComputeStylesModifier['options']> | Partial<Modifier<'offset', PopperOffsetsModifier['options']>>>;
10
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsync.utils.d.ts","sourceRoot":"","sources":["../../../src/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAG3F,eAAO,MAAM,YAAY,GAAa,QAAQ,uBAAuB,GAAG,IAAI,KAAG,MAE9E,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAmB,CAAC;AAEjD,wBAAgB,gBAAgB,IAAI;IAClC,SAAS,EAAE,KAAK,CACZ,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,GACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAChE,CAAC;CACH,CAsDA;AAED,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,sBAAsB,CAAC,QAAQ,CAAC,EACxC,WAAW,OAAO,KACjB,kBAAkB,CAAC,gBAAgB,CAyBrC,CAAC"}
1
+ {"version":3,"file":"BKJComboBoxAsync.utils.d.ts","sourceRoot":"","sources":["../../../src/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAG3F,eAAO,MAAM,YAAY,GAAa,QAAQ,uBAAuB,GAAG,IAAI,KAAG,MAE9E,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAAmB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,EACvD,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,wBAAgB,gBAAgB,IAAI;IAClC,SAAS,EAAE,KAAK,CACZ,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,GACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAChE,CAAC;CACH,CAsDA;AAED,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,sBAAsB,CAAC,QAAQ,CAAC,EACxC,WAAW,OAAO,KACjB,kBAAkB,CAAC,gBAAgB,CAyBrC,CAAC"}
@@ -3,6 +3,20 @@ export const itemToString = function (option) {
3
3
  return typeof option?.label === 'string' ? option?.label : '';
4
4
  };
5
5
  export const optionsVariant = 'Search';
6
+ /**
7
+ * WEB-4815 / FR-011a: resolves the results-count announcement text from
8
+ * either a function (called with `count`), a template string (with `{N}`
9
+ * substituted), or the English singular/plural default.
10
+ */
11
+ export function resolveResultsCountLabel(label, count) {
12
+ if (typeof label === 'function')
13
+ return label(count);
14
+ if (typeof label === 'string')
15
+ return label.replace('{N}', String(count));
16
+ if (count === 1)
17
+ return '1 result found';
18
+ return `${count} results found`;
19
+ }
6
20
  export function getPopperOptions() {
7
21
  return {
8
22
  modifiers: [
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsync.utils.js","sourceRoot":"","sources":["../../../src/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BKJComboBoxAsync.utils.js","sourceRoot":"","sources":["../../../src/components/BKJComboBoxAsync/BKJComboBoxAsync.utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsync.context.d.ts","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,EAAE,EAAuD,MAAM,OAAO,CAAC;AAG/F,OAAO,EACL,6BAA6B,EAE7B,8BAA8B,EAC/B,MAAM,2BAA2B,CAAC;AA2BnC,eAAO,MAAM,uBAAuB,wDAAqD,CAAC;AAE1F,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,8BAA8B,CAkOvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,qCAA4C,CAAC"}
1
+ {"version":3,"file":"BKJComboBoxAsync.context.d.ts","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAiB,EAAE,EAAuD,MAAM,OAAO,CAAC;AAG/F,OAAO,EACL,6BAA6B,EAE7B,8BAA8B,EAC/B,MAAM,2BAA2B,CAAC;AAmCnC,eAAO,MAAM,uBAAuB,wDAAqD,CAAC;AAE1F,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,8BAA8B,CA8TvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,qCAA4C,CAAC"}
@@ -9,4 +9,52 @@ export declare function useBKJComboBoxAsyncContextHooks(): [
9
9
  setDropdownElement: Dispatch<SetStateAction<HTMLUListElement | undefined>>;
10
10
  }
11
11
  ];
12
+ /**
13
+ * WEB-4815 / FR-002 / FR-003 / FR-004 / FR-005 / FR-006 / R5:
14
+ * Derives the listbox `aria-busy` state and the live-region message for
15
+ * async loading / results-count announcements.
16
+ *
17
+ * Contract:
18
+ * - `isBusy` equals the consumer's `isLoading` flag (per R3 — does NOT
19
+ * consider `hasNextPage`).
20
+ * - On `isLoading` rising edge (false → true), a 1-second timer is armed.
21
+ * If the timer fires while the dropdown is still open, the `liveMessage`
22
+ * is set to the loadingLabel. The timer is NOT reset by subsequent
23
+ * keystrokes / superseded fetches — it anchors to the first in-flight
24
+ * fetch of a wait period (per Q3 clarification + Edge Case "steady
25
+ * typing").
26
+ * - On `isLoading` falling edge (true → false):
27
+ * - If `optionsCount > 0`: `liveMessage` is replaced with the
28
+ * results-count message on every non-superseded resolve (including
29
+ * cache-hit resolves where the options are identical — per Q4 / FR-004).
30
+ * - If `optionsCount === 0`: `liveMessage` is cleared; the empty state
31
+ * is conveyed by the in-listbox NoResults element (per Q2 / I-A05),
32
+ * NOT by a live-region announcement.
33
+ * - If the dropdown closes during a busy period, the live region unmounts
34
+ * and any armed timer is cleaned up (per FR-006 / I-A08).
35
+ * - If `isOpen` is false when `isLoading` transitions, no announcement is
36
+ * produced; the pending results-count write is suppressed.
37
+ */
38
+ export interface UseLoadingAnnouncerInput {
39
+ isLoading: boolean;
40
+ isOpen: boolean;
41
+ optionsCount: number;
42
+ labels: {
43
+ loadingLabel?: string;
44
+ resultsCountLabel?: string | ((count: number) => string);
45
+ };
46
+ }
47
+ export interface UseLoadingAnnouncerOutput {
48
+ liveMessage: string;
49
+ isBusy: boolean;
50
+ }
51
+ export declare function useLoadingAnnouncer({ isLoading, isOpen, optionsCount, labels, }: UseLoadingAnnouncerInput): UseLoadingAnnouncerOutput;
52
+ /**
53
+ * WEB-4815 / R1: exposes the i18next-based fallback for callers that need
54
+ * to resolve the NoResults text when the consumer has not supplied
55
+ * `noResultsLabel`. Kept here so the i18next import lives next to its only
56
+ * remaining consumer and the dependency can be removed with a single file
57
+ * change in the future cleanup ticket.
58
+ */
59
+ export declare function resolveNoResultsLabel(noResultsLabel: string | undefined): string;
12
60
  //# sourceMappingURL=BKJComboBoxAsync.context.hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsync.context.hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAqB,MAAM,OAAO,CAAC;AAEpE,wBAAgB,+BAA+B,IAAI;IACjD;QACE,aAAa,CAAC,EAAE,gBAAgB,CAAC;QACjC,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACpC;IACD;QACE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC;QACzE,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC;KAC5E;CACF,CAWA"}
1
+ {"version":3,"file":"BKJComboBoxAsync.context.hooks.d.ts","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAwC,MAAM,OAAO,CAAC;AAIvF,wBAAgB,+BAA+B,IAAI;IACjD;QACE,aAAa,CAAC,EAAE,gBAAgB,CAAC;QACjC,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACpC;IACD;QACE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC;QACzE,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC;KAC5E;CACF,CAWA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;KAC1D,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAKD,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,MAAM,EACN,YAAY,EACZ,MAAM,GACP,EAAE,wBAAwB,GAAG,yBAAyB,CAqFtD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGhF"}
@@ -1,4 +1,6 @@
1
- import { useMemo, useState } from 'react';
1
+ import { useEffect, useMemo, useRef, useState } from 'react';
2
+ import i18next from 'i18next';
3
+ import { resolveResultsCountLabel } from '../BKJComboBoxAsync.utils.js';
2
4
  export function useBKJComboBoxAsyncContextHooks() {
3
5
  const [anchorElement, setAnchorElement] = useState();
4
6
  const [dropdownElement, setDropdownElement] = useState();
@@ -6,4 +8,100 @@ export function useBKJComboBoxAsyncContextHooks() {
6
8
  const setMethods = useMemo(() => ({ setAnchorElement, setDropdownElement }), []);
7
9
  return [values, setMethods];
8
10
  }
11
+ const LOADING_ANNOUNCEMENT_DELAY_MS = 1000;
12
+ const DEFAULT_LOADING_LABEL = 'Loading results…';
13
+ export function useLoadingAnnouncer({ isLoading, isOpen, optionsCount, labels, }) {
14
+ const [liveMessage, setLiveMessage] = useState('');
15
+ const timerRef = useRef(null);
16
+ const firedRef = useRef(false);
17
+ const isOpenRef = useRef(isOpen);
18
+ const prevIsLoadingRef = useRef(isLoading);
19
+ // Keep isOpenRef synchronised so the timer callback can read the latest
20
+ // value without stale-closure bugs (per R5).
21
+ useEffect(() => {
22
+ isOpenRef.current = isOpen;
23
+ }, [isOpen]);
24
+ // When the dropdown closes, cancel any pending announcement (FR-006).
25
+ useEffect(() => {
26
+ if (!isOpen) {
27
+ if (timerRef.current) {
28
+ clearTimeout(timerRef.current);
29
+ timerRef.current = null;
30
+ }
31
+ firedRef.current = false;
32
+ setLiveMessage('');
33
+ }
34
+ }, [isOpen]);
35
+ // Observe isLoading transitions. Rising edge arms the 1s timer; falling
36
+ // edge clears the timer and (when dropdown still open) writes the
37
+ // results-count message for non-empty resolves.
38
+ useEffect(() => {
39
+ const prev = prevIsLoadingRef.current;
40
+ prevIsLoadingRef.current = isLoading;
41
+ if (!prev && isLoading) {
42
+ // Rising edge: start the 1s timer (per R5).
43
+ if (!timerRef.current && !firedRef.current) {
44
+ timerRef.current = setTimeout(() => {
45
+ timerRef.current = null;
46
+ if (!isOpenRef.current)
47
+ return; // Closed during fetch — suppress (FR-006).
48
+ if (firedRef.current)
49
+ return;
50
+ firedRef.current = true;
51
+ setLiveMessage(labels.loadingLabel ?? DEFAULT_LOADING_LABEL);
52
+ }, LOADING_ANNOUNCEMENT_DELAY_MS);
53
+ }
54
+ return;
55
+ }
56
+ if (prev && !isLoading) {
57
+ // Falling edge: clear timer, reset fired-flag, announce results.
58
+ if (timerRef.current) {
59
+ clearTimeout(timerRef.current);
60
+ timerRef.current = null;
61
+ }
62
+ firedRef.current = false;
63
+ if (!isOpenRef.current) {
64
+ setLiveMessage('');
65
+ return;
66
+ }
67
+ if (optionsCount > 0) {
68
+ // Non-empty resolve: announce results count on EVERY resolve
69
+ // (no cache-hit suppression, per Q4 / I-A04).
70
+ setLiveMessage(resolveResultsCountLabel(labels.resultsCountLabel, optionsCount));
71
+ }
72
+ else {
73
+ // Empty resolve: clear any stale loading message. No live-region
74
+ // "No results" announcement — the in-listbox element conveys it
75
+ // (per Q2 / I-A05).
76
+ setLiveMessage('');
77
+ }
78
+ }
79
+ }, [isLoading, optionsCount, labels.loadingLabel, labels.resultsCountLabel]);
80
+ // Cleanup on unmount.
81
+ useEffect(() => {
82
+ return () => {
83
+ if (timerRef.current) {
84
+ clearTimeout(timerRef.current);
85
+ timerRef.current = null;
86
+ }
87
+ };
88
+ }, []);
89
+ // WEB-4815 / FR-002 / FR-006 / I-A08: aria-busy is meaningful only while
90
+ // the listbox is open (the only time AT can observe it). Gating isBusy
91
+ // on isOpen also ensures no stuck aria-busy="true" after dropdown close
92
+ // during a still-in-flight fetch.
93
+ return { liveMessage, isBusy: isLoading && isOpen };
94
+ }
95
+ /**
96
+ * WEB-4815 / R1: exposes the i18next-based fallback for callers that need
97
+ * to resolve the NoResults text when the consumer has not supplied
98
+ * `noResultsLabel`. Kept here so the i18next import lives next to its only
99
+ * remaining consumer and the dependency can be removed with a single file
100
+ * change in the future cleanup ticket.
101
+ */
102
+ export function resolveNoResultsLabel(noResultsLabel) {
103
+ if (typeof noResultsLabel === 'string' && noResultsLabel.length > 0)
104
+ return noResultsLabel;
105
+ return i18next.t('translations:NO_RESULTS');
106
+ }
9
107
  //# sourceMappingURL=BKJComboBoxAsync.context.hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsync.context.hooks.js","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpE,MAAM,UAAU,+BAA+B;IAU7C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAoB,CAAC;IACvE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAoB,CAAC;IAE3E,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,EAC1C,CAAC,aAAa,EAAE,eAAe,CAAC,CACjC,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjF,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"BKJComboBoxAsync.context.hooks.js","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.hooks.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,7 @@ import { createContext, useCallback, useContext, useEffect, useMemo, useRef } fr
4
4
  import { useVirtual } from 'react-virtual';
5
5
  import { isNumber } from '../../../common.types.js';
6
6
  import { itemToString } from '../BKJComboBoxAsync.utils.js';
7
- import { useBKJComboBoxAsyncContextHooks } from './BKJComboBoxAsync.context.hooks.js';
8
- import i18next from 'i18next';
7
+ import { resolveNoResultsLabel, useBKJComboBoxAsyncContextHooks, useLoadingAnnouncer, } from './BKJComboBoxAsync.context.hooks.js';
9
8
  const loadElement = (name) => ({
10
9
  type: 'Loader',
11
10
  id: 'Loader',
@@ -15,17 +14,23 @@ const loadElement = (name) => ({
15
14
  disabled: true,
16
15
  label: 'Loader',
17
16
  });
18
- const noResultsElement = (name) => ({
19
- type: 'NoResults',
20
- id: 'No Results',
21
- value: i18next.t('translations:NO_RESULTS'),
22
- key: 'No Results',
23
- name,
24
- disabled: true,
25
- label: i18next.t('translations:NO_RESULTS'),
26
- });
17
+ // WEB-4815 / R1: noResultsLabel overrides the existing i18next fallback
18
+ // when provided; when undefined, i18next.t('translations:NO_RESULTS') is
19
+ // used unchanged so French-locale consumers retain their translated text.
20
+ const noResultsElement = (name, noResultsLabel) => {
21
+ const text = resolveNoResultsLabel(noResultsLabel);
22
+ return {
23
+ type: 'NoResults',
24
+ id: 'No Results',
25
+ value: text,
26
+ key: 'No Results',
27
+ name,
28
+ disabled: true,
29
+ label: text,
30
+ };
31
+ };
27
32
  export const BKJComboBoxAsyncContext = createContext({});
28
- export const BKJComboBoxAsyncProvider = ({ icon, type, name, value, label, error, action, variant, options: __options__ = [], context, disabled, onChange, children, required, searchKey, placeholder, searchValue, onSearchChange, portalTargetElement, subLabelPosition, }) => {
33
+ export const BKJComboBoxAsyncProvider = ({ icon, type, name, value, label, error, action, variant, options: __options__ = [], context, disabled, onChange, children, required, searchKey, placeholder, searchValue, onSearchChange, portalTargetElement, subLabelPosition, loadingLabel, resultsCountLabel, noResultsLabel, }) => {
29
34
  const { pageInfo, isLoading } = useContext(context);
30
35
  const hasNextPage = pageInfo?.hasNextPage;
31
36
  const [{ anchorElement, dropdownElement }, { setAnchorElement, setDropdownElement }] = useBKJComboBoxAsyncContextHooks();
@@ -35,11 +40,11 @@ export const BKJComboBoxAsyncProvider = ({ icon, type, name, value, label, error
35
40
  if (hasNextPage || isLoading)
36
41
  __o__ = __o__.concat(loadElement(name));
37
42
  if (__o__.length === 0)
38
- __o__ = [noResultsElement(name)].concat(__o__);
43
+ __o__ = [noResultsElement(name, noResultsLabel)].concat(__o__);
39
44
  return __o__.map((opts, index) => {
40
45
  return { ...opts, index };
41
46
  });
42
- }, [__options__, hasNextPage, isLoading, name]);
47
+ }, [__options__, hasNextPage, isLoading, name, noResultsLabel]);
43
48
  const parentRef = useRef(null);
44
49
  const rowVirtualizer = useVirtual({
45
50
  size: options.length,
@@ -51,19 +56,44 @@ export const BKJComboBoxAsyncProvider = ({ icon, type, name, value, label, error
51
56
  itemToString,
52
57
  items: options,
53
58
  initialSelectedItem: value,
59
+ // WEB-4815 / T031 / FR-005b (inherited from WEB-4811 FR-005b): on every
60
+ // open transition, highlight the selected option (if any) or the first
61
+ // real option (skipping Group / Loader / NoResults). Mirrors WEB-4811's
62
+ // stateReducer pattern in BKJComboBox.context.tsx.
63
+ stateReducer: (state, actionAndChanges) => {
64
+ const { changes } = actionAndChanges;
65
+ const isOpening = !state.isOpen && changes.isOpen === true;
66
+ if (isOpening && (changes.highlightedIndex ?? -1) < 0) {
67
+ const activeSelectedItem = changes.selectedItem ?? state.selectedItem;
68
+ const selectedIdx = activeSelectedItem
69
+ ? options.findIndex((opt) => String(opt.value) === String(activeSelectedItem.value))
70
+ : -1;
71
+ const firstRealIdx = options.findIndex((opt) => !['Group', 'Loader', 'NoResults'].includes(opt.type));
72
+ const desired = selectedIdx >= 0 ? selectedIdx : firstRealIdx;
73
+ return { ...changes, highlightedIndex: desired };
74
+ }
75
+ return changes;
76
+ },
54
77
  scrollIntoView: () => void 0,
55
78
  onHighlightedIndexChange: ({ highlightedIndex: __i__ = 0, type }) => {
56
- const highlightedItem = options[__i__];
79
+ // WEB-4815 / T025 / I-A06: walk past Group/Loader/NoResults rows
80
+ // in the arrow direction. If no real option is reachable (e.g.,
81
+ // the listbox contains only NoResults), set INDEX = -1 so
82
+ // aria-activedescendant does not reference a non-selectable row.
83
+ // Previous implementation wrapped to 0, which landed on the
84
+ // NoResults row when it was the only entry — violated I-A06.
85
+ const SKIP_TYPES = ['Group', 'Loader', 'NoResults'];
57
86
  let INDEX = __i__;
58
- if (highlightedItem) {
59
- if (['Group', 'Loader', 'NoResults'].includes(highlightedItem.type)) {
60
- if (type === '__input_keydown_arrow_down__')
61
- INDEX = __i__ + 1;
62
- if (type === '__input_keydown_arrow_up__')
63
- INDEX = __i__ - 1;
64
- if (INDEX > options.length - 1)
65
- INDEX = 0;
87
+ const highlightedItem = options[__i__];
88
+ if (highlightedItem && SKIP_TYPES.includes(highlightedItem.type)) {
89
+ const direction = type === '__input_keydown_arrow_up__' ? -1 : 1;
90
+ let probe = __i__ + direction;
91
+ while (probe >= 0 &&
92
+ probe < options.length &&
93
+ SKIP_TYPES.includes(options[probe].type)) {
94
+ probe += direction;
66
95
  }
96
+ INDEX = probe >= 0 && probe < options.length ? probe : -1;
67
97
  }
68
98
  if (isNumber(INDEX) && INDEX >= 0) {
69
99
  rowVirtualizer.scrollToIndex(INDEX);
@@ -114,12 +144,49 @@ export const BKJComboBoxAsyncProvider = ({ icon, type, name, value, label, error
114
144
  }
115
145
  },
116
146
  });
147
+ // WEB-4815 / T011 / FR-002 / FR-003 / FR-004: derives aria-busy and the
148
+ // live-region message for loading / results-count announcements.
149
+ // optionsCount reads from __options__ (real consumer data) not from the
150
+ // memoised options array which contains synthetic Loader / NoResults rows.
151
+ const { liveMessage, isBusy } = useLoadingAnnouncer({
152
+ isLoading: !!isLoading,
153
+ isOpen,
154
+ optionsCount: __options__.length,
155
+ labels: { loadingLabel, resultsCountLabel },
156
+ });
117
157
  const handleInputFocus = useCallback(openMenu, [openMenu]);
158
+ // WEB-4815 / T032 / FR-005 (inherited): audit outcome.
159
+ //
160
+ // Pre-WEB-4815, this handler blurred the input on Escape+empty-search and
161
+ // Enter+empty-search, causing Downshift's InputBlur to commit the
162
+ // highlighted item. That silent commit was harmless before because
163
+ // highlightedIndex was -1 on open (no highlight to commit). Now that the
164
+ // WEB-4815 stateReducer implements the initial-highlight rule (FR-005b),
165
+ // the first option is highlighted on open, and the blur-on-Escape
166
+ // becomes a latent bug: pressing Escape commits the highlighted option
167
+ // (violates FR-005 — Escape must not change selection).
168
+ //
169
+ // Resolution: keep the async search-clearing UX (first Escape clears the
170
+ // search, second closes — product contract), but:
171
+ // - Escape path: do NOT blur. closeMenu() alone keeps focus on the
172
+ // input (WAI-ARIA APG editable combobox pattern) and prevents the
173
+ // spurious blur-commit.
174
+ // - Enter path: keep blur() — Enter SHOULD commit the highlighted
175
+ // option, and Downshift's InputBlur-commit is how that happens.
118
176
  const handleInputKeyDown = useCallback(({ key, nativeEvent }) => {
119
177
  switch (action) {
120
178
  case 'OpenToggle':
121
179
  switch (key) {
122
180
  case 'Escape':
181
+ nativeEvent.preventDownshiftDefault = true;
182
+ if (isOpen && searchValue !== '')
183
+ onSearchChange({ target: { value: '', name: searchKey } });
184
+ if (isOpen && searchValue === '') {
185
+ closeMenu();
186
+ // No blur — WEB-4815 / FR-005: Escape must not commit
187
+ // the highlighted option.
188
+ }
189
+ break;
123
190
  case 'Enter':
124
191
  nativeEvent.preventDownshiftDefault = true;
125
192
  if (isOpen && searchValue !== '')
@@ -136,11 +203,22 @@ export const BKJComboBoxAsyncProvider = ({ icon, type, name, value, label, error
136
203
  }
137
204
  }
138
205
  }, [action, anchorElement, closeMenu, isOpen, onSearchChange, searchKey, searchValue]);
206
+ // WEB-4815: filter-auto-highlight effect. Previously this set
207
+ // highlightedIndex=0 when searchValue was non-empty and index was -1,
208
+ // which forced the NoResults row to be highlighted when it was the
209
+ // only entry (violates I-A06 — feedback loop with onHighlightedIndexChange).
210
+ // Now we only auto-highlight the FIRST REAL option's index, or leave
211
+ // highlightedIndex at -1 if the options contain no real selectable rows.
139
212
  useEffect(() => {
140
- if (options.length === 0)
213
+ if (options.length === 0) {
141
214
  setHighlightedIndex(-1);
142
- else if (searchValue !== '' && highlightedIndex === -1 && options.length > 0)
143
- setHighlightedIndex(0);
215
+ return;
216
+ }
217
+ if (searchValue !== '' && highlightedIndex === -1) {
218
+ const firstRealIdx = options.findIndex((opt) => !['Group', 'Loader', 'NoResults'].includes(opt.type));
219
+ if (firstRealIdx >= 0)
220
+ setHighlightedIndex(firstRealIdx);
221
+ }
144
222
  }, [highlightedIndex, options, searchValue, setHighlightedIndex]);
145
223
  return (_jsx(BKJComboBoxAsyncContext.Provider, { value: {
146
224
  type,
@@ -185,6 +263,9 @@ export const BKJComboBoxAsyncProvider = ({ icon, type, name, value, label, error
185
263
  onInputKeyDown: handleInputKeyDown,
186
264
  leftIconProps: icon ? { iconName: icon } : undefined,
187
265
  subLabelPosition,
266
+ liveMessage,
267
+ isBusy,
268
+ noResultsLabel,
188
269
  }, children: children }));
189
270
  };
190
271
  export const useBKJComboBoxAsyncContext = () => useContext(BKJComboBoxAsyncContext);
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsync.context.js","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BKJComboBoxAsync.context.js","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsync.context.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BKJComboBoxAsyncInput.d.ts","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsyncInput.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQnE,eAAO,MAAM,qBAAqB;mBAGf,IAAI,GAAG,KAAK;gBACf,MAAM;gBACN,sBAAsB,CAAC,WAAW,CAAC;0BACzB,OAAO;oDAyF/B,CAAC"}
1
+ {"version":3,"file":"BKJComboBoxAsyncInput.d.ts","sourceRoot":"","sources":["../../../../src/components/BKJComboBoxAsync/src/BKJComboBoxAsyncInput.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQnE,eAAO,MAAM,qBAAqB;mBAGf,IAAI,GAAG,KAAK;gBACf,MAAM;gBACN,sBAAsB,CAAC,WAAW,CAAC;0BACzB,OAAO;oDAsH/B,CAAC"}