@bcgov/design-system-react-components 0.4.0 → 0.5.0-pr513

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +23 -19
  2. package/dist/cjs/index.cjs +1494 -778
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/cjs/types/components/Accordion/Accordion.d.ts +6 -0
  5. package/dist/cjs/types/components/Accordion/index.d.ts +2 -0
  6. package/dist/cjs/types/components/AccordionGroup/AccordionGroup.d.ts +7 -0
  7. package/dist/cjs/types/components/AccordionGroup/index.d.ts +2 -0
  8. package/dist/cjs/types/components/AlertBanner/AlertBanner.d.ts +10 -0
  9. package/dist/cjs/types/components/AlertBanner/index.d.ts +2 -0
  10. package/dist/cjs/types/components/Callout/Callout.d.ts +10 -0
  11. package/dist/cjs/types/components/Callout/index.d.ts +2 -0
  12. package/dist/cjs/types/components/Icons/SvgBcOutlineIcon/SvgBcOutlineIcon.d.ts +3 -0
  13. package/dist/cjs/types/components/Icons/SvgBcOutlineIcon/index.d.ts +1 -0
  14. package/dist/cjs/types/components/Icons/SvgBetaIcon/SvgBetaIcon.d.ts +3 -0
  15. package/dist/cjs/types/components/Icons/SvgBetaIcon/index.d.ts +1 -0
  16. package/dist/cjs/types/components/Tag/Tag.d.ts +9 -1
  17. package/dist/cjs/types/components/index.d.ts +6 -0
  18. package/dist/esm/index.js +1489 -779
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/types/components/Accordion/Accordion.d.ts +6 -0
  21. package/dist/esm/types/components/Accordion/index.d.ts +2 -0
  22. package/dist/esm/types/components/AccordionGroup/AccordionGroup.d.ts +7 -0
  23. package/dist/esm/types/components/AccordionGroup/index.d.ts +2 -0
  24. package/dist/esm/types/components/AlertBanner/AlertBanner.d.ts +10 -0
  25. package/dist/esm/types/components/AlertBanner/index.d.ts +2 -0
  26. package/dist/esm/types/components/Callout/Callout.d.ts +10 -0
  27. package/dist/esm/types/components/Callout/index.d.ts +2 -0
  28. package/dist/esm/types/components/Icons/SvgBcOutlineIcon/SvgBcOutlineIcon.d.ts +3 -0
  29. package/dist/esm/types/components/Icons/SvgBcOutlineIcon/index.d.ts +1 -0
  30. package/dist/esm/types/components/Icons/SvgBetaIcon/SvgBetaIcon.d.ts +3 -0
  31. package/dist/esm/types/components/Icons/SvgBetaIcon/index.d.ts +1 -0
  32. package/dist/esm/types/components/Tag/Tag.d.ts +9 -1
  33. package/dist/esm/types/components/index.d.ts +6 -0
  34. package/dist/index.d.ts +50 -3
  35. package/package.json +13 -13
@@ -31,8 +31,8 @@ function styleInject(css, ref) {
31
31
  }
32
32
  }
33
33
 
34
- var css_248z$k = "/**\n * Do not edit directly, this file was auto-generated.\n */\n\n:root {\n --surface-opacity-0: 0;\n --surface-opacity-10: 0.1;\n --surface-opacity-20: 0.2;\n --surface-opacity-30: 0.3;\n --surface-opacity-40: 0.4;\n --surface-opacity-50: 0.5;\n --surface-opacity-60: 0.6;\n --surface-opacity-70: 0.7;\n --surface-opacity-80: 0.8;\n --surface-opacity-90: 0.9;\n --surface-opacity-100: 1;\n --surface-shadow-none: 0 0.30000001192092896px 0.8999999761581421px 0 #0000001a, 0 1.600000023841858px 3.5999999046325684px 0 #00000021; /* Default shadow for most content and UI elements */\n --surface-shadow-small: 0 0.6000000238418579px 1.7999999523162842px 0 #0000001a, 0 3.200000047683716px 7.199999809265137px 0 #00000021; /* Reduced shadow for secondary UI elements */\n --surface-shadow-medium: 0 1.2000000476837158px 3.5999999046325684px 0 #0000001a, 0 6.400000095367432px 14.399999618530273px 0 #00000021; /* Standard shadow for UI elements like cards and buttons */\n --surface-shadow-large: 0 4.800000190734863px 14.399999618530273px 0 #0000002e, 0 25.600000381469727px 57.599998474121094px 0 #00000038; /* Larger shadow for emphasis. Use sparingly */\n --surface-color-primary-button-default: #013366; /* Default fill colour for primary buttons */\n --surface-color-primary-button-hover: #1E5189; /* Fill colour used when user hovers over primary button */\n --surface-color-primary-button-disabled: #EDEBE9; /* Fill colour for inactive primary buttons */\n --surface-color-primary-danger-button-default: #CE3E39; /* Default fill colour for buttons in danger/warning state */\n --surface-color-primary-danger-button-hover: #A2312D; /* Fill colour used when user hovers over danger/warning button */\n --surface-color-primary-danger-button-disabled: #EDEBE9; /* Default fill colour for disabled danger/warning button */\n --surface-color-primary-default: #013366; /* Default theme colour for components and layout */\n --surface-color-primary-hover: #1E5189; /* Hover variant of surface.color.primary.default */\n --surface-color-primary-pressed: #01264C; /* Selected/pressed variant of surface.color.primary.default */\n --surface-color-primary-disabled: #EDEBE9; /* Disabled/inactive variant of surface.color.primary default */\n --surface-color-secondary-button-default: #FFFFFF; /* Fill colour for secondary buttons */\n --surface-color-secondary-button-hover: #EDEBE9; /* Fill colour used when user hovers over secondary button */\n --surface-color-secondary-button-disabled: #EDEBE9; /* Fill colour for inactive secondary buttons */\n --surface-color-secondary-default: #FFFFFF; /* Light theme colour for components and layout */\n --surface-color-secondary-hover: #EDEBE9; /* Hover variant of surface.color.secondary.default */\n --surface-color-secondary-pressed: #E0DEDC; /* Selected/pressed variant of surface.color.secondary.default */\n --surface-color-secondary-disabled: #EDEBE9; /* Disabled/inactive variant of surface.color.secondary default */\n --surface-color-tertiary-button-default: rgba(255,255,255,0); /* Default fill colour for tertiary buttons */\n --surface-color-tertiary-button-hover: #ECEAE8; /* Fill colour used when user hovers over tertiary button */\n --surface-color-tertiary-button-disabled: #EDEBE9; /* Fill colour for inactive tertiary buttons */\n --surface-color-tertiary-default: #FFFFFF00; /* Alternative light theme colour for components and layout */\n --surface-color-tertiary-hover: #ECEAE8; /* Hover variant of surface.color.tertiary.default */\n --surface-color-tertiary-pressed: #E0DEDC; /* Selected/pressed variant of surface.color.tertiary.default */\n --surface-color-tertiary-disabled: #EDEBE9; /* Disabled/inactive variant of surface.color.tertiary default */\n --surface-color-menus-default: #FFFFFF; /* Default fill colour for menu items */\n --surface-color-menus-hover: #EDEBE9; /* Fill colour used when user hovers over a menu item */\n --surface-color-forms-default: #FFFFFF; /* Default fill colour for form/input fields */\n --surface-color-forms-disabled: #EDEBE9; /* Fill colour for inactive/disabled form/input fields */\n --surface-color-background-white: #FFFFFF; /* White background */\n --surface-color-background-light-gray: #FAF9F8; /* Default background colour for layout */\n --surface-color-background-light-blue: #F1F8FE; /* Light blue background */\n --surface-color-background-dark-blue: #053662; /* Dark blue background */\n --surface-color-border-default: #D8D8D8; /* Lighter border colour for UI elements */\n --surface-color-border-medium: #898785; /* Default border colour for UI elements */\n --surface-color-border-dark: #353433; /* Used as a hover colour for form fields and inputs */\n --surface-color-border-active: #2E5DD7; /* Used as the active stroke colour for UI elements */\n --surface-color-overlay-default: rgba(0,0,0,0.45); /* Background overlay colour for images and modal dialogues */\n --support-surface-color-info: #F7F9FC;\n --support-surface-color-danger: #F4E1E2; /* Background colour for error, failure or danger messages */\n --support-surface-color-success: #F6FFF8; /* Background colour for success messages */\n --support-surface-color-warning: #FEF1D8; /* Background colour for warning messages */\n --support-border-color-info: #053662; /* Border stroke for general/informational messages */\n --support-border-color-danger: #CE3E39; /* Border stroke for error, failure or danger messages */\n --support-border-color-success: #42814A; /* Border stroke for success messages */\n --support-border-color-warning: #F8BB47; /* Border stroke for warning messages */\n --icons-size-xsmall: 14px; /* Smallest icon size */\n --icons-size-small: 16px;\n --icons-size-medium: 20px; /* Default icon size */\n --icons-size-large: 24px;\n --icons-size-xlarge: 32px; /* Largest icon size */\n --icons-color-primary: #2D2D2D; /* Default colour for icons */\n --icons-color-secondary: #474543; /* Alternative colour for secondary/miscellaneous icons */\n --icons-color-disabled: #9F9D9C; /* Use only for inactive/disabled icons */\n --icons-color-link: #255A90; /* Use for hyperlinked icons */\n --icons-color-info: #053662; /* Emphasis colour for icons in general/informational state */\n --icons-color-danger: #CE3E39; /* Emphasis colour for icons in error, failure or danger state */\n --icons-color-success: #42814A; /* Emphasis colour for icons in success state */\n --icons-color-warning: #F8BB47; /* Emphasis colour for icons in warning state */\n --icons-color-primary-invert: #FFFFFF; /* Default colour for icons on dark backgrounds */\n --layout-border-width-none: 0;\n --layout-border-width-small: 1px;\n --layout-border-width-medium: 2px;\n --layout-border-width-large: 4px;\n --layout-padding-none: 0; /* No padding */\n --layout-padding-hair: 0.125rem; /* Smallest padding value for layout */\n --layout-padding-xsmall: 0.25rem;\n --layout-padding-small: 0.5rem;\n --layout-padding-medium: 1rem; /* Default padding value for layout */\n --layout-padding-large: 1.5rem;\n --layout-padding-xlarge: 2rem; /* Largest padding value for layout */\n --layout-margin-none: 0rem; /* No margin */\n --layout-margin-hair: 0.125rem; /* Smallest margin value for layout */\n --layout-margin-xsmall: 0.25rem;\n --layout-margin-small: 0.5rem; /* Default margin value for layout */\n --layout-margin-medium: 1rem;\n --layout-margin-large: 1.5rem;\n --layout-margin-xlarge: 2rem;\n --layout-margin-xxlarge: 2.5rem;\n --layout-margin-xxxlarge: 3rem;\n --layout-margin-huge: 3.5rem; /* Largest margin value for layout */\n --layout-border-radius-none: 0;\n --layout-border-radius-small: 2px;\n --layout-border-radius-medium: 4px;\n --layout-border-radius-large: 6px;\n --typography-font-families-bc-sans: 'BC Sans'; /* BC Sans font. Requires BC Sans package */\n --typography-line-heights-xxxdense: 1.125rem; /* Smallest line height */\n --typography-line-heights-xxdense: 1.313rem;\n --typography-line-heights-xdense: 1.688rem;\n --typography-line-heights-dense: 1.913rem;\n --typography-line-heights-regular: 2.125rem; /* Default line height */\n --typography-line-heights-sparse: 2.25rem;\n --typography-line-heights-xsparse: 3rem;\n --typography-line-heights-xxsparse: 3.375rem; /* Largest line height */\n --typography-line-heights-auto: AUTO; /* System token, used to generate type styles */\n --typography-font-weights-regular: 400; /* System token, used to generate text styles */\n --typography-font-weights-bold: 700; /* System token, used to generate text styles */\n --typography-font-weights-italic: Italic; /* DEPRECATED - will be removed in next major version. */\n --typography-font-weights-italic-weight: 400; /* System token, used to generate text styles */\n --typography-font-weights-italic-style: italic; /* System token, used to generate text styles */\n --typography-font-size-label: 0.75rem;\n --typography-font-size-small-body: 0.875rem;\n --typography-font-size-body: 1rem;\n --typography-font-size-large-body: 1.125rem;\n --typography-font-size-h5: 1.25rem;\n --typography-font-size-h4: 1.5rem;\n --typography-font-size-h3: 1.75rem;\n --typography-font-size-h2: 2rem;\n --typography-font-size-h1: 2.25rem;\n --typography-font-size-display: 3rem;\n --typography-letter-spacing-0: 0em; /* System token, used to generate type styles */\n --typography-paragraph-spacing-0: 0; /* System token, used to generate type styles */\n --typography-regular-label: 400 0.75rem/1.125rem 'BC Sans'; /* Labels and captions */\n --typography-regular-small-body: 400 0.875rem/1.313rem 'BC Sans'; /* Smaller body text */\n --typography-regular-body: 400 1rem/1.688rem 'BC Sans'; /* Default body text */\n --typography-regular-large-body: 400 1.125rem/1.913rem 'BC Sans'; /* Larger body text */\n --typography-regular-h6: 400 1.125rem/1.913rem 'BC Sans'; /* Alternate (unbolded) style for Heading 6 */\n --typography-regular-h5: 400 1.25rem/2.125rem 'BC Sans'; /* Alternate (unbolded) style for Heading 5 */\n --typography-regular-h4: 400 1.5rem/2.25rem 'BC Sans'; /* Alternate (unbolded) style for Heading 4 */\n --typography-regular-h3: 400 1.75rem/3rem 'BC Sans'; /* Alternate (unbolded) style for Heading 3 */\n --typography-regular-h2: 400 2rem/3.375rem 'BC Sans'; /* Alternate (unbolded) style for Heading 2 */\n --typography-regular-h1: 400 2.25rem/3rem 'BC Sans'; /* Alternate (unbolded) style for Heading 1 */\n --typography-regular-display: 400 3rem/AUTO 'BC Sans'; /* Extra-large body text size. Do not use for headings */\n --typography-bold-label: 700 0.75rem/1.125rem 'BC Sans'; /* Labels and captions (bolded) */\n --typography-bold-small-body: 700 0.875rem/1.313rem 'BC Sans'; /* Default for small body text (bolded) */\n --typography-bold-body: 700 1rem/1.688rem 'BC Sans'; /* Default for body text (bolded) */\n --typography-bold-large-body: 700 1.125rem/1.913rem 'BC Sans'; /* Larger text size for body text (bolded) */\n --typography-bold-h6: 700 1.125rem/1.913rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H6 */\n --typography-bold-h5: 700 1.25rem/2.125rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H5 */\n --typography-bold-h4: 700 1.5rem/2.25rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H4 */\n --typography-bold-h3: 700 1.75rem/3rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H3 */\n --typography-bold-h2: 700 2rem/3rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H2 */\n --typography-bold-h1: 700 2.25rem/3.375rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H1 */\n --typography-bold-display: 700 3rem/AUTO 'BC Sans'; /* Extra-large font size (bolded). Do not use for headings */\n --typography-italic-label: 400 italic 0.75rem/1.125rem 'BC Sans'; /* Labels and captions (italic) */\n --typography-italic-small-body: 400 italic 0.875rem/1.313rem 'BC Sans'; /* Small body text (italic) */\n --typography-italic-body: 400 italic 1rem/1.688rem 'BC Sans'; /* Default for body text (italic) */\n --typography-italic-large-body: 400 italic 1.125rem/1.913rem 'BC Sans'; /* Larger text size for body text (italic) */\n --typography-italic-h6: 400 italic 1.125rem/1.913rem 'BC Sans'; /* Alternate (italic) style for Heading 6 */\n --typography-italic-h5: 400 italic 1.25rem/2.125rem 'BC Sans'; /* Alternate (italic) style for Heading 5 */\n --typography-italic-h4: 400 italic 1.5rem/2.25rem 'BC Sans'; /* Alternate (italic) style for Heading 4 */\n --typography-italic-h3: 400 italic 1.75rem/3.375rem 'BC Sans'; /* Alternate (italic) style for Heading 3 */\n --typography-italic-h2: 400 italic 2rem/3rem 'BC Sans'; /* Alternate (italic) style for Heading 2 */\n --typography-italic-h1: 400 italic 2.25rem/3.375rem 'BC Sans'; /* Alternate (italic) style for Heading 1 */\n --typography-italic-display: 400 italic 3rem/AUTO 'BC Sans'; /* Extra-large font size (italic). Do not use for headings */\n --typography-text-case-none: none;\n --typography-text-decoration-none: none; /* System token, used to generate type styles */\n --typography-paragraph-indent-0: 0px; /* System token, used to generate type styles */\n --typography-color-primary: #2D2D2D; /* Default colour for all body text and headings */\n --typography-color-secondary: #474543; /* Alternative colour for secondary/miscellaneous text */\n --typography-color-placeholder: #9F9D9C; /* Use for placeholder text in forms */\n --typography-color-disabled: #9F9D9C; /* Use only for text in inactive user interface elements */\n --typography-color-link: #255A90; /* Use for hyperlinks in body text and headings */\n --typography-color-danger: #CE3E39; /* Use for error, failure or danger message text */\n --typography-color-primary-invert: #FFFFFF; /* Default colour for text on dark backgrounds */\n --typography-color-secondary-invert: #ECEAE8; /* Secondary colour for text on dark backgrounds */\n --theme-gold-10: #FEF8E8; /* Gold scale — lightest */\n --theme-gold-20: #FEF0D8; /* Gold scale */\n --theme-gold-30: #FDE9C4; /* Gold scale */\n --theme-gold-40: #FCE2B0; /* Gold scale */\n --theme-gold-50: #FBDA9D; /* Gold scale */\n --theme-gold-60: #FBD389; /* Gold scale */\n --theme-gold-70: #FACC75; /* Gold scale */\n --theme-gold-80: #F9C462; /* Gold scale */\n --theme-gold-90: #F8BA47; /* Gold scale */\n --theme-gold-100: #FCBA19; /* Gold scale — darkest */\n --theme-blue-10: #F1F8FE; /* Blue scale — lightest */\n --theme-blue-20: #D8EAFD; /* Blue scale */\n --theme-blue-30: #C1DDFC; /* Blue scale */\n --theme-blue-40: #A8D0FB; /* Blue scale */\n --theme-blue-50: #91C4FA; /* Blue scale */\n --theme-blue-60: #7AB8F9; /* Blue scale */\n --theme-blue-70: #5595D9; /* Blue scale */\n --theme-blue-80: #3470B1; /* Blue scale */\n --theme-blue-90: #1E5189; /* Blue scale */\n --theme-blue-100: #013366; /* Blue scale — darkest */\n --theme-gray-10: #FAF9F8; /* Greyscale — lightest */\n --theme-gray-20: #F3F2F1; /* Greyscale */\n --theme-gray-30: #ECEAE8; /* Greyscale */\n --theme-gray-40: #E0DEDC; /* Greyscale */\n --theme-gray-50: #D1CFCD; /* Greyscale */\n --theme-gray-60: #C6C5C3; /* Greyscale */\n --theme-gray-70: #9F9D9C; /* Greyscale */\n --theme-gray-80: #605E5C; /* Greyscale */\n --theme-gray-90: #3D3C3B; /* Greyscale */\n --theme-gray-100: #353433; /* Greyscale */\n --theme-gray-110: #252423; /* Greyscale — darkest */\n --theme-gray-white: #FFFFFF; /* White */\n --theme-primary-blue: #013366; /* Primary Blue (Blue 100) */\n --theme-primary-gold: #FCBA19; /* Primary Gold (Gold 100) */\n}\n";
35
- styleInject(css_248z$k);
34
+ var css_248z$o = "/**\n * Do not edit directly, this file was auto-generated.\n */\n\n:root {\n --surface-opacity-0: 0;\n --surface-opacity-10: 0.1;\n --surface-opacity-20: 0.2;\n --surface-opacity-30: 0.3;\n --surface-opacity-40: 0.4;\n --surface-opacity-50: 0.5;\n --surface-opacity-60: 0.6;\n --surface-opacity-70: 0.7;\n --surface-opacity-80: 0.8;\n --surface-opacity-90: 0.9;\n --surface-opacity-100: 1;\n --surface-shadow-none: 0 0.30000001192092896px 0.8999999761581421px 0 #0000001a, 0 1.600000023841858px 3.5999999046325684px 0 #00000021; /* Default shadow for most content and UI elements */\n --surface-shadow-small: 0 0.6000000238418579px 1.7999999523162842px 0 #0000001a, 0 3.200000047683716px 7.199999809265137px 0 #00000021; /* Reduced shadow for secondary UI elements */\n --surface-shadow-medium: 0 1.2000000476837158px 3.5999999046325684px 0 #0000001a, 0 6.400000095367432px 14.399999618530273px 0 #00000021; /* Standard shadow for UI elements like cards and buttons */\n --surface-shadow-large: 0 4.800000190734863px 14.399999618530273px 0 #0000002e, 0 25.600000381469727px 57.599998474121094px 0 #00000038; /* Larger shadow for emphasis. Use sparingly */\n --surface-color-primary-button-default: #013366; /* Default fill colour for primary buttons */\n --surface-color-primary-button-hover: #1E5189; /* Fill colour used when user hovers over primary button */\n --surface-color-primary-button-disabled: #EDEBE9; /* Fill colour for inactive primary buttons */\n --surface-color-primary-danger-button-default: #CE3E39; /* Default fill colour for buttons in danger/warning state */\n --surface-color-primary-danger-button-hover: #A2312D; /* Fill colour used when user hovers over danger/warning button */\n --surface-color-primary-danger-button-disabled: #EDEBE9; /* Default fill colour for disabled danger/warning button */\n --surface-color-primary-default: #013366; /* Default theme colour for components and layout */\n --surface-color-primary-hover: #1E5189; /* Hover variant of surface.color.primary.default */\n --surface-color-primary-pressed: #01264C; /* Selected/pressed variant of surface.color.primary.default */\n --surface-color-primary-disabled: #EDEBE9; /* Disabled/inactive variant of surface.color.primary default */\n --surface-color-secondary-button-default: #FFFFFF; /* Fill colour for secondary buttons */\n --surface-color-secondary-button-hover: #EDEBE9; /* Fill colour used when user hovers over secondary button */\n --surface-color-secondary-button-disabled: #EDEBE9; /* Fill colour for inactive secondary buttons */\n --surface-color-secondary-default: #FFFFFF; /* Light theme colour for components and layout */\n --surface-color-secondary-hover: #EDEBE9; /* Hover variant of surface.color.secondary.default */\n --surface-color-secondary-pressed: #E0DEDC; /* Selected/pressed variant of surface.color.secondary.default */\n --surface-color-secondary-disabled: #EDEBE9; /* Disabled/inactive variant of surface.color.secondary default */\n --surface-color-tertiary-button-default: rgba(255,255,255,0); /* Default fill colour for tertiary buttons */\n --surface-color-tertiary-button-hover: #ECEAE8; /* Fill colour used when user hovers over tertiary button */\n --surface-color-tertiary-button-disabled: #EDEBE9; /* Fill colour for inactive tertiary buttons */\n --surface-color-tertiary-default: #FFFFFF00; /* Alternative light theme colour for components and layout */\n --surface-color-tertiary-hover: #ECEAE8; /* Hover variant of surface.color.tertiary.default */\n --surface-color-tertiary-pressed: #E0DEDC; /* Selected/pressed variant of surface.color.tertiary.default */\n --surface-color-tertiary-disabled: #EDEBE9; /* Disabled/inactive variant of surface.color.tertiary default */\n --surface-color-menus-default: #FFFFFF; /* Default fill colour for menu items */\n --surface-color-menus-hover: #EDEBE9; /* Fill colour used when user hovers over a menu item */\n --surface-color-forms-default: #FFFFFF; /* Default fill colour for form/input fields */\n --surface-color-forms-disabled: #EDEBE9; /* Fill colour for inactive/disabled form/input fields */\n --surface-color-background-white: #FFFFFF; /* White background */\n --surface-color-background-light-gray: #FAF9F8; /* Default background colour for layout */\n --surface-color-background-light-blue: #F1F8FE; /* Light blue background */\n --surface-color-background-dark-blue: #053662; /* Dark blue background */\n --surface-color-border-default: #D8D8D8; /* Lighter border colour for UI elements */\n --surface-color-border-medium: #898785; /* Default border colour for UI elements */\n --surface-color-border-dark: #353433; /* Used as a hover colour for form fields and inputs */\n --surface-color-border-active: #2E5DD7; /* Used as the active stroke colour for UI elements */\n --surface-color-overlay-default: rgba(0,0,0,0.45); /* Background overlay colour for images and modal dialogues */\n --support-surface-color-info: #F7F9FC;\n --support-surface-color-danger: #F4E1E2; /* Background colour for error, failure or danger messages */\n --support-surface-color-success: #F6FFF8; /* Background colour for success messages */\n --support-surface-color-warning: #FEF1D8; /* Background colour for warning messages */\n --support-border-color-info: #053662; /* Border stroke for general/informational messages */\n --support-border-color-danger: #CE3E39; /* Border stroke for error, failure or danger messages */\n --support-border-color-success: #42814A; /* Border stroke for success messages */\n --support-border-color-warning: #F8BB47; /* Border stroke for warning messages */\n --icons-size-xsmall: 14px; /* Smallest icon size */\n --icons-size-small: 16px;\n --icons-size-medium: 20px; /* Default icon size */\n --icons-size-large: 24px;\n --icons-size-xlarge: 32px; /* Largest icon size */\n --icons-color-primary: #2D2D2D; /* Default colour for icons */\n --icons-color-secondary: #474543; /* Alternative colour for secondary/miscellaneous icons */\n --icons-color-disabled: #9F9D9C; /* Use only for inactive/disabled icons */\n --icons-color-link: #255A90; /* Use for hyperlinked icons */\n --icons-color-info: #053662; /* Emphasis colour for icons in general/informational state */\n --icons-color-danger: #CE3E39; /* Emphasis colour for icons in error, failure or danger state */\n --icons-color-success: #42814A; /* Emphasis colour for icons in success state */\n --icons-color-warning: #F8BB47; /* Emphasis colour for icons in warning state */\n --icons-color-primary-invert: #FFFFFF; /* Default colour for icons on dark backgrounds */\n --layout-border-width-none: 0;\n --layout-border-width-small: 1px;\n --layout-border-width-medium: 2px;\n --layout-border-width-large: 4px;\n --layout-padding-none: 0; /* No padding */\n --layout-padding-hair: 0.125rem; /* Smallest padding value for layout */\n --layout-padding-xsmall: 0.25rem;\n --layout-padding-small: 0.5rem;\n --layout-padding-medium: 1rem; /* Default padding value for layout */\n --layout-padding-large: 1.5rem;\n --layout-padding-xlarge: 2rem; /* Largest padding value for layout */\n --layout-margin-none: 0rem; /* No margin */\n --layout-margin-hair: 0.125rem; /* Smallest margin value for layout */\n --layout-margin-xsmall: 0.25rem;\n --layout-margin-small: 0.5rem; /* Default margin value for layout */\n --layout-margin-medium: 1rem;\n --layout-margin-large: 1.5rem;\n --layout-margin-xlarge: 2rem;\n --layout-margin-xxlarge: 2.5rem;\n --layout-margin-xxxlarge: 3rem;\n --layout-margin-huge: 3.5rem; /* Largest margin value for layout */\n --layout-border-radius-none: 0;\n --layout-border-radius-small: 2px;\n --layout-border-radius-medium: 4px;\n --layout-border-radius-large: 6px;\n --layout-border-radius-circular: 9999px; /* Used for components with a circular radius */\n --typography-font-families-bc-sans: 'BC Sans'; /* BC Sans font. Requires BC Sans package */\n --typography-line-heights-xxxdense: 1.125rem; /* Smallest line height */\n --typography-line-heights-xxdense: 1.313rem;\n --typography-line-heights-xdense: 1.688rem;\n --typography-line-heights-dense: 1.913rem;\n --typography-line-heights-regular: 2.125rem; /* Default line height */\n --typography-line-heights-sparse: 2.25rem;\n --typography-line-heights-xsparse: 3rem;\n --typography-line-heights-xxsparse: 3.375rem; /* Largest line height */\n --typography-line-heights-auto: AUTO; /* System token, used to generate type styles */\n --typography-font-weights-regular: 400; /* System token, used to generate text styles */\n --typography-font-weights-bold: 700; /* System token, used to generate text styles */\n --typography-font-weights-italic-weight: 400; /* System token, used to generate text styles */\n --typography-font-weights-italic-style: italic; /* System token, used to generate text styles */\n --typography-font-size-label: 0.75rem;\n --typography-font-size-small-body: 0.875rem;\n --typography-font-size-body: 1rem;\n --typography-font-size-large-body: 1.125rem;\n --typography-font-size-h5: 1.25rem;\n --typography-font-size-h4: 1.5rem;\n --typography-font-size-h3: 1.75rem;\n --typography-font-size-h2: 2rem;\n --typography-font-size-h1: 2.25rem;\n --typography-font-size-display: 3rem;\n --typography-letter-spacing-0: 0em; /* System token, used to generate type styles */\n --typography-paragraph-spacing-0: 0; /* System token, used to generate type styles */\n --typography-regular-label: 400 0.75rem/1.125rem 'BC Sans'; /* Labels and captions */\n --typography-regular-small-body: 400 0.875rem/1.313rem 'BC Sans'; /* Smaller body text */\n --typography-regular-body: 400 1rem/1.688rem 'BC Sans'; /* Default body text */\n --typography-regular-large-body: 400 1.125rem/1.913rem 'BC Sans'; /* Larger body text */\n --typography-regular-h6: 400 1.125rem/1.913rem 'BC Sans'; /* Alternate (unbolded) style for Heading 6 */\n --typography-regular-h5: 400 1.25rem/2.125rem 'BC Sans'; /* Alternate (unbolded) style for Heading 5 */\n --typography-regular-h4: 400 1.5rem/2.25rem 'BC Sans'; /* Alternate (unbolded) style for Heading 4 */\n --typography-regular-h3: 400 1.75rem/3rem 'BC Sans'; /* Alternate (unbolded) style for Heading 3 */\n --typography-regular-h2: 400 2rem/3.375rem 'BC Sans'; /* Alternate (unbolded) style for Heading 2 */\n --typography-regular-h1: 400 2.25rem/3rem 'BC Sans'; /* Alternate (unbolded) style for Heading 1 */\n --typography-regular-display: 400 3rem/AUTO 'BC Sans'; /* Extra-large body text size. Do not use for headings */\n --typography-bold-label: 700 0.75rem/1.125rem 'BC Sans'; /* Labels and captions (bolded) */\n --typography-bold-small-body: 700 0.875rem/1.313rem 'BC Sans'; /* Default for small body text (bolded) */\n --typography-bold-body: 700 1rem/1.688rem 'BC Sans'; /* Default for body text (bolded) */\n --typography-bold-large-body: 700 1.125rem/1.913rem 'BC Sans'; /* Larger text size for body text (bolded) */\n --typography-bold-h6: 700 1.125rem/1.913rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H6 */\n --typography-bold-h5: 700 1.25rem/2.125rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H5 */\n --typography-bold-h4: 700 1.5rem/2.25rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H4 */\n --typography-bold-h3: 700 1.75rem/3rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H3 */\n --typography-bold-h2: 700 2rem/3rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H2 */\n --typography-bold-h1: 700 2.25rem/3.375rem 'BC Sans'; /* Default style for Heading 6. Includes all sizing/spacing values for H1 */\n --typography-bold-display: 700 3rem/AUTO 'BC Sans'; /* Extra-large font size (bolded). Do not use for headings */\n --typography-italic-label: 400 italic 0.75rem/1.125rem 'BC Sans'; /* Labels and captions (italic) */\n --typography-italic-small-body: 400 italic 0.875rem/1.313rem 'BC Sans'; /* Small body text (italic) */\n --typography-italic-body: 400 italic 1rem/1.688rem 'BC Sans'; /* Default for body text (italic) */\n --typography-italic-large-body: 400 italic 1.125rem/1.913rem 'BC Sans'; /* Larger text size for body text (italic) */\n --typography-italic-h6: 400 italic 1.125rem/1.913rem 'BC Sans'; /* Alternate (italic) style for Heading 6 */\n --typography-italic-h5: 400 italic 1.25rem/2.125rem 'BC Sans'; /* Alternate (italic) style for Heading 5 */\n --typography-italic-h4: 400 italic 1.5rem/2.25rem 'BC Sans'; /* Alternate (italic) style for Heading 4 */\n --typography-italic-h3: 400 italic 1.75rem/3.375rem 'BC Sans'; /* Alternate (italic) style for Heading 3 */\n --typography-italic-h2: 400 italic 2rem/3rem 'BC Sans'; /* Alternate (italic) style for Heading 2 */\n --typography-italic-h1: 400 italic 2.25rem/3.375rem 'BC Sans'; /* Alternate (italic) style for Heading 1 */\n --typography-italic-display: 400 italic 3rem/AUTO 'BC Sans'; /* Extra-large font size (italic). Do not use for headings */\n --typography-text-case-none: none;\n --typography-text-decoration-none: none; /* System token, used to generate type styles */\n --typography-paragraph-indent-0: 0px; /* System token, used to generate type styles */\n --typography-color-primary: #2D2D2D; /* Default colour for all body text and headings */\n --typography-color-secondary: #474543; /* Alternative colour for secondary/miscellaneous text */\n --typography-color-placeholder: #9F9D9C; /* Use for placeholder text in forms */\n --typography-color-disabled: #9F9D9C; /* Use only for text in inactive user interface elements */\n --typography-color-link: #255A90; /* Use for hyperlinks in body text and headings */\n --typography-color-danger: #CE3E39; /* Use for error, failure or danger message text */\n --typography-color-primary-invert: #FFFFFF; /* Default colour for text on dark backgrounds */\n --typography-color-secondary-invert: #ECEAE8; /* Secondary colour for text on dark backgrounds */\n --theme-gold-10: #FEF8E8; /* Gold scale — lightest */\n --theme-gold-20: #FEF0D8; /* Gold scale */\n --theme-gold-30: #FDE9C4; /* Gold scale */\n --theme-gold-40: #FCE2B0; /* Gold scale */\n --theme-gold-50: #FBDA9D; /* Gold scale */\n --theme-gold-60: #FBD389; /* Gold scale */\n --theme-gold-70: #FACC75; /* Gold scale */\n --theme-gold-80: #F9C462; /* Gold scale */\n --theme-gold-90: #F8BA47; /* Gold scale */\n --theme-gold-100: #FCBA19; /* Gold scale — darkest */\n --theme-blue-10: #F1F8FE; /* Blue scale — lightest */\n --theme-blue-20: #D8EAFD; /* Blue scale */\n --theme-blue-30: #C1DDFC; /* Blue scale */\n --theme-blue-40: #A8D0FB; /* Blue scale */\n --theme-blue-50: #91C4FA; /* Blue scale */\n --theme-blue-60: #7AB8F9; /* Blue scale */\n --theme-blue-70: #5595D9; /* Blue scale */\n --theme-blue-80: #3470B1; /* Blue scale */\n --theme-blue-90: #1E5189; /* Blue scale */\n --theme-blue-100: #013366; /* Blue scale — darkest */\n --theme-gray-10: #FAF9F8; /* Greyscale — lightest */\n --theme-gray-20: #F3F2F1; /* Greyscale */\n --theme-gray-30: #ECEAE8; /* Greyscale */\n --theme-gray-40: #E0DEDC; /* Greyscale */\n --theme-gray-50: #D1CFCD; /* Greyscale */\n --theme-gray-60: #C6C5C3; /* Greyscale */\n --theme-gray-70: #9F9D9C; /* Greyscale */\n --theme-gray-80: #605E5C; /* Greyscale */\n --theme-gray-90: #3D3C3B; /* Greyscale */\n --theme-gray-100: #353433; /* Greyscale */\n --theme-gray-110: #252423; /* Greyscale — darkest */\n --theme-gray-white: #FFFFFF; /* White */\n --theme-primary-blue: #013366; /* Primary Blue (Blue 100) */\n --theme-primary-gold: #FCBA19; /* Primary Gold (Gold 100) */\n}\n";
35
+ styleInject(css_248z$o);
36
36
 
37
37
  /*
38
38
  * Copyright 2024 Adobe. All rights reserved.
@@ -389,11 +389,8 @@ class $681cc3c98f569e39$export$dc064fe9e59310fd extends $681cc3c98f569e39$export
389
389
  setAttributeNS() {}
390
390
  removeAttribute() {}
391
391
  constructor(type, ownerDocument){
392
- super(ownerDocument);
393
- this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)
394
- ;
395
- this._index = 0;
396
- this.hasSetProps = false;
392
+ super(ownerDocument), this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)
393
+ , this._index = 0, this.hasSetProps = false;
397
394
  this.node = new ($23b9f4fcf0fe224b$export$d68d59712b04d9d1)(type, `react-aria-${++ownerDocument.nodeId}`);
398
395
  // Start a transaction so that no updates are emitted from the collection
399
396
  // until the props for this node are set. We don't know the real id for the
@@ -489,18 +486,8 @@ class $681cc3c98f569e39$export$b34a105447964f9f extends $681cc3c98f569e39$export
489
486
  }
490
487
  constructor(collection){
491
488
  // @ts-ignore
492
- super(null);
493
- this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE
494
- ;
495
- this.ownerDocument = this;
496
- this.dirtyNodes = new Set();
497
- this.isSSR = false;
498
- this.nodeId = 0;
499
- this.nodesByProps = new WeakMap();
500
- this.isMounted = true;
501
- this.mutatedNodes = new Set();
502
- this.subscriptions = new Set();
503
- this.transactionCount = 0;
489
+ super(null), this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE
490
+ , this.ownerDocument = this, this.dirtyNodes = new Set(), this.isSSR = false, this.nodeId = 0, this.nodesByProps = new WeakMap(), this.isMounted = true, this.mutatedNodes = new Set(), this.subscriptions = new Set(), this.transactionCount = 0;
504
491
  this.collection = collection;
505
492
  this.collectionMutated = true;
506
493
  }
@@ -532,9 +519,7 @@ function $e948873055cbafe4$export$727c8fc270210f13(props) {
532
519
  var _rendered_props_id, _ref;
533
520
  // @ts-ignore
534
521
  let key = (_ref = (_rendered_props_id = rendered.props.id) !== null && _rendered_props_id !== void 0 ? _rendered_props_id : item.key) !== null && _ref !== void 0 ? _ref : item.id;
535
- // eslint-disable-next-line max-depth
536
522
  if (key == null) throw new Error('Could not determine key for item');
537
- // eslint-disable-next-line max-depth
538
523
  if (idScope) key = idScope + ':' + key;
539
524
  // Note: only works if wrapped Item passes through id...
540
525
  rendered = ($dbSRa$react.cloneElement)(rendered, addIdAndValue ? {
@@ -634,7 +619,6 @@ function $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {
634
619
  return defaultId || `${prefix}-${counter}`;
635
620
  }
636
621
  function $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {
637
- // @ts-ignore
638
622
  let id = ($dbSRa$react).useId();
639
623
  let [didSSR] = ($dbSRa$react.useState)($b5e257d569688ac6$export$535bd6ca7f90a273());
640
624
  let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;
@@ -829,7 +813,16 @@ function $bdb11010cef70236$export$f680877a34711e37(defaultId) {
829
813
  let updateValue = ($dbSRa$react.useCallback)((val)=>{
830
814
  nextId.current = val;
831
815
  }, []);
832
- if ($bdb11010cef70236$var$canUseDOM) $bdb11010cef70236$var$idsUpdaterMap.set(res, updateValue);
816
+ if ($bdb11010cef70236$var$canUseDOM) {
817
+ // TS not smart enough to know that `has` means the value exists
818
+ if ($bdb11010cef70236$var$idsUpdaterMap.has(res) && !$bdb11010cef70236$var$idsUpdaterMap.get(res).includes(updateValue)) $bdb11010cef70236$var$idsUpdaterMap.set(res, [
819
+ ...$bdb11010cef70236$var$idsUpdaterMap.get(res),
820
+ updateValue
821
+ ]);
822
+ else $bdb11010cef70236$var$idsUpdaterMap.set(res, [
823
+ updateValue
824
+ ]);
825
+ }
833
826
  ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
834
827
  let r = res;
835
828
  return ()=>{
@@ -851,14 +844,14 @@ function $bdb11010cef70236$export$f680877a34711e37(defaultId) {
851
844
  }
852
845
  function $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {
853
846
  if (idA === idB) return idA;
854
- let setIdA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);
855
- if (setIdA) {
856
- setIdA(idB);
847
+ let setIdsA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);
848
+ if (setIdsA) {
849
+ setIdsA.forEach((fn)=>fn(idB));
857
850
  return idB;
858
851
  }
859
- let setIdB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);
860
- if (setIdB) {
861
- setIdB(idA);
852
+ let setIdsB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);
853
+ if (setIdsB) {
854
+ setIdsB.forEach((fn)=>fn(idA));
862
855
  return idA;
863
856
  }
864
857
  return idB;
@@ -1037,7 +1030,7 @@ function $7215afc6de606d6b$var$supportsPreventScroll() {
1037
1030
  return true;
1038
1031
  }
1039
1032
  });
1040
- } catch (e) {
1033
+ } catch {
1041
1034
  // Ignore
1042
1035
  }
1043
1036
  }
@@ -1199,8 +1192,10 @@ function $ea8dcbcb9ea1b556$var$openSyntheticLink(target, modifiers) {
1199
1192
  }
1200
1193
  function $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {
1201
1194
  let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();
1195
+ var _props_href;
1196
+ const href = router.useHref((_props_href = props.href) !== null && _props_href !== void 0 ? _props_href : '');
1202
1197
  return {
1203
- 'data-href': props.href ? router.useHref(props.href) : undefined,
1198
+ 'data-href': props.href ? href : undefined,
1204
1199
  'data-target': props.target,
1205
1200
  'data-rel': props.rel,
1206
1201
  'data-download': props.download,
@@ -1210,8 +1205,10 @@ function $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {
1210
1205
  }
1211
1206
  function $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(props) {
1212
1207
  let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();
1208
+ var _props_href;
1209
+ const href = router.useHref((_props_href = props === null || props === void 0 ? void 0 : props.href) !== null && _props_href !== void 0 ? _props_href : '');
1213
1210
  return {
1214
- href: (props === null || props === void 0 ? void 0 : props.href) ? router.useHref(props === null || props === void 0 ? void 0 : props.href) : undefined,
1211
+ href: (props === null || props === void 0 ? void 0 : props.href) ? href : undefined,
1215
1212
  target: props === null || props === void 0 ? void 0 : props.target,
1216
1213
  rel: props === null || props === void 0 ? void 0 : props.rel,
1217
1214
  download: props === null || props === void 0 ? void 0 : props.download,
@@ -1334,7 +1331,6 @@ function $03deb23ff14920c4$export$4eaf04e54aa8eed6() {
1334
1331
  }, [
1335
1332
  removeGlobalListener
1336
1333
  ]);
1337
- // eslint-disable-next-line arrow-body-style
1338
1334
  ($dbSRa$react.useEffect)(()=>{
1339
1335
  return removeAllGlobalListeners;
1340
1336
  }, [
@@ -1501,6 +1497,7 @@ function $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {
1501
1497
  * OF ANY KIND, either express or implied. See the License for the specific language
1502
1498
  * governing permissions and limitations under the License.
1503
1499
  */ function $cc38e7bd3fc7b213$export$2bb74740c4e19def(node, checkForOverflow) {
1500
+ if (!node) return false;
1504
1501
  let style = window.getComputedStyle(node);
1505
1502
  let isScrollable = /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);
1506
1503
  if (isScrollable && checkForOverflow) isScrollable = node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;
@@ -1557,7 +1554,6 @@ function $a40c673dc9f6d9c7$export$94ed1c92c7beeb22(node, checkForOverflow) {
1557
1554
  * governing permissions and limitations under the License.
1558
1555
  */
1559
1556
 
1560
- // @ts-ignore
1561
1557
  let $5df64b3807dc15ee$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
1562
1558
  function $5df64b3807dc15ee$export$d699905dd57c73ca() {
1563
1559
  let isSSR = ($b5e257d569688ac6$export$535bd6ca7f90a273)();
@@ -1722,7 +1718,7 @@ function $2f04cbc44ee30ce0$export$53a0910f038337bd(scrollView, element) {
1722
1718
  return sum;
1723
1719
  }
1724
1720
  function $2f04cbc44ee30ce0$export$c826860796309d1b(targetElement, opts) {
1725
- if (document.contains(targetElement)) {
1721
+ if (targetElement && document.contains(targetElement)) {
1726
1722
  let root = document.scrollingElement || document.documentElement;
1727
1723
  let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';
1728
1724
  // If scrolling is not currently prevented then we aren’t in a overlay nor is a overlay open, just use element.scrollIntoView to bring the element into view
@@ -2399,10 +2395,6 @@ function $e1995378a142960e$var$CollectionRoot({ children: children }) {
2399
2395
  */
2400
2396
 
2401
2397
  const $7135fc7d473fd974$export$d40e14dec8b060a8 = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
2402
- const $7135fc7d473fd974$export$6e2c8f0811a474ce = /*#__PURE__*/ ($e1995378a142960e$export$e953bb1cd0f19726)('section', (props, ref, section)=>{
2403
- let { render: render } = ($dbSRa$react.useContext)($7135fc7d473fd974$export$d40e14dec8b060a8);
2404
- return render(props, ref, section);
2405
- });
2406
2398
  const $7135fc7d473fd974$export$a164736487e3f0ae = {
2407
2399
  CollectionRoot ({ collection: collection, renderDropIndicator: renderDropIndicator }) {
2408
2400
  return $7135fc7d473fd974$var$useCollectionRender(collection, null, renderDropIndicator);
@@ -2661,7 +2653,6 @@ let $14c0b72509d70225$var$modifiedElementMap = new WeakMap();
2661
2653
  function $14c0b72509d70225$export$16a4697467175487(target) {
2662
2654
  if (($c87311424ea30a05$export$fedb369cb70207f1)()) {
2663
2655
  if ($14c0b72509d70225$var$state === 'default') {
2664
- // eslint-disable-next-line no-restricted-globals
2665
2656
  const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(target);
2666
2657
  $14c0b72509d70225$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;
2667
2658
  documentObject.documentElement.style.webkitUserSelect = 'none';
@@ -2688,7 +2679,6 @@ function $14c0b72509d70225$export$b0d6fa1ab32e3295(target) {
2688
2679
  ($bbed8b41f857bcc0$export$24490316f764c430)(()=>{
2689
2680
  // Avoid race conditions
2690
2681
  if ($14c0b72509d70225$var$state === 'restoring') {
2691
- // eslint-disable-next-line no-restricted-globals
2692
2682
  const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(target);
2693
2683
  if (documentObject.documentElement.style.webkitUserSelect === 'none') documentObject.documentElement.style.webkitUserSelect = $14c0b72509d70225$var$savedUserSelect || '';
2694
2684
  $14c0b72509d70225$var$savedUserSelect = '';
@@ -3027,7 +3017,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3027
3017
  }
3028
3018
  // Due to browser inconsistencies, especially on mobile browsers, we prevent
3029
3019
  // default on pointer down and handle focusing the pressable element ourselves.
3030
- if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();
3020
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultDown(e.currentTarget)) e.preventDefault();
3031
3021
  state.pointerType = e.pointerType;
3032
3022
  let shouldStopPropagation = true;
3033
3023
  if (!state.isPressed) {
@@ -3050,7 +3040,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3050
3040
  // Chrome and Firefox on touch Windows devices require mouse down events
3051
3041
  // to be canceled in addition to pointer events, or an extra asynchronous
3052
3042
  // focus event will be fired.
3053
- if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();
3043
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultDown(e.currentTarget)) e.preventDefault();
3054
3044
  e.stopPropagation();
3055
3045
  }
3056
3046
  };
@@ -3088,8 +3078,23 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3088
3078
  state.pointerType = null;
3089
3079
  removeAllGlobalListeners();
3090
3080
  if (!allowTextSelectionOnPress) ($14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);
3081
+ // Prevent subsequent touchend event from triggering onClick on unrelated elements on Android. See below.
3082
+ // Both 'touch' and 'pen' pointerTypes trigger onTouchEnd, but 'mouse' does not.
3083
+ if ('ontouchend' in state.target && e.pointerType !== 'mouse') addGlobalListener(state.target, 'touchend', onTouchEnd, {
3084
+ once: true
3085
+ });
3091
3086
  }
3092
3087
  };
3088
+ // This is a workaround for an Android Chrome/Firefox issue where click events are fired on an incorrect element
3089
+ // if the original target is removed during onPointerUp (before onClick).
3090
+ // https://github.com/adobe/react-spectrum/issues/1513
3091
+ // https://issues.chromium.org/issues/40732224
3092
+ // Note: this event must be registered directly on the element, not via React props in order to work.
3093
+ // https://github.com/facebook/react/issues/9809
3094
+ let onTouchEnd = (e)=>{
3095
+ // Don't preventDefault if we actually want the default (e.g. submit/link click).
3096
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultUp(e.currentTarget)) e.preventDefault();
3097
+ };
3093
3098
  let onPointerCancel = (e)=>{
3094
3099
  cancel(e);
3095
3100
  };
@@ -3104,7 +3109,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3104
3109
  if (e.button !== 0 || !e.currentTarget.contains(e.target)) return;
3105
3110
  // Due to browser inconsistencies, especially on mobile browsers, we prevent
3106
3111
  // default on mouse down and handle focusing the pressable element ourselves.
3107
- if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();
3112
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultDown(e.currentTarget)) e.preventDefault();
3108
3113
  if (state.ignoreEmulatedMouseEvents) {
3109
3114
  e.stopPropagation();
3110
3115
  return;
@@ -3245,7 +3250,6 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3245
3250
  triggerPressUp
3246
3251
  ]);
3247
3252
  // Remove user-select: none in case component unmounts immediately after pressStart
3248
- // eslint-disable-next-line arrow-body-style
3249
3253
  ($dbSRa$react.useEffect)(()=>{
3250
3254
  return ()=>{
3251
3255
  var _ref_current_target;
@@ -3341,16 +3345,20 @@ function $f6c31cce2adf654f$var$isOverTarget(point, target) {
3341
3345
  let pointRect = $f6c31cce2adf654f$var$getPointClientRect(point);
3342
3346
  return $f6c31cce2adf654f$var$areRectanglesOverlapping(rect, pointRect);
3343
3347
  }
3344
- function $f6c31cce2adf654f$var$shouldPreventDefault(target) {
3348
+ function $f6c31cce2adf654f$var$shouldPreventDefaultDown(target) {
3345
3349
  // We cannot prevent default if the target is a draggable element.
3346
3350
  return !(target instanceof HTMLElement) || !target.hasAttribute('draggable');
3347
3351
  }
3348
- function $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {
3349
- if (target instanceof HTMLInputElement) return !$f6c31cce2adf654f$var$isValidInputKey(target, key);
3352
+ function $f6c31cce2adf654f$var$shouldPreventDefaultUp(target) {
3353
+ if (target instanceof HTMLInputElement) return false;
3350
3354
  if (target instanceof HTMLButtonElement) return target.type !== 'submit' && target.type !== 'reset';
3351
3355
  if ($f6c31cce2adf654f$var$isHTMLAnchorLink(target)) return false;
3352
3356
  return true;
3353
3357
  }
3358
+ function $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {
3359
+ if (target instanceof HTMLInputElement) return !$f6c31cce2adf654f$var$isValidInputKey(target, key);
3360
+ return $f6c31cce2adf654f$var$shouldPreventDefaultUp(target);
3361
+ }
3354
3362
  const $f6c31cce2adf654f$var$nonTextInputTypes = new Set([
3355
3363
  'checkbox',
3356
3364
  'radio',
@@ -3460,7 +3468,6 @@ function $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {
3460
3468
  observer: null
3461
3469
  });
3462
3470
  // Clean up MutationObserver on unmount. See below.
3463
- // eslint-disable-next-line arrow-body-style
3464
3471
  ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
3465
3472
  const state = stateRef.current;
3466
3473
  return ()=>{
@@ -4558,7 +4565,6 @@ function $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain) {
4558
4565
  contain
4559
4566
  ]);
4560
4567
  // This is a useLayoutEffect so it is guaranteed to run before our async synthetic blur
4561
- // eslint-disable-next-line arrow-body-style
4562
4568
  ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
4563
4569
  return ()=>{
4564
4570
  if (raf.current) cancelAnimationFrame(raf.current);
@@ -4600,12 +4606,12 @@ function $9bf71ea28793e738$var$isAncestorScope(ancestor, scope) {
4600
4606
  function $9bf71ea28793e738$var$focusElement(element, scroll = false) {
4601
4607
  if (element != null && !scroll) try {
4602
4608
  (0, $6a99195332edec8b$export$80f3e147d781571c)(element);
4603
- } catch (err) {
4609
+ } catch {
4604
4610
  // ignore
4605
4611
  }
4606
4612
  else if (element != null) try {
4607
4613
  element.focus();
4608
- } catch (err) {
4614
+ } catch {
4609
4615
  // ignore
4610
4616
  }
4611
4617
  }
@@ -4712,7 +4718,7 @@ function $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain)
4712
4718
  let onKeyDown = (e)=>{
4713
4719
  if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey || !$9bf71ea28793e738$var$shouldContainFocus(scopeRef) || e.isComposing) return;
4714
4720
  let focusedElement = ownerDocument.activeElement;
4715
- if (!$9bf71ea28793e738$var$isElementInScope(focusedElement, scopeRef.current)) return;
4721
+ if (!$9bf71ea28793e738$var$isElementInChildScope(focusedElement, scopeRef) || !$9bf71ea28793e738$var$shouldRestoreFocus(scopeRef)) return;
4716
4722
  let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);
4717
4723
  if (!treeNode) return;
4718
4724
  let nodeToRestore = treeNode.nodeToRestore;
@@ -4729,11 +4735,11 @@ function $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain)
4729
4735
  }
4730
4736
  // If there is no next element, or it is outside the current scope, move focus to the
4731
4737
  // next element after the node to restore to instead.
4732
- if ((!nextElement || !$9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current)) && nodeToRestore) {
4738
+ if ((!nextElement || !$9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef)) && nodeToRestore) {
4733
4739
  walker.currentNode = nodeToRestore;
4734
4740
  // Skip over elements within the scope, in case the scope immediately follows the node to restore.
4735
4741
  do nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
4736
- while ($9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current));
4742
+ while ($9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef));
4737
4743
  e.preventDefault();
4738
4744
  e.stopPropagation();
4739
4745
  if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);
@@ -4766,8 +4772,7 @@ function $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain)
4766
4772
  if (!treeNode) return;
4767
4773
  let nodeToRestore = treeNode.nodeToRestore;
4768
4774
  // if we already lost focus to the body and this was the active scope, then we should attempt to restore
4769
- if (restoreFocus && nodeToRestore && // eslint-disable-next-line react-hooks/exhaustive-deps
4770
- ($9bf71ea28793e738$var$isElementInScope(ownerDocument.activeElement, scopeRef.current) || ownerDocument.activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) {
4775
+ if (restoreFocus && nodeToRestore && (ownerDocument.activeElement && $9bf71ea28793e738$var$isElementInChildScope(ownerDocument.activeElement, scopeRef) || ownerDocument.activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) {
4771
4776
  // freeze the focusScopeTree so it persists after the raf, otherwise during unmount nodes are removed from it
4772
4777
  let clonedTree = $9bf71ea28793e738$export$d06fae2ee68b101e.clone();
4773
4778
  requestAnimationFrame(()=>{
@@ -5089,7 +5094,6 @@ const $148a7a147e38ea7f$var$RTL_LANGS = new Set([
5089
5094
  ]);
5090
5095
  function $148a7a147e38ea7f$export$702d680b21cbd764(localeString) {
5091
5096
  // If the Intl.Locale API is available, use it to get the locale's text direction.
5092
- // @ts-ignore
5093
5097
  if (Intl.Locale) {
5094
5098
  let locale = new Intl.Locale(localeString).maximize();
5095
5099
  // Use the text info object to get the direction if possible.
@@ -5124,11 +5128,10 @@ const $1e5a04cdaf7d1af8$var$localeSymbol = Symbol.for('react-aria.i18n.locale');
5124
5128
  function $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {
5125
5129
  let locale = typeof window !== 'undefined' && window[$1e5a04cdaf7d1af8$var$localeSymbol] || typeof navigator !== 'undefined' && (navigator.language || navigator.userLanguage) || 'en-US';
5126
5130
  try {
5127
- // @ts-ignore
5128
5131
  Intl.DateTimeFormat.supportedLocalesOf([
5129
5132
  locale
5130
5133
  ]);
5131
- } catch (_err) {
5134
+ } catch {
5132
5135
  locale = 'en-US';
5133
5136
  }
5134
5137
  return {
@@ -5374,8 +5377,7 @@ function $325a3faab7a68acd$export$a16aca283550c30d(options) {
5374
5377
 
5375
5378
 
5376
5379
  function $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {
5377
- let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: // @ts-ignore - undocumented
5378
- preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented
5380
+ let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented
5379
5381
  allowFocusWhenDisabled, // @ts-ignore
5380
5382
  onClick: deprecatedOnClick, href: href, target: target, rel: rel, type: type = 'button' } = props;
5381
5383
  let additionalProps;
@@ -5386,7 +5388,7 @@ function $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {
5386
5388
  else additionalProps = {
5387
5389
  role: 'button',
5388
5390
  tabIndex: isDisabled ? undefined : 0,
5389
- href: elementType === 'a' && isDisabled ? undefined : href,
5391
+ href: elementType === 'a' && !isDisabled ? href : undefined,
5390
5392
  target: elementType === 'a' ? target : undefined,
5391
5393
  type: elementType === 'input' ? type : undefined,
5392
5394
  disabled: elementType === 'input' ? isDisabled : undefined,
@@ -5438,8 +5440,20 @@ function $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {
5438
5440
  */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;
5439
5441
  let $319e236875307eab$var$liveAnnouncer = null;
5440
5442
  function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
5441
- if (!$319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
5442
- $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
5443
+ if (!$319e236875307eab$var$liveAnnouncer) {
5444
+ $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
5445
+ // wait for the live announcer regions to be added to the dom, then announce
5446
+ // otherwise Safari won't announce the message if it's added too quickly
5447
+ // found most times less than 100ms were not consistent when announcing with Safari
5448
+ // IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.
5449
+ // https://github.com/reactwg/react-18/discussions/102
5450
+ // if we're in a test environment, announce without waiting
5451
+ // @ts-ignore
5452
+ if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{
5453
+ if ($319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.isAttached()) $319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
5454
+ }, 100);
5455
+ else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
5456
+ } else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
5443
5457
  }
5444
5458
  // LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18
5445
5459
  // ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a
@@ -5448,6 +5462,10 @@ function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'ass
5448
5462
  // is simple enough to implement without React, so that's what we do here.
5449
5463
  // See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638
5450
5464
  class $319e236875307eab$var$LiveAnnouncer {
5465
+ isAttached() {
5466
+ var _this_node;
5467
+ return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;
5468
+ }
5451
5469
  createLog(ariaLive) {
5452
5470
  let node = document.createElement('div');
5453
5471
  node.setAttribute('role', 'log');
@@ -5461,146 +5479,52 @@ class $319e236875307eab$var$LiveAnnouncer {
5461
5479
  this.node = null;
5462
5480
  }
5463
5481
  announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
5482
+ var _this_assertiveLog, _this_politeLog;
5464
5483
  if (!this.node) return;
5465
5484
  let node = document.createElement('div');
5466
- node.textContent = message;
5467
- if (assertiveness === 'assertive') this.assertiveLog.appendChild(node);
5468
- else this.politeLog.appendChild(node);
5485
+ if (typeof message === 'object') {
5486
+ // To read an aria-labelledby, the element must have an appropriate role, such as img.
5487
+ node.setAttribute('role', 'img');
5488
+ node.setAttribute('aria-labelledby', message['aria-labelledby']);
5489
+ } else node.textContent = message;
5490
+ if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);
5491
+ else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);
5469
5492
  if (message !== '') setTimeout(()=>{
5470
5493
  node.remove();
5471
5494
  }, timeout);
5472
5495
  }
5473
5496
  clear(assertiveness) {
5474
5497
  if (!this.node) return;
5475
- if (!assertiveness || assertiveness === 'assertive') this.assertiveLog.innerHTML = '';
5476
- if (!assertiveness || assertiveness === 'polite') this.politeLog.innerHTML = '';
5498
+ if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';
5499
+ if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';
5477
5500
  }
5478
5501
  constructor(){
5479
- this.node = document.createElement('div');
5480
- this.node.dataset.liveAnnouncer = 'true';
5481
- // copied from VisuallyHidden
5482
- Object.assign(this.node.style, {
5483
- border: 0,
5484
- clip: 'rect(0 0 0 0)',
5485
- clipPath: 'inset(50%)',
5486
- height: '1px',
5487
- margin: '-1px',
5488
- overflow: 'hidden',
5489
- padding: 0,
5490
- position: 'absolute',
5491
- width: '1px',
5492
- whiteSpace: 'nowrap'
5493
- });
5494
- this.assertiveLog = this.createLog('assertive');
5495
- this.node.appendChild(this.assertiveLog);
5496
- this.politeLog = this.createLog('polite');
5497
- this.node.appendChild(this.politeLog);
5498
- document.body.prepend(this.node);
5499
- }
5500
- }
5501
-
5502
- /*
5503
- * Copyright 2023 Adobe. All rights reserved.
5504
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5505
- * you may not use this file except in compliance with the License. You may obtain a copy
5506
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
5507
- *
5508
- * Unless required by applicable law or agreed to in writing, software distributed under
5509
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
5510
- * OF ANY KIND, either express or implied. See the License for the specific language
5511
- * governing permissions and limitations under the License.
5512
- */
5513
-
5514
-
5515
- function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
5516
- let { validationBehavior: validationBehavior, focus: focus } = props;
5517
- // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.
5518
- ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
5519
- if (validationBehavior === 'native' && (ref === null || ref === void 0 ? void 0 : ref.current)) {
5520
- let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';
5521
- ref.current.setCustomValidity(errorMessage);
5522
- // Prevent default tooltip for validation message.
5523
- // https://bugzilla.mozilla.org/show_bug.cgi?id=605277
5524
- if (!ref.current.hasAttribute('title')) ref.current.title = '';
5525
- if (!state.realtimeValidation.isInvalid) state.updateValidation($e93e671b31057976$var$getNativeValidity(ref.current));
5526
- }
5527
- });
5528
- let onReset = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5529
- state.resetValidation();
5530
- });
5531
- let onInvalid = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
5532
- var _ref_current;
5533
- // Only commit validation if we are not already displaying one.
5534
- // This avoids clearing server errors that the user didn't actually fix.
5535
- if (!state.displayValidation.isInvalid) state.commitValidation();
5536
- // Auto focus the first invalid input in a form, unless the error already had its default prevented.
5537
- let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;
5538
- if (!e.defaultPrevented && ref && form && $e93e671b31057976$var$getFirstInvalidInput(form) === ref.current) {
5539
- var _ref_current1;
5540
- if (focus) focus();
5541
- else (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();
5542
- // Always show focus ring.
5543
- ($507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
5502
+ this.node = null;
5503
+ this.assertiveLog = null;
5504
+ this.politeLog = null;
5505
+ if (typeof document !== 'undefined') {
5506
+ this.node = document.createElement('div');
5507
+ this.node.dataset.liveAnnouncer = 'true';
5508
+ // copied from VisuallyHidden
5509
+ Object.assign(this.node.style, {
5510
+ border: 0,
5511
+ clip: 'rect(0 0 0 0)',
5512
+ clipPath: 'inset(50%)',
5513
+ height: '1px',
5514
+ margin: '-1px',
5515
+ overflow: 'hidden',
5516
+ padding: 0,
5517
+ position: 'absolute',
5518
+ width: '1px',
5519
+ whiteSpace: 'nowrap'
5520
+ });
5521
+ this.assertiveLog = this.createLog('assertive');
5522
+ this.node.appendChild(this.assertiveLog);
5523
+ this.politeLog = this.createLog('polite');
5524
+ this.node.appendChild(this.politeLog);
5525
+ document.body.prepend(this.node);
5544
5526
  }
5545
- // Prevent default browser error UI from appearing.
5546
- e.preventDefault();
5547
- });
5548
- let onChange = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5549
- state.commitValidation();
5550
- });
5551
- ($dbSRa$react.useEffect)(()=>{
5552
- let input = ref === null || ref === void 0 ? void 0 : ref.current;
5553
- if (!input) return;
5554
- let form = input.form;
5555
- input.addEventListener('invalid', onInvalid);
5556
- input.addEventListener('change', onChange);
5557
- form === null || form === void 0 ? void 0 : form.addEventListener('reset', onReset);
5558
- return ()=>{
5559
- input.removeEventListener('invalid', onInvalid);
5560
- input.removeEventListener('change', onChange);
5561
- form === null || form === void 0 ? void 0 : form.removeEventListener('reset', onReset);
5562
- };
5563
- }, [
5564
- ref,
5565
- onInvalid,
5566
- onChange,
5567
- onReset,
5568
- validationBehavior
5569
- ]);
5570
- }
5571
- function $e93e671b31057976$var$getValidity(input) {
5572
- // The native ValidityState object is live, meaning each property is a getter that returns the current state.
5573
- // We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.
5574
- let validity = input.validity;
5575
- return {
5576
- badInput: validity.badInput,
5577
- customError: validity.customError,
5578
- patternMismatch: validity.patternMismatch,
5579
- rangeOverflow: validity.rangeOverflow,
5580
- rangeUnderflow: validity.rangeUnderflow,
5581
- stepMismatch: validity.stepMismatch,
5582
- tooLong: validity.tooLong,
5583
- tooShort: validity.tooShort,
5584
- typeMismatch: validity.typeMismatch,
5585
- valueMissing: validity.valueMissing,
5586
- valid: validity.valid
5587
- };
5588
- }
5589
- function $e93e671b31057976$var$getNativeValidity(input) {
5590
- return {
5591
- isInvalid: !input.validity.valid,
5592
- validationDetails: $e93e671b31057976$var$getValidity(input),
5593
- validationErrors: input.validationMessage ? [
5594
- input.validationMessage
5595
- ] : []
5596
- };
5597
- }
5598
- function $e93e671b31057976$var$getFirstInvalidInput(form) {
5599
- for(let i = 0; i < form.elements.length; i++){
5600
- let element = form.elements[i];
5601
- if (!element.validity.valid) return element;
5602
5527
  }
5603
- return null;
5604
5528
  }
5605
5529
 
5606
5530
  /*
@@ -5665,11 +5589,15 @@ function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
5665
5589
  validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE
5666
5590
  } : null;
5667
5591
  // Perform custom client side validation.
5668
- let clientError = ($dbSRa$react.useMemo)(()=>$e5be200c675c3b3a$var$getValidationResult($e5be200c675c3b3a$var$runValidate(validate, value)), [
5592
+ let clientError = ($dbSRa$react.useMemo)(()=>{
5593
+ if (!validate || value == null) return null;
5594
+ let validateErrors = $e5be200c675c3b3a$var$runValidate(validate, value);
5595
+ return $e5be200c675c3b3a$var$getValidationResult(validateErrors);
5596
+ }, [
5669
5597
  validate,
5670
5598
  value
5671
5599
  ]);
5672
- if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid) builtinValidation = null;
5600
+ if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid) builtinValidation = undefined;
5673
5601
  // Get relevant server errors from the form.
5674
5602
  let serverErrors = ($dbSRa$react.useContext)($e5be200c675c3b3a$export$571b5131b7e65c11);
5675
5603
  let serverErrorMessages = ($dbSRa$react.useMemo)(()=>{
@@ -5761,7 +5689,7 @@ function $e5be200c675c3b3a$var$getValidationResult(errors) {
5761
5689
  }
5762
5690
  function $e5be200c675c3b3a$var$isEqualValidation(a, b) {
5763
5691
  if (a === b) return true;
5764
- return a && b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a, i)=>a === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v])=>b.validationDetails[k] === v);
5692
+ return !!a && !!b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a, i)=>a === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v])=>b.validationDetails[k] === v);
5765
5693
  }
5766
5694
  function $e5be200c675c3b3a$export$75ee7c75d68f5b0e(...results) {
5767
5695
  let errors = new Set();
@@ -5786,6 +5714,110 @@ function $e5be200c675c3b3a$export$75ee7c75d68f5b0e(...results) {
5786
5714
  };
5787
5715
  }
5788
5716
 
5717
+ /*
5718
+ * Copyright 2023 Adobe. All rights reserved.
5719
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5720
+ * you may not use this file except in compliance with the License. You may obtain a copy
5721
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
5722
+ *
5723
+ * Unless required by applicable law or agreed to in writing, software distributed under
5724
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
5725
+ * OF ANY KIND, either express or implied. See the License for the specific language
5726
+ * governing permissions and limitations under the License.
5727
+ */
5728
+
5729
+
5730
+ function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
5731
+ let { validationBehavior: validationBehavior, focus: focus } = props;
5732
+ // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.
5733
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
5734
+ if (validationBehavior === 'native' && (ref === null || ref === void 0 ? void 0 : ref.current)) {
5735
+ let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';
5736
+ ref.current.setCustomValidity(errorMessage);
5737
+ // Prevent default tooltip for validation message.
5738
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=605277
5739
+ if (!ref.current.hasAttribute('title')) ref.current.title = '';
5740
+ if (!state.realtimeValidation.isInvalid) state.updateValidation($e93e671b31057976$var$getNativeValidity(ref.current));
5741
+ }
5742
+ });
5743
+ let onReset = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5744
+ state.resetValidation();
5745
+ });
5746
+ let onInvalid = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
5747
+ var _ref_current;
5748
+ // Only commit validation if we are not already displaying one.
5749
+ // This avoids clearing server errors that the user didn't actually fix.
5750
+ if (!state.displayValidation.isInvalid) state.commitValidation();
5751
+ // Auto focus the first invalid input in a form, unless the error already had its default prevented.
5752
+ let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;
5753
+ if (!e.defaultPrevented && ref && form && $e93e671b31057976$var$getFirstInvalidInput(form) === ref.current) {
5754
+ var _ref_current1;
5755
+ if (focus) focus();
5756
+ else (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();
5757
+ // Always show focus ring.
5758
+ ($507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
5759
+ }
5760
+ // Prevent default browser error UI from appearing.
5761
+ e.preventDefault();
5762
+ });
5763
+ let onChange = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5764
+ state.commitValidation();
5765
+ });
5766
+ ($dbSRa$react.useEffect)(()=>{
5767
+ let input = ref === null || ref === void 0 ? void 0 : ref.current;
5768
+ if (!input) return;
5769
+ let form = input.form;
5770
+ input.addEventListener('invalid', onInvalid);
5771
+ input.addEventListener('change', onChange);
5772
+ form === null || form === void 0 ? void 0 : form.addEventListener('reset', onReset);
5773
+ return ()=>{
5774
+ input.removeEventListener('invalid', onInvalid);
5775
+ input.removeEventListener('change', onChange);
5776
+ form === null || form === void 0 ? void 0 : form.removeEventListener('reset', onReset);
5777
+ };
5778
+ }, [
5779
+ ref,
5780
+ onInvalid,
5781
+ onChange,
5782
+ onReset,
5783
+ validationBehavior
5784
+ ]);
5785
+ }
5786
+ function $e93e671b31057976$var$getValidity(input) {
5787
+ // The native ValidityState object is live, meaning each property is a getter that returns the current state.
5788
+ // We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.
5789
+ let validity = input.validity;
5790
+ return {
5791
+ badInput: validity.badInput,
5792
+ customError: validity.customError,
5793
+ patternMismatch: validity.patternMismatch,
5794
+ rangeOverflow: validity.rangeOverflow,
5795
+ rangeUnderflow: validity.rangeUnderflow,
5796
+ stepMismatch: validity.stepMismatch,
5797
+ tooLong: validity.tooLong,
5798
+ tooShort: validity.tooShort,
5799
+ typeMismatch: validity.typeMismatch,
5800
+ valueMissing: validity.valueMissing,
5801
+ valid: validity.valid
5802
+ };
5803
+ }
5804
+ function $e93e671b31057976$var$getNativeValidity(input) {
5805
+ return {
5806
+ isInvalid: !input.validity.valid,
5807
+ validationDetails: $e93e671b31057976$var$getValidity(input),
5808
+ validationErrors: input.validationMessage ? [
5809
+ input.validationMessage
5810
+ ] : []
5811
+ };
5812
+ }
5813
+ function $e93e671b31057976$var$getFirstInvalidInput(form) {
5814
+ for(let i = 0; i < form.elements.length; i++){
5815
+ let element = form.elements[i];
5816
+ if (!element.validity.valid) return element;
5817
+ }
5818
+ return null;
5819
+ }
5820
+
5789
5821
  /*
5790
5822
  * Copyright 2020 Adobe. All rights reserved.
5791
5823
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -5867,6 +5899,8 @@ function $d2c8e2b0480f3f34$export$cbe85ee05b554577(props, state, ref) {
5867
5899
 
5868
5900
 
5869
5901
 
5902
+
5903
+
5870
5904
  function $406796ff087fe49b$export$e375f10ce42261c5(props, state, inputRef) {
5871
5905
  // Create validation state here because it doesn't make sense to add to general useToggleState.
5872
5906
  let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
@@ -5885,8 +5919,18 @@ function $406796ff087fe49b$export$e375f10ce42261c5(props, state, inputRef) {
5885
5919
  // https://css-tricks.com/indeterminate-checkboxes/
5886
5920
  if (inputRef.current) inputRef.current.indeterminate = !!isIndeterminate;
5887
5921
  });
5922
+ // Reset validation state on label press for checkbox with a hidden input.
5923
+ let { pressProps: pressProps } = ($f6c31cce2adf654f$export$45712eceda6fad21)({
5924
+ isDisabled: isDisabled || isReadOnly,
5925
+ onPress () {
5926
+ // @ts-expect-error
5927
+ let { [($e5be200c675c3b3a$export$a763b9476acd3eb)]: groupValidationState } = props;
5928
+ let { commitValidation: commitValidation } = groupValidationState ? groupValidationState : validationState;
5929
+ commitValidation();
5930
+ }
5931
+ });
5888
5932
  return {
5889
- labelProps: labelProps,
5933
+ labelProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(labelProps, pressProps),
5890
5934
  inputProps: {
5891
5935
  ...inputProps,
5892
5936
  checked: isSelected,
@@ -6168,23 +6212,185 @@ function $fba3e38d5ca8983f$export$353b32fc6898d37d(props, state, inputRef) {
6168
6212
  * OF ANY KIND, either express or implied. See the License for the specific language
6169
6213
  * governing permissions and limitations under the License.
6170
6214
  */
6171
- const $edcf132a9284368a$var$AXIS = {
6172
- top: 'top',
6173
- bottom: 'top',
6174
- left: 'left',
6175
- right: 'left'
6176
- };
6177
- const $edcf132a9284368a$var$FLIPPED_DIRECTION = {
6178
- top: 'bottom',
6179
- bottom: 'top',
6180
- left: 'right',
6181
- right: 'left'
6182
- };
6183
- const $edcf132a9284368a$var$CROSS_AXIS = {
6184
- top: 'left',
6185
- left: 'top'
6186
- };
6187
- const $edcf132a9284368a$var$AXIS_SIZE = {
6215
+
6216
+
6217
+ const $5c3e21d68f1c4674$var$styles = {
6218
+ border: 0,
6219
+ clip: 'rect(0 0 0 0)',
6220
+ clipPath: 'inset(50%)',
6221
+ height: '1px',
6222
+ margin: '-1px',
6223
+ overflow: 'hidden',
6224
+ padding: 0,
6225
+ position: 'absolute',
6226
+ width: '1px',
6227
+ whiteSpace: 'nowrap'
6228
+ };
6229
+ function $5c3e21d68f1c4674$export$a966af930f325cab(props = {}) {
6230
+ let { style: style, isFocusable: isFocusable } = props;
6231
+ let [isFocused, setFocused] = ($dbSRa$react.useState)(false);
6232
+ let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
6233
+ isDisabled: !isFocusable,
6234
+ onFocusWithinChange: (val)=>setFocused(val)
6235
+ });
6236
+ // If focused, don't hide the element.
6237
+ let combinedStyles = ($dbSRa$react.useMemo)(()=>{
6238
+ if (isFocused) return style;
6239
+ else if (style) return {
6240
+ ...$5c3e21d68f1c4674$var$styles,
6241
+ ...style
6242
+ };
6243
+ else return $5c3e21d68f1c4674$var$styles;
6244
+ // eslint-disable-next-line react-hooks/exhaustive-deps
6245
+ }, [
6246
+ isFocused
6247
+ ]);
6248
+ return {
6249
+ visuallyHiddenProps: {
6250
+ ...focusWithinProps,
6251
+ style: combinedStyles
6252
+ }
6253
+ };
6254
+ }
6255
+ function $5c3e21d68f1c4674$export$439d29a4e110a164(props) {
6256
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
6257
+ let { children: children, elementType: Element = 'div', isFocusable: isFocusable, style: style, ...otherProps } = props;
6258
+ let { visuallyHiddenProps: visuallyHiddenProps } = $5c3e21d68f1c4674$export$a966af930f325cab(props);
6259
+ return /*#__PURE__*/ ($dbSRa$react).createElement(Element, ($3ef42575df84b30b$export$9d1611c77c2fe928)(otherProps, visuallyHiddenProps), children);
6260
+ }
6261
+
6262
+ /*
6263
+ * Copyright 2020 Adobe. All rights reserved.
6264
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6265
+ * you may not use this file except in compliance with the License. You may obtain a copy
6266
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6267
+ *
6268
+ * Unless required by applicable law or agreed to in writing, software distributed under
6269
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
6270
+ * OF ANY KIND, either express or implied. See the License for the specific language
6271
+ * governing permissions and limitations under the License.
6272
+ */
6273
+
6274
+
6275
+
6276
+
6277
+
6278
+
6279
+ function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
6280
+ let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;
6281
+ let [value, setValue] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
6282
+ let { focusableProps: focusableProps } = ($e6afbd83fe6ebbd2$export$4c014de7c8940b4c)(props, ref);
6283
+ let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
6284
+ ...props,
6285
+ value: value
6286
+ });
6287
+ let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;
6288
+ let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($2baaea4c71418dea$export$294aa081a6c6f55d)({
6289
+ ...props,
6290
+ isInvalid: isInvalid,
6291
+ errorMessage: props.errorMessage || validationErrors
6292
+ });
6293
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
6294
+ labelable: true
6295
+ });
6296
+ const inputOnlyProps = {
6297
+ type: type,
6298
+ pattern: props.pattern
6299
+ };
6300
+ ($99facab73266f662$export$5add1d006293d136)(ref, value, setValue);
6301
+ ($e93e671b31057976$export$b8473d3665f3a75a)(props, validationState, ref);
6302
+ ($dbSRa$react.useEffect)(()=>{
6303
+ // This works around a React/Chrome bug that prevents textarea elements from validating when controlled.
6304
+ // We prevent React from updating defaultValue (i.e. children) of textarea when `value` changes,
6305
+ // which causes Chrome to skip validation. Only updating `value` is ok in our case since our
6306
+ // textareas are always controlled. React is planning on removing this synchronization in a
6307
+ // future major version.
6308
+ // https://github.com/facebook/react/issues/19474
6309
+ // https://github.com/facebook/react/issues/11896
6310
+ if (ref.current instanceof ($431fbd86ca7dc216$export$f21a1ffae260145a)(ref.current).HTMLTextAreaElement) {
6311
+ let input = ref.current;
6312
+ Object.defineProperty(input, 'defaultValue', {
6313
+ get: ()=>input.value,
6314
+ set: ()=>{},
6315
+ configurable: true
6316
+ });
6317
+ }
6318
+ }, [
6319
+ ref
6320
+ ]);
6321
+ return {
6322
+ labelProps: labelProps,
6323
+ inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {
6324
+ disabled: isDisabled,
6325
+ readOnly: isReadOnly,
6326
+ required: isRequired && validationBehavior === 'native',
6327
+ 'aria-required': isRequired && validationBehavior === 'aria' || undefined,
6328
+ 'aria-invalid': isInvalid || undefined,
6329
+ 'aria-errormessage': props['aria-errormessage'],
6330
+ 'aria-activedescendant': props['aria-activedescendant'],
6331
+ 'aria-autocomplete': props['aria-autocomplete'],
6332
+ 'aria-haspopup': props['aria-haspopup'],
6333
+ value: value,
6334
+ onChange: (e)=>setValue(e.target.value),
6335
+ autoComplete: props.autoComplete,
6336
+ autoCapitalize: props.autoCapitalize,
6337
+ maxLength: props.maxLength,
6338
+ minLength: props.minLength,
6339
+ name: props.name,
6340
+ placeholder: props.placeholder,
6341
+ inputMode: props.inputMode,
6342
+ // Clipboard events
6343
+ onCopy: props.onCopy,
6344
+ onCut: props.onCut,
6345
+ onPaste: props.onPaste,
6346
+ // Composition events
6347
+ onCompositionEnd: props.onCompositionEnd,
6348
+ onCompositionStart: props.onCompositionStart,
6349
+ onCompositionUpdate: props.onCompositionUpdate,
6350
+ // Selection events
6351
+ onSelect: props.onSelect,
6352
+ // Input events
6353
+ onBeforeInput: props.onBeforeInput,
6354
+ onInput: props.onInput,
6355
+ ...focusableProps,
6356
+ ...fieldProps
6357
+ }),
6358
+ descriptionProps: descriptionProps,
6359
+ errorMessageProps: errorMessageProps,
6360
+ isInvalid: isInvalid,
6361
+ validationErrors: validationErrors,
6362
+ validationDetails: validationDetails
6363
+ };
6364
+ }
6365
+
6366
+ /*
6367
+ * Copyright 2020 Adobe. All rights reserved.
6368
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6369
+ * you may not use this file except in compliance with the License. You may obtain a copy
6370
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6371
+ *
6372
+ * Unless required by applicable law or agreed to in writing, software distributed under
6373
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
6374
+ * OF ANY KIND, either express or implied. See the License for the specific language
6375
+ * governing permissions and limitations under the License.
6376
+ */
6377
+ const $edcf132a9284368a$var$AXIS = {
6378
+ top: 'top',
6379
+ bottom: 'top',
6380
+ left: 'left',
6381
+ right: 'left'
6382
+ };
6383
+ const $edcf132a9284368a$var$FLIPPED_DIRECTION = {
6384
+ top: 'bottom',
6385
+ bottom: 'top',
6386
+ left: 'right',
6387
+ right: 'left'
6388
+ };
6389
+ const $edcf132a9284368a$var$CROSS_AXIS = {
6390
+ top: 'left',
6391
+ left: 'top'
6392
+ };
6393
+ const $edcf132a9284368a$var$AXIS_SIZE = {
6188
6394
  top: 'height',
6189
6395
  left: 'width'
6190
6396
  };
@@ -6193,12 +6399,12 @@ const $edcf132a9284368a$var$TOTAL_SIZE = {
6193
6399
  height: 'totalHeight'
6194
6400
  };
6195
6401
  const $edcf132a9284368a$var$PARSED_PLACEMENT_CACHE = {};
6196
- // @ts-ignore
6197
- let $edcf132a9284368a$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
6402
+ let $edcf132a9284368a$var$visualViewport = typeof document !== 'undefined' ? window.visualViewport : null;
6198
6403
  function $edcf132a9284368a$var$getContainerDimensions(containerNode) {
6199
6404
  let width = 0, height = 0, totalWidth = 0, totalHeight = 0, top = 0, left = 0;
6200
6405
  let scroll = {};
6201
- let isPinchZoomedIn = ($edcf132a9284368a$var$visualViewport === null || $edcf132a9284368a$var$visualViewport === void 0 ? void 0 : $edcf132a9284368a$var$visualViewport.scale) > 1;
6406
+ var _visualViewport_scale;
6407
+ let isPinchZoomedIn = ((_visualViewport_scale = $edcf132a9284368a$var$visualViewport === null || $edcf132a9284368a$var$visualViewport === void 0 ? void 0 : $edcf132a9284368a$var$visualViewport.scale) !== null && _visualViewport_scale !== void 0 ? _visualViewport_scale : 1) > 1;
6202
6408
  if (containerNode.tagName === 'BODY') {
6203
6409
  let documentElement = document.documentElement;
6204
6410
  totalWidth = documentElement.clientWidth;
@@ -6230,8 +6436,10 @@ function $edcf132a9284368a$var$getContainerDimensions(containerNode) {
6230
6436
  // before pinch zoom happens
6231
6437
  scroll.top = 0;
6232
6438
  scroll.left = 0;
6233
- top = $edcf132a9284368a$var$visualViewport.pageTop;
6234
- left = $edcf132a9284368a$var$visualViewport.pageLeft;
6439
+ var _visualViewport_pageTop;
6440
+ top = (_visualViewport_pageTop = $edcf132a9284368a$var$visualViewport === null || $edcf132a9284368a$var$visualViewport === void 0 ? void 0 : $edcf132a9284368a$var$visualViewport.pageTop) !== null && _visualViewport_pageTop !== void 0 ? _visualViewport_pageTop : 0;
6441
+ var _visualViewport_pageLeft;
6442
+ left = (_visualViewport_pageLeft = $edcf132a9284368a$var$visualViewport === null || $edcf132a9284368a$var$visualViewport === void 0 ? void 0 : $edcf132a9284368a$var$visualViewport.pageLeft) !== null && _visualViewport_pageLeft !== void 0 ? _visualViewport_pageLeft : 0;
6235
6443
  }
6236
6444
  return {
6237
6445
  width: width,
@@ -6260,7 +6468,8 @@ boundaryDimensions, // The dimensions of the containing block element that the p
6260
6468
  // is portaled somewhere other than the body and has an ancestor with
6261
6469
  // position: relative/absolute, it will be different.
6262
6470
  containerDimensions, padding, containerOffsetWithBoundary) {
6263
- let containerScroll = containerDimensions.scroll[axis];
6471
+ var _containerDimensions_scroll_axis;
6472
+ let containerScroll = (_containerDimensions_scroll_axis = containerDimensions.scroll[axis]) !== null && _containerDimensions_scroll_axis !== void 0 ? _containerDimensions_scroll_axis : 0;
6264
6473
  // The height/width of the boundary. Matches the axis along which we are adjusting the overlay position
6265
6474
  let boundarySize = boundaryDimensions[$edcf132a9284368a$var$AXIS_SIZE[axis]];
6266
6475
  // Calculate the edges of the boundary (accomodating for the boundary padding) and the edges of the overlay.
@@ -6305,14 +6514,16 @@ function $edcf132a9284368a$var$parsePlacement(input) {
6305
6514
  function $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned, arrowSize, arrowBoundaryOffset) {
6306
6515
  let { placement: placement, crossPlacement: crossPlacement, axis: axis, crossAxis: crossAxis, size: size, crossSize: crossSize } = placementInfo;
6307
6516
  let position = {};
6517
+ var _childOffset_crossAxis;
6308
6518
  // button position
6309
- position[crossAxis] = childOffset[crossAxis];
6519
+ position[crossAxis] = (_childOffset_crossAxis = childOffset[crossAxis]) !== null && _childOffset_crossAxis !== void 0 ? _childOffset_crossAxis : 0;
6520
+ var _childOffset_crossSize, _overlaySize_crossSize, _childOffset_crossSize1, _overlaySize_crossSize1;
6310
6521
  if (crossPlacement === 'center') // + (button size / 2) - (overlay size / 2)
6311
6522
  // at this point the overlay center should match the button center
6312
- position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]) / 2;
6523
+ position[crossAxis] += (((_childOffset_crossSize = childOffset[crossSize]) !== null && _childOffset_crossSize !== void 0 ? _childOffset_crossSize : 0) - ((_overlaySize_crossSize = overlaySize[crossSize]) !== null && _overlaySize_crossSize !== void 0 ? _overlaySize_crossSize : 0)) / 2;
6313
6524
  else if (crossPlacement !== crossAxis) // + (button size) - (overlay size)
6314
6525
  // at this point the overlay bottom should match the button bottom
6315
- position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];
6526
+ position[crossAxis] += ((_childOffset_crossSize1 = childOffset[crossSize]) !== null && _childOffset_crossSize1 !== void 0 ? _childOffset_crossSize1 : 0) - ((_overlaySize_crossSize1 = overlaySize[crossSize]) !== null && _overlaySize_crossSize1 !== void 0 ? _overlaySize_crossSize1 : 0);
6316
6527
  /* else {
6317
6528
  the overlay top should match the button top
6318
6529
  } */
@@ -6335,23 +6546,26 @@ function $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions,
6335
6546
  }
6336
6547
  function $edcf132a9284368a$var$getMaxHeight(position, boundaryDimensions, containerOffsetWithBoundary, isContainerPositioned, margins, padding, overlayHeight, heightGrowthDirection) {
6337
6548
  const containerHeight = isContainerPositioned ? containerOffsetWithBoundary.height : boundaryDimensions[$edcf132a9284368a$var$TOTAL_SIZE.height];
6549
+ var _position_bottom;
6338
6550
  // For cases where position is set via "bottom" instead of "top", we need to calculate the true overlay top with respect to the boundary. Reverse calculate this with the same method
6339
6551
  // used in computePosition.
6340
- let overlayTop = position.top != null ? containerOffsetWithBoundary.top + position.top : containerOffsetWithBoundary.top + (containerHeight - position.bottom - overlayHeight);
6552
+ let overlayTop = position.top != null ? containerOffsetWithBoundary.top + position.top : containerOffsetWithBoundary.top + (containerHeight - ((_position_bottom = position.bottom) !== null && _position_bottom !== void 0 ? _position_bottom : 0) - overlayHeight);
6553
+ var _boundaryDimensions_scroll_top, _margins_top, _margins_bottom, _boundaryDimensions_scroll_top1, _margins_top1, _margins_bottom1;
6341
6554
  let maxHeight = heightGrowthDirection !== 'top' ? // We want the distance between the top of the overlay to the bottom of the boundary
6342
- Math.max(0, boundaryDimensions.height + boundaryDimensions.top + boundaryDimensions.scroll.top // this is the bottom of the boundary
6343
- - overlayTop // this is the top of the overlay
6344
- - (margins.top + margins.bottom + padding // save additional space for margin and padding
6555
+ Math.max(0, boundaryDimensions.height + boundaryDimensions.top + ((_boundaryDimensions_scroll_top = boundaryDimensions.scroll.top) !== null && _boundaryDimensions_scroll_top !== void 0 ? _boundaryDimensions_scroll_top : 0) - overlayTop // this is the top of the overlay
6556
+ - (((_margins_top = margins.top) !== null && _margins_top !== void 0 ? _margins_top : 0) + ((_margins_bottom = margins.bottom) !== null && _margins_bottom !== void 0 ? _margins_bottom : 0) + padding // save additional space for margin and padding
6345
6557
  )) : Math.max(0, overlayTop + overlayHeight // this is the bottom of the overlay
6346
- - (boundaryDimensions.top + boundaryDimensions.scroll.top // this is the top of the boundary
6347
- ) - (margins.top + margins.bottom + padding // save additional space for margin and padding
6558
+ - (boundaryDimensions.top + ((_boundaryDimensions_scroll_top1 = boundaryDimensions.scroll.top) !== null && _boundaryDimensions_scroll_top1 !== void 0 ? _boundaryDimensions_scroll_top1 : 0) // this is the top of the boundary
6559
+ ) - (((_margins_top1 = margins.top) !== null && _margins_top1 !== void 0 ? _margins_top1 : 0) + ((_margins_bottom1 = margins.bottom) !== null && _margins_bottom1 !== void 0 ? _margins_bottom1 : 0) + padding // save additional space for margin and padding
6348
6560
  ));
6349
6561
  return Math.min(boundaryDimensions.height - padding * 2, maxHeight);
6350
6562
  }
6351
6563
  function $edcf132a9284368a$var$getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding, placementInfo) {
6352
6564
  let { placement: placement, axis: axis, size: size } = placementInfo;
6353
- if (placement === axis) return Math.max(0, childOffset[axis] - boundaryDimensions[axis] - boundaryDimensions.scroll[axis] + containerOffsetWithBoundary[axis] - margins[axis] - margins[$edcf132a9284368a$var$FLIPPED_DIRECTION[axis]] - padding);
6354
- return Math.max(0, boundaryDimensions[size] + boundaryDimensions[axis] + boundaryDimensions.scroll[axis] - containerOffsetWithBoundary[axis] - childOffset[axis] - childOffset[size] - margins[axis] - margins[$edcf132a9284368a$var$FLIPPED_DIRECTION[axis]] - padding);
6565
+ var _boundaryDimensions_scroll_axis, _margins_axis;
6566
+ if (placement === axis) return Math.max(0, childOffset[axis] - boundaryDimensions[axis] - ((_boundaryDimensions_scroll_axis = boundaryDimensions.scroll[axis]) !== null && _boundaryDimensions_scroll_axis !== void 0 ? _boundaryDimensions_scroll_axis : 0) + containerOffsetWithBoundary[axis] - ((_margins_axis = margins[axis]) !== null && _margins_axis !== void 0 ? _margins_axis : 0) - margins[$edcf132a9284368a$var$FLIPPED_DIRECTION[axis]] - padding);
6567
+ var _margins_axis1;
6568
+ return Math.max(0, boundaryDimensions[size] + boundaryDimensions[axis] + boundaryDimensions.scroll[axis] - containerOffsetWithBoundary[axis] - childOffset[axis] - childOffset[size] - ((_margins_axis1 = margins[axis]) !== null && _margins_axis1 !== void 0 ? _margins_axis1 : 0) - margins[$edcf132a9284368a$var$FLIPPED_DIRECTION[axis]] - padding);
6355
6569
  }
6356
6570
  function $edcf132a9284368a$export$6839422d1f33cee9(placementInput, childOffset, overlaySize, scrollSize, margins, padding, flip, boundaryDimensions, containerDimensions, containerOffsetWithBoundary, offset, crossOffset, isContainerPositioned, userSetMaxHeight, arrowSize, arrowBoundaryOffset) {
6357
6571
  let placementInfo = $edcf132a9284368a$var$parsePlacement(placementInput);
@@ -6397,8 +6611,9 @@ function $edcf132a9284368a$export$6839422d1f33cee9(placementInput, childOffset,
6397
6611
  let preferredArrowPosition = childOffset[crossAxis] + .5 * childOffset[crossSize] - position[crossAxis] - margins[$edcf132a9284368a$var$AXIS[crossAxis]];
6398
6612
  // Min/Max position limits for the arrow with respect to the overlay
6399
6613
  const arrowMinPosition = arrowSize / 2 + arrowBoundaryOffset;
6614
+ var _margins_left, _margins_right, _margins_top, _margins_bottom;
6400
6615
  // overlaySize[crossSize] - margins = true size of the overlay
6401
- const overlayMargin = $edcf132a9284368a$var$AXIS[crossAxis] === 'left' ? margins.left + margins.right : margins.top + margins.bottom;
6616
+ const overlayMargin = $edcf132a9284368a$var$AXIS[crossAxis] === 'left' ? ((_margins_left = margins.left) !== null && _margins_left !== void 0 ? _margins_left : 0) + ((_margins_right = margins.right) !== null && _margins_right !== void 0 ? _margins_right : 0) : ((_margins_top = margins.top) !== null && _margins_top !== void 0 ? _margins_top : 0) + ((_margins_bottom = margins.bottom) !== null && _margins_bottom !== void 0 ? _margins_bottom : 0);
6402
6617
  const arrowMaxPosition = overlaySize[crossSize] - overlayMargin - arrowSize / 2 - arrowBoundaryOffset;
6403
6618
  // Min/Max position limits for the arrow with respect to the trigger/overlay anchor element
6404
6619
  // Same margin accomodation done here as well as for the preferredArrowPosition
@@ -6429,8 +6644,10 @@ function $edcf132a9284368a$export$b3ceb0cbf1056d98(opts) {
6429
6644
  }
6430
6645
  let overlaySize = $edcf132a9284368a$var$getOffset(overlayNode);
6431
6646
  let margins = $edcf132a9284368a$var$getMargins(overlayNode);
6432
- overlaySize.width += margins.left + margins.right;
6433
- overlaySize.height += margins.top + margins.bottom;
6647
+ var _margins_left, _margins_right;
6648
+ overlaySize.width += ((_margins_left = margins.left) !== null && _margins_left !== void 0 ? _margins_left : 0) + ((_margins_right = margins.right) !== null && _margins_right !== void 0 ? _margins_right : 0);
6649
+ var _margins_top, _margins_bottom;
6650
+ overlaySize.height += ((_margins_top = margins.top) !== null && _margins_top !== void 0 ? _margins_top : 0) + ((_margins_bottom = margins.bottom) !== null && _margins_bottom !== void 0 ? _margins_bottom : 0);
6434
6651
  let scrollSize = $edcf132a9284368a$var$getScroll(scrollNode);
6435
6652
  let boundaryDimensions = $edcf132a9284368a$var$getContainerDimensions(boundaryElement);
6436
6653
  let containerDimensions = $edcf132a9284368a$var$getContainerDimensions(container);
@@ -6503,9 +6720,7 @@ function $edcf132a9284368a$var$getContainingBlock(node) {
6503
6720
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
6504
6721
  function $edcf132a9284368a$var$isContainingBlock(node) {
6505
6722
  let style = window.getComputedStyle(node);
6506
- return style.transform !== 'none' || /transform|perspective/.test(style.willChange) || style.filter !== 'none' || style.contain === 'paint' || // @ts-ignore
6507
- 'backdropFilter' in style && style.backdropFilter !== 'none' || // @ts-ignore
6508
- 'WebkitBackdropFilter' in style && style.WebkitBackdropFilter !== 'none';
6723
+ return style.transform !== 'none' || /transform|perspective/.test(style.willChange) || style.filter !== 'none' || style.contain === 'paint' || 'backdropFilter' in style && style.backdropFilter !== 'none' || 'WebkitBackdropFilter' in style && style.WebkitBackdropFilter !== 'none';
6509
6724
  }
6510
6725
 
6511
6726
  /*
@@ -6562,18 +6777,11 @@ function $dd149f63282afbbf$export$18fc8428861184da(opts) {
6562
6777
 
6563
6778
 
6564
6779
 
6565
- // @ts-ignore
6566
- let $2a41e45df1593e64$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
6780
+ let $2a41e45df1593e64$var$visualViewport = typeof document !== 'undefined' ? window.visualViewport : null;
6567
6781
  function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6568
6782
  let { direction: direction } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
6569
6783
  let { arrowSize: arrowSize = 0, targetRef: targetRef, overlayRef: overlayRef, scrollRef: scrollRef = overlayRef, placement: placement = 'bottom', containerPadding: containerPadding = 12, shouldFlip: shouldFlip = true, boundaryElement: boundaryElement = typeof document !== 'undefined' ? document.body : null, offset: offset = 0, crossOffset: crossOffset = 0, shouldUpdatePosition: shouldUpdatePosition = true, isOpen: isOpen = true, onClose: onClose, maxHeight: maxHeight, arrowBoundaryOffset: arrowBoundaryOffset = 0 } = props;
6570
- let [position, setPosition] = ($dbSRa$react.useState)({
6571
- position: {},
6572
- arrowOffsetLeft: undefined,
6573
- arrowOffsetTop: undefined,
6574
- maxHeight: undefined,
6575
- placement: undefined
6576
- });
6784
+ let [position, setPosition] = ($dbSRa$react.useState)(null);
6577
6785
  let deps = [
6578
6786
  shouldUpdatePosition,
6579
6787
  placement,
@@ -6609,17 +6817,20 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6609
6817
  // changes, the focused element appears to stay in the same position.
6610
6818
  let anchor = null;
6611
6819
  if (scrollRef.current && scrollRef.current.contains(document.activeElement)) {
6612
- let anchorRect = document.activeElement.getBoundingClientRect();
6820
+ var _document_activeElement;
6821
+ let anchorRect = (_document_activeElement = document.activeElement) === null || _document_activeElement === void 0 ? void 0 : _document_activeElement.getBoundingClientRect();
6613
6822
  let scrollRect = scrollRef.current.getBoundingClientRect();
6823
+ var _anchorRect_top;
6614
6824
  // Anchor from the top if the offset is in the top half of the scrollable element,
6615
6825
  // otherwise anchor from the bottom.
6616
6826
  anchor = {
6617
6827
  type: 'top',
6618
- offset: anchorRect.top - scrollRect.top
6828
+ offset: ((_anchorRect_top = anchorRect === null || anchorRect === void 0 ? void 0 : anchorRect.top) !== null && _anchorRect_top !== void 0 ? _anchorRect_top : 0) - scrollRect.top
6619
6829
  };
6620
6830
  if (anchor.offset > scrollRect.height / 2) {
6621
6831
  anchor.type = 'bottom';
6622
- anchor.offset = anchorRect.bottom - scrollRect.bottom;
6832
+ var _anchorRect_bottom;
6833
+ anchor.offset = ((_anchorRect_bottom = anchorRect === null || anchorRect === void 0 ? void 0 : anchorRect.bottom) !== null && _anchorRect_bottom !== void 0 ? _anchorRect_bottom : 0) - scrollRect.bottom;
6623
6834
  }
6624
6835
  }
6625
6836
  // Always reset the overlay's previous max height if not defined by the user so that we can compensate for
@@ -6646,6 +6857,7 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6646
6857
  arrowSize: arrowSize,
6647
6858
  arrowBoundaryOffset: arrowBoundaryOffset
6648
6859
  });
6860
+ if (!position.position) return;
6649
6861
  // Modify overlay styles directly so positioning happens immediately without the need of a second render
6650
6862
  // This is so we don't have to delay autoFocus scrolling or delay applying preventScroll for popovers
6651
6863
  overlay.style.top = '';
@@ -6653,9 +6865,9 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6653
6865
  overlay.style.left = '';
6654
6866
  overlay.style.right = '';
6655
6867
  Object.keys(position.position).forEach((key)=>overlay.style[key] = position.position[key] + 'px');
6656
- overlay.style.maxHeight = position.maxHeight != null ? position.maxHeight + 'px' : undefined;
6868
+ overlay.style.maxHeight = position.maxHeight != null ? position.maxHeight + 'px' : '';
6657
6869
  // Restore scroll position relative to anchor element.
6658
- if (anchor) {
6870
+ if (anchor && document.activeElement && scrollRef.current) {
6659
6871
  let anchorRect = document.activeElement.getBoundingClientRect();
6660
6872
  let scrollRect = scrollRef.current.getBoundingClientRect();
6661
6873
  let newOffset = anchorRect[anchor.type] - scrollRect[anchor.type];
@@ -6708,7 +6920,7 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6708
6920
  updatePosition
6709
6921
  ]);
6710
6922
  let close = ($dbSRa$react.useCallback)(()=>{
6711
- if (!isResizing.current) onClose();
6923
+ if (!isResizing.current) onClose === null || onClose === void 0 ? void 0 : onClose();
6712
6924
  }, [
6713
6925
  onClose,
6714
6926
  isResizing
@@ -6720,23 +6932,23 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6720
6932
  isOpen: isOpen,
6721
6933
  onClose: onClose && close
6722
6934
  });
6723
- var _position_maxHeight;
6935
+ var _position_maxHeight, _position_placement;
6724
6936
  return {
6725
6937
  overlayProps: {
6726
6938
  style: {
6727
6939
  position: 'absolute',
6728
6940
  zIndex: 100000,
6729
- ...position.position,
6730
- maxHeight: (_position_maxHeight = position.maxHeight) !== null && _position_maxHeight !== void 0 ? _position_maxHeight : '100vh'
6941
+ ...position === null || position === void 0 ? void 0 : position.position,
6942
+ maxHeight: (_position_maxHeight = position === null || position === void 0 ? void 0 : position.maxHeight) !== null && _position_maxHeight !== void 0 ? _position_maxHeight : '100vh'
6731
6943
  }
6732
6944
  },
6733
- placement: position.placement,
6945
+ placement: (_position_placement = position === null || position === void 0 ? void 0 : position.placement) !== null && _position_placement !== void 0 ? _position_placement : null,
6734
6946
  arrowProps: {
6735
6947
  'aria-hidden': 'true',
6736
6948
  role: 'presentation',
6737
6949
  style: {
6738
- left: position.arrowOffsetLeft,
6739
- top: position.arrowOffsetTop
6950
+ left: position === null || position === void 0 ? void 0 : position.arrowOffsetLeft,
6951
+ top: position === null || position === void 0 ? void 0 : position.arrowOffsetTop
6740
6952
  }
6741
6953
  },
6742
6954
  updatePosition: updatePosition
@@ -6816,7 +7028,7 @@ function $a11501f3d1d39e6c$export$ea8f71083e90600f(props, ref) {
6816
7028
  // Handle clicking outside the overlay to close it
6817
7029
  ($e0b6e0b68ec7f50f$export$872b660ac5a1ff98)({
6818
7030
  ref: ref,
6819
- onInteractOutside: isDismissable && isOpen ? onInteractOutside : null,
7031
+ onInteractOutside: isDismissable && isOpen ? onInteractOutside : undefined,
6820
7032
  onInteractOutsideStart: onInteractOutsideStart
6821
7033
  });
6822
7034
  let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
@@ -6832,7 +7044,7 @@ function $a11501f3d1d39e6c$export$ea8f71083e90600f(props, ref) {
6832
7044
  // do not close the outer overlay. At this point, the active scope should
6833
7045
  // still be the outer overlay, since blur events run before focus.
6834
7046
  if (!e.relatedTarget || ($9bf71ea28793e738$export$1258395f99bf9cbf)(e.relatedTarget)) return;
6835
- if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget)) onClose();
7047
+ if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget)) onClose === null || onClose === void 0 ? void 0 : onClose();
6836
7048
  }
6837
7049
  });
6838
7050
  let onPointerDownUnderlay = (e)=>{
@@ -6883,7 +7095,7 @@ function $628037886ba31236$export$f9d5c8beee7d008d(props, state, ref) {
6883
7095
  triggerProps: {
6884
7096
  'aria-haspopup': ariaHasPopup,
6885
7097
  'aria-expanded': isOpen,
6886
- 'aria-controls': isOpen ? overlayId : null,
7098
+ 'aria-controls': isOpen ? overlayId : undefined,
6887
7099
  onPress: state.toggle
6888
7100
  },
6889
7101
  overlayProps: {
@@ -6903,7 +7115,6 @@ function $628037886ba31236$export$f9d5c8beee7d008d(props, state, ref) {
6903
7115
  * OF ANY KIND, either express or implied. See the License for the specific language
6904
7116
  * governing permissions and limitations under the License.
6905
7117
  */
6906
- // @ts-ignore
6907
7118
  const $49c51c25361d4cd2$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
6908
7119
  // HTML input types that do not cause the software keyboard to appear.
6909
7120
  const $49c51c25361d4cd2$var$nonTextInputTypes = new Set([
@@ -7086,22 +7297,26 @@ function $49c51c25361d4cd2$var$setStyle(element, style, value) {
7086
7297
  }
7087
7298
  // Adds an event listener to an element, and returns a function to remove it.
7088
7299
  function $49c51c25361d4cd2$var$addEvent(target, event, handler, options) {
7300
+ // internal function, so it's ok to ignore the difficult to fix type error
7301
+ // @ts-ignore
7089
7302
  target.addEventListener(event, handler, options);
7090
7303
  return ()=>{
7304
+ // @ts-ignore
7091
7305
  target.removeEventListener(event, handler, options);
7092
7306
  };
7093
7307
  }
7094
7308
  function $49c51c25361d4cd2$var$scrollIntoView(target) {
7095
7309
  let root = document.scrollingElement || document.documentElement;
7096
- while(target && target !== root){
7310
+ let nextTarget = target;
7311
+ while(nextTarget && nextTarget !== root){
7097
7312
  // Find the parent scrollable element and adjust the scroll position if the target is not already in view.
7098
- let scrollable = ($62d8ded9296f3872$export$cfa2225e87938781)(target);
7099
- if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {
7313
+ let scrollable = ($62d8ded9296f3872$export$cfa2225e87938781)(nextTarget);
7314
+ if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== nextTarget) {
7100
7315
  let scrollableTop = scrollable.getBoundingClientRect().top;
7101
- let targetTop = target.getBoundingClientRect().top;
7102
- if (targetTop > scrollableTop + target.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;
7316
+ let targetTop = nextTarget.getBoundingClientRect().top;
7317
+ if (targetTop > scrollableTop + nextTarget.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;
7103
7318
  }
7104
- target = scrollable.parentElement;
7319
+ nextTarget = scrollable.parentElement;
7105
7320
  }
7106
7321
  }
7107
7322
  function $49c51c25361d4cd2$var$willOpenKeyboard(target) {
@@ -7149,7 +7364,7 @@ function $f57aed4a881a3485$export$d9aaed4c3ece1bc0() {
7149
7364
  let context = ($dbSRa$react.useContext)($f57aed4a881a3485$var$Context);
7150
7365
  return {
7151
7366
  modalProviderProps: {
7152
- 'aria-hidden': context && context.modalCount > 0 ? true : null
7367
+ 'aria-hidden': context && context.modalCount > 0 ? true : undefined
7153
7368
  }
7154
7369
  };
7155
7370
  }
@@ -7421,64 +7636,6 @@ $a2f21f5f14f60553$exports = {
7421
7636
  "zh-TW": $2b2734393847c884$exports
7422
7637
  };
7423
7638
 
7424
- /*
7425
- * Copyright 2020 Adobe. All rights reserved.
7426
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
7427
- * you may not use this file except in compliance with the License. You may obtain a copy
7428
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
7429
- *
7430
- * Unless required by applicable law or agreed to in writing, software distributed under
7431
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
7432
- * OF ANY KIND, either express or implied. See the License for the specific language
7433
- * governing permissions and limitations under the License.
7434
- */
7435
-
7436
-
7437
- const $5c3e21d68f1c4674$var$styles = {
7438
- border: 0,
7439
- clip: 'rect(0 0 0 0)',
7440
- clipPath: 'inset(50%)',
7441
- height: '1px',
7442
- margin: '-1px',
7443
- overflow: 'hidden',
7444
- padding: 0,
7445
- position: 'absolute',
7446
- width: '1px',
7447
- whiteSpace: 'nowrap'
7448
- };
7449
- function $5c3e21d68f1c4674$export$a966af930f325cab(props = {}) {
7450
- let { style: style, isFocusable: isFocusable } = props;
7451
- let [isFocused, setFocused] = ($dbSRa$react.useState)(false);
7452
- let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
7453
- isDisabled: !isFocusable,
7454
- onFocusWithinChange: (val)=>setFocused(val)
7455
- });
7456
- // If focused, don't hide the element.
7457
- let combinedStyles = ($dbSRa$react.useMemo)(()=>{
7458
- if (isFocused) return style;
7459
- else if (style) return {
7460
- ...$5c3e21d68f1c4674$var$styles,
7461
- ...style
7462
- };
7463
- else return $5c3e21d68f1c4674$var$styles;
7464
- // eslint-disable-next-line react-hooks/exhaustive-deps
7465
- }, [
7466
- isFocused
7467
- ]);
7468
- return {
7469
- visuallyHiddenProps: {
7470
- ...focusWithinProps,
7471
- style: combinedStyles
7472
- }
7473
- };
7474
- }
7475
- function $5c3e21d68f1c4674$export$439d29a4e110a164(props) {
7476
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7477
- let { children: children, elementType: Element = 'div', isFocusable: isFocusable, style: style, ...otherProps } = props;
7478
- let { visuallyHiddenProps: visuallyHiddenProps } = $5c3e21d68f1c4674$export$a966af930f325cab(props);
7479
- return /*#__PURE__*/ ($dbSRa$react).createElement(Element, ($3ef42575df84b30b$export$9d1611c77c2fe928)(otherProps, visuallyHiddenProps), children);
7480
- }
7481
-
7482
7639
  function $parcel$interopDefault$5(a) {
7483
7640
  return a && a.__esModule ? a.default : a;
7484
7641
  }
@@ -7540,7 +7697,7 @@ function $5e3802645cc19319$export$1c3ebcada18427bf(targets, root = document.body
7540
7697
  // Also skip children of already hidden nodes, as aria-hidden is recursive. An exception is
7541
7698
  // made for elements with role="row" since VoiceOver on iOS has issues hiding elements with role="row".
7542
7699
  // For that case we want to hide the cells inside as well (https://bugs.webkit.org/show_bug.cgi?id=222623).
7543
- if (visibleNodes.has(node) || hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute('role') !== 'row') return NodeFilter.FILTER_REJECT;
7700
+ if (visibleNodes.has(node) || node.parentElement && hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute('role') !== 'row') return NodeFilter.FILTER_REJECT;
7544
7701
  // Skip this node but continue to children if one of the targets is inside the node.
7545
7702
  for (let target of visibleNodes){
7546
7703
  if (node.contains(target)) return NodeFilter.FILTER_SKIP;
@@ -7615,6 +7772,7 @@ function $5e3802645cc19319$export$1c3ebcada18427bf(targets, root = document.body
7615
7772
  observer.disconnect();
7616
7773
  for (let node of hiddenNodes){
7617
7774
  let count = $5e3802645cc19319$var$refCountMap.get(node);
7775
+ if (count == null) continue;
7618
7776
  if (count === 1) {
7619
7777
  node.removeAttribute('aria-hidden');
7620
7778
  $5e3802645cc19319$var$refCountMap.delete(node);
@@ -7646,7 +7804,8 @@ function $5e3802645cc19319$export$1c3ebcada18427bf(targets, root = document.body
7646
7804
  function $f2f8a6077418541e$export$542a6fd13ac93354(props, state) {
7647
7805
  let { triggerRef: triggerRef, popoverRef: popoverRef, isNonModal: isNonModal, isKeyboardDismissDisabled: isKeyboardDismissDisabled, shouldCloseOnInteractOutside: shouldCloseOnInteractOutside, ...otherProps } = props;
7648
7806
  let { overlayProps: overlayProps, underlayProps: underlayProps } = ($a11501f3d1d39e6c$export$ea8f71083e90600f)({
7649
- isOpen: state.isOpen,
7807
+ // If popover is in the top layer, it should not prevent other popovers from being dismissed.
7808
+ isOpen: state.isOpen && !otherProps['data-react-aria-top-layer'],
7650
7809
  onClose: state.close,
7651
7810
  shouldCloseOnBlur: true,
7652
7811
  isDismissable: !isNonModal,
@@ -7658,7 +7817,7 @@ function $f2f8a6077418541e$export$542a6fd13ac93354(props, state) {
7658
7817
  targetRef: triggerRef,
7659
7818
  overlayRef: popoverRef,
7660
7819
  isOpen: state.isOpen,
7661
- onClose: isNonModal ? state.close : null
7820
+ onClose: isNonModal ? state.close : undefined
7662
7821
  });
7663
7822
  ($49c51c25361d4cd2$export$ee0f7cc6afcd1c18)({
7664
7823
  isDisabled: isNonModal || !state.isOpen
@@ -7776,7 +7935,7 @@ function $8ac8429251c45e4b$export$dbc0f175b25fb0fb(props, state, ref) {
7776
7935
  });
7777
7936
  ($337b884510726a0d$export$14c98a7594375490)();
7778
7937
  ($dbSRa$react.useEffect)(()=>{
7779
- if (state.isOpen) return ($5e3802645cc19319$export$1c3ebcada18427bf)([
7938
+ if (state.isOpen && ref.current) return ($5e3802645cc19319$export$1c3ebcada18427bf)([
7780
7939
  ref.current
7781
7940
  ]);
7782
7941
  }, [
@@ -7849,7 +8008,7 @@ function $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {
7849
8008
  let { keyboardDelegate: keyboardDelegate, selectionManager: selectionManager, onTypeSelect: onTypeSelect } = options;
7850
8009
  let state = ($dbSRa$react.useRef)({
7851
8010
  search: '',
7852
- timeout: null
8011
+ timeout: undefined
7853
8012
  }).current;
7854
8013
  let onKeyDown = (e)=>{
7855
8014
  let character = $fb3050f43d946246$var$getStringForKey(e.key);
@@ -7863,14 +8022,16 @@ function $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {
7863
8022
  if (!('continuePropagation' in e)) e.stopPropagation();
7864
8023
  }
7865
8024
  state.search += character;
7866
- // Use the delegate to find a key to focus.
7867
- // Prioritize items after the currently focused item, falling back to searching the whole list.
7868
- let key = keyboardDelegate.getKeyForSearch(state.search, selectionManager.focusedKey);
7869
- // If no key found, search from the top.
7870
- if (key == null) key = keyboardDelegate.getKeyForSearch(state.search);
7871
- if (key != null) {
7872
- selectionManager.setFocusedKey(key);
7873
- if (onTypeSelect) onTypeSelect(key);
8025
+ if (keyboardDelegate.getKeyForSearch != null) {
8026
+ // Use the delegate to find a key to focus.
8027
+ // Prioritize items after the currently focused item, falling back to searching the whole list.
8028
+ let key = keyboardDelegate.getKeyForSearch(state.search, selectionManager.focusedKey);
8029
+ // If no key found, search from the top.
8030
+ if (key == null) key = keyboardDelegate.getKeyForSearch(state.search);
8031
+ if (key != null) {
8032
+ selectionManager.setFocusedKey(key);
8033
+ if (onTypeSelect) onTypeSelect(key);
8034
+ }
7874
8035
  }
7875
8036
  clearTimeout(state.timeout);
7876
8037
  state.timeout = setTimeout(()=>{
@@ -7881,7 +8042,7 @@ function $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {
7881
8042
  typeSelectProps: {
7882
8043
  // Using a capturing listener to catch the keydown event before
7883
8044
  // other hooks in order to handle the Spacebar event.
7884
- onKeyDownCapture: keyboardDelegate.getKeyForSearch ? onKeyDown : null
8045
+ onKeyDownCapture: keyboardDelegate.getKeyForSearch ? onKeyDown : undefined
7885
8046
  }
7886
8047
  };
7887
8048
  }
@@ -7918,21 +8079,23 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7918
8079
  let { direction: direction } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
7919
8080
  let router = ($ea8dcbcb9ea1b556$export$9a302a45f65d0572)();
7920
8081
  let onKeyDown = (e)=>{
8082
+ var _ref_current;
7921
8083
  // Prevent option + tab from doing anything since it doesn't move focus to the cells, only buttons/checkboxes
7922
8084
  if (e.altKey && e.key === 'Tab') e.preventDefault();
7923
8085
  // Keyboard events bubble through portals. Don't handle keyboard events
7924
8086
  // for elements outside the collection (e.g. menus).
7925
- if (!ref.current.contains(e.target)) return;
8087
+ if (!((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.contains(e.target))) return;
7926
8088
  const navigateToKey = (key, childFocus)=>{
7927
8089
  if (key != null) {
7928
8090
  if (manager.isLink(key) && linkBehavior === 'selection' && selectOnFocus && !($feb5ffebff200149$export$d3e3bd3e26688c04)(e)) {
8091
+ var _scrollRef_current;
7929
8092
  // Set focused key and re-render synchronously to bring item into view if needed.
7930
8093
  ($iETbY$reactdom.flushSync)(()=>{
7931
8094
  manager.setFocusedKey(key, childFocus);
7932
8095
  });
7933
- let item = scrollRef.current.querySelector(`[data-key="${CSS.escape(key.toString())}"]`);
8096
+ let item = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.querySelector(`[data-key="${CSS.escape(key.toString())}"]`);
7934
8097
  let itemProps = manager.getItemProps(key);
7935
- router.open(item, e, itemProps.href, itemProps.routerOptions);
8098
+ if (item) router.open(item, e, itemProps.href, itemProps.routerOptions);
7936
8099
  return;
7937
8100
  }
7938
8101
  manager.setFocusedKey(key, childFocus);
@@ -7944,38 +8107,46 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7944
8107
  switch(e.key){
7945
8108
  case 'ArrowDown':
7946
8109
  if (delegate.getKeyBelow) {
7947
- var _delegate_getFirstKey, _delegate_getFirstKey1;
7948
- e.preventDefault();
7949
- let nextKey = manager.focusedKey != null ? delegate.getKeyBelow(manager.focusedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);
8110
+ var _delegate_getKeyBelow, _delegate_getFirstKey, _delegate_getFirstKey1;
8111
+ let nextKey = manager.focusedKey != null ? (_delegate_getKeyBelow = delegate.getKeyBelow) === null || _delegate_getKeyBelow === void 0 ? void 0 : _delegate_getKeyBelow.call(delegate, manager.focusedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);
7950
8112
  if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate, manager.focusedKey);
7951
- navigateToKey(nextKey);
8113
+ if (nextKey != null) {
8114
+ e.preventDefault();
8115
+ navigateToKey(nextKey);
8116
+ }
7952
8117
  }
7953
8118
  break;
7954
8119
  case 'ArrowUp':
7955
8120
  if (delegate.getKeyAbove) {
7956
- var _delegate_getLastKey, _delegate_getLastKey1;
7957
- e.preventDefault();
7958
- let nextKey = manager.focusedKey != null ? delegate.getKeyAbove(manager.focusedKey) : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate);
8121
+ var _delegate_getKeyAbove, _delegate_getLastKey, _delegate_getLastKey1;
8122
+ let nextKey = manager.focusedKey != null ? (_delegate_getKeyAbove = delegate.getKeyAbove) === null || _delegate_getKeyAbove === void 0 ? void 0 : _delegate_getKeyAbove.call(delegate, manager.focusedKey) : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate);
7959
8123
  if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getLastKey1 = delegate.getLastKey) === null || _delegate_getLastKey1 === void 0 ? void 0 : _delegate_getLastKey1.call(delegate, manager.focusedKey);
7960
- navigateToKey(nextKey);
8124
+ if (nextKey != null) {
8125
+ e.preventDefault();
8126
+ navigateToKey(nextKey);
8127
+ }
7961
8128
  }
7962
8129
  break;
7963
8130
  case 'ArrowLeft':
7964
8131
  if (delegate.getKeyLeftOf) {
7965
- var _delegate_getFirstKey2, _delegate_getLastKey2;
7966
- e.preventDefault();
7967
- let nextKey = delegate.getKeyLeftOf(manager.focusedKey);
8132
+ var _delegate_getKeyLeftOf, _delegate_getFirstKey2, _delegate_getLastKey2;
8133
+ let nextKey = manager.focusedKey != null ? (_delegate_getKeyLeftOf = delegate.getKeyLeftOf) === null || _delegate_getKeyLeftOf === void 0 ? void 0 : _delegate_getKeyLeftOf.call(delegate, manager.focusedKey) : null;
7968
8134
  if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? (_delegate_getFirstKey2 = delegate.getFirstKey) === null || _delegate_getFirstKey2 === void 0 ? void 0 : _delegate_getFirstKey2.call(delegate, manager.focusedKey) : (_delegate_getLastKey2 = delegate.getLastKey) === null || _delegate_getLastKey2 === void 0 ? void 0 : _delegate_getLastKey2.call(delegate, manager.focusedKey);
7969
- navigateToKey(nextKey, direction === 'rtl' ? 'first' : 'last');
8135
+ if (nextKey != null) {
8136
+ e.preventDefault();
8137
+ navigateToKey(nextKey, direction === 'rtl' ? 'first' : 'last');
8138
+ }
7970
8139
  }
7971
8140
  break;
7972
8141
  case 'ArrowRight':
7973
8142
  if (delegate.getKeyRightOf) {
7974
- var _delegate_getLastKey3, _delegate_getFirstKey3;
7975
- e.preventDefault();
7976
- let nextKey = delegate.getKeyRightOf(manager.focusedKey);
8143
+ var _delegate_getKeyRightOf, _delegate_getLastKey3, _delegate_getFirstKey3;
8144
+ let nextKey = manager.focusedKey != null ? (_delegate_getKeyRightOf = delegate.getKeyRightOf) === null || _delegate_getKeyRightOf === void 0 ? void 0 : _delegate_getKeyRightOf.call(delegate, manager.focusedKey) : null;
7977
8145
  if (nextKey == null && shouldFocusWrap) nextKey = direction === 'rtl' ? (_delegate_getLastKey3 = delegate.getLastKey) === null || _delegate_getLastKey3 === void 0 ? void 0 : _delegate_getLastKey3.call(delegate, manager.focusedKey) : (_delegate_getFirstKey3 = delegate.getFirstKey) === null || _delegate_getFirstKey3 === void 0 ? void 0 : _delegate_getFirstKey3.call(delegate, manager.focusedKey);
7978
- navigateToKey(nextKey, direction === 'rtl' ? 'last' : 'first');
8146
+ if (nextKey != null) {
8147
+ e.preventDefault();
8148
+ navigateToKey(nextKey, direction === 'rtl' ? 'last' : 'first');
8149
+ }
7979
8150
  }
7980
8151
  break;
7981
8152
  case 'Home':
@@ -7983,8 +8154,10 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7983
8154
  e.preventDefault();
7984
8155
  let firstKey = delegate.getFirstKey(manager.focusedKey, ($feb5ffebff200149$export$16792effe837dba3)(e));
7985
8156
  manager.setFocusedKey(firstKey);
7986
- if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(firstKey);
7987
- else if (selectOnFocus) manager.replaceSelection(firstKey);
8157
+ if (firstKey != null) {
8158
+ if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(firstKey);
8159
+ else if (selectOnFocus) manager.replaceSelection(firstKey);
8160
+ }
7988
8161
  }
7989
8162
  break;
7990
8163
  case 'End':
@@ -7992,22 +8165,28 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7992
8165
  e.preventDefault();
7993
8166
  let lastKey = delegate.getLastKey(manager.focusedKey, ($feb5ffebff200149$export$16792effe837dba3)(e));
7994
8167
  manager.setFocusedKey(lastKey);
7995
- if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(lastKey);
7996
- else if (selectOnFocus) manager.replaceSelection(lastKey);
8168
+ if (lastKey != null) {
8169
+ if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(lastKey);
8170
+ else if (selectOnFocus) manager.replaceSelection(lastKey);
8171
+ }
7997
8172
  }
7998
8173
  break;
7999
8174
  case 'PageDown':
8000
- if (delegate.getKeyPageBelow) {
8001
- e.preventDefault();
8175
+ if (delegate.getKeyPageBelow && manager.focusedKey != null) {
8002
8176
  let nextKey = delegate.getKeyPageBelow(manager.focusedKey);
8003
- navigateToKey(nextKey);
8177
+ if (nextKey != null) {
8178
+ e.preventDefault();
8179
+ navigateToKey(nextKey);
8180
+ }
8004
8181
  }
8005
8182
  break;
8006
8183
  case 'PageUp':
8007
- if (delegate.getKeyPageAbove) {
8008
- e.preventDefault();
8184
+ if (delegate.getKeyPageAbove && manager.focusedKey != null) {
8009
8185
  let nextKey = delegate.getKeyPageAbove(manager.focusedKey);
8010
- navigateToKey(nextKey);
8186
+ if (nextKey != null) {
8187
+ e.preventDefault();
8188
+ navigateToKey(nextKey);
8189
+ }
8011
8190
  }
8012
8191
  break;
8013
8192
  case 'a':
@@ -8036,7 +8215,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8036
8215
  let walker = ($9bf71ea28793e738$export$2d6ec8fc375ceafa)(ref.current, {
8037
8216
  tabbable: true
8038
8217
  });
8039
- let next;
8218
+ let next = undefined;
8040
8219
  let last;
8041
8220
  do {
8042
8221
  last = walker.lastChild();
@@ -8054,10 +8233,12 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8054
8233
  top: 0,
8055
8234
  left: 0
8056
8235
  });
8057
- ($e9faafb641e167db$export$90fc3a17d93f704c)(scrollRef, 'scroll', isVirtualized ? null : ()=>{
8236
+ ($e9faafb641e167db$export$90fc3a17d93f704c)(scrollRef, 'scroll', isVirtualized ? undefined : ()=>{
8237
+ var _scrollRef_current, _scrollRef_current1;
8238
+ var _scrollRef_current_scrollTop, _scrollRef_current_scrollLeft;
8058
8239
  scrollPos.current = {
8059
- top: scrollRef.current.scrollTop,
8060
- left: scrollRef.current.scrollLeft
8240
+ top: (_scrollRef_current_scrollTop = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.scrollTop) !== null && _scrollRef_current_scrollTop !== void 0 ? _scrollRef_current_scrollTop : 0,
8241
+ left: (_scrollRef_current_scrollLeft = (_scrollRef_current1 = scrollRef.current) === null || _scrollRef_current1 === void 0 ? void 0 : _scrollRef_current1.scrollLeft) !== null && _scrollRef_current_scrollLeft !== void 0 ? _scrollRef_current_scrollLeft : 0
8061
8242
  };
8062
8243
  });
8063
8244
  let onFocus = (e)=>{
@@ -8070,6 +8251,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8070
8251
  if (!e.currentTarget.contains(e.target)) return;
8071
8252
  manager.setFocused(true);
8072
8253
  if (manager.focusedKey == null) {
8254
+ var _delegate_getLastKey, _delegate_getFirstKey;
8073
8255
  let navigateToFirstKey = (key)=>{
8074
8256
  if (key != null) {
8075
8257
  manager.setFocusedKey(key);
@@ -8081,14 +8263,14 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8081
8263
  // and either focus the first or last item accordingly.
8082
8264
  let relatedTarget = e.relatedTarget;
8083
8265
  var _manager_lastSelectedKey, _manager_firstSelectedKey;
8084
- if (relatedTarget && e.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) navigateToFirstKey((_manager_lastSelectedKey = manager.lastSelectedKey) !== null && _manager_lastSelectedKey !== void 0 ? _manager_lastSelectedKey : delegate.getLastKey());
8085
- else navigateToFirstKey((_manager_firstSelectedKey = manager.firstSelectedKey) !== null && _manager_firstSelectedKey !== void 0 ? _manager_firstSelectedKey : delegate.getFirstKey());
8086
- } else if (!isVirtualized) {
8266
+ if (relatedTarget && e.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) navigateToFirstKey((_manager_lastSelectedKey = manager.lastSelectedKey) !== null && _manager_lastSelectedKey !== void 0 ? _manager_lastSelectedKey : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate));
8267
+ else navigateToFirstKey((_manager_firstSelectedKey = manager.firstSelectedKey) !== null && _manager_firstSelectedKey !== void 0 ? _manager_firstSelectedKey : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate));
8268
+ } else if (!isVirtualized && scrollRef.current) {
8087
8269
  // Restore the scroll position to what it was before.
8088
8270
  scrollRef.current.scrollTop = scrollPos.current.top;
8089
8271
  scrollRef.current.scrollLeft = scrollPos.current.left;
8090
8272
  }
8091
- if (manager.focusedKey != null) {
8273
+ if (manager.focusedKey != null && scrollRef.current) {
8092
8274
  // Refocus and scroll the focused item into view if it exists within the scrollable region.
8093
8275
  let element = scrollRef.current.querySelector(`[data-key="${CSS.escape(manager.focusedKey.toString())}"]`);
8094
8276
  if (element) {
@@ -8108,10 +8290,13 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8108
8290
  const autoFocusRef = ($dbSRa$react.useRef)(autoFocus);
8109
8291
  ($dbSRa$react.useEffect)(()=>{
8110
8292
  if (autoFocusRef.current) {
8293
+ var _delegate_getFirstKey, _delegate_getLastKey;
8111
8294
  let focusedKey = null;
8295
+ var _delegate_getFirstKey1;
8112
8296
  // Check focus strategy to determine which item to focus
8113
- if (autoFocus === 'first') focusedKey = delegate.getFirstKey();
8114
- if (autoFocus === 'last') focusedKey = delegate.getLastKey();
8297
+ if (autoFocus === 'first') focusedKey = (_delegate_getFirstKey1 = (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate)) !== null && _delegate_getFirstKey1 !== void 0 ? _delegate_getFirstKey1 : null;
8298
+ var _delegate_getLastKey1;
8299
+ if (autoFocus === 'last') focusedKey = (_delegate_getLastKey1 = (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate)) !== null && _delegate_getLastKey1 !== void 0 ? _delegate_getLastKey1 : null;
8115
8300
  // If there are any selected keys, make the first one the new focus target
8116
8301
  let selectedKeys = manager.selectedKeys;
8117
8302
  if (selectedKeys.size) {
@@ -8123,14 +8308,14 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8123
8308
  manager.setFocused(true);
8124
8309
  manager.setFocusedKey(focusedKey);
8125
8310
  // If no default focus key is selected, focus the collection itself.
8126
- if (focusedKey == null && !shouldUseVirtualFocus) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8311
+ if (focusedKey == null && !shouldUseVirtualFocus && ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8127
8312
  }
8128
8313
  // eslint-disable-next-line react-hooks/exhaustive-deps
8129
8314
  }, []);
8130
8315
  // Scroll the focused element into view when the focusedKey changes.
8131
8316
  let lastFocusedKey = ($dbSRa$react.useRef)(manager.focusedKey);
8132
8317
  ($dbSRa$react.useEffect)(()=>{
8133
- if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || autoFocusRef.current) && (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {
8318
+ if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || autoFocusRef.current) && scrollRef.current && ref.current) {
8134
8319
  let modality = ($507fabe10e71c6fb$export$630ff653c5ada6a9)();
8135
8320
  let element = ref.current.querySelector(`[data-key="${CSS.escape(manager.focusedKey.toString())}"]`);
8136
8321
  if (!element) // If item element wasn't found, return early (don't update autoFocusRef and lastFocusedKey).
@@ -8145,7 +8330,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8145
8330
  }
8146
8331
  }
8147
8332
  // If the focused key becomes null (e.g. the last item is deleted), focus the whole collection.
8148
- if (!shouldUseVirtualFocus && manager.isFocused && manager.focusedKey == null && lastFocusedKey.current != null) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8333
+ if (!shouldUseVirtualFocus && manager.isFocused && manager.focusedKey == null && lastFocusedKey.current != null && ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8149
8334
  lastFocusedKey.current = manager.focusedKey;
8150
8335
  autoFocusRef.current = false;
8151
8336
  });
@@ -8173,7 +8358,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8173
8358
  // This will be marshalled to either the first or last item depending on where focus came from.
8174
8359
  // If using virtual focus, don't set a tabIndex at all so that VoiceOver on iOS 14 doesn't try
8175
8360
  // to move real DOM focus to the element anyway.
8176
- let tabIndex;
8361
+ let tabIndex = undefined;
8177
8362
  if (!shouldUseVirtualFocus) tabIndex = manager.focusedKey == null ? 0 : -1;
8178
8363
  return {
8179
8364
  collectionProps: {
@@ -8206,7 +8391,7 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8206
8391
  else {
8207
8392
  if (manager.selectionMode === 'none') return;
8208
8393
  if (manager.isLink(key)) {
8209
- if (linkBehavior === 'selection') {
8394
+ if (linkBehavior === 'selection' && ref.current) {
8210
8395
  let itemProps = manager.getItemProps(key);
8211
8396
  router.open(ref.current, e, itemProps.href, itemProps.routerOptions);
8212
8397
  // Always set selected keys back to what they were so that select and combobox close.
@@ -8228,7 +8413,7 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8228
8413
  let isFocused = key === manager.focusedKey;
8229
8414
  if (isFocused && manager.isFocused && !shouldUseVirtualFocus) {
8230
8415
  if (focus) focus();
8231
- else if (document.activeElement !== ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8416
+ else if (document.activeElement !== ref.current && ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8232
8417
  }
8233
8418
  // eslint-disable-next-line react-hooks/exhaustive-deps
8234
8419
  }, [
@@ -8271,7 +8456,7 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8271
8456
  let hadPrimaryActionOnPressStart = ($dbSRa$react.useRef)(false);
8272
8457
  let performAction = (e)=>{
8273
8458
  if (onAction) onAction();
8274
- if (hasLinkAction) {
8459
+ if (hasLinkAction && ref.current) {
8275
8460
  let itemProps = manager.getItemProps(key);
8276
8461
  router.open(ref.current, e, itemProps.href, itemProps.routerOptions);
8277
8462
  }
@@ -8299,10 +8484,10 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8299
8484
  } else if (e.pointerType !== 'keyboard' && allowsSelection) onSelect(e);
8300
8485
  };
8301
8486
  else {
8302
- itemPressProps.onPressUp = hasPrimaryAction ? null : (e)=>{
8487
+ itemPressProps.onPressUp = hasPrimaryAction ? undefined : (e)=>{
8303
8488
  if (e.pointerType !== 'keyboard' && allowsSelection) onSelect(e);
8304
8489
  };
8305
- itemPressProps.onPress = hasPrimaryAction ? performAction : null;
8490
+ itemPressProps.onPress = hasPrimaryAction ? performAction : undefined;
8306
8491
  }
8307
8492
  } else {
8308
8493
  itemPressProps.onPressStart = (e)=>{
@@ -8395,6 +8580,7 @@ function $880e95eb8b93ba9a$var$isSelectionKey() {
8395
8580
  */ class $657e4dc4a6e88df0$export$8f5ed9ff9f511381 {
8396
8581
  getItemRect(key) {
8397
8582
  let container = this.ref.current;
8583
+ if (!container) return null;
8398
8584
  let item = key != null ? container.querySelector(`[data-key="${CSS.escape(key.toString())}"]`) : null;
8399
8585
  if (!item) return null;
8400
8586
  let containerRect = container.getBoundingClientRect();
@@ -8408,18 +8594,20 @@ function $880e95eb8b93ba9a$var$isSelectionKey() {
8408
8594
  }
8409
8595
  getContentSize() {
8410
8596
  let container = this.ref.current;
8597
+ var _container_scrollWidth, _container_scrollHeight;
8411
8598
  return {
8412
- width: container.scrollWidth,
8413
- height: container.scrollHeight
8599
+ width: (_container_scrollWidth = container === null || container === void 0 ? void 0 : container.scrollWidth) !== null && _container_scrollWidth !== void 0 ? _container_scrollWidth : 0,
8600
+ height: (_container_scrollHeight = container === null || container === void 0 ? void 0 : container.scrollHeight) !== null && _container_scrollHeight !== void 0 ? _container_scrollHeight : 0
8414
8601
  };
8415
8602
  }
8416
8603
  getVisibleRect() {
8417
8604
  let container = this.ref.current;
8605
+ var _container_scrollLeft, _container_scrollTop, _container_offsetWidth, _container_offsetHeight;
8418
8606
  return {
8419
- x: container.scrollLeft,
8420
- y: container.scrollTop,
8421
- width: container.offsetWidth,
8422
- height: container.offsetHeight
8607
+ x: (_container_scrollLeft = container === null || container === void 0 ? void 0 : container.scrollLeft) !== null && _container_scrollLeft !== void 0 ? _container_scrollLeft : 0,
8608
+ y: (_container_scrollTop = container === null || container === void 0 ? void 0 : container.scrollTop) !== null && _container_scrollTop !== void 0 ? _container_scrollTop : 0,
8609
+ width: (_container_offsetWidth = container === null || container === void 0 ? void 0 : container.offsetWidth) !== null && _container_offsetWidth !== void 0 ? _container_offsetWidth : 0,
8610
+ height: (_container_offsetHeight = container === null || container === void 0 ? void 0 : container.offsetHeight) !== null && _container_offsetHeight !== void 0 ? _container_offsetHeight : 0
8423
8611
  };
8424
8612
  }
8425
8613
  constructor(ref){
@@ -8444,34 +8632,37 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8444
8632
  var _item_props;
8445
8633
  return this.disabledBehavior === 'all' && (((_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.isDisabled) || this.disabledKeys.has(item.key));
8446
8634
  }
8447
- getNextKey(key) {
8448
- key = this.collection.getKeyAfter(key);
8449
- while(key != null){
8450
- let item = this.collection.getItem(key);
8451
- if (item.type === 'item' && !this.isDisabled(item)) return key;
8452
- key = this.collection.getKeyAfter(key);
8635
+ findNextNonDisabled(key, getNext) {
8636
+ let nextKey = key;
8637
+ while(nextKey != null){
8638
+ let item = this.collection.getItem(nextKey);
8639
+ if ((item === null || item === void 0 ? void 0 : item.type) === 'item' && !this.isDisabled(item)) return nextKey;
8640
+ nextKey = getNext(nextKey);
8453
8641
  }
8454
8642
  return null;
8455
8643
  }
8644
+ getNextKey(key) {
8645
+ let nextKey = key;
8646
+ nextKey = this.collection.getKeyAfter(nextKey);
8647
+ return this.findNextNonDisabled(nextKey, (key)=>this.collection.getKeyAfter(key));
8648
+ }
8456
8649
  getPreviousKey(key) {
8457
- key = this.collection.getKeyBefore(key);
8458
- while(key != null){
8459
- let item = this.collection.getItem(key);
8460
- if (item.type === 'item' && !this.isDisabled(item)) return key;
8461
- key = this.collection.getKeyBefore(key);
8462
- }
8463
- return null;
8650
+ let nextKey = key;
8651
+ nextKey = this.collection.getKeyBefore(nextKey);
8652
+ return this.findNextNonDisabled(nextKey, (key)=>this.collection.getKeyBefore(key));
8464
8653
  }
8465
8654
  findKey(key, nextKey, shouldSkip) {
8466
- let itemRect = this.layoutDelegate.getItemRect(key);
8467
- if (!itemRect) return null;
8655
+ let tempKey = key;
8656
+ let itemRect = this.layoutDelegate.getItemRect(tempKey);
8657
+ if (!itemRect || tempKey == null) return null;
8468
8658
  // Find the item above or below in the same column.
8469
8659
  let prevRect = itemRect;
8470
8660
  do {
8471
- key = nextKey(key);
8472
- itemRect = this.layoutDelegate.getItemRect(key);
8473
- }while (itemRect && shouldSkip(prevRect, itemRect));
8474
- return key;
8661
+ tempKey = nextKey(tempKey);
8662
+ if (tempKey == null) break;
8663
+ itemRect = this.layoutDelegate.getItemRect(tempKey);
8664
+ }while (itemRect && shouldSkip(prevRect, itemRect) && tempKey != null);
8665
+ return tempKey;
8475
8666
  }
8476
8667
  isSameRow(prevRect, itemRect) {
8477
8668
  return prevRect.y === itemRect.y || prevRect.x !== itemRect.x;
@@ -8491,6 +8682,13 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8491
8682
  return right ? this.getPreviousKey(key) : this.getNextKey(key);
8492
8683
  }
8493
8684
  getKeyRightOf(key) {
8685
+ // This is a temporary solution for CardView until we refactor useSelectableCollection.
8686
+ // https://github.com/orgs/adobe/projects/19/views/32?pane=issue&itemId=77825042
8687
+ let layoutDelegateMethod = this.direction === 'ltr' ? 'getKeyRightOf' : 'getKeyLeftOf';
8688
+ if (this.layoutDelegate[layoutDelegateMethod]) {
8689
+ key = this.layoutDelegate[layoutDelegateMethod](key);
8690
+ return this.findNextNonDisabled(key, (key)=>this.layoutDelegate[layoutDelegateMethod](key));
8691
+ }
8494
8692
  if (this.layout === 'grid') {
8495
8693
  if (this.orientation === 'vertical') return this.getNextColumn(key, this.direction === 'rtl');
8496
8694
  else return this.findKey(key, (key)=>this.getNextColumn(key, this.direction === 'rtl'), this.isSameColumn);
@@ -8498,6 +8696,11 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8498
8696
  return null;
8499
8697
  }
8500
8698
  getKeyLeftOf(key) {
8699
+ let layoutDelegateMethod = this.direction === 'ltr' ? 'getKeyLeftOf' : 'getKeyRightOf';
8700
+ if (this.layoutDelegate[layoutDelegateMethod]) {
8701
+ key = this.layoutDelegate[layoutDelegateMethod](key);
8702
+ return this.findNextNonDisabled(key, (key)=>this.layoutDelegate[layoutDelegateMethod](key));
8703
+ }
8501
8704
  if (this.layout === 'grid') {
8502
8705
  if (this.orientation === 'vertical') return this.getNextColumn(key, this.direction === 'ltr');
8503
8706
  else return this.findKey(key, (key)=>this.getNextColumn(key, this.direction === 'ltr'), this.isSameColumn);
@@ -8506,61 +8709,53 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8506
8709
  }
8507
8710
  getFirstKey() {
8508
8711
  let key = this.collection.getFirstKey();
8509
- while(key != null){
8510
- let item = this.collection.getItem(key);
8511
- if ((item === null || item === void 0 ? void 0 : item.type) === 'item' && !this.isDisabled(item)) return key;
8512
- key = this.collection.getKeyAfter(key);
8513
- }
8514
- return null;
8712
+ return this.findNextNonDisabled(key, (key)=>this.collection.getKeyAfter(key));
8515
8713
  }
8516
8714
  getLastKey() {
8517
8715
  let key = this.collection.getLastKey();
8518
- while(key != null){
8519
- let item = this.collection.getItem(key);
8520
- if (item.type === 'item' && !this.isDisabled(item)) return key;
8521
- key = this.collection.getKeyBefore(key);
8522
- }
8523
- return null;
8716
+ return this.findNextNonDisabled(key, (key)=>this.collection.getKeyBefore(key));
8524
8717
  }
8525
8718
  getKeyPageAbove(key) {
8526
8719
  let menu = this.ref.current;
8527
8720
  let itemRect = this.layoutDelegate.getItemRect(key);
8528
8721
  if (!itemRect) return null;
8529
- if (!($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getFirstKey();
8722
+ if (menu && !($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getFirstKey();
8723
+ let nextKey = key;
8530
8724
  if (this.orientation === 'horizontal') {
8531
8725
  let pageX = Math.max(0, itemRect.x + itemRect.width - this.layoutDelegate.getVisibleRect().width);
8532
- while(itemRect && itemRect.x > pageX){
8533
- key = this.getKeyAbove(key);
8534
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8726
+ while(itemRect && itemRect.x > pageX && nextKey != null){
8727
+ nextKey = this.getKeyAbove(nextKey);
8728
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8535
8729
  }
8536
8730
  } else {
8537
8731
  let pageY = Math.max(0, itemRect.y + itemRect.height - this.layoutDelegate.getVisibleRect().height);
8538
- while(itemRect && itemRect.y > pageY){
8539
- key = this.getKeyAbove(key);
8540
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8732
+ while(itemRect && itemRect.y > pageY && nextKey != null){
8733
+ nextKey = this.getKeyAbove(nextKey);
8734
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8541
8735
  }
8542
8736
  }
8543
- return key !== null && key !== void 0 ? key : this.getFirstKey();
8737
+ return nextKey !== null && nextKey !== void 0 ? nextKey : this.getFirstKey();
8544
8738
  }
8545
8739
  getKeyPageBelow(key) {
8546
8740
  let menu = this.ref.current;
8547
8741
  let itemRect = this.layoutDelegate.getItemRect(key);
8548
8742
  if (!itemRect) return null;
8549
- if (!($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getLastKey();
8743
+ if (menu && !($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getLastKey();
8744
+ let nextKey = key;
8550
8745
  if (this.orientation === 'horizontal') {
8551
8746
  let pageX = Math.min(this.layoutDelegate.getContentSize().width, itemRect.y - itemRect.width + this.layoutDelegate.getVisibleRect().width);
8552
- while(itemRect && itemRect.x < pageX){
8553
- key = this.getKeyBelow(key);
8554
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8747
+ while(itemRect && itemRect.x < pageX && nextKey != null){
8748
+ nextKey = this.getKeyBelow(nextKey);
8749
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8555
8750
  }
8556
8751
  } else {
8557
8752
  let pageY = Math.min(this.layoutDelegate.getContentSize().height, itemRect.y - itemRect.height + this.layoutDelegate.getVisibleRect().height);
8558
- while(itemRect && itemRect.y < pageY){
8559
- key = this.getKeyBelow(key);
8560
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8753
+ while(itemRect && itemRect.y < pageY && nextKey != null){
8754
+ nextKey = this.getKeyBelow(nextKey);
8755
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8561
8756
  }
8562
8757
  }
8563
- return key !== null && key !== void 0 ? key : this.getLastKey();
8758
+ return nextKey !== null && nextKey !== void 0 ? nextKey : this.getLastKey();
8564
8759
  }
8565
8760
  getKeyForSearch(search, fromKey) {
8566
8761
  if (!this.collator) return null;
@@ -8568,9 +8763,10 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8568
8763
  let key = fromKey || this.getFirstKey();
8569
8764
  while(key != null){
8570
8765
  let item = collection.getItem(key);
8766
+ if (!item) return null;
8571
8767
  let substring = item.textValue.slice(0, search.length);
8572
8768
  if (item.textValue && this.collator.compare(substring, search) === 0) return key;
8573
- key = this.getKeyBelow(key);
8769
+ key = this.getNextKey(key);
8574
8770
  }
8575
8771
  return null;
8576
8772
  }
@@ -8741,17 +8937,26 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8741
8937
  }
8742
8938
  *iterateCollection(props) {
8743
8939
  let { children: children, items: items } = props;
8744
- if (typeof children === 'function') {
8940
+ if (($dbSRa$react).isValidElement(children) && children.type === ($dbSRa$react).Fragment) yield* this.iterateCollection({
8941
+ children: children.props.children,
8942
+ items: items
8943
+ });
8944
+ else if (typeof children === 'function') {
8745
8945
  if (!items) throw new Error('props.children was a function but props.items is missing');
8746
- for (let item of props.items)yield* this.getFullNode({
8747
- value: item
8748
- }, {
8749
- renderer: children
8750
- });
8946
+ let index = 0;
8947
+ for (let item of items){
8948
+ yield* this.getFullNode({
8949
+ value: item,
8950
+ index: index
8951
+ }, {
8952
+ renderer: children
8953
+ });
8954
+ index++;
8955
+ }
8751
8956
  } else {
8752
8957
  let items = [];
8753
8958
  ($dbSRa$react).Children.forEach(children, (child)=>{
8754
- items.push(child);
8959
+ if (child) items.push(child);
8755
8960
  });
8756
8961
  let index = 0;
8757
8962
  for (let item of items){
@@ -8784,6 +8989,19 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8784
8989
  };
8785
8990
  }
8786
8991
  *getFullNode(partialNode, state, parentKey, parentNode) {
8992
+ if (($dbSRa$react).isValidElement(partialNode.element) && partialNode.element.type === ($dbSRa$react).Fragment) {
8993
+ let children = [];
8994
+ ($dbSRa$react).Children.forEach(partialNode.element.props.children, (child)=>{
8995
+ children.push(child);
8996
+ });
8997
+ var _partialNode_index;
8998
+ let index = (_partialNode_index = partialNode.index) !== null && _partialNode_index !== void 0 ? _partialNode_index : 0;
8999
+ for (const child of children)yield* this.getFullNode({
9000
+ element: child,
9001
+ index: index++
9002
+ }, state, parentKey, parentNode);
9003
+ return;
9004
+ }
8787
9005
  // If there's a value instead of an element on the node, and a parent renderer function is available,
8788
9006
  // use it to render an element for the value.
8789
9007
  let element = partialNode.element;
@@ -8802,17 +9020,19 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8802
9020
  if (($dbSRa$react).isValidElement(element)) {
8803
9021
  let type = element.type;
8804
9022
  if (typeof type !== 'function' && typeof type.getCollectionNode !== 'function') {
8805
- let name = typeof element.type === 'function' ? element.type.name : element.type;
9023
+ let name = element.type;
8806
9024
  throw new Error(`Unknown element <${name}> in collection.`);
8807
9025
  }
8808
9026
  let childNodes = type.getCollectionNode(element.props, this.context);
8809
- let index = partialNode.index;
9027
+ var _partialNode_index1;
9028
+ let index = (_partialNode_index1 = partialNode.index) !== null && _partialNode_index1 !== void 0 ? _partialNode_index1 : 0;
8810
9029
  let result = childNodes.next();
8811
9030
  while(!result.done && result.value){
8812
9031
  let childNode = result.value;
8813
9032
  partialNode.index = index;
8814
- let nodeKey = childNode.key;
8815
- if (!nodeKey) nodeKey = childNode.element ? null : this.getKey(element, partialNode, state, parentKey);
9033
+ var _childNode_key;
9034
+ let nodeKey = (_childNode_key = childNode.key) !== null && _childNode_key !== void 0 ? _childNode_key : null;
9035
+ if (nodeKey == null) nodeKey = childNode.element ? null : this.getKey(element, partialNode, state, parentKey);
8816
9036
  let nodes = this.getFullNode({
8817
9037
  ...childNode,
8818
9038
  key: nodeKey,
@@ -8823,12 +9043,14 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8823
9043
  ...nodes
8824
9044
  ];
8825
9045
  for (let node of children){
9046
+ var _childNode_value, _ref;
8826
9047
  // Cache the node based on its value
8827
- node.value = childNode.value || partialNode.value;
9048
+ node.value = (_ref = (_childNode_value = childNode.value) !== null && _childNode_value !== void 0 ? _childNode_value : partialNode.value) !== null && _ref !== void 0 ? _ref : null;
8828
9049
  if (node.value) this.cache.set(node.value, node);
9050
+ var _parentNode_type;
8829
9051
  // The partial node may have specified a type for the child in order to specify a constraint.
8830
9052
  // Verify that the full node that was built recursively matches this type.
8831
- if (partialNode.type && node.type !== partialNode.type) throw new Error(`Unsupported type <${$eb2240fc39a57fa5$var$capitalize(node.type)}> in <${$eb2240fc39a57fa5$var$capitalize(parentNode.type)}>. Only <${$eb2240fc39a57fa5$var$capitalize(partialNode.type)}> is supported.`);
9053
+ if (partialNode.type && node.type !== partialNode.type) throw new Error(`Unsupported type <${$eb2240fc39a57fa5$var$capitalize(node.type)}> in <${$eb2240fc39a57fa5$var$capitalize((_parentNode_type = parentNode === null || parentNode === void 0 ? void 0 : parentNode.type) !== null && _parentNode_type !== void 0 ? _parentNode_type : 'unknown parent type')}>. Only <${$eb2240fc39a57fa5$var$capitalize(partialNode.type)}> is supported.`);
8832
9054
  index++;
8833
9055
  yield node;
8834
9056
  }
@@ -8837,25 +9059,26 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8837
9059
  return;
8838
9060
  }
8839
9061
  // Ignore invalid elements
8840
- if (partialNode.key == null) return;
9062
+ if (partialNode.key == null || partialNode.type == null) return;
8841
9063
  // Create full node
8842
9064
  let builder = this;
9065
+ var _partialNode_value, _partialNode_textValue;
8843
9066
  let node = {
8844
9067
  type: partialNode.type,
8845
9068
  props: partialNode.props,
8846
9069
  key: partialNode.key,
8847
9070
  parentKey: parentNode ? parentNode.key : null,
8848
- value: partialNode.value,
9071
+ value: (_partialNode_value = partialNode.value) !== null && _partialNode_value !== void 0 ? _partialNode_value : null,
8849
9072
  level: parentNode ? parentNode.level + 1 : 0,
8850
9073
  index: partialNode.index,
8851
9074
  rendered: partialNode.rendered,
8852
- textValue: partialNode.textValue,
9075
+ textValue: (_partialNode_textValue = partialNode.textValue) !== null && _partialNode_textValue !== void 0 ? _partialNode_textValue : '',
8853
9076
  'aria-label': partialNode['aria-label'],
8854
9077
  wrapper: partialNode.wrapper,
8855
9078
  shouldInvalidate: partialNode.shouldInvalidate,
8856
- hasChildNodes: partialNode.hasChildNodes,
9079
+ hasChildNodes: partialNode.hasChildNodes || false,
8857
9080
  childNodes: $eb2240fc39a57fa5$var$iterable(function*() {
8858
- if (!partialNode.hasChildNodes) return;
9081
+ if (!partialNode.hasChildNodes || !partialNode.childNodes) return;
8859
9082
  let index = 0;
8860
9083
  for (let child of partialNode.childNodes()){
8861
9084
  // Ensure child keys are globally unique by prepending the parent node's key
@@ -8864,8 +9087,10 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8864
9087
  // but another parent has key `ab` and its child has a key `c`. The combined keys would result in both
8865
9088
  // children having a key of `abc`.
8866
9089
  child.key = `${node.key}${child.key}`;
8867
- child.index = index;
8868
- let nodes = builder.getFullNode(child, builder.getChildState(state, child), node.key, node);
9090
+ let nodes = builder.getFullNode({
9091
+ ...child,
9092
+ index: index
9093
+ }, builder.getChildState(state, child), node.key, node);
8869
9094
  for (let node of nodes){
8870
9095
  index++;
8871
9096
  yield node;
@@ -8994,9 +9219,10 @@ function $c5a24bc478652b5f$export$8c434b3a7a4dad6(collection, a, b) {
8994
9219
  }
8995
9220
  function $c5a24bc478652b5f$var$getAncestors(collection, node) {
8996
9221
  let parents = [];
8997
- while((node === null || node === void 0 ? void 0 : node.parentKey) != null){
8998
- node = collection.getItem(node.parentKey);
8999
- parents.unshift(node);
9222
+ let currNode = node;
9223
+ while((currNode === null || currNode === void 0 ? void 0 : currNode.parentKey) != null){
9224
+ currNode = collection.getItem(currNode.parentKey);
9225
+ if (currNode) parents.unshift(currNode);
9000
9226
  }
9001
9227
  return parents;
9002
9228
  }
@@ -9016,14 +9242,15 @@ const $453cc9f0df89c0a5$var$cache = new WeakMap();
9016
9242
  function $453cc9f0df89c0a5$export$77d5aafae4e095b2(collection) {
9017
9243
  let count = $453cc9f0df89c0a5$var$cache.get(collection);
9018
9244
  if (count != null) return count;
9019
- count = 0;
9245
+ // TS isn't smart enough to know we've ensured count is a number, so use a new variable
9246
+ let counter = 0;
9020
9247
  let countItems = (items)=>{
9021
9248
  for (let item of items)if (item.type === 'section') countItems(($c5a24bc478652b5f$export$1005530eda016c13)(item, collection));
9022
- else count++;
9249
+ else counter++;
9023
9250
  };
9024
9251
  countItems(collection);
9025
- $453cc9f0df89c0a5$var$cache.set(collection, count);
9026
- return count;
9252
+ $453cc9f0df89c0a5$var$cache.set(collection, counter);
9253
+ return counter;
9027
9254
  }
9028
9255
 
9029
9256
  /*
@@ -9462,136 +9689,33 @@ function $168583247155ddda$export$dc9c12ed27dd1b49(props, state, ref) {
9462
9689
  state.open('first');
9463
9690
  }
9464
9691
  });
9465
- let pressProps = {
9466
- onPressStart (e) {
9467
- // For consistency with native, open the menu on mouse/key down, but touch up.
9468
- if (e.pointerType !== 'touch' && e.pointerType !== 'keyboard' && !isDisabled) // If opened with a screen reader, auto focus the first item.
9469
- // Otherwise, the menu itself will be focused.
9470
- state.open(e.pointerType === 'virtual' ? 'first' : null);
9471
- },
9472
- onPress (e) {
9473
- if (e.pointerType === 'touch' && !isDisabled) state.toggle();
9474
- }
9475
- };
9476
- // omit onPress from triggerProps since we override it above.
9477
- delete triggerProps.onPress;
9478
- return {
9479
- menuTriggerProps: {
9480
- ...triggerProps,
9481
- ...trigger === 'press' ? pressProps : longPressProps,
9482
- id: menuTriggerId,
9483
- onKeyDown: onKeyDown
9484
- },
9485
- menuProps: {
9486
- ...overlayProps,
9487
- 'aria-labelledby': menuTriggerId,
9488
- autoFocus: state.focusStrategy || true,
9489
- onClose: state.close
9490
- }
9491
- };
9492
- }
9493
-
9494
- /*
9495
- * Copyright 2020 Adobe. All rights reserved.
9496
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
9497
- * you may not use this file except in compliance with the License. You may obtain a copy
9498
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
9499
- *
9500
- * Unless required by applicable law or agreed to in writing, software distributed under
9501
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9502
- * OF ANY KIND, either express or implied. See the License for the specific language
9503
- * governing permissions and limitations under the License.
9504
- */
9505
-
9506
-
9507
-
9508
-
9509
-
9510
-
9511
- function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
9512
- let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;
9513
- let [value, setValue] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
9514
- let { focusableProps: focusableProps } = ($e6afbd83fe6ebbd2$export$4c014de7c8940b4c)(props, ref);
9515
- let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
9516
- ...props,
9517
- value: value
9518
- });
9519
- let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;
9520
- let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($2baaea4c71418dea$export$294aa081a6c6f55d)({
9521
- ...props,
9522
- isInvalid: isInvalid,
9523
- errorMessage: props.errorMessage || validationErrors
9524
- });
9525
- let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
9526
- labelable: true
9527
- });
9528
- const inputOnlyProps = {
9529
- type: type,
9530
- pattern: props.pattern
9531
- };
9532
- ($99facab73266f662$export$5add1d006293d136)(ref, value, setValue);
9533
- ($e93e671b31057976$export$b8473d3665f3a75a)(props, validationState, ref);
9534
- ($dbSRa$react.useEffect)(()=>{
9535
- // This works around a React/Chrome bug that prevents textarea elements from validating when controlled.
9536
- // We prevent React from updating defaultValue (i.e. children) of textarea when `value` changes,
9537
- // which causes Chrome to skip validation. Only updating `value` is ok in our case since our
9538
- // textareas are always controlled. React is planning on removing this synchronization in a
9539
- // future major version.
9540
- // https://github.com/facebook/react/issues/19474
9541
- // https://github.com/facebook/react/issues/11896
9542
- if (ref.current instanceof ($431fbd86ca7dc216$export$f21a1ffae260145a)(ref.current).HTMLTextAreaElement) {
9543
- let input = ref.current;
9544
- Object.defineProperty(input, 'defaultValue', {
9545
- get: ()=>input.value,
9546
- set: ()=>{},
9547
- configurable: true
9548
- });
9692
+ let pressProps = {
9693
+ onPressStart (e) {
9694
+ // For consistency with native, open the menu on mouse/key down, but touch up.
9695
+ if (e.pointerType !== 'touch' && e.pointerType !== 'keyboard' && !isDisabled) // If opened with a screen reader, auto focus the first item.
9696
+ // Otherwise, the menu itself will be focused.
9697
+ state.open(e.pointerType === 'virtual' ? 'first' : null);
9698
+ },
9699
+ onPress (e) {
9700
+ if (e.pointerType === 'touch' && !isDisabled) state.toggle();
9549
9701
  }
9550
- }, [
9551
- ref
9552
- ]);
9702
+ };
9703
+ // omit onPress from triggerProps since we override it above.
9704
+ delete triggerProps.onPress;
9553
9705
  return {
9554
- labelProps: labelProps,
9555
- inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {
9556
- disabled: isDisabled,
9557
- readOnly: isReadOnly,
9558
- required: isRequired && validationBehavior === 'native',
9559
- 'aria-required': isRequired && validationBehavior === 'aria' || undefined,
9560
- 'aria-invalid': isInvalid || undefined,
9561
- 'aria-errormessage': props['aria-errormessage'],
9562
- 'aria-activedescendant': props['aria-activedescendant'],
9563
- 'aria-autocomplete': props['aria-autocomplete'],
9564
- 'aria-haspopup': props['aria-haspopup'],
9565
- value: value,
9566
- onChange: (e)=>setValue(e.target.value),
9567
- autoComplete: props.autoComplete,
9568
- autoCapitalize: props.autoCapitalize,
9569
- maxLength: props.maxLength,
9570
- minLength: props.minLength,
9571
- name: props.name,
9572
- placeholder: props.placeholder,
9573
- inputMode: props.inputMode,
9574
- // Clipboard events
9575
- onCopy: props.onCopy,
9576
- onCut: props.onCut,
9577
- onPaste: props.onPaste,
9578
- // Composition events
9579
- onCompositionEnd: props.onCompositionEnd,
9580
- onCompositionStart: props.onCompositionStart,
9581
- onCompositionUpdate: props.onCompositionUpdate,
9582
- // Selection events
9583
- onSelect: props.onSelect,
9584
- // Input events
9585
- onBeforeInput: props.onBeforeInput,
9586
- onInput: props.onInput,
9587
- ...focusableProps,
9588
- ...fieldProps
9589
- }),
9590
- descriptionProps: descriptionProps,
9591
- errorMessageProps: errorMessageProps,
9592
- isInvalid: isInvalid,
9593
- validationErrors: validationErrors,
9594
- validationDetails: validationDetails
9706
+ // @ts-ignore - TODO we pass out both DOMAttributes AND AriaButtonProps, but useButton will discard the longPress event handlers, it's only through PressResponder magic that this works for RSP and RAC. it does not work in aria examples
9707
+ menuTriggerProps: {
9708
+ ...triggerProps,
9709
+ ...trigger === 'press' ? pressProps : longPressProps,
9710
+ id: menuTriggerId,
9711
+ onKeyDown: onKeyDown
9712
+ },
9713
+ menuProps: {
9714
+ ...overlayProps,
9715
+ 'aria-labelledby': menuTriggerId,
9716
+ autoFocus: state.focusStrategy || true,
9717
+ onClose: state.close
9718
+ }
9595
9719
  };
9596
9720
  }
9597
9721
 
@@ -9665,6 +9789,85 @@ function $40df3f8667284809$export$d55e7ee900f34e93(props, ref) {
9665
9789
  };
9666
9790
  }
9667
9791
 
9792
+ /*
9793
+ * Copyright 2024 Adobe. All rights reserved.
9794
+ * This file is licensed to you under the Apache License, Version 2.0 (the 'License');
9795
+ * you may not use this file except in compliance with the License. You may obtain a copy
9796
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
9797
+ *
9798
+ * Unless required by applicable law or agreed to in writing, software distributed under
9799
+ * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9800
+ * OF ANY KIND, either express or implied. See the License for the specific language
9801
+ * governing permissions and limitations under the License.
9802
+ */
9803
+
9804
+
9805
+
9806
+ function $5e910fae8e128ead$export$6e3e27031a30522f(props, state, ref) {
9807
+ let { isDisabled: isDisabled } = props;
9808
+ let triggerId = ($bdb11010cef70236$export$f680877a34711e37)();
9809
+ let panelId = ($bdb11010cef70236$export$f680877a34711e37)();
9810
+ let isSSR = ($b5e257d569688ac6$export$535bd6ca7f90a273)();
9811
+ let supportsBeforeMatch = !isSSR && 'onbeforematch' in document.body;
9812
+ let raf = ($dbSRa$react.useRef)(null);
9813
+ let handleBeforeMatch = ($dbSRa$react.useCallback)(()=>{
9814
+ // Wait a frame to revert browser's removal of hidden attribute
9815
+ raf.current = requestAnimationFrame(()=>{
9816
+ if (ref.current) ref.current.setAttribute('hidden', 'until-found');
9817
+ });
9818
+ // Force sync state update
9819
+ ($iETbY$reactdom.flushSync)(()=>{
9820
+ state.toggle();
9821
+ });
9822
+ }, [
9823
+ ref,
9824
+ state
9825
+ ]);
9826
+ // @ts-ignore https://github.com/facebook/react/pull/24741
9827
+ ($e9faafb641e167db$export$90fc3a17d93f704c)(ref, 'beforematch', supportsBeforeMatch ? handleBeforeMatch : null);
9828
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
9829
+ // Cancel any pending RAF to prevent stale updates
9830
+ if (raf.current) cancelAnimationFrame(raf.current);
9831
+ // Until React supports hidden="until-found": https://github.com/facebook/react/pull/24741
9832
+ if (supportsBeforeMatch && ref.current && !isDisabled) {
9833
+ if (state.isExpanded) ref.current.removeAttribute('hidden');
9834
+ else ref.current.setAttribute('hidden', 'until-found');
9835
+ }
9836
+ }, [
9837
+ isDisabled,
9838
+ ref,
9839
+ state.isExpanded,
9840
+ supportsBeforeMatch
9841
+ ]);
9842
+ ($dbSRa$react.useEffect)(()=>{
9843
+ return ()=>{
9844
+ if (raf.current) cancelAnimationFrame(raf.current);
9845
+ };
9846
+ }, []);
9847
+ return {
9848
+ buttonProps: {
9849
+ id: triggerId,
9850
+ 'aria-expanded': state.isExpanded,
9851
+ 'aria-controls': panelId,
9852
+ onPress: (e)=>{
9853
+ if (!isDisabled && e.pointerType !== 'keyboard') state.toggle();
9854
+ },
9855
+ isDisabled: isDisabled,
9856
+ onPressStart (e) {
9857
+ if (e.pointerType === 'keyboard' && !isDisabled) state.toggle();
9858
+ }
9859
+ },
9860
+ panelProps: {
9861
+ id: panelId,
9862
+ // This can be overridden at the panel element level.
9863
+ role: 'group',
9864
+ 'aria-labelledby': triggerId,
9865
+ 'aria-hidden': !state.isExpanded,
9866
+ hidden: supportsBeforeMatch ? true : !state.isExpanded
9867
+ }
9868
+ };
9869
+ }
9870
+
9668
9871
  /*
9669
9872
  * Copyright 2020 Adobe. All rights reserved.
9670
9873
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -9677,7 +9880,8 @@ function $40df3f8667284809$export$d55e7ee900f34e93(props, ref) {
9677
9880
  * governing permissions and limitations under the License.
9678
9881
  */ const $ce9b18daab526bbd$export$5b9bb410392e3991 = new WeakMap();
9679
9882
  function $ce9b18daab526bbd$export$f45c25170b9a99c2(state, key) {
9680
- let { id: id } = $ce9b18daab526bbd$export$5b9bb410392e3991.get(state);
9883
+ var _listMap_get;
9884
+ let { id: id } = (_listMap_get = $ce9b18daab526bbd$export$5b9bb410392e3991.get(state)) !== null && _listMap_get !== void 0 ? _listMap_get : {};
9681
9885
  if (!id) throw new Error('Unknown list');
9682
9886
  return `${id}-${$ce9b18daab526bbd$export$e0c709538cb8ae18(key)}`;
9683
9887
  }
@@ -10339,7 +10543,7 @@ function $5b9b5b5723db6ae1$export$be42ebdab07ae4c2(props) {
10339
10543
  let interactionDescription = ($dbSRa$react.useMemo)(()=>{
10340
10544
  let selectionMode = props.selectionManager.selectionMode;
10341
10545
  let selectionBehavior = props.selectionManager.selectionBehavior;
10342
- let message = undefined;
10546
+ let message;
10343
10547
  if (shouldLongPress) message = stringFormatter.format('longPressToSelect');
10344
10548
  return selectionBehavior === 'replace' && selectionMode !== 'none' && props.hasItemActions ? message : undefined;
10345
10549
  }, [
@@ -10461,26 +10665,39 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10461
10665
  var _ref_current;
10462
10666
  // Don't shift focus to the row if the active element is a element within the row already
10463
10667
  // (e.g. clicking on a row button)
10464
- if (keyWhenFocused.current != null && node.key !== keyWhenFocused.current || !((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.contains(document.activeElement))) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
10668
+ if (ref.current !== null && (keyWhenFocused.current != null && node.key !== keyWhenFocused.current || !((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.contains(document.activeElement)))) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
10465
10669
  };
10466
10670
  let treeGridRowProps = {};
10467
10671
  let hasChildRows;
10468
10672
  let hasLink = state.selectionManager.isLink(node.key);
10469
10673
  if (node != null && 'expandedKeys' in state) {
10674
+ var _state_collection_getChildren, _state_collection, _filter_at;
10470
10675
  // TODO: ideally node.hasChildNodes would be a way to tell if a row has child nodes, but the row's contents make it so that value is always
10471
10676
  // true...
10677
+ let children = (_state_collection_getChildren = (_state_collection = state.collection).getChildren) === null || _state_collection_getChildren === void 0 ? void 0 : _state_collection_getChildren.call(_state_collection, node.key);
10472
10678
  hasChildRows = [
10473
- ...state.collection.getChildren(node.key)
10679
+ ...children !== null && children !== void 0 ? children : []
10474
10680
  ].length > 1;
10475
10681
  if (onAction == null && !hasLink && state.selectionManager.selectionMode === 'none' && hasChildRows) onAction = ()=>state.toggleKey(node.key);
10476
10682
  let isExpanded = hasChildRows ? state.expandedKeys.has(node.key) : undefined;
10683
+ let setSize = 1;
10684
+ var _filter_at_index;
10685
+ if (node.level > 0 && (node === null || node === void 0 ? void 0 : node.parentKey) != null) {
10686
+ let parent = state.collection.getItem(node.parentKey);
10687
+ if (parent) {
10688
+ var _state_collection_getChildren1, _state_collection1;
10689
+ // siblings must exist because our original node exists, same with lastItem
10690
+ let siblings = (_state_collection_getChildren1 = (_state_collection1 = state.collection).getChildren) === null || _state_collection_getChildren1 === void 0 ? void 0 : _state_collection_getChildren1.call(_state_collection1, parent.key);
10691
+ setSize = ($c5a24bc478652b5f$export$7475b2c64539e4cf)(siblings).index + 1;
10692
+ }
10693
+ } else setSize = ((_filter_at_index = (_filter_at = [
10694
+ ...state.collection
10695
+ ].filter((row)=>row.level === 0).at(-1)) === null || _filter_at === void 0 ? void 0 : _filter_at.index) !== null && _filter_at_index !== void 0 ? _filter_at_index : 0) + 1;
10477
10696
  treeGridRowProps = {
10478
10697
  'aria-expanded': isExpanded,
10479
10698
  'aria-level': node.level + 1,
10480
10699
  'aria-posinset': (node === null || node === void 0 ? void 0 : node.index) + 1,
10481
- 'aria-setsize': node.level > 0 ? ($c5a24bc478652b5f$export$7475b2c64539e4cf)(state.collection.getChildren(node === null || node === void 0 ? void 0 : node.parentKey)).index + 1 : [
10482
- ...state.collection
10483
- ].filter((row)=>row.level === 0).at(-1).index + 1
10700
+ 'aria-setsize': setSize
10484
10701
  };
10485
10702
  }
10486
10703
  let { itemProps: itemProps, ...itemStates } = ($880e95eb8b93ba9a$export$ecf600387e221c37)({
@@ -10494,7 +10711,7 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10494
10711
  linkBehavior: linkBehavior
10495
10712
  });
10496
10713
  let onKeyDown = (e)=>{
10497
- if (!e.currentTarget.contains(e.target)) return;
10714
+ if (!e.currentTarget.contains(e.target) || !ref.current || !document.activeElement) return;
10498
10715
  let walker = ($9bf71ea28793e738$export$2d6ec8fc375ceafa)(ref.current);
10499
10716
  walker.currentNode = document.activeElement;
10500
10717
  if ('expandedKeys' in state && document.activeElement === ref.current) {
@@ -10579,9 +10796,10 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10579
10796
  // to the row above/below instead. We need to re-dispatch the event from a higher parent so it still
10580
10797
  // bubbles and gets handled by useSelectableCollection.
10581
10798
  if (!e.altKey && ref.current.contains(e.target)) {
10799
+ var _ref_current_parentElement;
10582
10800
  e.stopPropagation();
10583
10801
  e.preventDefault();
10584
- ref.current.parentElement.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));
10802
+ (_ref_current_parentElement = ref.current.parentElement) === null || _ref_current_parentElement === void 0 ? void 0 : _ref_current_parentElement.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));
10585
10803
  }
10586
10804
  break;
10587
10805
  case 'Tab':
@@ -10650,8 +10868,8 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10650
10868
  };
10651
10869
  }
10652
10870
  function $4e8b0456ef72939f$var$last(walker) {
10653
- let next;
10654
- let last;
10871
+ let next = null;
10872
+ let last = null;
10655
10873
  do {
10656
10874
  last = walker.lastChild();
10657
10875
  if (last) next = last;
@@ -10893,7 +11111,7 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
10893
11111
  usage: 'search',
10894
11112
  sensitivity: 'base'
10895
11113
  });
10896
- let delegate = ($dbSRa$react.useMemo)(()=>keyboardDelegate || new ($2a25aae57d74318e$export$a05409b8bb224a5a)(state.collection, state.disabledKeys, null, collator), [
11114
+ let delegate = ($dbSRa$react.useMemo)(()=>keyboardDelegate || new ($2a25aae57d74318e$export$a05409b8bb224a5a)(state.collection, state.disabledKeys, ref, collator), [
10897
11115
  keyboardDelegate,
10898
11116
  state.collection,
10899
11117
  state.disabledKeys,
@@ -10907,17 +11125,19 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
10907
11125
  switch(e.key){
10908
11126
  case 'ArrowLeft':
10909
11127
  {
11128
+ var _delegate_getKeyAbove, _delegate_getFirstKey;
10910
11129
  // prevent scrolling containers
10911
11130
  e.preventDefault();
10912
- let key = state.selectedKey != null ? delegate.getKeyAbove(state.selectedKey) : delegate.getFirstKey();
11131
+ let key = state.selectedKey != null ? (_delegate_getKeyAbove = delegate.getKeyAbove) === null || _delegate_getKeyAbove === void 0 ? void 0 : _delegate_getKeyAbove.call(delegate, state.selectedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);
10913
11132
  if (key) state.setSelectedKey(key);
10914
11133
  break;
10915
11134
  }
10916
11135
  case 'ArrowRight':
10917
11136
  {
11137
+ var _delegate_getKeyBelow, _delegate_getFirstKey1;
10918
11138
  // prevent scrolling containers
10919
11139
  e.preventDefault();
10920
- let key = state.selectedKey != null ? delegate.getKeyBelow(state.selectedKey) : delegate.getFirstKey();
11140
+ let key = state.selectedKey != null ? (_delegate_getKeyBelow = delegate.getKeyBelow) === null || _delegate_getKeyBelow === void 0 ? void 0 : _delegate_getKeyBelow.call(delegate, state.selectedKey) : (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate);
10921
11141
  if (key) state.setSelectedKey(key);
10922
11142
  break;
10923
11143
  }
@@ -10955,7 +11175,8 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
10955
11175
  ...labelProps,
10956
11176
  onClick: ()=>{
10957
11177
  if (!props.isDisabled) {
10958
- ref.current.focus();
11178
+ var _ref_current;
11179
+ (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
10959
11180
  // Show the focus ring so the user knows where focus went
10960
11181
  ($507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
10961
11182
  }
@@ -11028,17 +11249,18 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
11028
11249
 
11029
11250
 
11030
11251
 
11031
-
11032
11252
  function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11033
11253
  let data = ($58aed456727eb0f3$export$703601b7e90536f8).get(state) || {};
11034
11254
  let { autoComplete: autoComplete, name: name = data.name, isDisabled: isDisabled = data.isDisabled } = props;
11035
11255
  let { validationBehavior: validationBehavior, isRequired: isRequired } = data;
11036
- let modality = ($507fabe10e71c6fb$export$98e20ec92f614cfe)();
11037
11256
  let { visuallyHiddenProps: visuallyHiddenProps } = ($5c3e21d68f1c4674$export$a966af930f325cab)();
11038
11257
  ($99facab73266f662$export$5add1d006293d136)(props.selectRef, state.selectedKey, state.setSelectedKey);
11039
11258
  ($e93e671b31057976$export$b8473d3665f3a75a)({
11040
11259
  validationBehavior: validationBehavior,
11041
- focus: ()=>triggerRef.current.focus()
11260
+ focus: ()=>{
11261
+ var _triggerRef_current;
11262
+ return (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();
11263
+ }
11042
11264
  }, state, props.selectRef);
11043
11265
  var _state_selectedKey;
11044
11266
  // In Safari, the <select> cannot have `display: none` or `hidden` for autofill to work.
@@ -11047,18 +11269,6 @@ function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11047
11269
  // The solution is to use <VisuallyHidden> to hide the elements, which clips the elements to a
11048
11270
  // 1px rectangle. In addition, we hide from screen readers with aria-hidden, and make the <select>
11049
11271
  // non tabbable with tabIndex={-1}.
11050
- //
11051
- // In mobile browsers, there are next/previous buttons above the software keyboard for navigating
11052
- // between fields in a form. These only support native form inputs that are tabbable. In order to
11053
- // support those, an additional hidden input is used to marshall focus to the button. It is tabbable
11054
- // except when the button is focused, so that shift tab works properly to go to the actual previous
11055
- // input in the form. Using the <select> for this also works, but Safari on iOS briefly flashes
11056
- // the native menu on focus, so this isn't ideal. A font-size of 16px or greater is required to
11057
- // prevent Safari from zooming in on the input when it is focused.
11058
- //
11059
- // If the current interaction modality is null, then the user hasn't interacted with the page yet.
11060
- // In this case, we set the tabIndex to -1 on the input element so that automated accessibility
11061
- // checkers don't throw false-positives about focusable elements inside an aria-hidden parent.
11062
11272
  return {
11063
11273
  containerProps: {
11064
11274
  ...visuallyHiddenProps,
@@ -11069,13 +11279,9 @@ function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11069
11279
  ['data-a11y-ignore']: 'aria-hidden-focus'
11070
11280
  },
11071
11281
  inputProps: {
11072
- type: 'text',
11073
- tabIndex: modality == null || state.isFocused || state.isOpen ? -1 : 0,
11074
11282
  style: {
11075
- fontSize: 16
11076
- },
11077
- onFocus: ()=>triggerRef.current.focus(),
11078
- disabled: isDisabled
11283
+ display: 'none'
11284
+ }
11079
11285
  },
11080
11286
  selectProps: {
11081
11287
  tabIndex: -1,
@@ -11091,7 +11297,7 @@ function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11091
11297
  function $bdd25dc72710631f$export$cbd84cdb2e668835(props) {
11092
11298
  let { state: state, triggerRef: triggerRef, label: label, name: name, isDisabled: isDisabled } = props;
11093
11299
  let selectRef = ($dbSRa$react.useRef)(null);
11094
- let { containerProps: containerProps, inputProps: inputProps, selectProps: selectProps } = $bdd25dc72710631f$export$f809e80f58e251d1({
11300
+ let { containerProps: containerProps, selectProps: selectProps } = $bdd25dc72710631f$export$f809e80f58e251d1({
11095
11301
  ...props,
11096
11302
  selectRef: selectRef
11097
11303
  }, state, triggerRef);
@@ -11102,14 +11308,14 @@ function $bdd25dc72710631f$export$cbd84cdb2e668835(props) {
11102
11308
  if (state.collection.size <= 300) return /*#__PURE__*/ ($dbSRa$react).createElement("div", {
11103
11309
  ...containerProps,
11104
11310
  "data-testid": "hidden-select-container"
11105
- }, /*#__PURE__*/ ($dbSRa$react).createElement("input", inputProps), /*#__PURE__*/ ($dbSRa$react).createElement("label", null, label, /*#__PURE__*/ ($dbSRa$react).createElement("select", {
11311
+ }, /*#__PURE__*/ ($dbSRa$react).createElement("label", null, label, /*#__PURE__*/ ($dbSRa$react).createElement("select", {
11106
11312
  ...selectProps,
11107
11313
  ref: selectRef
11108
11314
  }, /*#__PURE__*/ ($dbSRa$react).createElement("option", null), [
11109
11315
  ...state.collection.getKeys()
11110
11316
  ].map((key)=>{
11111
11317
  let item = state.collection.getItem(key);
11112
- if (item.type === 'item') return /*#__PURE__*/ ($dbSRa$react).createElement("option", {
11318
+ if (item && item.type === 'item') return /*#__PURE__*/ ($dbSRa$react).createElement("option", {
11113
11319
  key: item.key,
11114
11320
  value: item.key
11115
11321
  }, item.textValue);
@@ -11544,7 +11750,6 @@ function $fc6126c82a4601f1$export$3f568fff7dff2f03(props, state, ref) {
11544
11750
  let description = onRemove && (modality === 'keyboard' || modality === 'virtual') ? stringFormatter.format('removeDescription') : '';
11545
11751
  let descProps = ($ef06256079686ba0$export$f8aeda7b10753fa1)(description);
11546
11752
  let isFocused = item.key === state.selectionManager.focusedKey;
11547
- // @ts-ignore - data attributes are ok but TS doesn't know about them.
11548
11753
  let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(item.props);
11549
11754
  let linkProps = ($ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6)(item.props);
11550
11755
  return {
@@ -11717,6 +11922,51 @@ function $4e1b34546679e357$export$a6da6c504e4bba8b(props, state, ref) {
11717
11922
  */
11718
11923
 
11719
11924
 
11925
+ const $01b77f81d0f07f68$export$75b6ee27786ba447 = /*#__PURE__*/ ($dbSRa$react.createContext)({});
11926
+ function $01b77f81d0f07f68$var$Label(props, ref) {
11927
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $01b77f81d0f07f68$export$75b6ee27786ba447);
11928
+ let { elementType: ElementType = 'label', ...labelProps } = props;
11929
+ // @ts-ignore
11930
+ return /*#__PURE__*/ ($dbSRa$react).createElement(ElementType, {
11931
+ className: "react-aria-Label",
11932
+ ...labelProps,
11933
+ ref: ref
11934
+ });
11935
+ }
11936
+ const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ ($f39a9eba43920ace$export$86427a43e3e48ebb)($01b77f81d0f07f68$var$Label);
11937
+
11938
+ /*
11939
+ * Copyright 2022 Adobe. All rights reserved.
11940
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
11941
+ * you may not use this file except in compliance with the License. You may obtain a copy
11942
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
11943
+ *
11944
+ * Unless required by applicable law or agreed to in writing, software distributed under
11945
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11946
+ * OF ANY KIND, either express or implied. See the License for the specific language
11947
+ * governing permissions and limitations under the License.
11948
+ */
11949
+
11950
+
11951
+
11952
+
11953
+ const $0393f8ab869a0f1a$export$e9f3bf65a26ce129 = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
11954
+
11955
+ /*
11956
+ * Copyright 2022 Adobe. All rights reserved.
11957
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
11958
+ * you may not use this file except in compliance with the License. You may obtain a copy
11959
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
11960
+ *
11961
+ * Unless required by applicable law or agreed to in writing, software distributed under
11962
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11963
+ * OF ANY KIND, either express or implied. See the License for the specific language
11964
+ * governing permissions and limitations under the License.
11965
+ */
11966
+
11967
+
11968
+
11969
+
11720
11970
 
11721
11971
 
11722
11972
  const $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes = new Set([
@@ -11732,35 +11982,88 @@ const $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes = new Set([
11732
11982
  const $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /*#__PURE__*/ ($dbSRa$react.createContext)({});
11733
11983
  function $d2b4bc8c273e7be6$var$Button(props, ref) {
11734
11984
  [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $d2b4bc8c273e7be6$export$24d547caef80ccd1);
11985
+ props = $d2b4bc8c273e7be6$var$disablePendingProps(props);
11735
11986
  let ctx = props;
11987
+ let { isPending: isPending } = ctx;
11736
11988
  let { buttonProps: buttonProps, isPressed: isPressed } = ($701a24aa0da5b062$export$ea18c227d4417cc3)(props, ref);
11737
11989
  let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = ($f7dceffc5ad7768b$export$4e328f61c538687f)(props);
11738
- let { hoverProps: hoverProps, isHovered: isHovered } = ($6179b936705e76d3$export$ae780daf29e6d456)(props);
11990
+ let { hoverProps: hoverProps, isHovered: isHovered } = ($6179b936705e76d3$export$ae780daf29e6d456)({
11991
+ ...props,
11992
+ isDisabled: props.isDisabled || isPending
11993
+ });
11994
+ let renderValues = {
11995
+ isHovered: isHovered,
11996
+ isPressed: (ctx.isPressed || isPressed) && !isPending,
11997
+ isFocused: isFocused,
11998
+ isFocusVisible: isFocusVisible,
11999
+ isDisabled: props.isDisabled || false,
12000
+ isPending: isPending !== null && isPending !== void 0 ? isPending : false
12001
+ };
11739
12002
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
11740
12003
  ...props,
11741
- values: {
11742
- isHovered: isHovered,
11743
- isPressed: isPressed,
11744
- isFocused: isFocused,
11745
- isFocusVisible: isFocusVisible,
11746
- isDisabled: props.isDisabled || false
11747
- },
12004
+ values: renderValues,
11748
12005
  defaultClassName: 'react-aria-Button'
11749
12006
  });
12007
+ let buttonId = ($bdb11010cef70236$export$f680877a34711e37)(buttonProps.id);
12008
+ let progressId = ($bdb11010cef70236$export$f680877a34711e37)();
12009
+ let ariaLabelledby = buttonProps['aria-labelledby'];
12010
+ if (isPending) {
12011
+ // aria-labelledby wins over aria-label
12012
+ // https://www.w3.org/TR/accname-1.2/#computation-steps
12013
+ if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;
12014
+ else if (buttonProps['aria-label']) ariaLabelledby = `${buttonId} ${progressId}`;
12015
+ }
12016
+ let wasPending = ($dbSRa$react.useRef)(isPending);
12017
+ ($dbSRa$react.useEffect)(()=>{
12018
+ let message = {
12019
+ 'aria-labelledby': ariaLabelledby || buttonId
12020
+ };
12021
+ if (!wasPending.current && isFocused && isPending) ($319e236875307eab$export$a9b970dcc4ae71a9)(message, 'assertive');
12022
+ else if (wasPending.current && isFocused && !isPending) ($319e236875307eab$export$a9b970dcc4ae71a9)(message, 'assertive');
12023
+ wasPending.current = isPending;
12024
+ }, [
12025
+ isPending,
12026
+ isFocused,
12027
+ ariaLabelledby,
12028
+ buttonId
12029
+ ]);
11750
12030
  return /*#__PURE__*/ ($dbSRa$react).createElement("button", {
11751
12031
  ...($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
11752
12032
  propNames: $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes
11753
12033
  }),
11754
12034
  ...($3ef42575df84b30b$export$9d1611c77c2fe928)(buttonProps, focusProps, hoverProps),
11755
12035
  ...renderProps,
12036
+ id: buttonId,
11756
12037
  ref: ref,
12038
+ "aria-labelledby": ariaLabelledby,
11757
12039
  slot: props.slot || undefined,
12040
+ "aria-disabled": isPending ? 'true' : buttonProps['aria-disabled'],
11758
12041
  "data-disabled": props.isDisabled || undefined,
11759
- "data-pressed": ctx.isPressed || isPressed || undefined,
12042
+ "data-pressed": renderValues.isPressed || undefined,
11760
12043
  "data-hovered": isHovered || undefined,
11761
12044
  "data-focused": isFocused || undefined,
12045
+ "data-pending": isPending || undefined,
11762
12046
  "data-focus-visible": isFocusVisible || undefined
11763
- });
12047
+ }, /*#__PURE__*/ ($dbSRa$react).createElement(($0393f8ab869a0f1a$export$e9f3bf65a26ce129).Provider, {
12048
+ value: {
12049
+ id: progressId
12050
+ }
12051
+ }, renderProps.children));
12052
+ }
12053
+ function $d2b4bc8c273e7be6$var$disablePendingProps(props) {
12054
+ // Don't allow interaction while isPending is true
12055
+ if (props.isPending) {
12056
+ props.onPress = undefined;
12057
+ props.onPressStart = undefined;
12058
+ props.onPressEnd = undefined;
12059
+ props.onPressChange = undefined;
12060
+ props.onPressUp = undefined;
12061
+ props.onKeyDown = undefined;
12062
+ props.onKeyUp = undefined;
12063
+ props.onClick = undefined;
12064
+ props.href = undefined;
12065
+ }
12066
+ return props;
11764
12067
  }
11765
12068
  /**
11766
12069
  * A button allows a user to perform an action, with mouse, touch, and keyboard interactions.
@@ -11875,11 +12178,13 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11875
12178
  }
11876
12179
  getKeyBefore(key) {
11877
12180
  let node = this.keyMap.get(key);
11878
- return node ? node.prevKey : null;
12181
+ var _node_prevKey;
12182
+ return node ? (_node_prevKey = node.prevKey) !== null && _node_prevKey !== void 0 ? _node_prevKey : null : null;
11879
12183
  }
11880
12184
  getKeyAfter(key) {
11881
12185
  let node = this.keyMap.get(key);
11882
- return node ? node.nextKey : null;
12186
+ var _node_nextKey;
12187
+ return node ? (_node_nextKey = node.nextKey) !== null && _node_nextKey !== void 0 ? _node_nextKey : null : null;
11883
12188
  }
11884
12189
  getFirstKey() {
11885
12190
  return this.firstKey;
@@ -11888,7 +12193,8 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11888
12193
  return this.lastKey;
11889
12194
  }
11890
12195
  getItem(key) {
11891
- return this.keyMap.get(key);
12196
+ var _this_keyMap_get;
12197
+ return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;
11892
12198
  }
11893
12199
  at(idx) {
11894
12200
  const keys = [
@@ -11902,13 +12208,15 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11902
12208
  }
11903
12209
  constructor(nodes){
11904
12210
  this.keyMap = new Map();
12211
+ this.firstKey = null;
12212
+ this.lastKey = null;
11905
12213
  this.iterable = nodes;
11906
12214
  let visit = (node)=>{
11907
12215
  this.keyMap.set(node.key, node);
11908
12216
  if (node.childNodes && node.type === 'section') for (let child of node.childNodes)visit(child);
11909
12217
  };
11910
12218
  for (let node of nodes)visit(node);
11911
- let last;
12219
+ let last = null;
11912
12220
  let index = 0;
11913
12221
  for (let [key, node] of this.keyMap){
11914
12222
  if (last) {
@@ -11924,7 +12232,8 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11924
12232
  // If it isn't the last node, last.nextKey will properly set at start of new loop
11925
12233
  last.nextKey = undefined;
11926
12234
  }
11927
- this.lastKey = last === null || last === void 0 ? void 0 : last.key;
12235
+ var _last_key;
12236
+ this.lastKey = (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;
11928
12237
  }
11929
12238
  }
11930
12239
 
@@ -11942,11 +12251,11 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11942
12251
  constructor(keys, anchorKey, currentKey){
11943
12252
  super(keys);
11944
12253
  if (keys instanceof $e40ea825a81a3709$export$52baac22726c72bf) {
11945
- this.anchorKey = anchorKey || keys.anchorKey;
11946
- this.currentKey = currentKey || keys.currentKey;
12254
+ this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : keys.anchorKey;
12255
+ this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : keys.currentKey;
11947
12256
  } else {
11948
- this.anchorKey = anchorKey;
11949
- this.currentKey = currentKey;
12257
+ this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : null;
12258
+ this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : null;
11950
12259
  }
11951
12260
  }
11952
12261
  }
@@ -11972,7 +12281,7 @@ function $7af3f5b51489e0b5$var$equalSets(setA, setB) {
11972
12281
  return true;
11973
12282
  }
11974
12283
  function $7af3f5b51489e0b5$export$253fe78d46329472(props) {
11975
- let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
12284
+ let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection = false, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
11976
12285
  // We want synchronous updates to `isFocused` and `focusedKey` after their setters are called.
11977
12286
  // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async).
11978
12287
  let isFocusedRef = ($dbSRa$react.useRef)(false);
@@ -12111,8 +12420,9 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12111
12420
  * Returns whether a key is selected.
12112
12421
  */ isSelected(key) {
12113
12422
  if (this.state.selectionMode === 'none') return false;
12114
- key = this.getKey(key);
12115
- return this.state.selectedKeys === 'all' ? this.canSelectItem(key) : this.state.selectedKeys.has(key);
12423
+ let mappedKey = this.getKey(key);
12424
+ if (mappedKey == null) return false;
12425
+ return this.state.selectedKeys === 'all' ? this.canSelectItem(mappedKey) : this.state.selectedKeys.has(mappedKey);
12116
12426
  }
12117
12427
  /**
12118
12428
  * Whether the selection is empty.
@@ -12136,7 +12446,8 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12136
12446
  let item = this.collection.getItem(key);
12137
12447
  if (!first || item && ($c5a24bc478652b5f$export$8c434b3a7a4dad6)(this.collection, item, first) < 0) first = item;
12138
12448
  }
12139
- return first === null || first === void 0 ? void 0 : first.key;
12449
+ var _first_key;
12450
+ return (_first_key = first === null || first === void 0 ? void 0 : first.key) !== null && _first_key !== void 0 ? _first_key : null;
12140
12451
  }
12141
12452
  get lastSelectedKey() {
12142
12453
  let last = null;
@@ -12144,7 +12455,8 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12144
12455
  let item = this.collection.getItem(key);
12145
12456
  if (!last || item && ($c5a24bc478652b5f$export$8c434b3a7a4dad6)(this.collection, item, last) > 0) last = item;
12146
12457
  }
12147
- return last === null || last === void 0 ? void 0 : last.key;
12458
+ var _last_key;
12459
+ return (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;
12148
12460
  }
12149
12461
  get disabledKeys() {
12150
12462
  return this.state.disabledKeys;
@@ -12160,18 +12472,21 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12160
12472
  this.replaceSelection(toKey);
12161
12473
  return;
12162
12474
  }
12163
- toKey = this.getKey(toKey);
12475
+ let mappedToKey = this.getKey(toKey);
12476
+ if (mappedToKey == null) return;
12164
12477
  let selection;
12165
12478
  // Only select the one key if coming from a select all.
12166
12479
  if (this.state.selectedKeys === 'all') selection = new ($e40ea825a81a3709$export$52baac22726c72bf)([
12167
- toKey
12168
- ], toKey, toKey);
12480
+ mappedToKey
12481
+ ], mappedToKey, mappedToKey);
12169
12482
  else {
12170
12483
  let selectedKeys = this.state.selectedKeys;
12171
- let anchorKey = selectedKeys.anchorKey || toKey;
12172
- selection = new ($e40ea825a81a3709$export$52baac22726c72bf)(selectedKeys, anchorKey, toKey);
12173
- for (let key of this.getKeyRange(anchorKey, selectedKeys.currentKey || toKey))selection.delete(key);
12174
- for (let key of this.getKeyRange(toKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
12484
+ var _selectedKeys_anchorKey;
12485
+ let anchorKey = (_selectedKeys_anchorKey = selectedKeys.anchorKey) !== null && _selectedKeys_anchorKey !== void 0 ? _selectedKeys_anchorKey : mappedToKey;
12486
+ selection = new ($e40ea825a81a3709$export$52baac22726c72bf)(selectedKeys, anchorKey, mappedToKey);
12487
+ var _selectedKeys_currentKey;
12488
+ for (let key of this.getKeyRange(anchorKey, (_selectedKeys_currentKey = selectedKeys.currentKey) !== null && _selectedKeys_currentKey !== void 0 ? _selectedKeys_currentKey : mappedToKey))selection.delete(key);
12489
+ for (let key of this.getKeyRange(mappedToKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
12175
12490
  }
12176
12491
  this.state.setSelectedKeys(selection);
12177
12492
  }
@@ -12185,11 +12500,13 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12185
12500
  return [];
12186
12501
  }
12187
12502
  getKeyRangeInternal(from, to) {
12503
+ var _this_layoutDelegate;
12504
+ if ((_this_layoutDelegate = this.layoutDelegate) === null || _this_layoutDelegate === void 0 ? void 0 : _this_layoutDelegate.getKeyRange) return this.layoutDelegate.getKeyRange(from, to);
12188
12505
  let keys = [];
12189
12506
  let key = from;
12190
- while(key){
12507
+ while(key != null){
12191
12508
  let item = this.collection.getItem(key);
12192
- if (item && item.type === 'item' || item.type === 'cell' && this.allowsCellSelection) keys.push(key);
12509
+ if (item && (item.type === 'item' || item.type === 'cell' && this.allowsCellSelection)) keys.push(key);
12193
12510
  if (key === to) return keys;
12194
12511
  key = this.collection.getKeyAfter(key);
12195
12512
  }
@@ -12202,7 +12519,7 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12202
12519
  // If cell selection is allowed, just return the key.
12203
12520
  if (item.type === 'cell' && this.allowsCellSelection) return key;
12204
12521
  // Find a parent item to select
12205
- while(item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
12522
+ while(item && item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
12206
12523
  if (!item || item.type !== 'item') return null;
12207
12524
  return item.key;
12208
12525
  }
@@ -12214,14 +12531,14 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12214
12531
  this.replaceSelection(key);
12215
12532
  return;
12216
12533
  }
12217
- key = this.getKey(key);
12218
- if (key == null) return;
12534
+ let mappedKey = this.getKey(key);
12535
+ if (mappedKey == null) return;
12219
12536
  let keys = new ($e40ea825a81a3709$export$52baac22726c72bf)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);
12220
- if (keys.has(key)) keys.delete(key);
12221
- else if (this.canSelectItem(key)) {
12222
- keys.add(key);
12223
- keys.anchorKey = key;
12224
- keys.currentKey = key;
12537
+ if (keys.has(mappedKey)) keys.delete(mappedKey);
12538
+ else if (this.canSelectItem(mappedKey)) {
12539
+ keys.add(mappedKey);
12540
+ keys.anchorKey = mappedKey;
12541
+ keys.currentKey = mappedKey;
12225
12542
  }
12226
12543
  if (this.disallowEmptySelection && keys.size === 0) return;
12227
12544
  this.state.setSelectedKeys(keys);
@@ -12230,11 +12547,11 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12230
12547
  * Replaces the selection with only the given key.
12231
12548
  */ replaceSelection(key) {
12232
12549
  if (this.selectionMode === 'none') return;
12233
- key = this.getKey(key);
12234
- if (key == null) return;
12235
- let selection = this.canSelectItem(key) ? new ($e40ea825a81a3709$export$52baac22726c72bf)([
12236
- key
12237
- ], key, key) : new ($e40ea825a81a3709$export$52baac22726c72bf)();
12550
+ let mappedKey = this.getKey(key);
12551
+ if (mappedKey == null) return;
12552
+ let selection = this.canSelectItem(mappedKey) ? new ($e40ea825a81a3709$export$52baac22726c72bf)([
12553
+ mappedKey
12554
+ ], mappedKey, mappedKey) : new ($e40ea825a81a3709$export$52baac22726c72bf)();
12238
12555
  this.state.setSelectedKeys(selection);
12239
12556
  }
12240
12557
  /**
@@ -12243,9 +12560,9 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12243
12560
  if (this.selectionMode === 'none') return;
12244
12561
  let selection = new ($e40ea825a81a3709$export$52baac22726c72bf)();
12245
12562
  for (let key of keys){
12246
- key = this.getKey(key);
12247
- if (key != null) {
12248
- selection.add(key);
12563
+ let mappedKey = this.getKey(key);
12564
+ if (mappedKey != null) {
12565
+ selection.add(mappedKey);
12249
12566
  if (this.selectionMode === 'single') break;
12250
12567
  }
12251
12568
  }
@@ -12256,10 +12573,12 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12256
12573
  let addKeys = (key)=>{
12257
12574
  while(key != null){
12258
12575
  if (this.canSelectItem(key)) {
12576
+ var _getFirstItem;
12259
12577
  let item = this.collection.getItem(key);
12260
- if (item.type === 'item') keys.push(key);
12578
+ if ((item === null || item === void 0 ? void 0 : item.type) === 'item') keys.push(key);
12579
+ var _getFirstItem_key;
12261
12580
  // Add child keys. If cell selection is allowed, then include item children too.
12262
- if (item.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys(($c5a24bc478652b5f$export$fbdeaa6a76694f71)(($c5a24bc478652b5f$export$1005530eda016c13)(item, this.collection)).key);
12581
+ if ((item === null || item === void 0 ? void 0 : item.hasChildNodes) && (this.allowsCellSelection || item.type !== 'item')) addKeys((_getFirstItem_key = (_getFirstItem = ($c5a24bc478652b5f$export$fbdeaa6a76694f71)(($c5a24bc478652b5f$export$1005530eda016c13)(item, this.collection))) === null || _getFirstItem === void 0 ? void 0 : _getFirstItem.key) !== null && _getFirstItem_key !== void 0 ? _getFirstItem_key : null);
12263
12582
  }
12264
12583
  key = this.collection.getKeyAfter(key);
12265
12584
  }
@@ -12332,6 +12651,7 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12332
12651
  var _options_allowsCellSelection;
12333
12652
  this.allowsCellSelection = (_options_allowsCellSelection = options === null || options === void 0 ? void 0 : options.allowsCellSelection) !== null && _options_allowsCellSelection !== void 0 ? _options_allowsCellSelection : false;
12334
12653
  this._isSelectAll = null;
12654
+ this.layoutDelegate = (options === null || options === void 0 ? void 0 : options.layoutDelegate) || null;
12335
12655
  }
12336
12656
  }
12337
12657
 
@@ -12350,7 +12670,7 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12350
12670
 
12351
12671
 
12352
12672
  function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
12353
- let { filter: filter } = props;
12673
+ let { filter: filter, layoutDelegate: layoutDelegate } = props;
12354
12674
  let selectionState = ($7af3f5b51489e0b5$export$253fe78d46329472)(props);
12355
12675
  let disabledKeys = ($dbSRa$react.useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [
12356
12676
  props.disabledKeys
@@ -12364,30 +12684,35 @@ function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
12364
12684
  props.suppressTextValueWarning
12365
12685
  ]);
12366
12686
  let collection = ($7613b1592d41b092$export$6cd28814d92fa9c9)(props, factory, context);
12367
- let selectionManager = ($dbSRa$react.useMemo)(()=>new ($d496c0a20b6e58ec$export$6c8a5aaad13c9852)(collection, selectionState), [
12687
+ let selectionManager = ($dbSRa$react.useMemo)(()=>new ($d496c0a20b6e58ec$export$6c8a5aaad13c9852)(collection, selectionState, {
12688
+ layoutDelegate: layoutDelegate
12689
+ }), [
12368
12690
  collection,
12369
- selectionState
12691
+ selectionState,
12692
+ layoutDelegate
12370
12693
  ]);
12371
12694
  // Reset focused key if that item is deleted from the collection.
12372
12695
  const cachedCollection = ($dbSRa$react.useRef)(null);
12373
12696
  ($dbSRa$react.useEffect)(()=>{
12374
- if (selectionState.focusedKey != null && !collection.getItem(selectionState.focusedKey)) {
12697
+ if (selectionState.focusedKey != null && !collection.getItem(selectionState.focusedKey) && cachedCollection.current) {
12375
12698
  const startItem = cachedCollection.current.getItem(selectionState.focusedKey);
12376
12699
  const cachedItemNodes = [
12377
12700
  ...cachedCollection.current.getKeys()
12378
12701
  ].map((key)=>{
12379
12702
  const itemNode = cachedCollection.current.getItem(key);
12380
- return itemNode.type === 'item' ? itemNode : null;
12703
+ return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;
12381
12704
  }).filter((node)=>node !== null);
12382
12705
  const itemNodes = [
12383
12706
  ...collection.getKeys()
12384
12707
  ].map((key)=>{
12385
12708
  const itemNode = collection.getItem(key);
12386
- return itemNode.type === 'item' ? itemNode : null;
12709
+ return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;
12387
12710
  }).filter((node)=>node !== null);
12388
- const diff = cachedItemNodes.length - itemNodes.length;
12389
- let index = Math.min(diff > 1 ? Math.max(startItem.index - diff + 1, 0) : startItem.index, itemNodes.length - 1);
12390
- let newNode;
12711
+ var _cachedItemNodes_length, _itemNodes_length;
12712
+ const diff = ((_cachedItemNodes_length = cachedItemNodes === null || cachedItemNodes === void 0 ? void 0 : cachedItemNodes.length) !== null && _cachedItemNodes_length !== void 0 ? _cachedItemNodes_length : 0) - ((_itemNodes_length = itemNodes === null || itemNodes === void 0 ? void 0 : itemNodes.length) !== null && _itemNodes_length !== void 0 ? _itemNodes_length : 0);
12713
+ var _startItem_index, _startItem_index1, _itemNodes_length1;
12714
+ let index = Math.min(diff > 1 ? Math.max(((_startItem_index = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index !== void 0 ? _startItem_index : 0) - diff + 1, 0) : (_startItem_index1 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index1 !== void 0 ? _startItem_index1 : 0, ((_itemNodes_length1 = itemNodes === null || itemNodes === void 0 ? void 0 : itemNodes.length) !== null && _itemNodes_length1 !== void 0 ? _itemNodes_length1 : 0) - 1);
12715
+ let newNode = null;
12391
12716
  let isReverseSearching = false;
12392
12717
  while(index >= 0){
12393
12718
  if (!selectionManager.isDisabled(itemNodes[index].key)) {
@@ -12398,7 +12723,8 @@ function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
12398
12723
  if (index < itemNodes.length - 1 && !isReverseSearching) index++;
12399
12724
  else {
12400
12725
  isReverseSearching = true;
12401
- if (index > startItem.index) index = startItem.index;
12726
+ var _startItem_index2, _startItem_index3;
12727
+ if (index > ((_startItem_index2 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index2 !== void 0 ? _startItem_index2 : 0)) index = (_startItem_index3 = startItem === null || startItem === void 0 ? void 0 : startItem.index) !== null && _startItem_index3 !== void 0 ? _startItem_index3 : 0;
12402
12728
  index--;
12403
12729
  }
12404
12730
  }
@@ -12446,6 +12772,8 @@ function $a0d645289fe9b86b$export$e7f05e985daf4b5f(props) {
12446
12772
  allowDuplicateSelectionEvents: true,
12447
12773
  selectedKeys: selectedKeys,
12448
12774
  onSelectionChange: (keys)=>{
12775
+ // impossible, but TS doesn't know that
12776
+ if (keys === 'all') return;
12449
12777
  var _keys_values_next_value;
12450
12778
  let key = (_keys_values_next_value = keys.values().next().value) !== null && _keys_values_next_value !== void 0 ? _keys_values_next_value : null;
12451
12779
  // Always fire onSelectionChange, even if the key is the same
@@ -12496,11 +12824,150 @@ function $fc909762b330b746$export$61c6a8c84e605fb6(props) {
12496
12824
  isOpen
12497
12825
  ]);
12498
12826
  return {
12499
- isOpen: isOpen,
12500
- setOpen: setOpen,
12501
- open: open,
12502
- close: close,
12503
- toggle: toggle
12827
+ isOpen: isOpen,
12828
+ setOpen: setOpen,
12829
+ open: open,
12830
+ close: close,
12831
+ toggle: toggle
12832
+ };
12833
+ }
12834
+
12835
+ /*
12836
+ * Copyright 2024 Adobe. All rights reserved.
12837
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12838
+ * you may not use this file except in compliance with the License. You may obtain a copy
12839
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12840
+ *
12841
+ * Unless required by applicable law or agreed to in writing, software distributed under
12842
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12843
+ * OF ANY KIND, either express or implied. See the License for the specific language
12844
+ * governing permissions and limitations under the License.
12845
+ */
12846
+
12847
+ function $bf996d45f4a36925$export$3fcbf6e4407997e0(props) {
12848
+ let [isExpanded, setExpanded] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.isExpanded, props.defaultExpanded || false, props.onExpandedChange);
12849
+ const expand = ($dbSRa$react.useCallback)(()=>{
12850
+ setExpanded(true);
12851
+ }, [
12852
+ setExpanded
12853
+ ]);
12854
+ const collapse = ($dbSRa$react.useCallback)(()=>{
12855
+ setExpanded(false);
12856
+ }, [
12857
+ setExpanded
12858
+ ]);
12859
+ const toggle = ($dbSRa$react.useCallback)(()=>{
12860
+ setExpanded(!isExpanded);
12861
+ }, [
12862
+ setExpanded,
12863
+ isExpanded
12864
+ ]);
12865
+ return {
12866
+ isExpanded: isExpanded,
12867
+ setExpanded: setExpanded,
12868
+ expand: expand,
12869
+ collapse: collapse,
12870
+ toggle: toggle
12871
+ };
12872
+ }
12873
+
12874
+ /*
12875
+ * Copyright 2024 Adobe. All rights reserved.
12876
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12877
+ * you may not use this file except in compliance with the License. You may obtain a copy
12878
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12879
+ *
12880
+ * Unless required by applicable law or agreed to in writing, software distributed under
12881
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12882
+ * OF ANY KIND, either express or implied. See the License for the specific language
12883
+ * governing permissions and limitations under the License.
12884
+ */
12885
+
12886
+ function $9385b3affbdec831$export$f36461af0ef4707d(props) {
12887
+ let { allowsMultipleExpanded: allowsMultipleExpanded = false, isDisabled: isDisabled = false } = props;
12888
+ let [expandedKeys, setExpandedKeys] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(($dbSRa$react.useMemo)(()=>props.expandedKeys ? new Set(props.expandedKeys) : undefined, [
12889
+ props.expandedKeys
12890
+ ]), ($dbSRa$react.useMemo)(()=>props.defaultExpandedKeys ? new Set(props.defaultExpandedKeys) : new Set(), [
12891
+ props.defaultExpandedKeys
12892
+ ]), props.onExpandedChange);
12893
+ ($dbSRa$react.useEffect)(()=>{
12894
+ // Ensure only one item is expanded if allowsMultipleExpanded is false.
12895
+ if (!allowsMultipleExpanded && expandedKeys.size > 1) setExpandedKeys(new Set([
12896
+ expandedKeys.values().next().value
12897
+ ]));
12898
+ });
12899
+ return {
12900
+ allowsMultipleExpanded: allowsMultipleExpanded,
12901
+ isDisabled: isDisabled,
12902
+ expandedKeys: expandedKeys,
12903
+ setExpandedKeys: setExpandedKeys,
12904
+ toggleKey (key) {
12905
+ let keys;
12906
+ if (allowsMultipleExpanded) {
12907
+ keys = new Set(expandedKeys);
12908
+ if (keys.has(key)) keys.delete(key);
12909
+ else keys.add(key);
12910
+ } else keys = new Set(expandedKeys.has(key) ? [] : [
12911
+ key
12912
+ ]);
12913
+ setExpandedKeys(keys);
12914
+ }
12915
+ };
12916
+ }
12917
+
12918
+ /*
12919
+ * Copyright 2020 Adobe. All rights reserved.
12920
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12921
+ * you may not use this file except in compliance with the License. You may obtain a copy
12922
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12923
+ *
12924
+ * Unless required by applicable law or agreed to in writing, software distributed under
12925
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12926
+ * OF ANY KIND, either express or implied. See the License for the specific language
12927
+ * governing permissions and limitations under the License.
12928
+ */
12929
+
12930
+ function $a28c903ee9ad8dc5$export$79fefeb1c2091ac3(props) {
12931
+ let overlayTriggerState = ($fc909762b330b746$export$61c6a8c84e605fb6)(props);
12932
+ let [focusStrategy, setFocusStrategy] = ($dbSRa$react.useState)(null);
12933
+ let [expandedKeysStack, setExpandedKeysStack] = ($dbSRa$react.useState)([]);
12934
+ let closeAll = ()=>{
12935
+ setExpandedKeysStack([]);
12936
+ overlayTriggerState.close();
12937
+ };
12938
+ let openSubmenu = (triggerKey, level)=>{
12939
+ setExpandedKeysStack((oldStack)=>{
12940
+ if (level > oldStack.length) return oldStack;
12941
+ return [
12942
+ ...oldStack.slice(0, level),
12943
+ triggerKey
12944
+ ];
12945
+ });
12946
+ };
12947
+ let closeSubmenu = (triggerKey, level)=>{
12948
+ setExpandedKeysStack((oldStack)=>{
12949
+ let key = oldStack[level];
12950
+ if (key === triggerKey) return oldStack.slice(0, level);
12951
+ else return oldStack;
12952
+ });
12953
+ };
12954
+ return {
12955
+ focusStrategy: focusStrategy,
12956
+ ...overlayTriggerState,
12957
+ open (focusStrategy = null) {
12958
+ setFocusStrategy(focusStrategy);
12959
+ overlayTriggerState.open();
12960
+ },
12961
+ toggle (focusStrategy = null) {
12962
+ setFocusStrategy(focusStrategy);
12963
+ overlayTriggerState.toggle();
12964
+ },
12965
+ close () {
12966
+ closeAll();
12967
+ },
12968
+ expandedKeysStack: expandedKeysStack,
12969
+ openSubmenu: openSubmenu,
12970
+ closeSubmenu: closeSubmenu
12504
12971
  };
12505
12972
  }
12506
12973
 
@@ -12629,7 +13096,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12629
13096
  let { delay: delay = $8796f90736e175cb$var$TOOLTIP_DELAY, closeDelay: closeDelay = $8796f90736e175cb$var$TOOLTIP_COOLDOWN } = props;
12630
13097
  let { isOpen: isOpen, open: open, close: close } = ($fc909762b330b746$export$61c6a8c84e605fb6)(props);
12631
13098
  let id = ($dbSRa$react.useMemo)(()=>`${++$8796f90736e175cb$var$tooltipId}`, []);
12632
- let closeTimeout = ($dbSRa$react.useRef)(undefined);
13099
+ let closeTimeout = ($dbSRa$react.useRef)(null);
12633
13100
  let closeCallback = ($dbSRa$react.useRef)(close);
12634
13101
  let ensureTooltipEntry = ()=>{
12635
13102
  $8796f90736e175cb$var$tooltips[id] = hideTooltip;
@@ -12641,7 +13108,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12641
13108
  }
12642
13109
  };
12643
13110
  let showTooltip = ()=>{
12644
- clearTimeout(closeTimeout.current);
13111
+ if (closeTimeout.current) clearTimeout(closeTimeout.current);
12645
13112
  closeTimeout.current = null;
12646
13113
  closeOpenTooltips();
12647
13114
  ensureTooltipEntry();
@@ -12658,7 +13125,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12658
13125
  };
12659
13126
  let hideTooltip = (immediate)=>{
12660
13127
  if (immediate || closeDelay <= 0) {
12661
- clearTimeout(closeTimeout.current);
13128
+ if (closeTimeout.current) clearTimeout(closeTimeout.current);
12662
13129
  closeTimeout.current = null;
12663
13130
  closeCallback.current();
12664
13131
  } else if (!closeTimeout.current) closeTimeout.current = setTimeout(()=>{
@@ -12693,10 +13160,9 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12693
13160
  }, [
12694
13161
  close
12695
13162
  ]);
12696
- // eslint-disable-next-line arrow-body-style
12697
13163
  ($dbSRa$react.useEffect)(()=>{
12698
13164
  return ()=>{
12699
- clearTimeout(closeTimeout.current);
13165
+ if (closeTimeout.current) clearTimeout(closeTimeout.current);
12700
13166
  let tooltip = $8796f90736e175cb$var$tooltips[id];
12701
13167
  if (tooltip) delete $8796f90736e175cb$var$tooltips[id];
12702
13168
  };
@@ -12726,6 +13192,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12726
13192
  */
12727
13193
 
12728
13194
 
13195
+
12729
13196
  const $ee014567cb39d3f0$export$ff05c3ac10437e03 = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
12730
13197
  function $ee014567cb39d3f0$var$FieldError(props, ref) {
12731
13198
  let validation = ($dbSRa$react.useContext)($ee014567cb39d3f0$export$ff05c3ac10437e03);
@@ -12740,6 +13207,7 @@ function $ee014567cb39d3f0$var$FieldError(props, ref) {
12740
13207
  */ const $ee014567cb39d3f0$export$f551688fc98f2e09 = /*#__PURE__*/ ($dbSRa$react.forwardRef)($ee014567cb39d3f0$var$FieldError);
12741
13208
  const $ee014567cb39d3f0$var$FieldErrorInner = /*#__PURE__*/ ($dbSRa$react.forwardRef)((props, ref)=>{
12742
13209
  let validation = ($dbSRa$react.useContext)($ee014567cb39d3f0$export$ff05c3ac10437e03);
13210
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
12743
13211
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
12744
13212
  ...props,
12745
13213
  defaultClassName: 'react-aria-FieldError',
@@ -12749,6 +13217,7 @@ const $ee014567cb39d3f0$var$FieldErrorInner = /*#__PURE__*/ ($dbSRa$react.forwar
12749
13217
  if (renderProps.children == null) return null;
12750
13218
  return /*#__PURE__*/ ($dbSRa$react).createElement(($514c0188e459b4c0$export$5f1af8db9871e1d6), {
12751
13219
  slot: "errorMessage",
13220
+ ...domProps,
12752
13221
  ...renderProps,
12753
13222
  ref: ref
12754
13223
  });
@@ -12803,32 +13272,6 @@ function $d3e0e05bdfcf66bd$var$Form(props, ref) {
12803
13272
  */
12804
13273
 
12805
13274
 
12806
- const $01b77f81d0f07f68$export$75b6ee27786ba447 = /*#__PURE__*/ ($dbSRa$react.createContext)({});
12807
- function $01b77f81d0f07f68$var$Label(props, ref) {
12808
- [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $01b77f81d0f07f68$export$75b6ee27786ba447);
12809
- let { elementType: ElementType = 'label', ...labelProps } = props;
12810
- // @ts-ignore
12811
- return /*#__PURE__*/ ($dbSRa$react).createElement(ElementType, {
12812
- className: "react-aria-Label",
12813
- ...labelProps,
12814
- ref: ref
12815
- });
12816
- }
12817
- const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ ($f39a9eba43920ace$export$86427a43e3e48ebb)($01b77f81d0f07f68$var$Label);
12818
-
12819
- /*
12820
- * Copyright 2022 Adobe. All rights reserved.
12821
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12822
- * you may not use this file except in compliance with the License. You may obtain a copy
12823
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
12824
- *
12825
- * Unless required by applicable law or agreed to in writing, software distributed under
12826
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12827
- * OF ANY KIND, either express or implied. See the License for the specific language
12828
- * governing permissions and limitations under the License.
12829
- */
12830
-
12831
-
12832
13275
 
12833
13276
 
12834
13277
 
@@ -12912,7 +13355,7 @@ function $bc237834342dbd75$var$Checkbox(props, ref) {
12912
13355
  let groupState = ($dbSRa$react.useContext)($bc237834342dbd75$export$139c5b8563afc1fc);
12913
13356
  let inputRef = ($df56164dff5785e2$export$4338b53315abf666)(($5dc95899b306f630$export$c9058316764c140e)(userProvidedInputRef, props.inputRef !== undefined ? props.inputRef : null));
12914
13357
  let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isPressed: isPressed, isInvalid: isInvalid } = groupState ? ($fba3e38d5ca8983f$export$353b32fc6898d37d)({
12915
- ...props,
13358
+ ...($64fa3d84918910a7$export$ef03459518577ad4)(props),
12916
13359
  // Value is optional for standalone checkboxes, but required for CheckboxGroup items;
12917
13360
  // it's passed explicitly here to avoid typescript error (requires ignore).
12918
13361
  // @ts-ignore
@@ -12920,7 +13363,7 @@ function $bc237834342dbd75$var$Checkbox(props, ref) {
12920
13363
  // ReactNode type doesn't allow function children.
12921
13364
  children: typeof props.children === 'function' ? true : props.children
12922
13365
  }, groupState, inputRef) : ($406796ff087fe49b$export$e375f10ce42261c5)({
12923
- ...props,
13366
+ ...($64fa3d84918910a7$export$ef03459518577ad4)(props),
12924
13367
  children: typeof props.children === 'function' ? true : props.children,
12925
13368
  validationBehavior: validationBehavior
12926
13369
  }, ($3017fa7ffdddec74$export$8042c6c013fd5226)(props), inputRef);
@@ -12931,7 +13374,6 @@ function $bc237834342dbd75$var$Checkbox(props, ref) {
12931
13374
  isDisabled: isInteractionDisabled
12932
13375
  });
12933
13376
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
12934
- // TODO: should data attrs go on the label or on the <input>? useCheckbox passes them to the input...
12935
13377
  ...props,
12936
13378
  defaultClassName: 'react-aria-Checkbox',
12937
13379
  values: {
@@ -13429,7 +13871,7 @@ function $612b8eb6cb90e02d$export$d1e8e3fbb7461f6(selectionManager, dragAndDropH
13429
13871
  return new Set([
13430
13872
  focusedKey,
13431
13873
  dropTargetKey
13432
- ].filter((k)=>k !== null));
13874
+ ].filter((k)=>k != null));
13433
13875
  }, [
13434
13876
  focusedKey,
13435
13877
  dropTargetKey
@@ -13527,7 +13969,11 @@ function $eed445e0843c11d0$var$StandaloneListBox({ props: props, listBoxRef: lis
13527
13969
  children: null,
13528
13970
  items: null
13529
13971
  };
13530
- let state = ($e72dd72e1c76a225$export$2f645645f7bca764)(props);
13972
+ let { layoutDelegate: layoutDelegate } = ($dbSRa$react.useContext)(($7135fc7d473fd974$export$4feb769f8ddf26c5));
13973
+ let state = ($e72dd72e1c76a225$export$2f645645f7bca764)({
13974
+ ...props,
13975
+ layoutDelegate: layoutDelegate
13976
+ });
13531
13977
  return /*#__PURE__*/ ($dbSRa$react).createElement($eed445e0843c11d0$var$ListBoxInner, {
13532
13978
  state: state,
13533
13979
  props: props,
@@ -13691,6 +14137,7 @@ function $eed445e0843c11d0$var$ListBoxInner({ state: state, props: props, listBo
13691
14137
  [
13692
14138
  ($7135fc7d473fd974$export$d40e14dec8b060a8),
13693
14139
  {
14140
+ name: 'ListBoxSection',
13694
14141
  render: $eed445e0843c11d0$var$ListBoxSection
13695
14142
  }
13696
14143
  ]
@@ -13702,7 +14149,7 @@ function $eed445e0843c11d0$var$ListBoxInner({ state: state, props: props, listBo
13702
14149
  renderDropIndicator: ($612b8eb6cb90e02d$export$971707d8a129a1f7)(dragAndDropHooks, dropState)
13703
14150
  })), emptyState, dragPreview));
13704
14151
  }
13705
- function $eed445e0843c11d0$var$ListBoxSection(props, ref, section) {
14152
+ function $eed445e0843c11d0$var$ListBoxSection(props, ref, section, className = 'react-aria-ListBoxSection') {
13706
14153
  let state = ($dbSRa$react.useContext)($eed445e0843c11d0$export$7c5906fe4f1f2af2);
13707
14154
  let { dragAndDropHooks: dragAndDropHooks, dropState: dropState } = ($dbSRa$react.useContext)(($612b8eb6cb90e02d$export$d188a835a7bc5783));
13708
14155
  let { CollectionBranch: CollectionBranch } = ($dbSRa$react.useContext)(($7135fc7d473fd974$export$4feb769f8ddf26c5));
@@ -13713,7 +14160,7 @@ function $eed445e0843c11d0$var$ListBoxSection(props, ref, section) {
13713
14160
  'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : undefined
13714
14161
  });
13715
14162
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
13716
- defaultClassName: 'react-aria-Section',
14163
+ defaultClassName: className,
13717
14164
  className: props.className,
13718
14165
  style: props.style,
13719
14166
  values: {}
@@ -13734,6 +14181,9 @@ function $eed445e0843c11d0$var$ListBoxSection(props, ref, section) {
13734
14181
  renderDropIndicator: ($612b8eb6cb90e02d$export$971707d8a129a1f7)(dragAndDropHooks, dropState)
13735
14182
  })));
13736
14183
  }
14184
+ /**
14185
+ * A ListBoxSection represents a section within a ListBox.
14186
+ */ const $eed445e0843c11d0$export$dca12b0bb56e4fc = /*#__PURE__*/ ($e1995378a142960e$export$e953bb1cd0f19726)('section', $eed445e0843c11d0$var$ListBoxSection);
13737
14187
  const $eed445e0843c11d0$export$a11e76429ed99b4 = /*#__PURE__*/ ($e1995378a142960e$export$18af5c7a9e9b3664)('item', function ListBoxItem(props, forwardedRef, item) {
13738
14188
  let ref = ($df56164dff5785e2$export$4338b53315abf666)(forwardedRef);
13739
14189
  let state = ($dbSRa$react.useContext)($eed445e0843c11d0$export$7c5906fe4f1f2af2);
@@ -13862,9 +14312,9 @@ function $44f671af83e7d9e0$var$OverlayArrow(props, ref) {
13862
14312
  let placement = props.placement;
13863
14313
  let style = {
13864
14314
  position: 'absolute',
13865
- [placement]: '100%',
13866
14315
  transform: placement === 'top' || placement === 'bottom' ? 'translateX(-50%)' : 'translateY(-50%)'
13867
14316
  };
14317
+ if (placement != null) style[placement] = '100%';
13868
14318
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
13869
14319
  ...props,
13870
14320
  defaultClassName: 'react-aria-OverlayArrow',
@@ -13975,6 +14425,7 @@ function $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting
13975
14425
  ...renderProps.style
13976
14426
  };
13977
14427
  return /*#__PURE__*/ ($dbSRa$react).createElement(($337b884510726a0d$export$c6fdb837b070b4ff), {
14428
+ ...props,
13978
14429
  isExiting: isExiting,
13979
14430
  portalContainer: UNSTABLE_portalContainer
13980
14431
  }, !props.isNonModal && state.isOpen && /*#__PURE__*/ ($dbSRa$react).createElement("div", {
@@ -14007,6 +14458,8 @@ function $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting
14007
14458
  })));
14008
14459
  }
14009
14460
 
14461
+ const $3674c52c6b3c5bce$export$795aec4671cbae19 = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
14462
+
14010
14463
  /*
14011
14464
  * Copyright 2022 Adobe. All rights reserved.
14012
14465
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -14025,10 +14478,14 @@ function $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting
14025
14478
 
14026
14479
 
14027
14480
 
14481
+
14482
+
14028
14483
  const $de32f1b87079253c$export$8b93a07348a7730c = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
14029
14484
  const $de32f1b87079253c$export$d2f961adcb0afbe = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
14030
14485
  function $de32f1b87079253c$export$2e1e1122cf0cba88(props) {
14031
- let state = ($fc909762b330b746$export$61c6a8c84e605fb6)(props);
14486
+ // Use useMenuTriggerState instead of useOverlayTriggerState in case a menu is embedded in the dialog.
14487
+ // This is needed to handle submenus.
14488
+ let state = ($a28c903ee9ad8dc5$export$79fefeb1c2091ac3)(props);
14032
14489
  let buttonRef = ($dbSRa$react.useRef)(null);
14033
14490
  let { triggerProps: triggerProps, overlayProps: overlayProps } = ($628037886ba31236$export$f9d5c8beee7d008d)({
14034
14491
  type: 'dialog'
@@ -14045,6 +14502,10 @@ function $de32f1b87079253c$export$2e1e1122cf0cba88(props) {
14045
14502
  $de32f1b87079253c$export$d2f961adcb0afbe,
14046
14503
  state
14047
14504
  ],
14505
+ [
14506
+ ($3674c52c6b3c5bce$export$795aec4671cbae19),
14507
+ state
14508
+ ],
14048
14509
  [
14049
14510
  $de32f1b87079253c$export$8b93a07348a7730c,
14050
14511
  overlayProps
@@ -14073,24 +14534,27 @@ function $de32f1b87079253c$var$Dialog(props, ref) {
14073
14534
  'aria-labelledby': originalAriaLabelledby
14074
14535
  }, ref);
14075
14536
  let state = ($dbSRa$react.useContext)($de32f1b87079253c$export$d2f961adcb0afbe);
14076
- let children = props.children;
14077
- if (typeof children === 'function') children = children({
14078
- close: (state === null || state === void 0 ? void 0 : state.close) || (()=>{})
14079
- });
14080
14537
  if (!dialogProps['aria-label'] && !dialogProps['aria-labelledby']) {
14081
14538
  // If aria-labelledby exists on props, we know it came from context.
14082
14539
  // Use that as a fallback in case there is no title slot.
14083
14540
  if (props['aria-labelledby']) dialogProps['aria-labelledby'] = props['aria-labelledby'];
14084
14541
  else console.warn('If a Dialog does not contain a <Heading slot="title">, it must have an aria-label or aria-labelledby attribute for accessibility.');
14085
14542
  }
14086
- var _props_className;
14543
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14544
+ defaultClassName: 'react-aria-Dialog',
14545
+ className: props.className,
14546
+ style: props.style,
14547
+ children: props.children,
14548
+ values: {
14549
+ close: (state === null || state === void 0 ? void 0 : state.close) || (()=>{})
14550
+ }
14551
+ });
14087
14552
  return /*#__PURE__*/ ($dbSRa$react).createElement("section", {
14088
14553
  ...($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props),
14089
14554
  ...dialogProps,
14555
+ ...renderProps,
14090
14556
  ref: ref,
14091
- slot: props.slot || undefined,
14092
- style: props.style,
14093
- className: (_props_className = props.className) !== null && _props_className !== void 0 ? _props_className : 'react-aria-Dialog'
14557
+ slot: props.slot || undefined
14094
14558
  }, /*#__PURE__*/ ($dbSRa$react).createElement(($64fa3d84918910a7$export$2881499e37b75b9a), {
14095
14559
  values: [
14096
14560
  [
@@ -14104,14 +14568,180 @@ function $de32f1b87079253c$var$Dialog(props, ref) {
14104
14568
  }
14105
14569
  }
14106
14570
  }
14571
+ ],
14572
+ [
14573
+ ($d2b4bc8c273e7be6$export$24d547caef80ccd1),
14574
+ {
14575
+ slots: {
14576
+ [($64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},
14577
+ close: {
14578
+ onPress: ()=>state === null || state === void 0 ? void 0 : state.close()
14579
+ }
14580
+ }
14581
+ }
14107
14582
  ]
14108
14583
  ]
14109
- }, children));
14584
+ }, renderProps.children));
14110
14585
  }
14111
14586
  /**
14112
14587
  * A dialog is an overlay shown above other content in an application.
14113
14588
  */ const $de32f1b87079253c$export$3ddf2d174ce01153 = /*#__PURE__*/ ($dbSRa$react.forwardRef)($de32f1b87079253c$var$Dialog);
14114
14589
 
14590
+ /*
14591
+ * Copyright 2024 Adobe. All rights reserved.
14592
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
14593
+ * you may not use this file except in compliance with the License. You may obtain a copy
14594
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
14595
+ *
14596
+ * Unless required by applicable law or agreed to in writing, software distributed under
14597
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
14598
+ * OF ANY KIND, either express or implied. See the License for the specific language
14599
+ * governing permissions and limitations under the License.
14600
+ */
14601
+
14602
+
14603
+
14604
+
14605
+
14606
+
14607
+ const $28f4fd908f0de97f$export$1d40e3e0cc4d5de = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
14608
+ function $28f4fd908f0de97f$var$DisclosureGroup(props, ref) {
14609
+ let state = ($9385b3affbdec831$export$f36461af0ef4707d)(props);
14610
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14611
+ ...props,
14612
+ defaultClassName: 'react-aria-DisclosureGroup',
14613
+ values: {
14614
+ isDisabled: state.isDisabled,
14615
+ state: state
14616
+ }
14617
+ });
14618
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
14619
+ return /*#__PURE__*/ ($dbSRa$react).createElement("div", {
14620
+ ...domProps,
14621
+ ...renderProps,
14622
+ ref: ref,
14623
+ "data-disabled": props.isDisabled || undefined
14624
+ }, /*#__PURE__*/ ($dbSRa$react).createElement($28f4fd908f0de97f$export$1d40e3e0cc4d5de.Provider, {
14625
+ value: state
14626
+ }, renderProps.children));
14627
+ }
14628
+ /**
14629
+ * A DisclosureGroup is a grouping of related disclosures, sometimes called an accordion.
14630
+ * It supports both single and multiple expanded items.
14631
+ */ const $28f4fd908f0de97f$export$944aceb4f8c89f10 = /*#__PURE__*/ ($dbSRa$react.forwardRef)($28f4fd908f0de97f$var$DisclosureGroup);
14632
+ const $28f4fd908f0de97f$export$d665dd135a51b28a = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
14633
+ const $28f4fd908f0de97f$export$dab3ea4a6ef094da = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
14634
+ const $28f4fd908f0de97f$var$InternalDisclosureContext = /*#__PURE__*/ ($dbSRa$react.createContext)(null);
14635
+ function $28f4fd908f0de97f$var$Disclosure(props, ref) {
14636
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $28f4fd908f0de97f$export$d665dd135a51b28a);
14637
+ let groupState = ($dbSRa$react.useContext)($28f4fd908f0de97f$export$1d40e3e0cc4d5de);
14638
+ let { id: id, ...otherProps } = props;
14639
+ // Generate an id if one wasn't provided.
14640
+ // (can't pass id into useId since it can also be a number)
14641
+ let defaultId = ($bdb11010cef70236$export$f680877a34711e37)();
14642
+ id || (id = defaultId);
14643
+ let isExpanded = groupState ? groupState.expandedKeys.has(id) : props.isExpanded;
14644
+ let state = ($bf996d45f4a36925$export$3fcbf6e4407997e0)({
14645
+ ...props,
14646
+ isExpanded: isExpanded,
14647
+ onExpandedChange (isExpanded) {
14648
+ var _props_onExpandedChange;
14649
+ if (groupState) groupState.toggleKey(id);
14650
+ (_props_onExpandedChange = props.onExpandedChange) === null || _props_onExpandedChange === void 0 ? void 0 : _props_onExpandedChange.call(props, isExpanded);
14651
+ }
14652
+ });
14653
+ let panelRef = ($dbSRa$react).useRef(null);
14654
+ let isDisabled = props.isDisabled || (groupState === null || groupState === void 0 ? void 0 : groupState.isDisabled) || false;
14655
+ let { buttonProps: buttonProps, panelProps: panelProps } = ($5e910fae8e128ead$export$6e3e27031a30522f)({
14656
+ ...props,
14657
+ isExpanded: isExpanded,
14658
+ isDisabled: isDisabled
14659
+ }, state, panelRef);
14660
+ let { isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps } = ($f7dceffc5ad7768b$export$4e328f61c538687f)({
14661
+ within: true
14662
+ });
14663
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14664
+ ...props,
14665
+ id: undefined,
14666
+ defaultClassName: 'react-aria-Disclosure',
14667
+ values: {
14668
+ isExpanded: state.isExpanded,
14669
+ isDisabled: isDisabled,
14670
+ isFocusVisibleWithin: isFocusVisibleWithin,
14671
+ state: state
14672
+ }
14673
+ });
14674
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(otherProps);
14675
+ return /*#__PURE__*/ ($dbSRa$react).createElement(($64fa3d84918910a7$export$2881499e37b75b9a), {
14676
+ values: [
14677
+ [
14678
+ ($d2b4bc8c273e7be6$export$24d547caef80ccd1),
14679
+ {
14680
+ slots: {
14681
+ [($64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},
14682
+ trigger: buttonProps
14683
+ }
14684
+ }
14685
+ ],
14686
+ [
14687
+ $28f4fd908f0de97f$var$InternalDisclosureContext,
14688
+ {
14689
+ panelProps: panelProps,
14690
+ panelRef: panelRef
14691
+ }
14692
+ ],
14693
+ [
14694
+ $28f4fd908f0de97f$export$dab3ea4a6ef094da,
14695
+ state
14696
+ ]
14697
+ ]
14698
+ }, /*#__PURE__*/ ($dbSRa$react).createElement("div", {
14699
+ ref: ref,
14700
+ "data-expanded": state.isExpanded || undefined,
14701
+ "data-disabled": isDisabled || undefined,
14702
+ "data-focus-visible-within": isFocusVisibleWithin || undefined,
14703
+ ...domProps,
14704
+ ...focusWithinProps,
14705
+ ...renderProps
14706
+ }, renderProps.children));
14707
+ }
14708
+ function $28f4fd908f0de97f$var$DisclosurePanel(props, ref) {
14709
+ let { role: role = 'group' } = props;
14710
+ let { panelProps: panelProps, panelRef: panelRef } = ($dbSRa$react.useContext)($28f4fd908f0de97f$var$InternalDisclosureContext);
14711
+ let { isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps } = ($f7dceffc5ad7768b$export$4e328f61c538687f)({
14712
+ within: true
14713
+ });
14714
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14715
+ ...props,
14716
+ defaultClassName: 'react-aria-DisclosurePanel',
14717
+ values: {
14718
+ isFocusVisibleWithin: isFocusVisibleWithin
14719
+ }
14720
+ });
14721
+ let DOMProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
14722
+ return /*#__PURE__*/ ($dbSRa$react).createElement("div", {
14723
+ ...DOMProps,
14724
+ ref: ($5dc95899b306f630$export$c9058316764c140e)(ref, panelRef),
14725
+ ...($3ef42575df84b30b$export$9d1611c77c2fe928)(panelProps, focusWithinProps),
14726
+ ...renderProps,
14727
+ role: role,
14728
+ "data-focus-visible-within": isFocusVisibleWithin || undefined
14729
+ }, /*#__PURE__*/ ($dbSRa$react).createElement(($64fa3d84918910a7$export$2881499e37b75b9a), {
14730
+ values: [
14731
+ [
14732
+ ($d2b4bc8c273e7be6$export$24d547caef80ccd1),
14733
+ null
14734
+ ]
14735
+ ]
14736
+ }, props.children));
14737
+ }
14738
+ /**
14739
+ * A disclosure is a collapsible section of content. It is composed of a a header with a heading and trigger button, and a panel that contains the content.
14740
+ */ const $28f4fd908f0de97f$export$74a362b31437ec83 = /*#__PURE__*/ ($dbSRa$react.forwardRef)($28f4fd908f0de97f$var$Disclosure);
14741
+ /**
14742
+ * A DisclosurePanel provides the content for a disclosure.
14743
+ */ const $28f4fd908f0de97f$export$feabaa331e1d464c = /*#__PURE__*/ ($dbSRa$react.forwardRef)($28f4fd908f0de97f$var$DisclosurePanel);
14744
+
14115
14745
  /*
14116
14746
  * Copyright 2022 Adobe. All rights reserved.
14117
14747
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -14628,10 +15258,10 @@ function $82d7e5349645de74$var$SelectValue(props, ref) {
14628
15258
  });
14629
15259
  }
14630
15260
  let stringFormatter = ($fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault($df39c1238ae2b5f3$exports))), 'react-aria-components');
14631
- var _state_selectedItem_value, _state_selectedItem_textValue;
15261
+ var _ref, _state_selectedItem_value, _state_selectedItem_textValue;
14632
15262
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14633
15263
  ...props,
14634
- defaultChildren: rendered || placeholder || stringFormatter.format('selectPlaceholder'),
15264
+ defaultChildren: (_ref = rendered !== null && rendered !== void 0 ? rendered : placeholder) !== null && _ref !== void 0 ? _ref : stringFormatter.format('selectPlaceholder'),
14635
15265
  defaultClassName: 'react-aria-SelectValue',
14636
15266
  values: {
14637
15267
  selectedItem: (_state_selectedItem_value = (_state_selectedItem = state.selectedItem) === null || _state_selectedItem === void 0 ? void 0 : _state_selectedItem.value) !== null && _state_selectedItem_value !== void 0 ? _state_selectedItem_value : null,
@@ -15155,7 +15785,8 @@ function $4e3b923658d69c60$var$TooltipInner(props) {
15155
15785
  isOpen: state.isOpen,
15156
15786
  arrowSize: arrowWidth,
15157
15787
  arrowBoundaryOffset: props.arrowBoundaryOffset,
15158
- shouldFlip: props.shouldFlip
15788
+ shouldFlip: props.shouldFlip,
15789
+ onClose: ()=>state.close(true)
15159
15790
  });
15160
15791
  let isEntering = ($64fa3d84918910a7$export$6d3443f2c48bfc20)(props.tooltipRef, !!placement) || props.isEntering || false;
15161
15792
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
@@ -15178,7 +15809,7 @@ function $4e3b923658d69c60$var$TooltipInner(props) {
15178
15809
  ...overlayProps.style,
15179
15810
  ...renderProps.style
15180
15811
  },
15181
- "data-placement": placement,
15812
+ "data-placement": placement !== null && placement !== void 0 ? placement : undefined,
15182
15813
  "data-entering": isEntering || undefined,
15183
15814
  "data-exiting": props.isExiting || undefined
15184
15815
  }, /*#__PURE__*/ ($dbSRa$react).createElement(($44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {
@@ -15190,43 +15821,113 @@ function $4e3b923658d69c60$var$TooltipInner(props) {
15190
15821
  }, renderProps.children));
15191
15822
  }
15192
15823
 
15193
- var css_248z$j = ".bcds-react-aria-Button {\n border: none;\n border-radius: var(--layout-border-radius-medium);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: var(--layout-padding-small);\n font: var(--typography-regular-body);\n padding-left: 16px;\n padding-right: 16px;\n}\n.bcds-react-aria-Button[data-disabled] {\n cursor: not-allowed;\n}\n.bcds-react-aria-Button[data-focused] {\n outline: solid var(--layout-border-width-medium)\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n\n/* Icon button */\n.bcds-react-aria-Button.icon {\n align-items: center;\n justify-content: space-around;\n}\n\n/* Sizes */\n.bcds-react-aria-Button.small {\n min-height: 32px;\n}\n.bcds-react-aria-Button.small.icon {\n padding: unset;\n height: 32px;\n width: 32px;\n min-width: 32px;\n}\n.bcds-react-aria-Button.medium {\n min-height: 40px;\n}\n.bcds-react-aria-Button.medium.icon {\n padding: unset;\n height: 40px;\n width: 40px;\n min-width: 40px;\n}\n\n/* Variant - Primary */\n.bcds-react-aria-Button.primary {\n background: var(--surface-color-primary-button-default);\n color: var(--icons-color-primary-invert);\n}\n.bcds-react-aria-Button.primary.danger {\n background-color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.primary[data-disabled] {\n background-color: var(--surface-color-primary-danger-button-disabled);\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Button.primary[data-hovered] {\n background-color: var(--surface-color-primary-button-hover);\n}\n.bcds-react-aria-Button.primary.danger[data-hovered] {\n background-color: var(--surface-color-primary-danger-button-hover);\n}\n\n/* Variant - Secondary */\n.bcds-react-aria-Button.secondary {\n background-color: var(--surface-color-secondary-button-default);\n border: 1px solid var(--surface-color-border-dark);\n color: var(--typography-color-primary);\n}\n.bcds-react-aria-Button.secondary.danger {\n border-color: var(--support-border-color-danger);\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.secondary[data-disabled] {\n background-color: var(--surface-color-secondary-button-disabled);\n border-color: var(--surface-color-border-default);\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Button.secondary[data-hovered] {\n background-color: var(--surface-color-secondary-button-hover);\n}\n.bcds-react-aria-Button.secondary.danger[data-hovered] {\n background-color: var(--support-surface-color-danger);\n}\n\n/* Variant - Tertiary */\n.bcds-react-aria-Button.tertiary {\n background-color: var(--surface-color-tertiary-button-default);\n color: var(--typography-color-primary);\n}\n.bcds-react-aria-Button.tertiary.danger {\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.tertiary[data-disabled] {\n background-color: var(--surface-color-tertiary-button-default);\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Button.tertiary[data-hovered] {\n background-color: var(--surface-color-tertiary-button-hover);\n}\n.bcds-react-aria-Button.tertiary.danger[data-hovered] {\n background-color: var(--support-surface-color-danger);\n}\n\n/* Variant - Link */\n.bcds-react-aria-Button.link {\n background-color: var(--surface-color-tertiary-button-default);\n color: var(--typography-color-link);\n text-decoration: underline;\n text-underline-offset: 0.3em;\n}\n.bcds-react-aria-Button.link.danger {\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.link[data-disabled] {\n color: var(--typography-color-disabled);\n}\n";
15194
- styleInject(css_248z$j);
15824
+ var css_248z$n = ".bcds-react-aria-Disclosure {\n display: flex;\n flex-direction: column;\n border: var(--layout-border-width-small) solid\n var(--surface-color-border-default);\n border-radius: var(--layout-border-radius-medium);\n overflow: hidden;\n}\n\n.bcds-react-aria-Disclosure--Button {\n display: inline-flex;\n flex-direction: row;\n padding: var(--layout-padding-small) var(--layout-padding-medium);\n gap: var(--layout-margin-small);\n justify-content: space-between;\n align-items: center;\n background-color: var(--surface-color-background-light-gray);\n border: none;\n cursor: pointer;\n font: var(--typography-bold-body);\n color: var(--typography-color-primary);\n}\n\n/* Hover */\n.bcds-react-aria-Disclosure--Button[data-hovered] {\n background-color: var(--surface-color-menus-hover);\n}\n\n/* Accordion content */\n.bcds-react-aria-Disclosure[data-expanded]\n > .bcds-react-aria-Disclosure--Panel {\n display: flex;\n align-items: flex-start;\n padding: var(--layout-padding-medium);\n gap: var(--layout-margin-small);\n background-color: var(--surface-color-forms-default);\n font: var(--typography-regular-body);\n}\n\n/* Focus state */\n.bcds-react-aria-Disclosure[data-focus-visible-within] {\n outline: solid var(--layout-border-width-medium)\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n\n/* Override default focus behaviour for button */\n.bcds-react-aria-Disclosure[data-focus-visible-within]\n > .bcds-react-aria-Disclosure--Button {\n outline: none;\n}\n\n.bcds-react-aria-Disclosure--Button[data-focused] {\n outline: none;\n}\n\n/* Disabled state */\n.bcds-react-aria-Disclosure[data-disabled]\n > .bcds-react-aria-Disclosure--Button {\n background-color: var(--surface-color-forms-disabled);\n color: var(--typography-color-disabled);\n cursor: not-allowed;\n}\n";
15825
+ styleInject(css_248z$n);
15826
+
15827
+ var css_248z$m = ".bcds-react-aria-Button {\n border: none;\n border-radius: var(--layout-border-radius-medium);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: var(--layout-padding-small);\n font: var(--typography-regular-body);\n padding-left: 16px;\n padding-right: 16px;\n}\n.bcds-react-aria-Button[data-disabled] {\n cursor: not-allowed;\n}\n.bcds-react-aria-Button[data-focused] {\n outline: solid var(--layout-border-width-medium)\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n\n/* Icon button */\n.bcds-react-aria-Button.icon {\n align-items: center;\n justify-content: space-around;\n}\n\n/* Sizes */\n.bcds-react-aria-Button.small {\n min-height: 32px;\n}\n.bcds-react-aria-Button.small.icon {\n padding: unset;\n height: 32px;\n width: 32px;\n min-width: 32px;\n}\n.bcds-react-aria-Button.medium {\n min-height: 40px;\n}\n.bcds-react-aria-Button.medium.icon {\n padding: unset;\n height: 40px;\n width: 40px;\n min-width: 40px;\n}\n\n/* Variant - Primary */\n.bcds-react-aria-Button.primary {\n background: var(--surface-color-primary-button-default);\n color: var(--icons-color-primary-invert);\n}\n.bcds-react-aria-Button.primary.danger {\n background-color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.primary[data-disabled] {\n background-color: var(--surface-color-primary-danger-button-disabled);\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Button.primary[data-hovered] {\n background-color: var(--surface-color-primary-button-hover);\n}\n.bcds-react-aria-Button.primary.danger[data-hovered] {\n background-color: var(--surface-color-primary-danger-button-hover);\n}\n\n/* Variant - Secondary */\n.bcds-react-aria-Button.secondary {\n background-color: var(--surface-color-secondary-button-default);\n border: 1px solid var(--surface-color-border-dark);\n color: var(--typography-color-primary);\n}\n.bcds-react-aria-Button.secondary.danger {\n border-color: var(--support-border-color-danger);\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.secondary[data-disabled] {\n background-color: var(--surface-color-secondary-button-disabled);\n border-color: var(--surface-color-border-default);\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Button.secondary[data-hovered] {\n background-color: var(--surface-color-secondary-button-hover);\n}\n.bcds-react-aria-Button.secondary.danger[data-hovered] {\n background-color: var(--support-surface-color-danger);\n}\n\n/* Variant - Tertiary */\n.bcds-react-aria-Button.tertiary {\n background-color: var(--surface-color-tertiary-button-default);\n color: var(--typography-color-primary);\n}\n.bcds-react-aria-Button.tertiary.danger {\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.tertiary[data-disabled] {\n background-color: var(--surface-color-tertiary-button-default);\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Button.tertiary[data-hovered] {\n background-color: var(--surface-color-tertiary-button-hover);\n}\n.bcds-react-aria-Button.tertiary.danger[data-hovered] {\n background-color: var(--support-surface-color-danger);\n}\n\n/* Variant - Link */\n.bcds-react-aria-Button.link {\n background-color: var(--surface-color-tertiary-button-default);\n color: var(--typography-color-link);\n text-decoration: underline;\n text-underline-offset: 0.3em;\n}\n.bcds-react-aria-Button.link.danger {\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Button.link[data-disabled] {\n color: var(--typography-color-disabled);\n}\n";
15828
+ styleInject(css_248z$m);
15195
15829
 
15196
15830
  function Button({ size = "medium", variant = "primary", danger = false, isIconButton = false, ...props }) {
15197
15831
  return (jsxRuntime.jsx($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: `bcds-react-aria-Button ${size} ${variant} ${danger ? "danger" : ""} ${isIconButton ? "icon" : ""}`, ...props }));
15198
15832
  }
15199
15833
 
15200
- var css_248z$i = ".bcds-ButtonGroup {\n display: flex;\n gap: var(--layout-margin-small);\n flex-grow: 1;\n}\n\n.bcds-ButtonGroup.horizontal {\n flex-direction: row;\n}\n\n.bcds-ButtonGroup.vertical {\n flex-direction: column;\n}\n\n.bcds-ButtonGroup.start {\n justify-content: flex-start;\n}\n\n.bcds-ButtonGroup.center {\n justify-content: center;\n}\n\n.bcds-ButtonGroup.end {\n justify-content: flex-end;\n}\n";
15201
- styleInject(css_248z$i);
15834
+ /* The component implements the Chevron Up icon from Font Awesome: https://fontawesome.com/icons/chevron-up */
15835
+ function SvgChevronUpIcon({ id = "chevron-up-icon" }) {
15836
+ return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("path", { d: "M4.21231 13.3146L9.52695 8.2226C9.6939 8.08348 9.86086 8 10.0278 8C10.1948 8 10.3339 8.05565 10.473 8.16695L15.7876 13.259C16.066 13.5372 16.066 13.9546 15.8155 14.2051C15.5651 14.4833 15.1477 14.4833 14.8694 14.2329L10.0278 9.61387L5.13054 14.2885C4.88011 14.539 4.43491 14.539 4.18448 14.2607C3.93405 13.9825 3.93405 13.5651 4.21231 13.3146Z", fill: "currentColor" }) }));
15837
+ }
15202
15838
 
15203
- function ButtonGroup({ orientation = "horizontal", alignment = "start", ariaLabel, children, ...props }) {
15204
- return (jsxRuntime.jsx("div", { className: `bcds-ButtonGroup ${orientation} ${alignment}`, role: "group", "aria-label": ariaLabel, ...props, children: children }));
15839
+ /* The component implements the Chevron Down icon from Font Awesome: https://fontawesome.com/icons/chevron-down */
15840
+ function SvgChevronDownIcon({ id = "chevron-down-icon" }) {
15841
+ return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("path", { d: "M15.7882 9.15569L10.4858 14.236C10.3192 14.3748 10.1527 14.4303 10.0139 14.4303C9.84731 14.4303 9.68074 14.3748 9.54194 14.2637L4.21182 9.15569C3.9342 8.90584 3.9342 8.46167 4.18405 8.21182C4.4339 7.9342 4.87808 7.9342 5.12793 8.18405L10.0139 12.8479L14.872 8.18405C15.1219 7.9342 15.5661 7.9342 15.8159 8.21182C16.0658 8.46167 16.0658 8.90584 15.7882 9.15569Z", fill: "currentColor" }) }));
15842
+ }
15843
+
15844
+ function Accordion({ label, children, ...props }) {
15845
+ return (jsxRuntime.jsx($28f4fd908f0de97f$export$74a362b31437ec83, { className: `bcds-react-aria-Disclosure`, ...props, children: ({ isExpanded }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(Button, { className: "bcds-react-aria-Disclosure--Button", size: "small", variant: "link", slot: "trigger", children: [label, isExpanded ? jsxRuntime.jsx(SvgChevronUpIcon, {}) : jsxRuntime.jsx(SvgChevronDownIcon, {})] }), jsxRuntime.jsx($28f4fd908f0de97f$export$feabaa331e1d464c, { className: "bcds-react-aria-Disclosure--Panel", children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: children }) })] })) }));
15846
+ }
15847
+
15848
+ var css_248z$l = ".bcds-react-aria-DisclosureGroup {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n gap: var(--layout-border-width-small);\n background-color: var(--surface-color-border-default);\n border: var(--layout-border-width-small) solid\n var(--surface-color-border-default);\n border-radius: var(--layout-border-radius-medium);\n overflow: hidden;\n}\n\n/* Override individual accordion item borders */\n.bcds-react-aria-DisclosureGroup > .bcds-react-aria-Disclosure {\n border: none;\n border-radius: var(--layout-border-radius-none);\n}\n\n/* Focus state */\n.bcds-react-aria-DisclosureGroup\n > .bcds-react-aria-Disclosure[data-focus-visible-within] {\n border-radius: var(--layout-border-radius-hair);\n outline-offset: calc(var(--layout-margin-hair) * -1);\n}\n\n/* Title styles */\n.bcds-react-aria-DisclosureGroup--Title {\n color: var(--typography-color-primary);\n margin: var(--layout-margin-medium) var(--layout-margin-none);\n}\n\n.bcds-react-aria-DisclosureGroup--Title > h1 {\n font: var(--typography-bold-h1);\n margin-block-start: 0;\n margin-block-end: 0;\n}\n\n.bcds-react-aria-DisclosureGroup--Title > h2 {\n font: var(--typography-bold-h2);\n margin-block-start: 0;\n margin-block-end: 0;\n}\n\n.bcds-react-aria-DisclosureGroup--Title > h3 {\n font: var(--typography-bold-h3);\n margin-block-start: 0;\n margin-block-end: 0;\n}\n\n.bcds-react-aria-DisclosureGroup--Title > h4 {\n font: var(--typography-bold-h4);\n margin-block-start: 0;\n margin-block-end: 0;\n}\n\n.bcds-react-aria-DisclosureGroup--Title > h5 {\n font: var(--typography-bold-h5);\n margin-block-start: 0;\n margin-block-end: 0;\n}\n\n.bcds-react-aria-DisclosureGroup--Title > h6 {\n font: var(--typography-bold-h6);\n margin-block-start: 0;\n margin-block-end: 0;\n}\n\n.bcds-react-aria-DisclosureGroup--Title > span {\n font: var(--typography-bold-large-body);\n}\n";
15849
+ styleInject(css_248z$l);
15850
+
15851
+ function AccordionGroup({ title, titleElement, children, ...props }) {
15852
+ function getTitle() {
15853
+ switch (titleElement) {
15854
+ case "h1":
15855
+ return jsxRuntime.jsx("h1", { children: title });
15856
+ case "h2":
15857
+ return jsxRuntime.jsx("h2", { children: title });
15858
+ case "h3":
15859
+ return jsxRuntime.jsx("h3", { children: title });
15860
+ case "h4":
15861
+ return jsxRuntime.jsx("h4", { children: title });
15862
+ case "h5":
15863
+ return jsxRuntime.jsx("h5", { children: title });
15864
+ case "h6":
15865
+ return jsxRuntime.jsx("h6", { children: title });
15866
+ default:
15867
+ return jsxRuntime.jsx("span", { children: title });
15868
+ }
15869
+ }
15870
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [title && (jsxRuntime.jsx("div", { className: "bcds-react-aria-DisclosureGroup--Title", children: getTitle() })), jsxRuntime.jsx($28f4fd908f0de97f$export$944aceb4f8c89f10, { className: "bcds-react-aria-DisclosureGroup", ...props, children: children })] }));
15205
15871
  }
15206
15872
 
15873
+ var css_248z$k = ".bcds-Alert-Banner {\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-around;\n width: 100%;\n padding: var(--layout-padding-none) var(--layout-padding-medium);\n}\n\n.bcds-Alert-Banner--Container {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--layout-padding-medium);\n max-width: 1100px;\n padding: var(--layout-padding-small) var(--layout-padding-none);\n}\n\n.bcds-Alert-Banner--Icon {\n align-self: first baseline;\n justify-self: flex-start;\n padding-top: var(--layout-padding-xsmall);\n color: var(--icons-color-primary-invert);\n}\n\n.bcds-Alert-Banner--Content {\n display: inline-flex;\n gap: var(--layout-margin-medium);\n align-items: first baseline;\n flex-grow: 1;\n flex-wrap: wrap;\n font: var(--typography-regular-body);\n color: var(--typography-color-primary-invert);\n}\n\n.bcds-Alert-Banner--closeIcon {\n align-self: first baseline;\n}\n\n.bcds-Alert-Banner--closeIcon > .bcds-react-aria-Button[data-hovered] svg {\n color: var(--icons-color-primary);\n}\n\n.bcds-Alert-Banner--closeIcon svg {\n color: var(--icons-color-primary-invert);\n}\n\n/* Variants */\n\n/* Info theme */\n.bcds-Alert-Banner.info {\n background-color: var(--surface-color-background-dark-blue);\n}\n\n/* Success theme */\n.bcds-Alert-Banner.success {\n background-color: var(--support-border-color-success);\n}\n\n/* Warning theme */\n.bcds-Alert-Banner.warning {\n background-color: var(--support-border-color-warning);\n}\n\n.bcds-Alert-Banner.warning .bcds-Alert-Banner--Icon {\n color: var(--icons-color-primary);\n}\n\n.bcds-Alert-Banner.warning .bcds-Alert-Banner--Content {\n color: var(--typography-color-primary);\n}\n\n.bcds-Alert-Banner.warning .bcds-Alert-Banner--closeIcon svg {\n color: var(--icons-color-primary);\n}\n\n/* Danger theme */\n.bcds-Alert-Banner.danger {\n background-color: var(--support-border-color-danger);\n}\n\n/* Black theme */\n\n.bcds-Alert-Banner.black {\n background-color: var(--theme-gray-110);\n}\n";
15874
+ styleInject(css_248z$k);
15875
+
15876
+ /* The component implements the Circle Check icon from Font Awesome: https://fontawesome.com/icons/circle-check */
15207
15877
  function SvgCheckCircleIcon({ id = "check-icon" }) {
15208
15878
  return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M12.4688 7.46875C12.75 7.1875 13.2188 7.1875 13.5 7.5C13.8125 7.78125 13.8125 8.25 13.5 8.53125L9.5 12.5312C9.375 12.6875 9.1875 12.75 9 12.75C8.78125 12.75 8.59375 12.6875 8.4375 12.5312L6.4375 10.5312C6.125 10.25 6.125 9.78125 6.4375 9.46875C6.71875 9.1875 7.1875 9.1875 7.5 9.46875L9 10.9688L12.4688 7.46875ZM10 2C14.4062 2 18 5.59375 18 10C18 14.4375 14.4062 18 10 18C5.5625 18 2 14.4375 2 10C2 5.59375 5.5625 2 10 2ZM10 16.5C13.5625 16.5 16.5 13.5938 16.5 10C16.5 6.4375 13.5625 3.5 10 3.5C6.40625 3.5 3.5 6.4375 3.5 10C3.5 13.5938 6.40625 16.5 10 16.5Z", fill: "currentColor" }) }) }));
15209
15879
  }
15210
15880
 
15881
+ /* The component implements the X Mark icon from Font Awesome: https://fontawesome.com/icons/xmark */
15211
15882
  function SvgCloseIcon({ id = "close-icon" }) {
15212
15883
  return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M16 5.21286L14.7871 4L10 8.78714L5.21286 4L4 5.21286L8.78714 10L4 14.7871L5.21286 16L10 11.2129L14.7871 16L16 14.7871L11.2129 10L16 5.21286Z", fill: "currentColor" }) }) }));
15213
15884
  }
15214
15885
 
15886
+ /* The component implements the Circle Exclamation icon from Font Awesome: https://fontawesome.com/icons/circle-exclamation */
15215
15887
  function SvgExclamationCircleIcon({ id = "exclamation-icon-circle", }) {
15216
15888
  return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M9.99999 2C14.4062 2 18 5.59375 18 10C18 14.4375 14.4062 18 9.99999 18C5.56249 18 1.99998 14.4375 1.99998 10C1.99998 5.59375 5.56249 2 9.99999 2ZM9.99999 16.5C13.5625 16.5 16.5 13.5938 16.5 10C16.5 6.4375 13.5625 3.5 9.99999 3.5C6.40624 3.5 3.49999 6.4375 3.49999 10C3.49999 13.5938 6.40624 16.5 9.99999 16.5ZM9.99999 11.5C9.56249 11.5 9.24999 11.1875 9.24999 10.75V6.75C9.24999 6.34375 9.56249 6 9.99999 6C10.4062 6 10.75 6.34375 10.75 6.75V10.75C10.75 11.1875 10.4062 11.5 9.99999 11.5ZM9.99999 12.5625C10.5312 12.5625 10.9687 13 10.9687 13.5312C10.9687 14.0625 10.5312 14.5 9.99999 14.5C9.43749 14.5 8.99999 14.0625 8.99999 13.5312C8.99999 13 9.43749 12.5625 9.99999 12.5625Z", fill: "currentColor" }) }) }));
15217
15889
  }
15218
15890
 
15219
- // This icon is available as a plain SVG at src/assets/icon-exclamation.svg
15891
+ /* The component implements the Triangle Exclamation icon from Font Awesome: https://fontawesome.com/icons/triangle-exclamation */
15220
15892
  function SvgExclamationIcon({ id = "exclamation-icon" }) {
15221
15893
  return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M17.835 15.0312C18.335 15.9062 17.71 17 16.6787 17H3.33499C2.30374 17 1.67874 15.9062 2.14749 15.0312L8.83499 3.65625C9.11624 3.21875 9.55373 3 10.0225 3C10.46 3 10.8975 3.21875 11.1787 3.65625L17.835 15.0312ZM3.64749 15.5H16.3663L9.99123 4.65625L3.64749 15.5ZM10.0225 12.5625C10.5537 12.5625 10.9912 13 10.9912 13.5312C10.9912 14.0625 10.5537 14.5 10.0225 14.5C9.45998 14.5 9.02249 14.0625 9.02249 13.5312C9.02249 13 9.45998 12.5625 10.0225 12.5625ZM9.27249 7.75C9.27249 7.34375 9.58498 7 10.0225 7C10.4287 7 10.7725 7.34375 10.7725 7.75V10.75C10.7725 11.1875 10.4287 11.5 10.0225 11.5C9.58498 11.5 9.27249 11.1875 9.27249 10.75V7.75Z", fill: "currentColor" }) }) }));
15222
15894
  }
15223
15895
 
15896
+ /* The component implements the Circle Info icon from Font Awesome: https://fontawesome.com/icons/circle-info */
15224
15897
  function SvgInfoIcon({ id = "information-icon" }) {
15225
15898
  return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M9.99999 2C14.4062 2 18 5.59375 18 10C18 14.4375 14.4062 18 9.99999 18C5.56249 18 1.99998 14.4375 1.99998 10C1.99998 5.59375 5.56249 2 9.99999 2ZM9.99999 16.5C13.5625 16.5 16.5 13.5938 16.5 10C16.5 6.4375 13.5625 3.5 9.99999 3.5C6.40624 3.5 3.49999 6.4375 3.49999 10C3.49999 13.5938 6.40624 16.5 9.99999 16.5ZM11.25 12.5C11.6562 12.5 12 12.8438 12 13.25C12 13.6875 11.6562 14 11.25 14H8.74999C8.31249 14 7.99999 13.6875 7.99999 13.25C7.99999 12.8438 8.31249 12.5 8.74999 12.5H9.24999V10.5H8.99999C8.56249 10.5 8.24999 10.1875 8.24999 9.75C8.24999 9.34375 8.56249 9 8.99999 9H9.99999C10.4062 9 10.75 9.34375 10.75 9.75V12.5H11.25ZM9.99999 8C9.43749 8 8.99999 7.5625 8.99999 7C8.99999 6.46875 9.43749 6 9.99999 6C10.5312 6 11 6.46875 11 7C11 7.5625 10.5312 8 9.99999 8Z", fill: "currentColor" }) }) }));
15226
15899
  }
15227
15900
 
15228
- var css_248z$h = ".bcds-react-aria-AlertDialog {\n display: flex;\n flex-direction: column;\n}\n\n/* Variant icons */\n.bcds-react-aria-AlertDialog.info .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-primary);\n}\n.bcds-react-aria-AlertDialog.confirmation .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-success);\n}\n.bcds-react-aria-AlertDialog.warning .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-warning);\n}\n.bcds-react-aria-AlertDialog.error .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-danger);\n}\n.bcds-react-aria-AlertDialog.destructive .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-danger);\n}\n\n.bcds-react-aria-AlertDialog--Header {\n display: inline-flex;\n flex-direction: row;\n gap: var(--layout-padding-small);\n justify-content: space-between;\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n border-bottom: var(--layout-border-width-small) solid\n var(--surface-color-border-default);\n}\n\n.bcds-react-aria-AlertDialog--Title {\n flex-grow: 1;\n font: var(--typography-bold-h5);\n color: var(--typography-color-primary);\n}\n\n.bcds-react-aria-AlertDialog--Icon {\n justify-self: flex-start;\n align-self: center;\n padding-top: var(--layout-padding-xsmall);\n}\n\n.bcds-react-aria-AlertDialog--closeIcon {\n justify-self: flex-end;\n color: var(--icons-color-primary);\n}\n\n.bcds-react-aria-AlertDialog--children {\n font: var(--typography-regular-body);\n color: var(--typography-color-primary);\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n border-bottom: var(--layout-border-width-small) solid\n var(--surface-color-border-default);\n}\n\n.bcds-react-aria-AlertDialog > .bcds-ButtonGroup {\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n}\n";
15229
- styleInject(css_248z$h);
15901
+ /* Sets correct icon for theme */
15902
+ function getIcon$2(variant) {
15903
+ switch (variant) {
15904
+ case "info":
15905
+ return jsxRuntime.jsx(SvgInfoIcon, {});
15906
+ case "black":
15907
+ return jsxRuntime.jsx(SvgInfoIcon, {});
15908
+ case "success":
15909
+ return jsxRuntime.jsx(SvgCheckCircleIcon, {});
15910
+ case "warning":
15911
+ return jsxRuntime.jsx(SvgExclamationIcon, {});
15912
+ case "danger":
15913
+ return jsxRuntime.jsx(SvgExclamationCircleIcon, {});
15914
+ default:
15915
+ return;
15916
+ }
15917
+ }
15918
+ function AlertBanner({ variant = "info", isIconHidden = false, isCloseable = true, role = "status", onClose, children, customIcon, ...props }) {
15919
+ return (jsxRuntime.jsx("div", { className: `bcds-Alert-Banner ${variant}`, ...props, children: jsxRuntime.jsxs("div", { className: "bcds-Alert-Banner--Container", children: [" ", !isIconHidden && (jsxRuntime.jsx("span", { className: "bcds-Alert-Banner--Icon", children: customIcon ? customIcon : getIcon$2(variant) })), jsxRuntime.jsx("div", { className: "bcds-Alert-Banner--Content", role: role, children: children }), isCloseable && (jsxRuntime.jsx("span", { className: "bcds-Alert-Banner--closeIcon", children: jsxRuntime.jsx(Button, { variant: "tertiary", isIconButton: true, size: "small", "aria-label": "Close this alert", type: "button", onPress: onClose, children: jsxRuntime.jsx(SvgCloseIcon, {}) }) }))] }) }));
15920
+ }
15921
+
15922
+ var css_248z$j = ".bcds-ButtonGroup {\n display: flex;\n gap: var(--layout-margin-small);\n flex-grow: 1;\n}\n\n.bcds-ButtonGroup.horizontal {\n flex-direction: row;\n}\n\n.bcds-ButtonGroup.vertical {\n flex-direction: column;\n}\n\n.bcds-ButtonGroup.start {\n justify-content: flex-start;\n}\n\n.bcds-ButtonGroup.center {\n justify-content: center;\n}\n\n.bcds-ButtonGroup.end {\n justify-content: flex-end;\n}\n";
15923
+ styleInject(css_248z$j);
15924
+
15925
+ function ButtonGroup({ orientation = "horizontal", alignment = "start", ariaLabel, children, ...props }) {
15926
+ return (jsxRuntime.jsx("div", { className: `bcds-ButtonGroup ${orientation} ${alignment}`, role: "group", "aria-label": ariaLabel, ...props, children: children }));
15927
+ }
15928
+
15929
+ var css_248z$i = ".bcds-react-aria-AlertDialog {\n display: flex;\n flex-direction: column;\n}\n\n/* Variant icons */\n.bcds-react-aria-AlertDialog.info .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-primary);\n}\n.bcds-react-aria-AlertDialog.confirmation .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-success);\n}\n.bcds-react-aria-AlertDialog.warning .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-warning);\n}\n.bcds-react-aria-AlertDialog.error .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-danger);\n}\n.bcds-react-aria-AlertDialog.destructive .bcds-react-aria-AlertDialog--Icon {\n color: var(--icons-color-danger);\n}\n\n.bcds-react-aria-AlertDialog--Header {\n display: inline-flex;\n flex-direction: row;\n gap: var(--layout-padding-small);\n justify-content: space-between;\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n border-bottom: var(--layout-border-width-small) solid\n var(--surface-color-border-default);\n}\n\n.bcds-react-aria-AlertDialog--Title {\n flex-grow: 1;\n font: var(--typography-bold-h5);\n color: var(--typography-color-primary);\n}\n\n.bcds-react-aria-AlertDialog--Icon {\n justify-self: flex-start;\n align-self: center;\n padding-top: var(--layout-padding-xsmall);\n}\n\n.bcds-react-aria-AlertDialog--closeIcon {\n justify-self: flex-end;\n color: var(--icons-color-primary);\n}\n\n.bcds-react-aria-AlertDialog--children {\n font: var(--typography-regular-body);\n color: var(--typography-color-primary);\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n border-bottom: var(--layout-border-width-small) solid\n var(--surface-color-border-default);\n}\n\n.bcds-react-aria-AlertDialog > .bcds-ButtonGroup {\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n}\n";
15930
+ styleInject(css_248z$i);
15230
15931
 
15231
15932
  /* Sets correct left icon for selected variant */
15232
15933
  function getIcon$1(variant) {
@@ -15249,6 +15950,14 @@ function AlertDialog({ children, variant = "info", role = "dialog", title, isClo
15249
15950
  return (jsxRuntime.jsx($de32f1b87079253c$export$3ddf2d174ce01153, { className: `bcds-react-aria-AlertDialog ${variant}`, role: role, ...props, children: ({ close }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "bcds-react-aria-AlertDialog--Header", children: [!isIconHidden && (jsxRuntime.jsx("div", { className: "bcds-react-aria-AlertDialog--Icon", children: getIcon$1(variant) })), title && (jsxRuntime.jsx("div", { className: "bcds-react-aria-AlertDialog--Title", slot: "title", children: title })), isCloseable && (jsxRuntime.jsx("div", { className: "bcds-react-aria-AlertDialog--closeIcon", children: jsxRuntime.jsx(Button, { variant: "tertiary", isIconButton: true, size: "small", "aria-label": "Close", type: "button", onPress: close, children: jsxRuntime.jsx(SvgCloseIcon, {}) }) }))] }), children && (jsxRuntime.jsx("div", { className: "bcds-react-aria-AlertDialog--children", slot: "children", children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: children }) })), buttons && (jsxRuntime.jsx(ButtonGroup, { alignment: "end", orientation: "horizontal", children: buttons }))] })) }));
15250
15951
  }
15251
15952
 
15953
+ var css_248z$h = ".bcds-Callout {\n display: flex;\n width: 100%;\n box-sizing: border-box;\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n border-radius: var(--layout-border-radius-medium)\n var(--layout-border-radius-none) var(--layout-border-radius-none)\n var(--layout-border-radius-medium);\n}\n\n.bcds-Callout--Container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n gap: var(--layout-margin-small);\n}\n\n.bcds-Callout--Container > .bcds-Callout--Title {\n font: var(--typography-bold-large-body);\n color: var(--typography-color-primary);\n}\n\n.bcds-Callout--Container > .bcds-Callout--Description {\n font: var(--typography-regular-body);\n color: var(--typography-color-secondary);\n}\n\n/* Theme - light grey (default) */\n.bcds-Callout.lightGrey {\n background-color: var(--surface-color-background-light-gray);\n border-left: var(--layout-border-width-large) solid var(--theme-primary-blue);\n}\n\n/* Theme - light blue */\n.bcds-Callout.lightBlue {\n background-color: var(--theme-blue-10);\n border-left: var(--layout-border-width-large) solid var(--theme-primary-blue);\n}\n\n/* Theme - light gold */\n.bcds-Callout.lightGold {\n background-color: var(--theme-gold-10);\n border-left: var(--layout-border-width-large) solid var(--theme-primary-blue);\n}\n\n/* Theme - blue */\n.bcds-Callout.Blue {\n background-color: var(--surface-color-background-dark-blue);\n border-left: var(--layout-border-width-large) solid var(--theme-primary-gold);\n}\n\n.bcds-Callout.Blue .bcds-Callout--Title {\n color: var(--typography-color-primary-invert);\n}\n\n.bcds-Callout.Blue .bcds-Callout--Description {\n color: var(--typography-color-secondary-invert);\n}\n\n/* Theme - grey */\n.bcds-Callout.Grey {\n background-color: var(--theme-gray-80);\n border-left: var(--layout-border-width-large) solid var(--theme-primary-gold);\n}\n\n.bcds-Callout.Grey .bcds-Callout--Title {\n color: var(--typography-color-primary-invert);\n}\n\n.bcds-Callout.Grey .bcds-Callout--Description {\n color: var(--typography-color-secondary-invert);\n}\n\n/* Theme - black */\n.bcds-Callout.Black {\n background-color: var(--theme-gray-100);\n border-left: var(--layout-border-width-large) solid var(--theme-primary-gold);\n}\n\n.bcds-Callout.Black .bcds-Callout--Title {\n color: var(--typography-color-primary-invert);\n}\n\n.bcds-Callout.Black .bcds-Callout--Description {\n color: var(--typography-color-secondary-invert);\n}\n\n/* Border disabled */\n.bcds-Callout.lightGrey.noBorder,\n.bcds-Callout.lightGold.noBorder,\n.bcds-Callout.lightBlue.noBorder,\n.bcds-Callout.Blue.noBorder,\n.bcds-Callout.Grey.noBorder,\n.bcds-Callout.Black.noBorder {\n border-left: none;\n border-radius: var(--layout-border-radius-none);\n}\n";
15954
+ styleInject(css_248z$h);
15955
+
15956
+ function Callout({ variant = "lightGrey", title, description, buttons, role = "note", isLeftBorderDisabled = false, children, ...props }) {
15957
+ return (jsxRuntime.jsx("div", { className: `bcds-Callout ${variant} ${isLeftBorderDisabled ? "noBorder" : ""}`, ...props, role: role, children: children ? (children) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { className: "bcds-Callout--Container", "aria-labelledby": "callout-title", role: role, children: [title && (jsxRuntime.jsx("span", { className: "bcds-Callout--Title", id: "callout-title", children: title })), description && (jsxRuntime.jsx("span", { className: "bcds-Callout--Description", children: description })), buttons && (jsxRuntime.jsx(ButtonGroup, { alignment: "start", orientation: "horizontal", children: buttons }))] }) })) }));
15958
+ }
15959
+
15960
+ /* The component implements the Check icon from Font Awesome: https://fontawesome.com/icons/check */
15252
15961
  function SvgCheckIcon({ id = "check-icon" }) {
15253
15962
  return (jsxRuntime.jsx("svg", { id: id, width: "10", height: "10", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M9.09447 1.16176C8.67766 0.834916 8.07489 0.907409 7.74747 1.32376L3.63547 6.55676L2.21847 4.85676C1.87495 4.46651 1.2832 4.42064 0.883639 4.75329C0.484082 5.08594 0.421942 5.6762 0.743468 6.08476L2.92047 8.69776C2.94047 8.72176 2.96947 8.72976 2.99047 8.75176C3.0133 8.78196 3.03802 8.81068 3.06447 8.83776C3.10707 8.86542 3.15189 8.8895 3.19847 8.90976C3.23068 8.92977 3.26407 8.9478 3.29847 8.96376C3.41159 9.01295 3.53316 9.03977 3.65647 9.04276H3.65747C3.78585 9.04006 3.91238 9.01149 4.02947 8.95876C4.06502 8.9413 4.09942 8.92159 4.13247 8.89976C4.18141 8.87729 4.22826 8.85052 4.27247 8.81976C4.29837 8.79134 4.32242 8.76128 4.34447 8.72976C4.36447 8.70976 4.39347 8.69976 4.41247 8.67576L9.25747 2.50976C9.58477 2.09253 9.51178 1.48896 9.09447 1.16176V1.16176Z", fill: "currentColor" }) }) }));
15254
15963
  }
@@ -15414,14 +16123,6 @@ function RadioGroup({ orientation = "vertical", label, description, children, er
15414
16123
  return (jsxRuntime.jsx($b6c3ddc6086f204d$export$a98f0dcb43a68a25, { className: "bcds-react-aria-RadioGroup", ...props, children: ({ isRequired, isInvalid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [label && (jsxRuntime.jsxs($01b77f81d0f07f68$export$b04be29aa201d4f5, { className: "bcds-react-aria-RadioGroup--label", children: [label, " ", isRequired && "(required)"] })), jsxRuntime.jsx("div", { className: `bcds-react-aria-RadioGroup--options ${orientation} flex-wrap-${flexWrap}`, children: children }), description && (jsxRuntime.jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "description", className: "bcds-react-aria-RadioGroup--description", children: description })), isInvalid && (jsxRuntime.jsxs("div", { className: "bcds-react-aria-RadioGroup--error", children: [jsxRuntime.jsx(SvgExclamationIcon, {}), jsxRuntime.jsx($ee014567cb39d3f0$export$f551688fc98f2e09, { children: errorMessage })] }))] })) }));
15415
16124
  }
15416
16125
 
15417
- function SvgChevronUpIcon({ id = "chevron-up-icon" }) {
15418
- return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("path", { d: "M4.21231 13.3146L9.52695 8.2226C9.6939 8.08348 9.86086 8 10.0278 8C10.1948 8 10.3339 8.05565 10.473 8.16695L15.7876 13.259C16.066 13.5372 16.066 13.9546 15.8155 14.2051C15.5651 14.4833 15.1477 14.4833 14.8694 14.2329L10.0278 9.61387L5.13054 14.2885C4.88011 14.539 4.43491 14.539 4.18448 14.2607C3.93405 13.9825 3.93405 13.5651 4.21231 13.3146Z", fill: "currentColor" }) }));
15419
- }
15420
-
15421
- function SvgChevronDownIcon({ id = "chevron-down-icon" }) {
15422
- return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("path", { d: "M15.7882 9.15569L10.4858 14.236C10.3192 14.3748 10.1527 14.4303 10.0139 14.4303C9.84731 14.4303 9.68074 14.3748 9.54194 14.2637L4.21182 9.15569C3.9342 8.90584 3.9342 8.46167 4.18405 8.21182C4.4339 7.9342 4.87808 7.9342 5.12793 8.18405L10.0139 12.8479L14.872 8.18405C15.1219 7.9342 15.5661 7.9342 15.8159 8.21182C16.0658 8.46167 16.0658 8.90584 15.7882 9.15569Z", fill: "currentColor" }) }));
15423
- }
15424
-
15425
16126
  var css_248z$7 = ".bcds-react-aria-Select {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n /* Hacks for `stretch`: https://caniuse.com/mdn-css_properties_max-width_stretch */\n max-width: -moz-available;\n max-width: -webkit-fill-available;\n}\n\n/* Label above select input */\n.bcds-react-aria-Select--Label {\n color: var(--typography-color-secondary);\n font: var(--typography-regular-small-body);\n padding: var(--layout-padding-xsmall) var(--layout-padding-none);\n}\n.bcds-react-aria-Select[data-disabled] > .bcds-react-aria-Select--Label {\n color: var(--typography-color-disabled);\n}\n\n/* Text description below select input */\n.bcds-react-aria-Select--Description {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-secondary);\n padding: var(--layout-padding-xsmall) var(--layout-padding-none);\n}\n\n/* Error message */\n.bcds-react-aria-Select--Error {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-danger);\n}\n\n/* Error icon */\n.bcds-react-aria-Select[data-invalid]\n > .bcds-react-aria-Select--Button\n > svg:not(:last-child) {\n color: var(--icons-color-danger);\n}\n\n/* Select input equivalent */\n.bcds-react-aria-Select--Button {\n background-color: var(--surface-color-forms-default);\n border: 1px solid var(--surface-color-border-default);\n border-radius: var(--layout-border-radius-medium);\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n gap: var(--layout-margin-small);\n align-items: center;\n padding: 0 12px;\n max-width: 100%;\n}\n.bcds-react-aria-Select--Button.invalid {\n border-color: var(--support-border-color-danger);\n}\n.bcds-react-aria-Select[data-invalid] > .bcds-react-aria-Select--Button {\n border-color: var(--support-border-color-danger);\n}\n.bcds-react-aria-Select--Button[data-disabled] {\n background-color: var(--surface-color-forms-disabled);\n cursor: not-allowed;\n}\n.bcds-react-aria-Select--Button[data-hovered] {\n border-color: var(--surface-color-border-dark);\n}\n.bcds-react-aria-Select--Button[data-focused] {\n border-color: var(--surface-color-border-active);\n outline: solid var(--layout-border-width-medium)\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n.bcds-react-aria-Select--Button[data-pressed] {\n border-color: var(--surface-color-border-active);\n}\n.bcds-react-aria-Select--Button.medium {\n height: 40px;\n}\n.bcds-react-aria-Select--Button.small {\n height: 32px;\n}\n.bcds-react-aria-Select--Button > .bcds-react-aria-SelectValue {\n font: var(--typography-regular-body);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: 0;\n}\n.bcds-react-aria-Select--Button > svg {\n flex-shrink: 0;\n}\n\n/* Dropdown menu panel */\n.bcds-react-aria-Select--Popover {\n background-color: var(--surface-color-forms-default);\n border: 1px solid var(--surface-color-border-default);\n border-radius: var(--layout-border-radius-medium);\n box-shadow: var(--surface-shadow-medium);\n box-sizing: border-box;\n overflow-y: auto;\n padding: var(--layout-padding-hair) var(--layout-padding-xsmall);\n width: var(\n --trigger-width\n ); /* Variable provided by Select component https://react-spectrum.adobe.com/react-aria/Select.html#popover-1 */\n}\n.bcds-react-aria-Select--ListBox[data-focused] {\n outline: none;\n}\n.bcds-react-aria-Select--ListBox > .bcds-react-aria-Section:not(:first-child) {\n border-top: 1px solid var(--surface-color-border-default);\n margin-top: 1px;\n padding-top: 2px;\n}\n\n/* Header label within Section of multi-section Select */\n.bcds-react-aria-Select--Header {\n color: var(--typography-color-secondary);\n font: var(--typography-regular-small-body);\n padding: var(--layout-padding-hair) var(--layout-padding-small);\n}\n\n/* ListBox option item */\n.bcds-react-aria-Select--ListBoxItem {\n border-radius: var(--layout-border-radius-medium);\n cursor: pointer;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--layout-margin-small);\n padding: var(--layout-padding-small);\n}\n.bcds-react-aria-Select--ListBoxItem[data-focused],\n.bcds-react-aria-Select--ListBoxItem[data-hovered] {\n background-color: var(--surface-color-secondary-button-hover);\n outline: none;\n}\n.bcds-react-aria-Select--ListBoxItem-icon {\n display: flex;\n align-items: center;\n justify-content: space-around;\n /* This `min-width` rule can cause horizontal overflow on very narrow Select\n instances, but if we leave it out, the icons will shrink instead. */\n min-width: 20px;\n}\n.bcds-react-aria-Select--ListBoxItem-Text-container {\n color: var(--typography-color-primary);\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.bcds-react-aria-Select--ListBoxItem-Text-label {\n font: var(--typography-regular-body);\n}\n.bcds-react-aria-Select--ListBoxItem.destructive {\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Select--ListBoxItem.destructive\n .bcds-react-aria-Select--ListBoxItem-Text-label {\n color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Select--ListBoxItem-Text-description {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-secondary);\n}\n";
15426
16127
  styleInject(css_248z$7);
15427
16128
 
@@ -15442,18 +16143,27 @@ function Select({ items, sections, label, description, placeholder, size = "medi
15442
16143
  // support different markup within the same component.
15443
16144
  items: sections
15444
16145
  ? sections
15445
- : [{ id: "section", header: "", items: items ? items : [] }], children: (section) => (jsxRuntime.jsxs($7135fc7d473fd974$export$6e2c8f0811a474ce, { id: section.id, className: "bcds-react-aria-Section", children: [section?.header && (jsxRuntime.jsx($72a5793c14baf454$export$8b251419efc915eb, { className: "bcds-react-aria-Select--Header", children: section.header })), jsxRuntime.jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: section.items, children: (item) => (jsxRuntime.jsxs($eed445e0843c11d0$export$a11e76429ed99b4, { id: item?.id ? item.id : item.label, className: `bcds-react-aria-Select--ListBoxItem ${item?.isDestructive ? "destructive" : ""}`, textValue: item.label, children: [item?.iconLeft && (jsxRuntime.jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconLeft })), jsxRuntime.jsxs("div", { className: "bcds-react-aria-Select--ListBoxItem-Text-container", children: [jsxRuntime.jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "label", className: "bcds-react-aria-Select--ListBoxItem-Text-label", children: item.label }), item.description && (jsxRuntime.jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "description", className: "bcds-react-aria-Select--ListBoxItem-Text-description", children: item.description }))] }), item?.iconRight && (jsxRuntime.jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconRight }))] })) })] })) }) })] })) }));
16146
+ : [{ id: "section", header: "", items: items ? items : [] }], children: (section) => (jsxRuntime.jsxs($eed445e0843c11d0$export$dca12b0bb56e4fc, { id: section.id, className: "bcds-react-aria-Section", children: [section?.header && (jsxRuntime.jsx($72a5793c14baf454$export$8b251419efc915eb, { className: "bcds-react-aria-Select--Header", children: section.header })), jsxRuntime.jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: section.items, children: (item) => (jsxRuntime.jsxs($eed445e0843c11d0$export$a11e76429ed99b4, { id: item?.id ? item.id : item.label, className: `bcds-react-aria-Select--ListBoxItem ${item?.isDestructive ? "destructive" : ""}`, textValue: item.label, children: [item?.iconLeft && (jsxRuntime.jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconLeft })), jsxRuntime.jsxs("div", { className: "bcds-react-aria-Select--ListBoxItem-Text-container", children: [jsxRuntime.jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "label", className: "bcds-react-aria-Select--ListBoxItem-Text-label", children: item.label }), item.description && (jsxRuntime.jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "description", className: "bcds-react-aria-Select--ListBoxItem-Text-description", children: item.description }))] }), item?.iconRight && (jsxRuntime.jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconRight }))] })) })] })) }) })] })) }));
16147
+ }
16148
+
16149
+ function SvgBcOutlineIcon({ id = "bc-outline-icon" }) {
16150
+ return (jsxRuntime.jsx("svg", { id: id, xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 18 18", fill: "currentColor", children: jsxRuntime.jsxs("g", { children: [jsxRuntime.jsx("path", { d: "M8.55494 17.9955C8.48489 17.9953 8.4157 17.9801 8.35199 17.951C8.28827 17.9219 8.23149 17.8795 8.18543 17.8268L7.40648 16.9832L6.22541 16.0636L5.199 15.4961C5.11007 15.4438 5.03665 15.3688 4.98625 15.2788C4.93585 15.1887 4.91028 15.0869 4.91217 14.9838V13.6103C4.90822 13.4748 4.9534 13.3423 5.03939 13.2374C5.12538 13.1325 5.24638 13.0622 5.3801 13.0395L5.90315 12.9832C5.85315 12.9105 5.81957 12.8278 5.80473 12.7408L5.47065 10.7162L4.85199 9.65994C4.77992 9.54214 4.75071 9.40308 4.76932 9.26624L5.06009 7.19318L4.03761 6.7708C3.97024 6.74182 3.90941 6.69953 3.85878 6.64647C3.80814 6.59342 3.76873 6.53069 3.74291 6.46204L2.8481 4.13645L2.06072 4.06615C1.97763 4.05479 1.89849 4.02362 1.82998 3.97527C1.76146 3.92691 1.70557 3.86279 1.66703 3.78831L0.0922668 0.863752C0.0326295 0.767506 0.000706201 0.65667 1.15824e-05 0.543447C-0.000683036 0.430224 0.0298779 0.319005 0.0883299 0.222035C0.14711 0.132622 0.233402 0.0647766 0.33416 0.0287553C0.434919 -0.00726609 0.544665 -0.00950484 0.646809 0.0223775C0.717673 0.042062 7.83223 2.31085 11.7298 1.5634C11.7994 1.5514 11.8709 1.55502 11.9389 1.57398C12.007 1.59295 12.0701 1.62679 12.1235 1.67307C12.2388 1.77389 12.3119 1.91446 12.3282 2.06676L13.0245 9.77692L13.6994 10.2111C13.7984 10.2792 13.8741 10.3762 13.9159 10.4889L14.1836 11.2324L15.3647 11.7251C15.4523 11.7653 15.5285 11.8268 15.5862 11.904C15.6439 11.9812 15.6812 12.0717 15.6948 12.1672L15.8326 13.0749L16.5131 13.5249C16.5697 13.5613 16.6179 13.6092 16.6549 13.6655L17.8922 15.4179C17.9503 15.5022 17.9865 15.5996 17.9975 15.7013C18.0085 15.803 17.9939 15.9059 17.9552 16.0006C17.9216 16.0925 17.8628 16.1731 17.7857 16.2333C17.7085 16.2934 17.616 16.3307 17.5187 16.3409L10.2529 16.9123C10.2067 17.0062 10.136 17.0859 10.0482 17.1429L8.81084 17.9252C8.73397 17.9725 8.64519 17.9969 8.55494 17.9955ZM5.97851 14.6356L6.76589 15.0619C6.79052 15.0739 6.81311 15.0896 6.83282 15.1086L8.07014 16.0827L8.13706 16.139L8.65224 16.7098L9.43962 16.2211L9.11342 15.5642L8.32604 14.8893L7.08872 14.0367L5.96389 14.1581L5.97851 14.6356ZM7.22539 12.8595C7.32381 12.8587 7.42002 12.8888 7.50041 12.9456L8.91601 13.9197L8.96719 13.959L9.85187 14.7414C9.91189 14.7939 9.95904 14.8595 9.98966 14.9331L10.3834 15.7588L16.4957 15.2768L15.9136 14.4551L15.1262 13.923C15.0604 13.8776 15.0044 13.8193 14.9618 13.7517C14.9191 13.684 14.8907 13.6084 14.8782 13.5294L14.7522 12.6857L13.6156 12.2161C13.5437 12.1851 13.4791 12.1395 13.4256 12.0823C13.3722 12.0251 13.3312 11.9575 13.3051 11.8837L13.0183 11.1014L12.2826 10.6166C12.2115 10.567 12.1521 10.5025 12.1085 10.4274C12.065 10.3524 12.0384 10.2688 12.0307 10.1824L11.3631 2.78271C8.21693 3.17641 3.76484 2.09432 1.6136 1.48916L2.40098 2.94413L3.24461 3.01837C3.34242 3.03086 3.43481 3.07037 3.5114 3.13246C3.588 3.19455 3.64577 3.27677 3.67823 3.36988L4.61015 5.78826L5.83341 6.27307C5.94925 6.32592 6.04441 6.41555 6.10411 6.52802C6.1638 6.6405 6.1847 6.76953 6.16355 6.8951L5.83341 9.20719L6.42844 10.192C6.46921 10.2576 6.49601 10.3309 6.50718 10.4074L6.86094 12.5513C6.8826 12.6703 6.8675 12.7932 6.81764 12.9034L7.18321 12.8601L7.22539 12.8595Z", fill: "currentColor" }), jsxRuntime.jsx("path", { d: "M4.04436 12.2499C3.95082 12.2486 3.8594 12.2218 3.78006 12.1722C3.70073 12.1226 3.63652 12.0522 3.59443 11.9687L2.23676 9.43722C2.19774 9.36465 2.17379 9.28495 2.16634 9.20289C2.1589 9.12084 2.16812 9.03813 2.19345 8.95973C2.21557 8.8832 2.2541 8.81242 2.30636 8.7523C2.35861 8.69218 2.42334 8.64416 2.49603 8.61159L3.4004 8.2179C3.46575 8.19146 3.53591 8.17896 3.60637 8.1812C3.67684 8.18345 3.74606 8.20039 3.80959 8.23094C3.87313 8.26149 3.92959 8.30498 3.97534 8.35862C4.02109 8.41225 4.05514 8.47486 4.0753 8.54241C4.12772 8.68078 4.12656 8.83374 4.07204 8.97129C4.01752 9.10884 3.91357 9.22106 3.78059 9.28593L3.44314 9.43047L4.48923 11.3866C4.56015 11.5165 4.58089 11.6679 4.54751 11.8122C4.51412 11.9564 4.42894 12.0833 4.30814 12.1689C4.23031 12.2217 4.13841 12.2499 4.04436 12.2499Z", fill: "currentColor" })] }) }));
16151
+ }
16152
+
16153
+ /* The component implements the Flask icon from Font Awesome: https://fontawesome.com/icons/flask */
16154
+ function SvgBetaIcon({ id = "beta-icon" }) {
16155
+ return (jsxRuntime.jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 448 512", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M288 0L160 0 128 0C110.3 0 96 14.3 96 32s14.3 32 32 32l0 132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6C0 480.9 31.1 512 69.4 512l309.2 0c38.3 0 69.4-31.1 69.4-69.4c0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5L320 64c17.7 0 32-14.3 32-32s-14.3-32-32-32L288 0zM192 196.8L192 64l64 0 0 132.8c0 23.7 6.6 46.9 19 67.1L309.5 320l-171 0L173 263.9c12.4-20.2 19-43.4 19-67.1z", fill: "currentColor" }) }) }));
15446
16156
  }
15447
16157
 
15448
16158
  function SvgTooltipArrowUp({ id = "tooltip-arrow" }) {
15449
16159
  return (jsxRuntime.jsx("svg", { id: id, width: "19", height: "9", viewBox: "0 0 19 9", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { children: jsxRuntime.jsx("path", { d: "M8.4188 1.41421C9.19985 0.633163 10.4662 0.633165 11.2472 1.41421L18.833 9L0.833008 9L8.4188 1.41421Z", fill: "currentColor" }) }) }));
15450
16160
  }
15451
16161
 
15452
- var css_248z$6 = ".bcds-react-aria-Tag {\n color: var(--typography-color-primary);\n cursor: pointer;\n border-radius: var(--layout-margin-hair);\n border: var(--layout-border-width-small) solid;\n display: flex;\n align-items: center;\n gap: var(--layout-margin-small);\n font: var(--typography-regular-label);\n padding: var(--layout-padding-hair) var(--layout-padding-small);\n width: fit-content;\n}\n.bcds-react-aria-Tag .react-aria-Button {\n background: none;\n border: none;\n color: var(--typography-color-primary);\n cursor: pointer;\n display: flex;\n margin: 0;\n padding: 0;\n}\n\n/* Tag colors */\n.bcds-react-aria-Tag.bc-blue {\n background-color: var(--theme-primary-blue);\n border-color: var(--theme-blue-90);\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.bc-blue .react-aria-Button {\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.bc-gold {\n background-color: var(--theme-primary-gold);\n border-color: var(--theme-blue-90);\n}\n.bcds-react-aria-Tag.blue {\n background-color: var(--support-surface-color-info);\n border-color: var(--support-border-color-info);\n}\n.bcds-react-aria-Tag.dark {\n background: var(--theme-gray-110);\n border-color: var(--theme-blue-90);\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.dark .react-aria-Button {\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.gray,\n.bcds-react-aria-Tag.grey {\n background-color: var(--theme-gray-20);\n border-color: var(--surface-color-border-dark);\n}\n.bcds-react-aria-Tag.green {\n background-color: var(--support-surface-color-success);\n border-color: var(--support-border-color-success);\n}\n.bcds-react-aria-Tag.red {\n background-color: var(--support-surface-color-danger);\n border-color: var(--support-border-color-danger);\n}\n.bcds-react-aria-Tag.yellow {\n background-color: var(--support-surface-color-warning);\n border-color: var(--support-border-color-warning);\n}\n\n/* Selected */\n.bcds-react-aria-Tag[data-selected] {\n border-radius: var(--layout-border-radius-small);\n border: var(--layout-border-width-medium) solid\n var(--surface-color-border-active);\n}\n\n/* Focused */\n.bcds-react-aria-Tag[data-focused] {\n outline: var(--layout-border-width-medium) solid\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n\n/* Disabled */\n.bcds-react-aria-Tag[data-disabled] {\n background-color: var(--surface-color-primary-button-disabled);\n border-color: var(--surface-color-border-default);\n color: var(--typography-color-disabled);\n cursor: not-allowed;\n}\n";
16162
+ var css_248z$6 = ".bcds-react-aria-Tag {\n color: var(--typography-color-primary);\n cursor: pointer;\n border: var(--layout-border-width-small) solid;\n display: flex;\n align-items: center;\n font: var(--typography-regular-label);\n width: fit-content;\n}\n.bcds-react-aria-Tag .react-aria-Button {\n background: none;\n border: none;\n color: var(--typography-color-primary);\n cursor: pointer;\n display: flex;\n margin: 0;\n padding: 0;\n}\n\n/* Tag colors */\n.bcds-react-aria-Tag.bc-blue {\n background-color: var(--theme-primary-blue);\n border-color: var(--theme-blue-90);\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.bc-blue .react-aria-Button {\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.bc-gold {\n background-color: var(--theme-primary-gold);\n border-color: var(--theme-blue-90);\n}\n.bcds-react-aria-Tag.blue {\n background-color: var(--support-surface-color-info);\n border-color: var(--support-border-color-info);\n}\n.bcds-react-aria-Tag.dark {\n background: var(--theme-gray-110);\n border-color: var(--theme-blue-90);\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.dark .react-aria-Button {\n color: var(--typography-color-primary-invert);\n}\n.bcds-react-aria-Tag.gray,\n.bcds-react-aria-Tag.grey {\n background-color: var(--theme-gray-20);\n border-color: var(--surface-color-border-dark);\n}\n.bcds-react-aria-Tag.green {\n background-color: var(--support-surface-color-success);\n border-color: var(--support-border-color-success);\n}\n.bcds-react-aria-Tag.red {\n background-color: var(--support-surface-color-danger);\n border-color: var(--support-border-color-danger);\n}\n.bcds-react-aria-Tag.yellow {\n background-color: var(--support-surface-color-warning);\n border-color: var(--support-border-color-warning);\n}\n\n/* Tag style */\n.bcds-react-aria-Tag.rectangular {\n border-radius: var(--layout-border-radius-small);\n}\n.bcds-react-aria-Tag.circular {\n border-radius: var(--layout-borderRadius-Circular, 9999px);\n}\n\n/* Tag size */\n.bcds-react-aria-Tag.medium {\n height: var(--layout-padding-xlarge);\n padding: var(--layout-padding-hair) var(--layout-padding-medium);\n gap: var(--layout-margin-medium);\n}\n.bcds-react-aria-Tag.small {\n height: var(--layout-padding-large);\n padding: var(--layout-padding-hair) var(--layout-padding-small);\n gap: var(--layout-margin-small);\n}\n\n/* Selected */\n.bcds-react-aria-Tag[data-selected] {\n border-radius: var(--layout-border-radius-small);\n border: var(--layout-border-width-medium) solid\n var(--surface-color-border-active);\n}\n\n/* Focused */\n.bcds-react-aria-Tag[data-focused] {\n outline: var(--layout-border-width-medium) solid\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n\n/* Disabled */\n.bcds-react-aria-Tag[data-disabled] {\n background-color: var(--surface-color-primary-button-disabled);\n border-color: var(--surface-color-border-default);\n color: var(--typography-color-disabled);\n cursor: not-allowed;\n}\n";
15453
16163
  styleInject(css_248z$6);
15454
16164
 
15455
- function Tag({ color = "blue", icon, id, textValue }) {
15456
- return (jsxRuntime.jsx($eaf9e70818b436db$export$3288d34c523a1192, { className: `bcds-react-aria-Tag ${color}`, id: id, textValue: textValue, children: ({ allowsRemoving, isDisabled }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [icon, textValue, !isDisabled && allowsRemoving && (jsxRuntime.jsx($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { "aria-label": `Remove ${textValue}`, slot: "remove", children: jsxRuntime.jsx("svg", { width: "14", height: "15", viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { id: "Icons / Close", children: jsxRuntime.jsx("path", { id: "Vector", d: "M12.6004 3.03239L11.4684 1.90039L7.00039 6.36839L2.53239 1.90039L1.40039 3.03239L5.86839 7.50039L1.40039 11.9684L2.53239 13.1004L7.00039 8.63239L11.4684 13.1004L12.6004 11.9684L8.13239 7.50039L12.6004 3.03239Z", fill: "currentColor" }) }) }) }))] })) }));
16165
+ function Tag({ color = "blue", tagStyle = "rectangular", size = "small", icon, id, textValue, }) {
16166
+ return (jsxRuntime.jsx($eaf9e70818b436db$export$3288d34c523a1192, { className: `bcds-react-aria-Tag ${color} ${tagStyle} ${size}`, id: id, textValue: textValue, children: ({ allowsRemoving, isDisabled }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [icon, textValue, !isDisabled && allowsRemoving && (jsxRuntime.jsx($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { "aria-label": `Remove ${textValue}`, slot: "remove", children: jsxRuntime.jsx("svg", { width: "14", height: "15", viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsxRuntime.jsx("g", { id: "Icons / Close", children: jsxRuntime.jsx("path", { id: "Vector", d: "M12.6004 3.03239L11.4684 1.90039L7.00039 6.36839L2.53239 1.90039L1.40039 3.03239L5.86839 7.50039L1.40039 11.9684L2.53239 13.1004L7.00039 8.63239L11.4684 13.1004L12.6004 11.9684L8.13239 7.50039L12.6004 3.03239Z", fill: "currentColor" }) }) }) }))] })) }));
15457
16167
  }
15458
16168
 
15459
16169
  var css_248z$5 = ".bcds-react-aria-TagGroup {\n color: var(--typography-color-primary);\n font: var(--typography-regular-small-body);\n}\n\n.bcds-react-aria-TagGroup--Label,\n.bcds-react-aria-TagGroup--Text-description,\n.bcds-react-aria-TagGroup--Text-error {\n display: block;\n padding: var(--layout-padding-xsmall) var(--layout-padding-none);\n}\n\n.bcds-react-aria-TagGroup--Text-error {\n display: flex;\n color: var(--typography-color-danger);\n}\n\n.bcds-react-aria-TagGroup--Text-error > svg {\n padding-right: var(--layout-padding-xsmall);\n color: var(--icons-color-danger);\n min-width: var(--icons-size-medium);\n height: var(--icons-size-medium);\n}\n";
@@ -15505,9 +16215,13 @@ function Tooltip(props) {
15505
16215
  return (jsxRuntime.jsxs($4e3b923658d69c60$export$28c660c63b792dea, { className: "bcds-react-aria-Tooltip", ...props, children: [jsxRuntime.jsx($44f671af83e7d9e0$export$746d02f47f4d381, { className: "bcds-react-aria-OverlayArrow", children: jsxRuntime.jsx(SvgTooltipArrowUp, {}) }), jsxRuntime.jsx(jsxRuntime.Fragment, { children: props.children })] }));
15506
16216
  }
15507
16217
 
16218
+ exports.Accordion = Accordion;
16219
+ exports.AccordionGroup = AccordionGroup;
16220
+ exports.AlertBanner = AlertBanner;
15508
16221
  exports.AlertDialog = AlertDialog;
15509
16222
  exports.Button = Button;
15510
16223
  exports.ButtonGroup = ButtonGroup;
16224
+ exports.Callout = Callout;
15511
16225
  exports.Checkbox = Checkbox;
15512
16226
  exports.CheckboxGroup = CheckboxGroup;
15513
16227
  exports.Dialog = Dialog;
@@ -15522,6 +16236,8 @@ exports.Radio = Radio;
15522
16236
  exports.RadioGroup = RadioGroup;
15523
16237
  exports.Select = Select;
15524
16238
  exports.SvgBcLogo = SvgBcLogo;
16239
+ exports.SvgBcOutlineIcon = SvgBcOutlineIcon;
16240
+ exports.SvgBetaIcon = SvgBetaIcon;
15525
16241
  exports.SvgCheckCircleIcon = SvgCheckCircleIcon;
15526
16242
  exports.SvgCheckIcon = SvgCheckIcon;
15527
16243
  exports.SvgChevronDownIcon = SvgChevronDownIcon;