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

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 (39) hide show
  1. package/README.md +23 -19
  2. package/dist/cjs/index.cjs +1643 -795
  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/Link/Link.d.ts +15 -0
  17. package/dist/cjs/types/components/Link/index.d.ts +2 -0
  18. package/dist/cjs/types/components/Tag/Tag.d.ts +9 -1
  19. package/dist/cjs/types/components/index.d.ts +7 -0
  20. package/dist/esm/index.js +1638 -797
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/types/components/Accordion/Accordion.d.ts +6 -0
  23. package/dist/esm/types/components/Accordion/index.d.ts +2 -0
  24. package/dist/esm/types/components/AccordionGroup/AccordionGroup.d.ts +7 -0
  25. package/dist/esm/types/components/AccordionGroup/index.d.ts +2 -0
  26. package/dist/esm/types/components/AlertBanner/AlertBanner.d.ts +10 -0
  27. package/dist/esm/types/components/AlertBanner/index.d.ts +2 -0
  28. package/dist/esm/types/components/Callout/Callout.d.ts +10 -0
  29. package/dist/esm/types/components/Callout/index.d.ts +2 -0
  30. package/dist/esm/types/components/Icons/SvgBcOutlineIcon/SvgBcOutlineIcon.d.ts +3 -0
  31. package/dist/esm/types/components/Icons/SvgBcOutlineIcon/index.d.ts +1 -0
  32. package/dist/esm/types/components/Icons/SvgBetaIcon/SvgBetaIcon.d.ts +3 -0
  33. package/dist/esm/types/components/Icons/SvgBetaIcon/index.d.ts +1 -0
  34. package/dist/esm/types/components/Link/Link.d.ts +15 -0
  35. package/dist/esm/types/components/Link/index.d.ts +2 -0
  36. package/dist/esm/types/components/Tag/Tag.d.ts +9 -1
  37. package/dist/esm/types/components/index.d.ts +7 -0
  38. package/dist/index.d.ts +63 -3
  39. package/package.json +15 -15
package/dist/esm/index.js CHANGED
@@ -29,8 +29,8 @@ function styleInject(css, ref) {
29
29
  }
30
30
  }
31
31
 
32
- 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";
33
- styleInject(css_248z$k);
32
+ var css_248z$p = "/**\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";
33
+ styleInject(css_248z$p);
34
34
 
35
35
  /*
36
36
  * Copyright 2024 Adobe. All rights reserved.
@@ -387,11 +387,8 @@ class $681cc3c98f569e39$export$dc064fe9e59310fd extends $681cc3c98f569e39$export
387
387
  setAttributeNS() {}
388
388
  removeAttribute() {}
389
389
  constructor(type, ownerDocument){
390
- super(ownerDocument);
391
- this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)
392
- ;
393
- this._index = 0;
394
- this.hasSetProps = false;
390
+ super(ownerDocument), this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)
391
+ , this._index = 0, this.hasSetProps = false;
395
392
  this.node = new ($23b9f4fcf0fe224b$export$d68d59712b04d9d1)(type, `react-aria-${++ownerDocument.nodeId}`);
396
393
  // Start a transaction so that no updates are emitted from the collection
397
394
  // until the props for this node are set. We don't know the real id for the
@@ -487,18 +484,8 @@ class $681cc3c98f569e39$export$b34a105447964f9f extends $681cc3c98f569e39$export
487
484
  }
488
485
  constructor(collection){
489
486
  // @ts-ignore
490
- super(null);
491
- this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE
492
- ;
493
- this.ownerDocument = this;
494
- this.dirtyNodes = new Set();
495
- this.isSSR = false;
496
- this.nodeId = 0;
497
- this.nodesByProps = new WeakMap();
498
- this.isMounted = true;
499
- this.mutatedNodes = new Set();
500
- this.subscriptions = new Set();
501
- this.transactionCount = 0;
487
+ super(null), this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE
488
+ , 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;
502
489
  this.collection = collection;
503
490
  this.collectionMutated = true;
504
491
  }
@@ -530,9 +517,7 @@ function $e948873055cbafe4$export$727c8fc270210f13(props) {
530
517
  var _rendered_props_id, _ref;
531
518
  // @ts-ignore
532
519
  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;
533
- // eslint-disable-next-line max-depth
534
520
  if (key == null) throw new Error('Could not determine key for item');
535
- // eslint-disable-next-line max-depth
536
521
  if (idScope) key = idScope + ':' + key;
537
522
  // Note: only works if wrapped Item passes through id...
538
523
  rendered = (cloneElement)(rendered, addIdAndValue ? {
@@ -632,7 +617,6 @@ function $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {
632
617
  return defaultId || `${prefix}-${counter}`;
633
618
  }
634
619
  function $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {
635
- // @ts-ignore
636
620
  let id = ($dbSRa$react).useId();
637
621
  let [didSSR] = (useState)($b5e257d569688ac6$export$535bd6ca7f90a273());
638
622
  let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;
@@ -827,7 +811,16 @@ function $bdb11010cef70236$export$f680877a34711e37(defaultId) {
827
811
  let updateValue = (useCallback)((val)=>{
828
812
  nextId.current = val;
829
813
  }, []);
830
- if ($bdb11010cef70236$var$canUseDOM) $bdb11010cef70236$var$idsUpdaterMap.set(res, updateValue);
814
+ if ($bdb11010cef70236$var$canUseDOM) {
815
+ // TS not smart enough to know that `has` means the value exists
816
+ if ($bdb11010cef70236$var$idsUpdaterMap.has(res) && !$bdb11010cef70236$var$idsUpdaterMap.get(res).includes(updateValue)) $bdb11010cef70236$var$idsUpdaterMap.set(res, [
817
+ ...$bdb11010cef70236$var$idsUpdaterMap.get(res),
818
+ updateValue
819
+ ]);
820
+ else $bdb11010cef70236$var$idsUpdaterMap.set(res, [
821
+ updateValue
822
+ ]);
823
+ }
831
824
  ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
832
825
  let r = res;
833
826
  return ()=>{
@@ -849,14 +842,14 @@ function $bdb11010cef70236$export$f680877a34711e37(defaultId) {
849
842
  }
850
843
  function $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {
851
844
  if (idA === idB) return idA;
852
- let setIdA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);
853
- if (setIdA) {
854
- setIdA(idB);
845
+ let setIdsA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);
846
+ if (setIdsA) {
847
+ setIdsA.forEach((fn)=>fn(idB));
855
848
  return idB;
856
849
  }
857
- let setIdB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);
858
- if (setIdB) {
859
- setIdB(idA);
850
+ let setIdsB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);
851
+ if (setIdsB) {
852
+ setIdsB.forEach((fn)=>fn(idA));
860
853
  return idA;
861
854
  }
862
855
  return idB;
@@ -1035,7 +1028,7 @@ function $7215afc6de606d6b$var$supportsPreventScroll() {
1035
1028
  return true;
1036
1029
  }
1037
1030
  });
1038
- } catch (e) {
1031
+ } catch {
1039
1032
  // Ignore
1040
1033
  }
1041
1034
  }
@@ -1143,6 +1136,14 @@ const $ea8dcbcb9ea1b556$var$RouterContext = /*#__PURE__*/ (createContext)({
1143
1136
  function $ea8dcbcb9ea1b556$export$9a302a45f65d0572() {
1144
1137
  return (useContext)($ea8dcbcb9ea1b556$var$RouterContext);
1145
1138
  }
1139
+ function $ea8dcbcb9ea1b556$export$efa8c9099e530235(link, modifiers) {
1140
+ // Use getAttribute here instead of link.target. Firefox will default link.target to "_parent" when inside an iframe.
1141
+ let target = link.getAttribute('target');
1142
+ return (!target || target === '_self') && link.origin === location.origin && !link.hasAttribute('download') && !modifiers.metaKey && // open in new tab (mac)
1143
+ !modifiers.ctrlKey && // open in new tab (windows)
1144
+ !modifiers.altKey && // download
1145
+ !modifiers.shiftKey;
1146
+ }
1146
1147
  function $ea8dcbcb9ea1b556$export$95185d699e05d4d7(target, modifiers, setOpening = true) {
1147
1148
  var _window_event_type, _window_event;
1148
1149
  let { metaKey: metaKey, ctrlKey: ctrlKey, altKey: altKey, shiftKey: shiftKey } = modifiers;
@@ -1197,8 +1198,10 @@ function $ea8dcbcb9ea1b556$var$openSyntheticLink(target, modifiers) {
1197
1198
  }
1198
1199
  function $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {
1199
1200
  let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();
1201
+ var _props_href;
1202
+ const href = router.useHref((_props_href = props.href) !== null && _props_href !== void 0 ? _props_href : '');
1200
1203
  return {
1201
- 'data-href': props.href ? router.useHref(props.href) : undefined,
1204
+ 'data-href': props.href ? href : undefined,
1202
1205
  'data-target': props.target,
1203
1206
  'data-rel': props.rel,
1204
1207
  'data-download': props.download,
@@ -1208,8 +1211,10 @@ function $ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6(props) {
1208
1211
  }
1209
1212
  function $ea8dcbcb9ea1b556$export$7e924b3091a3bd18(props) {
1210
1213
  let router = $ea8dcbcb9ea1b556$export$9a302a45f65d0572();
1214
+ var _props_href;
1215
+ const href = router.useHref((_props_href = props === null || props === void 0 ? void 0 : props.href) !== null && _props_href !== void 0 ? _props_href : '');
1211
1216
  return {
1212
- href: (props === null || props === void 0 ? void 0 : props.href) ? router.useHref(props === null || props === void 0 ? void 0 : props.href) : undefined,
1217
+ href: (props === null || props === void 0 ? void 0 : props.href) ? href : undefined,
1213
1218
  target: props === null || props === void 0 ? void 0 : props.target,
1214
1219
  rel: props === null || props === void 0 ? void 0 : props.rel,
1215
1220
  download: props === null || props === void 0 ? void 0 : props.download,
@@ -1332,7 +1337,6 @@ function $03deb23ff14920c4$export$4eaf04e54aa8eed6() {
1332
1337
  }, [
1333
1338
  removeGlobalListener
1334
1339
  ]);
1335
- // eslint-disable-next-line arrow-body-style
1336
1340
  (useEffect)(()=>{
1337
1341
  return removeAllGlobalListeners;
1338
1342
  }, [
@@ -1499,6 +1503,7 @@ function $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {
1499
1503
  * OF ANY KIND, either express or implied. See the License for the specific language
1500
1504
  * governing permissions and limitations under the License.
1501
1505
  */ function $cc38e7bd3fc7b213$export$2bb74740c4e19def(node, checkForOverflow) {
1506
+ if (!node) return false;
1502
1507
  let style = window.getComputedStyle(node);
1503
1508
  let isScrollable = /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);
1504
1509
  if (isScrollable && checkForOverflow) isScrollable = node.scrollHeight !== node.clientHeight || node.scrollWidth !== node.clientWidth;
@@ -1555,7 +1560,6 @@ function $a40c673dc9f6d9c7$export$94ed1c92c7beeb22(node, checkForOverflow) {
1555
1560
  * governing permissions and limitations under the License.
1556
1561
  */
1557
1562
 
1558
- // @ts-ignore
1559
1563
  let $5df64b3807dc15ee$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
1560
1564
  function $5df64b3807dc15ee$export$d699905dd57c73ca() {
1561
1565
  let isSSR = ($b5e257d569688ac6$export$535bd6ca7f90a273)();
@@ -1720,7 +1724,7 @@ function $2f04cbc44ee30ce0$export$53a0910f038337bd(scrollView, element) {
1720
1724
  return sum;
1721
1725
  }
1722
1726
  function $2f04cbc44ee30ce0$export$c826860796309d1b(targetElement, opts) {
1723
- if (document.contains(targetElement)) {
1727
+ if (targetElement && document.contains(targetElement)) {
1724
1728
  let root = document.scrollingElement || document.documentElement;
1725
1729
  let isScrollPrevented = window.getComputedStyle(root).overflow === 'hidden';
1726
1730
  // 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
@@ -2397,10 +2401,6 @@ function $e1995378a142960e$var$CollectionRoot({ children: children }) {
2397
2401
  */
2398
2402
 
2399
2403
  const $7135fc7d473fd974$export$d40e14dec8b060a8 = /*#__PURE__*/ (createContext)(null);
2400
- const $7135fc7d473fd974$export$6e2c8f0811a474ce = /*#__PURE__*/ ($e1995378a142960e$export$e953bb1cd0f19726)('section', (props, ref, section)=>{
2401
- let { render: render } = (useContext)($7135fc7d473fd974$export$d40e14dec8b060a8);
2402
- return render(props, ref, section);
2403
- });
2404
2404
  const $7135fc7d473fd974$export$a164736487e3f0ae = {
2405
2405
  CollectionRoot ({ collection: collection, renderDropIndicator: renderDropIndicator }) {
2406
2406
  return $7135fc7d473fd974$var$useCollectionRender(collection, null, renderDropIndicator);
@@ -2659,7 +2659,6 @@ let $14c0b72509d70225$var$modifiedElementMap = new WeakMap();
2659
2659
  function $14c0b72509d70225$export$16a4697467175487(target) {
2660
2660
  if (($c87311424ea30a05$export$fedb369cb70207f1)()) {
2661
2661
  if ($14c0b72509d70225$var$state === 'default') {
2662
- // eslint-disable-next-line no-restricted-globals
2663
2662
  const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(target);
2664
2663
  $14c0b72509d70225$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;
2665
2664
  documentObject.documentElement.style.webkitUserSelect = 'none';
@@ -2686,7 +2685,6 @@ function $14c0b72509d70225$export$b0d6fa1ab32e3295(target) {
2686
2685
  ($bbed8b41f857bcc0$export$24490316f764c430)(()=>{
2687
2686
  // Avoid race conditions
2688
2687
  if ($14c0b72509d70225$var$state === 'restoring') {
2689
- // eslint-disable-next-line no-restricted-globals
2690
2688
  const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(target);
2691
2689
  if (documentObject.documentElement.style.webkitUserSelect === 'none') documentObject.documentElement.style.webkitUserSelect = $14c0b72509d70225$var$savedUserSelect || '';
2692
2690
  $14c0b72509d70225$var$savedUserSelect = '';
@@ -3025,7 +3023,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3025
3023
  }
3026
3024
  // Due to browser inconsistencies, especially on mobile browsers, we prevent
3027
3025
  // default on pointer down and handle focusing the pressable element ourselves.
3028
- if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();
3026
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultDown(e.currentTarget)) e.preventDefault();
3029
3027
  state.pointerType = e.pointerType;
3030
3028
  let shouldStopPropagation = true;
3031
3029
  if (!state.isPressed) {
@@ -3048,7 +3046,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3048
3046
  // Chrome and Firefox on touch Windows devices require mouse down events
3049
3047
  // to be canceled in addition to pointer events, or an extra asynchronous
3050
3048
  // focus event will be fired.
3051
- if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();
3049
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultDown(e.currentTarget)) e.preventDefault();
3052
3050
  e.stopPropagation();
3053
3051
  }
3054
3052
  };
@@ -3086,8 +3084,23 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3086
3084
  state.pointerType = null;
3087
3085
  removeAllGlobalListeners();
3088
3086
  if (!allowTextSelectionOnPress) ($14c0b72509d70225$export$b0d6fa1ab32e3295)(state.target);
3087
+ // Prevent subsequent touchend event from triggering onClick on unrelated elements on Android. See below.
3088
+ // Both 'touch' and 'pen' pointerTypes trigger onTouchEnd, but 'mouse' does not.
3089
+ if ('ontouchend' in state.target && e.pointerType !== 'mouse') addGlobalListener(state.target, 'touchend', onTouchEnd, {
3090
+ once: true
3091
+ });
3089
3092
  }
3090
3093
  };
3094
+ // This is a workaround for an Android Chrome/Firefox issue where click events are fired on an incorrect element
3095
+ // if the original target is removed during onPointerUp (before onClick).
3096
+ // https://github.com/adobe/react-spectrum/issues/1513
3097
+ // https://issues.chromium.org/issues/40732224
3098
+ // Note: this event must be registered directly on the element, not via React props in order to work.
3099
+ // https://github.com/facebook/react/issues/9809
3100
+ let onTouchEnd = (e)=>{
3101
+ // Don't preventDefault if we actually want the default (e.g. submit/link click).
3102
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultUp(e.currentTarget)) e.preventDefault();
3103
+ };
3091
3104
  let onPointerCancel = (e)=>{
3092
3105
  cancel(e);
3093
3106
  };
@@ -3102,7 +3115,7 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3102
3115
  if (e.button !== 0 || !e.currentTarget.contains(e.target)) return;
3103
3116
  // Due to browser inconsistencies, especially on mobile browsers, we prevent
3104
3117
  // default on mouse down and handle focusing the pressable element ourselves.
3105
- if ($f6c31cce2adf654f$var$shouldPreventDefault(e.currentTarget)) e.preventDefault();
3118
+ if ($f6c31cce2adf654f$var$shouldPreventDefaultDown(e.currentTarget)) e.preventDefault();
3106
3119
  if (state.ignoreEmulatedMouseEvents) {
3107
3120
  e.stopPropagation();
3108
3121
  return;
@@ -3243,7 +3256,6 @@ function $f6c31cce2adf654f$export$45712eceda6fad21(props) {
3243
3256
  triggerPressUp
3244
3257
  ]);
3245
3258
  // Remove user-select: none in case component unmounts immediately after pressStart
3246
- // eslint-disable-next-line arrow-body-style
3247
3259
  (useEffect)(()=>{
3248
3260
  return ()=>{
3249
3261
  var _ref_current_target;
@@ -3339,16 +3351,20 @@ function $f6c31cce2adf654f$var$isOverTarget(point, target) {
3339
3351
  let pointRect = $f6c31cce2adf654f$var$getPointClientRect(point);
3340
3352
  return $f6c31cce2adf654f$var$areRectanglesOverlapping(rect, pointRect);
3341
3353
  }
3342
- function $f6c31cce2adf654f$var$shouldPreventDefault(target) {
3354
+ function $f6c31cce2adf654f$var$shouldPreventDefaultDown(target) {
3343
3355
  // We cannot prevent default if the target is a draggable element.
3344
3356
  return !(target instanceof HTMLElement) || !target.hasAttribute('draggable');
3345
3357
  }
3346
- function $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {
3347
- if (target instanceof HTMLInputElement) return !$f6c31cce2adf654f$var$isValidInputKey(target, key);
3358
+ function $f6c31cce2adf654f$var$shouldPreventDefaultUp(target) {
3359
+ if (target instanceof HTMLInputElement) return false;
3348
3360
  if (target instanceof HTMLButtonElement) return target.type !== 'submit' && target.type !== 'reset';
3349
3361
  if ($f6c31cce2adf654f$var$isHTMLAnchorLink(target)) return false;
3350
3362
  return true;
3351
3363
  }
3364
+ function $f6c31cce2adf654f$var$shouldPreventDefaultKeyboard(target, key) {
3365
+ if (target instanceof HTMLInputElement) return !$f6c31cce2adf654f$var$isValidInputKey(target, key);
3366
+ return $f6c31cce2adf654f$var$shouldPreventDefaultUp(target);
3367
+ }
3352
3368
  const $f6c31cce2adf654f$var$nonTextInputTypes = new Set([
3353
3369
  'checkbox',
3354
3370
  'radio',
@@ -3458,7 +3474,6 @@ function $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {
3458
3474
  observer: null
3459
3475
  });
3460
3476
  // Clean up MutationObserver on unmount. See below.
3461
- // eslint-disable-next-line arrow-body-style
3462
3477
  ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
3463
3478
  const state = stateRef.current;
3464
3479
  return ()=>{
@@ -4556,7 +4571,6 @@ function $9bf71ea28793e738$var$useFocusContainment(scopeRef, contain) {
4556
4571
  contain
4557
4572
  ]);
4558
4573
  // This is a useLayoutEffect so it is guaranteed to run before our async synthetic blur
4559
- // eslint-disable-next-line arrow-body-style
4560
4574
  ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
4561
4575
  return ()=>{
4562
4576
  if (raf.current) cancelAnimationFrame(raf.current);
@@ -4598,12 +4612,12 @@ function $9bf71ea28793e738$var$isAncestorScope(ancestor, scope) {
4598
4612
  function $9bf71ea28793e738$var$focusElement(element, scroll = false) {
4599
4613
  if (element != null && !scroll) try {
4600
4614
  (0, $6a99195332edec8b$export$80f3e147d781571c)(element);
4601
- } catch (err) {
4615
+ } catch {
4602
4616
  // ignore
4603
4617
  }
4604
4618
  else if (element != null) try {
4605
4619
  element.focus();
4606
- } catch (err) {
4620
+ } catch {
4607
4621
  // ignore
4608
4622
  }
4609
4623
  }
@@ -4710,7 +4724,7 @@ function $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain)
4710
4724
  let onKeyDown = (e)=>{
4711
4725
  if (e.key !== 'Tab' || e.altKey || e.ctrlKey || e.metaKey || !$9bf71ea28793e738$var$shouldContainFocus(scopeRef) || e.isComposing) return;
4712
4726
  let focusedElement = ownerDocument.activeElement;
4713
- if (!$9bf71ea28793e738$var$isElementInScope(focusedElement, scopeRef.current)) return;
4727
+ if (!$9bf71ea28793e738$var$isElementInChildScope(focusedElement, scopeRef) || !$9bf71ea28793e738$var$shouldRestoreFocus(scopeRef)) return;
4714
4728
  let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef);
4715
4729
  if (!treeNode) return;
4716
4730
  let nodeToRestore = treeNode.nodeToRestore;
@@ -4727,11 +4741,11 @@ function $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain)
4727
4741
  }
4728
4742
  // If there is no next element, or it is outside the current scope, move focus to the
4729
4743
  // next element after the node to restore to instead.
4730
- if ((!nextElement || !$9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current)) && nodeToRestore) {
4744
+ if ((!nextElement || !$9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef)) && nodeToRestore) {
4731
4745
  walker.currentNode = nodeToRestore;
4732
4746
  // Skip over elements within the scope, in case the scope immediately follows the node to restore.
4733
4747
  do nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode();
4734
- while ($9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current));
4748
+ while ($9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef));
4735
4749
  e.preventDefault();
4736
4750
  e.stopPropagation();
4737
4751
  if (nextElement) $9bf71ea28793e738$var$focusElement(nextElement, true);
@@ -4764,8 +4778,7 @@ function $9bf71ea28793e738$var$useRestoreFocus(scopeRef, restoreFocus, contain)
4764
4778
  if (!treeNode) return;
4765
4779
  let nodeToRestore = treeNode.nodeToRestore;
4766
4780
  // if we already lost focus to the body and this was the active scope, then we should attempt to restore
4767
- if (restoreFocus && nodeToRestore && // eslint-disable-next-line react-hooks/exhaustive-deps
4768
- ($9bf71ea28793e738$var$isElementInScope(ownerDocument.activeElement, scopeRef.current) || ownerDocument.activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) {
4781
+ if (restoreFocus && nodeToRestore && (ownerDocument.activeElement && $9bf71ea28793e738$var$isElementInChildScope(ownerDocument.activeElement, scopeRef) || ownerDocument.activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) {
4769
4782
  // freeze the focusScopeTree so it persists after the raf, otherwise during unmount nodes are removed from it
4770
4783
  let clonedTree = $9bf71ea28793e738$export$d06fae2ee68b101e.clone();
4771
4784
  requestAnimationFrame(()=>{
@@ -5041,6 +5054,66 @@ function $83013635b024ae3d$export$eac1895992b9f3d6(ref, options) {
5041
5054
  return isDisabled ? false : hasTabbableChild;
5042
5055
  }
5043
5056
 
5057
+ /*
5058
+ * Copyright 2020 Adobe. All rights reserved.
5059
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5060
+ * you may not use this file except in compliance with the License. You may obtain a copy
5061
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
5062
+ *
5063
+ * Unless required by applicable law or agreed to in writing, software distributed under
5064
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
5065
+ * OF ANY KIND, either express or implied. See the License for the specific language
5066
+ * governing permissions and limitations under the License.
5067
+ */
5068
+
5069
+
5070
+ function $298d61e98472621b$export$dcf14c9974fe2767(props, ref) {
5071
+ let { elementType: elementType = 'a', onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, // @ts-ignore
5072
+ onClick: deprecatedOnClick, isDisabled: isDisabled, ...otherProps } = props;
5073
+ let linkProps = {};
5074
+ if (elementType !== 'a') linkProps = {
5075
+ role: 'link',
5076
+ tabIndex: !isDisabled ? 0 : undefined
5077
+ };
5078
+ let { focusableProps: focusableProps } = ($e6afbd83fe6ebbd2$export$4c014de7c8940b4c)(props, ref);
5079
+ let { pressProps: pressProps, isPressed: isPressed } = ($f6c31cce2adf654f$export$45712eceda6fad21)({
5080
+ onPress: onPress,
5081
+ onPressStart: onPressStart,
5082
+ onPressEnd: onPressEnd,
5083
+ isDisabled: isDisabled,
5084
+ ref: ref
5085
+ });
5086
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(otherProps, {
5087
+ labelable: true
5088
+ });
5089
+ let interactionHandlers = ($3ef42575df84b30b$export$9d1611c77c2fe928)(focusableProps, pressProps);
5090
+ let router = ($ea8dcbcb9ea1b556$export$9a302a45f65d0572)();
5091
+ let routerLinkProps = ($ea8dcbcb9ea1b556$export$7e924b3091a3bd18)(props);
5092
+ return {
5093
+ isPressed: isPressed,
5094
+ linkProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, routerLinkProps, {
5095
+ ...interactionHandlers,
5096
+ ...linkProps,
5097
+ 'aria-disabled': isDisabled || undefined,
5098
+ 'aria-current': props['aria-current'],
5099
+ onClick: (e)=>{
5100
+ var _pressProps_onClick;
5101
+ (_pressProps_onClick = pressProps.onClick) === null || _pressProps_onClick === void 0 ? void 0 : _pressProps_onClick.call(pressProps, e);
5102
+ if (deprecatedOnClick) {
5103
+ deprecatedOnClick(e);
5104
+ console.warn('onClick is deprecated, please use onPress');
5105
+ }
5106
+ // If a custom router is provided, prevent default and forward if this link should client navigate.
5107
+ if (!router.isNative && e.currentTarget instanceof HTMLAnchorElement && e.currentTarget.href && // If props are applied to a router Link component, it may have already prevented default.
5108
+ !e.isDefaultPrevented() && ($ea8dcbcb9ea1b556$export$efa8c9099e530235)(e.currentTarget, e) && props.href) {
5109
+ e.preventDefault();
5110
+ router.open(e.currentTarget, e, props.href, props.routerOptions);
5111
+ }
5112
+ }
5113
+ })
5114
+ };
5115
+ }
5116
+
5044
5117
  /*
5045
5118
  * Copyright 2020 Adobe. All rights reserved.
5046
5119
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -5087,7 +5160,6 @@ const $148a7a147e38ea7f$var$RTL_LANGS = new Set([
5087
5160
  ]);
5088
5161
  function $148a7a147e38ea7f$export$702d680b21cbd764(localeString) {
5089
5162
  // If the Intl.Locale API is available, use it to get the locale's text direction.
5090
- // @ts-ignore
5091
5163
  if (Intl.Locale) {
5092
5164
  let locale = new Intl.Locale(localeString).maximize();
5093
5165
  // Use the text info object to get the direction if possible.
@@ -5122,11 +5194,10 @@ const $1e5a04cdaf7d1af8$var$localeSymbol = Symbol.for('react-aria.i18n.locale');
5122
5194
  function $1e5a04cdaf7d1af8$export$f09106e7c6677ec5() {
5123
5195
  let locale = typeof window !== 'undefined' && window[$1e5a04cdaf7d1af8$var$localeSymbol] || typeof navigator !== 'undefined' && (navigator.language || navigator.userLanguage) || 'en-US';
5124
5196
  try {
5125
- // @ts-ignore
5126
5197
  Intl.DateTimeFormat.supportedLocalesOf([
5127
5198
  locale
5128
5199
  ]);
5129
- } catch (_err) {
5200
+ } catch {
5130
5201
  locale = 'en-US';
5131
5202
  }
5132
5203
  return {
@@ -5372,8 +5443,7 @@ function $325a3faab7a68acd$export$a16aca283550c30d(options) {
5372
5443
 
5373
5444
 
5374
5445
  function $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {
5375
- let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: // @ts-ignore - undocumented
5376
- preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented
5446
+ let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented
5377
5447
  allowFocusWhenDisabled, // @ts-ignore
5378
5448
  onClick: deprecatedOnClick, href: href, target: target, rel: rel, type: type = 'button' } = props;
5379
5449
  let additionalProps;
@@ -5384,7 +5454,7 @@ function $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {
5384
5454
  else additionalProps = {
5385
5455
  role: 'button',
5386
5456
  tabIndex: isDisabled ? undefined : 0,
5387
- href: elementType === 'a' && isDisabled ? undefined : href,
5457
+ href: elementType === 'a' && !isDisabled ? href : undefined,
5388
5458
  target: elementType === 'a' ? target : undefined,
5389
5459
  type: elementType === 'input' ? type : undefined,
5390
5460
  disabled: elementType === 'input' ? isDisabled : undefined,
@@ -5436,8 +5506,20 @@ function $701a24aa0da5b062$export$ea18c227d4417cc3(props, ref) {
5436
5506
  */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;
5437
5507
  let $319e236875307eab$var$liveAnnouncer = null;
5438
5508
  function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
5439
- if (!$319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
5440
- $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
5509
+ if (!$319e236875307eab$var$liveAnnouncer) {
5510
+ $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
5511
+ // wait for the live announcer regions to be added to the dom, then announce
5512
+ // otherwise Safari won't announce the message if it's added too quickly
5513
+ // found most times less than 100ms were not consistent when announcing with Safari
5514
+ // IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.
5515
+ // https://github.com/reactwg/react-18/discussions/102
5516
+ // if we're in a test environment, announce without waiting
5517
+ // @ts-ignore
5518
+ if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{
5519
+ 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);
5520
+ }, 100);
5521
+ else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
5522
+ } else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
5441
5523
  }
5442
5524
  // LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18
5443
5525
  // ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a
@@ -5446,6 +5528,10 @@ function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'ass
5446
5528
  // is simple enough to implement without React, so that's what we do here.
5447
5529
  // See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638
5448
5530
  class $319e236875307eab$var$LiveAnnouncer {
5531
+ isAttached() {
5532
+ var _this_node;
5533
+ return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;
5534
+ }
5449
5535
  createLog(ariaLive) {
5450
5536
  let node = document.createElement('div');
5451
5537
  node.setAttribute('role', 'log');
@@ -5459,146 +5545,52 @@ class $319e236875307eab$var$LiveAnnouncer {
5459
5545
  this.node = null;
5460
5546
  }
5461
5547
  announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
5548
+ var _this_assertiveLog, _this_politeLog;
5462
5549
  if (!this.node) return;
5463
5550
  let node = document.createElement('div');
5464
- node.textContent = message;
5465
- if (assertiveness === 'assertive') this.assertiveLog.appendChild(node);
5466
- else this.politeLog.appendChild(node);
5551
+ if (typeof message === 'object') {
5552
+ // To read an aria-labelledby, the element must have an appropriate role, such as img.
5553
+ node.setAttribute('role', 'img');
5554
+ node.setAttribute('aria-labelledby', message['aria-labelledby']);
5555
+ } else node.textContent = message;
5556
+ if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);
5557
+ else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);
5467
5558
  if (message !== '') setTimeout(()=>{
5468
5559
  node.remove();
5469
5560
  }, timeout);
5470
5561
  }
5471
5562
  clear(assertiveness) {
5472
5563
  if (!this.node) return;
5473
- if (!assertiveness || assertiveness === 'assertive') this.assertiveLog.innerHTML = '';
5474
- if (!assertiveness || assertiveness === 'polite') this.politeLog.innerHTML = '';
5564
+ if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';
5565
+ if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';
5475
5566
  }
5476
5567
  constructor(){
5477
- this.node = document.createElement('div');
5478
- this.node.dataset.liveAnnouncer = 'true';
5479
- // copied from VisuallyHidden
5480
- Object.assign(this.node.style, {
5481
- border: 0,
5482
- clip: 'rect(0 0 0 0)',
5483
- clipPath: 'inset(50%)',
5484
- height: '1px',
5485
- margin: '-1px',
5486
- overflow: 'hidden',
5487
- padding: 0,
5488
- position: 'absolute',
5489
- width: '1px',
5490
- whiteSpace: 'nowrap'
5491
- });
5492
- this.assertiveLog = this.createLog('assertive');
5493
- this.node.appendChild(this.assertiveLog);
5494
- this.politeLog = this.createLog('polite');
5495
- this.node.appendChild(this.politeLog);
5496
- document.body.prepend(this.node);
5497
- }
5498
- }
5499
-
5500
- /*
5501
- * Copyright 2023 Adobe. All rights reserved.
5502
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5503
- * you may not use this file except in compliance with the License. You may obtain a copy
5504
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
5505
- *
5506
- * Unless required by applicable law or agreed to in writing, software distributed under
5507
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
5508
- * OF ANY KIND, either express or implied. See the License for the specific language
5509
- * governing permissions and limitations under the License.
5510
- */
5511
-
5512
-
5513
- function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
5514
- let { validationBehavior: validationBehavior, focus: focus } = props;
5515
- // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.
5516
- ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
5517
- if (validationBehavior === 'native' && (ref === null || ref === void 0 ? void 0 : ref.current)) {
5518
- let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';
5519
- ref.current.setCustomValidity(errorMessage);
5520
- // Prevent default tooltip for validation message.
5521
- // https://bugzilla.mozilla.org/show_bug.cgi?id=605277
5522
- if (!ref.current.hasAttribute('title')) ref.current.title = '';
5523
- if (!state.realtimeValidation.isInvalid) state.updateValidation($e93e671b31057976$var$getNativeValidity(ref.current));
5524
- }
5525
- });
5526
- let onReset = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5527
- state.resetValidation();
5528
- });
5529
- let onInvalid = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
5530
- var _ref_current;
5531
- // Only commit validation if we are not already displaying one.
5532
- // This avoids clearing server errors that the user didn't actually fix.
5533
- if (!state.displayValidation.isInvalid) state.commitValidation();
5534
- // Auto focus the first invalid input in a form, unless the error already had its default prevented.
5535
- let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;
5536
- if (!e.defaultPrevented && ref && form && $e93e671b31057976$var$getFirstInvalidInput(form) === ref.current) {
5537
- var _ref_current1;
5538
- if (focus) focus();
5539
- else (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();
5540
- // Always show focus ring.
5541
- ($507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
5568
+ this.node = null;
5569
+ this.assertiveLog = null;
5570
+ this.politeLog = null;
5571
+ if (typeof document !== 'undefined') {
5572
+ this.node = document.createElement('div');
5573
+ this.node.dataset.liveAnnouncer = 'true';
5574
+ // copied from VisuallyHidden
5575
+ Object.assign(this.node.style, {
5576
+ border: 0,
5577
+ clip: 'rect(0 0 0 0)',
5578
+ clipPath: 'inset(50%)',
5579
+ height: '1px',
5580
+ margin: '-1px',
5581
+ overflow: 'hidden',
5582
+ padding: 0,
5583
+ position: 'absolute',
5584
+ width: '1px',
5585
+ whiteSpace: 'nowrap'
5586
+ });
5587
+ this.assertiveLog = this.createLog('assertive');
5588
+ this.node.appendChild(this.assertiveLog);
5589
+ this.politeLog = this.createLog('polite');
5590
+ this.node.appendChild(this.politeLog);
5591
+ document.body.prepend(this.node);
5542
5592
  }
5543
- // Prevent default browser error UI from appearing.
5544
- e.preventDefault();
5545
- });
5546
- let onChange = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5547
- state.commitValidation();
5548
- });
5549
- (useEffect)(()=>{
5550
- let input = ref === null || ref === void 0 ? void 0 : ref.current;
5551
- if (!input) return;
5552
- let form = input.form;
5553
- input.addEventListener('invalid', onInvalid);
5554
- input.addEventListener('change', onChange);
5555
- form === null || form === void 0 ? void 0 : form.addEventListener('reset', onReset);
5556
- return ()=>{
5557
- input.removeEventListener('invalid', onInvalid);
5558
- input.removeEventListener('change', onChange);
5559
- form === null || form === void 0 ? void 0 : form.removeEventListener('reset', onReset);
5560
- };
5561
- }, [
5562
- ref,
5563
- onInvalid,
5564
- onChange,
5565
- onReset,
5566
- validationBehavior
5567
- ]);
5568
- }
5569
- function $e93e671b31057976$var$getValidity(input) {
5570
- // The native ValidityState object is live, meaning each property is a getter that returns the current state.
5571
- // We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.
5572
- let validity = input.validity;
5573
- return {
5574
- badInput: validity.badInput,
5575
- customError: validity.customError,
5576
- patternMismatch: validity.patternMismatch,
5577
- rangeOverflow: validity.rangeOverflow,
5578
- rangeUnderflow: validity.rangeUnderflow,
5579
- stepMismatch: validity.stepMismatch,
5580
- tooLong: validity.tooLong,
5581
- tooShort: validity.tooShort,
5582
- typeMismatch: validity.typeMismatch,
5583
- valueMissing: validity.valueMissing,
5584
- valid: validity.valid
5585
- };
5586
- }
5587
- function $e93e671b31057976$var$getNativeValidity(input) {
5588
- return {
5589
- isInvalid: !input.validity.valid,
5590
- validationDetails: $e93e671b31057976$var$getValidity(input),
5591
- validationErrors: input.validationMessage ? [
5592
- input.validationMessage
5593
- ] : []
5594
- };
5595
- }
5596
- function $e93e671b31057976$var$getFirstInvalidInput(form) {
5597
- for(let i = 0; i < form.elements.length; i++){
5598
- let element = form.elements[i];
5599
- if (!element.validity.valid) return element;
5600
5593
  }
5601
- return null;
5602
5594
  }
5603
5595
 
5604
5596
  /*
@@ -5663,11 +5655,15 @@ function $e5be200c675c3b3a$var$useFormValidationStateImpl(props) {
5663
5655
  validationDetails: $e5be200c675c3b3a$var$CUSTOM_VALIDITY_STATE
5664
5656
  } : null;
5665
5657
  // Perform custom client side validation.
5666
- let clientError = (useMemo)(()=>$e5be200c675c3b3a$var$getValidationResult($e5be200c675c3b3a$var$runValidate(validate, value)), [
5658
+ let clientError = (useMemo)(()=>{
5659
+ if (!validate || value == null) return null;
5660
+ let validateErrors = $e5be200c675c3b3a$var$runValidate(validate, value);
5661
+ return $e5be200c675c3b3a$var$getValidationResult(validateErrors);
5662
+ }, [
5667
5663
  validate,
5668
5664
  value
5669
5665
  ]);
5670
- if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid) builtinValidation = null;
5666
+ if (builtinValidation === null || builtinValidation === void 0 ? void 0 : builtinValidation.validationDetails.valid) builtinValidation = undefined;
5671
5667
  // Get relevant server errors from the form.
5672
5668
  let serverErrors = (useContext)($e5be200c675c3b3a$export$571b5131b7e65c11);
5673
5669
  let serverErrorMessages = (useMemo)(()=>{
@@ -5759,7 +5755,7 @@ function $e5be200c675c3b3a$var$getValidationResult(errors) {
5759
5755
  }
5760
5756
  function $e5be200c675c3b3a$var$isEqualValidation(a, b) {
5761
5757
  if (a === b) return true;
5762
- 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);
5758
+ 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);
5763
5759
  }
5764
5760
  function $e5be200c675c3b3a$export$75ee7c75d68f5b0e(...results) {
5765
5761
  let errors = new Set();
@@ -5785,7 +5781,7 @@ function $e5be200c675c3b3a$export$75ee7c75d68f5b0e(...results) {
5785
5781
  }
5786
5782
 
5787
5783
  /*
5788
- * Copyright 2020 Adobe. All rights reserved.
5784
+ * Copyright 2023 Adobe. All rights reserved.
5789
5785
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5790
5786
  * you may not use this file except in compliance with the License. You may obtain a copy
5791
5787
  * of the License at http://www.apache.org/licenses/LICENSE-2.0
@@ -5797,41 +5793,145 @@ function $e5be200c675c3b3a$export$75ee7c75d68f5b0e(...results) {
5797
5793
  */
5798
5794
 
5799
5795
 
5800
- function $d2c8e2b0480f3f34$export$cbe85ee05b554577(props, state, ref) {
5801
- let { isDisabled: isDisabled = false, isReadOnly: isReadOnly = false, value: value, name: name, children: children, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, validationState: validationState = 'valid', isInvalid: isInvalid } = props;
5802
- let onChange = (e)=>{
5803
- // since we spread props on label, onChange will end up there as well as in here.
5804
- // so we have to stop propagation at the lowest level that we care about
5805
- e.stopPropagation();
5806
- state.setSelected(e.target.checked);
5807
- };
5808
- let hasChildren = children != null;
5809
- let hasAriaLabel = ariaLabel != null || ariaLabelledby != null;
5810
- if (!hasChildren && !hasAriaLabel) console.warn('If you do not provide children, you must specify an aria-label for accessibility');
5811
- // This handles focusing the input on pointer down, which Safari does not do by default.
5812
- let { pressProps: pressProps, isPressed: isPressed } = ($f6c31cce2adf654f$export$45712eceda6fad21)({
5813
- isDisabled: isDisabled
5796
+ function $e93e671b31057976$export$b8473d3665f3a75a(props, state, ref) {
5797
+ let { validationBehavior: validationBehavior, focus: focus } = props;
5798
+ // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.
5799
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
5800
+ if (validationBehavior === 'native' && (ref === null || ref === void 0 ? void 0 : ref.current)) {
5801
+ let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';
5802
+ ref.current.setCustomValidity(errorMessage);
5803
+ // Prevent default tooltip for validation message.
5804
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=605277
5805
+ if (!ref.current.hasAttribute('title')) ref.current.title = '';
5806
+ if (!state.realtimeValidation.isInvalid) state.updateValidation($e93e671b31057976$var$getNativeValidity(ref.current));
5807
+ }
5814
5808
  });
5815
- // iOS does not toggle checkboxes if you drag off and back onto the label, so handle it ourselves.
5816
- let { pressProps: labelProps, isPressed: isLabelPressed } = ($f6c31cce2adf654f$export$45712eceda6fad21)({
5817
- isDisabled: isDisabled || isReadOnly,
5818
- onPress () {
5819
- state.toggle();
5809
+ let onReset = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5810
+ state.resetValidation();
5811
+ });
5812
+ let onInvalid = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
5813
+ var _ref_current;
5814
+ // Only commit validation if we are not already displaying one.
5815
+ // This avoids clearing server errors that the user didn't actually fix.
5816
+ if (!state.displayValidation.isInvalid) state.commitValidation();
5817
+ // Auto focus the first invalid input in a form, unless the error already had its default prevented.
5818
+ let form = ref === null || ref === void 0 ? void 0 : (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.form;
5819
+ if (!e.defaultPrevented && ref && form && $e93e671b31057976$var$getFirstInvalidInput(form) === ref.current) {
5820
+ var _ref_current1;
5821
+ if (focus) focus();
5822
+ else (_ref_current1 = ref.current) === null || _ref_current1 === void 0 ? void 0 : _ref_current1.focus();
5823
+ // Always show focus ring.
5824
+ ($507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
5820
5825
  }
5826
+ // Prevent default browser error UI from appearing.
5827
+ e.preventDefault();
5821
5828
  });
5822
- let { focusableProps: focusableProps } = ($e6afbd83fe6ebbd2$export$4c014de7c8940b4c)(props, ref);
5823
- let interactions = ($3ef42575df84b30b$export$9d1611c77c2fe928)(pressProps, focusableProps);
5824
- let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
5825
- labelable: true
5829
+ let onChange = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)(()=>{
5830
+ state.commitValidation();
5826
5831
  });
5827
- ($99facab73266f662$export$5add1d006293d136)(ref, state.isSelected, state.setSelected);
5832
+ (useEffect)(()=>{
5833
+ let input = ref === null || ref === void 0 ? void 0 : ref.current;
5834
+ if (!input) return;
5835
+ let form = input.form;
5836
+ input.addEventListener('invalid', onInvalid);
5837
+ input.addEventListener('change', onChange);
5838
+ form === null || form === void 0 ? void 0 : form.addEventListener('reset', onReset);
5839
+ return ()=>{
5840
+ input.removeEventListener('invalid', onInvalid);
5841
+ input.removeEventListener('change', onChange);
5842
+ form === null || form === void 0 ? void 0 : form.removeEventListener('reset', onReset);
5843
+ };
5844
+ }, [
5845
+ ref,
5846
+ onInvalid,
5847
+ onChange,
5848
+ onReset,
5849
+ validationBehavior
5850
+ ]);
5851
+ }
5852
+ function $e93e671b31057976$var$getValidity(input) {
5853
+ // The native ValidityState object is live, meaning each property is a getter that returns the current state.
5854
+ // We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.
5855
+ let validity = input.validity;
5828
5856
  return {
5829
- labelProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(labelProps, {
5830
- onClick: (e)=>e.preventDefault()
5831
- }),
5832
- inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, {
5833
- 'aria-invalid': isInvalid || validationState === 'invalid' || undefined,
5834
- 'aria-errormessage': props['aria-errormessage'],
5857
+ badInput: validity.badInput,
5858
+ customError: validity.customError,
5859
+ patternMismatch: validity.patternMismatch,
5860
+ rangeOverflow: validity.rangeOverflow,
5861
+ rangeUnderflow: validity.rangeUnderflow,
5862
+ stepMismatch: validity.stepMismatch,
5863
+ tooLong: validity.tooLong,
5864
+ tooShort: validity.tooShort,
5865
+ typeMismatch: validity.typeMismatch,
5866
+ valueMissing: validity.valueMissing,
5867
+ valid: validity.valid
5868
+ };
5869
+ }
5870
+ function $e93e671b31057976$var$getNativeValidity(input) {
5871
+ return {
5872
+ isInvalid: !input.validity.valid,
5873
+ validationDetails: $e93e671b31057976$var$getValidity(input),
5874
+ validationErrors: input.validationMessage ? [
5875
+ input.validationMessage
5876
+ ] : []
5877
+ };
5878
+ }
5879
+ function $e93e671b31057976$var$getFirstInvalidInput(form) {
5880
+ for(let i = 0; i < form.elements.length; i++){
5881
+ let element = form.elements[i];
5882
+ if (!element.validity.valid) return element;
5883
+ }
5884
+ return null;
5885
+ }
5886
+
5887
+ /*
5888
+ * Copyright 2020 Adobe. All rights reserved.
5889
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5890
+ * you may not use this file except in compliance with the License. You may obtain a copy
5891
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
5892
+ *
5893
+ * Unless required by applicable law or agreed to in writing, software distributed under
5894
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
5895
+ * OF ANY KIND, either express or implied. See the License for the specific language
5896
+ * governing permissions and limitations under the License.
5897
+ */
5898
+
5899
+
5900
+ function $d2c8e2b0480f3f34$export$cbe85ee05b554577(props, state, ref) {
5901
+ let { isDisabled: isDisabled = false, isReadOnly: isReadOnly = false, value: value, name: name, children: children, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, validationState: validationState = 'valid', isInvalid: isInvalid } = props;
5902
+ let onChange = (e)=>{
5903
+ // since we spread props on label, onChange will end up there as well as in here.
5904
+ // so we have to stop propagation at the lowest level that we care about
5905
+ e.stopPropagation();
5906
+ state.setSelected(e.target.checked);
5907
+ };
5908
+ let hasChildren = children != null;
5909
+ let hasAriaLabel = ariaLabel != null || ariaLabelledby != null;
5910
+ if (!hasChildren && !hasAriaLabel) console.warn('If you do not provide children, you must specify an aria-label for accessibility');
5911
+ // This handles focusing the input on pointer down, which Safari does not do by default.
5912
+ let { pressProps: pressProps, isPressed: isPressed } = ($f6c31cce2adf654f$export$45712eceda6fad21)({
5913
+ isDisabled: isDisabled
5914
+ });
5915
+ // iOS does not toggle checkboxes if you drag off and back onto the label, so handle it ourselves.
5916
+ let { pressProps: labelProps, isPressed: isLabelPressed } = ($f6c31cce2adf654f$export$45712eceda6fad21)({
5917
+ isDisabled: isDisabled || isReadOnly,
5918
+ onPress () {
5919
+ state.toggle();
5920
+ }
5921
+ });
5922
+ let { focusableProps: focusableProps } = ($e6afbd83fe6ebbd2$export$4c014de7c8940b4c)(props, ref);
5923
+ let interactions = ($3ef42575df84b30b$export$9d1611c77c2fe928)(pressProps, focusableProps);
5924
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
5925
+ labelable: true
5926
+ });
5927
+ ($99facab73266f662$export$5add1d006293d136)(ref, state.isSelected, state.setSelected);
5928
+ return {
5929
+ labelProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(labelProps, {
5930
+ onClick: (e)=>e.preventDefault()
5931
+ }),
5932
+ inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, {
5933
+ 'aria-invalid': isInvalid || validationState === 'invalid' || undefined,
5934
+ 'aria-errormessage': props['aria-errormessage'],
5835
5935
  'aria-controls': props['aria-controls'],
5836
5936
  'aria-readonly': isReadOnly || undefined,
5837
5937
  onChange: onChange,
@@ -5865,6 +5965,8 @@ function $d2c8e2b0480f3f34$export$cbe85ee05b554577(props, state, ref) {
5865
5965
 
5866
5966
 
5867
5967
 
5968
+
5969
+
5868
5970
  function $406796ff087fe49b$export$e375f10ce42261c5(props, state, inputRef) {
5869
5971
  // Create validation state here because it doesn't make sense to add to general useToggleState.
5870
5972
  let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
@@ -5883,8 +5985,18 @@ function $406796ff087fe49b$export$e375f10ce42261c5(props, state, inputRef) {
5883
5985
  // https://css-tricks.com/indeterminate-checkboxes/
5884
5986
  if (inputRef.current) inputRef.current.indeterminate = !!isIndeterminate;
5885
5987
  });
5988
+ // Reset validation state on label press for checkbox with a hidden input.
5989
+ let { pressProps: pressProps } = ($f6c31cce2adf654f$export$45712eceda6fad21)({
5990
+ isDisabled: isDisabled || isReadOnly,
5991
+ onPress () {
5992
+ // @ts-expect-error
5993
+ let { [($e5be200c675c3b3a$export$a763b9476acd3eb)]: groupValidationState } = props;
5994
+ let { commitValidation: commitValidation } = groupValidationState ? groupValidationState : validationState;
5995
+ commitValidation();
5996
+ }
5997
+ });
5886
5998
  return {
5887
- labelProps: labelProps,
5999
+ labelProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(labelProps, pressProps),
5888
6000
  inputProps: {
5889
6001
  ...inputProps,
5890
6002
  checked: isSelected,
@@ -6155,6 +6267,168 @@ function $fba3e38d5ca8983f$export$353b32fc6898d37d(props, state, inputRef) {
6155
6267
  };
6156
6268
  }
6157
6269
 
6270
+ /*
6271
+ * Copyright 2020 Adobe. All rights reserved.
6272
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6273
+ * you may not use this file except in compliance with the License. You may obtain a copy
6274
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6275
+ *
6276
+ * Unless required by applicable law or agreed to in writing, software distributed under
6277
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
6278
+ * OF ANY KIND, either express or implied. See the License for the specific language
6279
+ * governing permissions and limitations under the License.
6280
+ */
6281
+
6282
+
6283
+ const $5c3e21d68f1c4674$var$styles = {
6284
+ border: 0,
6285
+ clip: 'rect(0 0 0 0)',
6286
+ clipPath: 'inset(50%)',
6287
+ height: '1px',
6288
+ margin: '-1px',
6289
+ overflow: 'hidden',
6290
+ padding: 0,
6291
+ position: 'absolute',
6292
+ width: '1px',
6293
+ whiteSpace: 'nowrap'
6294
+ };
6295
+ function $5c3e21d68f1c4674$export$a966af930f325cab(props = {}) {
6296
+ let { style: style, isFocusable: isFocusable } = props;
6297
+ let [isFocused, setFocused] = (useState)(false);
6298
+ let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
6299
+ isDisabled: !isFocusable,
6300
+ onFocusWithinChange: (val)=>setFocused(val)
6301
+ });
6302
+ // If focused, don't hide the element.
6303
+ let combinedStyles = (useMemo)(()=>{
6304
+ if (isFocused) return style;
6305
+ else if (style) return {
6306
+ ...$5c3e21d68f1c4674$var$styles,
6307
+ ...style
6308
+ };
6309
+ else return $5c3e21d68f1c4674$var$styles;
6310
+ // eslint-disable-next-line react-hooks/exhaustive-deps
6311
+ }, [
6312
+ isFocused
6313
+ ]);
6314
+ return {
6315
+ visuallyHiddenProps: {
6316
+ ...focusWithinProps,
6317
+ style: combinedStyles
6318
+ }
6319
+ };
6320
+ }
6321
+ function $5c3e21d68f1c4674$export$439d29a4e110a164(props) {
6322
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
6323
+ let { children: children, elementType: Element = 'div', isFocusable: isFocusable, style: style, ...otherProps } = props;
6324
+ let { visuallyHiddenProps: visuallyHiddenProps } = $5c3e21d68f1c4674$export$a966af930f325cab(props);
6325
+ return /*#__PURE__*/ ($dbSRa$react).createElement(Element, ($3ef42575df84b30b$export$9d1611c77c2fe928)(otherProps, visuallyHiddenProps), children);
6326
+ }
6327
+
6328
+ /*
6329
+ * Copyright 2020 Adobe. All rights reserved.
6330
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6331
+ * you may not use this file except in compliance with the License. You may obtain a copy
6332
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6333
+ *
6334
+ * Unless required by applicable law or agreed to in writing, software distributed under
6335
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
6336
+ * OF ANY KIND, either express or implied. See the License for the specific language
6337
+ * governing permissions and limitations under the License.
6338
+ */
6339
+
6340
+
6341
+
6342
+
6343
+
6344
+
6345
+ function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
6346
+ let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;
6347
+ let [value, setValue] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
6348
+ let { focusableProps: focusableProps } = ($e6afbd83fe6ebbd2$export$4c014de7c8940b4c)(props, ref);
6349
+ let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
6350
+ ...props,
6351
+ value: value
6352
+ });
6353
+ let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;
6354
+ let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($2baaea4c71418dea$export$294aa081a6c6f55d)({
6355
+ ...props,
6356
+ isInvalid: isInvalid,
6357
+ errorMessage: props.errorMessage || validationErrors
6358
+ });
6359
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
6360
+ labelable: true
6361
+ });
6362
+ const inputOnlyProps = {
6363
+ type: type,
6364
+ pattern: props.pattern
6365
+ };
6366
+ ($99facab73266f662$export$5add1d006293d136)(ref, value, setValue);
6367
+ ($e93e671b31057976$export$b8473d3665f3a75a)(props, validationState, ref);
6368
+ (useEffect)(()=>{
6369
+ // This works around a React/Chrome bug that prevents textarea elements from validating when controlled.
6370
+ // We prevent React from updating defaultValue (i.e. children) of textarea when `value` changes,
6371
+ // which causes Chrome to skip validation. Only updating `value` is ok in our case since our
6372
+ // textareas are always controlled. React is planning on removing this synchronization in a
6373
+ // future major version.
6374
+ // https://github.com/facebook/react/issues/19474
6375
+ // https://github.com/facebook/react/issues/11896
6376
+ if (ref.current instanceof ($431fbd86ca7dc216$export$f21a1ffae260145a)(ref.current).HTMLTextAreaElement) {
6377
+ let input = ref.current;
6378
+ Object.defineProperty(input, 'defaultValue', {
6379
+ get: ()=>input.value,
6380
+ set: ()=>{},
6381
+ configurable: true
6382
+ });
6383
+ }
6384
+ }, [
6385
+ ref
6386
+ ]);
6387
+ return {
6388
+ labelProps: labelProps,
6389
+ inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {
6390
+ disabled: isDisabled,
6391
+ readOnly: isReadOnly,
6392
+ required: isRequired && validationBehavior === 'native',
6393
+ 'aria-required': isRequired && validationBehavior === 'aria' || undefined,
6394
+ 'aria-invalid': isInvalid || undefined,
6395
+ 'aria-errormessage': props['aria-errormessage'],
6396
+ 'aria-activedescendant': props['aria-activedescendant'],
6397
+ 'aria-autocomplete': props['aria-autocomplete'],
6398
+ 'aria-haspopup': props['aria-haspopup'],
6399
+ value: value,
6400
+ onChange: (e)=>setValue(e.target.value),
6401
+ autoComplete: props.autoComplete,
6402
+ autoCapitalize: props.autoCapitalize,
6403
+ maxLength: props.maxLength,
6404
+ minLength: props.minLength,
6405
+ name: props.name,
6406
+ placeholder: props.placeholder,
6407
+ inputMode: props.inputMode,
6408
+ // Clipboard events
6409
+ onCopy: props.onCopy,
6410
+ onCut: props.onCut,
6411
+ onPaste: props.onPaste,
6412
+ // Composition events
6413
+ onCompositionEnd: props.onCompositionEnd,
6414
+ onCompositionStart: props.onCompositionStart,
6415
+ onCompositionUpdate: props.onCompositionUpdate,
6416
+ // Selection events
6417
+ onSelect: props.onSelect,
6418
+ // Input events
6419
+ onBeforeInput: props.onBeforeInput,
6420
+ onInput: props.onInput,
6421
+ ...focusableProps,
6422
+ ...fieldProps
6423
+ }),
6424
+ descriptionProps: descriptionProps,
6425
+ errorMessageProps: errorMessageProps,
6426
+ isInvalid: isInvalid,
6427
+ validationErrors: validationErrors,
6428
+ validationDetails: validationDetails
6429
+ };
6430
+ }
6431
+
6158
6432
  /*
6159
6433
  * Copyright 2020 Adobe. All rights reserved.
6160
6434
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -6191,12 +6465,12 @@ const $edcf132a9284368a$var$TOTAL_SIZE = {
6191
6465
  height: 'totalHeight'
6192
6466
  };
6193
6467
  const $edcf132a9284368a$var$PARSED_PLACEMENT_CACHE = {};
6194
- // @ts-ignore
6195
- let $edcf132a9284368a$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
6468
+ let $edcf132a9284368a$var$visualViewport = typeof document !== 'undefined' ? window.visualViewport : null;
6196
6469
  function $edcf132a9284368a$var$getContainerDimensions(containerNode) {
6197
6470
  let width = 0, height = 0, totalWidth = 0, totalHeight = 0, top = 0, left = 0;
6198
6471
  let scroll = {};
6199
- let isPinchZoomedIn = ($edcf132a9284368a$var$visualViewport === null || $edcf132a9284368a$var$visualViewport === void 0 ? void 0 : $edcf132a9284368a$var$visualViewport.scale) > 1;
6472
+ var _visualViewport_scale;
6473
+ 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;
6200
6474
  if (containerNode.tagName === 'BODY') {
6201
6475
  let documentElement = document.documentElement;
6202
6476
  totalWidth = documentElement.clientWidth;
@@ -6228,8 +6502,10 @@ function $edcf132a9284368a$var$getContainerDimensions(containerNode) {
6228
6502
  // before pinch zoom happens
6229
6503
  scroll.top = 0;
6230
6504
  scroll.left = 0;
6231
- top = $edcf132a9284368a$var$visualViewport.pageTop;
6232
- left = $edcf132a9284368a$var$visualViewport.pageLeft;
6505
+ var _visualViewport_pageTop;
6506
+ 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;
6507
+ var _visualViewport_pageLeft;
6508
+ 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;
6233
6509
  }
6234
6510
  return {
6235
6511
  width: width,
@@ -6258,7 +6534,8 @@ boundaryDimensions, // The dimensions of the containing block element that the p
6258
6534
  // is portaled somewhere other than the body and has an ancestor with
6259
6535
  // position: relative/absolute, it will be different.
6260
6536
  containerDimensions, padding, containerOffsetWithBoundary) {
6261
- let containerScroll = containerDimensions.scroll[axis];
6537
+ var _containerDimensions_scroll_axis;
6538
+ let containerScroll = (_containerDimensions_scroll_axis = containerDimensions.scroll[axis]) !== null && _containerDimensions_scroll_axis !== void 0 ? _containerDimensions_scroll_axis : 0;
6262
6539
  // The height/width of the boundary. Matches the axis along which we are adjusting the overlay position
6263
6540
  let boundarySize = boundaryDimensions[$edcf132a9284368a$var$AXIS_SIZE[axis]];
6264
6541
  // Calculate the edges of the boundary (accomodating for the boundary padding) and the edges of the overlay.
@@ -6303,14 +6580,16 @@ function $edcf132a9284368a$var$parsePlacement(input) {
6303
6580
  function $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned, arrowSize, arrowBoundaryOffset) {
6304
6581
  let { placement: placement, crossPlacement: crossPlacement, axis: axis, crossAxis: crossAxis, size: size, crossSize: crossSize } = placementInfo;
6305
6582
  let position = {};
6583
+ var _childOffset_crossAxis;
6306
6584
  // button position
6307
- position[crossAxis] = childOffset[crossAxis];
6585
+ position[crossAxis] = (_childOffset_crossAxis = childOffset[crossAxis]) !== null && _childOffset_crossAxis !== void 0 ? _childOffset_crossAxis : 0;
6586
+ var _childOffset_crossSize, _overlaySize_crossSize, _childOffset_crossSize1, _overlaySize_crossSize1;
6308
6587
  if (crossPlacement === 'center') // + (button size / 2) - (overlay size / 2)
6309
6588
  // at this point the overlay center should match the button center
6310
- position[crossAxis] += (childOffset[crossSize] - overlaySize[crossSize]) / 2;
6589
+ 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;
6311
6590
  else if (crossPlacement !== crossAxis) // + (button size) - (overlay size)
6312
6591
  // at this point the overlay bottom should match the button bottom
6313
- position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];
6592
+ 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);
6314
6593
  /* else {
6315
6594
  the overlay top should match the button top
6316
6595
  } */
@@ -6333,23 +6612,26 @@ function $edcf132a9284368a$var$computePosition(childOffset, boundaryDimensions,
6333
6612
  }
6334
6613
  function $edcf132a9284368a$var$getMaxHeight(position, boundaryDimensions, containerOffsetWithBoundary, isContainerPositioned, margins, padding, overlayHeight, heightGrowthDirection) {
6335
6614
  const containerHeight = isContainerPositioned ? containerOffsetWithBoundary.height : boundaryDimensions[$edcf132a9284368a$var$TOTAL_SIZE.height];
6615
+ var _position_bottom;
6336
6616
  // 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
6337
6617
  // used in computePosition.
6338
- let overlayTop = position.top != null ? containerOffsetWithBoundary.top + position.top : containerOffsetWithBoundary.top + (containerHeight - position.bottom - overlayHeight);
6618
+ 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);
6619
+ var _boundaryDimensions_scroll_top, _margins_top, _margins_bottom, _boundaryDimensions_scroll_top1, _margins_top1, _margins_bottom1;
6339
6620
  let maxHeight = heightGrowthDirection !== 'top' ? // We want the distance between the top of the overlay to the bottom of the boundary
6340
- Math.max(0, boundaryDimensions.height + boundaryDimensions.top + boundaryDimensions.scroll.top // this is the bottom of the boundary
6341
- - overlayTop // this is the top of the overlay
6342
- - (margins.top + margins.bottom + padding // save additional space for margin and padding
6621
+ 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
6622
+ - (((_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
6343
6623
  )) : Math.max(0, overlayTop + overlayHeight // this is the bottom of the overlay
6344
- - (boundaryDimensions.top + boundaryDimensions.scroll.top // this is the top of the boundary
6345
- ) - (margins.top + margins.bottom + padding // save additional space for margin and padding
6624
+ - (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
6625
+ ) - (((_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
6346
6626
  ));
6347
6627
  return Math.min(boundaryDimensions.height - padding * 2, maxHeight);
6348
6628
  }
6349
6629
  function $edcf132a9284368a$var$getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding, placementInfo) {
6350
6630
  let { placement: placement, axis: axis, size: size } = placementInfo;
6351
- 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);
6352
- 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);
6631
+ var _boundaryDimensions_scroll_axis, _margins_axis;
6632
+ 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);
6633
+ var _margins_axis1;
6634
+ 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);
6353
6635
  }
6354
6636
  function $edcf132a9284368a$export$6839422d1f33cee9(placementInput, childOffset, overlaySize, scrollSize, margins, padding, flip, boundaryDimensions, containerDimensions, containerOffsetWithBoundary, offset, crossOffset, isContainerPositioned, userSetMaxHeight, arrowSize, arrowBoundaryOffset) {
6355
6637
  let placementInfo = $edcf132a9284368a$var$parsePlacement(placementInput);
@@ -6395,8 +6677,9 @@ function $edcf132a9284368a$export$6839422d1f33cee9(placementInput, childOffset,
6395
6677
  let preferredArrowPosition = childOffset[crossAxis] + .5 * childOffset[crossSize] - position[crossAxis] - margins[$edcf132a9284368a$var$AXIS[crossAxis]];
6396
6678
  // Min/Max position limits for the arrow with respect to the overlay
6397
6679
  const arrowMinPosition = arrowSize / 2 + arrowBoundaryOffset;
6680
+ var _margins_left, _margins_right, _margins_top, _margins_bottom;
6398
6681
  // overlaySize[crossSize] - margins = true size of the overlay
6399
- const overlayMargin = $edcf132a9284368a$var$AXIS[crossAxis] === 'left' ? margins.left + margins.right : margins.top + margins.bottom;
6682
+ 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);
6400
6683
  const arrowMaxPosition = overlaySize[crossSize] - overlayMargin - arrowSize / 2 - arrowBoundaryOffset;
6401
6684
  // Min/Max position limits for the arrow with respect to the trigger/overlay anchor element
6402
6685
  // Same margin accomodation done here as well as for the preferredArrowPosition
@@ -6427,8 +6710,10 @@ function $edcf132a9284368a$export$b3ceb0cbf1056d98(opts) {
6427
6710
  }
6428
6711
  let overlaySize = $edcf132a9284368a$var$getOffset(overlayNode);
6429
6712
  let margins = $edcf132a9284368a$var$getMargins(overlayNode);
6430
- overlaySize.width += margins.left + margins.right;
6431
- overlaySize.height += margins.top + margins.bottom;
6713
+ var _margins_left, _margins_right;
6714
+ 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);
6715
+ var _margins_top, _margins_bottom;
6716
+ 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);
6432
6717
  let scrollSize = $edcf132a9284368a$var$getScroll(scrollNode);
6433
6718
  let boundaryDimensions = $edcf132a9284368a$var$getContainerDimensions(boundaryElement);
6434
6719
  let containerDimensions = $edcf132a9284368a$var$getContainerDimensions(container);
@@ -6501,9 +6786,7 @@ function $edcf132a9284368a$var$getContainingBlock(node) {
6501
6786
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
6502
6787
  function $edcf132a9284368a$var$isContainingBlock(node) {
6503
6788
  let style = window.getComputedStyle(node);
6504
- return style.transform !== 'none' || /transform|perspective/.test(style.willChange) || style.filter !== 'none' || style.contain === 'paint' || // @ts-ignore
6505
- 'backdropFilter' in style && style.backdropFilter !== 'none' || // @ts-ignore
6506
- 'WebkitBackdropFilter' in style && style.WebkitBackdropFilter !== 'none';
6789
+ 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';
6507
6790
  }
6508
6791
 
6509
6792
  /*
@@ -6560,18 +6843,11 @@ function $dd149f63282afbbf$export$18fc8428861184da(opts) {
6560
6843
 
6561
6844
 
6562
6845
 
6563
- // @ts-ignore
6564
- let $2a41e45df1593e64$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
6846
+ let $2a41e45df1593e64$var$visualViewport = typeof document !== 'undefined' ? window.visualViewport : null;
6565
6847
  function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6566
6848
  let { direction: direction } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
6567
6849
  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;
6568
- let [position, setPosition] = (useState)({
6569
- position: {},
6570
- arrowOffsetLeft: undefined,
6571
- arrowOffsetTop: undefined,
6572
- maxHeight: undefined,
6573
- placement: undefined
6574
- });
6850
+ let [position, setPosition] = (useState)(null);
6575
6851
  let deps = [
6576
6852
  shouldUpdatePosition,
6577
6853
  placement,
@@ -6607,17 +6883,20 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6607
6883
  // changes, the focused element appears to stay in the same position.
6608
6884
  let anchor = null;
6609
6885
  if (scrollRef.current && scrollRef.current.contains(document.activeElement)) {
6610
- let anchorRect = document.activeElement.getBoundingClientRect();
6886
+ var _document_activeElement;
6887
+ let anchorRect = (_document_activeElement = document.activeElement) === null || _document_activeElement === void 0 ? void 0 : _document_activeElement.getBoundingClientRect();
6611
6888
  let scrollRect = scrollRef.current.getBoundingClientRect();
6889
+ var _anchorRect_top;
6612
6890
  // Anchor from the top if the offset is in the top half of the scrollable element,
6613
6891
  // otherwise anchor from the bottom.
6614
6892
  anchor = {
6615
6893
  type: 'top',
6616
- offset: anchorRect.top - scrollRect.top
6894
+ offset: ((_anchorRect_top = anchorRect === null || anchorRect === void 0 ? void 0 : anchorRect.top) !== null && _anchorRect_top !== void 0 ? _anchorRect_top : 0) - scrollRect.top
6617
6895
  };
6618
6896
  if (anchor.offset > scrollRect.height / 2) {
6619
6897
  anchor.type = 'bottom';
6620
- anchor.offset = anchorRect.bottom - scrollRect.bottom;
6898
+ var _anchorRect_bottom;
6899
+ anchor.offset = ((_anchorRect_bottom = anchorRect === null || anchorRect === void 0 ? void 0 : anchorRect.bottom) !== null && _anchorRect_bottom !== void 0 ? _anchorRect_bottom : 0) - scrollRect.bottom;
6621
6900
  }
6622
6901
  }
6623
6902
  // Always reset the overlay's previous max height if not defined by the user so that we can compensate for
@@ -6644,6 +6923,7 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6644
6923
  arrowSize: arrowSize,
6645
6924
  arrowBoundaryOffset: arrowBoundaryOffset
6646
6925
  });
6926
+ if (!position.position) return;
6647
6927
  // Modify overlay styles directly so positioning happens immediately without the need of a second render
6648
6928
  // This is so we don't have to delay autoFocus scrolling or delay applying preventScroll for popovers
6649
6929
  overlay.style.top = '';
@@ -6651,9 +6931,9 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6651
6931
  overlay.style.left = '';
6652
6932
  overlay.style.right = '';
6653
6933
  Object.keys(position.position).forEach((key)=>overlay.style[key] = position.position[key] + 'px');
6654
- overlay.style.maxHeight = position.maxHeight != null ? position.maxHeight + 'px' : undefined;
6934
+ overlay.style.maxHeight = position.maxHeight != null ? position.maxHeight + 'px' : '';
6655
6935
  // Restore scroll position relative to anchor element.
6656
- if (anchor) {
6936
+ if (anchor && document.activeElement && scrollRef.current) {
6657
6937
  let anchorRect = document.activeElement.getBoundingClientRect();
6658
6938
  let scrollRect = scrollRef.current.getBoundingClientRect();
6659
6939
  let newOffset = anchorRect[anchor.type] - scrollRect[anchor.type];
@@ -6706,7 +6986,7 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6706
6986
  updatePosition
6707
6987
  ]);
6708
6988
  let close = (useCallback)(()=>{
6709
- if (!isResizing.current) onClose();
6989
+ if (!isResizing.current) onClose === null || onClose === void 0 ? void 0 : onClose();
6710
6990
  }, [
6711
6991
  onClose,
6712
6992
  isResizing
@@ -6718,23 +6998,23 @@ function $2a41e45df1593e64$export$d39e1813b3bdd0e1(props) {
6718
6998
  isOpen: isOpen,
6719
6999
  onClose: onClose && close
6720
7000
  });
6721
- var _position_maxHeight;
7001
+ var _position_maxHeight, _position_placement;
6722
7002
  return {
6723
7003
  overlayProps: {
6724
7004
  style: {
6725
7005
  position: 'absolute',
6726
7006
  zIndex: 100000,
6727
- ...position.position,
6728
- maxHeight: (_position_maxHeight = position.maxHeight) !== null && _position_maxHeight !== void 0 ? _position_maxHeight : '100vh'
7007
+ ...position === null || position === void 0 ? void 0 : position.position,
7008
+ maxHeight: (_position_maxHeight = position === null || position === void 0 ? void 0 : position.maxHeight) !== null && _position_maxHeight !== void 0 ? _position_maxHeight : '100vh'
6729
7009
  }
6730
7010
  },
6731
- placement: position.placement,
7011
+ placement: (_position_placement = position === null || position === void 0 ? void 0 : position.placement) !== null && _position_placement !== void 0 ? _position_placement : null,
6732
7012
  arrowProps: {
6733
7013
  'aria-hidden': 'true',
6734
7014
  role: 'presentation',
6735
7015
  style: {
6736
- left: position.arrowOffsetLeft,
6737
- top: position.arrowOffsetTop
7016
+ left: position === null || position === void 0 ? void 0 : position.arrowOffsetLeft,
7017
+ top: position === null || position === void 0 ? void 0 : position.arrowOffsetTop
6738
7018
  }
6739
7019
  },
6740
7020
  updatePosition: updatePosition
@@ -6814,7 +7094,7 @@ function $a11501f3d1d39e6c$export$ea8f71083e90600f(props, ref) {
6814
7094
  // Handle clicking outside the overlay to close it
6815
7095
  ($e0b6e0b68ec7f50f$export$872b660ac5a1ff98)({
6816
7096
  ref: ref,
6817
- onInteractOutside: isDismissable && isOpen ? onInteractOutside : null,
7097
+ onInteractOutside: isDismissable && isOpen ? onInteractOutside : undefined,
6818
7098
  onInteractOutsideStart: onInteractOutsideStart
6819
7099
  });
6820
7100
  let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
@@ -6830,7 +7110,7 @@ function $a11501f3d1d39e6c$export$ea8f71083e90600f(props, ref) {
6830
7110
  // do not close the outer overlay. At this point, the active scope should
6831
7111
  // still be the outer overlay, since blur events run before focus.
6832
7112
  if (!e.relatedTarget || ($9bf71ea28793e738$export$1258395f99bf9cbf)(e.relatedTarget)) return;
6833
- if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget)) onClose();
7113
+ if (!shouldCloseOnInteractOutside || shouldCloseOnInteractOutside(e.relatedTarget)) onClose === null || onClose === void 0 ? void 0 : onClose();
6834
7114
  }
6835
7115
  });
6836
7116
  let onPointerDownUnderlay = (e)=>{
@@ -6881,7 +7161,7 @@ function $628037886ba31236$export$f9d5c8beee7d008d(props, state, ref) {
6881
7161
  triggerProps: {
6882
7162
  'aria-haspopup': ariaHasPopup,
6883
7163
  'aria-expanded': isOpen,
6884
- 'aria-controls': isOpen ? overlayId : null,
7164
+ 'aria-controls': isOpen ? overlayId : undefined,
6885
7165
  onPress: state.toggle
6886
7166
  },
6887
7167
  overlayProps: {
@@ -6901,7 +7181,6 @@ function $628037886ba31236$export$f9d5c8beee7d008d(props, state, ref) {
6901
7181
  * OF ANY KIND, either express or implied. See the License for the specific language
6902
7182
  * governing permissions and limitations under the License.
6903
7183
  */
6904
- // @ts-ignore
6905
7184
  const $49c51c25361d4cd2$var$visualViewport = typeof document !== 'undefined' && window.visualViewport;
6906
7185
  // HTML input types that do not cause the software keyboard to appear.
6907
7186
  const $49c51c25361d4cd2$var$nonTextInputTypes = new Set([
@@ -7084,22 +7363,26 @@ function $49c51c25361d4cd2$var$setStyle(element, style, value) {
7084
7363
  }
7085
7364
  // Adds an event listener to an element, and returns a function to remove it.
7086
7365
  function $49c51c25361d4cd2$var$addEvent(target, event, handler, options) {
7366
+ // internal function, so it's ok to ignore the difficult to fix type error
7367
+ // @ts-ignore
7087
7368
  target.addEventListener(event, handler, options);
7088
7369
  return ()=>{
7370
+ // @ts-ignore
7089
7371
  target.removeEventListener(event, handler, options);
7090
7372
  };
7091
7373
  }
7092
7374
  function $49c51c25361d4cd2$var$scrollIntoView(target) {
7093
7375
  let root = document.scrollingElement || document.documentElement;
7094
- while(target && target !== root){
7376
+ let nextTarget = target;
7377
+ while(nextTarget && nextTarget !== root){
7095
7378
  // Find the parent scrollable element and adjust the scroll position if the target is not already in view.
7096
- let scrollable = ($62d8ded9296f3872$export$cfa2225e87938781)(target);
7097
- if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {
7379
+ let scrollable = ($62d8ded9296f3872$export$cfa2225e87938781)(nextTarget);
7380
+ if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== nextTarget) {
7098
7381
  let scrollableTop = scrollable.getBoundingClientRect().top;
7099
- let targetTop = target.getBoundingClientRect().top;
7100
- if (targetTop > scrollableTop + target.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;
7382
+ let targetTop = nextTarget.getBoundingClientRect().top;
7383
+ if (targetTop > scrollableTop + nextTarget.clientHeight) scrollable.scrollTop += targetTop - scrollableTop;
7101
7384
  }
7102
- target = scrollable.parentElement;
7385
+ nextTarget = scrollable.parentElement;
7103
7386
  }
7104
7387
  }
7105
7388
  function $49c51c25361d4cd2$var$willOpenKeyboard(target) {
@@ -7147,7 +7430,7 @@ function $f57aed4a881a3485$export$d9aaed4c3ece1bc0() {
7147
7430
  let context = (useContext)($f57aed4a881a3485$var$Context);
7148
7431
  return {
7149
7432
  modalProviderProps: {
7150
- 'aria-hidden': context && context.modalCount > 0 ? true : null
7433
+ 'aria-hidden': context && context.modalCount > 0 ? true : undefined
7151
7434
  }
7152
7435
  };
7153
7436
  }
@@ -7419,64 +7702,6 @@ $a2f21f5f14f60553$exports = {
7419
7702
  "zh-TW": $2b2734393847c884$exports
7420
7703
  };
7421
7704
 
7422
- /*
7423
- * Copyright 2020 Adobe. All rights reserved.
7424
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
7425
- * you may not use this file except in compliance with the License. You may obtain a copy
7426
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
7427
- *
7428
- * Unless required by applicable law or agreed to in writing, software distributed under
7429
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
7430
- * OF ANY KIND, either express or implied. See the License for the specific language
7431
- * governing permissions and limitations under the License.
7432
- */
7433
-
7434
-
7435
- const $5c3e21d68f1c4674$var$styles = {
7436
- border: 0,
7437
- clip: 'rect(0 0 0 0)',
7438
- clipPath: 'inset(50%)',
7439
- height: '1px',
7440
- margin: '-1px',
7441
- overflow: 'hidden',
7442
- padding: 0,
7443
- position: 'absolute',
7444
- width: '1px',
7445
- whiteSpace: 'nowrap'
7446
- };
7447
- function $5c3e21d68f1c4674$export$a966af930f325cab(props = {}) {
7448
- let { style: style, isFocusable: isFocusable } = props;
7449
- let [isFocused, setFocused] = (useState)(false);
7450
- let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
7451
- isDisabled: !isFocusable,
7452
- onFocusWithinChange: (val)=>setFocused(val)
7453
- });
7454
- // If focused, don't hide the element.
7455
- let combinedStyles = (useMemo)(()=>{
7456
- if (isFocused) return style;
7457
- else if (style) return {
7458
- ...$5c3e21d68f1c4674$var$styles,
7459
- ...style
7460
- };
7461
- else return $5c3e21d68f1c4674$var$styles;
7462
- // eslint-disable-next-line react-hooks/exhaustive-deps
7463
- }, [
7464
- isFocused
7465
- ]);
7466
- return {
7467
- visuallyHiddenProps: {
7468
- ...focusWithinProps,
7469
- style: combinedStyles
7470
- }
7471
- };
7472
- }
7473
- function $5c3e21d68f1c4674$export$439d29a4e110a164(props) {
7474
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7475
- let { children: children, elementType: Element = 'div', isFocusable: isFocusable, style: style, ...otherProps } = props;
7476
- let { visuallyHiddenProps: visuallyHiddenProps } = $5c3e21d68f1c4674$export$a966af930f325cab(props);
7477
- return /*#__PURE__*/ ($dbSRa$react).createElement(Element, ($3ef42575df84b30b$export$9d1611c77c2fe928)(otherProps, visuallyHiddenProps), children);
7478
- }
7479
-
7480
7705
  function $parcel$interopDefault$5(a) {
7481
7706
  return a && a.__esModule ? a.default : a;
7482
7707
  }
@@ -7538,7 +7763,7 @@ function $5e3802645cc19319$export$1c3ebcada18427bf(targets, root = document.body
7538
7763
  // Also skip children of already hidden nodes, as aria-hidden is recursive. An exception is
7539
7764
  // made for elements with role="row" since VoiceOver on iOS has issues hiding elements with role="row".
7540
7765
  // For that case we want to hide the cells inside as well (https://bugs.webkit.org/show_bug.cgi?id=222623).
7541
- if (visibleNodes.has(node) || hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute('role') !== 'row') return NodeFilter.FILTER_REJECT;
7766
+ if (visibleNodes.has(node) || node.parentElement && hiddenNodes.has(node.parentElement) && node.parentElement.getAttribute('role') !== 'row') return NodeFilter.FILTER_REJECT;
7542
7767
  // Skip this node but continue to children if one of the targets is inside the node.
7543
7768
  for (let target of visibleNodes){
7544
7769
  if (node.contains(target)) return NodeFilter.FILTER_SKIP;
@@ -7613,6 +7838,7 @@ function $5e3802645cc19319$export$1c3ebcada18427bf(targets, root = document.body
7613
7838
  observer.disconnect();
7614
7839
  for (let node of hiddenNodes){
7615
7840
  let count = $5e3802645cc19319$var$refCountMap.get(node);
7841
+ if (count == null) continue;
7616
7842
  if (count === 1) {
7617
7843
  node.removeAttribute('aria-hidden');
7618
7844
  $5e3802645cc19319$var$refCountMap.delete(node);
@@ -7644,7 +7870,8 @@ function $5e3802645cc19319$export$1c3ebcada18427bf(targets, root = document.body
7644
7870
  function $f2f8a6077418541e$export$542a6fd13ac93354(props, state) {
7645
7871
  let { triggerRef: triggerRef, popoverRef: popoverRef, isNonModal: isNonModal, isKeyboardDismissDisabled: isKeyboardDismissDisabled, shouldCloseOnInteractOutside: shouldCloseOnInteractOutside, ...otherProps } = props;
7646
7872
  let { overlayProps: overlayProps, underlayProps: underlayProps } = ($a11501f3d1d39e6c$export$ea8f71083e90600f)({
7647
- isOpen: state.isOpen,
7873
+ // If popover is in the top layer, it should not prevent other popovers from being dismissed.
7874
+ isOpen: state.isOpen && !otherProps['data-react-aria-top-layer'],
7648
7875
  onClose: state.close,
7649
7876
  shouldCloseOnBlur: true,
7650
7877
  isDismissable: !isNonModal,
@@ -7656,7 +7883,7 @@ function $f2f8a6077418541e$export$542a6fd13ac93354(props, state) {
7656
7883
  targetRef: triggerRef,
7657
7884
  overlayRef: popoverRef,
7658
7885
  isOpen: state.isOpen,
7659
- onClose: isNonModal ? state.close : null
7886
+ onClose: isNonModal ? state.close : undefined
7660
7887
  });
7661
7888
  ($49c51c25361d4cd2$export$ee0f7cc6afcd1c18)({
7662
7889
  isDisabled: isNonModal || !state.isOpen
@@ -7774,7 +8001,7 @@ function $8ac8429251c45e4b$export$dbc0f175b25fb0fb(props, state, ref) {
7774
8001
  });
7775
8002
  ($337b884510726a0d$export$14c98a7594375490)();
7776
8003
  (useEffect)(()=>{
7777
- if (state.isOpen) return ($5e3802645cc19319$export$1c3ebcada18427bf)([
8004
+ if (state.isOpen && ref.current) return ($5e3802645cc19319$export$1c3ebcada18427bf)([
7778
8005
  ref.current
7779
8006
  ]);
7780
8007
  }, [
@@ -7847,7 +8074,7 @@ function $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {
7847
8074
  let { keyboardDelegate: keyboardDelegate, selectionManager: selectionManager, onTypeSelect: onTypeSelect } = options;
7848
8075
  let state = (useRef)({
7849
8076
  search: '',
7850
- timeout: null
8077
+ timeout: undefined
7851
8078
  }).current;
7852
8079
  let onKeyDown = (e)=>{
7853
8080
  let character = $fb3050f43d946246$var$getStringForKey(e.key);
@@ -7861,14 +8088,16 @@ function $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {
7861
8088
  if (!('continuePropagation' in e)) e.stopPropagation();
7862
8089
  }
7863
8090
  state.search += character;
7864
- // Use the delegate to find a key to focus.
7865
- // Prioritize items after the currently focused item, falling back to searching the whole list.
7866
- let key = keyboardDelegate.getKeyForSearch(state.search, selectionManager.focusedKey);
7867
- // If no key found, search from the top.
7868
- if (key == null) key = keyboardDelegate.getKeyForSearch(state.search);
7869
- if (key != null) {
7870
- selectionManager.setFocusedKey(key);
7871
- if (onTypeSelect) onTypeSelect(key);
8091
+ if (keyboardDelegate.getKeyForSearch != null) {
8092
+ // Use the delegate to find a key to focus.
8093
+ // Prioritize items after the currently focused item, falling back to searching the whole list.
8094
+ let key = keyboardDelegate.getKeyForSearch(state.search, selectionManager.focusedKey);
8095
+ // If no key found, search from the top.
8096
+ if (key == null) key = keyboardDelegate.getKeyForSearch(state.search);
8097
+ if (key != null) {
8098
+ selectionManager.setFocusedKey(key);
8099
+ if (onTypeSelect) onTypeSelect(key);
8100
+ }
7872
8101
  }
7873
8102
  clearTimeout(state.timeout);
7874
8103
  state.timeout = setTimeout(()=>{
@@ -7879,7 +8108,7 @@ function $fb3050f43d946246$export$e32c88dfddc6e1d8(options) {
7879
8108
  typeSelectProps: {
7880
8109
  // Using a capturing listener to catch the keydown event before
7881
8110
  // other hooks in order to handle the Spacebar event.
7882
- onKeyDownCapture: keyboardDelegate.getKeyForSearch ? onKeyDown : null
8111
+ onKeyDownCapture: keyboardDelegate.getKeyForSearch ? onKeyDown : undefined
7883
8112
  }
7884
8113
  };
7885
8114
  }
@@ -7916,21 +8145,23 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7916
8145
  let { direction: direction } = ($18f2051aff69b9bf$export$43bb16f9c6d9e3f7)();
7917
8146
  let router = ($ea8dcbcb9ea1b556$export$9a302a45f65d0572)();
7918
8147
  let onKeyDown = (e)=>{
8148
+ var _ref_current;
7919
8149
  // Prevent option + tab from doing anything since it doesn't move focus to the cells, only buttons/checkboxes
7920
8150
  if (e.altKey && e.key === 'Tab') e.preventDefault();
7921
8151
  // Keyboard events bubble through portals. Don't handle keyboard events
7922
8152
  // for elements outside the collection (e.g. menus).
7923
- if (!ref.current.contains(e.target)) return;
8153
+ if (!((_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.contains(e.target))) return;
7924
8154
  const navigateToKey = (key, childFocus)=>{
7925
8155
  if (key != null) {
7926
8156
  if (manager.isLink(key) && linkBehavior === 'selection' && selectOnFocus && !($feb5ffebff200149$export$d3e3bd3e26688c04)(e)) {
8157
+ var _scrollRef_current;
7927
8158
  // Set focused key and re-render synchronously to bring item into view if needed.
7928
8159
  (flushSync)(()=>{
7929
8160
  manager.setFocusedKey(key, childFocus);
7930
8161
  });
7931
- let item = scrollRef.current.querySelector(`[data-key="${CSS.escape(key.toString())}"]`);
8162
+ let item = (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.querySelector(`[data-key="${CSS.escape(key.toString())}"]`);
7932
8163
  let itemProps = manager.getItemProps(key);
7933
- router.open(item, e, itemProps.href, itemProps.routerOptions);
8164
+ if (item) router.open(item, e, itemProps.href, itemProps.routerOptions);
7934
8165
  return;
7935
8166
  }
7936
8167
  manager.setFocusedKey(key, childFocus);
@@ -7942,38 +8173,46 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7942
8173
  switch(e.key){
7943
8174
  case 'ArrowDown':
7944
8175
  if (delegate.getKeyBelow) {
7945
- var _delegate_getFirstKey, _delegate_getFirstKey1;
7946
- e.preventDefault();
7947
- let nextKey = manager.focusedKey != null ? delegate.getKeyBelow(manager.focusedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);
8176
+ var _delegate_getKeyBelow, _delegate_getFirstKey, _delegate_getFirstKey1;
8177
+ 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);
7948
8178
  if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate, manager.focusedKey);
7949
- navigateToKey(nextKey);
8179
+ if (nextKey != null) {
8180
+ e.preventDefault();
8181
+ navigateToKey(nextKey);
8182
+ }
7950
8183
  }
7951
8184
  break;
7952
8185
  case 'ArrowUp':
7953
8186
  if (delegate.getKeyAbove) {
7954
- var _delegate_getLastKey, _delegate_getLastKey1;
7955
- e.preventDefault();
7956
- let nextKey = manager.focusedKey != null ? delegate.getKeyAbove(manager.focusedKey) : (_delegate_getLastKey = delegate.getLastKey) === null || _delegate_getLastKey === void 0 ? void 0 : _delegate_getLastKey.call(delegate);
8187
+ var _delegate_getKeyAbove, _delegate_getLastKey, _delegate_getLastKey1;
8188
+ 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);
7957
8189
  if (nextKey == null && shouldFocusWrap) nextKey = (_delegate_getLastKey1 = delegate.getLastKey) === null || _delegate_getLastKey1 === void 0 ? void 0 : _delegate_getLastKey1.call(delegate, manager.focusedKey);
7958
- navigateToKey(nextKey);
8190
+ if (nextKey != null) {
8191
+ e.preventDefault();
8192
+ navigateToKey(nextKey);
8193
+ }
7959
8194
  }
7960
8195
  break;
7961
8196
  case 'ArrowLeft':
7962
8197
  if (delegate.getKeyLeftOf) {
7963
- var _delegate_getFirstKey2, _delegate_getLastKey2;
7964
- e.preventDefault();
7965
- let nextKey = delegate.getKeyLeftOf(manager.focusedKey);
8198
+ var _delegate_getKeyLeftOf, _delegate_getFirstKey2, _delegate_getLastKey2;
8199
+ let nextKey = manager.focusedKey != null ? (_delegate_getKeyLeftOf = delegate.getKeyLeftOf) === null || _delegate_getKeyLeftOf === void 0 ? void 0 : _delegate_getKeyLeftOf.call(delegate, manager.focusedKey) : null;
7966
8200
  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);
7967
- navigateToKey(nextKey, direction === 'rtl' ? 'first' : 'last');
8201
+ if (nextKey != null) {
8202
+ e.preventDefault();
8203
+ navigateToKey(nextKey, direction === 'rtl' ? 'first' : 'last');
8204
+ }
7968
8205
  }
7969
8206
  break;
7970
8207
  case 'ArrowRight':
7971
8208
  if (delegate.getKeyRightOf) {
7972
- var _delegate_getLastKey3, _delegate_getFirstKey3;
7973
- e.preventDefault();
7974
- let nextKey = delegate.getKeyRightOf(manager.focusedKey);
8209
+ var _delegate_getKeyRightOf, _delegate_getLastKey3, _delegate_getFirstKey3;
8210
+ let nextKey = manager.focusedKey != null ? (_delegate_getKeyRightOf = delegate.getKeyRightOf) === null || _delegate_getKeyRightOf === void 0 ? void 0 : _delegate_getKeyRightOf.call(delegate, manager.focusedKey) : null;
7975
8211
  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);
7976
- navigateToKey(nextKey, direction === 'rtl' ? 'last' : 'first');
8212
+ if (nextKey != null) {
8213
+ e.preventDefault();
8214
+ navigateToKey(nextKey, direction === 'rtl' ? 'last' : 'first');
8215
+ }
7977
8216
  }
7978
8217
  break;
7979
8218
  case 'Home':
@@ -7981,8 +8220,10 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7981
8220
  e.preventDefault();
7982
8221
  let firstKey = delegate.getFirstKey(manager.focusedKey, ($feb5ffebff200149$export$16792effe837dba3)(e));
7983
8222
  manager.setFocusedKey(firstKey);
7984
- if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(firstKey);
7985
- else if (selectOnFocus) manager.replaceSelection(firstKey);
8223
+ if (firstKey != null) {
8224
+ if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(firstKey);
8225
+ else if (selectOnFocus) manager.replaceSelection(firstKey);
8226
+ }
7986
8227
  }
7987
8228
  break;
7988
8229
  case 'End':
@@ -7990,22 +8231,28 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
7990
8231
  e.preventDefault();
7991
8232
  let lastKey = delegate.getLastKey(manager.focusedKey, ($feb5ffebff200149$export$16792effe837dba3)(e));
7992
8233
  manager.setFocusedKey(lastKey);
7993
- if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(lastKey);
7994
- else if (selectOnFocus) manager.replaceSelection(lastKey);
8234
+ if (lastKey != null) {
8235
+ if (($feb5ffebff200149$export$16792effe837dba3)(e) && e.shiftKey && manager.selectionMode === 'multiple') manager.extendSelection(lastKey);
8236
+ else if (selectOnFocus) manager.replaceSelection(lastKey);
8237
+ }
7995
8238
  }
7996
8239
  break;
7997
8240
  case 'PageDown':
7998
- if (delegate.getKeyPageBelow) {
7999
- e.preventDefault();
8241
+ if (delegate.getKeyPageBelow && manager.focusedKey != null) {
8000
8242
  let nextKey = delegate.getKeyPageBelow(manager.focusedKey);
8001
- navigateToKey(nextKey);
8243
+ if (nextKey != null) {
8244
+ e.preventDefault();
8245
+ navigateToKey(nextKey);
8246
+ }
8002
8247
  }
8003
8248
  break;
8004
8249
  case 'PageUp':
8005
- if (delegate.getKeyPageAbove) {
8006
- e.preventDefault();
8250
+ if (delegate.getKeyPageAbove && manager.focusedKey != null) {
8007
8251
  let nextKey = delegate.getKeyPageAbove(manager.focusedKey);
8008
- navigateToKey(nextKey);
8252
+ if (nextKey != null) {
8253
+ e.preventDefault();
8254
+ navigateToKey(nextKey);
8255
+ }
8009
8256
  }
8010
8257
  break;
8011
8258
  case 'a':
@@ -8034,7 +8281,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8034
8281
  let walker = ($9bf71ea28793e738$export$2d6ec8fc375ceafa)(ref.current, {
8035
8282
  tabbable: true
8036
8283
  });
8037
- let next;
8284
+ let next = undefined;
8038
8285
  let last;
8039
8286
  do {
8040
8287
  last = walker.lastChild();
@@ -8052,10 +8299,12 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8052
8299
  top: 0,
8053
8300
  left: 0
8054
8301
  });
8055
- ($e9faafb641e167db$export$90fc3a17d93f704c)(scrollRef, 'scroll', isVirtualized ? null : ()=>{
8302
+ ($e9faafb641e167db$export$90fc3a17d93f704c)(scrollRef, 'scroll', isVirtualized ? undefined : ()=>{
8303
+ var _scrollRef_current, _scrollRef_current1;
8304
+ var _scrollRef_current_scrollTop, _scrollRef_current_scrollLeft;
8056
8305
  scrollPos.current = {
8057
- top: scrollRef.current.scrollTop,
8058
- left: scrollRef.current.scrollLeft
8306
+ 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,
8307
+ 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
8059
8308
  };
8060
8309
  });
8061
8310
  let onFocus = (e)=>{
@@ -8068,6 +8317,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8068
8317
  if (!e.currentTarget.contains(e.target)) return;
8069
8318
  manager.setFocused(true);
8070
8319
  if (manager.focusedKey == null) {
8320
+ var _delegate_getLastKey, _delegate_getFirstKey;
8071
8321
  let navigateToFirstKey = (key)=>{
8072
8322
  if (key != null) {
8073
8323
  manager.setFocusedKey(key);
@@ -8079,14 +8329,14 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8079
8329
  // and either focus the first or last item accordingly.
8080
8330
  let relatedTarget = e.relatedTarget;
8081
8331
  var _manager_lastSelectedKey, _manager_firstSelectedKey;
8082
- if (relatedTarget && e.currentTarget.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) navigateToFirstKey((_manager_lastSelectedKey = manager.lastSelectedKey) !== null && _manager_lastSelectedKey !== void 0 ? _manager_lastSelectedKey : delegate.getLastKey());
8083
- else navigateToFirstKey((_manager_firstSelectedKey = manager.firstSelectedKey) !== null && _manager_firstSelectedKey !== void 0 ? _manager_firstSelectedKey : delegate.getFirstKey());
8084
- } else if (!isVirtualized) {
8332
+ 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));
8333
+ 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));
8334
+ } else if (!isVirtualized && scrollRef.current) {
8085
8335
  // Restore the scroll position to what it was before.
8086
8336
  scrollRef.current.scrollTop = scrollPos.current.top;
8087
8337
  scrollRef.current.scrollLeft = scrollPos.current.left;
8088
8338
  }
8089
- if (manager.focusedKey != null) {
8339
+ if (manager.focusedKey != null && scrollRef.current) {
8090
8340
  // Refocus and scroll the focused item into view if it exists within the scrollable region.
8091
8341
  let element = scrollRef.current.querySelector(`[data-key="${CSS.escape(manager.focusedKey.toString())}"]`);
8092
8342
  if (element) {
@@ -8106,10 +8356,13 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8106
8356
  const autoFocusRef = (useRef)(autoFocus);
8107
8357
  (useEffect)(()=>{
8108
8358
  if (autoFocusRef.current) {
8359
+ var _delegate_getFirstKey, _delegate_getLastKey;
8109
8360
  let focusedKey = null;
8361
+ var _delegate_getFirstKey1;
8110
8362
  // Check focus strategy to determine which item to focus
8111
- if (autoFocus === 'first') focusedKey = delegate.getFirstKey();
8112
- if (autoFocus === 'last') focusedKey = delegate.getLastKey();
8363
+ 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;
8364
+ var _delegate_getLastKey1;
8365
+ 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;
8113
8366
  // If there are any selected keys, make the first one the new focus target
8114
8367
  let selectedKeys = manager.selectedKeys;
8115
8368
  if (selectedKeys.size) {
@@ -8121,14 +8374,14 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8121
8374
  manager.setFocused(true);
8122
8375
  manager.setFocusedKey(focusedKey);
8123
8376
  // If no default focus key is selected, focus the collection itself.
8124
- if (focusedKey == null && !shouldUseVirtualFocus) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8377
+ if (focusedKey == null && !shouldUseVirtualFocus && ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8125
8378
  }
8126
8379
  // eslint-disable-next-line react-hooks/exhaustive-deps
8127
8380
  }, []);
8128
8381
  // Scroll the focused element into view when the focusedKey changes.
8129
8382
  let lastFocusedKey = (useRef)(manager.focusedKey);
8130
8383
  (useEffect)(()=>{
8131
- if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || autoFocusRef.current) && (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current)) {
8384
+ if (manager.isFocused && manager.focusedKey != null && (manager.focusedKey !== lastFocusedKey.current || autoFocusRef.current) && scrollRef.current && ref.current) {
8132
8385
  let modality = ($507fabe10e71c6fb$export$630ff653c5ada6a9)();
8133
8386
  let element = ref.current.querySelector(`[data-key="${CSS.escape(manager.focusedKey.toString())}"]`);
8134
8387
  if (!element) // If item element wasn't found, return early (don't update autoFocusRef and lastFocusedKey).
@@ -8143,7 +8396,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8143
8396
  }
8144
8397
  }
8145
8398
  // If the focused key becomes null (e.g. the last item is deleted), focus the whole collection.
8146
- if (!shouldUseVirtualFocus && manager.isFocused && manager.focusedKey == null && lastFocusedKey.current != null) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8399
+ if (!shouldUseVirtualFocus && manager.isFocused && manager.focusedKey == null && lastFocusedKey.current != null && ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8147
8400
  lastFocusedKey.current = manager.focusedKey;
8148
8401
  autoFocusRef.current = false;
8149
8402
  });
@@ -8171,7 +8424,7 @@ function $ae20dd8cbca75726$export$d6daf82dcd84e87c(options) {
8171
8424
  // This will be marshalled to either the first or last item depending on where focus came from.
8172
8425
  // If using virtual focus, don't set a tabIndex at all so that VoiceOver on iOS 14 doesn't try
8173
8426
  // to move real DOM focus to the element anyway.
8174
- let tabIndex;
8427
+ let tabIndex = undefined;
8175
8428
  if (!shouldUseVirtualFocus) tabIndex = manager.focusedKey == null ? 0 : -1;
8176
8429
  return {
8177
8430
  collectionProps: {
@@ -8204,7 +8457,7 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8204
8457
  else {
8205
8458
  if (manager.selectionMode === 'none') return;
8206
8459
  if (manager.isLink(key)) {
8207
- if (linkBehavior === 'selection') {
8460
+ if (linkBehavior === 'selection' && ref.current) {
8208
8461
  let itemProps = manager.getItemProps(key);
8209
8462
  router.open(ref.current, e, itemProps.href, itemProps.routerOptions);
8210
8463
  // Always set selected keys back to what they were so that select and combobox close.
@@ -8226,7 +8479,7 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8226
8479
  let isFocused = key === manager.focusedKey;
8227
8480
  if (isFocused && manager.isFocused && !shouldUseVirtualFocus) {
8228
8481
  if (focus) focus();
8229
- else if (document.activeElement !== ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8482
+ else if (document.activeElement !== ref.current && ref.current) ($6a99195332edec8b$export$80f3e147d781571c)(ref.current);
8230
8483
  }
8231
8484
  // eslint-disable-next-line react-hooks/exhaustive-deps
8232
8485
  }, [
@@ -8269,7 +8522,7 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8269
8522
  let hadPrimaryActionOnPressStart = (useRef)(false);
8270
8523
  let performAction = (e)=>{
8271
8524
  if (onAction) onAction();
8272
- if (hasLinkAction) {
8525
+ if (hasLinkAction && ref.current) {
8273
8526
  let itemProps = manager.getItemProps(key);
8274
8527
  router.open(ref.current, e, itemProps.href, itemProps.routerOptions);
8275
8528
  }
@@ -8297,10 +8550,10 @@ function $880e95eb8b93ba9a$export$ecf600387e221c37(options) {
8297
8550
  } else if (e.pointerType !== 'keyboard' && allowsSelection) onSelect(e);
8298
8551
  };
8299
8552
  else {
8300
- itemPressProps.onPressUp = hasPrimaryAction ? null : (e)=>{
8553
+ itemPressProps.onPressUp = hasPrimaryAction ? undefined : (e)=>{
8301
8554
  if (e.pointerType !== 'keyboard' && allowsSelection) onSelect(e);
8302
8555
  };
8303
- itemPressProps.onPress = hasPrimaryAction ? performAction : null;
8556
+ itemPressProps.onPress = hasPrimaryAction ? performAction : undefined;
8304
8557
  }
8305
8558
  } else {
8306
8559
  itemPressProps.onPressStart = (e)=>{
@@ -8393,6 +8646,7 @@ function $880e95eb8b93ba9a$var$isSelectionKey() {
8393
8646
  */ class $657e4dc4a6e88df0$export$8f5ed9ff9f511381 {
8394
8647
  getItemRect(key) {
8395
8648
  let container = this.ref.current;
8649
+ if (!container) return null;
8396
8650
  let item = key != null ? container.querySelector(`[data-key="${CSS.escape(key.toString())}"]`) : null;
8397
8651
  if (!item) return null;
8398
8652
  let containerRect = container.getBoundingClientRect();
@@ -8406,18 +8660,20 @@ function $880e95eb8b93ba9a$var$isSelectionKey() {
8406
8660
  }
8407
8661
  getContentSize() {
8408
8662
  let container = this.ref.current;
8663
+ var _container_scrollWidth, _container_scrollHeight;
8409
8664
  return {
8410
- width: container.scrollWidth,
8411
- height: container.scrollHeight
8665
+ width: (_container_scrollWidth = container === null || container === void 0 ? void 0 : container.scrollWidth) !== null && _container_scrollWidth !== void 0 ? _container_scrollWidth : 0,
8666
+ height: (_container_scrollHeight = container === null || container === void 0 ? void 0 : container.scrollHeight) !== null && _container_scrollHeight !== void 0 ? _container_scrollHeight : 0
8412
8667
  };
8413
8668
  }
8414
8669
  getVisibleRect() {
8415
8670
  let container = this.ref.current;
8671
+ var _container_scrollLeft, _container_scrollTop, _container_offsetWidth, _container_offsetHeight;
8416
8672
  return {
8417
- x: container.scrollLeft,
8418
- y: container.scrollTop,
8419
- width: container.offsetWidth,
8420
- height: container.offsetHeight
8673
+ x: (_container_scrollLeft = container === null || container === void 0 ? void 0 : container.scrollLeft) !== null && _container_scrollLeft !== void 0 ? _container_scrollLeft : 0,
8674
+ y: (_container_scrollTop = container === null || container === void 0 ? void 0 : container.scrollTop) !== null && _container_scrollTop !== void 0 ? _container_scrollTop : 0,
8675
+ width: (_container_offsetWidth = container === null || container === void 0 ? void 0 : container.offsetWidth) !== null && _container_offsetWidth !== void 0 ? _container_offsetWidth : 0,
8676
+ height: (_container_offsetHeight = container === null || container === void 0 ? void 0 : container.offsetHeight) !== null && _container_offsetHeight !== void 0 ? _container_offsetHeight : 0
8421
8677
  };
8422
8678
  }
8423
8679
  constructor(ref){
@@ -8442,34 +8698,37 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8442
8698
  var _item_props;
8443
8699
  return this.disabledBehavior === 'all' && (((_item_props = item.props) === null || _item_props === void 0 ? void 0 : _item_props.isDisabled) || this.disabledKeys.has(item.key));
8444
8700
  }
8445
- getNextKey(key) {
8446
- key = this.collection.getKeyAfter(key);
8447
- while(key != null){
8448
- let item = this.collection.getItem(key);
8449
- if (item.type === 'item' && !this.isDisabled(item)) return key;
8450
- key = this.collection.getKeyAfter(key);
8701
+ findNextNonDisabled(key, getNext) {
8702
+ let nextKey = key;
8703
+ while(nextKey != null){
8704
+ let item = this.collection.getItem(nextKey);
8705
+ if ((item === null || item === void 0 ? void 0 : item.type) === 'item' && !this.isDisabled(item)) return nextKey;
8706
+ nextKey = getNext(nextKey);
8451
8707
  }
8452
8708
  return null;
8453
8709
  }
8710
+ getNextKey(key) {
8711
+ let nextKey = key;
8712
+ nextKey = this.collection.getKeyAfter(nextKey);
8713
+ return this.findNextNonDisabled(nextKey, (key)=>this.collection.getKeyAfter(key));
8714
+ }
8454
8715
  getPreviousKey(key) {
8455
- key = this.collection.getKeyBefore(key);
8456
- while(key != null){
8457
- let item = this.collection.getItem(key);
8458
- if (item.type === 'item' && !this.isDisabled(item)) return key;
8459
- key = this.collection.getKeyBefore(key);
8460
- }
8461
- return null;
8716
+ let nextKey = key;
8717
+ nextKey = this.collection.getKeyBefore(nextKey);
8718
+ return this.findNextNonDisabled(nextKey, (key)=>this.collection.getKeyBefore(key));
8462
8719
  }
8463
8720
  findKey(key, nextKey, shouldSkip) {
8464
- let itemRect = this.layoutDelegate.getItemRect(key);
8465
- if (!itemRect) return null;
8721
+ let tempKey = key;
8722
+ let itemRect = this.layoutDelegate.getItemRect(tempKey);
8723
+ if (!itemRect || tempKey == null) return null;
8466
8724
  // Find the item above or below in the same column.
8467
8725
  let prevRect = itemRect;
8468
8726
  do {
8469
- key = nextKey(key);
8470
- itemRect = this.layoutDelegate.getItemRect(key);
8471
- }while (itemRect && shouldSkip(prevRect, itemRect));
8472
- return key;
8727
+ tempKey = nextKey(tempKey);
8728
+ if (tempKey == null) break;
8729
+ itemRect = this.layoutDelegate.getItemRect(tempKey);
8730
+ }while (itemRect && shouldSkip(prevRect, itemRect) && tempKey != null);
8731
+ return tempKey;
8473
8732
  }
8474
8733
  isSameRow(prevRect, itemRect) {
8475
8734
  return prevRect.y === itemRect.y || prevRect.x !== itemRect.x;
@@ -8489,6 +8748,13 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8489
8748
  return right ? this.getPreviousKey(key) : this.getNextKey(key);
8490
8749
  }
8491
8750
  getKeyRightOf(key) {
8751
+ // This is a temporary solution for CardView until we refactor useSelectableCollection.
8752
+ // https://github.com/orgs/adobe/projects/19/views/32?pane=issue&itemId=77825042
8753
+ let layoutDelegateMethod = this.direction === 'ltr' ? 'getKeyRightOf' : 'getKeyLeftOf';
8754
+ if (this.layoutDelegate[layoutDelegateMethod]) {
8755
+ key = this.layoutDelegate[layoutDelegateMethod](key);
8756
+ return this.findNextNonDisabled(key, (key)=>this.layoutDelegate[layoutDelegateMethod](key));
8757
+ }
8492
8758
  if (this.layout === 'grid') {
8493
8759
  if (this.orientation === 'vertical') return this.getNextColumn(key, this.direction === 'rtl');
8494
8760
  else return this.findKey(key, (key)=>this.getNextColumn(key, this.direction === 'rtl'), this.isSameColumn);
@@ -8496,6 +8762,11 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8496
8762
  return null;
8497
8763
  }
8498
8764
  getKeyLeftOf(key) {
8765
+ let layoutDelegateMethod = this.direction === 'ltr' ? 'getKeyLeftOf' : 'getKeyRightOf';
8766
+ if (this.layoutDelegate[layoutDelegateMethod]) {
8767
+ key = this.layoutDelegate[layoutDelegateMethod](key);
8768
+ return this.findNextNonDisabled(key, (key)=>this.layoutDelegate[layoutDelegateMethod](key));
8769
+ }
8499
8770
  if (this.layout === 'grid') {
8500
8771
  if (this.orientation === 'vertical') return this.getNextColumn(key, this.direction === 'ltr');
8501
8772
  else return this.findKey(key, (key)=>this.getNextColumn(key, this.direction === 'ltr'), this.isSameColumn);
@@ -8504,61 +8775,53 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8504
8775
  }
8505
8776
  getFirstKey() {
8506
8777
  let key = this.collection.getFirstKey();
8507
- while(key != null){
8508
- let item = this.collection.getItem(key);
8509
- if ((item === null || item === void 0 ? void 0 : item.type) === 'item' && !this.isDisabled(item)) return key;
8510
- key = this.collection.getKeyAfter(key);
8511
- }
8512
- return null;
8778
+ return this.findNextNonDisabled(key, (key)=>this.collection.getKeyAfter(key));
8513
8779
  }
8514
8780
  getLastKey() {
8515
8781
  let key = this.collection.getLastKey();
8516
- while(key != null){
8517
- let item = this.collection.getItem(key);
8518
- if (item.type === 'item' && !this.isDisabled(item)) return key;
8519
- key = this.collection.getKeyBefore(key);
8520
- }
8521
- return null;
8782
+ return this.findNextNonDisabled(key, (key)=>this.collection.getKeyBefore(key));
8522
8783
  }
8523
8784
  getKeyPageAbove(key) {
8524
8785
  let menu = this.ref.current;
8525
8786
  let itemRect = this.layoutDelegate.getItemRect(key);
8526
8787
  if (!itemRect) return null;
8527
- if (!($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getFirstKey();
8788
+ if (menu && !($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getFirstKey();
8789
+ let nextKey = key;
8528
8790
  if (this.orientation === 'horizontal') {
8529
8791
  let pageX = Math.max(0, itemRect.x + itemRect.width - this.layoutDelegate.getVisibleRect().width);
8530
- while(itemRect && itemRect.x > pageX){
8531
- key = this.getKeyAbove(key);
8532
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8792
+ while(itemRect && itemRect.x > pageX && nextKey != null){
8793
+ nextKey = this.getKeyAbove(nextKey);
8794
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8533
8795
  }
8534
8796
  } else {
8535
8797
  let pageY = Math.max(0, itemRect.y + itemRect.height - this.layoutDelegate.getVisibleRect().height);
8536
- while(itemRect && itemRect.y > pageY){
8537
- key = this.getKeyAbove(key);
8538
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8798
+ while(itemRect && itemRect.y > pageY && nextKey != null){
8799
+ nextKey = this.getKeyAbove(nextKey);
8800
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8539
8801
  }
8540
8802
  }
8541
- return key !== null && key !== void 0 ? key : this.getFirstKey();
8803
+ return nextKey !== null && nextKey !== void 0 ? nextKey : this.getFirstKey();
8542
8804
  }
8543
8805
  getKeyPageBelow(key) {
8544
8806
  let menu = this.ref.current;
8545
8807
  let itemRect = this.layoutDelegate.getItemRect(key);
8546
8808
  if (!itemRect) return null;
8547
- if (!($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getLastKey();
8809
+ if (menu && !($cc38e7bd3fc7b213$export$2bb74740c4e19def)(menu)) return this.getLastKey();
8810
+ let nextKey = key;
8548
8811
  if (this.orientation === 'horizontal') {
8549
8812
  let pageX = Math.min(this.layoutDelegate.getContentSize().width, itemRect.y - itemRect.width + this.layoutDelegate.getVisibleRect().width);
8550
- while(itemRect && itemRect.x < pageX){
8551
- key = this.getKeyBelow(key);
8552
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8813
+ while(itemRect && itemRect.x < pageX && nextKey != null){
8814
+ nextKey = this.getKeyBelow(nextKey);
8815
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8553
8816
  }
8554
8817
  } else {
8555
8818
  let pageY = Math.min(this.layoutDelegate.getContentSize().height, itemRect.y - itemRect.height + this.layoutDelegate.getVisibleRect().height);
8556
- while(itemRect && itemRect.y < pageY){
8557
- key = this.getKeyBelow(key);
8558
- itemRect = key == null ? null : this.layoutDelegate.getItemRect(key);
8819
+ while(itemRect && itemRect.y < pageY && nextKey != null){
8820
+ nextKey = this.getKeyBelow(nextKey);
8821
+ itemRect = nextKey == null ? null : this.layoutDelegate.getItemRect(nextKey);
8559
8822
  }
8560
8823
  }
8561
- return key !== null && key !== void 0 ? key : this.getLastKey();
8824
+ return nextKey !== null && nextKey !== void 0 ? nextKey : this.getLastKey();
8562
8825
  }
8563
8826
  getKeyForSearch(search, fromKey) {
8564
8827
  if (!this.collator) return null;
@@ -8566,9 +8829,10 @@ class $2a25aae57d74318e$export$a05409b8bb224a5a {
8566
8829
  let key = fromKey || this.getFirstKey();
8567
8830
  while(key != null){
8568
8831
  let item = collection.getItem(key);
8832
+ if (!item) return null;
8569
8833
  let substring = item.textValue.slice(0, search.length);
8570
8834
  if (item.textValue && this.collator.compare(substring, search) === 0) return key;
8571
- key = this.getKeyBelow(key);
8835
+ key = this.getNextKey(key);
8572
8836
  }
8573
8837
  return null;
8574
8838
  }
@@ -8739,17 +9003,26 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8739
9003
  }
8740
9004
  *iterateCollection(props) {
8741
9005
  let { children: children, items: items } = props;
8742
- if (typeof children === 'function') {
9006
+ if (($dbSRa$react).isValidElement(children) && children.type === ($dbSRa$react).Fragment) yield* this.iterateCollection({
9007
+ children: children.props.children,
9008
+ items: items
9009
+ });
9010
+ else if (typeof children === 'function') {
8743
9011
  if (!items) throw new Error('props.children was a function but props.items is missing');
8744
- for (let item of props.items)yield* this.getFullNode({
8745
- value: item
8746
- }, {
8747
- renderer: children
8748
- });
9012
+ let index = 0;
9013
+ for (let item of items){
9014
+ yield* this.getFullNode({
9015
+ value: item,
9016
+ index: index
9017
+ }, {
9018
+ renderer: children
9019
+ });
9020
+ index++;
9021
+ }
8749
9022
  } else {
8750
9023
  let items = [];
8751
9024
  ($dbSRa$react).Children.forEach(children, (child)=>{
8752
- items.push(child);
9025
+ if (child) items.push(child);
8753
9026
  });
8754
9027
  let index = 0;
8755
9028
  for (let item of items){
@@ -8782,6 +9055,19 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8782
9055
  };
8783
9056
  }
8784
9057
  *getFullNode(partialNode, state, parentKey, parentNode) {
9058
+ if (($dbSRa$react).isValidElement(partialNode.element) && partialNode.element.type === ($dbSRa$react).Fragment) {
9059
+ let children = [];
9060
+ ($dbSRa$react).Children.forEach(partialNode.element.props.children, (child)=>{
9061
+ children.push(child);
9062
+ });
9063
+ var _partialNode_index;
9064
+ let index = (_partialNode_index = partialNode.index) !== null && _partialNode_index !== void 0 ? _partialNode_index : 0;
9065
+ for (const child of children)yield* this.getFullNode({
9066
+ element: child,
9067
+ index: index++
9068
+ }, state, parentKey, parentNode);
9069
+ return;
9070
+ }
8785
9071
  // If there's a value instead of an element on the node, and a parent renderer function is available,
8786
9072
  // use it to render an element for the value.
8787
9073
  let element = partialNode.element;
@@ -8800,17 +9086,19 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8800
9086
  if (($dbSRa$react).isValidElement(element)) {
8801
9087
  let type = element.type;
8802
9088
  if (typeof type !== 'function' && typeof type.getCollectionNode !== 'function') {
8803
- let name = typeof element.type === 'function' ? element.type.name : element.type;
9089
+ let name = element.type;
8804
9090
  throw new Error(`Unknown element <${name}> in collection.`);
8805
9091
  }
8806
9092
  let childNodes = type.getCollectionNode(element.props, this.context);
8807
- let index = partialNode.index;
9093
+ var _partialNode_index1;
9094
+ let index = (_partialNode_index1 = partialNode.index) !== null && _partialNode_index1 !== void 0 ? _partialNode_index1 : 0;
8808
9095
  let result = childNodes.next();
8809
9096
  while(!result.done && result.value){
8810
9097
  let childNode = result.value;
8811
9098
  partialNode.index = index;
8812
- let nodeKey = childNode.key;
8813
- if (!nodeKey) nodeKey = childNode.element ? null : this.getKey(element, partialNode, state, parentKey);
9099
+ var _childNode_key;
9100
+ let nodeKey = (_childNode_key = childNode.key) !== null && _childNode_key !== void 0 ? _childNode_key : null;
9101
+ if (nodeKey == null) nodeKey = childNode.element ? null : this.getKey(element, partialNode, state, parentKey);
8814
9102
  let nodes = this.getFullNode({
8815
9103
  ...childNode,
8816
9104
  key: nodeKey,
@@ -8821,12 +9109,14 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8821
9109
  ...nodes
8822
9110
  ];
8823
9111
  for (let node of children){
9112
+ var _childNode_value, _ref;
8824
9113
  // Cache the node based on its value
8825
- node.value = childNode.value || partialNode.value;
9114
+ node.value = (_ref = (_childNode_value = childNode.value) !== null && _childNode_value !== void 0 ? _childNode_value : partialNode.value) !== null && _ref !== void 0 ? _ref : null;
8826
9115
  if (node.value) this.cache.set(node.value, node);
9116
+ var _parentNode_type;
8827
9117
  // The partial node may have specified a type for the child in order to specify a constraint.
8828
9118
  // Verify that the full node that was built recursively matches this type.
8829
- 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.`);
9119
+ 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.`);
8830
9120
  index++;
8831
9121
  yield node;
8832
9122
  }
@@ -8835,25 +9125,26 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8835
9125
  return;
8836
9126
  }
8837
9127
  // Ignore invalid elements
8838
- if (partialNode.key == null) return;
9128
+ if (partialNode.key == null || partialNode.type == null) return;
8839
9129
  // Create full node
8840
9130
  let builder = this;
9131
+ var _partialNode_value, _partialNode_textValue;
8841
9132
  let node = {
8842
9133
  type: partialNode.type,
8843
9134
  props: partialNode.props,
8844
9135
  key: partialNode.key,
8845
9136
  parentKey: parentNode ? parentNode.key : null,
8846
- value: partialNode.value,
9137
+ value: (_partialNode_value = partialNode.value) !== null && _partialNode_value !== void 0 ? _partialNode_value : null,
8847
9138
  level: parentNode ? parentNode.level + 1 : 0,
8848
9139
  index: partialNode.index,
8849
9140
  rendered: partialNode.rendered,
8850
- textValue: partialNode.textValue,
9141
+ textValue: (_partialNode_textValue = partialNode.textValue) !== null && _partialNode_textValue !== void 0 ? _partialNode_textValue : '',
8851
9142
  'aria-label': partialNode['aria-label'],
8852
9143
  wrapper: partialNode.wrapper,
8853
9144
  shouldInvalidate: partialNode.shouldInvalidate,
8854
- hasChildNodes: partialNode.hasChildNodes,
9145
+ hasChildNodes: partialNode.hasChildNodes || false,
8855
9146
  childNodes: $eb2240fc39a57fa5$var$iterable(function*() {
8856
- if (!partialNode.hasChildNodes) return;
9147
+ if (!partialNode.hasChildNodes || !partialNode.childNodes) return;
8857
9148
  let index = 0;
8858
9149
  for (let child of partialNode.childNodes()){
8859
9150
  // Ensure child keys are globally unique by prepending the parent node's key
@@ -8862,8 +9153,10 @@ class $eb2240fc39a57fa5$export$bf788dd355e3a401 {
8862
9153
  // but another parent has key `ab` and its child has a key `c`. The combined keys would result in both
8863
9154
  // children having a key of `abc`.
8864
9155
  child.key = `${node.key}${child.key}`;
8865
- child.index = index;
8866
- let nodes = builder.getFullNode(child, builder.getChildState(state, child), node.key, node);
9156
+ let nodes = builder.getFullNode({
9157
+ ...child,
9158
+ index: index
9159
+ }, builder.getChildState(state, child), node.key, node);
8867
9160
  for (let node of nodes){
8868
9161
  index++;
8869
9162
  yield node;
@@ -8992,9 +9285,10 @@ function $c5a24bc478652b5f$export$8c434b3a7a4dad6(collection, a, b) {
8992
9285
  }
8993
9286
  function $c5a24bc478652b5f$var$getAncestors(collection, node) {
8994
9287
  let parents = [];
8995
- while((node === null || node === void 0 ? void 0 : node.parentKey) != null){
8996
- node = collection.getItem(node.parentKey);
8997
- parents.unshift(node);
9288
+ let currNode = node;
9289
+ while((currNode === null || currNode === void 0 ? void 0 : currNode.parentKey) != null){
9290
+ currNode = collection.getItem(currNode.parentKey);
9291
+ if (currNode) parents.unshift(currNode);
8998
9292
  }
8999
9293
  return parents;
9000
9294
  }
@@ -9014,14 +9308,15 @@ const $453cc9f0df89c0a5$var$cache = new WeakMap();
9014
9308
  function $453cc9f0df89c0a5$export$77d5aafae4e095b2(collection) {
9015
9309
  let count = $453cc9f0df89c0a5$var$cache.get(collection);
9016
9310
  if (count != null) return count;
9017
- count = 0;
9311
+ // TS isn't smart enough to know we've ensured count is a number, so use a new variable
9312
+ let counter = 0;
9018
9313
  let countItems = (items)=>{
9019
9314
  for (let item of items)if (item.type === 'section') countItems(($c5a24bc478652b5f$export$1005530eda016c13)(item, collection));
9020
- else count++;
9315
+ else counter++;
9021
9316
  };
9022
9317
  countItems(collection);
9023
- $453cc9f0df89c0a5$var$cache.set(collection, count);
9024
- return count;
9318
+ $453cc9f0df89c0a5$var$cache.set(collection, counter);
9319
+ return counter;
9025
9320
  }
9026
9321
 
9027
9322
  /*
@@ -9471,126 +9766,23 @@ function $168583247155ddda$export$dc9c12ed27dd1b49(props, state, ref) {
9471
9766
  if (e.pointerType === 'touch' && !isDisabled) state.toggle();
9472
9767
  }
9473
9768
  };
9474
- // omit onPress from triggerProps since we override it above.
9475
- delete triggerProps.onPress;
9476
- return {
9477
- menuTriggerProps: {
9478
- ...triggerProps,
9479
- ...trigger === 'press' ? pressProps : longPressProps,
9480
- id: menuTriggerId,
9481
- onKeyDown: onKeyDown
9482
- },
9483
- menuProps: {
9484
- ...overlayProps,
9485
- 'aria-labelledby': menuTriggerId,
9486
- autoFocus: state.focusStrategy || true,
9487
- onClose: state.close
9488
- }
9489
- };
9490
- }
9491
-
9492
- /*
9493
- * Copyright 2020 Adobe. All rights reserved.
9494
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
9495
- * you may not use this file except in compliance with the License. You may obtain a copy
9496
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
9497
- *
9498
- * Unless required by applicable law or agreed to in writing, software distributed under
9499
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9500
- * OF ANY KIND, either express or implied. See the License for the specific language
9501
- * governing permissions and limitations under the License.
9502
- */
9503
-
9504
-
9505
-
9506
-
9507
-
9508
-
9509
- function $2d73ec29415bd339$export$712718f7aec83d5(props, ref) {
9510
- let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;
9511
- let [value, setValue] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.value, props.defaultValue || '', props.onChange);
9512
- let { focusableProps: focusableProps } = ($e6afbd83fe6ebbd2$export$4c014de7c8940b4c)(props, ref);
9513
- let validationState = ($e5be200c675c3b3a$export$fc1a364ae1f3ff10)({
9514
- ...props,
9515
- value: value
9516
- });
9517
- let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;
9518
- let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = ($2baaea4c71418dea$export$294aa081a6c6f55d)({
9519
- ...props,
9520
- isInvalid: isInvalid,
9521
- errorMessage: props.errorMessage || validationErrors
9522
- });
9523
- let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
9524
- labelable: true
9525
- });
9526
- const inputOnlyProps = {
9527
- type: type,
9528
- pattern: props.pattern
9529
- };
9530
- ($99facab73266f662$export$5add1d006293d136)(ref, value, setValue);
9531
- ($e93e671b31057976$export$b8473d3665f3a75a)(props, validationState, ref);
9532
- (useEffect)(()=>{
9533
- // This works around a React/Chrome bug that prevents textarea elements from validating when controlled.
9534
- // We prevent React from updating defaultValue (i.e. children) of textarea when `value` changes,
9535
- // which causes Chrome to skip validation. Only updating `value` is ok in our case since our
9536
- // textareas are always controlled. React is planning on removing this synchronization in a
9537
- // future major version.
9538
- // https://github.com/facebook/react/issues/19474
9539
- // https://github.com/facebook/react/issues/11896
9540
- if (ref.current instanceof ($431fbd86ca7dc216$export$f21a1ffae260145a)(ref.current).HTMLTextAreaElement) {
9541
- let input = ref.current;
9542
- Object.defineProperty(input, 'defaultValue', {
9543
- get: ()=>input.value,
9544
- set: ()=>{},
9545
- configurable: true
9546
- });
9547
- }
9548
- }, [
9549
- ref
9550
- ]);
9551
- return {
9552
- labelProps: labelProps,
9553
- inputProps: ($3ef42575df84b30b$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {
9554
- disabled: isDisabled,
9555
- readOnly: isReadOnly,
9556
- required: isRequired && validationBehavior === 'native',
9557
- 'aria-required': isRequired && validationBehavior === 'aria' || undefined,
9558
- 'aria-invalid': isInvalid || undefined,
9559
- 'aria-errormessage': props['aria-errormessage'],
9560
- 'aria-activedescendant': props['aria-activedescendant'],
9561
- 'aria-autocomplete': props['aria-autocomplete'],
9562
- 'aria-haspopup': props['aria-haspopup'],
9563
- value: value,
9564
- onChange: (e)=>setValue(e.target.value),
9565
- autoComplete: props.autoComplete,
9566
- autoCapitalize: props.autoCapitalize,
9567
- maxLength: props.maxLength,
9568
- minLength: props.minLength,
9569
- name: props.name,
9570
- placeholder: props.placeholder,
9571
- inputMode: props.inputMode,
9572
- // Clipboard events
9573
- onCopy: props.onCopy,
9574
- onCut: props.onCut,
9575
- onPaste: props.onPaste,
9576
- // Composition events
9577
- onCompositionEnd: props.onCompositionEnd,
9578
- onCompositionStart: props.onCompositionStart,
9579
- onCompositionUpdate: props.onCompositionUpdate,
9580
- // Selection events
9581
- onSelect: props.onSelect,
9582
- // Input events
9583
- onBeforeInput: props.onBeforeInput,
9584
- onInput: props.onInput,
9585
- ...focusableProps,
9586
- ...fieldProps
9587
- }),
9588
- descriptionProps: descriptionProps,
9589
- errorMessageProps: errorMessageProps,
9590
- isInvalid: isInvalid,
9591
- validationErrors: validationErrors,
9592
- validationDetails: validationDetails
9593
- };
9769
+ // omit onPress from triggerProps since we override it above.
9770
+ delete triggerProps.onPress;
9771
+ return {
9772
+ // @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
9773
+ menuTriggerProps: {
9774
+ ...triggerProps,
9775
+ ...trigger === 'press' ? pressProps : longPressProps,
9776
+ id: menuTriggerId,
9777
+ onKeyDown: onKeyDown
9778
+ },
9779
+ menuProps: {
9780
+ ...overlayProps,
9781
+ 'aria-labelledby': menuTriggerId,
9782
+ autoFocus: state.focusStrategy || true,
9783
+ onClose: state.close
9784
+ }
9785
+ };
9594
9786
  }
9595
9787
 
9596
9788
  /*
@@ -9663,6 +9855,85 @@ function $40df3f8667284809$export$d55e7ee900f34e93(props, ref) {
9663
9855
  };
9664
9856
  }
9665
9857
 
9858
+ /*
9859
+ * Copyright 2024 Adobe. All rights reserved.
9860
+ * This file is licensed to you under the Apache License, Version 2.0 (the 'License');
9861
+ * you may not use this file except in compliance with the License. You may obtain a copy
9862
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
9863
+ *
9864
+ * Unless required by applicable law or agreed to in writing, software distributed under
9865
+ * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9866
+ * OF ANY KIND, either express or implied. See the License for the specific language
9867
+ * governing permissions and limitations under the License.
9868
+ */
9869
+
9870
+
9871
+
9872
+ function $5e910fae8e128ead$export$6e3e27031a30522f(props, state, ref) {
9873
+ let { isDisabled: isDisabled } = props;
9874
+ let triggerId = ($bdb11010cef70236$export$f680877a34711e37)();
9875
+ let panelId = ($bdb11010cef70236$export$f680877a34711e37)();
9876
+ let isSSR = ($b5e257d569688ac6$export$535bd6ca7f90a273)();
9877
+ let supportsBeforeMatch = !isSSR && 'onbeforematch' in document.body;
9878
+ let raf = (useRef)(null);
9879
+ let handleBeforeMatch = (useCallback)(()=>{
9880
+ // Wait a frame to revert browser's removal of hidden attribute
9881
+ raf.current = requestAnimationFrame(()=>{
9882
+ if (ref.current) ref.current.setAttribute('hidden', 'until-found');
9883
+ });
9884
+ // Force sync state update
9885
+ (flushSync)(()=>{
9886
+ state.toggle();
9887
+ });
9888
+ }, [
9889
+ ref,
9890
+ state
9891
+ ]);
9892
+ // @ts-ignore https://github.com/facebook/react/pull/24741
9893
+ ($e9faafb641e167db$export$90fc3a17d93f704c)(ref, 'beforematch', supportsBeforeMatch ? handleBeforeMatch : null);
9894
+ ($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
9895
+ // Cancel any pending RAF to prevent stale updates
9896
+ if (raf.current) cancelAnimationFrame(raf.current);
9897
+ // Until React supports hidden="until-found": https://github.com/facebook/react/pull/24741
9898
+ if (supportsBeforeMatch && ref.current && !isDisabled) {
9899
+ if (state.isExpanded) ref.current.removeAttribute('hidden');
9900
+ else ref.current.setAttribute('hidden', 'until-found');
9901
+ }
9902
+ }, [
9903
+ isDisabled,
9904
+ ref,
9905
+ state.isExpanded,
9906
+ supportsBeforeMatch
9907
+ ]);
9908
+ (useEffect)(()=>{
9909
+ return ()=>{
9910
+ if (raf.current) cancelAnimationFrame(raf.current);
9911
+ };
9912
+ }, []);
9913
+ return {
9914
+ buttonProps: {
9915
+ id: triggerId,
9916
+ 'aria-expanded': state.isExpanded,
9917
+ 'aria-controls': panelId,
9918
+ onPress: (e)=>{
9919
+ if (!isDisabled && e.pointerType !== 'keyboard') state.toggle();
9920
+ },
9921
+ isDisabled: isDisabled,
9922
+ onPressStart (e) {
9923
+ if (e.pointerType === 'keyboard' && !isDisabled) state.toggle();
9924
+ }
9925
+ },
9926
+ panelProps: {
9927
+ id: panelId,
9928
+ // This can be overridden at the panel element level.
9929
+ role: 'group',
9930
+ 'aria-labelledby': triggerId,
9931
+ 'aria-hidden': !state.isExpanded,
9932
+ hidden: supportsBeforeMatch ? true : !state.isExpanded
9933
+ }
9934
+ };
9935
+ }
9936
+
9666
9937
  /*
9667
9938
  * Copyright 2020 Adobe. All rights reserved.
9668
9939
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -9675,7 +9946,8 @@ function $40df3f8667284809$export$d55e7ee900f34e93(props, ref) {
9675
9946
  * governing permissions and limitations under the License.
9676
9947
  */ const $ce9b18daab526bbd$export$5b9bb410392e3991 = new WeakMap();
9677
9948
  function $ce9b18daab526bbd$export$f45c25170b9a99c2(state, key) {
9678
- let { id: id } = $ce9b18daab526bbd$export$5b9bb410392e3991.get(state);
9949
+ var _listMap_get;
9950
+ let { id: id } = (_listMap_get = $ce9b18daab526bbd$export$5b9bb410392e3991.get(state)) !== null && _listMap_get !== void 0 ? _listMap_get : {};
9679
9951
  if (!id) throw new Error('Unknown list');
9680
9952
  return `${id}-${$ce9b18daab526bbd$export$e0c709538cb8ae18(key)}`;
9681
9953
  }
@@ -10337,7 +10609,7 @@ function $5b9b5b5723db6ae1$export$be42ebdab07ae4c2(props) {
10337
10609
  let interactionDescription = (useMemo)(()=>{
10338
10610
  let selectionMode = props.selectionManager.selectionMode;
10339
10611
  let selectionBehavior = props.selectionManager.selectionBehavior;
10340
- let message = undefined;
10612
+ let message;
10341
10613
  if (shouldLongPress) message = stringFormatter.format('longPressToSelect');
10342
10614
  return selectionBehavior === 'replace' && selectionMode !== 'none' && props.hasItemActions ? message : undefined;
10343
10615
  }, [
@@ -10459,26 +10731,39 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10459
10731
  var _ref_current;
10460
10732
  // Don't shift focus to the row if the active element is a element within the row already
10461
10733
  // (e.g. clicking on a row button)
10462
- 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);
10734
+ 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);
10463
10735
  };
10464
10736
  let treeGridRowProps = {};
10465
10737
  let hasChildRows;
10466
10738
  let hasLink = state.selectionManager.isLink(node.key);
10467
10739
  if (node != null && 'expandedKeys' in state) {
10740
+ var _state_collection_getChildren, _state_collection, _filter_at;
10468
10741
  // 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
10469
10742
  // true...
10743
+ 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);
10470
10744
  hasChildRows = [
10471
- ...state.collection.getChildren(node.key)
10745
+ ...children !== null && children !== void 0 ? children : []
10472
10746
  ].length > 1;
10473
10747
  if (onAction == null && !hasLink && state.selectionManager.selectionMode === 'none' && hasChildRows) onAction = ()=>state.toggleKey(node.key);
10474
10748
  let isExpanded = hasChildRows ? state.expandedKeys.has(node.key) : undefined;
10749
+ let setSize = 1;
10750
+ var _filter_at_index;
10751
+ if (node.level > 0 && (node === null || node === void 0 ? void 0 : node.parentKey) != null) {
10752
+ let parent = state.collection.getItem(node.parentKey);
10753
+ if (parent) {
10754
+ var _state_collection_getChildren1, _state_collection1;
10755
+ // siblings must exist because our original node exists, same with lastItem
10756
+ 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);
10757
+ setSize = ($c5a24bc478652b5f$export$7475b2c64539e4cf)(siblings).index + 1;
10758
+ }
10759
+ } else setSize = ((_filter_at_index = (_filter_at = [
10760
+ ...state.collection
10761
+ ].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;
10475
10762
  treeGridRowProps = {
10476
10763
  'aria-expanded': isExpanded,
10477
10764
  'aria-level': node.level + 1,
10478
10765
  'aria-posinset': (node === null || node === void 0 ? void 0 : node.index) + 1,
10479
- 'aria-setsize': node.level > 0 ? ($c5a24bc478652b5f$export$7475b2c64539e4cf)(state.collection.getChildren(node === null || node === void 0 ? void 0 : node.parentKey)).index + 1 : [
10480
- ...state.collection
10481
- ].filter((row)=>row.level === 0).at(-1).index + 1
10766
+ 'aria-setsize': setSize
10482
10767
  };
10483
10768
  }
10484
10769
  let { itemProps: itemProps, ...itemStates } = ($880e95eb8b93ba9a$export$ecf600387e221c37)({
@@ -10492,7 +10777,7 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10492
10777
  linkBehavior: linkBehavior
10493
10778
  });
10494
10779
  let onKeyDown = (e)=>{
10495
- if (!e.currentTarget.contains(e.target)) return;
10780
+ if (!e.currentTarget.contains(e.target) || !ref.current || !document.activeElement) return;
10496
10781
  let walker = ($9bf71ea28793e738$export$2d6ec8fc375ceafa)(ref.current);
10497
10782
  walker.currentNode = document.activeElement;
10498
10783
  if ('expandedKeys' in state && document.activeElement === ref.current) {
@@ -10577,9 +10862,10 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10577
10862
  // to the row above/below instead. We need to re-dispatch the event from a higher parent so it still
10578
10863
  // bubbles and gets handled by useSelectableCollection.
10579
10864
  if (!e.altKey && ref.current.contains(e.target)) {
10865
+ var _ref_current_parentElement;
10580
10866
  e.stopPropagation();
10581
10867
  e.preventDefault();
10582
- ref.current.parentElement.dispatchEvent(new KeyboardEvent(e.nativeEvent.type, e.nativeEvent));
10868
+ (_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));
10583
10869
  }
10584
10870
  break;
10585
10871
  case 'Tab':
@@ -10648,8 +10934,8 @@ function $4e8b0456ef72939f$export$9610e69494fadfd2(props, state, ref) {
10648
10934
  };
10649
10935
  }
10650
10936
  function $4e8b0456ef72939f$var$last(walker) {
10651
- let next;
10652
- let last;
10937
+ let next = null;
10938
+ let last = null;
10653
10939
  do {
10654
10940
  last = walker.lastChild();
10655
10941
  if (last) next = last;
@@ -10891,7 +11177,7 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
10891
11177
  usage: 'search',
10892
11178
  sensitivity: 'base'
10893
11179
  });
10894
- let delegate = (useMemo)(()=>keyboardDelegate || new ($2a25aae57d74318e$export$a05409b8bb224a5a)(state.collection, state.disabledKeys, null, collator), [
11180
+ let delegate = (useMemo)(()=>keyboardDelegate || new ($2a25aae57d74318e$export$a05409b8bb224a5a)(state.collection, state.disabledKeys, ref, collator), [
10895
11181
  keyboardDelegate,
10896
11182
  state.collection,
10897
11183
  state.disabledKeys,
@@ -10905,17 +11191,19 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
10905
11191
  switch(e.key){
10906
11192
  case 'ArrowLeft':
10907
11193
  {
11194
+ var _delegate_getKeyAbove, _delegate_getFirstKey;
10908
11195
  // prevent scrolling containers
10909
11196
  e.preventDefault();
10910
- let key = state.selectedKey != null ? delegate.getKeyAbove(state.selectedKey) : delegate.getFirstKey();
11197
+ 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);
10911
11198
  if (key) state.setSelectedKey(key);
10912
11199
  break;
10913
11200
  }
10914
11201
  case 'ArrowRight':
10915
11202
  {
11203
+ var _delegate_getKeyBelow, _delegate_getFirstKey1;
10916
11204
  // prevent scrolling containers
10917
11205
  e.preventDefault();
10918
- let key = state.selectedKey != null ? delegate.getKeyBelow(state.selectedKey) : delegate.getFirstKey();
11206
+ 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);
10919
11207
  if (key) state.setSelectedKey(key);
10920
11208
  break;
10921
11209
  }
@@ -10953,7 +11241,8 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
10953
11241
  ...labelProps,
10954
11242
  onClick: ()=>{
10955
11243
  if (!props.isDisabled) {
10956
- ref.current.focus();
11244
+ var _ref_current;
11245
+ (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
10957
11246
  // Show the focus ring so the user knows where focus went
10958
11247
  ($507fabe10e71c6fb$export$8397ddfc504fdb9a)('keyboard');
10959
11248
  }
@@ -11026,17 +11315,18 @@ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
11026
11315
 
11027
11316
 
11028
11317
 
11029
-
11030
11318
  function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11031
11319
  let data = ($58aed456727eb0f3$export$703601b7e90536f8).get(state) || {};
11032
11320
  let { autoComplete: autoComplete, name: name = data.name, isDisabled: isDisabled = data.isDisabled } = props;
11033
11321
  let { validationBehavior: validationBehavior, isRequired: isRequired } = data;
11034
- let modality = ($507fabe10e71c6fb$export$98e20ec92f614cfe)();
11035
11322
  let { visuallyHiddenProps: visuallyHiddenProps } = ($5c3e21d68f1c4674$export$a966af930f325cab)();
11036
11323
  ($99facab73266f662$export$5add1d006293d136)(props.selectRef, state.selectedKey, state.setSelectedKey);
11037
11324
  ($e93e671b31057976$export$b8473d3665f3a75a)({
11038
11325
  validationBehavior: validationBehavior,
11039
- focus: ()=>triggerRef.current.focus()
11326
+ focus: ()=>{
11327
+ var _triggerRef_current;
11328
+ return (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();
11329
+ }
11040
11330
  }, state, props.selectRef);
11041
11331
  var _state_selectedKey;
11042
11332
  // In Safari, the <select> cannot have `display: none` or `hidden` for autofill to work.
@@ -11045,18 +11335,6 @@ function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11045
11335
  // The solution is to use <VisuallyHidden> to hide the elements, which clips the elements to a
11046
11336
  // 1px rectangle. In addition, we hide from screen readers with aria-hidden, and make the <select>
11047
11337
  // non tabbable with tabIndex={-1}.
11048
- //
11049
- // In mobile browsers, there are next/previous buttons above the software keyboard for navigating
11050
- // between fields in a form. These only support native form inputs that are tabbable. In order to
11051
- // support those, an additional hidden input is used to marshall focus to the button. It is tabbable
11052
- // except when the button is focused, so that shift tab works properly to go to the actual previous
11053
- // input in the form. Using the <select> for this also works, but Safari on iOS briefly flashes
11054
- // the native menu on focus, so this isn't ideal. A font-size of 16px or greater is required to
11055
- // prevent Safari from zooming in on the input when it is focused.
11056
- //
11057
- // If the current interaction modality is null, then the user hasn't interacted with the page yet.
11058
- // In this case, we set the tabIndex to -1 on the input element so that automated accessibility
11059
- // checkers don't throw false-positives about focusable elements inside an aria-hidden parent.
11060
11338
  return {
11061
11339
  containerProps: {
11062
11340
  ...visuallyHiddenProps,
@@ -11067,13 +11345,9 @@ function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11067
11345
  ['data-a11y-ignore']: 'aria-hidden-focus'
11068
11346
  },
11069
11347
  inputProps: {
11070
- type: 'text',
11071
- tabIndex: modality == null || state.isFocused || state.isOpen ? -1 : 0,
11072
11348
  style: {
11073
- fontSize: 16
11074
- },
11075
- onFocus: ()=>triggerRef.current.focus(),
11076
- disabled: isDisabled
11349
+ display: 'none'
11350
+ }
11077
11351
  },
11078
11352
  selectProps: {
11079
11353
  tabIndex: -1,
@@ -11089,7 +11363,7 @@ function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
11089
11363
  function $bdd25dc72710631f$export$cbd84cdb2e668835(props) {
11090
11364
  let { state: state, triggerRef: triggerRef, label: label, name: name, isDisabled: isDisabled } = props;
11091
11365
  let selectRef = (useRef)(null);
11092
- let { containerProps: containerProps, inputProps: inputProps, selectProps: selectProps } = $bdd25dc72710631f$export$f809e80f58e251d1({
11366
+ let { containerProps: containerProps, selectProps: selectProps } = $bdd25dc72710631f$export$f809e80f58e251d1({
11093
11367
  ...props,
11094
11368
  selectRef: selectRef
11095
11369
  }, state, triggerRef);
@@ -11100,14 +11374,14 @@ function $bdd25dc72710631f$export$cbd84cdb2e668835(props) {
11100
11374
  if (state.collection.size <= 300) return /*#__PURE__*/ ($dbSRa$react).createElement("div", {
11101
11375
  ...containerProps,
11102
11376
  "data-testid": "hidden-select-container"
11103
- }, /*#__PURE__*/ ($dbSRa$react).createElement("input", inputProps), /*#__PURE__*/ ($dbSRa$react).createElement("label", null, label, /*#__PURE__*/ ($dbSRa$react).createElement("select", {
11377
+ }, /*#__PURE__*/ ($dbSRa$react).createElement("label", null, label, /*#__PURE__*/ ($dbSRa$react).createElement("select", {
11104
11378
  ...selectProps,
11105
11379
  ref: selectRef
11106
11380
  }, /*#__PURE__*/ ($dbSRa$react).createElement("option", null), [
11107
11381
  ...state.collection.getKeys()
11108
11382
  ].map((key)=>{
11109
11383
  let item = state.collection.getItem(key);
11110
- if (item.type === 'item') return /*#__PURE__*/ ($dbSRa$react).createElement("option", {
11384
+ if (item && item.type === 'item') return /*#__PURE__*/ ($dbSRa$react).createElement("option", {
11111
11385
  key: item.key,
11112
11386
  value: item.key
11113
11387
  }, item.textValue);
@@ -11542,7 +11816,6 @@ function $fc6126c82a4601f1$export$3f568fff7dff2f03(props, state, ref) {
11542
11816
  let description = onRemove && (modality === 'keyboard' || modality === 'virtual') ? stringFormatter.format('removeDescription') : '';
11543
11817
  let descProps = ($ef06256079686ba0$export$f8aeda7b10753fa1)(description);
11544
11818
  let isFocused = item.key === state.selectionManager.focusedKey;
11545
- // @ts-ignore - data attributes are ok but TS doesn't know about them.
11546
11819
  let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(item.props);
11547
11820
  let linkProps = ($ea8dcbcb9ea1b556$export$bdc77b0c0a3a85d6)(item.props);
11548
11821
  return {
@@ -11715,6 +11988,103 @@ function $4e1b34546679e357$export$a6da6c504e4bba8b(props, state, ref) {
11715
11988
  */
11716
11989
 
11717
11990
 
11991
+ const $4f118338184dc1d9$export$e2509388b49734e7 = /*#__PURE__*/ (createContext)(null);
11992
+ function $4f118338184dc1d9$var$Link(props, ref) {
11993
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $4f118338184dc1d9$export$e2509388b49734e7);
11994
+ let ElementType = props.href && !props.isDisabled ? 'a' : 'span';
11995
+ let { linkProps: linkProps, isPressed: isPressed } = ($298d61e98472621b$export$dcf14c9974fe2767)({
11996
+ ...props,
11997
+ elementType: ElementType
11998
+ }, ref);
11999
+ let { hoverProps: hoverProps, isHovered: isHovered } = ($6179b936705e76d3$export$ae780daf29e6d456)(props);
12000
+ let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = ($f7dceffc5ad7768b$export$4e328f61c538687f)();
12001
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
12002
+ ...props,
12003
+ defaultClassName: 'react-aria-Link',
12004
+ values: {
12005
+ isCurrent: !!props['aria-current'],
12006
+ isDisabled: props.isDisabled || false,
12007
+ isPressed: isPressed,
12008
+ isHovered: isHovered,
12009
+ isFocused: isFocused,
12010
+ isFocusVisible: isFocusVisible
12011
+ }
12012
+ });
12013
+ return /*#__PURE__*/ ($dbSRa$react).createElement(ElementType, {
12014
+ ref: ref,
12015
+ slot: props.slot || undefined,
12016
+ ...($3ef42575df84b30b$export$9d1611c77c2fe928)(renderProps, linkProps, hoverProps, focusProps),
12017
+ "data-focused": isFocused || undefined,
12018
+ "data-hovered": isHovered || undefined,
12019
+ "data-pressed": isPressed || undefined,
12020
+ "data-focus-visible": isFocusVisible || undefined,
12021
+ "data-current": !!props['aria-current'] || undefined,
12022
+ "data-disabled": props.isDisabled || undefined
12023
+ }, renderProps.children);
12024
+ }
12025
+ /**
12026
+ * A link allows a user to navigate to another page or resource within a web page
12027
+ * or application.
12028
+ */ const $4f118338184dc1d9$export$a6c7ac8248d6e38a = /*#__PURE__*/ (forwardRef)($4f118338184dc1d9$var$Link);
12029
+
12030
+ /*
12031
+ * Copyright 2022 Adobe. All rights reserved.
12032
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12033
+ * you may not use this file except in compliance with the License. You may obtain a copy
12034
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12035
+ *
12036
+ * Unless required by applicable law or agreed to in writing, software distributed under
12037
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12038
+ * OF ANY KIND, either express or implied. See the License for the specific language
12039
+ * governing permissions and limitations under the License.
12040
+ */
12041
+
12042
+
12043
+ const $01b77f81d0f07f68$export$75b6ee27786ba447 = /*#__PURE__*/ (createContext)({});
12044
+ function $01b77f81d0f07f68$var$Label(props, ref) {
12045
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $01b77f81d0f07f68$export$75b6ee27786ba447);
12046
+ let { elementType: ElementType = 'label', ...labelProps } = props;
12047
+ // @ts-ignore
12048
+ return /*#__PURE__*/ ($dbSRa$react).createElement(ElementType, {
12049
+ className: "react-aria-Label",
12050
+ ...labelProps,
12051
+ ref: ref
12052
+ });
12053
+ }
12054
+ const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ ($f39a9eba43920ace$export$86427a43e3e48ebb)($01b77f81d0f07f68$var$Label);
12055
+
12056
+ /*
12057
+ * Copyright 2022 Adobe. All rights reserved.
12058
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12059
+ * you may not use this file except in compliance with the License. You may obtain a copy
12060
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12061
+ *
12062
+ * Unless required by applicable law or agreed to in writing, software distributed under
12063
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12064
+ * OF ANY KIND, either express or implied. See the License for the specific language
12065
+ * governing permissions and limitations under the License.
12066
+ */
12067
+
12068
+
12069
+
12070
+
12071
+ const $0393f8ab869a0f1a$export$e9f3bf65a26ce129 = /*#__PURE__*/ (createContext)(null);
12072
+
12073
+ /*
12074
+ * Copyright 2022 Adobe. All rights reserved.
12075
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12076
+ * you may not use this file except in compliance with the License. You may obtain a copy
12077
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12078
+ *
12079
+ * Unless required by applicable law or agreed to in writing, software distributed under
12080
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12081
+ * OF ANY KIND, either express or implied. See the License for the specific language
12082
+ * governing permissions and limitations under the License.
12083
+ */
12084
+
12085
+
12086
+
12087
+
11718
12088
 
11719
12089
 
11720
12090
  const $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes = new Set([
@@ -11730,35 +12100,88 @@ const $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes = new Set([
11730
12100
  const $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /*#__PURE__*/ (createContext)({});
11731
12101
  function $d2b4bc8c273e7be6$var$Button(props, ref) {
11732
12102
  [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $d2b4bc8c273e7be6$export$24d547caef80ccd1);
12103
+ props = $d2b4bc8c273e7be6$var$disablePendingProps(props);
11733
12104
  let ctx = props;
12105
+ let { isPending: isPending } = ctx;
11734
12106
  let { buttonProps: buttonProps, isPressed: isPressed } = ($701a24aa0da5b062$export$ea18c227d4417cc3)(props, ref);
11735
12107
  let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = ($f7dceffc5ad7768b$export$4e328f61c538687f)(props);
11736
- let { hoverProps: hoverProps, isHovered: isHovered } = ($6179b936705e76d3$export$ae780daf29e6d456)(props);
12108
+ let { hoverProps: hoverProps, isHovered: isHovered } = ($6179b936705e76d3$export$ae780daf29e6d456)({
12109
+ ...props,
12110
+ isDisabled: props.isDisabled || isPending
12111
+ });
12112
+ let renderValues = {
12113
+ isHovered: isHovered,
12114
+ isPressed: (ctx.isPressed || isPressed) && !isPending,
12115
+ isFocused: isFocused,
12116
+ isFocusVisible: isFocusVisible,
12117
+ isDisabled: props.isDisabled || false,
12118
+ isPending: isPending !== null && isPending !== void 0 ? isPending : false
12119
+ };
11737
12120
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
11738
12121
  ...props,
11739
- values: {
11740
- isHovered: isHovered,
11741
- isPressed: isPressed,
11742
- isFocused: isFocused,
11743
- isFocusVisible: isFocusVisible,
11744
- isDisabled: props.isDisabled || false
11745
- },
12122
+ values: renderValues,
11746
12123
  defaultClassName: 'react-aria-Button'
11747
12124
  });
12125
+ let buttonId = ($bdb11010cef70236$export$f680877a34711e37)(buttonProps.id);
12126
+ let progressId = ($bdb11010cef70236$export$f680877a34711e37)();
12127
+ let ariaLabelledby = buttonProps['aria-labelledby'];
12128
+ if (isPending) {
12129
+ // aria-labelledby wins over aria-label
12130
+ // https://www.w3.org/TR/accname-1.2/#computation-steps
12131
+ if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;
12132
+ else if (buttonProps['aria-label']) ariaLabelledby = `${buttonId} ${progressId}`;
12133
+ }
12134
+ let wasPending = (useRef)(isPending);
12135
+ (useEffect)(()=>{
12136
+ let message = {
12137
+ 'aria-labelledby': ariaLabelledby || buttonId
12138
+ };
12139
+ if (!wasPending.current && isFocused && isPending) ($319e236875307eab$export$a9b970dcc4ae71a9)(message, 'assertive');
12140
+ else if (wasPending.current && isFocused && !isPending) ($319e236875307eab$export$a9b970dcc4ae71a9)(message, 'assertive');
12141
+ wasPending.current = isPending;
12142
+ }, [
12143
+ isPending,
12144
+ isFocused,
12145
+ ariaLabelledby,
12146
+ buttonId
12147
+ ]);
11748
12148
  return /*#__PURE__*/ ($dbSRa$react).createElement("button", {
11749
12149
  ...($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props, {
11750
12150
  propNames: $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes
11751
12151
  }),
11752
12152
  ...($3ef42575df84b30b$export$9d1611c77c2fe928)(buttonProps, focusProps, hoverProps),
11753
12153
  ...renderProps,
12154
+ id: buttonId,
11754
12155
  ref: ref,
12156
+ "aria-labelledby": ariaLabelledby,
11755
12157
  slot: props.slot || undefined,
12158
+ "aria-disabled": isPending ? 'true' : buttonProps['aria-disabled'],
11756
12159
  "data-disabled": props.isDisabled || undefined,
11757
- "data-pressed": ctx.isPressed || isPressed || undefined,
12160
+ "data-pressed": renderValues.isPressed || undefined,
11758
12161
  "data-hovered": isHovered || undefined,
11759
12162
  "data-focused": isFocused || undefined,
12163
+ "data-pending": isPending || undefined,
11760
12164
  "data-focus-visible": isFocusVisible || undefined
11761
- });
12165
+ }, /*#__PURE__*/ ($dbSRa$react).createElement(($0393f8ab869a0f1a$export$e9f3bf65a26ce129).Provider, {
12166
+ value: {
12167
+ id: progressId
12168
+ }
12169
+ }, renderProps.children));
12170
+ }
12171
+ function $d2b4bc8c273e7be6$var$disablePendingProps(props) {
12172
+ // Don't allow interaction while isPending is true
12173
+ if (props.isPending) {
12174
+ props.onPress = undefined;
12175
+ props.onPressStart = undefined;
12176
+ props.onPressEnd = undefined;
12177
+ props.onPressChange = undefined;
12178
+ props.onPressUp = undefined;
12179
+ props.onKeyDown = undefined;
12180
+ props.onKeyUp = undefined;
12181
+ props.onClick = undefined;
12182
+ props.href = undefined;
12183
+ }
12184
+ return props;
11762
12185
  }
11763
12186
  /**
11764
12187
  * A button allows a user to perform an action, with mouse, touch, and keyboard interactions.
@@ -11873,11 +12296,13 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11873
12296
  }
11874
12297
  getKeyBefore(key) {
11875
12298
  let node = this.keyMap.get(key);
11876
- return node ? node.prevKey : null;
12299
+ var _node_prevKey;
12300
+ return node ? (_node_prevKey = node.prevKey) !== null && _node_prevKey !== void 0 ? _node_prevKey : null : null;
11877
12301
  }
11878
12302
  getKeyAfter(key) {
11879
12303
  let node = this.keyMap.get(key);
11880
- return node ? node.nextKey : null;
12304
+ var _node_nextKey;
12305
+ return node ? (_node_nextKey = node.nextKey) !== null && _node_nextKey !== void 0 ? _node_nextKey : null : null;
11881
12306
  }
11882
12307
  getFirstKey() {
11883
12308
  return this.firstKey;
@@ -11886,7 +12311,8 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11886
12311
  return this.lastKey;
11887
12312
  }
11888
12313
  getItem(key) {
11889
- return this.keyMap.get(key);
12314
+ var _this_keyMap_get;
12315
+ return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;
11890
12316
  }
11891
12317
  at(idx) {
11892
12318
  const keys = [
@@ -11900,13 +12326,15 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11900
12326
  }
11901
12327
  constructor(nodes){
11902
12328
  this.keyMap = new Map();
12329
+ this.firstKey = null;
12330
+ this.lastKey = null;
11903
12331
  this.iterable = nodes;
11904
12332
  let visit = (node)=>{
11905
12333
  this.keyMap.set(node.key, node);
11906
12334
  if (node.childNodes && node.type === 'section') for (let child of node.childNodes)visit(child);
11907
12335
  };
11908
12336
  for (let node of nodes)visit(node);
11909
- let last;
12337
+ let last = null;
11910
12338
  let index = 0;
11911
12339
  for (let [key, node] of this.keyMap){
11912
12340
  if (last) {
@@ -11922,7 +12350,8 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11922
12350
  // If it isn't the last node, last.nextKey will properly set at start of new loop
11923
12351
  last.nextKey = undefined;
11924
12352
  }
11925
- this.lastKey = last === null || last === void 0 ? void 0 : last.key;
12353
+ var _last_key;
12354
+ this.lastKey = (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;
11926
12355
  }
11927
12356
  }
11928
12357
 
@@ -11940,11 +12369,11 @@ function $587d3ad58be6d31f$export$daff6da51032a415(props = {}) {
11940
12369
  constructor(keys, anchorKey, currentKey){
11941
12370
  super(keys);
11942
12371
  if (keys instanceof $e40ea825a81a3709$export$52baac22726c72bf) {
11943
- this.anchorKey = anchorKey || keys.anchorKey;
11944
- this.currentKey = currentKey || keys.currentKey;
12372
+ this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : keys.anchorKey;
12373
+ this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : keys.currentKey;
11945
12374
  } else {
11946
- this.anchorKey = anchorKey;
11947
- this.currentKey = currentKey;
12375
+ this.anchorKey = anchorKey !== null && anchorKey !== void 0 ? anchorKey : null;
12376
+ this.currentKey = currentKey !== null && currentKey !== void 0 ? currentKey : null;
11948
12377
  }
11949
12378
  }
11950
12379
  }
@@ -11970,7 +12399,7 @@ function $7af3f5b51489e0b5$var$equalSets(setA, setB) {
11970
12399
  return true;
11971
12400
  }
11972
12401
  function $7af3f5b51489e0b5$export$253fe78d46329472(props) {
11973
- let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
12402
+ let { selectionMode: selectionMode = 'none', disallowEmptySelection: disallowEmptySelection = false, allowDuplicateSelectionEvents: allowDuplicateSelectionEvents, selectionBehavior: selectionBehaviorProp = 'toggle', disabledBehavior: disabledBehavior = 'all' } = props;
11974
12403
  // We want synchronous updates to `isFocused` and `focusedKey` after their setters are called.
11975
12404
  // But we also need to trigger a react re-render. So, we have both a ref (sync) and state (async).
11976
12405
  let isFocusedRef = (useRef)(false);
@@ -12109,8 +12538,9 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12109
12538
  * Returns whether a key is selected.
12110
12539
  */ isSelected(key) {
12111
12540
  if (this.state.selectionMode === 'none') return false;
12112
- key = this.getKey(key);
12113
- return this.state.selectedKeys === 'all' ? this.canSelectItem(key) : this.state.selectedKeys.has(key);
12541
+ let mappedKey = this.getKey(key);
12542
+ if (mappedKey == null) return false;
12543
+ return this.state.selectedKeys === 'all' ? this.canSelectItem(mappedKey) : this.state.selectedKeys.has(mappedKey);
12114
12544
  }
12115
12545
  /**
12116
12546
  * Whether the selection is empty.
@@ -12134,7 +12564,8 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12134
12564
  let item = this.collection.getItem(key);
12135
12565
  if (!first || item && ($c5a24bc478652b5f$export$8c434b3a7a4dad6)(this.collection, item, first) < 0) first = item;
12136
12566
  }
12137
- return first === null || first === void 0 ? void 0 : first.key;
12567
+ var _first_key;
12568
+ return (_first_key = first === null || first === void 0 ? void 0 : first.key) !== null && _first_key !== void 0 ? _first_key : null;
12138
12569
  }
12139
12570
  get lastSelectedKey() {
12140
12571
  let last = null;
@@ -12142,7 +12573,8 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12142
12573
  let item = this.collection.getItem(key);
12143
12574
  if (!last || item && ($c5a24bc478652b5f$export$8c434b3a7a4dad6)(this.collection, item, last) > 0) last = item;
12144
12575
  }
12145
- return last === null || last === void 0 ? void 0 : last.key;
12576
+ var _last_key;
12577
+ return (_last_key = last === null || last === void 0 ? void 0 : last.key) !== null && _last_key !== void 0 ? _last_key : null;
12146
12578
  }
12147
12579
  get disabledKeys() {
12148
12580
  return this.state.disabledKeys;
@@ -12158,18 +12590,21 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12158
12590
  this.replaceSelection(toKey);
12159
12591
  return;
12160
12592
  }
12161
- toKey = this.getKey(toKey);
12593
+ let mappedToKey = this.getKey(toKey);
12594
+ if (mappedToKey == null) return;
12162
12595
  let selection;
12163
12596
  // Only select the one key if coming from a select all.
12164
12597
  if (this.state.selectedKeys === 'all') selection = new ($e40ea825a81a3709$export$52baac22726c72bf)([
12165
- toKey
12166
- ], toKey, toKey);
12598
+ mappedToKey
12599
+ ], mappedToKey, mappedToKey);
12167
12600
  else {
12168
12601
  let selectedKeys = this.state.selectedKeys;
12169
- let anchorKey = selectedKeys.anchorKey || toKey;
12170
- selection = new ($e40ea825a81a3709$export$52baac22726c72bf)(selectedKeys, anchorKey, toKey);
12171
- for (let key of this.getKeyRange(anchorKey, selectedKeys.currentKey || toKey))selection.delete(key);
12172
- for (let key of this.getKeyRange(toKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
12602
+ var _selectedKeys_anchorKey;
12603
+ let anchorKey = (_selectedKeys_anchorKey = selectedKeys.anchorKey) !== null && _selectedKeys_anchorKey !== void 0 ? _selectedKeys_anchorKey : mappedToKey;
12604
+ selection = new ($e40ea825a81a3709$export$52baac22726c72bf)(selectedKeys, anchorKey, mappedToKey);
12605
+ var _selectedKeys_currentKey;
12606
+ for (let key of this.getKeyRange(anchorKey, (_selectedKeys_currentKey = selectedKeys.currentKey) !== null && _selectedKeys_currentKey !== void 0 ? _selectedKeys_currentKey : mappedToKey))selection.delete(key);
12607
+ for (let key of this.getKeyRange(mappedToKey, anchorKey))if (this.canSelectItem(key)) selection.add(key);
12173
12608
  }
12174
12609
  this.state.setSelectedKeys(selection);
12175
12610
  }
@@ -12183,11 +12618,13 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12183
12618
  return [];
12184
12619
  }
12185
12620
  getKeyRangeInternal(from, to) {
12621
+ var _this_layoutDelegate;
12622
+ if ((_this_layoutDelegate = this.layoutDelegate) === null || _this_layoutDelegate === void 0 ? void 0 : _this_layoutDelegate.getKeyRange) return this.layoutDelegate.getKeyRange(from, to);
12186
12623
  let keys = [];
12187
12624
  let key = from;
12188
- while(key){
12625
+ while(key != null){
12189
12626
  let item = this.collection.getItem(key);
12190
- if (item && item.type === 'item' || item.type === 'cell' && this.allowsCellSelection) keys.push(key);
12627
+ if (item && (item.type === 'item' || item.type === 'cell' && this.allowsCellSelection)) keys.push(key);
12191
12628
  if (key === to) return keys;
12192
12629
  key = this.collection.getKeyAfter(key);
12193
12630
  }
@@ -12200,7 +12637,7 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12200
12637
  // If cell selection is allowed, just return the key.
12201
12638
  if (item.type === 'cell' && this.allowsCellSelection) return key;
12202
12639
  // Find a parent item to select
12203
- while(item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
12640
+ while(item && item.type !== 'item' && item.parentKey != null)item = this.collection.getItem(item.parentKey);
12204
12641
  if (!item || item.type !== 'item') return null;
12205
12642
  return item.key;
12206
12643
  }
@@ -12212,14 +12649,14 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12212
12649
  this.replaceSelection(key);
12213
12650
  return;
12214
12651
  }
12215
- key = this.getKey(key);
12216
- if (key == null) return;
12652
+ let mappedKey = this.getKey(key);
12653
+ if (mappedKey == null) return;
12217
12654
  let keys = new ($e40ea825a81a3709$export$52baac22726c72bf)(this.state.selectedKeys === 'all' ? this.getSelectAllKeys() : this.state.selectedKeys);
12218
- if (keys.has(key)) keys.delete(key);
12219
- else if (this.canSelectItem(key)) {
12220
- keys.add(key);
12221
- keys.anchorKey = key;
12222
- keys.currentKey = key;
12655
+ if (keys.has(mappedKey)) keys.delete(mappedKey);
12656
+ else if (this.canSelectItem(mappedKey)) {
12657
+ keys.add(mappedKey);
12658
+ keys.anchorKey = mappedKey;
12659
+ keys.currentKey = mappedKey;
12223
12660
  }
12224
12661
  if (this.disallowEmptySelection && keys.size === 0) return;
12225
12662
  this.state.setSelectedKeys(keys);
@@ -12228,11 +12665,11 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12228
12665
  * Replaces the selection with only the given key.
12229
12666
  */ replaceSelection(key) {
12230
12667
  if (this.selectionMode === 'none') return;
12231
- key = this.getKey(key);
12232
- if (key == null) return;
12233
- let selection = this.canSelectItem(key) ? new ($e40ea825a81a3709$export$52baac22726c72bf)([
12234
- key
12235
- ], key, key) : new ($e40ea825a81a3709$export$52baac22726c72bf)();
12668
+ let mappedKey = this.getKey(key);
12669
+ if (mappedKey == null) return;
12670
+ let selection = this.canSelectItem(mappedKey) ? new ($e40ea825a81a3709$export$52baac22726c72bf)([
12671
+ mappedKey
12672
+ ], mappedKey, mappedKey) : new ($e40ea825a81a3709$export$52baac22726c72bf)();
12236
12673
  this.state.setSelectedKeys(selection);
12237
12674
  }
12238
12675
  /**
@@ -12241,9 +12678,9 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12241
12678
  if (this.selectionMode === 'none') return;
12242
12679
  let selection = new ($e40ea825a81a3709$export$52baac22726c72bf)();
12243
12680
  for (let key of keys){
12244
- key = this.getKey(key);
12245
- if (key != null) {
12246
- selection.add(key);
12681
+ let mappedKey = this.getKey(key);
12682
+ if (mappedKey != null) {
12683
+ selection.add(mappedKey);
12247
12684
  if (this.selectionMode === 'single') break;
12248
12685
  }
12249
12686
  }
@@ -12254,10 +12691,12 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12254
12691
  let addKeys = (key)=>{
12255
12692
  while(key != null){
12256
12693
  if (this.canSelectItem(key)) {
12694
+ var _getFirstItem;
12257
12695
  let item = this.collection.getItem(key);
12258
- if (item.type === 'item') keys.push(key);
12696
+ if ((item === null || item === void 0 ? void 0 : item.type) === 'item') keys.push(key);
12697
+ var _getFirstItem_key;
12259
12698
  // Add child keys. If cell selection is allowed, then include item children too.
12260
- if (item.hasChildNodes && (this.allowsCellSelection || item.type !== 'item')) addKeys(($c5a24bc478652b5f$export$fbdeaa6a76694f71)(($c5a24bc478652b5f$export$1005530eda016c13)(item, this.collection)).key);
12699
+ 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);
12261
12700
  }
12262
12701
  key = this.collection.getKeyAfter(key);
12263
12702
  }
@@ -12330,6 +12769,7 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12330
12769
  var _options_allowsCellSelection;
12331
12770
  this.allowsCellSelection = (_options_allowsCellSelection = options === null || options === void 0 ? void 0 : options.allowsCellSelection) !== null && _options_allowsCellSelection !== void 0 ? _options_allowsCellSelection : false;
12332
12771
  this._isSelectAll = null;
12772
+ this.layoutDelegate = (options === null || options === void 0 ? void 0 : options.layoutDelegate) || null;
12333
12773
  }
12334
12774
  }
12335
12775
 
@@ -12348,7 +12788,7 @@ class $d496c0a20b6e58ec$export$6c8a5aaad13c9852 {
12348
12788
 
12349
12789
 
12350
12790
  function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
12351
- let { filter: filter } = props;
12791
+ let { filter: filter, layoutDelegate: layoutDelegate } = props;
12352
12792
  let selectionState = ($7af3f5b51489e0b5$export$253fe78d46329472)(props);
12353
12793
  let disabledKeys = (useMemo)(()=>props.disabledKeys ? new Set(props.disabledKeys) : new Set(), [
12354
12794
  props.disabledKeys
@@ -12362,30 +12802,35 @@ function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
12362
12802
  props.suppressTextValueWarning
12363
12803
  ]);
12364
12804
  let collection = ($7613b1592d41b092$export$6cd28814d92fa9c9)(props, factory, context);
12365
- let selectionManager = (useMemo)(()=>new ($d496c0a20b6e58ec$export$6c8a5aaad13c9852)(collection, selectionState), [
12805
+ let selectionManager = (useMemo)(()=>new ($d496c0a20b6e58ec$export$6c8a5aaad13c9852)(collection, selectionState, {
12806
+ layoutDelegate: layoutDelegate
12807
+ }), [
12366
12808
  collection,
12367
- selectionState
12809
+ selectionState,
12810
+ layoutDelegate
12368
12811
  ]);
12369
12812
  // Reset focused key if that item is deleted from the collection.
12370
12813
  const cachedCollection = (useRef)(null);
12371
12814
  (useEffect)(()=>{
12372
- if (selectionState.focusedKey != null && !collection.getItem(selectionState.focusedKey)) {
12815
+ if (selectionState.focusedKey != null && !collection.getItem(selectionState.focusedKey) && cachedCollection.current) {
12373
12816
  const startItem = cachedCollection.current.getItem(selectionState.focusedKey);
12374
12817
  const cachedItemNodes = [
12375
12818
  ...cachedCollection.current.getKeys()
12376
12819
  ].map((key)=>{
12377
12820
  const itemNode = cachedCollection.current.getItem(key);
12378
- return itemNode.type === 'item' ? itemNode : null;
12821
+ return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;
12379
12822
  }).filter((node)=>node !== null);
12380
12823
  const itemNodes = [
12381
12824
  ...collection.getKeys()
12382
12825
  ].map((key)=>{
12383
12826
  const itemNode = collection.getItem(key);
12384
- return itemNode.type === 'item' ? itemNode : null;
12827
+ return (itemNode === null || itemNode === void 0 ? void 0 : itemNode.type) === 'item' ? itemNode : null;
12385
12828
  }).filter((node)=>node !== null);
12386
- const diff = cachedItemNodes.length - itemNodes.length;
12387
- let index = Math.min(diff > 1 ? Math.max(startItem.index - diff + 1, 0) : startItem.index, itemNodes.length - 1);
12388
- let newNode;
12829
+ var _cachedItemNodes_length, _itemNodes_length;
12830
+ 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);
12831
+ var _startItem_index, _startItem_index1, _itemNodes_length1;
12832
+ 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);
12833
+ let newNode = null;
12389
12834
  let isReverseSearching = false;
12390
12835
  while(index >= 0){
12391
12836
  if (!selectionManager.isDisabled(itemNodes[index].key)) {
@@ -12396,7 +12841,8 @@ function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
12396
12841
  if (index < itemNodes.length - 1 && !isReverseSearching) index++;
12397
12842
  else {
12398
12843
  isReverseSearching = true;
12399
- if (index > startItem.index) index = startItem.index;
12844
+ var _startItem_index2, _startItem_index3;
12845
+ 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;
12400
12846
  index--;
12401
12847
  }
12402
12848
  }
@@ -12444,6 +12890,8 @@ function $a0d645289fe9b86b$export$e7f05e985daf4b5f(props) {
12444
12890
  allowDuplicateSelectionEvents: true,
12445
12891
  selectedKeys: selectedKeys,
12446
12892
  onSelectionChange: (keys)=>{
12893
+ // impossible, but TS doesn't know that
12894
+ if (keys === 'all') return;
12447
12895
  var _keys_values_next_value;
12448
12896
  let key = (_keys_values_next_value = keys.values().next().value) !== null && _keys_values_next_value !== void 0 ? _keys_values_next_value : null;
12449
12897
  // Always fire onSelectionChange, even if the key is the same
@@ -12494,11 +12942,150 @@ function $fc909762b330b746$export$61c6a8c84e605fb6(props) {
12494
12942
  isOpen
12495
12943
  ]);
12496
12944
  return {
12497
- isOpen: isOpen,
12498
- setOpen: setOpen,
12499
- open: open,
12500
- close: close,
12501
- toggle: toggle
12945
+ isOpen: isOpen,
12946
+ setOpen: setOpen,
12947
+ open: open,
12948
+ close: close,
12949
+ toggle: toggle
12950
+ };
12951
+ }
12952
+
12953
+ /*
12954
+ * Copyright 2024 Adobe. All rights reserved.
12955
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12956
+ * you may not use this file except in compliance with the License. You may obtain a copy
12957
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12958
+ *
12959
+ * Unless required by applicable law or agreed to in writing, software distributed under
12960
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12961
+ * OF ANY KIND, either express or implied. See the License for the specific language
12962
+ * governing permissions and limitations under the License.
12963
+ */
12964
+
12965
+ function $bf996d45f4a36925$export$3fcbf6e4407997e0(props) {
12966
+ let [isExpanded, setExpanded] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)(props.isExpanded, props.defaultExpanded || false, props.onExpandedChange);
12967
+ const expand = (useCallback)(()=>{
12968
+ setExpanded(true);
12969
+ }, [
12970
+ setExpanded
12971
+ ]);
12972
+ const collapse = (useCallback)(()=>{
12973
+ setExpanded(false);
12974
+ }, [
12975
+ setExpanded
12976
+ ]);
12977
+ const toggle = (useCallback)(()=>{
12978
+ setExpanded(!isExpanded);
12979
+ }, [
12980
+ setExpanded,
12981
+ isExpanded
12982
+ ]);
12983
+ return {
12984
+ isExpanded: isExpanded,
12985
+ setExpanded: setExpanded,
12986
+ expand: expand,
12987
+ collapse: collapse,
12988
+ toggle: toggle
12989
+ };
12990
+ }
12991
+
12992
+ /*
12993
+ * Copyright 2024 Adobe. All rights reserved.
12994
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12995
+ * you may not use this file except in compliance with the License. You may obtain a copy
12996
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
12997
+ *
12998
+ * Unless required by applicable law or agreed to in writing, software distributed under
12999
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
13000
+ * OF ANY KIND, either express or implied. See the License for the specific language
13001
+ * governing permissions and limitations under the License.
13002
+ */
13003
+
13004
+ function $9385b3affbdec831$export$f36461af0ef4707d(props) {
13005
+ let { allowsMultipleExpanded: allowsMultipleExpanded = false, isDisabled: isDisabled = false } = props;
13006
+ let [expandedKeys, setExpandedKeys] = ($458b0a5536c1a7cf$export$40bfa8c7b0832715)((useMemo)(()=>props.expandedKeys ? new Set(props.expandedKeys) : undefined, [
13007
+ props.expandedKeys
13008
+ ]), (useMemo)(()=>props.defaultExpandedKeys ? new Set(props.defaultExpandedKeys) : new Set(), [
13009
+ props.defaultExpandedKeys
13010
+ ]), props.onExpandedChange);
13011
+ (useEffect)(()=>{
13012
+ // Ensure only one item is expanded if allowsMultipleExpanded is false.
13013
+ if (!allowsMultipleExpanded && expandedKeys.size > 1) setExpandedKeys(new Set([
13014
+ expandedKeys.values().next().value
13015
+ ]));
13016
+ });
13017
+ return {
13018
+ allowsMultipleExpanded: allowsMultipleExpanded,
13019
+ isDisabled: isDisabled,
13020
+ expandedKeys: expandedKeys,
13021
+ setExpandedKeys: setExpandedKeys,
13022
+ toggleKey (key) {
13023
+ let keys;
13024
+ if (allowsMultipleExpanded) {
13025
+ keys = new Set(expandedKeys);
13026
+ if (keys.has(key)) keys.delete(key);
13027
+ else keys.add(key);
13028
+ } else keys = new Set(expandedKeys.has(key) ? [] : [
13029
+ key
13030
+ ]);
13031
+ setExpandedKeys(keys);
13032
+ }
13033
+ };
13034
+ }
13035
+
13036
+ /*
13037
+ * Copyright 2020 Adobe. All rights reserved.
13038
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
13039
+ * you may not use this file except in compliance with the License. You may obtain a copy
13040
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
13041
+ *
13042
+ * Unless required by applicable law or agreed to in writing, software distributed under
13043
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
13044
+ * OF ANY KIND, either express or implied. See the License for the specific language
13045
+ * governing permissions and limitations under the License.
13046
+ */
13047
+
13048
+ function $a28c903ee9ad8dc5$export$79fefeb1c2091ac3(props) {
13049
+ let overlayTriggerState = ($fc909762b330b746$export$61c6a8c84e605fb6)(props);
13050
+ let [focusStrategy, setFocusStrategy] = (useState)(null);
13051
+ let [expandedKeysStack, setExpandedKeysStack] = (useState)([]);
13052
+ let closeAll = ()=>{
13053
+ setExpandedKeysStack([]);
13054
+ overlayTriggerState.close();
13055
+ };
13056
+ let openSubmenu = (triggerKey, level)=>{
13057
+ setExpandedKeysStack((oldStack)=>{
13058
+ if (level > oldStack.length) return oldStack;
13059
+ return [
13060
+ ...oldStack.slice(0, level),
13061
+ triggerKey
13062
+ ];
13063
+ });
13064
+ };
13065
+ let closeSubmenu = (triggerKey, level)=>{
13066
+ setExpandedKeysStack((oldStack)=>{
13067
+ let key = oldStack[level];
13068
+ if (key === triggerKey) return oldStack.slice(0, level);
13069
+ else return oldStack;
13070
+ });
13071
+ };
13072
+ return {
13073
+ focusStrategy: focusStrategy,
13074
+ ...overlayTriggerState,
13075
+ open (focusStrategy = null) {
13076
+ setFocusStrategy(focusStrategy);
13077
+ overlayTriggerState.open();
13078
+ },
13079
+ toggle (focusStrategy = null) {
13080
+ setFocusStrategy(focusStrategy);
13081
+ overlayTriggerState.toggle();
13082
+ },
13083
+ close () {
13084
+ closeAll();
13085
+ },
13086
+ expandedKeysStack: expandedKeysStack,
13087
+ openSubmenu: openSubmenu,
13088
+ closeSubmenu: closeSubmenu
12502
13089
  };
12503
13090
  }
12504
13091
 
@@ -12627,7 +13214,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12627
13214
  let { delay: delay = $8796f90736e175cb$var$TOOLTIP_DELAY, closeDelay: closeDelay = $8796f90736e175cb$var$TOOLTIP_COOLDOWN } = props;
12628
13215
  let { isOpen: isOpen, open: open, close: close } = ($fc909762b330b746$export$61c6a8c84e605fb6)(props);
12629
13216
  let id = (useMemo)(()=>`${++$8796f90736e175cb$var$tooltipId}`, []);
12630
- let closeTimeout = (useRef)(undefined);
13217
+ let closeTimeout = (useRef)(null);
12631
13218
  let closeCallback = (useRef)(close);
12632
13219
  let ensureTooltipEntry = ()=>{
12633
13220
  $8796f90736e175cb$var$tooltips[id] = hideTooltip;
@@ -12639,7 +13226,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12639
13226
  }
12640
13227
  };
12641
13228
  let showTooltip = ()=>{
12642
- clearTimeout(closeTimeout.current);
13229
+ if (closeTimeout.current) clearTimeout(closeTimeout.current);
12643
13230
  closeTimeout.current = null;
12644
13231
  closeOpenTooltips();
12645
13232
  ensureTooltipEntry();
@@ -12656,7 +13243,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12656
13243
  };
12657
13244
  let hideTooltip = (immediate)=>{
12658
13245
  if (immediate || closeDelay <= 0) {
12659
- clearTimeout(closeTimeout.current);
13246
+ if (closeTimeout.current) clearTimeout(closeTimeout.current);
12660
13247
  closeTimeout.current = null;
12661
13248
  closeCallback.current();
12662
13249
  } else if (!closeTimeout.current) closeTimeout.current = setTimeout(()=>{
@@ -12691,10 +13278,9 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12691
13278
  }, [
12692
13279
  close
12693
13280
  ]);
12694
- // eslint-disable-next-line arrow-body-style
12695
13281
  (useEffect)(()=>{
12696
13282
  return ()=>{
12697
- clearTimeout(closeTimeout.current);
13283
+ if (closeTimeout.current) clearTimeout(closeTimeout.current);
12698
13284
  let tooltip = $8796f90736e175cb$var$tooltips[id];
12699
13285
  if (tooltip) delete $8796f90736e175cb$var$tooltips[id];
12700
13286
  };
@@ -12724,6 +13310,7 @@ function $8796f90736e175cb$export$4d40659c25ecb50b(props = {}) {
12724
13310
  */
12725
13311
 
12726
13312
 
13313
+
12727
13314
  const $ee014567cb39d3f0$export$ff05c3ac10437e03 = /*#__PURE__*/ (createContext)(null);
12728
13315
  function $ee014567cb39d3f0$var$FieldError(props, ref) {
12729
13316
  let validation = (useContext)($ee014567cb39d3f0$export$ff05c3ac10437e03);
@@ -12738,6 +13325,7 @@ function $ee014567cb39d3f0$var$FieldError(props, ref) {
12738
13325
  */ const $ee014567cb39d3f0$export$f551688fc98f2e09 = /*#__PURE__*/ (forwardRef)($ee014567cb39d3f0$var$FieldError);
12739
13326
  const $ee014567cb39d3f0$var$FieldErrorInner = /*#__PURE__*/ (forwardRef)((props, ref)=>{
12740
13327
  let validation = (useContext)($ee014567cb39d3f0$export$ff05c3ac10437e03);
13328
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
12741
13329
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
12742
13330
  ...props,
12743
13331
  defaultClassName: 'react-aria-FieldError',
@@ -12747,6 +13335,7 @@ const $ee014567cb39d3f0$var$FieldErrorInner = /*#__PURE__*/ (forwardRef)((props,
12747
13335
  if (renderProps.children == null) return null;
12748
13336
  return /*#__PURE__*/ ($dbSRa$react).createElement(($514c0188e459b4c0$export$5f1af8db9871e1d6), {
12749
13337
  slot: "errorMessage",
13338
+ ...domProps,
12750
13339
  ...renderProps,
12751
13340
  ref: ref
12752
13341
  });
@@ -12801,32 +13390,6 @@ function $d3e0e05bdfcf66bd$var$Form(props, ref) {
12801
13390
  */
12802
13391
 
12803
13392
 
12804
- const $01b77f81d0f07f68$export$75b6ee27786ba447 = /*#__PURE__*/ (createContext)({});
12805
- function $01b77f81d0f07f68$var$Label(props, ref) {
12806
- [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $01b77f81d0f07f68$export$75b6ee27786ba447);
12807
- let { elementType: ElementType = 'label', ...labelProps } = props;
12808
- // @ts-ignore
12809
- return /*#__PURE__*/ ($dbSRa$react).createElement(ElementType, {
12810
- className: "react-aria-Label",
12811
- ...labelProps,
12812
- ref: ref
12813
- });
12814
- }
12815
- const $01b77f81d0f07f68$export$b04be29aa201d4f5 = /*#__PURE__*/ ($f39a9eba43920ace$export$86427a43e3e48ebb)($01b77f81d0f07f68$var$Label);
12816
-
12817
- /*
12818
- * Copyright 2022 Adobe. All rights reserved.
12819
- * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12820
- * you may not use this file except in compliance with the License. You may obtain a copy
12821
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
12822
- *
12823
- * Unless required by applicable law or agreed to in writing, software distributed under
12824
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12825
- * OF ANY KIND, either express or implied. See the License for the specific language
12826
- * governing permissions and limitations under the License.
12827
- */
12828
-
12829
-
12830
13393
 
12831
13394
 
12832
13395
 
@@ -12910,7 +13473,7 @@ function $bc237834342dbd75$var$Checkbox(props, ref) {
12910
13473
  let groupState = (useContext)($bc237834342dbd75$export$139c5b8563afc1fc);
12911
13474
  let inputRef = ($df56164dff5785e2$export$4338b53315abf666)(($5dc95899b306f630$export$c9058316764c140e)(userProvidedInputRef, props.inputRef !== undefined ? props.inputRef : null));
12912
13475
  let { labelProps: labelProps, inputProps: inputProps, isSelected: isSelected, isDisabled: isDisabled, isReadOnly: isReadOnly, isPressed: isPressed, isInvalid: isInvalid } = groupState ? ($fba3e38d5ca8983f$export$353b32fc6898d37d)({
12913
- ...props,
13476
+ ...($64fa3d84918910a7$export$ef03459518577ad4)(props),
12914
13477
  // Value is optional for standalone checkboxes, but required for CheckboxGroup items;
12915
13478
  // it's passed explicitly here to avoid typescript error (requires ignore).
12916
13479
  // @ts-ignore
@@ -12918,7 +13481,7 @@ function $bc237834342dbd75$var$Checkbox(props, ref) {
12918
13481
  // ReactNode type doesn't allow function children.
12919
13482
  children: typeof props.children === 'function' ? true : props.children
12920
13483
  }, groupState, inputRef) : ($406796ff087fe49b$export$e375f10ce42261c5)({
12921
- ...props,
13484
+ ...($64fa3d84918910a7$export$ef03459518577ad4)(props),
12922
13485
  children: typeof props.children === 'function' ? true : props.children,
12923
13486
  validationBehavior: validationBehavior
12924
13487
  }, ($3017fa7ffdddec74$export$8042c6c013fd5226)(props), inputRef);
@@ -12929,7 +13492,6 @@ function $bc237834342dbd75$var$Checkbox(props, ref) {
12929
13492
  isDisabled: isInteractionDisabled
12930
13493
  });
12931
13494
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
12932
- // TODO: should data attrs go on the label or on the <input>? useCheckbox passes them to the input...
12933
13495
  ...props,
12934
13496
  defaultClassName: 'react-aria-Checkbox',
12935
13497
  values: {
@@ -13427,7 +13989,7 @@ function $612b8eb6cb90e02d$export$d1e8e3fbb7461f6(selectionManager, dragAndDropH
13427
13989
  return new Set([
13428
13990
  focusedKey,
13429
13991
  dropTargetKey
13430
- ].filter((k)=>k !== null));
13992
+ ].filter((k)=>k != null));
13431
13993
  }, [
13432
13994
  focusedKey,
13433
13995
  dropTargetKey
@@ -13525,7 +14087,11 @@ function $eed445e0843c11d0$var$StandaloneListBox({ props: props, listBoxRef: lis
13525
14087
  children: null,
13526
14088
  items: null
13527
14089
  };
13528
- let state = ($e72dd72e1c76a225$export$2f645645f7bca764)(props);
14090
+ let { layoutDelegate: layoutDelegate } = (useContext)(($7135fc7d473fd974$export$4feb769f8ddf26c5));
14091
+ let state = ($e72dd72e1c76a225$export$2f645645f7bca764)({
14092
+ ...props,
14093
+ layoutDelegate: layoutDelegate
14094
+ });
13529
14095
  return /*#__PURE__*/ ($dbSRa$react).createElement($eed445e0843c11d0$var$ListBoxInner, {
13530
14096
  state: state,
13531
14097
  props: props,
@@ -13689,6 +14255,7 @@ function $eed445e0843c11d0$var$ListBoxInner({ state: state, props: props, listBo
13689
14255
  [
13690
14256
  ($7135fc7d473fd974$export$d40e14dec8b060a8),
13691
14257
  {
14258
+ name: 'ListBoxSection',
13692
14259
  render: $eed445e0843c11d0$var$ListBoxSection
13693
14260
  }
13694
14261
  ]
@@ -13700,7 +14267,7 @@ function $eed445e0843c11d0$var$ListBoxInner({ state: state, props: props, listBo
13700
14267
  renderDropIndicator: ($612b8eb6cb90e02d$export$971707d8a129a1f7)(dragAndDropHooks, dropState)
13701
14268
  })), emptyState, dragPreview));
13702
14269
  }
13703
- function $eed445e0843c11d0$var$ListBoxSection(props, ref, section) {
14270
+ function $eed445e0843c11d0$var$ListBoxSection(props, ref, section, className = 'react-aria-ListBoxSection') {
13704
14271
  let state = (useContext)($eed445e0843c11d0$export$7c5906fe4f1f2af2);
13705
14272
  let { dragAndDropHooks: dragAndDropHooks, dropState: dropState } = (useContext)(($612b8eb6cb90e02d$export$d188a835a7bc5783));
13706
14273
  let { CollectionBranch: CollectionBranch } = (useContext)(($7135fc7d473fd974$export$4feb769f8ddf26c5));
@@ -13711,7 +14278,7 @@ function $eed445e0843c11d0$var$ListBoxSection(props, ref, section) {
13711
14278
  'aria-label': (_props_arialabel = props['aria-label']) !== null && _props_arialabel !== void 0 ? _props_arialabel : undefined
13712
14279
  });
13713
14280
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
13714
- defaultClassName: 'react-aria-Section',
14281
+ defaultClassName: className,
13715
14282
  className: props.className,
13716
14283
  style: props.style,
13717
14284
  values: {}
@@ -13732,6 +14299,9 @@ function $eed445e0843c11d0$var$ListBoxSection(props, ref, section) {
13732
14299
  renderDropIndicator: ($612b8eb6cb90e02d$export$971707d8a129a1f7)(dragAndDropHooks, dropState)
13733
14300
  })));
13734
14301
  }
14302
+ /**
14303
+ * A ListBoxSection represents a section within a ListBox.
14304
+ */ const $eed445e0843c11d0$export$dca12b0bb56e4fc = /*#__PURE__*/ ($e1995378a142960e$export$e953bb1cd0f19726)('section', $eed445e0843c11d0$var$ListBoxSection);
13735
14305
  const $eed445e0843c11d0$export$a11e76429ed99b4 = /*#__PURE__*/ ($e1995378a142960e$export$18af5c7a9e9b3664)('item', function ListBoxItem(props, forwardedRef, item) {
13736
14306
  let ref = ($df56164dff5785e2$export$4338b53315abf666)(forwardedRef);
13737
14307
  let state = (useContext)($eed445e0843c11d0$export$7c5906fe4f1f2af2);
@@ -13860,9 +14430,9 @@ function $44f671af83e7d9e0$var$OverlayArrow(props, ref) {
13860
14430
  let placement = props.placement;
13861
14431
  let style = {
13862
14432
  position: 'absolute',
13863
- [placement]: '100%',
13864
14433
  transform: placement === 'top' || placement === 'bottom' ? 'translateX(-50%)' : 'translateY(-50%)'
13865
14434
  };
14435
+ if (placement != null) style[placement] = '100%';
13866
14436
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
13867
14437
  ...props,
13868
14438
  defaultClassName: 'react-aria-OverlayArrow',
@@ -13973,6 +14543,7 @@ function $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting
13973
14543
  ...renderProps.style
13974
14544
  };
13975
14545
  return /*#__PURE__*/ ($dbSRa$react).createElement(($337b884510726a0d$export$c6fdb837b070b4ff), {
14546
+ ...props,
13976
14547
  isExiting: isExiting,
13977
14548
  portalContainer: UNSTABLE_portalContainer
13978
14549
  }, !props.isNonModal && state.isOpen && /*#__PURE__*/ ($dbSRa$react).createElement("div", {
@@ -14005,6 +14576,8 @@ function $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting
14005
14576
  })));
14006
14577
  }
14007
14578
 
14579
+ const $3674c52c6b3c5bce$export$795aec4671cbae19 = /*#__PURE__*/ (createContext)(null);
14580
+
14008
14581
  /*
14009
14582
  * Copyright 2022 Adobe. All rights reserved.
14010
14583
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -14023,10 +14596,14 @@ function $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting
14023
14596
 
14024
14597
 
14025
14598
 
14599
+
14600
+
14026
14601
  const $de32f1b87079253c$export$8b93a07348a7730c = /*#__PURE__*/ (createContext)(null);
14027
14602
  const $de32f1b87079253c$export$d2f961adcb0afbe = /*#__PURE__*/ (createContext)(null);
14028
14603
  function $de32f1b87079253c$export$2e1e1122cf0cba88(props) {
14029
- let state = ($fc909762b330b746$export$61c6a8c84e605fb6)(props);
14604
+ // Use useMenuTriggerState instead of useOverlayTriggerState in case a menu is embedded in the dialog.
14605
+ // This is needed to handle submenus.
14606
+ let state = ($a28c903ee9ad8dc5$export$79fefeb1c2091ac3)(props);
14030
14607
  let buttonRef = (useRef)(null);
14031
14608
  let { triggerProps: triggerProps, overlayProps: overlayProps } = ($628037886ba31236$export$f9d5c8beee7d008d)({
14032
14609
  type: 'dialog'
@@ -14043,6 +14620,10 @@ function $de32f1b87079253c$export$2e1e1122cf0cba88(props) {
14043
14620
  $de32f1b87079253c$export$d2f961adcb0afbe,
14044
14621
  state
14045
14622
  ],
14623
+ [
14624
+ ($3674c52c6b3c5bce$export$795aec4671cbae19),
14625
+ state
14626
+ ],
14046
14627
  [
14047
14628
  $de32f1b87079253c$export$8b93a07348a7730c,
14048
14629
  overlayProps
@@ -14071,24 +14652,27 @@ function $de32f1b87079253c$var$Dialog(props, ref) {
14071
14652
  'aria-labelledby': originalAriaLabelledby
14072
14653
  }, ref);
14073
14654
  let state = (useContext)($de32f1b87079253c$export$d2f961adcb0afbe);
14074
- let children = props.children;
14075
- if (typeof children === 'function') children = children({
14076
- close: (state === null || state === void 0 ? void 0 : state.close) || (()=>{})
14077
- });
14078
14655
  if (!dialogProps['aria-label'] && !dialogProps['aria-labelledby']) {
14079
14656
  // If aria-labelledby exists on props, we know it came from context.
14080
14657
  // Use that as a fallback in case there is no title slot.
14081
14658
  if (props['aria-labelledby']) dialogProps['aria-labelledby'] = props['aria-labelledby'];
14082
14659
  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.');
14083
14660
  }
14084
- var _props_className;
14661
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14662
+ defaultClassName: 'react-aria-Dialog',
14663
+ className: props.className,
14664
+ style: props.style,
14665
+ children: props.children,
14666
+ values: {
14667
+ close: (state === null || state === void 0 ? void 0 : state.close) || (()=>{})
14668
+ }
14669
+ });
14085
14670
  return /*#__PURE__*/ ($dbSRa$react).createElement("section", {
14086
14671
  ...($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props),
14087
14672
  ...dialogProps,
14673
+ ...renderProps,
14088
14674
  ref: ref,
14089
- slot: props.slot || undefined,
14090
- style: props.style,
14091
- className: (_props_className = props.className) !== null && _props_className !== void 0 ? _props_className : 'react-aria-Dialog'
14675
+ slot: props.slot || undefined
14092
14676
  }, /*#__PURE__*/ ($dbSRa$react).createElement(($64fa3d84918910a7$export$2881499e37b75b9a), {
14093
14677
  values: [
14094
14678
  [
@@ -14102,14 +14686,180 @@ function $de32f1b87079253c$var$Dialog(props, ref) {
14102
14686
  }
14103
14687
  }
14104
14688
  }
14689
+ ],
14690
+ [
14691
+ ($d2b4bc8c273e7be6$export$24d547caef80ccd1),
14692
+ {
14693
+ slots: {
14694
+ [($64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},
14695
+ close: {
14696
+ onPress: ()=>state === null || state === void 0 ? void 0 : state.close()
14697
+ }
14698
+ }
14699
+ }
14105
14700
  ]
14106
14701
  ]
14107
- }, children));
14702
+ }, renderProps.children));
14108
14703
  }
14109
14704
  /**
14110
14705
  * A dialog is an overlay shown above other content in an application.
14111
14706
  */ const $de32f1b87079253c$export$3ddf2d174ce01153 = /*#__PURE__*/ (forwardRef)($de32f1b87079253c$var$Dialog);
14112
14707
 
14708
+ /*
14709
+ * Copyright 2024 Adobe. All rights reserved.
14710
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
14711
+ * you may not use this file except in compliance with the License. You may obtain a copy
14712
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
14713
+ *
14714
+ * Unless required by applicable law or agreed to in writing, software distributed under
14715
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
14716
+ * OF ANY KIND, either express or implied. See the License for the specific language
14717
+ * governing permissions and limitations under the License.
14718
+ */
14719
+
14720
+
14721
+
14722
+
14723
+
14724
+
14725
+ const $28f4fd908f0de97f$export$1d40e3e0cc4d5de = /*#__PURE__*/ (createContext)(null);
14726
+ function $28f4fd908f0de97f$var$DisclosureGroup(props, ref) {
14727
+ let state = ($9385b3affbdec831$export$f36461af0ef4707d)(props);
14728
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14729
+ ...props,
14730
+ defaultClassName: 'react-aria-DisclosureGroup',
14731
+ values: {
14732
+ isDisabled: state.isDisabled,
14733
+ state: state
14734
+ }
14735
+ });
14736
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
14737
+ return /*#__PURE__*/ ($dbSRa$react).createElement("div", {
14738
+ ...domProps,
14739
+ ...renderProps,
14740
+ ref: ref,
14741
+ "data-disabled": props.isDisabled || undefined
14742
+ }, /*#__PURE__*/ ($dbSRa$react).createElement($28f4fd908f0de97f$export$1d40e3e0cc4d5de.Provider, {
14743
+ value: state
14744
+ }, renderProps.children));
14745
+ }
14746
+ /**
14747
+ * A DisclosureGroup is a grouping of related disclosures, sometimes called an accordion.
14748
+ * It supports both single and multiple expanded items.
14749
+ */ const $28f4fd908f0de97f$export$944aceb4f8c89f10 = /*#__PURE__*/ (forwardRef)($28f4fd908f0de97f$var$DisclosureGroup);
14750
+ const $28f4fd908f0de97f$export$d665dd135a51b28a = /*#__PURE__*/ (createContext)(null);
14751
+ const $28f4fd908f0de97f$export$dab3ea4a6ef094da = /*#__PURE__*/ (createContext)(null);
14752
+ const $28f4fd908f0de97f$var$InternalDisclosureContext = /*#__PURE__*/ (createContext)(null);
14753
+ function $28f4fd908f0de97f$var$Disclosure(props, ref) {
14754
+ [props, ref] = ($64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $28f4fd908f0de97f$export$d665dd135a51b28a);
14755
+ let groupState = (useContext)($28f4fd908f0de97f$export$1d40e3e0cc4d5de);
14756
+ let { id: id, ...otherProps } = props;
14757
+ // Generate an id if one wasn't provided.
14758
+ // (can't pass id into useId since it can also be a number)
14759
+ let defaultId = ($bdb11010cef70236$export$f680877a34711e37)();
14760
+ id || (id = defaultId);
14761
+ let isExpanded = groupState ? groupState.expandedKeys.has(id) : props.isExpanded;
14762
+ let state = ($bf996d45f4a36925$export$3fcbf6e4407997e0)({
14763
+ ...props,
14764
+ isExpanded: isExpanded,
14765
+ onExpandedChange (isExpanded) {
14766
+ var _props_onExpandedChange;
14767
+ if (groupState) groupState.toggleKey(id);
14768
+ (_props_onExpandedChange = props.onExpandedChange) === null || _props_onExpandedChange === void 0 ? void 0 : _props_onExpandedChange.call(props, isExpanded);
14769
+ }
14770
+ });
14771
+ let panelRef = ($dbSRa$react).useRef(null);
14772
+ let isDisabled = props.isDisabled || (groupState === null || groupState === void 0 ? void 0 : groupState.isDisabled) || false;
14773
+ let { buttonProps: buttonProps, panelProps: panelProps } = ($5e910fae8e128ead$export$6e3e27031a30522f)({
14774
+ ...props,
14775
+ isExpanded: isExpanded,
14776
+ isDisabled: isDisabled
14777
+ }, state, panelRef);
14778
+ let { isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps } = ($f7dceffc5ad7768b$export$4e328f61c538687f)({
14779
+ within: true
14780
+ });
14781
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14782
+ ...props,
14783
+ id: undefined,
14784
+ defaultClassName: 'react-aria-Disclosure',
14785
+ values: {
14786
+ isExpanded: state.isExpanded,
14787
+ isDisabled: isDisabled,
14788
+ isFocusVisibleWithin: isFocusVisibleWithin,
14789
+ state: state
14790
+ }
14791
+ });
14792
+ let domProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(otherProps);
14793
+ return /*#__PURE__*/ ($dbSRa$react).createElement(($64fa3d84918910a7$export$2881499e37b75b9a), {
14794
+ values: [
14795
+ [
14796
+ ($d2b4bc8c273e7be6$export$24d547caef80ccd1),
14797
+ {
14798
+ slots: {
14799
+ [($64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},
14800
+ trigger: buttonProps
14801
+ }
14802
+ }
14803
+ ],
14804
+ [
14805
+ $28f4fd908f0de97f$var$InternalDisclosureContext,
14806
+ {
14807
+ panelProps: panelProps,
14808
+ panelRef: panelRef
14809
+ }
14810
+ ],
14811
+ [
14812
+ $28f4fd908f0de97f$export$dab3ea4a6ef094da,
14813
+ state
14814
+ ]
14815
+ ]
14816
+ }, /*#__PURE__*/ ($dbSRa$react).createElement("div", {
14817
+ ref: ref,
14818
+ "data-expanded": state.isExpanded || undefined,
14819
+ "data-disabled": isDisabled || undefined,
14820
+ "data-focus-visible-within": isFocusVisibleWithin || undefined,
14821
+ ...domProps,
14822
+ ...focusWithinProps,
14823
+ ...renderProps
14824
+ }, renderProps.children));
14825
+ }
14826
+ function $28f4fd908f0de97f$var$DisclosurePanel(props, ref) {
14827
+ let { role: role = 'group' } = props;
14828
+ let { panelProps: panelProps, panelRef: panelRef } = (useContext)($28f4fd908f0de97f$var$InternalDisclosureContext);
14829
+ let { isFocusVisible: isFocusVisibleWithin, focusProps: focusWithinProps } = ($f7dceffc5ad7768b$export$4e328f61c538687f)({
14830
+ within: true
14831
+ });
14832
+ let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14833
+ ...props,
14834
+ defaultClassName: 'react-aria-DisclosurePanel',
14835
+ values: {
14836
+ isFocusVisibleWithin: isFocusVisibleWithin
14837
+ }
14838
+ });
14839
+ let DOMProps = ($65484d02dcb7eb3e$export$457c3d6518dd4c6f)(props);
14840
+ return /*#__PURE__*/ ($dbSRa$react).createElement("div", {
14841
+ ...DOMProps,
14842
+ ref: ($5dc95899b306f630$export$c9058316764c140e)(ref, panelRef),
14843
+ ...($3ef42575df84b30b$export$9d1611c77c2fe928)(panelProps, focusWithinProps),
14844
+ ...renderProps,
14845
+ role: role,
14846
+ "data-focus-visible-within": isFocusVisibleWithin || undefined
14847
+ }, /*#__PURE__*/ ($dbSRa$react).createElement(($64fa3d84918910a7$export$2881499e37b75b9a), {
14848
+ values: [
14849
+ [
14850
+ ($d2b4bc8c273e7be6$export$24d547caef80ccd1),
14851
+ null
14852
+ ]
14853
+ ]
14854
+ }, props.children));
14855
+ }
14856
+ /**
14857
+ * 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.
14858
+ */ const $28f4fd908f0de97f$export$74a362b31437ec83 = /*#__PURE__*/ (forwardRef)($28f4fd908f0de97f$var$Disclosure);
14859
+ /**
14860
+ * A DisclosurePanel provides the content for a disclosure.
14861
+ */ const $28f4fd908f0de97f$export$feabaa331e1d464c = /*#__PURE__*/ (forwardRef)($28f4fd908f0de97f$var$DisclosurePanel);
14862
+
14113
14863
  /*
14114
14864
  * Copyright 2022 Adobe. All rights reserved.
14115
14865
  * This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -14626,10 +15376,10 @@ function $82d7e5349645de74$var$SelectValue(props, ref) {
14626
15376
  });
14627
15377
  }
14628
15378
  let stringFormatter = ($fca6afa0e843324b$export$f12b703ca79dfbb1)((($parcel$interopDefault($df39c1238ae2b5f3$exports))), 'react-aria-components');
14629
- var _state_selectedItem_value, _state_selectedItem_textValue;
15379
+ var _ref, _state_selectedItem_value, _state_selectedItem_textValue;
14630
15380
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
14631
15381
  ...props,
14632
- defaultChildren: rendered || placeholder || stringFormatter.format('selectPlaceholder'),
15382
+ defaultChildren: (_ref = rendered !== null && rendered !== void 0 ? rendered : placeholder) !== null && _ref !== void 0 ? _ref : stringFormatter.format('selectPlaceholder'),
14633
15383
  defaultClassName: 'react-aria-SelectValue',
14634
15384
  values: {
14635
15385
  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,
@@ -15153,7 +15903,8 @@ function $4e3b923658d69c60$var$TooltipInner(props) {
15153
15903
  isOpen: state.isOpen,
15154
15904
  arrowSize: arrowWidth,
15155
15905
  arrowBoundaryOffset: props.arrowBoundaryOffset,
15156
- shouldFlip: props.shouldFlip
15906
+ shouldFlip: props.shouldFlip,
15907
+ onClose: ()=>state.close(true)
15157
15908
  });
15158
15909
  let isEntering = ($64fa3d84918910a7$export$6d3443f2c48bfc20)(props.tooltipRef, !!placement) || props.isEntering || false;
15159
15910
  let renderProps = ($64fa3d84918910a7$export$4d86445c2cf5e3)({
@@ -15176,7 +15927,7 @@ function $4e3b923658d69c60$var$TooltipInner(props) {
15176
15927
  ...overlayProps.style,
15177
15928
  ...renderProps.style
15178
15929
  },
15179
- "data-placement": placement,
15930
+ "data-placement": placement !== null && placement !== void 0 ? placement : undefined,
15180
15931
  "data-entering": isEntering || undefined,
15181
15932
  "data-exiting": props.isExiting || undefined
15182
15933
  }, /*#__PURE__*/ ($dbSRa$react).createElement(($44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {
@@ -15188,43 +15939,113 @@ function $4e3b923658d69c60$var$TooltipInner(props) {
15188
15939
  }, renderProps.children));
15189
15940
  }
15190
15941
 
15191
- 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";
15192
- styleInject(css_248z$j);
15942
+ var css_248z$o = ".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";
15943
+ styleInject(css_248z$o);
15944
+
15945
+ var css_248z$n = ".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";
15946
+ styleInject(css_248z$n);
15193
15947
 
15194
15948
  function Button({ size = "medium", variant = "primary", danger = false, isIconButton = false, ...props }) {
15195
15949
  return (jsx($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { className: `bcds-react-aria-Button ${size} ${variant} ${danger ? "danger" : ""} ${isIconButton ? "icon" : ""}`, ...props }));
15196
15950
  }
15197
15951
 
15198
- 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";
15199
- styleInject(css_248z$i);
15952
+ /* The component implements the Chevron Up icon from Font Awesome: https://fontawesome.com/icons/chevron-up */
15953
+ function SvgChevronUpIcon({ id = "chevron-up-icon" }) {
15954
+ return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: 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" }) }));
15955
+ }
15200
15956
 
15201
- function ButtonGroup({ orientation = "horizontal", alignment = "start", ariaLabel, children, ...props }) {
15202
- return (jsx("div", { className: `bcds-ButtonGroup ${orientation} ${alignment}`, role: "group", "aria-label": ariaLabel, ...props, children: children }));
15957
+ /* The component implements the Chevron Down icon from Font Awesome: https://fontawesome.com/icons/chevron-down */
15958
+ function SvgChevronDownIcon({ id = "chevron-down-icon" }) {
15959
+ return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: 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" }) }));
15960
+ }
15961
+
15962
+ function Accordion({ label, children, ...props }) {
15963
+ return (jsx($28f4fd908f0de97f$export$74a362b31437ec83, { className: `bcds-react-aria-Disclosure`, ...props, children: ({ isExpanded }) => (jsxs(Fragment, { children: [jsxs(Button, { className: "bcds-react-aria-Disclosure--Button", size: "small", variant: "link", slot: "trigger", children: [label, isExpanded ? jsx(SvgChevronUpIcon, {}) : jsx(SvgChevronDownIcon, {})] }), jsx($28f4fd908f0de97f$export$feabaa331e1d464c, { className: "bcds-react-aria-Disclosure--Panel", children: jsx(Fragment, { children: children }) })] })) }));
15964
+ }
15965
+
15966
+ var css_248z$m = ".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";
15967
+ styleInject(css_248z$m);
15968
+
15969
+ function AccordionGroup({ title, titleElement, children, ...props }) {
15970
+ function getTitle() {
15971
+ switch (titleElement) {
15972
+ case "h1":
15973
+ return jsx("h1", { children: title });
15974
+ case "h2":
15975
+ return jsx("h2", { children: title });
15976
+ case "h3":
15977
+ return jsx("h3", { children: title });
15978
+ case "h4":
15979
+ return jsx("h4", { children: title });
15980
+ case "h5":
15981
+ return jsx("h5", { children: title });
15982
+ case "h6":
15983
+ return jsx("h6", { children: title });
15984
+ default:
15985
+ return jsx("span", { children: title });
15986
+ }
15987
+ }
15988
+ return (jsxs(Fragment, { children: [title && (jsx("div", { className: "bcds-react-aria-DisclosureGroup--Title", children: getTitle() })), jsx($28f4fd908f0de97f$export$944aceb4f8c89f10, { className: "bcds-react-aria-DisclosureGroup", ...props, children: children })] }));
15203
15989
  }
15204
15990
 
15991
+ var css_248z$l = ".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";
15992
+ styleInject(css_248z$l);
15993
+
15994
+ /* The component implements the Circle Check icon from Font Awesome: https://fontawesome.com/icons/circle-check */
15205
15995
  function SvgCheckCircleIcon({ id = "check-icon" }) {
15206
15996
  return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15207
15997
  }
15208
15998
 
15999
+ /* The component implements the X Mark icon from Font Awesome: https://fontawesome.com/icons/xmark */
15209
16000
  function SvgCloseIcon({ id = "close-icon" }) {
15210
16001
  return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15211
16002
  }
15212
16003
 
16004
+ /* The component implements the Circle Exclamation icon from Font Awesome: https://fontawesome.com/icons/circle-exclamation */
15213
16005
  function SvgExclamationCircleIcon({ id = "exclamation-icon-circle", }) {
15214
16006
  return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15215
16007
  }
15216
16008
 
15217
- // This icon is available as a plain SVG at src/assets/icon-exclamation.svg
16009
+ /* The component implements the Triangle Exclamation icon from Font Awesome: https://fontawesome.com/icons/triangle-exclamation */
15218
16010
  function SvgExclamationIcon({ id = "exclamation-icon" }) {
15219
16011
  return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15220
16012
  }
15221
16013
 
16014
+ /* The component implements the Circle Info icon from Font Awesome: https://fontawesome.com/icons/circle-info */
15222
16015
  function SvgInfoIcon({ id = "information-icon" }) {
15223
16016
  return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15224
16017
  }
15225
16018
 
15226
- 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";
15227
- styleInject(css_248z$h);
16019
+ /* Sets correct icon for theme */
16020
+ function getIcon$2(variant) {
16021
+ switch (variant) {
16022
+ case "info":
16023
+ return jsx(SvgInfoIcon, {});
16024
+ case "black":
16025
+ return jsx(SvgInfoIcon, {});
16026
+ case "success":
16027
+ return jsx(SvgCheckCircleIcon, {});
16028
+ case "warning":
16029
+ return jsx(SvgExclamationIcon, {});
16030
+ case "danger":
16031
+ return jsx(SvgExclamationCircleIcon, {});
16032
+ default:
16033
+ return;
16034
+ }
16035
+ }
16036
+ function AlertBanner({ variant = "info", isIconHidden = false, isCloseable = true, role = "status", onClose, children, customIcon, ...props }) {
16037
+ return (jsx("div", { className: `bcds-Alert-Banner ${variant}`, ...props, children: jsxs("div", { className: "bcds-Alert-Banner--Container", children: [" ", !isIconHidden && (jsx("span", { className: "bcds-Alert-Banner--Icon", children: customIcon ? customIcon : getIcon$2(variant) })), jsx("div", { className: "bcds-Alert-Banner--Content", role: role, children: children }), isCloseable && (jsx("span", { className: "bcds-Alert-Banner--closeIcon", children: jsx(Button, { variant: "tertiary", isIconButton: true, size: "small", "aria-label": "Close this alert", type: "button", onPress: onClose, children: jsx(SvgCloseIcon, {}) }) }))] }) }));
16038
+ }
16039
+
16040
+ var css_248z$k = ".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";
16041
+ styleInject(css_248z$k);
16042
+
16043
+ function ButtonGroup({ orientation = "horizontal", alignment = "start", ariaLabel, children, ...props }) {
16044
+ return (jsx("div", { className: `bcds-ButtonGroup ${orientation} ${alignment}`, role: "group", "aria-label": ariaLabel, ...props, children: children }));
16045
+ }
16046
+
16047
+ var css_248z$j = ".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";
16048
+ styleInject(css_248z$j);
15228
16049
 
15229
16050
  /* Sets correct left icon for selected variant */
15230
16051
  function getIcon$1(variant) {
@@ -15247,6 +16068,14 @@ function AlertDialog({ children, variant = "info", role = "dialog", title, isClo
15247
16068
  return (jsx($de32f1b87079253c$export$3ddf2d174ce01153, { className: `bcds-react-aria-AlertDialog ${variant}`, role: role, ...props, children: ({ close }) => (jsxs(Fragment, { children: [jsxs("div", { className: "bcds-react-aria-AlertDialog--Header", children: [!isIconHidden && (jsx("div", { className: "bcds-react-aria-AlertDialog--Icon", children: getIcon$1(variant) })), title && (jsx("div", { className: "bcds-react-aria-AlertDialog--Title", slot: "title", children: title })), isCloseable && (jsx("div", { className: "bcds-react-aria-AlertDialog--closeIcon", children: jsx(Button, { variant: "tertiary", isIconButton: true, size: "small", "aria-label": "Close", type: "button", onPress: close, children: jsx(SvgCloseIcon, {}) }) }))] }), children && (jsx("div", { className: "bcds-react-aria-AlertDialog--children", slot: "children", children: jsx(Fragment, { children: children }) })), buttons && (jsx(ButtonGroup, { alignment: "end", orientation: "horizontal", children: buttons }))] })) }));
15248
16069
  }
15249
16070
 
16071
+ var css_248z$i = ".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";
16072
+ styleInject(css_248z$i);
16073
+
16074
+ function Callout({ variant = "lightGrey", title, description, buttons, role = "note", isLeftBorderDisabled = false, children, ...props }) {
16075
+ return (jsx("div", { className: `bcds-Callout ${variant} ${isLeftBorderDisabled ? "noBorder" : ""}`, ...props, role: role, children: children ? (children) : (jsx(Fragment, { children: jsxs("div", { className: "bcds-Callout--Container", "aria-labelledby": "callout-title", role: role, children: [title && (jsx("span", { className: "bcds-Callout--Title", id: "callout-title", children: title })), description && (jsx("span", { className: "bcds-Callout--Description", children: description })), buttons && (jsx(ButtonGroup, { alignment: "start", orientation: "horizontal", children: buttons }))] }) })) }));
16076
+ }
16077
+
16078
+ /* The component implements the Check icon from Font Awesome: https://fontawesome.com/icons/check */
15250
16079
  function SvgCheckIcon({ id = "check-icon" }) {
15251
16080
  return (jsx("svg", { id: id, width: "10", height: "10", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15252
16081
  }
@@ -15255,22 +16084,22 @@ function SvgDashIcon({ id = "dash-icon" }) {
15255
16084
  return (jsx("svg", { id: id, width: "8", height: "10", viewBox: "0 0 8 2", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M6.99005 1.96004H1.01005C0.479855 1.96004 0.0500488 1.53023 0.0500488 1.00004C0.0500488 0.469846 0.479855 0.0400391 1.01005 0.0400391H6.99005C7.52024 0.0400391 7.95005 0.469846 7.95005 1.00004C7.95005 1.53023 7.52024 1.96004 6.99005 1.96004H6.99005Z", fill: "currentColor" }) }));
15256
16085
  }
15257
16086
 
15258
- var css_248z$g = ".bcds-react-aria-Checkbox {\n cursor: pointer;\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n}\n\n/* Checkbox */\n.bcds-react-aria-Checkbox > .checkbox {\n align-self: first baseline;\n display: flex;\n margin-top: var(--layout-margin-hair);\n justify-content: space-around;\n width: var(--icons-size-small);\n height: var(--icons-size-small);\n min-width: var(--icons-size-small);\n background-color: var(--surface-color-secondary-default);\n border-color: var(--surface-color-border-medium);\n border-style: solid;\n border-width: var(--layout-border-width-small);\n border-radius: var(--layout-border-radius-small);\n}\n.bcds-react-aria-Checkbox > .checkbox > svg {\n align-self: center;\n}\n\n/* Label */\n.bcds-react-aria-Checkbox > .label {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-secondary);\n}\n\n/* Focus */\n.bcds-react-aria-Checkbox[data-focused] > .checkbox {\n outline: solid var(--layout-border-width-medium)\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n\n/* Hover */\n.bcds-react-aria-Checkbox[data-hovered] > .checkbox {\n border-color: var(--surface-color-border-dark);\n}\n.bcds-react-aria-Checkbox[data-selected][data-hovered] > .checkbox {\n background-color: var(--surface-color-primary-hover);\n border-color: var(--surface-color-primary-hover);\n}\n\n/* Pressed */\n.bcds-react-aria-Checkbox[data-pressed] > .checkbox {\n background-color: var(--surface-color-primary-default);\n}\n\n/* Selected */\n.bcds-react-aria-Checkbox[data-selected] > .checkbox {\n background-color: var(--surface-color-primary-default);\n border-color: var(--surface-color-primary-default);\n}\n.bcds-react-aria-Checkbox[data-selected] > .checkbox > svg {\n color: var(--icons-color-primary-invert);\n}\n\n/* Disabled */\n.bcds-react-aria-Checkbox[data-disabled] {\n cursor: not-allowed;\n}\n.bcds-react-aria-Checkbox[data-disabled] > .checkbox {\n border-color: var(--surface-color-border-medium);\n background-color: var(--surface-color-primary-disabled);\n}\n.bcds-react-aria-Checkbox[data-disabled] > .label {\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Checkbox[data-selected][data-disabled] > .checkbox {\n border-color: var(--surface-color-primary-disabled);\n background-color: var(--surface-color-primary-disabled);\n}\n.bcds-react-aria-Checkbox[data-selected][data-disabled] > .checkbox > svg {\n color: var(--icons-color-disabled);\n}\n\n/* Indeterminate */\n.bcds-react-aria-Checkbox[data-indeterminate] > .checkbox {\n background-color: var(--surface-color-primary-default);\n border-color: var(--surface-color-primary-default);\n}\n.bcds-react-aria-Checkbox[data-indeterminate][data-disabled] > .checkbox {\n background-color: var(--surface-color-primary-disabled);\n border-color: var(--surface-color-primary-disabled);\n}\n.bcds-react-aria-Checkbox[data-indeterminate][data-invalid] > .checkbox {\n background-color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Checkbox[data-indeterminate] > .checkbox > svg {\n color: var(--icons-color-primary-invert);\n align-self: center;\n vertical-align: middle;\n}\n.bcds-react-aria-Checkbox[data-indeterminate][data-disabled] > .checkbox > svg {\n color: var(--icons-color-disabled);\n}\n\n/* Read-only */\n.bcds-react-aria-Checkbox[data-readonly] {\n cursor: not-allowed;\n}\n\n/* Invalid */\n.bcds-react-aria-Checkbox[data-invalid] > .checkbox {\n border-color: var(--support-border-color-danger);\n}\n.bcds-react-aria-Checkbox[data-invalid] > .checkbox > svg {\n color: var(--icons-color-primary-invert);\n}\n.bcds-react-aria-Checkbox[data-selected][data-invalid] > .checkbox {\n background-color: var(--surface-color-primary-danger-button-default);\n}\n";
15259
- styleInject(css_248z$g);
16087
+ var css_248z$h = ".bcds-react-aria-Checkbox {\n cursor: pointer;\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n}\n\n/* Checkbox */\n.bcds-react-aria-Checkbox > .checkbox {\n align-self: first baseline;\n display: flex;\n margin-top: var(--layout-margin-hair);\n justify-content: space-around;\n width: var(--icons-size-small);\n height: var(--icons-size-small);\n min-width: var(--icons-size-small);\n background-color: var(--surface-color-secondary-default);\n border-color: var(--surface-color-border-medium);\n border-style: solid;\n border-width: var(--layout-border-width-small);\n border-radius: var(--layout-border-radius-small);\n}\n.bcds-react-aria-Checkbox > .checkbox > svg {\n align-self: center;\n}\n\n/* Label */\n.bcds-react-aria-Checkbox > .label {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-secondary);\n}\n\n/* Focus */\n.bcds-react-aria-Checkbox[data-focused] > .checkbox {\n outline: solid var(--layout-border-width-medium)\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n}\n\n/* Hover */\n.bcds-react-aria-Checkbox[data-hovered] > .checkbox {\n border-color: var(--surface-color-border-dark);\n}\n.bcds-react-aria-Checkbox[data-selected][data-hovered] > .checkbox {\n background-color: var(--surface-color-primary-hover);\n border-color: var(--surface-color-primary-hover);\n}\n\n/* Pressed */\n.bcds-react-aria-Checkbox[data-pressed] > .checkbox {\n background-color: var(--surface-color-primary-default);\n}\n\n/* Selected */\n.bcds-react-aria-Checkbox[data-selected] > .checkbox {\n background-color: var(--surface-color-primary-default);\n border-color: var(--surface-color-primary-default);\n}\n.bcds-react-aria-Checkbox[data-selected] > .checkbox > svg {\n color: var(--icons-color-primary-invert);\n}\n\n/* Disabled */\n.bcds-react-aria-Checkbox[data-disabled] {\n cursor: not-allowed;\n}\n.bcds-react-aria-Checkbox[data-disabled] > .checkbox {\n border-color: var(--surface-color-border-medium);\n background-color: var(--surface-color-primary-disabled);\n}\n.bcds-react-aria-Checkbox[data-disabled] > .label {\n color: var(--typography-color-disabled);\n}\n.bcds-react-aria-Checkbox[data-selected][data-disabled] > .checkbox {\n border-color: var(--surface-color-primary-disabled);\n background-color: var(--surface-color-primary-disabled);\n}\n.bcds-react-aria-Checkbox[data-selected][data-disabled] > .checkbox > svg {\n color: var(--icons-color-disabled);\n}\n\n/* Indeterminate */\n.bcds-react-aria-Checkbox[data-indeterminate] > .checkbox {\n background-color: var(--surface-color-primary-default);\n border-color: var(--surface-color-primary-default);\n}\n.bcds-react-aria-Checkbox[data-indeterminate][data-disabled] > .checkbox {\n background-color: var(--surface-color-primary-disabled);\n border-color: var(--surface-color-primary-disabled);\n}\n.bcds-react-aria-Checkbox[data-indeterminate][data-invalid] > .checkbox {\n background-color: var(--surface-color-primary-danger-button-default);\n}\n.bcds-react-aria-Checkbox[data-indeterminate] > .checkbox > svg {\n color: var(--icons-color-primary-invert);\n align-self: center;\n vertical-align: middle;\n}\n.bcds-react-aria-Checkbox[data-indeterminate][data-disabled] > .checkbox > svg {\n color: var(--icons-color-disabled);\n}\n\n/* Read-only */\n.bcds-react-aria-Checkbox[data-readonly] {\n cursor: not-allowed;\n}\n\n/* Invalid */\n.bcds-react-aria-Checkbox[data-invalid] > .checkbox {\n border-color: var(--support-border-color-danger);\n}\n.bcds-react-aria-Checkbox[data-invalid] > .checkbox > svg {\n color: var(--icons-color-primary-invert);\n}\n.bcds-react-aria-Checkbox[data-selected][data-invalid] > .checkbox {\n background-color: var(--surface-color-primary-danger-button-default);\n}\n";
16088
+ styleInject(css_248z$h);
15260
16089
 
15261
16090
  function Checkbox({ value, children, ...props }) {
15262
16091
  return (jsx($bc237834342dbd75$export$48513f6b9f8ce62d, { className: "bcds-react-aria-Checkbox", value: value, ...props, children: ({ isRequired, isSelected, isIndeterminate }) => (jsxs(Fragment, { children: [jsxs("div", { className: "checkbox", children: [isSelected && !isIndeterminate && jsx(SvgCheckIcon, {}), isIndeterminate && jsx(SvgDashIcon, {})] }), jsxs("span", { className: "label", children: [jsx(Fragment, { children: children }), " ", isRequired && "(required)"] })] })) }));
15263
16092
  }
15264
16093
 
15265
- var css_248z$f = ".bcds-react-aria-CheckboxGroup {\n display: flex;\n flex-direction: column;\n gap: var(--layout-margin-small);\n}\n\n/* Orientation */\n.bcds-react-aria-CheckboxGroup--options {\n display: flex;\n}\n\n.bcds-react-aria-CheckboxGroup--options.vertical {\n flex-direction: column;\n gap: var(--layout-margin-small);\n}\n\n.bcds-react-aria-CheckboxGroup--options.horizontal {\n flex-direction: row;\n gap: var(--layout-margin-medium);\n}\n.bcds-react-aria-CheckboxGroup--options.horizontal.flex-wrap-nowrap {\n flex-wrap: nowrap;\n}\n.bcds-react-aria-CheckboxGroup--options.horizontal.flex-wrap-wrap {\n flex-wrap: wrap;\n}\n.bcds-react-aria-CheckboxGroup--options.horizontal.flex-wrap-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n\n/* Parts */\n.bcds-react-aria-CheckboxGroup--label {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-primary);\n}\n\n.bcds-react-aria-CheckboxGroup--description {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-secondary);\n}\n\n.bcds-react-aria-CheckboxGroup--error {\n display: inline-flex;\n flex-direction: row;\n gap: var(--layout-margin-xsmall);\n font: var(--typography-regular-small-body);\n color: var(--typography-color-danger);\n}\n";
15266
- styleInject(css_248z$f);
16094
+ var css_248z$g = ".bcds-react-aria-CheckboxGroup {\n display: flex;\n flex-direction: column;\n gap: var(--layout-margin-small);\n}\n\n/* Orientation */\n.bcds-react-aria-CheckboxGroup--options {\n display: flex;\n}\n\n.bcds-react-aria-CheckboxGroup--options.vertical {\n flex-direction: column;\n gap: var(--layout-margin-small);\n}\n\n.bcds-react-aria-CheckboxGroup--options.horizontal {\n flex-direction: row;\n gap: var(--layout-margin-medium);\n}\n.bcds-react-aria-CheckboxGroup--options.horizontal.flex-wrap-nowrap {\n flex-wrap: nowrap;\n}\n.bcds-react-aria-CheckboxGroup--options.horizontal.flex-wrap-wrap {\n flex-wrap: wrap;\n}\n.bcds-react-aria-CheckboxGroup--options.horizontal.flex-wrap-wrap-reverse {\n flex-wrap: wrap-reverse;\n}\n\n/* Parts */\n.bcds-react-aria-CheckboxGroup--label {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-primary);\n}\n\n.bcds-react-aria-CheckboxGroup--description {\n font: var(--typography-regular-small-body);\n color: var(--typography-color-secondary);\n}\n\n.bcds-react-aria-CheckboxGroup--error {\n display: inline-flex;\n flex-direction: row;\n gap: var(--layout-margin-xsmall);\n font: var(--typography-regular-small-body);\n color: var(--typography-color-danger);\n}\n";
16095
+ styleInject(css_248z$g);
15267
16096
 
15268
16097
  function CheckboxGroup({ orientation = "vertical", label, description, errorMessage, flexWrap = "nowrap", children, ...props }) {
15269
16098
  return (jsx($bc237834342dbd75$export$4aa08d5625cb8ead, { className: `bcds-react-aria-CheckboxGroup`, ...props, children: ({ isRequired, isInvalid }) => (jsxs(Fragment, { children: [label && (jsxs($01b77f81d0f07f68$export$b04be29aa201d4f5, { className: "bcds-react-aria-CheckboxGroup--label", children: [label, " ", isRequired && "(required)"] })), jsx("div", { className: `bcds-react-aria-CheckboxGroup--options ${orientation} flex-wrap-${flexWrap}`, children: jsx(Fragment, { children: children }) }), description && (jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "description", className: "bcds-react-aria-CheckboxGroup--description", children: description })), isInvalid && (jsxs("div", { className: "bcds-react-aria-CheckboxGroup--error", children: [jsx(SvgExclamationIcon, {}), jsx($ee014567cb39d3f0$export$f551688fc98f2e09, { children: errorMessage })] }))] })) }));
15270
16099
  }
15271
16100
 
15272
- var css_248z$e = ".bcds-react-aria-Dialog {\n display: flex;\n flex-direction: column;\n min-height: var(--layout-margin-xxxlarge);\n}\n\n.bcds-react-aria-Dialog--Container {\n position: relative;\n}\n\n/* Close icon */\n.bcds-react-aria-Dialog--closeIcon {\n color: var(--icons-color-primary);\n position: absolute;\n top: 0;\n right: 0;\n padding: var(--layout-padding-small);\n}\n.bcds-react-aria-Dialog--closeIcon > svg {\n min-width: var(--icons-size-medium);\n height: var(--icons-size-medium);\n}\n";
15273
- styleInject(css_248z$e);
16101
+ var css_248z$f = ".bcds-react-aria-Dialog {\n display: flex;\n flex-direction: column;\n min-height: var(--layout-margin-xxxlarge);\n}\n\n.bcds-react-aria-Dialog--Container {\n position: relative;\n}\n\n/* Close icon */\n.bcds-react-aria-Dialog--closeIcon {\n color: var(--icons-color-primary);\n position: absolute;\n top: 0;\n right: 0;\n padding: var(--layout-padding-small);\n}\n.bcds-react-aria-Dialog--closeIcon > svg {\n min-width: var(--icons-size-medium);\n height: var(--icons-size-medium);\n}\n";
16102
+ styleInject(css_248z$f);
15274
16103
 
15275
16104
  function Dialog({ isCloseable = true, role = "dialog", children, ...props }) {
15276
16105
  return (jsx($de32f1b87079253c$export$3ddf2d174ce01153, { className: "bcds-react-aria-Dialog", role: role, ...props, children: ({ close }) => (jsx(Fragment, { children: jsxs("div", { className: "bcds-react-aria-Dialog--Container", children: [isCloseable && (jsx("span", { className: "bcds-react-aria-Dialog--closeIcon", children: jsx(Button, { variant: "tertiary", isIconButton: true, size: "small", "aria-label": "Close", type: "button", onPress: close, children: jsx(SvgCloseIcon, {}) }) })), jsx(Fragment, { children: children })] }) })) }));
@@ -15281,8 +16110,8 @@ function SvgBcLogo({ id = "bcgov-logo" }) {
15281
16110
  return (jsxs("svg", { id: id, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 847.65 327.01", children: [jsx("path", { d: "M109.59,226.32c44.7,0,106.54,25.17,151.41,25.17,32.02,0,63.26-8.54,81.04-21.13,1.24-7.39,1.9-14.97,1.9-22.72,0-75.13-60.91-136.04-136.04-136.04s-136.04,60.91-136.04,136.04c0,7.65.64,15.15,1.86,22.46,4.9-.91,21.57-3.79,35.87-3.79Z", style: { fill: "#fff", strokeWidth: "0px" } }), jsxs("g", { children: [jsxs("g", { children: [jsx("rect", { x: "415.4", y: "252.98", width: "314.66", height: "3.82", style: { fill: "#e3a82b", strokeWidth: "0px" } }), jsx("path", { d: "M423.47,116.64c0-6.39-.45-8.08-4.76-8.43l-3-.21c-.49-.39-.35-2.12.1-2.16,5.17-.46,11.69-.69,20.6-.69,6.04,0,11.79.43,16.1,2.42,4.12,1.81,7.28,5.26,7.28,10.79,0,6.22-4.03,9.41-9.77,11.83,0,.86.77,1.12,1.82,1.29,5.17.86,12.84,5.18,12.84,14.42,0,10.01-8.24,16.75-25.49,16.75-2.78,0-7.47-.26-11.5-.26s-7.47.17-11.02.26c-.57-.26-.77-1.64-.19-2.16l1.73-.26c5.08-.78,5.27-1.73,5.27-10.79v-32.8ZM431.32,128.12c0,2.42.1,2.59,4.98,2.42,9.77-.35,15.04-2.94,15.04-11.05s-7-11.65-14.28-11.65c-2.11,0-3.55.17-4.41.52-.96.26-1.34.69-1.34,2.24v17.52ZM431.32,148.14c0,3.11.19,7.51,2.01,9.41,1.82,1.98,4.7,2.42,7.57,2.42,8.53,0,15.04-3.45,15.04-12.08,0-6.82-3.83-14.76-19.07-14.76-5.17,0-5.56.52-5.56,2.24v12.77Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M531.26,125.14c0-7.82-.16-9.07-4.99-9.44l-2.05-.15c-.49-.29-.33-1.62.16-1.84,4.09.15,6.87.22,10.31.22s6.06-.07,10.15-.22c.49.22.65,1.55.16,1.84l-2.04.15c-4.83.37-4.99,1.62-4.99,9.44v26.25c0,7.82.16,8.85,4.99,9.36l2.04.22c.49.29.33,1.62-.16,1.84-4.09-.15-6.87-.22-10.15-.22-3.44,0-6.22.07-10.31.22-.49-.22-.66-1.4-.16-1.84l2.05-.22c4.83-.52,4.99-1.55,4.99-9.36v-26.25Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M576.66,151.53c0,7.74.15,8.85,4.6,9.22l2.45.22c.46.29.31,1.62-.15,1.84-4.37-.15-6.98-.22-10.05-.22s-5.75.07-10.66.22c-.46-.22-.62-1.47,0-1.84l2.76-.22c4.37-.37,4.75-1.48,4.75-9.22v-32.96c0-2.28,0-2.36-2.3-2.36h-4.22c-3.3,0-7.51.15-9.43,1.84-1.84,1.62-2.61,3.24-3.45,5.09-.62.44-1.69.07-1.99-.52,1.22-3.32,2.38-8.04,2.91-10.98.23-.15,1.23-.22,1.46,0,.46,2.36,2.99,2.29,6.52,2.29h31.05c4.14,0,4.83-.15,5.98-2.06.38-.15,1.23-.07,1.38.22-.84,3.02-1.38,9-1.15,11.21-.31.59-1.61.59-1.99.15-.23-1.84-.77-4.57-1.92-5.38-1.76-1.25-4.68-1.84-8.89-1.84h-5.44c-2.3,0-2.22.07-2.22,2.51v32.81Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M609.53,125.14c0-7.82-.16-9.07-4.99-9.44l-2.05-.15c-.49-.29-.33-1.62.16-1.84,4.09.15,6.87.22,10.31.22s6.05-.07,10.15-.22c.49.22.66,1.55.17,1.84l-2.05.15c-4.83.37-4.99,1.62-4.99,9.44v26.25c0,7.82.16,8.85,4.99,9.36l2.05.22c.49.29.33,1.62-.17,1.84-4.09-.15-6.87-.22-10.15-.22-3.44,0-6.22.07-10.31.22-.49-.22-.65-1.4-.16-1.84l2.05-.22c4.83-.52,4.99-1.55,4.99-9.36v-26.25Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M646.2,163.57c-7.31,0-11.92-1.92-13.57-2.73-1.04-1.62-2.18-6.86-2.35-10.32.44-.52,1.74-.66,2.09-.22,1.31,3.76,4.87,10.98,14.96,10.98,7.31,0,10.87-4.05,10.87-8.48,0-3.24-.78-6.86-7.13-10.32l-8.26-4.57c-4.35-2.43-9.4-6.64-9.4-12.68,0-7,6.44-12.68,17.75-12.68,2.7,0,5.83.44,8.09.96,1.13.29,2.35.44,3.04.44.78,1.77,1.57,5.9,1.57,9-.35.44-1.74.66-2.18.22-1.13-3.54-3.48-8.33-11.83-8.33s-10.35,4.79-10.35,8.18c0,4.28,4.18,7.38,7.39,9.07l6.96,3.69c5.48,2.88,10.88,7.15,10.88,14.16,0,8.11-7.22,13.64-18.53,13.64Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M689.99,138.78c-3.81,0-3.96.15-3.96,2.36v10.4c0,7.74.4,8.77,4.84,9.22l2.3.22c.48.29.32,1.62-.16,1.84-4.28-.15-6.98-.22-10.08-.22-3.41,0-6.11.15-9.2.22-.47-.22-.63-1.4-.16-1.84l1.35-.22c4.45-.74,4.6-1.48,4.6-9.22v-26.54c0-7.74-.55-8.99-4.68-9.29l-2.06-.15c-.48-.29-.32-1.62.16-1.84,3.89.07,6.58.22,10,.22,3.1,0,5.79-.07,9.2-.22.48.22.63,1.55.16,1.84l-1.51.15c-4.6.44-4.76,1.55-4.76,9.29v8.48c0,2.28.16,2.36,3.96,2.36h22.69c3.81,0,3.97-.07,3.97-2.36v-8.48c0-7.74-.16-8.85-4.84-9.29l-1.51-.15c-.48-.29-.32-1.62.16-1.84,3.65.15,6.35.22,9.6.22s5.79-.07,9.36-.22c.48.22.63,1.55.16,1.84l-1.66.15c-4.6.44-4.76,1.55-4.76,9.29v26.54c0,7.74.16,8.7,4.76,9.22l1.9.22c.47.29.32,1.62-.16,1.84-3.81-.15-6.51-.22-9.6-.22-3.25,0-6.11.07-9.6.22-.48-.22-.63-1.4-.16-1.84l1.51-.22c4.84-.74,4.84-1.48,4.84-9.22v-10.4c0-2.21-.16-2.36-3.97-2.36h-22.69Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M378.06,179.01c6.52-5.07,14.83-7.57,24.12-7.57,4.82,0,11.61.98,15.81,2.14,1.07.27,1.7.45,2.5.36.09,2.05.54,7.65,1.25,13.09-.45.62-1.79.71-2.41.18-1.34-6.05-5.36-13-18.31-13-13.67,0-25.28,8.64-25.28,27.06s11.88,29.02,26.53,29.02c11.52,0,16.62-7.48,18.67-12.73.63-.44,1.97-.27,2.32.36-.62,4.63-2.95,10.5-4.29,12.2-1.07.18-2.14.53-3.13.89-1.97.71-8.4,2.05-14.11,2.05-8.04,0-15.72-1.6-22.24-5.96-7.15-4.9-12.69-12.99-12.69-24.48,0-9.88,4.47-18.34,11.26-23.59Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M426.92,207.81c0-14.75,11.61-26.03,27.56-26.03,17.88,0,26.86,12.31,26.86,25.29,0,14.89-11.92,25.73-26.86,25.73-17.19,0-27.56-11.72-27.56-25ZM473.6,209.35c0-12.17-5.65-25.29-20.44-25.29-8.05,0-18.5,5.24-18.5,21.38,0,10.91,5.57,25.07,20.82,25.07,9.29,0,18.12-6.64,18.12-21.16Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M568.68,201.47c0-4.57-.16-13.05-1.49-15.26-.55-.89-1.95-1.4-3.91-1.55l-1.95-.15c-.47-.52-.31-1.47.15-1.77,2.97.15,5.86.22,8.91.22,3.28,0,5.39-.08,8.21-.22.62.37.55,1.33.16,1.77l-1.88.15c-1.95.15-3.44.81-3.91,1.77-1.09,2.43-1.09,10.91-1.09,15.04v8.33c0,6.42-1.1,13.2-5.47,17.62-3.36,3.47-9.14,5.38-14.93,5.38-5.39,0-10.79-.96-14.62-4.05-4.14-3.24-6.1-8.63-6.1-17.4v-17.4c0-7.67-.16-8.92-4.69-9.29l-1.96-.15c-.47-.29-.31-1.55.15-1.77,3.91.15,6.57.22,9.69.22s5.78-.08,9.61-.22c.47.22.63,1.47.16,1.77l-1.88.15c-4.53.37-4.69,1.62-4.69,9.29v15.93c0,11.87,3.91,19.69,15.87,19.69,11.33,0,15.63-8.41,15.63-19.61v-8.48Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M659.52,192.26c0-5.51-.35-6.93-4.23-7.22l-2.77-.27c-.31-.28-.48-1.78.09-1.82,4.67-.35,10.54-.59,18.57-.59,5.44,0,10.62.37,14.51,2.08,3.71,1.57,6.56,4.54,6.56,9.31,0,5.36-3.63,8.12-8.81,10.2,0,.75.69.97,1.64,1.12,4.67.74,11.58,4.47,11.58,12.44,0,8.64-7.43,14.45-22.98,14.45-2.5,0-6.74-.22-10.37-.22s-6.74.15-9.93.22c-.52-.22-.69-1.41-.17-1.86l1.55-.22c4.58-.67,4.75-1.49,4.75-9.31v-28.3ZM666.6,202.16c0,2.09.09,2.24,4.49,2.09,8.81-.3,13.56-2.53,13.56-9.53s-6.3-10.05-12.87-10.05c-1.9,0-3.2.15-3.97.45-.87.22-1.21.59-1.21,1.94v15.12ZM666.6,219.44c0,2.68.17,6.48,1.81,8.12,1.64,1.71,4.23,2.08,6.82,2.08,7.69,0,13.56-2.98,13.56-10.43,0-5.88-3.45-12.73-17.19-12.73-4.67,0-5.01.44-5.01,1.94v11.02Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M518.75,160.97l-2.05-.18c-.41-.04-.78-.1-1.13-.15-2.99-.53-4.19-3.2-5.6-5.67l-7.08-12.32c-1.22-2.05-2.53-4.82-5.33-5.21,7.25-.87,13.81-5.06,13.81-12.24,0-8.3-8.21-12.01-16.52-12.01-4.98,0-9.52.13-14.59.13-2.79,0-6.12-.13-8.92-.13-1.55,0-1.57.32-1.57,1.18,0,1.28.54.92,2.19,1.02,5.9.33,5.68,1.43,5.68,6.49v32.31c0,4.62.4,6-4.46,6.44,0,0-.74.08-1.17.12l-2.06.21c-.49.44-.33,1.62.16,1.84,1.09-.04,3.03-.12,3.03-.12,2.69-.08,5.38-.28,8.06-.28s5.29.21,7.95.29h0c.94.03,1.94.07,3.03.1.49-.22.66-1.4.16-1.84l-2.07-.2c-.42-.05-1.15-.11-1.15-.11-4.9-.33-4.6-1.71-4.6-6.46v-12.17c0-.71-.09-2.61.44-3.16.44-.48,1.22-.4,1.92-.4,6.64,0,6.55.63,9.7,6.16l8.56,15.4c.7,1.19,1.22,2.69,2.97,2.69h7.44c.94.03,1.92.06,3.01.1.49-.22.65-1.4.16-1.84ZM488.92,136.74c-1.49,0-4.46.55-4.46-1.42v-14.14c0-5.53.18-6.32,6.82-6.32,7.78,0,12.58,3.95,12.58,11.22,0,3.16-1.14,6.08-4.02,8.06-3.32,2.29-6.9,2.61-10.92,2.61Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsxs("g", { children: [jsx("path", { d: "M490.53,194.2c0-7.74-.16-8.92-5.27-9.29l-2.03-.15c-.49-.3-.32-1.62.16-1.84,4.54.15,7.3.22,10.54.22s5.92-.07,9.98-.22c.49.22.65,1.55.16,1.84l-1.95.15c-4.78.37-4.95,1.55-4.95,9.29v25.66c0,4.64.24,6.56,1.7,7.96.89.81,2.43,1.7,8.84,1.7,6.89,0,8.6-.3,9.9-.96,1.62-.89,3.73-3.54,5.35-7.3.49-.37,2.03-.07,2.03.44,0,.81-2.27,8.33-3.41,10.32-4.13-.15-11.84-.22-20.2-.22h-7.46c-3.41,0-6,.07-10.54.22-.49-.22-.65-1.4-.16-1.84l2.43-.22c4.7-.44,4.87-1.48,4.87-9.22v-26.54Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M707.79,194.34c0-7.81-.16-9.07-4.86-9.44l-1.99-.15c-.48-.3-.32-1.62.16-1.84,3.98.15,6.69.22,10.03.22s5.89-.07,9.87-.22c.48.22.64,1.55.16,1.84l-1.99.15c-4.7.37-4.86,1.62-4.86,9.44v26.25c0,7.82.16,8.85,4.86,9.36l1.99.22c.48.3.32,1.62-.16,1.84-3.98-.15-6.69-.22-9.87-.22-3.35,0-6.05.07-10.03.22-.48-.22-.64-1.4-.16-1.84l1.99-.22c4.7-.52,4.86-1.55,4.86-9.36v-26.25Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M644.16,229.94c-.41-.04-1.17-.1-1.17-.1-.84-.08-1.59-.2-2.19-.86-1.03-1.1-.95-4.23-.95-5.48v-32.31c0-1.41-.34-4.46.69-5.56.52-.58,1.59-.67,2.55-.73h0c.58-.05.6-.05,1.11-.07l2.05-.15c.49-.3.33-1.62-.16-1.84-1.09.04-2.09.02-3.03.05h0s-8.7,0-8.7,0c-.95,0-1.81,0-2.32,1.02l-17.73,36.92-15.66-35.67c-.52-1.25-.6-2.27-2.24-2.27h-9.05c-.94-.03-1.98-.02-3.08-.06-.49.22-.66,1.55-.16,1.84l2.05.15c.42.03,1.19.09,1.19.09,3.4.22,3.61.98,3.3,4.55l-2.67,34.65c-.23,3.48-.42,5.32-4.07,5.66,0,0-.77.1-1.19.14l-2.04.22c-.49.44-.33,1.62.16,1.84,1.08-.04,3-.1,3-.1,1.85-.09,3.73-.25,5.61-.25,2.03,0,4.06.19,6.1.27h0c.94.03,1.94.07,3.03.1.49-.22.66-1.4.16-1.84l-2.04-.22c-.54-.04-1.14-.1-1.14-.1-5.26-.36-5.14-4.07-4.81-8.62l2.5-32.23h.6l16.95,39.66c.17.55.43,1.49,1.29,1.49.78,0,1.03-.86,1.29-1.41l19.1-40.68h.6v35.44c0,1.41.17,4.3-1.29,5.4-.76.57-3.25.91-3.25.91-.34.05-.7.1-1.11.15l-2.04.22c-.49.44-.33,1.62.16,1.84,1.08-.04,2.99-.1,2.99-.1,2.77-.08,5.59-.28,8.41-.28,2.03,0,6,.19,6,.19.95.03,2.02.13,3.12.17.49-.22.66-1.4.16-1.84l-2.05-.22Z", style: { fill: "#234075", strokeWidth: "0px" } }), jsx("path", { d: "M777.13,230.14l-.28-.22c-.41-.04-.77-.09-1.11-.15-3.19-.71-4.43-4.55-5.61-7.29l-16.41-38.83c-.16-.47-.49-1.47-1.14-1.47-.89,0-1.14,1.08-1.38,1.7l-15.68,38.76c-.57,1.47-2.03,5.03-3.09,6.11-.81.83-1.86.99-2.99,1.1,0,0-.88.08-1.31.13l-1.93.2c-.49.44-.33,1.62.16,1.84,1.09-.04,3.03-.11,3.03-.11,2.14-.03,4.29-.3,6.44-.3,1.81,0,3.61.19,5.41.27,0,0,1.94.07,3.03.11.49-.22.65-1.4.16-1.84l-2.05-.22c-.41-.04-1.11-.11-1.11-.11-1.89-.21-4.24-.55-4.24-2.62,0-1.39.65-3.02,1.14-4.25l2.44-5.8c1.22-2.78.73-3.1,3.98-3.1h11.05c3.9,0,3.33,0,5.04,3.95l2.6,5.88c.41,1.01,1.14,2.71,1.14,3.79,0,1.94-2.12,2.07-4.11,2.24,0,0-.66.06-1.23.1l-1.97.14c-.49.44-.33,1.62.17,1.84,1.09-.04,3.03-.12,3.03-.12,2.31-.08,4.64-.26,6.87-.26,2.85,0,5.69.19,8.54.27h0c.93.03.14.06,1.22.1.49-.22.65-1.4.16-1.84ZM755.64,211.89h-9.57c-.33,0-3,.31-3-.47,0-.24.17-.7.25-.94l5.75-14.23c.17-.39.75-2.35,1.41-2.35.5,0,1.17,2.03,1.33,2.35l5.66,13.29c0,.16.58,1.41.58,1.72,0,.86-1.91.62-2.41.62Z", style: { fill: "#234075", strokeWidth: "0px" } })] }), jsx("rect", { width: "847.65", height: "327.01", style: { fill: "none", strokeWidth: "0px" } })] }), jsxs("g", { children: [jsx("polygon", { points: "295.89 176.17 301.27 178.4 313.19 170.08 295.89 176.17", style: { fill: "#e3a82b", strokeWidth: "0px" } }), jsx("path", { d: "M95.46,166.88l-14.14-4.97.71-1.73,15.92,5.31.07-.04,2.1-1.19.84-.53-17.36-7.39.73-1.82,38.75,15.67,1.28-.53-38.44-18.73.86-1.76,40.73,18.96.56-.29-39.49-22.4.81-1.68,57.03,31.03c.47-.86,1.44-2.44,1.95-3.28-21.68-20.39-42.61-35.69-42.61-35.69,0,0,21.52,14.41,48.07,27.81.88-1.09,1.6-1.97,2.53-3.01l-48.65-42.83,1.31-1.34,39.27,33.47-36.38-36.43,1.36-1.41,40.84,39.47-38.02-42.2,1.45-1.31,35.14,37.63-32.07-40.41,1.38-1.26,41.11,50.03c1.06-.92,1.95-1.61,3.06-2.46-12.44-26.91-26.02-48.8-26.02-48.8,0,0,14.46,21.28,33.96,43.56,1.19-.67,2.4-1.31,3.63-1.92l-.21-.13-28.81-57.5,1.71-.75,23.87,45.74-20.08-47.41,1.79-.8,23.08,51.9-19.45-53.37,1.84-.67,18.49,48.05-14.6-49.49,1.75-.65,19.22,61.38-.04.16.05-.02c1.28-.43,2.58-.81,3.89-1.16-1.46-29.48-5.82-54.7-5.82-54.7,0,0,5.4,25,15.08,52.87,1.35-.17,2.71-.31,4.07-.4l-.04-.06h.17l-.1-.14-5.17-64.11,1.87-.06,5,51.35-.86-51.48,1.96-.07,1.96,56.77,1.96-56.77,1.96.07-.86,51.48,5-51.35,1.87.06-5.17,64.11-.1.14h.03v.02s.07,0,.07,0c1.34.08,2.66.22,3.98.38,9.67-27.84,15.06-52.8,15.06-52.8,0,0-4.35,25.14-5.82,54.57,1.32.35,2.63.73,3.91,1.15l19.15-61.16,1.76.65-14.6,49.48,18.49-48.05,1.84.67-19.45,53.37,23.08-51.9,1.79.8-20.08,47.41,23.87-45.74,1.71.75-28.71,57.3.05.02c1.18.58,2.34,1.19,3.49,1.83,19.42-22.21,33.79-43.37,33.79-43.37,0,0-13.49,21.74-25.89,48.52,1.11.84,2.19,1.7,3.24,2.6l40.63-49.49,1.39,1.26-32.08,40.41,35.14-37.63,1.45,1.31-38.02,42.2,40.84-39.47,1.36,1.41-36.38,36.43,39.27-33.47,1.31,1.34-48.06,42.35.03.03c.84.94,1.65,1.9,2.44,2.88,26.39-13.34,47.71-27.62,47.71-27.62,0,0-20.72,15.16-42.29,35.4.59.99,1.55,2.67,2.09,3.69l56.22-30.61.81,1.69-44.88,25.45,46.68-21.72.86,1.76-43.48,21.19.83.29,44.24-17.89.74,1.82-41.12,17.49.77.32,27.4-9.13,4.13-2.88,1.37,1.05,9.02-3.01.71,1.73-7.8,2.75,11.27,8.6,3.61,2.01c-14.49-60.58-68.98-105.62-134-105.62s-121.42,46.63-134.73,108.82c.17-.08.34-.16.51-.24l1.65-.75,1.01-.47,19.01-10.66Z", style: { fill: "#e3a82b", strokeWidth: "0px" } })] }), jsx("path", { d: "M72.5,233.02s20.32-4.06,37.29-4.06c44.7,0,106.54,25.17,151.41,25.17,32.91,0,65.02-9.03,82.51-22.19,1.37-7.79,2.08-15.8,2.08-23.98,0-11.08-1.32-21.85-3.79-32.17l-18.7-10.43-21.95,15.39-14.76-5.75c-5,2.53-35.83,23.15-35.83,23.15l-11.84-8.57-12.7-2.51-16.93-12.33-19.42,13.33s-21.67,12.58-22.41,12.58-26.14-20.13-26.14-20.13l-11.7-12.33c-1.99,1.26-9.95,4.91-9.95,4.91l-.41.11-7.7-2.38-9.35-4.96-28.41,12.88c-.17.08-.34.16-.51.24-2,9.34-3.06,19.03-3.06,28.96,0,8.56.79,16.93,2.28,25.06Z", style: { fill: "#234075", strokeWidth: "0px" } })] })] }));
15282
16111
  }
15283
16112
 
15284
- var css_248z$d = ".bcds-footer {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n}\n\n.bcds-footer > .bcds-footer--acknowledgement {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n border-top: var(--layout-border-width-large) solid var(--theme-gold-60);\n border-bottom: var(--layout-border-width-large) solid var(--theme-gold-60);\n background-color: var(--theme-gray-110);\n padding: var(--layout-padding-xlarge);\n}\n\n.bcds-footer\n > .bcds-footer--acknowledgement\n > .bcds-footer--acknowledgement-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: stretch;\n color: var(--typography-color-primary-invert);\n font: var(--typography-regular-small-body);\n max-width: 1100px;\n width: 100%;\n}\n\n.bcds-footer\n > .bcds-footer--acknowledgement\n > .bcds-footer--acknowledgement-text\n > p {\n margin: var(--layout-margin-none);\n}\n\n.bcds-footer > .bcds-footer--container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n background-color: var(--surface-color-background-light-gray);\n padding: var(--layout-padding-xlarge);\n}\n\n.bcds-footer > .bcds-footer--container > .bcds-footer--container-content {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--layout-padding-xlarge);\n max-width: 1100px;\n width: 100%;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: flex-start;\n column-gap: var(--layout-padding-xlarge);\n row-gap: var(--layout-padding-medium);\n justify-content: space-between;\n width: 100%;\n}\n\n/* `horizontal` class is the default, when no `children` prop is passed */\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.horizontal {\n flex-direction: row;\n}\n\n/* `vertical` class is used when a `children` prop is passed */\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical {\n flex-direction: column;\n align-items: stretch;\n row-gap: var(--layout-padding-xlarge);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo {\n display: flex;\n flex-direction: column;\n gap: var(--layout-padding-large);\n min-width: 324px;\n width: 576px;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > #bcgov-logo-footer {\n width: 146px;\n min-width: 146px;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > p {\n font: var(--typography-regular-small-body);\n margin: var(--layout-margin-none);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > p\n > a {\n color: var(--typography-color-secondary);\n font: var(--typography-regular-small-body);\n text-decoration: underline;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > p\n > a:hover {\n text-decoration: none;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links {\n margin: var(--layout-margin-none);\n}\n\n/*\n When Footer hasn't been passed `children`, expand the links container to take\n up 320px, as the default links are narrower.\n*/\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.horizontal\n > .bcds-footer--links {\n min-width: 320px;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > .bcds-footer--links-title {\n display: block;\n font: var(--typography-bold-small-body);\n margin-bottom: var(--layout-padding-medium);\n text-transform: uppercase;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: auto;\n grid-column-gap: var(--layout-padding-xlarge);\n grid-row-gap: var(--layout-padding-small);\n list-style: none;\n margin: var(--layout-margin-none);\n padding: var(--layout-padding-none);\n}\n\n/*\n When a Footer has been passed `children`, the logo-links container fills the\n full width of the container, so there's room for 4 columns of links.\n*/\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical\n > .bcds-footer--links\n > ul {\n grid-template-columns: repeat(4, 1fr);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul\n > li {\n font: var(--typography-regular-small-body);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul\n > li\n > a {\n color: var(--typography-color-primary);\n text-decoration: none;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul\n > li\n > a:hover {\n text-decoration: underline;\n}\n\n.bcds-footer > .bcds-footer--container > .bcds-footer--container-content > hr {\n background-color: var(--surface-color-border-dark);\n border: var(--layout-border-width-none);\n height: var(--layout-border-width-small);\n margin: var(--layout-margin-none);\n width: 100%;\n}\n\np.bcds-footer--copyright {\n color: var(--typography-color-secondary);\n font: var(--typography-regular-body);\n margin: var(--layout-margin-none);\n}\n\n/* Tablet */\n@media (max-width: 991px) {\n /* Links drop beneath logo in the default configuration */\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links {\n flex-wrap: wrap;\n }\n\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo {\n max-width: 324px;\n }\n\n /*\n When the `children` prop is used with multiple FooterLinks components,\n only two columns of links appear on screen at once.\n */\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical\n > .bcds-footer--links\n > ul {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n/* Extra small screens */\n@media (max-width: 575px) {\n .bcds-footer > .bcds-footer--acknowledgement {\n padding: var(--layout-padding-xlarge) var(--layout-padding-medium);\n }\n\n .bcds-footer > .bcds-footer--container {\n padding: var(--layout-padding-medium);\n }\n\n .bcds-footer > .bcds-footer--container > .bcds-footer--container-content {\n gap: var(--layout-padding-medium);\n }\n\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo {\n gap: var(--layout-padding-medium);\n }\n\n /*\n When the `children` prop is used with multiple FooterLinks components,\n only one column of links appear on screen at once.\n */\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical\n > .bcds-footer--links\n > ul {\n grid-template-columns: repeat(1, 1fr);\n }\n}\n";
15285
- styleInject(css_248z$d);
16113
+ var css_248z$e = ".bcds-footer {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n width: 100%;\n}\n\n.bcds-footer > .bcds-footer--acknowledgement {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n border-top: var(--layout-border-width-large) solid var(--theme-gold-60);\n border-bottom: var(--layout-border-width-large) solid var(--theme-gold-60);\n background-color: var(--theme-gray-110);\n padding: var(--layout-padding-xlarge);\n}\n\n.bcds-footer\n > .bcds-footer--acknowledgement\n > .bcds-footer--acknowledgement-text {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: stretch;\n color: var(--typography-color-primary-invert);\n font: var(--typography-regular-small-body);\n max-width: 1100px;\n width: 100%;\n}\n\n.bcds-footer\n > .bcds-footer--acknowledgement\n > .bcds-footer--acknowledgement-text\n > p {\n margin: var(--layout-margin-none);\n}\n\n.bcds-footer > .bcds-footer--container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n background-color: var(--surface-color-background-light-gray);\n padding: var(--layout-padding-xlarge);\n}\n\n.bcds-footer > .bcds-footer--container > .bcds-footer--container-content {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: var(--layout-padding-xlarge);\n max-width: 1100px;\n width: 100%;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: flex-start;\n column-gap: var(--layout-padding-xlarge);\n row-gap: var(--layout-padding-medium);\n justify-content: space-between;\n width: 100%;\n}\n\n/* `horizontal` class is the default, when no `children` prop is passed */\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.horizontal {\n flex-direction: row;\n}\n\n/* `vertical` class is used when a `children` prop is passed */\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical {\n flex-direction: column;\n align-items: stretch;\n row-gap: var(--layout-padding-xlarge);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo {\n display: flex;\n flex-direction: column;\n gap: var(--layout-padding-large);\n min-width: 324px;\n width: 576px;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > #bcgov-logo-footer {\n width: 146px;\n min-width: 146px;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > p {\n font: var(--typography-regular-small-body);\n margin: var(--layout-margin-none);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > p\n > a {\n color: var(--typography-color-secondary);\n font: var(--typography-regular-small-body);\n text-decoration: underline;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo\n > p\n > a:hover {\n text-decoration: none;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links {\n margin: var(--layout-margin-none);\n}\n\n/*\n When Footer hasn't been passed `children`, expand the links container to take\n up 320px, as the default links are narrower.\n*/\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.horizontal\n > .bcds-footer--links {\n min-width: 320px;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > .bcds-footer--links-title {\n display: block;\n font: var(--typography-bold-small-body);\n margin-bottom: var(--layout-padding-medium);\n text-transform: uppercase;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: auto;\n grid-column-gap: var(--layout-padding-xlarge);\n grid-row-gap: var(--layout-padding-small);\n list-style: none;\n margin: var(--layout-margin-none);\n padding: var(--layout-padding-none);\n}\n\n/*\n When a Footer has been passed `children`, the logo-links container fills the\n full width of the container, so there's room for 4 columns of links.\n*/\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical\n > .bcds-footer--links\n > ul {\n grid-template-columns: repeat(4, 1fr);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul\n > li {\n font: var(--typography-regular-small-body);\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul\n > li\n > a {\n color: var(--typography-color-primary);\n text-decoration: none;\n}\n\n.bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--links\n > ul\n > li\n > a:hover {\n text-decoration: underline;\n}\n\n.bcds-footer > .bcds-footer--container > .bcds-footer--container-content > hr {\n background-color: var(--surface-color-border-dark);\n border: var(--layout-border-width-none);\n height: var(--layout-border-width-small);\n margin: var(--layout-margin-none);\n width: 100%;\n}\n\np.bcds-footer--copyright {\n color: var(--typography-color-secondary);\n font: var(--typography-regular-body);\n margin: var(--layout-margin-none);\n}\n\n/* Tablet */\n@media (max-width: 991px) {\n /* Links drop beneath logo in the default configuration */\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links {\n flex-wrap: wrap;\n }\n\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo {\n max-width: 324px;\n }\n\n /*\n When the `children` prop is used with multiple FooterLinks components,\n only two columns of links appear on screen at once.\n */\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical\n > .bcds-footer--links\n > ul {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n/* Extra small screens */\n@media (max-width: 575px) {\n .bcds-footer > .bcds-footer--acknowledgement {\n padding: var(--layout-padding-xlarge) var(--layout-padding-medium);\n }\n\n .bcds-footer > .bcds-footer--container {\n padding: var(--layout-padding-medium);\n }\n\n .bcds-footer > .bcds-footer--container > .bcds-footer--container-content {\n gap: var(--layout-padding-medium);\n }\n\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links\n > .bcds-footer--logo {\n gap: var(--layout-padding-medium);\n }\n\n /*\n When the `children` prop is used with multiple FooterLinks components,\n only one column of links appear on screen at once.\n */\n .bcds-footer\n > .bcds-footer--container\n > .bcds-footer--container-content\n > .bcds-footer--logo-links.vertical\n > .bcds-footer--links\n > ul {\n grid-template-columns: repeat(1, 1fr);\n }\n}\n";
16114
+ styleInject(css_248z$e);
15286
16115
 
15287
16116
  /**
15288
16117
  * A titled list of links for use in the Footer. Rendered inside a `<figure>`
@@ -15336,8 +16165,8 @@ function Form({ ...props }) {
15336
16165
  return jsx($d3e0e05bdfcf66bd$export$a7fed597f4b8afd8, { ...props });
15337
16166
  }
15338
16167
 
15339
- var css_248z$c = ".bcds-header {\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-around;\n background-color: var(--surface-color-forms-default);\n border-bottom-color: var(--surface-color-border-default);\n border-bottom-style: solid;\n border-bottom-width: var(--layout-border-width-small);\n min-height: 65px;\n padding: var(--layout-padding-none) var(--layout-padding-medium);\n width: 100%;\n}\n\n.bcds-header > .bcds-header--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}\n\n.bcds-header > .bcds-header--container > .bcds-header--title {\n flex-grow: 1;\n font: var(--typography-bold-h4);\n color: var(--typography-color-primary);\n}\n\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks {\n list-style: none;\n margin: 0;\n padding: 0;\n position: absolute;\n}\n\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks li a,\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks li button {\n background-color: var(--surface-color-forms-default);\n box-sizing: border-box;\n color: var(--typography-color-link);\n font: var(--typography-regular-body);\n margin-top: -17.5px; /* Center the link visually in a single line-height header */\n padding: var(--layout-padding-xsmall) var(--layout-padding-medium);\n position: absolute;\n margin-left: -100000px;\n}\n\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks li a:focus,\n.bcds-header\n > .bcds-header--container\n > ul.bcds-header--skiplinks\n li\n button:focus {\n margin-left: 0; /* Line up left edge with left edge of logo image */\n text-wrap: nowrap;\n}\n\n.bcds-header > .bcds-header--container > .bcds-header--line {\n background-color: var(--surface-color-border-default);\n width: 1px;\n height: 32px;\n}\n\n.bcds-header > .bcds-header--container svg#bcgov-logo-header {\n min-width: 129px;\n width: 129px;\n}\n";
15340
- styleInject(css_248z$c);
16168
+ var css_248z$d = ".bcds-header {\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-around;\n background-color: var(--surface-color-forms-default);\n border-bottom-color: var(--surface-color-border-default);\n border-bottom-style: solid;\n border-bottom-width: var(--layout-border-width-small);\n min-height: 65px;\n padding: var(--layout-padding-none) var(--layout-padding-medium);\n width: 100%;\n}\n\n.bcds-header > .bcds-header--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}\n\n.bcds-header > .bcds-header--container > .bcds-header--title {\n flex-grow: 1;\n font: var(--typography-bold-h4);\n color: var(--typography-color-primary);\n}\n\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks {\n list-style: none;\n margin: 0;\n padding: 0;\n position: absolute;\n}\n\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks li a,\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks li button {\n background-color: var(--surface-color-forms-default);\n box-sizing: border-box;\n color: var(--typography-color-link);\n font: var(--typography-regular-body);\n margin-top: -17.5px; /* Center the link visually in a single line-height header */\n padding: var(--layout-padding-xsmall) var(--layout-padding-medium);\n position: absolute;\n margin-left: -100000px;\n}\n\n.bcds-header > .bcds-header--container > ul.bcds-header--skiplinks li a:focus,\n.bcds-header\n > .bcds-header--container\n > ul.bcds-header--skiplinks\n li\n button:focus {\n margin-left: 0; /* Line up left edge with left edge of logo image */\n text-wrap: nowrap;\n}\n\n.bcds-header > .bcds-header--container > .bcds-header--line {\n background-color: var(--surface-color-border-default);\n width: 1px;\n height: 32px;\n}\n\n.bcds-header > .bcds-header--container svg#bcgov-logo-header {\n min-width: 129px;\n width: 129px;\n}\n";
16169
+ styleInject(css_248z$d);
15341
16170
 
15342
16171
  function Header({ children, logoLinkElement, logoImage = jsx(SvgBcLogo, { id: "bcgov-logo-header" }), skipLinks, title = "", titleElement = "span", }) {
15343
16172
  function getLogo() {
@@ -15370,8 +16199,8 @@ function Header({ children, logoLinkElement, logoImage = jsx(SvgBcLogo, { id: "b
15370
16199
  }) })), title && (jsxs(Fragment, { children: [jsx("div", { className: "bcds-header--line" }), getTitle()] })), children] }) }));
15371
16200
  }
15372
16201
 
15373
- var css_248z$b = ".bcds-Inline-Alert {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: var(--layout-margin-small);\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n}\n\n/* Alert content */\n.bcds-Inline-Alert--container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n\n.bcds-Inline-Alert--container > .title {\n font: var(--typography-bold-body);\n color: var(--typography-color-primary);\n}\n\n.bcds-Inline-Alert--container > .description {\n font: var(--typography-regular-body);\n color: var(--typography-color-primary);\n}\n\n/* Left icon */\n.bcds-Inline-Alert--icon {\n display: inline-flex;\n align-self: flex-start;\n padding-top: var(--layout-padding-xsmall);\n}\n\n.bcds-Inline-Alert--icon > svg {\n min-width: var(--icons-size-medium);\n height: var(--icons-size-medium);\n}\n\n/* Closeable */\n.bcds-Inline-Alert.closeable {\n /*\n Because the close icon button is removed from the document flow, we\n manually adjust the padding to push the `--container` element off the right\n edge of the InlineAlert.\n */\n padding: var(--layout-padding-medium) 52px var(--layout-padding-medium)\n var(--layout-padding-large);\n}\n\n.bcds-Inline-Alert--closeIcon {\n align-self: first baseline;\n color: var(--icons-color-primary);\n position: relative;\n}\n\n.bcds-Inline-Alert--closeIcon > button {\n position: absolute;\n /*\n Centers the button vertically.\n Button height (32px) minus line-height of text (27px) divided by 2.\n */\n top: -2.5px;\n}\n\n.bcds-Inline-Alert--closeIcon > svg {\n min-width: var(--icons-size-medium);\n height: var(--icons-size-medium);\n}\n\n/* Info variant */\n.bcds-Inline-Alert.info {\n background-color: var(--support-surface-color-info);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-info);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.info > .bcds-Inline-Alert--icon {\n color: var(--icons-color-info);\n}\n\n/* Success variant */\n.bcds-Inline-Alert.success {\n background-color: var(--suport-surface-color-success);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-success);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.success > .bcds-Inline-Alert--icon {\n color: var(--icons-color-success);\n}\n\n/* Warning variant */\n.bcds-Inline-Alert.warning {\n background-color: var(--support-surface-color-warning);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-warning);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.warning > .bcds-Inline-Alert--icon {\n color: var(--icons-color-warning);\n}\n\n/* Danger variant */\n.bcds-Inline-Alert.danger {\n background-color: var(--support-surface-color-danger);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-danger);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.danger > .bcds-Inline-Alert--icon {\n color: var(--icons-color-danger);\n}\n\n/* Button group */\n.bcds-Inline-Alert--container > .bcds-ButtonGroup {\n padding-top: var(--layout-padding-small);\n}\n";
15374
- styleInject(css_248z$b);
16202
+ var css_248z$c = ".bcds-Inline-Alert {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n gap: var(--layout-margin-small);\n padding: var(--layout-padding-medium) var(--layout-padding-large);\n}\n\n/* Alert content */\n.bcds-Inline-Alert--container {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n\n.bcds-Inline-Alert--container > .title {\n font: var(--typography-bold-body);\n color: var(--typography-color-primary);\n}\n\n.bcds-Inline-Alert--container > .description {\n font: var(--typography-regular-body);\n color: var(--typography-color-primary);\n}\n\n/* Left icon */\n.bcds-Inline-Alert--icon {\n display: inline-flex;\n align-self: flex-start;\n padding-top: var(--layout-padding-xsmall);\n}\n\n.bcds-Inline-Alert--icon > svg {\n min-width: var(--icons-size-medium);\n height: var(--icons-size-medium);\n}\n\n/* Closeable */\n.bcds-Inline-Alert.closeable {\n /*\n Because the close icon button is removed from the document flow, we\n manually adjust the padding to push the `--container` element off the right\n edge of the InlineAlert.\n */\n padding: var(--layout-padding-medium) 52px var(--layout-padding-medium)\n var(--layout-padding-large);\n}\n\n.bcds-Inline-Alert--closeIcon {\n align-self: first baseline;\n color: var(--icons-color-primary);\n position: relative;\n}\n\n.bcds-Inline-Alert--closeIcon > button {\n position: absolute;\n /*\n Centers the button vertically.\n Button height (32px) minus line-height of text (27px) divided by 2.\n */\n top: -2.5px;\n}\n\n.bcds-Inline-Alert--closeIcon > svg {\n min-width: var(--icons-size-medium);\n height: var(--icons-size-medium);\n}\n\n/* Info variant */\n.bcds-Inline-Alert.info {\n background-color: var(--support-surface-color-info);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-info);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.info > .bcds-Inline-Alert--icon {\n color: var(--icons-color-info);\n}\n\n/* Success variant */\n.bcds-Inline-Alert.success {\n background-color: var(--suport-surface-color-success);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-success);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.success > .bcds-Inline-Alert--icon {\n color: var(--icons-color-success);\n}\n\n/* Warning variant */\n.bcds-Inline-Alert.warning {\n background-color: var(--support-surface-color-warning);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-warning);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.warning > .bcds-Inline-Alert--icon {\n color: var(--icons-color-warning);\n}\n\n/* Danger variant */\n.bcds-Inline-Alert.danger {\n background-color: var(--support-surface-color-danger);\n border: var(--layout-border-width-small) solid\n var(--support-border-color-danger);\n border-radius: var(--layout-border-radius-medium);\n}\n\n.bcds-Inline-Alert.danger > .bcds-Inline-Alert--icon {\n color: var(--icons-color-danger);\n}\n\n/* Button group */\n.bcds-Inline-Alert--container > .bcds-ButtonGroup {\n padding-top: var(--layout-padding-small);\n}\n";
16203
+ styleInject(css_248z$c);
15375
16204
 
15376
16205
  function getIcon(variant) {
15377
16206
  switch (variant) {
@@ -15391,6 +16220,17 @@ function InlineAlert({ variant = "info", title, description, isIconHidden = fals
15391
16220
  return (jsxs("div", { className: `bcds-Inline-Alert ${variant} ${isCloseable ? "closeable" : null}`, ...props, children: [!isIconHidden && (jsx("span", { className: "bcds-Inline-Alert--icon", children: getIcon(variant) })), jsx("div", { className: "bcds-Inline-Alert--container", role: role, "aria-labelledby": "alert-title", children: children ? (children) : (jsxs(Fragment, { children: [title && (jsx("span", { className: "title", id: "alert-title", children: title })), description && jsx("span", { className: "description", children: description }), buttons && (jsx(ButtonGroup, { alignment: "end", orientation: "horizontal", children: buttons }))] })) }), isCloseable && (jsx("span", { className: "bcds-Inline-Alert--closeIcon", children: jsx(Button, { variant: "tertiary", isIconButton: true, size: "small", "aria-label": "Close this alert", type: "button", onPress: onClose, children: jsx(SvgCloseIcon, {}) }) }))] }));
15392
16221
  }
15393
16222
 
16223
+ var css_248z$b = ".bcds-react-aria-Link {\n color: var(--typography-color-link);\n text-decoration: underline;\n text-underline-offset: var(--layout-padding-hair);\n cursor: pointer;\n}\n\n/* Icon slots */\n.bcds-react-aria-Link--Icon {\n display: inline-flex;\n flex-direction: row;\n vertical-align: text-bottom;\n margin: var(--layout-margin-none) var(--layout-margin-xsmall);\n}\n\n/* Sizing */\n.bcds-react-aria-Link.small {\n font: var(--typography-regular-small-body);\n}\n\n.bcds-react-aria-Link.medium {\n font: var(--typography-regular-body);\n}\n\n.bcds-react-aria-Link.large {\n font: var(--typography-regular-large-body);\n}\n\n/* Placeholder large button style */\n.bcds-react-aria-Button.large {\n min-height: 40px;\n}\n\n/* Hover */\n.bcds-react-aria-Link[data-hovered] {\n color: var(--surface-color-border-active);\n}\n\n.bcds-react-aria-Link[data-hovered].danger {\n color: var(--surface-color-primary-danger-button-hover);\n}\n\n/* Selected */\n.bcds-react-aria-Link[data-current] {\n color: var(--surface-color-border-active);\n}\n\n/* Focus */\n.bcds-react-aria-Link[data-focus-visible] {\n outline: solid var(--layout-border-width-medium)\n var(--surface-color-border-active);\n outline-offset: var(--layout-margin-hair);\n border-radius: var(--layout-border-radius-small);\n}\n\n/* Disabled */\n.bcds-react-aria-Link[data-disabled],\n.bcds-react-aria-Link[data-disabled].danger {\n color: var(--typography-color-disabled);\n cursor: not-allowed;\n}\n\n/* Danger */\n.bcds-react-aria-Link.danger {\n color: var(--typography-color-danger);\n}\n";
16224
+ styleInject(css_248z$b);
16225
+
16226
+ function Link({ children, size = "medium", danger = false, isButton = false, buttonVariant = "primary", isUnstyled = false, iconLeft, iconRight, ariaLabel, ...props }) {
16227
+ return (jsxs($4f118338184dc1d9$export$a6c7ac8248d6e38a, { className: !isUnstyled
16228
+ ? isButton
16229
+ ? `bcds-react-aria-Button ${size} ${buttonVariant} ${danger && "danger"}`
16230
+ : `bcds-react-aria-Link ${size} ${danger && "danger"}`
16231
+ : undefined, "aria-label": ariaLabel, ...props, children: [iconLeft && (jsx("span", { className: "bcds-react-aria-Link--Icon", children: iconLeft })), children, iconRight && (jsx("span", { className: "bcds-react-aria-Link--Icon", children: iconRight }))] }));
16232
+ }
16233
+
15394
16234
  var css_248z$a = "/* Styles for overlay element */\n.react-aria-ModalOverlay:has(.bcds-react-aria-Modal) {\n position: fixed;\n inset: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: var(--layout-margin-small);\n background: var(--surface-color-overlay-default);\n height: 100vh;\n width: 100vw;\n z-index: 1000;\n}\n.react-aria-ModalOverlay:has(.bcds-react-aria-Modal)[data-entering] {\n animation: modal-fade 200ms;\n}\n.react-aria-ModalOverlay:has(.bcds-react-aria-Modal)[data-exiting] {\n animation: modal-fade 150ms reverse ease-in;\n}\n@media (prefers-reduced-motion) {\n /* Don't animate modal fade in/out if prefers-reduced-motion is on */\n .react-aria-ModalOverlay:has(.bcds-react-aria-Modal)[data-entering] {\n animation: unset;\n }\n .react-aria-ModalOverlay:has(.bcds-react-aria-Modal)[data-exiting] {\n animation: unset;\n }\n}\n\n@keyframes modal-fade {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n/* Styles for content container */\n.bcds-react-aria-Modal {\n box-sizing: border-box;\n max-width: 100vw;\n width: 600px;\n max-height: 100vh;\n min-height: var(--layout-margin-xxxlarge);\n height: auto;\n margin: var(--layout-margin-large);\n border-radius: var(--layout-border-radius-medium);\n border: var(--layout-border-width-small) solid\n var(--surface-color-border-default);\n background: var(--surface-color-forms-default);\n box-shadow: var(--surface-shadow-large);\n}\n";
15395
16235
  styleInject(css_248z$a);
15396
16236
 
@@ -15412,14 +16252,6 @@ function RadioGroup({ orientation = "vertical", label, description, children, er
15412
16252
  return (jsx($b6c3ddc6086f204d$export$a98f0dcb43a68a25, { className: "bcds-react-aria-RadioGroup", ...props, children: ({ isRequired, isInvalid }) => (jsxs(Fragment, { children: [label && (jsxs($01b77f81d0f07f68$export$b04be29aa201d4f5, { className: "bcds-react-aria-RadioGroup--label", children: [label, " ", isRequired && "(required)"] })), jsx("div", { className: `bcds-react-aria-RadioGroup--options ${orientation} flex-wrap-${flexWrap}`, children: children }), description && (jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "description", className: "bcds-react-aria-RadioGroup--description", children: description })), isInvalid && (jsxs("div", { className: "bcds-react-aria-RadioGroup--error", children: [jsx(SvgExclamationIcon, {}), jsx($ee014567cb39d3f0$export$f551688fc98f2e09, { children: errorMessage })] }))] })) }));
15413
16253
  }
15414
16254
 
15415
- function SvgChevronUpIcon({ id = "chevron-up-icon" }) {
15416
- return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: 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" }) }));
15417
- }
15418
-
15419
- function SvgChevronDownIcon({ id = "chevron-down-icon" }) {
15420
- return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: 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" }) }));
15421
- }
15422
-
15423
16255
  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";
15424
16256
  styleInject(css_248z$7);
15425
16257
 
@@ -15440,18 +16272,27 @@ function Select({ items, sections, label, description, placeholder, size = "medi
15440
16272
  // support different markup within the same component.
15441
16273
  items: sections
15442
16274
  ? sections
15443
- : [{ id: "section", header: "", items: items ? items : [] }], children: (section) => (jsxs($7135fc7d473fd974$export$6e2c8f0811a474ce, { id: section.id, className: "bcds-react-aria-Section", children: [section?.header && (jsx($72a5793c14baf454$export$8b251419efc915eb, { className: "bcds-react-aria-Select--Header", children: section.header })), jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: section.items, children: (item) => (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 && (jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconLeft })), jsxs("div", { className: "bcds-react-aria-Select--ListBoxItem-Text-container", children: [jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "label", className: "bcds-react-aria-Select--ListBoxItem-Text-label", children: item.label }), item.description && (jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "description", className: "bcds-react-aria-Select--ListBoxItem-Text-description", children: item.description }))] }), item?.iconRight && (jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconRight }))] })) })] })) }) })] })) }));
16275
+ : [{ id: "section", header: "", items: items ? items : [] }], children: (section) => (jsxs($eed445e0843c11d0$export$dca12b0bb56e4fc, { id: section.id, className: "bcds-react-aria-Section", children: [section?.header && (jsx($72a5793c14baf454$export$8b251419efc915eb, { className: "bcds-react-aria-Select--Header", children: section.header })), jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: section.items, children: (item) => (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 && (jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconLeft })), jsxs("div", { className: "bcds-react-aria-Select--ListBoxItem-Text-container", children: [jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "label", className: "bcds-react-aria-Select--ListBoxItem-Text-label", children: item.label }), item.description && (jsx($514c0188e459b4c0$export$5f1af8db9871e1d6, { slot: "description", className: "bcds-react-aria-Select--ListBoxItem-Text-description", children: item.description }))] }), item?.iconRight && (jsx("div", { className: "bcds-react-aria-Select--ListBoxItem-icon", children: item.iconRight }))] })) })] })) }) })] })) }));
16276
+ }
16277
+
16278
+ function SvgBcOutlineIcon({ id = "bc-outline-icon" }) {
16279
+ return (jsx("svg", { id: id, xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 18 18", fill: "currentColor", children: jsxs("g", { children: [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" }), 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" })] }) }));
16280
+ }
16281
+
16282
+ /* The component implements the Flask icon from Font Awesome: https://fontawesome.com/icons/flask */
16283
+ function SvgBetaIcon({ id = "beta-icon" }) {
16284
+ return (jsx("svg", { id: id, width: "20", height: "20", viewBox: "0 0 448 512", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15444
16285
  }
15445
16286
 
15446
16287
  function SvgTooltipArrowUp({ id = "tooltip-arrow" }) {
15447
16288
  return (jsx("svg", { id: id, width: "19", height: "9", viewBox: "0 0 19 9", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { children: 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" }) }) }));
15448
16289
  }
15449
16290
 
15450
- 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";
16291
+ 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";
15451
16292
  styleInject(css_248z$6);
15452
16293
 
15453
- function Tag({ color = "blue", icon, id, textValue }) {
15454
- return (jsx($eaf9e70818b436db$export$3288d34c523a1192, { className: `bcds-react-aria-Tag ${color}`, id: id, textValue: textValue, children: ({ allowsRemoving, isDisabled }) => (jsxs(Fragment, { children: [icon, textValue, !isDisabled && allowsRemoving && (jsx($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { "aria-label": `Remove ${textValue}`, slot: "remove", children: jsx("svg", { width: "14", height: "15", viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { id: "Icons / Close", children: 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" }) }) }) }))] })) }));
16294
+ function Tag({ color = "blue", tagStyle = "rectangular", size = "small", icon, id, textValue, }) {
16295
+ return (jsx($eaf9e70818b436db$export$3288d34c523a1192, { className: `bcds-react-aria-Tag ${color} ${tagStyle} ${size}`, id: id, textValue: textValue, children: ({ allowsRemoving, isDisabled }) => (jsxs(Fragment, { children: [icon, textValue, !isDisabled && allowsRemoving && (jsx($d2b4bc8c273e7be6$export$353f5b6fc5456de1, { "aria-label": `Remove ${textValue}`, slot: "remove", children: jsx("svg", { width: "14", height: "15", viewBox: "0 0 14 15", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("g", { id: "Icons / Close", children: 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" }) }) }) }))] })) }));
15455
16296
  }
15456
16297
 
15457
16298
  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";
@@ -15503,5 +16344,5 @@ function Tooltip(props) {
15503
16344
  return (jsxs($4e3b923658d69c60$export$28c660c63b792dea, { className: "bcds-react-aria-Tooltip", ...props, children: [jsx($44f671af83e7d9e0$export$746d02f47f4d381, { className: "bcds-react-aria-OverlayArrow", children: jsx(SvgTooltipArrowUp, {}) }), jsx(Fragment, { children: props.children })] }));
15504
16345
  }
15505
16346
 
15506
- export { AlertDialog, Button, ButtonGroup, Checkbox, CheckboxGroup, Dialog, $de32f1b87079253c$export$2e1e1122cf0cba88 as DialogTrigger, Footer, FooterLinks, Form, Header, InlineAlert, Modal, Radio, RadioGroup, Select, SvgBcLogo, SvgCheckCircleIcon, SvgCheckIcon, SvgChevronDownIcon, SvgChevronUpIcon, SvgCloseIcon, SvgDashIcon, SvgExclamationCircleIcon, SvgExclamationIcon, SvgInfoIcon, SvgTooltipArrowUp, Switch, Tag, TagGroup, TagList, TextArea, TextField, Tooltip, $4e3b923658d69c60$export$8c610744efcf8a1d as TooltipTrigger };
16347
+ export { Accordion, AccordionGroup, AlertBanner, AlertDialog, Button, ButtonGroup, Callout, Checkbox, CheckboxGroup, Dialog, $de32f1b87079253c$export$2e1e1122cf0cba88 as DialogTrigger, Footer, FooterLinks, Form, Header, InlineAlert, Link, Modal, Radio, RadioGroup, Select, SvgBcLogo, SvgBcOutlineIcon, SvgBetaIcon, SvgCheckCircleIcon, SvgCheckIcon, SvgChevronDownIcon, SvgChevronUpIcon, SvgCloseIcon, SvgDashIcon, SvgExclamationCircleIcon, SvgExclamationIcon, SvgInfoIcon, SvgTooltipArrowUp, Switch, Tag, TagGroup, TagList, TextArea, TextField, Tooltip, $4e3b923658d69c60$export$8c610744efcf8a1d as TooltipTrigger };
15507
16348
  //# sourceMappingURL=index.js.map