@entur/dropdown 8.0.5 → 8.0.7-beta.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.
@@ -498,40 +498,41 @@ function getA11yStatusMessage(options) {
498
498
  return `${resultCountWithoutSelectAll} resultat${resultCountWithoutSelectAll === 1 ? "" : "er"} tilgjengelig, naviger med pil opp eller ned, velg elementer med Enter.`;
499
499
  }
500
500
  const SearchableDropdown = React.forwardRef(
501
- ({
502
- ariaLabelChosenSingular,
503
- ariaLabelCloseList = "Lukk liste med valg",
504
- ariaLabelOpenList = "Åpne liste med valg",
505
- ariaLabelSelectedItem,
506
- className,
507
- clearable = true,
508
- debounceTimeout,
509
- disabled = false,
510
- disableLabelAnimation = false,
511
- feedback,
512
- items: initialItems,
513
- itemFilter = isFunctionWithQueryArgument(initialItems) ? noFilter : lowerCaseFilterTest,
514
- label,
515
- labelClearSelectedItem = "fjern valgt",
516
- labelTooltip,
517
- listStyle,
518
- loading,
519
- loadingText = "Laster resultater …",
520
- noMatchesText = "Ingen tilgjengelige valg …",
521
- onChange = () => void 0,
522
- placeholder,
523
- prepend,
524
- readOnly = false,
525
- selectedItem: value,
526
- selectOnTab = false,
527
- style,
528
- variant = "info",
529
- onBlur,
530
- onClick,
531
- onKeyDown,
532
- onFocus,
533
- ...rest
534
- }, ref) => {
501
+ (props, ref) => {
502
+ const {
503
+ ariaLabelChosenSingular,
504
+ ariaLabelCloseList = "Lukk liste med valg",
505
+ ariaLabelOpenList = "Åpne liste med valg",
506
+ ariaLabelSelectedItem,
507
+ className,
508
+ clearable = true,
509
+ debounceTimeout,
510
+ disabled = false,
511
+ disableLabelAnimation = false,
512
+ feedback,
513
+ items: initialItems,
514
+ itemFilter = isFunctionWithQueryArgument(initialItems) ? noFilter : lowerCaseFilterTest,
515
+ label,
516
+ labelClearSelectedItem = "fjern valgt",
517
+ labelTooltip,
518
+ listStyle,
519
+ loading,
520
+ loadingText = "Laster resultater …",
521
+ noMatchesText = "Ingen tilgjengelige valg …",
522
+ onChange = () => void 0,
523
+ placeholder,
524
+ prepend,
525
+ readOnly = false,
526
+ selectedItem: value,
527
+ selectOnTab = false,
528
+ style,
529
+ variant = "info",
530
+ onBlur,
531
+ onClick,
532
+ onKeyDown,
533
+ onFocus,
534
+ ...rest
535
+ } = props;
535
536
  const [showSelectedItem, setShowSelectedItem] = useState(value !== null);
536
537
  const [lastHighlightedIndex, setLastHighlightedIndex] = useState(0);
537
538
  const inputRef = useRef(null);
@@ -807,47 +808,48 @@ const SearchableDropdown = React.forwardRef(
807
808
  }
808
809
  );
809
810
  const MultiSelect = React.forwardRef(
810
- ({
811
- className,
812
- clearable = true,
813
- clearInputOnSelect = false,
814
- debounceTimeout,
815
- disabled = false,
816
- disableLabelAnimation,
817
- feedback,
818
- hideSelectAll = false,
819
- items: initialItems,
820
- itemFilter = isFunctionWithQueryArgument(initialItems) ? noFilter : lowerCaseFilterTest,
821
- label,
822
- labelAllItemsSelected = "Alle valgt",
823
- labelClearAllItems = "Fjern valgte",
824
- labelSelectAll = "Velg alle",
825
- labelTooltip,
826
- listStyle,
827
- loading,
828
- loadingText = "Laster resultater …",
829
- maxChips = 10,
830
- noMatchesText,
831
- onChange = () => void 0,
832
- placeholder,
833
- readOnly = false,
834
- selectedItems = [],
835
- selectOnTab = false,
836
- style,
837
- variant = "information",
838
- ariaLabelChosenSingular,
839
- ariaLabelChosenPlural = "valgte",
840
- ariaLabelCloseList = "Lukk liste med valg",
841
- ariaLabelJumpToInput = `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`,
842
- ariaLabelOpenList = "Åpne liste med valg",
843
- ariaLabelRemoveSelected = "trykk for å fjerne valg",
844
- ariaLabelSelectedItem,
845
- onBlur,
846
- onClick,
847
- onKeyDown,
848
- onFocus,
849
- ...rest
850
- }, ref) => {
811
+ (props, ref) => {
812
+ const {
813
+ className,
814
+ clearable = true,
815
+ clearInputOnSelect = false,
816
+ debounceTimeout,
817
+ disabled = false,
818
+ disableLabelAnimation,
819
+ feedback,
820
+ hideSelectAll = false,
821
+ items: initialItems,
822
+ itemFilter = isFunctionWithQueryArgument(initialItems) ? noFilter : lowerCaseFilterTest,
823
+ label,
824
+ labelAllItemsSelected = "Alle valgt",
825
+ labelClearAllItems = "Fjern valgte",
826
+ labelSelectAll = "Velg alle",
827
+ labelTooltip,
828
+ listStyle,
829
+ loading,
830
+ loadingText = "Laster resultater …",
831
+ maxChips = 10,
832
+ noMatchesText,
833
+ onChange = () => void 0,
834
+ placeholder,
835
+ readOnly = false,
836
+ selectedItems = [],
837
+ selectOnTab = false,
838
+ style,
839
+ variant = "information",
840
+ ariaLabelChosenSingular,
841
+ ariaLabelChosenPlural = "valgte",
842
+ ariaLabelCloseList = "Lukk liste med valg",
843
+ ariaLabelJumpToInput = `${selectedItems.length} valgte elementer, trykk for å hoppe til tekstfeltet`,
844
+ ariaLabelOpenList = "Åpne liste med valg",
845
+ ariaLabelRemoveSelected = "trykk for å fjerne valg",
846
+ ariaLabelSelectedItem,
847
+ onBlur,
848
+ onClick,
849
+ onKeyDown,
850
+ onFocus,
851
+ ...rest
852
+ } = props;
851
853
  const [lastHighlightedIndex, setLastHighlightedIndex] = React.useState(0);
852
854
  const inputRef = useRef(null);
853
855
  useEffect(() => {
@@ -1200,36 +1202,38 @@ const MultiSelect = React.forwardRef(
1200
1202
  }
1201
1203
  );
1202
1204
  const Dropdown = React.forwardRef(
1203
- ({
1204
- ariaLabelChosenSingular,
1205
- ariaLabelCloseList = "Lukk liste med valg",
1206
- ariaLabelOpenList = "Åpne liste med valg",
1207
- ariaLabelSelectedItem,
1208
- className,
1209
- clearable,
1210
- disabled = false,
1211
- disableLabelAnimation,
1212
- feedback,
1213
- items: initialItems,
1214
- label,
1215
- labelClearSelectedItem = "fjern valgt",
1216
- labelTooltip,
1217
- listStyle,
1218
- loading,
1219
- loadingText = "Laster resultater …",
1220
- noMatchesText = "Ingen tilgjengelige valg …",
1221
- onChange,
1222
- placeholder,
1223
- prepend,
1224
- readOnly = false,
1225
- selectedItem,
1226
- selectOnTab = false,
1227
- style,
1228
- variant = "information",
1229
- ...rest
1230
- }, ref) => {
1205
+ (props, ref) => {
1206
+ const {
1207
+ ariaLabelChosenSingular,
1208
+ ariaLabelCloseList = "Lukk liste med valg",
1209
+ ariaLabelOpenList = "Åpne liste med valg",
1210
+ ariaLabelSelectedItem,
1211
+ className,
1212
+ clearable,
1213
+ disabled = false,
1214
+ disableLabelAnimation,
1215
+ feedback,
1216
+ items: initialItems,
1217
+ label,
1218
+ labelClearSelectedItem = "fjern valgt",
1219
+ labelTooltip,
1220
+ listStyle,
1221
+ loading,
1222
+ loadingText = "Laster resultater …",
1223
+ noMatchesText = "Ingen tilgjengelige valg …",
1224
+ onChange,
1225
+ placeholder,
1226
+ prepend,
1227
+ readOnly = false,
1228
+ selectedItem,
1229
+ selectOnTab = false,
1230
+ style,
1231
+ variant = "information",
1232
+ ...rest
1233
+ } = props;
1231
1234
  const { items: normalizedItems, loading: resolvedItemsLoading } = useResolvedItems(initialItems);
1232
1235
  const isFilled = selectedItem !== null || placeholder !== void 0;
1236
+ let floatingRefs;
1233
1237
  const {
1234
1238
  isOpen,
1235
1239
  getItemProps,
@@ -1244,7 +1248,7 @@ const Dropdown = React.forwardRef(
1244
1248
  defaultHighlightedIndex: selectedItem ? void 0 : 0,
1245
1249
  selectedItem,
1246
1250
  stateReducer(state, { changes, type }) {
1247
- const toggleButtonIsFocused = typeof document !== "undefined" && document.activeElement === refs.reference.current;
1251
+ const toggleButtonIsFocused = typeof document !== "undefined" && document.activeElement === floatingRefs?.reference.current;
1248
1252
  switch (type) {
1249
1253
  case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowDown:
1250
1254
  case useSelect.stateChangeTypes.ToggleButtonKeyDownArrowUp:
@@ -1277,6 +1281,7 @@ const Dropdown = React.forwardRef(
1277
1281
  flip({ fallbackStrategy: "initialPlacement" })
1278
1282
  ]
1279
1283
  });
1284
+ floatingRefs = refs;
1280
1285
  useLayoutEffect(() => {
1281
1286
  if (isOpen && refs.reference.current && refs.floating.current) {
1282
1287
  return autoUpdate(