@redsift/design-system 8.0.6 → 8.1.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.
package/index.js CHANGED
@@ -1,12 +1,15 @@
1
- import { I18nProvider, useLocalizedStringFormatter, useFocusRing, useNumberFormatter, useFocusWithin } from 'react-aria';
2
- export { I18nProvider, SSRProvider } from 'react-aria';
1
+ import { I18nProvider, useLocalizedStringFormatter, useNumberFormatter } from '@react-aria/i18n';
2
+ export { I18nProvider, useCollator, useDateFormatter, useFilter, useListFormatter, useLocale, useLocalizedStringFormatter, useNumberFormatter } from '@react-aria/i18n';
3
+ export { SSRProvider, useIsSSR } from '@react-aria/ssr';
3
4
  import * as React from 'react';
4
- import React__default, { useState, useEffect, useContext, useMemo, useRef, useCallback, forwardRef, useReducer, useLayoutEffect, useId as useId$1 } from 'react';
5
+ import React__default, { useState, useEffect, forwardRef, useMemo, useContext, useRef, useCallback, useReducer, useLayoutEffect, useId as useId$1 } from 'react';
5
6
  import classNames from 'classnames';
6
- import { mdiClose, mdiAlert, mdiCheckCircle, mdiAlertCircle, mdiInformation, mdiMenu, mdiMenuOpen, mdiChevronDown, mdiChevronRight, mdiChevronUp, mdiCheckboxMarked, mdiMinusBox, mdiCheckboxBlankOutline, mdiPageLast, mdiKeyboardCaps, mdiRadioboxMarked, mdiRadioboxBlank } from '@redsift/icons';
7
+ import { mdiClose as mdiClose$1, mdiAlert, mdiCheckCircle, mdiAlertCircle, mdiInformation, mdiMenu, mdiMenuOpen, mdiChevronDown, mdiChevronRight, mdiChevronUp, mdiCheckboxMarked, mdiMinusBox, mdiCheckboxBlankOutline, mdiPageLast, mdiKeyboardCaps, mdiRadioboxMarked, mdiRadioboxBlank } from '@redsift/icons';
7
8
  import styled, { css, keyframes } from 'styled-components';
9
+ import { useFocusRing } from '@react-aria/focus';
8
10
  import * as ReactDOM from 'react-dom';
9
11
  import { createPortal } from 'react-dom';
12
+ import { useFocusWithin } from '@react-aria/interactions';
10
13
 
11
14
  /**
12
15
  * Font.
@@ -557,799 +560,6 @@ const useBoundingClientRect = (ref, deps) => {
557
560
  return boundingRect;
558
561
  };
559
562
 
560
- /*
561
- * Copyright 2020 Adobe. All rights reserved.
562
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
563
- * you may not use this file except in compliance with the License. You may obtain a copy
564
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
565
- *
566
- * Unless required by applicable law or agreed to in writing, software distributed under
567
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
568
- * OF ANY KIND, either express or implied. See the License for the specific language
569
- * governing permissions and limitations under the License.
570
- */ /*
571
- * Copyright 2020 Adobe. All rights reserved.
572
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
573
- * you may not use this file except in compliance with the License. You may obtain a copy
574
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
575
- *
576
- * Unless required by applicable law or agreed to in writing, software distributed under
577
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
578
- * OF ANY KIND, either express or implied. See the License for the specific language
579
- * governing permissions and limitations under the License.
580
- */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is
581
- // guarded by a check that it only runs on the client side.
582
- // eslint-disable-next-line rulesdir/useLayoutEffectRule
583
-
584
- // Default context value to use in case there is no SSRProvider. This is fine for
585
- // client-only apps. In order to support multiple copies of React Aria potentially
586
- // being on the page at once, the prefix is set to a random number. SSRProvider
587
- // will reset this to zero for consistency between server and client, so in the
588
- // SSR case multiple copies of React Aria is not supported.
589
- const $704cf1d3b684cc5c$var$defaultContext = {
590
- prefix: String(Math.round(Math.random() * 10000000000)),
591
- current: 0,
592
- isSSR: false
593
- };
594
- const $704cf1d3b684cc5c$var$SSRContext = /*#__PURE__*/ (React__default).createContext($704cf1d3b684cc5c$var$defaultContext);
595
- function $704cf1d3b684cc5c$export$535bd6ca7f90a273() {
596
- let cur = (useContext)($704cf1d3b684cc5c$var$SSRContext);
597
- return cur.isSSR;
598
- }
599
-
600
- /*
601
- * Copyright 2022 Adobe. All rights reserved.
602
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
603
- * you may not use this file except in compliance with the License. You may obtain a copy
604
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
605
- *
606
- * Unless required by applicable law or agreed to in writing, software distributed under
607
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
608
- * OF ANY KIND, either express or implied. See the License for the specific language
609
- * governing permissions and limitations under the License.
610
- */ /*
611
- * Copyright 2022 Adobe. All rights reserved.
612
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
613
- * you may not use this file except in compliance with the License. You may obtain a copy
614
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
615
- *
616
- * Unless required by applicable law or agreed to in writing, software distributed under
617
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
618
- * OF ANY KIND, either express or implied. See the License for the specific language
619
- * governing permissions and limitations under the License.
620
- */ class $5b160d28a433310d$export$c17fa47878dc55b6 {
621
- /** Returns a localized string for the given key and locale. */ getStringForLocale(key, locale) {
622
- let strings = this.strings[locale];
623
- if (!strings) {
624
- strings = $5b160d28a433310d$var$getStringsForLocale(locale, this.strings, this.defaultLocale);
625
- this.strings[locale] = strings;
626
- }
627
- let string = strings[key];
628
- if (!string) throw new Error(`Could not find intl message ${key} in ${locale} locale`);
629
- return string;
630
- }
631
- constructor(messages, defaultLocale = "en-US"){
632
- // Clone messages so we don't modify the original object.
633
- this.strings = {
634
- ...messages
635
- };
636
- this.defaultLocale = defaultLocale;
637
- }
638
- }
639
- function $5b160d28a433310d$var$getStringsForLocale(locale, strings, defaultLocale = "en-US") {
640
- // If there is an exact match, use it.
641
- if (strings[locale]) return strings[locale];
642
- // Attempt to find the closest match by language.
643
- // For example, if the locale is fr-CA (French Canadian), but there is only
644
- // an fr-FR (France) set of strings, use that.
645
- // This could be replaced with Intl.LocaleMatcher once it is supported.
646
- // https://github.com/tc39/proposal-intl-localematcher
647
- let language = $5b160d28a433310d$var$getLanguage(locale);
648
- if (strings[language]) return strings[language];
649
- for(let key in strings){
650
- if (key.startsWith(language + "-")) return strings[key];
651
- }
652
- // Nothing close, use english.
653
- return strings[defaultLocale];
654
- }
655
- function $5b160d28a433310d$var$getLanguage(locale) {
656
- // @ts-ignore
657
- if (Intl.Locale) // @ts-ignore
658
- return new Intl.Locale(locale).language;
659
- return locale.split("-")[0];
660
- }
661
-
662
-
663
- /*
664
- * Copyright 2022 Adobe. All rights reserved.
665
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
666
- * you may not use this file except in compliance with the License. You may obtain a copy
667
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
668
- *
669
- * Unless required by applicable law or agreed to in writing, software distributed under
670
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
671
- * OF ANY KIND, either express or implied. See the License for the specific language
672
- * governing permissions and limitations under the License.
673
- */ const $6db58dc88e78b024$var$pluralRulesCache = new Map();
674
- const $6db58dc88e78b024$var$numberFormatCache = new Map();
675
- class $6db58dc88e78b024$export$2f817fcdc4b89ae0 {
676
- /** Formats a localized string for the given key with the provided variables. */ format(key, variables) {
677
- let message = this.strings.getStringForLocale(key, this.locale);
678
- return typeof message === "function" ? message(variables, this) : message;
679
- }
680
- plural(count, options, type = "cardinal") {
681
- let opt = options["=" + count];
682
- if (opt) return typeof opt === "function" ? opt() : opt;
683
- let key = this.locale + ":" + type;
684
- let pluralRules = $6db58dc88e78b024$var$pluralRulesCache.get(key);
685
- if (!pluralRules) {
686
- pluralRules = new Intl.PluralRules(this.locale, {
687
- type: type
688
- });
689
- $6db58dc88e78b024$var$pluralRulesCache.set(key, pluralRules);
690
- }
691
- let selected = pluralRules.select(count);
692
- opt = options[selected] || options.other;
693
- return typeof opt === "function" ? opt() : opt;
694
- }
695
- number(value) {
696
- let numberFormat = $6db58dc88e78b024$var$numberFormatCache.get(this.locale);
697
- if (!numberFormat) {
698
- numberFormat = new Intl.NumberFormat(this.locale);
699
- $6db58dc88e78b024$var$numberFormatCache.set(this.locale, numberFormat);
700
- }
701
- return numberFormat.format(value);
702
- }
703
- select(options, value) {
704
- let opt = options[value] || options.other;
705
- return typeof opt === "function" ? opt() : opt;
706
- }
707
- constructor(locale, strings){
708
- this.locale = locale;
709
- this.strings = strings;
710
- }
711
- }
712
-
713
- /*
714
- * Copyright 2020 Adobe. All rights reserved.
715
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
716
- * you may not use this file except in compliance with the License. You may obtain a copy
717
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
718
- *
719
- * Unless required by applicable law or agreed to in writing, software distributed under
720
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
721
- * OF ANY KIND, either express or implied. See the License for the specific language
722
- * governing permissions and limitations under the License.
723
- */ let $fb18d541ea1ad717$var$formatterCache = new Map();
724
- class $fb18d541ea1ad717$export$ad991b66133851cf {
725
- /** Formats a date as a string according to the locale and format options passed to the constructor. */ format(value) {
726
- return this.formatter.format(value);
727
- }
728
- /** Formats a date to an array of parts such as separators, numbers, punctuation, and more. */ formatToParts(value) {
729
- return this.formatter.formatToParts(value);
730
- }
731
- /** Formats a date range as a string. */ formatRange(start, end) {
732
- // @ts-ignore
733
- if (typeof this.formatter.formatRange === "function") // @ts-ignore
734
- return this.formatter.formatRange(start, end);
735
- if (end < start) throw new RangeError("End date must be >= start date");
736
- // Very basic fallback for old browsers.
737
- return `${this.formatter.format(start)} – ${this.formatter.format(end)}`;
738
- }
739
- /** Formats a date range as an array of parts. */ formatRangeToParts(start, end) {
740
- // @ts-ignore
741
- if (typeof this.formatter.formatRangeToParts === "function") // @ts-ignore
742
- return this.formatter.formatRangeToParts(start, end);
743
- if (end < start) throw new RangeError("End date must be >= start date");
744
- let startParts = this.formatter.formatToParts(start);
745
- let endParts = this.formatter.formatToParts(end);
746
- return [
747
- ...startParts.map((p)=>({
748
- ...p,
749
- source: "startRange"
750
- })),
751
- {
752
- type: "literal",
753
- value: " – ",
754
- source: "shared"
755
- },
756
- ...endParts.map((p)=>({
757
- ...p,
758
- source: "endRange"
759
- }))
760
- ];
761
- }
762
- /** Returns the resolved formatting options based on the values passed to the constructor. */ resolvedOptions() {
763
- let resolvedOptions = this.formatter.resolvedOptions();
764
- if ($fb18d541ea1ad717$var$hasBuggyResolvedHourCycle()) {
765
- if (!this.resolvedHourCycle) this.resolvedHourCycle = $fb18d541ea1ad717$var$getResolvedHourCycle(resolvedOptions.locale, this.options);
766
- resolvedOptions.hourCycle = this.resolvedHourCycle;
767
- resolvedOptions.hour12 = this.resolvedHourCycle === "h11" || this.resolvedHourCycle === "h12";
768
- }
769
- // Safari uses a different name for the Ethiopic (Amete Alem) calendar.
770
- // https://bugs.webkit.org/show_bug.cgi?id=241564
771
- if (resolvedOptions.calendar === "ethiopic-amete-alem") resolvedOptions.calendar = "ethioaa";
772
- return resolvedOptions;
773
- }
774
- constructor(locale, options = {}){
775
- this.formatter = $fb18d541ea1ad717$var$getCachedDateFormatter(locale, options);
776
- this.options = options;
777
- }
778
- }
779
- // There are multiple bugs involving the hour12 and hourCycle options in various browser engines.
780
- // - Chrome [1] (and the ECMA 402 spec [2]) resolve hour12: false in English and other locales to h24 (24:00 - 23:59)
781
- // rather than h23 (00:00 - 23:59). Same can happen with hour12: true in French, which Chrome resolves to h11 (00:00 - 11:59)
782
- // rather than h12 (12:00 - 11:59).
783
- // - WebKit returns an incorrect hourCycle resolved option in the French locale due to incorrect parsing of 'h' literal
784
- // in the resolved pattern. It also formats incorrectly when specifying the hourCycle option for the same reason. [3]
785
- // [1] https://bugs.chromium.org/p/chromium/issues/detail?id=1045791
786
- // [2] https://github.com/tc39/ecma402/issues/402
787
- // [3] https://bugs.webkit.org/show_bug.cgi?id=229313
788
- // https://github.com/unicode-org/cldr/blob/018b55eff7ceb389c7e3fc44e2f657eae3b10b38/common/supplemental/supplementalData.xml#L4774-L4802
789
- const $fb18d541ea1ad717$var$hour12Preferences = {
790
- true: {
791
- // Only Japanese uses the h11 style for 12 hour time. All others use h12.
792
- ja: "h11"
793
- },
794
- false: {
795
- }
796
- };
797
- function $fb18d541ea1ad717$var$getCachedDateFormatter(locale, options = {}) {
798
- // Work around buggy hour12 behavior in Chrome / ECMA 402 spec by using hourCycle instead.
799
- // Only apply the workaround if the issue is detected, because the hourCycle option is buggy in Safari.
800
- if (typeof options.hour12 === "boolean" && $fb18d541ea1ad717$var$hasBuggyHour12Behavior()) {
801
- options = {
802
- ...options
803
- };
804
- let pref = $fb18d541ea1ad717$var$hour12Preferences[String(options.hour12)][locale.split("-")[0]];
805
- let defaultHourCycle = options.hour12 ? "h12" : "h23";
806
- options.hourCycle = pref !== null && pref !== void 0 ? pref : defaultHourCycle;
807
- delete options.hour12;
808
- }
809
- let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : "");
810
- if ($fb18d541ea1ad717$var$formatterCache.has(cacheKey)) return $fb18d541ea1ad717$var$formatterCache.get(cacheKey);
811
- let numberFormatter = new Intl.DateTimeFormat(locale, options);
812
- $fb18d541ea1ad717$var$formatterCache.set(cacheKey, numberFormatter);
813
- return numberFormatter;
814
- }
815
- let $fb18d541ea1ad717$var$_hasBuggyHour12Behavior = null;
816
- function $fb18d541ea1ad717$var$hasBuggyHour12Behavior() {
817
- if ($fb18d541ea1ad717$var$_hasBuggyHour12Behavior == null) $fb18d541ea1ad717$var$_hasBuggyHour12Behavior = new Intl.DateTimeFormat("en-US", {
818
- hour: "numeric",
819
- hour12: false
820
- }).format(new Date(2020, 2, 3, 0)) === "24";
821
- return $fb18d541ea1ad717$var$_hasBuggyHour12Behavior;
822
- }
823
- let $fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle = null;
824
- function $fb18d541ea1ad717$var$hasBuggyResolvedHourCycle() {
825
- if ($fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle == null) $fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle = new Intl.DateTimeFormat("fr", {
826
- hour: "numeric",
827
- hour12: false
828
- }).resolvedOptions().hourCycle === "h12";
829
- return $fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle;
830
- }
831
- function $fb18d541ea1ad717$var$getResolvedHourCycle(locale, options) {
832
- if (!options.timeStyle && !options.hour) return undefined;
833
- // Work around buggy results in resolved hourCycle and hour12 options in WebKit.
834
- // Format the minimum possible hour and maximum possible hour in a day and parse the results.
835
- locale = locale.replace(/(-u-)?-nu-[a-zA-Z0-9]+/, "");
836
- locale += (locale.includes("-u-") ? "" : "-u") + "-nu-latn";
837
- let formatter = $fb18d541ea1ad717$var$getCachedDateFormatter(locale, {
838
- ...options,
839
- timeZone: undefined // use local timezone
840
- });
841
- let min = parseInt(formatter.formatToParts(new Date(2020, 2, 3, 0)).find((p)=>p.type === "hour").value, 10);
842
- let max = parseInt(formatter.formatToParts(new Date(2020, 2, 3, 23)).find((p)=>p.type === "hour").value, 10);
843
- if (min === 0 && max === 23) return "h23";
844
- if (min === 24 && max === 23) return "h24";
845
- if (min === 0 && max === 11) return "h11";
846
- if (min === 12 && max === 11) return "h12";
847
- throw new Error("Unexpected hour cycle result");
848
- }
849
-
850
- /*
851
- * Copyright 2020 Adobe. All rights reserved.
852
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
853
- * you may not use this file except in compliance with the License. You may obtain a copy
854
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
855
- *
856
- * Unless required by applicable law or agreed to in writing, software distributed under
857
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
858
- * OF ANY KIND, either express or implied. See the License for the specific language
859
- * governing permissions and limitations under the License.
860
- */ /*
861
- * Copyright 2020 Adobe. All rights reserved.
862
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
863
- * you may not use this file except in compliance with the License. You may obtain a copy
864
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
865
- *
866
- * Unless required by applicable law or agreed to in writing, software distributed under
867
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
868
- * OF ANY KIND, either express or implied. See the License for the specific language
869
- * governing permissions and limitations under the License.
870
- */ let $488c6ddbf4ef74c2$var$formatterCache = new Map();
871
- let $488c6ddbf4ef74c2$var$supportsSignDisplay = false;
872
- try {
873
- // @ts-ignore
874
- $488c6ddbf4ef74c2$var$supportsSignDisplay = new Intl.NumberFormat("de-DE", {
875
- signDisplay: "exceptZero"
876
- }).resolvedOptions().signDisplay === "exceptZero";
877
- // eslint-disable-next-line no-empty
878
- } catch (e) {}
879
- let $488c6ddbf4ef74c2$var$supportsUnit = false;
880
- try {
881
- // @ts-ignore
882
- $488c6ddbf4ef74c2$var$supportsUnit = new Intl.NumberFormat("de-DE", {
883
- style: "unit",
884
- unit: "degree"
885
- }).resolvedOptions().style === "unit";
886
- // eslint-disable-next-line no-empty
887
- } catch (e1) {}
888
- // Polyfill for units since Safari doesn't support them yet. See https://bugs.webkit.org/show_bug.cgi?id=215438.
889
- // Currently only polyfilling the unit degree in narrow format for ColorSlider in our supported locales.
890
- // Values were determined by switching to each locale manually in Chrome.
891
- const $488c6ddbf4ef74c2$var$UNITS = {
892
- degree: {
893
- narrow: {
894
- default: "\xb0",
895
- "ja-JP": " 度",
896
- "zh-TW": "度",
897
- "sl-SI": " \xb0"
898
- }
899
- }
900
- };
901
- class $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5 {
902
- /** Formats a number value as a string, according to the locale and options provided to the constructor. */ format(value) {
903
- let res = "";
904
- if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) res = $488c6ddbf4ef74c2$export$711b50b3c525e0f2(this.numberFormatter, this.options.signDisplay, value);
905
- else res = this.numberFormatter.format(value);
906
- if (this.options.style === "unit" && !$488c6ddbf4ef74c2$var$supportsUnit) {
907
- var _UNITS_unit;
908
- let { unit: unit , unitDisplay: unitDisplay = "short" , locale: locale } = this.resolvedOptions();
909
- let values = (_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay];
910
- res += values[locale] || values.default;
911
- }
912
- return res;
913
- }
914
- /** Formats a number to an array of parts such as separators, digits, punctuation, and more. */ formatToParts(value) {
915
- // TODO: implement signDisplay for formatToParts
916
- // @ts-ignore
917
- return this.numberFormatter.formatToParts(value);
918
- }
919
- /** Formats a number range as a string. */ formatRange(start, end) {
920
- // @ts-ignore
921
- if (typeof this.numberFormatter.formatRange === "function") // @ts-ignore
922
- return this.numberFormatter.formatRange(start, end);
923
- if (end < start) throw new RangeError("End date must be >= start date");
924
- // Very basic fallback for old browsers.
925
- return `${this.format(start)} – ${this.format(end)}`;
926
- }
927
- /** Formats a number range as an array of parts. */ formatRangeToParts(start, end) {
928
- // @ts-ignore
929
- if (typeof this.numberFormatter.formatRangeToParts === "function") // @ts-ignore
930
- return this.numberFormatter.formatRangeToParts(start, end);
931
- if (end < start) throw new RangeError("End date must be >= start date");
932
- let startParts = this.numberFormatter.formatToParts(start);
933
- let endParts = this.numberFormatter.formatToParts(end);
934
- return [
935
- ...startParts.map((p)=>({
936
- ...p,
937
- source: "startRange"
938
- })),
939
- {
940
- type: "literal",
941
- value: " – ",
942
- source: "shared"
943
- },
944
- ...endParts.map((p)=>({
945
- ...p,
946
- source: "endRange"
947
- }))
948
- ];
949
- }
950
- /** Returns the resolved formatting options based on the values passed to the constructor. */ resolvedOptions() {
951
- let options = this.numberFormatter.resolvedOptions();
952
- if (!$488c6ddbf4ef74c2$var$supportsSignDisplay && this.options.signDisplay != null) options = {
953
- ...options,
954
- signDisplay: this.options.signDisplay
955
- };
956
- if (!$488c6ddbf4ef74c2$var$supportsUnit && this.options.style === "unit") options = {
957
- ...options,
958
- style: "unit",
959
- unit: this.options.unit,
960
- unitDisplay: this.options.unitDisplay
961
- };
962
- return options;
963
- }
964
- constructor(locale, options = {}){
965
- this.numberFormatter = $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options);
966
- this.options = options;
967
- }
968
- }
969
- function $488c6ddbf4ef74c2$var$getCachedNumberFormatter(locale, options = {}) {
970
- let { numberingSystem: numberingSystem } = options;
971
- if (numberingSystem && locale.indexOf("-u-nu-") === -1) locale = `${locale}-u-nu-${numberingSystem}`;
972
- if (options.style === "unit" && !$488c6ddbf4ef74c2$var$supportsUnit) {
973
- var _UNITS_unit;
974
- let { unit: unit , unitDisplay: unitDisplay = "short" } = options;
975
- if (!unit) throw new Error('unit option must be provided with style: "unit"');
976
- if (!((_UNITS_unit = $488c6ddbf4ef74c2$var$UNITS[unit]) === null || _UNITS_unit === void 0 ? void 0 : _UNITS_unit[unitDisplay])) throw new Error(`Unsupported unit ${unit} with unitDisplay = ${unitDisplay}`);
977
- options = {
978
- ...options,
979
- style: "decimal"
980
- };
981
- }
982
- let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : "");
983
- if ($488c6ddbf4ef74c2$var$formatterCache.has(cacheKey)) return $488c6ddbf4ef74c2$var$formatterCache.get(cacheKey);
984
- let numberFormatter = new Intl.NumberFormat(locale, options);
985
- $488c6ddbf4ef74c2$var$formatterCache.set(cacheKey, numberFormatter);
986
- return numberFormatter;
987
- }
988
- function $488c6ddbf4ef74c2$export$711b50b3c525e0f2(numberFormat, signDisplay, num) {
989
- if (signDisplay === "auto") return numberFormat.format(num);
990
- else if (signDisplay === "never") return numberFormat.format(Math.abs(num));
991
- else {
992
- let needsPositiveSign = false;
993
- if (signDisplay === "always") needsPositiveSign = num > 0 || Object.is(num, 0);
994
- else if (signDisplay === "exceptZero") {
995
- if (Object.is(num, -0) || Object.is(num, 0)) num = Math.abs(num);
996
- else needsPositiveSign = num > 0;
997
- }
998
- if (needsPositiveSign) {
999
- let negative = numberFormat.format(-num);
1000
- let noSign = numberFormat.format(num);
1001
- // ignore RTL/LTR marker character
1002
- let minus = negative.replace(noSign, "").replace(/\u200e|\u061C/, "");
1003
- if ([
1004
- ...minus
1005
- ].length !== 1) console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case");
1006
- let positive = negative.replace(noSign, "!!!").replace(minus, "+").replace("!!!", noSign);
1007
- return positive;
1008
- } else return numberFormat.format(num);
1009
- }
1010
- }
1011
-
1012
- /*
1013
- * Copyright 2020 Adobe. All rights reserved.
1014
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1015
- * you may not use this file except in compliance with the License. You may obtain a copy
1016
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1017
- *
1018
- * Unless required by applicable law or agreed to in writing, software distributed under
1019
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1020
- * OF ANY KIND, either express or implied. See the License for the specific language
1021
- * governing permissions and limitations under the License.
1022
- */ /*
1023
- * Copyright 2020 Adobe. All rights reserved.
1024
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1025
- * you may not use this file except in compliance with the License. You may obtain a copy
1026
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1027
- *
1028
- * Unless required by applicable law or agreed to in writing, software distributed under
1029
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1030
- * OF ANY KIND, either express or implied. See the License for the specific language
1031
- * governing permissions and limitations under the License.
1032
- */ /*
1033
- * Copyright 2020 Adobe. All rights reserved.
1034
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1035
- * you may not use this file except in compliance with the License. You may obtain a copy
1036
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1037
- *
1038
- * Unless required by applicable law or agreed to in writing, software distributed under
1039
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1040
- * OF ANY KIND, either express or implied. See the License for the specific language
1041
- * governing permissions and limitations under the License.
1042
- */ // https://en.wikipedia.org/wiki/Right-to-left
1043
- const $148a7a147e38ea7f$var$RTL_SCRIPTS = new Set([
1044
- "Arab",
1045
- "Syrc",
1046
- "Samr",
1047
- "Mand",
1048
- "Thaa",
1049
- "Mend",
1050
- "Nkoo",
1051
- "Adlm",
1052
- "Rohg",
1053
- "Hebr"
1054
- ]);
1055
- const $148a7a147e38ea7f$var$RTL_LANGS = new Set([
1056
- "ae",
1057
- "ar",
1058
- "arc",
1059
- "bcc",
1060
- "bqi",
1061
- "ckb",
1062
- "dv",
1063
- "fa",
1064
- "glk",
1065
- "he",
1066
- "ku",
1067
- "mzn",
1068
- "nqo",
1069
- "pnb",
1070
- "ps",
1071
- "sd",
1072
- "ug",
1073
- "ur",
1074
- "yi"
1075
- ]);
1076
- function $148a7a147e38ea7f$export$702d680b21cbd764(locale) {
1077
- // If the Intl.Locale API is available, use it to get the script for the locale.
1078
- // This is more accurate than guessing by language, since languages can be written in multiple scripts.
1079
- // @ts-ignore
1080
- if (Intl.Locale) {
1081
- // @ts-ignore
1082
- let script = new Intl.Locale(locale).maximize().script;
1083
- return $148a7a147e38ea7f$var$RTL_SCRIPTS.has(script);
1084
- }
1085
- // If not, just guess by the language (first part of the locale)
1086
- let lang = locale.split("-")[0];
1087
- return $148a7a147e38ea7f$var$RTL_LANGS.has(lang);
1088
- }
1089
-
1090
-
1091
- /*
1092
- * Copyright 2020 Adobe. All rights reserved.
1093
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1094
- * you may not use this file except in compliance with the License. You may obtain a copy
1095
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1096
- *
1097
- * Unless required by applicable law or agreed to in writing, software distributed under
1098
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1099
- * OF ANY KIND, either express or implied. See the License for the specific language
1100
- * governing permissions and limitations under the License.
1101
- */
1102
-
1103
-
1104
- function $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {
1105
- // @ts-ignore
1106
- let locale = typeof navigator !== "undefined" && (navigator.language || navigator.userLanguage) || "en-US";
1107
- try {
1108
- // @ts-ignore
1109
- Intl.DateTimeFormat.supportedLocalesOf([
1110
- locale
1111
- ]);
1112
- } catch (_err) {
1113
- locale = "en-US";
1114
- }
1115
- return {
1116
- locale: locale,
1117
- direction: ($148a7a147e38ea7f$export$702d680b21cbd764)(locale) ? "rtl" : "ltr"
1118
- };
1119
- }
1120
- let $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();
1121
- let $1e5a04cdaf7d1af8$var$listeners = new Set();
1122
- function $1e5a04cdaf7d1af8$var$updateLocale() {
1123
- $1e5a04cdaf7d1af8$var$currentLocale = $1e5a04cdaf7d1af8$export$f09106e7c6677ec5();
1124
- for (let listener of $1e5a04cdaf7d1af8$var$listeners)listener($1e5a04cdaf7d1af8$var$currentLocale);
1125
- }
1126
- function $1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a() {
1127
- let isSSR = ($704cf1d3b684cc5c$export$535bd6ca7f90a273)();
1128
- let [defaultLocale, setDefaultLocale] = (useState)($1e5a04cdaf7d1af8$var$currentLocale);
1129
- (useEffect)(()=>{
1130
- if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.addEventListener("languagechange", $1e5a04cdaf7d1af8$var$updateLocale);
1131
- $1e5a04cdaf7d1af8$var$listeners.add(setDefaultLocale);
1132
- return ()=>{
1133
- $1e5a04cdaf7d1af8$var$listeners.delete(setDefaultLocale);
1134
- if ($1e5a04cdaf7d1af8$var$listeners.size === 0) window.removeEventListener("languagechange", $1e5a04cdaf7d1af8$var$updateLocale);
1135
- };
1136
- }, []);
1137
- // We cannot determine the browser's language on the server, so default to
1138
- // en-US. This will be updated after hydration on the client to the correct value.
1139
- if (isSSR) return {
1140
- locale: "en-US",
1141
- direction: "ltr"
1142
- };
1143
- return defaultLocale;
1144
- }
1145
-
1146
-
1147
-
1148
- const $18f2051aff69b9bf$var$I18nContext = /*#__PURE__*/ (React__default).createContext(null);
1149
- function $18f2051aff69b9bf$export$43bb16f9c6d9e3f7() {
1150
- let defaultLocale = ($1e5a04cdaf7d1af8$export$188ec29ebc2bdc3a)();
1151
- let context = (useContext)($18f2051aff69b9bf$var$I18nContext);
1152
- return context || defaultLocale;
1153
- }
1154
-
1155
-
1156
- /*
1157
- * Copyright 2022 Adobe. All rights reserved.
1158
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1159
- * you may not use this file except in compliance with the License. You may obtain a copy
1160
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1161
- *
1162
- * Unless required by applicable law or agreed to in writing, software distributed under
1163
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1164
- * OF ANY KIND, either express or implied. See the License for the specific language
1165
- * governing permissions and limitations under the License.
1166
- */
1167
-
1168
-
1169
- const $fca6afa0e843324b$var$cache = new WeakMap();
1170
- function $fca6afa0e843324b$var$getCachedDictionary(strings) {
1171
- let dictionary = $fca6afa0e843324b$var$cache.get(strings);
1172
- if (!dictionary) {
1173
- dictionary = new ($5b160d28a433310d$export$c17fa47878dc55b6)(strings);
1174
- $fca6afa0e843324b$var$cache.set(strings, dictionary);
1175
- }
1176
- return dictionary;
1177
- }
1178
- function $fca6afa0e843324b$export$f12b703ca79dfbb1(strings) {
1179
- let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
1180
- let dictionary = (useMemo)(()=>$fca6afa0e843324b$var$getCachedDictionary(strings), [
1181
- strings
1182
- ]);
1183
- return (useMemo)(()=>new ($6db58dc88e78b024$export$2f817fcdc4b89ae0)(locale, dictionary), [
1184
- locale,
1185
- dictionary
1186
- ]);
1187
- }
1188
-
1189
-
1190
- /*
1191
- * Copyright 2020 Adobe. All rights reserved.
1192
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1193
- * you may not use this file except in compliance with the License. You may obtain a copy
1194
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1195
- *
1196
- * Unless required by applicable law or agreed to in writing, software distributed under
1197
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1198
- * OF ANY KIND, either express or implied. See the License for the specific language
1199
- * governing permissions and limitations under the License.
1200
- */
1201
-
1202
- function $33bf17300c498528$export$a2f47a3d2973640(options = {}) {
1203
- let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
1204
- // @ts-ignore
1205
- return (useMemo)(()=>new Intl.ListFormat(locale, options), [
1206
- locale,
1207
- options
1208
- ]);
1209
- }
1210
-
1211
-
1212
- /*
1213
- * Copyright 2020 Adobe. All rights reserved.
1214
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1215
- * you may not use this file except in compliance with the License. You may obtain a copy
1216
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1217
- *
1218
- * Unless required by applicable law or agreed to in writing, software distributed under
1219
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1220
- * OF ANY KIND, either express or implied. See the License for the specific language
1221
- * governing permissions and limitations under the License.
1222
- */
1223
-
1224
-
1225
- function $896ba0a80a8f4d36$export$85fd5fdf27bacc79(options) {
1226
- // Reuse last options object if it is shallowly equal, which allows the useMemo result to also be reused.
1227
- let lastOptions = (useRef)(null);
1228
- if (options && lastOptions.current && $896ba0a80a8f4d36$var$isEqual(options, lastOptions.current)) options = lastOptions.current;
1229
- lastOptions.current = options;
1230
- let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
1231
- return (useMemo)(()=>new ($fb18d541ea1ad717$export$ad991b66133851cf)(locale, options), [
1232
- locale,
1233
- options
1234
- ]);
1235
- }
1236
- function $896ba0a80a8f4d36$var$isEqual(a, b) {
1237
- if (a === b) return true;
1238
- let aKeys = Object.keys(a);
1239
- let bKeys = Object.keys(b);
1240
- if (aKeys.length !== bKeys.length) return false;
1241
- for (let key of aKeys){
1242
- if (b[key] !== a[key]) return false;
1243
- }
1244
- return true;
1245
- }
1246
-
1247
-
1248
- /*
1249
- * Copyright 2020 Adobe. All rights reserved.
1250
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1251
- * you may not use this file except in compliance with the License. You may obtain a copy
1252
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1253
- *
1254
- * Unless required by applicable law or agreed to in writing, software distributed under
1255
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1256
- * OF ANY KIND, either express or implied. See the License for the specific language
1257
- * governing permissions and limitations under the License.
1258
- */
1259
-
1260
-
1261
- function $a916eb452884faea$export$b7a616150fdb9f44(options = {}) {
1262
- let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
1263
- return (useMemo)(()=>new ($488c6ddbf4ef74c2$export$cc77c4ff7e8673c5)(locale, options), [
1264
- locale,
1265
- options
1266
- ]);
1267
- }
1268
-
1269
-
1270
- /*
1271
- * Copyright 2020 Adobe. All rights reserved.
1272
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1273
- * you may not use this file except in compliance with the License. You may obtain a copy
1274
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1275
- *
1276
- * Unless required by applicable law or agreed to in writing, software distributed under
1277
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1278
- * OF ANY KIND, either express or implied. See the License for the specific language
1279
- * governing permissions and limitations under the License.
1280
- */
1281
- let $325a3faab7a68acd$var$cache = new Map();
1282
- function $325a3faab7a68acd$export$a16aca283550c30d(options) {
1283
- let { locale: locale } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
1284
- let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : "");
1285
- if ($325a3faab7a68acd$var$cache.has(cacheKey)) return $325a3faab7a68acd$var$cache.get(cacheKey);
1286
- let formatter = new Intl.Collator(locale, options);
1287
- $325a3faab7a68acd$var$cache.set(cacheKey, formatter);
1288
- return formatter;
1289
- }
1290
-
1291
-
1292
- /*
1293
- * Copyright 2020 Adobe. All rights reserved.
1294
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
1295
- * you may not use this file except in compliance with the License. You may obtain a copy
1296
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
1297
- *
1298
- * Unless required by applicable law or agreed to in writing, software distributed under
1299
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
1300
- * OF ANY KIND, either express or implied. See the License for the specific language
1301
- * governing permissions and limitations under the License.
1302
- */
1303
-
1304
- function $bb77f239b46e8c72$export$3274cf84b703fff(options) {
1305
- let collator = ($325a3faab7a68acd$export$a16aca283550c30d)({
1306
- usage: "search",
1307
- ...options
1308
- });
1309
- // TODO(later): these methods don't currently support the ignorePunctuation option.
1310
- let startsWith = (useCallback)((string, substring)=>{
1311
- if (substring.length === 0) return true;
1312
- // Normalize both strings so we can slice safely
1313
- // TODO: take into account the ignorePunctuation option as well...
1314
- string = string.normalize("NFC");
1315
- substring = substring.normalize("NFC");
1316
- return collator.compare(string.slice(0, substring.length), substring) === 0;
1317
- }, [
1318
- collator
1319
- ]);
1320
- let endsWith = (useCallback)((string, substring)=>{
1321
- if (substring.length === 0) return true;
1322
- string = string.normalize("NFC");
1323
- substring = substring.normalize("NFC");
1324
- return collator.compare(string.slice(-substring.length), substring) === 0;
1325
- }, [
1326
- collator
1327
- ]);
1328
- let contains = (useCallback)((string, substring)=>{
1329
- if (substring.length === 0) return true;
1330
- string = string.normalize("NFC");
1331
- substring = substring.normalize("NFC");
1332
- let scan = 0;
1333
- let sliceLen = substring.length;
1334
- for(; scan + sliceLen <= string.length; scan++){
1335
- let slice = string.slice(scan, scan + sliceLen);
1336
- if (collator.compare(substring, slice) === 0) return true;
1337
- }
1338
- return false;
1339
- }, [
1340
- collator
1341
- ]);
1342
- return (useMemo)(()=>({
1343
- startsWith: startsWith,
1344
- endsWith: endsWith,
1345
- contains: contains
1346
- }), [
1347
- startsWith,
1348
- endsWith,
1349
- contains
1350
- ]);
1351
- }
1352
-
1353
563
  /**
1354
564
  * Component variant.
1355
565
  */
@@ -1684,12 +894,15 @@ const baseContainer = css`
1684
894
  font-family: var(--redsift-typography-body-font-family);
1685
895
  font-size: var(--redsift-typography-body-font-size);
1686
896
  font-weight: var(--redsift-typography-body-font-weight);
1687
- line-height: var(--redsift-typography-body-line-height);
897
+ line-height: 20px;
1688
898
  color: var(--redsift-color-neutral-black);
1689
899
 
1690
900
  ${baseInternalSpacing}
1691
- ${baseFlexbox}
901
+ ${baseSpacing}
902
+ ${baseSizing}
903
+ ${basePositioning}
1692
904
  ${baseGrid}
905
+ ${baseFlexbox}
1693
906
  `;
1694
907
  const focusRing = css`
1695
908
  @media (prefers-reduced-motion: no-preference) {
@@ -1837,10 +1050,10 @@ const StyledIcon = styled.span`
1837
1050
  }}
1838
1051
  `;
1839
1052
 
1840
- const _excluded$J = ["aria-hidden", "aria-label", "badge", "className", "color", "icon", "size", "svgProps"];
1841
- const COMPONENT_NAME$L = 'Icon';
1842
- const CLASSNAME$L = 'redsift-icon';
1843
- const DEFAULT_PROPS$L = {
1053
+ const _excluded$N = ["aria-hidden", "aria-label", "badge", "className", "color", "icon", "size", "svgProps"];
1054
+ const COMPONENT_NAME$N = 'Icon';
1055
+ const CLASSNAME$N = 'redsift-icon';
1056
+ const DEFAULT_PROPS$N = {
1844
1057
  size: IconSize.medium
1845
1058
  };
1846
1059
 
@@ -1858,7 +1071,7 @@ const Icon = /*#__PURE__*/forwardRef((props, ref) => {
1858
1071
  size,
1859
1072
  svgProps
1860
1073
  } = props,
1861
- forwardedProps = _objectWithoutProperties(props, _excluded$J);
1074
+ forwardedProps = _objectWithoutProperties(props, _excluded$N);
1862
1075
  return /*#__PURE__*/React__default.createElement(StyledIcon, _extends$1({}, forwardedProps, {
1863
1076
  $color: color,
1864
1077
  $size: size,
@@ -1866,23 +1079,24 @@ const Icon = /*#__PURE__*/forwardRef((props, ref) => {
1866
1079
  "aria-label": ariaLabel,
1867
1080
  className: classNames(Icon.className, className),
1868
1081
  ref: ref
1869
- }), /*#__PURE__*/React__default.createElement("svg", _extends$1({}, svgProps, {
1870
- "aria-hidden": ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
1871
- "aria-label": ariaLabel,
1872
- focusable: "false",
1873
- height: "1em",
1874
- preserveAspectRatio: "xMidYMid meet",
1875
- role: "img",
1876
- viewBox: "0 0 24 24",
1877
- width: "1em"
1878
- }), /*#__PURE__*/React__default.createElement("path", {
1879
- d: icon,
1082
+ }), /*#__PURE__*/React__default.cloneElement(typeof icon === 'string' || Array.isArray(icon) && icon.every(it => typeof it === 'string') ? /*#__PURE__*/React__default.createElement("svg", null, (Array.isArray(icon) ? icon : [icon]).map(path => /*#__PURE__*/React__default.createElement("path", {
1083
+ key: path,
1084
+ d: path,
1880
1085
  fill: "currentColor"
1881
- })), badge ? badge : null);
1086
+ }))) : /*#__PURE__*/React__default.isValidElement(icon) ? icon : /*#__PURE__*/React__default.createElement(React__default.Fragment, null), _objectSpread2({
1087
+ 'aria-hidden': ariaLabel ? ariaHidden ? ariaHidden : undefined : true,
1088
+ 'aria-label': ariaLabel,
1089
+ focusable: 'false',
1090
+ height: '1em',
1091
+ preserveAspectRatio: 'xMidYMid meet',
1092
+ role: 'img',
1093
+ viewBox: '0 0 24 24',
1094
+ width: '1em'
1095
+ }, svgProps)), badge ? badge : null);
1882
1096
  });
1883
- Icon.className = CLASSNAME$L;
1884
- Icon.defaultProps = DEFAULT_PROPS$L;
1885
- Icon.displayName = COMPONENT_NAME$L;
1097
+ Icon.className = CLASSNAME$N;
1098
+ Icon.defaultProps = DEFAULT_PROPS$N;
1099
+ Icon.displayName = COMPONENT_NAME$N;
1886
1100
 
1887
1101
  /**
1888
1102
  * Component variant.
@@ -2155,10 +1369,10 @@ const StyledAppContainer = styled.div`
2155
1369
  }}
2156
1370
  `;
2157
1371
 
2158
- const _excluded$I = ["children", "className", "locale", "productTheme"];
2159
- const COMPONENT_NAME$K = 'AppContainer';
2160
- const CLASSNAME$K = 'redsift-app-container';
2161
- const DEFAULT_PROPS$K = {};
1372
+ const _excluded$M = ["children", "className", "locale", "productTheme"];
1373
+ const COMPONENT_NAME$M = 'AppContainer';
1374
+ const CLASSNAME$M = 'redsift-app-container';
1375
+ const DEFAULT_PROPS$M = {};
2162
1376
 
2163
1377
  /**
2164
1378
  * The AppContainer component.
@@ -2170,7 +1384,7 @@ const AppContainer = /*#__PURE__*/forwardRef((props, ref) => {
2170
1384
  locale,
2171
1385
  productTheme
2172
1386
  } = props,
2173
- forwardedProps = _objectWithoutProperties(props, _excluded$I);
1387
+ forwardedProps = _objectWithoutProperties(props, _excluded$M);
2174
1388
  const {
2175
1389
  hasAppBar,
2176
1390
  hasAppSidePanel,
@@ -2216,9 +1430,9 @@ const AppContainer = /*#__PURE__*/forwardRef((props, ref) => {
2216
1430
  locale: locale
2217
1431
  }, children)));
2218
1432
  });
2219
- AppContainer.className = CLASSNAME$K;
2220
- AppContainer.defaultProps = DEFAULT_PROPS$K;
2221
- AppContainer.displayName = COMPONENT_NAME$K;
1433
+ AppContainer.className = CLASSNAME$M;
1434
+ AppContainer.defaultProps = DEFAULT_PROPS$M;
1435
+ AppContainer.displayName = COMPONENT_NAME$M;
2222
1436
 
2223
1437
  var spinnerDefault = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDAwIDQwMCIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogIDxzdHlsZT4KICAgIC5zcGlubmluZyB7CiAgICAgIGFuaW1hdGlvbjogc3Bpbm5pbmcta2V5ZnJhbWVzIDMwMDBtcyBsaW5lYXIgaW5maW5pdGUgbm9ybWFsIGZvcndhcmRzOwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTsKICAgIH0KICAgIEBrZXlmcmFtZXMgc3Bpbm5pbmcta2V5ZnJhbWVzIHsKICAgICAgMCUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTsKICAgICAgfQoKICAgICAgMzMlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgNTAlIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwogICAgICB9CgogICAgICA4MyUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CgogICAgICAxMDAlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMzYwZGVnKQogICAgICB9CiAgICB9CiAgPC9zdHlsZT4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MpIgogICAgZmlsbD0iIzAwNzllMSIKICAgIGQ9Ik0zMTggMTg2LjlWMTA4LjhMMjAwIDU3IDgyIDEwOC44djc4LjFDODIgMjU5IDEzMi4zIDMyNi40IDIwMCAzNDNjNjcuNy0xNi42IDExOC04NCAxMTgtMTU2LjF6TTQwMCAyMDBjMCAxMTAuNS04OS41IDIwMC0yMDAgMjAwUzAgMzEwLjUgMCAyMDAgODkuNSAwIDIwMCAwczIwMCA4OS41IDIwMCAyMDB6IgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrcyI+CiAgICA8cGF0aAogICAgICBjbGFzcz0ic3Bpbm5pbmciCiAgICAgIGQ9Ik0wLDIwMEMwLDg5LjU0MzA1LDg5LjU0MzA1LDAsMjAwLDB2NDAwQzg5LjU0MzA1LDQwMCwwLDMxMC40NTY5NSwwLDIwMFoiCiAgICAgIGZpbGw9IiNmZmYiCiAgICAvPgogIDwvbWFzaz4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MyKSIKICAgIGZpbGw9IiMwMDc5ZTEiCiAgICBkPSJNODIsMTg2LjkzOXYtNzguMDg5TDIwMCw1N2wxMTgsNTEuODV2NzguMDg5QzMxOCwyNTkuMDAyLDI2Ny42ODYsMzI2LjQwMiwyMDAsMzQzQzEzMi4zMTQsMzI2LjQwMiw4MiwyNTkuMDAyLDgyLDE4Ni45MzlaIgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrczIiPgogICAgPHBhdGgKICAgICAgY2xhc3M9InNwaW5uaW5nIgogICAgICBkPSJNNDAwIDIwMEM0MDAgMzEwLjUgMzEwLjUgNDAwIDIwMCA0MDBWMGMxMTAuNSAwIDIwMCA4OS41IDIwMCAyMDB6IgogICAgICBmaWxsPSIjZmZmIgogICAgLz4KICA8L21hc2s+Cjwvc3ZnPg==';
2224
1438
 
@@ -2238,7 +1452,7 @@ var spinnerTools = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My
2238
1452
 
2239
1453
  var spinnerWebsite = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNDAwIDQwMCIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogIDxzdHlsZT4KICAgIC5zcGlubmluZyB7CiAgICAgIGFuaW1hdGlvbjogc3Bpbm5pbmcta2V5ZnJhbWVzIDMwMDBtcyBsaW5lYXIgaW5maW5pdGUgbm9ybWFsIGZvcndhcmRzOwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7CiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTsKICAgIH0KICAgIEBrZXlmcmFtZXMgc3Bpbm5pbmcta2V5ZnJhbWVzIHsKICAgICAgMCUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgwZGVnKTsKICAgICAgfQoKICAgICAgMzMlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgNTAlIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwogICAgICB9CgogICAgICA4MyUgewogICAgICAgIHRyYW5zZm9ybTogIHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CgogICAgICAxMDAlIHsKICAgICAgICB0cmFuc2Zvcm06ICByb3RhdGUoMzYwZGVnKQogICAgICB9CiAgICB9CiAgPC9zdHlsZT4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MpIgogICAgZmlsbD0iIzAwNzllMSIKICAgIGQ9Ik0zMTggMTg2LjlWMTA4LjhMMjAwIDU3IDgyIDEwOC44djc4LjFDODIgMjU5IDEzMi4zIDMyNi40IDIwMCAzNDNjNjcuNy0xNi42IDExOC04NCAxMTgtMTU2LjF6TTQwMCAyMDBjMCAxMTAuNS04OS41IDIwMC0yMDAgMjAwUzAgMzEwLjUgMCAyMDAgODkuNSAwIDIwMCAwczIwMCA4OS41IDIwMCAyMDB6IgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrcyI+CiAgICA8cGF0aAogICAgICBjbGFzcz0ic3Bpbm5pbmciCiAgICAgIGQ9Ik0wLDIwMEMwLDg5LjU0MzA1LDg5LjU0MzA1LDAsMjAwLDB2NDAwQzg5LjU0MzA1LDQwMCwwLDMxMC40NTY5NSwwLDIwMFoiCiAgICAgIGZpbGw9IiNmZmYiCiAgICAvPgogIDwvbWFzaz4KICA8cGF0aAogICAgbWFzaz0idXJsKCNzcGlubmVyLXUtbWFza3MyKSIKICAgIGZpbGw9IiMwMDc5ZTEiCiAgICBkPSJNODIsMTg2LjkzOXYtNzguMDg5TDIwMCw1N2wxMTgsNTEuODV2NzguMDg5QzMxOCwyNTkuMDAyLDI2Ny42ODYsMzI2LjQwMiwyMDAsMzQzQzEzMi4zMTQsMzI2LjQwMiw4MiwyNTkuMDAyLDgyLDE4Ni45MzlaIgogIC8+CiAgPG1hc2sgaWQ9InNwaW5uZXItdS1tYXNrczIiPgogICAgPHBhdGgKICAgICAgY2xhc3M9InNwaW5uaW5nIgogICAgICBkPSJNNDAwIDIwMEM0MDAgMzEwLjUgMzEwLjUgNDAwIDIwMCA0MDBWMGMxMTAuNSAwIDIwMCA4OS41IDIwMCAyMDB6IgogICAgICBmaWxsPSIjZmZmIgogICAgLz4KICA8L21hc2s+Cjwvc3ZnPg==';
2240
1454
 
2241
- const _excluded$H = ["aria-hidden", "aria-label", "className", "color", "size"];
1455
+ const _excluded$L = ["aria-hidden", "aria-label", "className", "color", "size"];
2242
1456
  const colorToFile = {
2243
1457
  default: spinnerDefault,
2244
1458
  hardenize: spinnerHardenize,
@@ -2250,9 +1464,9 @@ const colorToFile = {
2250
1464
  tools: spinnerTools,
2251
1465
  website: spinnerWebsite
2252
1466
  };
2253
- const COMPONENT_NAME$J = 'Spinner';
2254
- const CLASSNAME$J = 'redsift-shield';
2255
- const DEFAULT_PROPS$J = {
1467
+ const COMPONENT_NAME$L = 'Spinner';
1468
+ const CLASSNAME$L = 'redsift-shield';
1469
+ const DEFAULT_PROPS$L = {
2256
1470
  color: ColorPalette.default,
2257
1471
  size: SpinnerSize.medium
2258
1472
  };
@@ -2293,7 +1507,7 @@ const Spinner = /*#__PURE__*/forwardRef((props, ref) => {
2293
1507
  color: propsColor,
2294
1508
  size
2295
1509
  } = props,
2296
- forwardedProps = _objectWithoutProperties(props, _excluded$H);
1510
+ forwardedProps = _objectWithoutProperties(props, _excluded$L);
2297
1511
  const {
2298
1512
  width,
2299
1513
  height
@@ -2315,14 +1529,14 @@ const Spinner = /*#__PURE__*/forwardRef((props, ref) => {
2315
1529
  $size: size
2316
1530
  }));
2317
1531
  });
2318
- Spinner.className = CLASSNAME$J;
2319
- Spinner.defaultProps = DEFAULT_PROPS$J;
2320
- Spinner.displayName = COMPONENT_NAME$J;
2321
-
2322
- const _excluded$G = ["children", "className", "color", "disabled", "fullWidth", "isActive", "isDisabled", "isHovered", "isLoading", "leftIcon", "rightIcon", "variant"];
2323
- const COMPONENT_NAME$I = 'Button';
2324
- const CLASSNAME$I = 'redsift-button';
2325
- const DEFAULT_PROPS$I = {
1532
+ Spinner.className = CLASSNAME$L;
1533
+ Spinner.defaultProps = DEFAULT_PROPS$L;
1534
+ Spinner.displayName = COMPONENT_NAME$L;
1535
+
1536
+ const _excluded$K = ["children", "className", "color", "disabled", "fullWidth", "isActive", "isDisabled", "isHovered", "isLoading", "leftIcon", "rightIcon", "variant"];
1537
+ const COMPONENT_NAME$K = 'Button';
1538
+ const CLASSNAME$K = 'redsift-button';
1539
+ const DEFAULT_PROPS$K = {
2326
1540
  color: ColorPalette.default,
2327
1541
  height: 'fit-content',
2328
1542
  variant: ButtonVariant.primary
@@ -2351,7 +1565,7 @@ const Button = /*#__PURE__*/forwardRef((props, ref) => {
2351
1565
  rightIcon,
2352
1566
  variant
2353
1567
  } = props,
2354
- forwardedProps = _objectWithoutProperties(props, _excluded$G);
1568
+ forwardedProps = _objectWithoutProperties(props, _excluded$K);
2355
1569
  const isDisabled = isLoading || propsIsDisabled || disabled;
2356
1570
  return /*#__PURE__*/React__default.createElement(StyledButton, _extends$1({}, forwardedProps, {
2357
1571
  $color: color,
@@ -2365,22 +1579,22 @@ const Button = /*#__PURE__*/forwardRef((props, ref) => {
2365
1579
  className: classNames(Button.className, className),
2366
1580
  disabled: isDisabled,
2367
1581
  ref: buttonRef
2368
- }), leftIcon ? typeof leftIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
1582
+ }), leftIcon ? /*#__PURE__*/React__default.createElement(Icon, {
2369
1583
  icon: leftIcon,
2370
1584
  "aria-hidden": "true",
2371
1585
  className: "left"
2372
- }) : leftIcon : null, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
1586
+ }) : null, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
2373
1587
  size: "small",
2374
1588
  color: "no-data"
2375
- }) : null, /*#__PURE__*/React__default.createElement("span", null, children), rightIcon ? typeof rightIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
1589
+ }) : null, /*#__PURE__*/React__default.createElement("span", null, children), rightIcon ? /*#__PURE__*/React__default.createElement(Icon, {
2376
1590
  icon: rightIcon,
2377
1591
  "aria-hidden": "true",
2378
1592
  className: "right"
2379
- }) : rightIcon : null);
1593
+ }) : null);
2380
1594
  });
2381
- Button.className = CLASSNAME$I;
2382
- Button.defaultProps = DEFAULT_PROPS$I;
2383
- Button.displayName = COMPONENT_NAME$I;
1595
+ Button.className = CLASSNAME$K;
1596
+ Button.defaultProps = DEFAULT_PROPS$K;
1597
+ Button.displayName = COMPONENT_NAME$K;
2384
1598
 
2385
1599
  /**
2386
1600
  * Component style.
@@ -2407,10 +1621,10 @@ const StyledIconButton = styled(StyledButton)`
2407
1621
  }}
2408
1622
  `;
2409
1623
 
2410
- const _excluded$F = ["className", "color", "disabled", "icon", "isActive", "isDisabled", "isHovered", "isLoading", "variant"];
2411
- const COMPONENT_NAME$H = 'IconButton';
2412
- const CLASSNAME$H = 'redsift-icon-button';
2413
- const DEFAULT_PROPS$H = {
1624
+ const _excluded$J = ["className", "color", "disabled", "icon", "isActive", "isDisabled", "isHovered", "isLoading", "variant"];
1625
+ const COMPONENT_NAME$J = 'IconButton';
1626
+ const CLASSNAME$J = 'redsift-icon-button';
1627
+ const DEFAULT_PROPS$J = {
2414
1628
  color: ColorPalette.default,
2415
1629
  height: 'fit-content',
2416
1630
  variant: IconButtonVariant.unstyled
@@ -2435,7 +1649,7 @@ const IconButton = /*#__PURE__*/forwardRef((props, ref) => {
2435
1649
  isLoading,
2436
1650
  variant
2437
1651
  } = props,
2438
- forwardedProps = _objectWithoutProperties(props, _excluded$F);
1652
+ forwardedProps = _objectWithoutProperties(props, _excluded$J);
2439
1653
  const isDisabled = props.isLoading || propsIsDisabled || disabled;
2440
1654
  warnIfNoAccessibleLabelFound(props);
2441
1655
  return /*#__PURE__*/React__default.createElement(StyledIconButton, _extends$1({}, forwardedProps, {
@@ -2457,9 +1671,9 @@ const IconButton = /*#__PURE__*/forwardRef((props, ref) => {
2457
1671
  color: isDisabled ? undefined : color
2458
1672
  }));
2459
1673
  });
2460
- IconButton.className = CLASSNAME$H;
2461
- IconButton.defaultProps = DEFAULT_PROPS$H;
2462
- IconButton.displayName = COMPONENT_NAME$H;
1674
+ IconButton.className = CLASSNAME$J;
1675
+ IconButton.defaultProps = DEFAULT_PROPS$J;
1676
+ IconButton.displayName = COMPONENT_NAME$J;
2463
1677
 
2464
1678
  /**
2465
1679
  * Component style.
@@ -2603,10 +1817,10 @@ const StyledHeading = styled.span`
2603
1817
  }}
2604
1818
  `;
2605
1819
 
2606
- const _excluded$E = ["as", "children", "className", "noWrap", "variant"];
2607
- const COMPONENT_NAME$G = 'Heading';
2608
- const CLASSNAME$G = 'redsift-heading';
2609
- const DEFAULT_PROPS$G = {};
1820
+ const _excluded$I = ["as", "children", "className", "noWrap", "variant"];
1821
+ const COMPONENT_NAME$I = 'Heading';
1822
+ const CLASSNAME$I = 'redsift-heading';
1823
+ const DEFAULT_PROPS$I = {};
2610
1824
 
2611
1825
  /**
2612
1826
  * The Heading component.
@@ -2619,7 +1833,7 @@ const Heading = /*#__PURE__*/forwardRef((props, ref) => {
2619
1833
  noWrap,
2620
1834
  variant
2621
1835
  } = props,
2622
- forwardedProps = _objectWithoutProperties(props, _excluded$E);
1836
+ forwardedProps = _objectWithoutProperties(props, _excluded$I);
2623
1837
  return /*#__PURE__*/React__default.createElement(StyledHeading, _extends$1({
2624
1838
  as: as
2625
1839
  }, forwardedProps, {
@@ -2629,9 +1843,9 @@ const Heading = /*#__PURE__*/forwardRef((props, ref) => {
2629
1843
  $variant: variant ? variant : as === 'span' ? 'body' : as
2630
1844
  }), children);
2631
1845
  });
2632
- Heading.className = CLASSNAME$G;
2633
- Heading.defaultProps = DEFAULT_PROPS$G;
2634
- Heading.displayName = COMPONENT_NAME$G;
1846
+ Heading.className = CLASSNAME$I;
1847
+ Heading.defaultProps = DEFAULT_PROPS$I;
1848
+ Heading.displayName = COMPONENT_NAME$I;
2635
1849
 
2636
1850
  /**
2637
1851
  * Component style.
@@ -2649,10 +1863,10 @@ const StyledFlexbox = styled.div`
2649
1863
  ${baseFlexbox}
2650
1864
  `;
2651
1865
 
2652
- const _excluded$D = ["children", "className"];
2653
- const COMPONENT_NAME$F = 'Flexbox';
2654
- const CLASSNAME$F = 'redsift-flex-box';
2655
- const DEFAULT_PROPS$F = {
1866
+ const _excluded$H = ["children", "className"];
1867
+ const COMPONENT_NAME$H = 'Flexbox';
1868
+ const CLASSNAME$H = 'redsift-flex-box';
1869
+ const DEFAULT_PROPS$H = {
2656
1870
  gap: '16px'
2657
1871
  };
2658
1872
 
@@ -2664,20 +1878,20 @@ const Flexbox = /*#__PURE__*/forwardRef((props, ref) => {
2664
1878
  children,
2665
1879
  className
2666
1880
  } = props,
2667
- forwardedProps = _objectWithoutProperties(props, _excluded$D);
1881
+ forwardedProps = _objectWithoutProperties(props, _excluded$H);
2668
1882
  return /*#__PURE__*/React__default.createElement(StyledFlexbox, _extends$1({}, forwardedProps, {
2669
1883
  className: classNames(Flexbox.className, className),
2670
1884
  ref: ref
2671
1885
  }), children);
2672
1886
  });
2673
- Flexbox.className = CLASSNAME$F;
2674
- Flexbox.defaultProps = DEFAULT_PROPS$F;
2675
- Flexbox.displayName = COMPONENT_NAME$F;
2676
-
2677
- const _excluded$C = ["children", "className", "isClosable", "isClosed", "onClose", "title", "variant"];
2678
- const COMPONENT_NAME$E = 'Alert';
2679
- const CLASSNAME$E = 'redsift-alert';
2680
- const DEFAULT_PROPS$E = {
1887
+ Flexbox.className = CLASSNAME$H;
1888
+ Flexbox.defaultProps = DEFAULT_PROPS$H;
1889
+ Flexbox.displayName = COMPONENT_NAME$H;
1890
+
1891
+ const _excluded$G = ["children", "className", "isClosable", "isClosed", "onClose", "title", "variant"];
1892
+ const COMPONENT_NAME$G = 'Alert';
1893
+ const CLASSNAME$G = 'redsift-alert';
1894
+ const DEFAULT_PROPS$G = {
2681
1895
  variant: 'info'
2682
1896
  };
2683
1897
  const getVariant$1 = variant => {
@@ -2719,7 +1933,7 @@ const Alert = /*#__PURE__*/forwardRef((props, ref) => {
2719
1933
  title,
2720
1934
  variant
2721
1935
  } = props,
2722
- forwardedProps = _objectWithoutProperties(props, _excluded$C);
1936
+ forwardedProps = _objectWithoutProperties(props, _excluded$G);
2723
1937
  const stringFormatter = useLocalizedStringFormatter(intlMessages$5);
2724
1938
  const {
2725
1939
  color,
@@ -2760,15 +1974,15 @@ const Alert = /*#__PURE__*/forwardRef((props, ref) => {
2760
1974
  }, title) : null), isClosable ? /*#__PURE__*/React__default.createElement(IconButton, {
2761
1975
  "aria-label": stringFormatter.format('close'),
2762
1976
  className: `${Alert.className}-header__icon-button`,
2763
- icon: mdiClose,
1977
+ icon: mdiClose$1,
2764
1978
  onClick: handleClose
2765
1979
  }) : null), children ? /*#__PURE__*/React__default.createElement("div", {
2766
1980
  className: `${Alert.className}__content`
2767
1981
  }, children) : null);
2768
1982
  });
2769
- Alert.className = CLASSNAME$E;
2770
- Alert.defaultProps = DEFAULT_PROPS$E;
2771
- Alert.displayName = COMPONENT_NAME$E;
1983
+ Alert.className = CLASSNAME$G;
1984
+ Alert.defaultProps = DEFAULT_PROPS$G;
1985
+ Alert.displayName = COMPONENT_NAME$G;
2772
1986
 
2773
1987
  var expand$5 = "Expand left side panel";
2774
1988
  var collapse$5 = "Collapse left side panel";
@@ -2865,10 +2079,10 @@ const StyledAppBar = styled.header`
2865
2079
  }
2866
2080
  `;
2867
2081
 
2868
- const _excluded$B = ["children", "className", "collapseIconButtonProps", "collapseIconButtonRef", "expandIconButtonProps", "expandIconButtonRef", "fallbackTitle", "title"];
2869
- const COMPONENT_NAME$D = 'AppBar';
2870
- const CLASSNAME$D = 'redsift-app-bar';
2871
- const DEFAULT_PROPS$D = {};
2082
+ const _excluded$F = ["children", "className", "collapseIconButtonProps", "collapseIconButtonRef", "expandIconButtonProps", "expandIconButtonRef", "fallbackTitle", "title"];
2083
+ const COMPONENT_NAME$F = 'AppBar';
2084
+ const CLASSNAME$F = 'redsift-app-bar';
2085
+ const DEFAULT_PROPS$F = {};
2872
2086
 
2873
2087
  /**
2874
2088
  * The AppBar component.
@@ -2884,7 +2098,7 @@ const AppBar = /*#__PURE__*/forwardRef((props, ref) => {
2884
2098
  fallbackTitle,
2885
2099
  title: propsTitle
2886
2100
  } = props,
2887
- forwardedProps = _objectWithoutProperties(props, _excluded$B);
2101
+ forwardedProps = _objectWithoutProperties(props, _excluded$F);
2888
2102
  const {
2889
2103
  isLoaded
2890
2104
  } = useIsLoaded();
@@ -2923,9 +2137,9 @@ const AppBar = /*#__PURE__*/forwardRef((props, ref) => {
2923
2137
  className: `${AppBar.className}__right`
2924
2138
  }, children));
2925
2139
  });
2926
- AppBar.className = CLASSNAME$D;
2927
- AppBar.defaultProps = DEFAULT_PROPS$D;
2928
- AppBar.displayName = COMPONENT_NAME$D;
2140
+ AppBar.className = CLASSNAME$F;
2141
+ AppBar.defaultProps = DEFAULT_PROPS$F;
2142
+ AppBar.displayName = COMPONENT_NAME$F;
2929
2143
 
2930
2144
  /**
2931
2145
  * Component style.
@@ -2991,10 +2205,10 @@ const StyledAppContent = styled.main`
2991
2205
  }}
2992
2206
  `;
2993
2207
 
2994
- const _excluded$A = ["children", "className", "productTheme"];
2995
- const COMPONENT_NAME$C = 'AppContent';
2996
- const CLASSNAME$C = 'redsift-app-content';
2997
- const DEFAULT_PROPS$C = {};
2208
+ const _excluded$E = ["children", "className", "productTheme"];
2209
+ const COMPONENT_NAME$E = 'AppContent';
2210
+ const CLASSNAME$E = 'redsift-app-content';
2211
+ const DEFAULT_PROPS$E = {};
2998
2212
 
2999
2213
  /**
3000
2214
  * The AppContent component.
@@ -3005,7 +2219,7 @@ const AppContent = /*#__PURE__*/forwardRef((props, ref) => {
3005
2219
  className,
3006
2220
  productTheme
3007
2221
  } = props,
3008
- forwardedProps = _objectWithoutProperties(props, _excluded$A);
2222
+ forwardedProps = _objectWithoutProperties(props, _excluded$E);
3009
2223
  const {
3010
2224
  isLoaded
3011
2225
  } = useIsLoaded();
@@ -3018,9 +2232,9 @@ const AppContent = /*#__PURE__*/forwardRef((props, ref) => {
3018
2232
  ref: ref
3019
2233
  }), children);
3020
2234
  });
3021
- AppContent.className = CLASSNAME$C;
3022
- AppContent.defaultProps = DEFAULT_PROPS$C;
3023
- AppContent.displayName = COMPONENT_NAME$C;
2235
+ AppContent.className = CLASSNAME$E;
2236
+ AppContent.defaultProps = DEFAULT_PROPS$E;
2237
+ AppContent.displayName = COMPONENT_NAME$E;
3024
2238
 
3025
2239
  /**
3026
2240
  * Component style.
@@ -3114,10 +2328,10 @@ const StyledAppSidePanel = styled.div`
3114
2328
  }
3115
2329
  `;
3116
2330
 
3117
- const _excluded$z = ["children", "className", "featuredElements", "isCollapsed", "logo"];
3118
- const COMPONENT_NAME$B = 'AppSidePanel';
3119
- const CLASSNAME$B = 'redsift-app-side-panel';
3120
- const DEFAULT_PROPS$B = {};
2331
+ const _excluded$D = ["children", "className", "featuredElements", "isCollapsed", "logo"];
2332
+ const COMPONENT_NAME$D = 'AppSidePanel';
2333
+ const CLASSNAME$D = 'redsift-app-side-panel';
2334
+ const DEFAULT_PROPS$D = {};
3121
2335
 
3122
2336
  /**
3123
2337
  * The AppSidePanel component.
@@ -3130,7 +2344,7 @@ const AppSidePanel = /*#__PURE__*/forwardRef((props, ref) => {
3130
2344
  isCollapsed = false,
3131
2345
  logo
3132
2346
  } = props,
3133
- forwardedProps = _objectWithoutProperties(props, _excluded$z);
2347
+ forwardedProps = _objectWithoutProperties(props, _excluded$D);
3134
2348
  const appContainerState = useContext(AppContainerContext);
3135
2349
  return /*#__PURE__*/React__default.createElement(StyledAppSidePanel, _extends$1({}, forwardedProps, {
3136
2350
  $isCollapsed: !!(isCollapsed || appContainerState !== null && appContainerState !== void 0 && appContainerState.isSidePanelCollapsed),
@@ -3145,9 +2359,9 @@ const AppSidePanel = /*#__PURE__*/forwardRef((props, ref) => {
3145
2359
  className: `${AppSidePanel.className}__featured`
3146
2360
  }, featuredElements) : null, children);
3147
2361
  });
3148
- AppSidePanel.className = CLASSNAME$B;
3149
- AppSidePanel.defaultProps = DEFAULT_PROPS$B;
3150
- AppSidePanel.displayName = COMPONENT_NAME$B;
2362
+ AppSidePanel.className = CLASSNAME$D;
2363
+ AppSidePanel.defaultProps = DEFAULT_PROPS$D;
2364
+ AppSidePanel.displayName = COMPONENT_NAME$D;
3151
2365
 
3152
2366
  /**
3153
2367
  * Context props.
@@ -3381,10 +2595,10 @@ const StyledBadge = styled.div`
3381
2595
  }}
3382
2596
  `;
3383
2597
 
3384
- const _excluded$y = ["autoBreak", "children", "className", "color", "isReversed", "variant"];
3385
- const COMPONENT_NAME$A = 'Badge';
3386
- const CLASSNAME$A = 'redsift-badge';
3387
- const DEFAULT_PROPS$A = {
2598
+ const _excluded$C = ["autoBreak", "children", "className", "color", "isReversed", "variant"];
2599
+ const COMPONENT_NAME$C = 'Badge';
2600
+ const CLASSNAME$C = 'redsift-badge';
2601
+ const DEFAULT_PROPS$C = {
3388
2602
  color: ColorPalette.question,
3389
2603
  variant: BadgeVariant.dot
3390
2604
  };
@@ -3401,7 +2615,7 @@ const Badge = /*#__PURE__*/forwardRef((props, ref) => {
3401
2615
  isReversed,
3402
2616
  variant
3403
2617
  } = props,
3404
- forwardedProps = _objectWithoutProperties(props, _excluded$y);
2618
+ forwardedProps = _objectWithoutProperties(props, _excluded$C);
3405
2619
  return /*#__PURE__*/React__default.createElement(StyledBadge, _extends$1({}, forwardedProps, {
3406
2620
  $autoBreak: autoBreak,
3407
2621
  $color: color,
@@ -3411,14 +2625,14 @@ const Badge = /*#__PURE__*/forwardRef((props, ref) => {
3411
2625
  ref: ref
3412
2626
  }), variant === BadgeVariant.standard ? children : null);
3413
2627
  });
3414
- Badge.className = CLASSNAME$A;
3415
- Badge.defaultProps = DEFAULT_PROPS$A;
3416
- Badge.displayName = COMPONENT_NAME$A;
2628
+ Badge.className = CLASSNAME$C;
2629
+ Badge.defaultProps = DEFAULT_PROPS$C;
2630
+ Badge.displayName = COMPONENT_NAME$C;
3417
2631
 
3418
- const _excluded$x = ["as", "badge", "badgeProps", "children", "className", "href", "icon", "iconProps", "iconRef", "isCurrent", "isDisabled", "isSecondLevel", "onClick", "onKeyDown", "tabIndex", "withoutIcons"];
3419
- const COMPONENT_NAME$z = 'SideNavigationMenuItem';
3420
- const CLASSNAME$z = 'redsift-side-navigation-menu-item';
3421
- const DEFAULT_PROPS$z = {};
2632
+ const _excluded$B = ["as", "badge", "badgeProps", "children", "className", "href", "icon", "iconProps", "iconRef", "isCurrent", "isDisabled", "isSecondLevel", "onClick", "onKeyDown", "tabIndex", "withoutIcons"];
2633
+ const COMPONENT_NAME$B = 'SideNavigationMenuItem';
2634
+ const CLASSNAME$B = 'redsift-side-navigation-menu-item';
2635
+ const DEFAULT_PROPS$B = {};
3422
2636
 
3423
2637
  /**
3424
2638
  * The SideNavigationMenuItem component.
@@ -3443,7 +2657,7 @@ const SideNavigationMenuItem = /*#__PURE__*/forwardRef((props, ref) => {
3443
2657
  tabIndex,
3444
2658
  withoutIcons
3445
2659
  } = props,
3446
- forwardedProps = _objectWithoutProperties(props, _excluded$x);
2660
+ forwardedProps = _objectWithoutProperties(props, _excluded$B);
3447
2661
  warnIfNoAccessibleLabelFound(props, [children]);
3448
2662
  const appContainerState = useContext(AppContainerContext);
3449
2663
  useEffect(() => {
@@ -3506,9 +2720,9 @@ const SideNavigationMenuItem = /*#__PURE__*/forwardRef((props, ref) => {
3506
2720
  color: "error"
3507
2721
  }, badgeProps), badge) : null);
3508
2722
  });
3509
- SideNavigationMenuItem.className = CLASSNAME$z;
3510
- SideNavigationMenuItem.defaultProps = DEFAULT_PROPS$z;
3511
- SideNavigationMenuItem.displayName = COMPONENT_NAME$z;
2723
+ SideNavigationMenuItem.className = CLASSNAME$B;
2724
+ SideNavigationMenuItem.defaultProps = DEFAULT_PROPS$B;
2725
+ SideNavigationMenuItem.displayName = COMPONENT_NAME$B;
3512
2726
 
3513
2727
  /**
3514
2728
  * Component style.
@@ -3667,10 +2881,10 @@ const SideNavigationMenuReducer = (state, action) => {
3667
2881
  }
3668
2882
  };
3669
2883
 
3670
- const _excluded$w = ["aria-label", "buttonProps", "buttonRef", "children", "className", "hasBadge", "icon", "iconProps", "iconRef", "isDisabled", "isExpanded", "menuProps", "menuRef", "tabIndex", "withoutIcons"];
3671
- const COMPONENT_NAME$y = 'SideNavigationMenu';
3672
- const CLASSNAME$y = 'redsift-side-navigation-menu';
3673
- const DEFAULT_PROPS$y = {};
2884
+ const _excluded$A = ["aria-label", "buttonProps", "buttonRef", "children", "className", "hasBadge", "icon", "iconProps", "iconRef", "isDisabled", "isExpanded", "menuProps", "menuRef", "tabIndex", "withoutIcons"];
2885
+ const COMPONENT_NAME$A = 'SideNavigationMenu';
2886
+ const CLASSNAME$A = 'redsift-side-navigation-menu';
2887
+ const DEFAULT_PROPS$A = {};
3674
2888
 
3675
2889
  /**
3676
2890
  * The SideNavigationMenu component.
@@ -3693,7 +2907,7 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
3693
2907
  tabIndex,
3694
2908
  withoutIcons
3695
2909
  } = props,
3696
- forwardedProps = _objectWithoutProperties(props, _excluded$w);
2910
+ forwardedProps = _objectWithoutProperties(props, _excluded$A);
3697
2911
  warnIfNoAccessibleLabelFound(props);
3698
2912
  const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);
3699
2913
  const [isFirstChild, setIsFirstChild] = useState(false);
@@ -3962,9 +3176,9 @@ const SideNavigationMenu = /*#__PURE__*/forwardRef((props, ref) => {
3962
3176
  role: "menu"
3963
3177
  }, menuItemListEventHandler), renderedMenuItems)));
3964
3178
  });
3965
- SideNavigationMenu.className = CLASSNAME$y;
3966
- SideNavigationMenu.defaultProps = DEFAULT_PROPS$y;
3967
- SideNavigationMenu.displayName = COMPONENT_NAME$y;
3179
+ SideNavigationMenu.className = CLASSNAME$A;
3180
+ SideNavigationMenu.defaultProps = DEFAULT_PROPS$A;
3181
+ SideNavigationMenu.displayName = COMPONENT_NAME$A;
3968
3182
 
3969
3183
  /**
3970
3184
  * Component style.
@@ -4022,10 +3236,10 @@ const StyledSideNavigationMenuBar = styled.nav`
4022
3236
  }
4023
3237
  `;
4024
3238
 
4025
- const _excluded$v = ["aria-label", "aria-labelledby", "children", "className", "isDisabled", "menubarProps", "menubarRef", "withoutIcons"];
4026
- const COMPONENT_NAME$x = 'SideNavigationMenuBar';
4027
- const CLASSNAME$x = 'redsift-side-navigation-menu-bar';
4028
- const DEFAULT_PROPS$x = {};
3239
+ const _excluded$z = ["aria-label", "aria-labelledby", "children", "className", "isDisabled", "menubarProps", "menubarRef", "withoutIcons"];
3240
+ const COMPONENT_NAME$z = 'SideNavigationMenuBar';
3241
+ const CLASSNAME$z = 'redsift-side-navigation-menu-bar';
3242
+ const DEFAULT_PROPS$z = {};
4029
3243
 
4030
3244
  /**
4031
3245
  * Hook to store the previous index for further use
@@ -4053,7 +3267,7 @@ const SideNavigationMenuBar = /*#__PURE__*/forwardRef((props, ref) => {
4053
3267
  menubarRef = useRef(),
4054
3268
  withoutIcons
4055
3269
  } = props,
4056
- forwardedProps = _objectWithoutProperties(props, _excluded$v);
3270
+ forwardedProps = _objectWithoutProperties(props, _excluded$z);
4057
3271
  warnIfNoAccessibleLabelFound(props);
4058
3272
  const {
4059
3273
  top
@@ -4195,11 +3409,11 @@ const SideNavigationMenuBar = /*#__PURE__*/forwardRef((props, ref) => {
4195
3409
  role: "menubar"
4196
3410
  }), navItems)));
4197
3411
  });
4198
- SideNavigationMenuBar.className = CLASSNAME$x;
4199
- SideNavigationMenuBar.defaultProps = DEFAULT_PROPS$x;
4200
- SideNavigationMenuBar.displayName = COMPONENT_NAME$x;
3412
+ SideNavigationMenuBar.className = CLASSNAME$z;
3413
+ SideNavigationMenuBar.defaultProps = DEFAULT_PROPS$z;
3414
+ SideNavigationMenuBar.displayName = COMPONENT_NAME$z;
4201
3415
 
4202
- const _excluded$u = ["title", "href", "ref"],
3416
+ const _excluded$y = ["title", "href", "ref"],
4203
3417
  _excluded2 = ["title", "children", "ref"],
4204
3418
  _excluded3 = ["title", "href", "ref"];
4205
3419
  const isMenu = item => {
@@ -4218,7 +3432,7 @@ const useSideNavigationMenuBar = _ref => {
4218
3432
  href,
4219
3433
  ref
4220
3434
  } = item,
4221
- rest = _objectWithoutProperties(item, _excluded$u);
3435
+ rest = _objectWithoutProperties(item, _excluded$y);
4222
3436
  menuBarChildren.push( /*#__PURE__*/React__default.createElement(SideNavigationMenuItem, _extends$1({
4223
3437
  key: title,
4224
3438
  isCurrent: isActive ? isActive(href) : undefined
@@ -4321,10 +3535,10 @@ const StyledBreadcrumbItem = styled.a`
4321
3535
  }
4322
3536
  `;
4323
3537
 
4324
- const _excluded$t = ["as", "children", "className", "href", "isCurrent", "isDisabled"];
4325
- const COMPONENT_NAME$w = 'BreadcrumbItem';
4326
- const CLASSNAME$w = 'redsift-breadcrumb-item';
4327
- const DEFAULT_PROPS$w = {};
3538
+ const _excluded$x = ["as", "children", "className", "href", "isCurrent", "isDisabled"];
3539
+ const COMPONENT_NAME$y = 'BreadcrumbItem';
3540
+ const CLASSNAME$y = 'redsift-breadcrumb-item';
3541
+ const DEFAULT_PROPS$y = {};
4328
3542
 
4329
3543
  /**
4330
3544
  * The BreadcrumbItem components is a list of links to the parent pages of the current page in hierarchical order.
@@ -4338,7 +3552,7 @@ const BreadcrumbItem = /*#__PURE__*/forwardRef((props, ref) => {
4338
3552
  isCurrent,
4339
3553
  isDisabled
4340
3554
  } = props,
4341
- forwardedProps = _objectWithoutProperties(props, _excluded$t);
3555
+ forwardedProps = _objectWithoutProperties(props, _excluded$x);
4342
3556
  warnIfNoAccessibleLabelFound(props, [children]);
4343
3557
  return /*#__PURE__*/React__default.createElement(StyledBreadcrumbItem, _extends$1({
4344
3558
  as: as || 'a',
@@ -4354,9 +3568,9 @@ const BreadcrumbItem = /*#__PURE__*/forwardRef((props, ref) => {
4354
3568
  ref: ref
4355
3569
  }), children);
4356
3570
  });
4357
- BreadcrumbItem.className = CLASSNAME$w;
4358
- BreadcrumbItem.defaultProps = DEFAULT_PROPS$w;
4359
- BreadcrumbItem.displayName = COMPONENT_NAME$w;
3571
+ BreadcrumbItem.className = CLASSNAME$y;
3572
+ BreadcrumbItem.defaultProps = DEFAULT_PROPS$y;
3573
+ BreadcrumbItem.displayName = COMPONENT_NAME$y;
4360
3574
 
4361
3575
  /**
4362
3576
  * Component style.
@@ -4390,10 +3604,10 @@ const StyledBreadcrumbs = styled.nav`
4390
3604
  }
4391
3605
  `;
4392
3606
 
4393
- const _excluded$s = ["children", "className", "isDisabled"];
4394
- const COMPONENT_NAME$v = 'Breadcrumbs';
4395
- const CLASSNAME$v = 'redsift-breadcrumbs';
4396
- const DEFAULT_PROPS$v = {};
3607
+ const _excluded$w = ["children", "className", "isDisabled"];
3608
+ const COMPONENT_NAME$x = 'Breadcrumbs';
3609
+ const CLASSNAME$x = 'redsift-breadcrumbs';
3610
+ const DEFAULT_PROPS$x = {};
4397
3611
 
4398
3612
  /**
4399
3613
  * The Breadcrumbs components is a list of links to the parent pages of the current page in hierarchical order.
@@ -4404,7 +3618,7 @@ const BaseBreadcrumbs = /*#__PURE__*/forwardRef((props, ref) => {
4404
3618
  className,
4405
3619
  isDisabled
4406
3620
  } = props,
4407
- forwardedProps = _objectWithoutProperties(props, _excluded$s);
3621
+ forwardedProps = _objectWithoutProperties(props, _excluded$w);
4408
3622
  warnIfNoAccessibleLabelFound(props);
4409
3623
  const childArray = filterComponents([Breadcrumbs.Item])(children);
4410
3624
  const breadcrumbItems = childArray.map((child, index) => {
@@ -4427,17 +3641,17 @@ const BaseBreadcrumbs = /*#__PURE__*/forwardRef((props, ref) => {
4427
3641
  ref: ref
4428
3642
  }), /*#__PURE__*/React__default.createElement("ol", null, breadcrumbItems));
4429
3643
  });
4430
- BaseBreadcrumbs.className = CLASSNAME$v;
4431
- BaseBreadcrumbs.defaultProps = DEFAULT_PROPS$v;
4432
- BaseBreadcrumbs.displayName = COMPONENT_NAME$v;
3644
+ BaseBreadcrumbs.className = CLASSNAME$x;
3645
+ BaseBreadcrumbs.defaultProps = DEFAULT_PROPS$x;
3646
+ BaseBreadcrumbs.displayName = COMPONENT_NAME$x;
4433
3647
  const Breadcrumbs = Object.assign(BaseBreadcrumbs, {
4434
3648
  Item: BreadcrumbItem
4435
3649
  });
4436
3650
 
4437
- const _excluded$r = ["as", "children", "className", "color", "href", "isActive", "isDisabled", "leftIcon", "rightIcon", "target", "variant"];
4438
- const COMPONENT_NAME$u = 'ButtonLink';
4439
- const CLASSNAME$u = 'redsift-button-link';
4440
- const DEFAULT_PROPS$u = {
3651
+ const _excluded$v = ["as", "children", "className", "color", "href", "isActive", "isDisabled", "leftIcon", "rightIcon", "target", "variant"];
3652
+ const COMPONENT_NAME$w = 'ButtonLink';
3653
+ const CLASSNAME$w = 'redsift-button-link';
3654
+ const DEFAULT_PROPS$w = {
4441
3655
  color: ColorPalette.default,
4442
3656
  height: 'fit-content',
4443
3657
  variant: ButtonVariant.primary
@@ -4464,7 +3678,7 @@ const ButtonLink = /*#__PURE__*/forwardRef((props, ref) => {
4464
3678
  target,
4465
3679
  variant
4466
3680
  } = props,
4467
- forwardedProps = _objectWithoutProperties(props, _excluded$r);
3681
+ forwardedProps = _objectWithoutProperties(props, _excluded$v);
4468
3682
  return /*#__PURE__*/React__default.createElement(StyledButton, _extends$1({
4469
3683
  as: as || 'a',
4470
3684
  role: "link",
@@ -4478,19 +3692,19 @@ const ButtonLink = /*#__PURE__*/forwardRef((props, ref) => {
4478
3692
  href: !isDisabled ? href : undefined,
4479
3693
  ref: ref,
4480
3694
  target: target
4481
- }), leftIcon ? typeof leftIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
3695
+ }), leftIcon ? /*#__PURE__*/React__default.createElement(Icon, {
4482
3696
  icon: leftIcon,
4483
3697
  "aria-hidden": "true",
4484
3698
  className: "left"
4485
- }) : leftIcon : null, children, rightIcon ? typeof rightIcon === 'string' ? /*#__PURE__*/React__default.createElement(Icon, {
3699
+ }) : null, children, rightIcon ? /*#__PURE__*/React__default.createElement(Icon, {
4486
3700
  icon: rightIcon,
4487
3701
  "aria-hidden": "true",
4488
3702
  className: "right"
4489
- }) : rightIcon : null);
3703
+ }) : null);
4490
3704
  });
4491
- ButtonLink.className = CLASSNAME$u;
4492
- ButtonLink.defaultProps = DEFAULT_PROPS$u;
4493
- ButtonLink.displayName = COMPONENT_NAME$u;
3705
+ ButtonLink.className = CLASSNAME$w;
3706
+ ButtonLink.defaultProps = DEFAULT_PROPS$w;
3707
+ ButtonLink.displayName = COMPONENT_NAME$w;
4494
3708
 
4495
3709
  var collapse$3 = "Collapse";
4496
3710
  var expand$3 = "Expand";
@@ -4680,10 +3894,10 @@ const StyledSkeletonCircle = styled(StyledSkeleton)`
4680
3894
  }}
4681
3895
  `;
4682
3896
 
4683
- const _excluded$q = ["children", "className", "isLoaded"];
4684
- const COMPONENT_NAME$t = 'SkeletonCircle';
4685
- const CLASSNAME$t = 'redsift-skeleton-circle';
4686
- const DEFAULT_PROPS$t = {};
3897
+ const _excluded$u = ["children", "className", "isLoaded"];
3898
+ const COMPONENT_NAME$v = 'SkeletonCircle';
3899
+ const CLASSNAME$v = 'redsift-skeleton-circle';
3900
+ const DEFAULT_PROPS$v = {};
4687
3901
 
4688
3902
  /**
4689
3903
  * The SkeletonCircle component.
@@ -4694,7 +3908,7 @@ const SkeletonCircle = /*#__PURE__*/forwardRef((props, ref) => {
4694
3908
  className,
4695
3909
  isLoaded
4696
3910
  } = props,
4697
- forwardedProps = _objectWithoutProperties(props, _excluded$q);
3911
+ forwardedProps = _objectWithoutProperties(props, _excluded$u);
4698
3912
  if (isLoaded) {
4699
3913
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
4700
3914
  }
@@ -4703,9 +3917,9 @@ const SkeletonCircle = /*#__PURE__*/forwardRef((props, ref) => {
4703
3917
  ref: ref
4704
3918
  }), typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", null, children) : children);
4705
3919
  });
4706
- SkeletonCircle.className = CLASSNAME$t;
4707
- SkeletonCircle.defaultProps = DEFAULT_PROPS$t;
4708
- SkeletonCircle.displayName = COMPONENT_NAME$t;
3920
+ SkeletonCircle.className = CLASSNAME$v;
3921
+ SkeletonCircle.defaultProps = DEFAULT_PROPS$v;
3922
+ SkeletonCircle.displayName = COMPONENT_NAME$v;
4709
3923
 
4710
3924
  /**
4711
3925
  * Component variant.
@@ -4761,10 +3975,10 @@ const StyledSkeletonText = styled(StyledSkeleton)`
4761
3975
  }}}
4762
3976
  `;
4763
3977
 
4764
- const _excluded$p = ["children", "className", "fontSize", "isLoaded", "lineHeight", "variant"];
4765
- const COMPONENT_NAME$s = 'SkeletonText';
4766
- const CLASSNAME$s = 'redsift-skeleton-text';
4767
- const DEFAULT_PROPS$s = {
3978
+ const _excluded$t = ["children", "className", "fontSize", "isLoaded", "lineHeight", "variant"];
3979
+ const COMPONENT_NAME$u = 'SkeletonText';
3980
+ const CLASSNAME$u = 'redsift-skeleton-text';
3981
+ const DEFAULT_PROPS$u = {
4768
3982
  variant: 'body'
4769
3983
  };
4770
3984
 
@@ -4780,7 +3994,7 @@ const SkeletonText = /*#__PURE__*/forwardRef((props, ref) => {
4780
3994
  lineHeight,
4781
3995
  variant
4782
3996
  } = props,
4783
- forwardedProps = _objectWithoutProperties(props, _excluded$p);
3997
+ forwardedProps = _objectWithoutProperties(props, _excluded$t);
4784
3998
  if (isLoaded) {
4785
3999
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
4786
4000
  }
@@ -4792,14 +4006,14 @@ const SkeletonText = /*#__PURE__*/forwardRef((props, ref) => {
4792
4006
  $variant: variant
4793
4007
  }), typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", null, children) : children);
4794
4008
  });
4795
- SkeletonText.className = CLASSNAME$s;
4796
- SkeletonText.defaultProps = DEFAULT_PROPS$s;
4797
- SkeletonText.displayName = COMPONENT_NAME$s;
4009
+ SkeletonText.className = CLASSNAME$u;
4010
+ SkeletonText.defaultProps = DEFAULT_PROPS$u;
4011
+ SkeletonText.displayName = COMPONENT_NAME$u;
4798
4012
 
4799
- const _excluded$o = ["children", "className", "isLoaded"];
4800
- const COMPONENT_NAME$r = 'Skeleton';
4801
- const CLASSNAME$r = 'redsift-skeleton';
4802
- const DEFAULT_PROPS$r = {};
4013
+ const _excluded$s = ["children", "className", "isLoaded"];
4014
+ const COMPONENT_NAME$t = 'Skeleton';
4015
+ const CLASSNAME$t = 'redsift-skeleton';
4016
+ const DEFAULT_PROPS$t = {};
4803
4017
 
4804
4018
  /**
4805
4019
  * The Skeleton component.
@@ -4810,7 +4024,7 @@ const BaseSkeleton = /*#__PURE__*/forwardRef((props, ref) => {
4810
4024
  className,
4811
4025
  isLoaded
4812
4026
  } = props,
4813
- forwardedProps = _objectWithoutProperties(props, _excluded$o);
4027
+ forwardedProps = _objectWithoutProperties(props, _excluded$s);
4814
4028
  if (isLoaded) {
4815
4029
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
4816
4030
  }
@@ -4819,18 +4033,18 @@ const BaseSkeleton = /*#__PURE__*/forwardRef((props, ref) => {
4819
4033
  ref: ref
4820
4034
  }), typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", null, children) : children);
4821
4035
  });
4822
- BaseSkeleton.className = CLASSNAME$r;
4823
- BaseSkeleton.defaultProps = DEFAULT_PROPS$r;
4824
- BaseSkeleton.displayName = COMPONENT_NAME$r;
4036
+ BaseSkeleton.className = CLASSNAME$t;
4037
+ BaseSkeleton.defaultProps = DEFAULT_PROPS$t;
4038
+ BaseSkeleton.displayName = COMPONENT_NAME$t;
4825
4039
  const Skeleton = Object.assign(BaseSkeleton, {
4826
4040
  Circle: SkeletonCircle,
4827
4041
  Text: SkeletonText
4828
4042
  });
4829
4043
 
4830
- const _excluded$n = ["children", "className", "header", "headingProps", "icon", "isLoading", "subheader"];
4831
- const COMPONENT_NAME$q = 'CardHeader';
4832
- const CLASSNAME$q = 'redsift-card-header';
4833
- const DEFAULT_PROPS$q = {};
4044
+ const _excluded$r = ["children", "className", "header", "headingProps", "icon", "isLoading", "subheader"];
4045
+ const COMPONENT_NAME$s = 'CardHeader';
4046
+ const CLASSNAME$s = 'redsift-card-header';
4047
+ const DEFAULT_PROPS$s = {};
4834
4048
 
4835
4049
  /**
4836
4050
  * The CardHeader component.
@@ -4845,7 +4059,7 @@ const CardHeader = /*#__PURE__*/forwardRef((props, ref) => {
4845
4059
  isLoading,
4846
4060
  subheader
4847
4061
  } = props,
4848
- forwardedProps = _objectWithoutProperties(props, _excluded$n);
4062
+ forwardedProps = _objectWithoutProperties(props, _excluded$r);
4849
4063
  return /*#__PURE__*/React__default.createElement(StyledCardHeader, _extends$1({}, forwardedProps, {
4850
4064
  className: classNames(CardHeader.className, className),
4851
4065
  ref: ref
@@ -4869,9 +4083,9 @@ const CardHeader = /*#__PURE__*/forwardRef((props, ref) => {
4869
4083
  "aria-hidden": "true"
4870
4084
  }) : null, header)) : null, children);
4871
4085
  });
4872
- CardHeader.className = CLASSNAME$q;
4873
- CardHeader.defaultProps = DEFAULT_PROPS$q;
4874
- CardHeader.displayName = COMPONENT_NAME$q;
4086
+ CardHeader.className = CLASSNAME$s;
4087
+ CardHeader.defaultProps = DEFAULT_PROPS$s;
4088
+ CardHeader.displayName = COMPONENT_NAME$s;
4875
4089
 
4876
4090
  /**
4877
4091
  * Component style.
@@ -4887,10 +4101,10 @@ const StyledCardBody = styled.div`
4887
4101
  padding: 16px 0px;
4888
4102
  `;
4889
4103
 
4890
- const _excluded$m = ["children", "className"];
4891
- const COMPONENT_NAME$p = 'CardBody';
4892
- const CLASSNAME$p = 'redsift-card-body';
4893
- const DEFAULT_PROPS$p = {};
4104
+ const _excluded$q = ["children", "className"];
4105
+ const COMPONENT_NAME$r = 'CardBody';
4106
+ const CLASSNAME$r = 'redsift-card-body';
4107
+ const DEFAULT_PROPS$r = {};
4894
4108
 
4895
4109
  /**
4896
4110
  * The CardBody component.
@@ -4900,15 +4114,15 @@ const CardBody = /*#__PURE__*/forwardRef((props, ref) => {
4900
4114
  children,
4901
4115
  className
4902
4116
  } = props,
4903
- forwardedProps = _objectWithoutProperties(props, _excluded$m);
4117
+ forwardedProps = _objectWithoutProperties(props, _excluded$q);
4904
4118
  return /*#__PURE__*/React__default.createElement(StyledCardBody, _extends$1({}, forwardedProps, {
4905
4119
  className: classNames(CardBody.className, className),
4906
4120
  ref: ref
4907
4121
  }), children);
4908
4122
  });
4909
- CardBody.className = CLASSNAME$p;
4910
- CardBody.defaultProps = DEFAULT_PROPS$p;
4911
- CardBody.displayName = COMPONENT_NAME$p;
4123
+ CardBody.className = CLASSNAME$r;
4124
+ CardBody.defaultProps = DEFAULT_PROPS$r;
4125
+ CardBody.displayName = COMPONENT_NAME$r;
4912
4126
 
4913
4127
  /**
4914
4128
  * Component style.
@@ -4920,10 +4134,10 @@ const StyledCardActions = styled.div`
4920
4134
  margin-bottom: 8px;
4921
4135
  `;
4922
4136
 
4923
- const _excluded$l = ["children", "className"];
4924
- const COMPONENT_NAME$o = 'CardActions';
4925
- const CLASSNAME$o = 'redsift-card-actions';
4926
- const DEFAULT_PROPS$o = {
4137
+ const _excluded$p = ["children", "className"];
4138
+ const COMPONENT_NAME$q = 'CardActions';
4139
+ const CLASSNAME$q = 'redsift-card-actions';
4140
+ const DEFAULT_PROPS$q = {
4927
4141
  display: 'flex',
4928
4142
  flexDirection: 'row'
4929
4143
  };
@@ -4936,20 +4150,20 @@ const CardActions = /*#__PURE__*/forwardRef((props, ref) => {
4936
4150
  children,
4937
4151
  className
4938
4152
  } = props,
4939
- forwardedProps = _objectWithoutProperties(props, _excluded$l);
4153
+ forwardedProps = _objectWithoutProperties(props, _excluded$p);
4940
4154
  return /*#__PURE__*/React__default.createElement(StyledCardActions, _extends$1({}, forwardedProps, {
4941
4155
  className: classNames(CardActions.className, className),
4942
4156
  ref: ref
4943
4157
  }), children);
4944
4158
  });
4945
- CardActions.className = CLASSNAME$o;
4946
- CardActions.defaultProps = DEFAULT_PROPS$o;
4947
- CardActions.displayName = COMPONENT_NAME$o;
4159
+ CardActions.className = CLASSNAME$q;
4160
+ CardActions.defaultProps = DEFAULT_PROPS$q;
4161
+ CardActions.displayName = COMPONENT_NAME$q;
4948
4162
 
4949
- const _excluded$k = ["children", "className", "defaultCollapsed", "isCollapsed", "isCollapsible", "onCollapse"];
4950
- const COMPONENT_NAME$n = 'Card';
4951
- const CLASSNAME$n = 'redsift-card';
4952
- const DEFAULT_PROPS$n = {};
4163
+ const _excluded$o = ["children", "className", "defaultCollapsed", "isCollapsed", "isCollapsible", "onCollapse"];
4164
+ const COMPONENT_NAME$p = 'Card';
4165
+ const CLASSNAME$p = 'redsift-card';
4166
+ const DEFAULT_PROPS$p = {};
4953
4167
 
4954
4168
  /**
4955
4169
  * The Card component.
@@ -4963,7 +4177,7 @@ const BaseCard = /*#__PURE__*/forwardRef((props, ref) => {
4963
4177
  isCollapsible,
4964
4178
  onCollapse
4965
4179
  } = props,
4966
- forwardedProps = _objectWithoutProperties(props, _excluded$k);
4180
+ forwardedProps = _objectWithoutProperties(props, _excluded$o);
4967
4181
  const stringFormatter = useLocalizedStringFormatter(intlMessages$2);
4968
4182
  const [isCollapsed, setIsCollapsed] = useState(propsIsCollapsed !== null && propsIsCollapsed !== void 0 ? propsIsCollapsed : defaultCollapsed);
4969
4183
  useEffect(() => {
@@ -4994,9 +4208,9 @@ const BaseCard = /*#__PURE__*/forwardRef((props, ref) => {
4994
4208
  className: `${BaseCard.className}__content`
4995
4209
  }, body, actions) : null);
4996
4210
  });
4997
- BaseCard.className = CLASSNAME$n;
4998
- BaseCard.defaultProps = DEFAULT_PROPS$n;
4999
- BaseCard.displayName = COMPONENT_NAME$n;
4211
+ BaseCard.className = CLASSNAME$p;
4212
+ BaseCard.defaultProps = DEFAULT_PROPS$p;
4213
+ BaseCard.displayName = COMPONENT_NAME$p;
5000
4214
  const Card = Object.assign(BaseCard, {
5001
4215
  Header: CardHeader,
5002
4216
  Body: CardBody,
@@ -5099,10 +4313,10 @@ const StyledCheckboxGroup = styled.div`
5099
4313
  }
5100
4314
  `;
5101
4315
 
5102
- const _excluded$j = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "possibleValues", "value"];
5103
- const COMPONENT_NAME$m = 'CheckboxGroup';
5104
- const CLASSNAME$m = 'redsift-checkbox-group';
5105
- const DEFAULT_PROPS$m = {
4316
+ const _excluded$n = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "value"];
4317
+ const COMPONENT_NAME$o = 'CheckboxGroup';
4318
+ const CLASSNAME$o = 'redsift-checkbox-group';
4319
+ const DEFAULT_PROPS$o = {
5106
4320
  color: ColorPalette.default,
5107
4321
  orientation: CheckboxGroupOrientation.vertical
5108
4322
  };
@@ -5124,10 +4338,9 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((props, ref) => {
5124
4338
  label,
5125
4339
  onChange,
5126
4340
  orientation,
5127
- possibleValues,
5128
4341
  value
5129
4342
  } = props,
5130
- forwardedProps = _objectWithoutProperties(props, _excluded$j);
4343
+ forwardedProps = _objectWithoutProperties(props, _excluded$n);
5131
4344
  const [selectedValues, setValue] = useState(value || defaultValues || []);
5132
4345
  useEffect(() => {
5133
4346
  if (value) {
@@ -5138,7 +4351,6 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((props, ref) => {
5138
4351
  value: selectedValues,
5139
4352
  isDisabled: isDisabled || false,
5140
4353
  isReadOnly: isReadOnly || false,
5141
- possibleValues: possibleValues,
5142
4354
  setValue(values) {
5143
4355
  if (isReadOnly || isDisabled) {
5144
4356
  return;
@@ -5181,9 +4393,9 @@ const CheckboxGroup = /*#__PURE__*/forwardRef((props, ref) => {
5181
4393
  className: `${CheckboxGroup.className}-description`
5182
4394
  }, description));
5183
4395
  });
5184
- CheckboxGroup.className = CLASSNAME$m;
5185
- CheckboxGroup.defaultProps = DEFAULT_PROPS$m;
5186
- CheckboxGroup.displayName = COMPONENT_NAME$m;
4396
+ CheckboxGroup.className = CLASSNAME$o;
4397
+ CheckboxGroup.defaultProps = DEFAULT_PROPS$o;
4398
+ CheckboxGroup.displayName = COMPONENT_NAME$o;
5187
4399
 
5188
4400
  /**
5189
4401
  * Component style.
@@ -5291,10 +4503,10 @@ const StyledCheckbox = styled.label`
5291
4503
  }
5292
4504
  `;
5293
4505
 
5294
- const _excluded$i = ["aria-label", "aria-labelledby", "autoFocus", "children", "className", "defaultSelected", "inputProps", "inputRef", "isColored", "isControlled", "isDisabled", "isIndeterminate", "isInvalid", "isReadOnly", "isRequired", "isSelected", "name", "onChange", "value"];
5295
- const COMPONENT_NAME$l = 'Checkbox';
5296
- const CLASSNAME$l = 'redsift-checkbox';
5297
- const DEFAULT_PROPS$l = {
4506
+ const _excluded$m = ["aria-label", "aria-labelledby", "autoFocus", "children", "className", "defaultSelected", "inputProps", "inputRef", "isColored", "isControlled", "isDisabled", "isIndeterminate", "isInvalid", "isReadOnly", "isRequired", "isSelected", "name", "onChange", "value"];
4507
+ const COMPONENT_NAME$n = 'Checkbox';
4508
+ const CLASSNAME$n = 'redsift-checkbox';
4509
+ const DEFAULT_PROPS$n = {
5298
4510
  isColored: true
5299
4511
  };
5300
4512
 
@@ -5327,7 +4539,7 @@ const Checkbox = /*#__PURE__*/forwardRef((props, ref) => {
5327
4539
  onChange,
5328
4540
  value
5329
4541
  } = props,
5330
- forwardedProps = _objectWithoutProperties(props, _excluded$i);
4542
+ forwardedProps = _objectWithoutProperties(props, _excluded$m);
5331
4543
  const {
5332
4544
  isFocusVisible,
5333
4545
  focusProps
@@ -5408,9 +4620,9 @@ const Checkbox = /*#__PURE__*/forwardRef((props, ref) => {
5408
4620
  value: value
5409
4621
  })));
5410
4622
  });
5411
- Checkbox.className = CLASSNAME$l;
5412
- Checkbox.defaultProps = DEFAULT_PROPS$l;
5413
- Checkbox.displayName = COMPONENT_NAME$l;
4623
+ Checkbox.className = CLASSNAME$n;
4624
+ Checkbox.defaultProps = DEFAULT_PROPS$n;
4625
+ Checkbox.displayName = COMPONENT_NAME$n;
5414
4626
 
5415
4627
  const ConditionalWrapper = _ref => {
5416
4628
  let {
@@ -5524,10 +4736,10 @@ const StyledShield = styled.div`
5524
4736
  }}
5525
4737
  `;
5526
4738
 
5527
- const _excluded$h = ["aria-hidden", "aria-label", "className", "svgProps", "isOutlined", "isReversed", "variant"];
5528
- const COMPONENT_NAME$k = 'Shield';
5529
- const CLASSNAME$k = 'redsift-shield';
5530
- const DEFAULT_PROPS$k = {
4739
+ const _excluded$l = ["aria-hidden", "aria-label", "className", "svgProps", "isOutlined", "isReversed", "variant"];
4740
+ const COMPONENT_NAME$m = 'Shield';
4741
+ const CLASSNAME$m = 'redsift-shield';
4742
+ const DEFAULT_PROPS$m = {
5531
4743
  variant: ShieldVariant.success
5532
4744
  };
5533
4745
  const getVariant = variant => {
@@ -5613,7 +4825,7 @@ const Shield = /*#__PURE__*/forwardRef((props, ref) => {
5613
4825
  isReversed,
5614
4826
  variant
5615
4827
  } = props,
5616
- forwardedProps = _objectWithoutProperties(props, _excluded$h);
4828
+ forwardedProps = _objectWithoutProperties(props, _excluded$l);
5617
4829
  const {
5618
4830
  color,
5619
4831
  icon
@@ -5647,9 +4859,9 @@ const Shield = /*#__PURE__*/forwardRef((props, ref) => {
5647
4859
  className: "icon"
5648
4860
  })));
5649
4861
  });
5650
- Shield.className = CLASSNAME$k;
5651
- Shield.defaultProps = DEFAULT_PROPS$k;
5652
- Shield.displayName = COMPONENT_NAME$k;
4862
+ Shield.className = CLASSNAME$m;
4863
+ Shield.defaultProps = DEFAULT_PROPS$m;
4864
+ Shield.displayName = COMPONENT_NAME$m;
5653
4865
 
5654
4866
  var collapse$1 = "Collapse details";
5655
4867
  var expand$1 = "Expand details";
@@ -5701,10 +4913,10 @@ const StyledDetailedCardCollapsibleSectionItems = styled.div`
5701
4913
  }
5702
4914
  `;
5703
4915
 
5704
- const _excluded$g = ["caption", "children", "className", "hideBackground"];
5705
- const COMPONENT_NAME$j = 'DetailedCardCollapsibleSectionItems';
5706
- const CLASSNAME$j = 'redsift-detailed-card-collapsible-section-items';
5707
- const DEFAULT_PROPS$j = {};
4916
+ const _excluded$k = ["caption", "children", "className", "hideBackground"];
4917
+ const COMPONENT_NAME$l = 'DetailedCardCollapsibleSectionItems';
4918
+ const CLASSNAME$l = 'redsift-detailed-card-collapsible-section-items';
4919
+ const DEFAULT_PROPS$l = {};
5708
4920
 
5709
4921
  /**
5710
4922
  * The DetailedCardCollapsibleSectionItems Section component.
@@ -5716,7 +4928,7 @@ const DetailedCardCollapsibleSectionItems = /*#__PURE__*/forwardRef((props, ref)
5716
4928
  className,
5717
4929
  hideBackground
5718
4930
  } = props,
5719
- forwardedProps = _objectWithoutProperties(props, _excluded$g);
4931
+ forwardedProps = _objectWithoutProperties(props, _excluded$k);
5720
4932
  return /*#__PURE__*/React__default.createElement(StyledDetailedCardCollapsibleSectionItems, _extends$1({}, forwardedProps, {
5721
4933
  className: classNames(DetailedCardCollapsibleSectionItems.className, className),
5722
4934
  ref: ref,
@@ -5725,9 +4937,9 @@ const DetailedCardCollapsibleSectionItems = /*#__PURE__*/forwardRef((props, ref)
5725
4937
  className: `${DetailedCardCollapsibleSectionItems.className}__caption`
5726
4938
  }, caption) : null);
5727
4939
  });
5728
- DetailedCardCollapsibleSectionItems.className = CLASSNAME$j;
5729
- DetailedCardCollapsibleSectionItems.defaultProps = DEFAULT_PROPS$j;
5730
- DetailedCardCollapsibleSectionItems.displayName = COMPONENT_NAME$j;
4940
+ DetailedCardCollapsibleSectionItems.className = CLASSNAME$l;
4941
+ DetailedCardCollapsibleSectionItems.defaultProps = DEFAULT_PROPS$l;
4942
+ DetailedCardCollapsibleSectionItems.displayName = COMPONENT_NAME$l;
5731
4943
 
5732
4944
  /**
5733
4945
  * Component style.
@@ -5912,10 +5124,10 @@ const StyledText = styled.span`
5912
5124
  }}
5913
5125
  `;
5914
5126
 
5915
- const _excluded$f = ["as", "children", "className", "color", "fontFamily", "fontSize", "lineHeight", "noWrap", "variant"];
5916
- const COMPONENT_NAME$i = 'Text';
5917
- const CLASSNAME$i = 'redsift-text';
5918
- const DEFAULT_PROPS$i = {
5127
+ const _excluded$j = ["as", "children", "className", "color", "fontFamily", "fontSize", "lineHeight", "noWrap", "variant"];
5128
+ const COMPONENT_NAME$k = 'Text';
5129
+ const CLASSNAME$k = 'redsift-text';
5130
+ const DEFAULT_PROPS$k = {
5919
5131
  fontFamily: FontFamily.raleway
5920
5132
  };
5921
5133
 
@@ -5934,7 +5146,7 @@ const Text = /*#__PURE__*/forwardRef((props, ref) => {
5934
5146
  noWrap,
5935
5147
  variant
5936
5148
  } = props,
5937
- forwardedProps = _objectWithoutProperties(props, _excluded$f);
5149
+ forwardedProps = _objectWithoutProperties(props, _excluded$j);
5938
5150
  return /*#__PURE__*/React__default.createElement(StyledText, _extends$1({
5939
5151
  as: as
5940
5152
  }, forwardedProps, {
@@ -5949,14 +5161,14 @@ const Text = /*#__PURE__*/forwardRef((props, ref) => {
5949
5161
  $variant: variant
5950
5162
  }), children);
5951
5163
  });
5952
- Text.className = CLASSNAME$i;
5953
- Text.defaultProps = DEFAULT_PROPS$i;
5954
- Text.displayName = COMPONENT_NAME$i;
5955
-
5956
- const _excluded$e = ["badge", "color", "children", "className", "header", "isCollapsed", "isCollapsible", "isLoading"];
5957
- const COMPONENT_NAME$h = 'DetailedCardSection';
5958
- const CLASSNAME$h = 'redsift-detailed-card-section';
5959
- const DEFAULT_PROPS$h = {
5164
+ Text.className = CLASSNAME$k;
5165
+ Text.defaultProps = DEFAULT_PROPS$k;
5166
+ Text.displayName = COMPONENT_NAME$k;
5167
+
5168
+ const _excluded$i = ["badge", "color", "children", "className", "header", "isCollapsed", "isCollapsible", "isLoading"];
5169
+ const COMPONENT_NAME$j = 'DetailedCardSection';
5170
+ const CLASSNAME$j = 'redsift-detailed-card-section';
5171
+ const DEFAULT_PROPS$j = {
5960
5172
  isCollapsible: true
5961
5173
  };
5962
5174
  const hasCollapsibleChildren = children => {
@@ -5983,7 +5195,7 @@ const DetailedCardSection = /*#__PURE__*/forwardRef((props, ref) => {
5983
5195
  isCollapsible: propsIsCollapsible,
5984
5196
  isLoading
5985
5197
  } = props,
5986
- forwardedProps = _objectWithoutProperties(props, _excluded$e);
5198
+ forwardedProps = _objectWithoutProperties(props, _excluded$i);
5987
5199
  const stringFormatter = useLocalizedStringFormatter(intlMessages);
5988
5200
  const isCollapsible = propsIsCollapsible && hasCollapsibleChildren(children);
5989
5201
  const [isCollapsed, setIsCollapsed] = useState(Boolean(propsIsCollapsed));
@@ -6026,9 +5238,9 @@ const DetailedCardSection = /*#__PURE__*/forwardRef((props, ref) => {
6026
5238
  }
6027
5239
  }) : null), children);
6028
5240
  });
6029
- DetailedCardSection.className = CLASSNAME$h;
6030
- DetailedCardSection.defaultProps = DEFAULT_PROPS$h;
6031
- DetailedCardSection.displayName = COMPONENT_NAME$h;
5241
+ DetailedCardSection.className = CLASSNAME$j;
5242
+ DetailedCardSection.defaultProps = DEFAULT_PROPS$j;
5243
+ DetailedCardSection.displayName = COMPONENT_NAME$j;
6032
5244
 
6033
5245
  /**
6034
5246
  * Component style.
@@ -6069,10 +5281,10 @@ const StyledDetailedCardHeader = styled.div`
6069
5281
  }
6070
5282
  `;
6071
5283
 
6072
- const _excluded$d = ["children", "className", "header", "headingProps", "isLoading"];
6073
- const COMPONENT_NAME$g = 'DetailedCardHeader';
6074
- const CLASSNAME$g = 'redsift-detailed-card-header';
6075
- const DEFAULT_PROPS$g = {};
5284
+ const _excluded$h = ["children", "className", "header", "headingProps", "isLoading"];
5285
+ const COMPONENT_NAME$i = 'DetailedCardHeader';
5286
+ const CLASSNAME$i = 'redsift-detailed-card-header';
5287
+ const DEFAULT_PROPS$i = {};
6076
5288
 
6077
5289
  /**
6078
5290
  * The DetailedCardHeader component.
@@ -6085,7 +5297,7 @@ const DetailedCardHeader = /*#__PURE__*/forwardRef((props, ref) => {
6085
5297
  headingProps,
6086
5298
  isLoading
6087
5299
  } = props,
6088
- forwardedProps = _objectWithoutProperties(props, _excluded$d);
5300
+ forwardedProps = _objectWithoutProperties(props, _excluded$h);
6089
5301
  return /*#__PURE__*/React__default.createElement(StyledDetailedCardHeader, _extends$1({}, forwardedProps, {
6090
5302
  className: classNames(DetailedCardHeader.className, className),
6091
5303
  ref: ref
@@ -6100,9 +5312,9 @@ const DetailedCardHeader = /*#__PURE__*/forwardRef((props, ref) => {
6100
5312
  variant: "h2"
6101
5313
  }, headingProps), header)) : null, children);
6102
5314
  });
6103
- DetailedCardHeader.className = CLASSNAME$g;
6104
- DetailedCardHeader.defaultProps = DEFAULT_PROPS$g;
6105
- DetailedCardHeader.displayName = COMPONENT_NAME$g;
5315
+ DetailedCardHeader.className = CLASSNAME$i;
5316
+ DetailedCardHeader.defaultProps = DEFAULT_PROPS$i;
5317
+ DetailedCardHeader.displayName = COMPONENT_NAME$i;
6106
5318
 
6107
5319
  /**
6108
5320
  * Component style.
@@ -6146,10 +5358,10 @@ const StyledPill = styled.div`
6146
5358
  }
6147
5359
  `;
6148
5360
 
6149
- const _excluded$c = ["autoBreak", "children", "className", "color"];
6150
- const COMPONENT_NAME$f = 'Pill';
6151
- const CLASSNAME$f = 'redsift-pill';
6152
- const DEFAULT_PROPS$f = {
5361
+ const _excluded$g = ["autoBreak", "children", "className", "color"];
5362
+ const COMPONENT_NAME$h = 'Pill';
5363
+ const CLASSNAME$h = 'redsift-pill';
5364
+ const DEFAULT_PROPS$h = {
6153
5365
  color: DataVizColorPalette.pink,
6154
5366
  height: 'fit-content'
6155
5367
  };
@@ -6164,7 +5376,7 @@ const Pill = /*#__PURE__*/forwardRef((props, ref) => {
6164
5376
  className,
6165
5377
  color
6166
5378
  } = props,
6167
- forwardedProps = _objectWithoutProperties(props, _excluded$c);
5379
+ forwardedProps = _objectWithoutProperties(props, _excluded$g);
6168
5380
  return /*#__PURE__*/React__default.createElement(StyledPill, _extends$1({}, forwardedProps, {
6169
5381
  $autoBreak: autoBreak,
6170
5382
  $color: color,
@@ -6172,9 +5384,9 @@ const Pill = /*#__PURE__*/forwardRef((props, ref) => {
6172
5384
  ref: ref
6173
5385
  }), children);
6174
5386
  });
6175
- Pill.className = CLASSNAME$f;
6176
- Pill.defaultProps = DEFAULT_PROPS$f;
6177
- Pill.displayName = COMPONENT_NAME$f;
5387
+ Pill.className = CLASSNAME$h;
5388
+ Pill.defaultProps = DEFAULT_PROPS$h;
5389
+ Pill.displayName = COMPONENT_NAME$h;
6178
5390
 
6179
5391
  /**
6180
5392
  * Component style.
@@ -6204,10 +5416,10 @@ const StyledDetailedCardSectionItem = styled.div`
6204
5416
  }
6205
5417
  `;
6206
5418
 
6207
- const _excluded$b = ["children", "className", "description", "icon", "iconProps", "isLoading", "pill", "pillProps", "shield"];
6208
- const COMPONENT_NAME$e = 'DetailedCardSectionItem';
6209
- const CLASSNAME$e = 'redsift-detailed-card-section-item';
6210
- const DEFAULT_PROPS$e = {};
5419
+ const _excluded$f = ["children", "className", "description", "icon", "iconProps", "isLoading", "pill", "pillProps", "shield"];
5420
+ const COMPONENT_NAME$g = 'DetailedCardSectionItem';
5421
+ const CLASSNAME$g = 'redsift-detailed-card-section-item';
5422
+ const DEFAULT_PROPS$g = {};
6211
5423
 
6212
5424
  /**
6213
5425
  * The DetailedCardSectionItems component.
@@ -6224,7 +5436,7 @@ const DetailedCardSectionItem = /*#__PURE__*/forwardRef((props, ref) => {
6224
5436
  pillProps,
6225
5437
  shield
6226
5438
  } = props,
6227
- forwardedProps = _objectWithoutProperties(props, _excluded$b);
5439
+ forwardedProps = _objectWithoutProperties(props, _excluded$f);
6228
5440
  return /*#__PURE__*/React__default.createElement(StyledDetailedCardSectionItem, _extends$1({}, forwardedProps, {
6229
5441
  className: classNames(DetailedCardSectionItem.className, className),
6230
5442
  ref: ref
@@ -6252,9 +5464,9 @@ const DetailedCardSectionItem = /*#__PURE__*/forwardRef((props, ref) => {
6252
5464
  className: `${DetailedCardSectionItem.className}-header__pill`
6253
5465
  }, pillProps), pill), typeof description === 'string' ? /*#__PURE__*/React__default.createElement(Text, null, description) : description)) : null), children);
6254
5466
  });
6255
- DetailedCardSectionItem.className = CLASSNAME$e;
6256
- DetailedCardSectionItem.defaultProps = DEFAULT_PROPS$e;
6257
- DetailedCardSectionItem.displayName = COMPONENT_NAME$e;
5467
+ DetailedCardSectionItem.className = CLASSNAME$g;
5468
+ DetailedCardSectionItem.defaultProps = DEFAULT_PROPS$g;
5469
+ DetailedCardSectionItem.displayName = COMPONENT_NAME$g;
6258
5470
 
6259
5471
  /*!
6260
5472
  * tabbable 6.1.2
@@ -9759,9 +8971,9 @@ const StyledTooltipContent = styled.div`
9759
8971
  }}
9760
8972
  `;
9761
8973
 
9762
- const COMPONENT_NAME$d = 'TooltipContent';
9763
- const CLASSNAME$d = 'redsift-tooltip-content';
9764
- const DEFAULT_PROPS$d = {};
8974
+ const COMPONENT_NAME$f = 'TooltipContent';
8975
+ const CLASSNAME$f = 'redsift-tooltip-content';
8976
+ const DEFAULT_PROPS$f = {};
9765
8977
 
9766
8978
  /**
9767
8979
  * The TooltipContent component.
@@ -9822,13 +9034,13 @@ const TooltipContent = /*#__PURE__*/forwardRef((props, ref) => {
9822
9034
  className: `${TooltipContent.className}__inner`
9823
9035
  }, children)));
9824
9036
  });
9825
- TooltipContent.className = CLASSNAME$d;
9826
- TooltipContent.defaultProps = DEFAULT_PROPS$d;
9827
- TooltipContent.displayName = COMPONENT_NAME$d;
9037
+ TooltipContent.className = CLASSNAME$f;
9038
+ TooltipContent.defaultProps = DEFAULT_PROPS$f;
9039
+ TooltipContent.displayName = COMPONENT_NAME$f;
9828
9040
 
9829
- const COMPONENT_NAME$c = 'TooltipTrigger';
9830
- const CLASSNAME$c = 'redsift-tooltip-trigger';
9831
- const DEFAULT_PROPS$c = {};
9041
+ const COMPONENT_NAME$e = 'TooltipTrigger';
9042
+ const CLASSNAME$e = 'redsift-tooltip-trigger';
9043
+ const DEFAULT_PROPS$e = {};
9832
9044
 
9833
9045
  /**
9834
9046
  * The TooltipTrigger component.
@@ -9855,9 +9067,9 @@ const TooltipTrigger = /*#__PURE__*/forwardRef((props, ref) => {
9855
9067
  ref: triggerRef
9856
9068
  }, getReferenceProps(props)), children);
9857
9069
  });
9858
- TooltipTrigger.className = CLASSNAME$c;
9859
- TooltipTrigger.defaultProps = DEFAULT_PROPS$c;
9860
- TooltipTrigger.displayName = COMPONENT_NAME$c;
9070
+ TooltipTrigger.className = CLASSNAME$e;
9071
+ TooltipTrigger.defaultProps = DEFAULT_PROPS$e;
9072
+ TooltipTrigger.displayName = COMPONENT_NAME$e;
9861
9073
 
9862
9074
  function useTooltip(_ref) {
9863
9075
  let {
@@ -9918,9 +9130,9 @@ function useTooltip(_ref) {
9918
9130
  }), [isOpen, handleOpen, interactions, data, arrowRef, tooltipId]);
9919
9131
  }
9920
9132
 
9921
- const COMPONENT_NAME$b = 'Tooltip';
9922
- const CLASSNAME$b = 'redsift-tooltip';
9923
- const DEFAULT_PROPS$b = {
9133
+ const COMPONENT_NAME$d = 'Tooltip';
9134
+ const CLASSNAME$d = 'redsift-tooltip';
9135
+ const DEFAULT_PROPS$d = {
9924
9136
  delay: 500,
9925
9137
  placement: TooltipPlacement.top
9926
9138
  };
@@ -9951,9 +9163,9 @@ const BaseTooltip = props => {
9951
9163
  value: tooltip
9952
9164
  }, trigger, content);
9953
9165
  };
9954
- BaseTooltip.className = CLASSNAME$b;
9955
- BaseTooltip.defaultProps = DEFAULT_PROPS$b;
9956
- BaseTooltip.displayName = COMPONENT_NAME$b;
9166
+ BaseTooltip.className = CLASSNAME$d;
9167
+ BaseTooltip.defaultProps = DEFAULT_PROPS$d;
9168
+ BaseTooltip.displayName = COMPONENT_NAME$d;
9957
9169
  const Tooltip = Object.assign(BaseTooltip, {
9958
9170
  Trigger: TooltipTrigger,
9959
9171
  Content: TooltipContent
@@ -9967,10 +9179,10 @@ const useTooltipContext = () => {
9967
9179
  return context;
9968
9180
  };
9969
9181
 
9970
- const _excluded$a = ["areAllCollapsed", "bannerVariant", "children", "className", "color", "defaultAllCollapsed", "icon", "isCollapsible", "isLoading", "onCollapseAll", "shield"];
9971
- const COMPONENT_NAME$a = 'DetailedCard';
9972
- const CLASSNAME$a = 'redsift-detailed-card';
9973
- const DEFAULT_PROPS$a = {
9182
+ const _excluded$e = ["areAllCollapsed", "bannerVariant", "children", "className", "color", "defaultAllCollapsed", "icon", "isCollapsible", "isLoading", "onCollapseAll", "shield"];
9183
+ const COMPONENT_NAME$c = 'DetailedCard';
9184
+ const CLASSNAME$c = 'redsift-detailed-card';
9185
+ const DEFAULT_PROPS$c = {
9974
9186
  isCollapsible: true,
9975
9187
  width: '400px'
9976
9188
  };
@@ -10010,7 +9222,7 @@ const BaseDetailedCard = /*#__PURE__*/forwardRef((props, ref) => {
10010
9222
  onCollapseAll,
10011
9223
  shield
10012
9224
  } = props,
10013
- forwardedProps = _objectWithoutProperties(props, _excluded$a);
9225
+ forwardedProps = _objectWithoutProperties(props, _excluded$e);
10014
9226
  const stringFormatter = useLocalizedStringFormatter(intlMessages$1);
10015
9227
  const isCollapsible = propsIsCollapsible && hasMultipleCollapsibleChildren(children);
10016
9228
  const [allCollapsed, setAllCollapsed] = useState({
@@ -10096,9 +9308,9 @@ const BaseDetailedCard = /*#__PURE__*/forwardRef((props, ref) => {
10096
9308
  return child;
10097
9309
  }));
10098
9310
  });
10099
- BaseDetailedCard.className = CLASSNAME$a;
10100
- BaseDetailedCard.defaultProps = DEFAULT_PROPS$a;
10101
- BaseDetailedCard.displayName = COMPONENT_NAME$a;
9311
+ BaseDetailedCard.className = CLASSNAME$c;
9312
+ BaseDetailedCard.defaultProps = DEFAULT_PROPS$c;
9313
+ BaseDetailedCard.displayName = COMPONENT_NAME$c;
10102
9314
  const DetailedCard = Object.assign(BaseDetailedCard, {
10103
9315
  Header: DetailedCardHeader,
10104
9316
  Section: DetailedCardSection,
@@ -10106,21 +9318,745 @@ const DetailedCard = Object.assign(BaseDetailedCard, {
10106
9318
  SectionItem: DetailedCardSectionItem
10107
9319
  });
10108
9320
 
9321
+ let EventKey = /*#__PURE__*/function (EventKey) {
9322
+ EventKey["ArrowLeft"] = "ArrowLeft";
9323
+ EventKey["ArrowRight"] = "ArrowRight";
9324
+ EventKey["ArrowUp"] = "ArrowUp";
9325
+ EventKey["ArrowDown"] = "ArrowDown";
9326
+ EventKey["Home"] = "Home";
9327
+ EventKey["End"] = "End";
9328
+ return EventKey;
9329
+ }({});
9330
+ let Navigation = /*#__PURE__*/function (Navigation) {
9331
+ Navigation["PREVIOUS"] = "PREVIOUS";
9332
+ Navigation["NEXT"] = "NEXT";
9333
+ Navigation["VERY_FIRST"] = "VERY_FIRST";
9334
+ Navigation["VERY_LAST"] = "VERY_LAST";
9335
+ Navigation["PREVIOUS_ROW"] = "PREVIOUS_ROW";
9336
+ Navigation["NEXT_ROW"] = "NEXT_ROW";
9337
+ Navigation["FIRST_IN_ROW"] = "FIRST_IN_ROW";
9338
+ Navigation["LAST_IN_ROW"] = "LAST_IN_ROW";
9339
+ return Navigation;
9340
+ }({});
9341
+ let FocusWithinGroupActionType = /*#__PURE__*/function (FocusWithinGroupActionType) {
9342
+ FocusWithinGroupActionType["REGISTER_TAB_STOP"] = "REGISTER_TAB_STOP";
9343
+ FocusWithinGroupActionType["UNREGISTER_TAB_STOP"] = "UNREGISTER_TAB_STOP";
9344
+ FocusWithinGroupActionType["KEY_DOWN_ON_ITEM"] = "KEY_DOWN_ON_ITEM";
9345
+ FocusWithinGroupActionType["CLICK_ON_ITEM"] = "CLICK_ON_ITEM";
9346
+ FocusWithinGroupActionType["KEY_DOWN_ON_LIST"] = "KEY_DOWN_ON_LIST";
9347
+ FocusWithinGroupActionType["FOCUS_ON_LIST"] = "FOCUS_ON_LIST";
9348
+ FocusWithinGroupActionType["BLUR_ON_LIST"] = "BLUR_ON_LIST";
9349
+ FocusWithinGroupActionType["TAB_STOP_UPDATED"] = "TAB_STOP_UPDATED";
9350
+ FocusWithinGroupActionType["OPTIONS_UPDATED"] = "OPTIONS_UPDATED";
9351
+ FocusWithinGroupActionType["FILTER_LIST"] = "FILTER_LIST";
9352
+ FocusWithinGroupActionType["DELAY_ACTION"] = "DELAY_ACTION";
9353
+ return FocusWithinGroupActionType;
9354
+ }({});
9355
+
10109
9356
  /**
10110
- * Component style.
9357
+ * Component props.
10111
9358
  */
10112
- const StyledGrid = styled.div`
10113
- display: ${_ref => {
10114
- let {
10115
- inline
10116
- } = _ref;
10117
- return inline ? 'inline-grid' : 'grid';
10118
- }};
10119
9359
 
10120
- ${baseStyling}
10121
- ${baseInternalSpacing}
10122
- ${baseGrid}
10123
- `;
9360
+ const FOCUS_WITHING_GROUP_INITIAL_STATE = {
9361
+ selectedId: null,
9362
+ allowFocusing: false,
9363
+ tabStops: [],
9364
+ direction: 'vertical',
9365
+ focusOnClick: false,
9366
+ focusOnInit: true,
9367
+ loopAround: false,
9368
+ rowStartMap: null,
9369
+ focusType: 'roving-tabindex'
9370
+ };
9371
+ const FocusWithinGroupContext = /*#__PURE__*/React__default.createContext({
9372
+ state: FOCUS_WITHING_GROUP_INITIAL_STATE,
9373
+ dispatch: () => {}
9374
+ });
9375
+
9376
+ const DOCUMENT_POSITION_FOLLOWING = 4;
9377
+ const FocusWithinGroupReducer = (state, action) => {
9378
+ switch (action.type) {
9379
+ case FocusWithinGroupActionType.REGISTER_TAB_STOP:
9380
+ {
9381
+ const newTabStop = action.payload;
9382
+ if (!newTabStop.domElementRef.current) {
9383
+ return state;
9384
+ }
9385
+
9386
+ // Iterate backwards through state.tabStops since it is
9387
+ // most likely that the tab stop will need to be inserted
9388
+ // at the end of that array.
9389
+ let indexToInsertAt = -1;
9390
+ for (let i = state.tabStops.length - 1; i >= 0; --i) {
9391
+ const loopTabStop = state.tabStops[i];
9392
+ if (loopTabStop.id === newTabStop.id) {
9393
+ // console.warn(false, `'${newTabStop.id}' tab stop already registered`);
9394
+ return state;
9395
+ }
9396
+ // The compareDocumentPosition condition is true
9397
+ // if newTabStop follows loopTabStop:
9398
+ if (indexToInsertAt === -1 && loopTabStop.domElementRef.current && !!(loopTabStop.domElementRef.current.compareDocumentPosition(newTabStop.domElementRef.current) & DOCUMENT_POSITION_FOLLOWING)) {
9399
+ indexToInsertAt = i + 1;
9400
+ break;
9401
+ }
9402
+ }
9403
+
9404
+ // The indexToInsertAt is -1 when newTabStop should be inserted
9405
+ // at the start of tabStops (the compareDocumentPosition condition
9406
+ // always returns false in that case).
9407
+ if (indexToInsertAt === -1) {
9408
+ indexToInsertAt = 0;
9409
+ }
9410
+ const newTabStops = state.tabStops.slice();
9411
+ newTabStops.splice(indexToInsertAt, 0, newTabStop);
9412
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9413
+ selectedId: state.focusOnInit ? getUpdatedSelectedId(newTabStops, state.selectedId) : null,
9414
+ tabStops: newTabStops,
9415
+ rowStartMap: null
9416
+ });
9417
+ }
9418
+ case FocusWithinGroupActionType.UNREGISTER_TAB_STOP:
9419
+ {
9420
+ const id = action.payload.id;
9421
+ const newTabStops = state.tabStops.filter(tabStop => tabStop.id !== id);
9422
+ if (newTabStops.length === state.tabStops.length) {
9423
+ // console.warn(false, `'${id}' tab stop already unregistered`);
9424
+ return state;
9425
+ }
9426
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9427
+ selectedId: state.focusOnInit ? getUpdatedSelectedId(newTabStops, state.selectedId) : null,
9428
+ tabStops: newTabStops,
9429
+ rowStartMap: null
9430
+ });
9431
+ }
9432
+ case FocusWithinGroupActionType.TAB_STOP_UPDATED:
9433
+ {
9434
+ const {
9435
+ id,
9436
+ rowIndex,
9437
+ isDisabled
9438
+ } = action.payload;
9439
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9440
+ if (index === -1) {
9441
+ console.warn(false, `'${id}' tab stop not registered`);
9442
+ return state;
9443
+ }
9444
+ const tabStop = state.tabStops[index];
9445
+ if (tabStop.isDisabled === isDisabled && tabStop.rowIndex === rowIndex) {
9446
+ // Nothing to do so short-circuit.
9447
+ return state;
9448
+ }
9449
+ const newTabStop = _objectSpread2(_objectSpread2({}, tabStop), {}, {
9450
+ rowIndex,
9451
+ isDisabled
9452
+ });
9453
+ const newTabStops = state.tabStops.slice();
9454
+ newTabStops.splice(index, 1, newTabStop);
9455
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9456
+ selectedId: state.focusOnInit ? getUpdatedSelectedId(newTabStops, state.selectedId) : null,
9457
+ tabStops: newTabStops,
9458
+ rowStartMap: null
9459
+ });
9460
+ }
9461
+ case FocusWithinGroupActionType.KEY_DOWN_ON_ITEM:
9462
+ {
9463
+ const {
9464
+ id,
9465
+ key,
9466
+ ctrlKey
9467
+ } = action.payload;
9468
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9469
+ if (index === -1) {
9470
+ console.warn(false, `'${id}' tab stop not registered`);
9471
+ return state;
9472
+ }
9473
+ return moveSelectionFromKey(state, index, key, ctrlKey);
9474
+ }
9475
+ case FocusWithinGroupActionType.CLICK_ON_ITEM:
9476
+ {
9477
+ const id = action.payload.id;
9478
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9479
+ if (index === -1) {
9480
+ console.warn(false, `'${id}' tab stop not registered`);
9481
+ return state;
9482
+ }
9483
+ const currentTabStop = state.tabStops[index];
9484
+ return currentTabStop.isDisabled ? state : selectTabStop(state, currentTabStop, undefined, state.focusOnClick);
9485
+ }
9486
+ case FocusWithinGroupActionType.FOCUS_ON_LIST:
9487
+ {
9488
+ var _action$payload$id, _state$tabStops$;
9489
+ const id = (_action$payload$id = action.payload.id) !== null && _action$payload$id !== void 0 ? _action$payload$id : (_state$tabStops$ = state.tabStops[0]) === null || _state$tabStops$ === void 0 ? void 0 : _state$tabStops$.id;
9490
+ const index = state.tabStops.findIndex(tabStop => tabStop.id === id);
9491
+ if (index === -1) {
9492
+ return state;
9493
+ }
9494
+ const currentTabStop = state.tabStops[index];
9495
+ return currentTabStop.isDisabled ? _objectSpread2(_objectSpread2({}, state), {}, {
9496
+ delayedAction: undefined
9497
+ }) : selectTabStop(_objectSpread2(_objectSpread2({}, state), {}, {
9498
+ delayedAction: undefined
9499
+ }), currentTabStop, undefined, state.focusOnClick);
9500
+ }
9501
+ case FocusWithinGroupActionType.BLUR_ON_LIST:
9502
+ {
9503
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9504
+ activedescendant: ['', '']
9505
+ });
9506
+ }
9507
+ case FocusWithinGroupActionType.KEY_DOWN_ON_LIST:
9508
+ {
9509
+ const {
9510
+ key,
9511
+ ctrlKey
9512
+ } = action.payload;
9513
+ let index = state.tabStops.findIndex(tabStop => tabStop.id === state.selectedId);
9514
+ if (index === -1) {
9515
+ if (state.focusOnInit) {
9516
+ console.warn(false, `'${state.selectedId}' tab stop not registered`);
9517
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9518
+ delayedAction: undefined
9519
+ });
9520
+ } else {
9521
+ index = 0;
9522
+ }
9523
+ }
9524
+ return moveSelectionFromKey(_objectSpread2(_objectSpread2({}, state), {}, {
9525
+ delayedAction: undefined
9526
+ }), index, key, ctrlKey);
9527
+ }
9528
+ case FocusWithinGroupActionType.OPTIONS_UPDATED:
9529
+ return _objectSpread2(_objectSpread2({}, state), action.payload);
9530
+ case FocusWithinGroupActionType.FILTER_LIST:
9531
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9532
+ selectedId: null,
9533
+ activedescendant: ['', '']
9534
+ }, action.payload);
9535
+ case FocusWithinGroupActionType.DELAY_ACTION:
9536
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9537
+ delayedAction: action.payload
9538
+ });
9539
+ /* istanbul ignore next */
9540
+ default:
9541
+ return state;
9542
+ }
9543
+ };
9544
+ function findIndexOfVeryFirstActiveTabStop(tabStops) {
9545
+ return tabStops.findIndex(tabStop => !tabStop.isDisabled);
9546
+ }
9547
+ function findIndexOfVeryLastActiveTabStop(tabStops) {
9548
+ for (let i = tabStops.length - 1; i >= 0; --i) {
9549
+ const tabStop = tabStops[i];
9550
+ if (!tabStop.isDisabled) {
9551
+ return i;
9552
+ }
9553
+ }
9554
+ return -1;
9555
+ }
9556
+
9557
+ // Determine the updated value for selectedId:
9558
+ function getUpdatedSelectedId(tabStops, currentSelectedId) {
9559
+ if (currentSelectedId === null) {
9560
+ // There is not currently selected tab stop, so find
9561
+ // the first tab stop that is not isDisabled and return
9562
+ // its id, otherwise return null.
9563
+ const index = tabStops.findIndex(tabStop => !tabStop.isDisabled);
9564
+ return index === -1 ? null : tabStops[index].id;
9565
+ }
9566
+ let index = tabStops.findIndex(tabStop => tabStop.id === currentSelectedId);
9567
+ if (index !== -1 && !tabStops[index].isDisabled) {
9568
+ // The current selected id is still valid, so return it.
9569
+ return currentSelectedId;
9570
+ }
9571
+
9572
+ // Finds the first tab stop that is not isDisabled and return
9573
+ // its id, otherwise return null.
9574
+ index = tabStops.findIndex(tabStop => !tabStop.isDisabled);
9575
+ return index === -1 ? null : tabStops[index].id;
9576
+ }
9577
+
9578
+ // Translates the user key down event info into a navigation instruction.
9579
+ function getNavigationValue(key, ctrlKey, isGrid, direction, loopAround, isFirst, isLast) {
9580
+ switch (key) {
9581
+ case EventKey.ArrowLeft:
9582
+ if (isGrid || direction === 'horizontal' || direction === 'both') {
9583
+ return !isGrid && loopAround && isFirst ? Navigation.VERY_LAST : Navigation.PREVIOUS;
9584
+ }
9585
+ return null;
9586
+ case EventKey.ArrowRight:
9587
+ if (isGrid || direction === 'horizontal' || direction === 'both') {
9588
+ return !isGrid && loopAround && isLast ? Navigation.VERY_FIRST : Navigation.NEXT;
9589
+ }
9590
+ return null;
9591
+ case EventKey.ArrowUp:
9592
+ if (isGrid) {
9593
+ return Navigation.PREVIOUS_ROW;
9594
+ } else if (direction === 'vertical' || direction === 'both') {
9595
+ return loopAround && isFirst ? Navigation.VERY_LAST : Navigation.PREVIOUS;
9596
+ }
9597
+ return null;
9598
+ case EventKey.ArrowDown:
9599
+ if (isGrid) {
9600
+ return Navigation.NEXT_ROW;
9601
+ } else if (direction === 'vertical' || direction === 'both') {
9602
+ return loopAround && isLast ? Navigation.VERY_FIRST : Navigation.NEXT;
9603
+ }
9604
+ return null;
9605
+ case EventKey.Home:
9606
+ return !isGrid || ctrlKey ? Navigation.VERY_FIRST : Navigation.FIRST_IN_ROW;
9607
+ case EventKey.End:
9608
+ return !isGrid || ctrlKey ? Navigation.VERY_LAST : Navigation.LAST_IN_ROW;
9609
+ /* istanbul ignore next */
9610
+ default:
9611
+ return null;
9612
+ }
9613
+ }
9614
+
9615
+ // Creates the new state for a tab stop when it becomes the selected one.
9616
+ function selectTabStop(state, tabStop, rowStartMap) {
9617
+ let allowFocusing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
9618
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9619
+ allowFocusing,
9620
+ selectedId: tabStop.id,
9621
+ rowStartMap: rowStartMap || state.rowStartMap,
9622
+ activedescendant: state.focusType === 'virtual-focus' ? [tabStop.id, tabStop.value] : undefined
9623
+ });
9624
+ }
9625
+
9626
+ // Creates the row start index lookup map
9627
+ // for the currently registered tab stops.
9628
+ function createRowStartMap(state) {
9629
+ const map = new Map();
9630
+ for (let i = 0; i < state.tabStops.length; ++i) {
9631
+ const {
9632
+ rowIndex
9633
+ } = state.tabStops[i];
9634
+ if (rowIndex !== null && !map.has(rowIndex)) {
9635
+ map.set(rowIndex, i);
9636
+ }
9637
+ }
9638
+ return map;
9639
+ }
9640
+ function moveSelectionFromKey(state, index, key, ctrlKey) {
9641
+ const currentTabStop = state.tabStops[index];
9642
+ if (currentTabStop.isDisabled) {
9643
+ return state;
9644
+ }
9645
+ const isGrid = currentTabStop.rowIndex !== null;
9646
+ const isFirst = index === findIndexOfVeryFirstActiveTabStop(state.tabStops);
9647
+ const isLast = index === findIndexOfVeryLastActiveTabStop(state.tabStops);
9648
+ const navigation = getNavigationValue(key, ctrlKey, isGrid, state.direction, state.loopAround, isFirst, isLast);
9649
+ if (!navigation) {
9650
+ return state;
9651
+ }
9652
+ switch (navigation) {
9653
+ case Navigation.NEXT:
9654
+ {
9655
+ for (let i = index + 1; i < state.tabStops.length; ++i) {
9656
+ const tabStop = state.tabStops[i];
9657
+ if (isGrid && tabStop.rowIndex !== currentTabStop.rowIndex) {
9658
+ break;
9659
+ }
9660
+ if (!tabStop.isDisabled) {
9661
+ return selectTabStop(state, tabStop);
9662
+ }
9663
+ }
9664
+ }
9665
+ break;
9666
+ case Navigation.PREVIOUS:
9667
+ {
9668
+ for (let i = index - 1; i >= 0; --i) {
9669
+ const tabStop = state.tabStops[i];
9670
+ if (isGrid && tabStop.rowIndex !== currentTabStop.rowIndex) {
9671
+ break;
9672
+ }
9673
+ if (!tabStop.isDisabled) {
9674
+ return selectTabStop(state, tabStop);
9675
+ }
9676
+ }
9677
+ }
9678
+ break;
9679
+ case Navigation.VERY_FIRST:
9680
+ {
9681
+ const index = findIndexOfVeryFirstActiveTabStop(state.tabStops);
9682
+ if (index > -1) {
9683
+ return selectTabStop(state, state.tabStops[index]);
9684
+ }
9685
+ }
9686
+ break;
9687
+ case Navigation.VERY_LAST:
9688
+ {
9689
+ const index = findIndexOfVeryLastActiveTabStop(state.tabStops);
9690
+ if (index > -1) {
9691
+ return selectTabStop(state, state.tabStops[index]);
9692
+ }
9693
+ }
9694
+ break;
9695
+ case Navigation.PREVIOUS_ROW:
9696
+ {
9697
+ if (currentTabStop.rowIndex === null || currentTabStop.rowIndex === 0) {
9698
+ return state;
9699
+ }
9700
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9701
+ const rowStartIndex = rowStartMap.get(currentTabStop.rowIndex);
9702
+ if (rowStartIndex === undefined) {
9703
+ return state;
9704
+ }
9705
+ const columnOffset = index - rowStartIndex;
9706
+ for (let i = currentTabStop.rowIndex - 1; i >= 0; --i) {
9707
+ const rowStartIndex = rowStartMap.get(i);
9708
+ if (rowStartIndex === undefined) {
9709
+ return state;
9710
+ }
9711
+ const rowTabStop = state.tabStops[rowStartIndex + columnOffset];
9712
+ if (rowTabStop && !rowTabStop.isDisabled) {
9713
+ return selectTabStop(state, rowTabStop, rowStartMap);
9714
+ }
9715
+ }
9716
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9717
+ allowFocusing: true,
9718
+ rowStartMap
9719
+ });
9720
+ }
9721
+ case Navigation.NEXT_ROW:
9722
+ {
9723
+ const maxRowIndex = state.tabStops[state.tabStops.length - 1].rowIndex;
9724
+ if (currentTabStop.rowIndex === null || maxRowIndex === null || currentTabStop.rowIndex === maxRowIndex) {
9725
+ return state;
9726
+ }
9727
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9728
+ const rowStartIndex = rowStartMap.get(currentTabStop.rowIndex);
9729
+ if (rowStartIndex === undefined) {
9730
+ return state;
9731
+ }
9732
+ const columnOffset = index - rowStartIndex;
9733
+ for (let i = currentTabStop.rowIndex + 1; i <= maxRowIndex; ++i) {
9734
+ const rowStartIndex = rowStartMap.get(i);
9735
+ if (rowStartIndex === undefined) {
9736
+ return state;
9737
+ }
9738
+ const rowTabStop = state.tabStops[rowStartIndex + columnOffset];
9739
+ if (rowTabStop && !rowTabStop.isDisabled) {
9740
+ return selectTabStop(state, rowTabStop, rowStartMap);
9741
+ }
9742
+ }
9743
+ return _objectSpread2(_objectSpread2({}, state), {}, {
9744
+ allowFocusing: true,
9745
+ rowStartMap
9746
+ });
9747
+ }
9748
+ case Navigation.FIRST_IN_ROW:
9749
+ {
9750
+ if (currentTabStop.rowIndex === null) {
9751
+ return state;
9752
+ }
9753
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9754
+ const rowStartIndex = rowStartMap.get(currentTabStop.rowIndex);
9755
+ if (rowStartIndex === undefined) {
9756
+ return state;
9757
+ }
9758
+ for (let i = rowStartIndex; i < state.tabStops.length; ++i) {
9759
+ const tabStop = state.tabStops[i];
9760
+ if (tabStop.rowIndex !== currentTabStop.rowIndex) {
9761
+ break;
9762
+ } else if (!tabStop.isDisabled) {
9763
+ return selectTabStop(state, state.tabStops[i], rowStartMap);
9764
+ }
9765
+ }
9766
+ }
9767
+ break;
9768
+ case Navigation.LAST_IN_ROW:
9769
+ {
9770
+ if (currentTabStop.rowIndex === null) {
9771
+ return state;
9772
+ }
9773
+ const rowStartMap = state.rowStartMap || createRowStartMap(state);
9774
+ const rowEndIndex = rowStartMap.has(currentTabStop.rowIndex + 1) ? (rowStartMap.get(currentTabStop.rowIndex + 1) || 0) - 1 : state.tabStops.length - 1;
9775
+ for (let i = rowEndIndex; i >= 0; --i) {
9776
+ const tabStop = state.tabStops[i];
9777
+ if (tabStop.rowIndex !== currentTabStop.rowIndex) {
9778
+ break;
9779
+ } else if (!tabStop.isDisabled) {
9780
+ return selectTabStop(state, state.tabStops[i], rowStartMap);
9781
+ }
9782
+ }
9783
+ }
9784
+ break;
9785
+ }
9786
+ return state;
9787
+ }
9788
+
9789
+ /**
9790
+ * The FocusWithinGroup component.
9791
+ *
9792
+ * @param {ReactNode} children - The child content, which will
9793
+ * include the DOM elements to rove between using the tab key.
9794
+ * @param {KeyDirection} direction - An optional direction value
9795
+ * that only applies when the roving tabindex is not being
9796
+ * used within a grid. This value specifies the arrow key behaviour.
9797
+ * The default value is 'horizontal'.
9798
+ * When set to 'horizontal' then only the ArrowLeft and ArrowRight
9799
+ * keys move to the previous and next tab stop respectively.
9800
+ * When set to 'vertical' then only the ArrowUp and ArrowDown keys
9801
+ * move to the previous and next tab stop respectively. When set
9802
+ * to 'both' then both the ArrowLeft and ArrowUp keys can be used
9803
+ * to move to the previous tab stop, and both the ArrowRight
9804
+ * and ArrowDown keys can be used to move to the next tab stop.
9805
+ * If you do not pass an explicit value then the 'horizontal'
9806
+ * behaviour applies.
9807
+ * @param {boolean} focusOnClick - An optional flag for indicating
9808
+ * if `focus()` should invoked on an item in the roving tabindex
9809
+ * when it is clicked. The default value for this flag is `false`,
9810
+ * meaning that `focus()` will not be invoked on click.
9811
+ * Browsers are
9812
+ * [inconsistent in their behaviour](https://zellwk.com/blog/inconsistent-button-behavior/)
9813
+ * when a button is clicked so you will see some variation between
9814
+ * the browsers with the default value. Prior to version 3 of this library,
9815
+ * the behaviour was to always invoke `focus()` on click; this behaviour
9816
+ * can be maintained by passing `true`.
9817
+ * @param {boolean} loopAround - An optional flag that,
9818
+ * when set to `true`, will loop the tabindex around when the user
9819
+ * tries to tab to the first or last elements in the roving tabindex,
9820
+ * rather than stopping. The default value is `false` (no looping).
9821
+ * Note that this option does not apply if the roving tabindex
9822
+ * is being used on a grid.
9823
+ */
9824
+ const FocusWithinGroup = props => {
9825
+ const {
9826
+ children,
9827
+ direction,
9828
+ focusOnClick,
9829
+ loopAround,
9830
+ focusType,
9831
+ focusOnInit,
9832
+ activedescendant
9833
+ } = props;
9834
+ const [state, dispatch] = useReducer(FocusWithinGroupReducer, _objectSpread2(_objectSpread2({}, FOCUS_WITHING_GROUP_INITIAL_STATE), {}, {
9835
+ direction,
9836
+ focusOnClick,
9837
+ loopAround,
9838
+ focusType,
9839
+ focusOnInit,
9840
+ activedescendant
9841
+ }));
9842
+
9843
+ // Update the options whenever they change:
9844
+ useEffect(() => {
9845
+ dispatch({
9846
+ type: FocusWithinGroupActionType.OPTIONS_UPDATED,
9847
+ payload: {
9848
+ direction: direction !== null && direction !== void 0 ? direction : FOCUS_WITHING_GROUP_INITIAL_STATE.direction,
9849
+ focusOnClick: focusOnClick !== null && focusOnClick !== void 0 ? focusOnClick : FOCUS_WITHING_GROUP_INITIAL_STATE.focusOnClick,
9850
+ loopAround: loopAround !== null && loopAround !== void 0 ? loopAround : FOCUS_WITHING_GROUP_INITIAL_STATE.loopAround,
9851
+ focusType: focusType !== null && focusType !== void 0 ? focusType : FOCUS_WITHING_GROUP_INITIAL_STATE.focusType,
9852
+ focusOnInit: focusOnInit !== null && focusOnInit !== void 0 ? focusOnInit : FOCUS_WITHING_GROUP_INITIAL_STATE.focusOnInit,
9853
+ activedescendant: activedescendant !== null && activedescendant !== void 0 ? activedescendant : FOCUS_WITHING_GROUP_INITIAL_STATE.activedescendant
9854
+ }
9855
+ });
9856
+ }, [direction, focusOnClick, focusOnInit, loopAround, focusType, activedescendant]);
9857
+ const context = useMemo(() => ({
9858
+ state,
9859
+ dispatch
9860
+ }), [state]);
9861
+ return /*#__PURE__*/React__default.createElement(FocusWithinGroupContext.Provider, {
9862
+ value: context
9863
+ }, children);
9864
+ };
9865
+
9866
+ let counter = 0;
9867
+ function uniqueId() {
9868
+ return `rti_${++counter}`;
9869
+ }
9870
+
9871
+ /**
9872
+ * Includes the given DOM element in the current roving tabindex.
9873
+ * @param {RefObject<Element>} domElementRef The DOM element to include.
9874
+ * This must be the same DOM element for the lifetime of the containing
9875
+ * component.
9876
+ * @param {boolean} isDisabled Whether or not the DOM element is currently
9877
+ * enabled. This value can be updated as appropriate throughout the lifetime
9878
+ * of the containing component.
9879
+ * @param {number?} rowIndex An optional integer value that must be
9880
+ * populated if the roving tabindex is being used in a grid. In that case,
9881
+ * set it to the zero-based index of the row that the given DOM element
9882
+ * is currently part of. You can update this row index as appropriate
9883
+ * throughout the lifetime of the containing component, for example if
9884
+ * the shape of the grid can change dynamically.
9885
+ * @returns A tuple of values to be applied by the containing
9886
+ * component for the roving tabindex to work correctly.
9887
+ * First tuple value: The tabIndex value to apply to the tab stop
9888
+ * element.
9889
+ * Second tuple value: Whether or not focus() should be invoked on the
9890
+ * tab stop element.
9891
+ * Third tuple value: The onKeyDown callback to apply to the tab
9892
+ * stop element. If the key press is relevant to the hook then
9893
+ * event.preventDefault() will be invoked on the event.
9894
+ * Fourth tuple value: The onClick callback to apply to the tab
9895
+ * stop element.
9896
+ */
9897
+ function useFocusOnListItem(props) {
9898
+ var _context$state$active;
9899
+ const {
9900
+ domElementRef,
9901
+ isDisabled,
9902
+ id,
9903
+ value,
9904
+ rowIndex = null
9905
+ } = props;
9906
+ // Create a stable ID for the lifetime of the component:
9907
+ const idRef = useRef(null);
9908
+ function getId() {
9909
+ if (id) {
9910
+ return id;
9911
+ }
9912
+ if (!idRef.current) {
9913
+ idRef.current = uniqueId();
9914
+ }
9915
+ return idRef.current;
9916
+ }
9917
+ const isMounted = useRef(false);
9918
+ const context = useContext(FocusWithinGroupContext);
9919
+
9920
+ // Register the tab stop on mount and unregister it on unmount:
9921
+ useEffect(() => {
9922
+ const id = getId();
9923
+ context.dispatch({
9924
+ type: FocusWithinGroupActionType.REGISTER_TAB_STOP,
9925
+ payload: {
9926
+ id,
9927
+ domElementRef,
9928
+ rowIndex,
9929
+ isDisabled,
9930
+ value: value
9931
+ }
9932
+ });
9933
+ return () => {
9934
+ context.dispatch({
9935
+ type: FocusWithinGroupActionType.UNREGISTER_TAB_STOP,
9936
+ payload: {
9937
+ id
9938
+ }
9939
+ });
9940
+ };
9941
+ }, []);
9942
+
9943
+ // Update the tab stop data if rowIndex or isDisabled change.
9944
+ // The isMounted flag is used to prevent this effect running
9945
+ // on mount, which is benign but redundant (as the
9946
+ // REGISTER_TAB_STOP action would have just been dispatched).
9947
+ useEffect(() => {
9948
+ if (isMounted.current) {
9949
+ context.dispatch({
9950
+ type: FocusWithinGroupActionType.TAB_STOP_UPDATED,
9951
+ payload: {
9952
+ id: getId(),
9953
+ rowIndex,
9954
+ isDisabled
9955
+ }
9956
+ });
9957
+ } else {
9958
+ isMounted.current = true;
9959
+ }
9960
+ }, [rowIndex, isDisabled]);
9961
+
9962
+ // Create a stable callback function for handling key down events:
9963
+ const handleKeyDown = useCallback(event => {
9964
+ const key = EventKey[event.key];
9965
+ if (!key) {
9966
+ return;
9967
+ }
9968
+ context.dispatch({
9969
+ type: FocusWithinGroupActionType.KEY_DOWN_ON_ITEM,
9970
+ payload: {
9971
+ id: getId(),
9972
+ key,
9973
+ ctrlKey: event.ctrlKey
9974
+ }
9975
+ });
9976
+ event.preventDefault();
9977
+ }, []);
9978
+
9979
+ // Create a stable callback function for handling click events:
9980
+ const handleClick = useCallback(() => {
9981
+ context.dispatch({
9982
+ type: FocusWithinGroupActionType.CLICK_ON_ITEM,
9983
+ payload: {
9984
+ id: getId()
9985
+ }
9986
+ });
9987
+ }, []);
9988
+
9989
+ // Determine if the current tab stop is the currently active one:
9990
+ const selected = getId() === context.state.selectedId;
9991
+ const tabIndex = context.state.focusType === 'roving-tabindex' ? selected ? 0 : -1 : undefined;
9992
+ const isFocused = selected && context.state.allowFocusing;
9993
+ useEffect(() => {
9994
+ if (isFocused && domElementRef.current && context.state.focusType === 'roving-tabindex') {
9995
+ var _current;
9996
+ (_current = domElementRef.current) === null || _current === void 0 ? void 0 : _current.focus();
9997
+ }
9998
+ }, [isFocused]);
9999
+ return {
10000
+ tabIndex,
10001
+ isFocused: context.state.focusType === 'roving-tabindex' ? isFocused && document.activeElement === domElementRef.current : selected && ((_context$state$active = context.state.activedescendant) === null || _context$state$active === void 0 ? void 0 : _context$state$active[0]) === getId(),
10002
+ handleKeyDown,
10003
+ handleClick
10004
+ };
10005
+ }
10006
+
10007
+ function useFocusOnList() {
10008
+ const context = useContext(FocusWithinGroupContext);
10009
+ const handleKeyDown = useCallback(event => {
10010
+ const key = EventKey[event.key];
10011
+ if (!key) {
10012
+ return;
10013
+ }
10014
+ context.dispatch({
10015
+ type: FocusWithinGroupActionType.KEY_DOWN_ON_LIST,
10016
+ payload: {
10017
+ key,
10018
+ ctrlKey: event.ctrlKey
10019
+ }
10020
+ });
10021
+ event.preventDefault();
10022
+ }, []);
10023
+ const handleFocus = useCallback(() => {
10024
+ context.dispatch({
10025
+ type: FocusWithinGroupActionType.FOCUS_ON_LIST,
10026
+ payload: {
10027
+ id: context.state.selectedId
10028
+ }
10029
+ });
10030
+ }, [context.state.selectedId]);
10031
+ const handleBlur = useCallback(() => {
10032
+ context.dispatch({
10033
+ type: FocusWithinGroupActionType.BLUR_ON_LIST,
10034
+ payload: {}
10035
+ });
10036
+ }, []);
10037
+ return {
10038
+ activedescendant: context.state.activedescendant,
10039
+ handleKeyDown,
10040
+ handleFocus,
10041
+ handleBlur
10042
+ };
10043
+ }
10044
+
10045
+ /**
10046
+ * Component style.
10047
+ */
10048
+ const StyledGrid = styled.div`
10049
+ display: ${_ref => {
10050
+ let {
10051
+ inline
10052
+ } = _ref;
10053
+ return inline ? 'inline-grid' : 'grid';
10054
+ }};
10055
+
10056
+ ${baseStyling}
10057
+ ${baseInternalSpacing}
10058
+ ${baseGrid}
10059
+ `;
10124
10060
 
10125
10061
  /**
10126
10062
  * Component style.
@@ -10132,10 +10068,10 @@ const StyledGridItem = styled.div`
10132
10068
  ${baseInternalSpacing}
10133
10069
  `;
10134
10070
 
10135
- const _excluded$9 = ["children", "className"];
10136
- const COMPONENT_NAME$9 = 'GridItem';
10137
- const CLASSNAME$9 = 'redsift-grid-item';
10138
- const DEFAULT_PROPS$9 = {};
10071
+ const _excluded$d = ["children", "className"];
10072
+ const COMPONENT_NAME$b = 'GridItem';
10073
+ const CLASSNAME$b = 'redsift-grid-item';
10074
+ const DEFAULT_PROPS$b = {};
10139
10075
 
10140
10076
  /**
10141
10077
  * The GridItem component.
@@ -10145,20 +10081,20 @@ const GridItem = /*#__PURE__*/forwardRef((props, ref) => {
10145
10081
  children,
10146
10082
  className
10147
10083
  } = props,
10148
- forwardedProps = _objectWithoutProperties(props, _excluded$9);
10084
+ forwardedProps = _objectWithoutProperties(props, _excluded$d);
10149
10085
  return /*#__PURE__*/React__default.createElement(StyledGridItem, _extends$1({}, forwardedProps, {
10150
10086
  className: classNames(GridItem.className, className),
10151
10087
  ref: ref
10152
10088
  }), children);
10153
10089
  });
10154
- GridItem.className = CLASSNAME$9;
10155
- GridItem.defaultProps = DEFAULT_PROPS$9;
10156
- GridItem.displayName = COMPONENT_NAME$9;
10090
+ GridItem.className = CLASSNAME$b;
10091
+ GridItem.defaultProps = DEFAULT_PROPS$b;
10092
+ GridItem.displayName = COMPONENT_NAME$b;
10157
10093
 
10158
- const _excluded$8 = ["children", "className"];
10159
- const COMPONENT_NAME$8 = 'Grid';
10160
- const CLASSNAME$8 = 'redsift-grid';
10161
- const DEFAULT_PROPS$8 = {};
10094
+ const _excluded$c = ["children", "className"];
10095
+ const COMPONENT_NAME$a = 'Grid';
10096
+ const CLASSNAME$a = 'redsift-grid';
10097
+ const DEFAULT_PROPS$a = {};
10162
10098
 
10163
10099
  /**
10164
10100
  * The Grid component.
@@ -10168,19 +10104,281 @@ const BaseGrid = /*#__PURE__*/forwardRef((props, ref) => {
10168
10104
  children,
10169
10105
  className
10170
10106
  } = props,
10171
- forwardedProps = _objectWithoutProperties(props, _excluded$8);
10107
+ forwardedProps = _objectWithoutProperties(props, _excluded$c);
10172
10108
  return /*#__PURE__*/React__default.createElement(StyledGrid, _extends$1({}, forwardedProps, {
10173
10109
  className: classNames(BaseGrid.className, className),
10174
10110
  ref: ref
10175
10111
  }), children);
10176
10112
  });
10177
- BaseGrid.className = CLASSNAME$8;
10178
- BaseGrid.defaultProps = DEFAULT_PROPS$8;
10179
- BaseGrid.displayName = COMPONENT_NAME$8;
10113
+ BaseGrid.className = CLASSNAME$a;
10114
+ BaseGrid.defaultProps = DEFAULT_PROPS$a;
10115
+ BaseGrid.displayName = COMPONENT_NAME$a;
10180
10116
  const Grid = Object.assign(BaseGrid, {
10181
10117
  Item: GridItem
10182
10118
  });
10183
10119
 
10120
+ /**
10121
+ * Component style.
10122
+ */
10123
+ const StyledItem = styled.div`
10124
+ height: 20px;
10125
+ position: relative;
10126
+ width: calc(100% - 32px);
10127
+ padding: 8px 16px;
10128
+
10129
+ ${baseStyling}
10130
+
10131
+ align-items: center;
10132
+ background: none;
10133
+ border: none;
10134
+ display: inline-flex;
10135
+
10136
+ ${_ref => {
10137
+ let {
10138
+ $isActive,
10139
+ $isSelected,
10140
+ $isDisabled,
10141
+ $isHovered,
10142
+ $isFocused
10143
+ } = _ref;
10144
+ return css`
10145
+ background-color: ${($isActive || $isSelected) && ($isHovered || $isFocused) ? 'var(--redsift-color-default-active-hover)' : $isActive ? 'var(--redsift-color-default-active)' : $isHovered ? 'var(--redsift-color-default-hover)' : $isFocused ? 'var(--redsift-color-default-hover)' : $isSelected && !$isDisabled ? 'var(--redsift-color-default-active)' : $isSelected && $isDisabled ? 'var(--redsift-color-neutral-lightgrey)' : $isDisabled ? 'none' : 'none'};
10146
+ `;
10147
+ }}
10148
+
10149
+ &:hover,
10150
+ &:focus-visible {
10151
+ outline: none;
10152
+
10153
+ ${_ref2 => {
10154
+ let {
10155
+ $isActive,
10156
+ $isSelected,
10157
+ $isDisabled
10158
+ } = _ref2;
10159
+ return css`
10160
+ cursor: ${$isDisabled ? 'default' : 'pointer'};
10161
+ background-color: ${$isActive ? 'var(--redsift-color-default-active-hover)' : $isSelected && !$isDisabled ? 'var(--redsift-color-default-active-hover)' : $isDisabled ? 'none' : 'var(--redsift-color-default-hover)'};
10162
+ `;
10163
+ }};
10164
+ }
10165
+
10166
+ &:active {
10167
+ outline: none;
10168
+
10169
+ ${_ref3 => {
10170
+ let {
10171
+ $isHovered,
10172
+ $isDisabled
10173
+ } = _ref3;
10174
+ return css`
10175
+ background-color: ${$isHovered ? 'var(--redsift-color-default-active-hover)' : $isDisabled ? 'none' : 'var(--redsift-color-default-active)'};
10176
+ `;
10177
+ }};
10178
+ }
10179
+ `;
10180
+
10181
+ const LISTBOX_INITIAL_STATE = {
10182
+ isDisabled: false,
10183
+ isReadOnly: false,
10184
+ selectedValues: [],
10185
+ selectionMode: 'single'
10186
+ };
10187
+ const ListboxContext = /*#__PURE__*/React__default.createContext({
10188
+ state: LISTBOX_INITIAL_STATE,
10189
+ dispatch: () => {}
10190
+ });
10191
+
10192
+ /**
10193
+ * Context props.
10194
+ */
10195
+
10196
+ let ListboxActionType = /*#__PURE__*/function (ListboxActionType) {
10197
+ ListboxActionType["TOGGLE"] = "TOGGLE";
10198
+ ListboxActionType["SET"] = "SET";
10199
+ return ListboxActionType;
10200
+ }({});
10201
+ /**
10202
+ * Component variant.
10203
+ */
10204
+ const ListboxVariant = {
10205
+ standalone: 'standalone',
10206
+ unstyled: 'unstyled'
10207
+ };
10208
+
10209
+ /**
10210
+ * Component props.
10211
+ */
10212
+
10213
+ function useListboxItem(props) {
10214
+ const {
10215
+ domElementRef,
10216
+ value,
10217
+ id,
10218
+ isDisabled,
10219
+ propsIsSelected
10220
+ } = props;
10221
+ const {
10222
+ tabIndex,
10223
+ isFocused,
10224
+ handleKeyDown: handleFocusKeyDown,
10225
+ handleClick: handleFocusClick
10226
+ } = useFocusOnListItem({
10227
+ domElementRef,
10228
+ isDisabled: isDisabled,
10229
+ id,
10230
+ value
10231
+ });
10232
+ const context = useContext(ListboxContext);
10233
+ const handleKeyDown = useCallback(event => {
10234
+ handleFocusKeyDown(event);
10235
+ const code = event.code;
10236
+ if (code === 'Enter' || code === 'Space') {
10237
+ if (context.state.selectionMode === 'multiple') {
10238
+ context.dispatch({
10239
+ type: ListboxActionType.TOGGLE,
10240
+ payload: {
10241
+ value,
10242
+ activedescendant: [id, value]
10243
+ }
10244
+ });
10245
+ } else {
10246
+ context.dispatch({
10247
+ type: ListboxActionType.SET,
10248
+ payload: {
10249
+ values: [value],
10250
+ activedescendant: [id, value]
10251
+ }
10252
+ });
10253
+ }
10254
+ }
10255
+ }, []);
10256
+ const handleClick = useCallback(() => {
10257
+ handleFocusClick();
10258
+ if (context.state.selectionMode === 'multiple') {
10259
+ context.dispatch({
10260
+ type: ListboxActionType.TOGGLE,
10261
+ payload: {
10262
+ value,
10263
+ activedescendant: [id, value]
10264
+ }
10265
+ });
10266
+ } else {
10267
+ context.dispatch({
10268
+ type: ListboxActionType.SET,
10269
+ payload: {
10270
+ values: [value],
10271
+ activedescendant: [id, value]
10272
+ }
10273
+ });
10274
+ }
10275
+ }, []);
10276
+ const isSelected = propsIsSelected !== null && propsIsSelected !== void 0 ? propsIsSelected : context.state.selectedValues.find(selectedValue => selectedValue === value) !== undefined;
10277
+ useEffect(() => {
10278
+ if (isFocused && domElementRef.current) {
10279
+ var _current;
10280
+ (_current = domElementRef.current) === null || _current === void 0 ? void 0 : _current.focus();
10281
+ }
10282
+ }, [isFocused]);
10283
+ return {
10284
+ tabIndex,
10285
+ isFocused,
10286
+ isSelected,
10287
+ isDisabled,
10288
+ handleKeyDown,
10289
+ handleClick
10290
+ };
10291
+ }
10292
+
10293
+ const _excluded$b = ["children", "className", "defaultSelected", "id", "isActive", "isDisabled", "isHovered", "isSelected", "value"];
10294
+ const COMPONENT_NAME$9 = 'Item';
10295
+ const CLASSNAME$9 = 'redsift-item';
10296
+ const DEFAULT_PROPS$9 = {};
10297
+ const RenderedItem = /*#__PURE__*/forwardRef((props, ref) => {
10298
+ const {
10299
+ children,
10300
+ className,
10301
+ defaultSelected,
10302
+ id: propsId,
10303
+ isActive,
10304
+ isDisabled: propsIsDisabled,
10305
+ isHovered,
10306
+ isSelected: propsIsSelected,
10307
+ value
10308
+ } = props,
10309
+ forwardedProps = _objectWithoutProperties(props, _excluded$b);
10310
+ const id = propsId !== null && propsId !== void 0 ? propsId : value;
10311
+ const _ref = useRef();
10312
+ const divRef = ref !== null && ref !== void 0 ? ref : _ref;
10313
+ const {
10314
+ tabIndex,
10315
+ isFocused,
10316
+ isSelected,
10317
+ isDisabled,
10318
+ handleKeyDown,
10319
+ handleClick
10320
+ } = useListboxItem({
10321
+ domElementRef: divRef,
10322
+ value,
10323
+ id,
10324
+ isDisabled: propsIsDisabled,
10325
+ propsIsSelected: propsIsSelected !== null && propsIsSelected !== void 0 ? propsIsSelected : defaultSelected
10326
+ });
10327
+ return /*#__PURE__*/React__default.createElement(StyledItem, _extends$1({
10328
+ role: "option"
10329
+ }, forwardedProps, {
10330
+ id: id,
10331
+ $isActive: isActive,
10332
+ $isDisabled: isDisabled,
10333
+ $isFocused: isFocused,
10334
+ $isHovered: isHovered,
10335
+ $isSelected: isSelected,
10336
+ "aria-selected": isSelected,
10337
+ className: classNames(Item.className, className),
10338
+ onClick: handleClick,
10339
+ ref: divRef,
10340
+ onKeyDown: handleKeyDown,
10341
+ tabIndex: tabIndex
10342
+ }), children !== null && children !== void 0 ? children : value);
10343
+ });
10344
+
10345
+ /**
10346
+ * The Item component.
10347
+ */
10348
+ const Item = /*#__PURE__*/forwardRef((props, ref) => {
10349
+ const {
10350
+ value
10351
+ } = props;
10352
+ const focusContext = useContext(FocusWithinGroupContext);
10353
+ if (!focusContext.state.filter) {
10354
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10355
+ ref: ref
10356
+ }));
10357
+ }
10358
+ const {
10359
+ value: filterValue,
10360
+ type,
10361
+ caseSensitive
10362
+ } = focusContext.state.filter;
10363
+ if (!filterValue) {
10364
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10365
+ ref: ref
10366
+ }));
10367
+ } else if (caseSensitive && (type === 'startsWith' && value.startsWith(filterValue) || type === 'contains' && value.includes(filterValue) || type === 'endsWith' && value.endsWith(filterValue))) {
10368
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10369
+ ref: ref
10370
+ }));
10371
+ } else if (!caseSensitive && (type === 'startsWith' && value.toLowerCase().startsWith(filterValue.toLowerCase()) || type === 'contains' && value.toLowerCase().includes(filterValue.toLowerCase()) || type === 'endsWith' && value.toLowerCase().endsWith(filterValue.toLowerCase()))) {
10372
+ return /*#__PURE__*/React__default.createElement(RenderedItem, _extends$1({}, props, {
10373
+ ref: ref
10374
+ }));
10375
+ }
10376
+ return null;
10377
+ });
10378
+ Item.className = CLASSNAME$9;
10379
+ Item.defaultProps = DEFAULT_PROPS$9;
10380
+ Item.displayName = COMPONENT_NAME$9;
10381
+
10184
10382
  /**
10185
10383
  * Component style.
10186
10384
  */
@@ -10221,10 +10419,10 @@ const StyledLink = styled.a`
10221
10419
  }
10222
10420
  `;
10223
10421
 
10224
- const _excluded$7 = ["as", "children", "className", "href", "isDisabled"];
10225
- const COMPONENT_NAME$7 = 'Link';
10226
- const CLASSNAME$7 = 'redsift-link';
10227
- const DEFAULT_PROPS$7 = {};
10422
+ const _excluded$a = ["as", "children", "className", "href", "isDisabled"];
10423
+ const COMPONENT_NAME$8 = 'Link';
10424
+ const CLASSNAME$8 = 'redsift-link';
10425
+ const DEFAULT_PROPS$8 = {};
10228
10426
 
10229
10427
  /**
10230
10428
  * The Link is a semantic link that looks like a link.
@@ -10242,7 +10440,7 @@ const Link = /*#__PURE__*/forwardRef((props, ref) => {
10242
10440
  href,
10243
10441
  isDisabled
10244
10442
  } = props,
10245
- forwardedProps = _objectWithoutProperties(props, _excluded$7);
10443
+ forwardedProps = _objectWithoutProperties(props, _excluded$a);
10246
10444
  return /*#__PURE__*/React__default.createElement(StyledLink, _extends$1({
10247
10445
  as: as,
10248
10446
  "aria-disabled": isDisabled,
@@ -10255,14 +10453,14 @@ const Link = /*#__PURE__*/forwardRef((props, ref) => {
10255
10453
  ref: ref
10256
10454
  }), children);
10257
10455
  });
10258
- Link.className = CLASSNAME$7;
10259
- Link.defaultProps = DEFAULT_PROPS$7;
10260
- Link.displayName = COMPONENT_NAME$7;
10456
+ Link.className = CLASSNAME$8;
10457
+ Link.defaultProps = DEFAULT_PROPS$8;
10458
+ Link.displayName = COMPONENT_NAME$8;
10261
10459
 
10262
- const _excluded$6 = ["children", "className", "disabled", "isDisabled"];
10263
- const COMPONENT_NAME$6 = 'LinkButton';
10264
- const CLASSNAME$6 = 'redsift-link-button';
10265
- const DEFAULT_PROPS$6 = {};
10460
+ const _excluded$9 = ["children", "className", "disabled", "isDisabled"];
10461
+ const COMPONENT_NAME$7 = 'LinkButton';
10462
+ const CLASSNAME$7 = 'redsift-link-button';
10463
+ const DEFAULT_PROPS$7 = {};
10266
10464
 
10267
10465
  /**
10268
10466
  * The LinkButton is a semantic button that looks like a link.
@@ -10279,7 +10477,7 @@ const LinkButton = /*#__PURE__*/forwardRef((props, ref) => {
10279
10477
  disabled,
10280
10478
  isDisabled: propsIsDisabled
10281
10479
  } = props,
10282
- forwardedProps = _objectWithoutProperties(props, _excluded$6);
10480
+ forwardedProps = _objectWithoutProperties(props, _excluded$9);
10283
10481
  const isDisabled = propsIsDisabled || disabled;
10284
10482
  return /*#__PURE__*/React__default.createElement(StyledLink, _extends$1({
10285
10483
  as: "button"
@@ -10293,9 +10491,269 @@ const LinkButton = /*#__PURE__*/forwardRef((props, ref) => {
10293
10491
  ref: buttonRef
10294
10492
  }), children);
10295
10493
  });
10296
- LinkButton.className = CLASSNAME$6;
10297
- LinkButton.defaultProps = DEFAULT_PROPS$6;
10298
- LinkButton.displayName = COMPONENT_NAME$6;
10494
+ LinkButton.className = CLASSNAME$7;
10495
+ LinkButton.defaultProps = DEFAULT_PROPS$7;
10496
+ LinkButton.displayName = COMPONENT_NAME$7;
10497
+
10498
+ const _excluded$8 = ["children", "id", "isDisabled", "context"];
10499
+ const ActiveDescendantListbox = /*#__PURE__*/forwardRef((props, ref) => {
10500
+ var _context$state$active;
10501
+ const {
10502
+ children,
10503
+ id,
10504
+ isDisabled,
10505
+ context
10506
+ } = props,
10507
+ forwardedProps = _objectWithoutProperties(props, _excluded$8);
10508
+ const {
10509
+ activedescendant,
10510
+ handleKeyDown: handleFocusKeyDown,
10511
+ handleFocus,
10512
+ handleBlur
10513
+ } = useFocusOnList();
10514
+ const handleKeyDown = useCallback(event => {
10515
+ handleFocusKeyDown(event);
10516
+ const code = event.code;
10517
+ if (code === 'Enter' || code === 'Space') {
10518
+ if (context.state.selectionMode === 'multiple') {
10519
+ var _activedescendant$;
10520
+ context.dispatch({
10521
+ type: ListboxActionType.TOGGLE,
10522
+ payload: {
10523
+ value: (_activedescendant$ = activedescendant === null || activedescendant === void 0 ? void 0 : activedescendant[1]) !== null && _activedescendant$ !== void 0 ? _activedescendant$ : '',
10524
+ activedescendant
10525
+ }
10526
+ });
10527
+ } else {
10528
+ var _activedescendant$2;
10529
+ context.dispatch({
10530
+ type: ListboxActionType.SET,
10531
+ payload: {
10532
+ values: [(_activedescendant$2 = activedescendant === null || activedescendant === void 0 ? void 0 : activedescendant[1]) !== null && _activedescendant$2 !== void 0 ? _activedescendant$2 : ''],
10533
+ activedescendant
10534
+ }
10535
+ });
10536
+ }
10537
+ }
10538
+ }, [activedescendant]);
10539
+ return /*#__PURE__*/React__default.createElement(Flexbox, _extends$1({
10540
+ flexDirection: "column",
10541
+ gap: "8px"
10542
+ }, forwardedProps, {
10543
+ "aria-disabled": isDisabled,
10544
+ ref: ref,
10545
+ id: id,
10546
+ role: "listbox",
10547
+ "aria-activedescendant": (_context$state$active = context.state.activedescendant) === null || _context$state$active === void 0 ? void 0 : _context$state$active[0],
10548
+ "aria-multiselectable": context.state.selectionMode === 'multiple',
10549
+ tabIndex: 0,
10550
+ style: {
10551
+ outline: 'none'
10552
+ },
10553
+ onFocus: handleFocus,
10554
+ onBlur: handleBlur,
10555
+ onMouseDown: event => event.preventDefault(),
10556
+ onMouseLeave: handleBlur,
10557
+ onKeyDown: handleKeyDown
10558
+ }), /*#__PURE__*/React__default.createElement(ListboxContext.Provider, {
10559
+ value: context
10560
+ }, children));
10561
+ });
10562
+
10563
+ const _excluded$7 = ["children", "id", "isDisabled", "context"];
10564
+ const RovingTabindexListbox = /*#__PURE__*/forwardRef((props, ref) => {
10565
+ const {
10566
+ children,
10567
+ id,
10568
+ isDisabled,
10569
+ context
10570
+ } = props,
10571
+ forwardedProps = _objectWithoutProperties(props, _excluded$7);
10572
+ return /*#__PURE__*/React__default.createElement(Flexbox, _extends$1({
10573
+ flexDirection: "column",
10574
+ gap: "8px"
10575
+ }, forwardedProps, {
10576
+ "aria-disabled": isDisabled,
10577
+ ref: ref,
10578
+ id: id,
10579
+ role: "listbox",
10580
+ "aria-multiselectable": context.state.selectionMode === 'multiple'
10581
+ }), /*#__PURE__*/React__default.createElement(ListboxContext.Provider, {
10582
+ value: context
10583
+ }, children));
10584
+ });
10585
+
10586
+ /**
10587
+ * Component style.
10588
+ */
10589
+ const StyledListbox = styled(Flexbox)`
10590
+ outline: none;
10591
+
10592
+ ${_ref => {
10593
+ let {
10594
+ $variant,
10595
+ $isDisabled,
10596
+ $isInvalid
10597
+ } = _ref;
10598
+ return $variant === ListboxVariant.standalone ? css`
10599
+ span.redsift-listbox-label {
10600
+ font-family: var(--redsift-typography-body-font-family);
10601
+ font-weight: var(--redsift-typography-body-font-weight);
10602
+ font-size: var(--redsift-typography-body-font-size);
10603
+ line-height: var(--redsift-typography-body-line-height);
10604
+
10605
+ color: var(--redsift-color-neutral-black);
10606
+ ${$isDisabled ? `
10607
+ color: var(--redsift-color-neutral-midgrey);
10608
+ ` : ''}
10609
+ ${$isInvalid ? `
10610
+ color: var(--redsift-color-error-primary);
10611
+ ` : ''}
10612
+ }
10613
+
10614
+ .redsift-listbox-list {
10615
+ border: 1px solid var(--redsift-color-neutral-midgrey);
10616
+ padding: 4px;
10617
+ min-width: 200px;
10618
+ }
10619
+ ` : '';
10620
+ }}
10621
+ `;
10622
+
10623
+ const ListboxReducer = (state, action) => {
10624
+ switch (action.type) {
10625
+ case ListboxActionType.TOGGLE:
10626
+ {
10627
+ if (state.isReadOnly || state.isDisabled) {
10628
+ return state;
10629
+ }
10630
+ if (!state.selectedValues.includes(action.payload.value)) {
10631
+ return _objectSpread2(_objectSpread2({}, state), {}, {
10632
+ selectedValues: state.selectedValues.concat(action.payload.value)
10633
+ }, action.payload.activedescendant && {
10634
+ activedescendant: action.payload.activedescendant
10635
+ });
10636
+ }
10637
+ return _objectSpread2(_objectSpread2({}, state), {}, {
10638
+ selectedValues: state.selectedValues.filter(existingValue => existingValue !== action.payload.value)
10639
+ }, action.payload.activedescendant && {
10640
+ activedescendant: action.payload.activedescendant
10641
+ });
10642
+ }
10643
+ case ListboxActionType.SET:
10644
+ {
10645
+ if (state.isReadOnly || state.isDisabled) {
10646
+ return state;
10647
+ }
10648
+ return _objectSpread2(_objectSpread2({}, state), {}, {
10649
+ selectedValues: action.payload.values
10650
+ }, action.payload.activedescendant && {
10651
+ activedescendant: action.payload.activedescendant
10652
+ });
10653
+ }
10654
+ default:
10655
+ return state;
10656
+ }
10657
+ };
10658
+
10659
+ const _excluded$6 = ["children", "className", "defaultValues", "direction", "focusOnClick", "focusType", "id", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "loopAround", "onChange", "selectionMode", "values", "variant"];
10660
+ const COMPONENT_NAME$6 = 'Listbox';
10661
+ const CLASSNAME$6 = 'redsift-listbox';
10662
+ const DEFAULT_PROPS$6 = {
10663
+ focusOnClick: false,
10664
+ focusType: 'roving-tabindex',
10665
+ selectionMode: 'single',
10666
+ variant: ListboxVariant.standalone
10667
+ };
10668
+
10669
+ /**
10670
+ * The Listbox component.
10671
+ * Can be used as controlled or uncontrolled.
10672
+ */
10673
+ const Listbox = /*#__PURE__*/forwardRef((props, ref) => {
10674
+ const {
10675
+ children,
10676
+ className,
10677
+ defaultValues,
10678
+ direction,
10679
+ focusOnClick,
10680
+ focusType,
10681
+ id: propsId,
10682
+ isDisabled,
10683
+ isInvalid,
10684
+ isReadOnly,
10685
+ isRequired,
10686
+ label,
10687
+ loopAround,
10688
+ onChange,
10689
+ selectionMode,
10690
+ values,
10691
+ variant
10692
+ } = props,
10693
+ forwardedProps = _objectWithoutProperties(props, _excluded$6);
10694
+ const id = (propsId !== null && propsId !== void 0 ? propsId : useId$1()).replace(/:/g, '');
10695
+ const _ref = useRef();
10696
+ const divRef = ref !== null && ref !== void 0 ? ref : _ref;
10697
+ const [state, dispatch] = useReducer(ListboxReducer, _objectSpread2(_objectSpread2({}, LISTBOX_INITIAL_STATE), {}, {
10698
+ isDisabled,
10699
+ isReadOnly,
10700
+ selectedValues: values || defaultValues || [],
10701
+ selectionMode
10702
+ }));
10703
+ useEffect(() => {
10704
+ if (values && values.length >= 0) {
10705
+ dispatch({
10706
+ type: ListboxActionType.SET,
10707
+ payload: {
10708
+ values
10709
+ }
10710
+ });
10711
+ }
10712
+ }, [values]);
10713
+ const context = useMemo(() => ({
10714
+ state,
10715
+ dispatch
10716
+ }), [state]);
10717
+ useEffect(() => {
10718
+ onChange === null || onChange === void 0 ? void 0 : onChange(state.selectedValues);
10719
+ }, [state.selectedValues]);
10720
+ return /*#__PURE__*/React__default.createElement(ConditionalWrapper, {
10721
+ wrapper: children => /*#__PURE__*/React__default.createElement(StyledListbox, _extends$1({
10722
+ flexDirection: "column",
10723
+ gap: "8px"
10724
+ }, forwardedProps, {
10725
+ $isDisabled: isDisabled,
10726
+ $isInvalid: isInvalid || isRequired && state.selectedValues.length === 0,
10727
+ $isReadOnly: isReadOnly,
10728
+ className: classNames(Listbox.className, className),
10729
+ ref: divRef,
10730
+ id: id,
10731
+ $variant: variant
10732
+ }), children),
10733
+ condition: variant === ListboxVariant.standalone
10734
+ }, /*#__PURE__*/React__default.createElement(FocusWithinGroup, {
10735
+ direction: direction,
10736
+ focusOnClick: focusOnClick,
10737
+ loopAround: loopAround,
10738
+ focusType: focusType
10739
+ }, label ? /*#__PURE__*/React__default.createElement("span", {
10740
+ id: `${id}-label`,
10741
+ className: `${Listbox.className}-label`
10742
+ }, label, isRequired ? /*#__PURE__*/React__default.createElement("span", {
10743
+ "aria-hidden": "true"
10744
+ }, ' *') : null) : null, focusType === 'roving-tabindex' ? /*#__PURE__*/React__default.createElement(RovingTabindexListbox, _extends$1({}, forwardedProps, {
10745
+ className: `${Listbox.className}-list`,
10746
+ context: context,
10747
+ ref: divRef
10748
+ }), children) : /*#__PURE__*/React__default.createElement(ActiveDescendantListbox, _extends$1({}, forwardedProps, {
10749
+ className: `${Listbox.className}-list`,
10750
+ context: context,
10751
+ ref: divRef
10752
+ }), children)));
10753
+ });
10754
+ Listbox.className = CLASSNAME$6;
10755
+ Listbox.defaultProps = DEFAULT_PROPS$6;
10756
+ Listbox.displayName = COMPONENT_NAME$6;
10299
10757
 
10300
10758
  /**
10301
10759
  * Component style.
@@ -10503,7 +10961,7 @@ const StyledRadioGroup = styled.div`
10503
10961
  }
10504
10962
  `;
10505
10963
 
10506
- const _excluded$4 = ["children", "className", "defaultValue", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "possibleValues", "value"];
10964
+ const _excluded$4 = ["children", "className", "defaultValue", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "value"];
10507
10965
  const COMPONENT_NAME$4 = 'RadioGroup';
10508
10966
  const CLASSNAME$4 = 'redsift-radio-group';
10509
10967
  const DEFAULT_PROPS$4 = {
@@ -10528,7 +10986,6 @@ const RadioGroup = /*#__PURE__*/forwardRef((props, ref) => {
10528
10986
  label,
10529
10987
  onChange,
10530
10988
  orientation,
10531
- possibleValues,
10532
10989
  value
10533
10990
  } = props,
10534
10991
  forwardedProps = _objectWithoutProperties(props, _excluded$4);
@@ -10542,7 +10999,6 @@ const RadioGroup = /*#__PURE__*/forwardRef((props, ref) => {
10542
10999
  value: selectedValue,
10543
11000
  isDisabled: isDisabled || false,
10544
11001
  isReadOnly: isReadOnly || false,
10545
- possibleValues: possibleValues,
10546
11002
  setValue(value) {
10547
11003
  if (isReadOnly || isDisabled) {
10548
11004
  return;
@@ -11113,12 +11569,12 @@ const StyledSwitchGroup = styled.div`
11113
11569
  $orientation
11114
11570
  } = _ref;
11115
11571
  return $orientation === SwitchGroupOrientation.vertical ? `
11116
- div.redsift-checkbox-group-boxes {
11572
+ div.redsift-switch-group-switches {
11117
11573
  display: flex;
11118
11574
  flex-direction: column;
11119
11575
  }
11120
11576
  ` : `
11121
- div.redsift-checkbox-group-boxes {
11577
+ div.redsift-switch-group-switches {
11122
11578
  display: flex;
11123
11579
  flex-direction: row;
11124
11580
  flex-wrap: wrap;
@@ -11126,7 +11582,7 @@ const StyledSwitchGroup = styled.div`
11126
11582
  `;
11127
11583
  }}
11128
11584
 
11129
- span.redsift-checkbox-group-label {
11585
+ span.redsift-switch-group-label {
11130
11586
  font-family: var(--redsift-typography-body-font-family);
11131
11587
  font-weight: var(--redsift-typography-body-font-weight);
11132
11588
  font-size: var(--redsift-typography-body-font-size);
@@ -11151,7 +11607,7 @@ const StyledSwitchGroup = styled.div`
11151
11607
  }}
11152
11608
  }
11153
11609
 
11154
- span.redsift-checkbox-group-description {
11610
+ span.redsift-switch-group-description {
11155
11611
  font-family: var(--redsift-typography-helper-font-family);
11156
11612
  font-weight: var(--redsift-typography-helper-font-weight);
11157
11613
  font-size: var(--redsift-typography-helper-font-size);
@@ -11177,9 +11633,9 @@ const StyledSwitchGroup = styled.div`
11177
11633
  }
11178
11634
  `;
11179
11635
 
11180
- const _excluded$1 = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "possibleValues", "value"];
11636
+ const _excluded$1 = ["children", "className", "defaultValues", "description", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "onChange", "orientation", "value"];
11181
11637
  const COMPONENT_NAME$1 = 'SwitchGroup';
11182
- const CLASSNAME$1 = 'redsift-checkbox-group';
11638
+ const CLASSNAME$1 = 'redsift-switch-group';
11183
11639
  const DEFAULT_PROPS$1 = {
11184
11640
  color: ColorPalette.default,
11185
11641
  orientation: SwitchGroupOrientation.vertical
@@ -11202,7 +11658,6 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
11202
11658
  label,
11203
11659
  onChange,
11204
11660
  orientation,
11205
- possibleValues,
11206
11661
  value
11207
11662
  } = props,
11208
11663
  forwardedProps = _objectWithoutProperties(props, _excluded$1);
@@ -11216,7 +11671,6 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
11216
11671
  value: selectedValues,
11217
11672
  isDisabled: isDisabled || false,
11218
11673
  isReadOnly: isReadOnly || false,
11219
- possibleValues: possibleValues,
11220
11674
  setValue(values) {
11221
11675
  if (isReadOnly || isDisabled) {
11222
11676
  return;
@@ -11252,7 +11706,7 @@ const SwitchGroup = /*#__PURE__*/forwardRef((props, ref) => {
11252
11706
  }), /*#__PURE__*/React__default.createElement("span", {
11253
11707
  className: `${SwitchGroup.className}-label`
11254
11708
  }, label, isRequired ? ' *' : null), /*#__PURE__*/React__default.createElement("div", {
11255
- className: `${SwitchGroup.className}-boxes`
11709
+ className: `${SwitchGroup.className}-switches`
11256
11710
  }, /*#__PURE__*/React__default.createElement(SwitchGroupContext.Provider, {
11257
11711
  value: state
11258
11712
  }, children)), /*#__PURE__*/React__default.createElement("span", {
@@ -11282,18 +11736,19 @@ const StyledTextField = styled.div`
11282
11736
  height: fit-content;
11283
11737
  position: relative;
11284
11738
  width: fit-content;
11739
+ margin: 0;
11740
+ min-width: 0;
11741
+ padding: 0;
11285
11742
  ${baseStyling}
11286
11743
 
11287
11744
  border: 0;
11288
11745
  display: inline-flex;
11289
11746
  flex-direction: column;
11290
- margin: 0;
11291
- min-width: 0;
11292
- padding: 0;
11293
11747
  vertical-align: top;
11294
11748
 
11295
11749
  ${_ref => {
11296
11750
  let {
11751
+ $hasLeftIcon,
11297
11752
  $hasContent,
11298
11753
  $isFocused,
11299
11754
  $isDisabled,
@@ -11307,36 +11762,27 @@ const StyledTextField = styled.div`
11307
11762
  font-size: var(--redsift-typography-input-text-font-size);
11308
11763
  font-weight: var(--redsift-typography-input-text-font-weight);
11309
11764
  line-height: var(--redsift-typography-input-text-line-height);
11310
- left: 0;
11765
+ left: ${$hasLeftIcon && !$hasContent ? '32px' : '0'};
11311
11766
  overflow: hidden;
11312
11767
  pointer-events: none;
11313
11768
  position: absolute;
11314
11769
  text-overflow: ellipsis;
11315
11770
  top: -8px;
11316
11771
  transform-origin: top left;
11317
- transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,
11318
- transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,
11772
+ transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms, transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,
11319
11773
  max-width 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
11320
11774
  white-space: nowrap;
11321
11775
  z-index: 1;
11322
11776
 
11323
11777
  ${!$hasContent ? css`
11324
11778
  max-width: calc(100% - 24px);
11325
- transform: translate(
11326
- ${$variant === TextFieldVariant.underline ? '0px' : '14px'},
11327
- 16px
11328
- )
11329
- scale(1);
11779
+ transform: translate(${$variant === TextFieldVariant.underline ? '0px' : '14px'}, 16px) scale(1);
11330
11780
  ` : css`
11331
11781
  font-family: var(--redsift-typography-body2-font-family);
11332
11782
  font-size: var(--redsift-typography-body2-font-size);
11333
11783
  font-weight: var(--redsift-typography-body2-font-weight);
11334
11784
  max-width: calc(133% - 32px);
11335
- transform: translate(
11336
- ${$variant === TextFieldVariant.underline ? '0px' : '14px'},
11337
- -1px
11338
- )
11339
- scale(0.75);
11785
+ transform: translate(${$variant === TextFieldVariant.underline ? '0px' : '14px'}, -1px) scale(0.75);
11340
11786
  `}
11341
11787
 
11342
11788
  ${$isDisabled ? css`
@@ -11344,9 +11790,7 @@ const StyledTextField = styled.div`
11344
11790
  ` : $isInvalid ? css`
11345
11791
  color: var(--redsift-color-error-primary);
11346
11792
  ` : $isFocused ? css`
11347
- color: var(
11348
- --redsift-color-${$isColored ? 'default' : 'question'}-primary
11349
- );
11793
+ color: var(--redsift-color-${$isColored ? 'default' : 'question'}-primary);
11350
11794
  ` : css`
11351
11795
  color: var(--redsift-color-neutral-darkgrey);
11352
11796
  `}
@@ -11420,9 +11864,7 @@ const StyledTextField = styled.div`
11420
11864
  ` : $isInvalid ? css`
11421
11865
  border-color: var(--redsift-color-error-primary);
11422
11866
  ` : $isFocused ? css`
11423
- border-color: var(
11424
- --redsift-color-${$isColored ? 'default' : 'question'}-primary
11425
- );
11867
+ border-color: var(--redsift-color-${$isColored ? 'default' : 'question'}-primary);
11426
11868
  ` : css`
11427
11869
  border-color: var(--redsift-color-neutral-midgrey);
11428
11870
  `}
@@ -11455,11 +11897,30 @@ const StyledTextField = styled.div`
11455
11897
  padding-right: 5px;
11456
11898
  visibility: visible;
11457
11899
  }
11900
+
11901
+ .redsift-icon-button {
11902
+ padding: 2px;
11903
+ }
11904
+
11905
+ ${$variant !== TextFieldVariant.underline ? css`
11906
+ .redsift-icon.left {
11907
+ padding-left: 12px;
11908
+ margin-right: -8px;
11909
+ line-height: 28px;
11910
+ }
11911
+
11912
+ .redsift-text-field-input-wrapper__toolbar {
11913
+ padding-right: 8px;
11914
+ }
11915
+ ` : ''}
11458
11916
  `;
11459
11917
  }}
11460
11918
  `;
11461
11919
 
11462
- const _excluded = ["aria-label", "aria-labelledby", "autoFocus", "className", "defaultValue", "inputProps", "inputRef", "isColored", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "name", "onChange", "placeholder", "value", "variant"];
11920
+ // Material Design Icons v7.2.96
11921
+ var mdiClose = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";
11922
+
11923
+ const _excluded = ["aria-label", "aria-labelledby", "autoFocus", "className", "defaultValue", "hasClearButton", "after", "internal", "inputProps", "inputRef", "isColored", "isDisabled", "isInvalid", "isReadOnly", "isRequired", "label", "leftIcon", "name", "onBlur", "onChange", "onClear", "onFocus", "placeholder", "value", "variant"];
11463
11924
  const COMPONENT_NAME = 'TextField';
11464
11925
  const CLASSNAME = 'redsift-text-field';
11465
11926
  const DEFAULT_PROPS = {
@@ -11479,6 +11940,9 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
11479
11940
  autoFocus,
11480
11941
  className,
11481
11942
  defaultValue,
11943
+ hasClearButton,
11944
+ after,
11945
+ internal,
11482
11946
  inputProps,
11483
11947
  inputRef,
11484
11948
  isColored,
@@ -11487,8 +11951,12 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
11487
11951
  isReadOnly,
11488
11952
  isRequired,
11489
11953
  label,
11954
+ leftIcon,
11490
11955
  name,
11956
+ onBlur: onBlurProps,
11491
11957
  onChange,
11958
+ onClear,
11959
+ onFocus: onFocusProps,
11492
11960
  placeholder,
11493
11961
  value: propsValue,
11494
11962
  variant
@@ -11497,7 +11965,10 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
11497
11965
  const {
11498
11966
  isFocusVisible,
11499
11967
  isFocused,
11500
- focusProps
11968
+ focusProps: {
11969
+ onFocus,
11970
+ onBlur
11971
+ }
11501
11972
  } = useFocusRing({
11502
11973
  autoFocus
11503
11974
  });
@@ -11521,8 +11992,24 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
11521
11992
  }
11522
11993
  setValue(event.target.value);
11523
11994
  }, [onChange]);
11995
+ const handleClear = useCallback(() => {
11996
+ if (isDisabled || isReadOnly) {
11997
+ return;
11998
+ }
11999
+ if (onChange) {
12000
+ onChange('');
12001
+ }
12002
+ if (onClear) {
12003
+ onClear();
12004
+ }
12005
+ if (hasClearButton && hasClearButton !== true && hasClearButton.onClick) {
12006
+ hasClearButton.onClick({});
12007
+ }
12008
+ setValue('');
12009
+ }, [onChange]);
11524
12010
  return /*#__PURE__*/React__default.createElement(StyledTextField, _extends$1({}, focusWithinProps, forwardedProps, {
11525
12011
  $hasContent: isFocusWithin || Boolean(value) || Boolean(placeholder),
12012
+ $hasLeftIcon: Boolean(leftIcon),
11526
12013
  $isColored: isColored,
11527
12014
  $isDisabled: isDisabled,
11528
12015
  $isFocusVisible: isFocusVisible,
@@ -11536,7 +12023,18 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
11536
12023
  className: `${TextField.className}__label`
11537
12024
  }, /*#__PURE__*/React__default.createElement("span", null, label)) : null, /*#__PURE__*/React__default.createElement("div", {
11538
12025
  className: `${TextField.className}__input-wrapper`
11539
- }, /*#__PURE__*/React__default.createElement("input", _extends$1({}, inputProps, focusProps, {
12026
+ }, leftIcon ? /*#__PURE__*/React__default.createElement(Icon, _extends$1({}, leftIcon, {
12027
+ "aria-hidden": "true",
12028
+ className: "left"
12029
+ })) : null, /*#__PURE__*/React__default.createElement("input", _extends$1({}, inputProps, {
12030
+ onBlur: event => {
12031
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
12032
+ onBlurProps === null || onBlurProps === void 0 ? void 0 : onBlurProps(event);
12033
+ },
12034
+ onFocus: event => {
12035
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
12036
+ onFocusProps === null || onFocusProps === void 0 ? void 0 : onFocusProps(event);
12037
+ },
11540
12038
  "aria-disabled": isDisabled,
11541
12039
  "aria-invalid": isInvalid || isRequired && !value,
11542
12040
  "aria-label": ariaLabel,
@@ -11552,7 +12050,21 @@ const TextField = /*#__PURE__*/forwardRef((props, ref) => {
11552
12050
  ref: inputRef,
11553
12051
  type: "text",
11554
12052
  value: value
11555
- })), label ? /*#__PURE__*/React__default.createElement("fieldset", {
12053
+ })), hasClearButton || internal || after ? /*#__PURE__*/React__default.createElement(Flexbox, {
12054
+ className: `${TextField.className}-input-wrapper__toolbar`,
12055
+ gap: "8px"
12056
+ }, hasClearButton ? /*#__PURE__*/React__default.createElement(IconButton, _extends$1({
12057
+ "aria-label": "Clear",
12058
+ color: "question",
12059
+ icon: mdiClose
12060
+ }, hasClearButton !== true && hasClearButton, {
12061
+ onClick: handleClear,
12062
+ className: "right clear"
12063
+ })) : null, typeof internal === 'function' ? internal(value, isDisabled, isInvalid || isRequired && !value, isRequired) : internal, (hasClearButton || internal) && after ? /*#__PURE__*/React__default.createElement("span", {
12064
+ style: {
12065
+ borderLeft: '1px solid var(--redsift-color-neutral-midgrey)'
12066
+ }
12067
+ }) : null, typeof after === 'function' ? after(value, isDisabled, isInvalid || isRequired && !value, isRequired) : after) : null, label ? /*#__PURE__*/React__default.createElement("fieldset", {
11556
12068
  "aria-hidden": "true",
11557
12069
  className: `${TextField.className}-input-wrapper__fieldset`
11558
12070
  }, /*#__PURE__*/React__default.createElement("legend", {
@@ -11563,5 +12075,5 @@ TextField.className = CLASSNAME;
11563
12075
  TextField.defaultProps = DEFAULT_PROPS;
11564
12076
  TextField.displayName = COMPONENT_NAME;
11565
12077
 
11566
- export { Alert, AlertVariant, AlignContent, AlignItems, AlignSelf, AppBar, AppContainer, AppContainerContext, AppContent, AppSidePanel, Badge, BadgeVariant, BaseBreadcrumbs, BaseGrid, BaseSkeleton, BreadcrumbItem, Breadcrumbs, Button, ButtonLink, ButtonVariant, Card, CardActions, CardBody, CardHeader, Checkbox, CheckboxGroup, CheckboxGroupOrientation, ColorPalette, ConditionalWrapper, DataVizColorPalette, DetailedCard, DetailedCardCollapsibleSectionItems, DetailedCardHeader, DetailedCardSection, DetailedCardSectionItem, FlexDirection, FlexWrap, Flexbox, FontFamily, Grid, GridItem, Heading, HeadingComponent, HeadingVariant, Icon, IconButton, IconButtonVariant, IconSize, JustifyContent, JustifyItems, JustifySelf, Link, LinkButton, NeutralColorPalette, Number$1 as Number, Pill, ProductColorPalette, Radio, RadioGroup, RadioGroupOrientation, RedsiftAppBarColorBackground, RedsiftAppBarColorExpandIconBackgroundHover, RedsiftAppBarColorExpandIconHover, RedsiftAppBarColorExpandIconResting, RedsiftAppBarColorText, RedsiftColorDefaultActive, RedsiftColorDefaultActiveHover, RedsiftColorDefaultHover, RedsiftColorDefaultPrimary, RedsiftColorDefaultPrimaryActive, RedsiftColorDefaultPrimaryActiveHover, RedsiftColorDefaultSecondary, RedsiftColorErrorActive, RedsiftColorErrorActiveHover, RedsiftColorErrorHover, RedsiftColorErrorPrimary, RedsiftColorErrorPrimaryActive, RedsiftColorErrorPrimaryActiveHover, RedsiftColorErrorSecondary, RedsiftColorHardenizeActive, RedsiftColorHardenizeActiveHover, RedsiftColorHardenizeHover, RedsiftColorHardenizePrimary, RedsiftColorHardenizePrimaryActive, RedsiftColorHardenizePrimaryActiveHover, RedsiftColorHardenizeSecondary, RedsiftColorInfoActive, RedsiftColorInfoActiveHover, RedsiftColorInfoHover, RedsiftColorInfoPrimary, RedsiftColorInfoPrimaryActive, RedsiftColorInfoPrimaryActiveHover, RedsiftColorInfoSecondary, RedsiftColorNeutralBlack, RedsiftColorNeutralDarkgrey, RedsiftColorNeutralLightgrey, RedsiftColorNeutralMidgrey, RedsiftColorNeutralWhite, RedsiftColorNeutralXlightgrey, RedsiftColorNoDataActive, RedsiftColorNoDataActiveHover, RedsiftColorNoDataHover, RedsiftColorNoDataPrimary, RedsiftColorNoDataPrimaryActive, RedsiftColorNoDataPrimaryActiveHover, RedsiftColorNoDataSecondary, RedsiftColorOndmarcActive, RedsiftColorOndmarcActiveHover, RedsiftColorOndmarcHover, RedsiftColorOndmarcPrimary, RedsiftColorOndmarcPrimaryActive, RedsiftColorOndmarcPrimaryActiveHover, RedsiftColorOndmarcSecondary, RedsiftColorOndomainActive, RedsiftColorOndomainActiveHover, RedsiftColorOndomainHover, RedsiftColorOndomainPrimary, RedsiftColorOndomainPrimaryActive, RedsiftColorOndomainPrimaryActiveHover, RedsiftColorOndomainSecondary, RedsiftColorOninboxActive, RedsiftColorOninboxActiveHover, RedsiftColorOninboxHover, RedsiftColorOninboxPrimary, RedsiftColorOninboxPrimaryActive, RedsiftColorOninboxPrimaryActiveHover, RedsiftColorOninboxSecondary, RedsiftColorQuestionActive, RedsiftColorQuestionActiveHover, RedsiftColorQuestionHover, RedsiftColorQuestionPrimary, RedsiftColorQuestionPrimaryActive, RedsiftColorQuestionPrimaryActiveHover, RedsiftColorQuestionSecondary, RedsiftColorSuccessActive, RedsiftColorSuccessActiveHover, RedsiftColorSuccessHover, RedsiftColorSuccessPrimary, RedsiftColorSuccessPrimaryActive, RedsiftColorSuccessPrimaryActiveHover, RedsiftColorSuccessSecondary, RedsiftColorToolsActive, RedsiftColorToolsActiveHover, RedsiftColorToolsHover, RedsiftColorToolsPrimary, RedsiftColorToolsPrimaryActive, RedsiftColorToolsPrimaryActiveHover, RedsiftColorToolsSecondary, RedsiftColorWarningActive, RedsiftColorWarningActiveHover, RedsiftColorWarningHover, RedsiftColorWarningPrimary, RedsiftColorWarningPrimaryActive, RedsiftColorWarningPrimaryActiveHover, RedsiftColorWarningSecondary, RedsiftColorWebsiteActive, RedsiftColorWebsiteActiveHover, RedsiftColorWebsiteHover, RedsiftColorWebsitePrimary, RedsiftColorWebsitePrimaryActive, RedsiftColorWebsitePrimaryActiveHover, RedsiftColorWebsiteSecondary, RedsiftDataVizColorAquaDark, RedsiftDataVizColorAquaDarker, RedsiftDataVizColorAquaDarkerer, RedsiftDataVizColorAquaDefault, RedsiftDataVizColorAquaLight, RedsiftDataVizColorAquaLighter, RedsiftDataVizColorAquaLighterer, RedsiftDataVizColorBlueDark, RedsiftDataVizColorBlueDarker, RedsiftDataVizColorBlueDarkerer, RedsiftDataVizColorBlueDefault, RedsiftDataVizColorBlueLight, RedsiftDataVizColorBlueLighter, RedsiftDataVizColorBlueLighterer, RedsiftDataVizColorBrownDark, RedsiftDataVizColorBrownDarker, RedsiftDataVizColorBrownDarkerer, RedsiftDataVizColorBrownDefault, RedsiftDataVizColorBrownLight, RedsiftDataVizColorBrownLighter, RedsiftDataVizColorBrownLighterer, RedsiftDataVizColorGreenDark, RedsiftDataVizColorGreenDarker, RedsiftDataVizColorGreenDarkerer, RedsiftDataVizColorGreenDefault, RedsiftDataVizColorGreenLight, RedsiftDataVizColorGreenLighter, RedsiftDataVizColorGreenLighterer, RedsiftDataVizColorGreyDark, RedsiftDataVizColorGreyDarker, RedsiftDataVizColorGreyDarkerer, RedsiftDataVizColorGreyDefault, RedsiftDataVizColorGreyLight, RedsiftDataVizColorGreyLighter, RedsiftDataVizColorGreyLighterer, RedsiftDataVizColorOrangeDark, RedsiftDataVizColorOrangeDarker, RedsiftDataVizColorOrangeDarkerer, RedsiftDataVizColorOrangeDefault, RedsiftDataVizColorOrangeLight, RedsiftDataVizColorOrangeLighter, RedsiftDataVizColorOrangeLighterer, RedsiftDataVizColorPinkDark, RedsiftDataVizColorPinkDarker, RedsiftDataVizColorPinkDarkerer, RedsiftDataVizColorPinkDefault, RedsiftDataVizColorPinkLight, RedsiftDataVizColorPinkLighter, RedsiftDataVizColorPinkLighterer, RedsiftDataVizColorPurpleDark, RedsiftDataVizColorPurpleDarker, RedsiftDataVizColorPurpleDarkerer, RedsiftDataVizColorPurpleDefault, RedsiftDataVizColorPurpleLight, RedsiftDataVizColorPurpleLighter, RedsiftDataVizColorPurpleLighterer, RedsiftDataVizColorRedDark, RedsiftDataVizColorRedDarker, RedsiftDataVizColorRedDarkerer, RedsiftDataVizColorRedDefault, RedsiftDataVizColorRedLight, RedsiftDataVizColorRedLighter, RedsiftDataVizColorRedLighterer, RedsiftDataVizColorYellowDark, RedsiftDataVizColorYellowDarker, RedsiftDataVizColorYellowDarkerer, RedsiftDataVizColorYellowDefault, RedsiftDataVizColorYellowLight, RedsiftDataVizColorYellowLighter, RedsiftDataVizColorYellowLighterer, RedsiftLayoutZIndexDialog, RedsiftLayoutZIndexDropdown, RedsiftLayoutZIndexFooter, RedsiftLayoutZIndexHeader, RedsiftLayoutZIndexOverlay, RedsiftLayoutZIndexPopover, RedsiftLayoutZIndexSidePanel, RedsiftLayoutZIndexTooltip, RedsiftSideNavigationColorBackground, RedsiftSideNavigationColorMenuItemActive, RedsiftSideNavigationColorMenuItemBackgroundActive, RedsiftSideNavigationColorMenuItemBackgroundHover, RedsiftSideNavigationColorMenuItemBackgroundSecondary, RedsiftSideNavigationColorMenuItemTextDisabled, RedsiftSideNavigationColorMenuItemTextHover, RedsiftSideNavigationColorMenuItemTextResting, RedsiftSideNavigationColorScrollbarHover, RedsiftSideNavigationColorScrollbarResting, RedsiftTypographyBadgeFontFamily, RedsiftTypographyBadgeFontSize, RedsiftTypographyBadgeFontWeight, RedsiftTypographyBadgeLineHeight, RedsiftTypographyBody2FontFamily, RedsiftTypographyBody2FontSize, RedsiftTypographyBody2FontWeight, RedsiftTypographyBody2LineHeight, RedsiftTypographyBodyFontFamily, RedsiftTypographyBodyFontSize, RedsiftTypographyBodyFontWeight, RedsiftTypographyBodyLineHeight, RedsiftTypographyBodyTextTransform, RedsiftTypographyButtonFontFamily, RedsiftTypographyButtonFontSize, RedsiftTypographyButtonFontWeight, RedsiftTypographyButtonLineHeight, RedsiftTypographyButtonTextTransform, RedsiftTypographyCaptionFontFamily, RedsiftTypographyCaptionFontSize, RedsiftTypographyCaptionFontWeight, RedsiftTypographyCaptionLineHeight, RedsiftTypographyCaptionTextTransform, RedsiftTypographyChipFontFamily, RedsiftTypographyChipFontSize, RedsiftTypographyChipFontWeight, RedsiftTypographyChipLineHeight, RedsiftTypographyDatagridCellFontFamily, RedsiftTypographyDatagridCellFontSize, RedsiftTypographyDatagridCellFontWeight, RedsiftTypographyDatagridCellLineHeight, RedsiftTypographyDatagridHeaderFontFamily, RedsiftTypographyDatagridHeaderFontSize, RedsiftTypographyDatagridHeaderFontWeight, RedsiftTypographyDatagridHeaderLineHeight, RedsiftTypographyFontFamilyElectrolize, RedsiftTypographyFontFamilyRaleway, RedsiftTypographyFontFamilySourceCodePro, RedsiftTypographyFontWeightBold, RedsiftTypographyFontWeightMedium, RedsiftTypographyFontWeightRegular, RedsiftTypographyFontWeightSemiBold, RedsiftTypographyH1FontFamily, RedsiftTypographyH1FontSize, RedsiftTypographyH1FontWeight, RedsiftTypographyH1LineHeight, RedsiftTypographyH1TextTransform, RedsiftTypographyH2FontFamily, RedsiftTypographyH2FontSize, RedsiftTypographyH2FontWeight, RedsiftTypographyH2LineHeight, RedsiftTypographyH2TextTransform, RedsiftTypographyH3FontFamily, RedsiftTypographyH3FontSize, RedsiftTypographyH3FontWeight, RedsiftTypographyH3LineHeight, RedsiftTypographyH3TextTransform, RedsiftTypographyH4FontFamily, RedsiftTypographyH4FontSize, RedsiftTypographyH4FontWeight, RedsiftTypographyH4LineHeight, RedsiftTypographyH4TextTransform, RedsiftTypographyH5FontFamily, RedsiftTypographyH5FontSize, RedsiftTypographyH5FontWeight, RedsiftTypographyH5LineHeight, RedsiftTypographyH5TextTransform, RedsiftTypographyHelperFontFamily, RedsiftTypographyHelperFontSize, RedsiftTypographyHelperFontWeight, RedsiftTypographyHelperLineHeight, RedsiftTypographyInputTextFontFamily, RedsiftTypographyInputTextFontSize, RedsiftTypographyInputTextFontWeight, RedsiftTypographyInputTextLineHeight, RedsiftTypographyLinkFontFamily, RedsiftTypographyLinkFontSize, RedsiftTypographyLinkFontWeight, RedsiftTypographyLinkLineHeight, RedsiftTypographyPillFontFamily, RedsiftTypographyPillFontSize, RedsiftTypographyPillFontWeight, RedsiftTypographyPillLineHeight, RedsiftTypographySubtitleFontFamily, RedsiftTypographySubtitleFontSize, RedsiftTypographySubtitleFontWeight, RedsiftTypographySubtitleLineHeight, RedsiftTypographySubtitleTextTransform, RedsiftTypographyTooltipFontFamily, RedsiftTypographyTooltipFontSize, RedsiftTypographyTooltipFontWeight, RedsiftTypographyTooltipLineHeight, Shield, ShieldVariant, SideNavigationMenu, SideNavigationMenuBar, SideNavigationMenuItem, SideNavigationMenuReducerActionType, Skeleton, SkeletonCircle, SkeletonText, SkeletonTextVariant, Spinner, SpinnerSize, StyledButton, StyledLink, Switch, SwitchGroup, SwitchGroupOrientation, Text, TextComponent, TextField, TextFieldVariant, TextVariant, baseContainer, baseFlexbox, baseGrid, baseInternalSpacing, baseLayout, basePositioning, baseSizing, baseSpacing, baseStyling, filterComponents, focusRing, isComponent, partitionComponents, useAppSidePanel, useBoundingClientRect, $325a3faab7a68acd$export$a16aca283550c30d as useCollator, $896ba0a80a8f4d36$export$85fd5fdf27bacc79 as useDateFormatter, $bb77f239b46e8c72$export$3274cf84b703fff as useFilter, $704cf1d3b684cc5c$export$535bd6ca7f90a273 as useIsSSR, $33bf17300c498528$export$a2f47a3d2973640 as useListFormatter, $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 as useLocale, $fca6afa0e843324b$export$f12b703ca79dfbb1 as useLocalizedStringFormatter, $a916eb452884faea$export$b7a616150fdb9f44 as useNumberFormatter, useSideNavigationMenuBar, useWindowSize, warnIfNoAccessibleLabelFound };
12078
+ export { ActiveDescendantListbox, Alert, AlertVariant, AlignContent, AlignItems, AlignSelf, AppBar, AppContainer, AppContainerContext, AppContent, AppSidePanel, Badge, BadgeVariant, BaseBreadcrumbs, BaseGrid, BaseSkeleton, BreadcrumbItem, Breadcrumbs, Button, ButtonLink, ButtonVariant, Card, CardActions, CardBody, CardHeader, Checkbox, CheckboxGroup, CheckboxGroupOrientation, ColorPalette, ConditionalWrapper, DataVizColorPalette, DetailedCard, DetailedCardCollapsibleSectionItems, DetailedCardHeader, DetailedCardSection, DetailedCardSectionItem, EventKey, FOCUS_WITHING_GROUP_INITIAL_STATE, FlexDirection, FlexWrap, Flexbox, FocusWithinGroup, FocusWithinGroupActionType, FocusWithinGroupContext, FocusWithinGroupReducer, FontFamily, Grid, GridItem, Heading, HeadingComponent, HeadingVariant, Icon, IconButton, IconButtonVariant, IconSize, Item, JustifyContent, JustifyItems, JustifySelf, LISTBOX_INITIAL_STATE, Link, LinkButton, Listbox, ListboxActionType, ListboxContext, ListboxReducer, ListboxVariant, Navigation, NeutralColorPalette, Number$1 as Number, Pill, ProductColorPalette, Radio, RadioGroup, RadioGroupOrientation, RedsiftAppBarColorBackground, RedsiftAppBarColorExpandIconBackgroundHover, RedsiftAppBarColorExpandIconHover, RedsiftAppBarColorExpandIconResting, RedsiftAppBarColorText, RedsiftColorDefaultActive, RedsiftColorDefaultActiveHover, RedsiftColorDefaultHover, RedsiftColorDefaultPrimary, RedsiftColorDefaultPrimaryActive, RedsiftColorDefaultPrimaryActiveHover, RedsiftColorDefaultSecondary, RedsiftColorErrorActive, RedsiftColorErrorActiveHover, RedsiftColorErrorHover, RedsiftColorErrorPrimary, RedsiftColorErrorPrimaryActive, RedsiftColorErrorPrimaryActiveHover, RedsiftColorErrorSecondary, RedsiftColorHardenizeActive, RedsiftColorHardenizeActiveHover, RedsiftColorHardenizeHover, RedsiftColorHardenizePrimary, RedsiftColorHardenizePrimaryActive, RedsiftColorHardenizePrimaryActiveHover, RedsiftColorHardenizeSecondary, RedsiftColorInfoActive, RedsiftColorInfoActiveHover, RedsiftColorInfoHover, RedsiftColorInfoPrimary, RedsiftColorInfoPrimaryActive, RedsiftColorInfoPrimaryActiveHover, RedsiftColorInfoSecondary, RedsiftColorNeutralBlack, RedsiftColorNeutralDarkgrey, RedsiftColorNeutralLightgrey, RedsiftColorNeutralMidgrey, RedsiftColorNeutralWhite, RedsiftColorNeutralXlightgrey, RedsiftColorNoDataActive, RedsiftColorNoDataActiveHover, RedsiftColorNoDataHover, RedsiftColorNoDataPrimary, RedsiftColorNoDataPrimaryActive, RedsiftColorNoDataPrimaryActiveHover, RedsiftColorNoDataSecondary, RedsiftColorOndmarcActive, RedsiftColorOndmarcActiveHover, RedsiftColorOndmarcHover, RedsiftColorOndmarcPrimary, RedsiftColorOndmarcPrimaryActive, RedsiftColorOndmarcPrimaryActiveHover, RedsiftColorOndmarcSecondary, RedsiftColorOndomainActive, RedsiftColorOndomainActiveHover, RedsiftColorOndomainHover, RedsiftColorOndomainPrimary, RedsiftColorOndomainPrimaryActive, RedsiftColorOndomainPrimaryActiveHover, RedsiftColorOndomainSecondary, RedsiftColorOninboxActive, RedsiftColorOninboxActiveHover, RedsiftColorOninboxHover, RedsiftColorOninboxPrimary, RedsiftColorOninboxPrimaryActive, RedsiftColorOninboxPrimaryActiveHover, RedsiftColorOninboxSecondary, RedsiftColorQuestionActive, RedsiftColorQuestionActiveHover, RedsiftColorQuestionHover, RedsiftColorQuestionPrimary, RedsiftColorQuestionPrimaryActive, RedsiftColorQuestionPrimaryActiveHover, RedsiftColorQuestionSecondary, RedsiftColorSuccessActive, RedsiftColorSuccessActiveHover, RedsiftColorSuccessHover, RedsiftColorSuccessPrimary, RedsiftColorSuccessPrimaryActive, RedsiftColorSuccessPrimaryActiveHover, RedsiftColorSuccessSecondary, RedsiftColorToolsActive, RedsiftColorToolsActiveHover, RedsiftColorToolsHover, RedsiftColorToolsPrimary, RedsiftColorToolsPrimaryActive, RedsiftColorToolsPrimaryActiveHover, RedsiftColorToolsSecondary, RedsiftColorWarningActive, RedsiftColorWarningActiveHover, RedsiftColorWarningHover, RedsiftColorWarningPrimary, RedsiftColorWarningPrimaryActive, RedsiftColorWarningPrimaryActiveHover, RedsiftColorWarningSecondary, RedsiftColorWebsiteActive, RedsiftColorWebsiteActiveHover, RedsiftColorWebsiteHover, RedsiftColorWebsitePrimary, RedsiftColorWebsitePrimaryActive, RedsiftColorWebsitePrimaryActiveHover, RedsiftColorWebsiteSecondary, RedsiftDataVizColorAquaDark, RedsiftDataVizColorAquaDarker, RedsiftDataVizColorAquaDarkerer, RedsiftDataVizColorAquaDefault, RedsiftDataVizColorAquaLight, RedsiftDataVizColorAquaLighter, RedsiftDataVizColorAquaLighterer, RedsiftDataVizColorBlueDark, RedsiftDataVizColorBlueDarker, RedsiftDataVizColorBlueDarkerer, RedsiftDataVizColorBlueDefault, RedsiftDataVizColorBlueLight, RedsiftDataVizColorBlueLighter, RedsiftDataVizColorBlueLighterer, RedsiftDataVizColorBrownDark, RedsiftDataVizColorBrownDarker, RedsiftDataVizColorBrownDarkerer, RedsiftDataVizColorBrownDefault, RedsiftDataVizColorBrownLight, RedsiftDataVizColorBrownLighter, RedsiftDataVizColorBrownLighterer, RedsiftDataVizColorGreenDark, RedsiftDataVizColorGreenDarker, RedsiftDataVizColorGreenDarkerer, RedsiftDataVizColorGreenDefault, RedsiftDataVizColorGreenLight, RedsiftDataVizColorGreenLighter, RedsiftDataVizColorGreenLighterer, RedsiftDataVizColorGreyDark, RedsiftDataVizColorGreyDarker, RedsiftDataVizColorGreyDarkerer, RedsiftDataVizColorGreyDefault, RedsiftDataVizColorGreyLight, RedsiftDataVizColorGreyLighter, RedsiftDataVizColorGreyLighterer, RedsiftDataVizColorOrangeDark, RedsiftDataVizColorOrangeDarker, RedsiftDataVizColorOrangeDarkerer, RedsiftDataVizColorOrangeDefault, RedsiftDataVizColorOrangeLight, RedsiftDataVizColorOrangeLighter, RedsiftDataVizColorOrangeLighterer, RedsiftDataVizColorPinkDark, RedsiftDataVizColorPinkDarker, RedsiftDataVizColorPinkDarkerer, RedsiftDataVizColorPinkDefault, RedsiftDataVizColorPinkLight, RedsiftDataVizColorPinkLighter, RedsiftDataVizColorPinkLighterer, RedsiftDataVizColorPurpleDark, RedsiftDataVizColorPurpleDarker, RedsiftDataVizColorPurpleDarkerer, RedsiftDataVizColorPurpleDefault, RedsiftDataVizColorPurpleLight, RedsiftDataVizColorPurpleLighter, RedsiftDataVizColorPurpleLighterer, RedsiftDataVizColorRedDark, RedsiftDataVizColorRedDarker, RedsiftDataVizColorRedDarkerer, RedsiftDataVizColorRedDefault, RedsiftDataVizColorRedLight, RedsiftDataVizColorRedLighter, RedsiftDataVizColorRedLighterer, RedsiftDataVizColorYellowDark, RedsiftDataVizColorYellowDarker, RedsiftDataVizColorYellowDarkerer, RedsiftDataVizColorYellowDefault, RedsiftDataVizColorYellowLight, RedsiftDataVizColorYellowLighter, RedsiftDataVizColorYellowLighterer, RedsiftLayoutZIndexDialog, RedsiftLayoutZIndexDropdown, RedsiftLayoutZIndexFooter, RedsiftLayoutZIndexHeader, RedsiftLayoutZIndexOverlay, RedsiftLayoutZIndexPopover, RedsiftLayoutZIndexSidePanel, RedsiftLayoutZIndexTooltip, RedsiftSideNavigationColorBackground, RedsiftSideNavigationColorMenuItemActive, RedsiftSideNavigationColorMenuItemBackgroundActive, RedsiftSideNavigationColorMenuItemBackgroundHover, RedsiftSideNavigationColorMenuItemBackgroundSecondary, RedsiftSideNavigationColorMenuItemTextDisabled, RedsiftSideNavigationColorMenuItemTextHover, RedsiftSideNavigationColorMenuItemTextResting, RedsiftSideNavigationColorScrollbarHover, RedsiftSideNavigationColorScrollbarResting, RedsiftTypographyBadgeFontFamily, RedsiftTypographyBadgeFontSize, RedsiftTypographyBadgeFontWeight, RedsiftTypographyBadgeLineHeight, RedsiftTypographyBody2FontFamily, RedsiftTypographyBody2FontSize, RedsiftTypographyBody2FontWeight, RedsiftTypographyBody2LineHeight, RedsiftTypographyBodyFontFamily, RedsiftTypographyBodyFontSize, RedsiftTypographyBodyFontWeight, RedsiftTypographyBodyLineHeight, RedsiftTypographyBodyTextTransform, RedsiftTypographyButtonFontFamily, RedsiftTypographyButtonFontSize, RedsiftTypographyButtonFontWeight, RedsiftTypographyButtonLineHeight, RedsiftTypographyButtonTextTransform, RedsiftTypographyCaptionFontFamily, RedsiftTypographyCaptionFontSize, RedsiftTypographyCaptionFontWeight, RedsiftTypographyCaptionLineHeight, RedsiftTypographyCaptionTextTransform, RedsiftTypographyChipFontFamily, RedsiftTypographyChipFontSize, RedsiftTypographyChipFontWeight, RedsiftTypographyChipLineHeight, RedsiftTypographyDatagridCellFontFamily, RedsiftTypographyDatagridCellFontSize, RedsiftTypographyDatagridCellFontWeight, RedsiftTypographyDatagridCellLineHeight, RedsiftTypographyDatagridHeaderFontFamily, RedsiftTypographyDatagridHeaderFontSize, RedsiftTypographyDatagridHeaderFontWeight, RedsiftTypographyDatagridHeaderLineHeight, RedsiftTypographyFontFamilyElectrolize, RedsiftTypographyFontFamilyRaleway, RedsiftTypographyFontFamilySourceCodePro, RedsiftTypographyFontWeightBold, RedsiftTypographyFontWeightMedium, RedsiftTypographyFontWeightRegular, RedsiftTypographyFontWeightSemiBold, RedsiftTypographyH1FontFamily, RedsiftTypographyH1FontSize, RedsiftTypographyH1FontWeight, RedsiftTypographyH1LineHeight, RedsiftTypographyH1TextTransform, RedsiftTypographyH2FontFamily, RedsiftTypographyH2FontSize, RedsiftTypographyH2FontWeight, RedsiftTypographyH2LineHeight, RedsiftTypographyH2TextTransform, RedsiftTypographyH3FontFamily, RedsiftTypographyH3FontSize, RedsiftTypographyH3FontWeight, RedsiftTypographyH3LineHeight, RedsiftTypographyH3TextTransform, RedsiftTypographyH4FontFamily, RedsiftTypographyH4FontSize, RedsiftTypographyH4FontWeight, RedsiftTypographyH4LineHeight, RedsiftTypographyH4TextTransform, RedsiftTypographyH5FontFamily, RedsiftTypographyH5FontSize, RedsiftTypographyH5FontWeight, RedsiftTypographyH5LineHeight, RedsiftTypographyH5TextTransform, RedsiftTypographyHelperFontFamily, RedsiftTypographyHelperFontSize, RedsiftTypographyHelperFontWeight, RedsiftTypographyHelperLineHeight, RedsiftTypographyInputTextFontFamily, RedsiftTypographyInputTextFontSize, RedsiftTypographyInputTextFontWeight, RedsiftTypographyInputTextLineHeight, RedsiftTypographyLinkFontFamily, RedsiftTypographyLinkFontSize, RedsiftTypographyLinkFontWeight, RedsiftTypographyLinkLineHeight, RedsiftTypographyPillFontFamily, RedsiftTypographyPillFontSize, RedsiftTypographyPillFontWeight, RedsiftTypographyPillLineHeight, RedsiftTypographySubtitleFontFamily, RedsiftTypographySubtitleFontSize, RedsiftTypographySubtitleFontWeight, RedsiftTypographySubtitleLineHeight, RedsiftTypographySubtitleTextTransform, RedsiftTypographyTooltipFontFamily, RedsiftTypographyTooltipFontSize, RedsiftTypographyTooltipFontWeight, RedsiftTypographyTooltipLineHeight, RovingTabindexListbox, Shield, ShieldVariant, SideNavigationMenu, SideNavigationMenuBar, SideNavigationMenuItem, SideNavigationMenuReducerActionType, Skeleton, SkeletonCircle, SkeletonText, SkeletonTextVariant, Spinner, SpinnerSize, StyledButton, StyledLink, Switch, SwitchGroup, SwitchGroupOrientation, Text, TextComponent, TextField, TextFieldVariant, TextVariant, baseContainer, baseFlexbox, baseGrid, baseInternalSpacing, baseLayout, basePositioning, baseSizing, baseSpacing, baseStyling, filterComponents, focusRing, isComponent, partitionComponents, uniqueId, useAppSidePanel, useBoundingClientRect, useFocusOnList, useFocusOnListItem, useSideNavigationMenuBar, useWindowSize, warnIfNoAccessibleLabelFound };
11567
12079
  //# sourceMappingURL=index.js.map