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